*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f4f6f8;color:#18202a}.admin-body{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;padding:24px 18px;background:#0e1520;color:#eaf0f6;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#6d5dfc;font-weight:900}.brand small{display:block;margin-top:3px;color:#8190a2;font-size:11px}.sidebar nav{display:grid;gap:3px}.sidebar a,.linkbtn{display:block;border:0;background:none;color:#aeb9c6;text-decoration:none;padding:10px 12px;border-radius:9px;font:inherit;text-align:left;cursor:pointer}.sidebar a:hover,.linkbtn:hover{background:#182331;color:#fff}.sidebar-foot{margin-top:auto}.admin-main{margin-left:250px;padding:38px;max-width:1450px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.page-head h1{font-size:38px;letter-spacing:-.035em;margin:4px 0 7px}.page-head p{margin:0;color:#687483;max-width:700px}.kicker{font-size:11px!important;font-weight:900;letter-spacing:.16em;color:#6d5dfc!important}.btn{display:inline-block;border:0;border-radius:10px;background:#6657ec;color:#fff;padding:12px 17px;text-decoration:none;font-weight:800;cursor:pointer}.card,.status-card,.metric{background:#fff;border:1px solid #e1e6eb;border-radius:16px;box-shadow:0 6px 20px rgba(24,32,42,.035)}.card{padding:24px}.status-card{display:flex;justify-content:space-between;align-items:center;padding:22px 25px;margin-bottom:18px}.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#35ba7c;margin-right:8px}.status-card p{margin:5px 0 0;color:#687483}.launch-date{text-align:right;display:grid;gap:3px}.launch-date small,.launch-date span{color:#7b8794}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metric{padding:20px}.metric span{display:block;color:#7b8794;font-size:12px}.metric strong{display:block;margin-top:8px;font-size:27px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.text-link{font-weight:800;color:#6657ec;text-decoration:none}.form{display:grid;gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form label{display:grid;gap:7px;font-size:13px;font-weight:750}.form small{font-weight:500;color:#7b8794}.form input,.form select,.form textarea{width:100%;border:1px solid #d8dee5;background:#fff;border-radius:9px;padding:11px 12px;font:inherit;color:#18202a}.form textarea{min-height:120px;resize:vertical}.checks{display:flex;gap:20px}.checks label,.check{display:flex!important;align-items:center;gap:8px!important}.checks input,.check input{width:auto}.timeline-item{padding:14px 0;border-bottom:1px solid #e8edf1}.timeline-item span{display:block;margin-top:4px;color:#7b8794;font-size:12px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px;border-bottom:1px solid #edf0f2;font-size:13px}.muted{color:#7b8794}.health>div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0f2}.ok{color:#229b67}.bad{color:#ca3d4b}.warn{color:#c78213}.code{padding:12px;border-radius:8px;background:#f4f6f8;font-family:ui-monospace,monospace;word-break:break-all}.flash{padding:12px 15px;border-radius:10px;margin-bottom:18px;background:#e8f7ef}.flash.error{background:#feecec}.install-card{width:min(900px,calc(100% - 30px));margin:50px auto;background:#fff;padding:34px;border-radius:18px;border:1px solid #e0e5e9}.req{padding:0;list-style:none}.req li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #eee}@media(max-width:900px){.sidebar{position:static;width:100%}.admin-main{margin:0;padding:24px}.metrics,.grid-2,.form-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr 1fr}.sidebar-foot{margin-top:20px}}
.center-page{min-height:100vh;display:grid;place-items:center;padding:30px;background:#eef1f4}.auth-card{width:min(430px,100%);background:#fff;border:1px solid #e0e5e9;border-radius:18px;padding:32px;box-shadow:0 18px 55px rgba(20,30,40,.08)}.auth-brand{margin-bottom:24px}.stack{display:grid;gap:15px}.stack label{display:grid;gap:7px;font-weight:700;font-size:13px}.stack input{border:1px solid #d8dee5;border-radius:9px;padding:12px;font:inherit}.subtle{color:#74808d;margin-top:-8px;margin-bottom:24px}.primary{width:100%}


/* DoorFall Launch v1.0 installer polish */
.center-page{
  align-items:flex-start;
  padding:40px 20px;
  background:
    radial-gradient(circle at 15% 5%,rgba(111,92,255,.10),transparent 28%),
    radial-gradient(circle at 90% 8%,rgba(232,91,189,.08),transparent 24%),
    #f5f7fb;
}

.center-page > .install-card{
  width:min(920px,100%);
  max-width:none;
  margin:0 auto;
  padding:24px;
  border:1px solid #e3e7ef;
  border-radius:22px;
  box-shadow:0 24px 60px rgba(24,32,52,.10);
  background:#fff;
}

.center-page > .install-card > .install-card{
  width:100%;
  max-width:none;
  margin:16px 0 0;
  padding:0;
  border:0;
  box-shadow:none;
  background:transparent;
}

.installer-form{
  display:grid;
  gap:20px;
  margin-top:22px;
}

.install-section{
  padding:20px;
  border:1px solid #e6e9f0;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfcff);
  box-shadow:0 9px 24px rgba(31,42,75,.045);
}

.install-section-head{
  margin-bottom:16px;
  padding-bottom:12px;
  border-bottom:1px solid #eceff5;
}

.install-section-head h2{
  margin:0 0 4px;
  font-size:18px;
}

.install-section-head p{
  margin:0;
  color:#6e788b;
  font-size:13px;
  line-height:1.5;
}

.installer-form .form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.installer-form .form-grid .span-2{
  grid-column:1 / -1;
}

.installer-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:#2d374a;
  font-size:13px;
  font-weight:750;
}

