:root{--bg:#0f1220;--panel:#1a1e30;--panel-2:#232943;--border:#2e3554;--text:#e7eaf3;--muted:#9aa3c0;--accent:#6366f1;--accent-hover:#4f52d8;--danger:#ef4444;--ok:#22c55e}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}a{color:var(--accent)}.container{max-width:1100px;margin:0 auto;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--panel)}.brand{font-weight:700;font-size:18px;letter-spacing:.3px}.btn{background:var(--accent);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-weight:600;cursor:pointer;font-size:14px}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.secondary{background:var(--panel-2);border:1px solid var(--border)}.btn.danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}.btn.small{padding:6px 12px;font-size:13px}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.ebook-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.ebook-card .banner{height:150px;background:var(--panel-2);background-size:cover;background-position:50%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.ebook-card .body{padding:16px;flex:1 1;display:flex;flex-direction:column;gap:8px}.ebook-card h3{margin:0;font-size:16px}.ebook-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:11px;padding:3px 8px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted)}.tag.type{color:#c4b5fd;border-color:#4c3f8a}.tag.product{color:#7dd3fc;border-color:#2c5a73}.card-actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--muted)}input[type=email],input[type=password],input[type=text],input[type=url],select,textarea{width:100%;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-size:14px;font-family:inherit}textarea{resize:vertical;min-height:80px}.field{margin-bottom:16px}.row{display:flex;gap:16px}.row>.field{flex:1 1}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;z-index:50}.modal{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:100%;max-width:560px;padding:24px}.modal h2{margin-top:0}.error{background:rgba(239,68,68,.12);border:1px solid var(--danger);color:#fca5a5;padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:16px}.muted{color:var(--muted)}.center-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-box{width:100%;max-width:380px}.source-toggle{display:flex;gap:8px;margin-bottom:12px}.source-toggle button{flex:1 1;padding:8px;border-radius:8px;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);cursor:pointer;font-weight:600}.source-toggle button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.spacer{flex:1 1}.empty{text-align:center;padding:60px 20px;color:var(--muted)}