.button{font:inherit;padding:var(--space-2) var(--space-4);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast)}.button--danger{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-primary-contrast)}.error-banner{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius);background:var(--color-danger-bg);color:var(--color-danger)}.error-banner__detail{margin:var(--space-1) 0 0}.toast__region{position:fixed;right:var(--space-4);bottom:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);z-index:60}.toast{background:var(--color-text);color:var(--color-surface);padding:var(--space-2) var(--space-4);border-radius:var(--radius)}.field{display:flex;flex-direction:column;gap:var(--space-1);min-width:160px}.field__label{font-size:12px;color:var(--color-muted)}.field__control{font:inherit;padding:6px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.field__error{color:var(--color-danger);font-size:12px}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg);padding:var(--space-4)}.login-page__logo{display:block;width:210px;height:auto;max-height:80px;object-fit:contain;margin-bottom:var(--space-5)}.login-page__card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:var(--space-5) var(--space-5) var(--space-4);box-shadow:0 2px 8px #0000000f}.login-page__heading{text-align:center;color:var(--color-text);font-size:24px;font-weight:600;margin:0 0 var(--space-1)}.login-page__subtitle{text-align:center;color:var(--color-muted);font-size:15px;margin:0 0 var(--space-5)}.login-page__subheading{text-align:center;color:var(--color-text);font-size:18px;font-weight:600;margin:0}.login-page__description{text-align:center;color:var(--color-muted);font-size:14px;margin:0;line-height:1.4}.login-page__form{display:flex;flex-direction:column;gap:var(--space-4)}.login-page__error{background:var(--color-danger-bg);border:1px solid var(--color-danger);color:var(--color-danger);border-radius:var(--radius);padding:var(--space-3);font-size:13px;margin-bottom:var(--space-4)}.login-page__row{display:flex;justify-content:flex-end}.login-page__actions{margin-top:var(--space-1)}.login-page__submit{width:100%;justify-content:center}.login-page__email-display{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-neutral-bg);border:1px solid var(--color-border);border-radius:var(--radius)}.login-page__email-value{color:var(--color-text);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-page__link{background:none;border:none;color:var(--color-primary);font:inherit;font-size:13px;cursor:pointer;padding:0;flex-shrink:0}.login-page__link:hover{text-decoration:underline}.login-page__back-link{display:block;text-align:center;margin-top:var(--space-2);background:none;border:none;color:var(--color-primary);font:inherit;font-size:14px;cursor:pointer;padding:0}.login-page__back-link:hover{text-decoration:underline}.login-page__footer{margin-top:var(--space-5);text-align:center}.login-page__help{color:var(--color-muted);font-size:13px;margin:0 0 var(--space-2)}.login-page__copyright{color:var(--color-muted);font-size:12px;margin:0}.status-badge{display:inline-block;padding:1px var(--space-2);border-radius:999px;font-size:12px;background:var(--color-neutral-bg);color:var(--color-text);white-space:nowrap}.status-badge--success{background:var(--color-success-bg);color:var(--color-success)}.status-badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}.status-badge--danger{background:var(--color-danger-bg);color:var(--color-danger)}.app{display:grid;grid-template-columns:200px 1fr;grid-template-rows:auto 1fr;grid-template-areas:"header header" "nav main";min-height:100vh}.app__header{grid-area:header;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app__brand{font-weight:700;font-size:16px}.app__spacer{flex:1}.app__user{position:relative}.app__user-menu{position:absolute;right:0;z-index:10;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);min-width:160px}.app__user-menu button{font:inherit;text-align:left;border:0;background:none;padding:var(--space-2) var(--space-3);cursor:pointer}.app__nav{grid-area:nav;display:flex;flex-direction:column;padding:var(--space-3);gap:var(--space-1);background:var(--color-surface);border-right:1px solid var(--color-border)}.app__nav-link{padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--color-text);text-decoration:none}.app__nav-link.active{background:var(--color-neutral-bg);font-weight:600}.app__main{grid-area:main;padding:var(--space-5);min-width:0}:root{--color-bg: #f6f7f9;--color-surface: #ffffff;--color-border: #d8dce2;--color-text: #1d2430;--color-muted: #5d6877;--color-primary: #1f5fbf;--color-primary-contrast: #ffffff;--color-danger: #b3261e;--color-danger-bg: #fdecea;--color-success: #1b7f3b;--color-success-bg: #e6f4ea;--color-warning: #8a5a00;--color-warning-bg: #fff4d6;--color-neutral-bg: #eceff3;--color-focus: #0b57d0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--radius: 6px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);font-size:14px;color:var(--color-text);background:var(--color-bg)}a{color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}h1{font-size:20px;margin:0 0 var(--space-4)}h2{font-size:16px;margin:var(--space-4) 0 var(--space-2)}.page__toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:flex-end;margin-bottom:var(--space-4)}.page__empty,.page__muted{color:var(--color-muted)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-4)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
