*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Monaco, "Courier New", monospace;--color-page: #f8fafc;--color-surface: #ffffff;--color-elevated: #f1f5f9;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text: #0f172a;--color-text-muted: #475569;--color-text-subtle: #64748b;--color-accent: #2563eb;--color-accent-strong: #1d4ed8;--color-accent-hover: #1e40af;--color-accent-soft: #eff6ff;--color-on-accent: #ffffff;--color-success: #10b981;--color-success-soft: #ecfdf5;--color-alert: #ef4444;--color-alert-soft: #fef2f2;--color-warning: #f59e0b;--color-warning-soft: #fffbeb;--input-bg: var(--color-surface);--input-bg-hover: color-mix(in srgb, var(--color-elevated) 85%, transparent);--input-bg-focus: var(--color-surface);--input-border: var(--color-border);--btn-text: #ffffff;--btn-bg-start: #1e40af;--btn-bg-end: #1e3a8a;--btn-bg-hover-start: #1d4ed8;--btn-bg-hover-end: #1e40af;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--ring-color: rgba(37, 99, 235, .2);--ring-strong: rgba(37, 99, 235, .35);--radius-xs: .25rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--transition-fast: .1s cubic-bezier(.4, 0, .2, 1);--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;color-scheme:light}[data-theme=dark]{--color-page: #0f1419;--color-surface: #111827;--color-elevated: #1b2430;--color-border: #3a4a5f;--color-border-strong: #566b84;--color-text: #f8fafc;--color-text-muted: #cbd5e1;--color-text-subtle: #94a3b8;--color-accent: #22d3ee;--color-accent-strong: #06b6d4;--color-accent-hover: #67e8f9;--color-accent-soft: rgba(34, 211, 238, .22);--color-on-accent: #0a0f1e;--color-success: #34d399;--color-success-soft: rgba(52, 211, 153, .15);--color-alert: #f87171;--color-alert-soft: rgba(248, 113, 113, .15);--color-warning: #f59e0b;--color-warning-soft: #fffbeb;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .7);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .6), 0 1px 2px -1px rgba(0, 0, 0, .6), 0 0 0 1px rgba(148, 163, 184, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .7), 0 2px 4px -2px rgba(0, 0, 0, .7), 0 0 0 1px rgba(148, 163, 184, .08);.client-portal-title{font-family:Inter,Segoe UI,Arial,sans-serif;font-size:2.25rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(100deg,var(--color-accent) 0%,var(--color-text) 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;text-shadow:0 4px 24px rgba(34,211,238,.12),0 1px 0 var(--color-surface),0 .5px .5px var(--color-accent);border-radius:.75rem;padding:.35em .85em;border:2px solid var(--color-accent);box-shadow:0 2px 24px #22d3ee12;transition:background .4s cubic-bezier(.4,0,.2,1),text-shadow .3s,box-shadow .3s,transform .2s;will-change:background,text-shadow,box-shadow,transform;box-decoration-break:clone;display:inline-block;position:relative;z-index:1}.client-portal-title:after{content:"";position:absolute;inset:0;border-radius:.75rem;pointer-events:none;z-index:-1;box-shadow:0 0 0 6px color-mix(in srgb,var(--color-accent) 15%,transparent);opacity:.7;transition:box-shadow .3s}.client-portal-title:hover,.client-portal-title:focus{background:linear-gradient(100deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);box-shadow:0 6px 32px #22d3ee2e;transform:scale(1.04) rotate(-1deg)}.client-portal-title:hover:after,.client-portal-title:focus:after{box-shadow:0 0 0 10px color-mix(in srgb,var(--color-accent) 25%,transparent);opacity:1}}@media (min-width: 28rem){.client-portal-title{font-size:2.75rem;padding:.4em 1.1em}}[data-theme=dark] .client-portal-title{background:linear-gradient(100deg,var(--color-accent) 0%,var(--color-page) 100%);text-shadow:0 6px 32px rgba(22,163,230,.18),0 1px 0 var(--color-surface),0 .5px .5px var(--color-accent)}@media (prefers-reduced-motion: reduce){.client-portal-title,.client-portal-title:after{transition-duration:.01ms!important}}--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .8), 0 4px 6px -4px rgba(0, 0, 0, .8), 0 0 0 1px rgba(148, 163, 184, .12), 0 0 18px rgba(34, 211, 238, .04); --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .9), 0 8px 10px -6px rgba(0, 0, 0, .9), 0 0 0 1px rgba(148, 163, 184, .14), 0 0 26px rgba(34, 211, 238, .06); --ring-color: rgba(34, 211, 238, .35); --ring-strong: rgba(34, 211, 238, .55); --input-bg: rgba(15, 23, 42, .65); --input-bg-hover: rgba(15, 23, 42, .78); --input-bg-focus: rgba(15, 23, 42, .88); --input-border: var(--color-border); --btn-text: #0b101a; --btn-bg-start: var(--color-accent-strong); --btn-bg-end: var(--color-accent); --btn-bg-hover-start: var(--color-accent); --btn-bg-hover-end: var(--color-accent-hover); color-scheme: dark; } html {font-size:16px;scroll-behavior:smooth;height:100%}body{min-height:100vh;font-family:var(--font-sans);background:var(--color-page);color:var(--color-text);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;display:flex;flex-direction:column}html[data-theme-ready=true] *{transition:background-color var(--transition),color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition-fast)}.theme-toggle,.btn,.form-input:focus,.theme-icon{will-change:transform}.theme-toggle:not(:hover),.btn:not(:hover),.form-input:not(:focus),.theme-icon.theme-icon--hidden{will-change:auto}::selection{background:var(--color-accent);color:var(--color-on-accent)}a{color:var(--color-accent);text-decoration:none;font-weight:500;transition:color var(--transition),opacity var(--transition-fast);position:relative}a:hover{color:var(--color-accent-strong);opacity:.85}a:active{opacity:.7}button{font:inherit;cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,.theme-toggle:focus-visible,.skip-link:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:var(--space-md);left:var(--space-md);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-on-accent);font-weight:600;font-size:.875rem;transform:translateY(-200%);transition:transform var(--transition);box-shadow:var(--shadow-lg);z-index:1000}.skip-link:focus{transform:translateY(0);outline:3px solid var(--color-accent-strong);outline-offset:2px}.no-js-banner{margin:1rem auto;padding:.75rem 1rem;border-radius:.75rem;background:var(--color-alert-soft);color:var(--color-alert);max-width:min(32rem,calc(100% - 2rem));text-align:center;font-size:.95rem}.theme-toggle{position:fixed;top:var(--space-lg);right:var(--space-lg);width:3rem;height:3rem;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all var(--transition);z-index:100}.theme-toggle:hover{border-color:var(--color-accent);box-shadow:var(--shadow-lg),0 0 0 4px var(--ring-color);transform:translateY(-2px) scale(1.05);background:var(--color-elevated)}.theme-toggle:active{transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm)}.theme-toggle[data-theme-current=dark]{border-color:var(--color-border-strong);background:var(--color-elevated);box-shadow:var(--shadow-lg),0 0 20px #22d3ee26}.theme-toggle[data-theme-current=dark]:hover{box-shadow:var(--shadow-xl),0 0 30px #22d3ee40,0 0 0 4px var(--ring-color)}.theme-icon{width:1.25rem;height:1.25rem;position:absolute;transition:opacity var(--transition),transform var(--transition),filter var(--transition-fast)}[data-theme=dark] .theme-icon{filter:drop-shadow(0 0 10px rgba(34,211,238,.5))}[data-theme=dark] .theme-toggle:hover .theme-icon{filter:drop-shadow(0 0 12px rgba(34,211,238,.65))}.theme-icon--hidden{opacity:0;transform:scale(.5) rotate(-90deg)}.theme-icon--visible{opacity:1;transform:scale(1) rotate(0)}@media (max-width: 640px){.theme-toggle{top:var(--space-md);right:var(--space-md);width:2.75rem;height:2.75rem}}.page{flex:1;display:flex;align-items:center;justify-content:center;padding:.75rem;min-height:100vh}[data-theme=light] .page--home{--home-gray: #e8eaed;background:radial-gradient(1400px 900px at 5% -5%,rgba(100,100,100,.08),transparent 55%),radial-gradient(1200px 800px at 95% 105%,rgba(80,80,80,.06),transparent 60%),linear-gradient(180deg,#c8c8c859,#b4b4b426);background-color:var(--home-gray)}[data-theme=light] .page--home:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.4;background-image:radial-gradient(circle at 20% 20%,rgba(0,0,0,.018) 0,rgba(0,0,0,.018) 1.5px,transparent 2.5px),radial-gradient(circle at 70% 80%,rgba(0,0,0,.012) 0,rgba(0,0,0,.012) 1.5px,transparent 2.5px),repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.008) 2px,rgba(0,0,0,.008) 3px);background-size:32px 32px,28px 28px,100% 4px;mask-image:linear-gradient(180deg,transparent 0%,black 8%,black 92%,transparent 100%);z-index:0}[data-theme=dark] .page--home{--home-dark: #0a0c0f;background:radial-gradient(1300px 850px at 8% -8%,rgba(45,45,45,.12),transparent 50%),radial-gradient(1100px 750px at 92% 108%,rgba(35,35,35,.1),transparent 55%),linear-gradient(180deg,#19191933,#0f0f0f4d);background-color:var(--home-dark)}[data-theme=dark] .page--home:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.3;background-image:radial-gradient(circle at 30% 25%,rgba(255,255,255,.015) 0,rgba(255,255,255,.015) 1px,transparent 2px),radial-gradient(circle at 65% 75%,rgba(255,255,255,.01) 0,rgba(255,255,255,.01) 1px,transparent 2px),repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(255,255,255,.005) 3px,rgba(255,255,255,.005) 4px);background-size:36px 36px,30px 30px,100% 100%;mask-image:linear-gradient(180deg,transparent 0%,black 10%,black 90%,transparent 100%);z-index:0}.page--home>.page__content{position:relative;z-index:1}.page__content{width:100%;max-width:22rem;display:grid;gap:1rem}.page__footer{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--color-text-subtle);font-size:.8125rem;flex-wrap:wrap;text-align:center;opacity:.6}.page__footer span{color:inherit}.page__footer a{color:inherit;font-weight:400}.page__footer a:hover{opacity:.8}.sign-in-card{background:linear-gradient(175deg,color-mix(in srgb,var(--color-surface) 96%,transparent),color-mix(in srgb,var(--color-elevated) 88%,transparent));border-radius:var(--radius-lg);border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);box-shadow:var(--shadow-md);padding:1.5rem 1.25rem 1.25rem;display:grid;gap:1rem;position:relative;overflow:hidden}[data-theme=dark] .sign-in-card{background:linear-gradient(175deg,color-mix(in srgb,var(--color-surface) 92%,transparent),color-mix(in srgb,var(--color-elevated) 88%,transparent));border-color:var(--color-border);box-shadow:var(--shadow-lg),0 0 36px #22d3ee12}.sign-in-card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:#ffffff14;pointer-events:none}[data-theme=dark] .sign-in-card:before{background:linear-gradient(90deg,transparent,rgba(34,211,238,.3),transparent)}.sign-in-card:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 30% -20%,rgba(148,163,184,.12),transparent 45%),radial-gradient(130% 120% at 80% 120%,rgba(15,23,42,.18),transparent 55%);opacity:.7;pointer-events:none}[data-theme=dark] .sign-in-card:after{background:radial-gradient(120% 120% at 30% -20%,rgba(34,211,238,.1),transparent 45%),radial-gradient(130% 120% at 80% 120%,rgba(6,182,212,.15),transparent 55%);opacity:.45}.sign-in-card__header{display:grid;gap:.375rem;text-align:center}.brand-mark{width:3.5rem;height:3.5rem;border-radius:var(--radius-full);display:grid;place-items:center;background:linear-gradient(135deg,#fffffff2,#ffffffd9),var(--color-surface);border:1.5px solid rgba(0,0,0,.08);box-shadow:0 2px 8px #00000014,0 4px 16px #0000000f,0 0 0 1px #ffffff80 inset,0 0 0 3px #00000008;margin:0 auto;position:relative;isolation:isolate;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all var(--transition)}.brand-mark--corner{position:absolute;top:-6px;left:-6px;width:4rem;height:4rem;border-radius:.625rem;transform:rotate(-4deg);overflow:hidden;background:linear-gradient(180deg,#fffffffa,#fffffff5);border:1px solid rgba(0,0,0,.06);z-index:6;box-shadow:0 6px 18px #0000000f,inset 0 -8px 18px #00000005}.brand-mark--corner:after{content:"";position:absolute;right:0;bottom:0;width:60%;height:60%;background:linear-gradient(135deg,rgba(0,0,0,.02),transparent 60%);transform:skew(-18deg) translate(10%);pointer-events:none}.brand-mark--corner img{transform:none;transition:transform var(--transition-slow),filter var(--transition)}.brand-mark--clip{position:absolute;top:.5rem;left:.5rem;width:4rem;height:4rem;border-radius:.5rem;background:var(--color-surface);clip-path:polygon(0 0,100% 0,100% 70%,30% 100%,0 100%);box-shadow:0 6px 18px #0000000f;z-index:6}.brand-mark--clip img{transform:none;width:90%;height:90%}.brand-mark--top-right{position:absolute;top:-12px;right:-12px;width:4rem;height:4rem;border-radius:.75rem;transform:rotate(6deg);box-shadow:0 6px 18px #00000014;z-index:6;background:linear-gradient(180deg,#fffffff2,#ffffffe6);border:1px solid rgba(0,0,0,.06)}.brand-mark--top-right img{transform:none}.brand-mark img{width:100%;height:100%;object-fit:contain;transform:none;transition:transform var(--transition-slow),filter var(--transition);filter:none}[data-theme=dark] .brand-mark img{filter:brightness(0) invert(1) saturate(100%) contrast(1.05) drop-shadow(0 0 12px rgba(255,255,255,.15))}[data-theme=dark] .brand-mark{background:linear-gradient(135deg,#282d37e6,#191e26f2),var(--color-surface);border-color:#ffffff1a;box-shadow:0 2px 12px #000c,0 8px 24px #0009,0 0 0 1px #ffffff14 inset,0 0 0 3px #ffffff0a,0 0 32px #ffffff14}.brand-mark:before{content:"";position:absolute;inset:-6px;border-radius:inherit;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,transparent 70%);filter:blur(8px);opacity:0;transition:opacity var(--transition-slow);z-index:-1}.brand-mark:hover:before{opacity:.6}[data-theme=dark] .brand-mark:before{background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%)}[data-theme=dark] .brand-mark:hover:before{opacity:.8}.brand-mark:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001f,0 8px 24px #00000014,0 0 0 1px #fff9 inset,0 0 0 3px #0000000a}[data-theme=dark] .brand-mark:hover{box-shadow:0 4px 16px #000000e6,0 12px 32px #000000b3,0 0 0 1px #ffffff1f inset,0 0 0 3px #ffffff0f,0 0 48px #ffffff1f}.brand-mark:hover img{transform:none}.brand-mark:active{transform:translateY(0)}.brand-mark:active img{transform:none}.brand-copy__headline{font-size:1.625rem;line-height:1.12;font-weight:800;color:var(--color-text);letter-spacing:-.03em;display:inline-grid;grid-auto-flow:column;justify-content:center;gap:.35ch;position:relative;margin-inline:auto;padding-bottom:.25rem}.brand-copy__headline:after{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:70%;height:2px;border-radius:var(--radius-full);background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.6}.headline__word{color:var(--color-text)}.headline__word--accent{color:transparent;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);-webkit-background-clip:text;background-clip:text;text-shadow:0 1px 0 rgba(0,0,0,.05)}[data-theme=dark] .brand-copy__headline:after{background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.8}@media (min-width: 28rem){.brand-copy__headline{font-size:2rem;letter-spacing:-.04em}}.sign-in-card{position:relative;padding-top:1.75rem}@media (min-width: 28rem){.sign-in-card{padding-top:2.25rem}}.sign-in-card__form{display:grid;gap:0}.error-alert{background:var(--color-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.625rem .75rem;display:flex;align-items:center;gap:.5rem;box-shadow:var(--shadow-xs);position:relative;margin-bottom:.75rem;opacity:0;max-height:0;overflow:hidden;transform:translateY(-4px);transition:opacity var(--transition),transform var(--transition),max-height var(--transition),margin var(--transition),padding var(--transition)}.error-alert[hidden]{display:none}.error-alert--visible{opacity:1;max-height:4rem;transform:translateY(0)}[data-theme=dark] .error-alert{background:#0f172ab3;border-color:var(--color-border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.error-alert__icon{color:var(--color-alert);flex-shrink:0;opacity:.85}[data-theme=dark] .error-alert__icon{opacity:.9}.error-alert__message{flex:1;font-size:.8125rem;color:var(--color-text);line-height:1.3;margin:0;font-weight:500;letter-spacing:-.005em}[data-theme=dark] .error-alert__message{color:var(--color-text)}.error-alert__close{width:1.25rem;height:1.25rem;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-subtle);border:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast);flex-shrink:0;opacity:.5}.error-alert__close:hover{background:var(--color-surface);color:var(--color-text);opacity:1}.error-alert__close:active{transform:scale(.9)}.error-alert__close:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;opacity:1}[data-theme=dark] .error-alert__close:hover{background:#ffffff14;color:var(--color-text)}@media (max-width: 28rem){.error-alert{padding:.5rem .625rem;gap:.5rem}.error-alert__message{font-size:.75rem}.error-alert__close{width:1.125rem;height:1.125rem}.error-alert__icon{width:14px;height:14px}}.form-fields{display:grid;gap:.75rem;padding:.5rem 0}.form-field{display:grid;gap:.25rem}.form-label{font-size:.75rem;font-weight:500;color:var(--color-text)}.form-input{width:100%;padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--input-bg);border:1.5px solid var(--input-border);color:var(--color-text);font-size:.9375rem;line-height:1.5;transition:border-color var(--transition),box-shadow var(--transition),background-color var(--transition)}.form-input::placeholder{color:var(--color-text-subtle);opacity:.7}.form-input:hover{background:var(--input-bg-hover);border-color:var(--color-border-strong)}.form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--ring-strong);background:var(--input-bg-focus)}.form-input[aria-invalid=true]{border-color:var(--color-alert)}.form-input[aria-invalid=true]:focus{border-color:var(--color-alert);box-shadow:0 0 0 3px var(--color-alert-soft)}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.75rem;padding:.5rem 0 .25rem}.form-remember{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-text-muted);font-size:.75rem}.form-remember input[type=checkbox]{width:.875rem;height:.875rem;accent-color:var(--color-accent)}.form-meta__link{color:var(--color-text-muted);font-weight:500;font-size:.75rem}.form-meta__link:hover{color:var(--color-text)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:2.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-sm);font-weight:600;font-size:.875rem;letter-spacing:.01em;border:none;background:linear-gradient(180deg,var(--btn-bg-start) 0%,var(--btn-bg-end) 100%);color:var(--btn-text);transition:all var(--transition);margin-top:.5rem;box-shadow:0 1px 2px #0000004d,0 2px 4px -1px #0003,inset 0 1px 1px #ffffff1a,inset 0 -1px 2px #0003;overflow:hidden;cursor:pointer}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,transparent 50%,rgba(0,0,0,.03) 100%);border-radius:inherit;opacity:1;transition:opacity var(--transition);pointer-events:none}.btn__label{position:relative;z-index:1;transition:opacity var(--transition);font-weight:600}.btn:hover{background:linear-gradient(180deg,var(--btn-bg-hover-start) 0%,var(--btn-bg-hover-end) 100%);transform:translateY(-1px);box-shadow:0 2px 4px #0000004d,0 4px 8px -2px #0003,inset 0 1px 1px #ffffff26,inset 0 -1px 2px #0003}.btn:hover:before{opacity:.8}.btn:active{transform:translateY(0);box-shadow:0 1px 2px #0003,inset 0 1px 3px #0000004d,inset 0 -1px 1px #ffffff0d}[data-theme=dark] .btn:active{box-shadow:0 1px 2px #0000004d,inset 0 1px 3px #0006,inset 0 -1px 1px #ffffff08}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important;box-shadow:0 1px 2px #0000001a,inset 0 1px 1px #ffffff0d}.btn__spinner{width:1.125rem;height:1.125rem;border-radius:50%;border:2.5px solid rgba(255,255,255,.3);border-top-color:currentColor;animation:spin .6s linear infinite;opacity:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.btn.is-loading .btn__label{opacity:0}.btn.is-loading .btn__spinner{opacity:1}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.security-features{border-top:1px solid var(--color-border);padding-top:.75rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.security-item{display:grid;gap:.0625rem;text-align:center}.security-title{font-size:.6875rem;font-weight:600;color:var(--color-text)}.security-desc{font-size:.625rem;color:var(--color-text-subtle);line-height:1.3}@media (min-width: 28rem){.sign-in-card{padding:2rem 1.75rem}.page__content{max-width:24rem}}@media (max-width: 23.75rem){.security-features{grid-template-columns:1fr;gap:.625rem}}@media (max-width: 28rem){.sign-in-card{padding:1.25rem 1rem 1rem;gap:.875rem}.form-meta{flex-direction:column;align-items:flex-start;gap:.375rem;padding:.25rem 0 0}.page{padding:.5rem}.btn{min-height:2.25rem;padding:.5rem 1rem;font-size:.8125rem;margin-top:.375rem}.form-fields{gap:.625rem;padding:.375rem 0}.sign-in-card__header{gap:.25rem}.security-features{padding-top:.625rem;gap:.375rem}}.page--document{padding:2rem 1rem;max-width:100%}.document-card{max-width:48rem;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);padding:2rem;display:grid;gap:2rem}[data-theme=dark] .document-card{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-xl),0 0 40px #22d3ee0d}.document-card__header{display:grid;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.document-card__mark{width:3rem;height:3rem;display:grid;place-items:center}.document-card__mark img{width:100%;height:100%;object-fit:contain}[data-theme=dark] .document-card__mark img{filter:brightness(0) invert(1) saturate(95%) drop-shadow(0 0 8px rgba(34,211,238,.3))}.document-card__kicker{font-size:.875rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.document-card__heading h1{font-size:2rem;font-weight:700;color:var(--color-text);line-height:1.2;margin-bottom:.5rem}.document-card__meta{font-size:.875rem;color:var(--color-text-muted)}.document-card__body{display:grid;gap:2rem}.document-card__body section{display:grid;gap:.75rem}.document-card__body h2{font-size:1.25rem;font-weight:600;color:var(--color-text);line-height:1.3}.document-card__body p{color:var(--color-text-muted);line-height:1.7}.document-card__body ul{padding-left:1.5rem;display:grid;gap:.5rem}.document-card__body li{color:var(--color-text-muted);line-height:1.7;padding-left:.5rem}.document-card__body li::marker{color:var(--color-accent)}.document-card__footer{padding-top:1.5rem;border-top:1px solid var(--color-border);display:grid;gap:1rem}.document-card__footer p{color:var(--color-text-muted);font-size:.9375rem}.document-card__back{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-accent);font-weight:600;font-size:.9375rem;padding:.5rem 0;transition:transform var(--transition)}.document-card__back:hover{transform:translate(-4px)}.document-card__back:before{content:"←";font-size:1.125rem}.status-card{max-width:32rem;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);padding:2rem;display:grid;gap:1.5rem;text-align:center}[data-theme=dark] .status-card{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-xl),0 0 40px #22d3ee0d}.status-card__header{display:grid;gap:1rem;justify-items:center}.status-card__badge{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:var(--radius-full);background:var(--color-accent-soft);color:var(--color-accent);font-size:1.5rem;font-weight:700;border:2px solid var(--color-accent);box-shadow:0 0 20px var(--color-accent-soft)}[data-theme=dark] .status-card__badge{box-shadow:0 0 30px #22d3ee4d}.status-card__header h1{font-size:1.75rem;font-weight:700;color:var(--color-text);line-height:1.2;margin-bottom:.25rem}.status-card__tagline{color:var(--color-accent);font-weight:600;font-size:1.125rem;margin-bottom:.75rem!important}.status-card__header p{color:var(--color-text-muted);line-height:1.6;font-size:1rem}.status-card__accounting-humor{background:var(--color-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem;margin:.5rem 0;display:grid;gap:.5rem}[data-theme=dark] .status-card__accounting-humor{background:#1e293b80;border-color:var(--color-border);box-shadow:inset 0 1px 2px #0000004d}.status-card__ledger-line{color:var(--color-text-muted);font-size:.9375rem;line-height:1.5;margin:0}.status-card__ledger-line strong{color:var(--color-text);font-weight:600}.status-card__actions{display:grid;gap:.75rem;margin-top:.5rem}.status-card__btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;text-decoration:none;transition:all var(--transition);border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:0 2px 8px #0000000d;position:relative;overflow:hidden}.status-card__btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:var(--color-elevated);transform:translate(-50%,-50%);transition:width .4s,height .4s;z-index:0}.status-card__btn:hover:before{width:300%;height:300%}.status-card__btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.status-card__btn--primary{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);color:var(--color-on-accent);border-color:transparent;box-shadow:0 4px 14px #0000001a,0 2px 6px color-mix(in srgb,var(--color-accent) 40%,transparent),inset 0 -2px #0000001a;text-shadow:0 1px 2px rgba(0,0,0,.2)}.status-card__btn--primary:before{background:linear-gradient(135deg,var(--color-accent-hover) 0%,var(--color-accent) 100%)}[data-theme=dark] .status-card__btn--primary{box-shadow:0 4px 14px #0000004d,0 2px 8px color-mix(in srgb,var(--color-accent) 60%,transparent),0 0 20px #22d3ee26,inset 0 -2px #0003,inset 0 1px #ffffff1a}.status-card__btn--primary:hover{background:linear-gradient(135deg,var(--color-accent-hover) 0%,var(--color-accent) 100%);box-shadow:0 8px 20px #00000026,0 4px 12px color-mix(in srgb,var(--color-accent) 50%,transparent),inset 0 -2px #0000001a;transform:translateY(-2px) scale(1.01)}[data-theme=dark] .status-card__btn--primary:hover{box-shadow:0 8px 20px #0006,0 4px 16px color-mix(in srgb,var(--color-accent) 70%,transparent),0 0 30px #22d3ee4d,inset 0 -2px #0003,inset 0 1px #ffffff26}.status-card__note{color:var(--color-text-subtle);font-size:.875rem;line-height:1.6;padding-top:1rem;border-top:1px solid var(--color-border)}@media (max-width: 640px){.page--document{padding:1rem .75rem}.document-card{padding:1.5rem;gap:1.5rem}.document-card__heading h1{font-size:1.5rem}.document-card__body h2{font-size:1.125rem}.status-card{padding:1.5rem}.status-card__header h1{font-size:1.5rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
