:root{--saffron: #F97316;--teal: #0D9488;--warm-cream: #FFF7ED;--cool-mint: #F0FDFA;--text-dark: #111827;--slate-dark: #1E293B;--footer: #0D0D14;--slate-gray: #64748B;--off-white: #F8FAFC;--danger: #EF4444;--success: #34D399;--border: #E2E8F0;font-family:Inter,sans-serif;color:var(--text-dark)}*{box-sizing:border-box}body{margin:0;background:var(--off-white);color:var(--text-dark)}h1,h2,h3,h4{font-family:Poppins,sans-serif;color:var(--slate-dark);margin:0 0 .5rem}h1{font-size:1.75rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}h3{font-size:1rem;font-weight:600}h4{font-size:.9rem;font-weight:600;color:var(--slate-gray);margin-top:1.5rem}.muted{color:var(--slate-gray);font-size:.9rem}.text-success{color:var(--teal);font-weight:600}.text-danger{color:var(--danger);font-weight:600}.btn{font-family:Inter,sans-serif;font-weight:600;font-size:.9rem;border-radius:10px;padding:.6rem 1.1rem;border:none;cursor:pointer;transition:opacity .15s ease}.btn:hover{opacity:.9}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--saffron);color:#fff}.btn-secondary{background:var(--cool-mint);color:var(--teal);border:1px solid var(--teal)}.btn-ghost{background:transparent;color:var(--slate-gray);border:1px solid var(--border)}.btn-sm{padding:.35rem .7rem;font-size:.8rem}.btn-ghost.danger{color:var(--danger);border-color:var(--danger)}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--warm-cream),var(--cool-mint))}.auth-card{background:#fff;border-radius:16px;padding:2.5rem;width:380px;max-width:90vw;box-shadow:0 10px 40px #11182714;border:1px solid var(--border)}.auth-brand{text-align:center;margin-bottom:1.5rem}.auth-mark{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--saffron);color:#fff;font-family:Poppins,sans-serif;font-weight:700;font-size:.85rem;margin-bottom:.75rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;color:var(--slate-gray)}.auth-form input{padding:.65rem .8rem;border-radius:8px;border:1px solid var(--border);font-size:.95rem;font-family:inherit}.auth-form input:focus{outline:2px solid var(--saffron);outline-offset:1px}.form-error{color:var(--danger);font-size:.85rem;margin:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--slate-dark);color:#fff;display:flex;flex-direction:column;padding:1.5rem 1rem;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:2rem;padding:0 .5rem}.sidebar-title{font-family:Poppins,sans-serif;font-weight:700;font-size:1.1rem}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.sidebar-link{color:#ffffffbf;text-decoration:none;padding:.6rem .75rem;border-radius:8px;font-size:.9rem;font-weight:500}.sidebar-link:hover{background:#ffffff14;color:#fff}.sidebar-link.active{background:var(--saffron);color:#fff}.sidebar-signout{color:#ffffffbf;border-color:#fff3}.app-main{flex:1;padding:2rem 2.5rem;max-width:1400px}.page-loading{padding:3rem;text-align:center;color:var(--slate-gray)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.kpi-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}.kpi-label{font-size:.78rem;color:var(--slate-gray);font-weight:500}.kpi-value{font-family:Poppins,sans-serif;font-size:1.35rem;font-weight:700;color:var(--text-dark)}.kpi-card.tone-success .kpi-value{color:var(--teal)}.kpi-card.tone-warn .kpi-value{color:var(--saffron)}.kpi-card.tone-danger .kpi-value{color:var(--danger)}.alert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.alert-card{border-radius:14px;padding:1rem 1.25rem;border:1px solid var(--border);background:#fff;border-left:4px solid var(--slate-gray)}.alert-card.tone-danger{border-left-color:var(--danger);background:#fef2f2}.alert-card.tone-warn{border-left-color:var(--saffron);background:var(--warm-cream)}.alert-card h3{margin-bottom:.5rem}.alert-card ul{margin:0;padding-left:1.1rem;font-size:.85rem}.alert-card li{margin-bottom:.25rem}.gst-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.gst-bar-fill{height:100%;background:var(--saffron)}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1.25rem}.chart-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.25rem}.table-wrap{background:#fff;border:1px solid var(--border);border-radius:14px;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th,.data-table td{padding:.7rem .9rem;text-align:left;white-space:nowrap}.data-table thead th{background:var(--off-white);color:var(--slate-gray);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--border)}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table tbody tr{border-bottom:1px solid var(--border)}.data-table tbody tr:last-child{border-bottom:none}.notes-cell{white-space:normal;max-width:240px}.empty-row{text-align:center;color:var(--slate-gray);padding:2rem;white-space:normal}.row-actions{display:flex;gap:.4rem}.status-pill{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--pill-color, var(--slate-gray));background:color-mix(in srgb,var(--pill-color, var(--slate-gray)) 15%,white)}.risk-tag{color:var(--danger);font-weight:600;font-size:.78rem}.filter-bar{display:flex;align-items:flex-end;gap:1.25rem;margin-bottom:1rem;flex-wrap:wrap}.filter-bar label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:var(--slate-gray);font-weight:500}.filter-bar select,.filter-bar input{padding:.5rem .7rem;border-radius:8px;border:1px solid var(--border);font-family:inherit}.filter-total{font-size:.9rem;margin-left:auto}.view-switcher{display:flex;gap:.3rem;background:var(--off-white);border-radius:10px;padding:.25rem}.view-tab{border:none;background:transparent;padding:.5rem .9rem;border-radius:8px;font-size:.85rem;font-weight:500;color:var(--slate-gray);cursor:pointer}.view-tab.active{background:#fff;color:var(--text-dark);box-shadow:0 1px 3px #00000014}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182780;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1rem;overflow-y:auto;z-index:50}.modal-card{background:#fff;border-radius:16px;width:640px;max-width:100%;padding:1.75rem}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.modal-close{background:none;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--slate-gray)}.entity-form{display:flex;flex-direction:column;gap:.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.form-grid label,.entity-form>label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:500;color:var(--slate-gray)}.form-grid input,.form-grid select,.entity-form input,.entity-form select,.entity-form textarea{padding:.55rem .7rem;border-radius:8px;border:1px solid var(--border);font-family:inherit;font-size:.9rem;color:var(--text-dark)}.checkbox-field{flex-direction:row!important;align-items:center;gap:.5rem!important}.checkbox-field input{width:auto}.readonly-field input{background:var(--off-white);color:var(--slate-gray)}.full-width{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;align-items:center;margin-top:1rem}.settings-section{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.5rem;margin-bottom:1.25rem}.settings-subsection{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.factor-list{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.5rem;font-size:.85rem}.factor-list li{display:flex;align-items:center;gap:.75rem}.totp-enroll{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;align-items:flex-start}.totp-qr{width:180px;height:180px;border:1px solid var(--border);border-radius:8px}
