:root{font-family:Inter,system-ui,"Segoe UI",sans-serif;color:#1a3448;background:#eff7fc;font-size:14px}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}
#shell{display:flex;min-height:100vh}.sidebar{width:246px;flex-shrink:0;background:#fff;border-right:1px solid #dceaf2;padding:24px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.brand{display:flex;align-items:center;gap:10px;padding:0 8px 25px}.logo{width:39px;height:39px;background:#126a9e;color:#fff;border-radius:11px;display:grid;place-items:center;font-size:22px;font-weight:700}
.brand strong{font-size:15px;letter-spacing:1px;display:block}.brand small{font-size:10px;color:#718997;letter-spacing:.9px;display:block;margin-top:3px}
.navtitle{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#91a8b6;padding:8px 12px}nav{display:flex;flex-direction:column;gap:4px}
nav button{width:100%;border:0;border-radius:8px;background:transparent;text-align:left;color:#486579;padding:12px;font-weight:550;display:flex;gap:12px;align-items:center}
nav button:hover{background:#f2f8fc}nav button.selected{background:#e4f2fc;color:#116493;font-weight:700}.sidebar-bottom{margin-top:auto;padding:16px 8px 3px;color:#4d6e82;border-top:1px solid #e7f0f5;font-size:12px}.sidebar-bottom small{display:block;color:#8a9ca7;margin-top:5px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#33aa7b;margin-right:7px}
.main{min-width:0;flex:1}.topbar{height:67px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dceaf2;padding:0 29px;gap:12px}
.breadcrumb{color:#8ba0ae}.breadcrumb span{margin:0 9px}.breadcrumb b{color:#25485f;font-weight:600}.right{display:flex;align-items:center;gap:14px;font-size:12px;color:#58788c}
#menu-toggle{display:none;border:0;background:transparent;font-size:20px;color:#35627d}.quiet{border:0;background:#edf5fa;color:#32627d;padding:9px 11px;border-radius:7px}
.content{padding:30px;max-width:1650px;margin:0 auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}
.eyebrow{font-size:10px;font-weight:750;color:#237eaf;letter-spacing:1.6px}.heading h1,h1{font-size:27px;font-weight:680;margin:7px 0;color:#193c52}.heading p{color:#6f8a9a;margin:0}
.outline{border:1px solid #bbd5e6;background:#fff;color:#235c7f;padding:10px 16px;border-radius:9px;font-weight:620}.outline:hover{border-color:#4393b7}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:13px;margin-bottom:20px}.metric{background:#fff;padding:20px;border:1px solid #dceaf2;border-radius:13px}.metric .num{font-size:29px;font-weight:670;color:#1c6287}.metric .metric-label{color:#7791a0;margin-top:7px}
.workspace{display:grid;grid-template-columns:1fr;gap:16px}.columns{display:grid;grid-template-columns:minmax(220px,380px) minmax(0,1fr);gap:16px}.panel{border:1px solid #dceaf2;border-radius:13px;padding:22px;background:#fff;min-width:0}.panel h2{font-size:17px;font-weight:670;margin:0 0 7px;color:#203e52}.panel p{line-height:1.55;color:#6b8393}
label{display:block;color:#36566b;font-weight:600;font-size:12px;margin:14px 0 0}input,select{width:100%;margin-top:7px;border:1px solid #c9dae6;background:#fff;border-radius:8px;padding:12px;color:#18394d;outline:0;min-height:42px}
input:focus,select:focus{border-color:#2b8cb3;box-shadow:0 0 0 3px #d9eff8}.primary{border:0;background:#126fa5;color:#fff;font-weight:670;padding:13px 18px;border-radius:9px;margin-top:16px}.primary:hover{background:#075988}.primary:disabled{opacity:.5}.full{width:100%}
.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{color:#7d96a5;font-size:11px;font-weight:650;background:#f6faff;border-bottom:1px solid #e0edf5;padding:12px}.data-table td{padding:13px 12px;border-bottom:1px solid #edf3f7;color:#2c4d61}.table-container{overflow:auto}
.notice{background:#eaf6ee;color:#24734d;border:1px solid #ccebd8;padding:13px;border-radius:8px;margin-bottom:18px}.notice.error{background:#fff1ef;border-color:#ffd5d2;color:#9a3b40}
.code{font-size:21px;letter-spacing:1.1px;font-weight:700;color:#145c80;background:#ecf7fe;border:1px solid #c3e2f4;border-radius:8px;padding:14px;overflow-wrap:anywhere}
.disclaimer,.note{font-size:12px;color:#8da1ae;line-height:1.6}.disclaimer{margin-top:22px}
.auth-screen{display:grid;grid-template-columns:minmax(250px,1fr) minmax(300px,410px);gap:35px;align-items:center;min-height:calc(100vh - 160px);max-width:1150px;margin:0 auto}.auth-info h1{font-size:36px;line-height:1.2}.auth-info p{font-size:15px;color:#748fa0;max-width:440px;line-height:1.7}.auth-feature{margin:15px 0;color:#376e89;font-weight:600}.auth-card{background:#fff;padding:32px;border:1px solid #d4e5ef;border-radius:16px;box-shadow:0 18px 50px #2c60830c}.auth-card h2{font-size:24px;margin:7px 0}.auth-card>p{color:#7d94a2}.status{color:#a13b40;font-size:13px}
#dashboard[hidden],#auth-panel[hidden],.notice[hidden]{display:none}
@media(max-width:970px){.sidebar{width:68px;padding:22px 9px}.brand strong,.brand small,.navtitle,nav span,.sidebar-bottom{display:none}.brand{padding:0 5px 20px}.logo{width:38px}nav button{justify-content:center;font-size:17px}.content{padding:22px}.auth-screen{grid-template-columns:1fr}.auth-info{display:none}}
@media(max-width:720px){.sidebar{position:fixed;z-index:12;transform:translateX(-110%);transition:transform .15s;width:245px;padding:24px 16px}.sidebar.open{transform:none}.sidebar.open nav span,.sidebar.open .brand strong,.sidebar.open .brand small,.sidebar.open .sidebar-bottom,.sidebar.open .navtitle{display:block}.sidebar.open nav button{justify-content:flex-start;font-size:14px}
#menu-toggle{display:block}.topbar{padding:0 15px;height:62px}.content{padding:16px}.columns{grid-template-columns:1fr}.auth-screen{min-height:60vh}.heading h1{font-size:23px}.right #who{display:none}}
/* Read-only cloud integration status and device administration */
.integrity-line{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:12px 4px;border-bottom:1px solid #dbe5ed}
.integrity-line strong{color:#132f48}
.integrity-warning{padding:12px;color:#8a4714;background:#fff4db;border-radius:8px;line-height:1.5}
.integrity-device,.integrity-module{border:1px solid #d5e1ea;border-radius:10px;padding:14px;margin:12px 0;background:#f9fcff}
.integrity-device p,.integrity-module p{margin:6px 0;color:#526574}
.integrity-device button{margin-top:7px}
.integrity-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.integrity-module-head{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
.integrity-status{font-size:12px;padding:5px 9px;border-radius:12px;background:#e9eff4}
.integrity-status.connected{background:#e2f3e8;color:#176038}
.integrity-status.partial{background:#fff3d8;color:#81590d}
.integrity-status.not_available{background:#edf0f3;color:#5b626b}

/* Owner and Founder sign-in: completely distinct from authenticated workspaces. */
body.auth-locked{
  background:radial-gradient(ellipse at 0% 8%,#dceffc 0,transparent 49%),
             radial-gradient(ellipse at 100% 100%,#e1f0fa 0,transparent 49%),
             #f1f7fc;
}
body.auth-locked .sidebar{display:none!important}
body.auth-locked .auth-header{display:flex}
.auth-header{display:none;align-items:center;gap:12px;min-width:0}
.auth-mark{
 display:grid;place-items:center;width:39px;height:39px;flex:0 0 39px;
 color:#fff;font-weight:750;font-size:21px;border-radius:11px;
 background:linear-gradient(150deg,#147bad,#0c466e);
 box-shadow:0 5px 15px #0c477020;
}
.auth-wordmark{font-size:17px;letter-spacing:1.4px;font-weight:760;color:#17364e;line-height:1.18}
.auth-wordmark small{font-size:9px;display:block;letter-spacing:1.2px;margin-top:4px;color:#607e90;font-weight:670}
body.auth-locked .topbar{
 height:76px;padding:0 clamp(18px,5vw,65px);border-bottom:1px solid #dbe8ef;
 background:#ffffffed;backdrop-filter:blur(9px);
}
body.auth-locked .topbar .breadcrumb,
body.auth-locked .topbar .right,
body.auth-locked #menu-toggle,
body.auth-locked #platform-menu-toggle{display:none!important}
body.auth-locked .main{width:100%;min-width:0}
body.auth-locked .content{max-width:1220px;margin:0 auto;padding:clamp(20px,4vw,55px)}
body.auth-locked .auth-screen{
 width:100%;min-height:calc(100svh - 180px);
 max-width:1080px;margin:0 auto;
 grid-template-columns:minmax(0,1fr) minmax(350px,450px);
 gap:clamp(28px,6vw,84px);align-items:center;
}
body.auth-locked .auth-info h1{
 font-size:clamp(30px,3.3vw,43px);line-height:1.17;
 letter-spacing:-.7px;max-width:520px;
}
body.auth-locked .auth-info p{color:#526f83;font-size:15px;line-height:1.7}
body.auth-locked .auth-feature{font-size:13px;color:#315b73;margin:11px 0;font-weight:600}
body.auth-locked .auth-card{
 width:100%;padding:clamp(24px,3.7vw,37px);
 border:1px solid #d5e5ee;border-radius:19px;
 box-shadow:0 20px 60px #1d56701a,0 2px 9px #1d56700c;
 background:#fff;
}
body.auth-locked .auth-card .eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:760;color:#177ba3}
body.auth-locked .auth-card h2{
 font-size:clamp(23px,2.7vw,29px);letter-spacing:-.4px;
 line-height:1.3;margin:8px 0 5px;font-weight:735;color:#16374c;
}
body.auth-locked .auth-subtitle{color:#647d8c;font-size:13px;line-height:1.6;margin:0 0 24px}
body.auth-locked .auth-card label{
 color:#294b60;font-size:13px;font-weight:670;
 margin:15px 0 7px;
}
body.auth-locked .auth-card input{
 display:block;margin:0;min-height:49px;padding:12px 13px;
 font-size:14px;border:1px solid #cadce6;border-radius:9px;
 background:#fff;color:#14354a;
}
body.auth-locked .auth-card input::placeholder{color:#8196a5}
body.auth-locked .auth-card input:focus-visible,
body.auth-locked .auth-card button:focus-visible,
body.auth-locked .auth-card a:focus-visible{outline:2px solid #2282b5;outline-offset:2px}
body.auth-locked .password-field{display:flex;position:relative;align-items:center}
body.auth-locked .password-field input{padding-right:72px;flex:1;min-width:0}
body.auth-locked .password-toggle{
 position:absolute;right:8px;top:50%;transform:translateY(-50%);
 border:0;border-radius:6px;background:#edf5fa;color:#256184;
 font-size:12px;font-weight:660;padding:9px 11px;min-width:53px;
}
body.auth-locked .auth-submit{
 min-height:49px;margin:21px 0 3px;border-radius:9px;
 box-shadow:0 6px 15px #096a9e1f;
 display:flex;align-items:center;justify-content:center;gap:10px;
 font-size:14px;
}
body.auth-locked .auth-submit span{font-size:19px;font-weight:400}
body.auth-locked .auth-provision{
 color:#6e8695;font-size:11px;line-height:1.6;
 margin:14px 0 0;
}
body.auth-locked .founder-entry{
 display:flex;align-items:center;justify-content:space-between;
 gap:12px;border-top:1px solid #e4edf3;padding-top:18px;margin-top:17px;
}
body.auth-locked .founder-entry small{
 display:block;color:#869eac;font-size:9px;letter-spacing:1.15px;
 font-weight:700;margin-bottom:7px;
}
body.auth-locked .founder-entry a{
 font-size:12px;font-weight:650;color:#245c82;text-decoration:none;
}
body.auth-locked .founder-entry a:hover{text-decoration:underline}
body.auth-locked .founder-note{
 font-size:10px;color:#8196a3;text-align:right;max-width:110px;line-height:1.4;
}
body.auth-locked .status:empty{display:none}
body.auth-locked .status:not(:empty){
 margin:9px 0 0;padding:10px;border-radius:7px;
 color:#9d303c;background:#fff2f1;
}
#platform-menu-toggle{
 display:none;border:0;background:transparent;font-size:20px;color:#35627d;cursor:pointer;
}
@media(max-width:970px){
 body.auth-locked .auth-screen{display:flex;justify-content:center;min-height:calc(100svh - 168px)}
 body.auth-locked .auth-card{max-width:490px}
}
@media(max-width:720px){
 body.auth-locked .topbar{height:67px;padding:0 20px}
 body.auth-locked .content{padding:12px 17px 20px}
 body.auth-locked .auth-screen{min-height:calc(100svh - 109px);align-items:center}
 body.auth-locked .auth-card{max-width:480px;padding:25px 22px;border-radius:15px}
 body.auth-locked .auth-card h2{font-size:25px}
 body.auth-locked .auth-subtitle{margin-bottom:19px}
 body.auth-locked .auth-card label{margin-top:14px}
 body.auth-locked .auth-provision{font-size:11px}
 body.auth-locked .founder-entry{margin-top:15px;padding-top:15px}
 .platform-page:not(.auth-locked) #platform-menu-toggle{display:block}
 .platform-page:not(.auth-locked) .sidebar.open{transform:none}
 .platform-page:not(.auth-locked) .sidebar.open .brand strong,
 .platform-page:not(.auth-locked) .sidebar.open .brand small,
 .platform-page:not(.auth-locked) .sidebar.open .sidebar-bottom,
 .platform-page:not(.auth-locked) .sidebar.open .navtitle,
 .platform-page:not(.auth-locked) .sidebar.open nav span{display:block}
 .platform-page:not(.auth-locked) .sidebar.open nav button{justify-content:flex-start;font-size:14px}
}
@media(max-width:400px){
 body.auth-locked .content{padding:9px 12px 16px}
 body.auth-locked .auth-card{padding:22px 18px}
 body.auth-locked .founder-note{display:none}
}
@media(prefers-reduced-motion:reduce){
 body.auth-locked *,body.auth-locked *::before,body.auth-locked *::after{transition:none!important;animation:none!important}
}
