*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f4f6ff;--surface: #ffffff;--surface2: #eef0fb;--border: #dde0f5;--border2: #c9cef0;--text: #111827;--text2: #6b7280;--text3: #9ca3af;--primary: #4f46e5;--primary-light: #6366f1;--primary-pale: #eef2ff;--primary-dark: #3730a3;--primary-fg: #ffffff;--green: #16a34a;--green-bg: #dcfce7;--red: #dc2626;--red-bg: #fee2e2;--amber: #d97706;--amber-bg: #fef3c7;--blue: #2563eb;--blue-bg: #dbeafe;--sidebar-w: 220px;--sidebar-from: #312e81;--sidebar-to: #1e1b6b}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,select,textarea{font-family:inherit;outline:none}.layout{display:flex;min-height:100vh}.main{flex:1;margin-left:var(--sidebar-w);overflow-y:auto}.page{padding:32px 40px;max-width:1200px}.page-title{font-size:24px;font-weight:800;margin-bottom:28px;color:var(--text)}.sidebar{width:var(--sidebar-w);background:linear-gradient(180deg,var(--sidebar-from) 0%,var(--sidebar-to) 100%);position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;z-index:100}.sidebar-logo{padding:24px 20px 20px;border-bottom:1px solid #ffffff18}.sidebar-logo-text{font-size:22px;font-weight:900;color:#fff;letter-spacing:-.5px}.sidebar-logo-sub{font-size:10px;color:#a5b4fc;margin-top:2px;text-transform:uppercase;letter-spacing:1px}.sidebar-nav{flex:1;padding:12px 10px;overflow-y:auto}.nav-section{font-size:10px;color:#7c72d8;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:12px 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;color:#c7d2fe;font-size:13px;font-weight:500;margin-bottom:2px;transition:all .15s}.nav-item:hover{background:#ffffff1f;color:#fff}.nav-item.active{background:#fff2;color:#fff;font-weight:700}.nav-item .icon{font-size:16px;width:20px;text-align:center}.sidebar-footer{padding:16px;border-top:1px solid #ffffff18}.sidebar-user{font-size:12px;color:#a5b4fc}.sidebar-user strong{color:#fff;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:20px;box-shadow:0 1px 3px #4f46e50f}.card-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border-radius:9px;font-size:13px;font-weight:700;transition:all .15s}.btn-amber{background:var(--primary);color:#fff}.btn-amber:hover{background:var(--primary-dark)}.btn-dark{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-dark:hover{background:var(--border)}.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border2)}.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}.btn-red{background:var(--red-bg);color:var(--red)}.btn-green{background:var(--green-bg);color:var(--green)}.btn-sm{padding:6px 12px;font-size:12px;border-radius:7px}.btn-full{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.form-group{margin-bottom:16px}.form-label{display:block;font-size:11px;font-weight:700;color:var(--text2);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;padding:10px 13px;background:#fff;border:1px solid var(--border2);border-radius:8px;color:var(--text);font-size:13px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11f}.form-input::placeholder{color:var(--text3)}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}.badge-green{background:var(--green-bg);color:var(--green)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-amber{background:var(--amber-bg);color:var(--amber)}.badge-blue{background:var(--blue-bg);color:var(--blue)}.badge-gray{background:var(--surface2);color:var(--text2)}.badge-purple{background:#f3e8ff;color:#7c3aed}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;border-bottom:2px solid var(--border);background:var(--surface)}td{padding:13px 14px;border-bottom:1px solid var(--border);font-size:13px;color:var(--text);background:var(--surface)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--primary-pale)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 1px 3px #4f46e50f}.kpi-label{font-size:11px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.kpi-value{font-size:28px;font-weight:800;color:var(--text)}.kpi-sub{font-size:12px;color:var(--text3);margin-top:4px}.alert{padding:11px 14px;border-radius:9px;font-size:13px;margin-bottom:16px;font-weight:500}.alert-error{background:var(--red-bg);color:var(--red)}.alert-success{background:var(--green-bg);color:var(--green)}.alert-info{background:var(--blue-bg);color:var(--blue)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #4f46e52e}.modal-title{font-size:18px;font-weight:800;margin-bottom:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.terminal{display:flex;height:100vh;overflow:hidden}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;overflow-y:auto;flex:1}.product-card{background:#0ea5e9;border:1px solid #38bdf8;border-radius:12px;padding:14px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:6px;text-align:left;box-shadow:0 2px 8px #0ea5e94d}.product-card:hover{border-color:#7dd3fc;background:#38bdf8;box-shadow:0 6px 18px #0ea5e973;transform:translateY(-2px)}.product-card-name{font-size:13px;font-weight:700;color:#fff}.product-card-price{font-size:16px;font-weight:800;color:#fff}.product-card-cat{font-size:10px;color:var(--text3)}.cart-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface2);border-radius:10px;margin-bottom:8px;border:1px solid var(--border)}.qty-btn{width:26px;height:26px;border-radius:6px;background:var(--surface);border:1px solid var(--border2);color:var(--text);font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.qty-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.pin-pad{max-width:320px;margin:0 auto}.pin-display{background:var(--surface2);border:2px solid var(--border2);border-radius:12px;padding:16px;text-align:center;font-size:28px;letter-spacing:12px;margin-bottom:16px;min-height:64px}.pin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pin-key{padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:12px;font-size:20px;font-weight:700;cursor:pointer;transition:all .15s;text-align:center;color:var(--text);box-shadow:0 1px 3px #0000000f}.pin-key:hover{background:var(--primary);border-color:var(--primary);color:#fff}.pin-key.amber{background:var(--primary);color:#fff;border-color:var(--primary)}.pin-key.red{background:var(--red-bg);color:var(--red);border-color:transparent}.pipeline-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.pipeline-col{background:var(--surface2);border-radius:12px;padding:14px;border:1px solid var(--border)}.pipeline-col-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;color:var(--text2)}.job-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:8px;cursor:pointer;box-shadow:0 1px 2px #0000000a}.job-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #4f46e51f}.job-card-ref{font-size:11px;color:var(--primary);font-weight:700}.job-card-name{font-size:13px;font-weight:600;margin-top:2px}.job-card-garment{font-size:12px;color:var(--text2)}.job-card-due{font-size:11px;color:var(--text3);margin-top:6px}.spinner{display:inline-block;width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.spinner-sm{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;align-items:center;justify-content:center;padding:60px}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#eef2ff,#f4f6ff,#ede9fe)}.auth-box{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:40px;width:100%;max-width:420px;box-shadow:0 20px 60px #4f46e524}.auth-logo{font-size:32px;font-weight:900;color:var(--primary);margin-bottom:8px;letter-spacing:-1px}.auth-sub{color:var(--text2);font-size:14px;margin-bottom:32px}.auth-footer{text-align:center;margin-top:20px;font-size:13px;color:var(--text2)}.auth-footer a{color:var(--primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}@media (max-width: 768px){.hide-on-mobile{display:none}}
