@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--brand-primary:#6c63ff;--brand-secondary:#ff6584;--brand-accent:#43e97b;--brand-warning:#f7971e;--brand-danger:#ef4444;--surface-bg:#0d0d1a;--surface-card:#13131f;--surface-elevated:#1a1a2e;--surface-hover:#1f1f35;--surface-border:#6c63ff26;--text-primary:#f0f0ff;--text-secondary:#8888a8;--text-muted:#555570;--transition:.2s cubic-bezier(.4, 0, .2, 1);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 20px #0006;--shadow-glow:0 0 24px #6c63ff33}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}body{background:var(--surface-bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;width:100%;min-height:100vh;font-family:Inter,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{max-width:100%;font-family:inherit}img,svg,canvas,video{max-width:100%;height:auto}.app-shell{grid-template-rows:64px 1fr;grid-template-columns:240px 1fr;min-height:100vh;display:grid}.main-content{background:var(--surface-bg);grid-area:2/2;min-width:0;max-width:100%;padding:28px 32px;overflow:hidden auto}.sidebar-toggle{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-primary);cursor:pointer;transition:var(--transition);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;margin-left:8px;display:none}.sidebar-toggle:hover{background:var(--surface-hover);border-color:var(--surface-border)}.sidebar-toggle:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.sidebar-backdrop{z-index:150;opacity:0;pointer-events:none;background:#00000080;transition:opacity .2s;display:none;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1;pointer-events:auto}@media (width<=900px){.app-shell{grid-template-columns:1fr}.main-content{grid-column:1;padding:20px}.topbar{gap:4px;padding:0 8px 0 0}.topbar-brand{border-right:none;flex-shrink:1;width:auto;min-width:0;padding:0 8px}.topbar-brand .logo-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-right{flex-shrink:1;gap:6px;min-width:0}.org-selector{min-width:0;max-width:38vw;padding:4px 8px}.org-selector select{text-overflow:ellipsis;min-width:0;max-width:100%}.user-chip span{display:none}.user-chip{padding:4px}.sidebar-toggle{flex-shrink:0;display:flex}.sidebar{z-index:200;width:min(280px,85vw);transition:transform .22s;display:flex;position:fixed;top:64px;bottom:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0006}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block}}@media (width<=480px){.topbar-brand .logo-text{display:none}.main-content{padding:16px 12px}.card{padding:16px}.page-header{margin-bottom:20px}.page-title{font-size:1.25rem}}@media (width<=600px){.card,.table-container,.empty-state,.table-container td,.table-container th,.table-container tr,.card span,.card p,.card div,.card label{overflow-wrap:anywhere;word-break:break-word}.card>*{min-width:0;max-width:100%}input,select,textarea,button{max-width:100%}.form-row,.form-group,.filter-bar{flex-wrap:wrap;gap:8px}.form-row>*,.form-group>*,.filter-bar>*{flex:auto;min-width:0;max-width:100%}.chart-card{overflow:hidden}.table-container td>div[style*="display: flex"],.table-container td>div[style*=display\:flex]{flex-wrap:wrap;justify-content:flex-end;min-width:0;max-width:100%}}.topbar{background:var(--surface-card);border-bottom:1px solid var(--surface-border);z-index:100;grid-area:1/1/auto/-1;justify-content:space-between;align-items:center;padding:0 24px 0 0;display:flex}.topbar-brand{border-right:1px solid var(--surface-border);background:linear-gradient(135deg,#6c63ff22,#6c63ff11);align-items:center;gap:12px;width:240px;height:100%;padding:0 24px;display:flex}.topbar-brand .logo-text{background:linear-gradient(135deg,#6c63ff,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.1rem;font-weight:700}.topbar-right{align-items:center;gap:16px;display:flex}.org-selector{background:var(--surface-elevated);border:1px solid var(--surface-border);color:var(--text-secondary);cursor:pointer;transition:var(--transition);border-radius:40px;align-items:center;gap:8px;padding:6px 14px;font-size:.85rem;display:flex}.org-selector:hover{border-color:var(--brand-primary);color:var(--text-primary)}.org-selector select{color:var(--text-primary);cursor:pointer;background:0 0;border:none;outline:none;font-size:.85rem}.org-selector select option{background:var(--surface-elevated)}.user-chip{background:var(--surface-elevated);border:1px solid var(--surface-border);border-radius:40px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-size:.83rem;display:flex}.user-chip .avatar{background:linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:flex}.sidebar{background:var(--surface-card);border-right:1px solid var(--surface-border);flex-direction:column;grid-area:2/1;gap:4px;padding:16px 12px;display:flex;overflow-y:auto}.sidebar-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:12px 12px 6px;font-size:.68rem;font-weight:600}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition);cursor:pointer;align-items:center;gap:10px;padding:9px 14px;font-size:.88rem;display:flex}.nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-item.active{color:var(--brand-primary);border-left:3px solid var(--brand-primary);background:linear-gradient(135deg,#6c63ff33,#6c63ff14);font-weight:500}.nav-item .badge{background:var(--brand-danger);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:.7rem;font-weight:600;display:flex}.card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);transition:var(--transition);min-width:0;max-width:100%;padding:24px}.card:hover{box-shadow:var(--shadow-glow);border-color:#6c63ff4d}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;margin-bottom:28px;display:grid}@media (width<=600px){.kpi-grid{grid-template-columns:1fr}}.kpi-card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);transition:var(--transition);align-items:flex-start;gap:16px;padding:22px 24px;display:flex;position:relative;overflow:hidden}.kpi-card:before{content:"";background:linear-gradient(135deg, var(--kpi-color,#6c63ff)22, transparent 60%);pointer-events:none;position:absolute;inset:0}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-icon{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--kpi-color,#6c63ff) 15%, transparent);width:44px;height:44px;color:var(--kpi-color,#6c63ff);flex-shrink:0;justify-content:center;align-items:center;display:flex}.kpi-body{flex:1;min-width:0}.kpi-label{color:var(--text-secondary);margin-bottom:4px;font-size:.78rem}.kpi-value{color:var(--text-primary);font-size:1.55rem;font-weight:700}.kpi-sub{color:var(--text-muted);margin-top:2px;font-size:.75rem}.page-header{margin-bottom:28px}.page-title{margin-bottom:4px;font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--text-secondary);font-size:.88rem}.table-container{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch;max-width:100%;overflow:auto hidden}@media (width<=600px){.table-container{overflow-x:visible}.table-container table,.table-container thead,.table-container tbody,.table-container tr,.table-container td{width:100%;display:block}.table-container thead{display:none}.table-container tbody tr{border-bottom:1px solid var(--surface-border);padding:12px 16px}.table-container tbody tr:last-child{border-bottom:none}.table-container tbody td{text-align:right;color:var(--text-primary);border:none;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.table-container tbody td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:left;flex-shrink:0;font-size:.7rem;font-weight:600}.table-container tbody td:not([data-label]),.table-container tbody td[data-label=""]{display:none}}.table-header{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.table-title{font-size:1rem;font-weight:600}table{border-collapse:collapse;width:100%}thead th{text-align:left;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-elevated);border-bottom:1px solid var(--surface-border);padding:12px 24px;font-size:.75rem;font-weight:600}tbody tr{border-bottom:1px solid var(--surface-border);transition:var(--transition)}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--surface-hover)}tbody td{color:var(--text-secondary);padding:14px 24px;font-size:.88rem}tbody td:first-child{color:var(--text-primary)}.status-badge{border-radius:20px;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.status-pending{color:#f7971e;background:#f7971e26}.status-approved{color:#43e97b;background:#43e97b26}.status-rejected{color:#ef4444;background:#ef444426}.status-low{color:#ef4444;background:#ef44441f}.status-ok{color:#43e97b;background:#43e97b1f}.btn{border-radius:var(--radius-sm);transition:var(--transition);cursor:pointer;border:none;align-items:center;gap:8px;padding:8px 18px;font-size:.85rem;font-weight:500;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--brand-primary), #8b5cf6);color:#fff;box-shadow:0 2px 12px #6c63ff59}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px #6c63ff80}.btn-success{color:#43e97b;background:#43e97b26;border:1px solid #43e97b4d}.btn-success:hover{background:#43e97b40}.btn-danger{color:#ef4444;background:#ef44441f;border:1px solid #ef444440}.btn-danger:hover{background:#ef444438}.btn-ghost{color:var(--text-secondary);border:1px solid var(--surface-border);background:0 0}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.btn-sm{padding:5px 12px;font-size:.8rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);font-size:.82rem;font-weight:500}.form-input{background:var(--surface-elevated);border:1px solid var(--surface-border);border-radius:var(--radius-sm);color:var(--text-primary);transition:var(--transition);width:100%;padding:10px 14px;font-size:.9rem}.form-input:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #6c63ff26}.form-input::placeholder{color:var(--text-muted)}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=600px){.form-row{grid-template-columns:1fr}}.login-page{background:radial-gradient(ellipse at 30% 20%, #6c63ff1f 0%, transparent 60%), radial-gradient(ellipse at 70% 80%, #ff658414 0%, transparent 60%), var(--surface-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-md), var(--shadow-glow);padding:48px 40px}.login-logo{text-align:center;margin-bottom:32px}.login-logo .brand{background:linear-gradient(135deg,#6c63ff,#a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.6rem;font-weight:800}.login-logo .tagline{color:var(--text-muted);margin-top:4px;font-size:.82rem}.login-form{flex-direction:column;gap:18px;display:flex}.error-msg{border-radius:var(--radius-sm);color:#ef4444;background:#ef44441a;border:1px solid #ef444440;padding:10px 14px;font-size:.83rem}.chart-card{padding:24px}.chart-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.chart-title{font-size:.95rem;font-weight:600}.filters-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.filter-label{color:var(--text-secondary);font-size:.82rem}.loading-container{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:200px;display:flex}.spinner{border:3px solid var(--surface-border);border-top-color:var(--brand-primary);border-radius:50%;width:36px;height:36px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-muted);font-size:.85rem}.empty-state{text-align:center;color:var(--text-muted);padding:60px 24px}.empty-state svg{opacity:.4;margin-bottom:16px}.empty-state p{font-size:.9rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#000000a6;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:var(--radius-xl);width:100%;max-width:500px;box-shadow:var(--shadow-md);padding:32px;animation:.2s cubic-bezier(.34,1.56,.64,1) slideUp}.modal-title{margin-bottom:20px;font-size:1.1rem;font-weight:600}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#6c63ff66}@media (width<=768px){*,:before,:after{min-width:0!important;max-width:100%!important}.topbar svg,.sidebar svg,.nav-item svg,.btn svg,.sidebar-toggle svg,.table-container svg{flex-shrink:0;min-width:auto!important}.grid-2,.grid-3,.grid-stack>div,.kpi-grid,[style*=gridTemplateColumns],[style*=grid-template-columns]{grid-template-columns:1fr!important}[style*="display: flex"]:not([data-nowrap]),[style*=display\:flex]:not([data-nowrap]),.flex-row,.topbar-right,.form-row,.filter-bar,.toolbar{flex-wrap:wrap!important}[style*="display: flex"]:not([data-nowrap])>*,[style*=display\:flex]:not([data-nowrap])>*{min-width:0!important}.app-shell,.main-content,.card,.chart-card,.kpi-card,.table-container,.empty-state,.modal,.modal-content,.drawer,.drawer-content{overflow-y:visible;max-width:100vw!important;overflow-x:hidden!important}@media (width>=601px) and (width<=768px){.table-container{overflow-x:auto!important}}input,select,textarea,button{box-sizing:border-box;min-width:0!important;max-width:100%!important}input[type=date],input[type=datetime-local],input[type=time]{width:100%!important}.main-content{padding:12px!important}.card{padding:16px!important}.chart-card,[style*="padding: 24"],[style*=padding\:24],[style*="padding: 32"],[style*=padding\:32]{padding:12px!important}[style*="gap: 24"],[style*=gap\:24],[style*="gap: 32"],[style*=gap\:32]{gap:12px!important}.card,.card *,.table-container,.table-container *{overflow-wrap:anywhere!important;word-break:break-word!important}.status-badge,.badge{white-space:nowrap;word-break:keep-all!important}.page-title{font-size:1.25rem!important}.page-subtitle{font-size:.85rem!important}.chart-title{font-size:.9rem!important}[style*="font-size: 2"],[style*=font-size\:2],[style*="fontSize: 2"],[style*=fontSize\:2]{font-size:1.5rem!important}.recharts-responsive-container{width:100%!important;max-width:100%!important}.recharts-wrapper,.recharts-surface{max-width:100%!important}@media (width<=600px){.table-container td{padding:6px 0!important}.table-container td>*{max-width:100%!important}}}@media (width<=380px){.main-content{padding:8px!important}.card{padding:12px!important}.page-title{font-size:1.1rem!important}.user-chip{display:none!important}}
