:root{color:#e8edf7;font-synthesis:none;text-rendering:optimizelegibility;background:#070a0f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 22% 35%,#2e36db2b,#0000 32rem),radial-gradient(circle at 78% 60%,#00d5ff1f,#0000 30rem),#070a0f;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{place-items:center;min-height:100vh;padding:clamp(1rem,4vw,3rem);display:grid}.auth-card{background:#0d131e;border:1px solid #222e42;border-radius:1.75rem;grid-template-columns:minmax(0,1.08fr) minmax(22rem,.92fr);width:min(68rem,100%);min-height:42rem;display:grid;overflow:hidden;box-shadow:0 2rem 6rem #00000073,0 0 5rem #08bfe812}.brand-panel{background:linear-gradient(#0000 65%,#0a0f18e6),#090e16;border-right:1px solid #202b3e;flex-direction:column;justify-content:center;min-width:0;display:flex}.brand-logo{width:100%;height:auto;display:block}.brand-copy{padding:0 clamp(2rem,5vw,4.5rem) 3.5rem}.eyebrow,.step-label{color:#67e8f9;letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:750}.brand-copy h1{max-width:28rem;margin:.65rem 0 1rem;font-size:clamp(2.2rem,4.5vw,4rem);line-height:1.02}.brand-copy p,.form-heading p,.success-state p{color:#aeb9cb;line-height:1.65}.form-panel{flex-direction:column;justify-content:center;min-width:0;padding:clamp(2rem,5vw,4.5rem);display:flex}.auth-tabs{background:#090f18;border:1px solid #253149;border-radius:.8rem;grid-template-columns:1fr 1fr;margin-bottom:2rem;padding:.25rem;display:grid}.auth-tabs button{color:#7f8ca2;background:0 0;border:0;border-radius:.6rem;padding:.7rem;font-size:.88rem;font-weight:700}.auth-tabs button.active{color:#dffaff;background:#17233a;box-shadow:0 .3rem 1rem #0003}.form-heading{margin-bottom:2rem}.form-heading h2,.success-state h2{margin:.6rem 0 .65rem;font-size:clamp(1.8rem,3vw,2.5rem)}.form-heading p,.success-state p{margin:0}.form-heading strong,.success-state strong{color:#e8edf7;overflow-wrap:anywhere}form{gap:1.25rem;display:grid}label{color:#d9e1ee;gap:.55rem;font-size:.92rem;font-weight:650;display:grid}input,select{color:#f5f8ff;background:#0a1019;border:1px solid #2b3850;border-radius:.8rem;outline:none;width:100%;padding:.95rem 1rem;transition:border-color .16s,box-shadow .16s}input::placeholder{color:#5f6c82}input:focus,select:focus{border-color:#22cce9;box-shadow:0 0 0 3px #22cce921}.code-input{letter-spacing:.34em;text-align:center;font-size:1.65rem;font-weight:750}form>button{color:#fff;background:linear-gradient(105deg,#2637d9,#09cce8);border:0;border-radius:.85rem;min-height:3.2rem;margin-top:.35rem;font-weight:750;box-shadow:0 .8rem 2.2rem #0db9de2b}.primary-action{color:#fff;background:linear-gradient(105deg,#2637d9,#09cce8);border:0;border-radius:.85rem;width:100%;min-height:3.2rem;margin-top:1.5rem;font-weight:750}.secondary-actions{justify-content:space-between;gap:1rem;margin-top:1.35rem;display:flex}.text-button{color:#75ddec;background:0 0;border:0;padding:0;font-size:.86rem}.text-button:hover{color:#b5f5ff}.forgot-link{color:#75ddec;background:0 0;border:0;margin:1.25rem auto 0;font-size:.86rem;display:block}.forgot-link:hover{color:#b5f5ff}.message-area{min-height:4.5rem;padding-top:1rem}.message{border-radius:.7rem;margin:0;padding:.75rem .9rem;font-size:.86rem;line-height:1.45}.message.error{color:#fca5a5;background:#7f1d1d2e;border:1px solid #f8717140}.message.notice{color:#a5f3fc;background:#0891b21f;border:1px solid #22d3ee33}.success-state{text-align:center}.success-icon{color:#67e8f9;background:#0891b224;border:1px solid #22d3ee59;border-radius:50%;place-items:center;width:4.5rem;height:4.5rem;margin:0 auto 1.5rem;font-size:2rem;display:grid}.session-loader{color:#8e9bb0;justify-items:center;gap:1rem;width:min(30rem,90vw);display:grid}.session-loader img{border-radius:1rem;width:100%}.dashboard-card{background:#0d131e;border:1px solid #222e42;border-radius:1.75rem;width:min(68rem,100%);overflow:hidden;box-shadow:0 2rem 6rem #00000073,0 0 5rem #08bfe812}.dashboard-header{border-bottom:1px solid #202b3e;justify-content:space-between;align-items:center;min-height:6rem;padding:.5rem clamp(1.5rem,5vw,3.5rem);display:flex}.dashboard-header img{width:min(15rem,55vw)}.dashboard-content{padding:clamp(2rem,6vw,5rem)}.dashboard-content h1{margin:.6rem 0 .4rem;font-size:clamp(2.3rem,5vw,4.5rem)}.dashboard-email{color:#aeb9cb;overflow-wrap:anywhere;margin:0 0 2.5rem}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.status-card{background:#0a1019;border:1px solid #283650;border-radius:1rem;align-content:space-between;min-height:8rem;padding:1.25rem;display:grid}.status-card span{color:#78869c;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.status-card strong{color:#dce7f6;line-height:1.4}.status-dot{background:#2dd4bf;border-radius:50%;width:.55rem;height:.55rem;margin-right:.4rem;display:inline-block;box-shadow:0 0 .8rem #2dd4bf}.muted-card{border-style:dashed}.subscription-line{color:#8e9bb0;justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.86rem;display:flex}.devices-section{margin-top:3.5rem}.section-heading{justify-content:space-between;align-items:end;gap:2rem;display:flex}.section-heading h2{margin:.5rem 0 0;font-size:clamp(1.6rem,3vw,2.25rem)}.device-form{grid-template-columns:1fr auto;gap:.7rem;width:min(27rem,100%);display:flex}.device-form button,.dialog-actions>button:first-child{color:#fff;background:linear-gradient(105deg,#2637d9,#09cce8);border:0;border-radius:.8rem;min-height:3rem;padding:0 1.25rem;font-weight:750}.device-list{gap:.75rem;margin-top:1.25rem;display:grid}.device-row{background:#0a1019;border:1px solid #283650;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;min-height:5.5rem;padding:1rem 1.25rem;display:flex}.device-row>div:first-child{gap:.35rem;display:grid}.device-row span,.empty-state{color:#78869c;font-size:.86rem}.empty-state{text-align:center;border:1px dashed #283650;border-radius:1rem;margin-top:1.25rem;padding:1.5rem}.device-actions,.dialog-actions{align-items:center;gap:1rem;display:flex}.admin-section{border-top:1px solid #202b3e;margin-top:4rem;padding-top:3rem}.node-refresh-note{color:#78869c;font-size:.82rem}.node-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.25rem;display:grid}.node-card{background:#0a1019;border:1px solid #283650;border-left:3px solid #64748b;border-radius:1rem;padding:1.2rem}.node-card.node-online{border-left-color:#2dd4bf}.node-card.node-degraded{border-left-color:#f59e0b}.node-card.node-offline,.node-card.node-disabled{border-left-color:#f87171}.node-card-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.node-card-heading>div{gap:.3rem;min-width:0;display:grid}.node-card-heading strong{color:#dce7f6}.node-card-heading>div span,.node-refresh-note,.service-unknown{color:#78869c}.node-card-heading>div span{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.node-state,.node-service-list span{align-items:center;gap:.45rem;display:inline-flex}.node-state{color:#aebbd0;flex:none;font-size:.78rem}.node-state i,.node-service-list i{background:#64748b;border-radius:50%;width:.5rem;height:.5rem}.node-online .node-state i,.service-ok i{background:#2dd4bf;box-shadow:0 0 .6rem #2dd4bf99}.node-degraded .node-state i{background:#f59e0b}.node-offline .node-state i,.node-disabled .node-state i,.service-failed i{background:#f87171}.node-service-list{flex-wrap:wrap;gap:.55rem;margin:1rem 0;display:flex}.node-service-list span{color:#aebbd0;border:1px solid #283650;border-radius:999px;padding:.35rem .6rem;font-size:.75rem}.node-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.node-details div{min-width:0}.node-details dt{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}.node-details dd{color:#cbd5e1;text-overflow:ellipsis;white-space:nowrap;margin:.25rem 0 0;font-size:.78rem;overflow:hidden}.node-error{color:#fca5a5;background:#7f1d1d3d;border-radius:.6rem;margin:.9rem 0 0;padding:.65rem;font-size:.76rem}.admin-controls{grid-template-columns:minmax(12rem,1fr) 6rem auto;align-items:center;gap:.6rem;display:grid}.admin-user-list{gap:.75rem;margin-top:1.25rem;display:grid}.admin-user-row{background:#0a1019;border:1px solid #283650;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.admin-user-row>div:first-child{gap:.35rem;display:grid}.admin-user-row span{color:#78869c;font-size:.86rem}.admin-grant-button{color:#a5f3fc;background:#0891b224;border:1px solid #22d3ee47;border-radius:.65rem;padding:.55rem .8rem}.danger-button{color:#fca5a5;background:#7f1d1d26;border:1px solid #f871714d;border-radius:.65rem;padding:.55rem .75rem}.credential-backdrop{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#03060bd1;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.credential-dialog{background:#0d131e;border:1px solid #2b3c5c;border-radius:1.25rem;width:min(36rem,100%);padding:2rem;box-shadow:0 2rem 6rem #0009}.credential-dialog h2{margin:.6rem 0}.credential-dialog p{color:#aeb9cb;line-height:1.55}.credential-dialog code{overflow-wrap:anywhere;color:#a5f3fc;-webkit-user-select:all;user-select:all;background:#070b12;border:1px solid #283650;border-radius:.8rem;padding:1rem;display:block}.dialog-actions{justify-content:space-between;margin-top:1.5rem}@media (width<=820px){.auth-card{grid-template-columns:1fr;min-height:0}.brand-panel{border-bottom:1px solid #202b3e;border-right:0}.brand-logo{width:100%}.brand-copy{display:none}.status-grid,.node-grid{grid-template-columns:1fr}.section-heading,.device-row,.admin-user-row{flex-direction:column;align-items:stretch}.device-form{width:100%}}@media (width<=480px){.shell{padding:0}.auth-card{border:0;border-radius:0;min-height:100vh}.brand-logo{width:120%;max-width:none;margin-left:-10%}.form-panel{padding:2rem 1.4rem}.secondary-actions{flex-direction:column;align-items:flex-start}.dashboard-card{border:0;border-radius:0;min-height:100vh}.dashboard-content{padding:2rem 1.25rem}.subscription-line,.device-form,.device-actions,.dialog-actions,.admin-controls{flex-direction:column;align-items:stretch}}
