:root{--bg-page:#fff;--bg-surface:#fafafa;--bg-card:#fff;--border-color:#e5e5e5;--text-primary:#0a0a0a;--text-secondary:#525252;--brand-accent:#0a0a0a;--brand-accent-hover:#262626;--brand-accent-soft:#f4f4f5}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-surface);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;overflow-x:hidden}#loader-screen{z-index:100;background:var(--bg-page);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:fixed;inset:0}.loader-brand{justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative}.pulse-ring{border:2px solid var(--brand-accent);border-radius:50%;animation:1.6s cubic-bezier(.22,1,.36,1) infinite pulseRing;position:absolute;inset:0}.loader-bar-track{background:#e5e5e5;border-radius:999px;width:160px;height:3px;position:relative;overflow:hidden}.loader-bar-fill{background:var(--brand-accent);border-radius:999px;width:45%;height:100%;animation:1.2s cubic-bezier(.4,0,.2,1) infinite barSlide;position:absolute;top:0;left:-45%}#loader-text{color:var(--text-secondary);font-size:13px;font-weight:500}@keyframes pulseRing{0%{opacity:.75;transform:scale(.75)}to{opacity:0;transform:scale(1.45)}}@keyframes barSlide{0%{left:-45%}to{left:100%}}.topbar{background:var(--bg-page);border-bottom:1px solid var(--border-color);z-index:40;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1160px;margin:0 auto;padding:14px 24px;display:flex}.brand-logo{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:10px;font-size:18px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--brand-accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;font-weight:800;display:inline-flex}.topbar-actions{align-items:center;gap:10px;display:flex}.doc-badge{background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600}.btn-upload-trigger{background:var(--brand-accent);color:#fff;border:1px solid var(--brand-accent);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:9px 15px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s,transform .15s;display:inline-flex}.btn-upload-trigger:hover{background:var(--brand-accent-hover)}.btn-sign-out{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-sign-out:hover{color:var(--text-primary);background:#f4f4f5;border-color:#d4d4d8}.main-container{max-width:1160px;margin:0 auto;padding:36px 24px 64px}.section-heading{margin-bottom:24px}.section-heading h1{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:6px;font-size:24px;font-weight:800}.section-heading p{color:var(--text-secondary);font-size:14px}#book-list.grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));align-items:stretch;gap:18px;display:grid}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;justify-content:space-between;min-height:190px;padding:20px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 2px 10px #00000008}.card:hover{border-color:#a3a3a3;transform:translateY(-2px);box-shadow:0 10px 24px #0000000f}.card.is-hidden-doc{opacity:.85;background:#fafafa;border-style:dashed;border-color:#a3a3a3}.card-meta{color:var(--text-secondary);flex-wrap:nowrap;align-items:center;gap:6px;margin-bottom:10px;font-size:12px;display:flex}.card-type-pill{letter-spacing:.04em;border:1px solid #d4d4d8;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700}.card-type-pill.is-pdf{color:#fff;background:#0a0a0a;border-color:#0a0a0a}.card-type-pill.is-excel{color:#0a0a0a;background:#f4f4f5}.card-type-pill.is-hidden-badge{color:#525252;background:#fff;border-style:dashed}.card h3{color:var(--text-primary);margin-bottom:8px;font-size:16px;font-weight:700;line-height:1.4}.card-uploader{color:var(--text-secondary);margin-bottom:18px;font-size:12px}.card-actions{align-items:center;gap:8px;display:flex}.btn-open{background:var(--brand-accent);color:#fff;border:1px solid var(--brand-accent);cursor:pointer;border-radius:10px;flex:1;height:40px;font-family:inherit;font-size:13px;font-weight:600;transition:background .2s}.btn-open:hover{background:var(--brand-accent-hover)}.btn-icon-action{border:1px solid var(--border-color);color:#404040;cursor:pointer;background:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:inline-flex}.btn-icon-action:hover:not(:disabled){color:#0a0a0a;background:#f4f4f5;border-color:#0a0a0a}.btn-icon-action.is-active-hidden,.btn-icon-action.is-copied{color:#fff;background:#0a0a0a;border-color:#0a0a0a}.btn-icon-action:disabled{opacity:.4;cursor:not-allowed}#reader-viewport{z-index:60;background:#f4f4f5;flex-direction:column;display:flex;position:fixed;inset:0}#btn-back{z-index:9999;color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;background:#fffffff5;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;position:fixed;top:14px;left:16px;box-shadow:0 2px 8px #00000014}#btn-back:hover{color:#fff;background:#0a0a0a;border-color:#0a0a0a;transform:translate(-3px)}.modal-overlay{z-index:9000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a0a0a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--border-color);background:#fff;border-top:4px solid #0a0a0a;border-radius:16px;width:100%;max-width:420px;padding:26px 24px;box-shadow:0 16px 40px #00000024}.modal-card h2{margin-bottom:6px;font-size:18px;font-weight:700}.modal-card p{color:var(--text-secondary);margin-bottom:18px;font-size:13px;line-height:1.5}.form-group{text-align:left;margin-bottom:14px}.form-group label{color:var(--text-primary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-group input{border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px}.form-group input:focus{border-color:#0a0a0a}.btn-primary-full{color:#fff;cursor:pointer;background:#0a0a0a;border:none;border-radius:10px;width:100%;padding:11px 16px;font-family:inherit;font-size:13px;font-weight:600}.btn-primary-full:hover:not(:disabled){background:#262626}#toast-notification{color:#fff;z-index:9999;background:#0a0a0a;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:500;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}@media (width<=640px){.topbar-inner{gap:8px;padding:10px 14px}.topbar-actions{gap:6px}.btn-upload-trigger{padding:8px 10px;font-size:12px}.btn-sign-out span,.doc-badge{display:none}}
