:root{--navy:#142747;--navy-2:#244477;--action:#355da8;--action-dark:#284a8a;--yellow:#f4be43;--orange:#f29b38;--bg:#f3f6fb;--card:#fff;--text:#17243d;--muted:#5b6880;--line:#dde3ee;--line-strong:#c7d0df;--danger:#b42318;--danger-bg:#fdecea;--ok:#1d6fb8;--warn-bg:#fff4db;--info-bg:#eaf0fb;--radius:10px;--shadow:0 1px 2px #1427470f, 0 2px 8px #1427470f;--sidebar:236px;--header:60px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg)}a{color:var(--action)}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.45rem}h2{font-size:1.1rem}h3{font-size:.98rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{background:linear-gradient(90deg, var(--navy) var(--sidebar), var(--bg) var(--sidebar));min-height:100vh;display:flex}.workspace{background:var(--bg)}.sidebar{width:var(--sidebar);background:var(--navy);color:#dce6f7;z-index:40;flex:none;height:100vh;padding:0 12px 24px;position:sticky;top:0;overflow-y:auto}.suite-logo{color:#fff;letter-spacing:.01em;border-bottom:1px solid #2a4370;flex-direction:column;justify-content:center;align-items:center;gap:4px;height:86px;margin:0 -12px 14px;font-size:.86rem;font-weight:600;text-decoration:none;display:flex}.nav{gap:3px;margin:0;padding:0;list-style:none;display:grid}.nav a{color:#e3eaf6;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:.95rem;text-decoration:none;display:flex}.nav a:hover{background:var(--navy-2);color:#fff}.nav a.active{background:linear-gradient(90deg, var(--yellow), var(--orange));color:var(--navy);font-weight:650;box-shadow:0 2px 8px #f29b3859}.nav a.active svg{color:var(--navy)}.nav svg{color:#c9d5ea;flex:none}.nav-badge{background:var(--orange);color:var(--navy);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:.72rem;font-weight:700}.nav a.active .nav-badge{background:var(--navy);color:#fff}.nav-sep{background:#2a4370;height:1px;margin:10px 6px}.sidebar-foot{color:#8ea1c4;margin-top:18px;padding:10px 12px;font-size:.75rem}.workspace{flex-direction:column;flex:1;min-width:0;display:flex}.main{flex:1;min-width:0;padding:20px 24px 48px}.backdrop{display:none}.app-header{z-index:30;background:var(--navy);color:#fff;border-left:1px solid #2a4370;align-items:center;gap:16px;height:86px;padding:0 24px;display:flex;position:sticky;top:0}.brand{color:#fff;align-items:center;gap:14px;min-width:0;text-decoration:none;display:flex}.brand-text{flex-direction:column;min-width:0;line-height:1.05;display:flex}.brand-name{white-space:nowrap;letter-spacing:-.01em;font-size:2rem;font-weight:700}.brand-suite{color:#afc0dd;font-size:.72rem;display:none}.header-search{flex:1;max-width:380px;margin-left:18px;position:relative}.header-search input{color:#fff;background:#1b3358;border:1px solid #2e4a7a;border-radius:8px;width:100%;height:38px;padding:0 12px 0 34px}.header-search input::placeholder{color:#9fb2d3}.header-search svg{color:#9fb2d3;position:absolute;top:11px;left:10px}.header-spacer{flex:1}.sync-status{color:#fff;border-radius:8px;align-items:center;gap:10px;padding:4px 8px;text-decoration:none;display:flex}.sync-status:hover{background:#1b3358}.sync-status svg{color:#9fb2d3}.sync-status.ok svg{color:#7fd08a}.sync-status.warn svg{color:var(--yellow)}.sync-status.err svg{color:#ff8a80}.sync-lines{flex-direction:column;line-height:1.15;display:flex}.sync-lines strong{white-space:nowrap;font-size:.95rem;font-weight:650}.sync-lines small{color:#c9d5ea;white-space:nowrap;font-size:.78rem}.header-icon{color:#fff;border-radius:8px;place-items:center;width:38px;height:38px;display:inline-grid;position:relative}.header-icon:hover{background:#1b3358}.dot-badge{background:var(--orange);color:var(--navy);text-align:center;border-radius:999px;min-width:16px;padding:0 4px;font-size:.62rem;font-weight:800;position:absolute;top:2px;right:0}.menu-toggle{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px;display:none}.tabbar{display:none}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-head h1{margin-right:auto}.back-btn{align-items:center;gap:6px;display:inline-flex}.subtitle{color:var(--muted);margin-top:2px;font-size:.9rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card+.card{margin-top:16px}.card-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.card-head h2{margin-right:auto}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px;display:grid}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:12px;padding:12px 14px;display:flex}.kpi-icon{background:var(--info-bg);width:38px;height:38px;color:var(--action);border-radius:9px;flex:none;place-items:center;display:grid}.kpi-icon.gold{color:#b37a00;background:#fff4db}.kpi-value{font-size:1.35rem;font-weight:700;line-height:1.1}.kpi-label{color:var(--muted);font-size:.8rem}.btn{border:1px solid var(--line-strong);height:36px;color:var(--text);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:550;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--action);color:var(--action)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--action);border-color:var(--action);color:#fff}.btn.primary:hover{background:var(--action-dark);color:#fff}.btn.accent{background:var(--yellow);border-color:var(--yellow);color:var(--navy)}.btn.accent:hover{background:var(--orange);border-color:var(--orange);color:var(--navy)}.btn.danger{color:var(--danger);border-color:#eab8b3}.btn.danger:hover{background:var(--danger-bg)}.btn.danger.solid{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.small{height:30px;padding:0 10px;font-size:.85rem}.btn.ghost{background:0 0;border-color:#0000}.icon-btn{width:32px;height:32px;padding:0}.field{gap:4px;font-size:.85rem;display:grid}.field>span{color:var(--muted);font-weight:550}.input,select.input,textarea.input{border:1px solid var(--line-strong);background:#fff;border-radius:8px;width:100%;height:36px;padding:0 10px}textarea.input{resize:vertical;height:auto;min-height:84px;padding:8px 10px}.input:focus,.btn:focus-visible,a:focus-visible,select:focus{outline:2px solid var(--yellow);outline-offset:1px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.form-grid .wide{grid-column:1/-1}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar .input{width:auto;min-width:140px}.search-input{flex:1;min-width:200px!important}.check{align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.hint{color:var(--muted);font-size:.82rem}.notice{background:var(--info-bg);border:1px solid #c9d8f2;border-radius:8px;padding:10px 12px;font-size:.9rem}.notice.warn{background:var(--warn-bg);border-color:#f3d58e}.notice.err{background:var(--danger-bg);color:#7a1b12;border-color:#f0b7b1}.notice+.notice{margin-top:8px}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:9px 14px;font-weight:600}.tab.active{color:var(--navy);border-bottom-color:var(--orange)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.88rem}.data th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;background:#f7f9fc;padding:8px 10px;font-size:.8rem;font-weight:650}.data th button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.data td{vertical-align:middle;border-bottom:1px solid #edf1f7;padding:6px 10px}.data tr:last-child td{border-bottom:0}.data tbody tr:hover{background:#f8fafd}.data tr.selected{background:#fff8e6}.data .title-cell a{color:var(--text);font-weight:600;text-decoration:none}.data .title-cell a:hover{color:var(--action);text-decoration:underline}.data .sub{color:var(--muted);font-size:.8rem}.col-check{width:34px}.col-cover{width:44px}.pagination{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 2px 0;font-size:.88rem;display:flex}.bulk-bar{background:#fff8e6;border:1px solid #f3d58e;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.cover{object-fit:cover;background:linear-gradient(160deg, var(--navy-2), var(--navy));width:34px;height:48px;color:var(--yellow);border-radius:3px;flex:none;place-items:center;display:grid;overflow:hidden;box-shadow:0 1px 2px #0003}.cover.large{border-radius:6px;width:150px;height:220px}.cover img{object-fit:cover;width:100%;height:100%}.tag{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:.76rem;font-weight:600;display:inline-flex}.tag.plain{color:var(--muted);background:#eef2f8}.status{white-space:nowrap;align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.status:before{content:"";background:#b8c2d3;border-radius:50%;width:8px;height:8px}.status.leido:before{background:var(--action)}.status.leyendo:before{background:var(--orange)}.status.pendiente:before{background:#9aa7bd;border:1px solid #9aa7bd;box-shadow:inset 0 0 0 2px #fff}.status.abandonado:before{background:var(--danger)}.stars{color:var(--yellow);vertical-align:middle;gap:1px;display:inline-flex}.stars button{cursor:pointer;color:inherit;background:0 0;border:0;padding:1px;line-height:0}.stars .empty{color:#d5dbe6}.progress{background:#e6ebf3;border-radius:99px;min-width:60px;height:6px;overflow:hidden}.progress>span{background:linear-gradient(90deg, var(--yellow), var(--orange));height:100%;display:block}.conf{align-items:center;gap:6px;font-size:.8rem;display:inline-flex}.badge{white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:650;display:inline-block}.badge.confirmado{color:#1d4f99;background:#e3edfb}.badge.probable{color:var(--action);background:#eaf0fb}.badge.dudoso{background:var(--warn-bg);color:#8a5a00}.badge.no_identificado{color:#5b6880;background:#eef0f4}.badge.posible_duplicado{color:#9a3d07;background:#fbe7db}.badge.aprobado{background:var(--navy);color:#fff}.badge.descartado{color:#8090a8;background:#eef0f4;text-decoration:line-through}.prov{color:var(--muted);background:#f1f4f9;border-radius:4px;margin-left:6px;padding:1px 5px;font-size:.7rem}.empty-state{text-align:center;color:var(--muted);padding:36px 16px}.empty-state svg{color:var(--line-strong);margin-bottom:8px}.list{gap:0;display:grid}.list-row{border-bottom:1px solid #edf1f7;align-items:center;gap:12px;padding:10px 4px;display:flex}.list-row:last-child{border-bottom:0}.grow{flex:1;min-width:0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.muted{color:var(--muted)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.thumb{object-fit:cover;background:#e6ebf3;border-radius:4px;width:64px;height:48px}.dropzone{border:2px dashed var(--line-strong);border-radius:var(--radius);text-align:center;background:#fafbfe;padding:22px}.dropzone.over{border-color:var(--orange);background:#fff8e6}.option-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.option-card{border:1px solid var(--line);border-radius:var(--radius);text-align:left;cursor:pointer;background:#fff;gap:6px;padding:14px;display:grid}.option-card.active{border-color:var(--orange);background:#fffbf2;box-shadow:0 0 0 2px #f29b3840}.option-card svg{color:var(--action)}.bar-progress{background:#e6ebf3;border-radius:99px;height:10px;overflow:hidden}.bar-progress>span{background:var(--action);height:100%;transition:width .2s;display:block}.hbars{gap:7px;display:grid}.hbar{grid-template-columns:minmax(90px,160px) 1fr 44px;align-items:center;gap:8px;font-size:.84rem;display:grid}.hbar-track{background:#eef2f8;border-radius:4px;height:12px;overflow:hidden}.hbar-fill{background:var(--action);border-radius:4px;height:100%}.hbar-value{text-align:right;font-weight:650}.vbars{border-bottom:1px solid var(--line);align-items:flex-end;gap:6px;height:160px;padding-top:10px;display:flex}.vbar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-width:18px;height:100%;font-size:.72rem;display:flex}.vbar-fill{background:linear-gradient(180deg, var(--yellow), var(--orange));border-radius:4px 4px 0 0;width:100%;max-width:38px;min-height:2px}.vbar-labels{color:var(--muted);gap:6px;font-size:.7rem;display:flex}.vbar-labels span{text-align:center;flex:1;min-width:18px;overflow:hidden}.donut-wrap{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.legend{gap:4px;font-size:.82rem;display:grid}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.shelf-map{align-items:flex-start;gap:14px;padding:6px 2px 10px;display:flex;overflow-x:auto}.bookcase{box-shadow:inset 0 0 0 2px #573a22, var(--shadow);background:#6b4a2e;border-radius:6px;flex:none;padding:8px}.bookcase.esquina{background:#7a5638}.bookcase-title{color:#fcebd3;justify-content:space-between;gap:8px;padding:0 2px 6px;font-size:.78rem;font-weight:700;display:flex}.shelf{background:#f6ebdd;border-bottom:7px solid #8c6440;border-radius:2px;align-items:flex-end;height:92px;margin-bottom:8px;display:flex;position:relative;overflow:hidden}.shelf:last-child{margin-bottom:0}.shelf.highlight{outline:3px solid var(--orange)}.shelf-free{background:repeating-linear-gradient(135deg,#0000 0 6px,#8c64401f 6px 8px);flex:1;height:100%}.shelf-label{color:#6e5137;z-index:2;background:#ffffffbf;border-radius:3px;padding:0 4px;font-size:.64rem;position:absolute;top:2px;right:4px}.spine{color:#fff;writing-mode:vertical-rl;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border:0;border-radius:2px 2px 0 0;flex:none;height:82%;margin-right:1px;padding:3px 0;font-size:.6rem;line-height:1;overflow:hidden;transform:rotate(180deg);box-shadow:inset -2px 0 #0000002e}.spine:hover,.spine.hl{outline:3px solid var(--yellow);z-index:3}.spine.hl{animation:1.2s ease-in-out 3 pulse}.cat-start{z-index:2;pointer-events:none;border-left:2px dashed #1427478c;width:0;position:absolute;top:0;bottom:0}.cat-start span{background:var(--navy);color:#fff;white-space:nowrap;border-radius:2px;padding:0 3px;font-size:.58rem;position:absolute;top:14px;left:2px}@keyframes pulse{50%{outline-color:var(--orange);outline-width:5px}}.compare{grid-template-columns:1fr 1fr;gap:16px;display:grid}.metric-table td:first-child{color:var(--muted)}.metric-table td{border-bottom:1px solid #edf1f7;padding:5px 8px;font-size:.86rem}.pros li{color:#1d4f99}.cons li{color:#8a3a12}.step-row.done{opacity:.6}.step-row.done .grow{text-decoration:line-through}.confirm-layer{z-index:60;background:#0c162873;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.confirm-box{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:18px;box-shadow:0 10px 40px #00000040}.confirm-box p{margin:8px 0 16px}.toast{background:var(--navy);color:#fff;z-index:70;box-shadow:var(--shadow);border-radius:8px;max-width:calc(100vw - 32px);padding:10px 16px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.detail-grid{grid-template-columns:180px 1fr;gap:20px;display:grid}.detail-side{align-content:start;justify-items:center;gap:10px;display:grid}.save-bar{z-index:10;border-top:1px solid var(--line);background:#f3f6fbf5;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;padding:10px 0;display:flex;position:sticky;bottom:0}.save-bar .dirty{color:#8a5a00;align-self:center;margin-right:auto;font-weight:600}.note-item{background:#f8fafd;border:1px solid #e6ebf3;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.note-item blockquote{margin:0;font-style:italic}@media (width<=1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1180px){.header-search{display:none}.brand-name{font-size:1.6rem}}@media (width<=900px){.menu-toggle{display:inline-flex}.sidebar{z-index:50;visibility:hidden;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{visibility:visible;transform:none;box-shadow:4px 0 20px #00000040}.backdrop.open{z-index:45;background:#0c162859;display:block;position:fixed;inset:0}.app-header{border-left:0;gap:8px;height:60px;padding:0 12px}.brand{gap:8px}.brand svg{width:30px;height:30px}.brand-name{font-size:1.15rem}.brand-suite{color:var(--yellow);font-size:.66rem;display:block}.sync-lines,.hide-sm{display:none}.header-icon{width:34px;height:34px}.main{padding:14px 12px 96px}.tabbar{z-index:30;background:var(--navy);padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #2a4370;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a,.tabbar button{color:#c9d5ea;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:4px 0;font-size:.68rem;text-decoration:none;display:flex}.tabbar .active{color:var(--yellow)}.compare{grid-template-columns:1fr}.compare.mobile-toggle>.compare-pane:not(.active){display:none}}@media (width<=720px){.grid-2,.grid-3,.grid-4,.detail-grid{grid-template-columns:1fr}table.data.responsive thead{display:none}table.data.responsive,.data.responsive tbody,.data.responsive tr{display:block}.data.responsive tr{border-bottom:1px solid #edf1f7;grid-template-columns:28px 40px 1fr auto;align-items:center;gap:2px 10px;padding:8px 10px;display:grid}.data.responsive td{border:0;padding:0;display:block}.data.responsive td.c-check,.data.responsive td.c-cover{grid-row:1/span 3}.data.responsive td.c-title{grid-column:3}.data.responsive td.c-author{color:var(--muted);grid-column:3;font-size:.8rem}.data.responsive td.c-meta{flex-wrap:wrap;grid-column:3;align-items:center;gap:8px;display:flex}.data.responsive td.c-action{grid-area:1/4/span 3}.data.responsive td.c-hide-sm{display:none}.data.responsive td[data-label]:before{content:attr(data-label) ": ";color:var(--muted);font-size:.75rem}.data.responsive td.c-meta[data-label]:before,.data.responsive td.c-title[data-label]:before,.data.responsive td.c-author[data-label]:before{content:none}.kpi-value{font-size:1.15rem}.shelf{height:76px}}@media (width<=380px){.main{padding:12px 10px 40px}.brand-name{font-size:1rem}.btn{padding:0 10px}}@media print{.sidebar,.app-header,.save-bar{display:none}}.library-layout{grid-template-columns:minmax(0,2.5fr) minmax(300px,1fr);align-items:start;gap:18px;display:grid}.library-main{min-width:0}.library-bottom{grid-column:1/-1;grid-template-columns:1fr 1.05fr 1.1fr;gap:18px;display:grid}.library-layout .card+.card{margin-top:0}.kpis-4{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.kpi{border:0;padding:14px 16px}.kpi-icon{background:0 0;border-radius:10px;width:46px;height:46px}.kpi .kpi-value{font-size:1.6rem}.kpi .kpi-label{color:var(--text);font-size:.85rem}.tone-blue{background:#eaf1fc}.tone-blue .kpi-icon{color:#2f5bb7}.tone-green{background:#e7f5ea}.tone-green .kpi-icon{color:#2e9a4b}.tone-gold{background:#fff3d6}.tone-gold .kpi-icon{color:#e7a417}.catalog-card{padding:14px 14px 10px}.segmented{gap:6px;margin-bottom:10px;display:none;overflow-x:auto}.segmented button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:7px 12px;font-weight:600}.segmented button.active{background:linear-gradient(90deg, var(--yellow), var(--orange));color:var(--navy)}.search-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.search-box{border:1px solid var(--line-strong);min-width:0;height:40px;color:var(--muted);background:#fff;border-radius:8px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search-box input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;flex:1}.search-box:focus-within{outline:2px solid var(--yellow)}.filter-btn{width:40px;height:40px;color:var(--navy);position:relative}.filter-btn.on{border-color:var(--orange);background:#fff6e5}.filters{background:#f7f9fc;border-radius:8px;margin:0 0 10px;padding:10px}.table-wrap.flat{border:0;border-radius:0}.books-table th{color:var(--text);border-bottom:1px solid var(--line);background:#fff;font-size:.84rem}.books-table td{padding:7px 10px}.books-table tr.focused{background:#f3f7ff}.books-table tbody tr{cursor:pointer}.title-with-cover{align-items:center;gap:10px;display:flex}.title-with-cover a{font-weight:650}.title-with-cover .cover{width:28px;height:40px}.only-sm{display:none}.st{white-space:nowrap;align-items:center;gap:6px;font-size:.86rem;display:inline-flex}.st-read svg{color:#2e9a4b}.st-pending svg{color:#2f5bb7}.st-reading svg{color:var(--orange)}.st-dropped svg{color:var(--danger)}.rating-cell{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.rating-cell b{font-size:.84rem}.loc-cell a{white-space:nowrap;font-size:.82rem;font-weight:600;text-decoration:none}select.input.small-select{width:auto;height:30px;padding:0 6px;font-size:.84rem}.page-btn{border:1px solid var(--line-strong);cursor:pointer;min-width:30px;height:30px;color:var(--text);background:#fff;border-radius:6px;font-weight:600}.page-btn.active{background:var(--action);color:#fff;border-color:var(--action)}.page-btn:disabled{opacity:.45;cursor:default}.panel{padding:0;overflow:hidden}.panel>:not(.panel-head){margin-left:16px;margin-right:16px}.panel-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;display:flex}.panel-head h2{margin-right:auto;font-size:1.12rem}.panel-head.dark{background:var(--navy);color:#fff;border-bottom:0}.panel-head.dark svg{color:var(--yellow)}.panel-head svg{color:#e7a417}.panel-sub{margin-top:14px;margin-bottom:6px;font-size:1rem}.shelves-panel .shelf-map{margin:12px 16px}.shelf-photo{aspect-ratio:4/3;background:#2a1c12;border-radius:10px;margin-top:12px;position:relative;overflow:hidden}.shelf-photo img{object-fit:cover;filter:saturate(1.05);width:100%;height:100%;display:block}.photo-badges{pointer-events:none;grid-template-columns:1fr 1fr;align-content:space-around;gap:8px 12px;margin:0;padding:12px;list-style:none;display:grid;position:absolute;inset:0}.photo-badges li{align-items:center;gap:6px;display:flex}.photo-badges li:nth-child(2n){justify-self:end}.photo-badges b{background:var(--yellow);width:28px;height:28px;color:var(--navy);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid;box-shadow:0 1px 4px #0006}.photo-badges span{color:#fff;border:2px solid var(--yellow);background:#142747e0;border-radius:8px;flex-direction:column;padding:3px 8px;font-size:.78rem;font-weight:650;line-height:1.2;display:flex}.photo-badges small{color:#dce6f7;font-weight:400}.dist-table{border-collapse:collapse;width:calc(100% - 32px);margin-bottom:14px;font-size:.84rem}.dist-table th{text-align:left;background:#f3f6fb;padding:6px 8px;font-weight:650}.dist-table td{border-bottom:1px solid #edf1f7;padding:5px 8px}.dist-table td:last-child,.dist-table th:last-child{text-align:right}.dist-table tfoot td{border-bottom:0;font-weight:700}.detail-body{gap:14px;margin-top:14px;display:flex}.detail-body .cover.large{width:96px;height:140px}.detail-info{flex:1;min-width:0}.detail-info h3{font-size:1.05rem}.detail-info dl{grid-template-columns:auto 1fr;gap:3px 8px;margin:6px 0 0;font-size:.84rem;display:grid}.detail-info dt{font-weight:650}.detail-info dd{min-width:0;margin:0}.detail-actions{margin:14px 16px 16px}.detail-actions .btn{flex:1}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 16px 16px;display:grid}.feature-tile{text-align:center;border:1px solid var(--line);color:var(--text);background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;font-size:.84rem;font-weight:600;text-decoration:none;display:flex}.feature-tile svg{color:#e7a417}.feature-tile:hover{border-color:var(--orange);background:#fffbf2}.stats-panel-body{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 16px 16px;display:flex}.stat-list{gap:7px;min-width:170px;margin:0;padding:0;font-size:.88rem;list-style:none;display:grid}.stat-list li{align-items:center;gap:6px;display:flex}.stat-list svg{color:var(--action)}.stats-panel .legend{gap:4px;min-width:130px;margin:0;padding:0;font-size:.82rem;list-style:none;display:grid}.stats-panel .legend li{align-items:center;gap:4px;display:flex}.stats-panel .legend b{margin-left:auto;padding-left:10px}.fab{display:none}@media (width<=1280px){.library-layout{grid-template-columns:1fr}.library-bottom{grid-template-columns:1fr 1fr}.stats-panel{grid-column:1/-1}}@media (width<=900px){.kpis-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{padding:10px}.kpi .kpi-value{font-size:1.25rem}.segmented{display:flex}.library-bottom{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fab{right:18px;bottom:calc(78px + env(safe-area-inset-bottom));background:linear-gradient(135deg, var(--yellow), var(--orange));color:#fff;z-index:31;cursor:pointer;border:0;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;position:fixed;box-shadow:0 6px 18px #f29b3880}.hide-sm{display:none!important}}@media (width<=720px){.data.responsive.books-table tr{grid-template-columns:26px 1fr auto}.data.responsive.books-table td.c-title{grid-area:1/2/span 2}.data.responsive.books-table td.c-status{grid-area:1/3/span 2;align-items:center;display:flex}.books-table .st-text{display:none}.books-table .st svg{width:22px;height:22px}.only-sm{display:block}.title-with-cover .cover{width:34px;height:48px}.pagination{font-size:.8rem}.photo-badges span{font-size:.68rem}.detail-body .cover.large{width:80px;height:116px}}.books-table{table-layout:auto}.books-table td.c-title{min-width:190px}.books-table td.c-author{min-width:100px;max-width:130px;font-size:.82rem}.books-table .tag{padding:2px 7px;font-size:.7rem}.books-table .st{font-size:.8rem}.books-table .stars svg{width:13px;height:13px}.books-table th,.books-table td{padding-left:7px;padding-right:7px}.feature-tile{overflow-wrap:anywhere;font-size:.78rem}@media (width<=900px){.app{background:var(--bg)}}.import-groups{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.import-group{text-align:left;border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;gap:6px;padding:16px;display:grid}.import-group h2{align-items:center;gap:10px;font-size:1.05rem;display:flex}.import-group h2 svg{color:#e7a417}.import-group.active{border-color:var(--orange);background:#fffbf2;box-shadow:0 0 0 3px #f29b382e}.import-summary{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:12px;font-size:.9rem;display:flex}.catalog-table td{vertical-align:top}.catalog-table .input{height:32px;font-size:.86rem}.catalog-table tr.row-skip{color:var(--muted);background:#f6f7fa}.catalog-table tr.row-skip .input{color:var(--muted)}.catalog-table .issue{color:#8a3a12}.photo-ref{color:var(--muted);place-items:center;font-size:.72rem;display:grid}@media (width<=720px){.import-groups{grid-template-columns:1fr}}
