:root {
  --side:#0d3a2e;--side-2:#12493a;--glow:#8fd9c6;--r:14px;
  --pattern:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.08'%3E%3Cpath d='M28 4l7 17 17 7-17 7-7 17-7-17-17-7 17-7z'/%3E%3Ccircle cx='28' cy='28' r='5'/%3E%3C/g%3E%3C/svg%3E");
}
:root:not([data-theme="dark"]){--bg:#f1f4f3;--surface:#fff;--surface-2:#f6f9f8;--line:#dde5e2;--ink:#16231f;--muted:#5d6e68;--accent:#0f4b3a;--accent-soft:#e1f1ef;--seal:#0f4b3a}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0b1512;--surface:#12201c;--surface-2:#172925;--line:#233630;--ink:#e2ece8;--muted:#93a8a0;--accent:#6cc9ad;--accent-soft:#163532;--accent-ink:#03110c;--seal:#8fd9c6}}
:root[data-theme="dark"]{--bg:#0b1512;--surface:#12201c;--surface-2:#172925;--line:#233630;--ink:#e2ece8;--muted:#93a8a0;--accent:#6cc9ad;--accent-soft:#163532;--seal:#8fd9c6}
#login{min-height:100dvh;padding:clamp(14px,4vw,54px);background:radial-gradient(ellipse at 80% 10%,var(--accent-soft),var(--bg) 65%)}
.entry{display:grid;grid-template-columns:1.28fr 1fr;max-width:1050px;width:100%;align-items:stretch;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 20px 54px #0d3a2e1a}
.entry-art,.rail,.dash-hero{background-color:var(--side);background-image:var(--pattern),radial-gradient(ellipse at top right,#1f5948,transparent 78%);color:#f2faf7}
.entry-art{display:flex;flex-direction:column;justify-content:center;padding:clamp(22px,4vw,50px);gap:20px}
.entry-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.entry-top .home-link,.entry-contact a{color:#bce8db;text-underline-offset:4px}
.entry-title{display:grid;gap:10px}.entry-title small,.hero-kicker{color:var(--glow);font-weight:700}
.entry-title h1{font-size:clamp(1.55rem,3.2vw,2.35rem);line-height:1.55;font-weight:800;max-width:22ch}
.entry-title p{margin:0;color:#d5e7e1}
.entry-title .logo,.rail-brand .logo,.login-head .logo{background:#fff;border-radius:12px;padding:8px}
.entry-title .logo{width:76px;height:76px;margin-bottom:5px}
.entry-tools{display:flex;gap:8px;flex-wrap:wrap}
.entry-tools .primary{background:#e7f7f1;color:#0f4b3a;border-color:#e7f7f1}
.entry-contact,.staff-hint{margin:0;font-size:.83rem}
.entry .login-card{max-width:none;border:0;border-radius:0;background:var(--surface);align-content:center;padding:clamp(20px,4vw,48px);gap:14px}
.login-head .brand-name,.rail-brand .t{font-family:var(--f-body);font-weight:800}
.login-head .brand-name{line-height:1.7}
.staff-hint{color:var(--muted)}
.rail{border-color:#ffffff1c}
.rail .t{color:#f2faf7;line-height:1.65}
.rail .s,.rail .me #me-role{color:#add2c6!important}
.rail .me{border-color:#ffffff25}
.rail #nav a{color:#e4f0ec;border-radius:10px}
.rail #nav a:hover,.rail #nav a[aria-current="page"]{background:#ffffff20;color:#fff}
.rail #nav a[aria-current="page"]{box-shadow:inset -3px 0 var(--glow)}
.rail .btn,.entry-top .theme,.entry-tools .btn:not(.primary){background:#ffffff14;color:#f2faf7;border-color:#ffffff30}
.rail .btn:hover,.entry-top .theme:hover,.entry-tools .btn:not(.primary):hover{background:#ffffff29}
.dash-hero{border-radius:18px;padding:clamp(18px,3.3vw,35px);box-shadow:0 12px 28px #0d3a2e24}
.dash-hero h1{font-size:clamp(1.35rem,2vw,1.8rem);color:#fff;margin:6px 0}
.dash-hero p{color:#d5e7e1}
.dash-hero .primary{background:#e7f7f1;color:#0f4b3a;border-color:#e7f7f1}
.panel,.stat{box-shadow:0 3px 14px #0d3a2e0a}
.toast{max-width:calc(100vw - 24px);border-radius:12px}
.btn:disabled{opacity:.55;cursor:wait}
.done .code{letter-spacing:.055em;overflow-wrap:anywhere}
@media(max-width:690px){
  .entry{grid-template-columns:minmax(0,1fr)}.entry-art{gap:13px}
  .entry .login-card{border-top:1px solid var(--line)}
  .entry-title .logo{width:58px;height:58px}.login-head .logo{display:none}
  .entry-tools>*{flex:1 1 auto;justify-content:center}
  .field input,.field textarea,.field select{font-size:16px}
  .rail .me-actions{gap:4px}
}
@media print{.paper .logo{background:#fff}}
