:root{color-scheme:light;--color-ink: #132238;--color-ink-soft: #526277;--color-navy: #10243e;--color-navy-light: #1b385b;--color-accent: #6656d9;--color-accent-dark: #4e42b3;--color-accent-soft: #efedff;--color-surface: rgba(255, 255, 255, .88);--color-surface-solid: #ffffff;--color-canvas: #f4f1eb;--color-border: rgba(35, 58, 82, .12);--color-success: #13795b;--color-success-soft: #e8f7f1;--color-danger: #b42318;--color-danger-soft: #fff0ef;--shadow-card: 0 18px 50px rgba(25, 42, 62, .09);--shadow-elevated: 0 22px 60px rgba(9, 26, 47, .18);--radius-sm: 12px;--radius-md: 18px;--radius-lg: 26px;--transition: .18s cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html{min-height:100%;background:var(--color-canvas)}body{margin:0;min-height:100vh;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at 8% -10%,rgba(102,86,217,.13),transparent 28rem),radial-gradient(circle at 92% 8%,rgba(44,102,155,.14),transparent 32rem),linear-gradient(180deg,#f8f6f2 0%,var(--color-canvas) 58%,#eef1f4 100%);color:var(--color-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{position:fixed;inset:0;z-index:-1;background-image:linear-gradient(rgba(16,36,62,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(16,36,62,.025) 1px,transparent 1px);background-size:32px 32px;content:"";pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,black,transparent 75%);mask-image:linear-gradient(to bottom,black,transparent 75%)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}input,select,textarea{min-height:48px;border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;color:var(--color-ink);transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}input:hover,select:hover,textarea:hover{border-color:#233a5242}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px #6656d91f}button:focus-visible,a:focus-visible{outline:3px solid rgba(102,86,217,.3);outline-offset:3px}::selection{background:#6656d938}@media(prefers-reduced-motion:no-preference){router-outlet+*{animation:page-enter .32s var(--transition) both}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}}}.dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#0714258f;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:backdrop-enter .16s ease-out both}.logout-dialog{width:min(100%,430px);border:1px solid rgba(255,255,255,.7);border-radius:28px;background:#fff;box-shadow:0 28px 80px #07142547;padding:clamp(24px,5vw,34px);text-align:center;animation:dialog-enter .22s var(--transition) both}.dialog-icon{display:grid;width:52px;height:52px;margin:0 auto 14px;place-items:center;border-radius:17px;background:var(--color-accent-soft);color:var(--color-accent-dark)}.dialog-icon svg{width:23px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.dialog-kicker{color:var(--color-accent-dark);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.logout-dialog h2{margin:7px 0 10px;color:var(--color-navy);font-size:clamp(22px,5vw,28px);letter-spacing:-.04em}.logout-dialog p{margin:0 auto;color:var(--color-ink-soft);font-size:13px;line-height:1.55}.dialog-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;margin-top:24px}.dialog-actions button{min-height:48px;border-radius:var(--radius-sm);padding:11px 14px;font-size:13px;font-weight:750;transition:transform var(--transition),box-shadow var(--transition),background var(--transition)}.dialog-actions button:hover{transform:translateY(-1px)}.dialog-cancel{border:1px solid var(--color-border);background:#fff;color:var(--color-navy)}.dialog-confirm{border:0;background:var(--color-navy);color:#fff}.dialog-confirm:hover{background:var(--color-navy-light);box-shadow:0 12px 24px #10243e29}@keyframes backdrop-enter{0%{opacity:0}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(10px) scale(.98)}}@media(max-width:620px){.dialog-actions{grid-template-columns:1fr}.dialog-confirm{grid-row:1}}
