:root{--green:#0F5A43;--moss:#8A9A47;--off:#F6F1E7;--sand:#D8CEBE;--text:#1d1d1b}
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--off);color:var(--text)}
.wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.card{width:100%;max-width:420px;background:#fff;border-radius:22px;padding:26px;box-shadow:0 10px 35px #0001}
.logo{font-size:30px;font-weight:800;color:var(--green);margin:0 0 6px}
.sub{margin:0 0 22px;color:#666}
.input{width:100%;height:46px;border:1px solid #ddd;border-radius:14px;padding:0 14px;margin:7px 0;font-size:15px}
.btn{width:100%;height:46px;border:0;border-radius:14px;background:var(--green);color:#fff;font-weight:700;font-size:15px;margin-top:12px;cursor:pointer}
.btn.alt{background:var(--moss)}
.link{color:var(--green);font-weight:700;cursor:pointer;text-align:center;margin-top:16px}
.msg{font-size:14px;margin-top:8px}.ok{color:green}.err{color:#b00020}
.bar{height:10px;background:#eee;border-radius:20px;overflow:hidden;margin:8px 0 6px}.bar span{display:block;height:100%;width:20%;background:var(--moss);transition:.2s}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.chip{border:1px solid #ddd;background:#fff;border-radius:999px;padding:10px 13px;cursor:pointer}
.chip.sel{background:var(--green);color:#fff;border-color:var(--green)}
.suggest{padding:10px;border:1px solid #eee;border-radius:12px;margin:6px 0;background:#fff;cursor:pointer}
.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.page{min-height:100vh;padding:18px;background:var(--off)}
.box{background:#fff;border-radius:18px;padding:14px;margin-bottom:14px;box-shadow:0 6px 20px #0000000d}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.stat{text-align:center;background:var(--off);border-radius:14px;padding:10px;font-size:12px}.stat b{display:block;font-size:18px;color:var(--green)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.book{font-size:12px}.cover{aspect-ratio:2/3;border-radius:12px;background:linear-gradient(135deg,var(--green),var(--moss));margin-bottom:6px}
.modal{position:fixed;inset:0;background:#0008;display:flex;align-items:flex-end;justify-content:center;padding:12px}
.modal .card{max-width:520px}
.smallbtn{border:0;background:var(--green);color:#fff;border-radius:999px;padding:10px 14px;font-weight:700}
.fab{position:fixed;right:18px;bottom:76px;width:58px;height:58px;border-radius:50%;border:0;background:var(--green);color:#fff;font-size:30px;box-shadow:0 10px 25px #0003;z-index:5}
.nav{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #eee;display:grid;grid-template-columns:repeat(5,1fr);padding:8px 4px;z-index:4}
.nav button{border:0;background:transparent;font-size:11px;color:#333}.nav b{display:block;font-size:19px;margin-bottom:2px}
.page{padding-bottom:86px}.cover img{width:100%;height:100%;object-fit:cover;border-radius:12px}.book b{font-size:12px}.book span{color:#666;font-size:11px}.modal{z-index:10}.suggest small{display:block;color:#666}
.fab{position:fixed;right:18px;bottom:76px;width:58px;height:58px;border-radius:50%;border:0;background:var(--green);color:#fff;font-size:30px;box-shadow:0 10px 25px #0003;z-index:5}
.nav{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #eee;display:grid;grid-template-columns:repeat(5,1fr);padding:8px 4px;z-index:4}
.nav button{border:0;background:transparent;font-size:11px;color:#333}.nav b{display:block;font-size:19px;margin-bottom:2px}
.page{padding-bottom:86px}.cover img{width:100%;height:100%;object-fit:cover;border-radius:12px}.book b{font-size:12px}.book span{color:#666;font-size:11px}.modal{z-index:10}.suggest small{display:block;color:#666}
.profileHead{text-align:center}.avatar{width:88px;height:88px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 10px;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.stars{font-size:20px;color:#b88a00;margin:6px 0}.pstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.pstat{text-align:center;background:var(--off);border-radius:14px;padding:10px;font-size:12px}.pstat b{display:block;color:var(--green);font-size:18px}.pill{display:inline-block;background:var(--off);border-radius:999px;padding:8px 12px;margin:4px;font-size:12px}
.userCard{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #eee}
.userCard:last-child{border-bottom:0}
.miniAvatar{width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;overflow:hidden}
.miniAvatar img{width:100%;height:100%;object-fit:cover}
.userCard .info{flex:1}.userCard .info b{display:block}.userCard .info span{font-size:12px;color:#666}
.userCard .actions{display:flex;gap:6px}
.miniBtn{border:0;border-radius:999px;background:var(--green);color:#fff;padding:8px 10px;font-size:12px;font-weight:700}
.miniBtn.alt{background:var(--moss)}
.bookHero{position:relative;border-radius:26px;padding:22px 16px 18px;text-align:center;overflow:hidden;background:linear-gradient(160deg,#d8cebe,#f6f1e7);margin-bottom:14px}
.bookHero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,#ffffff55,transparent 55%);backdrop-filter:blur(8px)}
.bookHero>*{position:relative;z-index:1}
.bigCover{width:150px;height:225px;margin:0 auto 16px;border-radius:16px;background:#eee;display:flex;align-items:center;justify-content:center;box-shadow:0 22px 45px #0005;overflow:hidden}
.bigCover img{width:100%;height:100%;object-fit:contain}
.tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:12px 0}.tag{background:#fff8;border-radius:999px;padding:8px 12px;font-size:12px}
.ownerRow{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #eee}.ownerRow:last-child{border-bottom:0}.ownerRow .info{flex:1}
.bookHero{margin:-18px -18px 18px!important;border-radius:0!important;padding:34px 18px 58px!important;background:linear-gradient(180deg,#d8cebe 0%,#eee5d8 58%,var(--off) 92%)!important}
.bookHero:before{display:none!important}
.bigCover{width:138px!important;height:207px!important;margin-bottom:12px!important;box-shadow:0 24px 45px #0004!important}
.bookHero .logo{font-size:24px!important;line-height:1.15!important;margin:8px auto 4px!important;max-width:92%}
.bookHero .sub{font-size:14px!important;margin:0 0 8px!important}
.page:has(.bookHero){padding-top:0!important}
.page:has(.bookHero)>.smallbtn{position:fixed;top:14px;left:14px;z-index:50;box-shadow:0 8px 20px #0002}
.bookHero{margin:-18px -18px 18px!important;padding-top:64px!important}
.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}
.tab{border:0;border-radius:999px;padding:10px;background:#fff;color:#333;font-weight:700}
.tab.active{background:var(--green);color:#fff}

.nav{
 grid-template-columns:repeat(5,1fr)!important;
}
.nav button{
 font-size:11px!important;
}
.nav button b{
 display:block;
 font-size:20px;
 margin-bottom:2px;
}

.coverInterest{
 position:relative;
}
.saveStar{
 position:absolute;
 top:7px;
 right:7px;
 width:30px;
 height:30px;
 border:0;
 border-radius:50%;
 background:#ffffffdd;
 color:#999;
 font-size:18px;
 display:flex;
 align-items:center;
 justify-content:center;
 box-shadow:0 6px 14px #0002;
 z-index:5;
}
.saveStar.active{
 color:#f9a825;
}

.premiumRing{
 border-color:#b7ff2a!important;
 box-shadow:0 0 0 4px #b7ff2a55,0 10px 25px #0002!important;
}

:root{
 --premium-lilac:#8F63FF;
 --premium-lilac-light:#C8A7FF;
}

.premiumBanner{
 background:linear-gradient(135deg,#8F63FF,#C8A7FF)!important;
 color:#fff!important;
}

.premiumHero{
 background:linear-gradient(135deg,#8F63FF,#C8A7FF)!important;
 color:#fff!important;
}

.priceCard b{
 color:#8F63FF!important;
}

.waitBtn.on{
 background:#8F63FF!important;
}

.premiumRing{
 border-color:inherit!important;
 box-shadow:0 10px 25px #0002!important;
}

.profileAvatar,
.pavatar,
.avatar,
.miniAvatar{
 position:relative;
}

.premiumDot{
 position:absolute;
 right:2px;
 bottom:2px;
 width:24px;
 height:24px;
 border-radius:50%;
 background:#8F63FF;
 color:#fff;
 border:2px solid #fff;
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:13px;
 font-weight:900;
 line-height:1;
 box-shadow:0 5px 12px #0003;
 z-index:5;
}

.navAvatarSlot{
 width:23px;
 height:23px;
 border-radius:50%;
 background:#eee;
 margin:0 auto 2px;
 display:flex!important;
 align-items:center;
 justify-content:center;
 overflow:visible;
 position:relative;
 font-size:13px!important;
 line-height:1;
}

.navAvatarSlot img{
 width:100%;
 height:100%;
 object-fit:cover;
 border-radius:50%;
 display:block;
}

.navAvatarSlot .premiumDot{
 width:13px;
 height:13px;
 font-size:8px;
 right:-4px;
 bottom:-3px;
 border-width:1.5px;
}

:root{
 --premium-lilac:#8F63FF;
 --premium-lilac-light:#C8A7FF;
}

.premiumBanner{
 background:linear-gradient(135deg,#8F63FF,#C8A7FF)!important;
 color:#fff!important;
}

.premiumHero{
 background:linear-gradient(135deg,#8F63FF,#C8A7FF)!important;
 color:#fff!important;
}

.priceCard b{
 color:#8F63FF!important;
}

.waitBtn.on{
 background:#8F63FF!important;
}

.premiumRing{
 border-color:inherit!important;
 box-shadow:0 10px 25px #0002!important;
}

.profileAvatar,
.pavatar,
.avatar,
.miniAvatar{
 position:relative;
}

.premiumDot{
 position:absolute;
 right:2px;
 bottom:2px;
 width:24px;
 height:24px;
 border-radius:50%;
 background:#8F63FF;
 color:#fff;
 border:2px solid #fff;
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:13px;
 font-weight:900;
 line-height:1;
 box-shadow:0 5px 12px #0003;
 z-index:5;
}

.navAvatarSlot{
 width:23px;
 height:23px;
 border-radius:50%;
 background:#eee;
 margin:0 auto 2px;
 display:flex!important;
 align-items:center;
 justify-content:center;
 overflow:visible;
 position:relative;
 font-size:13px!important;
 line-height:1;
}

.navAvatarSlot img{
 width:100%;
 height:100%;
 object-fit:cover;
 border-radius:50%;
 display:block;
}

.navAvatarSlot .premiumDot{
 width:13px;
 height:13px;
 font-size:8px;
 right:-4px;
 bottom:-3px;
 border-width:1.5px;
}

/* Premium: estrela deve ficar acima da borda do avatar, sem corte */
.profileAvatar,
.pavatar,
.avatar,
.miniAvatar,
.navAvatarSlot{
 overflow:visible!important;
}

.profileAvatar img,
.pavatar img,
.avatar img,
.miniAvatar img,
.navAvatarSlot img{
 border-radius:50%;
}

.profileAvatar .premiumDot,
.pavatar .premiumDot,
.avatar .premiumDot,
.miniAvatar .premiumDot{
 right:-5px!important;
 bottom:-4px!important;
 z-index:20!important;
}

.navAvatarSlot .premiumDot{
 right:-6px!important;
 bottom:-5px!important;
 z-index:20!important;
}

.exploreSection{
 margin:18px 0;
}
.exploreSectionHead{
 display:flex;
 align-items:center;
 justify-content:space-between;
 margin-bottom:10px;
}
.exploreSectionHead h3{
 margin:0;
 color:#1f2b24;
}
.exploreBooksGrid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:12px;
}
.exploreBook{
 cursor:pointer;
}
.exploreBook .cover{
 position:relative;
 height:138px;
 border-radius:14px;
 background:#eee;
 overflow:visible!important;
 display:flex;
 align-items:center;
 justify-content:center;
}
.exploreBook .cover img{
 width:100%;
 height:100%;
 object-fit:contain;
 border-radius:14px;
}
.exploreBook b{
 display:block;
 font-size:13px;
 margin-top:8px;
 color:#1f2b24;
 line-height:1.2;
}
.exploreBook span{
 display:block;
 font-size:11px;
 color:#777;
 margin-top:3px;
}
.sponsoredTag{
 display:inline-block;
 background:#8F63FF;
 color:#fff;
 border-radius:999px;
 padding:4px 8px;
 font-size:10px;
 font-weight:800;
 margin-top:5px;
}

/* Explorar - layout inspirado na referência */
.exploreSection{
 margin:18px 0 22px;
}

.exploreSectionHead{
 display:flex;
 align-items:center;
 justify-content:space-between;
 margin-bottom:12px;
}

.exploreSectionHead h3{
 margin:0;
 color:#1f2b24;
 font-size:18px;
}

.exploreSectionHead button{
 border:0;
 background:none;
 color:var(--green);
 font-weight:800;
 font-size:13px;
}

.exploreRecommendedRow{
 display:flex;
 gap:14px;
 overflow-x:auto;
 padding:2px 2px 8px;
 scroll-snap-type:x mandatory;
 scrollbar-width:none;
 -ms-overflow-style:none;
}

.exploreRecommendedRow::-webkit-scrollbar{
 display:none;
}

.exploreRecommendedCard{
 min-width:116px;
 max-width:116px;
 cursor:pointer;
 scroll-snap-align:start;
}

.exploreRecommendedCard .cover{
 position:relative;
 height:166px;
 border-radius:16px;
 background:#eee;
 overflow:visible!important;
 display:flex;
 align-items:center;
 justify-content:center;
 box-shadow:0 8px 22px #00000014;
}

.exploreRecommendedCard .cover img{
 width:100%;
 height:100%;
 object-fit:contain;
 border-radius:16px;
}

.exploreRecommendedCard b{
 display:block;
 font-size:13px;
 margin-top:8px;
 color:#1f2b24;
 line-height:1.18;
}

.exploreRecommendedCard span{
 display:block;
 font-size:11px;
 color:#777;
 margin-top:3px;
 line-height:1.2;
}

.exploreRating{
 display:flex!important;
 align-items:center;
 gap:4px;
 color:#111!important;
 font-size:11px!important;
 margin-top:5px!important;
}

.exploreRating strong{
 color:#f9a825;
 font-size:13px;
}

.explorePopularList{
 display:grid;
 gap:12px;
}

.explorePopularItem{
 display:flex;
 gap:12px;
 align-items:center;
 cursor:pointer;
 padding-bottom:10px;
 border-bottom:1px solid #eee2;
}

.explorePopularItem:last-child{
 border-bottom:0;
}

.explorePopularCover{
 width:56px;
 height:82px;
 border-radius:10px;
 background:#eee;
 overflow:visible;
 display:flex;
 align-items:center;
 justify-content:center;
 flex:none;
 position:relative;
 box-shadow:0 6px 16px #00000012;
}

.explorePopularCover img{
 width:100%;
 height:100%;
 object-fit:contain;
 border-radius:10px;
}

.explorePopularInfo{
 flex:1;
 min-width:0;
}

.explorePopularInfo b{
 display:block;
 font-size:14px;
 color:#1f2b24;
 line-height:1.2;
 white-space:nowrap;
 overflow:hidden;
 text-overflow:ellipsis;
}

.explorePopularInfo span{
 display:block;
 font-size:12px;
 color:#777;
 margin-top:3px;
}

.exploreEmpty{
 border-radius:18px;
 background:#fff;
 padding:16px;
 box-shadow:0 8px 22px #0000000d;
}

.sponsoredTag{
 display:inline-block;
 background:#8F63FF;
 color:#fff;
 border-radius:999px;
 padding:4px 8px;
 font-size:10px;
 font-weight:800;
 margin-top:6px;
}

.exploreCardPanel{
 background:#fffaf2;
 border-radius:24px;
 padding:16px;
 box-shadow:0 10px 28px #0000000d;
 margin-bottom:82px;
}

.reviewModal{
 position:fixed;
 inset:0;
 background:#0009;
 z-index:9999;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:18px;
 box-sizing:border-box;
}
.reviewCard{
 background:var(--off);
 border-radius:24px;
 width:min(440px,100%);
 max-height:92vh;
 overflow:auto;
 padding:18px;
 box-shadow:0 25px 70px #0006;
}
.reviewBookHead{
 display:flex;
 gap:12px;
 align-items:center;
 margin-bottom:14px;
}
.reviewBookCover{
 width:58px;
 height:86px;
 border-radius:10px;
 background:#eee;
 overflow:hidden;
 display:flex;
 align-items:center;
 justify-content:center;
 flex:none;
}
.reviewBookCover img{
 width:100%;
 height:100%;
 object-fit:contain;
}
.starRow{
 display:flex;
 gap:6px;
 margin:8px 0 12px;
}
.starBtn{
 border:0;
 background:none;
 font-size:32px;
 color:#d8cebe;
 padding:0;
 line-height:1;
}
.starBtn.active{
 color:#f9a825;
}
.reviewField{
 margin:14px 0;
}
.reviewField label{
 display:block;
 font-weight:800;
 margin-bottom:6px;
 color:#1f2b24;
}
.reviewField textarea{
 width:100%;
 box-sizing:border-box;
 min-height:92px;
 border:1px solid #ddd;
 border-radius:14px;
 padding:12px;
 resize:vertical;
 background:#fff;
}
.reviewActions{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:10px;
 margin-top:12px;
}

.editBookTextarea{
 width:100%;
 min-height:120px;
 padding:12px;
 border-radius:14px;
 border:1px solid #ddd;
 box-sizing:border-box;
 resize:vertical;
 background:#fff;
}
.editBookGrid{
 display:grid;
 gap:10px;
}
.editBookLabel{
 font-weight:800;
 color:#1f2b24;
 margin:8px 0 4px;
 display:block;
}

/* Página de Notificações */
.notificationsPage{
 padding-bottom:86px;
}

.notificationsTitle{
 text-align:center;
 font-size:22px;
 margin:4px 0 24px;
 color:#1f2b24;
 font-weight:900;
}

.notificationList{
 display:grid;
 gap:18px;
}

.notificationItem{
 display:grid;
 grid-template-columns:54px 1fr auto;
 gap:12px;
 align-items:center;
 cursor:pointer;
 padding:4px 0;
}

.notificationItem.unread .notificationMain{
 font-weight:800;
}

.notificationAvatar{
 width:50px;
 height:50px;
 border-radius:50%;
 background:#efe8da;
 display:flex;
 align-items:center;
 justify-content:center;
 overflow:hidden;
 color:var(--green);
 font-size:22px;
 flex:none;
 position:relative;
}

.notificationAvatar img{
 width:100%;
 height:100%;
 object-fit:cover;
 border-radius:50%;
}

.notificationMain{
 color:#1f2b24;
 font-size:15px;
 line-height:1.35;
}

.notificationMain b{
 font-weight:900;
}

.notificationMessage{
 color:#1f2b24;
}

.notificationTime{
 color:#999;
 font-size:14px;
 white-space:nowrap;
 align-self:start;
 padding-top:6px;
}

.notificationEmpty{
 text-align:center;
 padding:28px 12px;
 color:#777;
}

.bookOwnerActions{
 display:flex;
 gap:8px;
 justify-content:center;
 flex-wrap:wrap;
 margin-top:12px;
}

/* ===== PORÃO V2 - visual sombrio ===== */

.poraoPage{
 position:relative;
 min-height:100vh;
 overflow:hidden;
 background:
  radial-gradient(circle at 18% 12%, rgba(255,255,255,.05) 0 2px, transparent 3px),
  radial-gradient(circle at 80% 25%, rgba(255,255,255,.03) 0 2px, transparent 3px),
  radial-gradient(circle at 60% 84%, rgba(255,255,255,.025) 0 2px, transparent 3px),
  linear-gradient(180deg,#2f2f31 0%,#252527 24%,#1b1b1d 55%,#121214 100%);
 color:#efe7da;
 padding-bottom:96px;
}

.poraoPage:before,
.poraoPage:after{
 content:"";
 position:absolute;
 inset:auto;
 pointer-events:none;
 z-index:0;
 opacity:.28;
 background-repeat:no-repeat;
}

.poraoPage:before{
 top:0;
 left:0;
 width:180px;
 height:180px;
 background-image:
  linear-gradient(135deg,transparent 48%,rgba(220,220,220,.15) 49%,rgba(220,220,220,.15) 51%,transparent 52%),
  linear-gradient(160deg,transparent 48%,rgba(220,220,220,.10) 49%,rgba(220,220,220,.10) 51%,transparent 52%),
  linear-gradient(115deg,transparent 48%,rgba(220,220,220,.10) 49%,rgba(220,220,220,.10) 51%,transparent 52%),
  radial-gradient(circle at 0 0, rgba(255,255,255,.08) 0 1px, transparent 2px);
 background-size:100% 100%,100% 100%,100% 100%,24px 24px;
}

.poraoPage:after{
 top:0;
 right:0;
 width:220px;
 height:220px;
 background-image:
  linear-gradient(225deg,transparent 48%,rgba(220,220,220,.15) 49%,rgba(220,220,220,.15) 51%,transparent 52%),
  linear-gradient(200deg,transparent 48%,rgba(220,220,220,.10) 49%,rgba(220,220,220,.10) 51%,transparent 52%),
  linear-gradient(245deg,transparent 48%,rgba(220,220,220,.10) 49%,rgba(220,220,220,.10) 51%,transparent 52%),
  radial-gradient(circle at 100% 0, rgba(255,255,255,.08) 0 1px, transparent 2px);
 background-size:100% 100%,100% 100%,100% 100%,24px 24px;
}

.poraoPage > *{
 position:relative;
 z-index:1;
}

.poraoHero{
 margin:-18px -18px 18px;
 padding:32px 18px 26px;
 background:
  radial-gradient(circle at 50% 0%, rgba(255,255,255,.06), transparent 42%),
  linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
 border-bottom:1px solid rgba(255,255,255,.06);
 box-shadow:inset 0 -20px 40px rgba(0,0,0,.18);
}

.poraoHeroTop{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
}

.poraoTitleWrap{
 display:flex;
 flex-direction:column;
 gap:6px;
}

.poraoEyebrow{
 color:#bfa784;
 font-size:12px;
 text-transform:uppercase;
 letter-spacing:1.5px;
 font-weight:800;
 opacity:.95;
}

.poraoTitle{
 margin:0;
 font-size:30px;
 line-height:1;
 color:#f3ede2;
 text-shadow:0 2px 14px rgba(0,0,0,.35);
}

.poraoSubtitle{
 margin:10px 0 0;
 color:#d3cabc;
 font-size:14px;
 line-height:1.5;
 max-width:560px;
}

.poraoGlow{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 width:56px;
 height:56px;
 border-radius:18px;
 background:linear-gradient(180deg,#66503a,#3f3429);
 box-shadow:
  0 0 0 1px rgba(255,255,255,.06),
  0 10px 25px rgba(0,0,0,.35),
  inset 0 0 18px rgba(255,210,140,.14);
 font-size:26px;
}

.poraoDust{
 margin:10px 0 18px;
 padding:16px 18px;
 border-radius:20px;
 background:
  linear-gradient(180deg,rgba(205,182,150,.10),rgba(255,255,255,.03));
 border:1px solid rgba(210,190,165,.12);
 box-shadow:0 10px 30px rgba(0,0,0,.18);
 color:#ddd1bf;
}

.poraoDust b{
 color:#efe4d4!important;
}

.poraoPage .box{
 background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.045));
 border:1px solid rgba(255,255,255,.06);
 box-shadow:
  0 16px 34px rgba(0,0,0,.22),
  inset 0 1px 0 rgba(255,255,255,.04);
 backdrop-filter:blur(2px);
}

.poraoPage .stats .stat{
 background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.045));
 color:#f3ede2;
 border:1px solid rgba(255,255,255,.04);
}

.poraoPage .book{
 background:rgba(255,255,255,.02);
 border-radius:18px;
 padding:8px;
 transition:.2s ease;
}

.poraoPage .book:hover{
 transform:translateY(-2px);
 background:rgba(255,255,255,.04);
}

.poraoPage .book .cover{
 background:
  linear-gradient(180deg,#4e4d4e,#353536);
 box-shadow:
  inset 0 0 22px rgba(0,0,0,.22),
  0 10px 24px rgba(0,0,0,.18);
}

.poraoPage .book b{
 color:#f3ede2;
}

.poraoPage .book span{
 color:#d2c7b8;
}

.poraoBadge{
 display:inline-block;
 padding:7px 12px;
 border-radius:999px;
 background:linear-gradient(180deg,rgba(214,201,181,.18),rgba(214,201,181,.08));
 color:#eadfce;
 font-size:11px;
 font-weight:900;
 letter-spacing:.4px;
 margin-top:8px;
 border:1px solid rgba(255,255,255,.06);
}

.poraoPage .miniBtn{
 background:#8a9a47;
 color:#fff;
 box-shadow:0 8px 18px rgba(0,0,0,.20);
}

.poraoPage .miniBtn.alt{
 background:#4a4a4d;
 color:#f2eadb;
 border:1px solid rgba(255,255,255,.08);
}

.poraoPage .smallbtn{
 background:#0f5a43;
 color:#fff;
}

.poraoPage .nav{
 background:rgba(18,18,20,.95);
 border-top:1px solid rgba(255,255,255,.06);
 backdrop-filter:blur(6px);
}

.poraoPage .nav button,
.poraoPage .nav b{
 color:#e8dfd1;
}

.poraoEmpty{
 text-align:center;
 padding:38px 18px;
 border-radius:22px;
 background:
  linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
 border:1px dashed rgba(214,201,181,.18);
}

.poraoEmptyIcon{
 font-size:42px;
 margin-bottom:10px;
 filter:drop-shadow(0 6px 12px rgba(0,0,0,.25));
}

.poraoEmpty b{
 display:block;
 margin-bottom:6px;
 color:#f0e6d7;
}

.poraoHint{
 margin-top:14px;
 font-size:12px;
 color:#bfae97;
}


/* Destaque de origem da notificação */
.notificationOriginHighlight{
 animation:notificationOriginPulse 2.6s ease-in-out 1;
 outline:3px solid #8F63FF!important;
 box-shadow:0 0 0 6px rgba(143,99,255,.18),0 12px 32px rgba(143,99,255,.22)!important;
 border-radius:18px!important;
}

.notificationOriginBanner{
 margin:10px 0 16px;
 padding:13px 14px;
 border-radius:18px;
 background:#efe9ff;
 color:#4d318c;
 font-weight:800;
 box-shadow:0 8px 22px rgba(143,99,255,.16);
}

@keyframes notificationOriginPulse{
 0%{transform:scale(1);filter:brightness(1)}
 35%{transform:scale(1.015);filter:brightness(1.05)}
 100%{transform:scale(1);filter:brightness(1)}
}

/* Campo de senha com visualizar e força */
.passwordInputWrap{
 position:relative;
 width:100%;
 margin:8px 0;
}

.passwordInputWrap input{
 width:100%!important;
 padding-right:48px!important;
 box-sizing:border-box!important;
}

.passwordToggleBtn{
 position:absolute;
 right:10px;
 top:50%;
 transform:translateY(-50%);
 border:0;
 background:transparent;
 cursor:pointer;
 font-size:17px;
 width:34px;
 height:34px;
 border-radius:10px;
 display:flex;
 align-items:center;
 justify-content:center;
 color:#0F5A43;
}

.passwordToggleBtn:active{
 background:#0000000c;
}

.passwordStrengthBox{
 margin:-2px 0 12px;
}

.passwordStrengthTrack{
 width:100%;
 height:7px;
 border-radius:999px;
 background:#d8d8d8;
 overflow:hidden;
}

.passwordStrengthFill{
 height:100%;
 width:0%;
 border-radius:999px;
 background:#b8b8b8;
 transition:.2s ease;
}

.passwordStrengthFill.weak{
 width:33%;
 background:#b8b8b8;
}

.passwordStrengthFill.medium{
 width:66%;
 background:#f1c94d;
}

.passwordStrengthFill.strong{
 width:100%;
 background:#0F5A43;
}

.passwordStrengthText{
 display:block;
 margin-top:6px;
 font-size:12px;
 color:#777;
 line-height:1.35;
}

.passwordStrengthText.error{
 color:#b54040;
 font-weight:700;
}

.passwordStrengthText.ok{
 color:#0F5A43;
 font-weight:800;
}

/* Popup Termos e Política - implementação segura */
.legalModal{
 position:fixed;
 inset:0;
 background:#0009;
 z-index:99999;
 display:flex;
 align-items:center;
 justify-content:center;
 padding:18px;
 box-sizing:border-box;
}

.legalCard{
 width:min(560px,100%);
 max-height:92vh;
 background:#F6F1E7;
 border-radius:26px;
 box-shadow:0 28px 80px #0007;
 overflow:hidden;
 display:flex;
 flex-direction:column;
}

.legalHead{
 padding:18px 18px 10px;
 border-bottom:1px solid #e1d7c7;
}

.legalHead h2{
 margin:0;
 color:#0F5A43;
 font-size:22px;
}

.legalHead p{
 margin:6px 0 0;
 color:#6f665b;
 font-size:13px;
 line-height:1.4;
}

.legalScroll{
 padding:16px 18px;
 overflow:auto;
 max-height:48vh;
 color:#1f2b24;
 line-height:1.45;
 font-size:13px;
 background:#fffaf2;
 white-space:pre-wrap;
}

.legalDivider{
 margin:18px 0;
 height:1px;
 background:#e1d7c7;
}

.legalAcceptArea{
 padding:14px 18px 18px;
 display:grid;
 gap:12px;
}

.legalCheck{
 display:flex;
 gap:10px;
 align-items:flex-start;
 font-size:13px;
 color:#1f2b24;
 line-height:1.35;
}

.legalCheck input{
 width:18px;
 height:18px;
 margin-top:1px;
 flex:none;
}

.legalActions{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:10px;
}

.legalBtn{
 border:0;
 border-radius:14px;
 padding:13px;
 font-weight:900;
 cursor:pointer;
 background:#0F5A43;
 color:#fff;
}

.legalBtn:disabled{
 opacity:.45;
 cursor:not-allowed;
}

.legalBtn.alt{
 background:#e4d8c8;
 color:#2d2b27;
}


/* BOOK_COVER_PLACEHOLDER_START */
.cover,
.bookCover,
.book-cover,
.bookHeroCover,
.bookCoverDetail{
 position:relative;
 overflow:hidden;
}

.cover.bookNoCover,
.bookCover.bookNoCover,
.book-cover.bookNoCover,
.bookHeroCover.bookNoCover,
.bookCoverDetail.bookNoCover{
 background:
  radial-gradient(circle at 20% 16%, rgba(246,241,231,.20), transparent 34%),
  linear-gradient(145deg, #0F5A43 0%, #1F7258 52%, #8A9A47 100%) !important;
 color:#F6F1E7;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 text-align:center!important;
 box-shadow:inset 0 0 0 1px rgba(246,241,231,.18);
}

.bookNoCoverTitle{
 width:100%;
 max-width:100%;
 height:100%;
 max-height:100%;
 padding:10px 8px;
 box-sizing:border-box;
 color:#F6F1E7;
 font-weight:900;
 font-size:clamp(10px, 2.8vw, 15px);
 line-height:1.08;
 letter-spacing:-.03em;
 text-align:center;
 text-shadow:0 2px 10px rgba(0,0,0,.28);
 display:flex;
 align-items:center;
 justify-content:center;
 overflow:hidden;
 word-break:normal;
 overflow-wrap:break-word;
 hyphens:auto;
}

.bookNoCoverTitle span{
 display:-webkit-box;
 -webkit-line-clamp:6;
 -webkit-box-orient:vertical;
 overflow:hidden;
 max-width:100%;
}

.bookHeroCover .bookNoCoverTitle,
.bookCoverDetail .bookNoCoverTitle{
 font-size:clamp(13px, 3.8vw, 22px);
 padding:16px 12px;
}

.cover.bookNoCover::after,
.bookCover.bookNoCover::after,
.book-cover.bookNoCover::after,
.bookHeroCover.bookNoCover::after,
.bookCoverDetail.bookNoCover::after{
 content:"";
 position:absolute;
 inset:8px;
 border:1px solid rgba(246,241,231,.22);
 border-radius:inherit;
 pointer-events:none;
}

.cover.bookNoCover img,
.bookCover.bookNoCover img,
.book-cover.bookNoCover img,
.bookHeroCover.bookNoCover img,
.bookCoverDetail.bookNoCover img{
 display:none!important;
}
/* BOOK_COVER_PLACEHOLDER_END */


/* BOOK_COVER_TITLE_WHITE_FIX_START */
.bookNoCoverTitle,
.bookNoCoverTitle span,
.cover.bookNoCover .bookNoCoverTitle,
.bookCover.bookNoCover .bookNoCoverTitle,
.book-cover.bookNoCover .bookNoCoverTitle,
.bookHeroCover.bookNoCover .bookNoCoverTitle,
.bookCoverDetail.bookNoCover .bookNoCoverTitle{
 color:#FFFFFF!important;
}

.bookNoCoverTitle{
 text-shadow:
  0 2px 8px rgba(0,0,0,.45),
  0 1px 2px rgba(0,0,0,.35)!important;
}
/* BOOK_COVER_TITLE_WHITE_FIX_END */

/* FOLLOW_BUTTON_TOGGLE_FIX_START */
.followBtn,
.follow-button,
button[data-follow-user],
button[data-user-follow],
button[onclick*="follow"]{
 transition:.18s ease;
}

.followBtn:not(.following),
.follow-button:not(.following),
button[data-follow-user]:not(.following),
button[data-user-follow]:not(.following){
 background:#8A9A47!important;
 color:#fff!important;
}

.followBtn.following,
.follow-button.following,
button[data-follow-user].following,
button[data-user-follow].following{
 background:#0F5A43!important;
 color:#fff!important;
}

.followBtn.pending,
.follow-button.pending,
button[data-follow-user].pending,
button[data-user-follow].pending{
 background:#D8CEBE!important;
 color:#0F5A43!important;
}
/* FOLLOW_BUTTON_TOGGLE_FIX_END */

/* EXPLORE_MUTUAL_FRIENDS_START */
.exploreUserAvatar,
.userSearchAvatar{
 width:52px;
 height:52px;
 border-radius:50%;
 overflow:hidden;
 background:linear-gradient(145deg,#0F5A43,#8A9A47);
 color:#fff;
 display:flex;
 align-items:center;
 justify-content:center;
 font-weight:900;
 font-size:18px;
 flex:0 0 52px;
}

.exploreUserAvatar img,
.userSearchAvatar img{
 width:100%;
 height:100%;
 object-fit:cover;
 display:block;
}

.mutualFriends{
 display:flex;
 align-items:center;
 gap:8px;
 margin-top:7px;
}

.mutualAvatars{
 display:flex;
 align-items:center;
 min-width:58px;
}

.mutualAvatar{
 width:24px;
 height:24px;
 border-radius:50%;
 overflow:hidden;
 border:2px solid #F6F1E7;
 background:#0F5A43;
 color:#fff;
 font-size:11px;
 font-weight:900;
 display:flex;
 align-items:center;
 justify-content:center;
 margin-left:-8px;
 box-shadow:0 2px 6px rgba(0,0,0,.16);
}

.mutualAvatar:first-child{
 margin-left:0;
}

.mutualAvatar img{
 width:100%;
 height:100%;
 object-fit:cover;
 display:block;
}

.mutualText{
 font-size:12px;
 color:#766b5f;
 line-height:1.25;
}

.followBtn,
.miniBtn.following{
 transition:.18s ease;
}

.miniBtn:not(.following){
 background:#8A9A47!important;
 color:#fff!important;
}

.miniBtn.following{
 background:#0F5A43!important;
 color:#fff!important;
}
/* EXPLORE_MUTUAL_FRIENDS_END */

/* NOTIFICATION_BELL_BADGE_START */
.notificationBellBadge{
 position:absolute;
 top:-6px;
 right:-7px;
 min-width:18px;
 height:18px;
 padding:0 5px;
 border-radius:999px;
 background:#E53935;
 color:#fff;
 font-size:10px;
 font-weight:900;
 line-height:18px;
 display:none;
 align-items:center;
 justify-content:center;
 box-sizing:border-box;
 box-shadow:0 2px 8px rgba(0,0,0,.22);
 z-index:30;
 border:2px solid #fffaf2;
 pointer-events:none;
}

.nav .notificationBellBadge{
 top:-7px;
 right:2px;
}

.notificationsButton,
.notificationButton,
.bellButton{
 position:relative;
}
/* NOTIFICATION_BELL_BADGE_END */

/* FOLLOW_REQUEST_NOTIFICATION_ACTIONS_START */
.notificationActions{
 display:flex;
 gap:8px;
 margin-top:10px;
 flex-wrap:wrap;
}

.notificationActionBtn{
 border:0;
 border-radius:12px;
 padding:9px 12px;
 font-size:12px;
 font-weight:900;
 cursor:pointer;
 transition:.18s ease;
}

.notificationActionBtn.accept{
 background:#0F5A43;
 color:#fff;
}

.notificationActionBtn.reject{
 background:#D8CEBE;
 color:#0F5A43;
}

.notificationActionBtn:disabled{
 opacity:.55;
 cursor:not-allowed;
}

.notificationActionStatus{
 display:inline-flex;
 align-items:center;
 gap:6px;
 margin-top:10px;
 padding:8px 10px;
 border-radius:999px;
 font-size:12px;
 font-weight:900;
 background:#F6F1E7;
 color:#0F5A43;
}
/* FOLLOW_REQUEST_NOTIFICATION_ACTIONS_END */

/* FOLLOW_REQUEST_ACTIONS_FINAL_CSS_START */
.notificationActions{
 display:flex;
 gap:8px;
 margin-top:10px;
 flex-wrap:wrap;
}

.notificationActionBtn{
 border:0;
 border-radius:12px;
 padding:9px 12px;
 font-size:12px;
 font-weight:900;
 cursor:pointer;
 transition:.18s ease;
}

.notificationActionBtn.accept{
 background:#0F5A43;
 color:#fff;
}

.notificationActionBtn.reject{
 background:#D8CEBE;
 color:#0F5A43;
}

.notificationActionBtn:disabled{
 opacity:.55;
 cursor:not-allowed;
}

.notificationActionStatus{
 display:inline-flex;
 align-items:center;
 gap:6px;
 margin-top:10px;
 padding:8px 10px;
 border-radius:999px;
 font-size:12px;
 font-weight:900;
 background:#F6F1E7;
 color:#0F5A43;
}
/* FOLLOW_REQUEST_ACTIONS_FINAL_CSS_END */

/* FRIEND_SUGGESTIONS_CARD_START */
.friendSuggestionsCard{
 background:linear-gradient(145deg,#0F5A43,#8A9A47);
 color:#fff;
 border-radius:24px;
 padding:18px;
 margin:12px 0 16px;
 box-shadow:0 14px 34px rgba(15,90,67,.22);
 position:relative;
 overflow:hidden;
}

.friendSuggestionsCard:after{
 content:"";
 position:absolute;
 right:-34px;
 top:-34px;
 width:110px;
 height:110px;
 border-radius:50%;
 background:rgba(255,255,255,.12);
}

.friendSuggestionsCard h3{
 margin:0 0 6px;
 color:#fff;
 font-size:20px;
}

.friendSuggestionsCard p{
 margin:0 0 14px;
 color:rgba(255,255,255,.88);
 line-height:1.35;
 font-size:14px;
 max-width:330px;
}

.friendSuggestionsCard button{
 border:0;
 background:#F6F1E7;
 color:#0F5A43;
 border-radius:999px;
 padding:10px 14px;
 font-weight:900;
 box-shadow:0 8px 18px rgba(0,0,0,.16);
}

.friendSuggestionsMini{
 display:flex;
 align-items:center;
 gap:10px;
 margin-top:12px;
}

.friendSuggestionsMiniAvatars{
 display:flex;
 align-items:center;
}

.friendSuggestionsMiniAvatar{
 width:28px;
 height:28px;
 border-radius:50%;
 border:2px solid rgba(255,255,255,.85);
 background:#F6F1E7;
 color:#0F5A43;
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:12px;
 font-weight:900;
 margin-left:-8px;
 overflow:hidden;
}

.friendSuggestionsMiniAvatar:first-child{
 margin-left:0;
}

.friendSuggestionsMiniAvatar img{
 width:100%;
 height:100%;
 object-fit:cover;
 display:block;
}

.friendSuggestionsMini span{
 color:rgba(255,255,255,.9);
 font-size:12px;
 font-weight:800;
}
/* FRIEND_SUGGESTIONS_CARD_END */

/* BOOK_FORM_POPUP_FIX_START */
.modal,
.popup,
.dialog,
.bookModal,
.bookPopup,
#bookModal,
#addBookModal,
#bookFormModal{
 background:rgba(15,90,67,.28)!important;
 backdrop-filter:blur(4px);
}

.modalContent,
.popupContent,
.dialogContent,
.bookModalContent,
.bookPopupContent,
#bookModal .modalContent,
#addBookModal .modalContent,
#bookFormModal .modalContent,
.formPopup,
.bookFormBox{
 background:#fffaf2!important;
 color:#0F5A43!important;
 border-radius:26px!important;
 padding:20px!important;
 box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
 border:1px solid rgba(216,206,190,.65)!important;
 width:min(94vw,520px)!important;
 max-width:520px!important;
 box-sizing:border-box!important;
}

.modalContent h2,
.popupContent h2,
.dialogContent h2,
.bookModalContent h2,
.bookPopupContent h2,
.formPopup h2,
.bookFormBox h2{
 margin:0 0 14px!important;
 color:#0F5A43!important;
 font-size:24px!important;
 line-height:1.1!important;
}

.modalContent label,
.popupContent label,
.dialogContent label,
.bookModalContent label,
.bookPopupContent label,
.formPopup label,
.bookFormBox label{
 display:block!important;
 color:#0F5A43!important;
 font-weight:800!important;
 font-size:13px!important;
 margin:12px 0 6px!important;
}

.modalContent input,
.modalContent select,
.modalContent textarea,
.popupContent input,
.popupContent select,
.popupContent textarea,
.dialogContent input,
.dialogContent select,
.dialogContent textarea,
.bookModalContent input,
.bookModalContent select,
.bookModalContent textarea,
.bookPopupContent input,
.bookPopupContent select,
.bookPopupContent textarea,
.formPopup input,
.formPopup select,
.formPopup textarea,
.bookFormBox input,
.bookFormBox select,
.bookFormBox textarea,
#bookModal input,
#bookModal select,
#bookModal textarea,
#addBookModal input,
#addBookModal select,
#addBookModal textarea,
#bookFormModal input,
#bookFormModal select,
#bookFormModal textarea{
 width:100%!important;
 min-width:0!important;
 max-width:100%!important;
 height:auto!important;
 min-height:46px!important;
 box-sizing:border-box!important;
 background:#F6F1E7!important;
 color:#0F5A43!important;
 border:1px solid #D8CEBE!important;
 border-radius:14px!important;
 padding:12px 13px!important;
 font-size:15px!important;
 line-height:1.35!important;
 outline:none!important;
 box-shadow:none!important;
 display:block!important;
}

.modalContent textarea,
.popupContent textarea,
.dialogContent textarea,
.bookModalContent textarea,
.bookPopupContent textarea,
.formPopup textarea,
.bookFormBox textarea,
#bookModal textarea,
#addBookModal textarea,
#bookFormModal textarea{
 min-height:92px!important;
 resize:vertical!important;
}

.modalContent input:focus,
.modalContent select:focus,
.modalContent textarea:focus,
.popupContent input:focus,
.popupContent select:focus,
.popupContent textarea:focus,
.dialogContent input:focus,
.dialogContent select:focus,
.dialogContent textarea:focus,
.bookModalContent input:focus,
.bookModalContent select:focus,
.bookModalContent textarea:focus,
.bookPopupContent input:focus,
.bookPopupContent select:focus,
.bookPopupContent textarea:focus,
.formPopup input:focus,
.formPopup select:focus,
.formPopup textarea:focus,
.bookFormBox input:focus,
.bookFormBox select:focus,
.bookFormBox textarea:focus{
 border-color:#8A9A47!important;
 box-shadow:0 0 0 3px rgba(138,154,71,.16)!important;
 background:#fffaf2!important;
}

.modalContent .row,
.popupContent .row,
.dialogContent .row,
.bookModalContent .row,
.bookPopupContent .row,
.formPopup .row,
.bookFormBox .row,
.bookFormGrid,
.bookFormRow{
 display:grid!important;
 grid-template-columns:1fr!important;
 gap:10px!important;
 width:100%!important;
}

.modalContent .actions,
.popupContent .actions,
.dialogContent .actions,
.bookModalContent .actions,
.bookPopupContent .actions,
.formPopup .actions,
.bookFormBox .actions,
.bookFormActions{
 display:flex!important;
 gap:10px!important;
 flex-wrap:wrap!important;
 margin-top:16px!important;
 width:100%!important;
}

.modalContent button,
.popupContent button,
.dialogContent button,
.bookModalContent button,
.bookPopupContent button,
.formPopup button,
.bookFormBox button,
#bookModal button,
#addBookModal button,
#bookFormModal button{
 min-height:44px!important;
 border:0!important;
 border-radius:14px!important;
 padding:11px 14px!important;
 font-weight:900!important;
 cursor:pointer!important;
 box-sizing:border-box!important;
}

.modalContent button[type="submit"],
.popupContent button[type="submit"],
.dialogContent button[type="submit"],
.bookModalContent button[type="submit"],
.bookPopupContent button[type="submit"],
.formPopup button[type="submit"],
.bookFormBox button[type="submit"]{
 background:#0F5A43!important;
 color:#fff!important;
}

.modalContent .cancel,
.modalContent .secondary,
.popupContent .cancel,
.popupContent .secondary,
.dialogContent .cancel,
.dialogContent .secondary,
.bookModalContent .cancel,
.bookModalContent .secondary,
.bookPopupContent .cancel,
.bookPopupContent .secondary,
.formPopup .cancel,
.formPopup .secondary,
.bookFormBox .cancel,
.bookFormBox .secondary{
 background:#D8CEBE!important;
 color:#0F5A43!important;
}

#addBookForm,
#bookForm,
.bookForm{
 width:100%!important;
 display:block!important;
 box-sizing:border-box!important;
}

#addBookForm *,
#bookForm *,
.bookForm *{
 box-sizing:border-box!important;
}

@media(max-width:560px){
 .modalContent,
 .popupContent,
 .dialogContent,
 .bookModalContent,
 .bookPopupContent,
 #bookModal .modalContent,
 #addBookModal .modalContent,
 #bookFormModal .modalContent,
 .formPopup,
 .bookFormBox{
  width:calc(100vw - 24px)!important;
  max-width:calc(100vw - 24px)!important;
  padding:16px!important;
  border-radius:22px!important;
 }

 .modalContent .actions,
 .popupContent .actions,
 .dialogContent .actions,
 .bookModalContent .actions,
 .bookPopupContent .actions,
 .formPopup .actions,
 .bookFormBox .actions,
 .bookFormActions{
  flex-direction:column!important;
 }

 .modalContent .actions button,
 .popupContent .actions button,
 .dialogContent .actions button,
 .bookModalContent .actions button,
 .bookPopupContent .actions button,
 .formPopup .actions button,
 .bookFormBox .actions button,
 .bookFormActions button{
  width:100%!important;
 }
}
/* BOOK_FORM_POPUP_FIX_END */

/* ADD_BOOK_MODAL_SPECIFIC_FIX_START */
#bookFormOverlay,
#addBookOverlay,
.bookFormOverlay{
 position:fixed!important;
 inset:0!important;
 z-index:9999!important;
 background:rgba(15,90,67,.32)!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 padding:14px!important;
 box-sizing:border-box!important;
}

#bookFormOverlay form,
#addBookOverlay form,
.bookFormOverlay form,
#bookModal form,
#addBookModal form{
 width:100%!important;
 max-width:520px!important;
 background:#fffaf2!important;
 border-radius:24px!important;
 padding:18px!important;
 box-sizing:border-box!important;
}

#bookFormOverlay input,
#bookFormOverlay select,
#bookFormOverlay textarea,
#addBookOverlay input,
#addBookOverlay select,
#addBookOverlay textarea,
.bookFormOverlay input,
.bookFormOverlay select,
.bookFormOverlay textarea{
 width:100%!important;
 background:#F6F1E7!important;
 border:1px solid #D8CEBE!important;
 color:#0F5A43!important;
 border-radius:14px!important;
 padding:12px!important;
 font-size:15px!important;
 min-height:46px!important;
 box-sizing:border-box!important;
}
/* ADD_BOOK_MODAL_SPECIFIC_FIX_END */

/* BOOK_MODALCARD_FINAL_FIX_START */
#modal.modal{
 position:fixed!important;
 inset:0!important;
 z-index:99999!important;
 background:rgba(15,90,67,.30)!important;
 backdrop-filter:blur(5px)!important;
 display:flex!important;
 align-items:flex-start!important;
 justify-content:center!important;
 padding:18px 12px!important;
 overflow-y:auto!important;
 box-sizing:border-box!important;
}

#modal .modalCard{
 width:min(94vw,560px)!important;
 max-width:560px!important;
 margin:0 auto 24px!important;
 background:#fffaf2!important;
 color:#0F5A43!important;
 border-radius:28px!important;
 padding:18px!important;
 box-sizing:border-box!important;
 box-shadow:0 22px 60px rgba(0,0,0,.28)!important;
 border:1px solid rgba(216,206,190,.75)!important;
}

#modal .modalCard h2{
 margin:0 0 16px!important;
 color:#0F5A43!important;
 font-size:26px!important;
 line-height:1.1!important;
 font-weight:900!important;
}

#modal .modalCard input,
#modal .modalCard select,
#modal .modalCard textarea{
 width:100%!important;
 max-width:100%!important;
 min-width:0!important;
 min-height:48px!important;
 background:#F6F1E7!important;
 color:#0F5A43!important;
 border:1px solid #D8CEBE!important;
 border-radius:15px!important;
 padding:12px 13px!important;
 font-size:15px!important;
 line-height:1.35!important;
 box-sizing:border-box!important;
 display:block!important;
 outline:none!important;
 margin:0!important;
 box-shadow:none!important;
}

#modal .modalCard input::placeholder,
#modal .modalCard textarea::placeholder{
 color:#766b5f!important;
 opacity:.85!important;
}

#modal .modalCard input:focus,
#modal .modalCard select:focus,
#modal .modalCard textarea:focus{
 border-color:#8A9A47!important;
 background:#fffaf2!important;
 box-shadow:0 0 0 3px rgba(138,154,71,.16)!important;
}

#modal .modalCard > input{
 margin-bottom:10px!important;
}

#modal .modalCard > select{
 margin-bottom:10px!important;
}

#modal .modalCard .box{
 width:100%!important;
 background:#fff!important;
 border-radius:22px!important;
 padding:16px!important;
 box-sizing:border-box!important;
 margin:12px 0!important;
 box-shadow:0 8px 22px rgba(0,0,0,.06)!important;
 border:1px solid rgba(216,206,190,.55)!important;
}

#modal .modalCard .box b{
 color:#0F5A43!important;
 font-size:17px!important;
}

#modal .modalCard .box .sub{
 color:#766b5f!important;
 margin:4px 0 12px!important;
 line-height:1.35!important;
}

#modal #coverPreview{
 width:112px!important;
 height:164px!important;
 border-radius:16px!important;
 background:#F6F1E7!important;
 border:1px solid #D8CEBE!important;
 margin:12px 0!important;
}

#modal #coverPreview img{
 width:100%!important;
 height:100%!important;
 object-fit:cover!important;
 display:block!important;
}

#modal #coverResults{
 display:grid!important;
 grid-template-columns:repeat(3,1fr)!important;
 gap:10px!important;
 margin-top:12px!important;
}

#modal .miniBtn{
 min-height:42px!important;
 border:0!important;
 border-radius:999px!important;
 padding:10px 14px!important;
 font-size:14px!important;
 font-weight:900!important;
 background:#8A9A47!important;
 color:#fff!important;
 margin:4px 4px 4px 0!important;
 box-sizing:border-box!important;
}

#modal .btn{
 width:100%!important;
 min-height:56px!important;
 border:0!important;
 border-radius:18px!important;
 padding:14px!important;
 font-size:17px!important;
 font-weight:900!important;
 background:#0F5A43!important;
 color:#fff!important;
 margin:12px 0 0!important;
 box-sizing:border-box!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
}

#modal .btn.alt{
 background:#8A9A47!important;
 color:#fff!important;
}

#modal #bmsg{
 color:#0F5A43!important;
 font-weight:800!important;
 margin:10px 0 0!important;
}

@media(min-width:561px){
 #modal .modalCard{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
 }

 #modal .modalCard h2,
 #modal .modalCard .box,
 #modal .modalCard #cat,
 #modal .modalCard #bs,
 #modal .modalCard .btn,
 #modal .modalCard #bmsg{
  grid-column:1 / -1!important;
 }

 #modal .modalCard #bt{
  grid-column:1 / 2!important;
 }

 #modal .modalCard #ba{
  grid-column:2 / 3!important;
 }

 #modal .modalCard #bi{
  grid-column:1 / -1!important;
 }
}

@media(max-width:560px){
 #modal.modal{
  padding:12px!important;
 }

 #modal .modalCard{
  width:calc(100vw - 24px)!important;
  max-width:calc(100vw - 24px)!important;
  border-radius:24px!important;
  padding:16px!important;
 }

 #modal .modalCard h2{
  font-size:24px!important;
 }

 #modal #coverResults{
  grid-template-columns:repeat(2,1fr)!important;
 }

 #modal .miniBtn{
  width:100%!important;
  margin:6px 0!important;
 }

 #modal #coverPreview{
  width:104px!important;
  height:154px!important;
 }
}
/* BOOK_MODALCARD_FINAL_FIX_END */

/* BOOK_FORM_VALIDATION_START */
#modal .bookFieldError{
 border-color:#C62828!important;
 background:#fff5f3!important;
}

#modal .bookFormMessage{
 margin-top:12px!important;
 padding:12px 14px!important;
 border-radius:14px!important;
 background:#F6F1E7!important;
 color:#0F5A43!important;
 font-weight:800!important;
 line-height:1.35!important;
}

#modal .bookFormMessage.error{
 background:#fff0ed!important;
 color:#A32116!important;
 border:1px solid rgba(163,33,22,.22)!important;
}

#modal .bookFormMessage.success{
 background:#edf7ef!important;
 color:#0F5A43!important;
 border:1px solid rgba(15,90,67,.18)!important;
}

