:root{font-family:Arial,sans-serif;color:#18283b;background:#f3f5f8;color-scheme:light}*{box-sizing:border-box}body{margin:0}a{color:#234f83;text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a.button{cursor:pointer}.app-header{background:#fff;border-bottom:1px solid #dfe4ec;min-height:76px;padding:18px clamp(20px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:23px;font-weight:700}.app-header nav{display:flex;align-items:center;gap:22px}.app-header select{padding:7px;border:1px solid #c8d1de;border-radius:7px}.portal{max-width:1280px;margin:40px auto;padding:0 24px}.welcome{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:44px}.welcome h1{font-size:32px;margin-bottom:12px}.welcome p,.login-panel p{line-height:1.6;color:#526579}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cad3df;background:white;border-radius:8px;padding:11px 17px;white-space:nowrap}.button.primary{background:#245985;color:#fff;border-color:#245985}.button:disabled{opacity:.55;cursor:wait}.projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project{padding:22px;background:#fff;border:1px solid #dce3ed;border-radius:12px;display:flex;flex-direction:column;gap:12px}.project-title{font-size:19px;font-weight:600;border:1px solid transparent;padding:7px;width:100%;border-radius:5px;color:inherit}.project-title:hover,.project-title:focus{border-color:#a9bdd4}.project-meta{color:#627388;font-size:14px;margin:0;line-height:1.6}.project-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.project-actions button{padding:8px;border:1px solid #d8e0eb;border-radius:6px;background:#fff;color:#234f83}.login-panel{max-width:440px;margin:64px auto;padding:30px;background:white;border:1px solid #dce3ed;border-radius:12px}.login-panel h1{margin-top:0}#login-form{display:grid;gap:20px}#login-form label:not(.check){display:grid;gap:8px}input:not([type=checkbox]){padding:11px;border:1px solid #b9c6d7;border-radius:6px}label.check{display:flex;align-items:center;gap:10px}#portal-status{min-height:24px;line-height:1.5}#portal-status.error{color:#a4262c}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:900px){.projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.app-header{align-items:flex-start;padding:18px}.app-header nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}.brand{font-size:18px}.welcome{align-items:flex-start;flex-direction:column;margin-bottom:24px}.welcome h1{font-size:26px}.projects{grid-template-columns:1fr}.login-panel{margin:32px 18px}}
