.admin-page{padding-bottom:20px}.admin-intro{color:var(--muted-strong);margin:0 2px 16px;font-size:13px;line-height:1.45}.admin-add-card,.admin-user-card,.admin-empty{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.admin-add-card{flex-direction:column;gap:13px;padding:17px;display:flex}.admin-add-card h2{margin:0;font-size:17px}.admin-add-fields{gap:11px;display:grid}.admin-add-fields label{color:var(--muted-strong);flex-direction:column;gap:5px;font-size:12px;font-weight:650;display:flex}.admin-add-fields input{border:1px solid var(--line);background:var(--surface-soft);width:100%;min-height:44px;color:var(--ink);border-radius:10px;padding:10px 12px;font-size:15px}.admin-add-fields input:focus-visible,.admin-user-controls button:focus-visible,.admin-primary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.admin-switch-line{cursor:pointer;align-items:center;gap:9px;font-size:13px;line-height:1.35;display:inline-flex}.admin-switch-line input{width:19px;height:19px;accent-color:var(--brand-solid);flex:none}.admin-primary{background:var(--brand-solid);min-height:45px;color:var(--on-brand);cursor:pointer;border:0;border-radius:10px;font-size:14px;font-weight:700}.admin-primary:disabled,.admin-user-controls button:disabled{opacity:.55;cursor:wait}.admin-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.admin-list-heading{margin-top:22px}.admin-empty{color:var(--muted);padding:17px;font-size:13px}.admin-user-list{gap:10px;display:grid}.admin-user-card{min-width:0;padding:15px}.admin-user-card.disabled{opacity:.72}.admin-user-head{justify-content:space-between;align-items:start;gap:8px;display:flex}.admin-user-head>div{flex-direction:column;gap:3px;min-width:0;display:flex}.admin-user-head strong{overflow-wrap:anywhere;font-size:15px}.admin-user-head span{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.admin-role{background:var(--brand-soft);white-space:nowrap;border-radius:7px;padding:5px 7px;font-weight:750;display:inline-flex;color:var(--brand)!important;font-size:10px!important}.admin-user-state{color:var(--muted-strong);margin:11px 0;font-size:11px}.admin-user-controls{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:10px;padding-top:11px;display:grid}.admin-user-controls .admin-switch-line{grid-column:1/-1}.admin-remove{border:1px solid color-mix(in srgb, var(--danger) 40%, var(--line));min-height:34px;color:var(--danger);cursor:pointer;background:0 0;border-radius:8px;grid-column:2;margin-left:0;padding:6px 10px;font-size:12px}@media (orientation:landscape) and (width>=700px){.admin-add-fields{grid-template-columns:minmax(180px,1fr) minmax(180px,1.5fr)}.admin-user-list{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{color:#14201c;font-synthesis:none;--surface:#fff;--surface-soft:#f3f6fa;--ink:#14201c;--muted:#6f7c76;--muted-strong:#56645e;--line:#dfe6e2;--brand:#174e3b;--brand-solid:#174e3b;--on-brand:#fff;--brand-soft:#dcebe4;--accent:#c6ff4a;--warning:#a86400;--warning-bg:#fff1d7;--danger:#ae342f;--danger-bg:#ffebe9;--positive:#0d5e3a;--shadow:0 14px 34px #16302614;--money-bg:#e5f9d8;--money-accent:#18a96b;--stock-bg:#fef3c7;--stock-accent:#b45309;--turnover-bg:#e9f4ff;--turnover-accent:#2488df;--payments-bg:#f5d9f6;--payments-accent:#8d4dc4;--deferred-bg:#ffdfc4;--deferred-accent:#e67d25;--import-bg:#ffdfc4;--import-accent:#d66d28;--app-safe-top:max(env(safe-area-inset-top,0px), var(--tg-safe-area-inset-top,0px), var(--tg-content-safe-area-inset-top,0px));--app-safe-right:max(env(safe-area-inset-right,0px), var(--tg-safe-area-inset-right,0px), var(--tg-content-safe-area-inset-right,0px));--app-safe-bottom:max(env(safe-area-inset-bottom,0px), var(--tg-safe-area-inset-bottom,0px), var(--tg-content-safe-area-inset-bottom,0px));--app-safe-left:max(env(safe-area-inset-left,0px), var(--tg-safe-area-inset-left,0px), var(--tg-content-safe-area-inset-left,0px));--bg:#eef3f8;background:#eef3f8;font-family:Inter,Segoe UI,Arial,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f1f4f7;--surface:#171c23;--surface-soft:#10151c;--ink:#f1f4f7;--muted:#aab4bf;--muted-strong:#d1d8df;--line:#303944;--brand:#69adff;--brand-solid:#2f7fd8;--on-brand:#fff;--brand-soft:#1c3047;--warning:#ffc66d;--warning-bg:#3a2e19;--danger:#ff9690;--danger-bg:#3b2223;--positive:#78dba5;--shadow:0 14px 34px #00000057;--money-bg:#1b3227;--money-accent:#78dba5;--stock-bg:#35321f;--stock-accent:#ebc85f;--turnover-bg:#1b3044;--turnover-accent:#73b8f0;--payments-bg:#32263d;--payments-accent:#d39be7;--deferred-bg:#3b2920;--deferred-accent:#efa56c;--import-bg:#222b35;--import-accent:#8ea4c2;--bg:#0b0f14;background:#0b0f14}*{box-sizing:border-box}body{background:var(--surface-soft);min-width:320px;min-height:100dvh;color:var(--ink);margin:0}body.has-fullscreen-open .app-shell{visibility:hidden!important;pointer-events:none!important}button,input{font:inherit}button{color:inherit}.app-shell{background:var(--surface-soft);max-width:480px;min-height:100dvh;padding-bottom:calc(92px + var(--app-safe-bottom));margin:0 auto}.topbar{height:calc(58px + var(--app-safe-top));padding:calc(8px + var(--app-safe-top)) calc(18px + var(--app-safe-right)) 8px calc(18px + var(--app-safe-left));background:color-mix(in srgb, var(--surface) 96%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:5;justify-content:center;align-items:center;display:flex;position:sticky;top:0}.brand-mark{background:var(--brand-solid);width:34px;height:34px;color:var(--on-brand);border-radius:11px;place-items:center;font-weight:800;display:grid}.app-title{flex-direction:column;align-items:center;gap:3px;line-height:1.05;display:flex}.topbar .app-title strong{letter-spacing:0;font-size:14px}.topbar .app-title span{color:var(--muted);letter-spacing:.04em;align-items:center;gap:4px;font-size:10px;display:inline-flex}main{padding:14px calc(16px + var(--app-safe-right)) 24px calc(16px + var(--app-safe-left))}.status-banner{border-radius:12px;align-items:center;gap:8px;margin-bottom:18px;padding:10px 12px;font-size:13px;line-height:1.35;display:flex}.status-banner.ok{background:var(--brand-soft);color:var(--brand)}.status-banner.warning{background:var(--warning-bg);color:var(--warning)}.status-banner.error{background:var(--danger-bg);color:var(--danger)}.status-banner.loading{background:var(--surface);color:var(--muted)}.live-dot{background:#20a86b;border-radius:50%;width:7px;height:7px}.section-head{justify-content:space-between;align-items:end;margin:5px 2px 14px;display:flex}.dashboard-head{flex-wrap:wrap;gap:10px}.eyebrow{color:var(--muted-strong);letter-spacing:.06em;text-transform:uppercase;margin:0 0 5px;font-size:12px}h1{letter-spacing:-.025em;margin:0;font-size:25px;line-height:1.08}.date-subtitle{color:var(--muted);text-transform:capitalize;margin:5px 0 0;font-size:11px}.date-chip{background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:10px;padding:8px 10px;font-size:12px}.dashboard-date-title{cursor:pointer;display:inline-block;position:relative}.dashboard-date-title h1{align-items:baseline;gap:6px;display:flex}.dashboard-date-title h1 svg{color:var(--brand);flex:none;align-self:center}.dashboard-date-title input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.dashboard-date-title:focus-within{outline:2px solid var(--brand);outline-offset:4px;border-radius:4px}.dashboard-today-link{color:var(--brand);cursor:pointer;background:0 0;border:0;margin:6px 0 0;padding:0;font-size:12px;font-weight:750}.primary-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;display:grid}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:18px;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);border-radius:16px;padding:15px}.dashboard-grid .kpi-card{flex-direction:column;min-height:184px;padding:14px;display:flex;box-shadow:0 7px 20px #1a2d250f}.kpi-card.tone-money{background:var(--money-bg);border-color:color-mix(in srgb, var(--money-accent) 24%, transparent);--card-accent:var(--money-accent)}.kpi-card.tone-stock{background:var(--stock-bg);border-color:color-mix(in srgb, var(--stock-accent) 24%, transparent);--card-accent:var(--stock-accent)}.kpi-card.tone-stock>strong{color:var(--ink)}.kpi-card.tone-turnover{background:var(--turnover-bg);border-color:color-mix(in srgb, var(--turnover-accent) 24%, transparent);--card-accent:var(--turnover-accent)}.kpi-card.tone-payments{background:var(--payments-bg);border-color:color-mix(in srgb, var(--payments-accent) 24%, transparent);--card-accent:var(--payments-accent)}.kpi-card.tone-deferred{background:var(--deferred-bg);border-color:color-mix(in srgb, var(--deferred-accent) 24%, transparent);--card-accent:var(--deferred-accent)}.kpi-card.tone-import{background:var(--import-bg);border-color:color-mix(in srgb, var(--import-accent) 24%, transparent);--card-accent:var(--import-accent)}.kpi-card.interactive{cursor:pointer;-webkit-tap-highlight-color:transparent}.kpi-card.interactive:active{transform:scale(.985)}.kpi-card.interactive:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.kpi-card.featured{background:var(--brand-solid);color:var(--on-brand);border-color:#0000;grid-column:1/-1}.kpi-topline{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;line-height:1.35;display:flex}.dashboard-grid .kpi-topline{align-items:flex-start;gap:4px;min-width:0}.kpi-label{align-items:center;gap:7px;display:inline-flex}.kpi-label i{background:var(--brand-soft);width:23px;height:23px;color:var(--brand);border-radius:8px;place-items:center;font-style:normal;font-weight:800;display:grid}.dashboard-grid .kpi-label{flex:1;align-items:flex-start;gap:6px;min-width:0;min-height:32px;font-size:12.5px;font-weight:750;line-height:1.25}.dashboard-grid .kpi-label i{background:color-mix(in srgb, var(--card-accent) 16%, var(--surface));width:24px;height:24px;color:var(--card-accent);border-radius:6px;flex:0 0 24px;font-size:12px}.featured .kpi-label i{color:var(--on-brand);background:#ffffff29}.card-action{align-items:center;gap:9px;font-size:22px;line-height:1;display:inline-flex}.dashboard-grid .card-action{text-align:right;width:12px;color:var(--muted);flex:0 0 12px;margin-left:2px;font-size:16px;line-height:24px}.featured .kpi-topline,.featured .kpi-meta{color:#ffffffd6}.state-dot{background:#20a86b;border-radius:50%;width:7px;height:7px}.kpi-card.missing .state-dot{background:var(--muted)}.kpi-card.unverified .state-dot{background:#d99320}.kpi-card strong{letter-spacing:-.035em;white-space:nowrap;text-overflow:ellipsis;margin:10px 0 9px;font-size:clamp(21px,7vw,30px);display:block;overflow:hidden}.dashboard-grid .kpi-card>strong{font-variant-numeric:tabular-nums;letter-spacing:-.035em;white-space:nowrap;text-overflow:ellipsis;margin:8px 0 5px;font-size:clamp(14.5px,4.1vw,18.5px);font-weight:750;line-height:1.15;overflow:hidden}.card-delta{flex-direction:column;gap:3px;min-height:40px;display:flex}.card-delta b{font-size:12px;line-height:1.25}.card-delta small{color:var(--muted-strong);font-size:12px;font-weight:500;line-height:1.35}.card-delta.neutral b{color:var(--muted);font-weight:500}.dashboard-grid .kpi-meta{justify-content:space-between;align-items:baseline;gap:6px;margin-top:auto;padding-top:8px;font-size:11px;display:flex}.dashboard-grid .kpi-meta time{flex-shrink:0}.dashboard-grid .kpi-meta span{text-align:right;flex-shrink:0;font-weight:600}.kpi-meta{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;line-height:1.35;display:flex}.kpi-meta time{white-space:nowrap}.section-title{justify-content:space-between;align-items:baseline;margin:0 2px 10px;display:flex}.section-title h2{margin:0;font-size:16px}.section-title span{color:var(--muted);font-size:11px}.secondary-grid{gap:9px;margin-bottom:25px;display:grid}.secondary-grid .kpi-card{box-shadow:none}.secondary-grid .kpi-card strong{font-size:21px}.change-list{background:var(--surface);border:1px solid var(--line);border-radius:15px;overflow:hidden}.highlight-list{background:color-mix(in srgb, var(--deferred-bg) 62%, var(--surface));border-color:color-mix(in srgb, var(--deferred-accent) 25%, var(--line))}.change-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 14px;display:flex}.change-row:last-child{border-bottom:0}.change-row div{flex-direction:column;gap:4px;display:flex}.change-row strong{font-size:13px}.change-row small{color:var(--muted);font-size:11px;line-height:1.35}.change-row>span{font-size:12px;font-weight:700}.negative{color:var(--danger)}.positive{color:var(--positive)}.empty-note{color:var(--muted);text-align:center;padding:18px;font-size:12px}.payment-plan .section-head{margin-top:-2px}.payment-plan-header{flex-direction:column;gap:10px;display:flex}.payment-summary-strip{flex-wrap:wrap;gap:10px;display:flex}.summary-pill{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;flex:1;gap:2px;min-width:140px;padding:10px 14px;display:flex;box-shadow:0 2px 8px #0000000a}.summary-pill span{color:var(--muted);font-size:11px;font-weight:600}.summary-pill strong{font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.summary-pill small{color:var(--muted-strong);font-size:10px}.summary-pill.peak-pill{cursor:pointer;border-color:color-mix(in srgb, var(--deferred-accent) 45%, var(--line));background:color-mix(in srgb, var(--deferred-bg) 50%, var(--surface));text-align:left;transition:transform .12s}.summary-pill.peak-pill:hover{transform:translateY(-1px)}.summary-pill.peak-pill:active{transform:scale(.97)}.summary-pill.peak-pill strong{color:var(--deferred-accent)}.payment-heatmap-layout{width:100%;display:block}.heatmap-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:14px}.heatmap-week-header{text-align:center;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:6px;display:grid}.week-header-cell{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:2px 0;font-size:11px;font-weight:750}.week-header-cell.weekend{color:var(--deferred-accent)}.heatmap-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.heatmap-cell{cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:left;border-radius:10px;flex-direction:column;justify-content:space-between;min-height:52px;padding:5px 2px;transition:transform .14s,outline .14s,border-color .14s;display:flex;position:relative}.heatmap-cell:hover{transform:translateY(-1px)}.heatmap-cell:active{transform:scale(.96)}.heatmap-cell.is-selected{outline:2.5px solid var(--brand);outline-offset:1px;box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 25%, transparent);z-index:2}.heatmap-cell.is-today{border-width:2px;border-color:var(--brand)}.heatmap-cell.is-next-month:not(.is-today):not(.is-selected){box-shadow:inset 0 3px 0 color-mix(in srgb, var(--brand) 22%, transparent)}.heatmap-cell.month-boundary{border-left:3px solid var(--brand)}.heatmap-cell.is-past{opacity:.62}.cell-top{justify-content:space-between;align-items:center;line-height:1;display:flex}.cell-day-wrap{flex-direction:column;align-items:center;gap:2px;min-width:0;display:inline-flex}.cell-day{color:inherit;white-space:nowrap;font-size:12px;font-weight:750}.today-dot{background:var(--brand-solid);border-radius:50%;flex:none;width:5px;height:5px}.peak-badge{font-size:9px;line-height:1}.cell-bottom{align-items:flex-end;line-height:1;display:flex}.cell-amount{letter-spacing:-.035em;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:800;line-height:1;overflow:hidden}.heat-0{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted)}.heat-0 .cell-amount{color:var(--muted);opacity:.55}.heat-1{background:color-mix(in srgb, var(--payments-accent) 15%, var(--surface));border:1px solid color-mix(in srgb, var(--payments-accent) 28%, var(--line));color:var(--ink)}.heat-2{background:color-mix(in srgb, var(--payments-accent) 32%, var(--surface));border:1px solid color-mix(in srgb, var(--payments-accent) 48%, var(--line));color:var(--ink)}.heat-3{background:color-mix(in srgb, var(--payments-accent) 56%, var(--surface));border:1px solid color-mix(in srgb, var(--payments-accent) 72%, var(--line));color:var(--ink)}.heat-3 .cell-day,.heat-3 .cell-amount{font-weight:800}.heat-4{background:var(--payments-accent);border:1px solid var(--payments-accent);color:#fff;box-shadow:0 3px 10px color-mix(in srgb, var(--payments-accent) 40%, transparent)}.heat-4 .cell-day,.heat-4 .cell-amount{color:#fff;font-weight:800}.heatmap-legend{border-top:1px solid var(--line);color:var(--muted-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;margin-top:12px;padding-top:10px;font-size:11px;display:flex}.legend-scale{align-items:center;gap:7px;display:flex}.legend-step{align-items:center;gap:3px;font-size:10px;display:flex}.legend-box{border:1px solid var(--line);border-radius:3px;width:11px;height:11px;display:inline-block}.day-inspector-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.payment-dialog-backdrop{z-index:10001;padding:max(60px, calc(16px + var(--app-safe-top))) calc(16px + var(--app-safe-right)) calc(16px + var(--app-safe-bottom)) calc(16px + var(--app-safe-left));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#070d129e;place-items:center;display:grid;position:fixed;inset:0}.payment-dialog{width:min(100%,500px);max-height:100%;overflow-y:auto;box-shadow:0 24px 60px #00000040}.payment-dialog-close{border:1px solid var(--line);background:var(--surface-soft);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:10px;flex:none;place-items:center;padding:0;font-size:27px;line-height:1;display:grid}.payment-dialog-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (orientation:landscape){.payment-dialog-backdrop{padding-top:max(28px, calc(12px + var(--app-safe-top)))}}@media (width<=390px){.payment-dialog .inspector-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-dialog .breakdown-stat.overdue{grid-column:1/-1}}.inspector-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.inspector-date{text-transform:capitalize;font-size:14.5px;font-weight:750;display:block}.inspector-badges{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.badge-tag{border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700}.badge-tag.today{background:var(--brand-soft);color:var(--brand)}.badge-tag.peak{background:var(--deferred-bg);color:var(--deferred-accent)}.badge-tag.weekend{background:var(--surface-soft);color:var(--muted-strong)}.inspector-count{width:fit-content;color:var(--muted-strong);white-space:nowrap;background:var(--surface-soft);border-radius:6px;align-items:center;padding:3px 8px;font-size:11px;display:inline-flex}.inspector-amount-block{flex-direction:column;gap:2px;padding-bottom:4px;display:flex}.inspector-amount-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.inspector-amount-val{letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(23px,6vw,29px);font-weight:800}.inspector-breakdown-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.breakdown-stat{border:1px solid #0000;border-radius:12px;flex-direction:column;gap:3px;padding:10px 8px;display:flex}.breakdown-stat span{font-size:11px;font-weight:650}.breakdown-stat strong{font-variant-numeric:tabular-nums;font-size:13.5px;line-height:1.15}.breakdown-stat small{color:var(--muted-strong);font-size:9.5px}.breakdown-stat.paid{background:var(--money-bg);border-color:color-mix(in srgb, var(--money-accent) 24%, transparent);color:var(--ink)}.breakdown-stat.paid span{color:var(--money-accent)}.breakdown-stat.unpaid{background:var(--payments-bg);border-color:color-mix(in srgb, var(--payments-accent) 24%, transparent);color:var(--ink)}.breakdown-stat.unpaid span{color:var(--payments-accent)}.breakdown-stat.overdue{background:var(--surface-soft);border-color:var(--line);color:var(--ink)}.breakdown-stat.overdue span{color:var(--muted-strong)}.breakdown-stat.overdue.has-overdue{background:var(--deferred-bg);border-color:color-mix(in srgb, var(--deferred-accent) 35%, transparent)}.breakdown-stat.overdue.has-overdue span,.breakdown-stat.overdue.has-overdue strong{color:var(--deferred-accent)}.reconciliation-warning{background:var(--warning-bg);color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 25%, transparent);border-radius:10px;padding:9px 12px;font-size:11.5px;line-height:1.35}.payment-plan-note{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.5}.skeleton-card{opacity:.65;min-height:132px}.heatmap-skeleton{background:var(--surface);opacity:.65;border:1px solid var(--line);border-radius:16px;height:280px}.day-strip{scrollbar-width:none;gap:8px;padding:2px 1px 10px;display:flex;overflow-x:auto}.day-strip button{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:13px;min-width:82px;padding:10px;position:relative}.day-strip button.active{background:var(--brand-solid);color:var(--on-brand);border-color:var(--brand-solid)}.day-strip span{color:var(--muted);margin-bottom:6px;font-size:11px;display:block}.day-strip .active span{color:#ffffffd6}.day-strip strong{font-size:13px}.day-strip i{background:#e29220;border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px}.day-summary{background:var(--surface);border:1px solid var(--line);border-radius:15px;grid-template-columns:1fr auto;gap:12px;margin:8px 0 12px;padding:15px;display:grid}.day-summary div{flex-direction:column;gap:5px;display:flex}.day-summary span{color:var(--muted);font-size:11px}.day-summary strong{font-size:17px}.day-summary p{color:var(--danger);grid-column:1/-1;margin:0;font-size:11px}.day-summary.mismatch{border-color:var(--danger)}.payment-breakdown{border-radius:10px;grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;padding:9px 10px;gap:2px 8px!important;display:grid!important}.payment-breakdown span{font-weight:700}.payment-breakdown strong{font-size:13px}.payment-breakdown small{color:var(--muted);grid-column:1/-1;font-size:9px}.payment-breakdown.paid{background:var(--money-bg)}.payment-breakdown.unpaid{background:var(--payments-bg)}.payment-breakdown.overdue{background:var(--deferred-bg)}.search-field{margin:12px 0;display:block}.search-field>span{color:var(--muted);margin:0 0 5px 2px;font-size:11px;display:block}.search-field input{width:100%;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;outline:none;padding:11px 12px;font-size:16px}.search-field input:focus{border-color:var(--brand)}.payment-list{gap:8px;display:grid}.payment-sort{gap:6px;margin:2px 0 12px;display:grid}.payment-sort>span{color:var(--muted);font-size:11px}.payment-sort .segmented{width:100%}.payment-sort button{min-height:34px}.payment-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:13px}.payment-card.overdue{border-color:var(--deferred-accent);box-shadow:inset 3px 0 0 var(--deferred-accent)}.payment-main{justify-content:space-between;align-items:start;gap:12px;display:flex}.payment-main strong{font-size:14px;line-height:1.35}.payment-main b{white-space:nowrap;font-size:14px}.payment-card p{color:var(--muted);margin:8px 0;font-size:12px;line-height:1.45}.payment-meta{flex-wrap:wrap;gap:5px;display:flex}.payment-meta span{background:var(--surface-soft);color:var(--muted-strong);border-radius:8px;padding:4px 7px;font-size:10px}.payment-meta .payment-status.paid{background:var(--money-bg);color:var(--money-accent)}.payment-meta .payment-status.unpaid{background:var(--payments-bg);color:var(--payments-accent)}.payment-meta .overdue-label{background:var(--deferred-bg);color:var(--deferred-accent);font-weight:700}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(3,1fr);padding:3px;display:grid}.segmented button{background:0 0;border:0;border-radius:9px;min-height:44px;padding:9px 6px;font-size:13px}.segmented button.active{background:var(--brand-solid);color:var(--on-brand)}.metric-pills{scrollbar-width:none;gap:6px;margin:12px 0;padding-right:12px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000 100%)}.metric-pills button{background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:999px;min-height:44px;padding:9px 13px;font-size:12px;font-weight:650}.metric-pills button.active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:15px}.chart-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.chart-heading-text{flex:1;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.chart-heading-value{text-align:right;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.chart-heading-value small{color:var(--muted-strong);font-size:11px;font-weight:500;line-height:1.2}.chart-heading-text span,.chart-heading>span{color:var(--muted);font-size:11px}.chart-heading-text strong,.chart-heading>strong{font-variant-numeric:tabular-nums;font-size:20px}.chart-wrap{margin-top:12px;position:relative}.chart-wrap svg{touch-action:pan-y;cursor:crosshair;width:100%;height:220px;display:block;overflow:visible}.grid-line{stroke:var(--line);stroke-width:1px}.axis-line{stroke:var(--muted);stroke-width:1px;opacity:.55}.axis-tick text{fill:var(--muted-strong);font-variant-numeric:tabular-nums;font-size:11px}.trend-path{fill:none;stroke:var(--brand);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-dense .trend-path{stroke-width:2px}.trend-area{stroke:none}.trend-bar{fill:var(--brand);opacity:.76}.trend-bar.demand{fill:#f09a45;opacity:.95}.trend-bar.partial{opacity:.36;stroke:var(--brand);stroke-width:1.5px}.demand-band{fill:#f2b469;opacity:.12}.chart-wrap circle{fill:var(--surface);stroke:var(--brand);stroke-width:2.5px}.selected-marker{pointer-events:none}.selected-marker line{stroke:var(--brand);stroke-width:1.25px;stroke-dasharray:3 3;opacity:.65;vector-effect:non-scaling-stroke}.selected-marker circle{fill:var(--brand);stroke:var(--surface);stroke-width:3px;vector-effect:non-scaling-stroke}.chart-tooltip{z-index:2;min-width:112px;color:var(--ink);background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--line);pointer-events:none;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:7px 10px;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 8px 22px #12261f24}.chart-tooltip:after{content:"";left:calc(50% + var(--tooltip-arrow-offset,0px));background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);width:8px;height:8px;position:absolute;bottom:-5px;transform:translate(-50%)rotate(45deg)}.chart-tooltip.below{transform:translate(-50%,15px)}.chart-tooltip.below:after{border:0;border-top:1px solid var(--line);border-left:1px solid var(--line);top:-5px;bottom:auto}.chart-tooltip time{color:var(--muted-strong);text-transform:capitalize;font-size:11px;font-weight:550}.chart-tooltip strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}.chart-tooltip small{color:var(--muted-strong);white-space:nowrap;font-size:10px}.partial-month-note{background:var(--surface-soft);color:var(--muted-strong);border-radius:8px;margin:8px 0 0;padding:7px 9px;font-size:12px;line-height:1.35}.chart-scale{color:var(--muted-strong);justify-content:space-between;gap:2px;padding:0 4px 0 52px;font-size:11px;display:flex}.scale-label{fill:var(--muted-strong);font-size:11px;font-weight:600}.scale-label.demand{fill:#c96815;font-weight:750}.trend-chart-container{display:contents}.trend-chart-relative{width:100%;position:relative}.chart-expand-btn{border:1px solid var(--line);background:var(--surface-soft);width:34px;height:34px;color:var(--muted-strong);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;flex-shrink:0;place-items:center;padding:0;transition:all .16s;display:none}.chart-expand-btn:hover{background:var(--surface);color:var(--ink);border-color:var(--brand)}.chart-expand-btn:active{transform:scale(.94)}@media (orientation:landscape){.chart-expand-btn{display:grid}.fullscreen-overlay{padding:max(52px, calc(12px + var(--app-safe-top))) calc(16px + var(--app-safe-right)) calc(12px + var(--app-safe-bottom)) calc(16px + var(--app-safe-left))}.fullscreen-overlay-header{margin-bottom:8px;padding-bottom:8px}.fullscreen-meta strong{font-size:22px}.fullscreen-close-btn{top:max(52px, calc(12px + var(--app-safe-top)));right:calc(12px + var(--app-safe-right));z-index:5;width:44px;height:44px;position:fixed}}@media (width>=900px){.chart-expand-btn{display:grid}}.fullscreen-overlay{z-index:10000;background:var(--surface-soft,#0b0f14);padding:max(56px, calc(16px + var(--app-safe-top))) calc(16px + var(--app-safe-right)) calc(16px + var(--app-safe-bottom)) calc(16px + var(--app-safe-left));box-sizing:border-box;flex-direction:column;animation:.18s cubic-bezier(.16,1,.3,1) fsFadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes fsFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.tone-money{--brand:var(--money-accent);--brand-soft:var(--money-bg)}.tone-stock{--brand:var(--stock-accent);--brand-soft:var(--stock-bg)}.tone-turnover{--brand:var(--turnover-accent);--brand-soft:var(--turnover-bg)}.tone-deferred{--brand:var(--deferred-accent);--brand-soft:var(--deferred-bg)}.tone-import{--brand:var(--import-accent);--brand-soft:var(--import-bg)}.tone-payments{--brand:var(--payments-accent);--brand-soft:var(--payments-bg)}.fullscreen-overlay-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex}.fullscreen-meta{flex-direction:column;gap:3px;display:flex}.fullscreen-meta span{color:var(--muted);font-size:13px;font-weight:600}.fullscreen-meta strong{color:var(--ink);letter-spacing:-.02em;font-size:clamp(20px,4.5vw,28px)}.fullscreen-meta small{color:var(--muted-strong);font-size:11px}.fullscreen-close-btn{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;border-radius:12px;flex-shrink:0;place-items:center;padding:0;transition:all .15s;display:grid}.fullscreen-close-btn:hover{background:var(--surface-soft);border-color:var(--brand)}.fullscreen-close-btn:active{transform:scale(.92)}.fullscreen-chart-body{background:var(--surface);border:1px solid var(--line);min-height:240px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;flex:1;padding:14px 14px 8px;display:flex;position:relative}.fullscreen-chart-body .chart-wrap{flex-direction:column;flex:1;height:100%;margin-top:0;display:flex}.fullscreen-chart-body .chart-wrap svg{flex:1;height:100%;min-height:220px}.fullscreen-note{color:var(--muted);flex-shrink:0;margin:10px 4px 0;font-size:11px;line-height:1.4}.chart-note{color:var(--muted);margin:14px 0 0;font-size:11px;line-height:1.4}.chart-empty{place-items:center;min-height:190px;display:grid}.detail-screen{gap:12px;display:grid}.detail-layout{flex-direction:column;gap:12px;display:flex}.detail-side{display:contents}.detail-hero{order:1}.detail-primary{flex-direction:column;order:2;gap:12px;display:flex}.detail-secondary{flex-direction:column;order:3;gap:12px;display:flex}.detail-screen.tone-money{--brand:var(--money-accent);--brand-soft:var(--money-bg)}.detail-screen.tone-stock{--brand:var(--stock-accent);--brand-soft:var(--stock-bg)}.detail-screen.tone-turnover{--brand:var(--turnover-accent);--brand-soft:var(--turnover-bg)}.detail-screen.tone-deferred{--brand:var(--deferred-accent);--brand-soft:var(--deferred-bg)}.detail-screen.tone-import{--brand:var(--import-accent);--brand-soft:var(--import-bg)}.detail-screen.tone-payments{--brand:var(--payments-accent);--brand-soft:var(--payments-bg)}.back-button{background:var(--surface);border:1px solid var(--line);min-height:42px;color:var(--brand);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:8px 16px 8px 12px;font-size:20px;line-height:1;transition:all .15s;display:inline-flex;box-shadow:0 1px 3px #0000000d}.back-button span{letter-spacing:-.01em;font-size:13px;font-weight:700}.back-button:hover{background:var(--surface-soft);border-color:var(--brand)}.back-button:active{transform:scale(.96)}.detail-hero{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:17px;gap:12px;padding:16px;display:flex}.detail-icon{background:var(--brand-soft);width:40px;height:40px;color:var(--brand);border-radius:13px;flex:0 0 40px;place-items:center;font-size:20px;font-weight:800;display:grid}.detail-hero>div{flex-direction:column;min-width:0;display:flex}.detail-hero div>span{color:var(--muted);font-size:12px}.detail-hero div>strong{letter-spacing:-.025em;white-space:nowrap;text-overflow:ellipsis;margin:3px 0 5px;font-size:clamp(22px,7vw,29px);line-height:1.15;overflow:hidden}.detail-hero small{font-size:12px;font-weight:700}.detail-hero em{color:var(--muted-strong);margin-top:3px;font-size:11px;font-style:normal}.detail-chart{padding-bottom:12px}.detail-chart .chart-wrap{margin-left:-4px;margin-right:-4px}.detail-loading{opacity:.65;height:280px}.stat-grid{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px;display:grid}.stat-grid div{background:var(--surface-soft);border-radius:10px;flex-direction:column;gap:3px;min-width:0;padding:9px 8px;display:flex}.stat-grid span{color:var(--muted-strong);font-size:11px;font-weight:550}.stat-grid strong{font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:13px;overflow:hidden}.breakdown-card,.recent-card{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:15px}.breakdown-content{grid-template-columns:118px 1fr;align-items:center;gap:14px;display:grid}.donut{border-radius:50%;place-items:center;width:116px;height:116px;display:grid;position:relative}.donut:after{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:20px}.donut>div{z-index:1;flex-direction:column;align-items:center;max-width:72px;display:flex;position:relative}.donut strong{font-size:14px;line-height:1.1}.donut span{color:var(--muted);font-size:10px}.legend{gap:9px;min-width:0;display:grid}.legend>div{grid-template-columns:8px 1fr auto;align-items:center;gap:8px;display:grid}.legend i{border-radius:50%;width:8px;height:8px}.legend span{flex-direction:column;min-width:0;font-size:11px;font-weight:550;display:flex}.legend small{color:var(--muted-strong);font-size:10.5px;font-weight:400}.legend strong{font-variant-numeric:tabular-nums;font-size:12px}@media (width<=390px){.breakdown-content{grid-template-columns:96px 1fr;gap:10px}.donut{width:96px;height:96px}.donut:after{inset:16px}.legend span{font-size:10.5px}.legend strong{font-size:11px}}.recent-row{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;padding:9px 0;display:flex}.recent-row time{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:11px}.recent-row strong{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.bottom-nav{z-index:10;width:100%;max-width:480px;padding:7px calc(10px + var(--app-safe-right)) calc(7px + var(--app-safe-bottom)) calc(10px + var(--app-safe-left));background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav.with-admin{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-nav button{min-height:48px;color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:5px;font-size:12px;display:flex}.bottom-nav button span{font-size:20px;line-height:1}.bottom-nav button.active{color:var(--brand);font-weight:700}.fatal-state{background:var(--danger-bg);color:var(--danger);border-radius:15px;padding:18px}.fatal-state p{margin-bottom:0;font-size:12px}.skeleton{gap:10px;display:grid}.skeleton div{background:var(--surface);opacity:.65;border-radius:16px;height:116px}@media (width>=410px){.secondary-grid{grid-template-columns:1fr 1fr}.secondary-grid .kpi-card:last-child{grid-column:1/-1}}@media (orientation:landscape) and (width>=520px){.app-shell{width:100%;max-width:none;padding-bottom:0}.topbar{display:none}.bottom-nav{width:calc(68px + var(--app-safe-left));scrollbar-width:none;max-width:none;padding:max(16px, calc(8px + var(--app-safe-top))) 6px calc(8px + var(--app-safe-bottom)) var(--app-safe-left);border-top:0;border-right:1px solid var(--line);grid-template-rows:repeat(2,minmax(62px,auto));grid-template-columns:1fr;align-content:center;top:0;bottom:0;left:0;overflow-y:auto;transform:none}.bottom-nav.with-admin{grid-template-rows:repeat(3,minmax(56px,auto));grid-template-columns:1fr}.bottom-nav button{word-break:normal;overflow-wrap:normal;white-space:nowrap;justify-content:center;min-height:56px;padding:6px 2px;font-size:9px;line-height:1.2}.bottom-nav button span{font-size:18px}main{margin-left:calc(68px + var(--app-safe-left));padding:max(52px, calc(14px + var(--app-safe-top))) calc(18px + var(--app-safe-right)) calc(14px + var(--app-safe-bottom)) 18px}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-grid .kpi-card{min-height:164px}.dashboard-grid .kpi-card>strong{font-size:clamp(17px,2.2vw,22px)}.payment-plan-header{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:2px;display:flex}.payment-plan-header .section-head{margin-bottom:0}.payment-summary-strip{flex-wrap:nowrap;min-width:280px;margin-left:auto}.payment-heatmap-layout{width:100%}.heatmap-cell{min-height:56px;padding:6px 5px}.cell-amount{font-size:11px}.metric-pills{grid-template-columns:repeat(4,minmax(0,1fr));padding-right:0;display:grid;overflow:visible;-webkit-mask-image:none;mask-image:none}.chart-card{padding:18px 22px}.chart-wrap svg{height:min(48dvh,300px)}.detail-screen:not(.payment-plan){flex-direction:column;gap:8px;display:flex}.detail-screen:not(.payment-plan)>.back-button{margin-bottom:0}.detail-layout{grid-template-columns:minmax(285px,1fr) minmax(0,1.6fr);align-items:start;column-gap:16px;display:grid}.detail-side{flex-direction:column;gap:12px;min-width:0;display:flex}.detail-hero{order:unset;height:auto;padding:14px 16px}.detail-hero div>strong{margin:2px 0 4px;font-size:clamp(18px,2.2vw,23px)}.detail-primary,.detail-secondary{order:unset;flex-direction:column;gap:12px;min-width:0;display:flex}.detail-chart{padding-bottom:12px}.stat-grid div{padding:8px 10px}.stat-grid span{font-size:11px}.stat-grid strong{font-size:13px}.recent-card{padding:12px 15px}.recent-row{padding:7px 0}.breakdown-card{padding:12px 15px}.breakdown-content{grid-template-columns:100px 1fr;gap:10px}.donut{width:98px;height:98px}.donut:after{inset:16px}.payment-plan{flex-direction:column;gap:12px;display:flex}}@media (prefers-reduced-motion:no-preference){.kpi-card,.payment-card{transition:border-color .18s,transform .18s}}
