:root { color-scheme:light; --ink:#15221b; --muted:#68766e; --line:#dce5df; --green:#176b48; --green-dark:#173d2c; --pale:#edf6f0; --amber:#a55b00; --amber-bg:#fff4d7; --red:#a32323; --red-bg:#ffebeb; }
* { box-sizing:border-box; }
body { margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif; color:var(--ink); background:#f5f8f6; }
main { width:min(1580px,calc(100% - 40px)); margin:34px auto 60px; }
.page-header { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:22px; }
.eyebrow { margin:0 0 7px; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1 { margin:0; font-size:34px; letter-spacing:-.035em; }
h2 { margin:24px 0 10px; font-size:15px; }
.subtitle { margin:8px 0 0; color:var(--muted); }
nav { display:flex; gap:18px; margin-top:17px; }
nav form { margin:0; }
nav a { color:var(--muted); font-weight:700; text-decoration:none; }
nav a.active,nav a:hover,.link-button:hover { color:var(--green); }
.link-button { padding:0; border:0; background:none; color:var(--muted); font:inherit; font-weight:700; cursor:pointer; }
.summary-counts { display:flex; border:1px solid var(--line); border-radius:13px; background:#fff; box-shadow:0 7px 24px rgba(27,55,39,.05); }
.summary-counts div { min-width:105px; padding:13px 17px; border-left:1px solid var(--line); text-align:right; }
.summary-counts div:first-child { border-left:0; }
.summary-counts strong,.summary-counts span { display:block; }
.summary-counts strong { font-size:24px; }
.summary-counts span,small { color:var(--muted); font-size:11px; }
.summary-counts .needs-attention strong { color:var(--red); }
.toolbar { display:grid; grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(135px,.7fr)); gap:10px; padding:13px; margin-bottom:13px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.toolbar label span { display:block; margin:0 0 5px 2px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
input,select { width:100%; height:39px; padding:0 11px; border:1px solid #cbd7cf; border-radius:8px; background:#fff; color:var(--ink); font:inherit; font-size:13px; }
input:focus,select:focus { outline:2px solid #9bcab2; border-color:var(--green); }
.delivery-list { border:1px solid var(--line); border-radius:12px; overflow:hidden; background:#fff; box-shadow:0 8px 30px rgba(27,55,39,.06); }
.delivery-head,.delivery-card>summary { display:grid; grid-template-columns:58px 150px minmax(190px,1.25fr) minmax(190px,1.25fr) 88px 88px 88px 32px; gap:9px; align-items:center; }
.delivery-head { padding:11px 15px; background:var(--green-dark); color:#fff; font-size:10px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
details summary { list-style:none; cursor:pointer; }
details summary::-webkit-details-marker { display:none; }
.delivery-card { border-bottom:1px solid var(--line); }
.delivery-card:last-of-type { border-bottom:0; }
.delivery-card>summary { min-height:74px; padding:11px 15px; }
.delivery-card>summary:hover { background:#f8fbf9; }
.delivery-card[open]>summary { background:#f2f7f4; box-shadow:inset 4px 0 var(--green); }
.delivery-card.critical[open]>summary { box-shadow:inset 4px 0 var(--red); }
.delivery-card.warning[open]>summary { box-shadow:inset 4px 0 var(--amber); }
.delivery-card summary strong,.delivery-card summary small { display:block; }
.delivery-card summary small { margin-top:4px; }
.review-icon { display:grid; place-items:center; width:27px; height:27px; border-radius:50%; color:var(--green); background:#e5f5eb; font-weight:900; }
.review-icon.warning { color:var(--amber); background:var(--amber-bg); }
.review-icon.critical { color:#fff; background:var(--red); }
.review-icon.reviewed { color:#fff; background:var(--green); }
.metric { text-align:right; font-variant-numeric:tabular-nums; }
.metric strong { font-size:15px; }
.metric.stock-left strong { color:var(--amber); }
.metric.sold-out strong { color:var(--green); }
.chevron { font-size:21px; color:var(--muted); transition:transform .15s ease; }
details[open]>summary .chevron { transform:rotate(180deg); }
.delivery-detail { padding:18px 22px 27px; border-top:1px solid var(--line); background:#fbfcfb; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:2px 0 11px; }
.section-heading h2 { margin:0; }
.section-heading p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.review-clear { display:flex; align-items:center; gap:7px; color:var(--green); font-size:12px; font-weight:700; }
.review-clear .review-icon { width:22px; height:22px; font-size:11px; }
.review-panel { padding:14px 16px; border:1px solid #cfe3d7; border-radius:10px; background:#f0f8f3; }
.review-panel + .section-heading { margin-top:22px; }
.review-panel>div { display:flex; align-items:center; gap:11px; }
.review-panel p { margin:2px 0 0; color:var(--muted); font-size:12px; white-space:pre-line; }
.review-panel.warning { border-color:#efd59b; background:#fff9eb; }
.review-panel.critical { border-color:#efb8b8; background:#fff3f3; }
.review-panel.reviewed { border-color:#b9d9c6; background:#f0f8f3; }
.review-panel ul { margin:13px 0 0; padding:12px 0 0; border-top:1px solid rgba(70,70,70,.12); list-style:none; }
.review-panel li { position:relative; padding:5px 0 6px 92px; min-height:31px; }
.review-panel li .priority { position:absolute; left:0; top:4px; }
.review-panel li p { margin-top:4px; }
.line-item { margin-bottom:8px; border:1px solid var(--line); border-radius:9px; overflow:hidden; background:#fff; }
.line-item>summary { display:grid; grid-template-columns:minmax(260px,1fr) repeat(4,100px) 28px; align-items:center; gap:10px; min-height:66px; padding:10px 14px; }
.line-identity { display:flex; align-items:center; gap:10px; min-width:0; }
.line-alert { display:grid; flex:0 0 auto; place-items:center; width:23px; height:23px; border-radius:50%; color:#fff; background:var(--amber); font-size:12px; font-weight:900; }
.line-alert.reviewed { background:var(--green); }
.review-record { display:block!important; margin-top:13px; padding:12px 14px; border-top:1px solid #cfe3d7; }
.review-record blockquote { margin:0 0 7px; color:var(--ink); font-size:13px; line-height:1.5; white-space:pre-wrap; }
.review-form { display:flex; align-items:flex-end; gap:12px; margin-top:14px; padding-top:14px; border-top:1px solid rgba(70,70,70,.12); }
.review-form label { flex:1; color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; }
.review-form textarea { display:block; width:100%; min-height:72px; margin-top:6px; padding:10px 11px; resize:vertical; border:1px solid #cbd7cf; border-radius:8px; background:#fff; color:var(--ink); font:inherit; font-size:13px; text-transform:none; }
.review-form textarea:focus { outline:2px solid #9bcab2; border-color:var(--green); }
.line-item[open]>summary { background:#f3f7f5; }
.sales-block { overflow:auto; border-top:1px solid var(--line); }
.table-wrap { overflow:auto; border:1px solid var(--line); border-radius:10px; background:#fff; }
table { width:100%; border-collapse:collapse; white-space:nowrap; }
th { padding:10px 13px; background:#edf3ef; color:#53635a; text-align:left; font-size:10px; letter-spacing:.04em; text-transform:uppercase; }
td { padding:10px 13px; border-top:1px solid var(--line); font-size:12px; }
tr.reversal td { color:var(--red); background:var(--red-bg); }
tr.flagged td { background:#fff8e8; }
.sale-alert { display:inline-grid; place-items:center; width:17px; height:17px; margin-left:5px; border-radius:50%; color:#fff; background:var(--amber); font-size:10px; font-weight:900; }
.num { text-align:right; font-variant-numeric:tabular-nums; }
.priority { display:inline-block; padding:4px 8px; border-radius:999px; font-size:10px; font-weight:800; text-transform:uppercase; }
.priority.warning { color:#8a4d00; background:#ffe9b8; }.priority.critical { color:#9b1c1c; background:#ffdada; }.priority.info { color:#31517b; background:#e8f0fa; }
.empty,.empty-inline { padding:32px; text-align:center; color:var(--muted); }
.empty-inline { margin:0; padding:19px; font-size:12px; }
.details { white-space:pre-line; line-height:1.45; }
[hidden] { display:none!important; }
.auth-shell { display:grid; min-height:100vh; place-items:center; padding:20px; }
.auth-card { width:min(430px,100%); padding:30px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 12px 40px rgba(27,55,39,.10); }
.auth-card h1 { margin-bottom:8px; }
.auth-card label,.admin-form label { display:block; margin-top:15px; color:var(--muted); font-size:12px; font-weight:700; }
.auth-card input,.admin-form input { margin-top:6px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:39px; padding:0 16px; border:0; border-radius:8px; background:var(--green); color:#fff; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.button.secondary { border:1px solid #cbd7cf; background:#fff; color:var(--ink); }
.auth-card .button { width:100%; margin-top:20px; }
.flash { margin:14px 0; padding:11px 13px; border-radius:8px; font-size:13px; }
.flash.error { color:var(--red); background:var(--red-bg); }
.flash.success { color:var(--green); background:var(--pale); }
.admin-grid { display:grid; grid-template-columns:minmax(300px,.75fr) minmax(480px,1.25fr); gap:18px; align-items:start; }
.panel { padding:20px; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:0 8px 30px rgba(27,55,39,.05); }
.panel h2 { margin-top:0; font-size:18px; }
.admin-form .button { margin-top:18px; }
.check-label { display:flex!important; align-items:center; gap:8px; }
.check-label input { width:auto; height:auto; margin:0; }
.user-status { display:inline-block; padding:3px 7px; border-radius:999px; color:var(--green); background:var(--pale); font-size:10px; font-weight:800; text-transform:uppercase; }
.user-status.disabled { color:var(--red); background:var(--red-bg); }
@media(max-width:850px){.admin-grid{grid-template-columns:1fr}}
.home-header { align-items:center; }
.period-picker { min-width:190px; padding:12px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.period-picker label { display:block; margin:0 0 5px 2px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.dashboard-filters { display:grid; grid-template-columns:1fr 1fr; gap:7px 10px; min-width:390px; }
.dashboard-filters label { margin-top:0; }
.kpi-grid { display:grid; grid-template-columns:1.25fr repeat(4,1fr); gap:12px; margin-bottom:16px; }
.kpi { min-height:128px; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 7px 24px rgba(27,55,39,.05); }
.kpi>span,.kpi>small,.kpi>strong { display:block; }
.kpi>span { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.kpi>strong { margin:13px 0 6px; font-size:27px; letter-spacing:-.035em; }
.kpi.primary { color:#fff; border-color:var(--green-dark); background:linear-gradient(135deg,var(--green-dark),var(--green)); }
.kpi.primary>span,.kpi.primary>small { color:#cce4d6; }
.kpi.attention>strong { color:var(--red); }
.kpi.stock>strong { color:var(--amber); }
.kpi-link { color:inherit; text-decoration:none; cursor:pointer; transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease; }
.kpi-link:hover,.kpi-link:focus-visible { transform:translateY(-2px); border-color:#d7ad52; box-shadow:0 12px 30px rgba(27,55,39,.11); outline:none; }
.dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.chart-card { min-width:0; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 8px 28px rgba(27,55,39,.05); }
.trend-card { grid-column:span 2; }
.card-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; margin-bottom:18px; }
.card-heading h2 { margin:2px 0 0; font-size:18px; }
.card-heading .eyebrow { margin:0; }
.card-heading a { color:var(--green); font-size:12px; font-weight:800; text-decoration:none; }
.column-chart { display:flex; align-items:flex-end; gap:4px; height:190px; padding-top:15px; border-bottom:1px solid var(--line); }
.column-wrap { display:flex; flex:1; flex-direction:column; justify-content:flex-end; align-items:center; height:100%; min-width:0; }
.column { width:min(18px,75%); min-height:2px; border-radius:4px 4px 0 0; background:linear-gradient(#43a675,var(--green)); }
.column-wrap span { width:42px; height:23px; margin:5px -18px 0; color:var(--muted); font-size:9px; text-align:center; white-space:nowrap; }
.bar-chart { display:grid; gap:15px; }
.bar-row { display:block; padding:3px; border-radius:8px; color:inherit; text-decoration:none; transition:background .15s ease,transform .15s ease; }
a.bar-row:hover { background:#f3f7f5; transform:translateX(3px); }
.bar-row>div:first-child { display:flex; justify-content:space-between; gap:16px; margin-bottom:6px; font-size:12px; }
.bar-row strong { font-variant-numeric:tabular-nums; }
.bar-track { height:8px; overflow:hidden; border-radius:20px; background:#edf2ef; }
.bar-track span { display:block; height:100%; min-width:3px; border-radius:inherit; background:var(--green); }
.bar-chart.teal .bar-track span { background:#2c8791; }
.bar-chart.amber .bar-track span { background:#d68a23; }
.drill-arrow { color:var(--green); }
.action-card { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; background:#fffaf0; }
.action-card .card-heading { width:100%; }
.action-card p { max-width:460px; color:var(--muted); font-size:13px; line-height:1.5; }
.action-number { display:flex; align-items:baseline; gap:9px; }
.action-number strong { color:var(--red); font-size:44px; }
.action-number span { color:var(--muted); font-weight:700; }
.all-clear { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; color:var(--green); background:var(--pale); font-size:23px; font-weight:900; }
.action-card h3 { margin:13px 0 0; }
.data-freshness { margin:15px 3px 0; color:var(--muted); font-size:11px; text-align:right; }
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.trend-card{grid-column:auto}}
@media(max-width:720px){.home-header .period-picker{margin-top:18px}.dashboard-filters{min-width:0;width:100%;grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.kpi.primary{grid-column:span 2}.kpi{min-height:110px;padding:16px}.kpi>strong{font-size:23px}.dashboard-grid{gap:12px}.chart-card{padding:16px}.column-chart{height:150px}}
@media(max-width:1050px){.delivery-head{display:none}.delivery-card>summary{grid-template-columns:42px 130px minmax(180px,1fr) repeat(3,70px) 28px}.delivery-card>summary>span:nth-child(4){display:none}.line-item>summary{grid-template-columns:minmax(220px,1fr) repeat(3,85px) 28px}.line-item>summary>span:nth-child(5){display:none}}
@media(max-width:720px){main{width:calc(100% - 18px);margin:20px auto}.page-header{display:block}h1{font-size:28px}.summary-counts{margin-top:18px}.summary-counts div{min-width:0;flex:1;padding:10px}.toolbar{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.delivery-card>summary{grid-template-columns:36px 1fr 62px 24px;min-height:68px}.delivery-card>summary>span:nth-child(3),.delivery-card>summary>span:nth-child(4),.delivery-card>summary>span:nth-child(5),.delivery-card>summary>span:nth-child(6){display:none}.line-item>summary{grid-template-columns:1fr 60px 24px}.line-item>summary>span:nth-child(2),.line-item>summary>span:nth-child(3),.line-item>summary>span:nth-child(5){display:none}.delivery-detail{padding:13px 10px 20px}}
