
:root{
  --green:#16a34a;--green2:#22c55e;--bg:#ffffff;--ink:#0f172a;--muted:#475569;
  --panel:#f8fafc;--ring:#bbf7d0;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:24px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:12px;background:var(--green);color:#fff;font-weight:600;border:none;cursor:pointer}
.btn.ghost{background:#eafff1;color:var(--green)}
.tag{padding:4px 8px;border-radius:999px;background:#ecfeff;color:#0e7490;font-size:12px}
header.sticky{position:sticky;top:0;background:#ffffffcc;backdrop-filter:blur(10px);border-bottom:1px solid #eef2f7;z-index:50}
nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
nav .right a{margin-left:16px}
.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:32px;align-items:center;padding:40px 0}
.hero h1{font-size:38px;line-height:1.1;margin:0}
.hero p{font-size:18px;color:var(--muted)}
.card{background:var(--panel);border:1px solid #eef2f7;border-radius:16px;padding:18px}
.grid{display:grid;gap:16px}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.footer{padding:32px 0;color:#64748b;font-size:14px}
/* Aria floating button v14 */
.aria-fab{position:fixed;right:20px;bottom:20px;background:var(--green);color:#fff;border-radius:999px;padding:14px 16px;font-weight:700;box-shadow:0 10px 30px rgba(22,163,74,.3);cursor:pointer;z-index:60}
.modal{position:fixed;inset:0;background:rgba(2,6,23,.55);display:none;align-items:center;justify-content:center;padding:16px;z-index:70}
.modal.open{display:flex}
.modal .box{background:#fff;max-width:720px;width:100%;border-radius:16px;overflow:hidden;border:1px solid #e2e8f0}
.modal header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eef2f7}
.modal .content{padding:16px 20px}
.quick-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.quick-actions .qa{border:1px solid #e2e8f0;border-radius:12px;padding:12px 10px;text-align:center;cursor:pointer}
.quick-actions .qa small{display:block;color:#475569}
/* admin */
.admin-shell{min-height:100vh;background:#fafafa}
.table{width:100%;border-collapse:separate;border-spacing:0 8px}
.table th{font-size:12px;color:#475569;text-align:left}
.table td,.table th{padding:10px 12px;background:#fff}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:16px 0}
.kpi .card h2{margin:0;font-size:28px}
.notice{padding:10px 12px;border-left:4px solid var(--green);background:#f0fdf4;border-radius:6px}
