.app-shell{gap:var(--s-6);padding-block:var(--s-6) var(--s-8);grid-template-columns:minmax(0,15rem) minmax(0,1fr);align-items:start;display:grid}.app-main{gap:var(--s-5);min-width:0;display:grid}.app-main>h1,.app-title{font-size:var(--t-2);line-height:1.1}.app-nav{gap:var(--s-4);padding:var(--s-4);background:var(--aluminum);border-radius:var(--r-control);display:grid}.app-nav__group{gap:2px;display:grid}.app-nav__heading{margin:0 0 var(--s-1);color:var(--steel);font-size:var(--t-micro);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.app-nav a{min-height:36px;padding:6px var(--s-3) 4px;border-radius:var(--r-control);color:var(--ink);font-size:var(--t-small);align-items:center;font-weight:600;text-decoration:none;display:flex}.app-nav a:hover{background:var(--aluminum-deep)}.app-nav a[aria-current=page]{background:var(--ink);color:var(--paper)}.app-nav__signout{justify-self:start;min-height:24px}.app-shell .app-nav-toggle{display:none}.app-main>.app-btn,.app-main>a.app-btn{justify-self:start}@media (width<=860px){.app-shell{gap:var(--s-4);padding-block:var(--s-4) var(--s-7);grid-template-columns:minmax(0,1fr)}.app-shell .app-nav-toggle{margin-bottom:var(--s-3);display:inline-flex}.app-nav[data-collapsed=true]{display:none}}.app-narrow{width:100%;max-width:30rem;padding-block:var(--s-7) var(--s-8);gap:var(--s-5);margin-inline:auto;display:grid}.app-narrow h1{font-size:var(--t-2);line-height:1.1}.app-card{gap:var(--s-4);padding:clamp(var(--s-4), 3vw, var(--s-6));background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-control);display:grid}.app-card--muted{background:var(--aluminum);border-color:var(--aluminum)}.app-muted{color:var(--steel);font-size:var(--t-small)}.app-row{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.app-row--between{justify-content:space-between}.app-btn{justify-content:center;align-items:center;gap:var(--s-2);border:2px solid var(--brand-red);border-radius:var(--r-control);background:var(--brand-red);min-width:44px;min-height:44px;color:var(--paper);font:inherit;cursor:pointer;padding:10px 20px 8px;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.app-btn:hover{background:var(--brand-red-deep);border-color:var(--brand-red-deep)}.app-btn--outline{border-color:var(--ink);color:var(--ink);background:0 0}.app-btn--outline:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.app-btn--danger{background:var(--paper);border-color:var(--safety-red);color:var(--safety-red)}.app-btn--danger:hover{background:var(--safety-red);border-color:var(--safety-red);color:var(--paper)}.app-btn--block{width:100%}.app-btn--small{min-height:36px;font-size:var(--t-small);padding:6px 14px 4px}.app-btn[disabled],.app-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.app-link-btn{min-width:24px;min-height:24px;color:var(--ink);font:inherit;font-size:var(--t-small);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:2px 4px;font-weight:700;text-decoration:underline}.app-link-btn:hover{text-decoration-color:var(--brand-red)}:where(.app-btn,.app-link-btn,.app-nav a,.app-input,.app-select,.app-textarea,.app-tab):focus-visible{outline:3px solid var(--safety-blue);outline-offset:2px}.app-form{gap:var(--s-4);display:grid}.app-field{gap:6px;display:grid}.app-field__label{font-size:var(--t-small);font-weight:700}.app-field__optional{color:var(--steel);font-weight:400}.app-field__help{color:var(--steel);font-size:var(--t-micro);margin:0}.app-input,.app-select,.app-textarea{border:1.5px solid var(--rule-strong);border-radius:var(--r-control);background:var(--paper);width:100%;min-height:46px;color:var(--ink);font:inherit;padding:10px 12px 8px;font-size:1rem;line-height:1.4}.app-textarea{resize:vertical;min-height:7.5rem}.app-input:hover,.app-select:hover,.app-textarea:hover{border-color:var(--steel)}.app-input[aria-invalid=true],.app-select[aria-invalid=true],.app-textarea[aria-invalid=true]{border-color:var(--safety-red)}.app-field-error{color:var(--safety-red);font-size:var(--t-small);margin:0;font-weight:700}.app-field-error:before{content:"Error: "}.app-check{align-items:flex-start;gap:var(--s-2);font-size:var(--t-small);display:flex}.app-check input{width:20px;height:20px;accent-color:var(--ink);margin-top:1px}.app-error-summary{padding:var(--s-3) var(--s-4);border-left:4px solid var(--safety-red);background:var(--aluminum);font-weight:600}.app-error-summary:focus{outline:3px solid var(--safety-blue);outline-offset:2px}.app-notice{padding:var(--s-3) var(--s-4);border-left:4px solid var(--safety-green);background:var(--aluminum)}.app-notice--info{border-left-color:var(--safety-blue)}.app-notice--warn{border-left-color:var(--safety-orange)}.app-badge{border:1px solid var(--rule-strong);background:var(--paper);min-height:24px;color:var(--ink);font-size:var(--t-micro);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 10px 0;font-weight:700;display:inline-flex}.app-badge:before{content:"";background:var(--steel);border-radius:50%;flex:none;width:8px;height:8px}.app-badge--positive:before{background:var(--safety-green)}.app-badge--attention:before{background:var(--safety-orange)}.app-badge--negative:before{background:var(--safety-red)}.app-badge--progress:before{background:var(--safety-blue)}.app-table-wrap{border:1px solid var(--rule);border-radius:var(--r-control);overflow-x:auto}.app-table{border-collapse:collapse;width:100%;font-size:var(--t-small)}.app-table caption{padding:var(--s-3) var(--s-4) 0;text-align:left;font-weight:700}.app-table th,.app-table td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}.app-table th{background:var(--aluminum);font-size:var(--t-micro);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.app-table tr:last-child td{border-bottom:0}.app-table .is-num{text-align:right;font-variant-numeric:tabular-nums}.app-empty{gap:var(--s-3);padding:var(--s-6) var(--s-5);border:1.5px dashed var(--rule-strong);border-radius:var(--r-control);justify-items:start;display:grid}.app-empty h2,.app-empty h3{font-size:var(--t-4)}.app-stepper{gap:var(--s-2) var(--s-4);counter-reset:step;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.app-stepper li{align-items:center;gap:var(--s-2);color:var(--steel);font-size:var(--t-small);counter-increment:step;font-weight:600;display:flex}.app-stepper li:before{content:counter(step);border:2px solid var(--rule-strong);width:28px;height:28px;font-size:var(--t-micro);border-radius:50%;place-items:center;font-weight:800;display:grid}.app-stepper li[data-state=done]{color:var(--ink)}.app-stepper li[data-state=done]:before{content:"✓";border-color:var(--safety-green);background:var(--safety-green);color:var(--paper)}.app-stepper li[aria-current=step]{color:var(--ink)}.app-stepper li[aria-current=step]:before{border-color:var(--ink);background:var(--ink);color:var(--paper)}.app-tablist{gap:var(--s-1);border-bottom:2px solid var(--rule);flex-wrap:wrap;display:flex}.app-tab{min-height:44px;padding:10px var(--s-4) 8px;color:var(--steel);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-2px;font-weight:700}.app-tab[aria-selected=true]{border-bottom-color:var(--brand-red);color:var(--ink)}.app-tabpanel{padding-top:var(--s-4)}.app-modal{width:min(32rem, calc(100vw - 2 * var(--s-4)));max-height:calc(100vh - 2 * var(--s-4));padding:var(--s-5);border-radius:var(--r-control);background:var(--paper);color:var(--ink);border:0}.app-modal::backdrop{background:#0000008c}.app-modal__title{margin-bottom:var(--s-3);font-size:var(--t-3)}.app-modal__actions{justify-content:flex-end;gap:var(--s-3);margin-top:var(--s-5);flex-wrap:wrap;display:flex}.app-toasts{right:var(--s-4);bottom:var(--s-4);z-index:60;gap:var(--s-2);width:min(24rem, calc(100vw - 2 * var(--s-4)));pointer-events:none;display:grid;position:fixed}.app-toast{align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-left:4px solid var(--safety-blue);border-radius:var(--r-control);background:var(--ink);color:var(--paper);font-size:var(--t-small);pointer-events:auto;display:flex}.app-toast p{flex:1;margin:0}.app-toast--success{border-left-color:var(--safety-green)}.app-toast--error{border-left-color:var(--safety-red)}.app-toast__action{color:var(--brand-yellow);font-weight:700}.app-toast__close{min-width:24px;min-height:24px;color:var(--paper);cursor:pointer;background:0 0;border:0;font-size:1.25rem;line-height:1}.app-drop{gap:var(--s-3);display:grid}.app-drop__zone{align-items:center;gap:var(--s-3);padding:var(--s-4);border:1.5px dashed var(--rule-strong);border-radius:var(--r-control);background:var(--paper);flex-wrap:wrap;display:flex}.app-drop__zone.is-over{border-color:var(--ink);background:var(--aluminum)}.app-drop__input:focus-visible+.app-drop__zone .app-btn{outline:3px solid var(--safety-blue);outline-offset:2px}.app-drop__hint{color:var(--steel);font-size:var(--t-small);margin:0}.app-drop__list{gap:var(--s-2);margin:0;padding:0;list-style:none;display:grid}.app-drop__item{align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-2) var(--s-3);background:var(--aluminum);border-radius:var(--r-control);font-size:var(--t-small);flex-wrap:wrap;display:flex}.app-drop__name{overflow-wrap:anywhere;flex:12rem;min-width:0;font-weight:700}.app-drop__item--error .app-drop__status{color:var(--safety-red);font-weight:700}.app-loading{color:var(--steel)}[data-app-root][aria-busy=true]{opacity:.7}@media (prefers-reduced-motion:no-preference){.app-btn,.app-nav a,.app-tab{transition:background-color .12s,color .12s,border-color .12s}}
