:root{--lbd:#2F2D2A}
/* Start page: the same look as the Incident Report start page (dotted background, soft colour blobs, logo card). */
html[data-theme="dark"]{--lbd:#FEF7E5;--bg:#1f1d1a;--card:#2b2824;--ink:#FEF7E5;--muted:#cbc2aa;--line:#4a453d;--edge:#FEF7E5;--mint:#2d5a4c}
html[data-text="large"]{font-size:118%}
body.login-page{position:relative;overflow-x:hidden;background:radial-gradient(#6FE8C4 1.6px,transparent 1.7px) 0 0/28px 28px,#fff}
html[data-theme="dark"] body.login-page{background:radial-gradient(#2d5a4c 1.6px,transparent 1.7px) 0 0/28px 28px,#1f1d1a}
.login-page::before,.login-page::after{content:"";position:fixed;z-index:0;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none}
.login-page::before{width:420px;height:420px;left:-120px;top:-100px;background:#5fe3c1}
.login-page::after{width:380px;height:380px;right:-110px;bottom:-90px;background:#ffc27a}
html[data-theme="dark"] .login-page::before{background:#0f6b57;opacity:.45}
html[data-theme="dark"] .login-page::after{background:#7a3d10;opacity:.4}
.login-wrap{position:relative;z-index:1;flex:1;display:grid;place-items:center;padding:24px;animation:pagein .38s cubic-bezier(.2,.8,.2,1) both}
@keyframes pagein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.login-card{width:100%;max-width:440px;background:var(--bg);border:3px solid var(--lbd);border-radius:56px 24px 56px 24px;padding:38px 34px 30px;text-align:center;color:var(--ink)}
@media(min-width:481px){.login-card{display:flex;flex-direction:column;justify-content:center;min-height:640px}}
.login-logo{display:block;width:130px;max-width:60%;height:auto;margin:0 auto 18px}
.login-card h1{font-size:1.6rem;letter-spacing:-.01em;margin:0 0 6px;text-align:center}
.login-card .lead{font-size:1rem;line-height:1.45;margin:4px 0 24px;color:var(--muted)}
.hero{width:100%;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 22px;font:inherit;font-size:1.12rem;font-weight:800;border-radius:999px;background:var(--ink);color:var(--bg);border:3px solid var(--ink);text-decoration:none;box-shadow:0 8px 22px rgba(0,133,106,.28);transition:transform .18s,box-shadow .18s}
.hero:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px);box-shadow:0 5px 0 #FBBA14,0 12px 26px rgba(0,133,106,.34)}
.hero:active{transform:none}
html[data-theme="dark"] .hero{background:#FBBA14;border-color:#FBBA14;color:#2F2D2A}
html[data-theme="dark"] .hero:hover{background:#FBBA14;color:#2F2D2A}
.hero-arrow{flex-shrink:0;transition:transform .2s}
.hero:hover .hero-arrow{transform:translateX(4px)}
.how{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 0;padding:0;text-align:center}
.how li{display:grid;justify-items:center;gap:8px;font-size:.8rem;color:var(--muted);line-height:1.3}
.how b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.9rem;background:#e3f8f1;color:#006b55}
.how li:nth-child(2) b{background:#fff1d6;color:#9a6200}
.how li:nth-child(3) b{background:#fde8d9;color:#b4540a}
html[data-theme="dark"] .how b{background:#123a31;color:#5fe3c1}
html[data-theme="dark"] .how li:nth-child(2) b{background:#3d3112;color:#f6c453}
html[data-theme="dark"] .how li:nth-child(3) b{background:#46230d;color:#f59a5b}
.login-or{display:flex;align-items:center;gap:12px;margin:24px 0 12px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.login-or::before,.login-or::after{content:"";flex:1;border-top:1px solid var(--line)}
.ghost{display:block;width:100%;font:inherit;font-weight:700;padding:11px;border:3px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s}
.ghost:hover{color:var(--ink);border-color:var(--ink)}
.sublink{display:inline-block;margin-top:12px;font-size:.88rem}
.view[hidden]{display:none!important}
.view-out{animation:vout .2s ease both}
.view-in{animation:vin .34s cubic-bezier(.2,.8,.2,1) both}
@keyframes vout{to{opacity:0;transform:translateY(-10px) scale(.98)}}
@keyframes vin{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.view-out,.view-in,.login-wrap{animation:none}}
.login-form{max-width:320px;margin:4px auto 0;text-align:center}
.lf-title{margin:6px 0 2px;font-size:1.25rem}
.lf-sub{margin:0 0 14px;font-size:.9rem;text-align:center;color:var(--muted)}
.login-form label{display:block;text-align:left;font-weight:700;margin-bottom:6px}
.pw-row{display:flex;gap:8px}
.pw-row input{flex:1;min-width:0;font:inherit;font-size:1.05rem;padding:12px 14px;border:3px solid var(--ink);border-radius:999px;background:var(--card);color:var(--ink)}
.pw-row button{font:inherit;font-weight:800;padding:0 16px;border:3px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer}
.login-form .submit{width:100%;margin-top:14px;padding:13px;font:inherit;font-size:1.05rem;font-weight:800;border-radius:999px;background:var(--ink);color:var(--bg);border:3px solid var(--ink);cursor:pointer}
html[data-theme="dark"] .login-form .submit{background:#FBBA14;border-color:#FBBA14;color:#2F2D2A}
.login-form .submit[disabled]{opacity:.5;cursor:not-allowed}
.back-link{display:inline-block;margin-top:14px;background:none;border:0;color:var(--muted);cursor:pointer;font:inherit;font-size:.88rem}
.back-link:hover{color:var(--ink)}
.lerr{background:var(--err-bg);color:var(--err);border:2.4px solid var(--err);border-radius:20px;padding:10px 14px;margin:0 0 14px;font-weight:700;font-size:.9rem;text-align:left}
html[data-theme="dark"] .lerr{background:#4a2412;color:#ffb089;border-color:#ffb089}
.tiny{font-size:.8rem;color:var(--muted);margin-top:16px}
/* Theme / text size switch */
.theme-fab{position:fixed;right:14px;bottom:14px;z-index:40;background:var(--card);border:3px solid var(--lbd);border-radius:20px;padding:8px 12px;display:flex;gap:14px;flex-wrap:wrap;color:var(--ink)}
.theme-fab strong{display:block;font-size:.95rem;font-weight:800;margin-bottom:4px}
.seg{display:inline-flex;border:2px solid var(--line);border-radius:10px;overflow:hidden}
.seg button{font:inherit;font-size:.85rem;padding:6px 10px;background:transparent;color:var(--ink);border:0;border-right:2px solid var(--line);cursor:pointer}
.seg button:last-child{border-right:0}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg);font-weight:800}
html[data-theme="dark"] .seg button[aria-pressed="true"]{background:#FBBA14;color:#2F2D2A}
@media(max-width:480px){.login-card{padding:28px 20px 24px;border-radius:44px 20px 44px 20px}.how{gap:6px}.how li{font-size:.74rem}.theme-fab{position:static;margin:0 auto 16px;width:max-content;max-width:94%}}
@media print{.theme-fab{display:none}}

html[data-theme="dark"] .foot{background:#12110f;color:#FEF7E5}

.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.login-form select{width:100%;font:inherit;font-size:1.05rem;padding:12px 14px;border:3px solid var(--ink);border-radius:999px;background:var(--card);color:var(--ink)}
@media(max-width:380px){.two{grid-template-columns:1fr}}
