@layer ui-tokens{:root{--color-surface:#fff;--color-text:#1a1d23;--color-text-muted:#5b6270;--color-border:#d5d9e0;--color-primary:#2557d6;--color-primary-hover:#1c46b0;--color-on-primary:#fff;--color-danger:#c62828;--color-danger-hover:#a31f1f;--color-on-danger:#fff;--color-success:#1b7f46;--color-on-success:#fff;--color-warning:#b26a00;--color-info:#2557d6;--color-overlay:#0f121980;--color-focus:#2557d6;--color-field-bg:#fff;--color-error-bg:#fdecec;--font-family:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-body:15px;--font-size-small:13px;--font-size-title:18px;--font-weight-medium:500;--font-weight-semibold:600;--line-height:1.45;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-sm:6px;--radius-md:10px;--border-w:1px;--focus-w:2px;--shadow-modal:0 12px 40px #0f121940;--shadow-toast:0 6px 20px #0f121933;--btn-h-lg:44px;--btn-h-md:40px;--btn-h-sm:32px;--touch-min:44px;--topbar-h:48px;--page-head-h:44px;--page-gap:var(--space-3);--modal-w-sm:420px;--modal-w-md:520px;--modal-w-lg:720px;--modal-w-xl:960px;--modal-max-h-fallback:90vh;--modal-max-h:90dvh;--z-modal:1000;--z-toast:1100;--dur-fast:.15s;--dur-base:.2s}:root[data-theme=dark]{--color-surface:#1b1f27;--color-text:#e8eaef;--color-text-muted:#9aa2b1;--color-border:#343b48;--color-primary:#6b93ff;--color-primary-hover:#86a6ff;--color-on-primary:#0e1117;--color-danger:#ef6b6b;--color-danger-hover:#f58a8a;--color-on-danger:#0e1117;--color-success:#4cc27f;--color-on-success:#0e1117;--color-warning:#e0a040;--color-info:#6b93ff;--color-overlay:#000000a6;--color-focus:#86a6ff;--color-field-bg:#232834;--color-error-bg:#3a2020;--shadow-modal:0 12px 40px #0009;--shadow-toast:0 6px 20px #00000080;color-scheme:dark}}.ui-overlay,.ui-overlay *,.ui-toast-region,.ui-toast-region *{box-sizing:border-box}.ui-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-topbar{align-items:center;gap:var(--space-2);height:var(--topbar-h);padding:0 var(--space-3);flex-wrap:nowrap;display:flex;overflow:hidden}.ui-page-head{align-items:center;gap:var(--space-2);min-height:var(--page-head-h);margin:0 0 var(--page-gap);flex-wrap:nowrap;display:flex}.ui-page-head__title{min-width:0;font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);line-height:var(--line-height);text-overflow:ellipsis;white-space:nowrap;flex:auto;margin:0;overflow:hidden}.ui-page-head__actions{align-items:center;gap:var(--space-2);flex:none;display:flex}button:disabled{opacity:.55;cursor:not-allowed}.ui-btn[aria-disabled=true]{cursor:default}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--btn-h-md);padding:0 var(--space-4);border:var(--border-w) solid transparent;border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);line-height:1;display:inline-flex;position:relative}.ui-btn--lg{min-height:var(--btn-h-lg)}.ui-btn--sm{min-height:var(--btn-h-sm);padding:0 var(--space-3);font-size:var(--font-size-small)}.ui-btn--sm:before{content:"";inset:calc((var(--btn-h-sm) - var(--touch-min)) / 2) 0;position:absolute}@media (pointer:coarse){.ui-btn--md{min-height:var(--touch-min)}}.ui-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.ui-btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.ui-btn--secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.ui-btn--secondary:hover:not(:disabled){border-color:var(--color-text-muted)}.ui-btn--ghost{color:var(--color-text);background:0 0;border-color:#0000}.ui-btn--ghost:hover:not(:disabled){background:var(--color-border)}.ui-btn--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-on-danger)}.ui-btn--danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.ui-btn.is-pending{opacity:.7;cursor:progress}.ui-btn.is-done,.ui-btn.is-failed{opacity:1;cursor:default}.ui-btn--primary.is-done,.ui-btn--danger.is-done{background:var(--color-success);border-color:var(--color-success);color:var(--color-on-success)}.ui-btn--secondary.is-done,.ui-btn--ghost.is-done{border-color:var(--color-success);color:var(--color-success);background:0 0}.ui-btn--primary.is-failed{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-on-danger)}.ui-btn--secondary.is-failed,.ui-btn--ghost.is-failed,.ui-btn--danger.is-failed{border-color:var(--color-danger);color:var(--color-danger);background:0 0}.ui-btn:focus-visible,.ui-modal__close:focus-visible,.ui-toast__close:focus-visible,.ui-input:focus-visible{outline:var(--focus-w) solid var(--color-focus);outline-offset:var(--focus-w)}.ui-overlay{z-index:var(--z-modal);padding:var(--space-4);background:var(--color-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-modal{width:100%;max-height:var(--modal-max-h-fallback);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);font-family:var(--font-family);font-size:var(--font-size-body);line-height:var(--line-height);flex-direction:column;display:flex}@supports (max-height:90dvh){.ui-modal{max-height:var(--modal-max-h)}}.ui-modal[tabindex="-1"]:focus{outline:var(--focus-w) solid var(--color-focus);outline-offset:calc(-1 * var(--focus-w))}.ui-modal--sm{max-width:var(--modal-w-sm)}.ui-modal--md{max-width:var(--modal-w-md)}.ui-modal--lg{max-width:var(--modal-w-lg)}.ui-modal--xl{max-width:var(--modal-w-xl)}.ui-modal__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-2) var(--space-6);display:flex}.ui-modal__title{font-size:var(--font-size-title);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;margin:0}.ui-modal--danger .ui-modal__title{color:var(--color-danger)}.ui-modal__close{min-width:var(--touch-min);min-height:var(--touch-min);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-title);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.ui-modal__close:hover:not(:disabled){color:var(--color-text)}.ui-modal__body{min-height:0;padding:var(--space-2) var(--space-6) var(--space-6);flex:auto;overflow-y:auto}.ui-modal__body>:last-child{margin-bottom:0}.ui-modal__text{color:var(--color-text-muted)}.modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-3);margin-top:var(--space-6);display:flex}.ui-modal>.modal-footer{padding:0 var(--space-6) var(--space-6);margin-top:0}[role=dialog] :has(+.modal-footer){margin-bottom:0!important}.modal-footer__start{gap:var(--space-3);margin-right:auto;display:flex}.modal-footer__end{align-items:center;gap:var(--space-3);display:flex}@media (width<=639px){.modal-footer,.modal-footer__end,.modal-footer__start{flex-direction:column-reverse;align-items:stretch}.modal-footer__start{margin-right:0}.modal-footer .ui-btn{width:100%}}.ui-field{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.ui-field__label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text)}.ui-input{min-height:var(--btn-h-md);padding:0 var(--space-3);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-field-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-body)}.ui-error-block{margin-top:var(--space-4);padding:var(--space-3);border:var(--border-w) solid var(--color-danger);border-radius:var(--radius-sm);background:var(--color-error-bg);color:var(--color-danger);font-size:var(--font-size-small)}.ui-toast-region{right:var(--space-4);bottom:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);width:min(100% - 2 * var(--space-4), var(--modal-w-sm));pointer-events:none;flex-direction:column;display:flex;position:fixed}.ui-toast{pointer-events:auto;justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);background:var(--color-surface);color:var(--color-text);border:var(--border-w) solid var(--color-border);border-left-width:var(--space-1);border-radius:var(--radius-sm);box-shadow:var(--shadow-toast);font-family:var(--font-family);font-size:var(--font-size-body);display:flex}.ui-toast--success{border-left-color:var(--color-success)}.ui-toast--info{border-left-color:var(--color-info)}.ui-toast--warning{border-left-color:var(--color-warning)}.ui-toast--error{border-left-color:var(--color-danger)}.ui-toast__text:before{margin-right:var(--space-2);font-weight:var(--font-weight-semibold);display:inline-block}.ui-toast--success .ui-toast__text:before{content:"✓";color:var(--color-success)}.ui-toast--info .ui-toast__text:before{content:"i";color:var(--color-info)}.ui-toast--warning .ui-toast__text:before{content:"!";color:var(--color-warning)}.ui-toast--error .ui-toast__text:before{content:"✕";color:var(--color-danger)}.ui-toast__close{min-width:var(--touch-min);min-height:var(--touch-min);margin:calc(-1 * var(--space-3)) 0;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}@media (width<=639px){.ui-toast-region{right:var(--space-4);left:var(--space-4);width:auto}}@media (prefers-reduced-motion:reduce){.ui-btn{transition:none}}
