:root { --bg:#0b0d10; --muted:#8a94a6; --fg:#e7ecf3; --accent:#5ad67d; --card:#14181f; --danger:#f87171; --ok:#34d399; }
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;background:var(--bg);color:var(--fg);line-height:1.5}
a{color:var(--fg);text-decoration:none}
.container{max-width:1100px;margin:2rem auto;padding:0 1rem}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#0e131a;border-bottom:1px solid #1f2937;position:sticky;top:0;z-index:10}
.brand{font-weight:600}
.badge{padding:.25rem .5rem;background:#1f2937;border-radius:.5rem;font-size:.85rem;color:var(--muted);margin-right:.5rem}
.btn{display:inline-block;padding:.6rem .9rem;border:1px solid #263243;border-radius:.75rem;background:#10151c;transition:.2s;cursor:pointer;margin-right:.25rem}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.25)}
.btn-primary{background:linear-gradient(180deg,#1a2635,#0d1622);border-color:#2a3a52;color:#dfe7f3}
.btn-muted{opacity:.8;border-style:dashed}
.btn-download{background:linear-gradient(180deg,#10311f,#0d2216);border-color:#224a36}
.btn-danger{background:linear-gradient(180deg,#3f1b1b,#2a1313);border-color:#6b2121}
.btn-donate{background:linear-gradient(180deg,#30221a,#20160f);border-color:#5e3b22}
/* color:var(--muted); */
.lead{color:yellow;font-size:20pt;font-weight:bold;}
.grid{list-style:none;padding:0;margin:1rem 0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.card{background:var(--card);border:1px solid #1f2a37;border-radius:1rem;padding:1rem}
.card h3{margin-top:.5rem}
.footer{padding:2rem 1rem;color:var(--muted);text-align:center;border-top:1px solid #1f2937;margin-top:2rem}
.auth{max-width:480px;margin:4rem auto;padding:2rem;background:var(--card);border:1px solid #1f2a37;border-radius:1rem}
label{display:block;margin:.5rem 0 .25rem;color:#c9d4e3}
input[type="email"],input[type="password"],input[type="text"],input[type="number"],textarea{width:100%;padding:.6rem .7rem;border-radius:.6rem;border:1px solid #243244;background:#0f141b;color:var(--fg)}
button{font:inherit}
.alert{padding:.75rem 1rem;border-radius:.6rem;margin:1rem 0}
.alert.error{background:#2b1616;border:1px solid #4b2626}
.alert.success{background:#102a1e;border:1px solid #234635}
.muted{color:var(--muted);font-size:.95rem}
.cover{width:100%;height:180px;object-fit:cover;border-radius:.6rem;border:1px solid #223}
.cover-lg{width:280px;height:380px;object-fit:cover;border-radius:1rem;border:1px solid #223;margin-right:1rem}
.book-detail{display:flex;gap:1.25rem;align-items:flex-start}
.actions{margin-top:.5rem}
.table{width:100%;border-collapse:collapse;margin-top:1rem}
.table th,.table td{border-bottom:1px solid #223;padding:.6rem;text-align:left}
.thumb{width:56px;height:56px;object-fit:cover;border-radius:.4rem;border:1px solid #223}
.admin-tools{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}
.donate{background:var(--card);border:1px solid #1f2a37;border-radius:1rem;padding:1.25rem}
.share{margin-top:1rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
