:root{--ink:#182620;--green:#236e50;--cream:#f4f2e9;--muted:#69756d;--line:#d9dfd7}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.5 system-ui,sans-serif}a{color:var(--green)}.access-head{padding:24px 6vw;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{font-weight:850;letter-spacing:.05em;text-decoration:none;color:var(--ink)}.tag{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.access-layout{max-width:1100px;margin:8vh auto;padding:0 24px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}h1{font-size:clamp(42px,6vw,72px);line-height:1.03;letter-spacing:-.045em;margin:20px 0}h2{margin-top:0;font-size:26px}.intro p{max-width:420px;color:var(--muted)}.mark{display:grid;place-items:center;width:80px;height:80px;border-radius:24px;background:#dfe9d4;font-size:36px}.card{background:white;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 14px 50px #1b392009}label{display:block;font-size:14px;font-weight:650;margin:16px 0 6px}input,select{display:block;width:100%;padding:13px;border:1px solid #bdc8bd;border-radius:9px;font:inherit}input:focus,select:focus{outline:3px solid #bedcc9;outline-offset:2px}button,.button{border:0;background:var(--green);color:white;border-radius:9px;padding:13px 18px;font:650 15px system-ui;cursor:pointer;display:inline-block;text-decoration:none}form>button{width:100%;margin-top:24px}button:disabled{opacity:.6;cursor:wait}.subtle{background:#eaf0e8;color:var(--ink)}.message{min-height:24px;font-size:14px;color:#a32e24}.small{font-size:13px;color:var(--muted)}.admin-shell{max-width:1120px;margin:36px auto;padding:0 24px}.admin-columns{display:grid;grid-template-columns:330px 1fr;gap:28px}.user-row{padding:20px 0;border-bottom:1px solid var(--line)}.user-row .controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.user-row select{width:auto;padding:8px}.audit{max-height:340px;overflow:auto;font-size:13px}.audit p{border-bottom:1px solid var(--line);padding-bottom:8px}.account-nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.account-nav button{padding:8px 12px}.account-card{max-width:480px;margin:8vh auto}.app-access-nav{padding:12px 20px;background:#111;color:white;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.app-access-nav a{color:#ffc31a}.app-access-nav button{margin-left:auto;padding:8px 16px;border:1px solid #ffc31a;background:transparent;color:white;cursor:pointer}@media(max-width:760px){.access-layout{grid-template-columns:1fr;gap:24px;margin:30px auto}.intro h1{font-size:42px}.mark{display:none}.admin-columns{grid-template-columns:1fr}.card{padding:24px}.access-head{padding:18px 24px}}
/* Prevent long names and narrow screens from squeezing account controls. */
:root { color-scheme: light; --muted: #506158; }
input, select { color: var(--ink); background: #fff; min-width: 0; }
input::placeholder { color: #56665c; opacity: 1; }
.access-head { align-items: center; flex-wrap: wrap; }
.brand, .user-row strong, .audit p { overflow-wrap: anywhere; }
.access-layout > *, .admin-columns > *, .user-row { min-width: 0; }
button:focus-visible, a:focus-visible { outline: 3px solid #236e50; outline-offset: 3px; }
@media (max-width: 480px) {
  .admin-shell { padding: 0 16px; margin: 24px auto; }
  .access-layout { padding: 0 16px; }
  .card { padding: 20px; }
  .account-nav { gap: 12px; }
  .user-row .controls select { width: 100%; }
  .user-row .controls button { flex: 1; }
}

.checkbox-label { display:flex; align-items:flex-start; gap:10px; font-weight:500; }
.checkbox-label input[type=checkbox] { width:20px; height:20px; flex:0 0 20px; margin:0; padding:0; accent-color:var(--green); }
