:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#183047;background:#edf3f7;font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}html{height:100%;overscroll-behavior:none}body{min-height:100vh;min-height:100svh;min-height:100dvh;overflow-x:hidden}img,svg,canvas,video{max-width:100%}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}input,select,textarea{font-size:16px}.login-page{width:100%;min-height:100vh;min-height:100svh;min-height:100dvh;display:grid;place-items:center;overflow:auto;padding:max(20px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 40%,rgba(0,114,174,.34),transparent 42%),linear-gradient(145deg,#06345f,#00507e 58%,#056994)}.login-panel{width:min(376px,100%);max-width:100%;display:grid;grid-template-areas:"logo" "title" "subtitle" "form";background:#fffffffa;border-radius:19px;padding:34px 34px 35px;box-shadow:0 22px 64px #00142e5c}.login-logo{grid-area:logo;display:block;width:min(228px,82%);height:auto;margin:0 auto 24px}.login-panel h1{grid-area:title;margin:0;color:#183047;font-size:clamp(1.32rem,3.2vw,1.64rem);line-height:1.16;letter-spacing:-.025em}.login-subtitle{grid-area:subtitle;margin:10px 0 24px;color:#66798a;font-size:.8rem}.login-form{grid-area:form;display:grid;align-content:center;gap:7px;min-width:0}.login-form label{margin:6px 0 0;color:#17324b;font-weight:750;font-size:.8rem}.login-form input{width:100%;min-width:0;min-height:39px;border:1px solid #bdccd6;border-radius:8px;padding:9px 11px;background:#fff;color:#183047}.login-form input:focus{outline:3px solid rgba(0,112,171,.18);border-color:#0871a5}.login-form input:disabled{background:#f2f5f7}.login-submit{width:100%;min-height:40px;margin-top:10px;border:0;border-radius:10px;padding:10px 14px;background:linear-gradient(180deg,#0876ae,#00669b);color:#fff;font-weight:800;box-shadow:0 6px 14px #005d9133}.login-submit:hover:not(:disabled){background:linear-gradient(180deg,#086c9f,#005a89)}.login-submit:disabled{opacity:.68;cursor:wait}.login-notice,.login-error{margin-top:6px;border-radius:8px;padding:9px 10px;font-size:.78rem}.login-notice{border:1px solid #b8d6e8;background:#edf7fc;color:#145579}.login-error{border:1px solid #efb9b9;background:#fff0f0;color:#8a1c1c}.app-shell{width:100%;min-height:100vh;min-height:100svh;min-height:100dvh}.topbar{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:max(12px,env(safe-area-inset-top)) max(clamp(20px,5vw,70px),env(safe-area-inset-right)) 12px max(clamp(20px,5vw,70px),env(safe-area-inset-left));background:#113d62;color:#fff}.topbar strong{font-size:1.3rem}.user-actions{min-width:0;display:flex;align-items:center;gap:16px;font-size:.9rem}.user-actions span{min-width:0;overflow-wrap:anywhere}.content{width:100%;max-width:1400px;margin:auto;padding:clamp(22px,5vw,60px) max(clamp(20px,5vw,60px),env(safe-area-inset-right)) max(clamp(22px,5vw,60px),env(safe-area-inset-bottom)) max(clamp(20px,5vw,60px),env(safe-area-inset-left))}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading h1{margin:4px 0}.page-heading p{margin:0;color:#607181}.eyebrow{color:#4f8422!important;font-weight:800;letter-spacing:.11em;font-size:.72rem}.scope-count{min-width:96px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;background:#fff;color:#14628e;font-size:1.8rem;font-weight:800;box-shadow:0 9px 25px #1c40581f}.scope-count span{display:block;font-size:.7rem;color:#687b89;text-transform:uppercase}.panel{background:#fff;border-radius:14px;padding:24px;box-shadow:0 8px 25px #1c405817}.machine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px}.machine-card{min-width:0;background:#fff;border-radius:16px;padding:22px;border-top:5px solid #8cc63f;box-shadow:0 8px 25px #1c405817}.machine-card h2{margin:10px 0 8px;font-size:1.2rem;overflow-wrap:anywhere}.machine-card p{color:#687b89;min-height:42px;overflow-wrap:anywhere}.machine-id{color:#14628e;font-size:.76rem;font-weight:850;letter-spacing:.08em}dl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:0}dt{color:#7b8993;font-size:.72rem;text-transform:uppercase}dd{margin:3px 0 0;font-weight:700;overflow-wrap:anywhere}.center-card{min-height:100vh;min-height:100svh;min-height:100dvh;display:grid;place-items:center}@media(max-width:720px),(orientation:portrait)and (max-width:900px){.topbar{align-items:stretch;flex-direction:column;gap:10px}.user-actions{width:100%;align-items:center;justify-content:space-between;gap:12px}.page-heading{align-items:flex-start;flex-direction:column}.scope-count{display:none}}@media(max-width:460px){.login-page{padding:max(14px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.login-panel{padding:28px 24px 29px}.login-logo{margin-bottom:19px}.login-subtitle{margin-bottom:20px}.content{padding-top:22px}.machine-card,.panel{padding:18px}}@media(orientation:landscape)and (max-height:680px)and (min-width:560px){.login-page{place-items:center;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.login-panel{width:min(760px,100%);grid-template-columns:minmax(210px,.82fr) minmax(280px,1.18fr);grid-template-areas:"logo form" "title form" "subtitle form";column-gap:clamp(28px,5vw,52px);align-items:center;padding:clamp(24px,4vh,32px) clamp(28px,4vw,42px)}.login-logo{width:min(210px,100%);margin:0 auto 18px}.login-panel h1{font-size:clamp(1.2rem,2.6vw,1.52rem)}.login-subtitle{margin:8px 0 0}.login-form{gap:5px}.login-form label{margin-top:3px}.login-form input,.login-submit{min-height:38px}.login-submit{margin-top:8px}.topbar{min-height:54px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:8px}.content{padding-top:20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.page-heading{margin-bottom:18px}}@media(orientation:landscape)and (max-height:420px){.login-page{place-items:start center}.login-panel{margin-block:auto}}
