:root{--maroon: #7B1E2B;--maroon-deep: #5E1620;--maroon-light: #A03444;--gold: #C79A3E;--gold-sparkle: #E8B14C;--rose: #F7ECEC;--rose-border: #EAD7D7;--bg: #FAF7F4;--card: #FFFFFF;--card-border: #EDE5E1;--card-head: #FBF7F5;--hairline: #F3ECE8;--input-bg: #FCFAF9;--input-border: #E2D6D0;--text: #2A2124;--text-2: #6b5a53;--text-2b: #7a6a63;--muted: #9A8B84;--muted-2: #B4A69F;--green: #1E7F4F;--green-bg: #E7F3ED;--green-border: #CFE9DB;--blue: #2563EB;--blue-bg: #E7EEFD;--amber: #B45309;--amber-bg: #FEF3E2;--amber-border: #F3DCB8;--red: #B91C1C;--red-bg: #FBEAEA;--red-border: #F1C9C9;--disabled-bg: #EADBD5;--disabled-fg: #BBA9A1;--shadow-card: 0 1px 2px rgba(94, 22, 32, .04);--font-ui: "Inter", system-ui, sans-serif;--font-display: "Playfair Display", serif;--font-mono: "JetBrains Mono", monospace}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--maroon);text-decoration:none}a:hover{color:var(--maroon-deep)}input,button,select,textarea{font-family:inherit}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--maroon)!important}.btn:focus-visible,.filter-tab:focus-visible,.click:focus-visible{outline:2px solid var(--maroon);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--input-border);border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#d1bfb7}@keyframes omToast{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes omPop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes omFade{0%{opacity:0}to{opacity:1}}@keyframes omSlideL{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}.card{background:var(--card);border:1px solid var(--card-border);border-radius:14px;box-shadow:var(--shadow-card)}.card-pad{padding:16px 18px}.display{font-family:var(--font-display);font-weight:700}.mono{font-family:var(--font-mono)}.page-title{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--text)}.page-sub{font-size:13px;color:var(--muted);margin-top:4px}.kpi-num{font-family:var(--font-display);font-size:24px;font-weight:700;margin-top:5px}.btn{border:none;cursor:pointer;font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;height:44px;padding:0 18px;transition:all .15s ease;white-space:nowrap}.btn-primary{background:var(--maroon);color:#fff;box-shadow:0 8px 18px #7b1e2b38}.btn-primary:hover{background:var(--maroon-deep)}.btn-outline{background:#fff;border:1.5px solid var(--input-border);color:var(--maroon);font-weight:700}.btn-outline:hover{border-color:var(--maroon);background:var(--rose)}.btn-ghost{background:#fff;border:1px solid var(--input-border);color:var(--text-2);height:36px;padding:0 14px;border-radius:9px;font-size:13px}.btn-ghost:hover{border-color:var(--maroon);color:var(--maroon)}.btn-amber{background:var(--amber);color:#fff;box-shadow:0 8px 18px #b4530938}.btn-amber:hover{background:#92400e}.btn:disabled,.btn.disabled{background:var(--disabled-bg);color:var(--disabled-fg);cursor:not-allowed;box-shadow:none}.input,.select,.textarea{width:100%;height:44px;padding:0 14px;border:1px solid var(--input-border);border-radius:10px;font-size:14px;background:var(--input-bg);color:var(--text)}.textarea{height:auto;padding:11px 14px;resize:vertical}.field-label{font-size:12px;font-weight:600;color:var(--text-2b);margin-bottom:7px}.field-help{font-size:11.5px;color:var(--muted-2);margin-top:6px}.field-error{font-size:11.5px;color:var(--red);margin-top:6px;font-weight:600}.input.error{border-color:var(--red);background:#fffbfb}.chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:5px 12px;border-radius:20px;white-space:nowrap}.chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.pill-tab{height:40px;padding:0 16px;border:1px solid var(--card-border);border-radius:22px;background:#fff;color:var(--text-2);font-size:13.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.pill-tab.active{background:var(--maroon);color:#fff;border-color:var(--maroon);box-shadow:0 6px 14px #7b1e2b38}.filter-tab{height:38px;padding:0 15px;border:1px solid var(--input-border);border-radius:20px;background:#fff;color:var(--text-2);font-size:12.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.filter-tab.active{background:var(--maroon);color:#fff;border-color:var(--maroon);box-shadow:0 5px 12px #7b1e2b33}.filter-tab .count{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:9px;background:var(--hairline);color:#8a7a72}.filter-tab.active .count{background:#ffffff38;color:#fff}.tbl{width:100%;border-collapse:collapse}.tbl th{padding:12px 14px;background:var(--card-head);text-align:left;font-size:10.5px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--card-border)}.tbl td{padding:12px 14px;border-bottom:1px solid var(--hairline);font-size:13px;vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr.click{cursor:pointer}.tbl tbody tr.click:hover{background:var(--card-head)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a212480;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:60;animation:omFade .18s ease both}.modal{background:#fff;border-radius:18px;box-shadow:0 30px 70px #2a21244d;animation:omPop .24s ease both;max-height:92vh;overflow-y:auto}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a21246b;z-index:55;animation:omFade .2s ease both}.drawer{position:fixed;top:0;right:0;bottom:0;width:440px;background:#fff;z-index:56;box-shadow:-24px 0 60px #2a212438;animation:omSlideL .26s ease both;display:flex;flex-direction:column;overflow-y:auto}.toast{position:fixed;top:18px;right:18px;z-index:100;background:#fff;border:1px solid var(--card-border);border-left:4px solid var(--green);border-radius:12px;box-shadow:0 16px 40px #2a21242e;padding:13px 18px;font-size:13px;font-weight:600;color:var(--text);animation:omToast .25s ease both;max-width:380px}.toast.error{border-left-color:var(--red)}.side-item{display:flex;align-items:center;gap:11px;width:100%;height:42px;padding:0 14px;border:none;border-radius:10px;background:transparent;color:var(--text-2);font-size:13.5px;font-weight:600;cursor:pointer;text-align:left}.side-item:hover{background:var(--rose);color:var(--maroon)}.side-item.active{background:var(--maroon);color:#fff;box-shadow:0 6px 14px #7b1e2b38}.side-item .badge{margin-left:auto;background:var(--red);color:#fff;font-size:10.5px;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center}.side-item.active .badge{background:#ffffff40}.toggle{width:40px;height:22px;border-radius:11px;border:none;cursor:pointer;background:var(--input-border);position:relative;transition:background .18s ease;flex:none;padding:0}.toggle.on{background:var(--green)}.toggle .knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:left .18s ease}.toggle.on .knob{left:20px}.row{display:flex;align-items:center}.spread{display:flex;align-items:center;justify-content:space-between}.info-strip{display:flex;align-items:center;gap:9px;border-radius:10px;padding:11px 14px;font-size:12.5px}.qty-input{width:74px;height:38px;text-align:center;font-family:var(--font-mono);font-weight:700;font-size:14px;border:1px solid var(--input-border);border-radius:8px;background:var(--input-bg)}.seg{display:flex;padding:4px;gap:4px;background:var(--card-head);border:1px solid var(--card-border);border-radius:11px}.seg button{flex:1;height:38px;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer}.seg button.active{background:var(--maroon);color:#fff;box-shadow:0 4px 10px #7b1e2b33}
