:root{--color-ink: #111827;--color-blue: #2563EB;--color-blue-hover: #1D4ED8;--color-indigo: #6366F1;--color-cyan: #06B6D4;--color-canary: #FBBF24;--color-navy: #0B1B3F;--color-pale-cyan: #CFFAFE;--color-pale-indigo: #E0E7FF;--color-off-white: #F6F7F9;--color-white: #FFFFFF;--color-gray-700: #4B5563;--color-gray-500: #667085;--color-gray-400: #8A94A6;--color-gray-350: #A3ABB8;--color-gray-300: #C9CED6;--color-gray-200: #E3E6EB;--color-gray-150: #EEF0F3;--color-gray-100: #F1F2F5;--color-red-700: #B91C1C;--color-red-800: #991B1B;--color-bg: var(--color-off-white);--color-surface: var(--color-white);--color-text: var(--color-ink);--color-text-muted: var(--color-gray-700);--color-text-subtle: var(--color-gray-500);--color-text-disabled: var(--color-gray-400);--color-border: var(--color-gray-200);--color-border-strong: var(--color-gray-300);--color-border-row: var(--color-gray-100);--color-fill-neutral: var(--color-gray-150);--color-fill-disabled: var(--color-gray-200);--color-primary: var(--color-blue);--color-primary-hover: var(--color-blue-hover);--color-on-primary: var(--color-white);--color-accent-subtle: #EEF3FF;--color-input-focus-halo: var(--color-pale-indigo);--color-danger: var(--color-red-700);--color-danger-hover: var(--color-red-800);--color-danger-text: var(--color-red-800);--gradient-brand: linear-gradient(135deg, var(--color-blue), var(--color-indigo));--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--font-display: "Sora", var(--font-sans);--text-xs: 12px;--text-label: 13px;--text-sm: 14px;--text-md: 15px;--text-lg: 18px;--text-title: 28px;--text-display: 40px;--text-mono-caps: 11px;--text-mono-th: 10.5px;--line-body: 22px;--tracking-title: -.02em;--tracking-title-tight: -.015em;--tracking-mono-caps: .1em;--tracking-mono-th: .08em;--radius-sm: 8px;--radius-lg: 12px;--radius-button-sm: 7px;--radius-button-lg: 9px;--radius-frame: 14px;--focus-ring-width: 2px;--focus-ring-color: var(--color-indigo);--focus-ring-offset: 2px;--button-sm: 32px;--button-md: 40px;--button-lg: 48px;--input-height: 40px;--input-height-lg: 44px;--table-row: 48px;--table-row-compact: 40px;--header-height: 60px;--avatar: 32px;--logo-header: 24px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-18: 72px;--field-gap: 6px;--header-actions-gap: 14px;--input-halo: 3px;--width-form: 360px;--width-message: 560px;--content-max: 1200px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}h1{font-family:var(--font-display);font-weight:700;font-size:var(--text-title);letter-spacing:var(--tracking-title);margin:0 0 var(--space-6)}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover);text-decoration:underline}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.num{text-align:right;font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle);font-size:var(--text-xs)}.text-error{color:var(--color-danger-text)}.wordmark{font-family:var(--font-display);display:inline-flex;align-items:baseline;gap:.28em;font-size:var(--text-title);line-height:1;color:var(--color-text)}.wordmark .cic{font-weight:800;letter-spacing:-.045em}.wordmark .i{position:relative}.wordmark .i svg{position:absolute;left:-.02em;top:-.28em;width:.42em;height:.3em;fill:var(--color-canary)}.wordmark .hq{font-weight:400;letter-spacing:.04em;color:var(--color-blue)}.btn{font:inherit;font-size:var(--text-sm);font-weight:600;height:var(--button-md);padding:0 var(--space-4);border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn:hover{text-decoration:none}.btn--sm{height:var(--button-sm);padding:0 var(--space-3);font-size:var(--text-label);border-radius:var(--radius-button-sm)}.btn--md{height:var(--button-md)}.btn--lg{height:var(--button-lg);padding:0 var(--space-5);font-size:var(--text-md);border-radius:var(--radius-button-lg)}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover{background:var(--color-primary-hover);color:var(--color-on-primary)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn--secondary:hover{background:var(--color-bg);color:var(--color-text)}.btn--ghost{background:transparent;color:var(--color-primary);padding:0 var(--space-3)}.btn--ghost:hover{background:var(--color-accent-subtle)}.btn--danger{background:var(--color-danger);color:var(--color-on-primary)}.btn--danger:hover{background:var(--color-danger-hover)}.btn:disabled,.btn:disabled:hover{cursor:default;background:var(--color-fill-disabled);color:var(--color-text-disabled);border-color:transparent}.field{display:flex;flex-direction:column;gap:var(--field-gap);font-size:var(--text-label);font-weight:500}.input{font:inherit;font-size:var(--text-sm);font-weight:400;height:var(--input-height);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.input::placeholder{color:var(--color-text-subtle)}.input:focus{outline:none;border:2px solid var(--color-primary);padding:0 calc(var(--space-3) - 1px);box-shadow:0 0 0 var(--input-halo) var(--color-input-focus-halo)}.input--lg{height:var(--input-height-lg);font-size:var(--text-md)}.input[aria-invalid=true]{border-color:var(--color-danger)}.field__error{font-size:var(--text-xs);font-weight:400;color:var(--color-danger-text)}.app-header{display:flex;align-items:center;gap:var(--space-8);height:var(--header-height);padding:0 var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header__home{display:inline-flex;text-decoration:none}.app-header__home .wordmark{font-size:var(--logo-header)}.app-nav{display:flex;gap:var(--space-1);height:100%;font-size:var(--text-sm);font-weight:500}.app-nav__item{display:flex;align-items:center;padding:0 var(--space-3);border-bottom:2px solid transparent;color:var(--color-text-muted);text-decoration:none}.app-nav__item:hover{color:var(--color-text);text-decoration:none}.app-nav__item.active{color:var(--color-text);border-bottom-color:var(--color-primary)}.app-header__right{margin-left:auto;display:flex;align-items:center;gap:var(--header-actions-gap)}.app-header__who{color:var(--color-text-muted);font-size:var(--text-label)}.avatar{width:var(--avatar);height:var(--avatar);border-radius:50%;background:var(--color-navy);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600}.app-main{padding:var(--space-5) var(--space-6);max-width:var(--content-max)}.table{border-collapse:separate;border-spacing:0;width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;font-size:var(--text-label)}.table th,.table td{text-align:left;padding:0 var(--space-5)}.table th{height:var(--table-row-compact);background:var(--color-bg);border-bottom:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--text-mono-th);font-weight:400;letter-spacing:var(--tracking-mono-th);text-transform:uppercase;color:var(--color-text-muted)}.table td{height:var(--table-row);border-bottom:1px solid var(--color-border-row)}.table tbody tr:hover td{background:var(--color-bg)}.table tbody tr:last-child td{border-bottom:0}.table .num{text-align:right}.signin{min-height:100vh;display:grid;place-content:center;gap:var(--space-6);padding:var(--space-6)}.signin .wordmark{justify-content:center}.signin__form{display:grid;gap:var(--space-2);width:min(var(--width-form),90vw)}.screen-message{min-height:100vh;display:grid;place-content:center;justify-items:start;gap:var(--space-3);padding:var(--space-6);max-width:var(--width-message);margin:0 auto}.screen-message h1,.screen-message p{margin:0}
