:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#18212c;background:#f4f6f9}
*{box-sizing:border-box}body{margin:0;min-width:0}.shell{width:calc(100% - 248px);max-width:1440px;min-width:0;margin:0 0 0 248px;padding:26px 24px 60px}
[hidden]{display:none!important}
.header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}
.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:#667387;font-size:12px;font-weight:700;margin:0 0 8px}
h1{font-size:28px;line-height:1.2;margin:0}h2{font-size:19px;margin:0 0 18px}p{line-height:1.5}
button{border:1px solid #174db4;background:#174db4;color:white;border-radius:8px;padding:10px 15px;font:inherit;cursor:pointer}
button:disabled{opacity:.5;cursor:default}.pager button{background:white;color:#174db4}
input[type=search]{display:block;width:min(480px,80vw);padding:9px 11px;border:1px solid #c9d0db;border-radius:8px;font:inherit;margin-top:5px}
.checkbox{white-space:nowrap}.toolbar{display:flex;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:20px}
.products-controls{display:grid;gap:16px}.products-controls h2{margin:0}.products-periods{display:flex;gap:4px;padding:4px;background:#e9eef6;border-radius:10px;flex-wrap:wrap;width:fit-content;max-width:100%}.products-period{padding:8px 13px;border:0;border-radius:7px;background:transparent;color:#566273;font-size:14px;font-weight:600}.products-period:hover{background:#dbe6f8;color:#174db4}.products-period.is-active{background:#fff;color:#174db4;box-shadow:0 1px 4px #18212c1a}.products-period:focus-visible,.products-controls input:focus-visible{outline:2px solid #174db4;outline-offset:2px}.products-range-row,.products-filter-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.products-period-actions{display:flex;gap:6px}.products-custom-dates{display:flex;gap:12px;flex-wrap:wrap}.products-custom-dates label,.products-filter-row>label:not(.checkbox){display:grid;gap:6px;color:#566273;font-size:13px;font-weight:600}.products-custom-dates input{padding:9px 11px;border:1px solid #c9d0db;border-radius:8px;font:inherit;color:#18212c;background:#fff}.products-range-label{min-height:41px;display:inline-flex;align-items:center;color:#39475b;font-variant-numeric:tabular-nums}.products-filter-row input[type=search]{width:min(360px,calc(100vw - 48px));margin:0}.products-filter-row .checkbox{padding-bottom:10px}.products-table-note{margin:-8px 0 18px}.products-message{padding:24px 4px;color:#566273}@media(max-width:500px){.products-periods{width:100%}.products-period{flex:1}}
.notice{background:#fff4db;border-left:4px solid #d99b22;border-radius:4px;padding:12px 15px;margin-bottom:18px;color:#513d13}
.status-grid{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.status-card{min-width:190px;flex:1;background:white;border:1px solid #e1e5eb;border-radius:10px;padding:14px}
.status-card strong{display:block;margin-bottom:4px}.muted{color:#667387;font-size:13px}.error{color:#a12622}
.panel{background:white;border:1px solid #e1e5eb;border-radius:12px;padding:20px;margin-bottom:18px;min-width:0;max-width:100%}
.table-wrap{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:880px}th,td{text-align:left;padding:10px 9px;border-bottom:1px solid #edf0f3;vertical-align:top;font-size:14px}th{color:#566273;font-weight:600;white-space:nowrap}td.num{text-align:right;font-variant-numeric:tabular-nums}td a{color:#174db4;text-decoration:none}td a:hover{text-decoration:underline}
.products-table-toolbar{display:flex;justify-content:flex-end;margin:0 0 12px}.products-table-scroll{border:1px solid #e1e5eb;border-radius:8px}.products-metrics-table{--photo-width:76px;--article-width:150px;--name-width:240px;table-layout:fixed;width:100%;min-width:1000px;border-collapse:separate;border-spacing:0}.products-metrics-table.is-expanded{width:2600px;min-width:2600px}.products-metrics-table th,.products-metrics-table td{background:#fff}.products-metrics-table th{background:#f6f8fb;white-space:normal}.products-metrics-table .group-start{border-left:1px solid #dce3ed}.products-metrics-table td.num{white-space:nowrap}.products-metrics-table th:nth-child(-n+3),.products-metrics-table td:nth-child(-n+3){position:sticky;z-index:2;overflow-wrap:anywhere}.products-metrics-table thead th:nth-child(-n+3){z-index:3}.products-metrics-table th:nth-child(1),.products-metrics-table td:nth-child(1){left:0;width:var(--photo-width)}.products-metrics-table th:nth-child(2),.products-metrics-table td:nth-child(2){left:var(--photo-width);width:var(--article-width)}.products-metrics-table th:nth-child(3),.products-metrics-table td:nth-child(3){left:calc(var(--photo-width) + var(--article-width));width:var(--name-width);box-shadow:3px 0 5px -3px #18212c55}
.products-sort-button{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font-size:inherit;font-weight:inherit;line-height:1.3}.products-sort-button:hover{color:#174db4;text-decoration:underline}.products-sort-button:focus-visible{outline:2px solid #174db4;outline-offset:3px}.products-sort-button span{flex:none;color:#174db4}.products-metrics-table td.products-attention-negative{background:#fff1f1;color:#9d302e}.products-metrics-table td.products-attention-low{background:#fff7e8;color:#805500}.products-metrics-table tfoot td,.products-metrics-table tfoot th{background:#eaf0fa;font-weight:700;border-top:2px solid #b8c8e1}.products-metrics-table tfoot th:nth-child(-n+3),.products-metrics-table tfoot td:nth-child(-n+3){z-index:3}.products-summary-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin-top:12px;border:1px solid #e1e5eb;border-radius:8px;overflow:hidden;background:#e1e5eb}.products-summary-strip span{display:grid;gap:4px;min-width:0;padding:10px 12px;background:#f6f8fb;font-variant-numeric:tabular-nums}.products-summary-strip strong{color:#566273;font-size:12px;font-weight:600}.products-message.error button{margin-left:12px}.products-table-scroll:focus-visible{outline:2px solid #174db4;outline-offset:2px}
@media(max-width:1100px){.products-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.products-metrics-table{--photo-width:54px;--article-width:82px;--name-width:116px}.products-metrics-table .product-thumb{width:38px;height:38px}.products-metrics-table th,.products-metrics-table td{padding:8px 5px;font-size:12px}}
@media(max-width:550px){.products-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:17px}a{color:#174db4}
.photo-cell{width:76px;min-width:76px}.photo-cell a{display:inline-flex;align-items:center;justify-content:center}
.product-thumb{width:58px;height:58px;object-fit:contain;border:1px solid #e1e5eb;border-radius:8px;background:#fff}
.image-placeholder{display:inline-flex;align-items:center;justify-content:center;color:#667387;background:#f4f6f9;text-align:center;font-size:11px;line-height:1.2}
.product-cover{width:108px;min-width:108px;height:108px}.product-image-large{width:108px;height:108px;object-fit:contain;border:1px solid #e1e5eb;border-radius:10px;background:#fff}
.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:248px;background:#fff;border-right:1px solid #e1e5eb;overflow-y:auto;padding:24px 14px}
.sidebar-brand{padding:2px 12px 24px;color:#174db4;font-weight:800;letter-spacing:.02em}.sidebar-brand span{display:block;color:#18212c;font-size:12px;font-weight:600}
.side-nav{display:flex;flex-direction:column;gap:3px}.side-nav a,.side-nav span{display:block;padding:10px 12px;border-radius:8px;font-size:14px;line-height:1.3;text-decoration:none}.side-nav a:hover{background:#eaf1ff}.side-nav a[aria-current=page]{background:#174db4;color:#fff;font-weight:700}.nav-unavailable{color:#7c8796;cursor:default}
.side-nav .nav-subtitle{display:block;margin-top:2px;font-size:11px;font-weight:400;opacity:.8}
.rnp-controls{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap}.rnp-controls h2,.rnp-panel-heading h2{margin:0 0 4px}.rnp-controls .muted,.rnp-panel-heading .muted{margin:0}.rnp-controls label{display:grid;gap:6px;font-size:13px;font-weight:600;color:#566273}.rnp-controls input{padding:9px 11px;border:1px solid #c9d0db;border-radius:8px;font:inherit;color:#18212c;background:#fff}
.rnp-controls{display:grid;justify-content:stretch;align-items:stretch;gap:16px}.rnp-filter-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.rnp-filter-row>label{min-width:140px}.rnp-filter-row input[type=search]{width:min(360px,calc(100vw - 48px));max-width:100%;margin:0}.rnp-filter-row select{min-height:41px;padding:8px 11px;border:1px solid #c9d0db;border-radius:8px;background:#fff;color:#18212c;font:inherit}.rnp-period-actions{display:flex;gap:6px}.rnp-period-actions button{min-height:41px}.rnp-filter-label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#566273}.rnp-sku-picker{position:relative}.rnp-sku-picker summary{min-height:41px;min-width:150px;padding:9px 11px;border:1px solid #c9d0db;border-radius:8px;background:#fff;color:#18212c;font-size:13px;cursor:pointer}.rnp-sku-options{position:absolute;z-index:10;top:100%;right:0;min-width:min(340px,calc(100vw - 32px));max-height:260px;overflow:auto;padding:10px;background:#fff;border:1px solid #c9d0db;border-radius:8px;box-shadow:0 8px 24px #18212c24}.rnp-sku-options label{display:flex;align-items:center;gap:8px;padding:7px 4px;white-space:normal}.rnp-sku-options input{margin:0;flex:none}.rnp-sku-options button{margin-top:8px}
.rnp-panel-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px}.rnp-demo-badge{padding:5px 10px;border-radius:999px;background:#eaf1ff;color:#174db4;font-size:12px;font-weight:700;white-space:nowrap}.rnp-empty{padding:32px;text-align:center;color:#667387;background:#f8fafc;border:1px dashed #c9d0db;border-radius:8px}
.rnp-summary{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin:0 0 10px}.rnp-summary-card{display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-height:82px;padding:12px 14px;border:1px solid #e1e5eb;border-radius:9px;background:#f8fafc}.rnp-summary-card span{font-size:12px;line-height:1.3;color:#566273}.rnp-summary-card strong{font-size:24px;line-height:1;color:#26374d;font-variant-numeric:tabular-nums}.rnp-signal-note{margin:0 0 16px;color:#667387;font-size:12px}
.rnp-scroll{width:100%;max-height:min(72vh,760px);overflow:auto;border:1px solid #e1e5eb;border-radius:9px;scrollbar-color:#b8c4d7 #f4f6f9}.rnp-scroll:focus-visible{outline:2px solid #174db4;outline-offset:2px}
.rnp-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.rnp-table th,.rnp-table td{padding:9px 10px;border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3;font-size:13px;vertical-align:middle}.rnp-table thead th{position:sticky;top:0;z-index:4;height:54px;background:#f8fafc;color:#566273;box-shadow:0 1px 0 #d7dee8}.rnp-table .rnp-product-head{left:0;z-index:7;width:220px;min-width:220px}.rnp-table .rnp-metric-head{left:220px;z-index:6;width:190px;min-width:190px}.rnp-table .rnp-date-head{width:96px;min-width:96px;text-align:center}.rnp-day-number{display:block;color:#18212c;font-size:15px;font-weight:700}.rnp-weekday{display:block;margin-top:2px;font-size:11px;text-transform:capitalize}
.rnp-table .rnp-product-cell{position:sticky;left:0;z-index:3;width:220px;min-width:220px;vertical-align:top;background:#fff;border-right:1px solid #d7dee8;padding:9px}.rnp-product-toggle{width:100%;display:flex;align-items:flex-start;gap:7px;text-align:left;border:0;background:transparent;color:#18212c;padding:5px;border-radius:7px}.rnp-product-toggle:hover{background:#eaf1ff}.rnp-product-toggle:focus-visible{outline:2px solid #174db4}.rnp-chevron{color:#174db4;font-size:17px;line-height:1.1}.rnp-product-toggle .product-thumb{width:46px;height:46px;min-width:46px}.rnp-product-identity{min-width:0;display:grid;gap:3px;line-height:1.3}.rnp-product-identity strong{overflow-wrap:anywhere;font-size:12px}.rnp-product-identity>span{color:#566273;font-size:11px;overflow-wrap:anywhere}.rnp-product-identity small{color:#667387;font-size:11px;white-space:normal;overflow-wrap:anywhere}
.rnp-table .rnp-metric-cell{position:sticky;left:220px;z-index:2;width:190px;min-width:190px;background:#fff;color:#39475b;font-weight:500;white-space:normal;border-right:1px solid #d7dee8}.rnp-table .rnp-value{width:96px;min-width:96px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rnp-table .rnp-value.is-empty{color:#9aa4b2}.rnp-table .is-today{background:#eaf1ff;color:#174db4}.rnp-table .rnp-block-start>*{border-top:2px solid #ccd8e9}.rnp-table .rnp-collapsed-cell{color:#667387;background:#f8fafc;font-style:italic}.rnp-table .rnp-product-block:first-of-type .rnp-block-start>*{border-top:0}
.rnp-table .rnp-value.has-signal{background:#fff4e8;color:#8b451c;box-shadow:inset 3px 0 #e6aa68}.rnp-table .rnp-value.has-signal.is-today{background:#fcebdc}
@media(max-width:700px){.rnp-table .rnp-product-head,.rnp-table .rnp-product-cell{width:160px;min-width:160px}.rnp-table .rnp-metric-head,.rnp-table .rnp-metric-cell{left:160px;width:148px;min-width:148px}.rnp-product-toggle{flex-wrap:wrap}.rnp-product-identity{width:100%}.rnp-table .rnp-date-head,.rnp-table .rnp-value{width:88px;min-width:88px}}
@media(max-width:850px){.rnp-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}
.topbar{position:sticky;top:0;z-index:20;height:64px;margin-left:248px;padding:0 24px;display:flex;align-items:center;gap:12px;background:#fff;border-bottom:1px solid #e1e5eb}.topbar-title{font-weight:700;color:#26374d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-icon{margin-left:auto;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#eaf1ff;color:#174db4;flex:none}.profile-icon svg,.menu-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.menu-toggle,.nav-backdrop{display:none}
.home-dashboard{display:flex;flex-direction:column;gap:24px}
.home-source-panel{min-width:0;background:#fff;border:1px solid #e1e5eb;border-radius:12px;padding:18px 20px}
.home-source-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px}
.home-source-heading h2{margin:0 0 3px;font-size:17px}.home-source-heading p,.home-source-timezone{margin:0;color:#667387;font-size:12px}
.home-source-timezone{white-space:nowrap;padding-top:3px}
.home-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.home-source-item{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:2px 16px;border-left:1px solid #e8ecf2}
.home-source-item:first-child{border-left:0;padding-left:0}.home-source-item:last-child{padding-right:0}
.home-source-item strong{font-size:14px;line-height:1.3}.home-source-state{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;line-height:1.2}
.home-source-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.home-source-state.is-current{color:#176244;background:#e8f6ee}.home-source-state.is-updating{color:#875b08;background:#fff3d8}.home-source-state.is-error{color:#a12622;background:#fff0ee}.home-source-state.is-empty{color:#566273;background:#edf0f3}
.home-source-updated{color:#667387;font-size:12px;line-height:1.4;white-space:nowrap}.home-source-note{margin:13px 0 0;color:#667387;font-size:12px;line-height:1.4}
.home-skeleton{display:block;border-radius:6px;background:linear-gradient(100deg,#e8edf4 20%,#f5f7fa 40%,#e8edf4 60%);background-size:200% 100%;animation:home-shimmer 1.3s linear infinite}
.home-skeleton-label{width:42%;height:14px}.home-skeleton-status{width:70%;height:22px;border-radius:999px}.home-skeleton-time{width:85%;height:12px}
.home-skeleton-card{gap:18px}.home-skeleton-card .home-skeleton-amount{width:65%;height:32px;margin-top:16px}.home-skeleton-card .home-skeleton-line{width:90%;height:10px;margin-top:auto}
.home-detail-skeleton{display:grid;gap:10px;margin-top:14px}.home-skeleton-notice{height:72px}.home-skeleton-money{height:48px}
.home-empty{margin:14px 0 0;padding:22px;border:1px dashed #c9d0db;border-radius:9px;background:#f8fafc;color:#566273;font-size:14px;line-height:1.5}
@keyframes home-shimmer{to{background-position-x:-200%}}
@media(prefers-reduced-motion:reduce){.home-skeleton{animation:none}}
.business-overview-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.business-overview-heading h2,.home-detail-panel>h2{margin:0 0 4px;font-size:19px}
.business-overview-heading .financial-summary-source{margin:0}
.dashboard-periods{display:inline-flex;gap:4px;padding:4px;background:#e9eef6;border-radius:10px;flex-wrap:wrap}
.dashboard-period{padding:7px 13px;border:0;border-radius:7px;background:transparent;color:#566273;font-size:13px;font-weight:600}
.dashboard-period:hover{background:#dbe6f8;color:#174db4}
.dashboard-period.is-active{background:#fff;color:#174db4;box-shadow:0 1px 4px #18212c1a}
.dashboard-period:focus-visible{outline:2px solid #174db4;outline-offset:2px}
.business-overview-grid{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(0,2fr);gap:12px}
.profit-card,.business-metric-card{min-width:0;border:1px solid #e1e5eb;border-radius:12px;background:#fff;padding:18px}
.profit-card{display:flex;flex-direction:column;background:#f5f8ff;border-color:#cbd8f3}
.profit-card h3,.business-metric-card h3{margin:0;color:#566273;font-size:13px;font-weight:600;line-height:1.4}
.profit-card-amount{margin:12px 0 24px;color:#174db4;font-size:clamp(30px,3vw,42px);font-weight:750;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.profit-card-amount span{font-size:.7em}
.profit-goal-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:auto;color:#566273;font-size:13px}
.profit-goal-row strong{color:#18212c;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.profit-progress{height:10px;overflow:hidden;margin-top:10px;border-radius:999px;background:#dce5f4}
.profit-progress>span{display:block;height:100%;border-radius:inherit;background:#174db4}
.profit-progress-caption{margin:7px 0 0;color:#566273;font-size:12px;text-align:right}
.business-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.business-metric-card p{margin:15px 0 0;font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.business-metric-card p span{font-size:.78em;font-weight:600}
.business-metric-card p .currency-unit{margin-left:.2em}
.financial-summary-source{margin:0 0 10px;color:#667387;font-size:13px}
.home-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.home-detail-panel{min-width:0;background:#fff;border:1px solid #e1e5eb;border-radius:12px;padding:20px}
.attention-list{list-style:none;display:grid;gap:10px;margin:14px 0 0;padding:0}
.attention-item{min-width:0;border:1px solid #e1e5eb;border-left-width:4px;border-radius:8px;padding:12px 14px;background:#fff}
.attention-critical{border-left-color:#c43b36}.attention-warning{border-left-color:#d99b22}.attention-info{border-left-color:#3d79c5}
.attention-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}
.attention-item h3{margin:0;font-size:14px;line-height:1.4}.attention-item p{margin:6px 0 0;color:#566273;font-size:13px}
.attention-level{border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;white-space:nowrap}
.attention-critical .attention-level{background:#fff0ee;color:#a12622}.attention-warning .attention-level{background:#fff4db;color:#785600}.attention-info .attention-level{background:#eaf1ff;color:#174db4}
.attention-action{display:inline-block;margin-top:8px;font-size:13px;font-weight:600}
.business-money-list{margin:14px 0 0}.business-money-item{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 0;border-bottom:1px solid #edf0f3}.business-money-item:last-child{border-bottom:0}
.business-money-item dt{min-width:0;color:#566273;font-size:14px}.business-money-item dd{margin:0;color:#18212c;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.business-money-item dd span{font-size:.8em}
@media(max-width:1150px){.business-overview-grid{grid-template-columns:1fr}}
@media(max-width:1100px){.home-source-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}.home-source-item:nth-child(odd){border-left:0;padding-left:0}.home-source-item:nth-child(even){padding-right:0}}
@media(max-width:800px){.home-detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){.business-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.dashboard-periods{width:100%}.dashboard-period{flex:1;padding-inline:8px}.business-metrics{grid-template-columns:1fr}.home-detail-panel,.home-source-panel{padding:16px}.home-source-grid{grid-template-columns:1fr;row-gap:0}.home-source-item,.home-source-item:nth-child(even){border-left:0;border-top:1px solid #e8ecf2;padding:11px 0}.home-source-item:first-child{border-top:0;padding-top:0}.home-source-item:last-child{padding-bottom:0}.home-source-timezone{font-size:11px}.business-money-item{align-items:flex-start;flex-direction:column;gap:4px;padding:10px 0}}
@media(max-width:900px){.shell{width:100%;margin-left:0;padding:20px 16px 48px}.topbar{margin-left:0;padding:0 16px}.sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:none}.sidebar.is-open{transform:translateX(0);box-shadow:12px 0 36px #18212c33}.menu-toggle{display:grid;place-items:center;width:38px;height:38px;padding:0;background:#fff;color:#174db4;border-color:#c9d0db}.nav-backdrop{display:block;position:fixed;inset:0;z-index:25;background:#18212c77;border:0;border-radius:0;padding:0}.mobile-nav-open{overflow:hidden}}
@media(max-width:700px){.shell{padding:18px 12px 40px}.header{align-items:flex-start;flex-direction:column}h1{font-size:23px}.panel{padding:14px}.pager{flex-wrap:wrap}.topbar{padding:0 12px}}
.drop-zone{display:block;border:2px dashed #95a8c8;border-radius:12px;padding:32px;text-align:center;cursor:pointer;background:#f7f9fd}.drop-zone.dragging{border-color:#174db4;background:#eaf1ff}.drop-zone.busy{opacity:.6;pointer-events:none}.drop-zone input{display:block;margin:12px auto 0;max-width:100%}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:end}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:14px}.form-grid input,.form-grid select,.form-grid textarea,.toolbar input[type=month]{padding:9px 11px;border:1px solid #c9d0db;border-radius:8px;font:inherit;max-width:100%}.form-grid .wide{grid-column:1/-1}.form-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.secondary{background:white;color:#174db4}.panel h3{font-size:16px;margin:24px 0 10px}.table-action{padding:5px 9px}.selected-row{background:#eaf1ff}
.confirm-dialog{border:1px solid #d0d8e4;border-radius:12px;padding:20px;max-width:min(440px,calc(100vw - 24px));box-shadow:0 18px 50px #18212c33}.confirm-dialog::backdrop{background:#18212c77}.confirm-dialog label{display:flex;flex-direction:column;gap:6px;margin:12px 0}.confirm-dialog input{padding:9px 11px;border:1px solid #c9d0db;border-radius:8px;font:inherit}.confirm-dialog .form-actions{margin-top:18px}

/* Finance uses the shared shell, controls, panels and table palette. */
.advertising-header .muted{margin:8px 0 0}.advertising-controls{display:grid;gap:14px}.advertising-presets{display:flex;gap:4px;background:#e9eef6;padding:4px;border-radius:10px;width:fit-content;flex-wrap:wrap}.advertising-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.advertising-filter-grid label,.advertising-list label{display:grid;gap:5px;color:#566273;font-size:12px;font-weight:600}.advertising-filter-grid input,.advertising-filter-grid select,.advertising-list select{min-width:0;width:100%;height:40px;border:1px solid #c9d0db;border-radius:8px;background:#fff;color:#18212c;padding:7px 9px;font:inherit}.advertising-filter-grid input[type=search]{margin:0}.advertising-filter-grid select:disabled{background:#f4f6f9;color:#7b8797}.advertising-caption{font-size:12px;color:#667387;margin:0}.advertising-kpis,.advertising-skeleton{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.advertising-kpi,.advertising-skeleton-card{display:flex;flex-direction:column;align-items:start;min-width:0;min-height:146px;padding:16px;border:1px solid #e1e5eb;border-radius:12px;background:#fff;text-align:left}.advertising-kpi h2{font-size:13px;font-weight:600;color:#566273;margin:0}.advertising-kpi strong{font-size:26px;margin:12px 0 5px;line-height:1.15;font-variant-numeric:tabular-nums}.advertising-kpi small{font-size:12px;color:#667387;line-height:1.45}.advertising-kpi-link{color:#18212c;cursor:pointer}.advertising-kpi-link:hover{border-color:#174db4}.advertising-skeleton-card{background:linear-gradient(90deg,#e8edf3,#f5f7fa,#e8edf3);background-size:200% 100%;animation:advertising-pulse 1.5s linear infinite}@keyframes advertising-pulse{to{background-position-x:-200%}}.advertising-section-head{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:14px}.advertising-section-head h2{margin:0 0 4px}.advertising-section-head p{margin:0;font-size:13px}.advertising-legend{font-size:12px;color:#667387;white-space:nowrap}.advertising-bars{display:flex;align-items:end;gap:3px;overflow-x:auto;height:205px;padding:14px 0 0;border-bottom:1px solid #dce3ed}.advertising-bar-group{flex:1 0 18px;min-width:18px;max-width:54px;display:grid;grid-template-rows:1fr auto;height:100%;text-align:center}.advertising-bar-track{display:flex;align-items:end;justify-content:center;min-height:0}.advertising-bar{background:#5185cc;width:65%;min-height:2px;border-radius:3px 3px 0 0}.advertising-bar-missing{color:#a3aeba}.advertising-bar-group small{font-size:9px;color:#7a8798;white-space:nowrap;padding-top:5px}.advertising-signal{display:flex;gap:12px;padding:13px 0;border-top:1px solid #e8ecf2}.advertising-signal-icon{display:grid;place-items:center;flex:none;width:25px;height:25px;border-radius:50%;background:#fff1d7;color:#865b10;font-weight:700}.advertising-signal p{margin:4px 0;font-size:13px}.advertising-signal small{color:#667387}.advertising-table-wrap{overflow-x:auto}.advertising-table{width:100%;border-collapse:collapse;font-size:13px}.advertising-table th,.advertising-table td{padding:11px 8px;border-bottom:1px solid #e8ecf2}.advertising-table thead th{font-size:11px;color:#667387;text-align:right;white-space:nowrap;background:#f8fafc}.advertising-table thead th:first-child,.advertising-table tbody th{text-align:left}.advertising-table td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.advertising-row-link{border:0;background:transparent;color:#174db4;text-align:left;padding:0;font-weight:700}.advertising-row-link small{display:block;color:#667387;font-weight:400;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.advertising-empty{padding:22px;color:#667387;background:#f8fafc;border:1px dashed #c9d0db;border-radius:8px;text-align:center}.advertising-mobile-list{display:none}.advertising-drawer-backdrop{position:fixed;inset:0;background:#18212c80;z-index:40}.advertising-drawer{position:fixed;right:0;top:0;bottom:0;z-index:41;width:min(480px,100vw);overflow:auto;background:#fff;box-shadow:-12px 0 40px #18212c30;padding:24px}.advertising-drawer-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e1e5eb;padding-bottom:14px}.advertising-drawer-head h2{margin:0 0 3px}.advertising-drawer-head small{color:#667387}.advertising-drawer section{border-bottom:1px solid #e1e5eb;padding:7px 0 15px}.advertising-drawer h3{margin:18px 0 9px}.advertising-drawer .muted{font-size:13px}.advertising-drawer-primary{font-weight:700}.advertising-drawer dl{margin:0}.advertising-drawer dl div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:13px}.advertising-drawer dt{color:#667387}.advertising-drawer dd{margin:0;text-align:right;font-weight:600}
@media(max-width:1150px){.advertising-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.advertising-kpis,.advertising-skeleton{grid-template-columns:repeat(2,minmax(0,1fr))}.advertising-section-head{flex-wrap:wrap}.advertising-legend{white-space:normal}}@media(max-width:600px){.advertising-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advertising-kpis,.advertising-skeleton{grid-template-columns:1fr}.advertising-kpi{min-height:110px}.advertising-table-wrap{display:none}.advertising-mobile-list{display:grid;gap:9px}.advertising-mobile-card{display:grid;gap:4px;width:100%;background:#fff;border:1px solid #dce3ed;color:#18212c;text-align:left;padding:12px}.advertising-mobile-card small{color:#667387}.advertising-mobile-card span{display:flex;justify-content:space-between;gap:8px;font-size:13px}.advertising-drawer{top:auto;left:0;width:100%;height:min(92vh,900px);border-radius:16px 16px 0 0}.advertising-bars{height:170px}}
.finance-header .muted{margin:8px 0 0;font-size:14px}.finance-tabs{display:flex;gap:16px;border-bottom:1px solid #dce3ed;margin:0 0 18px}.finance-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#566273;padding:10px 4px;font-weight:600}.finance-tabs button.is-active{border-bottom-color:#174db4;color:#174db4}.finance-tabs button:focus-visible,.finance-collapse:focus-visible,.finance-row-toggle:focus-visible{outline:2px solid #174db4;outline-offset:2px}.finance-period-panel{display:grid;gap:13px}.finance-period-panel h2{margin:0}.finance-period-pickers{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.finance-period-pickers label{display:grid;gap:5px;color:#566273;font-size:13px;font-weight:600}.finance-period-pickers input,.finance-period-pickers select{height:40px;border:1px solid #c9d0db;border-radius:8px;background:#fff;color:#18212c;padding:7px 10px;font:inherit}.finance-period-pickers input{width:100px}.finance-period-caption{color:#667387;font-size:13px;padding-bottom:10px}.finance-section-heading h2{margin:0 0 12px}.finance-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.finance-kpi{min-width:0;background:#fff;border:1px solid #e1e5eb;border-radius:10px;padding:14px}.finance-kpi h3{font-size:13px;font-weight:600;color:#566273;margin:0;line-height:1.4}.finance-help{cursor:help;color:#174db4}.finance-kpi-value{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;margin:10px 0 0;white-space:nowrap}.finance-kpi-message{font-size:12px;color:#667387;margin:5px 0 0}.finance-kpi-future{border-style:dashed;background:#f8fafc}.finance-report{padding:0}.finance-report-header{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:16px 18px}.finance-report-header h2{margin:0 0 3px}.finance-report-header .muted,.finance-report-summary{margin:0;font-size:13px}.finance-report-summary{margin-top:5px;color:#39475b}.finance-collapse{padding:7px 11px;font-size:13px;white-space:nowrap}.finance-empty{margin:0;padding:8px 18px 12px;color:#667387;font-size:13px}.finance-report-scroll{overflow-x:auto;max-width:100%;border-top:1px solid #e1e5eb}.finance-report-scroll:focus-visible,.finance-cashflow-scroll:focus-visible{outline:2px solid #174db4;outline-offset:-2px}.finance-report-table{min-width:520px;width:100%}.finance-report-table th,.finance-report-table td{padding:8px 14px;font-size:13px}.finance-report-table th[scope=row]{font-weight:400}.finance-report-table thead{background:#f8fafc}.finance-report-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.finance-report-table tbody tr:last-child>*{border-bottom:0}.finance-row-label{display:flex;align-items:center;gap:5px}.finance-row-toggle{padding:0;width:18px;border:0;background:transparent;color:#174db4;font-size:15px}.finance-row-spacer{width:18px;flex:none}.finance-row-label a{margin-left:auto;font-size:12px}.finance-row-subtotal>*{background:#f8fafc;font-weight:600!important}.finance-row-total>*{background:#eaf0fa;font-weight:700!important;border-top:1px solid #cbd8e8}.finance-cashflow-scroll{overflow-x:auto;border:1px dashed #c9d0db;border-radius:8px}.finance-cashflow-canvas{min-width:960px;min-height:180px;display:grid;place-items:center;background:#f8fafc;color:#667387;font-size:13px}.finance-cashflow-canvas p{text-align:center;padding:15px}
.finance-cashflow .finance-period-pickers{margin:12px 0}
@media(max-width:1150px){.finance-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:780px){.finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.finance-kpi-grid{grid-template-columns:1fr}.finance-report-header{flex-direction:column}.finance-collapse{align-self:flex-start}}
table details summary{cursor:pointer;color:#174db4;white-space:nowrap}table details ul{min-width:220px;max-width:320px;padding-left:18px;margin:8px 0;color:#566273;line-height:1.4}table details li{margin:4px 0}
.cost-table{min-width:700px;margin-top:18px}.cost-table td{vertical-align:middle}.cost-input{width:170px;max-width:100%;padding:9px 11px;border:1px solid #c9d0db;border-radius:8px;font:inherit}.cost-actions{margin-top:16px}
.month-pills{display:flex;gap:8px;flex-wrap:wrap;margin:-5px 0 16px}.month-pill{padding:6px 10px;background:white;color:#174db4;border:1px solid #cbd8f3;border-radius:18px;font-size:13px}.month-pill:hover{background:#eaf1ff}
.finance-quality{padding:16px;margin:12px 0}.finance-quality h2{margin:0 0 8px}.finance-quality p{margin:6px 0}.finance-issues{max-height:340px;overflow:auto;margin-top:12px}.finance-issues table,.finance-details-drawer table{width:100%;border-collapse:collapse}.finance-issues th,.finance-issues td,.finance-details-drawer th,.finance-details-drawer td{padding:8px;border-bottom:1px solid #e1e5eb;text-align:left;font-size:13px}.finance-details-button{border:0;background:transparent;color:#174db4;text-decoration:underline;cursor:pointer}.finance-details-backdrop{position:fixed;inset:0;background:#15223888;z-index:100;display:flex;justify-content:flex-end}.finance-details-drawer{width:min(720px,100vw);height:100%;overflow:auto;background:white;padding:24px;box-shadow:-8px 0 32px #15223833}
.finance-quality-open{margin:0 0 16px}.finance-quality-link{margin-top:5px;font-size:12px}.finance-balance-check{margin:12px 18px 16px;font-weight:600}.finance-details-drawer details{margin:16px 0}.finance-details-drawer summary{cursor:pointer;font-weight:600}.finance-row-label{min-width:0;flex-wrap:wrap}.finance-row-label .finance-details-button{font-size:11px}.finance-report-table th,.finance-report-table td{padding-top:6px;padding-bottom:6px}.finance-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-kpi{padding:12px}
@media(max-width:780px){.finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.finance-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-kpi-value{font-size:18px}.finance-kpi{padding:10px}.finance-report-table{min-width:460px}}
