.login-page{margin:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 15% 20%,#ecdbf2,transparent 50%),radial-gradient(ellipse at 85% 90%,#f6dee4,transparent 50%),#f8f5fa;font-family:system-ui,sans-serif;color:#423349}.login-card{box-sizing:border-box;width:min(460px,calc(100% - 32px));padding:42px;background:#ffffffed;border:1px solid #efe5f4;border-radius:24px;box-shadow:0 22px 80px #55326612;margin:30px 0}.auth-brand{font-size:36px;font-weight:850;letter-spacing:-2px;color:#704f7f}.auth-brand span{font-size:14px;vertical-align:top}.auth-eyebrow{font-size:9px;letter-spacing:2px;color:#b391b4;margin:12px 0 30px}.login-card h1{font-size:24px;line-height:1.4}.login-card p{font-size:12px;line-height:1.8;color:#938398}.login-card label{display:grid;gap:8px;margin:18px 0;font-size:12px;color:#6c5979}.login-card input{box-sizing:border-box;width:100%;padding:13px;border:1px solid #e5daec;border-radius:10px;font:inherit;background:#fcfafd;outline:none}.login-card input:focus{border-color:#9b79b0;box-shadow:0 0 0 3px #f4ecf9}.auth-tabs{display:flex;gap:5px;padding:5px;border-radius:12px;background:#f6f0f9;margin:22px 0}.auth-tabs button{flex:1;padding:10px;border:0;border-radius:8px;background:none;color:#9a83a4;cursor:pointer}.auth-tabs button.selected{background:#fff;color:#704781;box-shadow:0 2px 6px #744d9210}.auth-primary{width:100%;border:0;border-radius:10px;background:#79538e;color:#fff;padding:14px;font-weight:700;cursor:pointer}.auth-primary:disabled{opacity:.5}.login-card #loginError{color:#b13f61}.login-card [hidden]{display:none!important}.employee-profile-button{display:flex;align-items:center;gap:10px;border:0;color:inherit;background:transparent;text-align:left;cursor:pointer;font:inherit;padding:0}.profile-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px}.profile-editor{padding:26px;margin-bottom:22px}.profile-intro{display:flex;align-items:center;gap:18px;margin-bottom:26px}.profile-large-avatar{display:grid;place-items:center;width:70px;height:70px;border-radius:23px;color:white;font-size:28px;font-weight:700}.profile-intro p{color:#9d85a7;font-size:12px}.profile-editor label{display:grid;gap:8px;font-size:12px;margin:16px 0;color:#826b91}.profile-editor input,.profile-editor textarea{width:100%;box-sizing:border-box;padding:11px;border:1px solid #e3d8eb;border-radius:9px;font:inherit;color:#574361;background:#fff}.profile-colors{border:0;padding:0;display:flex;gap:12px;margin:20px 0}.profile-colors legend{font-size:12px;color:#826b91}.profile-colors label{display:block;position:relative}.profile-colors input{position:absolute;opacity:0;width:30px;height:30px}.profile-colors span{display:block;width:30px;height:30px;border-radius:50%;background:var(--profile-color)}.profile-colors input:checked+span{outline:2px solid var(--profile-color);outline-offset:4px}.profile-colors input:focus-visible+span{outline:3px solid #252035;outline-offset:5px}.profile-editor [role=status]{font-size:12px;line-height:1.7;color:#885287;overflow-wrap:anywhere}.employee-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eee8f3;font-size:12px}.employee-row small{display:block;color:#ac98b6;margin-top:5px}.invite-result{padding:16px;border:1px solid #dac6e6;background:#f8f2fc;border-radius:12px;font-size:12px;overflow-wrap:anywhere}.invite-result p{line-height:1.7;color:#997fa7}.profile-editor hr{border:0;border-top:1px solid #eee7f3;margin:24px 0}@media(max-width:800px){.profile-grid{grid-template-columns:1fr}.login-card{padding:28px}.profile-editor .form-row{display:block}}

.toolbar[hidden]{display:none!important}

.google-calendar-actions[hidden]{display:none!important}
.admin-employee{gap:20px;align-items:center;padding:20px 0}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-employee small{display:block;margin-top:5px}.admin-actions button{font-size:12px}#adminActionPanel{margin-top:20px;max-width:720px}#adminActionPanel input{max-width:420px}@media(max-width:700px){.admin-employee{align-items:flex-start;flex-direction:column}}
.admin-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-list-heading h2{margin:0}#adminInvitePanel{margin-bottom:20px}#adminInvitePanel[hidden]{display:none}

/* Branded entry, with no automatic timer or credential bypass. */
.login-page>[hidden]{display:none!important}
.login-page.splash-active{display:block;background:#26172F;color:#fff}
.splash-screen{box-sizing:border-box;min-height:100svh;display:flex;flex-direction:column;padding:clamp(24px,5vw,64px);background:radial-gradient(ellipse at 78% 22%,#74485855,transparent 52%),radial-gradient(ellipse at 10% 85%,#77529c33,transparent 50%),#26172F}
.splash-header,.splash-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:11px;letter-spacing:.18em;color:#b8a7c0}
.splash-header>span:first-child{color:#fff;font-size:17px;font-weight:750;letter-spacing:.04em}
.splash-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:56px 0 64px}
.splash-mark{border-radius:24px;box-shadow:0 16px 60px #160e1e66}
.splash-eyebrow{font-size:10px;letter-spacing:.25em;color:#bc9fac;margin:30px 0 18px}
.splash-center h1{font-size:clamp(60px,12vw,112px);font-weight:800;letter-spacing:-.06em;line-height:1;margin:0}
.splash-center h1 span{color:#EF8A78;margin-left:.17em;font-weight:400;letter-spacing:-.05em}
.splash-description{font-size:16px;line-height:1.7;color:#cdbed5;margin:24px 0 36px}
.splash-signin{display:flex;align-items:center;justify-content:space-between;gap:72px;padding:18px 24px;min-width:230px;border:0;border-radius:14px;background:#EF8A78;color:#291B30;font:inherit;font-weight:700;font-size:17px;cursor:pointer;transition:background .15s,transform .15s}
.splash-signin:hover{background:#ffa28f;transform:translateY(-2px)}.splash-signin:focus-visible{outline:3px solid #fff;outline-offset:5px}.splash-signin:disabled{opacity:.7;cursor:wait}.splash-signin span{font-size:22px}
.splash-access{color:#a08aab;font-size:12px;margin-top:18px}.auth-back{border:0;background:none;padding:0;margin:0 0 24px;color:#79538e;cursor:pointer;font:inherit;font-size:14px}
@media(max-width:540px){.splash-screen{padding:28px 24px max(24px,env(safe-area-inset-bottom))}.splash-header>span:last-child{font-size:9px}.splash-footer{font-size:9px;letter-spacing:.09em;flex-wrap:wrap}.splash-center{padding:48px 0}.splash-description{font-size:15px}.splash-signin{width:min(100%,280px)}}
@media(prefers-reduced-motion:reduce){.splash-signin{transition:none}.splash-signin:hover{transform:none}}

/* Edge-to-edge entry surfaces, scoped away from account-management screens. */
html:has(.workspace-entry){min-height:100%;background:#26172F}
.workspace-entry{display:block;min-height:100vh;min-height:100dvh;width:100%;background:#FCFAFD}
.workspace-entry .splash-screen{width:100%;min-height:100vh;min-height:100dvh;padding:clamp(24px,4vw,64px);position:relative;isolation:isolate;overflow:hidden}
.workspace-entry .splash-screen:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 50%,#EF8A7807 50%,#EF8A7807 68%,transparent 68%);pointer-events:none}
.workspace-entry .splash-center h1{font-size:clamp(72px,16vw,210px)}
.workspace-entry .splash-center{padding:clamp(28px,6vh,72px) 0}
.workspace-entry #loginCard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;min-height:100vh;min-height:100dvh;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:#FCFAFD}
.login-brand-panel{box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:clamp(32px,5vw,80px);background:radial-gradient(ellipse at 100% 10%,#6C3E5166,transparent 65%),#26172F;color:#fff}
.login-brand-top{display:flex;align-items:center;gap:14px;font-weight:750;letter-spacing:.08em;font-size:18px}
.login-brand-top img{border-radius:14px}.login-brand-copy{padding:20px 0}.login-brand-copy>p:first-child{color:#BCA5C7;font-size:11px;letter-spacing:.18em}
.login-wordmark{font-weight:800;font-size:clamp(76px,10vw,160px);letter-spacing:-.065em;line-height:.9;margin:32px 0}.login-wordmark span{color:#EF8A78}
#loginCard .login-brand-caption{color:#D5C5DB;font-size:clamp(24px,3vw,38px);line-height:1.4;letter-spacing:-.035em}
.login-brand-bottom{color:#A78BAE;font-size:11px;letter-spacing:.16em}
.login-form-panel{display:flex;align-items:center;justify-content:center;padding:64px clamp(28px,5vw,80px);box-sizing:border-box;min-width:0}
.login-form-inner{width:100%;max-width:420px}.login-form-inner .auth-brand,.login-form-inner .auth-eyebrow{display:none}
#loginCard h1{font-size:30px;letter-spacing:-.04em;margin:24px 0 10px}#loginCard .login-form-inner p{font-size:14px;line-height:1.7}
#loginCard label{font-size:14px;margin:22px 0 0;gap:10px}#loginCard input{font-size:16px;padding:16px;background:#fff}
#loginCard .auth-tabs{margin:30px 0 24px}#loginCard .auth-tabs button{font-size:14px;padding:13px 8px}#loginCard .auth-primary{padding:17px;font-size:16px;background:#392144;margin-top:12px}
#loginCard .auth-back{margin:0 0 20px}.auth-back:focus-visible{outline:2px solid #79538e;outline-offset:6px}
@media(max-width:760px){.workspace-entry #loginCard{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-brand-panel{padding:24px;gap:0}.login-brand-top img{width:40px;height:40px}.login-brand-copy,.login-brand-bottom{display:none}.login-form-panel{padding:32px 24px max(40px,env(safe-area-inset-bottom));align-items:flex-start}.login-form-inner{max-width:460px}#loginCard h1{font-size:28px;margin-top:16px}.workspace-entry .splash-center h1{font-size:clamp(64px,17vw,126px)}}
@media(max-height:600px) and (min-width:761px){.login-brand-panel{padding:32px}.login-wordmark{font-size:80px}.login-brand-copy{padding:0}.login-form-panel{padding-top:32px;padding-bottom:32px}}

#loginCard .remember-login{display:flex;align-items:center;gap:10px;cursor:pointer}#loginCard .remember-login input{width:18px;height:18px;padding:0;margin:0;accent-color:#79538e;flex-shrink:0}#loginCard .remember-login small{color:#938398;font-size:12px;margin-left:6px}
