@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--color-primary: #5ec196;--color-secondary-200: #f2f8fc;--color-secondary-400: #e7f3fb;--color-secondary-600: #acd6f2;--color-secondary-900: #89c5ed;--color-accent-blue: #89c5ed;--color-accent-blue-soft: #eaf5fc;--color-accent-green: #5ec196;--color-accent-green-soft: #eaf8f2;--color-danger: #dc2626;--color-danger-soft: #fef2f2;--color-warning: #d97706;--color-warning-soft: #fffbeb;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-500: #6b7280;--color-gray-700: #374151;--color-gray-800: #1f2937;--surface-admin: #f7f7f8;--surface-elevated: #ffffff;--border-subtle: rgb(17 24 39 / .08);--border-strong: rgb(17 24 39 / .14);--text-default: var(--color-gray-800);--text-muted: var(--color-gray-500);--tenant-primary: var(--color-accent-blue);--tenant-secondary: var(--color-accent-green);--tenant-primary-soft: var(--color-accent-blue-soft);--tenant-secondary-soft: var(--color-accent-green-soft);--tenant-wash: var(--tenant-primary-soft);--cta-border: var(--tenant-primary);--cta-wash: var(--tenant-wash);--success-accent: var(--tenant-secondary);--focus-ring: color-mix(in srgb, var(--tenant-primary) 55%, transparent);--font-sans: "Source Sans 3", "Source Sans Pro", ui-sans-serif, system-ui, sans-serif;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-card: 0 4px 24px rgb(0 0 0 / .06);--gradient-chrome: radial-gradient(ellipse 70% 50% at 0% 0%, color-mix(in srgb, var(--tenant-primary) 16%, transparent), transparent 70%), radial-gradient(ellipse 60% 45% at 100% 0%, color-mix(in srgb, var(--tenant-secondary) 12%, transparent), transparent 65%), var(--surface-admin);--gradient-auth-panel: linear-gradient( 165deg, var(--tenant-wash) 0%, var(--surface-elevated) 45%, var(--tenant-primary-soft) 100% );font-family:var(--font-sans);color:var(--text-default);background:var(--surface-admin);line-height:1.45;font-size:16px}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--gradient-chrome);background-attachment:fixed}a{color:inherit}button,input,select,textarea{font:inherit}h1,h2,h3{font-weight:600;color:var(--color-gray-800);letter-spacing:-.01em}h1{font-size:1.5rem;margin:0}h2{font-size:1.35rem;margin:0 0 1rem}h3{font-size:1rem;margin:0 0 .5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer;background:var(--surface-elevated);border:1px solid var(--cta-border);color:var(--text-default);border-radius:var(--radius-md);padding:.5rem .95rem;font-weight:500;transition:background .15s ease,border-color .15s ease}.btn:hover:not(:disabled){background:var(--cta-wash)}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{border-color:var(--cta-border);background:var(--surface-elevated)}.btn-danger{border-color:var(--color-danger);color:#991b1b;background:var(--surface-elevated)}.btn-danger:hover:not(:disabled){background:var(--color-danger-soft)}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-gray-100);color:var(--text-default)}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.92rem;font-weight:500;color:var(--color-gray-700)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:.55rem .75rem;background:var(--surface-elevated);color:var(--text-default);font-weight:400}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--focus-ring);outline-offset:1px;border-color:var(--cta-border)}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.nav{background:color-mix(in srgb,var(--surface-elevated) 92%,transparent);border-right:1px solid var(--border-subtle);padding:1.35rem 1rem;display:flex;flex-direction:column;gap:.15rem}.nav-brand{margin-bottom:1.25rem;padding:0 .35rem}.nav-brand .brand{font-size:1.15rem;font-weight:700;color:var(--color-gray-800)}.nav-brand .role{margin:.15rem 0 0;font-size:.82rem;color:var(--text-muted);font-weight:400}.nav a{display:block;text-decoration:none;padding:.5rem .65rem;border-radius:var(--radius-md);color:var(--text-muted);font-weight:500;font-size:.95rem}.nav a.active,.nav a:hover{background:var(--cta-wash);color:var(--text-default)}.nav a.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cta-border) 55%,transparent)}.nav-footer{margin-top:auto;padding-top:1.5rem;display:flex;flex-direction:column;gap:.35rem}.main{padding:1.75rem 2rem;max-width:1120px}.page-header{margin-bottom:1.25rem}.page-header p{margin:.35rem 0 0}.card{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.1rem 1.2rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.stat-card .stat-row{display:flex;justify-content:space-between;gap:.75rem;font-size:.9rem;color:var(--text-muted);padding:.2rem 0}.stat-card .stat-row strong{color:var(--text-default);font-weight:600}.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th,.table td{text-align:left;padding:.65rem .45rem;border-bottom:1px solid var(--border-subtle)}.table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.table a{color:var(--color-gray-800);font-weight:600;text-decoration:none}.table a:hover{color:var(--color-gray-700);text-decoration:underline;text-decoration-color:var(--cta-border)}.muted{color:var(--text-muted)}.chip{display:inline-block;border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:.12rem .55rem;font-size:.78rem;font-weight:500;background:var(--color-gray-50)}.chip.ok{border-color:color-mix(in srgb,var(--success-accent) 55%,transparent);background:var(--color-accent-green-soft);color:#0f766e}.chip.warn{border-color:color-mix(in srgb,var(--color-warning) 45%,transparent);background:var(--color-warning-soft);color:#92400e}.chip.critical{border-color:color-mix(in srgb,var(--color-danger) 45%,transparent);background:var(--color-danger-soft);color:#991b1b}.alert-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--border-subtle)}.alert-row:last-child{border-bottom:0}.login-page{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;background:var(--gradient-auth-panel)}.login-card{width:min(100%,400px);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.75rem 1.5rem;box-shadow:var(--shadow-card)}.login-card .brand{font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.login-card .lede{margin:0 0 1.25rem;color:var(--text-muted);font-size:.95rem}.stack{display:flex;flex-direction:column;gap:.85rem}.error{color:#991b1b;background:var(--color-danger-soft);border:1px solid #fecaca;border-radius:var(--radius-md);padding:.65rem .75rem;font-size:.92rem}.success{color:#0f766e;background:var(--color-accent-green-soft);border:1px solid color-mix(in srgb,var(--success-accent) 40%,transparent);border-radius:var(--radius-md);padding:.65rem .75rem;font-size:.92rem}.qr-wrap{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:.75rem;background:var(--color-gray-50);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.qr-wrap img{width:180px;height:180px;border-radius:var(--radius-sm);background:#fff}.qr-wrap code{font-size:.75rem;word-break:break-all;text-align:center;color:var(--text-muted);max-width:100%}.empty{padding:1.25rem .25rem;color:var(--text-muted);font-size:.95rem}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.meta-list{display:grid;gap:.55rem;font-size:.95rem}.meta-list dt{color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;margin:0}.meta-list dd{margin:.15rem 0 0;font-weight:500}@media(max-width:900px){.layout{grid-template-columns:1fr}.nav{border-right:0;border-bottom:1px solid var(--border-subtle)}.stats-grid,.profile-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.main{padding:1.25rem}.stats-grid,.profile-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
