*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#08090b;color:#f5f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{min-height:100vh;background:radial-gradient(circle at 50% -10%,#242017 0,#0d0e11 32%,#08090b 65%)}.shell{width:min(920px,calc(100% - 32px));margin:auto;padding:clamp(40px,8vh,88px) 0 30px}.brand{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:38px}.mark{width:58px;height:58px;border:1px solid #8d7440;border-radius:16px;display:grid;place-items:center;font-weight:900;font-size:30px;background:linear-gradient(145deg,#e2c783,#6e572a);color:#090a0c;box-shadow:0 0 35px #a47d2c22}.brand h1{font-size:27px;letter-spacing:.12em;margin:0}.brand h1 span{color:#c8a75d}.brand p{margin:4px 0 0;color:#777b84;font-size:10px;letter-spacing:.18em}.panel{max-width:720px;margin:auto;padding:32px;border:1px solid #25282e;border-radius:24px;background:#111318dd;box-shadow:0 25px 80px #0009;backdrop-filter:blur(18px)}.auth-panel{max-width:470px}.eyebrow{font-size:11px;letter-spacing:.18em;color:#c7a55b;font-weight:800}.panel h2{font-size:29px;margin:8px 0}.muted{color:#8e929b;margin:0 0 28px}form{display:grid;gap:18px}label{display:grid;gap:8px;font-size:12px;color:#a6a9b0;font-weight:700;letter-spacing:.05em}input{width:100%;border:1px solid #30343c;background:#0a0c0f;color:#fff;border-radius:13px;padding:15px 16px;font-size:15px;outline:none}input:focus{border-color:#b9974f;box-shadow:0 0 0 3px #b9974f18}button{border:1px solid #c3a158;background:linear-gradient(180deg,#d2b56f,#9d7c37);color:#090a0c;border-radius:13px;padding:14px 18px;font-weight:900;letter-spacing:.08em;cursor:pointer}button:disabled{opacity:.55;cursor:wait}.error{min-height:20px;color:#ef8d8d;font-size:13px;margin-top:14px}.hidden{display:none}.topline{display:flex;align-items:center;justify-content:space-between;gap:20px}.status{display:inline-flex;align-items:center;gap:8px;border:1px solid #263c31;background:#101b15;padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800;color:#91d4aa}.status i{width:8px;height:8px;border-radius:50%;background:#54d77f;box-shadow:0 0 12px #54d77f}.identity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.identity-grid article{padding:18px;border:1px solid #25282e;border-radius:16px;background:#0c0e12}.identity-grid span{display:block;color:#70757f;font-size:9px;letter-spacing:.14em;margin-bottom:8px}.identity-grid strong{font-size:14px}.actions{display:flex;justify-content:flex-end;margin-top:24px}.secondary{background:#14171c;color:#d6d7da;border-color:#30343c}footer{text-align:center;color:#4f535b;font-size:10px;margin-top:32px}.shake{animation:shake .25s linear 2}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@media(max-width:650px){.shell{width:min(100% - 20px,920px);padding-top:28px}.panel{padding:22px;border-radius:20px}.identity-grid{grid-template-columns:1fr}.topline{align-items:flex-start;flex-direction:column}.brand{justify-content:flex-start;margin-left:8px}.brand h1{font-size:22px}}
/* NODEMMAND official identity — v0.0.2 */
.official-brand{display:flex;justify-content:center;margin-bottom:26px}
.official-brand img{display:block;width:min(390px,78vw);height:auto;filter:drop-shadow(0 14px 34px rgba(181,137,50,.13))}
@media(max-width:650px){.official-brand{justify-content:center;margin-left:0;margin-bottom:20px}.official-brand img{width:min(330px,86vw)}}

/* v0.0.4 — complete official artwork, never cropped */
.official-brand{display:flex;justify-content:center;margin:0 auto 16px}
.official-brand img{display:block;width:220px;height:220px;object-fit:contain;object-position:center;filter:drop-shadow(0 10px 24px rgba(181,137,50,.10))}
@media(max-width:650px){.official-brand{margin-bottom:12px}.official-brand img{width:190px;height:190px}}

