:root{--ink:#172033;--muted:#697386;--line:#e7e9ef;--paper:#fff;--canvas:#f5f6f9;--nav:#12182a;--blue:#2864dc;--green:#178b67;--purple:#7956d8;--orange:#d9792d;color:var(--ink);background:var(--canvas);font-synthesis:none;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#aeb6c8;background:var(--nav);flex-direction:column;height:100vh;padding:28px 18px 20px;display:flex;position:sticky;top:0}.brand{color:#fff;align-items:center;gap:11px;padding:0 10px 34px;display:flex}.brand-mark{background:linear-gradient(145deg,#45a6ff,#705ee8);border-radius:9px;width:32px;height:32px;position:relative;box-shadow:0 6px 18px #162b67}.brand-mark:before,.brand-mark:after,.brand-mark span{content:"";background:#fff;border-radius:3px;width:16px;height:3px;position:absolute;left:8px;transform:skewY(-20deg)}.brand-mark:before{top:8px}.brand-mark span{opacity:.8;top:14px}.brand-mark:after{opacity:.55;top:20px}.brand strong,.brand small{display:block}.brand strong{letter-spacing:-.2px;font-size:16px}.brand small{color:#7f8ba4;text-transform:uppercase;letter-spacing:1.4px;margin-top:2px;font-size:10px}.sidebar nav{gap:5px;display:grid}.sidebar a,.nav-disabled{color:inherit;border-radius:8px;align-items:center;gap:12px;padding:11px 12px;font-size:13px;font-weight:550;text-decoration:none;transition:all .18s;display:flex}.sidebar a:hover{color:#fff;background:#1a2237}.sidebar a.active{color:#fff;background:#202a43;box-shadow:inset 3px 0 #4e85f2}.sidebar .brand{padding:0 10px 34px}.sidebar .brand:hover{background:0 0}.nav-disabled{opacity:.48;cursor:not-allowed}.sidebar-bottom{gap:13px;margin-top:auto;display:grid}.sidebar-bottom form{margin:0}.sidebar-logout{color:#aeb6c8;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;padding:11px 12px;font-size:13px;font-weight:550;text-decoration:none;display:flex}.sidebar-logout:hover{color:#fff;background:#1a2237}.profile{border-top:1px solid #273047;align-items:center;gap:10px;padding:18px 8px 0;display:flex}.avatar{color:#fff;background:#2d3854;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.profile strong,.profile small{display:block}.profile strong{color:#eef1f7;font-size:11px}.profile small{color:#75819a;margin-top:3px;font-size:10px}.main-content{width:100%;min-width:0;max-width:1540px;margin:0 auto;padding:42px clamp(24px,4vw,64px) 24px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.eyebrow{letter-spacing:1.8px;color:var(--blue);margin-bottom:8px;font-size:10px;font-weight:750}h1{letter-spacing:-1.2px;margin:0;font-size:clamp(27px,3vw,36px);line-height:1.12}.page-header p{color:var(--muted);margin:9px 0 0;font-size:13px}.header-actions{align-items:center;gap:10px;display:flex}.year-selector{background:#fff;border:1px solid #dfe2e9;border-radius:7px;align-items:center;gap:8px;height:34px;padding:0 8px 0 11px;display:flex;box-shadow:0 1px 2px #1720330a}.year-selector span{color:#8a93a3;text-transform:uppercase;letter-spacing:.45px;font-size:9px;font-weight:700}.year-selector select{color:#33405a;cursor:pointer;background:0 0;border:0;outline:0;font-size:11px;font-weight:750}.database-status{color:#187a5d;background:#eaf7f1;border-radius:7px;align-items:center;gap:7px;padding:8px 11px;font-size:11px;font-weight:650;display:flex}.database-status i,.shop-dot{background:#27a97f;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #c9ecdf}.refresh-button,.error-page button{color:#4d586c;background:#fff;border:1px solid #dfe2e9;border-radius:7px;align-items:center;gap:7px;padding:7px 11px;font-size:11px;font-weight:650;display:inline-flex;box-shadow:0 1px 2px #1720330a}.refresh-button:hover{color:var(--ink);border-color:#cbd0da}.refresh-button:disabled{opacity:.55}.primary-button,.secondary-button{border-radius:7px;justify-content:center;align-items:center;gap:7px;height:34px;padding:0 13px;font-size:10px;font-weight:750;display:inline-flex}.primary-button{color:#fff;background:#2f68d5;border:1px solid #2459bd;box-shadow:0 2px 5px #2859bb35}.primary-button:hover{background:#285fc8}.primary-button:disabled{opacity:.55;cursor:wait}.primary-button>span{font-size:16px;font-weight:400;line-height:1}.secondary-button{color:#596477;background:#fff;border:1px solid #dfe2e9}.secondary-button:hover{background:#f7f8fa}.shop-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:7px;margin-top:34px;display:flex;overflow-x:auto}.shop-tabs::-webkit-scrollbar{display:none}.shop-tabs button{color:#7d8697;white-space:nowrap;background:0 0;border:0;align-items:center;gap:9px;padding:11px 15px 13px;font-size:12px;font-weight:650;display:flex;position:relative}.shop-tabs button:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:14px;right:14px}.shop-tabs button.active{color:var(--ink)}.shop-tabs button.active:after{background:var(--blue)}.shop-dot{box-shadow:none;width:5px;height:5px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.metric-card{border:1px solid var(--line);background:var(--paper);border-radius:10px;min-width:0;padding:17px 18px 15px;position:relative;overflow:hidden;box-shadow:0 2px 8px #17203308}.metric-card:before{content:"";opacity:.7;background:currentColor;height:2px;position:absolute;top:0;left:0;right:0}.metric-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.metric-icon{border-radius:8px;place-items:center;width:35px;height:35px;display:grid}.metric-period{color:#99a1b0;text-transform:uppercase;letter-spacing:.55px;font-size:9px}.metric-card p{color:#697386;margin:14px 0 6px;font-size:11px;font-weight:650}.metric-card strong{color:var(--ink);letter-spacing:-.8px;font-variant-numeric:tabular-nums;font-size:clamp(21px,2.2vw,28px);display:block}.metric-description{color:#9aa1ae;white-space:nowrap;text-overflow:ellipsis;margin-top:7px;font-size:9.5px;display:block;overflow:hidden}.metric-card.green{color:var(--green)}.metric-card.green .metric-icon{background:#e8f6f1}.metric-card.purple{color:var(--purple)}.metric-card.purple .metric-icon{background:#f0ecfb}.metric-card.orange{color:var(--orange)}.metric-card.orange .metric-icon{background:#fdf0e7}.metric-card.blue{color:var(--blue)}.metric-card.blue .metric-icon{background:#eaf0fd}.notice{color:#3b5e91;background:#edf4ff;border:1px solid #d8e6fc;border-radius:8px;align-items:center;gap:11px;margin-top:16px;padding:11px 14px;font-size:11px;display:flex}.notice>span{color:#3163aa;background:#d9e7fc;border-radius:50%;flex:none;place-items:center;width:19px;height:19px;font-size:11px;font-weight:800;display:grid}.notice p{margin:0}.notice strong{color:#294d80}.panel{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin-top:17px;overflow:hidden;box-shadow:0 2px 8px #17203308}.panel-heading{border-bottom:1px solid #eceef2;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:17px 20px;display:flex}.panel-heading h2{letter-spacing:-.2px;margin:0;font-size:14px}.panel-heading p{color:#8a93a3;margin:5px 0 0;font-size:10px}.legend{color:#737d90;gap:16px;font-size:10px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend i{border-radius:3px;width:8px;height:8px}.legend .sales{background:#2d65d7}.legend .profit{background:#22a17a}.chart-wrap{padding:14px 18px 4px}.monthly-chart{width:100%;height:auto;max-height:330px;display:block;overflow:visible}.chart-grid{stroke:#edf0f4;stroke-width:1px}.zero-line{stroke:#d9dde5;stroke-width:1px}.axis-label,.month-label{fill:#929baa;font-family:inherit;font-size:10px}.sales-bar{fill:#376fdc}.profit-bar{fill:#24a17c}.loss-bar{fill:#d95858}.chart-empty{text-align:center;color:#8b94a5;place-content:center;justify-items:center;height:265px;display:grid}.chart-empty strong{color:#566175;margin-top:14px;font-size:13px}.chart-empty p{margin:6px 0;font-size:10px}.empty-illustration{border-bottom:1px solid #dde2ea;align-items:end;gap:7px;height:64px;padding:0 8px 8px;display:flex}.empty-illustration span{background:#dfe6f0;border-radius:3px 3px 0 0;width:10px}.empty-illustration span:first-child{height:18px}.empty-illustration span:nth-child(2){height:32px}.empty-illustration span:nth-child(3){height:23px}.empty-illustration span:nth-child(4){background:#d9e8e3;height:48px}.empty-illustration span:nth-child(5){height:37px}.order-total{color:#697386;background:#f4f5f7;border-radius:20px;padding:6px 10px;font-size:10px;font-weight:650}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:820px}th{color:#8a93a3;letter-spacing:.45px;text-transform:uppercase;text-align:left;background:#fafbfc;border-bottom:1px solid #eceef2;padding:10px 20px;font-size:9px;font-weight:700}td{font-variant-numeric:tabular-nums;border-bottom:1px solid #f0f1f4;padding:12px 20px;font-size:11px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfc}.number{text-align:right}.muted-number{color:#7e8798}.fee-number{color:#7659bd}.net-number{color:#2864b7;font-weight:600}.profit-number{color:#168363;font-weight:700}.profit-number.negative{color:#c44343}.month-cell{color:#3c4659;font-weight:650}footer{color:#9aa2b0;justify-content:space-between;gap:20px;padding:18px 2px 0;font-size:9px;display:flex}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.error-page h1{font-size:26px}.error-page p{max-width:440px;color:var(--muted);line-height:1.6}.error-icon{color:#c84b4b;background:#feecec;border-radius:50%;place-items:center;width:48px;height:48px;margin-bottom:16px;font-size:22px;font-weight:800;display:grid}.inventory-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:32px;display:grid}.inventory-summary article{border:1px solid var(--line);background:#fff;border-radius:10px;padding:17px 18px;box-shadow:0 2px 8px #17203308}.inventory-summary span,.inventory-summary small{display:block}.inventory-summary span{color:#737d90;font-size:10px;font-weight:650}.inventory-summary strong{letter-spacing:-.7px;margin:7px 0 4px;font-size:25px;display:block}.inventory-summary small{color:#9aa2b0;font-size:9px}.inventory-panel{margin-top:17px}.inventory-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:67px;padding:13px 16px;display:flex}.search-field{color:#8a93a3;background:#fafbfc;border:1px solid #dfe2e9;border-radius:7px;flex:1;align-items:center;gap:8px;max-width:470px;height:38px;padding:0 12px;display:flex}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.search-field input::placeholder{color:#9ba3b1}.inventory-toolbar select{color:#596477;background:#fff;border:1px solid #dfe2e9;border-radius:7px;height:38px;padding:0 30px 0 10px;font-size:10px}.result-count{color:#8b94a4;white-space:nowrap;margin-left:auto;font-size:10px;font-weight:650}.inventory-table{min-width:1120px}.inventory-table code{color:#315fae;background:#edf3fc;border-radius:5px;padding:4px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:700}.product-title{color:#303a4d;max-width:350px;font-size:10.5px;font-weight:650;line-height:1.35;display:block}.inventory-table td small{color:#929baa;margin-top:3px;font-size:8.5px;display:block}.quantity-cell{color:#303a4d;font-weight:750}.stock-value{font-weight:650}.stock-badge{white-space:nowrap;border-radius:20px;padding:5px 8px;font-size:8.5px;font-weight:700;display:inline-flex}.stock-badge.available{color:#16795b;background:#e8f6f1}.stock-badge.empty{color:#8b6470;background:#f5ecef}.no-results{text-align:center;color:#8d96a5;padding:42px!important}.row-action{color:#4169a8;background:#fff;border:1px solid #dce2ec;border-radius:6px;padding:5px 9px;font-size:8.5px;font-weight:700}.row-action:hover{background:#f1f5fb;border-color:#c9d5e8}.success-notice{color:#176f55;background:#e9f7f1;border:1px solid #cfeadd;border-radius:8px;align-items:center;gap:9px;min-height:42px;margin-top:17px;padding:9px 12px;font-size:10.5px;font-weight:650;display:flex}.success-notice>span{color:#fff;background:#239474;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.success-notice button{color:#538776;background:0 0;border:0;margin-left:auto;font-size:18px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#101729a8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.form-dialog{background:#fff;border-radius:13px;width:min(660px,100%);max-height:calc(100vh - 48px);overflow-y:auto;box-shadow:0 24px 80px #0e152b55}.dialog-heading{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:22px 24px 18px;display:flex}.dialog-heading h2{letter-spacing:-.4px;margin:5px 0 0;font-size:19px}.dialog-heading p{color:#7f8898;margin:6px 0 0;font-size:10px;line-height:1.45}.dialog-eyebrow{color:var(--blue);letter-spacing:1.4px;font-size:8px;font-weight:800}.dialog-close{color:#7b8495;background:#f2f4f7;border:0;border-radius:7px;width:30px;height:30px;font-size:19px}.dialog-close:hover{background:#e9ecf1}.form-dialog form{padding:20px 24px 22px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.form-dialog label{gap:6px;display:grid}.form-dialog label>span,.form-section-title{color:#657084;font-size:9px;font-weight:700}.form-dialog input{width:100%;height:38px;color:var(--ink);background:#fff;border:1px solid #dce0e8;border-radius:7px;outline:0;padding:0 10px;font-size:10.5px}.form-dialog input:focus{border-color:#779ce2;box-shadow:0 0 0 3px #dce8fb}.wide-field{margin-bottom:15px}.form-section-title{text-transform:uppercase;letter-spacing:.8px;border-top:1px solid #edf0f3;margin:4px 0 10px;padding-top:14px}.form-error{color:#b44444;background:#fff0f0;border:1px solid #f0cccc;border-radius:7px;margin-top:15px;padding:10px 12px;font-size:10px;line-height:1.45}.dialog-actions{justify-content:flex-end;gap:9px;margin-top:21px;display:flex}.dialog-actions button{min-width:100px}@media (max-width:1050px){.app-shell{grid-template-columns:74px minmax(0,1fr)}.sidebar{padding-inline:12px}.brand{justify-content:center;padding-inline:8px}.brand>span:last-child,.sidebar nav a,.sidebar nav .nav-disabled,.sidebar-bottom>.nav-disabled{font-size:0}.sidebar nav a,.sidebar nav .nav-disabled,.sidebar-bottom>.nav-disabled{justify-content:center;gap:0}.sidebar a svg,.nav-disabled svg{width:21px;height:21px}.profile>span:last-child{display:none}.profile{justify-content:center;padding-inline:0}.metric-grid,.inventory-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.app-shell{display:block}.sidebar{flex-direction:row;align-items:center;width:100%;height:62px;padding:9px 14px;position:static}.brand{padding:0}.brand>span:last-child{display:none}.sidebar nav{margin-left:auto;display:flex;overflow-x:auto}.sidebar nav a,.sidebar nav .nav-disabled{padding:9px}.sidebar nav .nav-disabled,.sidebar-bottom{display:none}.main-content{padding:25px 16px 18px}.page-header{display:block}.header-actions{margin-top:18px}.database-status{margin-right:auto}.header-actions{flex-wrap:wrap}.year-selector{order:3;justify-content:space-between;width:100%}.shop-tabs{margin-top:25px}.metric-grid{grid-template-columns:1fr}.metric-description{white-space:normal}.inventory-summary{grid-template-columns:1fr 1fr}.inventory-toolbar{flex-wrap:wrap;align-items:stretch}.search-field{flex-basis:100%;max-width:none}.result-count{align-self:center}.form-grid{grid-template-columns:1fr}.modal-backdrop{padding:10px}.form-dialog{max-height:calc(100vh - 20px)}.dialog-heading,.form-dialog form{padding-left:18px;padding-right:18px}.panel-heading{align-items:flex-start}.legend{padding-top:2px}.chart-wrap{padding-inline:4px}.monthly-chart{min-width:700px}.chart-wrap{overflow-x:auto}footer{display:grid}.notice{align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
