:root{--g:#2c7564;--ink:#16322d;--bg:#f3f6f3;--line:#dce4df}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px Arial,sans-serif}.brand{color:var(--ink);font-weight:700;text-decoration:none}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:30px}.auth-shell>.brand{position:absolute;top:28px;left:35px}.auth-card{width:min(480px,100%);padding:35px;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:0 20px 60px #16322d12}.auth-card>span,.welcome>span{font-size:10px;letter-spacing:.15em;color:var(--g);font-weight:700}.auth-card h1{font-size:30px;margin:8px 0}.auth-card p{color:#71807c;line-height:1.6}.auth-card form{display:grid;gap:13px;margin:22px 0}.auth-card label{display:grid;gap:6px;font-size:11px;color:#667671}.auth-card input,.auth-card select{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px}.auth-card button,.welcome button{border:0;border-radius:8px;background:var(--g);color:white;padding:13px;font-weight:700}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.error{padding:11px;border-radius:7px;background:#fff0ef;color:#a64138}.portal-head{height:70px;display:flex;justify-content:space-between;align-items:center;padding:0 5vw;background:white;border-bottom:1px solid var(--line)}.portal-head button{border:1px solid var(--line);background:white;padding:8px 14px;border-radius:7px}.portal{max-width:1100px;margin:auto;padding:35px}.welcome{padding:30px;border-radius:16px;background:var(--ink);color:white}.welcome h1{margin:8px 0}.welcome p{display:inline-block;margin-right:8px;color:#aec1bb}.welcome strong{font-size:19px}.welcome button{float:right}.panel{margin-top:18px;padding:25px;border:1px solid var(--line);border-radius:14px;background:white}.cards{display:grid;gap:8px}.cards article{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;padding:14px;border-radius:9px;background:#f6f8f6}.cards small{color:#71807c}.notice{color:#71807c}@media(max-width:600px){.row,.cards article{grid-template-columns:1fr}.welcome button{float:none;display:block;margin-top:10px}.portal{padding:18px}}
