:root{--color-background: #f3f0ff;--color-surface: #ffffff;--color-text: #1e1b4b;--color-muted: #6b6685;--color-primary: #5b21b6;--color-secondary: #0d9488;--color-accent: #f97316;--color-danger: #e11d48;--color-border: #ddd6fe;--gradient-accent: linear-gradient(135deg, #4c1d95 0%, #7c3aed 45%, #14b8a6 100%);--radius: 8px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 8px;--content-max: 1100px;--type-display: 1.75rem;--type-section: 1.25rem;--type-table: .9375rem;--type-body: 1rem;--focus-ring: 0 0 0 3px rgba(91, 33, 182, .35);font-family:system-ui,Inter,-apple-system,Segoe UI,Roboto}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-background);color:var(--color-text);font-family:system-ui,Inter,-apple-system,Segoe UI,Roboto;font-size:var(--type-body);line-height:1.5}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.type-display,.text-display{font-size:var(--type-display);font-weight:800;letter-spacing:-.02em;line-height:1.2}.type-section,.text-section{font-size:var(--type-section);font-weight:700;line-height:1.3}.type-table,.text-table{font-size:var(--type-table);font-weight:500}.type-body{font-size:var(--type-body);font-weight:400}.btn-primary,button.primary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius);background:var(--color-primary);color:#fff;font:inherit;font-weight:600;cursor:pointer}.btn-primary:hover,button.primary:hover{filter:brightness(1.08)}.btn-secondary,button.secondary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;cursor:pointer}.btn-secondary:hover,button.secondary:hover{background:color-mix(in srgb,var(--color-secondary) 10%,var(--color-surface));border-color:var(--color-secondary)}.btn-danger,button.danger{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid transparent;border-radius:var(--radius);background:var(--color-danger);color:#fff;font:inherit;font-weight:600;cursor:pointer}.btn-danger:hover,button.danger:hover{filter:brightness(1.08)}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:none;box-shadow:var(--focus-ring)}.app-shell{min-width:0;min-height:100vh;display:flex;flex-direction:column}.accent-bar,.vivid-strip,.hero-strip{height:6px;width:100%;background:var(--gradient-accent);background-image:linear-gradient(135deg,#4c1d95,#7c3aed 45%,#14b8a6)}.shell-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:linear-gradient(120deg,#312e81,#5b21b6 55%,#0f766e);color:#fff;border-bottom:none;box-shadow:0 8px 24px #4c1d9540}.shell-header a{color:#e0e7ff}.shell-header a:hover{color:#fff;text-decoration:none}.app-title,.shell-title{margin:0;font-size:var(--type-display);font-weight:800;color:#fff}.shell-nav{display:flex;gap:var(--space-2);flex:1}.nav-pill,.shell-nav a.nav-pill,.shell-nav a.pill{padding:var(--space-2) var(--space-4);border-radius:999px;color:#e0e7ff;font-weight:600;background:transparent;border:1px solid transparent}.nav-pill:hover,.shell-nav a.nav-pill:hover{background:#ffffff1f;text-decoration:none}.nav-pill.active,.nav-pill[aria-current=page],.shell-nav a.nav-pill.active,.shell-nav a.nav-pill[aria-current=page]{color:#fff;background:#14b8a659;border-color:#ffffff59}.shell-user-cluster,.shell-actions{display:flex;align-items:center;gap:var(--space-3);margin-left:auto;justify-content:flex-end}.shell-user-cluster .user,.shell-header [data-testid=user]{color:#e0e7ff;font-weight:500}.shell-user-cluster .btn-secondary,.shell-actions .btn-secondary{background:#ffffff1f;border-color:#ffffff59;color:#fff}.shell-main,.content-max{flex:1;padding:var(--space-5);max-width:var(--content-max);width:100%;margin:0 auto}.shell-main.content-max{flex:1}.card,.data-table,table{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 16px #5b21b614}.card{padding:var(--space-4)}.card:hover,.data-table tbody tr:hover,table tbody tr:hover,.list-row:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.list-row{--list-row-padding-block: 6px;--list-row-padding-inline: 12px;--list-row-line-height: 1.25;--list-row-min-height: 40px;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--list-row-padding-block) var(--list-row-padding-inline);padding:6px 12px;border-bottom:1px solid var(--color-border);list-style:none;font-size:var(--type-table);line-height:var(--list-row-line-height);line-height:1.25;min-height:var(--list-row-min-height);min-height:40px;width:100%}.row-actions{display:inline-flex;align-items:center;gap:var(--space-3);margin-left:auto}.data-list{list-style:none;margin:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);overflow:hidden;box-shadow:0 4px 16px #5b21b614}.error-banner,.field-error,.error{color:var(--color-danger)}.error-banner{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border:1px solid color-mix(in srgb,var(--color-danger) 35%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface))}.field-error{margin:var(--space-1) 0 var(--space-3);font-size:.875rem}.skeleton{display:block;height:1rem;border-radius:var(--radius);background:linear-gradient(90deg,var(--color-border) 25%,color-mix(in srgb,var(--color-border) 40%,#fff) 50%,var(--color-border) 75%);background-size:200% 100%;animation:skeleton-pulse 1.2s ease-in-out infinite}.spinner{width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}.empty-state{padding:var(--space-6);text-align:center;color:var(--color-muted);border:1px dashed var(--color-border);border-radius:var(--radius);background:color-mix(in srgb,var(--color-secondary) 6%,var(--color-surface))}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--color-muted)}.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;margin-bottom:var(--space-4)}.toolbar h2,.toolbar .type-section{margin:0;font-size:var(--type-section);flex:1}.form-stack{display:flex;flex-direction:column;gap:var(--space-3);max-width:28rem}.form-stack label{display:flex;flex-direction:column;gap:var(--space-1);font-weight:500}.form-stack input,.form-stack select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit;background:var(--color-surface)}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.modal-backdrop{position:fixed;inset:0;background:#1e1b4b8c;z-index:40}.modal-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;width:min(28rem,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:var(--space-5);background:var(--color-surface);border-radius:calc(var(--radius) + 4px);box-shadow:0 24px 48px #4c1d9559}.modal-dialog h2{margin:0 0 var(--space-4);font-size:var(--type-section)}.modal-dialog .form-stack{max-width:none}@media(max-width:640px){.shell-header,.shell-main,.content-max{padding:var(--space-3)}.toolbar{flex-direction:column;align-items:stretch}}