/* NODEMMAND v0.0.5 — official transparent PNG */
.official-brand{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 auto 14px;
}
.official-brand img{
  display:block;
  width:min(260px,72vw);
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 12px 28px rgba(181,137,50,.16));
}
@media(max-width:650px){
  .official-brand{margin-bottom:10px}
  .official-brand img{width:min(225px,74vw);height:auto}
}

.app{max-width:1000px;margin:auto}.appbar{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border:1px solid #25282e;background:#101217;border-radius:20px}.appbar strong{display:block;font-size:19px;margin-top:4px}.appbar small{display:block;color:#777d87;margin-top:3px}.appbar-actions{display:flex;gap:10px;align-items:center}.small{padding:9px 12px;font-size:10px}.nav{display:flex;gap:7px;overflow:auto;margin:12px 0 18px;padding:5px;border:1px solid #22262d;border-radius:15px;background:#0d0f13;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{white-space:nowrap;background:transparent;color:#858b95;border:0;padding:10px 14px;font-size:11px}.nav button.active{background:#1a1d23;color:#e9d49c;border:1px solid #393326}.view{display:none;border:1px solid #25282e;border-radius:20px;background:#101217;padding:22px;min-height:330px}.view.active{display:block}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:18px}.sectionhead h2,.placeholder h2{margin:5px 0 0}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:22px 0}.metrics article{border:1px solid #252a31;background:#0b0d10;padding:17px;border-radius:15px}.metrics span{font-size:9px;color:#737985;letter-spacing:.13em}.metrics strong{display:block;font-size:25px;margin-top:8px}.emptybox,.placeholder{color:#858b95}.emptybox{border:1px dashed #2b3038;border-radius:15px;padding:20px}.emptybox b{color:#ddd}.toolbar{margin:18px 0}.toolbar input{max-width:320px}.rows{display:grid;gap:8px}.row{display:grid;grid-template-columns:1.6fr .7fr .7fr .7fr auto;gap:12px;align-items:center;padding:14px 15px;border:1px solid #252a31;background:#0b0d10;border-radius:14px}.row:hover{border-color:#50452f}.row b{font-size:14px}.row span{font-size:11px;color:#858b95}.pill{font-size:9px!important;color:#9cdbb1!important;border:1px solid #294535;padding:5px 8px;border-radius:999px}.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:18px;z-index:99;backdrop-filter:blur(8px)}.modal.hidden{display:none}.modalcard{width:min(440px,100%);position:relative;border:1px solid #30343c;background:#111318;border-radius:22px;padding:28px;box-shadow:0 30px 100px #000}.modalcard h2{margin:6px 0 22px}.x{position:absolute;right:14px;top:12px;background:transparent;border:0;color:#777;font-size:24px;padding:5px}.placeholder p{max-width:600px}.official-brand img{width:min(230px,70vw)!important}
@media(max-width:760px){.appbar{align-items:flex-start;gap:12px}.appbar-actions{flex-direction:column;align-items:flex-end}.metrics{grid-template-columns:repeat(2,1fr)}.row{grid-template-columns:1fr auto}.row .optional{display:none}.sectionhead{align-items:flex-start}.view{padding:17px}.official-brand img{width:min(205px,70vw)!important}}

/* v0.1.1 cache-safe boot */
#loginView:not(.hidden){display:block} #appView:not(.hidden){display:block}

/* v0.2.2 incremental Sites only */
.client-row{cursor:pointer}.client-row:hover{border-color:#5a4a2d}
.site-card{width:min(560px,94vw);max-height:84vh;overflow:auto;scrollbar-width:none}.site-card::-webkit-scrollbar{display:none}
.mini-tabs{display:flex;gap:7px;margin:16px 0}.mini-tabs button{background:#0b0d10;color:#858b95;border:1px solid #292d34;padding:8px 11px;font-size:9px}.mini-tabs button.active{color:#e7cc8b;border-color:#67552f}
.site-summary{display:grid;grid-template-columns:1fr auto 1fr auto;gap:10px;align-items:center;border:1px solid #292d34;background:#0b0d10;padding:13px;border-radius:13px;margin-bottom:16px}.site-summary span{font-size:9px;color:#747a85;letter-spacing:.12em}.site-summary strong{font-size:12px}
.site-list{display:grid;gap:7px;margin-top:14px}.site-item{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid #292d34;background:#0b0d10;padding:12px;border-radius:12px}.site-item span{font-size:10px;color:#858b95}
@media(max-width:600px){.site-summary{grid-template-columns:1fr auto}.site-item{grid-template-columns:1fr auto}.site-item .tz{display:none}}

/* v0.2.3 Enrollment — incremental on v0.2.2 */
.enroll-panel{display:none;margin-top:14px}.enroll-panel.active{display:block}
.enroll-form{display:grid;grid-template-columns:1.35fr .65fr .65fr auto;gap:8px;align-items:end}
.enroll-form label{margin:0}.enroll-form select,.enroll-form input{width:100%}
.enrollment-list{display:grid;gap:7px;margin-top:14px}
.enrollment-item{border:1px solid #292d34;background:#0b0d10;border-radius:12px;padding:12px;display:grid;grid-template-columns:1.45fr .65fr .7fr auto auto;gap:9px;align-items:center}
.enrollment-item .ecode{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#e7cc8b;font-weight:800}
.enrollment-item .estate{font-size:9px;letter-spacing:.08em}
.enrollment-item .meta{font-size:9px;color:#858b95}
.enrollment-item button{padding:8px 9px;font-size:9px}
.enrollment-item .revoke{background:#241315;color:#ef9a9a;border-color:#5a292d}
.generated-code{margin-top:10px;border:1px solid #66542f;background:#15120b;border-radius:12px;padding:12px}
.generated-code b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#e7cc8b}
@media(max-width:700px){.enroll-form{grid-template-columns:1fr}.enrollment-item{grid-template-columns:1fr auto}.enrollment-item .meta.optional{display:none}}

/* v0.2.4 Enrollment premium UX */
.enroll-form{grid-template-columns:minmax(220px,1.7fr) 110px 100px 140px;gap:10px;align-items:end}
.enroll-form label{display:grid;gap:7px;color:#989da7;font-size:10px;font-weight:800;letter-spacing:.04em}
.enroll-form select,.enroll-form input{
 appearance:none;-webkit-appearance:none;
 min-height:48px;border:1px solid #30343b;border-radius:12px;
 background:#0a0c0f;color:#f3f4f6;padding:0 14px;
 font:700 13px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 outline:none;box-shadow:none;transition:border-color .16s,box-shadow .16s,background .16s
}
.enroll-form select{
 padding-right:42px;
 background-image:
 linear-gradient(45deg,transparent 50%,#c7a858 50%),
 linear-gradient(135deg,#c7a858 50%,transparent 50%);
 background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;
 background-size:5px 5px,5px 5px;background-repeat:no-repeat
}
.enroll-form select:hover,.enroll-form input:hover{border-color:#4b4434;background-color:#0d0f12}
.enroll-form select:focus,.enroll-form input:focus{border-color:#b7923f;box-shadow:0 0 0 3px rgba(183,146,63,.11)}
.enroll-form select option{background:#111318;color:#f4f4f5}
#generateEnrollBtn{min-height:48px;border-radius:12px;box-shadow:inset 0 1px rgba(255,255,255,.22),0 7px 18px rgba(0,0,0,.18)}
.enroll-help{margin:10px 0 0;color:#717782;font-size:9px;line-height:1.5}
@media(max-width:700px){.enroll-form{grid-template-columns:1fr 1fr}.enroll-form label:first-child{grid-column:1/-1}#generateEnrollBtn{grid-column:1/-1}}

/* v0.2.4.1 visual-only Enrollment layout polish */
.site-card{width:min(650px,94vw)}
.enroll-form{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(92px,.9fr) minmax(86px,.8fr) minmax(120px,1fr);
  gap:10px;
  width:100%;
  align-items:end;
}
.enroll-form>*{min-width:0}
.enroll-form select,.enroll-form input,#generateEnrollBtn{width:100%;box-sizing:border-box}
#generateEnrollBtn{padding-left:12px;padding-right:12px;white-space:nowrap;overflow:hidden}
.enroll-help{max-width:100%;padding-right:2px}
@media(max-width:620px){
 .site-card{width:min(560px,94vw)}
 .enroll-form{grid-template-columns:1fr 1fr}
 .enroll-form label:first-child{grid-column:1/-1}
 #generateEnrollBtn{grid-column:1/-1}
}
@media(max-width:430px){
 .enroll-form{grid-template-columns:1fr}
 .enroll-form label:first-child,#generateEnrollBtn{grid-column:auto}
}
