/* PersonalBiblios RC2.1 — base V15 integrada */
:root{--font-adjust:0px;--ink:#171819;--paper:#f3f0ea;--card:#fffdf9;--line:#ded8cf;--muted:#716e68;--ruby:#8f3945;--ruby2:#6f2833;--pale:#f1e3e5;--sage:#68796e;--gold:#b9884f;--shadow:0 16px 45px rgba(38,29,25,.07)}
*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-geist),Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8f394544;outline-offset:2px}.app{min-height:100vh}
.side{width:238px;position:fixed;z-index:30;inset:0 auto 0 0;display:flex;flex-direction:column;padding:29px 20px 21px;color:#f7f4ee;background:var(--ink)}
.logo{display:flex;align-items:center;gap:12px}.logo>span{width:39px;height:39px;display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:8px 7px;border-radius:11px;background:var(--ruby);box-shadow:inset 0 0 0 1px #ffffff22}.logo>span i{width:6px;height:20px;border-radius:1px;background:#f9f1e6;transform:skewY(-5deg)}.logo>span i:nth-child(2){height:17px;background:#caa6aa}.logo>span i:nth-child(3){height:22px}.logo>div{display:flex;flex-direction:column}.logo strong{font:600 calc(24px + var(--font-adjust))/1 ui-serif,Georgia,serif;letter-spacing:-.02em}.logo small{margin-top:5px;color:#969796;font-size:calc(11px + var(--font-adjust));text-transform:uppercase;letter-spacing:.16em}
.side nav{display:flex;flex-direction:column;gap:5px;margin-top:42px}.side nav button{min-height:44px;display:flex;align-items:center;gap:13px;padding:0 13px;border:0;border-radius:10px;color:#a8aaa8;background:transparent;font-size:calc(14px + var(--font-adjust));cursor:pointer}.side nav button:hover{color:#fff;background:#ffffff0c}.side nav button.active{color:#fff;background:#8f394533;box-shadow:inset 3px 0 var(--ruby)}.side nav button b{margin-left:auto;padding:2px 7px;border-radius:99px;background:#ffffff12;font-size:calc(11px + var(--font-adjust))}
.private{display:flex;gap:10px;margin-top:auto;padding:14px;border:1px solid #343638;border-radius:13px;background:#1e2021;color:#dcadb3}.private>span{display:flex;flex-direction:column;gap:4px;color:#fff}.private strong{font-size:calc(12px + var(--font-adjust))}.private small{color:#929493;font-size:calc(10px + var(--font-adjust));line-height:1.45}.user{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:16px;border-top:1px solid #303234}.user>i,.mobile-head>i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--ruby);font-size:calc(12px + var(--font-adjust));font-weight:700;font-style:normal}.user span{display:flex;flex-direction:column;gap:2px}.user strong{font-size:calc(12px + var(--font-adjust))}.user small{color:#878887;font-size:calc(10px + var(--font-adjust))}.mobile-head,.bottom{display:none}
main{min-height:100vh;margin-left:238px;padding:43px clamp(28px,4.2vw,70px) 70px}.page-head{max-width:1450px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:0 auto 33px}.eyebrow{display:block;margin-bottom:8px;color:var(--ruby);font-size:calc(10px + var(--font-adjust));font-weight:750;letter-spacing:.19em;text-transform:uppercase}.page-head h1{margin:0;font:500 clamp(calc(36px + var(--font-adjust)),calc(4vw + var(--font-adjust)),calc(50px + var(--font-adjust)))/1.05 ui-serif,Georgia,serif;letter-spacing:-.035em}.page-head p{max-width:610px;margin:10px 0 0;color:var(--muted);font-size:calc(14px + var(--font-adjust));line-height:1.6}.head-actions{display:flex;align-items:center;gap:16px;padding-bottom:4px}.head-actions>small{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:calc(11px + var(--font-adjust));white-space:nowrap}.head-actions>small i{width:7px;height:7px;border-radius:50%;background:#83a28b;box-shadow:0 0 0 4px #68796e1f}
.primary,.secondary{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 17px;border-radius:9px;font-size:calc(12px + var(--font-adjust));font-weight:700;cursor:pointer;transition:.18s}.primary{border:1px solid var(--ruby);color:#fff;background:var(--ruby);box-shadow:0 5px 14px #8f394529}.primary:hover{background:var(--ruby2);transform:translateY(-1px)}.secondary{border:1px solid var(--line);background:#fff}.secondary:hover{border-color:#bdb5ab;background:#faf8f3}.secondary:disabled{opacity:.5;cursor:not-allowed}.primary.big{min-height:48px;padding:0 24px;font-size:calc(13px + var(--font-adjust))}.primary.full{width:100%}
.metrics{max-width:1450px;display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:12px;margin:0 auto}.metrics article{min-height:123px;position:relative;display:flex;align-items:center;gap:14px;overflow:hidden;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 4px 15px #241b1710}.metrics article>svg{width:39px;height:39px;padding:10px;border-radius:10px;color:var(--ruby);background:var(--pale)}.metrics article:nth-child(3)>svg{color:var(--sage);background:#e6ece7}.metrics article:nth-child(4)>svg{color:var(--gold);background:#f4eadb}.metrics article>span{display:flex;flex-direction:column}.metrics small{color:#787672;font-size:calc(10px + var(--font-adjust));text-transform:uppercase;letter-spacing:.09em}.metrics strong{margin-top:5px;font:600 calc(28px + var(--font-adjust))/1 ui-serif,Georgia,serif}.metrics em{margin-top:7px;color:#8b8882;font-size:calc(10px + var(--font-adjust));font-style:normal}.metrics .dark{color:#fff;border-color:#252628;background:#252628}.metrics .dark>svg{color:#e6bdc2;background:#8f394547}.metrics .dark small,.metrics .dark em{color:#9fa19f}.mini-spines{position:absolute;right:15px;bottom:0;display:flex;align-items:flex-end;gap:3px}.mini-spines i{width:8px;height:53px;background:#964653}.mini-spines i:nth-child(2){height:43px;background:#cf9a67}.mini-spines i:nth-child(3){height:60px;background:#697c71}.mini-spines i:nth-child(4){height:48px;background:#a9a2a1}.mini-spines i:nth-child(5){height:55px;background:#79404a}.ring{width:45px;height:45px;position:absolute;right:15px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(closest-side,#fff 74%,transparent 75%),conic-gradient(var(--ruby) 86%,#eee 0);font-size:calc(10px + var(--font-adjust))}
.quick-shelves{max-width:1450px;display:grid;grid-template-columns:180px 1fr;align-items:center;gap:24px;margin:28px auto 0}.quick-shelves h2,.catalog h2,.section-head h2,.labels h2,.stats h2{margin:0;font:500 calc(25px + var(--font-adjust))/1.1 ui-serif,Georgia,serif;letter-spacing:-.02em}.quick-shelves>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick-shelves button{min-height:67px;display:grid;grid-template-columns:1fr auto 15px;align-items:center;gap:13px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fffdf9cc;text-align:left;cursor:pointer}.quick-shelves button:hover{border-color:#bcb3a9;box-shadow:var(--shadow)}.quick-shelves button>span:first-child{display:flex;flex-direction:column;gap:3px}.quick-shelves button b{font-size:calc(12px + var(--font-adjust))}.quick-shelves button small{color:var(--muted);font-size:calc(10px + var(--font-adjust))}.quick-shelves button>span:last-child{color:var(--ruby);font-size:calc(22px + var(--font-adjust))}.tiny{width:40px;height:40px;display:grid;gap:2px;padding:3px;border:2px solid #a1988f;background:#d7d0c7}.tiny b{display:block;background:repeating-linear-gradient(90deg,#8e4750 0 5px,#d0ab72 5px 10px,#60766b 10px 16px,#727781 16px 22px)}
.catalog{max-width:1450px;margin:31px auto 0;padding:26px;border:1px solid var(--line);border-radius:17px;background:#fffdf9e8;box-shadow:var(--shadow)}.catalog>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.tools{display:flex;align-items:center;gap:9px}.tools label{width:min(360px,35vw);height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#8a8781}.tools input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:calc(12px + var(--font-adjust))}.tools>span{display:flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:#f1eee8}.tools>span button{width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;color:#8c8983;background:transparent;cursor:pointer}.tools>span button.active{color:var(--ink);background:#fff;box-shadow:0 1px 5px #00000014}
.book-grid{display:grid;grid-template-columns:repeat(7,minmax(115px,1fr));gap:25px 17px;margin-top:24px}.book{min-width:0}.cover{--cover:#777;aspect-ratio:.66;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:15px 11px 12px 16px;border-radius:3px 8px 8px 3px;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--cover),#fff 14%),var(--cover));box-shadow:-4px 5px 13px #1b161429,inset 4px 0 #ffffff25,inset -2px 0 #00000014}.cover:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#ffffff20,transparent 24%,#00000018);pointer-events:none}.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover small,.cover strong,.cover i{position:relative;z-index:1}.cover small{font-size:calc(8px + var(--font-adjust));text-transform:uppercase;letter-spacing:.1em}.cover strong{max-width:90%;font:600 clamp(calc(13px + var(--font-adjust)),calc(1vw + var(--font-adjust)),calc(17px + var(--font-adjust)))/1.05 ui-serif,Georgia,serif}.cover i{font-size:calc(9px + var(--font-adjust));font-style:normal}.cover em{width:92px;position:absolute;z-index:3;top:14px;right:-26px;padding:3px 0;transform:rotate(42deg);color:#4f321c;background:#e3c18e;text-align:center;font-size:calc(8px + var(--font-adjust));font-weight:800;font-style:normal;text-transform:uppercase;letter-spacing:.08em}.book-info{padding-top:10px}.book-info>em{display:inline-flex;padding:3px 6px;border-radius:4px;color:#42604e;background:#e3ece6;font-size:calc(8px + var(--font-adjust));font-weight:800;font-style:normal;text-transform:uppercase}.book-info h3{margin:7px 0 3px;overflow:hidden;font:600 calc(15px + var(--font-adjust))/1.2 ui-serif,Georgia,serif;text-overflow:ellipsis;white-space:nowrap}.book-info p{margin:0;overflow:hidden;color:var(--muted);font-size:calc(10px + var(--font-adjust));text-overflow:ellipsis;white-space:nowrap}.book-info>small{display:block;margin-top:4px;color:#9b9892;font-size:calc(10px + var(--font-adjust))}.book-info>div{display:flex;align-items:center;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid #ebe6de;color:#77736d;font-size:calc(9px + var(--font-adjust))}.book-info>div b{color:var(--ruby)}.new-book{min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed #c9c2b9;border-radius:8px;background:#ffffff70;cursor:pointer}.new-book>i{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:var(--ruby);background:var(--pale)}.new-book strong{font:600 calc(15px + var(--font-adjust)) ui-serif,Georgia,serif}.new-book small{color:var(--muted);font-size:calc(10px + var(--font-adjust))}.empty{grid-column:1/-1;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.empty h3{margin:0;color:var(--ink);font:600 calc(20px + var(--font-adjust)) ui-serif,Georgia,serif}
.book-list{display:flex;flex-direction:column;margin-top:18px}.book-list .book{min-height:82px;display:grid;grid-template-columns:46px 1fr;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid #e9e4dc}.book-list .cover{width:44px;height:64px;aspect-ratio:auto;padding:5px}.book-list .cover small,.book-list .cover i{display:none}.book-list .cover strong{font-size:calc(8px + var(--font-adjust))}.book-list .book-info{display:grid;grid-template-columns:75px minmax(150px,1fr) minmax(100px,.7fr) 40px minmax(155px,.8fr);align-items:center;gap:12px;padding:0}.book-list .book-info h3,.book-list .book-info p,.book-list .book-info>small,.book-list .book-info>div{margin:0;padding:0;border:0}
.add-page{max-width:1300px;display:grid;grid-template-columns:minmax(300px,.75fr) 1.25fr;overflow:hidden;margin:0 auto;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:var(--shadow)}.scan-panel{min-height:610px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:#fff;background:radial-gradient(circle at 50% 34%,#3b3435,var(--ink) 60%);text-align:center}.scan-panel .eyebrow{color:#d5aab0}.phone{width:112px;height:170px;position:relative;display:grid;place-items:center;margin-bottom:24px;border:2px solid #847d7c;border-radius:22px;color:#d4a6ad;background:linear-gradient(145deg,#2e2e2f,#202122);box-shadow:0 20px 55px #0005}.phone:before{content:"";width:36px;height:4px;position:absolute;top:8px;border-radius:9px;background:#646160}.phone i{height:1px;position:absolute;right:-30px;left:-30px;background:linear-gradient(90deg,transparent,#b75261,transparent);box-shadow:0 0 16px #b75261;animation:scan 2s ease-in-out infinite}@keyframes scan{0%,100%{transform:translateY(-43px);opacity:.4}50%{transform:translateY(43px);opacity:1}}.scan-panel h2{margin:2px 0 9px;font:500 calc(30px + var(--font-adjust)) ui-serif,Georgia,serif}.scan-panel p{max-width:370px;margin:0 0 22px;color:#aaa7a5;font-size:calc(12px + var(--font-adjust));line-height:1.7}.scan-panel>small{margin-top:13px;color:#807e7c;font-size:calc(9px + var(--font-adjust))}.entry-panel{padding:38px}.active-place{display:flex;justify-content:space-between;gap:22px;padding:21px;border:1px solid #dfd7cc;border-radius:13px;background:#f7f2eb}.active-place h2{margin:0;font:600 calc(21px + var(--font-adjust)) ui-serif,Georgia,serif}.active-place p{margin:6px 0 0;color:var(--muted);font-size:calc(10px + var(--font-adjust))}.active-place>div:last-child{display:flex;gap:11px}.active-place label{min-width:126px;display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:calc(9px + var(--font-adjust));text-transform:uppercase;letter-spacing:.1em}.active-place select,.settings select{height:38px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:calc(11px + var(--font-adjust));text-transform:none;letter-spacing:0}.segments{height:38px;display:flex;padding:3px;border:1px solid var(--line);border-radius:8px;background:#fff}.segments button{flex:1;border:0;border-radius:5px;background:transparent;font-size:calc(10px + var(--font-adjust));cursor:pointer}.segments button.active{color:#fff;background:var(--ruby)}.or{display:flex;align-items:center;gap:12px;margin:27px 0;color:#9a9690;font-size:calc(9px + var(--font-adjust));text-transform:uppercase;letter-spacing:.13em}.or:before,.or:after{content:"";height:1px;flex:1;background:var(--line)}.isbn{display:block;font-size:calc(11px + var(--font-adjust));font-weight:700}.isbn>div{display:flex;gap:8px;margin-top:7px}.isbn input{height:46px;flex:1;padding:0 14px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:calc(13px + var(--font-adjust))}.isbn>small{display:block;margin-top:8px;color:var(--ruby);font-weight:400}.found{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:15px;margin-top:27px;padding:17px;border:1px solid #d9d1c8;border-radius:12px;background:#fff;box-shadow:0 6px 25px #0000000a}.found-cover{width:70px;height:102px;display:grid;place-items:center;overflow:hidden;border-radius:3px 6px 6px 3px;color:#fff;background:#727b80}.found-cover img{width:100%;height:100%;object-fit:cover}.found h3{margin:0;font:600 calc(19px + var(--font-adjust)) ui-serif,Georgia,serif}.found p{margin:4px 0;color:var(--muted);font-size:calc(11px + var(--font-adjust))}.found small{font-size:calc(9px + var(--font-adjust));color:#999}.found em{display:flex;align-items:center;gap:5px;margin-top:10px;color:var(--ruby);font-size:calc(10px + var(--font-adjust));font-weight:700;font-style:normal}.tip{display:flex;align-items:center;gap:11px;margin-top:27px;padding:14px;border-radius:10px;color:var(--ruby);background:#f3eee6}.tip>span{color:var(--ink)}.tip strong{font-size:calc(11px + var(--font-adjust))}.tip p{margin:3px 0 0;color:var(--muted);font-size:calc(10px + var(--font-adjust))}
.shelves-page{max-width:1400px;display:grid;grid-template-columns:1fr 305px;gap:18px;margin:0 auto}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}.units{display:grid;grid-template-columns:2fr 1fr 1fr;align-items:end;gap:15px}.unit{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}.unit>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.unit h3{margin:0;font:600 calc(17px + var(--font-adjust)) ui-serif,Georgia,serif}.unit>header>small{padding:5px 8px;border-radius:99px;color:var(--muted);background:#f0ece6;font-size:calc(9px + var(--font-adjust))}.unit>div{display:grid;gap:5px;padding:7px;border:6px solid #81776e;background:#a39990;box-shadow:inset 0 0 0 2px #ffffff2e}.unit>div button{min-height:77px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:8px;border:0;background:#ece5da;text-align:left;cursor:pointer;box-shadow:inset 0 5px 9px #3d2c1e17}.unit>div button.active{outline:4px solid var(--ruby);outline-offset:-4px}.unit>div button>b{position:absolute;z-index:2;top:5px;right:6px;padding:3px 5px;border-radius:4px;color:#fff;background:#1f1c1abd;font-size:calc(9px + var(--font-adjust))}.unit>div button>i{height:43px;border-bottom:3px solid #695e55;background:repeating-linear-gradient(90deg,#7b424b 0 6px,#d0a264 6px 12px,#61756c 12px 17px,#586274 17px 25px,#b9795b 25px 31px,#918d86 31px 38px)}.unit>div button>span{margin-top:5px;color:#68635e;font-size:calc(8px + var(--font-adjust))}.shelf-detail{padding:23px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}.shelf-detail h2{margin:0;font:600 calc(29px + var(--font-adjust)) ui-serif,Georgia,serif}.shelf-detail>p{margin:5px 0 19px;color:var(--muted);font-size:calc(10px + var(--font-adjust))}.layer-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.layer-tabs button{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#faf8f4;text-align:left;font-size:calc(9px + var(--font-adjust));cursor:pointer}.layer-tabs button b{color:var(--ink);font-size:calc(11px + var(--font-adjust))}.layer-tabs button.active{border-color:var(--ruby);background:var(--pale);box-shadow:inset 0 0 0 1px var(--ruby)}.shelf-books{height:120px;display:flex;align-items:flex-end;gap:3px;margin:19px 0;padding:14px 12px 10px;border-bottom:6px solid #7c6c5f;border-radius:9px 9px 0 0;background:#e7dfd3}.shelf-books i{width:calc(100% / 11);height:var(--h);border-radius:1px 2px 0 0;background:var(--spine);box-shadow:inset 2px 0 #ffffff2b}.shelf-detail dl{margin:0 0 18px}.shelf-detail dl div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #ebe6df;font-size:calc(10px + var(--font-adjust))}.shelf-detail dt{color:var(--muted)}.shelf-detail dd{margin:0;font-weight:700}
.labels,.stats,.settings{max-width:1260px;margin:0 auto}.labels>header{display:flex;align-items:center;justify-content:space-between;padding:24px 27px;border-radius:15px;color:#fff;background:var(--ink)}.labels>header .eyebrow{color:#d6a9af}.labels>header p{max-width:620px;margin:8px 0 0;color:#aaa9a6;font-size:calc(11px + var(--font-adjust));line-height:1.6}.label-sheet{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.label-sheet article{min-height:120px;display:grid;grid-template-columns:105px 1fr 70px;align-items:center;gap:17px;padding:15px 19px;border:1px dashed #a9a198;border-radius:5px;background:#fff}.label-id{height:82px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line)}.label-id span,.label-id b{font:500 calc(31px + var(--font-adjust)) ui-serif,Georgia,serif}.label-id b{color:var(--ruby);font-weight:700}.label-sheet article>div:nth-child(2)>strong{font:600 calc(16px + var(--font-adjust)) ui-serif,Georgia,serif}.label-sheet article p{margin:5px 0;color:var(--muted);font-size:calc(10px + var(--font-adjust))}.label-sheet article small{color:#999;font-size:calc(9px + var(--font-adjust));text-transform:uppercase;letter-spacing:.12em}.qr{width:65px;height:65px;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:5px;background:#f3f0eb}.qr b.on{background:var(--ink)}.labels>aside{display:flex;align-items:center;gap:9px;margin-top:14px;padding:12px 15px;border-radius:9px;color:#5d695f;background:#e5ece6;font-size:calc(10px + var(--font-adjust))}
.stats{display:grid;grid-template-columns:.8fr 1.3fr;gap:15px}.stats>article{padding:27px;border:1px solid var(--line);border-radius:15px;background:var(--card);box-shadow:var(--shadow)}.stats .total{min-height:272px;color:#fff;background:var(--ink)}.total .eyebrow{color:#d5aab0}.total>strong{display:block;margin-top:27px;font:600 calc(67px + var(--font-adjust))/1 ui-serif,Georgia,serif}.total>p{margin:5px 0;color:#aaa;font-size:calc(12px + var(--font-adjust))}.total>em{display:inline-flex;margin-top:33px;padding:8px 11px;border-radius:99px;color:#b9c7bc;background:#68796e38;font-size:calc(10px + var(--font-adjust));font-style:normal}.bars>div{height:175px;display:flex;align-items:flex-end;gap:8px;margin-top:19px;padding-top:10px;border-bottom:1px solid var(--line)}.bars>div span{height:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}.bars>div i{width:64%;border-radius:4px 4px 0 0;background:linear-gradient(var(--ruby),#b66b75)}.bars>div small{color:var(--muted);font-size:calc(9px + var(--font-adjust))}.occupancy{grid-column:1/-1}.occupancy>div{margin-top:19px}.occupancy>div>span{display:flex;justify-content:space-between;margin-bottom:7px}.occupancy>div>span b{font-size:calc(11px + var(--font-adjust))}.occupancy>div>span small{color:var(--muted);font-size:calc(10px + var(--font-adjust))}.occupancy>div>i{height:7px;display:block;overflow:hidden;border-radius:9px;background:#ece7df}.occupancy>div>i b{height:100%;display:block;border-radius:9px;background:linear-gradient(90deg,var(--ruby),#bd7982)}
.privacy-card,.setting-grid>article{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}.privacy-card{display:grid;grid-template-columns:47px 1fr auto;gap:17px}.privacy-card>i{width:47px;height:47px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--ruby)}.privacy-card h2,.setting-grid h3{margin:0;font:600 calc(23px + var(--font-adjust)) ui-serif,Georgia,serif}.privacy-card p,.setting-grid p{max-width:640px;margin:7px 0 14px;color:var(--muted);font-size:calc(10px + var(--font-adjust));line-height:1.6}.privacy-card ul{display:flex;gap:17px;padding:0;margin:0;list-style:none}.privacy-card li{display:flex;align-items:center;gap:4px;color:#5a665d;font-size:calc(9px + var(--font-adjust))}.privacy-card>em{height:max-content;padding:6px 10px;border-radius:99px;color:#4e6655;background:#e3ece5;font-size:calc(10px + var(--font-adjust));font-weight:700;font-style:normal}.setting-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}.setting-grid>article{min-height:188px}.setting-grid h3{font-size:calc(19px + var(--font-adjust))}.swatches{display:flex;gap:9px}.swatches i{width:35px;height:35px;border:3px solid #fff;border-radius:50%;background:#f1eee8;box-shadow:0 0 0 2px var(--ruby)}.swatches i:nth-child(2){background:#242527;box-shadow:0 0 0 1px var(--line)}.swatches i:nth-child(3){background:#d8c8ae;box-shadow:0 0 0 1px var(--line)}
.overlay{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:#0f1011cc;backdrop-filter:blur(8px)}.camera-modal{width:min(510px,100%);padding:21px;border-radius:17px;background:var(--card);box-shadow:0 30px 100px #0006}.camera-modal>header{display:flex;align-items:flex-start;justify-content:space-between}.camera-modal h2{margin:0;font:600 calc(26px + var(--font-adjust)) ui-serif,Georgia,serif}.camera-modal>header button{width:37px;height:37px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.camera-box{aspect-ratio:4/3;position:relative;overflow:hidden;margin-top:17px;border-radius:12px;background:#171819}.camera-box video{width:100%;height:100%;object-fit:cover}.target{position:absolute;inset:28% 11%}.target i{width:26px;height:26px;position:absolute;border-color:#f3d7db;border-style:solid}.target i:nth-child(1){inset:0 auto auto 0;border-width:3px 0 0 3px}.target i:nth-child(2){inset:0 0 auto auto;border-width:3px 3px 0 0}.target i:nth-child(3){inset:auto auto 0 0;border-width:0 0 3px 3px}.target i:nth-child(4){inset:auto 0 0 auto;border-width:0 3px 3px 0}.camera-modal>p{margin:13px 0;color:var(--muted);font-size:calc(11px + var(--font-adjust));text-align:center}.camera-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.camera-actions>.secondary,.camera-actions>.primary{width:100%}.camera-actions>.primary{grid-column:1/-1}.photo-pick{position:relative}.photo-pick input{width:1px;height:1px;position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.photo-pick.disabled{opacity:.5;pointer-events:none}.ocr-choices{display:grid;gap:7px;margin:0 0 10px}.ocr-choices button{width:100%}.camera-help{display:block;margin-top:10px;color:var(--muted);font-size:calc(9px + var(--font-adjust));line-height:1.5;text-align:center}.toast{position:fixed;z-index:110;right:24px;bottom:24px;display:flex;align-items:center;gap:9px;padding:13px 17px;border-radius:10px;color:#fff;background:#405b49;box-shadow:0 12px 30px #0003;font-size:calc(11px + var(--font-adjust))}
.primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.empty{text-align:center}.empty p{max-width:390px;margin:-4px 0 2px;font-size:calc(11px + var(--font-adjust));line-height:1.5}.active-place .missing-place{max-width:285px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.missing-place strong{font:600 calc(15px + var(--font-adjust)) ui-serif,Georgia,serif}.missing-place small{color:var(--muted);font-size:calc(10px + var(--font-adjust));line-height:1.45}.missing-place button{margin-top:3px}.unit>div{grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(77px,auto))}.empty-unit-map{grid-column:1/-1;min-height:255px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;border:1px dashed #c8c0b6;border-radius:14px;color:var(--muted);background:#ffffff67;text-align:center}.empty-unit-map h3{margin:12px 0 5px;color:var(--ink);font:600 calc(20px + var(--font-adjust)) ui-serif,Georgia,serif}.empty-unit-map p{max-width:440px;margin:0;font-size:calc(11px + var(--font-adjust));line-height:1.6}.shelf-detail.empty-shelf{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ruby);text-align:center}.shelf-detail.empty-shelf h2{margin-top:13px;color:var(--ink);font-size:calc(22px + var(--font-adjust))}.shelf-detail.empty-shelf p{max-width:220px;line-height:1.55}.shelf-books i{min-width:7px;flex:1;width:auto}.shelf-books>span{width:100%;align-self:center;color:#8b837a;font-size:calc(10px + var(--font-adjust));text-align:center}.no-stats{margin:19px 0 0;color:var(--muted);font-size:calc(11px + var(--font-adjust))}.catalog-loading{max-width:600px;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;margin:0 auto;color:var(--muted)}.catalog-loading>i{width:25px;height:25px;border:3px solid var(--line);border-top-color:var(--ruby);border-radius:50%;animation:loading-spin .8s linear infinite}.catalog-loading strong{color:var(--ink);font:600 calc(19px + var(--font-adjust)) ui-serif,Georgia,serif}.catalog-loading small{font-size:calc(10px + var(--font-adjust))}@keyframes loading-spin{to{transform:rotate(360deg)}}
@media(max-width:1240px){.book-grid{grid-template-columns:repeat(5,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.units{grid-template-columns:1.5fr 1fr}.unit:last-child{grid-column:2}.shelves-page{grid-template-columns:1fr 280px}}
@media(max-width:900px){.side{display:none}.mobile-head{height:62px;position:fixed;z-index:40;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#fff;background:#171819f7;backdrop-filter:blur(12px)}.mobile-head .logo>span{width:32px;height:32px;padding:6px}.mobile-head .logo>span i{width:5px}.mobile-head .logo strong{font-size:calc(20px + var(--font-adjust))}.mobile-head .logo small{display:none}main{margin:0;padding:87px 18px 94px}.bottom{height:70px;position:fixed;z-index:40;inset:auto 0 0;display:grid;grid-template-columns:repeat(5,1fr);padding:5px 4px calc(5px + env(safe-area-inset-bottom));border-top:1px solid #343638;color:#989a99;background:#171819fc;backdrop-filter:blur(13px)}.bottom button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;border:0;color:inherit;background:none;font-size:calc(9px + var(--font-adjust))}.bottom button.active{color:#f5d5d9}.bottom svg{width:18px;height:18px}.page-head{align-items:flex-start}.head-actions>small{display:none}.quick-shelves{grid-template-columns:1fr}.quick-shelves>div:last-child{overflow-x:auto;grid-template-columns:repeat(3,minmax(210px,1fr));padding-bottom:4px}.book-grid{grid-template-columns:repeat(4,1fr)}.add-page{grid-template-columns:1fr}.scan-panel{min-height:420px}.shelves-page{grid-template-columns:1fr}.shelf-detail{order:-1}.units{grid-template-columns:repeat(3,1fr)}.unit:last-child{grid-column:auto}.stats{grid-template-columns:1fr}.occupancy{grid-column:auto}}
@media(max-width:650px){main{padding-right:13px;padding-left:13px}.page-head{display:block;margin-bottom:22px}.page-head h1{font-size:calc(38px + var(--font-adjust))}.page-head p{font-size:calc(12px + var(--font-adjust))}.head-actions{margin-top:16px}.head-actions .primary{width:100%}.metrics{grid-template-columns:repeat(2,1fr);gap:8px}.metrics article{min-height:104px;padding:13px}.metrics .dark{grid-column:1/-1}.metrics article>svg{width:34px;height:34px;padding:8px}.metrics strong{font-size:calc(25px + var(--font-adjust))}.quick-shelves{margin-top:23px}.catalog{margin-top:24px;padding:15px 12px;border-radius:13px}.catalog>header{display:block}.tools{margin-top:13px}.tools label{width:100%;flex:1}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.cover{padding:14px}.book-info h3{font-size:calc(16px + var(--font-adjust))}.new-book{min-height:255px}.book-list .book{grid-template-columns:44px 1fr}.book-list .book-info{display:block}.book-list .book-info h3{font-size:calc(15px + var(--font-adjust))}.book-list .book-info>div{margin-top:6px}.book-list .book-info>small{display:none}.scan-panel{min-height:380px;padding:30px 22px}.phone{width:90px;height:136px}.entry-panel{padding:23px 16px}.active-place{display:block;padding:16px}.active-place>div:last-child{margin-top:16px}.active-place label{min-width:0;flex:1}.found{grid-template-columns:60px 1fr}.found-cover{width:60px;height:88px}.found>.primary{grid-column:1/-1;width:100%}.section-head{align-items:flex-start}.section-head .secondary{padding:0 11px}.units{grid-template-columns:1fr}.unit:last-child{grid-column:auto}.shelf-detail{padding:18px}.labels>header{display:block;padding:21px}.labels>header .primary{width:100%;margin-top:17px}.label-sheet{grid-template-columns:1fr}.label-sheet article{grid-template-columns:76px 1fr 56px;padding:12px}.label-id{height:65px}.label-id span,.label-id b{font-size:calc(24px + var(--font-adjust))}.qr{width:54px;height:54px}.privacy-card{grid-template-columns:42px 1fr}.privacy-card>em{grid-column:2}.privacy-card ul{display:block}.privacy-card li{margin-top:5px}.setting-grid{grid-template-columns:1fr}.camera-modal{padding:16px}.camera-actions{grid-template-columns:1fr}.toast{right:13px;bottom:82px;left:13px;justify-content:center}}
@media print{.side,.mobile-head,.bottom,.page-head,.labels>header .primary,.labels>aside{display:none!important}main{margin:0;padding:0}.labels{max-width:none}.labels>header{padding:0 0 15px;color:#000;background:#fff}.labels>header .eyebrow,.labels>header p{color:#000}.label-sheet{grid-template-columns:repeat(2,1fr)}.label-sheet article{break-inside:avoid}}

:root[data-theme="tinta"]{--ink:#182536;--paper:#f3efe6;--card:#fffdf8;--line:#d9d3c7;--muted:#6c7278;--ruby:#315a7d;--ruby2:#234661;--pale:#e1eaf0;--sage:#617b73;--gold:#aa7d45;--shadow:0 16px 45px rgba(25,35,48,.08)}
:root[data-theme="salvia"]{--ink:#26332d;--paper:#f1eee5;--card:#fffdf8;--line:#d8d5c9;--muted:#6f746d;--ruby:#728b78;--ruby2:#526a59;--pale:#e3ebe4;--sage:#728b78;--gold:#b47755;--shadow:0 16px 45px rgba(38,51,45,.08)}
:root[data-theme="ambar"]{--ink:#292622;--paper:#f4ecde;--card:#fffaf2;--line:#ded3c2;--muted:#746d63;--ruby:#b27a36;--ruby2:#8a5b25;--pale:#f2e2c9;--sage:#68796e;--gold:#b27a36;--shadow:0 16px 45px rgba(54,43,29,.09)}
:root[data-theme="ameixa"]{--ink:#302633;--paper:#f3edf2;--card:#fffbfe;--line:#ded4dc;--muted:#756c74;--ruby:#865a78;--ruby2:#674158;--pale:#eee1eb;--sage:#6f8075;--gold:#b18a58;--shadow:0 16px 45px rgba(48,38,51,.08)}
:root[data-theme="oceano"]{--ink:#173237;--paper:#edf3f1;--card:#fbfffd;--line:#d2dedb;--muted:#657572;--ruby:#267a7d;--ruby2:#185e62;--pale:#dceced;--sage:#5d8172;--gold:#ad8750;--shadow:0 16px 45px rgba(23,50,55,.08)}
:root[data-theme="gotico"]{--ink:#121112;--paper:#e9e0d1;--card:#f8f1e7;--line:#cfc3b2;--muted:#736b62;--ruby:#751f2c;--ruby2:#53151e;--pale:#ead8d7;--sage:#5f6d60;--gold:#a98242;--shadow:0 18px 48px rgba(18,17,18,.13)}
:root[data-theme="mono"]{--ink:#191919;--paper:#f2f2f0;--card:#fff;--line:#d7d7d4;--muted:#717171;--ruby:#5d5d5d;--ruby2:#3e3e3e;--pale:#e7e7e6;--sage:#6e756f;--gold:#8a8175;--shadow:0 16px 45px rgba(0,0,0,.08)}
button:focus-visible,input:focus-visible,select:focus-visible{outline-color:color-mix(in srgb,var(--ruby),transparent 70%)}.side nav button.active{background:color-mix(in srgb,var(--ruby),transparent 72%)}.bottom button.active{color:color-mix(in srgb,var(--ruby),white 65%)}
.section-head p{margin:7px 0 0;color:var(--muted);font-size:calc(10px + var(--font-adjust))}.units{grid-template-columns:5fr 2fr 1fr;align-items:start}.unit:last-child{grid-column:auto}.unit>div{grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--rows),auto);gap:4px}.unit>div button{min-height:0;aspect-ratio:1;padding:5px}.unit>div button>i{height:48%}.unit>div button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit>div button>b{top:4px;right:4px}.tiny{grid-auto-flow:row}
.theme-card{margin-top:14px;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow)}.theme-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.theme-card h2{margin:0;font:600 calc(23px + var(--font-adjust)) ui-serif,Georgia,serif}.theme-card header p{margin:7px 0 0;color:var(--muted);font-size:calc(10px + var(--font-adjust))}.theme-card>header>small{padding:6px 10px;border-radius:99px;color:var(--ruby);background:var(--pale);font-size:calc(9px + var(--font-adjust));font-weight:800}.theme-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:18px}.theme-picker button{min-height:92px;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--card),var(--paper) 18%);text-align:left;cursor:pointer}.theme-picker button:hover{border-color:color-mix(in srgb,var(--ruby),var(--line) 30%);transform:translateY(-1px)}.theme-picker button.active{border-color:var(--ruby);box-shadow:inset 0 0 0 1px var(--ruby),0 7px 18px color-mix(in srgb,var(--ruby),transparent 88%)}.theme-picker button>span{display:flex;gap:4px;margin-bottom:5px}.theme-picker button>span i{width:24px;height:17px;border:1px solid #00000012;border-radius:4px}.theme-picker button strong{font:600 calc(14px + var(--font-adjust)) ui-serif,Georgia,serif}.theme-picker button small{color:var(--muted);font-size:calc(9px + var(--font-adjust))}.theme-picker button>b{width:20px;height:20px;position:absolute;top:9px;right:9px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--ruby)}
@media(max-width:1240px){.units{grid-template-columns:5fr 2fr 1fr}.unit:last-child{grid-column:auto}.unit{padding:11px}.unit>div{padding:5px;border-width:4px}.unit>div button>span{display:none}.theme-picker{grid-template-columns:repeat(4,1fr)}}
@media(max-width:900px){.units{grid-template-columns:1fr}.unit{width:100%}.unit:last-child{grid-column:auto}.unit:nth-child(2){width:55%}.unit:nth-child(3){width:31%}.unit>div button>span{display:block}.theme-picker{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.unit:nth-child(2){width:66%}.unit:nth-child(3){width:38%}.unit>div button>span{display:none}.theme-card{padding:18px 14px}.theme-card>header{display:block}.theme-card>header>small{display:inline-flex;margin-top:10px}.theme-picker{grid-template-columns:repeat(2,1fr);gap:7px}.theme-picker button{min-height:88px;padding:10px}.theme-picker button>span i{width:20px}}
.primary:disabled,.secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.isbn>small button{padding:0;border:0;border-bottom:1px solid currentColor;color:inherit;background:transparent;font-size:inherit;font-weight:700;cursor:pointer}.found-data{min-width:0}.found-data .source{display:inline-flex;margin-bottom:8px;padding:4px 7px;border-radius:99px;color:#506155;background:#e6eee8;font-size:calc(8px + var(--font-adjust));font-weight:800;letter-spacing:.08em;text-transform:uppercase}.found-data>label,.found-data>div label{display:flex;flex-direction:column;gap:3px;color:#8a867f;font-size:calc(8px + var(--font-adjust));font-weight:700;letter-spacing:.08em;text-transform:uppercase}.found-data>label input,.found-data>div input{width:100%;height:30px;padding:0;border:0;border-bottom:1px solid #e0dad2;border-radius:0;color:var(--ink);background:transparent;font-size:calc(13px + var(--font-adjust));font-weight:600;text-transform:none;letter-spacing:0}.found-data>label input{font:600 calc(18px + var(--font-adjust)) ui-serif,Georgia,serif}.found-data>div{display:grid;grid-template-columns:1fr 55px;gap:9px;margin-top:7px}.found-data small{display:block;margin-top:7px}.found-data em{margin-top:8px}.camera-modal>.camera-status{display:flex;align-items:center;justify-content:center;gap:7px;min-height:28px;margin:8px 0}.camera-status>i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--ruby);box-shadow:0 0 0 4px color-mix(in srgb,var(--ruby),transparent 82%)}
.lookup-progress{display:flex;align-items:center;gap:8px;margin-top:9px;padding:9px 11px;border-radius:8px;color:#4f6556;background:#edf4ef;font-size:calc(10px + var(--font-adjust));font-weight:600}.lookup-progress i{width:12px;height:12px;flex:0 0 auto;border:2px solid #b8c8bd;border-top-color:#4f6556;border-radius:50%;animation:lookup-spin .8s linear infinite}@keyframes lookup-spin{to{transform:rotate(360deg)}}
.logo strong{font-size:calc(21px + var(--font-adjust));white-space:nowrap}.logo strong em{color:#c9a3a8;font-style:normal;font-weight:400}.units{display:flex;flex-wrap:wrap;align-items:flex-start;gap:15px}.unit{flex:0 0 auto}.unit:last-child{grid-column:auto}.shelf-add{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card),var(--paper) 25%)}.shelf-add>div:first-child{display:flex;flex-direction:column}.shelf-add>div:first-child .eyebrow{margin-bottom:3px}.shelf-add>div:first-child strong{font:600 calc(15px + var(--font-adjust)) ui-serif,Georgia,serif}.shelf-add>div:last-child{display:flex;gap:7px}.shelf-add button{min-width:92px;display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ruby);background:var(--card);cursor:pointer}.shelf-add button:hover{border-color:var(--ruby);transform:translateY(-1px)}.shelf-add button span{display:flex;flex-direction:column;align-items:flex-start}.shelf-add button b{color:var(--ink);font-size:calc(11px + var(--font-adjust))}.shelf-add button small{color:var(--muted);font-size:calc(8px + var(--font-adjust))}.more-units>svg{color:var(--ruby)}
@media(max-width:900px){.units{display:flex;grid-template-columns:none}.unit:nth-child(2),.unit:nth-child(3){width:auto}.shelf-add{align-items:flex-start}.shelf-add>div:last-child{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:650px){.logo strong{font-size:calc(19px + var(--font-adjust))}.logo small{letter-spacing:.1em}.units{display:flex}.unit:nth-child(2),.unit:nth-child(3){width:auto}.shelf-add{display:block}.shelf-add>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px}.shelf-add button{min-width:0;padding:8px 6px}.shelf-add button svg{display:none}}
.mobile-head>div{display:flex;align-items:center;gap:9px}.mobile-head>div>i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--ruby);font-size:calc(12px + var(--font-adjust));font-weight:700;font-style:normal}.mobile-head>div>button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid #ffffff24;border-radius:9px;color:#d2d3d2;background:#ffffff0b;cursor:pointer}.mobile-head>div>button.active{color:#fff;border-color:color-mix(in srgb,var(--ruby),white 28%);background:color-mix(in srgb,var(--ruby),transparent 48%)}
.book{position:relative}.delete-book{width:29px;height:29px;position:absolute;z-index:6;top:7px;right:7px;display:grid;place-items:center;padding:0;border:1px solid #ffffff70;border-radius:8px;color:#fff;background:#1b191895;box-shadow:0 3px 9px #0002;cursor:pointer;opacity:.78}.book:hover .delete-book,.delete-book:focus-visible{opacity:1}.delete-book:hover{color:#fff;background:#8a2f3c}.book-list .book{padding-right:42px}.book-list .delete-book{top:50%;right:5px;transform:translateY(-50%);color:var(--ruby);border-color:var(--line);background:var(--card)}.book-list .delete-book:hover{color:#fff;background:#8a2f3c}
.unit-actions{display:flex;align-items:center;gap:4px}.unit-actions small{margin-right:3px;padding:5px 8px;border-radius:99px;color:var(--muted);background:#f0ece6;font-size:calc(9px + var(--font-adjust))}.unit-actions button{width:28px;height:28px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:var(--card);cursor:pointer}.unit-actions button:hover{color:var(--ruby);border-color:var(--ruby)}.unit-actions button:disabled{opacity:.3;cursor:not-allowed}.unit-actions button.danger:hover{color:#fff;border-color:#8a2f3c;background:#8a2f3c}
@media(max-width:650px){.delete-book{opacity:1}.unit>header{align-items:flex-start;gap:8px}.unit-actions{flex-wrap:wrap;justify-content:flex-end}.unit-actions small{width:100%;margin:0;text-align:center}.shelf-add>div:last-child{grid-template-columns:repeat(2,1fr)}}
.appearance-mode{display:flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--paper),var(--card) 45%)}.appearance-mode button{min-width:68px;height:32px;padding:0 12px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:calc(10px + var(--font-adjust));font-weight:750;cursor:pointer}.appearance-mode button.active{color:#fff;background:var(--ruby);box-shadow:0 3px 9px color-mix(in srgb,var(--ruby),transparent 75%)}.sync-card>div,.backup-card>div{display:flex;flex-wrap:wrap;gap:7px}.backup-card{min-height:230px!important}.backup-card>label{display:flex;flex-direction:column;gap:5px;margin:10px 0;color:var(--muted);font-size:calc(9px + var(--font-adjust));font-weight:700;text-transform:uppercase;letter-spacing:.08em}.backup-card input[type="password"]{height:39px;padding:0 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--card);font-size:calc(11px + var(--font-adjust));text-transform:none;letter-spacing:0}.backup-import{position:relative}.backup-import input{width:1px;height:1px;position:absolute;overflow:hidden;clip:rect(0,0,0,0)}.backup-import.disabled{opacity:.5;pointer-events:none}
:root[data-mode="escuro"]{color-scheme:dark;--ink:#f0ede8;--paper:#121415;--card:#1c1f20;--line:#373b3d;--muted:#a5a8a7;--pale:#2c2527;--shadow:0 16px 45px rgba(0,0,0,.24)}:root[data-mode="escuro"] body{background:var(--paper);color:var(--ink)}:root[data-mode="escuro"] .side,:root[data-mode="escuro"] .mobile-head,:root[data-mode="escuro"] .bottom{color:#f7f4ee;background:#101213}:root[data-mode="escuro"] .stats .total,:root[data-mode="escuro"] .labels>header{color:#fff;background:#101213}:root[data-mode="escuro"] .scan-panel{background:radial-gradient(circle at 50% 34%,#343032,#101213 60%)}:root[data-mode="escuro"] :is(.secondary,.quick-shelves button,.catalog,.tools label,.tools>span button.active,.active-place select,.segments,.found,.unit,.shelf-detail,.label-sheet article,.theme-card,.privacy-card,.setting-grid>article,.camera-modal,.backup-card input[type="password"]){color:var(--ink);background:var(--card)}:root[data-mode="escuro"] :is(.active-place,.tip,.shelf-add,.theme-picker button){background:color-mix(in srgb,var(--card),var(--paper) 24%)}:root[data-mode="escuro"] .unit>div{background:#585450}:root[data-mode="escuro"] .unit>div button{color:var(--ink);background:#282b2c}:root[data-mode="escuro"] .unit>div button>span{color:#b8b6b3}:root[data-mode="escuro"] .shelf-books{background:#292b2c;border-color:#5c5149}:root[data-mode="escuro"] .layer-tabs button{color:var(--muted);background:#242728}:root[data-mode="escuro"] .layer-tabs button.active{background:var(--pale)}:root[data-mode="escuro"] .ring{color:#1a1b1c}:root[data-mode="escuro"] .book-info>div,:root[data-mode="escuro"] .book-list .book{border-color:var(--line)}:root[data-mode="escuro"] .tools>span{background:#26292a}:root[data-mode="escuro"] .cover{color:#fff}:root[data-mode="escuro"] .qr b.on{background:#e9e7e2}
@media(max-width:650px){.theme-card>header .appearance-mode{display:flex;margin-top:12px}.appearance-mode button{flex:1}.backup-card>div,.sync-card>div{display:grid}.backup-card>div>*{width:100%}}


/* ===== RC2 overrides ===== */
/* PersonalBiblios — consolidação pós-V15 / Netlify estável */
body{font-family:Arial,sans-serif}
.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand>img{width:42px;height:42px;flex:0 0 auto;border-radius:10px}.brand>span{display:flex;min-width:0;flex-direction:column}.brand strong{color:#f5f2eb;font:600 calc(20px + var(--font-adjust))/1.05 ui-serif,Georgia,serif;white-space:nowrap}.brand small{margin-top:5px;color:#8f9291;font-size:calc(9px + var(--font-adjust));letter-spacing:.14em;white-space:nowrap}.brand.compact>img{width:35px;height:35px}.brand.compact strong{font-size:calc(17px + var(--font-adjust))}.brand.compact small{font-size:calc(8px + var(--font-adjust))}
.side>.brand{padding:0 5px}.mobile-head>.brand{padding:0}
.clickable{cursor:pointer}.clickable:focus-within{outline:2px solid color-mix(in srgb,var(--ruby),transparent 55%);outline-offset:4px}.edit-book{width:30px;height:30px;position:absolute;z-index:7;top:7px;right:7px;display:grid;place-items:center;padding:0;border:1px solid #ffffff72;border-radius:8px;color:#fff;background:#171819a8;cursor:pointer;opacity:.82}.book:hover .edit-book{opacity:1}.book-list .edit-book{top:50%;right:5px;transform:translateY(-50%);color:var(--ruby);border-color:var(--line);background:var(--card)}
.spine-cover{justify-content:flex-end;gap:8px;padding-left:28px;background:linear-gradient(90deg,color-mix(in srgb,var(--cover),#000 18%) 0 19px,color-mix(in srgb,var(--cover),#fff 11%) 19px 21px,var(--cover) 21px)}.spine-cover .spine-art{position:absolute;top:18px;right:14px;display:flex;align-items:flex-end;gap:3px;opacity:.55}.spine-cover .spine-art i{display:block;width:6px;height:25px;background:#fff6}.spine-cover .spine-art i:nth-child(2){height:37px}.spine-cover .spine-art i:nth-child(3){height:31px}.spine-cover b{position:relative;z-index:1;color:#ffffffb8;font-size:calc(8px + var(--font-adjust));font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.book-values{display:grid!important;grid-template-columns:1fr 1fr;gap:3px!important}.book-values span{display:flex;flex-direction:column;gap:2px;color:var(--muted);font-size:calc(8px + var(--font-adjust))}.book-values span b{font-size:calc(10px + var(--font-adjust))}
.missing-cover{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);background:color-mix(in srgb,var(--paper),var(--card) 50%)}.missing-cover small{font-size:calc(9px + var(--font-adjust))}
.copy-details{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card),var(--paper) 17%)}.copy-details header h3{margin:0 0 12px;font:600 calc(19px + var(--font-adjust)) ui-serif,Georgia,serif}.copy-details label,.form-grid label,.signature-fields>label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:calc(9px + var(--font-adjust));font-weight:700;letter-spacing:.06em;text-transform:uppercase}.copy-details input,.copy-details select,.copy-details textarea,.form-grid input,.form-grid select,.form-grid textarea,.signature-fields input,.signature-fields select,.signature-fields textarea{width:100%;min-height:39px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--card);font-size:calc(12px + var(--font-adjust));text-transform:none;letter-spacing:0}.copy-details textarea,.form-grid textarea{resize:vertical}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.signature-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.signature-fields .full-field{grid-column:1/-1}.toggle-field{display:flex!important;min-height:38px;flex-direction:row!important;align-items:center;gap:8px;color:var(--ink)!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer}.toggle-field input{width:1px!important;height:1px!important;min-height:0!important;position:absolute;opacity:0}.toggle-field>span{width:36px;height:20px;position:relative;flex:0 0 auto;border-radius:99px;background:#bbb}.toggle-field>span:after{content:"";width:16px;height:16px;position:absolute;top:2px;left:2px;border-radius:50%;background:#fff;transition:.18s}.toggle-field input:checked+span{background:var(--ruby)}.toggle-field input:checked+span:after{transform:translateX(16px)}.toggle-field>b{font-size:calc(11px + var(--font-adjust))}.save-book{width:100%;margin-top:12px}
.room-pill{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:4px 7px;border:0;border-radius:99px;color:var(--muted);background:color-mix(in srgb,var(--paper),var(--card) 60%);font-size:calc(9px + var(--font-adjust));cursor:pointer}.room-pill:hover{color:var(--ruby)}
.unit>div button{position:relative;overflow:hidden}.unit>div button>b{z-index:4}.unit>div button>.cell-spines{min-height:55px;display:flex!important;align-items:flex-end!important;gap:1px!important;margin:7px 0 2px;padding:4px 4px 0;border-bottom:3px solid #807870;color:inherit;background:transparent}.cell-spines i{width:4px;height:var(--h);display:block;flex:0 1 7px;background:var(--spine);border-radius:1px 1px 0 0}.unit>div button.active .cell-spines{border-bottom-color:color-mix(in srgb,var(--ruby),#fff 15%)}
.rich-detail{max-height:calc(100vh - 150px);overflow:auto}.ordered-books{display:flex;flex-direction:column;gap:6px;margin:13px 0;min-height:65px}.ordered-books>article{min-height:50px;display:grid;grid-template-columns:30px 24px 1fr auto;align-items:center;gap:7px;padding:5px;border:1px solid var(--line);border-radius:8px;background:var(--card);transition:.12s}.ordered-books>article.dragging{opacity:.58;transform:scale(.985);border-color:var(--ruby)}.drag-handle{width:30px;height:38px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;color:var(--muted);background:color-mix(in srgb,var(--paper),var(--card) 55%);cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.mini-spine{height:39px;display:grid;place-items:center;border-radius:2px;color:#fff;background:var(--spine);font-size:calc(9px + var(--font-adjust));font-weight:800}.book-row-title{min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.book-row-title strong,.book-row-title small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-row-title strong{font:600 calc(12px + var(--font-adjust)) ui-serif,Georgia,serif}.book-row-title small{margin-top:3px;color:var(--muted);font-size:calc(9px + var(--font-adjust))}.step-buttons{display:flex;gap:2px}.step-buttons button{width:25px;height:25px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:5px;background:var(--card);cursor:pointer}.step-buttons button:disabled{opacity:.25;cursor:default}.empty-layer{min-height:65px;display:grid;place-items:center;color:var(--muted);font-size:calc(10px + var(--font-adjust))}
.value-card{grid-column:span 1;padding:24px;border:1px solid var(--line);border-radius:15px;background:var(--card)}.value-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 0}.value-card dl>div{padding:12px;border-radius:9px;background:color-mix(in srgb,var(--paper),var(--card) 42%)}.value-card dt{color:var(--muted);font-size:calc(9px + var(--font-adjust))}.value-card dd{margin:5px 0 0;font:600 calc(18px + var(--font-adjust)) ui-serif,Georgia,serif}.stats{grid-template-columns:1fr 2fr}.stats .occupancy{grid-column:1/-1}
.identity-card{display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center}.identity-card img{max-width:180px;max-height:135px}.identity-card p{margin:8px 0 0;color:var(--muted);font:500 calc(14px + var(--font-adjust)) ui-serif,Georgia,serif}
.book-overlay{align-items:flex-start;padding:28px 18px;overflow:auto}.book-modal{width:min(960px,100%);margin:auto;border:1px solid var(--line);border-radius:17px;background:var(--card);box-shadow:0 28px 80px #0004}.book-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line)}.book-modal>header h2{max-width:780px;margin:0;font:600 calc(27px + var(--font-adjust))/1.08 ui-serif,Georgia,serif}.book-modal>header>button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--card);cursor:pointer}.book-modal-body{display:grid;grid-template-columns:190px 1fr;gap:24px;padding:22px}.book-modal-body>aside .cover{width:100%}.book-modal-body>aside>.secondary{width:100%;margin-top:12px}.text-action{display:block;margin:8px auto 0;padding:0;border:0;color:var(--muted);background:transparent;font-size:calc(10px + var(--font-adjust));text-decoration:underline;cursor:pointer}.edit-form{display:flex;flex-direction:column;gap:22px}.edit-form section{padding-bottom:18px;border-bottom:1px solid var(--line)}.edit-form section:last-child{border:0;padding-bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid .wide{grid-column:1/-1}.toggle-pair{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.signature-photo{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.signature-photo img{max-width:100%;max-height:260px;border:1px solid var(--line);border-radius:8px;object-fit:contain}.book-modal>footer{display:flex;align-items:center;gap:8px;padding:15px 22px;border-top:1px solid var(--line)}.book-modal>footer>span{flex:1}.secondary.danger{color:#8a2f3c}.secondary.danger:hover{color:#fff;border-color:#8a2f3c;background:#8a2f3c}.photo-pick input{width:1px;height:1px;position:absolute;overflow:hidden;clip:rect(0,0,0,0)}
:root[data-mode="escuro"] :is(.copy-details,.ordered-books>article,.book-modal,.form-grid input,.form-grid select,.form-grid textarea,.copy-details input,.copy-details select,.copy-details textarea,.signature-fields input,.signature-fields select,.signature-fields textarea){color:var(--ink);background:var(--card)}:root[data-mode="escuro"] .room-pill,:root[data-mode="escuro"] .drag-handle,:root[data-mode="escuro"] .value-card dl>div{background:#26292a}:root[data-mode="escuro"] .edit-book{background:#0009}
@media(max-width:1100px){.book-grid{grid-template-columns:repeat(5,minmax(115px,1fr))}.book-modal-body{grid-template-columns:150px 1fr}.stats{grid-template-columns:1fr}.stats .occupancy{grid-column:auto}}
@media(max-width:760px){.book-grid{grid-template-columns:repeat(3,minmax(95px,1fr));gap:20px 12px}.book-modal-body{grid-template-columns:1fr}.book-modal-body>aside{display:grid;grid-template-columns:120px 1fr;align-items:start;gap:10px}.book-modal-body>aside .cover{grid-row:1/4}.book-modal-body>aside>.secondary{margin-top:0}.form-grid,.signature-fields{grid-template-columns:1fr}.form-grid .wide,.signature-fields .full-field{grid-column:auto}.toggle-pair{grid-template-columns:1fr}.two-fields{grid-template-columns:1fr}.value-card dl{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.brand strong{font-size:calc(16px + var(--font-adjust))}.brand small{display:none}.mobile-head>.brand>img{width:33px;height:33px}.book-grid{grid-template-columns:repeat(2,minmax(105px,1fr))}.catalog{padding:18px 13px}.book-modal{border-radius:12px}.book-overlay{padding:8px}.book-modal>header{padding:15px}.book-modal-body{padding:15px}.book-modal>footer{position:sticky;bottom:0;z-index:4;flex-wrap:wrap;padding:10px 15px;background:var(--card)}.book-modal>footer>span{display:none}.book-modal>footer button{flex:1}.book-modal-body>aside{grid-template-columns:105px 1fr}.rich-detail{max-height:none}.ordered-books>article{grid-template-columns:28px 22px 1fr}.step-buttons{display:none}.shelf-add>div:last-child{grid-template-columns:repeat(2,1fr)}.unit{max-width:100%}.unit>div button>.cell-spines{min-height:44px}.stats{display:block}.stats>article{margin-bottom:12px}.value-card dl{grid-template-columns:1fr 1fr}}
@media print{.side,.mobile-head,.bottom,.page-head,.labels>header button,.labels>aside{display:none!important}main{margin:0;padding:0}.labels{display:block}.label-sheet{grid-template-columns:repeat(3,1fr)}.label-sheet article{break-inside:avoid;box-shadow:none}}

/* RC1 – mapa de estantes com colunas empilhadas */
.section-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.shelf-columns{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.shelf-column{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.shelf-column .unit{margin:0}
.unit-actions button.active-stack{color:var(--ruby);border-color:var(--ruby);background:color-mix(in srgb,var(--pale),var(--card) 55%)}
@media(max-width:900px){.section-actions{margin-top:10px}.shelf-columns{display:block}.shelf-column{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}.shelf-column .unit{width:100%!important;max-width:100%}}
@media(max-width:650px){.section-actions{display:grid;grid-template-columns:1fr 1fr}.section-actions .secondary{width:100%}}

/* RC2 — recuperação visual do Mapa Kallax a partir da versão de referência */
.shelves-page{max-width:1680px;grid-template-columns:minmax(0,1fr) 315px;gap:20px}
.section-head{align-items:center}.section-head h2{font-size:calc(28px + var(--font-adjust))}.section-head p{font-size:calc(11px + var(--font-adjust))}
.shelf-add{padding:16px 18px;border-radius:14px}.shelf-add>div:last-child{flex-wrap:wrap;justify-content:flex-end}.shelf-add button{min-width:100px;min-height:56px}.shelf-add button.model-wood{border-color:#b68b5e;background:#fbf4e8}.shelf-add button.model-wood svg{color:#8f673d}.shelf-add button.model-wood small{color:#8f673d}
.shelf-columns{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.shelf-column{width:max-content;max-width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.shelf-column.stacked{gap:4px;padding:8px;border:1px solid #c9dbe2;border-radius:18px;background:#f3f7f7;box-shadow:0 16px 42px rgba(34,49,55,.08)}
.unit{width:var(--unit-w);max-width:100%;overflow:hidden;padding:0;border-radius:15px;box-shadow:0 14px 34px rgba(24,22,20,.12)}.unit>header{min-height:86px;align-items:flex-start;margin:0;padding:13px 13px 10px}.unit h3{margin-top:2px;font-size:calc(18px + var(--font-adjust));line-height:1.05}.unit .room-pill{max-width:100%;min-height:29px;margin-top:8px;padding:6px 9px;border:1px solid transparent;border-radius:7px;text-align:left}.unit-actions{padding-top:2px}.unit-actions small{white-space:nowrap}.unit-actions button{width:30px;height:30px}.unit-actions button.active-stack{color:#fff!important;border-color:#7da9c8!important;background:#315f82!important;box-shadow:0 0 0 2px rgba(109,166,205,.24)}
.finish-black{border-color:#dbe1e2;background:#090909;color:#f7f3eb}.finish-black .eyebrow{color:#8eb8d4}.finish-black h3{color:#fff}.finish-black .room-pill{color:#f2eee7;border-color:#3a3a3a;background:#171717}.finish-black .unit-actions small{color:#e7e2da;background:#181818}.finish-black .unit-actions button{color:#ddd;border-color:#3d3d3d;background:#161616}.finish-black .unit-actions button:hover{color:#fff;border-color:#759bb7}.finish-black .unit-actions button.danger:hover{border-color:#8a2f3c;background:#8a2f3c}
.finish-wood{border-color:#ad875f;background:#c7a078;color:#171411}.finish-wood .eyebrow{color:#5b3c22}.finish-wood h3{color:#171411}.finish-wood .room-pill{color:#3d2b1d;border-color:#b38d66;background:#d9bb95}.finish-wood .unit-actions small{color:#5b4029;background:#d4b48d}.finish-wood .unit-actions button{color:#65482f;border-color:#ad8965;background:#d3b38d}
.shelf-frame{display:grid!important;gap:5px!important;margin:0 8px 8px!important;padding:7px!important}.finish-black>.shelf-frame{border:6px solid #080808!important;background:#282b2c!important;box-shadow:inset 0 0 0 2px #4f5a61!important}.finish-wood>.shelf-frame{border:6px solid #9f7955!important;background:#b58c63!important;box-shadow:inset 0 0 0 2px #d7b996!important}
.shelf-frame>button{min-height:0!important;justify-content:flex-end!important;padding:6px!important;border-radius:0!important;color:#39434a!important;background:#f3f1ec!important;box-shadow:inset 0 4px 8px rgba(51,42,34,.09)!important}.shelf-frame>button.active{outline:4px solid #3d6c91!important;outline-offset:-4px!important;box-shadow:inset 0 0 0 4px #d5e8f4!important}.shelf-frame>button>b{top:5px!important;right:5px!important;color:#fff!important;background:#173e5b!important}.shelf-frame>button>span:last-child{color:#68737a!important;font-size:calc(8px + var(--font-adjust))!important;letter-spacing:.02em}
.model-kallax>.shelf-frame{grid-template-columns:repeat(var(--cols),minmax(0,1fr))!important;grid-template-rows:repeat(var(--rows),auto)!important}.model-kallax>.shelf-frame>button{aspect-ratio:1/1!important}
.model-open>.shelf-frame{grid-template-columns:1fr!important;grid-template-rows:1fr!important}.model-open>.shelf-frame>button{min-height:112px!important;aspect-ratio:4.25/1!important}.model-open .cell-spines{min-height:58px!important}
.model-bookcase>.shelf-frame{grid-template-columns:1fr!important;grid-template-rows:repeat(6,auto)!important}.model-bookcase>.shelf-frame>button{min-height:78px!important;aspect-ratio:2.75/1!important}.model-bookcase .cell-spines{min-height:40px!important}
.model-kallax3>.shelf-frame{grid-template-columns:1fr .56fr 1fr!important;grid-template-rows:repeat(10,38px)!important;gap:4px!important}.model-kallax3>.shelf-frame>button{min-height:0!important;aspect-ratio:auto!important}.model-kallax3>.shelf-frame>button:nth-child(1){grid-column:1;grid-row:1/3}.model-kallax3>.shelf-frame>button:nth-child(2){grid-column:1;grid-row:3/5}.model-kallax3>.shelf-frame>button:nth-child(3){grid-column:1;grid-row:5/8}.model-kallax3>.shelf-frame>button:nth-child(4){grid-column:1;grid-row:8/11}.model-kallax3>.shelf-frame>button:nth-child(5){grid-column:2;grid-row:1/4}.model-kallax3>.shelf-frame>button:nth-child(6){grid-column:2;grid-row:4/6}.model-kallax3>.shelf-frame>button:nth-child(7){grid-column:2;grid-row:6/8}.model-kallax3>.shelf-frame>button:nth-child(8){grid-column:2;grid-row:8/9}.model-kallax3>.shelf-frame>button:nth-child(9){grid-column:2;grid-row:9/11}.model-kallax3>.shelf-frame>button:nth-child(10){grid-column:3;grid-row:1/3}.model-kallax3>.shelf-frame>button:nth-child(11){grid-column:3;grid-row:3/7}.model-kallax3>.shelf-frame>button:nth-child(12){grid-column:3;grid-row:7/11}.model-kallax3 .cell-spines{min-height:20px!important}
.cell-spines{width:100%;min-height:50px;position:relative;overflow:hidden}.cell-spines:empty:before{content:"";width:100%;height:72%;display:block;border-bottom:3px solid #29343a;background:repeating-linear-gradient(90deg,#756b64 0 8px,#b08a60 8px 16px,#627a88 16px 24px,#78817b 24px 32px,#8e6562 32px 40px,#c39a63 40px 48px,#66758a 48px 56px,#9c735d 56px 64px)}
.shelf-column.stacked>.unit{box-shadow:none}.shelf-column.stacked>.unit:first-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px}.shelf-column.stacked>.unit:last-child{border-top-left-radius:10px;border-top-right-radius:10px}
:root[data-mode="escuro"] .shelf-column.stacked{border-color:#41535b;background:#171b1c}.finish-black>.shelf-frame{color-scheme:light}.finish-wood>.shelf-frame{color-scheme:light}
@media(max-width:1200px){.shelves-page{grid-template-columns:minmax(0,1fr) 285px}.shelf-columns{gap:12px}.unit{transform-origin:top left}}
@media(max-width:900px){.shelves-page{grid-template-columns:1fr}.shelf-columns{display:flex}.shelf-column,.shelf-column.stacked{width:100%;padding:0;border:0;background:transparent;box-shadow:none}.shelf-column .unit{width:100%!important}.model-open>.shelf-frame>button{aspect-ratio:3.6/1!important}.model-bookcase>.shelf-frame>button{aspect-ratio:3/1!important}}

/* RC2.2 — identidade SVG oficial + mapa físico mais compacto */
.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand .brand-symbol{width:34px;height:34px;flex:0 0 auto;object-fit:contain;border-radius:0}.brand>span{display:flex;min-width:0;flex-direction:column;align-items:flex-start}.brand .brand-signature{width:118px;height:auto;display:block;object-fit:contain}.brand small{margin-top:3px;color:#9da2a1;font-size:calc(8px + var(--font-adjust));letter-spacing:.13em;white-space:nowrap}.brand.compact .brand-symbol{width:28px;height:28px}.brand.compact .brand-signature{width:96px}.brand.context{gap:8px}.brand.context .brand-symbol{width:25px;height:25px}.brand.context .brand-signature{width:92px}.brand.context small{display:none}.side>.brand{padding:0}.mobile-head>.brand{padding:0}
.page-head{align-items:center}.page-head-main{display:flex;align-items:center;gap:16px;min-width:0}.page-brand-divider{width:1px;height:46px;flex:0 0 auto;background:var(--line)}.page-title-copy{min-width:0}.page-title-copy .eyebrow{margin-bottom:6px}
.shelf-columns{gap:12px;align-content:flex-start}.shelf-column{flex:0 0 auto}.shelf-column.stacked{align-items:center;gap:3px;padding:6px;border-radius:16px}.shelf-column.stacked>.unit{flex:0 0 auto}.unit.dragging-unit{opacity:.5;outline:3px dashed var(--ruby);outline-offset:3px}.unit-drag-handle{cursor:grab!important}.unit-drag-handle:active{cursor:grabbing!important}
.narrow-unit>header{display:block!important;min-height:118px!important}.narrow-unit>header>div:first-child{min-width:0}.narrow-unit .room-pill{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:normal}.narrow-unit .unit-actions{display:grid!important;grid-template-columns:repeat(5,24px);gap:3px!important;margin-top:8px;padding:0!important;justify-content:start!important}.narrow-unit .unit-actions small{grid-column:1/-1;min-height:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 0 2px!important;padding:2px 5px!important}.narrow-unit .unit-actions button{width:24px!important;height:24px!important;padding:0!important}
/* Kallax 3: três colunas / quatro nichos por coluna, alturas assimétricas segundo a referência física. */
.model-kallax3>.shelf-frame{grid-template-columns:1fr .62fr 1fr!important;grid-template-rows:repeat(12,34px)!important;gap:4px!important}.model-kallax3>.shelf-frame>button{min-height:0!important;aspect-ratio:auto!important}.model-kallax3>.shelf-frame>button:nth-child(1){grid-column:1;grid-row:1/4}.model-kallax3>.shelf-frame>button:nth-child(2){grid-column:1;grid-row:4/7}.model-kallax3>.shelf-frame>button:nth-child(3){grid-column:1;grid-row:7/10}.model-kallax3>.shelf-frame>button:nth-child(4){grid-column:1;grid-row:10/13}.model-kallax3>.shelf-frame>button:nth-child(5){grid-column:2;grid-row:1/5}.model-kallax3>.shelf-frame>button:nth-child(6){grid-column:2;grid-row:5/7}.model-kallax3>.shelf-frame>button:nth-child(7){grid-column:2;grid-row:7/9}.model-kallax3>.shelf-frame>button:nth-child(8){grid-column:2;grid-row:9/13}.model-kallax3>.shelf-frame>button:nth-child(9){grid-column:3;grid-row:1/4}.model-kallax3>.shelf-frame>button:nth-child(10){grid-column:3;grid-row:4/8}.model-kallax3>.shelf-frame>button:nth-child(11){grid-column:3;grid-row:8/11}.model-kallax3>.shelf-frame>button:nth-child(12){grid-column:3;grid-row:11/13}.model-kallax3 .cell-spines{min-height:18px!important}
:root[data-mode="escuro"] .page-brand-divider{background:#3b4042}
@media(max-width:900px){.page-head-main>.brand.context,.page-brand-divider{display:none}.page-head-main{display:block}.shelf-column,.shelf-column.stacked{width:100%!important}.narrow-unit>header{min-height:auto!important}.narrow-unit .unit-actions{display:flex!important;flex-wrap:wrap!important}.narrow-unit .unit-actions small{width:auto;min-height:26px!important}.narrow-unit .unit-actions button{width:30px!important;height:30px!important}}
@media(max-width:650px){.brand .brand-signature{width:96px}.mobile-head .brand .brand-symbol{width:28px;height:28px}.mobile-head .brand .brand-signature{width:92px}}


/* RC2.3 — acessibilidade tipográfica e logótipos maiores */
.font-controls{height:40px;display:inline-flex;align-items:stretch;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--card);box-shadow:0 2px 8px #0000000b}
.font-controls button{min-width:38px;height:38px;padding:0 10px;border:0;border-right:1px solid var(--line);color:var(--ink);background:transparent;font-weight:750;cursor:pointer;line-height:1}
.font-controls button:last-child{border-right:0}.font-controls button:hover:not(:disabled){color:var(--ruby);background:var(--pale)}.font-controls button:disabled{opacity:.35;cursor:not-allowed}.font-controls .font-reset{min-width:34px;color:var(--muted);font-weight:650}
.side>.brand .brand-symbol{width:40px;height:40px}.side>.brand .brand-signature{width:138px}.side>.brand small{margin-top:5px}
.page-head-main>.brand.context .brand-symbol{width:30px;height:30px}.page-head-main>.brand.context .brand-signature{width:108px}
.mobile-head>.brand .brand-symbol{width:34px;height:34px}.mobile-head>.brand .brand-signature{width:108px}
@media(max-width:900px){.head-actions{flex-wrap:wrap}.font-controls{order:1}.head-actions>.primary{order:2}.mobile-head>.brand .brand-symbol{width:34px!important;height:34px!important}.mobile-head>.brand .brand-signature{width:108px!important}}
@media(max-width:650px){.head-actions{display:grid;grid-template-columns:auto 1fr;gap:9px}.font-controls{width:max-content}.head-actions>.primary{width:100%}.font-controls button{min-width:42px}}

.accessibility-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:14px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 4px 15px #241b1710}.accessibility-card h2{margin:0;font:600 calc(21px + var(--font-adjust)) ui-serif,Georgia,serif}.accessibility-card p{max-width:680px;margin:7px 0 0;color:var(--muted);line-height:1.55}.accessibility-font-control{display:flex;gap:7px;flex:0 0 auto}.accessibility-font-control .secondary{min-width:58px}.identity-card img{max-width:210px;max-height:155px}
@media(max-width:650px){.accessibility-card{align-items:stretch;flex-direction:column}.accessibility-font-control{display:grid;grid-template-columns:repeat(3,1fr)}.accessibility-font-control .secondary{width:100%}}

/* RC2.4 — controlos discretos, localização por dropdown e afinação Kallax 3 */
.quick-accessibility{display:inline-flex;align-items:center;gap:6px}
.quick-accessibility button{width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--card);font:700 calc(13px + var(--font-adjust)) Arial,sans-serif;line-height:1;cursor:pointer;box-shadow:0 2px 8px #00000008}
.quick-accessibility button:hover:not(:disabled){color:var(--ruby);border-color:color-mix(in srgb,var(--ruby),var(--line) 52%);background:var(--pale)}
.quick-accessibility button:disabled{opacity:.32;cursor:not-allowed}
.quick-accessibility .mode-toggle{color:var(--ink)}
:root[data-mode="escuro"] .quick-accessibility button{background:#1c1f20;border-color:#3a3d3e;color:#f0ede8}
:root[data-mode="escuro"] .quick-accessibility button:hover:not(:disabled){background:#26292a;color:var(--ruby)}

.room-select-wrap{max-width:100%;min-height:31px;display:flex;align-items:center;gap:6px;margin-top:8px;padding:0 8px;border:1px solid transparent;border-radius:7px;color:var(--muted);background:color-mix(in srgb,var(--paper),var(--card) 60%)}
.room-select-wrap>svg{flex:0 0 auto}
.room-select{min-width:0;max-width:100%;height:29px;flex:1;padding:0 22px 0 0;border:0;outline:0;color:inherit;background:transparent;font:600 calc(9px + var(--font-adjust)) Arial,sans-serif;cursor:pointer;text-overflow:ellipsis}
.room-select option{color:#fff;background:#242424;font-size:14px}
.finish-black .room-select-wrap{color:#f2eee7;border-color:#3a3a3a;background:#171717}
.finish-wood .room-select-wrap{color:#3d2b1d;border-color:#b38d66;background:#d9bb95}
.finish-wood .room-select option{color:#171411;background:#d9bb95}
:root[data-mode="escuro"] .room-select-wrap{background:#26292a;border-color:#393c3d;color:#f0ede8}

/* Kallax 3: três colunas assimétricas, de acordo com a configuração física de referência */
.model-kallax3>.shelf-frame{grid-template-columns:1.06fr .58fr 1.06fr!important;grid-template-rows:repeat(16,25px)!important;gap:4px!important}
.model-kallax3>.shelf-frame>button:nth-child(1){grid-column:1;grid-row:1/4}
.model-kallax3>.shelf-frame>button:nth-child(2){grid-column:1;grid-row:4/8}
.model-kallax3>.shelf-frame>button:nth-child(3){grid-column:1;grid-row:8/13}
.model-kallax3>.shelf-frame>button:nth-child(4){grid-column:1;grid-row:13/17}
.model-kallax3>.shelf-frame>button:nth-child(5){grid-column:2;grid-row:1/6}
.model-kallax3>.shelf-frame>button:nth-child(6){grid-column:2;grid-row:6/9}
.model-kallax3>.shelf-frame>button:nth-child(7){grid-column:2;grid-row:9/12}
.model-kallax3>.shelf-frame>button:nth-child(8){grid-column:2;grid-row:12/17}
.model-kallax3>.shelf-frame>button:nth-child(9){grid-column:3;grid-row:1/5}
.model-kallax3>.shelf-frame>button:nth-child(10){grid-column:3;grid-row:5/11}
.model-kallax3>.shelf-frame>button:nth-child(11){grid-column:3;grid-row:11/15}
.model-kallax3>.shelf-frame>button:nth-child(12){grid-column:3;grid-row:15/17}

/* SVGs oficiais ligeiramente maiores */
.side>.brand .brand-symbol{width:44px;height:44px}.side>.brand .brand-signature{width:150px}
.page-head-main>.brand.context .brand-symbol{width:32px;height:32px}.page-head-main>.brand.context .brand-signature{width:116px}
.mobile-head>.brand .brand-symbol{width:36px;height:36px}.mobile-head>.brand .brand-signature{width:114px}

.mobile-quick-controls{display:flex;align-items:center;gap:5px}
.mobile-quick-controls>button{width:34px!important;height:34px!important;font:700 12px Arial,sans-serif}
@media(max-width:900px){.head-actions{gap:9px}.quick-accessibility{order:1}.head-actions>.primary{order:2}.mobile-head>.brand .brand-symbol{width:36px!important;height:36px!important}.mobile-head>.brand .brand-signature{width:114px!important}}
@media(max-width:650px){.head-actions{display:grid;grid-template-columns:auto 1fr;gap:9px}.quick-accessibility{width:max-content}.head-actions>.primary{width:100%}.quick-accessibility button{width:36px;height:36px}.mobile-head{padding-inline:10px}.mobile-quick-controls{gap:3px}.mobile-quick-controls>button{width:32px!important;height:32px!important}}
/* A área detalhada de acessibilidade em Definições fica secundária e compacta. */
.accessibility-card{margin-top:10px!important;padding:13px 15px!important;gap:14px!important;border-radius:10px!important;box-shadow:none!important}
.accessibility-card .eyebrow{margin-bottom:3px!important}.accessibility-card h2{font-size:calc(16px + var(--font-adjust))!important}.accessibility-card p{margin-top:3px!important;font-size:calc(10px + var(--font-adjust))!important;line-height:1.35!important}.accessibility-font-control{gap:5px!important}.accessibility-font-control .secondary{min-width:46px!important;min-height:34px!important;padding-inline:9px!important}

/* RC2.5 — acessibilidade proporcional, contraste escuro, drag estável e ficha larga */
.font-a-small{font-size:11px;line-height:1;font-weight:700}
.font-a-large{font-size:17px;line-height:1;font-weight:800}
.quick-accessibility button,.mobile-quick-controls>button,.accessibility-font-control .secondary{min-width:calc(34px + var(--font-adjust));min-height:calc(34px + var(--font-adjust));width:auto;height:auto}
.quick-accessibility button{width:calc(38px + var(--font-adjust));height:calc(38px + var(--font-adjust))}
.side nav button{min-height:calc(44px + var(--font-adjust));padding-top:calc(var(--font-adjust) / 2);padding-bottom:calc(var(--font-adjust) / 2)}
.private{padding:calc(14px + var(--font-adjust) / 2)}
.user{padding-top:calc(16px + var(--font-adjust) / 2)}
.primary,.secondary{min-height:calc(40px + var(--font-adjust));padding-top:calc(var(--font-adjust) / 3);padding-bottom:calc(var(--font-adjust) / 3)}
.tools label{height:calc(40px + var(--font-adjust))}.tools>span button{width:calc(32px + var(--font-adjust));height:calc(32px + var(--font-adjust))}
.active-place select,.settings select,.segments{height:calc(38px + var(--font-adjust))}.isbn input{height:calc(46px + var(--font-adjust))}
.unit .room-pill{min-height:calc(29px + var(--font-adjust))}.unit-actions button{width:calc(30px + var(--font-adjust));height:calc(30px + var(--font-adjust))}
.ordered-books>article{min-height:calc(50px + var(--font-adjust));transition:border-color .12s,background .12s}.ordered-books>article.dragging{opacity:.82;transform:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--ruby),transparent 70%)}
.drag-handle{cursor:grab}.ordered-books>article:active .drag-handle{cursor:grabbing}

/* Mais contraste no modo escuro: secundários continuam claramente legíveis. */
:root[data-mode="escuro"]{--muted:#c6c9c7;--line:#4b4f50}
:root[data-mode="escuro"] .side nav button{color:#d3d5d3}
:root[data-mode="escuro"] .side nav button.active{color:#fff}
:root[data-mode="escuro"] :is(.page-head p,.head-actions>small,.book-info small,.book-info>small,.book-row-title small,.shelf-detail>p,.setting-grid p,.privacy-card p,.accessibility-card p,.active-place p,.found p,.tip p,.quick-shelves button small,.metrics small,.metrics em,.unit>header small,.layer-tabs button,.ordered-books .drag-handle,.text-action){color:#c6c9c7}
:root[data-mode="escuro"] :is(input,select,textarea){color:#f0ede8;border-color:#505456;background:#202324}
:root[data-mode="escuro"] input::placeholder,:root[data-mode="escuro"] textarea::placeholder{color:#9fa4a2;opacity:1}
:root[data-mode="escuro"] .side .private small,:root[data-mode="escuro"] .side .user small{color:#bfc2c0}
:root[data-mode="escuro"] .metrics .dark small,:root[data-mode="escuro"] .metrics .dark em{color:#c5c7c5}

/* No PC a ficha usa largura para evitar uma segunda barra de scroll interna. */
@media(min-width:1000px){
  .book-overlay{overflow-y:auto;padding:18px}
  .book-modal{width:min(1240px,calc(100vw - 36px));max-height:none;overflow:visible}
  .book-modal>header{padding:15px 20px}
  .book-modal-body{grid-template-columns:165px minmax(0,1fr);gap:18px;padding:16px 20px}
  .book-modal-body>aside .cover{max-height:245px}
  .edit-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;align-items:start}
  .edit-form section{padding-bottom:10px}
  .edit-form section:nth-child(3){grid-column:1/-1}
  .form-grid{gap:8px 10px}
  .signature-edit{grid-template-columns:repeat(4,minmax(0,1fr))}
  .signature-edit>.wide{grid-column:span 2}
  .signature-edit>.toggle-pair{grid-column:1/-1}
  .signature-edit>.signature-photo{grid-column:span 2}
  .signature-edit textarea{min-height:72px}
  .book-modal>footer{padding:11px 20px}
}

@media(max-width:650px){
  .font-a-small{font-size:10px}.font-a-large{font-size:16px}
  .bottom{height:calc(70px + var(--font-adjust))}
  .bottom button{min-height:calc(56px + var(--font-adjust))}
}

/* RC2.6 — sidebar adaptativa + etiquetas técnicas 4×2 cm */
:root{--side-width:254px}
.side{width:var(--side-width)}
main{margin-left:var(--side-width)}
.side>.brand small{max-width:100%;overflow:visible;text-overflow:clip}

/* Etiquetas: código + local + QR. Sem informação redundante. */
.labels{max-width:1320px}
.labels>header p{font-family:Arial,Helvetica,sans-serif}
.label-sheet{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;align-items:start}
.label-sheet article{
  width:100%;aspect-ratio:2/1;min-height:0;
  display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;
  align-items:center;column-gap:14px;row-gap:3px;
  padding:14px 15px;border:1px dashed #aaa39a;border-radius:5px;background:#fff;
  font-family:Arial,Helvetica,sans-serif;
}
.label-code{min-width:0;align-self:end}
.label-code strong{
  display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#161819;font:750 clamp(18px,calc(19px + var(--font-adjust)),27px)/1 ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  letter-spacing:.025em;font-variant-numeric:tabular-nums;
}
.label-room{
  min-width:0;align-self:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#606466;font:600 clamp(10px,calc(10px + var(--font-adjust)),14px)/1.2 Arial,Helvetica,sans-serif;
}
.qr{grid-column:2;grid-row:1/3;width:clamp(52px,calc(54px + var(--font-adjust)),64px);height:clamp(52px,calc(54px + var(--font-adjust)),64px);display:grid;place-items:center;padding:0;background:#fff}
.qr svg{width:100%;height:100%;display:block;shape-rendering:crispEdges}
.qr-fallback{border:1px solid #d7d3cc;color:#242728;background:#faf9f6}

:root[data-mode="escuro"] .label-sheet article{background:#f7f6f2;border-color:#77736e}
:root[data-mode="escuro"] .label-code strong{color:#151718}
:root[data-mode="escuro"] .label-room{color:#53585a}

@media(max-width:900px){main{margin-left:0}.label-sheet{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}
@media(max-width:650px){.label-sheet{grid-template-columns:1fr}.label-sheet article{max-width:400px;margin-inline:auto}}

@page{size:A4;margin:8mm}
@media print{
  html,body{background:#fff!important}
  .labels>header{display:none!important}
  .labels{width:auto;max-width:none;margin:0!important}
  .label-sheet{
    display:grid!important;grid-template-columns:repeat(4,4cm)!important;
    grid-auto-rows:2cm!important;gap:2mm!important;margin:0!important;
    justify-content:start!important;align-content:start!important;
  }
  .label-sheet article{
    box-sizing:border-box!important;width:4cm!important;height:2cm!important;aspect-ratio:auto!important;
    grid-template-columns:minmax(0,1fr) 1.12cm!important;grid-template-rows:1fr auto!important;
    column-gap:2.2mm!important;row-gap:.7mm!important;padding:2.2mm 2.4mm!important;
    border:.2mm solid #d1cec8!important;border-radius:1.2mm!important;background:#fff!important;
    color:#111!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;
  }
  .label-code strong{font:700 10.5pt/1 ui-monospace,"SFMono-Regular",Consolas,monospace!important;letter-spacing:.01em!important;color:#111!important}
  .label-room{font:600 6.5pt/1.1 Arial,Helvetica,sans-serif!important;color:#555!important}
  .qr{width:1.12cm!important;height:1.12cm!important;background:#fff!important}
}

/* RC2.7 — iPhone: safe areas + landscape responsivo */
@media (max-width:1024px){
  .side{display:none!important}
  .mobile-head{
    display:flex!important;
    height:auto!important;
    min-height:calc(62px + env(safe-area-inset-top));
    position:fixed;z-index:60;inset:0 0 auto;
    align-items:flex-end;justify-content:space-between;
    gap:10px;
    padding-top:env(safe-area-inset-top);
    padding-bottom:8px;
    padding-left:max(12px,env(safe-area-inset-left));
    padding-right:max(12px,env(safe-area-inset-right));
    color:#fff;background:#171819f7;backdrop-filter:blur(12px);
  }
  .mobile-head>.brand{min-width:0;flex:1 1 auto;overflow:hidden}
  .mobile-head>.brand .brand-symbol{width:34px!important;height:34px!important}
  .mobile-head>.brand .brand-signature{width:min(114px,31vw)!important;max-width:114px}
  .mobile-quick-controls{display:flex;align-items:center;gap:4px;flex:0 0 auto}
  .mobile-quick-controls>button{
    width:36px;height:36px;min-width:36px;display:grid;place-items:center;
    padding:0;border:1px solid #ffffff24;border-radius:9px;color:#d2d3d2;background:#ffffff0b;
  }
  .mobile-quick-controls>button.active{color:#fff;border-color:color-mix(in srgb,var(--ruby),white 28%);background:color-mix(in srgb,var(--ruby),transparent 48%)}

  main{
    margin-left:0!important;
    padding-top:calc(82px + env(safe-area-inset-top))!important;
    padding-right:max(18px,env(safe-area-inset-right))!important;
    padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
    padding-left:max(18px,env(safe-area-inset-left))!important;
  }
  .bottom{
    height:calc(70px + env(safe-area-inset-bottom));
    position:fixed;z-index:60;inset:auto 0 0;
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));
    padding-top:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom));
    padding-left:max(4px,env(safe-area-inset-left));
    padding-right:max(4px,env(safe-area-inset-right));
    border-top:1px solid #343638;color:#989a99;background:#171819fc;backdrop-filter:blur(13px)
  }
  .bottom button{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0 2px;border:0;color:inherit;background:none;font-size:calc(9px + var(--font-adjust))}
  .bottom button.active{color:#f5d5d9}.bottom svg{width:18px;height:18px}

  .page-head-main>.brand.context,.page-brand-divider{display:none!important}
  .page-head-main{display:block!important;min-width:0}
  .page-head{align-items:flex-start!important;flex-wrap:wrap;gap:16px;margin-bottom:26px}
  .page-title-copy{min-width:0;max-width:100%}
  .page-head p{max-width:680px}
  .head-actions{margin-left:auto;gap:9px;padding-bottom:0}
  .head-actions>small{display:none!important}
  .head-actions>.quick-accessibility{display:none!important}
  .head-actions>.primary{white-space:nowrap}

  .shelves-page{grid-template-columns:1fr}
  .shelf-detail{order:-1}
  .shelf-columns{display:flex}
  .shelf-column,.shelf-column.stacked{width:100%!important;padding:0;border:0;background:transparent;box-shadow:none}
  .shelf-column .unit{width:100%!important;max-width:100%}
}

@media (max-width:650px){
  .mobile-head{padding-bottom:7px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .mobile-head>.brand .brand-symbol{width:32px!important;height:32px!important}
  .mobile-head>.brand .brand-signature{width:min(100px,28vw)!important}
  .mobile-quick-controls{gap:3px}
  .mobile-quick-controls>button{width:34px!important;height:34px!important;min-width:34px!important}
  main{padding-top:calc(80px + env(safe-area-inset-top))!important;padding-right:max(13px,env(safe-area-inset-right))!important;padding-left:max(13px,env(safe-area-inset-left))!important}
}

@media (orientation:landscape) and (max-width:1024px){
  .mobile-head{padding-bottom:6px}
  main{padding-top:calc(72px + env(safe-area-inset-top))!important}
  .page-head{margin-bottom:20px}
  .page-head h1{font-size:clamp(calc(34px + var(--font-adjust)),5vw,calc(48px + var(--font-adjust)))}
  .page-head p{line-height:1.45}
}

/* RC2.8 — iOS backup picker */
.backup-file-hint{
  display:block;
  margin-top:.55rem;
  font-size:.82em;
  line-height:1.35;
  opacity:.72;
}

/* RC3.1 — sincronização Google Drive, proveniência editável e contenção horizontal */
html,body,#root,.app{width:100%;max-width:100%;overflow-x:hidden}
main,.page-head,.settings,.catalog,.add-page,.labels,.stats,.book-overlay,.book-modal{max-width:100%}
.shelf-columns{max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.shelves-page>div:first-child{min-width:0;max-width:100%}

.provenance-picker{display:grid;grid-template-columns:1fr;gap:8px;min-width:0}
.provenance-picker label{min-width:0}
.provenance-picker select,.provenance-picker input{width:100%;max-width:100%}
.provenance-custom{margin-top:0!important}

.signature-photo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.signature-photo-actions>img,.signature-photo img{width:auto;max-width:100%;max-height:260px;object-fit:contain;border:1px solid var(--line);border-radius:9px;background:var(--card)}
.signature-fields>.signature-photo-actions{grid-column:1/-1}

.drive-sync-card{position:relative}
.drive-sync-card label{display:flex;flex-direction:column;gap:6px;margin-top:12px;color:var(--muted);font-size:calc(10px + var(--font-adjust));font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.drive-sync-card input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--card)}
.sync-status{margin:8px 0!important;padding:9px 11px;border-radius:9px;background:color-mix(in srgb,var(--sage),transparent 88%);font-weight:700}
.sync-status.busy{background:color-mix(in srgb,var(--gold),transparent 84%)}
.sync-status.error,.sync-status.conflict{background:color-mix(in srgb,var(--ruby),transparent 84%)}
.sync-scope,.sync-warning{display:block;margin-top:7px;color:var(--muted);line-height:1.45}
.sync-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sync-actions button{flex:1 1 170px}
.sync-test-note{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:10px 11px;border:1px dashed var(--line);border-radius:9px;background:color-mix(in srgb,var(--gold),transparent 92%);font-size:calc(9px + var(--font-adjust));line-height:1.4}
.sync-conflict{margin-top:12px;padding:11px;border:1px solid color-mix(in srgb,var(--ruby),transparent 55%);border-radius:9px;background:color-mix(in srgb,var(--ruby),transparent 92%)}
.sync-conflict>p{margin:5px 0 9px!important}.sync-conflict>div{display:flex;flex-wrap:wrap;gap:7px}
.sync-disconnect{margin-top:12px!important;margin-left:0!important;text-align:left}

@media(max-width:1024px){
  .shelf-columns{touch-action:pan-x pan-y}
  .settings,.add-page,.catalog,.labels,.stats{width:100%;min-width:0}
  .signature-photo-actions .secondary{flex:1 1 180px;justify-content:center}
}

/* RC3.2 — etiquetas compactas + QR real + ajuste mobile das estantes */
.label-sheet{grid-template-columns:repeat(auto-fill,minmax(260px,330px));justify-content:start;gap:12px}
.label-sheet article{
  width:100%;aspect-ratio:11/6;
  grid-template-columns:minmax(0,1fr) 1px auto;
  grid-template-rows:1fr auto;
  column-gap:10px;row-gap:3px;
  padding:12px 13px;
}
.label-code{grid-column:1;grid-row:1;align-self:end}
.label-room{grid-column:1;grid-row:2;align-self:start}
.label-divider{
  grid-column:2;grid-row:1/3;align-self:stretch;
  display:block;width:1px;min-height:100%;
  background:#d8d3cb;
}
.qr{
  grid-column:3;grid-row:1/3;
  width:clamp(48px,calc(50px + var(--font-adjust)),58px);
  height:clamp(48px,calc(50px + var(--font-adjust)),58px);
  align-self:center;
}
.qr-loading{border:1px solid #e2ded7;background:#fff}
.qr-loading>span{width:8px;height:8px;border:1.5px solid #8d8a84;border-radius:2px;opacity:.55}
:root[data-mode="escuro"] .label-divider{background:#bbb5ac}

@media(max-width:1024px){
  .shelf-columns{width:100%;max-width:100%;overflow-x:hidden!important;padding-right:0!important}
  .shelf-column,.shelf-column.stacked{flex:0 0 100%!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .shelf-column .unit{width:100%!important;max-width:100%!important;min-width:0!important}
  .shelf-frame{width:auto!important;max-width:calc(100% - 16px)!important;min-width:0!important;overflow:hidden}
  .shelf-frame>button{min-width:0!important;max-width:100%!important}
  .model-open>.shelf-frame>button,.model-bookcase>.shelf-frame>button{width:100%!important}
}

@media(max-width:650px){
  .label-sheet{grid-template-columns:1fr;justify-items:center}
  .label-sheet article{width:min(100%,330px);max-width:330px}
}

@media print{
  .label-sheet{
    grid-template-columns:repeat(5,3.3cm)!important;
    grid-auto-rows:1.8cm!important;
    gap:2mm!important;
  }
  .label-sheet article{
    width:3.3cm!important;height:1.8cm!important;aspect-ratio:auto!important;
    grid-template-columns:minmax(0,1fr) .18mm 1.10cm!important;
    grid-template-rows:1fr auto!important;
    column-gap:1.6mm!important;row-gap:.45mm!important;
    padding:1.7mm 1.8mm!important;
    border:.18mm solid #d1cec8!important;border-radius:1mm!important;
  }
  .label-code strong{font:700 9.3pt/1 ui-monospace,"SFMono-Regular",Consolas,monospace!important;letter-spacing:.01em!important}
  .label-room{font:600 6pt/1.05 Arial,Helvetica,sans-serif!important}
  .label-divider{width:.18mm!important;background:#d2ccc3!important}
  .qr{width:1.10cm!important;height:1.10cm!important}
}


/* RC3.3.2 — etiquetas 3,2 × 1,2 cm; QR maior e proporcional */
.label-sheet{
  grid-template-columns:repeat(auto-fill,minmax(280px,320px));
  justify-content:start;
  gap:12px;
}
.label-sheet article{
  width:100%;
  aspect-ratio:8/3;
  grid-template-columns:minmax(0,1fr) 1px auto;
  grid-template-rows:1fr auto;
  column-gap:8px;
  row-gap:2px;
  padding:8px 9px;
}
.label-code strong{
  font-size:clamp(17px,calc(18px + var(--font-adjust)),24px);
  line-height:1;
}
.label-room{
  font-size:clamp(9px,calc(9px + var(--font-adjust)),12px);
  line-height:1.05;
}
.label-divider{
  align-self:stretch;
  min-height:0;
}
.qr{
  width:clamp(76px,calc(80px + var(--font-adjust)),88px);
  height:clamp(76px,calc(80px + var(--font-adjust)),88px);
  align-self:center;
}
@media(max-width:650px){
  .label-sheet{grid-template-columns:1fr;justify-items:center}
  .label-sheet article{width:min(100%,320px);max-width:320px}
}
@media print{
  .label-sheet{
    grid-template-columns:repeat(5,3.2cm)!important;
    grid-auto-rows:1.2cm!important;
    gap:2mm!important;
  }
  .label-sheet article{
    box-sizing:border-box!important;
    width:3.2cm!important;
    height:1.2cm!important;
    aspect-ratio:auto!important;
    grid-template-columns:minmax(0,1fr) .18mm 1cm!important;
    grid-template-rows:1fr auto!important;
    column-gap:.8mm!important;
    row-gap:.25mm!important;
    padding:.8mm!important;
    border:.16mm solid #d1cec8!important;
    border-radius:.7mm!important;
  }
  .label-code strong{
    font:700 7.2pt/1 ui-monospace,"SFMono-Regular",Consolas,monospace!important;
    letter-spacing:.005em!important;
  }
  .label-room{
    font:600 4.6pt/1 Arial,Helvetica,sans-serif!important;
  }
  .label-divider{
    width:.18mm!important;
    background:#d2ccc3!important;
  }
  .qr{
    width:1cm!important;
    height:1cm!important;
  }
}

/* RC3.4.1 LOCAL — impressão isolada de etiquetas + versão visível em Definições */
.identity-card{position:relative!important;min-height:190px;padding-bottom:34px!important}
.identity-card .app-version{
  position:absolute;right:14px;bottom:11px;
  color:var(--muted);font:650 10px/1.2 Arial,Helvetica,sans-serif;
  letter-spacing:.035em;white-space:nowrap;opacity:.86
}
:root[data-mode="escuro"] .identity-card .app-version{color:#b7b9b8}
.qr canvas{display:block;width:100%;height:100%;image-rendering:pixelated}
.qr-error{display:grid!important;place-items:center;color:#8f3945;font-weight:800;border:1px solid #8f3945!important;background:#fff!important}

@page{size:A4 portrait;margin:4mm}
@media print{
  html,body{width:auto!important;height:auto!important;margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important}
  body.printing-labels #root>.app>.side,
  body.printing-labels #root>.app>.mobile-head,
  body.printing-labels #root>.app>.bottom,
  body.printing-labels #root>.app>main>.page-head,
  body.printing-labels #root>.app>main>.labels>header,
  body.printing-labels #root>.app>main>.labels>aside,
  body.printing-labels .toast,
  body.printing-labels .book-overlay,
  body.printing-labels .camera-modal{display:none!important}
  body.printing-labels #root,
  body.printing-labels #root>.app,
  body.printing-labels #root>.app>main,
  body.printing-labels #root>.app>main>.labels{
    display:block!important;width:auto!important;max-width:none!important;min-width:0!important;
    margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important
  }
  body.printing-labels #root>.app>main>.labels{position:static!important}
  body.printing-labels .label-sheet{
    display:grid!important;
    grid-template-columns:repeat(5,3.2cm)!important;
    grid-auto-rows:1.2cm!important;
    gap:1mm 2mm!important;
    width:max-content!important;margin:0!important;padding:0!important;
    justify-content:start!important;align-content:start!important
  }
  body.printing-labels .label-sheet article{
    box-sizing:border-box!important;width:3.2cm!important;height:1.2cm!important;min-width:3.2cm!important;min-height:1.2cm!important;
    aspect-ratio:auto!important;display:grid!important;
    grid-template-columns:minmax(0,1fr) .18mm 1cm!important;grid-template-rows:auto auto!important;
    align-content:center!important;align-items:center!important;column-gap:.8mm!important;row-gap:.12mm!important;
    margin:0!important;padding:.7mm!important;border:.16mm solid #cfcac2!important;border-radius:.65mm!important;
    background:#fff!important;color:#111!important;box-shadow:none!important;overflow:hidden!important;
    break-inside:avoid!important;page-break-inside:avoid!important
  }
  body.printing-labels .label-code{grid-column:1!important;grid-row:1!important;align-self:end!important;line-height:1!important}
  body.printing-labels .label-code strong{font:700 7pt/1 ui-monospace,"SFMono-Regular",Consolas,monospace!important;letter-spacing:0!important;color:#111!important}
  body.printing-labels .label-room{grid-column:1!important;grid-row:2!important;align-self:start!important;font:600 4.5pt/1 Arial,Helvetica,sans-serif!important;color:#555!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.printing-labels .label-divider{grid-column:2!important;grid-row:1/3!important;display:block!important;width:.18mm!important;height:100%!important;align-self:stretch!important;background:#d2ccc3!important}
  body.printing-labels .qr{grid-column:3!important;grid-row:1/3!important;width:1cm!important;height:1cm!important;min-width:1cm!important;min-height:1cm!important;margin:0!important;padding:0!important;align-self:center!important;justify-self:center!important;background:#fff!important;border:0!important;overflow:hidden!important}
  body.printing-labels .qr canvas{display:block!important;width:1cm!important;height:1cm!important;max-width:none!important;max-height:none!important;image-rendering:pixelated!important}
}


/* RC3.4.2 LOCAL — pré-visualização WYSIWYG das etiquetas */
@media screen {
  .labels{max-width:1320px!important}
  .label-sheet{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
    align-items:start!important;
    justify-content:stretch!important;
  }
  .label-sheet article{
    box-sizing:border-box!important;
    width:100%!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    aspect-ratio:8 / 3!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 1px minmax(0,31.25%)!important;
    grid-template-rows:1fr auto!important;
    align-content:center!important;
    align-items:center!important;
    column-gap:7px!important;
    row-gap:2px!important;
    padding:7px!important;
    overflow:hidden!important;
  }
  .label-code{min-width:0!important}
  .label-code strong{
    font-size:clamp(12px,calc(13px + var(--font-adjust)),18px)!important;
    line-height:1!important;
  }
  .label-room{
    min-width:0!important;
    font-size:clamp(8px,calc(8px + var(--font-adjust)),11px)!important;
    line-height:1!important;
  }
  .label-divider{
    grid-column:2!important;grid-row:1/3!important;
    width:1px!important;height:100%!important;
    align-self:stretch!important;
  }
  .qr{
    grid-column:3!important;grid-row:1/3!important;
    width:100%!important;height:auto!important;aspect-ratio:1/1!important;
    max-width:100%!important;max-height:100%!important;
    min-width:0!important;min-height:0!important;
    align-self:center!important;justify-self:center!important;
    overflow:hidden!important;
  }
  .qr canvas{
    display:block!important;width:100%!important;height:100%!important;
    max-width:100%!important;max-height:100%!important;
  }
}
@media screen and (max-width:1180px){.label-sheet{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media screen and (max-width:900px){.label-sheet{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media screen and (max-width:650px){
  .label-sheet{grid-template-columns:1fr!important;justify-items:center!important}
  .label-sheet article{width:min(100%,320px)!important;max-width:320px!important}
}


/* RC3.4.3 LOCAL — preview estável das etiquetas; impressão mantém RC3.4.1 */
@media screen {
  .labels{max-width:1320px!important}
  .label-sheet{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
    align-items:start!important;
    justify-content:stretch!important;
  }
  .label-sheet article{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:8 / 3!important;
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 1px 72px!important;
    grid-template-rows:1fr auto!important;
    align-content:center!important;
    align-items:center!important;
    column-gap:7px!important;
    row-gap:2px!important;
    padding:6px 7px!important;
    overflow:hidden!important;
  }
  .label-code{grid-column:1!important;grid-row:1!important;min-width:0!important;align-self:end!important}
  .label-code strong{
    display:block!important;
    font-size:clamp(12px,calc(13px + var(--font-adjust)),17px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .label-room{
    grid-column:1!important;grid-row:2!important;min-width:0!important;align-self:start!important;
    font-size:clamp(8px,calc(8px + var(--font-adjust)),10px)!important;
    line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .label-divider{
    grid-column:2!important;grid-row:1/3!important;
    display:block!important;width:1px!important;height:100%!important;min-height:0!important;
    align-self:stretch!important;background:#d8d3cb!important;
  }
  .qr{
    grid-column:3!important;grid-row:1/3!important;
    box-sizing:border-box!important;
    width:72px!important;height:72px!important;
    min-width:72px!important;min-height:72px!important;
    max-width:72px!important;max-height:72px!important;
    align-self:center!important;justify-self:center!important;
    margin:0!important;padding:0!important;
    background:#fff!important;border:0!important;overflow:hidden!important;
  }
  .qr canvas{
    display:block!important;
    width:72px!important;height:72px!important;
    min-width:72px!important;min-height:72px!important;
    max-width:72px!important;max-height:72px!important;
    object-fit:contain!important;
    image-rendering:pixelated!important;
  }
}
@media screen and (max-width:1180px){
  .label-sheet{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .label-sheet article{grid-template-columns:minmax(0,1fr) 1px 76px!important}
  .qr,.qr canvas{width:76px!important;height:76px!important;min-width:76px!important;min-height:76px!important;max-width:76px!important;max-height:76px!important}
}
@media screen and (max-width:900px){
  .label-sheet{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media screen and (max-width:650px){
  .label-sheet{grid-template-columns:1fr!important;justify-items:center!important}
  .label-sheet article{width:min(100%,320px)!important;max-width:320px!important;grid-template-columns:minmax(0,1fr) 1px 82px!important;padding:7px 8px!important}
  .qr,.qr canvas{width:82px!important;height:82px!important;min-width:82px!important;min-height:82px!important;max-width:82px!important;max-height:82px!important}
}


/* RC3.5 · controlos de focagem/câmara para leitura de ISBN/UPC */
.camera-box{cursor:crosshair;touch-action:manipulation}
.target{pointer-events:none}
.focus-point{
  position:absolute;z-index:4;width:48px;height:48px;
  transform:translate(-50%,-50%);border:2px solid #fff;border-radius:8px;
  box-shadow:0 0 0 1px #0008;
  pointer-events:none;animation:pb-focus-pop .9s ease-out forwards
}
.focus-point::before,.focus-point::after{content:"";position:absolute;background:#fff;opacity:.9}
.focus-point::before{width:12px;height:2px;left:16px;top:21px}
.focus-point::after{width:2px;height:12px;left:21px;top:16px}
@keyframes pb-focus-pop{
  0%{transform:translate(-50%,-50%) scale(1.35);opacity:.45}
  25%{transform:translate(-50%,-50%) scale(1);opacity:1}
  100%{transform:translate(-50%,-50%) scale(.92);opacity:0}
}
.camera-live-controls{
  display:grid;grid-template-columns:auto auto 1fr;gap:7px;align-items:center;
  margin:10px 0 0
}
.camera-live-controls button{
  min-height:38px;padding:0 12px;border-radius:9px;font-size:calc(10px + var(--font-adjust))
}
.camera-live-controls button:disabled{opacity:.42;cursor:not-allowed}
.camera-switch{display:flex;align-items:center;justify-content:center;gap:7px}
.camera-name{
  grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--muted);font-size:calc(8px + var(--font-adjust));text-align:center
}
@media(max-width:650px){
  .camera-live-controls{grid-template-columns:1fr 1fr}
  .camera-switch{grid-column:1/-1}
  .camera-live-controls button{min-height:42px}
}

/* RC3.6 LOCAL — publicações sem ISBN + reutilização de dados de exemplares repetidos */
.no-code-entry{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:12px 0 0;padding:10px 12px;border:1px dashed var(--line);border-radius:10px;
  background:color-mix(in srgb,var(--paper),var(--card) 45%);
  color:var(--muted);font-size:calc(9px + var(--font-adjust));
}
.no-code-entry .secondary{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px}
.found-cover{position:relative;overflow:hidden}
.cover-pick{
  position:absolute;left:4px;right:4px;bottom:4px;z-index:2;
  min-height:26px!important;padding:3px 5px!important;border:0!important;border-radius:6px!important;
  display:flex!important;align-items:center;justify-content:center;gap:4px;
  color:#fff!important;background:#17191acc!important;backdrop-filter:blur(4px);
  font-size:8px!important;line-height:1.05!important;text-align:center;cursor:pointer;
}
.cover-pick input{display:none}
@media(max-width:650px){
  .no-code-entry{align-items:stretch;flex-direction:column}
  .no-code-entry .secondary{width:100%;justify-content:center}
}


/* RC3.7 — Discoteca / Vinil: catálogo separado no mesmo arquivo privado */
.app.vinyl-active{
  --ruby:#5b627d; --ruby2:#43495f; --pale:#e8e9ef; --sage:#798a84; --gold:#b77a4c;
}
.app.vinyl-active main{background:
  radial-gradient(circle at 92% 3%,color-mix(in srgb,var(--ruby),transparent 90%),transparent 28%),
  var(--paper)}
.app.vinyl-active .side nav button.active{background:#5b627d33;box-shadow:inset 3px 0 var(--ruby)}
.app.vinyl-active .private{color:#d9dcea}
.vinyl-section{max-width:1450px;margin:0 auto}
.vinyl-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:22px;padding:6px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--card),transparent 4%)}
.vinyl-tabs button{display:flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border:0;border-radius:9px;color:var(--muted);background:transparent;font-weight:700;cursor:pointer}
.vinyl-tabs button.active{color:#fff;background:var(--ruby);box-shadow:0 4px 12px color-mix(in srgb,var(--ruby),transparent 74%)}
.vinyl-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.vinyl-metrics article,.vinyl-stats article{display:flex;align-items:center;gap:14px;padding:19px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.vinyl-metrics article>svg{width:40px;height:40px;padding:9px;border-radius:50%;color:var(--ruby);background:var(--pale)}
.vinyl-metrics span{display:flex;flex-direction:column}.vinyl-metrics small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.vinyl-metrics strong{margin-top:3px;font:600 calc(26px + var(--font-adjust)) Georgia,serif}
.vinyl-catalog-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}.vinyl-catalog-head h2,.vinyl-models h2{margin:0;font:500 calc(26px + var(--font-adjust)) Georgia,serif}
.vinyl-search{width:min(390px,45vw);height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted)}
.vinyl-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink)}
.vinyl-grid{display:grid;grid-template-columns:repeat(6,minmax(135px,1fr));gap:22px 17px}
.vinyl-card{min-width:0}.vinyl-cover{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:5px;background:radial-gradient(circle,#303541 0 12%,#15181e 13% 34%,#262b35 35% 48%,#111318 49%);color:#d9dcea;box-shadow:0 7px 18px #0002}.vinyl-cover img{width:100%;height:100%;object-fit:cover}.vinyl-cover small{position:absolute;margin-top:78px;font-weight:700}
.vinyl-card>strong{display:block;margin-top:10px;font:600 calc(15px + var(--font-adjust)) Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vinyl-card>span,.vinyl-card>small{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vinyl-card>span{font-size:calc(11px + var(--font-adjust))}.vinyl-card>small{color:var(--muted);font-size:calc(9px + var(--font-adjust))}
.vinyl-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px}.vinyl-card-actions span{color:var(--ruby);font-size:calc(9px + var(--font-adjust));font-weight:700}.vinyl-card-actions button,.vinyl-unit>header>button{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--card);cursor:pointer}
.vinyl-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:25px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}.vinyl-empty strong{margin-top:9px;color:var(--ink)}.vinyl-empty p{max-width:520px;margin:6px 0 0}
.vinyl-add-layout,.vinyl-shelves-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.vinyl-form-card,.vinyl-location-card,.vinyl-shelves-main{padding:22px;border:1px solid var(--line);border-radius:15px;background:var(--card);box-shadow:var(--shadow)}.vinyl-form-card>header,.vinyl-models{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.vinyl-form-card h2,.vinyl-location-card h2{margin:0;font:500 calc(25px + var(--font-adjust)) Georgia,serif}
.vinyl-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px}.vinyl-form-grid label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:calc(10px + var(--font-adjust));font-weight:700}.vinyl-form-grid label.wide{grid-column:1/-1}.vinyl-form-grid input,.vinyl-form-grid select,.vinyl-form-grid textarea{width:100%;min-height:41px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.vinyl-form-grid textarea{min-height:75px;resize:vertical}
.vinyl-cover-picker{display:flex;align-items:center;gap:10px;margin:15px 0}.vinyl-cover-picker>img{width:76px;height:76px;object-fit:cover;border-radius:5px}.vinyl-cover-picker>svg{width:76px;height:76px;padding:20px;border:1px dashed var(--line);border-radius:5px;color:var(--muted)}.vinyl-cover-picker input{display:none}
.vinyl-location-card{position:sticky;top:22px}.vinyl-location-card p{color:var(--muted)}.vinyl-location-card .layer-tabs{margin:15px 0}
.vinyl-models>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.vinyl-models .secondary{min-height:34px;padding:0 9px;font-size:11px}
.vinyl-unit-map{display:flex;align-items:flex-start;gap:15px;overflow-x:auto;padding:4px 2px 15px}.vinyl-unit{flex:0 0 auto}.vinyl-unit .shelf-frame>button{position:relative}.vinyl-mini-records{position:absolute;left:8px;right:8px;bottom:8px;display:flex;align-items:center;justify-content:center;gap:1px;height:22px}.vinyl-mini-records i{width:8px;height:8px;border:2px solid #c7c9d2;border-radius:50%;background:#252a34;box-shadow:0 0 0 1px #0005}
.vinyl-niche-list{display:flex;flex-direction:column;gap:6px;margin:12px 0 16px;max-height:340px;overflow:auto}.vinyl-niche-list>div{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:8px}.vinyl-niche-list b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--pale);color:var(--ruby);font-size:10px}.vinyl-niche-list span{min-width:0;display:flex;flex-direction:column}.vinyl-niche-list strong,.vinyl-niche-list small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vinyl-niche-list small{color:var(--muted)}
.vinyl-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.vinyl-stats article{flex-direction:column;align-items:flex-start}.vinyl-stats strong{font:600 calc(30px + var(--font-adjust)) Georgia,serif}.vinyl-stats small{color:var(--muted)}
:root[data-mode="escuro"] .app.vinyl-active{--ruby:#9299bc;--ruby2:#777fa4;--pale:#292d3b}
:root[data-mode="escuro"] .vinyl-cover{box-shadow:0 8px 22px #0007}
@media(max-width:1100px){.vinyl-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}.vinyl-add-layout,.vinyl-shelves-layout{grid-template-columns:1fr}.vinyl-location-card{position:static}.vinyl-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.vinyl-tabs{display:grid;grid-template-columns:repeat(2,1fr)}.vinyl-tabs button{justify-content:center}.vinyl-metrics{grid-template-columns:1fr}.vinyl-catalog-head,.vinyl-form-card>header,.vinyl-models{align-items:stretch;flex-direction:column}.vinyl-search{width:100%}.vinyl-grid{grid-template-columns:repeat(2,minmax(120px,1fr));gap:18px 12px}.vinyl-form-grid{grid-template-columns:1fr}.vinyl-form-grid label.wide{grid-column:auto}.vinyl-stats{grid-template-columns:1fr}}


/* RC3.7.1 — Vinil autografado */
.vinyl-metrics{grid-template-columns:repeat(4,1fr)}
.vinyl-signed-badge{display:inline-flex!important;width:max-content;margin-top:6px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--gold),transparent 38%);border-radius:999px;color:var(--gold);background:color-mix(in srgb,var(--gold),transparent 90%);font-size:calc(8px + var(--font-adjust));font-style:normal;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.vinyl-signature-card{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper),var(--card) 45%)}
.vinyl-signature-card>header{margin-bottom:11px}.vinyl-signature-card h3{margin:0;font:600 calc(19px + var(--font-adjust)) Georgia,serif}
.vinyl-signature-card .signature-fields{margin-top:10px}
.vinyl-signature-card .signature-photo-actions img{max-height:190px}
.vinyl-limited-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(180px,1fr);gap:12px;align-items:end;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.vinyl-limited-row>label:not(.toggle-field){display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:calc(9px + var(--font-adjust));font-weight:700;text-transform:uppercase;letter-spacing:.06em}.vinyl-limited-row input{width:100%;min-height:39px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
@media(max-width:1100px){.vinyl-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.vinyl-metrics{grid-template-columns:1fr}.vinyl-limited-row{grid-template-columns:1fr}}


/* RC3.7.4 LOCAL — Discoteca: mapa Kallax integralmente alinhado com a Biblioteca */
.vinyl-section{width:100%;max-width:1680px;margin:0 auto}
.vinyl-section .vinyl-shelves-page{width:100%;max-width:1680px;margin:0}
.vinyl-section .vinyl-shelves-page .section-head,
.vinyl-section .vinyl-shelves-page .shelf-add,
.vinyl-section .vinyl-shelves-page .shelf-columns,
.vinyl-section .vinyl-shelves-page .shelf-detail{box-sizing:border-box}
.vinyl-section .vinyl-shelves-page .shelf-columns{min-width:0}
.vinyl-section .vinyl-shelves-page .unit{flex:0 0 auto}

/* A única diferença física no nicho: lombadas de vinil muito mais finas. */
.cell-spines.vinyl-spines{gap:0!important;padding-left:4px!important;padding-right:4px!important}
.cell-spines.vinyl-spines i{
  width:1px!important;
  min-width:1px!important;
  max-width:1px!important;
  flex:0 0 1px!important;
  border-radius:0!important;
  box-shadow:inset 1px 0 #ffffff26!important;
}
.cell-spines.vinyl-spines:empty:before{
  height:94%!important;
  border-bottom:3px solid #29343a!important;
  background:repeating-linear-gradient(90deg,
    #756b64 0 1px,#b08a60 1px 2px,#627a88 2px 3px,#78817b 3px 4px,
    #8e6562 4px 5px,#c39a63 5px 6px,#66758a 6px 7px,#9c735d 7px 8px)!important;
}
.vinyl-mini-spine{width:3px!important;min-width:3px!important;padding:0!important;font-size:0!important}
.vinyl-row-title{cursor:default}

/* Etiquetas de vinil usam exatamente a mesma geometria/QR/impressão das etiquetas da Biblioteca. */
@media print{
  body.printing-labels #root>.app>main>.vinyl-section>nav,
  body.printing-labels #root>.app>main>.vinyl-section>.vinyl-metrics,
  body.printing-labels #root>.app>main>.vinyl-section>.vinyl-catalog-head,
  body.printing-labels #root>.app>main>.vinyl-section>.vinyl-grid,
  body.printing-labels #root>.app>main>.vinyl-section>.vinyl-add-layout,
  body.printing-labels #root>.app>main>.vinyl-section>.shelves-page,
  body.printing-labels #root>.app>main>.vinyl-section>.vinyl-stats,
  body.printing-labels #root>.app>main>.vinyl-section>.labels>header,
  body.printing-labels #root>.app>main>.vinyl-section>.labels>aside{display:none!important}
  body.printing-labels #root>.app>main>.vinyl-section,
  body.printing-labels #root>.app>main>.vinyl-section>.labels{
    display:block!important;width:auto!important;max-width:none!important;min-width:0!important;
    margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important
  }
}
@media(max-width:1024px){
  .vinyl-section{max-width:100%}
  .vinyl-section .vinyl-shelves-page{max-width:100%}
}


/* RC3.7.6 LOCAL — alinhamento fixo do logótipo contextual em todas as páginas */
@media(min-width:901px){
  .page-head-main{align-items:flex-start!important}
  .page-head-main>.brand.context{
    align-self:flex-start!important;
    margin-top:18px!important;
    flex:0 0 auto;
  }
  .page-head-main>.page-brand-divider{
    align-self:flex-start!important;
    margin-top:8px!important;
    height:46px!important;
  }
}

/* RC3.7.7 NETLIFY — vinis no mapa Kallax: quase à altura do nicho e metade da espessura anterior. */
.cell-spines.vinyl-spines i{height:var(--h)!important;}

/* RC3.7.9 NETLIFY — 3.ª camada opcional + Kallax 3 corrigida pela referência física. */
.layer-tabs.three-layers{grid-template-columns:repeat(3,minmax(0,1fr))}
.third-layer-add{display:inline-flex;align-items:center;gap:5px;margin:8px 0 2px;padding:4px 2px;border:0;color:var(--muted);background:transparent;font:700 calc(9px + var(--font-adjust)) Arial,sans-serif;cursor:pointer}
.third-layer-add:hover{color:var(--ruby)}
.segments.three-layers{min-width:190px}
.segments.three-layers button{padding-inline:5px;font-size:calc(9px + var(--font-adjust))}

/* Kallax 3: orientação corrigida e espaçamentos assimétricos preservados. */
.model-kallax3>.shelf-frame{grid-template-columns:1.06fr .58fr 1.06fr!important;grid-template-rows:repeat(16,25px)!important;gap:4px!important}
.model-kallax3>.shelf-frame>button:nth-child(1){grid-column:1;grid-row:1/5}
.model-kallax3>.shelf-frame>button:nth-child(2){grid-column:1;grid-row:5/11}
.model-kallax3>.shelf-frame>button:nth-child(3){grid-column:1;grid-row:11/15}
.model-kallax3>.shelf-frame>button:nth-child(4){grid-column:1;grid-row:15/17}
.model-kallax3>.shelf-frame>button:nth-child(5){grid-column:2;grid-row:1/6}
.model-kallax3>.shelf-frame>button:nth-child(6){grid-column:2;grid-row:6/9}
.model-kallax3>.shelf-frame>button:nth-child(7){grid-column:2;grid-row:9/12}
.model-kallax3>.shelf-frame>button:nth-child(8){grid-column:2;grid-row:12/17}
.model-kallax3>.shelf-frame>button:nth-child(9){grid-column:3;grid-row:1/4}
.model-kallax3>.shelf-frame>button:nth-child(10){grid-column:3;grid-row:4/8}
.model-kallax3>.shelf-frame>button:nth-child(11){grid-column:3;grid-row:8/13}
.model-kallax3>.shelf-frame>button:nth-child(12){grid-column:3;grid-row:13/17}

/* Na Kallax 3, as lombadas ocupam a altura útil de cada nicho, como nas restantes estantes. */
.model-kallax3>.shelf-frame>button{display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:5px!important}
.model-kallax3 .cell-spines{flex:1 1 auto!important;min-height:0!important;height:auto!important;margin:15px 0 2px!important;padding:2px 3px 0!important}
.model-kallax3 .cell-spines:empty:before{height:88%!important}

@media(max-width:650px){
  .layer-tabs.three-layers{grid-template-columns:1fr}
  .segments.three-layers{min-width:0;width:100%}
}

/* RC3.8.0 — cores globais/paleta para exemplares sem fotografia de capa */
.cover-colors-card{margin-top:14px;padding:22px 24px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 4px 15px #241b1710}
.cover-colors-card h2{margin:0;font:600 calc(21px + var(--font-adjust)) ui-serif,Georgia,serif}.cover-colors-card header p{max-width:760px;margin:7px 0 0;color:var(--muted);font-size:calc(10px + var(--font-adjust));line-height:1.5}
.no-cover-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.no-cover-setting{padding:14px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--card),var(--paper) 18%)}
.no-cover-title{display:flex;align-items:center;gap:9px;margin-bottom:10px}.no-cover-title strong{font:600 calc(14px + var(--font-adjust)) ui-serif,Georgia,serif}.no-cover-swatch{width:25px;height:31px;display:block;border:1px solid color-mix(in srgb,var(--line),#000 8%);border-radius:3px;box-shadow:inset 0 0 0 1px #ffffff24}
.no-cover-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:3px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--paper),var(--card) 45%)}.no-cover-modes button{min-height:31px;padding:4px 7px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:calc(9px + var(--font-adjust));font-weight:750;cursor:pointer}.no-cover-modes button.active{color:#fff;background:var(--ruby)}
.no-cover-color-input{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;color:var(--muted);font-size:calc(9px + var(--font-adjust));font-weight:700}.no-cover-color-input input[type="color"]{width:42px;height:30px;padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--card);cursor:pointer}.no-cover-color-input:not(.enabled) input{opacity:.35;cursor:default}
:root[data-mode="escuro"] .cover-colors-card{color:var(--ink);background:var(--card)}:root[data-mode="escuro"] .no-cover-setting{background:color-mix(in srgb,var(--card),var(--paper) 24%)}
.vinyl-cover.without-image{background:radial-gradient(circle,color-mix(in srgb,var(--vinyl-base),#fff 22%) 0 12%,color-mix(in srgb,var(--vinyl-base),#000 18%) 13% 34%,var(--vinyl-base) 35% 48%,color-mix(in srgb,var(--vinyl-base),#000 42%) 49%);color:#fff}
@media(max-width:700px){.cover-colors-card{padding:18px 14px}.no-cover-grid{grid-template-columns:1fr}.no-cover-modes{grid-template-columns:1fr 1fr 1fr}}

/* RC3.8.1 — recuperação assistida de capas em falta */
.missing-covers{max-width:1180px;margin:0 auto 44px}
.cover-recovery-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;border:1px solid var(--line);border-radius:16px;background:var(--card);box-shadow:var(--shadow)}
.cover-recovery-hero>div:first-child{max-width:720px}.cover-recovery-hero h2{margin:5px 0 8px;font:600 calc(28px + var(--font-adjust)) ui-serif,Georgia,serif}.cover-recovery-hero p{margin:0;color:var(--muted);line-height:1.55}
.cover-recovery-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.cover-recovery-actions button{white-space:nowrap}
.cover-recovery-progress{position:relative;height:28px;margin:14px 0 0;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--card)}.cover-recovery-progress i{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--ruby),transparent 76%);transition:width .2s ease}.cover-recovery-progress span{position:relative;z-index:1;display:grid;height:100%;place-items:center;font-size:calc(11px + var(--font-adjust));font-weight:700}
.cover-source-note{display:flex;align-items:flex-start;gap:9px;margin:14px 0 0;padding:12px 14px;border-radius:11px;background:color-mix(in srgb,var(--card),var(--paper) 30%);color:var(--muted);font-size:calc(11px + var(--font-adjust));line-height:1.45}.cover-source-note svg{flex:0 0 auto;margin-top:1px}
.cover-recovery-summary{display:flex;gap:8px;margin:18px 0 0}.cover-recovery-summary span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:calc(11px + var(--font-adjust));color:var(--muted)}.cover-recovery-summary b{color:var(--ink)}
.missing-cover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.missing-cover-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;min-height:164px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 8px 24px rgba(0,0,0,.035)}.missing-cover-card.applied{opacity:.78}.missing-cover-preview{width:96px;height:142px;overflow:hidden;border-radius:8px;background:color-mix(in srgb,var(--paper),var(--card) 42%)}.missing-cover-preview>img{width:100%;height:100%;object-fit:cover}.missing-cover-preview>div{display:grid;width:100%;height:100%;place-content:center;text-align:center;color:var(--muted);gap:7px}.missing-cover-preview small{font-size:9px}
.missing-cover-info{min-width:0}.missing-cover-info h3{margin:2px 0 4px;font:600 calc(15px + var(--font-adjust)) ui-serif,Georgia,serif;line-height:1.15}.missing-cover-info p{margin:0 0 4px;color:var(--muted);font-size:calc(11px + var(--font-adjust));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.missing-cover-info>small{display:block;color:var(--muted);font-size:calc(9px + var(--font-adjust))}.cover-source{display:inline-flex;margin-top:7px;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--ruby),transparent 88%);color:var(--ruby);font-size:calc(9px + var(--font-adjust));font-weight:700}.cover-alternatives{display:block;margin-top:8px;color:var(--muted);font-size:calc(9px + var(--font-adjust))}.cover-alternatives select{display:block;width:100%;margin-top:4px;padding:6px 7px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink)}
.cover-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.cover-card-actions button,.cover-card-actions .secondary,.cover-card-actions a{min-height:30px;padding:6px 9px;font-size:calc(10px + var(--font-adjust));text-decoration:none}.cover-file-action{position:relative;overflow:hidden;display:inline-flex!important;align-items:center;gap:5px;cursor:pointer}.cover-file-action input{position:absolute;inset:0;opacity:0;cursor:pointer}.wook-link{display:inline-flex!important;align-items:center}.cover-applied{display:inline-flex;align-items:center;gap:5px;margin-top:12px;color:#39704d;font-style:normal;font-weight:700;font-size:calc(10px + var(--font-adjust))}.cover-recovery-empty{display:grid;place-items:center;gap:8px;margin-top:18px;padding:46px 20px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}.cover-recovery-empty strong{color:var(--ink);font:600 calc(20px + var(--font-adjust)) ui-serif,Georgia,serif}.cover-recovery-empty p{margin:0}
:root[data-mode="escuro"] .cover-source-note{background:#202324}:root[data-mode="escuro"] .cover-alternatives select{background:#17191a}:root[data-mode="escuro"] .cover-applied{color:#8cc39b}
@media(max-width:1100px){.missing-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-recovery-hero{align-items:flex-start;flex-direction:column}.cover-recovery-actions{justify-content:flex-start}}
@media(max-width:650px){.missing-covers{width:100%}.missing-cover-grid{grid-template-columns:1fr}.cover-recovery-hero{padding:19px 16px}.cover-recovery-actions{width:100%;display:grid;grid-template-columns:1fr}.missing-cover-card{grid-template-columns:84px minmax(0,1fr);padding:11px}.missing-cover-preview{width:84px;height:124px}.cover-card-actions{gap:5px}}


/* RC3.8.2 LOCAL — estantes: controlos visíveis, 1×6 mais larga, 4×1 alinhada com 4×2 e Kallax 3 corrigida. */
.model-bookcase{--unit-w:340px}
.model-open{--unit-w:500px}
.model-open>.shelf-frame>button{aspect-ratio:4/1!important}
.narrow-unit>header{display:block!important;min-height:auto!important}
.narrow-unit .unit-actions{display:grid!important;grid-template-columns:repeat(5,24px);gap:3px!important;margin-top:8px;padding:0!important;justify-content:start!important}
.narrow-unit .unit-actions small{grid-column:1/-1;min-height:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0 0 2px!important;padding:2px 5px!important}
.narrow-unit .unit-actions button{width:24px!important;height:24px!important;padding:0!important}

/* Kallax 3 segundo o esquema de referência: coluna esquerda com nicho estreito em cima. */
.model-kallax3>.shelf-frame{grid-template-columns:1.06fr .58fr 1.06fr!important;grid-template-rows:repeat(16,25px)!important;gap:4px!important}
.model-kallax3>.shelf-frame>button:nth-child(1){grid-column:1;grid-row:1/4}
.model-kallax3>.shelf-frame>button:nth-child(2){grid-column:1;grid-row:4/8}
.model-kallax3>.shelf-frame>button:nth-child(3){grid-column:1;grid-row:8/14}
.model-kallax3>.shelf-frame>button:nth-child(4){grid-column:1;grid-row:14/17}
.model-kallax3>.shelf-frame>button:nth-child(5){grid-column:2;grid-row:1/6}
.model-kallax3>.shelf-frame>button:nth-child(6){grid-column:2;grid-row:6/9}
.model-kallax3>.shelf-frame>button:nth-child(7){grid-column:2;grid-row:9/12}
.model-kallax3>.shelf-frame>button:nth-child(8){grid-column:2;grid-row:12/17}
.model-kallax3>.shelf-frame>button:nth-child(9){grid-column:3;grid-row:1/5}
.model-kallax3>.shelf-frame>button:nth-child(10){grid-column:3;grid-row:5/11}
.model-kallax3>.shelf-frame>button:nth-child(11){grid-column:3;grid-row:11/14}
.model-kallax3>.shelf-frame>button:nth-child(12){grid-column:3;grid-row:14/17}
.model-kallax3>.shelf-frame>button{display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:5px!important;aspect-ratio:auto!important}
.model-kallax3 .cell-spines{flex:1 1 auto!important;min-height:0!important;height:auto!important;margin:15px 0 2px!important;padding:2px 3px 0!important}
.model-kallax3 .cell-spines:empty:before{height:88%!important}


/* RC3.8.3 — bookcase controlos completos e largura reforçada. */
.model-bookcase{--unit-w:420px}
.model-bookcase>.shelf-frame>button{aspect-ratio:3.45/1!important}


/* RC3.8.3 — painel de nicho sticky no desktop. */
@media(min-width:1025px){
  .shelves-page>.shelf-detail{
    position:sticky;
    top:16px;
    align-self:start;
    max-height:calc(100vh - 32px);
    overflow:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
}


/* RC3.8.3 — correção robusta do painel Nicho selecionado sticky no PC. */
/* overflow-x:hidden num antepassado pode impedir position:sticky; clip mantém a contenção sem criar scroll container. */
@media (min-width:1025px){
  html,body,#root,.app{overflow-x:clip!important}
  .shelves-page{align-items:start!important}
  .shelves-page>.shelf-detail{
    position:sticky!important;
    top:16px!important;
    align-self:start!important;
    height:max-content;
    max-height:calc(100vh - 32px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
}
/* Em PC com janela entre 901 e 1024 px, manter o painel lateral; iPhone/iPad táctil conserva o layout móvel. */
@media (min-width:901px) and (max-width:1024px) and (hover:hover) and (pointer:fine){
  html,body,#root,.app{overflow-x:clip!important}
  .shelves-page{grid-template-columns:minmax(0,1fr) 285px!important;align-items:start!important}
  .shelves-page>.shelf-detail{
    order:initial!important;
    position:sticky!important;
    top:16px!important;
    align-self:start!important;
    height:max-content;
    max-height:calc(100vh - 32px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }
}

/* RC3.8.3 build 12.08d — Capas em falta: pesquisa adicional por título + autor e aviso de ISBN divergente. */
.cover-match-note{margin-top:5px;color:var(--muted);font-size:calc(9px + var(--font-adjust));font-weight:650}
.cover-isbn-warning{display:grid;gap:2px;margin-top:8px;padding:8px 9px;border:1px solid color-mix(in srgb,#b66b24,var(--line) 52%);border-radius:8px;background:color-mix(in srgb,#d99b55,transparent 88%);font-size:calc(9px + var(--font-adjust));line-height:1.35}
.cover-isbn-warning strong{color:color-mix(in srgb,#9a581d,var(--ink) 20%)}
.cover-isbn-warning span{color:var(--muted)}
:root[data-mode="escuro"] .cover-isbn-warning{border-color:#6f563b;background:#2b241d}
:root[data-mode="escuro"] .cover-isbn-warning strong{color:#e3b077}


/* RC3.8.3 build 12.08e — diretórios de Autores e Artistas nas Estatísticas. */
.stats-tabs{display:inline-flex;gap:4px;margin:0 0 16px;padding:4px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--paper),var(--card) 54%)}
.stats-tabs button{min-height:34px;padding:0 14px;border:0;border-radius:7px;color:var(--muted);background:transparent;font:700 calc(10px + var(--font-adjust)) Arial,sans-serif;cursor:pointer}
.stats-tabs button.active{color:var(--ink);background:var(--card);box-shadow:0 2px 8px #00000010}
.contributor-directory{padding:22px;border:1px solid var(--line);border-radius:15px;background:var(--card);box-shadow:var(--shadow)}
.contributor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.contributor-head h2{margin:3px 0 0;font:600 calc(25px + var(--font-adjust)) ui-serif,Georgia,serif}
.contributor-head p{margin:6px 0 0;color:var(--muted);font-size:calc(10px + var(--font-adjust))}
.contributor-tools{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.contributor-search{min-width:245px;height:38px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.contributor-search svg{color:var(--muted);flex:0 0 auto}.contributor-search input{min-width:0;flex:1;border:0;outline:0;color:var(--ink);background:transparent;font-size:calc(10px + var(--font-adjust))}
.contributor-tools select{height:38px;padding:0 28px 0 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--paper);font-weight:650}
.contributor-table{overflow:hidden;border:1px solid var(--line);border-radius:10px}
.contributor-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 90px 100px;align-items:center;gap:10px;padding:11px 13px;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:var(--card);text-align:left}
button.contributor-row{cursor:pointer}.contributor-row:last-child{border-bottom:0}button.contributor-row:hover{background:var(--pale)}
.contributor-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 calc(12px + var(--font-adjust)) ui-serif,Georgia,serif}
.contributor-row>span:nth-child(n+2){text-align:center;font-weight:750;font-variant-numeric:tabular-nums}
.contributor-labels{color:var(--muted);background:color-mix(in srgb,var(--paper),var(--card) 58%);font-size:calc(9px + var(--font-adjust));font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.contributor-labels span:first-child{text-align:left}.contributor-empty{margin:0;padding:22px;color:var(--muted);text-align:center}
:root[data-mode="escuro"] .stats-tabs,:root[data-mode="escuro"] .contributor-labels{background:#242728}:root[data-mode="escuro"] .contributor-search,:root[data-mode="escuro"] .contributor-tools select{background:#17191a}
@media(max-width:760px){.contributor-directory{padding:15px}.contributor-head{align-items:stretch;flex-direction:column}.contributor-tools{align-items:stretch;flex-direction:column}.contributor-search{min-width:0;width:100%}.contributor-tools select{width:100%}.contributor-row{grid-template-columns:minmax(0,1fr) 58px 70px;padding:10px 9px}.contributor-row strong{white-space:normal}.stats-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}}


/* RC3.8.3 build 12.08f — regresso contextual Autores/Artistas. */
.contributor-return-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 5px 18px rgba(24,22,20,.06)}
.contributor-return-bar>button{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto}
.contributor-return-bar>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:calc(10px + var(--font-adjust))}
@media(max-width:650px){.contributor-return-bar{align-items:stretch;flex-direction:column}.contributor-return-bar>button{width:100%;justify-content:center}.contributor-return-bar>span{text-align:center;white-space:normal}}


/* RC3.8.3 build 13.08a — arquivo visual de elementos adicionais (livros + vinil). */
.extra-elements-card{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--card),var(--paper) 18%)}
.extra-elements-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.extra-elements-card h3{margin:2px 0 0;font:600 calc(18px + var(--font-adjust)) ui-serif,Georgia,serif}.extra-elements-card header p{margin:5px 0 0;color:var(--muted);font-size:calc(9px + var(--font-adjust));line-height:1.45}.extra-count{min-width:28px;height:28px;display:grid;place-items:center;border-radius:99px;color:#fff;background:var(--ruby);font-size:12px}.extra-photo-actions{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.extra-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.extra-photo-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:9px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--card)}.extra-photo-thumb{width:92px;height:92px;padding:0;overflow:hidden;border:0;border-radius:8px;background:var(--paper);cursor:zoom-in}.extra-photo-thumb img{width:100%;height:100%;display:block;object-fit:cover}.extra-photo-fields{min-width:0;display:flex;flex-direction:column;gap:6px}.extra-photo-fields select,.extra-photo-fields input{width:100%;min-width:0}.extra-photo-row-actions{display:flex;align-items:center;gap:5px;margin-top:auto}.extra-photo-row-actions .secondary{width:30px;height:28px;padding:0;display:grid;place-items:center}.extra-photo-row-actions .text-action{margin-left:auto}.extra-empty{margin:2px 0 0;color:var(--muted);font-size:calc(9px + var(--font-adjust))}.extra-lightbox{position:fixed;z-index:2500;inset:0;display:grid;place-items:center;padding:22px;background:rgba(0,0,0,.78)}.extra-lightbox>div{position:relative;max-width:min(1000px,94vw);max-height:92vh;display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px;border-radius:12px;background:var(--card);box-shadow:0 30px 90px #0008}.extra-lightbox>div>button{position:absolute;right:10px;top:10px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:99px;color:#fff;background:#111c;cursor:pointer}.extra-lightbox img{max-width:90vw;max-height:76vh;object-fit:contain;border-radius:7px}.extra-lightbox strong,.extra-lightbox p{max-width:760px;margin:0;text-align:center}.extra-lightbox p{color:var(--muted)}.extra-elements-overlay{z-index:1800}.extra-elements-modal{width:min(820px,94vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;border-radius:15px;background:var(--card);box-shadow:0 28px 90px #0006}.extra-elements-modal>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 19px;border-bottom:1px solid var(--line)}.extra-elements-modal>header h2{margin:2px 0 0;font:600 calc(22px + var(--font-adjust)) ui-serif,Georgia,serif}.extra-elements-modal>header>button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--card);cursor:pointer}.extra-elements-modal>.extra-elements-card{margin:0;border:0;border-radius:0;overflow:auto;flex:1}.extra-elements-modal>footer{display:flex;justify-content:flex-end;gap:8px;padding:13px 17px;border-top:1px solid var(--line)}.extra-elements-badge{display:inline-flex!important;align-items:center;gap:4px;width:max-content;padding:3px 7px;border-radius:99px;color:var(--ink);background:var(--pale);font-size:calc(8px + var(--font-adjust))!important;font-style:normal!important}.vinyl-extra-button{display:inline-flex!important;align-items:center;gap:4px!important;width:auto!important;padding:5px 7px!important}.book-info .extra-elements-badge{margin-top:5px}
@media(max-width:700px){.extra-photo-grid{grid-template-columns:1fr}.extra-photo-item{grid-template-columns:82px minmax(0,1fr)}.extra-photo-thumb{width:82px;height:82px}.extra-elements-modal{width:96vw}.extra-photo-actions{display:grid;grid-template-columns:1fr}.extra-photo-actions label{width:100%;justify-content:center}}


/* RC3.8.3 build 13.08c — feedback de sincronização e prevenção de cliques repetidos. */
.sync-progress{display:flex;align-items:center;gap:10px;margin:10px 0;padding:11px 12px;border:1px solid color-mix(in srgb,var(--gold),var(--line) 55%);border-radius:10px;background:color-mix(in srgb,var(--gold),transparent 91%)}
.sync-progress>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}.sync-progress strong{font-size:calc(10px + var(--font-adjust));line-height:1.35}.sync-progress small{color:var(--muted);font-size:calc(9px + var(--font-adjust));line-height:1.4}.sync-spinner{width:18px;height:18px;flex:0 0 18px;border:2px solid color-mix(in srgb,var(--gold),transparent 55%);border-top-color:var(--gold);border-radius:50%;animation:pb-sync-spin .8s linear infinite}@keyframes pb-sync-spin{to{transform:rotate(360deg)}}
.sync-actions button:disabled[aria-busy="true"]{opacity:.78;cursor:wait}
@media(prefers-reduced-motion:reduce){.sync-spinner{animation-duration:1.8s}}


/* RC3.8.3 build 13.08f — catalogação rápida, com arranque validado. */
.signature-photo-preview{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px);align-items:end;gap:10px;margin-top:4px}
.signature-photo-preview>img{width:100%;max-width:100%;max-height:300px;object-fit:contain;border:1px solid var(--line);border-radius:9px;background:var(--card)}
.photo-quick-save-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px}
.photo-quick-save-actions .primary{width:100%;justify-content:center}
.photo-quick-save-actions .text-action{width:100%;text-align:center;margin:0}
.extra-photo-fields>.photo-quick-save-actions{margin-top:2px}
@media(max-width:700px){.signature-photo-preview{grid-template-columns:minmax(0,1fr) minmax(125px,155px);gap:8px}}
@media(max-width:460px){.signature-photo-preview{grid-template-columns:1fr}}


/* RC3.8.3 build 13.08h — cancelar catalogação. */
.catalog-session-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--card),var(--paper) 35%)}
.catalog-session-bar>span{display:flex;flex-direction:column;gap:2px}.catalog-session-bar strong{font-size:calc(11px + var(--font-adjust))}.catalog-session-bar small{color:var(--muted);font-size:calc(9px + var(--font-adjust))}
.catalog-cancel{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.catalog-cancel:hover{color:#fff!important;border-color:#8a2f3c!important;background:#8a2f3c!important}
.vinyl-catalog-session{margin:0 0 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
@media(max-width:650px){.catalog-session-bar{align-items:stretch;flex-direction:column}.catalog-cancel{width:100%}}

/* RC3.8.3 build 24.08a — categorias / géneros para livros e vinis. */
.category-filter{height:40px;max-width:220px;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--card);font-size:calc(10px + var(--font-adjust));cursor:pointer}.tools{flex-wrap:wrap}.vinyl-search-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vinyl-search-tools .vinyl-search{min-width:260px}.vinyl-search-tools .category-filter{min-width:180px}.category-picker{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--card),var(--paper) 22%)}.category-picker-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}.category-picker-head strong{font-size:calc(10px + var(--font-adjust));letter-spacing:.04em}.category-picker-head small{color:var(--muted);font-size:calc(8px + var(--font-adjust))}.category-chip-list{display:flex;flex-wrap:wrap;gap:6px}.category-chip-list button{display:inline-flex;align-items:center;gap:4px;min-height:29px;padding:5px 9px;border:1px solid var(--line);border-radius:99px;color:var(--ink);background:var(--card);font-size:calc(9px + var(--font-adjust));cursor:pointer}.category-chip-list button.active{color:#fff;border-color:var(--ruby);background:var(--ruby)}.category-create{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:10px}.category-create input,.category-manager-create input{min-width:0;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--card)}.found-data>.category-picker{margin-top:10px}.vinyl-form-grid>.vinyl-category-picker{grid-column:1/-1}.category-badges{display:flex!important;flex-wrap:wrap;gap:4px!important;margin-top:5px!important}.category-badge{display:inline-flex!important;width:max-content;padding:3px 7px;border:1px solid color-mix(in srgb,var(--ruby),var(--line) 55%);border-radius:99px;color:var(--ruby)!important;background:color-mix(in srgb,var(--pale),var(--card) 52%);font-size:calc(8px + var(--font-adjust))!important;font-style:normal!important;font-weight:700}.category-badge.more{color:var(--muted)!important;border-color:var(--line)}.vinyl-category-badges{margin:5px 0 1px!important}.vinyl-category-button{display:inline-flex!important;align-items:center;gap:4px!important;width:auto!important;padding:5px 7px!important}.category-return-bar{border-color:color-mix(in srgb,var(--ruby),var(--line) 45%)}.category-directory .contributor-row strong{color:var(--ruby)}.category-overlay{z-index:1850}.category-modal{width:min(720px,94vw);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:15px;background:var(--card);box-shadow:0 28px 90px #0006}.category-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.category-modal>header h2{margin:2px 0 0;font:600 calc(23px + var(--font-adjust)) ui-serif,Georgia,serif}.category-modal>header>button{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--card);cursor:pointer}.category-modal>.category-picker{margin:18px 20px}.category-modal>footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line)}.categories-settings-card{margin-top:14px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 4px 15px #241b1710}.categories-settings-card>header h2{margin:0;font:600 calc(21px + var(--font-adjust)) ui-serif,Georgia,serif}.categories-settings-card>header p{max-width:820px;margin:7px 0 0;color:var(--muted);line-height:1.5}.category-manager-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.category-manager{padding:15px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--card),var(--paper) 20%)}.category-manager h3{margin:0;font:600 calc(17px + var(--font-adjust)) ui-serif,Georgia,serif}.category-manager header p{margin:5px 0 0;color:var(--muted);font-size:calc(9px + var(--font-adjust));line-height:1.45}.category-manager-create{display:grid;grid-template-columns:1fr auto;gap:7px;margin:12px 0}.category-manager-list{display:flex;flex-direction:column;gap:5px;max-height:310px;overflow:auto;padding-right:3px}.category-manager-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--card)}.category-manager-list>div>span:first-child{min-width:0}.category-manager-list strong,.category-manager-list small{display:block}.category-manager-list strong{font-size:calc(10px + var(--font-adjust));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-manager-list small{margin-top:2px;color:var(--muted);font-size:calc(8px + var(--font-adjust))}.category-manager-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.category-manager-actions .text-action{margin:0;font-size:calc(8px + var(--font-adjust))}.category-manager-actions .danger{color:#8a2f3c}.edit-form>.category-picker{margin-top:-12px}.stats-tabs{flex-wrap:wrap}
:root[data-mode="escuro"] :is(.category-filter,.category-picker,.category-chip-list button,.category-create input,.category-modal,.category-modal>header>button,.categories-settings-card,.category-manager,.category-manager-list>div,.category-manager-create input){color:var(--ink);background:var(--card)}
@media(max-width:900px){.category-manager-grid{grid-template-columns:1fr}.vinyl-search-tools{width:100%}.vinyl-search-tools .vinyl-search,.vinyl-search-tools .category-filter{width:100%;max-width:none}.tools .category-filter{max-width:none;flex:1 1 180px}.category-picker-head{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:650px){.category-create,.category-manager-create{grid-template-columns:1fr}.category-modal>.category-picker{margin:13px}.category-modal>footer{flex-direction:column}.category-modal>footer button{width:100%}.category-manager-list>div{align-items:flex-start;flex-direction:column}.category-manager-actions{width:100%;justify-content:flex-end}}


/* RC3.8.3 build 08.09a — iPhone: menu completo, estabilidade em operações pesadas e bloqueio do pinch-zoom global. */
@media(max-width:900px){
  .bottom{grid-template-columns:repeat(7,minmax(0,1fr))!important}
  .bottom button{padding-inline:1px!important;font-size:calc(8px + var(--font-adjust))!important}
  .bottom button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bottom svg{width:17px!important;height:17px!important}
}
@media(max-width:390px){
  .bottom button{font-size:calc(7px + var(--font-adjust))!important}
  .bottom svg{width:16px!important;height:16px!important}
}


/* RC3.8.3 build 08.09b — iPhone: impedir zoom automático ao focar campos sem bloquear pinch-zoom de acessibilidade. */
@media(max-width:900px){
  .backup-card input[type="password"],.drive-sync-card input[type="password"]{font-size:16px!important}
}


/* RC3.8.3 build 08.09c — barra de progresso por etapas na sincronização Drive. */
.sync-progress{display:block!important;margin:10px 0;padding:12px;border:1px solid color-mix(in srgb,var(--gold),var(--line) 55%);border-radius:10px;background:color-mix(in srgb,var(--gold),transparent 91%)}
.sync-progress-head{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px}
.sync-progress-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.sync-progress-copy strong{font-size:calc(10px + var(--font-adjust));line-height:1.35}.sync-progress-copy small{color:var(--muted);font-size:calc(9px + var(--font-adjust));line-height:1.35}
.sync-progress-percent{min-width:42px;text-align:right;font-size:calc(10px + var(--font-adjust));font-variant-numeric:tabular-nums}
.sync-progress-track{height:8px;overflow:hidden;margin-top:10px;border-radius:99px;background:color-mix(in srgb,var(--line),transparent 30%);box-shadow:inset 0 1px 2px #0002}
.sync-progress-track>i{height:100%;display:block;border-radius:inherit;background:var(--ruby);transition:width .28s ease}
.sync-progress-note{display:block;margin-top:7px;color:var(--muted);font-size:calc(8px + var(--font-adjust));line-height:1.35}
@media(prefers-reduced-motion:reduce){.sync-progress-track>i{transition:none}}

/* RC3.8.3 build 27.09c — ponte de produção: sincronização incremental v2 + menu móvel + atualização. */
.drive-sync-v2-card{border-color:color-mix(in srgb,var(--sage),var(--line) 55%);background:linear-gradient(180deg,color-mix(in srgb,var(--sage),transparent 95%),var(--card))}
.sync-v2-active{display:flex;align-items:center;gap:7px;margin:10px 0 2px;padding:8px 10px;border-radius:9px;background:color-mix(in srgb,var(--sage),transparent 86%);font-size:calc(9px + var(--font-adjust));font-weight:750;line-height:1.35}
.sync-v1-paused{display:block;margin:0 0 9px;padding:8px 10px;border-radius:9px;background:color-mix(in srgb,var(--gold),transparent 91%);color:var(--muted);line-height:1.4}
.drive-sync-legacy{opacity:.82}
.drive-sync-legacy .sync-actions button:disabled,.drive-sync-legacy .sync-disconnect:disabled{cursor:not-allowed}
.pb-update-banner{position:fixed;z-index:99999;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;width:min(92vw,620px);padding:11px 12px 11px 14px;border:1px solid color-mix(in srgb,var(--gold),var(--line) 45%);border-radius:12px;background:var(--card);color:var(--ink);box-shadow:0 12px 34px #0003;font-family:inherit}
.pb-update-banner>span{min-width:0;display:flex;flex:1 1 auto;flex-direction:column;gap:2px;line-height:1.3}.pb-update-banner strong{font-size:14px}.pb-update-banner small{color:var(--muted);font-size:12px}.pb-update-banner button{flex:0 0 auto;border:0;border-radius:9px;padding:8px 11px;background:var(--ruby);color:white;font:inherit;font-weight:750;cursor:pointer}
@media(max-width:900px){.pb-update-banner{bottom:calc(72px + env(safe-area-inset-bottom));width:min(94vw,560px)}.pb-update-banner strong{font-size:13px}.pb-update-banner small{font-size:11px}}
