:root{color-scheme:dark;--bg:#101216;--text:#f4f5f7;--muted:#949ba7;--line:#ffffff14;--field:#1c2027;--green:#238b58;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}main{max-width:1100px;margin:auto;padding:30px 28px}header{display:flex;align-items:center;gap:24px;margin-bottom:64px;color:var(--muted)}header a{font-size:32px;font-weight:650;letter-spacing:-2px;color:var(--text);text-decoration:none}header button{margin-left:auto}h1{font-size:34px;line-height:1.2;font-weight:550;letter-spacing:-1px;margin:0 0 12px}h2{font-weight:500}p{color:var(--muted);margin:12px 0 24px}button,summary{cursor:pointer;font:inherit}button{border:0;border-radius:8px;padding:11px 16px;background:var(--field);color:var(--text)}button:disabled{opacity:.45;cursor:wait}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--text);outline-offset:3px}button.create,.create{color:#71d69d}summary{padding:12px 0}details{margin:22px 0}label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:13px}input{background:var(--field);color:var(--text);font:inherit;font-size:16px;min-width:0;border:0;border-radius:8px;padding:12px}#bootstrap{max-width:420px;margin-bottom:16px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:12px 0 24px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.table{overflow:auto}table{width:100%;border-collapse:collapse;margin-top:28px}th,td{text-align:left;padding:15px 12px;font-weight:400}th{color:var(--muted);font-size:13px}tbody tr+tr td{border-top:1px solid var(--line)}td button{padding:6px 10px;margin:2px;font-size:13px}.privacy{font-size:13px;margin-top:32px}dialog{max-width:min(560px,92vw);border:0;border-radius:16px;background:var(--field);color:var(--text);padding:28px}dialog::backdrop{background:#0009}output{display:block;overflow-wrap:anywhere;font-family:monospace;margin:24px 0}#status{min-height:24px}@media(max-width:640px){main{padding:22px 16px}header{margin-bottom:40px;gap:14px}.heading{display:block}.fields{grid-template-columns:1fr}h1{font-size:28px}}@media(prefers-reduced-motion:no-preference){button{transition:opacity .12s ease}}
.admin-security-actions{display:flex;flex-wrap:wrap;gap:8px}

/* Public login: one brand anchor, no card or exposed admin workspace. */
:root{color-scheme:light;--bg:#fff;--text:#18202b;--muted:#677281;--line:#18202b14;--field:#f2f4f6;--green:#187642;--brand-light:block;--brand-dark:none}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0f1113;--text:#f4f5f7;--muted:#a0a8b4;--line:#ffffff14;--field:#1c2027;--green:#71d69d;--brand-light:none;--brand-dark:block}}
:root[data-theme=dark]{color-scheme:dark;--bg:#0f1113;--text:#f4f5f7;--muted:#a0a8b4;--line:#ffffff14;--field:#1c2027;--green:#71d69d;--brand-light:none;--brand-dark:block}
[hidden]{display:none!important}
button.create,.create{color:var(--green)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.theme-toggle{position:fixed;z-index:2;top:max(16px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));width:44px;height:44px;padding:12px;background:transparent;color:var(--muted);border-radius:50%;display:grid;place-items:center}
.theme-toggle:hover{color:var(--text)}
.theme-icon{display:none;width:20px;height:20px}
:root:not([data-theme]) .theme-icon-system,:root[data-theme=system] .theme-icon-system,:root[data-theme=light] .theme-icon-light,:root[data-theme=dark] .theme-icon-dark{display:block}
main.login-mode{max-width:none;min-height:100vh;min-height:100svh;padding:72px 24px 48px;display:flex;flex-direction:column;align-items:center;justify-content:center}
#login{display:flex;flex-direction:column;align-items:center;width:min(100%,460px);text-align:center}
.brand-filter{position:absolute;pointer-events:none;overflow:hidden}
.login-brand{position:relative;width:300px;height:330px;max-width:100%;overflow:hidden}
.login-brand img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:400px;height:400px;max-width:none;object-fit:contain}
.brand-light{display:var(--brand-light)}.brand-dark{display:var(--brand-dark)}
.brand-dark{filter:url(#personal-erp-dark)}
#login-title{font-size:15px;line-height:1.5;letter-spacing:0;font-weight:400;color:var(--muted);margin:48px 0 16px}
button.signin{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:10px 6px;border-radius:0;background:transparent;color:var(--text);font-size:16px;line-height:1.5;font-weight:400}
.signin span{font-size:24px;line-height:1}
.login-mode #status{max-width:420px;min-height:40px;font-size:13px;line-height:1.5;text-align:center;margin:18px 0 0}
#workspace-header{padding-right:44px}
#workspace-header a{font-size:25px;letter-spacing:-1px;white-space:nowrap}
@media(max-width:640px){main.login-mode{padding:72px 24px 36px}.login-brand{width:258px;height:284px}.login-brand img{width:344px;height:344px}#login-title{margin-top:40px}#workspace-header>span{display:none}#workspace-header{padding-right:48px}}
@media(max-height:620px){main.login-mode{padding-top:60px;padding-bottom:18px}.login-brand{width:210px;height:231px}.login-brand img{width:280px;height:280px}#login-title{margin-top:22px}}
@media(prefers-reduced-motion:no-preference){body{transition:background-color .18s ease,color .18s ease}#login{animation:login-enter .24s ease-out both}.signin span{transition:transform .16s ease}.signin:hover span{transform:translateX(3px)}@keyframes login-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
