@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";:root{--bg-app:#10121b;--surface-header:#141722;--surface-table:#141722;--surface-hover:#ffffff08;--border-subtle:#ffffff1f;--border-strong:#ffffff40;--text-primary:#fff;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--brand-accent:#3b82f6;--brand-accent-hover:#2563eb;--color-new:#00d27a;--color-pending:#f0a142;--color-closed:#94a3b8;--purple-text:#c084fc}[data-theme=light]{--bg-app:#f8fafc;--surface-header:#fff;--surface-table:#fff;--surface-hover:#00000005;--border-subtle:#e2e8f0;--border-strong:#cbd5e1;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--purple-text:#9333ea}*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:var(--bg-app);color:var(--text-primary);margin:0;font-family:Inter,-apple-system,sans-serif;overflow:hidden}button{cursor:pointer;border:none;font-family:inherit;transition:all .2s}.btn-upload{background:var(--brand-accent);color:#fff;border-radius:8px;align-items:center;padding:8px 16px;font-size:.85rem;display:inline-flex}.btn-upload:hover:not(:disabled){background:var(--brand-accent-hover)}.btn-upload:disabled{opacity:.5;cursor:not-allowed}.btn-export{color:var(--text-primary);border:1px solid var(--border-strong);background:0 0;border-radius:8px;align-items:center;padding:8px 16px;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.btn-export:hover{background:var(--surface-hover)}.theme-toggle-icon{width:36px;height:36px;color:var(--text-muted);border:1px solid var(--border-subtle);background:0 0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.theme-toggle-icon:hover{color:var(--text-primary);border-color:var(--border-strong)}.spinner{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.search-bar{border:1px solid var(--border-subtle);background:#ffffff08;border-radius:8px;align-items:center;width:380px;height:40px;padding:0 12px;display:flex}[data-theme=light] .search-bar{background:#f1f5f9}.search-bar:focus-within{border-color:var(--brand-accent)}.search-icon{color:var(--text-muted);margin-right:8px}.search-bar input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:.85rem}.search-bar input::placeholder{color:var(--text-muted)}.btn-add{border:1px solid var(--purple-text);color:var(--purple-text);background:0 0;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.8rem;font-weight:700;display:flex}.btn-add:hover{background:#c084fc1a}.table-container{border:1px solid var(--border-subtle);background:var(--surface-table);border-radius:8px;flex:1;width:100%;max-width:100%;overflow:auto}.table-container::-webkit-scrollbar{width:8px;height:8px}.table-container::-webkit-scrollbar-track{background:var(--bg-app)}.table-container::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.custom-data-table{border-collapse:collapse;width:100%;min-width:1800px}.custom-data-table thead th{background:var(--surface-table);z-index:2;text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-strong);border-right:1px solid var(--border-subtle);padding:14px 16px;font-size:.75rem;font-weight:800;position:sticky;top:0}.custom-data-table tbody tr{border-bottom:1px solid var(--border-subtle);border-left:3px solid #0000;transition:background .15s}.custom-data-table tbody tr:nth-child(2n){background:#ffffff04}[data-theme=light] .custom-data-table tbody tr:nth-child(2n){background:#00000003}.custom-data-table tbody tr:hover{background:var(--surface-hover)!important}.custom-data-table td{white-space:nowrap;border-right:1px solid var(--border-subtle);padding:14px 16px;font-size:.9rem}.truncate-cell{white-space:normal;word-break:break-word;min-width:250px;line-height:1.4}.status-new{border-left-color:var(--color-new)!important}.status-new .status-cell{color:var(--color-new);font-weight:800}.status-pending{border-left-color:var(--color-pending)!important}.status-pending .status-cell{color:var(--color-pending);font-weight:800}.status-closed{border-left-color:var(--color-closed)!important}.status-closed .status-cell{color:var(--color-closed);font-weight:800}.status-default .status-cell{color:var(--text-secondary);font-weight:700}.wip-badge{border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 8px;font-size:.75rem;font-weight:800;display:inline-flex}.wip-badge.danger{color:#ef4444;background:#ef444426}.wip-badge.warning{color:#f59e0b;background:#f59e0b26}.wip-badge.default{color:var(--text-secondary);background:#94a3b826}[data-theme=light] .wip-badge.danger{color:#b91c1c;background:#fee2e2}[data-theme=light] .wip-badge.warning{color:#b45309;background:#fef3c7}[data-theme=light] .wip-badge.default{color:#475569;background:#f1f5f9}.remarks-textarea{width:100%;min-height:40px;color:inherit;resize:vertical;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;padding:4px 8px;font-family:inherit;font-size:.85rem;transition:all .2s}.remarks-textarea:hover{border-color:var(--border-subtle);background:#ffffff0d}[data-theme=light] .remarks-textarea:hover{background:#00000008}.remarks-textarea:focus{background:var(--bg-app);border-color:var(--brand-accent);box-shadow:0 0 0 2px #3b82f61a}.header-content{justify-content:space-between;align-items:center;gap:8px;display:flex}.filter-trigger{color:var(--text-muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:inline-flex}.filter-trigger:hover,.filter-trigger.active{color:var(--brand-accent);background:#3b82f61a}.filter-popover{background:var(--surface-header);border:1px solid var(--border-strong);z-index:100;text-transform:none;letter-spacing:normal;border-radius:8px;flex-direction:column;width:240px;max-height:400px;margin-top:8px;display:flex;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 10px 25px -5px #0006,0 8px 10px -6px #0006}[data-theme=light] .filter-popover{background:#fff;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.filter-popover-header{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:10px;padding:12px;display:flex}.filter-search{background:var(--bg-app);border:1px solid var(--border-subtle);width:100%;color:var(--text-primary);border-radius:4px;outline:none;padding:6px 10px;font-size:.8rem}.filter-search:focus{border-color:var(--brand-accent)}.filter-actions{gap:8px;display:flex}.filter-actions button{color:var(--text-secondary);border:1px solid var(--border-subtle);background:0 0;border-radius:4px;flex:1;padding:6px;font-size:.7rem;font-weight:700}.filter-actions button:hover{background:var(--surface-hover);color:var(--text-primary)}.filter-list{flex:1;padding:8px 0;overflow-y:auto}.filter-list::-webkit-scrollbar{width:6px}.filter-list::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:3px}.filter-item{cursor:pointer;color:var(--text-primary);align-items:center;gap:10px;padding:6px 16px;font-size:.85rem;display:flex}.filter-item:hover{background:var(--surface-hover)}.filter-item input[type=checkbox]{width:14px;height:14px;accent-color:var(--brand-accent)}.filter-footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;padding:10px 12px;display:flex}.btn-filter-apply{background:var(--brand-accent);color:#fff;border-radius:6px;padding:8px 16px;font-size:.85rem;font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface-header);border:1px solid var(--border-strong);border-radius:12px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;box-shadow:0 25px 50px -12px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{letter-spacing:.01em;margin:0;font-size:1.15rem;font-weight:800}.modal-close{color:var(--text-muted);background:0 0;border-radius:6px;padding:4px}.modal-close:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-body{flex-direction:column;gap:20px;padding:24px;display:flex;overflow-y:auto}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group.full{grid-column:span 2}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:800}.form-group input,.form-group select,.form-group textarea{background:var(--bg-app);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:6px;outline:none;padding:10px 12px;font-family:inherit;font-size:.85rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--brand-accent);box-shadow:0 0 0 2px #3b82f626}.form-group textarea{resize:vertical;min-height:80px}.modal-footer{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.btn-secondary{border:1px solid var(--border-strong);color:var(--text-primary);background:0 0;border-radius:8px;padding:10px 20px;font-size:.85rem;font-weight:700}.btn-secondary:hover{background:var(--surface-hover)}.btn-primary{background:var(--brand-accent);color:#fff;border-radius:8px;padding:10px 24px;font-size:.85rem;font-weight:700}.btn-primary:hover{background:var(--brand-accent-hover)}.city-stats-container{border-left:2px solid var(--border-subtle);scrollbar-width:none;align-items:center;gap:10px;max-width:none;padding:0 16px;display:flex;overflow-x:auto}.city-stats-container::-webkit-scrollbar{display:none}.city-pill{border:1px solid var(--border-strong);white-space:nowrap;background:#ffffff14;border-radius:24px;align-items:center;padding:4px 6px 4px 14px;animation:.3s ease-out fadeIn;display:flex;box-shadow:0 2px 4px #0000000d}[data-theme=light] .city-pill{background:#0000000a}.city-name{color:var(--text-primary);margin-right:10px;font-size:.85rem;font-weight:700}.city-count{background:var(--brand-accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 8px;font-size:.8rem;font-weight:800;display:inline-flex}.city-pill.active{background:var(--brand-accent)!important;border-color:var(--brand-accent)!important}.city-pill.active .city-name{color:#fff!important}.city-pill.active .city-count{color:var(--brand-accent)!important;background:#fff!important}.login-page{background:#0f111a;justify-content:center;align-items:center;width:100vw;height:100vh;font-family:Inter,sans-serif;display:flex;position:relative;overflow:hidden}.login-bg-blob{filter:blur(80px);z-index:0;background:radial-gradient(circle,#3b82f626 0%,#0000 70%);border-radius:50%;width:500px;height:500px;animation:20s infinite alternate float;position:absolute}.blob-1{background:radial-gradient(circle,#6366f133 0%,#0000 70%);top:-100px;right:-100px}.blob-2{background:radial-gradient(circle,#3b82f633 0%,#0000 70%);bottom:-100px;left:-100px}@keyframes float{0%{transform:translate(0)scale(1)}to{transform:translate(40px,40px)scale(1.1)}}.login-card-container{z-index:10;width:100%;max-width:440px;padding:20px;animation:.8s cubic-bezier(.16,1,.3,1) loginFadeUp;position:relative}@keyframes loginFadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#141722cc;border:1px solid #ffffff14;border-radius:24px;padding:48px;box-shadow:0 25px 50px -12px #00000080}.login-header{text-align:center;margin-bottom:40px}.login-logo{background:linear-gradient(135deg, var(--brand-accent), #6366f1);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 24px;display:flex;box-shadow:0 10px 20px -5px #3b82f680}.login-header h1{color:#fff;letter-spacing:-.02em;margin:0 0 10px;font-size:1.75rem;font-weight:800}.login-header p{color:var(--text-muted);margin:0;font-size:.95rem}.login-form{flex-direction:column;gap:24px;display:flex}.login-input-group{flex-direction:column;gap:8px;display:flex}.login-input-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding-left:4px;font-size:.75rem;font-weight:700}.login-input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:16px}.login-input-wrapper input{color:#fff;background:#ffffff08;border:1px solid #ffffff1a;border-radius:14px;outline:none;width:100%;padding:14px 16px 14px 48px;font-size:1rem;transition:all .3s}.login-input-wrapper input:focus{border-color:var(--brand-accent);background:#ffffff0f;box-shadow:0 0 0 4px #3b82f61a}.password-toggle{color:var(--text-muted);background:0 0;padding:4px;position:absolute;right:16px}.password-toggle:hover{color:#fff}.login-error{color:#f87171;text-align:center;background:#ef44441a;border:1px solid #ef444433;border-radius:10px;padding:12px;font-size:.85rem}.login-submit-btn{background:linear-gradient(135deg, var(--brand-accent), #4f46e5);color:#fff;border-radius:14px;justify-content:center;align-items:center;gap:10px;margin-top:8px;padding:16px;font-size:1rem;font-weight:700;display:flex;box-shadow:0 10px 15px -3px #3b82f64d}.login-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 20px -5px #3b82f666}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.login-spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite loginSpin}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-footer{text-align:center;margin-top:40px}.login-footer p{color:var(--text-muted);opacity:.6;font-size:.75rem}.dashboard-overview{--background:#f8fafc;--surface:#fff;--surface-subtle:#eef2ff;--border:#dbe3f1;--text:#0f172a;--muted:#64748b;--accent:#4f46e5;--accent-strong:#4338ca;--accent-soft:#eef2ff;--accent-tint:#4f46e514;--accent-ring:#4f46e52e;--warning:#a15c00;--danger:#b3261e;--primary-blue:#2563eb;--table-row-bg:#f8fbff;--table-hover-bg:#edf4ff;--danger-bg:#fff2f1;--success-pill-bg:#eefbf4;--success-pill-text:#047857;background:var(--background);color:var(--text);flex-direction:column;gap:24px;height:100%;padding:24px 32px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;overflow-y:auto}.eyebrow-text{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.75rem;font-weight:800}.metric-large{color:var(--accent);margin-bottom:4px;font-size:2.25rem;font-weight:800;line-height:1}.metric-medium{color:var(--accent);margin-bottom:4px;font-size:1.5rem;font-weight:800;line-height:1}.metric-sub{color:var(--text);font-size:.85rem;font-weight:600}.muted-sub{color:var(--muted);margin-top:4px;font-size:.8rem;font-weight:500}.top-metrics-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.overview-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;padding:20px;display:flex;box-shadow:0 2px 4px #00000005}.dense-table{border-collapse:collapse;width:100%;font-size:13px}.dense-table th,.dense-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px}.dense-table th{color:var(--muted);text-transform:uppercase;background:var(--surface-subtle);font-size:11px;font-weight:700}.dense-table tr:hover{background:var(--table-hover-bg)}.dense-table tr{background:var(--surface)}.val-col{color:var(--accent);font-weight:700;text-align:right!important}.view-tabs{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:4px;padding:4px;display:flex}.view-tab{color:var(--muted);background:0 0;border-radius:6px;padding:6px 16px;font-size:.85rem;font-weight:600}.view-tab.active{background:var(--accent-soft);color:var(--accent-strong);box-shadow:0 1px 2px #0000000d}.view-tab:hover:not(.active){background:var(--background);color:var(--text)}.operational-analytics-container{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;margin-bottom:24px;padding:24px;display:flex;box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000003}.operational-analytics-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.operational-analytics-title{color:var(--text);letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:800}.rows-pill{color:#64748b;letter-spacing:.02em;background:#f1f5f9;border-radius:9999px;padding:4px 10px;font-size:.75rem;font-weight:700}.region-filter-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px;margin-bottom:20px;padding-bottom:16px;display:flex}.region-filter-tab{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;padding:6px 12px;font-size:.8rem;font-weight:700;transition:all .15s;display:inline-flex}.region-filter-tab:hover:not(.active){border-color:var(--accent);background:var(--background)}.region-filter-tab.active{border:2px solid var(--accent);background:var(--accent-tint);color:var(--accent-strong);padding:5px 11px}.tab-badge{color:#64748b;background:#f1f5f9;border-radius:9999px;margin-left:8px;padding:2px 6px;font-size:.7rem;font-weight:800;transition:all .15s}.region-filter-tab.active .tab-badge{background:var(--accent-soft);color:var(--accent-strong)}.status-cards-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.status-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;min-height:56px;padding:12px 16px;transition:all .15s;display:flex;box-shadow:0 1px 2px #00000003}.status-card:hover{border-color:var(--accent);background:var(--accent-tint);cursor:pointer;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000000a}.status-card-label{color:var(--text);padding-right:8px;font-size:.85rem;font-weight:700;line-height:1.3}.status-card-value{color:var(--accent);font-size:1.35rem;font-weight:800;line-height:1}.product-type-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:16px;display:grid}.product-card{background:var(--surface);border:1.5px solid var(--accent-ring);border-radius:12px;flex-direction:column;padding:24px;transition:all .2s;display:flex;box-shadow:0 4px 6px -1px #00000005,0 2px 4px -1px #00000003}.product-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 10px 15px -3px #4f46e50d,0 4px 6px -2px #4f46e505}.product-card-header{background:var(--accent-soft);border-radius:10px;flex-direction:column;align-items:flex-start;width:100%;margin-bottom:20px;padding:16px 20px;transition:all .2s;display:flex}.product-card-header:hover{box-shadow:0 4px 12px #4f46e514;background:#4f46e529!important}.product-card-title{color:var(--text);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:800}.product-card-value{color:var(--accent);margin:12px 0 6px;font-size:2.75rem;font-weight:850;line-height:1.1}.product-card-sub{color:var(--muted);font-size:.8rem;font-weight:600}.product-card-divider{background:var(--border);height:1px;margin:18px 0}.product-card-list{flex-direction:column;gap:8px;display:flex}.product-card-row{background:var(--surface-subtle);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:.8rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.product-card-row:hover{background:#4f46e524;transform:translateY(-1px);box-shadow:0 4px 8px #4f46e50f}.product-card-row-name{color:var(--text);text-transform:uppercase;font-weight:700}.product-card-row-badge{background:var(--surface);color:var(--accent-strong);border-radius:9999px;justify-content:center;align-items:center;min-width:24px;height:20px;padding:0 8px;font-size:.75rem;font-weight:850;display:flex;box-shadow:0 1px 2px #0000000d}.remarks-click-zone{border-radius:6px;padding:4px 8px;transition:all .15s}.remarks-click-zone:hover{background:var(--accent-tint)}.overview-card.clickable{transition:all .15s}.overview-card.clickable:hover{border-color:var(--accent);background:var(--accent-tint);box-shadow:0 4px 6px -1px #0000000a}
