/* ===== PPwix Quick UI ===== */
:root{
  --bg:#f7f8fb; --panel:#ffffff; --ink:#1f2937; --muted:#6b7280;
  --brand:#3b82f6; --brand-ink:#0b5bd3;
  --ok:#10b981; --warn:#f59e0b; --bad:#ef4444; --line:#e5e7eb;
  --radius:14px; --shadow:0 6px 18px rgba(0,0,0,.06);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; padding:0; background:var(--bg); color:var(--ink);
  font:15px/1.5 var(--font);
}

/* Layout */
.container{max-width:1100px; margin:40px auto; padding:0 18px;}
.header{
  position:sticky; top:0; z-index:5; backdrop-filter:saturate(180%) blur(8px);
  background:rgba(255,255,255,.8); border-bottom:1px solid var(--line);
}
.nav{display:flex; gap:14px; align-items:center; padding:12px 18px; max-width:1100px; margin:0 auto;}
.nav .brand{font-weight:700; letter-spacing:.3px}
.nav a{color:var(--ink); text-decoration:none; padding:8px 10px; border-radius:10px}
.nav a:hover{background:#eef2ff; color:#1d4ed8}

.main{padding:26px 0}

/* Cards, panels */
.card{
  background:var(--panel); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow);
  padding:16px; margin:12px 0;
}

/* Grid helpers */
.grid{display:grid; gap:14px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:800px){ .grid-2{grid-template-columns:1fr} }

/* Tables */
.table{width:100%; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow)}
.table th,.table td{padding:12px 12px; border-bottom:1px solid var(--line); text-align:left}
.table th{font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); background:#fafafa}
.table tr:last-child td{border-bottom:none}
.table tr:hover td{background:#fafbff}

/* Buttons */
.btn{
  display:inline-block; border:1px solid var(--line); background:#fff; color:var(--ink);
  padding:9px 14px; border-radius:12px; cursor:pointer; transition:transform .02s ease, background .2s ease, border-color .2s ease;
  text-decoration:none; font-weight:600;
}
.btn:hover{transform:translateY(-1px); background:#f9fafb}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--brand); border-color:var(--brand); color:#fff}
.btn-primary:hover{background:var(--brand-ink); border-color:var(--brand-ink)}
.btn-danger{background:var(--bad); border-color:var(--bad); color:#fff}
.btn-ghost{background:transparent}

/* Forms */
label{display:block; font-size:12px; color:var(--muted); margin:8px 0 6px}
input,select,textarea{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:12px;
  background:#fff; color:var(--ink); outline:none;
}
input:focus,select:focus,textarea:focus{border-color:var(--brand); box-shadow:0 0 0 3px rgba(59,130,246,.15)}
form .actions{margin-top:14px; display:flex; gap:10px; flex-wrap:wrap}

/* Alerts / flashes */
.alert{
  padding:10px 12px; border-radius:12px; border:1px solid var(--line); background:#f9fafb; margin:10px 0;
}
.alert.ok{background:#ecfdf5; border-color:#d1fae5; color:#065f46}
.alert.bad{background:#fef2f2; border-color:#fecaca; color:#7f1d1d}
.alert.warn{background:#fffbeb; border-color:#fde68a; color:#78350f}

/* Badges (categories display) */
.badges{display:flex; gap:6px; flex-wrap:wrap}
.badge{
  display:inline-flex; align-items:center; padding:4px 8px; font-size:12px;
  background:#eef2ff; color:#3730a3; border:1px solid #e0e7ff; border-radius:999px;
}

/* Footer */
.footer{color:var(--muted); font-size:13px; padding:30px 18px; text-align:center}
