:root{--primary:#2563eb;--dark:#0f172a;--muted:#64748b;--soft:#eff6ff;--line:#e2e8f0;--danger:#dc2626;--ok:#16a34a;}
*{box-sizing:border-box} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f8fafc;color:#0f172a}.topbar{background:linear-gradient(135deg,#1d4ed8,#0f766e);color:#fff;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 6px 18px #0002}.brand{display:flex;align-items:center;gap:12px}.logo{font-size:34px}.brand small{display:block;opacity:.9}.topbar a{color:#fff;text-decoration:none;margin-left:14px;font-weight:700}.container{max-width:1180px;margin:24px auto;padding:0 16px}.hero{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;display:grid;grid-template-columns:1.3fr .7fr;gap:20px;align-items:center;box-shadow:0 12px 30px #0f172a12}.hero h1{font-size:40px;margin:0 0 12px}.hero p{color:var(--muted);font-size:18px}.btn{display:inline-block;background:var(--primary);color:#fff;text-decoration:none;border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}.btn.gray{background:#475569}.btn.green{background:#16a34a}.btn.red{background:#dc2626}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 6px 18px #0f172a0d}.stat{font-size:30px;font-weight:800;color:var(--primary)}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:var(--soft);font-size:14px}.form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}.row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{margin-bottom:12px}.field label{display:block;font-weight:700;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px;font-size:15px}.alert{background:#dcfce7;border:1px solid #86efac;color:#14532d;padding:12px;border-radius:12px;margin-bottom:16px}.danger-text{color:#dc2626}.books{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.book img{width:100%;height:210px;object-fit:cover;border-radius:12px;background:#e2e8f0}.book h3{margin:10px 0 6px}.muted{color:#64748b}.reader{width:100%;height:82vh;border:1px solid var(--line);border-radius:14px;background:#fff}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:12px;font-weight:700}.footer{text-align:center;color:#64748b;padding:30px}.login{max-width:430px;margin:50px auto}.actions{display:flex;gap:6px;flex-wrap:wrap}@media(max-width:900px){.hero{grid-template-columns:1fr}.grid,.books{grid-template-columns:repeat(2,1fr)}.row{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}}@media(max-width:560px){.grid,.books{grid-template-columns:1fr}.hero h1{font-size:30px}}

.filterbar{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:10px;align-items:center}.filterbar input,.filterbar select{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:11px;font-size:15px}.book-placeholder{height:210px;border-radius:12px;background:#e2e8f0;display:grid;place-items:center;font-size:54px;margin-bottom:10px}@media(max-width:900px){.filterbar{grid-template-columns:1fr}}
