:root{color:#0f172a;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f8fafc}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.boot-screen,.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,rgba(6,182,212,.2),transparent 34rem),radial-gradient(circle at bottom right,rgba(15,23,42,.12),transparent 28rem),#f8fafc}.boot-screen{color:#475569}.login-card{width:min(440px,100%);padding:34px;border:1px solid #e2e8f0;border-radius:28px;background:#ffffffdb;box-shadow:0 24px 80px #0f172a1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-mark,.brand-icon,.avatar,.user-avatar{display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#0891b2,#06b6d4);font-weight:700}.brand-mark{width:44px;height:44px;border-radius:14px;margin-bottom:16px}.eyebrow{margin:0 0 7px;color:#0891b2;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:6px;font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.15}h2{margin-bottom:16px;font-size:1rem}.login-copy,.muted,.notice,.topbar p,.user-cell small,.sidebar .brand-tag,.user-role{color:#64748b}.form-stack,.form-grid{display:grid;gap:14px}.form-grid{max-width:720px}label{display:grid;gap:7px;color:#334155;font-size:.86rem;font-weight:600}input,textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;color:#0f172a;background:#fff;outline:none;transition:border-color .16s,box-shadow .16s}textarea{min-height:90px;resize:vertical}input:focus,textarea:focus{border-color:#06b6d4;box-shadow:0 0 0 4px #06b6d426}.form-error{margin:0;padding:10px 12px;border-radius:12px;color:#991b1b;background:#fef2f2}.btn,.link-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid transparent;border-radius:12px;padding:9px 14px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .16s,background .16s,border-color .16s,color .16s}.btn:hover,.link-button:hover,.icon-button:hover{transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.65;transform:none}.btn-primary{color:#fff;background:#0891b2;border-color:#0891b2}.btn-primary:hover{background:#06b6d4}.btn-ghost{color:#334155;background:#fff;border-color:#cbd5e1}.btn-danger{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.btn-amber{color:#b45309;background:#fffbeb;border-color:#fde68a}.btn-block{width:100%}.link-button{min-height:unset;padding:0;border:0;color:#0891b2;background:transparent}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{display:flex;flex-direction:column;min-height:100vh;border-right:1px solid #e2e8f0;background:#fff}.sidebar-brand,.sidebar-user,.topbar{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e2e8f0}.sidebar-brand{padding:18px}.brand-icon,.user-avatar{width:34px;height:34px;border-radius:11px;flex:0 0 auto}.brand-name{font-size:.9rem;font-weight:800;letter-spacing:.12em}.brand-tag,.nav-label,.user-role{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.sidebar-nav{flex:1;padding:16px 12px}.nav-label{margin:0 0 8px 8px;color:#94a3b8;font-weight:800}.nav-item{display:flex;padding:10px 12px;border-radius:12px;color:#475569;font-size:.92rem;font-weight:650;text-decoration:none}.nav-item:hover,.nav-item.active{color:#0e7490;background:#e0f7fa}.sidebar-user{padding:14px;border-top:1px solid #e2e8f0;border-bottom:0}.user-info{min-width:0;flex:1}.user-name{overflow:hidden;color:#0f172a;font-size:.88rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.icon-button{width:34px;height:34px;border:0;border-radius:10px;color:#64748b;background:#f1f5f9;cursor:pointer}.main-panel{min-width:0;background:#f8fafc}.topbar{justify-content:space-between;min-height:84px;padding:18px 24px;background:#ffffffe6}.topbar h1,.topbar p{margin-bottom:0}.content-area{padding:24px}.profile-layout{display:grid;grid-template-columns:minmax(320px,520px)}.password-panel{max-width:520px}.password-transit-card{width:min(500px,100%)}.password-transit-card h1{margin-top:14px}.password-transit-form{margin-top:22px}.context-badge{display:inline-flex;align-items:center;min-height:28px;border:1px solid #bae6fd;border-radius:999px;padding:4px 10px;color:#075985;background:#f0f9ff;font-size:.78rem;font-weight:700}.filter-row,.button-row{display:flex;align-items:center;gap:10px}.filter-row{flex-wrap:wrap;margin-bottom:18px}.search-input{max-width:360px}.filter-tabs{display:inline-flex;gap:3px;padding:4px;border:1px solid #e2e8f0;border-radius:12px;background:#f1f5f9}.filter-tab{border:0;border-radius:9px;padding:7px 12px;color:#64748b;background:transparent;font-weight:750;cursor:pointer}.filter-tab.active{color:#0f172a;background:#fff;box-shadow:0 2px 8px #0f172a14}.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.stat-card,.panel,.table-wrap,.empty-state{border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 12px 34px #0f172a0d}.stat-card{padding:16px}.stat-card span{display:block;margin-bottom:6px;color:#64748b;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.stat-card strong{font-size:2rem;line-height:1}.stat-cyan{color:#0891b2}.stat-green{color:#059669}.stat-red{color:#dc2626}.stat-amber{color:#d97706}.table-wrap{overflow:hidden}.user-table{width:100%;border-collapse:collapse}.user-table th,.user-table td{padding:14px 16px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:middle}.user-table th{color:#64748b;background:#f8fafc;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.user-table tbody tr:last-child td{border-bottom:0}.user-table tbody tr:hover td{background:#f8fafc}.user-table.compact th,.user-table.compact td{padding:10px 12px}.user-cell{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.user-cell span:last-child{display:grid;gap:2px}.user-cell small{font-size:.78rem}.avatar{width:34px;height:34px;border-radius:999px;font-size:.78rem}.badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:800;white-space:nowrap}.badge-active,.badge-green{color:#047857;background:#ecfdf5}.badge-suspended,.badge-red{color:#b91c1c;background:#fef2f2}.badge-inactive,.badge-muted{color:#475569;background:#f1f5f9}.badge-amber{color:#b45309;background:#fffbeb}.empty-state,.panel{padding:18px}.empty-state{margin-bottom:16px;color:#64748b}.detail-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(280px,1.1fr);gap:16px}.panel-wide{grid-column:1 / -1}.detail-list{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px 14px;margin:0}.detail-list dt{color:#64748b;font-weight:800}.detail-list dd{margin:0;min-width:0}code{word-break:break-all;color:#0e7490}.role-list{display:grid;gap:10px}.role-card{padding:14px;border:1px solid #e2e8f0;border-radius:14px;background:#f8fafc}.role-card p{margin:6px 0 0}.notice{padding:12px;border:1px solid #bae6fd;border-radius:14px;background:#f0f9ff}.right{justify-content:flex-end}.toast{position:fixed;right:18px;bottom:18px;z-index:30;max-width:min(420px,calc(100vw - 36px));padding:13px 15px;border-radius:14px;color:#0f172a;background:#fff;box-shadow:0 18px 54px #0f172a2e}.toast-success{border-left:4px solid #059669}.toast-error{border-left:4px solid #dc2626}.toast-info{border-left:4px solid #0891b2}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#0f172a80}.modal{width:min(520px,100%);padding:22px;border-radius:22px;background:#fff;box-shadow:0 26px 90px #0f172a52}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{min-height:unset}.sidebar-nav{display:flex;gap:8px;overflow-x:auto}.nav-label,.sidebar-user{display:none}.stats-row,.detail-grid{grid-template-columns:1fr}.panel-wide{grid-column:auto}}@media(max-width:640px){.login-card,.content-area,.topbar{padding:16px}.topbar,.filter-row,.button-row{align-items:stretch;flex-direction:column}.user-table{display:block;overflow-x:auto}.detail-list{grid-template-columns:1fr}}
