:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202d40;font-synthesis:none;--blue:#1763e6;--muted:#596a80;--line:rgba(111,139,171,.2)}
*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:var(--surface-page,#f0f0f0)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #1763e6;outline-offset:4px}[hidden]{display:none!important}.icon{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.wallpaper{position:fixed;inset:0;z-index:-1;overflow:hidden;background:linear-gradient(125deg,color-mix(in srgb,var(--accent,#1763e6) 1%,#f7f7f7) 4%,var(--surface-page,#eee) 48%,color-mix(in srgb,var(--accent,#1763e6) 4%,#f6f6f6))}.orb{position:absolute;border-radius:50%;filter:blur(2px);animation:drift 22s ease-in-out infinite alternate}.orb-one{width:85vw;height:85vw;max-width:1300px;max-height:1300px;left:-43vw;top:-18vw;background:radial-gradient(ellipse at 80% 40%,color-mix(in srgb,var(--accent,#1763e6) 5%,#fff) 1%,color-mix(in srgb,var(--accent,#1763e6) 22%,#eee) 40%,color-mix(in srgb,var(--accent,#1763e6) 38%,#ddd) 59%,color-mix(in srgb,var(--accent,#1763e6) 10%,#fff) 61%,color-mix(in srgb,var(--accent,#1763e6) 20%,#eee) 69%,transparent 70%);opacity:.65;transform:rotate(-23deg) scaleY(.8)}.orb-two{width:66vw;height:66vw;right:-32vw;bottom:-28vw;background:radial-gradient(ellipse at 30% 10%,color-mix(in srgb,var(--accent,#1763e6) 2%,#fff) 9%,color-mix(in srgb,var(--accent,#1763e6) 20%,#eee) 39%,color-mix(in srgb,var(--accent,#1763e6) 30%,#ddd) 54%,color-mix(in srgb,var(--accent,#1763e6) 10%,#fff) 55%,transparent 67%);transform:rotate(30deg);animation-delay:-8s}.orb-three{width:45vw;height:25vw;right:-10vw;top:-20vw;background:color-mix(in srgb,var(--accent,#1763e6) 12%,#eee);filter:blur(60px)}
.topbar{padding:28px 42px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{text-decoration:none;color:#243447;display:flex;align-items:center;gap:10px;font-size:23px;letter-spacing:-1px;font-weight:600}.wordmark-os{font-weight:800}.top-caption{font-size:13px;color:#57687d;position:absolute;left:50%;transform:translateX(-50%)}.glass-button{border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.53);box-shadow:0 3px 10px #00000010,inset 0 1px 1px #fff;backdrop-filter:blur(18px);color:#354860;border-radius:24px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .18s,transform .18s;font-size:13px}.glass-button:hover{background:#ffffffe6}.glass-button:active,button:active{transform:scale(.98)}.help-button .icon{width:18px;height:18px}
main{flex:1;display:grid;place-items:center;padding:35px 24px 50px}.glass{background:linear-gradient(135deg,#ffffffc9,#ffffff8c);border:1px solid #fffffff2;box-shadow:0 24px 70px #00000015,0 2px 8px #00000008,inset 0 1px 2px #fff;backdrop-filter:blur(32px) saturate(130%);-webkit-backdrop-filter:blur(32px) saturate(130%)}.login-panel,.workspace-panel{width:450px;max-width:100%;padding:35px 37px 27px;border-radius:34px;animation:arrive .55s cubic-bezier(.2,.8,.2,1) both}.app-icon{width:76px;height:76px;margin:0 auto 22px;padding:6px;border-radius:24px;background:#ffffff85;box-shadow:0 8px 20px #3064b31c,inset 0 1px 2px #fff}.app-icon .brand-mark{display:block}.intro{text-align:center;margin-bottom:29px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#5b7090;margin:0 0 10px}h1{font-size:28px;font-weight:650;letter-spacing:-1.1px;margin:0 0 9px}.intro>p:last-child{font-size:14px;color:var(--muted);margin:0}.field-group{margin-top:19px}label{font-size:12px;font-weight:600;display:block;margin:0 0 8px 3px;color:#35465d}.input-wrap{display:flex;align-items:center;gap:12px;min-height:53px;padding:0 15px;border:1px solid var(--line);border-radius:15px;background:#ffffff9e;box-shadow:inset 0 2px 4px #00000003;transition:box-shadow .2s,border-color .2s,background .2s}.input-wrap>.icon{color:#7a8ba3;width:20px;height:20px}.input-wrap:focus-within{background:#fffffff2;border-color:#4c8ff0;box-shadow:0 0 0 3px #1763e614}input{width:100%;min-width:0;padding:15px 0;background:transparent;border:0;outline:0;color:#24354d;font-size:14px}input::placeholder{color:#7c899c;opacity:1}input:autofill{border-radius:6px}.field-hint{display:block;font-size:11px;color:#63758b;margin:8px 3px 0;line-height:1.45}.visibility-button{border:0;background:transparent;color:#76869c;display:grid;place-items:center;padding:10px;margin:-10px;min-width:44px;min-height:44px}.visibility-button[aria-pressed=true]{color:var(--blue)}.password-help{display:flex;justify-content:flex-end;align-items:center;min-height:35px;gap:8px}.text-button{background:none;border:0;color:#2862b7;font-size:12px;padding:10px 0}.text-button:hover{text-decoration:underline}#caps-lock{font-size:11px;color:#825e0c;margin-right:auto}.submit-button{width:100%;min-height:51px;border:1px solid #367ae8;color:white;background:linear-gradient(#367df2,#1763e6);border-radius:16px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;font-weight:600;box-shadow:0 6px 15px #1763e627,inset 0 1px 1px #ffffff4d;transition:filter .2s,transform .2s;margin-top:12px}.submit-button:hover{filter:brightness(1.06)}.submit-button:disabled{opacity:.75}.submit-button .icon{width:18px}.security-note{display:flex;align-items:center;justify-content:center;gap:6px;color:#66788d;font-size:11px;margin:19px 0 0}.security-note .icon{width:15px;height:15px}.feedback{background:#fff0ef;color:#a12e26;font-size:13px;line-height:1.5;border:1px solid #efcfca;border-radius:12px;padding:11px 13px;margin:5px 0 14px}.spinner{width:18px;height:18px;border:2px solid #ffffff55;border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}footer{display:flex;justify-content:center;align-items:center;gap:12px;padding:0 20px 25px;font-size:11px;color:#60748c}.footer-divider{height:11px;width:1px;background:#a5b4c4}footer>span:first-child{font-weight:600}
dialog{width:410px;max-width:calc(100% - 32px);padding:32px;border-radius:28px;color:#24354d}dialog::backdrop{background:var(--surface-backdrop,#00000040);backdrop-filter:blur(7px)}dialog h2{font-size:23px;letter-spacing:-.6px;line-height:1.2}dialog p{font-size:14px;color:var(--muted);line-height:1.6}.close-dialog{float:right;padding:8px}.dialog-icon{color:var(--blue);margin-top:5px}.dialog-icon .icon{width:32px;height:32px}.workspace-panel{text-align:center}.success-icon{width:60px;height:60px;border-radius:21px;background:#e1f4ec;color:#238359;display:grid;place-items:center;margin:0 auto 24px}.success-icon .icon{width:30px;height:30px}#welcome-name{font-size:14px;color:var(--muted)}.unit-heading{text-align:left;font-size:12px;font-weight:600;margin:28px 0 10px}#branch-list{list-style:none;padding:0;margin:0;text-align:left}#branch-list li{padding:15px;border:1px solid var(--line);border-radius:14px;background:#ffffff88;margin-top:8px;font-size:14px;display:flex;align-items:center;gap:12px}#branch-list small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.workspace-note{font-size:12px;line-height:1.6;color:var(--muted);margin:25px 0}.logout-button{width:100%}#workspace-feedback{color:#a12e26;font-size:13px;margin:15px 0}
@keyframes arrive{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes drift{to{translate:25px 18px}}
@media(max-width:600px){.topbar{padding:22px 22px}.top-caption{display:none}.help-button{padding:10px}.help-button span{display:none}.help-button .icon{width:21px;height:21px}.wordmark{font-size:21px}.wordmark .brand-mark{width:30px;height:30px}main{padding:25px 18px 32px}.login-panel,.workspace-panel{padding:30px 24px 26px;border-radius:29px;width:410px}h1{font-size:26px}.orb-one{width:170vw;height:170vw;left:-115vw;top:5vh}.orb-two{width:130vw;height:130vw;right:-80vw;bottom:-10vw}input{font-size:16px}footer{font-size:10px;padding-bottom:22px}.intro{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

main{grid-template-columns:minmax(0,1fr)}

/* Fit the form to the available height without clipping content or disabling scroll. */
body{min-height:100dvh}
.topbar{padding-block:18px;flex-shrink:0}
main{padding-block:16px;flex:1 0 auto}
.login-panel{width:430px;padding:26px 32px 22px;border-radius:30px}
.app-icon{width:62px;height:62px;padding:5px;border-radius:20px;margin-bottom:16px}
.app-icon .brand-mark{width:52px;height:52px}
.intro{margin-bottom:20px}
.intro .eyebrow{margin-bottom:8px;font-size:9px}
.intro h1{font-size:26px;margin-bottom:7px}
.field-group{margin-top:14px}
label{margin-bottom:6px}
.input-wrap{min-height:48px}
input{padding-block:12px}
.field-hint{margin-top:6px}
.login-panel .login-remember-company{display:flex;align-items:center;gap:var(--space-inline,8px);min-height:var(--control-target,44px);margin:4px 0 0;padding:0 4px;font-size:var(--type-body,13px);font-weight:400;color:var(--text-primary);cursor:pointer}
.login-panel .login-remember-company>input{appearance:auto;flex:0 0 18px;width:18px;height:18px;min-height:0;padding:0;margin:0;accent-color:var(--accent)}
.login-panel .login-remember-company>input:focus-visible{outline:2px solid var(--text-link);outline-offset:3px}
.login-panel .login-memory-hint{margin-top:0;font-size:var(--type-meta,12px)}
.password-help{min-height:32px}
.submit-button{min-height:48px;margin-top:8px}
.security-note{margin-top:14px}
footer{padding-bottom:16px;flex-shrink:0}
@media(max-width:600px){
    .topbar{padding:14px 20px}
    main{padding:12px 18px}
    .login-panel{padding:24px;width:390px;max-width:100%}
    footer{padding-bottom:max(14px,env(safe-area-inset-bottom));gap:9px}
}
@media(max-height:740px){
    .topbar{padding-block:10px}
    main{padding-block:10px}
    .login-panel{padding-block:16px}
    .app-icon{width:52px;height:52px;padding:4px;border-radius:17px;margin-bottom:10px}
    .app-icon .brand-mark{width:44px;height:44px}
    .intro{margin-bottom:12px}
    .field-group{margin-top:10px}
    footer{padding-bottom:10px}
}

