:root{--ink:#172421;--muted:#65736f;--paper:#fffefa;--cream:#f5f1e8;--green:#143d3a;--teal:#18877d;--gold:#e4b85f;--line:#ded8cc;--danger:#a94a3c}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 34%,#ffffff 0,#f5f1e8 34%,#e7e0d3 100%);color:var(--ink);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative}.login-shell:before{content:"";position:fixed;inset:0;background:rgba(20,61,58,.58);backdrop-filter:blur(2px)}.login-dialog{position:relative;width:min(360px,100%);overflow:hidden;border:1px solid #d8d2c7;border-radius:14px;background:var(--paper);box-shadow:0 24px 80px rgba(23,36,33,.28)}.dialog-top{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:#f9f7f1}.dialog-logo{width:34px;height:34px;object-fit:contain;border-radius:8px}.dialog-top p{margin:0;color:var(--muted);font-size:12px}.dialog-top strong{display:block;margin-top:1px;color:var(--green);font-size:14px}.login-card{display:flex;flex-direction:column;gap:13px;padding:20px 22px 22px}.login-card h1{margin:0;color:var(--ink);font:700 22px/1.2 Georgia,serif}.login-note{margin:-6px 0 2px;color:var(--muted);font-size:13px}.login-card label{display:grid;gap:6px;color:#566864;font-size:12px;font-weight:800}.login-card input{width:100%;height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px;color:var(--ink);font:inherit;outline:none}.login-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(24,135,125,.18)}.login-card button{height:42px;margin-top:2px;border:0;border-radius:8px;background:var(--teal);color:#fff;font-weight:900;cursor:pointer}.login-card button:hover{background:#126f68}.error{margin:0;padding:9px 10px;border-radius:8px;background:#fff0ed;color:var(--danger);font-size:13px;font-weight:800}@media(max-width:420px){.login-shell{padding:16px;align-items:start;padding-top:72px}.login-dialog{border-radius:12px}.login-card{padding:18px}.dialog-top{padding:14px 16px}}
