:root{
  --bg:#f6f7f9; --card:#fff; --ink:#1f2430; --muted:#6b7280;
  --brand:#6d5efc; --brand-d:#5a4be0; --line:#e5e7eb;
  --green:#16a34a; --orange:#d97706; --red:#dc2626;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.5}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
code{background:#eef;padding:.1em .35em;border-radius:4px;font-size:.9em}

/* header */
.site-header{display:flex;justify-content:space-between;align-items:center;
  padding:1rem 1.5rem;background:#fff;border-bottom:1px solid var(--line)}
.site-header .logo{font-weight:700;font-size:1.1rem}
.site-header nav a{margin-left:1rem}

.container{max-width:960px;margin:2rem auto;padding:0 1.25rem}

/* cards / forms */
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:1.5rem;margin-bottom:1.5rem}
.card-narrow{max-width:420px;margin:3rem auto}
label{display:block;margin:.75rem 0;font-weight:500}
input,textarea,select{width:100%;padding:.6rem .7rem;margin-top:.25rem;
  border:1px solid var(--line);border-radius:8px;font-size:1rem;font-family:inherit}
textarea{resize:vertical}
.hint{color:var(--muted);font-size:.9rem;margin:.5rem 0}

/* buttons */
.btn{display:inline-block;padding:.6rem 1.1rem;border:1px solid var(--line);
  border-radius:8px;background:#fff;cursor:pointer;font-size:1rem;font-family:inherit}
.btn:hover{background:#f0f0f5;text-decoration:none}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-d)}
.btn-ghost{background:transparent}

/* alerts */
.alert{padding:.8rem 1rem;border-radius:8px;margin-bottom:1rem}
.alert-success{background:#e7f6ec;color:#166534}
.alert-error{background:#fdecec;color:#991b1b}

/* admin layout */
body.admin{display:flex;min-height:100vh}
.sidebar{width:220px;background:#fff;border-right:1px solid var(--line);
  padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}
.sidebar .logo{font-weight:700;margin-bottom:1rem}
.sidebar nav{display:flex;flex-direction:column;gap:.4rem}
.sidebar-user{margin-top:auto;color:var(--muted);font-size:.85rem;padding-top:1rem}
.admin-main{flex:1;padding:2rem;max-width:1000px}

.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.page-head h1{margin:0;font-size:1.5rem}

/* tables */
.table{width:100%;border-collapse:collapse;background:#fff}
.table th,.table td{text-align:left;padding:.7rem .6rem;border-bottom:1px solid var(--line)}
.table th{font-size:.8rem;text-transform:uppercase;color:var(--muted);letter-spacing:.03em}
.table-compact th,.table-compact td{padding:.4rem}
.actions a{margin-right:.75rem}

/* badges */
.badge{display:inline-block;padding:.15em .6em;border-radius:999px;font-size:.78rem;
  background:#eef0f3;color:#555}
.badge-green{background:#e7f6ec;color:var(--green)}
.badge-orange{background:#fdf0e3;color:var(--orange)}
.badge-red{background:#fdecec;color:var(--red)}

/* stats */
.stats-row{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}
.stat{background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:.8rem 1.2rem;min-width:110px}
.stat-num{display:block;font-size:1.6rem;font-weight:700}
.stat-green .stat-num{color:var(--green)}
.stat-orange .stat-num{color:var(--orange)}
.stat-red .stat-num{color:var(--red)}

.empty{color:var(--muted);padding:1.5rem;text-align:center}
.row{margin:.75rem 0}
.link-danger{background:none;border:none;color:var(--red);cursor:pointer;font-size:1rem}
.link-copy{font-size:.8rem;padding:.3rem;background:#f8f8fb;cursor:pointer}

/* home */
.hero-lite{text-align:center;padding:4rem 1rem}
.hero-lite h1{font-size:2.2rem;margin-bottom:1rem}
.hero-lite p{max-width:600px;margin:0 auto 2rem;color:var(--muted)}
