.field{gap:var(--space-1);flex-direction:column;display:flex}.field__label,.field__legend{font-weight:var(--weight-medium);padding:0}.field__optional{font-weight:var(--weight-normal);color:var(--color-text-muted)}.field__hint{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.field__error{align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-danger);margin:0;display:flex}.field__icon{flex:none;margin-block-start:.2em}.input{inline-size:100%;min-block-size:var(--touch-target);padding:var(--space-2) var(--space-3);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--motion-fast) var(--ease-out)}.input:hover{border-color:var(--color-text-muted)}.input[aria-invalid=true]{border-color:var(--color-danger);border-width:2px}.input-group{gap:var(--space-2);align-items:stretch;display:flex}.input-group .input{flex:1;min-inline-size:0}.choice{align-items:flex-start;gap:var(--space-3);min-block-size:var(--touch-target);padding-block:var(--space-2);cursor:pointer;display:flex}.choice input{block-size:1.375rem;inline-size:1.375rem;accent-color:var(--color-accent);cursor:pointer;flex:none;margin:.1em 0 0}.choice-group{gap:var(--space-1);border:0;flex-direction:column;min-inline-size:0;margin:0;padding:0;display:flex}.choice-group[aria-invalid=true] .choice input,.choice--invalid input{outline:2px solid var(--color-danger);outline-offset:1px}.switch{align-items:center;gap:var(--space-3);min-block-size:var(--touch-target);text-align:start;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.switch__track{border-radius:var(--radius-full);background:var(--color-border-strong);block-size:1.5rem;inline-size:2.75rem;transition:background-color var(--motion-fast) var(--ease-out);flex:none;position:relative}.switch__track:after{content:"";background:var(--color-surface);block-size:calc(1.5rem - 6px);inline-size:calc(1.5rem - 6px);box-shadow:var(--shadow-sm);transition:transform var(--motion-normal) var(--ease-out);border-radius:50%;position:absolute;inset-block-start:3px;inset-inline-start:3px}.switch[aria-checked=true] .switch__track{background:var(--color-accent)}.switch[aria-checked=true] .switch__track:after{transform:translate(1.25rem)}.file-field__input{inline-size:100%;min-block-size:var(--touch-target);padding:var(--space-2);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer}.card{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.badge{padding:.125rem var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);align-items:center;line-height:1.4;display:inline-flex}.badge--neutral{background:var(--color-surface-muted);color:var(--color-text)}.badge--accent{background:var(--color-accent-soft);color:var(--color-accent-strong)}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.alert{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border-inline-start:4px solid;display:flex}.alert__body{min-inline-size:0;color:var(--color-text);flex:1}.alert__title{margin:0 0 var(--space-1);font-weight:var(--weight-bold)}.alert__action{margin-block-start:var(--space-2)}.alert--info{background:var(--color-info-soft);color:var(--color-info)}.alert--success{background:var(--color-success-soft);color:var(--color-success)}.alert--warning{background:var(--color-warning-soft);color:var(--color-warning)}.alert--danger{background:var(--color-danger-soft);color:var(--color-danger)}.skeleton__shapes{gap:var(--space-3);flex-direction:column;display:flex}.skeleton__block,.skeleton__line{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-surface-muted) 0%, var(--color-border) 50%, var(--color-surface-muted) 100%);animation:skeleton-pulse calc(var(--motion-slow) * 4) ease-in-out infinite;background-size:200% 100%}.skeleton__block{border-radius:var(--radius-lg)}.skeleton__line{block-size:1em}@keyframes skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.state{align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;display:flex}.state__title{font-size:var(--text-lg);margin:0}.button{justify-content:center;align-items:center;gap:var(--space-2);min-block-size:var(--touch-target);min-inline-size:var(--touch-target);padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);font-weight:var(--weight-medium);line-height:var(--leading-tight);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);border:2px solid #0000;text-decoration:none;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.6}.button[aria-busy=true]{cursor:progress;opacity:1}.button--primary{background:var(--color-accent);color:var(--color-on-accent)}.button--primary:hover:not(:disabled){background:var(--color-accent-strong);color:var(--color-on-accent)}.button--secondary{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-accent)}.button--secondary:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-accent-strong)}.button--quiet{color:var(--color-accent);padding-inline:var(--space-3);background:0 0}.button--quiet:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-accent-strong)}.button--danger{background:var(--color-danger);color:var(--color-on-accent)}.button--danger:hover:not(:disabled){filter:brightness(.92);color:var(--color-on-accent)}.button__stack{display:grid}.button__ghost,.button__busy{grid-area:1/1}.button__ghost{visibility:hidden}.button__busy{justify-content:center;align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.button__spinner{block-size:1em;inline-size:1em;animation:button-spin calc(var(--motion-slow) * 2.5) linear infinite;border:2px solid;border-inline-end-color:#0000;border-radius:50%}@keyframes button-spin{to{transform:rotate(360deg)}}.dialog{inline-size:min(100% - 2 * var(--space-4), 36rem);max-block-size:min(100dvh - 2 * var(--space-6), 48rem);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg);border:0;padding:0}.dialog::backdrop{background:var(--color-overlay)}.dialog[open]{animation:dialog-in var(--motion-normal) var(--ease-out)}.dialog__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3) var(--space-5);background:var(--color-surface);border-block-end:1px solid var(--color-border);display:flex;position:sticky;inset-block-start:0}.dialog__title{font-size:var(--text-lg);margin:0}.dialog__body{padding:var(--space-4) var(--space-5) var(--space-5)}.dialog--drawer{border-radius:0 var(--radius-lg) var(--radius-lg) 0;block-size:100dvh;max-block-size:none;inline-size:min(85vw,20rem);margin:0}.dialog--drawer[open]{animation-name:drawer-in}@media (width<=599px){.dialog--centre{border-radius:var(--radius-lg) var(--radius-lg) 0 0;inline-size:100%;max-inline-size:none;margin:auto 0 0}.dialog--centre[open]{animation-name:sheet-in}}@keyframes dialog-in{0%{opacity:0;transform:scale(.97)}}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes drawer-in{0%{transform:translate(-100%)}}.progress-steps__count{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.progress-steps__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.progress-steps__step{gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted);flex-direction:column;flex:1;display:flex}.progress-steps__dot{border-radius:var(--radius-full);background:var(--color-border);block-size:6px}.progress-steps__step--done .progress-steps__dot,.progress-steps__step--current .progress-steps__dot{background:var(--color-accent)}.progress-steps__step--current{color:var(--color-text);font-weight:var(--weight-bold)}@media (width<=599px){.progress-steps__label{clip-path:inset(50%);block-size:1px;inline-size:1px;position:absolute;overflow:hidden}}.skip-link{z-index:200;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-on-accent);font-weight:var(--weight-medium);position:absolute;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);transform:translateY(-200%)}.skip-link:focus-visible,.skip-link:focus{color:var(--color-on-accent);transform:none}.table{border-collapse:collapse;background:var(--color-surface);inline-size:100%}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:start;vertical-align:top;border-block-end:1px solid var(--color-border)}.table th{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-text-muted);background:var(--color-surface-muted)}@media (width<=599px){.table--stack thead{clip-path:inset(50%);block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.table--stack,.table--stack tbody,.table--stack tr,.table--stack td{inline-size:100%;display:block}.table--stack{background:0 0}.table--stack tr{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin-block-end:var(--space-3)}.table--stack td{gap:var(--space-3);padding:var(--space-1) 0;overflow-wrap:anywhere;border:0;grid-template-columns:minmax(6rem,40%) 1fr;display:grid}.table--stack td:before{content:attr(data-label);font-weight:var(--weight-bold);color:var(--color-text-muted)}}.pagination{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-4);display:flex}.tabs__list{gap:var(--space-1);border-block-end:1px solid var(--color-border);scrollbar-width:thin;display:flex;overflow-x:auto}.tabs__tab{min-block-size:var(--touch-target);padding:var(--space-2) var(--space-4);color:var(--color-text-muted);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:0;border-block-end:3px solid #0000;flex:none}.tabs__tab:hover{color:var(--color-text)}.tabs__tab[aria-selected=true]{border-block-end-color:var(--color-accent);color:var(--color-accent-strong)}.tabs__panel{padding-block:var(--space-5)}.toasts{z-index:100;inset-inline:var(--space-3);gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;inset-block-end:var(--space-3)}.toasts__region{gap:var(--space-2);flex-direction:column;display:flex}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-md);border-inline-start:4px solid var(--color-info);background:var(--color-surface);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-in var(--motion-normal) var(--ease-out);display:flex}.toast--success{border-inline-start-color:var(--color-success)}.toast--error{border-inline-start-color:var(--color-danger)}.toast__message{flex:1;margin:0}.toast__close{min-block-size:var(--touch-target);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);color:var(--color-accent);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:0;flex:none}.toast__close:hover{background:var(--color-accent-soft)}@media (width>=600px){.toasts{inset-inline:auto var(--space-5);inset-block:var(--space-5) auto;inline-size:24rem}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}
