@font-face{font-family:Montserrat;font-weight:400;src:url(/fonts/montserrat/montserrat-400.woff2) format("woff2");font-display:swap}@font-face{font-family:Montserrat;font-weight:500;src:url(/fonts/montserrat/montserrat-500.woff2) format("woff2");font-display:swap}@font-face{font-family:Montserrat;font-weight:600;src:url(/fonts/montserrat/montserrat-600.woff2) format("woff2");font-display:swap}@font-face{font-family:Montserrat;font-weight:700;src:url(/fonts/montserrat/montserrat-700.woff2) format("woff2");font-display:swap}:root{--global-space-1: .25rem;--global-space-2: .5rem;--global-space-3: .75rem;--global-space-4: 1rem;font-family:Montserrat,system-ui,sans-serif;color:var(--ui-text)}body{margin:0}*,*:before,*:after{box-sizing:border-box;font-family:inherit}h1,h2,h3,h4{font-weight:600;margin:0}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem max(1rem,(100vw - 1400px) / 2);border-bottom:1px solid var(--ui-border)}.brand{font-size:1.2rem;font-weight:600;color:var(--ui-text);text-decoration:none}main{max-width:1400px;margin:auto;padding:1.5rem 1rem}.auth-gate{display:grid;place-items:center;min-height:100dvh;padding:1rem}.auth-form{width:100%;max-width:390px;display:flex;flex-direction:column;gap:1rem;border:1px solid var(--ui-panel-border);border-radius:var(--ui-radius);padding:1.5rem;background:var(--ui-panel)}.auth-form p{margin:0}:root{--ui-text: #243d31;--ui-muted: #607268;--ui-surface: #fff;--ui-panel: #f9fdfb;--ui-border: #cbded4;--ui-panel-border: #42b883;--ui-hover: #edf8f2;--ui-disabled-surface: #f0f4f2;--ui-primary: #287d56;--ui-primary-hover: #206545;--ui-action-text: #235d46;--ui-focus: #287d56;--ui-success: #286245;--ui-success-surface: #eaf5ee;--ui-success-border: #b4d9c3;--ui-warning: #85591f;--ui-warning-surface: #fcf1df;--ui-warning-border: #e0c188;--ui-danger: #aa3328;--ui-danger-hover: #8d291f;--ui-danger-surface: #fff2f0;--ui-danger-border: #edc1bb;--ui-radius: 6px;--ui-font-control: .85rem;--ui-font-small: .8rem;--ui-font-badge: .7rem;--ui-control-height: 36px;--ui-control-height-compact: 28px}.ui-button{--button-bg: var(--ui-surface);--button-color: var(--ui-action-text);--button-border: var(--ui-border);--button-hover-bg: var(--ui-hover);--button-hover-border: var(--ui-focus);--button-hover-color: var(--ui-action-text);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-width:0;min-height:var(--ui-control-height);padding:.5rem .75rem;border:1px solid var(--button-border);border-radius:var(--ui-radius);background:var(--button-bg);color:var(--button-color);font-family:inherit;font-size:var(--ui-font-control);font-weight:400;line-height:1.25;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.ui-button:hover:not(:disabled):not([aria-disabled=true]){background:var(--button-hover-bg);border-color:var(--button-hover-border);color:var(--button-hover-color)}.ui-button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}.ui-button:disabled,.ui-button[aria-disabled=true]{opacity:.6;cursor:default}.ui-button svg{flex-shrink:0;width:14px;height:14px}.ui-button--primary{--button-bg: var(--ui-surface);--button-color: var(--ui-action-text);--button-border: var(--ui-border);--button-hover-bg: var(--ui-hover);--button-hover-border: var(--ui-focus);--button-hover-color: var(--ui-action-text);--button-bg: var(--ui-primary);--button-color: #fff;--button-border: var(--ui-primary);--button-hover-bg: var(--ui-primary-hover);--button-hover-border: var(--ui-primary-hover);--button-hover-color: #fff;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-width:0;min-height:var(--ui-control-height);padding:.5rem .75rem;border:1px solid var(--button-border);border-radius:var(--ui-radius);background:var(--button-bg);color:var(--button-color);font-family:inherit;font-size:var(--ui-font-control);font-weight:400;line-height:1.25;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.ui-button--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--button-hover-bg);border-color:var(--button-hover-border);color:var(--button-hover-color)}.ui-button--primary:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}.ui-button--primary:disabled,.ui-button--primary[aria-disabled=true]{opacity:.6;cursor:default}.ui-button--primary svg{flex-shrink:0;width:14px;height:14px}.ui-button--danger{--button-bg: var(--ui-surface);--button-color: var(--ui-action-text);--button-border: var(--ui-border);--button-hover-bg: var(--ui-hover);--button-hover-border: var(--ui-focus);--button-hover-color: var(--ui-action-text);--button-bg: var(--ui-danger);--button-color: #fff;--button-border: var(--ui-danger);--button-hover-bg: var(--ui-danger-hover);--button-hover-border: var(--ui-danger-hover);--button-hover-color: #fff;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-width:0;min-height:var(--ui-control-height);padding:.5rem .75rem;border:1px solid var(--button-border);border-radius:var(--ui-radius);background:var(--button-bg);color:var(--button-color);font-family:inherit;font-size:var(--ui-font-control);font-weight:400;line-height:1.25;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.ui-button--danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--button-hover-bg);border-color:var(--button-hover-border);color:var(--button-hover-color)}.ui-button--danger:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}.ui-button--danger:disabled,.ui-button--danger[aria-disabled=true]{opacity:.6;cursor:default}.ui-button--danger svg{flex-shrink:0;width:14px;height:14px}.ui-control{box-sizing:border-box;min-width:0;min-height:var(--ui-control-height);padding:.5rem .75rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);font-family:inherit;font-size:var(--ui-font-control);font-weight:400;line-height:1.25}.ui-control:not(textarea){height:var(--ui-control-height)}.ui-control::placeholder{color:var(--ui-muted);opacity:1}.ui-control:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px;border-color:var(--ui-focus)}.ui-control:disabled{background:var(--ui-disabled-surface);color:var(--ui-muted);cursor:default}.ui-control[aria-invalid=true]{border-color:var(--ui-danger)}.ui-field-label{color:var(--ui-text);font-size:var(--ui-font-small);font-weight:500;line-height:1.4;text-transform:none;letter-spacing:normal}.ui-hint{margin:0;color:var(--ui-muted);font-size:var(--ui-font-small);font-weight:400;line-height:1.5;overflow-wrap:anywhere}.ui-feedback{margin:0;color:var(--ui-muted);font-size:var(--ui-font-small);font-weight:400;line-height:1.5;overflow-wrap:anywhere;box-sizing:border-box;padding:.5rem .75rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-panel);color:var(--ui-text)}.ui-error{margin:0;color:var(--ui-muted);font-size:var(--ui-font-small);font-weight:400;line-height:1.5;overflow-wrap:anywhere;box-sizing:border-box;padding:.5rem .75rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-panel);color:var(--ui-text);background:var(--ui-danger-surface);border-color:var(--ui-danger-border);color:var(--ui-danger)}.ui-warning{margin:0;color:var(--ui-muted);font-size:var(--ui-font-small);font-weight:400;line-height:1.5;overflow-wrap:anywhere;box-sizing:border-box;padding:.5rem .75rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-panel);color:var(--ui-text);background:var(--ui-warning-surface);border-color:var(--ui-warning-border);color:var(--ui-warning)}.ui-success{margin:0;color:var(--ui-muted);font-size:var(--ui-font-small);font-weight:400;line-height:1.5;overflow-wrap:anywhere;box-sizing:border-box;padding:.5rem .75rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-panel);color:var(--ui-text);background:var(--ui-success-surface);border-color:var(--ui-success-border);color:var(--ui-success)}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--ui-primary)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible,input[type=range]:focus-visible,a:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
