:root{font-family:Arial,Helvetica,sans-serif;color:#0a1838;background:#f7f9fc;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}button{cursor:pointer}
.login-page{min-height:100vh;background:#fbfcfe}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(400px,1fr) minmax(420px,1fr);align-items:center;gap:clamp(30px,6vw,100px);max-width:1480px;margin:auto;padding:clamp(20px,5vw,70px)}
.login-card{background:#fff;border:1px solid #e5e9f0;border-radius:16px;box-shadow:0 18px 55px rgba(8,27,70,.06);min-height:480px;display:flex;align-items:center;justify-content:center}
.login-card-inner{width:min(100%,390px);padding:42px 30px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#5c84b6;font-size:.72rem;font-weight:800;margin:0 0 15px}h1{letter-spacing:-.035em;line-height:1.12}.login-card h1{font-size:clamp(2rem,3vw,2.7rem);margin:0 0 12px}.intro,.page-heading>p:last-child{color:#57677f;line-height:1.5}.intro{margin:0 0 35px}.login-card label{display:block;font-weight:700;font-size:.9rem;margin:20px 0 8px}.login-card input:not([type=hidden]){width:100%;border:1px solid #aebbd0;border-radius:8px;height:48px;padding:0 14px;background:white;color:#0a1838}.login-card input:focus-visible,.device-tile:focus-visible,.primary-button:focus-visible,.logout-button:focus-visible{outline:3px solid #5c84b6;outline-offset:3px}.primary-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:#0c315d;color:white;padding:13px 25px;text-decoration:none;font-weight:700}.login-card .primary-button{width:100%;margin-top:30px}.primary-button:hover{background:#174d83}.form-error{padding:12px 14px;border-radius:7px;background:#fff1f1;color:#9d2727;font-size:.9rem;line-height:1.4}
.brand-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:35px}.brand-logo{display:block;width:min(100%,540px);height:auto}.device-photo{display:block;width:min(100%,450px);height:min(50vh,510px);object-fit:contain}
.overview-page{min-height:100vh}.site-header{height:76px;background:#0d2d52;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,72px)}.header-brand{text-decoration:none;font-size:1.25rem;letter-spacing:-.03em}.header-brand strong{font-size:1.5rem}.logout-button{background:transparent;color:white;border:1px solid #7292b0;border-radius:6px;padding:9px 16px}.logout-button:hover{background:#20436b}.overview-main{max-width:1300px;margin:auto;padding:clamp(35px,5vw,75px) 24px 90px}.page-heading{margin-bottom:36px}.page-heading h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 10px}.page-heading>p:last-child{margin:0}.device-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.device-tile{min-height:170px;background:#d5e8f8;border:1px solid #a0c9e6;border-radius:12px;padding:19px;display:flex;flex-direction:column;text-decoration:none;box-shadow:0 4px 13px rgba(15,54,96,.05);transition:transform .15s,box-shadow .15s}.device-tile:hover{transform:translateY(-3px);box-shadow:0 10px 25px rgba(15,54,96,.15)}.tile-mark{width:35px;height:5px;border-radius:6px;background:#6aaf68}.tile-name{font-size:clamp(1.15rem,1.7vw,1.5rem);font-weight:700;line-height:1.2;margin-top:23px;overflow-wrap:anywhere}.tile-action{margin-top:auto;font-size:.82rem;color:#2d587e;font-weight:700}.tile-action span{font-size:1.1rem;margin-left:6px}.message-page{min-height:100vh;display:grid;place-items:center;padding:24px}.message-card{width:min(100%,530px);padding:48px;background:white;border:1px solid #e5e9f0;border-radius:14px}.message-card h1{margin:0 0 16px}.message-card p:not(.eyebrow){color:#57677f;line-height:1.5;margin-bottom:28px}
@media(max-width:1050px){.device-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.login-layout{gap:20px}}
@media(max-width:700px){.login-layout{display:flex;flex-direction:column-reverse;justify-content:center;gap:20px;padding:20px}.brand-panel{gap:0}.brand-logo{width:min(75vw,300px)}.device-photo{display:none}.login-card{min-height:0;width:100%}.login-card-inner{padding:30px 25px}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.device-tile{min-height:145px;padding:15px}.overview-main{padding-top:40px}}
@media(max-width:390px){.device-grid{grid-template-columns:1fr}.device-tile{min-height:115px}.tile-name{margin-top:15px}}
