:root{
  --bg:#0b1220;
  --panel:#0f172a;
  --panel2:rgba(255,255,255,.03);
  --text:#e2e8f0;
  --muted:#aab3c7;
  --stroke:rgba(255,255,255,.12);
  --accent:#f97316;
  --danger:#ef4444;
  --radius:18px;
  --shadow:0 18px 40px rgba(0,0,0,.35);
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

*{box-sizing:border-box}
html,body{scrollbar-gutter:stable;height:100%}
body{scrollbar-gutter:stable;margin:0;color:var(--text);background:radial-gradient(1200px 600px at 20% 0%, rgba(249,115,22,.18), transparent 55%), radial-gradient(900px 500px at 85% 10%, rgba(34,197,94,.14), transparent 55%), var(--bg)}
a{color:inherit;text-decoration:none}

.shell{max-width:1160px;margin:0 auto;padding:20px 16px 72px}
.topbar{position:sticky;top:0;z-index:20;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-20px -16px 18px;padding:18px 16px;border-bottom:1px solid var(--stroke);background:rgba(11,18,32,.72)}
.brand{display:flex;align-items:center;gap:10px}
.brand__logo{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg, rgba(249,115,22,.35), rgba(34,197,94,.25));border:1px solid var(--stroke);box-shadow:var(--shadow)}
.brand__title{font-weight:900;letter-spacing:.2px}
.topbar__actions{display:flex;gap:10px;align-items:center}

.panel{background:rgba(255,255,255,.03);border:1px solid var(--stroke);border-radius:var(--radius);box-shadow:var(--shadow)}
.panel__hd{padding:14px 16px;border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;gap:10px}
.panel__bd{padding:16px}

.tabs{position:sticky;top:74px;z-index:10;display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid var(--stroke);border-radius:var(--radius);background:rgba(255,255,255,.02);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);margin-bottom:14px}
.tab{padding:9px 11px;border-radius:12px;border:1px solid var(--stroke);background:rgba(255,255,255,.02);cursor:pointer;color:var(--text);font-weight:800;font-size:13px;transition:transform .12s ease, background .12s ease, border-color .12s ease}
.tab:hover{transform:translateY(-1px)}
.tab.active,.tab.is-active{border-color:rgba(249,115,22,.6);background:rgba(249,115,22,.10)}

.grid{display:grid;gap:14px}
@media (min-width:900px){.grid{grid-template-columns:1.2fr .8fr}}

label{display:block;font-size:12px;color:var(--muted);margin:0 0 6px}
input,textarea,select{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--stroke);background:rgba(0,0,0,.18);color:var(--text);outline:none}
textarea{min-height:110px;resize:vertical}

.row{display:grid;gap:10px}
@media (min-width:700px){.row{grid-template-columns:repeat(2,minmax(0,1fr))}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid var(--stroke);background:rgba(255,255,255,.03);color:var(--text);cursor:pointer;font-weight:900;transition:transform .12s ease, background .12s ease, border-color .12s ease}
.btn:hover{transform:translateY(-1px)}
.btn.primary,.btn.btn-primary{background:linear-gradient(135deg, rgba(249,115,22,.35), rgba(249,115,22,.12));border-color:rgba(249,115,22,.6)}
.btn.danger,.btn.btn-danger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.6)}
.btn.btn-ghost{background:rgba(255,255,255,.015)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn.is-saved{border-color:rgba(34,197,94,.65);background:rgba(34,197,94,.10)}

table{width:100%;border-collapse:separate;border-spacing:0}
th,td{padding:10px 10px;border-bottom:1px solid var(--stroke);vertical-align:top}
th{font-size:12px;color:var(--muted);text-align:left}

.muted{color:var(--muted)}

.toast{position:fixed;right:16px;bottom:16px;z-index:50;display:none;padding:12px 14px;border-radius:14px;border:1px solid rgba(34,197,94,.6);background:rgba(15,23,42,.92);box-shadow:var(--shadow);max-width:420px;font-weight:800}

.login{max-width:520px;margin:0 auto;padding:60px 16px}
.login .panel{padding:18px}
.login h1{margin:0 0 8px}
.login p{margin:0 0 14px;color:var(--muted)}
