@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-primary: #0d9488;--color-primary-hover: #0f766e;--color-primary-subtle: #ccfbf1;--color-primary-text: #ffffff;--color-surface: #ffffff;--color-surface-secondary: #f8fafc;--color-surface-hover: #f1f5f9;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--color-text-inverse: #ffffff;--color-success: #059669;--color-success-subtle: #d1fae5;--color-warning: #d97706;--color-warning-subtle: #fef3c7;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-subtle: #fee2e2;--color-info: #2563eb;--color-info-subtle: #dbeafe;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--transition-fast: .12s ease;--sidebar-width: 260px;--sidebar-bg: #0f172a;font-family:Inter,Segoe UI,system-ui,sans-serif;color:var(--color-text-primary);font-size:14px;line-height:1.5}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;min-height:100vh}body{background:var(--color-surface-secondary);color:var(--color-text-primary)}.layout{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.sidebar{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;padding:1.25rem .75rem;background:var(--sidebar-bg);color:#e2e8f0;display:flex;flex-direction:column;border-right:1px solid rgba(148,163,184,.15)}.brand{display:flex;align-items:center;gap:.75rem;padding:.65rem .55rem 1rem;margin-bottom:.75rem;border-bottom:1px solid rgba(148,163,184,.2)}.brand-badge{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#0d9488,#14b8a6);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.brand-text h1{margin:0;color:#f8fafc;font-size:1rem;line-height:1.1}.brand-text p{margin:.1rem 0 0;color:#94a3b8;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.menu-group-label{display:block;padding:.55rem .7rem .35rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.sidebar nav{display:flex;flex-direction:column;gap:1px}.sidebar a{color:#cbd5e1;text-decoration:none;padding:.5rem .75rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:.6rem;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar a:hover{color:#fff;background:#94a3b81f}.sidebar a.router-link-active,.sidebar a.router-link-exact-active{color:#fff;background:#ffffff26;font-weight:600}.nav-icon{width:18px;height:18px;flex-shrink:0;opacity:.85}.sidebar-footer{padding:1rem 0 0;margin-top:1rem;border-top:1px solid rgba(148,163,184,.15)}.sidebar-footer p{margin:0;text-align:center;font-size:.72rem;color:#64748b}.content{padding:1.5rem;min-width:0}.content-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.content-header h2{margin:0;font-size:1.25rem;font-weight:700}.content-header p{margin:.2rem 0 0;color:var(--color-text-secondary);font-size:.85rem}.header-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tenant-chip,.user-chip{display:inline-flex;align-items:center;border-radius:var(--radius-full);border:1px solid var(--color-border);padding:.2rem .65rem;background:var(--color-surface);color:var(--color-text-secondary);font-size:.75rem;font-weight:500}.user-chip{border-color:#bfdbfe;background:#eff6ff;color:var(--color-info)}.content-body{display:grid;gap:1.25rem}.page-section{display:grid;gap:1.1rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.15rem;box-shadow:var(--shadow-sm)}.card-header{display:flex;justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:.9rem}.card-header h3{margin:0;font-size:.95rem;font-weight:600}.card-header p{margin:.12rem 0 0;font-size:.8rem;color:var(--color-text-secondary)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.kpi-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:.95rem 1rem}.kpi-card .kpi-label{font-size:.73rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.kpi-card .kpi-value{margin-top:.2rem;font-size:1.35rem;font-weight:700}.form,.form-grid,.form-stack,.inline-actions,.actions{display:flex;gap:.5rem;flex-wrap:wrap}.form-stack{flex-direction:column;align-items:stretch}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.field{display:flex;flex-direction:column;gap:.22rem}.field-label{font-size:.78rem;font-weight:500;color:var(--color-text-secondary)}small,.muted,.field-helper{font-size:.75rem;color:var(--color-text-muted)}input,select,textarea{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:.5rem .7rem;font-size:.85rem;font-family:inherit;background:var(--color-surface);color:var(--color-text-primary)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0d94881f}textarea{resize:vertical;min-height:90px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.check-row{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:0;border-radius:var(--radius-md);padding:.5rem .9rem;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;background:var(--color-primary);color:var(--color-primary-text)}button:hover,.btn:hover{background:var(--color-primary-hover)}button:disabled,.btn:disabled{opacity:.6;cursor:not-allowed}.secondary,.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border-strong)}.secondary:hover,.btn-secondary:hover{background:var(--color-surface-hover)}.danger,.btn-danger{background:var(--color-danger);color:var(--color-text-inverse)}.danger:hover,.btn-danger:hover{background:var(--color-danger-hover)}.tiny,.btn-sm{padding:.28rem .6rem;font-size:.74rem;border-radius:var(--radius-sm)}.logout{background:transparent;border:1px solid var(--color-border-strong);color:var(--color-text-secondary);padding:.3rem .65rem;font-size:.78rem}.logout:hover{background:var(--color-danger-subtle);color:var(--color-danger);border-color:var(--color-danger)}.table-wrap{overflow-x:auto;border-radius:var(--radius-lg)}table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);font-size:.82rem}th,td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--color-border);vertical-align:middle}th{background:var(--color-surface-secondary);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--color-surface-hover)}td:last-child{white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:.16rem .55rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:600}.badge-success{background:var(--color-success-subtle);color:var(--color-success)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge-danger{background:var(--color-danger-subtle);color:var(--color-danger)}.badge-info{background:var(--color-info-subtle);color:var(--color-info)}.status,.error{margin:0;padding:.6rem .72rem;border-radius:var(--radius-md);font-size:.8rem}.status{color:var(--color-success);background:var(--color-success-subtle);border:1px solid #a7f3d0}.error{color:var(--color-danger);background:var(--color-danger-subtle);border:1px solid #fecaca}.auth-page{max-width:420px;margin:5rem auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-md)}.auth-page h2{margin-top:0;margin-bottom:.35rem}.auth-page p{color:var(--color-text-secondary);font-size:.82rem}.auth-page code{background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.05rem .35rem;font-size:.75rem}@media(max-width:1024px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto}.content{padding-top:1rem}}