#modal .btn:disabled{
 opacity:.65!important;
 cursor:not-allowed!important;
}
/* BOOK_FORM_VALIDATION_END */

/* BOOK_FORM_VALIDATION_START */
#modal .bookFieldError{
 border-color:#C62828!important;
 background:#fff5f3!important;
}

#modal .bookFormMessage{
 margin-top:12px!important;
 padding:12px 14px!important;
 border-radius:14px!important;
 background:#F6F1E7!important;
 color:#0F5A43!important;
 font-weight:800!important;
 line-height:1.35!important;
}

#modal .bookFormMessage.error{
 background:#fff0ed!important;
 color:#A32116!important;
 border:1px solid rgba(163,33,22,.22)!important;
}

#modal .bookFormMessage.success{
 background:#edf7ef!important;
 color:#0F5A43!important;
 border:1px solid rgba(15,90,67,.18)!important;
}

#modal .btn:disabled{
 opacity:.65!important;
 cursor:not-allowed!important;
}
/* BOOK_FORM_VALIDATION_END */

/* CREATE_BOOK_SYNOPSIS_FIELD_START */
#modal .bookSynopsisField{
 min-height:110px!important;
 resize:vertical!important;
 grid-column:1 / -1!important;
}
/* CREATE_BOOK_SYNOPSIS_FIELD_END */

