:root{font-family:Tahoma,Arial,sans-serif;color:#203447;background:#f2f5f8}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 10%,#e1ebf1 0,transparent 38%),linear-gradient(145deg,#f6f8fa,#eaf0f5)}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:28px 16px;gap:22px}.login-card{width:min(100%,440px);padding:38px 36px 32px;background:#fff;border:1px solid #e3e9ee;border-radius:18px;box-shadow:0 18px 55px rgba(18,52,80,.09)}.brand-mark{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 18px;border-radius:16px;background:#123450;color:#fff;font-size:35px;font-weight:700}h1{text-align:center;font-size:23px;line-height:1.6;margin:0;color:#123450}.rule{height:3px;width:64px;background:#b99156;margin:20px auto 30px;border-radius:4px}label{display:block;font-size:14px;font-weight:700;margin:17px 0 9px}input{display:block;width:100%;height:48px;padding:0 14px;border:1px solid #cad5df;border-radius:9px;background:#fff;color:#203447;font:inherit;font-size:15px;outline:none}input:focus{border-color:#25668c;box-shadow:0 0 0 3px rgba(37,102,140,.12)}.password-field{position:relative}.password-field input{padding-left:78px}.password-field button{position:absolute;left:7px;top:7px;height:34px;border:0;background:#eef3f7;color:#264b65;border-radius:7px;padding:0 11px;cursor:pointer}.submit{width:100%;height:49px;border:0;border-radius:9px;background:#123f60;color:white;font:inherit;font-size:16px;font-weight:700;cursor:pointer;margin-top:28px}.submit:hover{background:#0d314b}.submit:disabled{opacity:.65;cursor:wait}.message{min-height:22px;text-align:center;font-size:13px;line-height:1.7;margin:15px 0 0}.message.error{color:#a32332}.message.success{color:#17633d}footer{font-size:12px;color:#718294;text-align:center}.dashboard{min-height:100vh;display:flex;flex-direction:column}.dashboard-header{background:#123450;color:white;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px max(24px,calc((100vw - 1140px)/2));box-shadow:0 4px 18px rgba(18,52,80,.13)}.header-brand,.header-actions{display:flex;align-items:center;gap:15px}.header-brand strong{font-size:17px}.brand-mark.small{width:42px;height:42px;font-size:24px;margin:0;border-radius:11px;background:#fff;color:#123450}.header-actions{font-size:13px}.logout-button{background:transparent;color:white;border:1px solid #b8cedd;border-radius:9px;padding:11px 16px;font:inherit;cursor:pointer}.logout-button:hover{background:#ffffff20}.logout-button:disabled{opacity:.6}.dashboard-content{width:min(1140px,calc(100% - 40px));margin:35px auto;flex:1}.welcome{background:white;border:1px solid #e1e9ef;border-radius:17px;padding:27px;display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:35px;box-shadow:0 10px 30px rgba(18,52,80,.04)}.welcome h2{margin:5px 0 10px;font-size:26px;color:#123450}.eyebrow{margin:0;color:#997239;font-size:13px;font-weight:700}.muted{color:#6e8090;line-height:1.8;font-size:14px}.welcome .muted{margin:0}.status-pill{background:#e9f7ef;color:#17633d;padding:9px 13px;border-radius:50px;font-size:13px;white-space:nowrap}.dashboard-content h3{color:#123450;margin:0 0 8px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:22px}.feature-card{position:relative;background:#fff;border:1px solid #e1e9ef;border-radius:14px;padding:25px;min-height:195px}.feature-icon{display:grid;place-items:center;background:#eaf0f5;color:#123f60;width:43px;height:43px;border-radius:11px;font-size:25px}.feature-card h4{margin:17px 0 7px;color:#123450;font-size:17px}.feature-card p{color:#718294;font-size:13px;line-height:1.7;margin:0 0 16px}.soon{color:#8b6a39;background:#f8f0e3;border-radius:6px;font-size:12px;padding:5px 9px}.dashboard footer{padding:20px}@media(max-width:800px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-header{padding:15px 20px}}@media(max-width:550px){.login-card{padding:28px 22px}h1{font-size:20px}.dashboard-header{flex-direction:column;align-items:stretch}.header-brand strong{font-size:14px}.header-actions{justify-content:space-between}.feature-grid{grid-template-columns:1fr}.welcome{align-items:flex-start;flex-direction:column}.welcome h2{font-size:22px}}
