/* Dashboard-only presentation. Operational screens keep their existing density. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.dashboard-page{--dashboard-border:#dfe8e3;--dashboard-shadow:0 8px 28px rgba(18,63,48,.055);font-variant-numeric:tabular-nums}
.dashboard-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}
.dashboard-welcome h1{margin:3px 0 4px;font-size:clamp(26px,2.35vw,34px);line-height:1.14;letter-spacing:-.045em}.dashboard-welcome h1 span{display:inline-block;font-size:.72em;transform:translateY(-2px)}
.dashboard-welcome p{margin:0;color:var(--muted);font-size:13px}.dashboard-kicker{color:#708078;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.dashboard-date-filter{display:flex;align-items:center;gap:10px}.dashboard-date-filter label{margin:0}.dashboard-date-filter input{width:175px;min-height:42px;background:#fff}.dashboard-date-filter button{min-width:122px;min-height:42px}

.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px}
.dashboard-kpi{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;min-height:132px;padding:20px;border:1px solid var(--dashboard-border);border-radius:13px;background:#fff;box-shadow:var(--dashboard-shadow);overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.dashboard-kpi:hover{transform:translateY(-2px);border-color:#c7d9d0;box-shadow:0 13px 32px rgba(18,63,48,.09)}
.kpi-copy{display:flex;flex-direction:column;min-width:0;height:100%}.kpi-copy>span{color:#67766f;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.kpi-copy>strong{margin:8px 0 6px;color:#164f3c;font:800 clamp(20px,1.8vw,27px)/1.1 Manrope,sans-serif;letter-spacing:-.04em;overflow-wrap:anywhere}.kpi-copy>strong.negative{color:var(--danger)}.kpi-copy>small{margin-top:auto;font-size:10px}
.kpi-icon{flex:0 0 auto;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e9f6ef;color:#16734f}.kpi-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kpi-orders .kpi-icon{background:#fff2df;color:#df7f18}.kpi-payable .kpi-icon{background:#ffeded;color:#d84541}.kpi-payable .kpi-copy>strong{color:#cf3f3a}.kpi-profit .kpi-icon{background:#e9f6ef;color:#16734f}

.dashboard-alert{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-bottom:18px;padding:13px 16px;border:1px solid #f0dfbd;border-left:4px solid #e4a02f;border-radius:10px;background:#fffaf0;color:#664f27}.dashboard-alert-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#f9e6bd;font-weight:900}.dashboard-alert strong{display:block;font-size:12px}.dashboard-alert p{margin:2px 0 0;color:#806b45;font-size:10px}.dashboard-alert a{font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap}

.dashboard-chart-grid,.dashboard-split-grid,.dashboard-table-grid,.dashboard-bottom-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:17px;margin-bottom:17px}.dashboard-split-grid,.dashboard-table-grid,.dashboard-bottom-grid{grid-template-columns:1fr 1fr}
.dashboard-panel{min-width:0;margin:0;padding:19px;border:1px solid var(--dashboard-border);border-radius:13px;background:#fff;box-shadow:var(--dashboard-shadow)}
.dashboard-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:17px}.dashboard-panel-heading h2{margin:0 0 3px;font-size:15px;letter-spacing:-.025em}.dashboard-panel-heading p{margin:0;color:var(--muted);font-size:10px}.dashboard-panel-heading>a{align-self:center;font-size:10px;font-weight:800;text-decoration:none;white-space:nowrap}.period-pill{align-self:flex-start;padding:7px 9px;border:1px solid var(--dashboard-border);border-radius:7px;background:#fbfdfc;color:#56655e;font-size:9px;font-weight:700;white-space:nowrap}

.line-chart{position:relative;height:225px;padding-left:62px}.line-chart svg{display:block;width:100%;height:195px;overflow:visible}.line-chart svg line{stroke:#e8eeeb;stroke-width:1}.line-chart svg polyline{fill:none;stroke:#1b7855;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.line-chart svg circle{fill:#1b7855;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.chart-scale{position:absolute;inset:4px auto 31px 0;display:flex;flex-direction:column;justify-content:space-between;width:58px;color:#7c8983;font-size:8px}.chart-scale span{white-space:nowrap}.chart-days{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin:-7px 0 0}.chart-days span{text-align:center;color:#6d7b74;font-size:9px}
.bar-chart{height:225px}.orders-svg{display:block;width:100%;height:100%;overflow:visible}.orders-svg line{stroke:#e8eeeb;stroke-width:1}.orders-svg rect{fill:#2d9067}.orders-svg text{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-anchor:middle}.orders-svg .bar-count{fill:#496057;font-size:9px;font-weight:800}.orders-svg .bar-day{fill:#6d7b74;font-size:10px}

.top-items-list{display:flex;flex-direction:column}.top-item{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:11px;min-height:45px;border-bottom:1px solid #ebf0ed}.top-item:last-child{border-bottom:0}.item-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#edf7f2;color:#176b52;font-size:10px;font-weight:900}.top-item strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.top-item>span:not(.item-rank){color:var(--muted);font-size:9px}.top-item b{font-size:10px;white-space:nowrap}
.donut-layout,.category-layout{display:flex;align-items:center;justify-content:center;gap:clamp(24px,4vw,54px);min-height:225px}.donut{position:relative;flex:0 0 auto;display:grid;place-items:center;width:158px;height:158px}.donut svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.donut circle{fill:none;stroke-width:7}.donut-base{stroke:#e7eeea}.donut-segment{stroke-linecap:butt}.donut-green{stroke:#21865e}.donut-amber{stroke:#f3aa24}.donut-red{stroke:#df504b}.donut>div{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column}.donut span{color:var(--muted);font-size:9px}.donut strong{font:800 23px Manrope,sans-serif}.donut small{font-size:8px}
.donut-legend{display:flex;flex:1;max-width:250px;flex-direction:column;gap:17px}.donut-legend>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px}.donut-legend i,.category-legend i{width:8px;height:8px;border-radius:2px}.legend-green{background:#21865e}.legend-amber{background:#f3aa24}.legend-red{background:#df504b}.donut-legend span{font-size:10px}.donut-legend strong{font-size:10px;white-space:nowrap}

.dashboard-actions{margin:2px 0 17px}.dashboard-actions h2{margin:0 0 10px;font-size:13px}.dashboard-actions>div{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.dashboard-actions a{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:9px;border:1px solid var(--dashboard-border);border-radius:10px;background:#fff;color:#263b32;text-decoration:none;box-shadow:0 4px 14px rgba(19,65,49,.035);transition:.16s ease}.dashboard-actions a:hover{border-color:#a7cdbd;color:#126349;box-shadow:0 8px 20px rgba(19,65,49,.08);transform:translateY(-1px)}.dashboard-actions a>span{color:#178057;font-size:22px;line-height:1}.dashboard-actions a strong{font-size:10px;white-space:nowrap}.dashboard-actions a b{position:absolute;top:-6px;right:12px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border:2px solid #fff;border-radius:10px;background:#d94d47;color:#fff;font-size:8px}

.dashboard-table-panel{padding-bottom:10px}.dashboard-table-scroll{overflow:auto}.dashboard-table-panel table{min-width:470px}.dashboard-table-panel th{height:auto;padding:9px 8px;background:transparent;border-top:0;border-left:0!important;border-right:0!important;font-size:8px}.dashboard-table-panel td{padding:10px 8px;font-size:10px}.dashboard-table-panel td small{display:block;font-size:8px}.dashboard-table-panel td a{text-decoration:none}.stock-badge,.order-status{display:inline-flex;padding:4px 7px;border-radius:5px;font-size:8px;font-weight:800;white-space:nowrap}.stock-low,.status-pending{background:#fff2dc;color:#c77315}.stock-out,.status-void{background:#ffebe9;color:#d54842}.status-confirmed{background:#e8f6ef;color:#16734f}
.dashboard-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:210px;padding:25px;text-align:center}.dashboard-empty>span{display:grid;place-items:center;width:40px;height:40px;margin-bottom:10px;border-radius:10px;background:#edf7f2;color:#147550;font-size:18px}.dashboard-empty strong{font-size:12px}.dashboard-empty p{margin:3px 0 0;color:var(--muted);font-size:10px}.compact-empty{min-height:115px}

.category-donut{width:145px;height:145px}.category-donut strong{max-width:78px;font-size:13px;text-align:center}.category-segment-0{stroke:#176b52}.category-segment-1{stroke:#f1a722}.category-segment-2{stroke:#7061d7}.category-segment-3{stroke:#5989cc}.category-segment-4{stroke:#dc5b55}.category-legend{display:flex;flex:1;max-width:300px;flex-direction:column;gap:10px}.category-legend>div{display:grid;grid-template-columns:8px minmax(70px,1fr) 34px auto;align-items:center;gap:8px}.category-legend span,.category-legend b,.category-legend strong{font-size:9px}.category-legend b{color:var(--muted)}.category-legend strong{white-space:nowrap}.category-color-0{background:#176b52}.category-color-1{background:#f1a722}.category-color-2{background:#7061d7}.category-color-3{background:#5989cc}.category-color-4{background:#dc5b55}
.payment-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.payment-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:104px;padding:13px;border:1px solid #e3ebe7;border-radius:9px;background:#f7fbf9}.payment-card>span{font-size:9px}.payment-card>strong{margin:4px 0 2px;color:#17714f;font:800 16px Manrope,sans-serif;overflow-wrap:anywhere}.payment-card>small{margin-top:auto;font-size:8px}.payment-card progress{width:100%;height:3px;margin-top:8px;border:0;border-radius:3px;background:#dcebe4;accent-color:#2a986b}.payment-card progress::-webkit-progress-bar{border-radius:3px;background:#dcebe4}.payment-card progress::-webkit-progress-value{border-radius:3px;background:#2a986b}.payment-card progress::-moz-progress-bar{border-radius:3px;background:#2a986b}.payment-card.payment-foodpanda{background:#f5f1ff}.payment-foodpanda>strong{color:#6145bb}.payment-foodpanda progress{accent-color:#7c62cf}.payment-foodpanda progress::-webkit-progress-value,.payment-foodpanda progress::-moz-progress-bar{background:#7c62cf}.payment-card:not(.payment-foodpanda):nth-child(2){background:#fff8ee}.payment-card:not(.payment-foodpanda):nth-child(2)>strong{color:#c66c15}.payment-card:not(.payment-foodpanda):nth-child(2) progress{accent-color:#e8972d}.payment-card:not(.payment-foodpanda):nth-child(2) progress::-webkit-progress-value,.payment-card:not(.payment-foodpanda):nth-child(2) progress::-moz-progress-bar{background:#e8972d}.payment-footer{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding:12px 2px 0;border-top:1px solid #e8eeeb;color:var(--muted);font-size:9px}.payment-footer strong{margin-left:7px;color:var(--ink)}

@media(max-width:1280px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-actions>div{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-copy>strong{font-size:25px}}
@media(max-width:1080px){.dashboard-chart-grid,.dashboard-split-grid,.dashboard-table-grid,.dashboard-bottom-grid{grid-template-columns:1fr}.dashboard-panel{padding:18px}.line-chart,.bar-chart{height:235px}.dashboard-chart-grid{gap:14px}}
@media(max-width:700px){.dashboard-welcome{align-items:stretch;flex-direction:column;gap:16px}.dashboard-date-filter{display:grid;grid-template-columns:minmax(0,1fr) auto}.dashboard-date-filter input{width:100%}.dashboard-kpis{gap:10px}.dashboard-kpi{min-height:118px;padding:15px}.kpi-icon{width:41px;height:41px}.kpi-icon svg{width:19px;height:19px}.dashboard-actions>div{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-alert{grid-template-columns:auto 1fr}.dashboard-alert a{grid-column:2}.donut-layout,.category-layout{gap:22px}.line-chart{padding-left:55px}.chart-scale{width:52px}}
@media(max-width:480px){.dashboard-kpis{grid-template-columns:1fr}.dashboard-kpi{min-height:108px}.dashboard-actions>div{grid-template-columns:1fr 1fr}.dashboard-actions a{justify-content:flex-start;padding-left:14px}.dashboard-panel{padding:15px}.dashboard-panel-heading{margin-bottom:12px}.line-chart,.bar-chart{height:205px}.line-chart svg{height:175px}.donut-layout,.category-layout{align-items:stretch;flex-direction:column}.donut-legend,.category-legend{width:100%;max-width:none}.donut{width:145px;height:145px}.payment-footer{align-items:flex-start;flex-direction:column}.dashboard-alert{padding:11px}.dashboard-alert-icon{align-self:start}.dashboard-alert p{line-height:1.45}}
@media(hover:none){.dashboard-kpi:hover,.dashboard-actions a:hover{transform:none}}
.dashboard-actions>div{grid-template-columns:repeat(7,minmax(0,1fr))}
.dashboard-actions a b.in-stock-count{background:#19875d}
@media(max-width:1280px){.dashboard-actions>div{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.dashboard-actions>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
