:root{--bg:#07070a;--surf:rgba(255,255,255,.045);--line:rgba(255,255,255,.1);--txt:#e9e8ee;--mut:#9997a6;--o:#ff7a2f;--ok:#31d07a}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--txt);font-family:Inter,system-ui,sans-serif;margin:0;line-height:1.6}
h1,h2,h3,.d{font-family:Sora,sans-serif;letter-spacing:-.01em;margin:0}
a{color:var(--o);text-decoration:none}
.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.4}
.b1{width:520px;height:520px;background:#ff6a1f;top:-220px;left:-160px;animation:f1 18s ease-in-out infinite}
.b2{width:470px;height:470px;background:#7c5cff;bottom:-200px;right:-150px;animation:f2 22s ease-in-out infinite}
@keyframes f1{0%,100%{transform:translate(0,0)}50%{transform:translate(80px,60px) scale(1.12)}}
@keyframes f2{0%,100%{transform:translate(0,0)}50%{transform:translate(-70px,-50px) scale(1.1)}}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px;position:relative;z-index:10}
nav.top{position:sticky;top:0;z-index:50;background:rgba(7,7,10,.8);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
nav.top .wrap{display:flex;align-items:center;gap:12px;height:68px}
nav.top img.logo{width:38px;height:38px}
.brand{font-family:Sora;font-weight:800;letter-spacing:.07em;font-size:18px;color:#fff}
.sp{flex:1}
.nl{color:var(--mut);font-size:14px;font-weight:500;margin-left:22px}
.nl:hover,.nl.active{color:var(--o)}
.avatar{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);object-fit:cover}
.btn{background:linear-gradient(135deg,var(--o),#ff9a52);color:#180c04;border:0;border-radius:10px;padding:10px 18px;font-family:Sora;font-weight:700;font-size:14px;cursor:pointer;display:inline-block}
.btn:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--txt)}
.btn.ghost:hover{border-color:var(--o);color:var(--o)}
.btn.sm{padding:7px 13px;font-size:13px}
.card{background:var(--surf);border:1px solid var(--line);border-radius:16px;padding:22px;backdrop-filter:blur(10px)}
.grid{display:grid;gap:16px}
.g3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.lbl{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:6px}
.big{font-family:Sora;font-weight:800;font-size:26px;color:#fff}
.pill{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}
.p-on{background:rgba(49,208,122,.14);color:#5ee39c}
.p-off{background:rgba(255,255,255,.07);color:var(--mut)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(49,208,122,.55)}70%{box-shadow:0 0 0 10px rgba(49,208,122,0)}100%{box-shadow:0 0 0 0 rgba(49,208,122,0)}}
.mono{font-family:ui-monospace,Consolas,monospace;font-size:14px;color:#fff;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:8px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.empty{color:var(--mut);font-size:14px;text-align:center;padding:26px 10px}
.srow{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.srow:last-child{border-bottom:0}
.sq{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-family:Sora;font-weight:800;font-size:13px}

/* ---- Breeze/Tailwind partials re-skinned for the Warsect theme ---- */
section > header > h2, .max-w-xl h2 { font-family:Sora,sans-serif; color:#fff !important; }
section > header > p, .max-w-xl p { color:var(--mut) !important; }
label, .block.font-medium { color:#cfcdd8 !important; font-weight:500 !important; }
input[type=text],input[type=email],input[type=password],input[type=tel],textarea,select{
  background:rgba(255,255,255,.06) !important; border:1px solid var(--line) !important;
  color:#fff !important; border-radius:10px !important; box-shadow:none !important; padding:9px 12px !important;
}
input::placeholder,textarea::placeholder{color:#7d7b88 !important}
input:focus,textarea:focus,select:focus{
  border-color:var(--o) !important; box-shadow:0 0 0 2px rgba(255,122,47,.28) !important; --tw-ring-color:transparent !important;
}
button[type=submit],.bg-gray-800,.bg-gray-900{
  background:linear-gradient(135deg,var(--o),#ff9a52) !important; color:#180c04 !important;
  border:0 !important; border-radius:10px !important; font-weight:700 !important; padding:9px 18px !important;
}
button[type=submit]:hover{filter:brightness(1.07)}
.bg-red-600,.bg-red-500{background:#c0392b !important;color:#fff !important;border-radius:10px !important}
.bg-white{background:transparent !important}
.text-gray-500,.text-gray-600,.text-gray-700,.text-gray-800,.text-gray-900{color:var(--mut) !important}
.shadow,.shadow-sm,.sm\:rounded-lg{box-shadow:none !important}
.border-gray-300{border-color:var(--line) !important}
/* each Breeze section gets the glass card treatment */
main .max-w-7xl > .space-y-6 > div, main section{ }
main .bg-white.p-4, main .p-4.sm\:p-8{
  background:var(--surf) !important; border:1px solid var(--line); border-radius:16px; backdrop-filter:blur(10px);
}

/* ---------- tabs ---------- */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{background:none;border:0;color:var(--mut);font-family:Sora,sans-serif;font-weight:600;font-size:14px;padding:13px 18px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:.2s}
.tab:hover{color:var(--txt)}
.tab.active{color:var(--o);border-bottom-color:var(--o)}
.tabpane{display:none}
.tabpane.active{display:block;animation:fadeup .28s cubic-bezier(.2,.7,.2,1)}
@keyframes fadeup{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- user menu ---------- */
.umenu{position:relative;margin-left:18px}
.utrigger{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:999px;padding:4px 13px 4px 4px;cursor:pointer;color:var(--txt);font-size:14px;font-weight:500;font-family:Inter,sans-serif}
.utrigger:hover{border-color:var(--o)}
.utrigger .caret{font-size:10px;color:var(--mut)}
.udrop{position:absolute;right:0;top:calc(100% + 10px);min-width:225px;background:#111015;border:1px solid var(--line);border-radius:14px;padding:7px;box-shadow:0 22px 54px rgba(0,0,0,.62);display:none;z-index:90}
.udrop.open{display:block;animation:fadeup .18s ease}
.udrop a,.udrop button{display:block;width:100%;text-align:left;background:none;border:0;color:var(--txt);font-size:14px;padding:10px 12px;border-radius:9px;cursor:pointer;font-family:Inter,sans-serif;text-decoration:none}
.udrop a:hover,.udrop button:hover{background:rgba(255,255,255,.07);color:var(--o)}
.udrop .sep{height:1px;background:var(--line);margin:6px 5px}
.udrop .uhead{padding:10px 12px 4px}
.uname{font-weight:600;font-size:14px;color:#fff}
.uemail{color:var(--mut);font-size:12px;word-break:break-all}
@media(max-width:640px){nav.top .nl{display:none}.utrigger span.nm{display:none}}

/* any text-ish input, even without a type attribute */
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=submit]):not([type=button]),
textarea, select {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid var(--line) !important;
  color: #ffffff !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  padding: 10px 12px !important;
  -webkit-text-fill-color: #ffffff !important;   /* Safari/autofill */
}
input::placeholder, textarea::placeholder { color:#7d7b88 !important; opacity:1 }
input:-webkit-autofill {
  -webkit-text-fill-color:#fff !important;
  -webkit-box-shadow: 0 0 0 1000px #1a1a1f inset !important;
}
.otp-input{
  width:190px !important; letter-spacing:10px !important; text-align:center !important;
  font-size:24px !important; font-weight:600 !important; font-family:Consolas,ui-monospace,monospace !important;
  padding:12px 10px !important;
}