.installer-form input,
.installer-form select{
  appearance:none;
  -webkit-appearance:none;
  box-sizing:border-box;
  width:100%;
  min-height:52px;
  margin:0;
  padding:0 15px;
  border:1px solid #d9deea;
  border-radius:12px;
  background:#f7f9fc;
  color:#172033;
  font:inherit;
  font-size:14px;
  font-weight:550;
  box-shadow:
    inset 0 1px 2px rgba(22,31,50,.025),
    0 1px 0 rgba(255,255,255,.85);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.installer-form input:hover,
.installer-form select:hover{
  border-color:#c2c9d8;
  background:#fff;
}

.installer-form input:focus,
.installer-form select:focus{
  outline:none;
  border-color:#6f5cff;
  background:#fff;
  box-shadow:
    0 0 0 4px rgba(111,92,255,.11),
    0 8px 20px rgba(62,50,150,.06);
}

.installer-form input::placeholder{
  color:#9da6b7;
  font-weight:500;
}

.installer-form select{
  cursor:pointer;
  padding-right:42px;
  background-image:
    linear-gradient(45deg,transparent 50%,#7d879a 50%),
    linear-gradient(135deg,#7d879a 50%,transparent 50%);
  background-position:
    calc(100% - 19px) 23px,
    calc(100% - 14px) 23px;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}

.field-help{
  display:block;
  margin:-1px 0 1px;
  color:#7b8496;
  font-size:12px;
  font-weight:500;
  line-height:1.4;
}

.installer-form .license-key-install{
  min-height:56px;
  border:2px solid #d5ceff;
  background:linear-gradient(180deg,#fbfaff,#f5f3ff);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:15px;
  font-weight:750;
  letter-spacing:.055em;
}

.installer-form .license-key-install:focus{
  border-color:#6f5cff;
  background:#fff;
}

.install-submit{
  display:flex;
  justify-content:flex-end;
}

.install-submit .btn{
  min-width:230px;
  min-height:50px;
  border:0;
  border-radius:12px;
  font-weight:800;
  box-shadow:0 10px 24px rgba(90,73,210,.20);
}

@media(max-width:700px){
  .center-page{
    padding:20px 12px;
  }
  .center-page > .install-card{
    padding:18px;
    border-radius:17px;
  }
  .installer-form .form-grid{
    grid-template-columns:1fr;
  }
  .installer-form .form-grid .span-2{
    grid-column:auto;
  }
  .install-section{
    padding:16px;
  }
  .install-submit .btn{
    width:100%;
  }
}


/* DoorFall Launch public demo */
.demo-login-box,
.demo-install-note{
  display:grid;
  gap:6px;
  margin:16px 0 20px;
  padding:14px 16px;
  border:1px solid #d8d2ff;
  border-radius:12px;
  background:linear-gradient(135deg,#f5f2ff,#fff);
  color:#293149;
}
.demo-login-box strong,
.demo-install-note strong{font-size:14px}
.demo-login-box span,
.demo-install-note span{font-size:13px;color:#606a7e}
.demo-login-box span b{display:inline-block;min-width:72px;color:#30394b}
.demo-public-note{
  position:fixed;
  left:50%;
  top:14px;
  z-index:9999;
  transform:translateX(-50%);
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:rgba(10,14,30,.72);
  backdrop-filter:blur(12px);
  color:#fff;
  font-size:12px;
  font-weight:750;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
