.library-shell{min-height:100vh;background:var(--bg,#f5f4f7)}

.library-layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100vh}

.library-sidebar{background:#121e3b;color:#fff;padding:24px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:20}

.library-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;margin-bottom:28px}

.library-brand img{width:48px;height:48px;object-fit:contain}
.library-brand strong{display:block;font-size:21px}
.library-brand small{color:#ccc8dd}

.library-nav{display:grid;gap:7px}
.library-nav a{display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:12px;color:#ddd9eb;text-decoration:none;font-weight:700}
.library-nav a:hover,.library-nav a.active{background:#ffffff18;color:#fff}
.library-nav .icon{width:28px;text-align:center;font-size:17px}

.library-side-note{margin-top:auto;background:#ffffff10;border:1px solid #ffffff1c;border-radius:16px;padding:15px;color:#ddd9eb;font-size:12px;line-height:1.8}
.library-side-note b{display:block;color:#fff;margin-bottom:4px}

.library-main{min-width:0}
.library-topbar{height:76px;background:var(--surface,#fff);border-bottom:1px solid var(--border,#e5e4e9);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:15}
.library-topbar h1{font-size:18px;margin:0}
.library-user{display:flex;align-items:center;gap:10px}
.library-user .avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e2dfee;color:#172648;font-weight:900}

.library-content{width:min(1480px,calc(100% - 48px));margin:28px auto 70px}
.library-hero{background:linear-gradient(125deg,#0b1221,#332765 65%,#9a4364);color:#fff;border-radius:26px;padding:34px;display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center;overflow:hidden;position:relative}
.library-hero:after{content:"";position:absolute;width:260px;height:260px;border:50px solid #ffffff0b;border-radius:50%;left:-80px;top:-120px}
.library-hero h2{font-size:31px;margin:8px 0 10px}
.library-hero p{color:#dedbec;max-width:720px;line-height:1.9;margin:0}
.library-kicker{display:inline-flex;padding:7px 11px;background:#ffffff14;border:1px solid #ffffff25;border-radius:999px;font-size:12px;font-weight:800}
.library-hero-art{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;transform:rotate(-2deg)}
.hero-book{min-height:155px;border-radius:16px;padding:18px 12px;background:#fff;color:#0b1221;box-shadow:0 18px 38px #0a241c38;display:flex;flex-direction:column;justify-content:space-between}
.hero-book:nth-child(2){transform:translateY(-16px);background:#f4d8e3}
.hero-book:nth-child(3){background:#dfdceb}
.hero-book span{font-size:30px}
.hero-book b{font-size:13px}
.hero-book small{color:#716e7b}

.library-tools{display:flex;gap:12px;align-items:center;margin:22px 0;flex-wrap:wrap}
.library-search{flex:1;min-width:260px;background:var(--surface,#fff);border:1px solid var(--border,#e1e0e7);border-radius:14px;display:flex;align-items:center;gap:9px;padding:0 14px}
.library-search input{border:0;outline:0;background:transparent;width:100%;padding:13px 0;color:var(--text-primary,#1c2029);font:inherit}
.library-counter{padding:10px 14px;border-radius:12px;background:var(--surface,#fff);border:1px solid var(--border,#e1e0e7);font-size:12px;color:var(--text-muted,#6e6c77)}

.library-section-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:24px 0 13px}
.library-section-head h2{margin:0 0 4px;font-size:20px}
.library-section-head p{margin:0;color:var(--text-muted,#6d7f8a);font-size:13px}

.library-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.library-category{border:1px solid var(--border,#e1e0e7);background:var(--surface,#fff);border-radius:17px;padding:15px;text-align:right;cursor:pointer;color:inherit;transition:.18s ease}
.library-category:hover,.library-category.active{border-color:#766d9a;box-shadow:0 10px 28px #183c3020;transform:translateY(-2px)}
.library-category .cat-icon{width:42px;height:42px;border-radius:12px;background:#e7e5f0;display:grid;place-items:center;color:#233256;font-size:18px;margin-bottom:10px}
.library-category b{display:block;font-size:13px;margin-bottom:4px}
.library-category small{color:var(--text-muted,#6d7f8a)}

.library-books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.library-book{background:var(--surface,#fff);border:1px solid var(--border,#e1e0e7);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;min-height:350px;transition:.18s ease}
.library-book:hover{transform:translateY(-4px);box-shadow:0 16px 34px #17382e1c}
.book-cover{height:150px;padding:18px;background:linear-gradient(145deg,#16223f,#40356c);color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.book-cover:after{content:"";position:absolute;width:110px;height:160px;left:-25px;top:15px;border:18px solid #ffffff10;border-radius:60px}
.book-cover .book-icon{font-size:34px}
.book-cover small{position:relative;z-index:1;color:#ddd9ec}
.book-body{padding:17px;display:flex;flex-direction:column;gap:8px;flex:1}
.book-body h3{font-size:16px;line-height:1.55;margin:0}
.book-author{color:var(--text-muted,#6d7f8a);font-size:12px}
.book-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--text-muted,#6d7f8a)}
.book-meta span{padding:5px 8px;border-radius:8px;background:var(--surface-soft,#f2f1f5)}
.book-description{font-size:12px;color:var(--text-secondary,#595663);line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.book-open{margin-top:auto;display:flex;justify-content:center;align-items:center;padding:10px 12px;border-radius:11px;background:#1f325e;color:#fff;text-decoration:none;font-weight:800}
.book-open:hover{background:#162446}
.book-featured{position:absolute;top:12px;left:12px;background:#c6507d;color:#fff;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;z-index:2}

.library-empty{grid-column:1/-1;padding:42px;text-align:center;border:1px dashed var(--border,#ceccd8);border-radius:18px;color:var(--text-muted,#6d7f8a);background:var(--surface,#fff)}

.library-reader-body{margin:0;background:#0d1017;color:#fff;overflow:hidden}
.reader-shell{height:100vh;display:grid;grid-template-rows:auto 1fr}
.reader-toolbar{min-height:70px;background:#111622;border-bottom:1px solid #ffffff16;display:flex;align-items:center;gap:10px;padding:10px 18px;z-index:30;flex-wrap:wrap}
.reader-back{color:#fff;text-decoration:none;background:#ffffff10;padding:9px 12px;border-radius:10px}
.reader-title{min-width:180px;flex:1}
.reader-title b{display:block;font-size:14px}
.reader-title small{color:#ada9bb}
.reader-actions{display:flex;gap:7px;align-items:center}
.reader-actions button{border:1px solid #ffffff1f;background:#ffffff0c;color:#fff;border-radius:9px;padding:8px 11px;cursor:pointer}
.reader-actions button:hover{background:#ffffff18}
.reader-status{font-size:12px;color:#bcb8cb;min-width:68px;text-align:center}
.reader-frame-shell{position:relative;overflow:hidden;background:#1b1e25}
.reader-frame-shell iframe{position:absolute;inset:-54px 0 0;width:100%;height:calc(100% + 54px);border:0;background:#fff}
.reader-watermark{position:absolute;inset:0;pointer-events:none;z-index:9;overflow:hidden;opacity:.11;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:150px;transform:rotate(-18deg) scale(1.15)}
.reader-watermark span{display:grid;place-items:center;color:#17223d;font-weight:900;font-size:15px;white-space:nowrap}
.reader-loading{position:absolute;inset:0;display:grid;place-items:center;background:#131720;z-index:12}
.reader-security{font-size:11px;color:#a9a5b9}

.admin-library-wrap{width:min(1540px,calc(100% - 36px));margin:24px auto 70px}
.admin-library-hero{padding:26px;border-radius:24px;background:linear-gradient(130deg,#16223e,#33285d,#84405a);color:#fff;display:flex;justify-content:space-between;gap:20px;align-items:end}
.admin-library-hero h1{margin:0 0 7px}
.admin-library-hero p{margin:0;color:#dcd9e8}
.lib-admin-tabs{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}
.lib-admin-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:11px;padding:9px 13px;cursor:pointer;font-weight:800}
.lib-admin-tabs button.active{background:#1f325e;color:#fff;border-color:#1f325e}
.lib-admin-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:14px}
.lib-panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px}
.lib-panel h2{margin:0 0 5px;font-size:17px}
.lib-panel>p{margin:0 0 16px;color:var(--text-muted);font-size:12px}
.lib-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lib-form .wide{grid-column:1/-1}
.lib-form label{font-size:11px;color:var(--text-secondary);display:grid;gap:5px}
.lib-form input,.lib-form select,.lib-form textarea{border:1px solid var(--border);background:var(--surface-soft);color:var(--text-primary);border-radius:10px;padding:10px;font:inherit}
.lib-form textarea{min-height:90px;resize:vertical}
.lib-form button,.lib-btn{border:0;background:#1f325e;color:#fff;border-radius:10px;padding:10px 13px;cursor:pointer;font-weight:800}
.lib-btn.secondary{background:var(--surface-soft);color:var(--text-primary);border:1px solid var(--border)}
.lib-btn.danger{background:#a7463d}
.lib-admin-list{display:grid;gap:9px}
.lib-admin-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:13px;padding:12px}
.lib-admin-row small{color:var(--text-muted)}
.lib-admin-actions{display:flex;gap:6px;flex-wrap:wrap}
.lib-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:800}
.lib-status.PUBLISHED,.lib-status.ACTIVE{background:#e3e0f1;color:#172d61}
.lib-status.DRAFT{background:#f8dee8;color:#8d1d48}
.lib-status.ARCHIVED,.lib-status.HIDDEN{background:#ececee;color:#6f7773}
.library-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:14px 0}
.library-kpi{background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:15px}
.library-kpi small{color:var(--text-muted)}
.library-kpi strong{display:block;font-size:23px;margin-top:7px}
.lib-table{width:100%;border-collapse:collapse}
.lib-table th,.lib-table td{padding:9px;border-bottom:1px solid var(--border);text-align:right;font-size:11px}
.lib-upload-progress{height:7px;background:var(--surface-soft);border-radius:20px;overflow:hidden;margin-top:8px}
.lib-upload-progress i{display:block;height:100%;width:0;background:#1f325e;transition:.2s}

@media(max-width:1200px){.library-categories{grid-template-columns:repeat(3,1fr)}
.library-books{grid-template-columns:repeat(3,1fr)}
.lib-admin-grid{grid-template-columns:1fr}
.library-kpis{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:900px){.library-layout{grid-template-columns:1fr}
.library-sidebar{height:auto;position:relative;padding:14px}
.library-nav{display:flex;overflow:auto}
.library-side-note{display:none}
.library-brand{margin-bottom:12px}
.library-topbar{top:0}
.library-hero{grid-template-columns:1fr}
.library-hero-art{max-width:520px}
.library-books{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:620px){.library-content{width:min(100% - 24px,1480px);margin-top:16px}
.library-topbar{padding:0 14px}
.library-hero{padding:24px 18px}
.library-hero h2{font-size:24px}
.library-hero-art{display:none}
.library-categories{grid-template-columns:1fr 1fr}
.library-books{grid-template-columns:1fr}
.reader-toolbar{padding:8px}
.reader-title{order:3;flex-basis:100%}
.reader-security{display:none}
.lib-form{grid-template-columns:1fr}
.lib-form .wide{grid-column:auto}
.library-kpis{grid-template-columns:1fr 1fr}
.admin-library-hero{align-items:start;flex-direction:column}
}


/* ===== V21.2 — Premium library experience ===== */
.library-shell{background:linear-gradient(180deg,#f8fbfc 0,#f4f3f6 100%)}
.library-layout{grid-template-columns:256px minmax(0,1fr)}
.library-sidebar{background:linear-gradient(180deg,#0f1c3a 0%,#121f3e 58%,#0d1730 100%);padding:22px 16px;border-inline-end:1px solid #ffffff12;box-shadow:12px 0 40px #0b322913}
.library-brand{padding:6px 7px 20px;margin:0 0 14px;border-bottom:1px solid #ffffff12}
.library-brand img{width:44px;height:44px;filter:drop-shadow(0 7px 14px #061f1930)}
.library-brand strong{font-size:20px;letter-spacing:-.4px}.library-brand small{font-size:10px;color:#beb9d2;margin-top:2px;display:block}
.library-nav{gap:5px}.library-nav a{min-height:44px;border:1px solid transparent;border-radius:12px;font-size:12px;transition:.18s ease}.library-nav a:hover{background:#ffffff0d;border-color:#ffffff0f}.library-nav a.active{background:#ffffff14;border-color:#ffffff18;box-shadow:0 10px 24px #061d1817}
.library-side-note{display:flex;gap:10px;align-items:flex-start;border-radius:15px;padding:13px;background:linear-gradient(145deg,#ffffff0d,#ffffff08);font-size:10px;line-height:1.8}.side-note-icon{flex:0 0 26px;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#e35a8f;color:#14203d;font-weight:950}.library-side-note b{font-size:11px}
.library-topbar{height:74px;padding:0 26px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);box-shadow:0 1px 0 #183f3410}.library-topbar-title{display:flex;align-items:center;gap:11px}.topbar-eyebrow,.section-overline{text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:900;color:#9a4767}.library-topbar h1{font-size:17px}.library-topbar-actions{display:flex;align-items:center;gap:16px}.library-protection-chip{display:inline-flex;gap:7px;align-items:center;padding:7px 10px;border:1px solid #dedbe8;border-radius:999px;background:#f8f7fb;color:#372c61;font-size:10px;font-weight:850}.library-protection-chip span{font-size:8px;color:#4e3f8b}.library-user small{display:block;color:var(--text-muted,#6d7f8a);font-size:9px;margin-top:2px}.library-user b{font-size:11px}.library-user .avatar{width:36px;height:36px;font-size:12px;box-shadow:0 0 0 4px #efeef5}
.library-content{width:min(1480px,calc(100% - 44px));margin:24px auto 70px}
.library-hero{min-height:320px;background:radial-gradient(circle at 20% 20%,#c7a45b1c,transparent 28%),linear-gradient(128deg,#0e1c3d 0%,#172952 52%,#3a315f 100%);border-radius:30px;padding:42px 44px;grid-template-columns:1.03fr .97fr;gap:32px;box-shadow:0 24px 55px #0b211a20;border:1px solid #ffffff13}.library-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}.library-hero:after{width:330px;height:330px;border:1px solid #ffffff0e;left:-90px;top:-140px}
.library-hero-copy{position:relative;z-index:2}.library-kicker{background:#ffffff10;border-color:#ffffff1b;color:#e9adc4;padding:7px 11px}.library-hero h2{font-size:clamp(28px,3vw,42px);max-width:730px;line-height:1.45;letter-spacing:-1px;margin:13px 0 12px}.library-hero p{font-size:13px;max-width:680px;color:#d5d2e3;line-height:2}.library-hero-metrics{display:flex;align-items:stretch;gap:8px;margin-top:26px;flex-wrap:wrap}.library-hero-metrics span{min-width:105px;padding:10px 13px;border:1px solid #ffffff17;background:#ffffff0b;border-radius:13px;backdrop-filter:blur(8px)}.library-hero-metrics b{display:block;font-size:17px;color:#fff}.library-hero-metrics small{display:block;margin-top:2px;color:#c3bed5;font-size:9px}
.library-hero-art{height:238px;position:relative;display:block;transform:none;z-index:2;perspective:900px}.hero-shelf-card{position:absolute;border-radius:18px;box-shadow:0 20px 45px #08231d3b}.hero-shelf-main{right:13%;top:18px;width:58%;height:194px;padding:22px;background:linear-gradient(145deg,#fff,#eeedf4);color:#0b1221;transform:rotateY(-6deg) rotateZ(-1deg);overflow:hidden}.hero-shelf-main:after{content:"";position:absolute;width:150px;height:150px;border:24px solid #1a59481a;border-radius:50%;left:-45px;bottom:-65px}.hero-shelf-main .shelf-mark{font-size:9px;color:#9a4566;font-weight:950;letter-spacing:.08em}.hero-shelf-main b{display:block;margin-top:28px;font-size:19px}.hero-shelf-main small{display:block;margin-top:4px;color:#6d7f8a;font-size:10px}.hero-shelf-main i{display:inline-block;width:24%;height:44px;border-radius:8px;background:#0b1221;margin:24px 4px 0 0}.hero-shelf-main i:nth-of-type(2){background:#cf6f94}.hero-shelf-main i:nth-of-type(3){background:#948eaa}.hero-shelf-code,.hero-shelf-med{width:33%;height:92px;padding:14px;background:#dcd8eb;color:#15223f}.hero-shelf-code{left:1%;bottom:10px;transform:rotate(3deg)}.hero-shelf-med{left:5%;top:0;background:#f0bfd2;color:#722f49;transform:rotate(-3deg)}.hero-shelf-code span,.hero-shelf-med span{font-size:21px;font-weight:900;display:block}.hero-shelf-code b,.hero-shelf-med b{font-size:10px}.hero-reader-mini{position:absolute;right:1%;bottom:-8px;width:34%;height:118px;border-radius:18px;background:#0b152c;padding:14px;box-shadow:0 20px 40px #061f1938;transform:rotate(-2deg)}.hero-reader-mini span{display:inline-block;padding:4px 7px;border-radius:999px;background:#e35a8f;color:#0b1221;font-size:7px;font-weight:950}.hero-reader-mini div{height:45px;border-radius:7px;background:#f9f9fb;margin:9px 0 6px}.hero-reader-mini i{display:block;height:4px;border-radius:9px;background:#ffffff20;margin-top:4px}.hero-reader-mini i:nth-of-type(2){width:78%}.hero-reader-mini i:nth-of-type(3){width:55%}
.continue-section{margin-top:26px}.continue-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.continue-card{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 14px;background:var(--surface,#fff);border:1px solid var(--border,#e1dfe7);border-radius:17px;color:inherit;text-decoration:none;transition:.18s ease}.continue-card:hover{border-color:#aba6c1;box-shadow:0 12px 30px #0b211a13;transform:translateY(-2px)}.continue-icon{width:56px;height:64px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:20px;box-shadow:0 8px 18px #12382e1c}.continue-copy{min-width:0}.continue-copy small{font-size:9px;color:#838090}.continue-copy b{display:block;font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:2px 0}.continue-copy span{font-size:9px;color:#777481}.continue-card>strong{font-size:10px;color:#302460;white-space:nowrap}.reading-progress{height:4px;margin-top:8px;background:#ebeaf0;border-radius:99px;overflow:hidden}.reading-progress i{display:block;height:100%;background:linear-gradient(90deg,#392b70,#be5d82);border-radius:inherit}
.library-discovery{display:flex;align-items:stretch;gap:9px;margin:24px 0 18px}.library-search{min-height:48px;border-radius:13px;box-shadow:0 7px 20px #0b211a08}.library-search:focus-within{border-color:#837aa6;box-shadow:0 0 0 3px #1f6a5412}.library-search input{font-size:12px}.library-search kbd{direction:ltr;border:1px solid #dedce5;background:#f6f5f8;color:#8d8b97;border-radius:6px;padding:3px 6px;font-size:8px;white-space:nowrap}.library-sort{min-width:185px;display:flex;align-items:center;gap:7px;padding:0 11px;border-radius:13px;background:var(--surface,#fff);border:1px solid var(--border,#e1e0e7);font-size:9px;color:#7e7b88}.library-sort select{flex:1;border:0;outline:0;background:transparent;color:var(--text-primary,#1c2029);font:inherit;font-weight:800;min-height:46px}.library-clear{border:1px solid #dedce5;background:#fff;color:#545062;border-radius:13px;padding:0 13px;font-size:10px;font-weight:850}.library-counter{display:grid;place-items:center;min-width:105px;border-radius:13px;font-size:10px}
.library-section-head{margin:28px 0 12px;align-items:center}.library-section-head h2{font-size:19px;margin:3px 0}.library-section-head p{font-size:11px}.section-overline{display:block}
.library-categories{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.library-category{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;min-height:75px;padding:11px 12px;border-radius:15px;box-shadow:0 6px 18px #0b211a05}.library-category:hover,.library-category.active{transform:none;box-shadow:0 10px 26px #0b211a10;border-color:#a49ebc}.library-category.active{background:linear-gradient(145deg,#f9f8fb,#f0eef6)}.library-category .cat-icon{width:42px;height:42px;margin:0;border-radius:11px;font-size:16px}.cat-copy{min-width:0}.library-category b{font-size:10px;margin:0;line-height:1.55}.library-category small{font-size:8px}.cat-arrow{font-size:13px;color:#9e9aaf;transition:.18s}.library-category:hover .cat-arrow,.library-category.active .cat-arrow{color:#392d67;transform:translateX(-2px)}
.featured-books,.library-books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.library-book{border-radius:18px;min-height:338px;box-shadow:0 8px 24px #0b211a06}.library-book:hover{box-shadow:0 18px 38px #0b211a13}.book-cover{height:142px;padding:16px;background:linear-gradient(145deg,#0b1221,#372874)}.book-cover.cover-accent,.continue-icon.cover-accent{background:linear-gradient(145deg,#78354f,#b05075)}.book-cover.cover-slate,.continue-icon.cover-slate{background:linear-gradient(145deg,#50496c,#8f88a9)}.book-cover.cover-ink,.continue-icon.cover-ink{background:linear-gradient(145deg,#232835,#453f5b)}.book-cover.cover-midnight,.continue-icon.cover-midnight{background:linear-gradient(145deg,#3f375d,#60558d)}.continue-icon.cover-teal{background:linear-gradient(145deg,#0b1221,#372874)}.book-cover:after{border-width:1px;width:170px;height:170px;left:-65px;top:-55px}.book-cover .book-icon{font-size:28px;z-index:2}.book-cover-copy{position:relative;z-index:2}.book-cover-copy small{display:block;color:#dfdceb;font-size:9px}.book-cover-copy b{display:block;margin-top:3px;color:#fff;font-size:8px;opacity:.72;letter-spacing:.04em}.book-body{padding:15px;gap:7px}.book-heading{display:flex;gap:8px;align-items:flex-start}.book-heading h3{flex:1}.resume-badge{flex:0 0 auto;background:#e9e7f2;color:#362a67;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:850}.book-body h3{font-size:13px;line-height:1.65}.book-author,.book-description{font-size:10px}.book-meta{font-size:9px;gap:5px}.book-meta span{padding:4px 6px}.book-open{padding:9px 11px;border-radius:10px;font-size:10px;justify-content:space-between;background:#19294f}.book-open b{font-size:14px}.book-featured{top:10px;left:10px;font-size:8px;padding:4px 7px}.library-book-compact{min-height:302px}.library-book-compact .book-cover{height:128px}
.library-empty{padding:44px 24px;border-radius:17px}.library-empty .empty-icon{width:45px;height:45px;border-radius:13px;background:#eceaf2;color:#33285e;display:grid;place-items:center;margin:0 auto 10px;font-size:18px}.library-empty b{display:block;color:var(--text-primary,#242833);font-size:13px}.library-empty p{font-size:10px;margin:5px 0 14px}.library-empty button{border:0;background:#1f325e;color:#fff;padding:8px 12px;border-radius:9px;font:inherit;font-size:9px;font-weight:850}
.library-category-skeleton,.library-book-skeleton{position:relative;overflow:hidden;background:#fff;border:1px solid #e8e7ec}.library-category-skeleton{height:75px;border-radius:15px}.library-book-skeleton{height:338px;border-radius:18px}.library-category-skeleton:after,.library-book-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(100%);background:linear-gradient(90deg,transparent,#efeef3,transparent);animation:library-shimmer 1.25s infinite}@keyframes library-shimmer{to{transform:translateX(-100%)}}

/* Reader 21.2 */
.reader-toolbar{min-height:72px;background:linear-gradient(180deg,#101625,#0d1320);padding:9px 14px;border-color:#ffffff12}.reader-back{font-size:10px;border:1px solid #ffffff12}.reader-title b{font-size:12px}.reader-title small{font-size:9px}.reader-actions button{min-height:36px;min-width:36px;font-size:11px}.reader-status{font-size:9px;min-width:62px}.reader-security{display:flex;align-items:center;gap:5px;font-size:9px}.reader-security:before{content:"●";color:#806fc2;font-size:7px}.reader-progress-line{position:absolute;bottom:-1px;inset-inline:0;height:2px;background:#ffffff0b}.reader-progress-line i{height:100%;display:block;background:#d2648e;width:0;transition:.2s ease}.reader-save-state{font-size:8px;color:#8b83a9;white-space:nowrap}.reader-page-jump{width:54px;border:1px solid #ffffff1f;background:#ffffff08;color:#fff;border-radius:8px;padding:7px 5px;text-align:center;font:inherit;font-size:9px}.reader-fullscreen{white-space:nowrap}

@media(max-width:1180px){.library-categories{grid-template-columns:repeat(3,1fr)}.featured-books,.library-books{grid-template-columns:repeat(3,1fr)}.library-hero{grid-template-columns:1.15fr .85fr;padding:34px}.hero-shelf-main{right:5%;width:64%}.continue-books{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.library-layout{grid-template-columns:1fr}.library-sidebar{height:auto;position:relative;padding:12px 14px}.library-brand{padding:0 2px 10px;margin-bottom:8px}.library-nav{display:flex;overflow:auto;padding-bottom:2px}.library-nav a{white-space:nowrap}.library-side-note{display:none}.library-topbar{top:0;padding:0 16px}.library-hero{grid-template-columns:1fr;min-height:auto}.library-hero-art{height:210px;max-width:620px;width:100%;margin:auto}.continue-books{grid-template-columns:1fr}.library-discovery{flex-wrap:wrap}.library-search{flex-basis:100%}.library-sort{flex:1}.library-counter{min-width:96px}.featured-books,.library-books{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.library-content{width:min(100% - 22px,1480px);margin-top:12px}.library-topbar{height:66px}.library-topbar-title .topbar-eyebrow,.library-protection-chip{display:none}.library-user b{max-width:95px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-hero{padding:25px 20px;border-radius:22px}.library-hero h2{font-size:25px}.library-hero p{font-size:11px}.library-hero-art{height:165px}.hero-shelf-main{height:145px;padding:16px}.hero-shelf-main b{font-size:14px;margin-top:16px}.hero-shelf-main i{height:30px;margin-top:15px}.hero-shelf-code,.hero-shelf-med{height:70px}.hero-reader-mini{height:88px}.library-hero-metrics span{min-width:88px}.library-categories{grid-template-columns:1fr 1fr}.library-category{grid-template-columns:36px 1fr;min-height:68px}.library-category .cat-icon{width:36px;height:36px}.cat-arrow{display:none}.featured-books,.library-books{grid-template-columns:1fr}.library-sort{min-width:0;flex-basis:calc(65% - 5px)}.library-counter{flex:1}.library-clear{order:4;width:100%;min-height:40px}.reader-toolbar{padding:7px}.reader-title{order:4;flex-basis:100%}.reader-security,.reader-save-state{display:none}.reader-actions{flex:1;overflow:auto}.reader-actions button{min-width:33px}.reader-page-jump{width:46px}}
.lib-admin-filters{display:grid;grid-template-columns:minmax(220px,1fr) 150px 180px;gap:8px;margin:0 0 12px}.lib-admin-filters input,.lib-admin-filters select{width:100%;border:1px solid var(--border);background:var(--surface-soft);color:var(--text-primary);border-radius:10px;padding:9px 10px;font:inherit;font-size:10px}.lib-admin-search{display:flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;padding-inline:10px}.lib-admin-search input{border:0;padding-inline:0;outline:0}.lib-admin-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.lib-ready-dot{display:inline-flex;padding:3px 6px;border-radius:999px;background:#e7e4f3;color:#35276b;font-size:8px;font-weight:850}.lib-ready-dot.pending{background:#f8e0e9;color:#8c1d48}.library-kpis{grid-template-columns:repeat(6,1fr)}
@media(max-width:1200px){.library-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.lib-admin-filters{grid-template-columns:1fr}.library-kpis{grid-template-columns:1fr 1fr}}

/* =========================================================
   AFOQ V22.13.5 — LIBRARY RESPONSIVE GEOMETRY REPAIR
   ========================================================= */
.library-layout,
.library-main,
.library-sidebar,
.library-topbar,
.library-content{
  min-width:0;
  max-width:100%;
}

@media(max-width:900px){
  .library-layout{
    display:block;
    width:100%;
    max-width:100vw;
  }
  .library-sidebar{
    width:100%;
    max-width:100%;
    min-width:0;
    height:auto;
    overflow:hidden;
  }
  .library-nav{
    width:100%;
    max-width:100%;
    min-width:0;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
  }
  .library-nav a{
    flex:0 0 auto;
  }
  .library-main,
  .library-topbar,
  .library-content{
    width:100%;
    min-width:0;
  }
}

@media(max-width:620px){
  .library-content{
    width:calc(100% - 22px);
    max-width:calc(100vw - 22px);
  }
  .library-discovery,
  .library-search,
  .library-sort,
  .library-section-head,
  .library-categories,
  .library-books,
  .featured-books{
    min-width:0;
    max-width:100%;
  }
  .library-sort{
    width:100%;
    flex-basis:100%;
  }
  .library-sort select{
    min-width:0;
    width:100%;
  }

  .library-reader-body,
  .reader-shell,
  .reader-toolbar,
  .reader-frame-shell{
    width:100%;
    max-width:100vw;
    min-width:0;
  }
  .reader-toolbar{
    overflow:hidden;
  }
  .reader-title{
    flex:1 1 100%;
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .reader-actions{
    flex:1 1 100%;
    width:100%;
    min-width:0;
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
  }
  .reader-actions>*{
    flex:0 0 auto;
  }
  .reader-frame-shell{
    overflow:hidden;
  }
  .reader-watermark{
    contain:paint;
  }
}
