:root{--bg:#f5f6f8;--panel:#fff;--ink:#17202a;--muted:#667085;--line:#e4e7ec;--brand:#e86f35;--brand-dark:#bd4f1c;--nav:#161b22;--success:#12805c;--danger:#c9363e;--warning:#ad6800;--blue:#2667ff;--radius:14px;--shadow:0 8px 28px rgba(17,24,39,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr);visibility:hidden;opacity:0}.app-shell.app-ready{visibility:visible;opacity:1;transition:opacity .12s ease}body:has(>.app-shell:not(.app-ready))::after{content:"";position:fixed;left:50%;top:45%;width:24px;height:24px;margin:-12px;border:3px solid #e4e7ec;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}
.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:#fff;padding:20px 16px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:11px;align-items:center;padding:6px 8px 22px;border-bottom:1px solid #30363d}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--brand);font-size:20px;font-weight:900}.brand strong,.brand small{display:block}.brand small{color:#9da7b3;font-size:11px;margin-top:2px}.sidebar nav{display:grid;gap:4px;margin-top:18px;overflow:auto}.sidebar nav a{display:flex;gap:11px;align-items:center;padding:10px 12px;text-decoration:none;border-radius:9px;color:#c9d1d9;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#2a313b;color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 var(--brand)}.sidebar nav a span{width:20px;text-align:center}.sidebar-foot{margin-top:auto;border-top:1px solid #30363d;padding:16px 8px 0;display:grid;gap:4px}.sidebar-foot small{color:#9da7b3}.sidebar-foot strong{text-transform:capitalize}.link-button{border:0;background:none;color:#ff9a72;text-align:left;padding:8px 0}.main{min-width:0;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.topbar h1{font-size:26px;margin:0}.topbar p{margin:5px 0 0;color:var(--muted);font-size:14px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.menu-button{display:none;border:0;background:transparent;font-size:24px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(16,24,40,.03)}.card-pad{padding:20px}.grid{display:grid;gap:16px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.kpi{padding:18px}.kpi small{display:block;color:var(--muted);font-size:12px;margin-bottom:9px}.kpi strong{display:block;font-size:25px}.kpi em{font-style:normal;font-size:12px;color:var(--muted)}.two-col{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}.three-col{grid-template-columns:repeat(3,1fr)}
.btn{border:1px solid transparent;border-radius:9px;padding:10px 14px;font-weight:700;font-size:13px;background:#fff}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark)}.btn-secondary{border-color:var(--line)}.btn-danger{background:#fff1f2;color:var(--danger);border-color:#fecdd3}.btn-small{padding:7px 9px;font-size:12px}.field{display:grid;gap:6px}.field label{font-size:12px;color:var(--muted);font-weight:700}.input{width:100%;border:1px solid #d0d5dd;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink)}.input:focus{outline:3px solid rgba(232,111,53,.15);border-color:var(--brand)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .wide{grid-column:1/-1}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters .input{width:auto;min-width:150px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:middle}.table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em;background:#fafafa;position:sticky;top:0}.table tr:last-child td{border-bottom:0}.text-right{text-align:right!important}.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:11px;font-weight:700}.badge.success{background:#e7f8f1;color:var(--success)}.badge.warning{background:#fff5df;color:var(--warning)}.badge.danger{background:#fff0f1;color:var(--danger)}.metric-positive{color:var(--success)}.metric-negative{color:var(--danger)}.empty{padding:40px;text-align:center;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.section-title h2{font-size:16px;margin:0}.bars{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:120px 1fr 90px;gap:10px;align-items:center;font-size:12px}.bar-track{height:8px;background:#f0f2f5;border-radius:9px;overflow:hidden}.bar-fill{height:100%;background:var(--brand);border-radius:9px}.variant-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr 1fr auto;gap:8px;align-items:end;padding:10px;background:#fafafa;border-radius:10px}.cart{display:grid;gap:10px}.cart-item{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px}.cart-item small{color:var(--muted)}.summary{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:14px}.summary div{display:flex;justify-content:space-between}.summary .total{font-size:20px;font-weight:900}.modal{border:0;border-radius:16px;padding:0;width:min(720px,calc(100% - 30px));box-shadow:var(--shadow)}.modal.modal-wide{width:min(1100px,calc(100% - 30px))}.modal::backdrop{background:rgba(16,24,40,.55)}.modal-head,.modal-foot{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.modal-foot{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end;gap:10px}.modal-body{padding:20px;max-height:74vh;overflow:auto}.toast-stack{position:fixed;right:20px;top:20px;display:grid;gap:8px;z-index:100}.toast{padding:12px 16px;border-radius:10px;background:#17202a;color:#fff;box-shadow:var(--shadow)}.toast.error{background:var(--danger)}.busy-overlay{position:fixed;inset:0;background:rgba(255,255,255,.72);z-index:90;display:none;place-items:center}.busy-overlay.show{display:grid}.busy-card{background:#fff;padding:16px 20px;border-radius:12px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center}.spinner{width:20px;height:20px;border:3px solid #eee;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mobile-overlay{display:none}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#ffe8d9,transparent 34%),#f5f6f8}.login-card{width:min(430px,100%);padding:28px}.login-card h1{margin:16px 0 6px}.login-card p{color:var(--muted);margin:0 0 22px}.stack{display:grid;gap:14px}.helper{font-size:12px;color:var(--muted)}.tabs{display:flex;gap:5px;background:#f2f4f7;padding:4px;border-radius:10px}.tabs button{border:0;background:transparent;border-radius:8px;padding:8px 12px}.tabs button.active{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08)}.line-editor{display:grid;gap:8px}.line-editor-row{display:grid;grid-template-columns:minmax(220px,1.8fr) 100px 120px 120px 42px;gap:8px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px}.line-editor-row small{display:block;color:var(--muted)}.split-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.split-summary>div{padding:12px;background:#f8fafc;border-radius:10px}.split-summary small,.split-summary strong{display:block}.split-summary small{color:var(--muted);font-size:11px;margin-bottom:5px}.subnav{display:flex;gap:6px;margin-bottom:16px;overflow:auto}.subnav button{white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:5px}
.report-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0}.report-filter-card{position:relative}.report-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px;align-items:end}.report-apply{min-height:42px}.report-grid{margin-top:16px}.report-bars{display:grid;gap:14px}.report-bar-row{display:grid;grid-template-columns:minmax(130px,1.1fr) minmax(120px,2fr) 64px;gap:10px;align-items:center}.report-bar-label{min-width:0}.report-bar-label strong,.report-bar-label span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-bar-label strong{font-size:12px}.report-bar-label span{font-size:11px;color:var(--muted);margin-top:2px}.report-bar-row>small{text-align:right;color:var(--muted)}.report-bar-track{height:12px;background:#eef1f5;border-radius:999px;position:relative;overflow:visible}.report-bar-track>span{display:block;height:100%;min-width:2px;background:linear-gradient(90deg,var(--brand),#f5a06f);border-radius:999px}.report-bar-track>i{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--blue);border-radius:2px}.line-chart svg{display:block;width:100%;min-height:220px}.chart-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.sales-line{stroke:var(--brand)}.profit-line{stroke:var(--success)}.chart-axis{stroke:#d0d5dd;stroke-width:1}.chart-gridline{stroke:#eaecf0;stroke-width:1;stroke-dasharray:5 5}.chart-scale,.chart-legend,.goal-legend{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:11px}.chart-legend,.goal-legend{justify-content:flex-start;margin-top:10px}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.legend-dot.brand{background:var(--brand)}.legend-dot.profit{background:var(--success)}.legend-dot.expected{background:var(--blue)}.goal-cell{display:grid;gap:6px;min-width:110px}.goal-progress{height:10px;background:#edf0f4;border-radius:999px;overflow:hidden}.goal-progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#f6a06e);border-radius:999px;transition:width .3s ease}.goal-progress.expected>span{background:var(--blue)}.goal-progress.projection>span{background:var(--success)}.goal-progress.large{height:22px;margin:22px 0 34px}.goal-target-input{min-width:145px}.seller-goal-page{max-width:960px;margin:0 auto}.seller-goal-card{padding:36px;text-align:center}.seller-goal-head{display:flex;justify-content:space-between;align-items:center}.seller-goal-percent{font-size:clamp(64px,12vw,120px);font-weight:900;line-height:1;margin-top:30px;color:var(--brand)}.seller-goal-caption{color:var(--muted);margin:8px 0}.goal-bars-private{display:grid;gap:22px;text-align:left}.goal-bars-private header{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.privacy-note{margin:34px 0 0;padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.variant-row{grid-template-columns:repeat(3,1fr)}.report-kpis{grid-template-columns:repeat(3,1fr)}.report-filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.app-shell{display:block}.main{padding:16px}.sidebar{position:fixed;left:-270px;width:250px;transition:left .2s}.menu-open .sidebar{left:0}.menu-open .mobile-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:20}.menu-button{display:block}.topbar{align-items:flex-start}.topbar h1{font-size:22px}.kpi-grid{grid-template-columns:1fr 1fr;gap:10px}.kpi{padding:14px}.kpi strong{font-size:20px}.form-grid,.three-col{grid-template-columns:1fr}.variant-row{grid-template-columns:1fr 1fr}.filters .input{width:100%}.filters{display:grid;width:100%}.toolbar{width:100%}.toolbar .btn{flex:1}.bar-row{grid-template-columns:90px 1fr 70px}.modal-body{padding:16px}.table{min-width:650px}.line-editor-row{grid-template-columns:1fr 80px 100px 38px}.line-editor-row .line-total{display:none}.split-summary{grid-template-columns:1fr 1fr}.report-filters{grid-template-columns:1fr 1fr}.report-kpis{grid-template-columns:1fr 1fr}.report-bar-row{grid-template-columns:minmax(110px,1fr) minmax(100px,1.5fr)}.report-bar-row>small{display:none}.seller-goal-card{padding:24px}.goal-table{min-width:1000px}}
@media(max-width:430px){.kpi-grid{grid-template-columns:1fr}.variant-row{grid-template-columns:1fr}.topbar{flex-wrap:wrap}}
