@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;600&display=swap";select,select:focus,select:active{background:#fff!important;color:#222;border:1px solid #bbb;box-shadow:none!important}:root{--bg: #d9ebf7;--ink: #0f2f55;--card: #fdfefe;--accent: #38c3e4;--accent-2: #15355e;--muted: #294d77;--line: #9bb8d4}*{box-sizing:border-box}html,body{margin:0;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at 10% 10%,rgba(56,195,228,.22),transparent 38%),radial-gradient(circle at 90% 20%,rgba(21,53,94,.2),transparent 42%),var(--bg);color:var(--ink);overflow-x:hidden;padding:0}.page{position:relative;max-width:1100px;margin:0 auto;padding:0 20px 56px;margin-top:0!important;padding-top:0!important}.glow{position:fixed;width:280px;height:280px;filter:blur(80px);z-index:-1;opacity:.35}.glow-a{top:-80px;left:-80px;background:var(--accent)}.glow-b{right:-100px;bottom:-60px;background:var(--accent-2)}label{font-size:.85rem;display:grid;gap:6px}input,select,button{border-radius:10px;border:1px solid #7ca5c8;padding:11px 12px;font:inherit}input,select{color:#123961;background:#f8fcff;width:100%;min-height:44px}select{overflow:hidden;text-overflow:ellipsis}button{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#fff;font-weight:700;cursor:pointer;align-self:end;transition:filter .15s,background .15s}button:hover{filter:brightness(.85);background:linear-gradient(120deg,#217ca6,#15355e)}.muted{color:var(--muted)}.dashboard-side-layout{position:relative;--dashboard-side-panel-top: 220px}.dashboard-side-layout>*{min-width:0}.dashboard-side-panel{width:100%}@media (min-width: 1381px){.dashboard-side-panel{position:absolute;top:var(--dashboard-side-panel-top);width:260px;z-index:5}.dashboard-side-panel-left{right:calc(100% + 32px)}.dashboard-side-panel-right{left:calc(100% + 32px)}}@media (max-width: 980px){.dashboard-side-layout{display:grid;gap:16px}.dashboard-side-panel{position:static;width:100%}}@media (max-width: 780px){.page{padding:18px 10px 32px}}.auth-shell{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at top left,rgba(56,195,228,.18),transparent 30%),radial-gradient(circle at 85% 15%,rgba(21,53,94,.2),transparent 32%),linear-gradient(145deg,#7fa8c7,#4f7fa5 38%,#244f78)}.auth-logo{width:110px;height:110px;object-fit:contain}.auth-logo-wrap{display:flex;justify-content:center;margin-bottom:10px}.auth-copy h1{margin:0;color:#fff;font-size:clamp(2rem,5vw,3.2rem);line-height:1.02}.auth-eyebrow{margin:0 0 10px;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffffffb8}.auth-subtitle{margin:12px 0 0;max-width:620px;color:#ffffffd1;font-size:1rem}.auth-main{flex:1;display:flex;align-items:center;justify-content:center;padding-top:48px!important;padding-bottom:48px}.auth-card{width:min(100%,480px);padding:28px;border-radius:20px;background:#fdfefef0;box-shadow:0 18px 48px #15355e24}.auth-card-copy h2{margin:0;font-size:1.5rem}.auth-card-copy p{margin:10px 0 0}.auth-form{display:grid;gap:16px;margin-top:22px}.auth-form input{min-height:48px}.auth-submit{min-height:48px;margin-top:6px}.auth-submit:disabled{cursor:progress;filter:saturate(.75)}.auth-error{margin-bottom:0}.auth-loading-block{margin-top:22px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid #bde8f5;background:#f5fbff;color:#123961;font-weight:600}.auth-spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(21,53,94,.18);border-top-color:#15355e;animation:auth-spin .75s linear infinite}.dashboard-sidebar-label{margin:0;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a18303d;opacity:0;pointer-events:none;transition:opacity .24s ease;z-index:38}.dashboard-sidebar-backdrop.open{opacity:1;pointer-events:auto}.dashboard-sidebar-drawer{position:fixed;top:0;right:0;width:min(360px,92vw);height:100vh;padding:22px 20px 24px;display:flex;flex-direction:column;background:linear-gradient(180deg,#fdfefefc,#e9f4fbf7);border-left:1px solid rgba(155,184,212,.65);box-shadow:-20px 0 44px #09162733;transform:translate(100%);transition:transform .28s ease;z-index:39;overflow-y:auto}.dashboard-sidebar-drawer.open{transform:translate(0)}.dashboard-sidebar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dashboard-sidebar-title{margin:4px 0 0;color:#123961;font-size:1.45rem}.dashboard-sidebar-close{min-width:42px;min-height:42px;padding:0;border-radius:12px;background:#eef6fb;color:#123961;font-size:1.5rem;line-height:1}.dashboard-sidebar-block{display:flex;flex-direction:column;gap:6px;margin-top:20px}.dashboard-sidebar-name{font-size:1.15rem;color:#123961;line-height:1.15}.dashboard-sidebar-email{color:var(--muted);font-size:.92rem;word-break:break-word}.dashboard-sidebar-role{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-width:88px;padding:8px 12px;border-radius:999px;background:linear-gradient(120deg,#38c3e429,#15355e24);border:1px solid rgba(124,165,200,.85);color:#123961;font-weight:700}.dashboard-sidebar-select{width:100%;min-height:46px;background:#f8fcff;box-shadow:0 2px 8px #15355e14}.dashboard-sidebar-divider{height:1px;margin:18px 0 16px;background:linear-gradient(90deg,#9bb8d41a,#9bb8d4d9,#9bb8d41a)}.dashboard-sidebar-logout{width:100%;min-height:46px}.dashboard-sidebar-footer{margin-top:auto;padding-top:18px;color:var(--muted);font-size:.76rem;line-height:1.5;text-align:center}.scroll-top-btn{position:fixed;right:22px;bottom:22px;z-index:34;width:52px;min-width:52px;height:52px;padding:0;border-radius:16px;border:1px solid rgba(201,222,241,.55);background:linear-gradient(135deg,#38c3e4f5,#15355ef5);box-shadow:0 14px 28px #09162733;color:#fff;font-size:1.4rem;line-height:1;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,filter .18s ease}.scroll-top-btn.visible{opacity:1;transform:translateY(0);pointer-events:auto}.scroll-top-btn:hover{filter:brightness(.92)}.dashboard-sidebar-logout:disabled{cursor:progress;opacity:.72}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.auth-logo{width:96px;height:96px}}@media (max-width: 680px){.auth-main{align-items:stretch;padding-top:20px!important}.auth-card{width:100%;padding:22px 18px}.dashboard-sidebar-drawer{width:100vw}.scroll-top-btn{right:14px;bottom:14px}}.navbar{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:linear-gradient(120deg,#0a1830 90%,#15355e);color:#fff;box-shadow:0 2px 16px #15355e24;padding:0;position:relative;z-index:10;border-radius:0}.navbar-content{display:flex;align-items:center;gap:32px;padding:24px 32px 0;flex-wrap:wrap}.navbar-logo{font-size:1.2rem;font-weight:700;letter-spacing:.08em;margin-right:18px}.navbar-title{font-size:2rem;font-weight:600;letter-spacing:-.03em}.navbar-tabs{margin-left:auto;display:flex;gap:10px}.navbar-subtitle{font-size:1.05rem;color:#cbe6ff;padding:0 32px;margin-top:8px}.header-dropdown{min-height:44px;min-width:140px;width:140px;padding:12px 14px;font-weight:700;letter-spacing:.01em;border-radius:10px;border:1px solid #7ca5c8;background:#f8fcff;color:#123961;box-shadow:0 2px 8px #15355e14;font-size:1rem;outline:none;cursor:pointer;transition:border-color .2s,box-shadow .2s}.header-dropdown:focus,.header-dropdown:hover{border-color:#38c3e4;box-shadow:0 4px 16px #38c3e42e}.header-dropdown option{color:#123961;background:#f8fcff}.header-bar{background:linear-gradient(135deg,var(--color-primary, #2563eb) 0%,#1e293b 100%);color:#fff;min-height:180px;padding:32px 0 14px;margin-bottom:0!important;padding-bottom:14px!important;margin-bottom:0;padding-bottom:14px;border-radius:0;box-shadow:0 4px 24px #15355e2e;position:relative;overflow:hidden;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);z-index:10}.header-bar-gradient{background:linear-gradient(135deg,var(--color-primary, #2563eb) 0%,#1e293b 100%)}.header-bar .container{max-width:1100px;margin:0 auto;padding:0 20px}.header-bar .hero,.header-bar .eyebrow{color:#fff!important}.header-row{display:flex;justify-content:flex-start;align-items:center;min-height:72px;position:relative}.header-brand-mark{position:relative;width:144px;height:144px;margin-right:24px;flex:0 0 auto}.header-brand-image{display:block;width:100%;height:100%;object-fit:contain}.header-copy{max-width:70%}.header-title{color:#fff;margin-bottom:var(--space-sm)}.header-bar .subtitle{color:#ffffffd9!important;margin-top:8px}.header-bar .tabs{margin-top:24px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:14px}.header-next-run .next-run-banner{min-width:220px;padding:10px 12px;border:1px solid rgba(201,222,241,.55);border-radius:14px;background:#f8fcff1f;box-shadow:0 8px 24px #09162729;text-align:left;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-next-run-corner{position:absolute;top:8px;right:20px;z-index:2}.header-sidebar-trigger{position:absolute;top:98px;right:20px;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:54px;min-width:54px;height:54px;padding:0;border-radius:16px;border:1px solid rgba(201,222,241,.55);background:#f8fcff24;box-shadow:0 12px 30px #09162729;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.header-sidebar-trigger:hover{background:#f8fcff3d;filter:none}.header-sidebar-trigger-line{display:block;width:22px;height:2px;border-radius:999px;background:#fff}.header-sidebar-trigger-line.short{width:14px}.header-next-run .next-run-banner p{margin:0;color:#ffffffb8;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.header-next-run .next-run-banner strong{display:block;margin-top:4px;color:#fff;font-size:1.2rem;line-height:1.1}.header-next-run .next-run-banner span{display:block;margin-top:4px;color:#ffffffd6;font-size:.88rem}@media (max-width: 980px){.header-row{align-items:flex-start}.header-actions{margin-right:0;align-items:center}.header-next-run .next-run-banner{min-width:0}.header-next-run-corner{position:static;margin-top:12px}.header-sidebar-trigger{top:18px;right:20px}}@media (max-width: 780px){.header-bar{min-height:0;padding-top:22px!important;padding-bottom:18px!important}.header-bar .container{padding:0 16px}.header-row{flex-direction:column;align-items:flex-start;gap:14px;padding-right:72px}.header-brand-mark{width:88px;height:88px;margin-right:0}.header-copy{max-width:100%}.header-title{margin:0;font-size:clamp(1.55rem,6vw,2.1rem);line-height:1.1}.header-bar .subtitle{font-size:.95rem;line-height:1.45}.header-next-run-corner{position:static;margin-top:14px}.header-next-run .next-run-banner{width:100%}.header-sidebar-trigger{top:20px;right:16px;width:48px;min-width:48px;height:48px}}.metrics-row{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);display:flex;justify-content:center;gap:20px;padding:0 0 8px;max-width:none}.metrics-row .metrics{width:1400px;max-width:99vw;display:flex;flex-direction:row;flex-wrap:wrap;gap:20px;justify-content:center;align-items:stretch}.metrics-row .metric{flex:1 1 0;min-width:0;max-width:100%}.metrics{margin-top:24px}.metric{padding:32px 18px 28px;min-height:120px;min-width:220px;border-radius:20px;box-shadow:0 2px 16px #38c3e417;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.metric p{margin:0;color:var(--muted)}.metric strong{display:block;margin-top:12px;font-size:clamp(1.25rem,2.6vw,2.2rem);line-height:1.18;font-weight:700;letter-spacing:-.01em;white-space:normal;overflow-wrap:anywhere;text-align:center;max-width:98%;font-variant-numeric:tabular-nums}.metric strong{font-variant-numeric:tabular-nums}.metric.clickable{transition:box-shadow .15s,background .15s;cursor:pointer}.metric.clickable:hover:not(.selected){box-shadow:0 4px 24px #38c3e447;background:#b3d6f2}.metric.selected{background:linear-gradient(120deg,#b3e0fa 60%,#5bb0e6);box-shadow:0 4px 32px #38c3e438;border:2px solid #38a1e4}@media (max-width: 900px){.metrics-row{padding:0 14px 8px}.metrics-row .metrics{width:min(100%,1100px);max-width:100%;gap:14px}.metric{min-height:108px;padding:24px 16px 22px}}@media (max-width: 780px){.metrics-row{width:100%;margin-left:0;margin-right:0;padding:0 0 8px}.metrics-row .metrics{width:100%;max-width:100%;display:grid;grid-template-columns:1fr;gap:14px}.metrics-row .metric{width:100%}}@media (max-width: 640px){.metrics-row .metrics{gap:12px}.metric{min-width:0}.metric strong{max-width:100%;text-align:left}}.clear-btn{transition:box-shadow .2s,border-color .2s;min-height:44px;min-width:44px;padding:0;background:#fff;border:1px solid #d1d1d1;border-radius:8px;color:#123961;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #00000012}.clear-btn:hover{border-color:#b20000;box-shadow:0 2px 8px #b200001f;background:#fff;filter:none}.mobile-filters-toggle{display:none}select,.wide-control select,.controls select{font-weight:400!important}.controls{margin-top:0!important;padding:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.controls-fixed{grid-template-columns:170px 205px 150px 150px 140px minmax(194px,1fr);align-items:end;column-gap:18px}.controls-fixed-income{grid-template-columns:170px 205px 150px 180px 140px 194px;column-gap:16px}.controls-fixed-income .slot-two,.controls-fixed-income .slot-three{margin-left:-12px}.slot-period,.slot-store,.slot-two,.slot-three{justify-self:start}.controls-full{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0;border-left:0;border-right:0;padding-left:max(20px,calc((100vw - 1100px)/2 + 20px));padding-right:max(20px,calc((100vw - 1100px)/2 + 20px));background:var(--card);box-shadow:0 2px 8px #15355e14;position:relative}.income-controls{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.control-slot{min-width:0}.control-placeholder{visibility:hidden}.slot-refresh{display:grid;align-items:end;justify-items:end}.controls-actions{display:flex;gap:10px;align-items:end;justify-content:flex-end}.wide-control{min-width:0}.wide-control select{min-height:46px;padding:12px 14px;font-weight:400;letter-spacing:.01em}.refresh-btn{min-height:44px;min-width:140px;width:140px;justify-self:end}@media (max-width: 1220px){.controls-fixed{grid-template-columns:repeat(3,minmax(220px,1fr))}.controls-fixed-income .slot-two,.controls-fixed-income .slot-three{margin-left:0}}@media (max-width: 980px){.controls-fixed{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media (max-width: 780px){.mobile-filters-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:14px 16px;border-radius:16px;border:1px solid #9bb8d4;background:linear-gradient(120deg,#f8fcfff5,#e1effaf5);color:#123961;box-shadow:0 8px 24px #15355e14}.mobile-filters-toggle:hover{background:linear-gradient(120deg,#f8fcfff5,#e1effaf5);filter:none}.mobile-filters-toggle-icon{font-size:.9rem;line-height:1;transition:transform .2s ease}.mobile-filters-toggle-icon.open{transform:rotate(180deg)}.controls,.controls-fixed{grid-template-columns:1fr}.controls-mobile-collapsed{display:none}.controls-mobile-open{display:grid}.control-placeholder{display:none}.slot-refresh{justify-items:stretch}.controls-actions{flex-direction:column;align-items:stretch}.controls-full{padding:16px}.refresh-btn{width:100%;justify-self:stretch}.clear-btn{width:100%;min-width:0}}.preview-table td.bold-qty{font-weight:700;color:#1a3a1a}.preview-table th.highlight-col,.preview-table td.highlight-col{background:#f3fbe7;color:#2d5c1f;font-weight:600}.table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden}.table-toolbar{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:24px;flex-wrap:wrap}.table-meta{margin:0 0 8px;text-align:center;width:100%}.page-size-control{min-width:140px}.pager{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.pager button{min-width:110px}.preview-table{width:100%;border-collapse:collapse;font-size:.85rem}.preview-table th,.preview-table td{text-align:left;padding:8px;border-bottom:1px solid var(--line);white-space:normal;word-break:break-word}.preview-table thead th{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:1.05rem;font-weight:600;letter-spacing:.04em}.preview-table th.col-center,.preview-table td.col-center{text-align:center}.preview-table th.col-right,.preview-table td.col-right{text-align:right}.difference-table-section{padding:24px 16px}.difference-table{width:100%;min-width:900px;border-collapse:collapse;margin-bottom:8px;border:1px solid #bbb;background:#fff}.difference-table th,.difference-table td{padding:12px 18px;border:1px solid #bbb;font-size:1.01rem}.difference-table th{background:#e3f2fd;font-size:1.08rem;white-space:nowrap}.difference-header-month{background:#f5f5f5}.difference-header-total{background:#e3f2fd}.difference-header-delta{background:#fff3e0!important}.difference-month{font-weight:700;background:#fafafa}@media (max-width: 780px){.table-toolbar,.pager{flex-direction:column;align-items:stretch}.pager button,.page-size-control,.page-size-control select{width:100%}.preview-table{font-size:.8rem}.preview-table th,.preview-table td{padding:7px 6px}.difference-table-section{padding:16px 12px 18px}.difference-table th,.difference-table td{padding:10px 12px;font-size:.92rem}}.chart-card{margin-top:32px;padding:32px 28px 28px;border-radius:18px;max-width:100%}.chart-card h2{margin-top:0}.bars{margin:0;padding:0;list-style:none;display:grid;gap:10px}.bars li{display:grid;grid-template-columns:100px 1fr 110px;gap:10px;align-items:center}.date,.value{font-family:IBM Plex Mono,monospace;font-size:.83rem}.bar-wrap{background:#deecf8;border-radius:999px;overflow:hidden;border:1px solid #b7d0e7}.bar{height:14px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.chart-scroll-shell{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden}.turnover-trend-chart-wrap{width:100%;height:420px;min-width:100%}.turnover-bar-chart-shell{width:100%;overflow-y:auto;overflow-x:hidden}.turnover-bar-chart-wrap{width:100%;min-height:420px}.income-chart-wrap,.plu-chart-wrap{width:100%;height:420px;min-width:100%}@media (max-width: 780px){.chart-card{margin-top:20px;padding:18px 14px 16px}.chart-card h2{font-size:1.08rem;line-height:1.35}.turnover-trend-chart-wrap{height:320px}.turnover-bar-chart-shell{max-height:360px}.turnover-bar-chart-wrap{min-height:320px}.income-chart-wrap,.plu-chart-wrap{height:320px}.bars li{grid-template-columns:1fr;gap:6px}}.section-head{margin-top:26px}.section-head h2{margin:0;font-size:1.3rem}.section-head p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.subtitle{margin-top:0;color:var(--muted)}.tabs{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}.tab-btn{border:1px solid #6ea0c8;background:#e5f1fb;color:#123961;border-radius:999px;padding:9px 14px;font-weight:700;cursor:pointer}.tab-btn.active{border-color:#15355e;background:linear-gradient(120deg,#38c3e4,#15355e);color:#fff}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 10px 40px #15355e14}.error{margin-top:14px;background:#e9f6fc;border:1px solid #bde8f5;border-radius:12px;padding:10px 12px}.compare-card{margin-top:16px}.compare-caption{margin-top:12px;margin-bottom:10px}.delta-pos{color:#0e7a34;font-weight:700}.delta-neg{color:#b03131;font-weight:700}.delta-neutral{color:var(--muted);font-weight:700}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.page-heading-copy{min-width:0}.page-export-button{min-height:44px;padding-inline:18px;white-space:nowrap}.report-meta-block{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.report-meta-chip{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border:1px solid #d4dfeb;border-radius:999px;background:#f5f9fd;color:#25415f;font-size:.88rem;font-weight:600}.pdf-export-capturing{background:#fff}.pdf-export-capturing .pdf-export-capture-root{width:1040px;max-width:none;padding:0 16px 24px;background:#fff;color:var(--ink)}.pdf-export-capturing .pdf-export-capture-root.dashboard-side-layout,.pdf-export-capturing .pdf-export-capture-root .dashboard-side-layout{display:grid;gap:24px}.pdf-export-capturing .pdf-export-capture-root .dashboard-side-panel{position:static!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;margin:0!important}.pdf-export-capturing .pdf-export-capture-root .metrics-row{width:100%;margin-left:0;margin-right:0;padding:0 0 8px}.pdf-export-capturing .pdf-export-capture-root .metrics-row .metrics{width:100%;max-width:100%}.pdf-export-capturing .pdf-export-capture-root .table-wrap,.pdf-export-capturing .pdf-export-capture-root .chart-scroll-shell{overflow:visible}.pdf-export-capturing .pdf-export-capture-root .preview-table,.pdf-export-capturing .pdf-export-capture-root .income-table{width:100%;min-width:0}.pdf-export-capturing .turnover-page-layout.pdf-export-capture-root{width:1120px}.pdf-export-capturing .turnover-page-layout{gap:18px}.pdf-export-capturing .turnover-page-layout .metrics-row .metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pdf-export-capturing .turnover-page-layout .metrics-row .metric{min-width:0;min-height:96px;padding:20px 14px 18px}.pdf-export-capturing .turnover-page-layout .metric strong{font-size:1.45rem}.pdf-export-capturing .turnover-page-layout .chart-card{margin-top:20px;padding:24px 22px 22px;overflow:hidden}.pdf-export-capturing .turnover-page-layout .turnover-trend-chart-wrap{height:380px}.pdf-export-capturing .turnover-page-layout .turnover-bar-chart-shell{overflow:visible}.pdf-export-capturing .turnover-page-layout .turnover-bar-chart-wrap{min-height:400px}.pdf-export-capturing .income-page-layout.pdf-export-capture-root{width:1120px}.pdf-export-capturing .income-page-layout{gap:18px}.pdf-export-capturing .income-page-layout .metrics-row .metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pdf-export-capturing .income-page-layout .metric{min-width:0;min-height:96px;padding:20px 14px 18px}.pdf-export-capturing .income-page-layout .metric strong{font-size:1.45rem}.pdf-export-capturing .income-page-layout .chart-card{margin-top:20px;padding:24px 22px 22px;overflow:hidden}.pdf-export-capturing .income-page-layout .income-chart-wrap{height:340px}.pdf-export-capturing .income-page-layout .table-wrap{overflow:visible}.pdf-export-capturing .income-page-layout .income-table{min-width:0;font-size:.82rem}.pdf-export-capturing .income-page-layout .income-table th,.pdf-export-capturing .income-page-layout .income-table td{padding:8px 10px}.pdf-export-capturing .income-page-layout .income-status,.pdf-export-capturing .income-page-layout .income-category-pill{min-width:0;font-size:.78rem;padding:4px 8px}.pdf-export-capturing .plu-page-layout.pdf-export-capture-root{width:1100px}.pdf-export-capturing .plu-page-layout{gap:18px}.pdf-export-capturing .plu-page-layout .metrics-row .metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pdf-export-capturing .plu-page-layout .metric{min-width:0;min-height:96px;padding:20px 14px 18px}.pdf-export-capturing .plu-page-layout .metric strong{font-size:1.4rem}.pdf-export-capturing .plu-page-layout .chart-card{margin-top:20px;padding:24px 22px 22px;overflow:hidden}.pdf-export-capturing .plu-page-layout [data-pdf-split-table=true]{padding-right:26px}.pdf-export-capturing .plu-page-layout [data-pdf-split-table=true] .table-wrap{overflow:visible;padding-right:6px;box-sizing:border-box}.pdf-export-capturing .plu-page-layout [data-pdf-split-table=true] .preview-table{width:calc(100% - 2px);margin-right:2px}.pdf-export-capturing .plu-page-layout .plu-chart-wrap{height:340px}.pdf-export-capturing .plu-page-layout .plu-legend-panel{width:100%!important}.pdf-export-capturing .plu-page-layout .plu-legend{max-height:none;padding:12px 14px;overflow:visible}.pdf-export-capturing .plu-page-layout .plu-legend h3{margin-bottom:10px!important;font-size:1rem}.pdf-export-capturing .plu-page-layout .plu-legend-list{columns:2;column-gap:18px}.pdf-export-capturing .plu-page-layout .plu-legend-item{break-inside:avoid;gap:6px;margin-bottom:4px;font-size:.82rem}.pdf-export-capturing .plu-page-layout .plu-legend-swatch{width:12px;height:12px}.pdf-export-capturing .plu-page-layout .plu-pie-grid{gap:18px}.pdf-export-capturing .plu-page-layout .plu-pie-chart-wrap{width:min(100%,220px)}.pdf-export-capturing .plu-page-layout .plu-pie-card-single-day .plu-pie-chart-wrap{width:min(100%,280px)}@media (max-width: 780px){.page-heading{align-items:stretch}.page-export-button{width:100%}}.metrics-turnover .metric strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.income-legend{display:flex;flex-direction:column;align-items:center;justify-content:center}.income-legend-card{padding:16px;max-height:420px;overflow-y:auto}.income-spotlight-card{padding:16px;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:16px}.income-spotlight-card p{margin:0;font-size:1.25rem}.income-spotlight-card strong{display:block;margin-top:6px;font-size:1.5rem;text-align:center;white-space:normal}.income-spotlight-card span{margin-top:8px;font-size:1.15rem;font-weight:700}.income-spotlight-card small{margin-top:6px;font-size:.98rem;font-weight:700;color:#47617f}.income-spotlight-high{background:#e6f9ec;border:1px solid #b6e2c6}.income-spotlight-high span{color:#1f77b4}.income-spotlight-low{background:#faeaea;border:1px solid #f3bcbc}.income-spotlight-low span{color:#d62728}.income-spotlight-empty{background:#f4f7fb;border:1px solid #d7dde7}.switch-toggle{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:18px}.switch-toggle span:first-child{font-weight:700;font-size:1.08em;min-width:90px;text-align:left}.switch{position:relative;display:inline-block;width:38px;height:22px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:22px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 4px #0000001f}.switch input:checked+.slider{background-color:#4caf50}.switch input:checked+.slider:before{transform:translate(16px)}.weekrange-btn{min-height:44px;padding:0 14px;border-radius:10px;width:auto;min-width:150px;max-width:190px}.income-period-toggle{display:inline-flex;gap:6px;padding:4px;border:1px solid #d7dde7;background:#f4f7fb;border-radius:999px}.income-period-toggle button{min-height:34px;min-width:78px;padding:0 14px;border-radius:999px;border:0;background:transparent;color:#38516e;font-weight:600}.income-period-toggle button.active{background:#15355e;color:#fff}.income-compare-toggle{width:max-content}.income-control-stack{display:grid;grid-template-rows:20px auto;align-items:flex-start;row-gap:4px}.income-control-caption{min-height:20px;margin:0;color:#334155;font-size:.9rem;font-weight:600}.income-control-caption-placeholder{visibility:hidden}.income-metrics .metric strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.income-scope-summary{margin:6px 0 0;color:#47617f;font-size:.9rem;font-weight:600}.income-summary-row td{font-weight:700;background:#f8fafc}.income-category-pill{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-left:4px solid;border-radius:999px;font-weight:700;line-height:1.2}.income-emphasis-cell{font-weight:700;color:#15355e}.income-table th+th,.income-table td+td{border-left:1px solid var(--line)}.income-table thead th{background:#f4f7fb}.income-table{min-width:720px}.income-status{display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:4px 10px;border-radius:999px;border:1px solid transparent;font-weight:700;line-height:1.2}.income-status-low{background:#e7f2ff;border-color:#8ab6ea;color:#1f5f9c}.income-status-ok{background:#e8f6ea;border-color:#8fc79a;color:#25663a}.income-status-high{background:#fff2dd;border-color:#e2b36d;color:#9a5d09}.income-status-critical{background:#fde8e8;border-color:#e3a2a2;color:#9f2f2f}.income-status-neutral{background:#f4f7fb;border-color:#d7dde7;color:#47617f}.period-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c18267a;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.period-picker{width:min(820px,100%);max-height:88vh;display:flex;flex-direction:column;gap:16px;padding:24px;background:#fff;border:1px solid #d8e0ea;border-radius:18px;box-shadow:0 18px 54px #0f223833}.period-picker-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.period-picker-head h4{margin:0;font-size:1.08rem}.period-picker-head p{margin:6px 0 0;color:#64748b}.period-picker-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.period-picker-presets{display:flex;gap:8px;flex-wrap:wrap}.period-chip{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid #d8e0ea;background:#f8fafc;color:#25415f}.period-chip-clear{border-color:#f2caca;background:#fff6f6;color:#a33c3c}.period-picker-summary{min-width:110px;padding:8px 12px;border-radius:12px;background:#f4f7fb;text-align:center;color:#47617f}.period-picker-summary strong{display:block;font-size:1.1rem;color:#15355e}.period-picker-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.period-picker-filters label{min-width:180px}.period-picker-note{padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e3eaf2;color:#5b728e}.period-picker-list{border:1px solid #e3eaf2;border-radius:14px;padding:14px;overflow-y:auto;max-height:360px;background:linear-gradient(180deg,#fcfdff,#f8fafc)}.period-picker-empty{margin:0;color:#64748b}.period-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.period-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;text-align:left;border-radius:14px;border:1px solid #dbe3ec;background:#fff;box-shadow:0 2px 8px #15355e0a}.period-card.selected{border-color:#15355e;background:#eef4fb;box-shadow:0 6px 18px #15355e1f}.period-card strong{color:#15355e;line-height:1.3}.period-card span{color:#64748b;font-size:.92rem}.period-card-check{padding:3px 8px;border-radius:999px;background:#f4f7fb;color:#4b647f;font-size:.8rem;font-weight:600}.period-card.selected .period-card-check{background:#15355e;color:#fff}.period-picker-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.period-picker-actions p{margin:0;color:#64748b}.period-picker-actions>div{display:flex;gap:12px}@media (min-width: 1381px){.income-page-layout{--dashboard-side-panel-top: 312px}}@media (max-width: 980px){.income-page-layout .section-head{margin-bottom:0}.income-spotlight-panel,.income-legend-panel{width:100%}}@media (max-width: 780px){.income-spotlight-panel,.income-legend-panel{width:min(320px,100%);margin-inline:auto}.income-table{min-width:760px}.income-table th,.income-table td{white-space:nowrap;word-break:normal}.switch-toggle{justify-content:space-between;gap:10px}.switch-toggle span:first-child{min-width:0;font-size:.98rem}.income-period-toggle{width:100%;justify-content:stretch}.income-period-toggle button{flex:1;min-width:0;padding:0 10px}.income-compare-toggle{width:100%}.weekrange-btn{width:100%;min-width:0;max-width:none}.income-legend-card{max-height:none}.income-category-pill,.income-status{white-space:nowrap}.period-picker{padding:18px}.period-picker-head,.period-picker-toolbar,.period-picker-actions{flex-direction:column;align-items:stretch}.period-picker-actions>div{justify-content:stretch}.period-picker-actions>div button{flex:1}}.plu-popularity-panel,.plu-legend-panel{width:min(260px,100%);margin-inline:auto}.plu-popularity{padding:16px;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center}.plu-legend{padding:16px;max-height:420px;overflow-y:auto}.plu-legend-list{margin:0;padding:0;list-style:none}.plu-legend-item{display:flex;align-items:center;gap:8px;margin-bottom:6px}.plu-legend-swatch{display:inline-block;width:16px;height:16px;border-radius:2px;flex-shrink:0}.plu-pie-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;width:100%}.plu-pie-card{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0}.plu-pie-title{margin:0 0 12px;text-align:center}.plu-pie-chart-wrap{width:min(100%,260px);aspect-ratio:1}.plu-pie-card-single-day .plu-pie-chart-wrap{width:min(100%,340px)}@media (min-width: 1381px){.plu-page-layout{--dashboard-side-panel-top: 312px}}@media (max-width: 780px){.plu-popularity-panel,.plu-legend-panel{width:100%}.plu-legend{max-height:none}.plu-pie-grid{grid-template-columns:1fr;gap:18px}.plu-pie-chart-wrap,.plu-pie-card-single-day .plu-pie-chart-wrap{width:min(100%,240px)}}
