:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";--ink:#0f172a;--body:#334155;--muted:#64748b;--light:#94a3b8;--line:#e2e8f0;--line-subtle:#f1f5f9;--paper:#fff;--paper-2:#f8fafc;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-400:#94a3b8;--slate-700:#334155;--slate-800:#1e293b;--green:#059669;--green-dark:#064e3b;--green-deep:#022014;--green-2:#ecfdf5;--green-border:#a7f3d0;--blue:#2563eb;--blue-2:#eff6ff;--amber:#d97706;--amber-2:#fffbeb;--amber-border:#fde68a;--red:#ef4444;--red-2:#fef2f2;--red-border:#fecaca;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 12px -1px #0f172a14, 0 2px 4px -2px #0f172a0a;--shadow-lg:0 10px 25px -4px #0f172a1a;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:9999px;background:#f1f5f3;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{min-width:320px;overflow-x:hidden}body{min-width:320px;min-height:100vh;color:var(--body);background:#f1f5f3;margin:0;overflow-x:hidden}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,tr:focus-visible{outline:2px solid var(--green);outline-offset:2px}#app{width:100%;min-width:0;overflow-x:clip}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--green);letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:700}.app-header{background:var(--green-deep);color:#fff;z-index:100;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;min-height:70px;padding:12px clamp(16px,3vw,40px);display:flex;position:sticky;top:0;box-shadow:0 2px 12px #02201440}.brand-block{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{color:#fff;border-radius:var(--radius-sm);letter-spacing:.05em;background:linear-gradient(135deg,#10b981 0%,#059669 100%);flex:none;place-items:center;width:38px;height:38px;font-size:12px;font-weight:800;display:grid;box-shadow:0 2px 6px #10b98159}.brand-block>div{text-align:left}.brand-block .eyebrow{color:#a7f3d0;opacity:.9;margin:0}.brand-block h1{color:#fff;letter-spacing:-.02em;white-space:nowrap;margin:0;font-size:16px;font-weight:800;line-height:1.2}.store-switch{border-radius:var(--radius-pill);background:#ffffff14;border:1px solid #ffffff1f;gap:4px;padding:3px;display:flex}.store-button{border-radius:var(--radius-pill);color:#d1fae5;cursor:pointer;text-align:left;background:0 0;border:0;min-width:140px;padding:6px 14px;transition:all .15s}.store-button span,.store-button small{display:block}.store-button span{font-size:12px;font-weight:700}.store-button small{color:#d1fae5b3;margin-top:1px;font-size:10px}.store-button.is-active{color:var(--green-deep);background:#fff;font-weight:800;box-shadow:0 1px 4px #00000026}.store-button.is-active small{color:var(--green-dark)}.header-meta{color:#a7f3d0;justify-content:flex-end;align-items:center;gap:10px;font-size:12px;display:flex}.quality-pill{border-radius:var(--radius-pill);padding:4px 10px;font-size:11px;font-weight:700}.quality-pill.is-pass{color:#a7f3d0;background:#10b98133;border:1px solid #34d3994d}.quality-pill.is-fail{color:#fecaca;background:#ef444440;border:1px solid #ef444466}.view-nav{z-index:80;border-bottom:1px solid var(--line);background:#fff;justify-content:center;gap:6px;padding:8px clamp(16px,3vw,40px);display:flex;position:sticky;top:62px;overflow-x:auto;box-shadow:0 1px 3px #00000005}.view-nav button{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:7px 16px;font-size:13px;font-weight:600;transition:all .15s}.view-nav button:hover{color:var(--ink);background:var(--slate-100)}.view-nav button.is-active{color:var(--green-dark);background:var(--green-2);font-weight:700}.month-archive-shortcut{color:#155d38;text-align:left;background:#edf9ef;border:1px solid #b8d9be;border-radius:10px;align-items:center;gap:9px;width:min(1180px,100% - 32px);margin:10px auto 0;padding:9px 13px;display:flex;box-shadow:0 2px 6px #17653a0f}.month-archive-shortcut span{font-size:12px;font-weight:800}.month-archive-tabs{gap:8px;display:flex;overflow-x:auto}.month-archive-tabs button{color:#286640;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #c8dfcc;border-radius:999px;min-height:34px;padding:6px 16px;font-size:13px;font-weight:750;transition:background .12s,border-color .12s}.month-archive-tabs button:hover{background:#f2fbf3;border-color:#1d7b47}.month-archive-tabs button.is-active{color:#fff;background:#1d7b47;border-color:#1d7b47}.month-archive-shortcut small{color:#5b6b5f;font-size:12px}.main-content{flex-direction:column;gap:14px;width:min(1840px,100% - clamp(20px,4vw,64px));min-width:0;margin:16px auto 60px;display:flex}.metric-grid{gap:10px;display:grid}.metric-grid-six{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.metric-grid-five{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.metric-grid-four{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.metric-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;box-shadow:var(--shadow-sm);padding:14px 16px;transition:transform .15s,box-shadow .15s}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.metric-card p{color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:600}.metric-card strong{overflow-wrap:anywhere;color:var(--ink);letter-spacing:-.03em;font-size:22px;font-weight:800;display:block}.metric-card span{color:var(--light);margin-top:4px;font-size:11px;display:block}.metric-card.positive strong{color:var(--green)}.metric-card.negative strong{color:var(--red)}.metric-card.warning{border-top:3px solid var(--amber)}.latest-strip{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding:10px 16px;display:grid}.latest-strip>div p{color:var(--muted);margin:0 0 2px;font-size:11px}.latest-strip>div strong{color:var(--ink);font-size:15px;font-weight:800}.latest-strip>div small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:400;line-height:1.5;display:block}.recon-strip{border-left:3px solid var(--line);margin:8px 0 4px}.recon-strip.is-pass{background:#f2fbf5;border-left-color:#17853f}.recon-strip.is-check{background:#fff8ef;border-left-color:#c9791f}.recon-strip.is-wait{background:var(--paper);border-left-color:#8a94a3}.recon-strip>div strong{font-size:13px}.recon-badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.recon-badge.is-pass{color:#15703a;background:#e3f5ea}.recon-badge.is-check{color:#9a5a12;background:#fdecd7}.recon-badge.is-wait{color:#5b6472;background:#eef0f3}.table-footnote{color:var(--muted);margin:8px 4px 0;font-size:11px;line-height:1.6}.table-head-static{color:var(--ink);font-weight:700}.recon-date-switch{flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 2px;font-size:13px;display:flex}.recon-date-switch select{border:1px solid var(--line);background:var(--paper);min-height:32px;color:var(--ink);border-radius:8px;padding:4px 10px;font-size:13px}.recon-date-switch button{border:1px solid var(--line);background:var(--paper);min-width:32px;min-height:32px;color:var(--ink);cursor:pointer;border-radius:8px;padding:4px 12px;font-size:13px}.recon-date-switch button:disabled{opacity:.4;cursor:not-allowed}.recon-date-switch button.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.section-block{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:16px 18px}.section-heading{border-bottom:1px solid var(--line-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:8px;display:flex}.section-heading h2{color:var(--ink);align-items:center;gap:8px;margin:0;font-size:15px;font-weight:800;display:flex}.section-heading p{color:var(--muted);margin:0;font-size:12px}.month-capsule{color:#f7f4e9;border-radius:var(--radius-sm);background:linear-gradient(122deg,#173d2b,#1d5c3b 58%,#2d7750);border:1px solid #fce69e5c;padding:18px 20px 14px;position:relative;overflow:hidden;box-shadow:0 14px 28px #143b272b}.month-capsule:after{content:"";pointer-events:none;border:1px solid #fff0b847;border-radius:50%;width:190px;height:190px;position:absolute;top:-96px;right:-54px;box-shadow:0 0 0 20px #fff0b80d,0 0 0 42px #fff0b80a}.month-capsule.is-closed{background:linear-gradient(122deg,#26443a,#52714e 58%,#8a6c34)}.month-capsule-head{z-index:1;border-bottom:1px solid #ffffff2e;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex;position:relative}.month-capsule-head .eyebrow{color:#e8ca76;letter-spacing:.12em;margin:0 0 4px;font-size:11px;font-weight:800}.month-capsule-head h2{color:#fffaf0;letter-spacing:-.02em;margin:0;font-size:19px}.month-capsule-head small{color:#ffffffb8;margin-top:5px;font-size:11px;display:block}.month-capsule-status{color:#fff1bf;background:#0a23173d;border:1px solid #ffeba47a;border-radius:999px;flex:none;padding:5px 9px;font-size:11px;font-weight:750}.month-capsule-metrics{z-index:1;grid-template-columns:repeat(4,minmax(0,1fr));padding:13px 0 11px;display:grid;position:relative}.month-capsule-metrics article{border-left:1px solid #ffffff29;min-width:0;padding:0 13px}.month-capsule-metrics article:first-child{border-left:0;padding-left:0}.month-capsule-metrics span,.month-capsule-metrics small{color:#ffffffa8;font-size:11px;display:block}.month-capsule-metrics strong{color:#fffdf7;letter-spacing:-.025em;overflow-wrap:anywhere;margin:5px 0 4px;font-size:18px;display:block}.month-capsule-metrics strong.negative{color:#ffcfbd}.month-capsule-foot{z-index:1;color:#ffffffc7;border-top:1px solid #ffffff24;flex-wrap:wrap;gap:7px 20px;padding-top:10px;font-size:11px;display:flex;position:relative}.action-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;display:grid}.action-card{border:1px solid var(--line);border-radius:var(--radius-xs);cursor:pointer;text-align:left;background:#fff;align-items:center;gap:10px;padding:10px 12px;transition:transform .12s,border-color .12s;display:flex}.action-card:hover{border-color:var(--green);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.action-index{background:var(--slate-100);color:var(--slate-700);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:flex}.action-card:first-child .action-index{color:#dc2626;background:#fee2e2}.action-card:nth-child(2) .action-index,.action-card:nth-child(3) .action-index{color:#d97706;background:#fef3c7}.action-card>div:nth-child(2){flex:1;min-width:0}.action-card strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.action-result{text-align:right;flex-shrink:0}.action-result strong{color:var(--green);font-size:12px;font-weight:700}.action-result span{color:var(--muted);font-size:10px;display:block}.operating-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:10px;display:grid}.summary-core{background:var(--slate-50);border:1px solid var(--line);border-radius:var(--radius-xs);padding:10px 12px}.summary-core span{color:var(--muted);font-size:11px;display:block}.summary-core strong{color:var(--ink);margin:2px 0;font-size:18px;font-weight:800;display:block}.summary-core small{color:var(--light);font-size:10px;display:block}.summary-core.positive strong{color:var(--green)}.summary-core.negative strong{color:var(--red)}.summary-flag{border:1px solid var(--line);border-radius:var(--radius-xs);cursor:pointer;text-align:left;background:#fff;flex-direction:column;justify-content:space-between;padding:10px 12px;transition:all .15s;display:flex}.summary-flag:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.summary-flag strong{color:var(--ink);font-size:18px;font-weight:800;display:block}.summary-flag span{color:var(--body);font-size:12px;font-weight:700}.summary-flag small{color:var(--muted);margin-top:2px;font-size:10px}.summary-flag.negative{background:var(--red-2);border-color:var(--red-border)}.summary-flag.negative strong{color:var(--red)}.summary-flag.warning{background:var(--amber-2);border-color:var(--amber-border)}.summary-flag.warning strong{color:var(--amber)}.summary-flag.positive{background:var(--green-2);border-color:var(--green-border)}.summary-flag.positive strong{color:var(--green)}.product-section{padding:18px 22px 22px}.product-heading{border-bottom:1px solid var(--line);grid-template-columns:minmax(280px,1fr) auto;grid-template-areas:"title toolbar""filters filters""sort sort";align-items:center;gap:10px 18px;margin-bottom:10px;padding:0 0 10px;display:grid}.product-heading .section-title-block{grid-area:title;align-self:center}.product-heading .eyebrow{margin-bottom:5px}.product-heading h2{letter-spacing:-.04em;font-size:23px;line-height:1.08}.product-period{align-items:center;gap:8px;font-weight:650;display:flex;color:var(--muted)!important;margin-top:7px!important;font-size:12px!important}.product-period span{border-radius:var(--radius-pill);background:var(--green-2);min-height:22px;color:var(--green-dark);align-items:center;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.product-toolbar{grid-area:toolbar;justify-content:flex-end;align-items:center;gap:8px;display:flex}.search-field input{border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--paper-2);outline:none;width:190px;height:34px;padding:6px 12px;font-size:12px}.search-field input:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #05966917}.filter-groups{border-top:1px solid var(--line-subtle);grid-area:filters;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:8px;padding:8px 0 2px;display:grid}.filter-group{border:1px solid var(--line);border-radius:var(--radius-sm);background:linear-gradient(180deg, #fff 0%, var(--paper-2) 100%);flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:8px 10px 9px;display:flex}.filter-group-label{width:100%;min-height:18px;color:var(--ink);letter-spacing:.06em;align-items:center;font-size:11px;font-weight:850;display:flex}.filter-group-label:before{content:"";border-radius:var(--radius-pill);background:var(--green);width:3px;height:14px;margin-right:6px}.filter-group:nth-child(2) .filter-group-label:before{background:var(--amber)}.filter-group:nth-child(3) .filter-group-label:before{background:var(--blue)}.filter-pills{flex-wrap:wrap;align-content:flex-start;gap:5px;display:flex}.filter-pill,.sort-pill{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--paper-2);min-height:26px;color:var(--body);cursor:pointer;padding:4px 9px;font-size:11px;font-weight:650;transition:color .12s,background .12s,border-color .12s}.filter-pill:hover,.sort-pill:hover{background:var(--slate-100)}.filter-pill.is-active,.sort-pill.is-active{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}.sort-row{color:var(--muted);grid-area:sort;justify-content:flex-end;align-items:center;font-size:11px;display:flex}.sort-pills{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.sort-label{color:var(--muted);margin-right:2px;font-size:11px;font-weight:800}.product-toolbar .secondary-button{border-color:var(--green);height:34px;color:var(--green-dark);background:#fff;padding:0 12px;font-weight:800}.responsive-table-wrap{border-top:1px solid var(--line);max-height:620px;overflow-x:auto}.business-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.business-table th{background:var(--slate-100);color:var(--slate-700);border-bottom:1px solid var(--line);z-index:10;white-space:nowrap;text-align:center;vertical-align:bottom;padding:10px 12px;font-weight:700;position:sticky;top:0}.business-table th:first-child,.business-table th:last-child{text-align:left}.business-table th:not(:first-child):not(:last-child){text-align:right}.business-table th:not(:first-child):not(:last-child) .table-sort{justify-content:flex-end}.business-table th small{color:var(--muted);white-space:nowrap;margin-top:2px;font-size:10px;font-weight:500;display:block}.business-table td{border-bottom:1px solid var(--line-subtle);text-align:center;vertical-align:middle;background:#fff;padding:12px}.business-table td:first-child,.business-table td:last-child{text-align:left}.business-table td:not(:first-child):not(:last-child){text-align:right}.business-table td:first-child{min-width:170px;max-width:250px}.business-table td:first-child strong{color:var(--ink);margin-bottom:2px;font-size:13px;font-weight:700;line-height:1.35;display:block}.business-table td:first-child small{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.business-table tbody tr:hover td{cursor:pointer;background:#f0fdf4}.table-sort{width:100%;color:var(--slate-800);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:4px;margin:0;padding:0;font-size:12px;font-weight:700;display:flex}.business-table th:first-child .table-sort,.business-table th:last-child .table-sort{justify-content:flex-start}.sort-indicator{color:var(--slate-400);opacity:.6;font-size:11px;font-weight:700}.sort-indicator.is-active{color:var(--green);opacity:1;font-weight:900}.money-primary{color:var(--ink);letter-spacing:-.02em;font-size:15px;font-weight:800;line-height:1.25;display:block}.business-table td.positive .money-primary{color:var(--green)}.business-table td.negative .money-primary{color:var(--red)}.quantity-secondary{color:var(--muted);white-space:nowrap;margin-top:4px;font-size:11px;line-height:1.2;display:block}.metric-card strong,.summary-core strong,.summary-flag strong,.money-primary,.quantity-secondary,.store-scorecard dd{font-variant-numeric:tabular-nums}.tag-stack{flex-wrap:wrap;gap:3px;margin-bottom:2px;display:flex}.tag{background:var(--slate-100);color:var(--slate-700);white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:10px;display:inline-block}.tag-好卖又赚钱{background:var(--green-2);color:var(--green-dark)}.tag-好卖亏钱,.tag-低销亏损{background:var(--red-2);color:var(--red)}.tag-库存风险,.tag-滞销积压{background:var(--amber-2);color:var(--amber)}.tag-数据异常{background:var(--red-2);color:var(--red)}.tag-高损耗{background:var(--amber-2);color:var(--amber)}.action-copy{color:var(--green-dark);margin-top:4px;font-size:11px;font-weight:700;line-height:1.35;display:block}.business-table.store-product-table td:not(:first-child){text-align:left}.store-product-table td:not(:first-child) strong,.store-product-table td:not(:first-child) small,.store-product-table td:not(:first-child) em{font-style:normal;display:block}.store-product-table td:not(:first-child) strong{color:var(--ink);font-size:13px;font-weight:700}.store-product-table td:not(:first-child) small{color:var(--muted);margin-top:2px;font-size:11px}.store-product-table td:not(:first-child) em{margin-top:2px;font-size:11px;font-weight:700}.store-product-table td em.positive{color:var(--green)}.store-product-table td em.negative{color:var(--red)}.rank-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px;display:grid}.rank-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:12px 14px}.rank-card.red{border-top:3px solid var(--green)}.rank-card.black{border-top:3px solid var(--red)}.rank-title{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:800;display:flex}.rank-card.red .rank-title span{color:var(--green)}.rank-card.black .rank-title span{color:var(--red)}.rank-columns,.rank-row{align-items:center;column-gap:10px;display:grid}.rank-columns-red,.rank-row-red{grid-template-columns:32px minmax(150px,1fr) minmax(72px,.75fr) minmax(72px,.78fr) minmax(66px,.72fr) 54px}.rank-columns-black,.rank-row-black{grid-template-columns:32px minmax(150px,1fr) minmax(68px,.72fr) minmax(68px,.72fr) minmax(68px,.72fr) 54px}.rank-columns{border-bottom:1px solid var(--line);color:var(--muted);padding:0 10px 6px;font-size:10px;font-weight:800;line-height:1}.rank-columns span:not(:nth-child(2)){text-align:right}.rank-columns span:first-child{text-align:center}.rank-list{flex-direction:column;gap:6px;display:flex}.rank-row{border-radius:var(--radius-xs);background:var(--slate-50);cursor:pointer;border:none;width:100%;min-height:52px;padding:8px 10px;transition:background .1s}.rank-row:hover{background:#f1f5f9}.rank-number{background:var(--slate-200);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:800;display:flex}.rank-row:first-child .rank-number{color:#854d0e;background:#fef08a}.rank-row:nth-child(2) .rank-number{color:#475569;background:#e2e8f0}.rank-row:nth-child(3) .rank-number{color:#9a3412;background:#fed7aa}.rank-product{text-align:left;min-width:0}.rank-product strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;line-height:1.25;overflow:hidden}.rank-product small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.25;display:block;overflow:hidden}.rank-metric{text-align:right;white-space:nowrap;min-width:0}.rank-metric strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px;font-weight:750}.rank-money strong{font-size:13px}.rank-metric.positive strong{color:var(--green)}.rank-metric.negative strong,.rank-card.black .rank-money strong,.rank-card.black .rank-rate strong{color:var(--red)}.rhythm-charts{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:14px;margin-top:10px;display:grid}.rhythm-charts.single{grid-template-columns:1fr}.chart-card{border:1px solid var(--line);border-radius:var(--radius-xs);background:#fff;padding:12px}.chart-card h3{color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:700}.chart-frame{width:100%;height:240px;position:relative}.chart-frame-large{height:300px}.chart-frame-xlarge{height:340px}.product-dialog{border-radius:var(--radius-md);width:min(92vw,860px);max-width:860px;max-height:90vh;box-shadow:var(--shadow-lg);background:0 0;border:none;margin:auto;padding:0;overflow:auto}.product-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a99}.product-dialog>div,.product-dialog>section{background:#fff;padding:0}.product-dialog>div:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0;padding:22px 24px 14px}.product-dialog>section{padding:0 24px 14px}.product-dialog>section:last-child{border-radius:0 0 var(--radius-md) var(--radius-md);padding-bottom:24px}.dialog-head{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.dialog-head .eyebrow{margin-bottom:6px}.dialog-head h2{color:var(--ink);margin:2px 0 0;font-size:18px;font-weight:800}#close-dialog{background:var(--slate-100);cursor:pointer;border:none;border-radius:50%;place-items:center;width:26px;height:26px;font-size:16px;display:grid}.dialog-tags{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:5px;margin:0 24px;padding:0 0 16px;display:flex}.dialog-metrics{background:var(--slate-50);grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:16px 24px;display:grid}.dialog-metrics .metric-card{border-color:var(--line);min-width:0;box-shadow:none;background:#fff;padding:12px}.dialog-metrics .metric-card p{font-size:10px}.dialog-metrics .metric-card strong{font-size:17px}.dialog-metrics .metric-card span{font-size:10px}.dialog-action{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:10px;display:grid;padding-top:16px!important}.dialog-action>div{border:1px solid var(--green-border);border-radius:var(--radius-sm);background:var(--green-2);padding:12px 14px}.dialog-action>div+div{border-color:var(--line);background:var(--paper-2)}.dialog-action p,.evidence-grid p{color:var(--muted);margin:0 0 5px;font-size:11px;font-weight:700}.dialog-action strong{color:var(--ink);font-size:13px;line-height:1.45;display:block}.stock-plan{background:var(--slate-50);border-radius:var(--radius-xs);grid-template-columns:repeat(4,1fr);gap:6px;padding:10px;display:grid}.product-dialog .stock-plan{border:1px solid var(--line);margin:0 24px 14px;padding:12px}.stock-plan article span{color:var(--muted);font-size:10px;display:block}.stock-plan article strong{color:var(--ink);font-size:13px;font-weight:800}.stock-plan article small{color:var(--light);font-size:10px;display:block}.dialog-chart{padding-top:2px!important}.dialog-chart h3,.evidence-grid h3{color:var(--ink);margin:0 0 8px;font-size:13px;font-weight:800}.dialog-chart .chart-frame{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-2);height:210px;padding:10px}.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid;padding-top:2px!important}.evidence-grid article{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;min-width:0;padding:14px}.evidence-grid article.wide{grid-column:1/-1}.evidence-grid ul{gap:5px;margin:8px 0 0;padding:0;list-style:none;display:grid}.evidence-grid li{border-top:1px solid var(--line-subtle);grid-template-columns:1fr auto auto;align-items:baseline;gap:8px;padding-top:5px;font-size:11px;display:grid}.evidence-grid li span{color:var(--muted)}.evidence-grid li strong{color:var(--ink);font-size:11px}.evidence-grid li em{color:var(--green-dark);font-size:11px;font-style:normal;font-weight:700}.evidence-grid dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin:0;display:grid}.evidence-grid dl div{min-width:0}.evidence-grid dt{color:var(--muted);font-size:10px}.evidence-grid dd{color:var(--ink);overflow-wrap:anywhere;margin:2px 0 0;font-size:12px;font-weight:750;line-height:1.35}.evidence-grid dd.positive{color:var(--green)}.evidence-grid dd.negative{color:var(--red)}.formula-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.comparison-cards,.store-comparison-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:10px;display:grid}.comparison-cards article,.store-scorecard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px}.scorecard-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.scorecard-head strong{font-size:15px;font-weight:800}.store-scorecard dl,.comparison-cards dl{grid-template-columns:repeat(2,1fr);gap:8px;margin:0;display:grid}.store-scorecard dt,.comparison-cards dt{color:var(--muted);font-size:11px}.store-scorecard dd,.comparison-cards dd{margin:0;font-size:14px;font-weight:800}.store-scorecard dd small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:700;display:block}.store-scorecard dd.positive,.comparison-cards dd.positive{color:var(--green)}.store-scorecard dd.negative,.comparison-cards dd.negative{color:var(--red)}.comparison-card-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.comparison-card-head strong{font-size:15px;font-weight:800;display:block}.comparison-card-head span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.margin-rate{font-size:15px;font-weight:800}.margin-rate.positive{color:var(--green)}.margin-rate.negative{color:var(--red)}.secondary-button{border-radius:var(--radius-pill);border:1px solid var(--line);cursor:pointer;background:#fff;padding:4px 10px;font-size:11px;font-weight:600}.secondary-button:hover{background:var(--slate-100)}@media (width<=768px){.app-header{padding:10px 14px}.view-nav{padding:6px 14px}.month-archive-shortcut{flex-wrap:wrap;gap:6px;width:calc(100% - 28px);margin-top:8px}.month-archive-shortcut small{flex-basis:100%}.main-content{margin:10px auto 40px;padding:0}.product-section{padding:14px}.product-heading{grid-template-columns:1fr;grid-template-areas:"title""toolbar""filters""sort";gap:10px;padding-bottom:12px}.product-heading h2{font-size:20px}.product-toolbar{justify-content:space-between}.search-field{flex:1}.search-field input{width:100%}.filter-group{grid-template-columns:32px minmax(0,1fr)}.filter-groups{grid-template-columns:1fr;gap:6px}.filter-group{padding:7px 9px 8px}.filter-pill,.sort-pill{min-height:25px;padding:3px 8px;font-size:10px}.metric-grid-six,.metric-grid-five,.metric-grid-four{grid-template-columns:repeat(2,1fr);gap:8px}.month-capsule{padding:15px 14px 12px}.month-capsule-head{flex-direction:column;align-items:stretch;gap:9px}.month-capsule-head h2{font-size:17px}.month-capsule-status{align-self:flex-start}.month-capsule-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 0}.month-capsule-metrics article:nth-child(3){border-left:0;padding-left:0}.month-capsule-metrics strong{font-size:16px}.action-grid{grid-template-columns:1fr}.operating-summary-grid{grid-template-columns:repeat(2,1fr)}.product-dialog{width:96vw;max-height:92vh}.product-dialog>div:first-child{padding:18px 16px 12px}.product-dialog>section{padding:0 16px 12px}.product-dialog>section:last-child{padding-bottom:16px}.dialog-tags{margin:0 16px}.dialog-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 16px}.dialog-action,.evidence-grid{grid-template-columns:1fr}.product-dialog .stock-plan{grid-template-columns:repeat(2,1fr);margin-left:16px;margin-right:16px}.evidence-grid article.wide{grid-column:auto}.formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.rank-grid{grid-template-columns:1fr}.rank-columns{display:none}.rank-columns-red,.rank-row-red,.rank-columns-black,.rank-row-black{grid-template-columns:26px minmax(0,1fr) auto auto}.rank-row{column-gap:7px;min-height:58px}.rank-row-red .rank-quantity,.rank-row-red .rank-money.positive,.rank-row-red .rank-money.negative,.rank-row-black .rank-quantity{display:none}.rank-product strong{white-space:normal}.rhythm-charts{grid-template-columns:1fr}}.consumables-scope-tabs{gap:6px;display:flex}.consumables-view .segmented-control{flex-wrap:wrap;gap:5px;display:inline-flex}.consumables-view .segmented-control button{color:#286640;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #c8dfcc;border-radius:999px;min-height:34px;padding:6px 16px;font-size:13px;font-weight:750}.consumables-view .segmented-control button.is-active{color:#fff;background:#1d7b47;border-color:#1d7b47}tr.subtotal-row td{background:var(--slate-100);border-top:2px solid var(--line);font-weight:800}.business-table td .muted-cell{color:var(--light)}.consumables-view .business-table td small{color:var(--muted);margin-top:3px;font-size:11px;font-weight:600;line-height:1.2;display:block}.footnote{color:var(--muted);margin:14px 2px 4px;font-size:11px;line-height:1.6}.empty-panel{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius-md,12px);background:#fff;padding:32px 20px}
