:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--bg: #0f1115;--panel: #1a1d24;--border: #2a2e38;--text: #e6e8eb;--muted: #8a8f98;--accent: #4f8cff;--green: #3ecf8e;--yellow: #e6b800;--red: #ef5350}[data-theme=light]{--bg: #f5f7fa;--panel: #ffffff;--border: #d8dde5;--text: #1a1d24;--muted: #6a707a;--accent: #2563eb;--green: #16a34a;--yellow: #ca8a04;--red: #dc2626}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--panel);border-right:1px solid var(--border);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.5rem}.sidebar h2{margin:0 0 1.5rem;font-size:1.3rem}.sidebar a{color:var(--text);padding:.5rem .75rem;border-radius:6px}.sidebar a:hover,.sidebar a.active{background:var(--border)}.main{flex:1;padding:2rem;max-width:1200px}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border);font-size:.92rem}th{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.04em}input,select,textarea,button{font-family:inherit;font-size:.92rem;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.5rem .7rem}button{cursor:pointer;background:var(--accent);border:none;color:#fff;font-weight:600}button:hover{opacity:.9}button.secondary{background:var(--border);color:var(--text)}.badge.received{background:#1e3a8a;color:#93c5fd}.badge.in_review{background:#78350f;color:#fcd34d}.badge.in_production{background:#14532d;color:#86efac}.badge.quality_check{background:#4c1d95;color:#c4b5fd}.badge.ready_to_ship{background:#164e63;color:#67e8f9}.badge.shipped{background:#1e40af;color:#bfdbfe}.badge.completed{background:#166534;color:#bbf7d0}.badge.on_hold{background:#7f1d1d;color:#fca5a5}.badge.cancelled{background:#450a0a;color:#f87171}.badge.declined{background:#4a044e;color:#f0abfc}.badge.waiting_approval{background:#713f12;color:#fde047}.badge.approved{background:#14532d;color:#86efac}.badge.setup{background:#374151;color:#d1d5db}.badge.setup_step{background:#1f2937;color:#9ca3af}.badge.paid{background:#064e3b;color:#6ee7b7}.badge.unpaid{background:#7f1d1d;color:#fca5a5}.badge.pending{background:#713f12;color:#fde047}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.form-row{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.form-row label{font-size:.85rem;color:var(--muted)}.error-text{color:var(--red);font-size:.9rem}.receipt{font-family:Courier New,Courier,monospace;font-size:12px;width:72mm;margin:1rem auto;padding:4mm;color:#000;background:#fff;line-height:1.4;border:1px solid #ddd;box-shadow:0 2px 8px #00000026}.receipt-logo{font-size:16px;font-weight:700;letter-spacing:2px}.receipt-sub{font-size:10px;color:#444}.receipt-case-num{font-size:18px;font-weight:700;letter-spacing:1px;margin:4px 0}.receipt-center{text-align:center;margin:3px 0}.receipt-divider{margin:4px 0;color:#000;font-size:11px}.receipt-section-title{font-weight:700;font-size:11px;letter-spacing:1px;margin:4px 0 2px}.receipt-row{display:flex;justify-content:space-between;margin:1px 0;font-size:11px}.receipt-row span:first-child{color:#555;flex-shrink:0;margin-right:4px}.receipt-row span:last-child{text-align:right;word-break:break-word}.receipt-notes{font-size:11px;white-space:pre-wrap;margin:2px 0}.receipt-file{font-size:10px;margin:1px 0;word-break:break-all}.receipt-history{margin:3px 0;font-size:11px;border-left:2px solid #ccc;padding-left:4px}@media print{@page{size:80mm auto;margin:0}body *{visibility:hidden}.receipt-print-wrapper,.receipt-print-wrapper *{visibility:visible}.receipt-print-wrapper{display:block!important;position:fixed!important;top:0!important;left:0!important;width:72mm!important;background:#fff!important}.receipt{width:72mm;margin:0;padding:3mm;color:#000!important;background:#fff!important;font-family:Courier New,Courier,monospace!important}.receipt *{color:#000!important;background:transparent!important}}.timeline{position:relative;padding:.5rem 0}.timeline:before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:var(--border)}.timeline-item{position:relative;padding:0 0 1.25rem 2.25rem}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:0;top:3px;width:24px;height:24px;border-radius:50%;border:2px solid var(--border);background:var(--panel);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;z-index:1}.timeline-dot.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 0 0 3px #4f8cff33}.timeline-dot.completed{border-color:var(--green);background:var(--green);color:#fff}.timeline-dot.cancelled{border-color:var(--red);background:var(--red);color:#fff}.timeline-content{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.6rem .9rem}.timeline-title{font-size:.88rem;font-weight:600;text-transform:capitalize;margin-bottom:.15rem}.timeline-meta{font-size:.78rem;color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.layout{flex-direction:column}.sidebar{position:fixed;top:0;left:0;right:0;width:100%;height:auto;max-height:100vh;padding:.75rem;z-index:100;border-right:none;border-bottom:1px solid var(--border);transform:translateY(-100%);transition:transform .25s ease}.sidebar.open{transform:translateY(0);overflow-y:auto}.sidebar h2{margin:0 0 .75rem;font-size:1.1rem}.sidebar a{padding:.5rem .75rem;font-size:.9rem}.main{margin-left:0!important;padding:3.5rem .75rem 1rem!important;width:100%}.mobile-menu-btn{display:flex!important;position:fixed;top:.5rem;left:.5rem;z-index:101;background:var(--panel);border:1px solid var(--border);color:var(--fg);padding:.4rem .7rem;border-radius:6px;cursor:pointer;font-size:1.2rem;align-items:center;justify-content:center}h1{font-size:1.4rem}h2{font-size:1.2rem}h3{font-size:1rem}.card{padding:.75rem}table{font-size:.82rem}th,td{padding:.4rem .3rem}.form-row{margin-bottom:.5rem}input,select,textarea,button{font-size:.95rem!important}div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}.card *{min-width:0!important}.card>div[style*=overflow-x]{padding-bottom:.5rem}.card>div[style*=minWidth]{min-width:0!important}.table-wrap,.card>table{display:block;overflow-x:auto}}.mobile-menu-btn{display:none}[data-theme=light] [data-theme=light] [data-theme=light] [data-theme=light] [data-theme=light] [data-theme=light] [data-theme=light] [data-theme=light] [data-theme=light] [data-theme=light] [data-theme=light] [data-theme=light] [data-theme=light] .badge.setup,[data-theme=light] [data-theme=light] [data-theme=light] [data-theme=light] [data-theme=light] .badge.received{background:#dbeafe;color:#1e3a8a}[data-theme=light] .badge.in_review{background:#fef3c7;color:#713f12}[data-theme=light] .badge.in_production{background:#d1fae5;color:#14532d}[data-theme=light] .badge.quality_check{background:#e9d5ff;color:#581c87}[data-theme=light] .badge.ready_to_ship{background:#cffafe;color:#164e63}[data-theme=light] .badge.shipped{background:#bfdbfe;color:#1e40af}[data-theme=light] .badge.completed{background:#bbf7d0;color:#166534}[data-theme=light] .badge.on_hold{background:#fecaca;color:#7f1d1d}[data-theme=light] .badge.cancelled{background:#fca5a5;color:#7f1d1d}[data-theme=light] .badge.declined{background:#f5d0fe;color:#6b21a8}[data-theme=light] .badge.waiting_approval{background:#fef08a;color:#713f12}[data-theme=light] .badge.approved{background:#86efac;color:#14532d}[data-theme=light] .badge.setup{background:#e5e7eb;color:#374151}[data-theme=light] .badge.setup_step{background:#f3f4f6;color:#4b5563}[data-theme=light] .badge.paid{background:#6ee7b7;color:#064e3b}[data-theme=light] .badge.unpaid{background:#fca5a5;color:#7f1d1d}[data-theme=light] .badge.pending{background:#fde047;color:#713f12}
