*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden}body{background:var(--surface-canvas);color:var(--text-primary);line-height:1.55}a{color:var(--primary-text)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{min-height:2.75rem}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;padding:.6rem 1rem;background:var(--surface-raised);transform:translateY(-200%)}.skip-link:focus{transform:none}.app-shell{min-height:100vh;padding-left:var(--sidebar-width)}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);z-index:30;padding:1.25rem;background:var(--surface-sidebar);border-right:1px solid var(--border-subtle);transition:transform .2s}.brand{display:flex;align-items:center;text-decoration:none;font-weight:800;font-size:1.2rem}.sidebar nav{display:grid;gap:.5rem;margin-top:2rem}.sidebar nav a{display:flex;align-items:center;padding:.65rem .8rem;border-radius:var(--radius-control);color:var(--text-secondary);text-decoration:none}.sidebar nav a:hover{background:var(--surface-hover)}.sidebar nav a[aria-current=page]{background:var(--primary);color:var(--text-on-primary);font-weight:700}.topbar{position:sticky;top:0;z-index:20;min-height:var(--topbar-height);padding:.75rem var(--content-padding);display:flex;align-items:center;gap:1rem;background:var(--surface-panel);border-bottom:1px solid var(--border-subtle);backdrop-filter:blur(12px)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.content{padding:var(--content-padding);max-width:96rem;margin:auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-heading h1{margin:0;font-size:clamp(1.5rem,3vw,2.2rem)}.page-heading p,.ui-state p{margin:.35rem 0 0;color:var(--text-secondary)}.ui-card{min-width:0;padding:1.25rem;border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-raised);box-shadow:var(--shadow-sm)}.icon-button,.button{border:1px solid transparent;border-radius:var(--radius-control);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;text-decoration:none}.icon-button{width:2.75rem;padding:.6rem;background:var(--surface-soft);color:var(--text-primary)}.icon-button svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.button{padding:.6rem 1rem;font-weight:700}.button-primary{background:var(--primary);color:var(--text-on-primary)}.button-primary:hover{background:var(--primary-hover)}.button-secondary{border-color:var(--border-strong);background:var(--surface-raised);color:var(--text-primary)}.ui-state{text-align:center;padding:clamp(2rem,8vw,5rem) 1rem}.ui-state h2{margin:0}.feedback-banner{padding:1rem;border-left:4px solid;border-radius:var(--radius-control);overflow-wrap:anywhere}.tone-info{border-color:var(--info);background:var(--info-soft);color:var(--info-text)}.tone-success{border-color:var(--success);background:var(--success-soft);color:var(--success-text)}.tone-warning{border-color:var(--warning);background:var(--warning-soft);color:var(--warning-text)}.tone-danger{border-color:var(--danger);background:var(--danger-soft);color:var(--danger-text)}.tone-neutral{border-color:var(--border-strong);background:var(--surface-soft)}.standalone,.login-layout{min-height:100vh;display:grid;place-items:center;padding:1rem}.standalone{text-align:center}.login-card{width:min(28rem,100%)}.login-heading{display:flex;justify-content:space-between;gap:1rem}.login-heading h1{margin:.15rem 0}.eyebrow{margin:0;color:var(--primary-text);font-weight:700}.form-stack{display:grid;gap:1rem;margin-top:1.5rem}.form-stack>div{display:grid;gap:.4rem}.form-stack label{font-weight:700}.form-stack input{width:100%;min-width:0;padding:.65rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-canvas);color:var(--text-primary)}.drawer-backdrop{position:fixed;inset:0;z-index:25;background:var(--surface-overlay)}.drawer-backdrop[hidden]{display:none}.shell-sidebar-hidden{padding-left:0}.shell-sidebar-hidden .sidebar{transform:translateX(-100%)}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:1rem}.action-group,.toolbar{display:flex;flex-wrap:wrap;gap:.75rem}.table-container{max-width:100%;overflow-x:auto}.status-badge{display:inline-flex;padding:.2rem .55rem;border-radius:999px;background:var(--surface-soft);font-weight:700;font-size:.8rem}.dialog{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-raised);color:var(--text-primary);box-shadow:0 .5rem 2rem var(--shadow-lg)}.pagination{display:flex;gap:.5rem;list-style:none;padding:0}
@media(max-width:62rem){.app-shell{padding-left:0}.sidebar{transform:translateX(-100%);box-shadow:.5rem 0 2rem var(--shadow-lg)}.drawer-open .sidebar{transform:none}.shell-sidebar-hidden .sidebar{transform:translateX(-100%)}.user-name{display:none}}
@media(max-width:42rem){.topbar{align-items:flex-start;flex-wrap:wrap}.topbar-actions{width:100%;margin-left:0}.button{flex:1}.page-heading{display:block}.field-grid{grid-template-columns:1fr}}
.form-control{width:100%;min-width:0;min-height:2.75rem;padding:.65rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface-canvas);color:var(--text-primary);font:inherit}textarea.form-control{resize:vertical}
