
:root{
  --bg:#0b1020; --card:#0d1328; --muted:#9fb2d1; --text:#e8eefc; --line:#223052;
  --primary:#5b8cff; --primary-2:#6ee7f0; --danger:#ef4444; --ok:#22c55e;
  --shadow: 0 10px 30px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.03); --radius:18px;
}
body{
  margin:0;font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, 'Apple Color Emoji','Segoe UI Emoji';
  color:var(--text);
  background: radial-gradient(1200px 800px at 20% 0%, rgba(86,76,240,.18), transparent 60%),
              radial-gradient(1000px 600px at 100% 20%, rgba(73,172,255,.14), transparent 60%),
              linear-gradient(180deg, #0b1020, #0a0f1c 65%);
  min-height:100svh;
}
.container{max-width:1160px;margin:0 auto;padding:24px}
.header{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;margin:18px auto;max-width:1160px;border:1px solid var(--line); border-radius:var(--radius); background:rgba(16,22,44,.6); backdrop-filter: blur(8px); box-shadow:var(--shadow);}
.brand{display:flex;gap:12px;align-items:center}
.brand .logo{width:36px;height:36px;border-radius:50%;background: conic-gradient(from 140deg, var(--primary), var(--primary-2) 40%, #a78bfa 70%, var(--primary)); box-shadow:0 0 0 3px rgba(255,255,255,.06), inset 0 1px 8px rgba(255,255,255,.25);}
.header .actions button{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#0c142a;color:var(--text);cursor:pointer}
.header .actions button:hover{border-color:#355;}
.card{background:linear-gradient(180deg, rgba(19,26,49,.85), rgba(10,14,29,.9));border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:22px;}
.grid{display:grid; gap:18px;}
.grid-2{grid-template-columns:1.2fr 1fr;}
@media (max-width: 900px){ .grid-2{grid-template-columns:1fr;} }
h1,h2,h3{margin:0 0 10px}
.sub{color:var(--muted);font-size:14px}
label{display:block;font-size:13px;color:var(--muted);margin:14px 0 6px;}
input,select,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#0c142a;color:var(--text); outline:none; transition:border .15s ease, box-shadow .15s ease;}
input:focus,select:focus,textarea:focus{border-color:#4166ff; box-shadow:0 0 0 3px rgba(65,102,255,.18)}
button.btn{border:0;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer;background: linear-gradient(135deg, var(--primary), #4f46e5); color:white; box-shadow: 0 10px 20px rgba(91,140,255,.2);}
button.btn:hover{filter:brightness(1.05)}
.btn.secondary{background:#0c142a;border:1px solid var(--line);font-weight:600}
.btn.danger{background: linear-gradient(135deg,#fb923c,#f97316); box-shadow: 0 10px 20px rgba(251,146,60,.25);}
.btn.small{padding:8px 10px;border-radius:10px;font-weight:600}
table{width:100%;border-collapse: collapse;margin-top:12px}
th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left}
.row-actions button{margin-right:8px}
.viewer{margin-top:16px;height:78vh;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0b1220}
iframe{width:100%;height:100%;border:0;background:#fff}
.pill{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#0c142a;color:var(--muted);font-size:12px}
.toast{position:fixed;right:22px;bottom:22px;display:flex;flex-direction:column;gap:10px;z-index:50}
.toast .item{background:rgba(18,24,46,.9);border:1px solid var(--line);border-left:4px solid var(--primary);padding:12px 14px;border-radius:12px;color:var(--text);box-shadow:var(--shadow)}
.toast .ok{border-left-color:var(--ok)} .toast .err{border-left-color:var(--danger)}
/* login polish */
.login-wrap{display:grid;place-items:center;min-height:calc(100svh - 120px);
  background: radial-gradient(380px 280px at 70% 20%, rgba(91,140,255,.18), transparent 60%), radial-gradient(400px 300px at 25% 70%, rgba(110,231,240,.12), transparent 60%);}
.login-card{width: 420px;max-width:92%;padding:28px;border-radius:24px;background: radial-gradient(120% 120% at 10% -10%, rgba(255,255,255,.06), transparent 40%), linear-gradient(180deg, rgba(19,26,49,.7), rgba(10,14,29,.92)); border:1px solid var(--line); box-shadow: 0 20px 50px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.04) inset;}
.login-title{font-size:28px;margin-bottom:8px}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.btn.tag{font-size:12px;padding:6px 10px;border-radius:999px;background:linear-gradient(135deg, rgba(91,140,255,.2), rgba(79,70,229,.2));border:1px solid var(--line)}
