:root{--bg:#ffffff;--fg:#0f172a;--muted:#475569;--card:#ffffff;--border:#e2e8f0;--primary:#2563eb;--primary-600:#1d4ed8;--accent:#22d3ee;--pill:#fde047;--danger:#ef4444;--success:#16a34a;--shadow:0 10px 30px rgba(15,23,42,0.08)}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font-family:Inter,system-ui,Segoe UI,Roboto,sans-serif;line-height:1.7}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--primary-600)}
.container{max-width:1200px;margin:0 auto;padding:16px}
.header{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(10px);display:flex;justify-content:space-between;align-items:center;padding:14px 0;z-index:10;border-bottom:1px solid var(--border)}
.brand{font-weight:800;letter-spacing:-.02em}
.nav{display:flex;gap:18px}
.nav a{padding:8px 12px;border-radius:10px;transition:background-color .15s ease, transform .15s ease}
.nav a:hover{background:#eef2ff;transform:translateY(-1px)}
.btn{position:relative;overflow:hidden;padding:12px 16px;border-radius:12px;border:1px solid var(--border);background:#ffffff;color:var(--fg);cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease;font-weight:600}
.btn:focus{outline:none}
.btn:focus-visible{box-shadow:0 0 0 3px rgba(37,99,235,.25)}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.08)}
.btn:active{transform:translateY(0);box-shadow:0 4px 10px rgba(15,23,42,.06)}
.btn::after{content:"";position:absolute;inset:auto;left:50%;top:50%;width:0;height:0;border-radius:9999px;background:rgba(255,255,255,.35);transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease,opacity .6s ease;opacity:0;pointer-events:none}
.btn:active::after{width:220px;height:220px;opacity:1}
.btn[disabled], .btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn.primary:hover{background:var(--primary-600);border-color:var(--primary-600)}
.btn.pill{background:var(--pill);border-color:var(--pill);color:#0f172a;border-radius:999px}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.grid{display:grid;gap:18px}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.input,select,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:#ffffff;color:var(--fg);transition:border .15s ease}
.input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary)}
.label{font-size:12px;color:var(--muted)}
.table{width:100%;border-collapse:separate;border-spacing:0 8px}
.table th{font-weight:700;color:var(--muted);text-align:right;padding:8px}
.table td{background:#fff;border:1px solid var(--border);border-left:0;border-right:0;padding:12px}
.badge{background:#eef2ff;border:1px solid #c7d2fe;color:#1e3a8a;border-radius:999px;padding:4px 10px;font-size:12px}
.hero{padding:64px 0}
.hero .title{font-size:44px;line-height:1.25;margin:0 0 12px 0;font-weight:900;letter-spacing:-.02em}
.hero .title .accent{color:var(--accent)}
.hero .subtitle{color:var(--muted);margin:0 0 18px 0}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap}
.section{padding:28px 0}
.footer{padding:28px 0;color:var(--muted);text-align:center}
@media(max-width:980px){
  .grid.cols-2,.grid.cols-3{grid-template-columns:1fr}
  .hero .title{font-size:34px}
  .nav{flex-wrap:wrap}
  .btn{width:100%;justify-content:center}
}
@media(max-width:640px){
  .table{display:block;overflow-x:auto;white-space:nowrap}
  .header{padding:10px}
  .brand{font-size:14px}
}
