:root{
  --bg:#090b10;--panel:#11151d;--panel2:#151a24;--line:rgba(255,255,255,.09);
  --line2:rgba(255,255,255,.16);--text:#f4f7fb;--muted:#8c97a9;
  --blue:#7588ff;--violet:#ae76ff;--green:#61e6a7;--red:#ff7e85;
}
*{box-sizing:border-box}
html{color-scheme:dark;background:var(--bg)}
body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:
radial-gradient(circle at 10% 0,rgba(117,136,255,.12),transparent 28%),
radial-gradient(circle at 100% 35%,rgba(174,118,255,.10),transparent 30%),
#090b10}
.ambient{position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:50px 50px}
.owner-shell{position:relative;z-index:1;width:min(1250px,calc(100% - 34px));margin:auto;padding:26px 0 42px}
.owner-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 2px 24px;border-bottom:1px solid var(--line)}
.back,.logout{color:#b8c0cf;text-decoration:none;font-size:12px}.logout{text-align:right}.back:hover,.logout:hover{color:#fff}
.owner-brand{text-align:center}.owner-brand strong{display:block;font-size:13px;letter-spacing:.16em}.owner-brand span{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.notice{margin-top:18px;padding:12px 15px;border-radius:12px;font-size:12px;border:1px solid var(--line)}
.notice.error{color:#ffd1d4;background:rgba(255,126,133,.08);border-color:rgba(255,126,133,.18)}
.notice.success{color:#bff7dc;background:rgba(97,230,167,.07);border-color:rgba(97,230,167,.16)}
.auth-card{width:min(520px,100%);margin:80px auto 0;padding:34px;border:1px solid var(--line);border-radius:25px;background:rgba(17,21,29,.82);box-shadow:0 26px 70px rgba(0,0,0,.32)}
.auth-kicker,.kicker{color:#aeb8ff;font-size:9px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.auth-card h1{margin:9px 0 8px;font-size:34px;letter-spacing:-.045em}.auth-card p{margin:0 0 28px;color:var(--muted);font-size:12px;line-height:1.6}
form{margin:0}label{display:block;color:#aab3c2;font-size:11px;font-weight:650}
input,select{
  width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;
  background:#0c1017;color:var(--text);outline:none;font:inherit;font-size:13px
}
input:focus,select:focus{border-color:rgba(117,136,255,.52);box-shadow:0 0 0 3px rgba(117,136,255,.08)}
.auth-card label+label{margin-top:16px}
button,.primary{
  border:0;border-radius:12px;padding:12px 15px;font:700 12px/1 inherit;cursor:pointer;
  background:linear-gradient(135deg,#7386ff,#9d70ff);color:#fff
}
.auth-card button{width:100%;margin-top:22px;padding:14px}
.owner-hero{min-height:230px;display:flex;align-items:end;justify-content:space-between;padding:44px 8px 28px}
.owner-hero h1{margin:10px 0 8px;font-size:52px;letter-spacing:-.06em}.owner-hero p{margin:0;color:var(--muted);font-size:13px}
.owner-stat{text-align:right}.owner-stat strong{display:block;font-size:42px;letter-spacing:-.05em}.owner-stat span{color:var(--muted);font-size:11px}
.owner-layout{display:grid;grid-template-columns:minmax(330px,.75fr) minmax(500px,1.25fr);gap:16px}
.panel{border:1px solid var(--line);border-radius:22px;background:rgba(16,20,28,.82);box-shadow:0 20px 50px rgba(0,0,0,.20);overflow:hidden}
.panel-head{display:flex;align-items:end;justify-content:space-between;padding:20px 21px;border-bottom:1px solid var(--line)}
.panel-head h2{margin:6px 0 0;font-size:18px;letter-spacing:-.03em}.cancel{font-size:11px;color:#bdc5d4;text-decoration:none}
.editor form{padding:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.span-2{grid-column:1/-1}
.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}.check span{font-size:11px}
.custom-logo[hidden]{display:none}.primary{margin-top:18px;width:100%;padding:14px}
.owner-links{padding:8px}
.owner-link{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;padding:12px;border-radius:15px}
.owner-link+.owner-link{border-top:1px solid var(--line)}
.owner-link:hover{background:rgba(255,255,255,.025)}
.owner-link-logo{width:46px;height:46px;padding:8px;border-radius:13px;border:1px solid var(--line);display:grid;place-items:center;background:rgba(255,255,255,.035);font-weight:800}
.owner-link-logo img{width:100%;height:100%;object-fit:contain}
.owner-link-copy{min-width:0}.owner-link-copy strong{display:block;font-size:13px}.owner-link-copy>span{display:block;margin-top:4px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tags{display:flex;gap:5px;margin-top:7px}.tags em{font-style:normal;font-size:8px;text-transform:uppercase;letter-spacing:.08em;padding:4px 6px;border-radius:999px}
.tag-public{color:#9ef0c7;background:rgba(97,230,167,.08)}.tag-private{color:#d8c4ff;background:rgba(174,118,255,.09)}.tag-off{color:#ffb0b5;background:rgba(255,126,133,.08)}
.owner-link-actions{display:flex;align-items:center;gap:5px}.owner-link-actions a{color:#bcc4d2;text-decoration:none;font-size:10px;margin-right:4px}
.owner-link-actions form{display:inline}.owner-link-actions button{padding:8px 9px;background:#181e29;border:1px solid var(--line);color:#c9d0dd}.owner-link-actions .danger{color:#ffb8bd}
.owner-empty{padding:35px;text-align:center;color:var(--muted);font-size:12px}
.security{margin-top:16px}.password-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;padding:18px 20px}.password-form input{margin:0}.password-form button{white-space:nowrap}
@media(max-width:980px){.owner-layout{grid-template-columns:1fr}.password-form{grid-template-columns:1fr 1fr}.password-form button{grid-column:1/-1}}
@media(max-width:650px){.owner-shell{width:min(100% - 20px,1250px)}.owner-top{grid-template-columns:auto 1fr auto}.owner-brand span{display:none}.owner-hero h1{font-size:38px}.owner-layout{display:block}.list-panel{margin-top:14px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:1}.owner-link{grid-template-columns:40px 1fr}.owner-link-actions{grid-column:1/-1;padding-left:53px}.password-form{grid-template-columns:1fr}}


/* v4: logo fallback + Philips Hue */
.owner-link-logo{position:relative;overflow:hidden}
.owner-link-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:7px}
.owner-link-logo span{display:grid;place-items:center;width:100%;height:100%}
.owner-link-logo img + span{opacity:0}
.owner-link-logo.logo-failed img{display:none}
.owner-link-logo.logo-failed span{opacity:1}

.hue-admin{margin-top:16px}
.hue-connected{color:#9ef0c8;font-size:10px;font-weight:800;letter-spacing:.06em}
.hue-setup{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;padding:22px}
.hue-setup-copy strong{font-size:15px}
.hue-setup-copy p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.6}
.hue-setup-copy ol{margin:15px 0 0;padding-left:18px;color:#bdc5d3;font-size:11px;line-height:1.9}
.hue-setup-copy code{color:#c9d1ff}
.hue-connect-form{align-self:end}.hue-connect-form button{width:100%;margin-top:12px;padding:13px}
.hue-admin-state{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:1px;background:var(--line)}
.hue-admin-state>div,.hue-admin-state>form{background:#10141c;padding:20px}
.hue-admin-state>div span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.12em}
.hue-admin-state>div strong{display:block;margin-top:7px;font-size:18px}
.hue-admin-state>form{display:flex;align-items:center}
.danger-outline{border:1px solid rgba(255,126,133,.18)!important;background:rgba(255,126,133,.05)!important;color:#ffb8bd!important}
.hue-admin-warning{padding:13px 18px;border-top:1px solid rgba(255,126,133,.14);background:rgba(255,126,133,.05);color:#ffbdc2;font-size:11px}
@media(max-width:800px){
  .hue-setup{grid-template-columns:1fr}
  .hue-admin-state{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .hue-admin-state{grid-template-columns:1fr}
}

.field-help{font-weight:400;color:var(--muted);font-size:9px;margin-left:5px}
.smart-home-admin{margin-top:16px}
.smart-home-open{color:#bec7ff;text-decoration:none;font-size:10px}
.smart-home-admin-body{display:grid;grid-template-columns:180px 180px 1fr;gap:1px;background:var(--line)}
.smart-home-admin-body>div,.smart-home-admin-body>p{margin:0;background:#10141c;padding:18px}
.smart-home-admin-body span{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.11em}
.smart-home-admin-body strong{display:block;margin-top:5px;font-size:14px}
.smart-home-admin-body p{color:var(--muted);font-size:10px;line-height:1.6}
@media(max-width:720px){.smart-home-admin-body{grid-template-columns:1fr 1fr}.smart-home-admin-body p{grid-column:1/-1}}
