:root{--bg:#f4f6fb;--panel:#fff;--ink:#141926;--muted:#71798b;--line:#e6e9f0;--blue:#2457f5;--blue2:#143fd0;--green:#0b9b68;--red:#d63b4c;--amber:#b87500;--nav:#111522;--shadow:0 18px 50px rgba(21,29,51,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;padding:28px 20px;background:var(--nav);color:#fff;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:750}.brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(145deg,#346bff,#7048ff);font-size:22px}.brand small{display:block;margin-top:2px;color:#828ba3;font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase}.sidebar nav{display:grid;gap:7px;margin-top:42px}.sidebar nav a,.logout{color:#9ca6bd;text-decoration:none;padding:12px 14px;border-radius:11px;font-weight:600}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#232a3c}.logout{margin-top:auto}.main{margin-left:245px;padding:30px 34px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.topbar h1{margin:5px 0 0;font-size:30px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;color:var(--blue)}.status{padding:9px 13px;border:1px solid #d9e6df;border-radius:99px;background:#f2fff8;color:#176d4e;font-size:13px;font-weight:650}.status i{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:#15b87a}.hero{display:flex;justify-content:space-between;align-items:center;padding:30px;border-radius:22px;color:#fff;background:radial-gradient(circle at 80% 20%,#446eff 0,transparent 32%),linear-gradient(120deg,#11182c,#1e3478);box-shadow:var(--shadow)}.hero h2{max-width:680px;margin:12px 0 8px;font-size:30px}.hero p{margin:0;color:#c9d2ed}.pill{font-size:10px;font-weight:800;letter-spacing:.15em}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.metric-grid article,.panel,.product-card{background:var(--panel);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.metric-grid article{padding:20px}.metric-grid span,.rate span,.product-stats span,.economics span{display:block;color:var(--muted);font-size:12px}.metric-grid b{display:block;margin:7px 0;font-size:28px}.metric-grid small{color:var(--muted)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{padding:22px;margin-bottom:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-head h3{margin:0}.rate{display:flex;align-items:center;justify-content:space-between;padding:15px;border-radius:12px;background:#f5f7fb;margin-top:10px}.rate strong{font-size:20px}.rate.accent{background:#eef3ff;color:var(--blue)}.check-list{list-style:none;margin:0;padding:0}.check-list li{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.check-list li:last-child{border:0}.check-list span{color:var(--muted)}.warn{color:var(--amber)!important}.filters{display:flex;gap:10px;margin-bottom:16px}.filters input{flex:1}input,select{min-height:40px;padding:9px 11px;border:1px solid #dfe3ec;border-radius:9px;background:#fff;color:var(--ink);font:inherit}button,.button{border:0;border-radius:9px;padding:10px 15px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}.primary{background:var(--blue);color:#fff}.primary:hover{background:var(--blue2)}.ghost{background:#edf1f8;color:#35405a}.small{padding:7px 10px;font-size:12px}.notice{padding:12px 15px;margin-bottom:15px;border:1px solid #d9e3ff;border-radius:11px;background:#eef3ff;color:#3152ad;font-size:13px}.product-list{display:grid;gap:14px}.product-card{position:relative;padding:18px}.product-main{display:grid;grid-template-columns:70px 1fr;gap:14px}.product-main img,.image-placeholder{width:70px;height:70px;object-fit:contain;border-radius:12px;background:#f5f7fb}.product-main h3{margin:7px 0 4px;font-size:17px}.product-main p,.product-main small{margin:0;color:var(--muted)}.chips{display:flex;gap:6px}.chips span,.promo-list span,.badge{padding:4px 7px;border-radius:7px;background:#edf0f5;color:#50596e;font-size:10px;font-weight:750}.chips .source.giftapi,.chips .source.giftapi_combo{background:#e9f8f1;color:#087c54}.chips .source.local{background:#fff4dc;color:#9a6200}.product-stats,.economics{display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:10px;margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.economics{grid-template-columns:repeat(7,minmax(90px,1fr))}.product-stats label,.economics label,.settings-form label,.login-card label{display:grid;gap:5px;color:var(--muted);font-size:12px}.product-stats b,.economics b{display:block;margin-top:8px}.recommended{padding:8px;border-radius:9px;background:#eef3ff;color:var(--blue)}.actions-row{display:flex;align-items:center;gap:12px;margin-top:15px}.promo-list{display:flex;gap:6px;flex:1;flex-wrap:wrap}.toggle{display:flex!important;align-items:center;gap:8px!important;color:var(--ink)!important}.toggle input{display:none}.toggle>span{width:36px;height:21px;border-radius:20px;background:#c9cfdb;position:relative}.toggle>span:after{content:"";position:absolute;width:15px;height:15px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.toggle input:checked+span{background:var(--blue)}.toggle input:checked+span:after{transform:translateX(15px)}.apply-form{position:absolute;right:18px;top:18px}.table-wrap{overflow:auto;border-radius:14px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:middle}th{position:sticky;top:0;background:#f8f9fc;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}td code{font-size:12px}.copy{padding:4px 7px;margin-left:7px;background:#eef2fb;color:var(--blue);font-size:10px}.active-row{background:#effbf5}.badge.good{background:#dff8ed;color:#087750}.badge.bad{background:#ffe8eb;color:#ad2636}.positive{color:var(--green)}.negative{color:var(--red)}.block{display:block;margin-top:4px;color:var(--muted)}.settings-form{display:grid;gap:14px}.warning-box{padding:13px;border-radius:11px;background:#fff6e5;color:#815400}.warning-box p{margin:5px 0 0}.formula{padding:15px;margin-top:10px;border-radius:11px;background:#f1f4fa;font-family:ui-monospace,monospace;font-size:13px}.muted{color:var(--muted)}pre{white-space:pre-wrap}.flash{padding:13px 16px;margin-bottom:15px;border-radius:11px}.flash.success{background:#e7f9f0;color:#087750}.flash.error{background:#ffe9ec;color:#a82435}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 20%,#315eea 0,transparent 30%),#101522}.login-card{width:min(410px,calc(100% - 30px));padding:30px;border-radius:22px;background:#fff;box-shadow:0 30px 90px #0006;display:grid;gap:16px}.login-card h1{margin:16px 0 0}.login-card p{margin:0;color:var(--muted)}
@media(max-width:1100px){.sidebar{width:200px}.main{margin-left:200px;padding:24px 20px}.metric-grid{grid-template-columns:1fr 1fr}.product-stats,.economics{grid-template-columns:repeat(3,1fr)}.apply-form{position:static;margin-top:10px}}@media(max-width:760px){.sidebar{position:static;width:auto;height:auto;flex-direction:row;align-items:center;overflow:auto}.sidebar nav{display:flex;margin:0 0 0 20px}.logout{margin:0 0 0 auto}.main{margin:0;padding:18px 12px}.topbar,.hero{align-items:flex-start;gap:14px}.hero{flex-direction:column}.metric-grid,.two-col{grid-template-columns:1fr}.filters{flex-wrap:wrap}.filters>*{flex:1 1 45%}.product-stats,.economics{grid-template-columns:1fr 1fr}.actions-row{align-items:flex-start;flex-direction:column}.sidebar .brand div{display:none}}

/* Compact product workspace and finance details. */
.product-list{gap:11px}.product-card{padding:14px 16px}.product-main{grid-template-columns:58px 1fr;gap:12px}.product-main img,.image-placeholder{width:58px;height:58px;border-radius:10px}.product-main h3{margin:6px 0 3px;font-size:16px}.product-stats,.economics{gap:8px;margin-top:11px;padding-top:11px}.economics{grid-template-columns:repeat(6,minmax(95px,1fr)) minmax(190px,1.5fr)}.product-stats b,.economics b{margin-top:6px}.recommended{padding:8px 10px}.formula-breakdown{display:block;margin-top:4px;color:#66779e;font-size:10px;line-height:1.35}.actions-row{gap:10px;margin-top:10px}.apply-form{right:16px;top:14px}.active-key-box{margin-top:10px;border:1px solid #dce5f8;border-radius:10px;background:#f8faff}.active-key-box summary{padding:9px 11px;cursor:pointer;color:#334263;font-size:12px;font-weight:700}.active-key-box code{color:var(--blue)}.key-picker{max-height:260px;overflow:auto;border-top:1px solid #e3e9f5}.key-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-bottom:1px solid #ebeff6}.key-option:last-child{border-bottom:0}.key-option.selected{background:#eaf9f2}.key-option small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.totals-row{background:#f0f4ff}.totals-row td{border-top:2px solid #d7e1ff}.metric-profit{display:block;margin-top:10px;font-size:13px}.balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.balance-grid article{padding:16px;border:1px solid var(--line);border-radius:13px;background:#f9fafe}.balance-grid h4{margin:0 0 12px;font-size:16px}.balance-grid article>div{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--line)}.balance-grid article>div:last-child{border-bottom:0}.balance-grid span{color:var(--muted);font-size:12px}.flash.warning{background:#fff4dc;color:#825500}
@media(max-width:1100px){.economics{grid-template-columns:repeat(3,1fr)}.balance-grid{grid-template-columns:1fr}}
.stock-pending{display:block;margin-top:4px;color:var(--amber)!important;line-height:1.3}.finance-totals{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:8px;margin:-5px 0 14px}.finance-totals>div{padding:10px;border-radius:10px;background:#f5f7fb}.finance-totals span{display:block;color:var(--muted);font-size:11px}.finance-totals b{display:block;margin-top:4px;font-size:16px}#finance-products th[data-sort]{cursor:pointer;user-select:none}#finance-products th[data-sort]:after{content:"↕";margin-left:5px;color:#aab2c2}#finance-products th[data-direction="desc"]:after{content:"↓";color:var(--blue)}#finance-products th[data-direction="asc"]:after{content:"↑";color:var(--blue)}
@media(max-width:900px){.finance-totals{grid-template-columns:repeat(2,1fr)}}
.bulk-toolbar{position:sticky;top:8px;z-index:12;display:flex;align-items:center;gap:12px;margin-bottom:12px;padding:10px 13px;border:1px solid #dce3f2;border-radius:12px;background:#fffffff2;box-shadow:0 8px 24px rgba(21,29,51,.08);backdrop-filter:blur(8px)}.bulk-toolbar label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700}.bulk-toolbar input,.product-select{min-height:auto}.bulk-toolbar span{color:var(--muted);font-size:12px}.product-select{position:absolute;right:190px;top:24px;width:18px;height:18px;z-index:2}.bulk-dialog{width:min(1180px,calc(100% - 30px));max-height:88vh;padding:20px;border:0;border-radius:18px;box-shadow:0 30px 100px #1118}.bulk-dialog::backdrop{background:#11182799;backdrop-filter:blur(3px)}.bulk-dialog form{margin:0}.bulk-dialog .table-wrap{max-height:65vh}.bulk-dialog td input{width:105px;min-height:36px}.bulk-actions{display:flex;justify-content:flex-end;margin-top:15px}
button:disabled{opacity:.5;cursor:not-allowed}
.risk-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.risk-card{display:grid;gap:5px;padding:13px;border:1px solid #ead9ad;border-radius:12px;background:#fff9e9}.risk-card span,.risk-card small,.risk-card em{color:var(--muted);font-size:11px}.risk-card b{font-size:16px}.risk-card em{font-style:normal}.expired-event{background:#fff0f1;color:#a82435}.future-event{background:#effbf5}.future-event b{color:var(--green)}
@media(max-width:900px){.risk-calendar{grid-template-columns:1fr}}
.product-stats{grid-template-columns:repeat(6,minmax(90px,1fr))}.product-stats label small{color:var(--muted);font-size:10px;line-height:1.3}.action-price-field{padding:7px;border:1px solid #d8e3ff;border-radius:9px;background:#f4f7ff}.action-price-field input{font-weight:750;color:var(--blue)}
.bulk-fill-row th{top:39px;padding:7px;background:#eef3ff}.bulk-fill-row th:first-child{color:#3152ad}.bulk-fill-row div{display:grid;gap:5px}.bulk-fill-row input{width:105px;min-height:32px;padding:6px;font-size:11px;text-transform:none;letter-spacing:0}.bulk-fill-row button{width:105px;padding:6px;font-size:10px}
.date-filter{display:flex;align-items:center;gap:6px;padding:0 8px;color:var(--muted);font-size:12px}.date-filter input{min-width:145px}.totals-row:first-child{background:#eaf0ff}.totals-row:first-child td{border-bottom:2px solid #cbd9ff}
.recommended{position:relative;padding-right:94px}.recommended-profit{position:absolute;right:10px;top:8px!important;margin:0!important;color:var(--green);font-size:12px}.product-metrics{position:relative}.product-metrics>summary{list-style:none;cursor:pointer;padding:8px 10px;border-radius:9px;background:#edf1f8;color:#35405a;font-size:12px;font-weight:750;white-space:nowrap}.product-metrics>summary::-webkit-details-marker{display:none}.product-metrics-grid{position:absolute;right:0;bottom:calc(100% + 8px);z-index:20;width:520px;display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:10px;padding:14px 14px 24px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 45px #17213a26}.product-metrics-grid span{display:block;color:var(--muted);font-size:10px}.product-metrics-grid b{display:block;margin-top:4px;font-size:13px}.metrics-period{position:absolute;right:10px;bottom:6px;color:var(--muted);font-size:9px}.bulk-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.bulk-toolbar form{margin:0}@media(max-width:760px){.product-metrics-grid{position:static;width:min(520px,calc(100vw - 48px));grid-template-columns:1fr 1fr;margin-top:7px}.metrics-period{position:static;display:block;margin-top:5px}}