/* CREATE_BOOK_VISIBILITY_FIELD_START */
#modal .bookVisibilityField{
 grid-column:1 / -1!important;
 margin-bottom:10px!important;
}
/* CREATE_BOOK_VISIBILITY_FIELD_END */

/* CREATE_BOOK_CONDITION_FIELD_START */
#modal .bookConditionField{
 grid-column:1 / -1!important;
 margin-bottom:10px!important;
}
/* CREATE_BOOK_CONDITION_FIELD_END */

/* BOOK_PAGE_ONLY_EXTRA_INFO_START */
.bookPageMetaGrid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:10px;
 margin:14px 0;
}

.bookPageMetaItem{
 background:#fffaf2;
 border:1px solid rgba(216,206,190,.75);
 border-radius:16px;
 padding:12px;
 color:#0F5A43;
 box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.bookPageMetaItem b{
 display:block;
 font-size:12px;
 color:#0F5A43;
 margin-bottom:4px;
}

.bookPageMetaItem span{
 color:#766b5f;
 font-size:14px;
 line-height:1.35;
}

.bookPageSynopsis{
 background:#fffaf2;
 border:1px solid rgba(216,206,190,.75);
 border-radius:18px;
 padding:14px;
 margin-top:14px;
 color:#0F5A43;
}

.bookPageSynopsis b{
 display:block;
 margin-bottom:6px;
 color:#0F5A43;
}

.bookPageSynopsis p{
 color:#766b5f;
 line-height:1.5;
 margin:0;
}

@media(max-width:560px){
 .bookPageMetaGrid{
  grid-template-columns:1fr;
 }
}
/* BOOK_PAGE_ONLY_EXTRA_INFO_END */

/* BOOK_LOAN_REQUEST_IMPROVE_START */
.loanRequestBtn{
 background:#0F5A43!important;
 color:#fff!important;
 border:0!important;
 border-radius:999px!important;
 padding:10px 14px!important;
 font-weight:900!important;
 min-height:40px!important;
 box-shadow:0 8px 18px rgba(15,90,67,.18)!important;
}

.loanRequestBtn:disabled{
 opacity:.65!important;
 cursor:not-allowed!important;
}

.loanRequestBtn.requested{
 background:#D8CEBE!important;
 color:#0F5A43!important;
}

.bookLoanToast{
 position:fixed;
 left:14px;
 right:14px;
 bottom:92px;
 z-index:99999;
 background:#0F5A43;
 color:#fff;
 border-radius:18px;
 padding:13px 14px;
 box-shadow:0 14px 34px rgba(0,0,0,.24);
 font-weight:800;
 text-align:center;
 animation:bookLoanToastIn .18s ease;
}

.bookLoanToast.error{
 background:#A32116;
}

@keyframes bookLoanToastIn{
 from{transform:translateY(12px);opacity:0}
 to{transform:translateY(0);opacity:1}
}
/* BOOK_LOAN_REQUEST_IMPROVE_END */
