:root{--brand-teal-50: #f0fdfa;--brand-teal-100: #ccfbf1;--brand-teal-500: #14b8a6;--brand-teal-600: #0d9488;--brand-teal-700: #0f766e;--brand-coral-100: #ffe4e6;--brand-coral-600: #e11d48;--brand-coral-700: #be123c;--brand-amber-100: #fef3c7;--brand-amber-500: #f59e0b;--brand-green-100: #dcfce7;--brand-green-600: #16a34a;--brand-blue-600: #2563eb;--neutral-0: #ffffff;--neutral-50: #f9fafb;--neutral-100: #f3f4f6;--neutral-200: #e5e7eb;--neutral-300: #d1d5db;--neutral-500: #6b7280;--neutral-700: #374151;--neutral-900: #111827;--color-text-primary: var(--neutral-900);--color-text-secondary: var(--neutral-500);--color-text-brand: var(--brand-teal-700);--color-text-danger: var(--brand-coral-700);--color-surface-page: var(--neutral-0);--color-surface-subtle: var(--neutral-50);--color-surface-brand: var(--brand-teal-50);--color-border: var(--neutral-200);--color-border-strong: var(--neutral-300);--color-focus-ring: rgba(13, 148, 136, .35);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--line-height-normal: 1.5;--letter-spacing: 0;--radius-sm: 4px;--radius-md: 6px;--radius-card: 8px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 8px 28px rgba(17, 24, 39, .1);--topbar-height: 56px;--rail-width: 212px;--workspace-padding: 22px 24px;--workspace-gap: 16px;--audit-drawer-width: clamp(300px, 34vw, 360px);--content-max-width: 1240px;--z-drawer: 200;--z-overlay: 300;--duration-fast: .12s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}html{color:var(--color-text-primary);background:var(--color-surface-page);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing);overflow-x:hidden}body{margin:0;min-height:100dvh;overflow-x:hidden}#root{min-height:100dvh}button,input,select,textarea{font:inherit}img,svg{display:block;max-width:100%}p,h1,h2,h3,dd{overflow-wrap:anywhere}h1,h2,h3,p{margin:0}h1{font-size:var(--font-size-2xl);line-height:1.2}h2{font-size:var(--font-size-lg)}h3{font-size:var(--font-size-md)}a{color:var(--color-text-brand)}:focus-visible{outline:2px solid var(--brand-teal-600);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.skip-link{background:var(--brand-teal-700);border-radius:var(--radius-card);color:var(--neutral-0);font-weight:700;left:16px;padding:10px 14px;position:fixed;top:-80px;z-index:500}.skip-link:focus-visible{top:14px}.admin-layout{display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(0,1fr);min-height:100dvh}.topbar{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:14px;grid-column:1 / -1;min-width:0;padding:10px 20px}.brand,.tenant-chip,.topbar__actions{align-items:center;display:flex;gap:8px;min-width:0}.brand{color:var(--color-text-brand);font-weight:800}.brand img,.access-logo{height:32px;width:32px}.tenant-chip{background:var(--color-surface-brand);border:1px solid var(--brand-teal-100);border-radius:var(--radius-card);color:var(--brand-teal-700);padding:6px 10px}.topbar__actions{margin-left:auto}.rail{border-right:1px solid var(--color-border);display:flex;flex-direction:column;gap:18px;padding:18px 12px}.workspace{background:var(--neutral-50);min-width:0;padding:var(--workspace-padding)}.workspace>*{margin-left:auto;margin-right:auto;max-width:var(--content-max-width)}.nav-list{display:grid;gap:4px;list-style:none;margin:0;padding:0}.nav-link{align-items:center;border-radius:var(--radius-card);color:var(--neutral-700);display:flex;gap:10px;padding:10px 12px;text-decoration:none}.nav-link.is-active,.nav-link:hover{background:var(--color-surface-brand);color:var(--brand-teal-700)}.readiness{border-top:1px solid var(--color-border);color:var(--color-text-secondary);display:grid;gap:10px;margin-top:auto;padding-top:14px}.readiness p{display:grid;gap:3px;grid-template-columns:16px 1fr}.readiness strong{grid-column:2;font-size:var(--font-size-xs)}.mobile-only{display:none}.icon-button{align-items:center;background:var(--neutral-0);border:1px solid var(--color-border);border-radius:var(--radius-card);color:var(--neutral-700);display:inline-flex;height:40px;justify-content:center;width:40px}.drawer-layer{top:0;right:0;bottom:0;left:0;position:fixed;z-index:var(--z-overlay)}.drawer-backdrop{background:#1118275c;border:0;top:0;right:0;bottom:0;left:0;position:absolute}.nav-drawer{background:var(--neutral-0);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:18px;height:100%;max-width:320px;padding:16px;position:relative;width:min(86vw,320px)}.drawer-close{align-self:flex-end}.page-header{display:grid;gap:8px;margin-bottom:18px}.page-header__body{color:var(--color-text-secondary);max-width:780px}.eyebrow{color:var(--brand-teal-700);font-size:var(--font-size-xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.surface{background:var(--neutral-0);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);padding:16px}.summary-grid,.card-grid{display:grid;gap:var(--workspace-gap);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:18px}.dashboard-grid{display:grid;gap:var(--workspace-gap);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.metric-card{display:grid;gap:10px}.metric-card__top{align-items:start;display:flex;gap:8px;justify-content:space-between}.metric-value{font-size:28px;font-weight:800}.muted,.fine-print{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.filter-strip{align-items:end;background:var(--neutral-0);border:1px solid var(--color-border);border-radius:var(--radius-card);display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px;padding:14px}.field{color:var(--neutral-700);display:grid;font-weight:700;gap:6px;min-width:min(220px,100%)}.field small{color:var(--color-text-secondary);font-weight:400}.field input,.field select{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);min-height:40px;padding:9px 10px}.button,.button:visited{align-items:center;border:1px solid transparent;border-radius:var(--radius-card);cursor:pointer;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:40px;padding:9px 13px;text-decoration:none}.button--primary{background:var(--brand-teal-600);color:var(--neutral-0)}.button--secondary{background:var(--neutral-0);border-color:var(--color-border-strong);color:var(--neutral-700)}.button--danger{background:var(--brand-coral-600);color:var(--neutral-0)}.button:disabled{cursor:not-allowed;opacity:.55}.button-row,.pagination-row{display:flex;flex-wrap:wrap;gap:10px}.status{align-items:center;border:1px solid var(--color-border);border-radius:999px;display:inline-flex;font-size:var(--font-size-xs);font-weight:800;gap:5px;padding:4px 8px;width:fit-content}.status--complete,.status--healthy,.status--connected,.status--success{background:var(--brand-green-100);color:var(--brand-green-600)}.status--partial,.status--stale,.status--degraded{background:var(--brand-amber-100);color:#92400e}.status--unavailable,.status--denied,.status--suppressed{background:var(--brand-coral-100);color:var(--brand-coral-700)}.state{align-items:start;border:1px solid var(--color-border);border-radius:var(--radius-card);display:flex;gap:10px;margin-bottom:18px;padding:12px}.state--info{background:var(--brand-teal-50);color:var(--brand-teal-700)}.state--warning{background:var(--brand-amber-100);color:#92400e}.state--danger{background:var(--brand-coral-100);color:var(--brand-coral-700)}.state--success{background:var(--brand-green-100);color:var(--brand-green-600)}.loading-state{align-items:center;color:var(--color-text-secondary);display:flex;gap:10px;justify-content:center;min-height:260px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chart-box{height:280px;margin:12px 0;min-width:0}.table-wrap{margin-top:12px;overflow-x:auto}table{border-collapse:collapse;min-width:100%}caption{color:var(--color-text-secondary);font-weight:700;padding:8px 0;text-align:left}th,td{border-bottom:1px solid var(--color-border);padding:10px;text-align:left;vertical-align:top}th{color:var(--neutral-700);font-size:var(--font-size-xs);text-transform:uppercase}.health-list,.form-grid,.details-list{display:grid;gap:12px}.health-list article{align-items:start;border-bottom:1px solid var(--color-border);display:flex;gap:12px;justify-content:space-between;padding:10px 0}.details-list{grid-template-columns:minmax(130px,.35fr) minmax(0,1fr)}.details-list dt{color:var(--color-text-secondary);font-weight:800}.details-list dd{margin:0}.error-summary{background:var(--brand-coral-100);border:1px solid var(--brand-coral-600);border-radius:var(--radius-card);color:var(--brand-coral-700);margin-bottom:12px;padding:12px}.access-shell{align-items:center;background:var(--neutral-50);display:flex;justify-content:center;min-height:100dvh;padding:24px}.access-card{display:grid;gap:16px;max-width:560px;width:100%}.choice-list{display:grid;gap:10px}.choice-list button{background:var(--neutral-0);border:1px solid var(--color-border-strong);border-radius:var(--radius-card);display:grid;gap:4px;padding:12px;text-align:left}.refresh-note{color:var(--color-text-secondary);margin-left:auto}@media (max-width: 1080px){.admin-layout{display:block}.desktop-only{display:none}.mobile-only{display:inline-flex}.topbar{position:sticky;top:0;z-index:50;background:var(--neutral-0)}.workspace{min-height:calc(100dvh - var(--topbar-height))}}@media (max-width: 760px){.workspace{padding:16px 12px}.dashboard-grid{grid-template-columns:1fr}.topbar__actions span,.tenant-chip{display:none}.filter-strip{align-items:stretch;display:grid}.field{min-width:0}.chart-box{height:240px}.details-list{grid-template-columns:1fr}.health-list article{display:grid}}
