:root{--ink:#183836;--muted:#617a77;--green:#0d6b61;--green2:#169787;--mint:#e7f4ef;--cream:#fbfaf6;--line:#d9e6e1;--danger:#a83a45}*{box-sizing:border-box}html,body{background:var(--cream);min-height:100%;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}.auth-shell{grid-template-columns:minmax(320px,1fr) minmax(400px,560px);min-height:100vh;display:grid}.brand-panel{color:#fff;background:linear-gradient(145deg,#0a4f49,#0d7468 65%,#13a08e);flex-direction:column;justify-content:space-between;padding:clamp(40px,7vw,96px);display:flex;position:relative;overflow:hidden}.brand-panel:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-110px;right:-170px;box-shadow:0 0 0 80px #ffffff0a,0 0 0 160px #ffffff08}.brand{letter-spacing:-1px;font-family:Georgia,serif;font-size:clamp(30px,4vw,48px)}.brand span{vertical-align:top;font-size:.45em}.brand-copy{z-index:1;max-width:650px;position:relative}.brand-copy p{letter-spacing:.15em;text-transform:uppercase;opacity:.85;font-size:13px;font-weight:800}.brand-copy h1{margin:.25em 0;font-family:Georgia,serif;font-size:clamp(40px,5vw,72px);line-height:1.02}.brand-copy blockquote{border-left:3px solid #ffffff8c;max-width:540px;margin:28px 0 0;padding-left:18px;font-size:17px;line-height:1.6}.auth-panel{background:#fff;align-items:center;padding:40px clamp(28px,6vw,74px);display:flex}.auth-card{width:100%;max-width:440px;margin:auto}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--green);font-size:12px;font-weight:800}.auth-card h2{margin:8px 0 10px;font-family:Georgia,serif;font-size:40px}.subtle{color:var(--muted);margin:0 0 28px;line-height:1.55}.field{gap:8px;margin:18px 0;display:grid}.field label{font-size:14px;font-weight:750}.field input{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #cbdad5;border-radius:12px;outline:none;padding:14px 15px}.field input:focus{border-color:var(--green2);box-shadow:0 0 0 3px #1697871f}button,.button{background:var(--green);color:#fff;font-weight:800;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:14px 22px;text-decoration:none;transition:all .2s;display:inline-flex}button:hover,.button:hover{background:#094f48;transform:translateY(-1px)}button:disabled{opacity:.6;cursor:wait;transform:none}.full{width:100%;margin-top:12px}.auth-links{justify-content:space-between;gap:14px;margin-top:20px;font-size:14px;display:flex}.auth-links a{color:var(--green);font-weight:750}.notice{background:var(--mint);color:var(--green);border-radius:10px;margin:15px 0;padding:12px 14px;font-size:14px;line-height:1.45}.notice.error{color:var(--danger);background:#fae9eb}.security-note{border-top:1px solid var(--line);color:var(--muted);margin-top:26px;padding-top:18px;font-size:13px;line-height:1.5}.dashboard{background:#f5f8f6;min-height:100vh}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:18px 5vw;display:flex}.topbar .brand{color:var(--green);font-size:28px}.topbar a{color:var(--green);font-weight:700}.dashboard-main{width:min(1120px,90vw);margin:0 auto;padding:60px 0}.welcome{color:#fff;background:linear-gradient(135deg,#0b5f57,#128b7d);border-radius:24px;padding:42px;box-shadow:0 24px 60px #0f5d5324}.welcome h1{margin:6px 0;font-family:Georgia,serif;font-size:42px}.welcome p{max-width:680px;line-height:1.6}.grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px;display:grid}.tile{border:1px solid var(--line);background:#fff;border-radius:18px;padding:24px}.tile h3{margin:0 0 10px}.tile p{color:var(--muted);margin:0;line-height:1.5}.badge{background:var(--mint);color:var(--green);border-radius:999px;margin-top:16px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-block}@media (max-width:850px){.auth-shell{grid-template-columns:1fr}.brand-panel{min-height:330px;padding:36px}.brand-copy h1{font-size:44px}.brand-panel blockquote{display:none}.auth-panel{padding:42px 24px}.grid{grid-template-columns:1fr}}
