:root{--blue:#0758b6;--navy:#041e55;--teal:#10b7bf;--gold:#f7b640;--bg:#f7fafc;--text:#17233a;--line:#dce5ee}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff}.site-header{display:flex;justify-content:space-between;align-items:center;padding:14px clamp(20px,6vw,90px);border-bottom:1px solid var(--line);background:#fff;gap:24px}.brand-logo img{width:min(430px,42vw);height:auto;display:block}nav{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end}nav a{color:var(--navy);font-weight:800;text-decoration:none}.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center;padding:74px clamp(20px,8vw,120px);background:linear-gradient(120deg,#eef7ff,#fff6e3)}h1{font-size:clamp(38px,5.4vw,68px);line-height:1.04;margin:.15em 0;color:var(--navy)}h2{color:var(--navy)}p{line-height:1.55}.hero p,.lede{font-size:20px;max-width:900px}.hero-logo img{width:100%;max-width:520px}.eyebrow{color:#078b94;font-weight:900;letter-spacing:.12em}.actions,.admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.button,.search button{padding:14px 20px;border:2px solid var(--blue);border-radius:10px;text-decoration:none;font-weight:800;color:var(--blue);background:#fff;cursor:pointer}.primary,.search button{background:var(--blue);color:#fff}.section,.page{padding:54px clamp(20px,8vw,120px)}.narrow{max-width:1050px;margin:auto}.light{background:var(--bg)}.ratings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.rating-card{padding:22px;border-radius:14px;text-decoration:none;color:#fff;display:flex;align-items:center;gap:15px;box-shadow:0 5px 14px rgba(0,0,0,.08)}.rating-card b{font-size:42px}.rating-card span{font-weight:900}.r-c{background:#0bb8c3}.r-g{background:#6ec82a}.r-pg{background:#f0b900}.r-pg13{background:#ff8a00}.r-r{background:#ec2922}.r-nc17{background:#9d2f86}.label-list{display:flex;gap:12px;flex-wrap:wrap}.label-list span{background:#fff;border:1px solid #cbd6e2;padding:10px 14px;border-radius:999px}.rating-list{display:grid;gap:14px;margin:30px 0}.rating-row{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:24px;border-radius:16px;color:#fff}.rating-row h2{margin:0;color:#fff}.rating-row p{font-size:18px;margin:.4em 0}.rating-code{font-size:52px;font-weight:900}.search{display:grid;grid-template-columns:1fr 150px 260px auto;gap:10px;margin:24px 0}.search input,.search select,input,select,textarea{padding:13px;border:1px solid #bac8d8;border-radius:8px;font:inherit;width:100%}.book-result{display:grid;grid-template-columns:150px 1fr;gap:22px;border-top:1px solid var(--line);padding:24px 0}.book-result img{width:150px;height:220px;object-fit:cover}.badge{display:inline-block;background:var(--teal);color:white;padding:6px 9px;border-radius:8px;font-weight:900}.notice{padding:18px;border:1px solid #f2c96b;background:#fff8df;border-radius:10px;margin:20px 0}.notice.ok{border-color:#83c995;background:#effbf2}.empty{padding:30px 0;color:#657287}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(0,0,0,.05)}.price{font-size:36px;font-weight:900;color:var(--blue)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}.steps>div{border:1px solid var(--line);border-radius:14px;padding:20px}.steps b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--navy)}.upload-form,.edit-form{display:grid;gap:18px;margin-top:28px}.upload-form label,.edit-form label{display:grid;gap:7px;font-weight:800}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}fieldset{border:1px solid var(--line);border-radius:10px;padding:15px}.check{display:block!important;font-weight:normal!important;margin:9px 0}.check input{width:auto}.admin-table{display:grid;border-top:1px solid var(--line)}.admin-table>div{display:grid;grid-template-columns:2fr 1.3fr .6fr .6fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.small{font-size:13px;color:#68758a}footer{display:flex;align-items:center;gap:24px;padding:34px clamp(20px,8vw,120px);background:var(--navy);color:#fff}footer img{width:300px;max-width:42vw;filter:drop-shadow(0 0 0 transparent)}@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-logo{display:none}.ratings-grid,.pricing-grid{grid-template-columns:1fr 1fr}.search{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.site-header{align-items:flex-start;flex-direction:column}.brand-logo img{width:min(500px,90vw)}.form-grid{grid-template-columns:1fr}.admin-table>div{grid-template-columns:1fr 1fr}.book-result{grid-template-columns:95px 1fr}.book-result img{width:95px;height:142px}}@media(max-width:520px){.ratings-grid,.pricing-grid,.steps{grid-template-columns:1fr}.rating-row{grid-template-columns:1fr}.rating-code{font-size:44px}footer{align-items:flex-start;flex-direction:column}footer img{max-width:90vw}}
.book-result h2 a,.admin-table a{color:var(--navy);text-decoration:none}.book-result h2 a:hover,.admin-table a:hover{text-decoration:underline}.rating-pill{display:inline-block;padding:10px 18px;border-radius:999px;color:#fff;font-size:28px;font-weight:900}.badge.r-c,.rating-pill.r-c{background:#0bb8c3}.badge.r-g,.rating-pill.r-g{background:#6ec82a}.badge.r-pg,.rating-pill.r-pg{background:#f0b900}.badge.r-pg13,.rating-pill.r-pg13{background:#ff8a00}.badge.r-r,.rating-pill.r-r{background:#ec2922}.badge.r-nc17,.rating-pill.r-nc17{background:#9d2f86}.book-hero{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:42px;align-items:start}.book-cover-large{width:100%;max-width:360px;max-height:540px;object-fit:contain;box-shadow:0 12px 30px rgba(0,0,0,.14)}.rating-explanation{margin-top:36px;padding:28px;border-radius:14px;background:var(--bg)}.author-profile{display:grid;grid-template-columns:220px 1fr;gap:34px;align-items:start}.author-profile>img{width:220px;height:220px;object-fit:cover;border-radius:50%}.author-books{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.author-book{display:grid;gap:8px;color:var(--navy);text-decoration:none}.author-book img{width:100%;aspect-ratio:2/3;object-fit:cover;border:1px solid var(--line)}.admin-book-grid{display:grid;grid-template-columns:320px 1fr;gap:34px;align-items:start}.admin-cover{width:100%;max-height:480px;object-fit:contain;border:1px solid var(--line);background:#fff}.placeholder-cover{height:420px;display:grid;place-items:center;background:var(--bg);border:1px dashed #aebbc9;border-radius:8px;color:#718096}.asset-form{display:grid;gap:10px;margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:10px}.asset-form label{display:grid;gap:7px;font-weight:800}.generated-preview{display:block;width:min(540px,100%);height:auto;border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.08)}
@media(max-width:900px){.book-hero,.author-profile,.admin-book-grid{grid-template-columns:1fr}.author-profile>img{width:180px;height:180px}.author-books{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.author-books{grid-template-columns:1fr}}

.pricing-admin-list{display:grid;gap:1rem;margin-top:1.5rem}
.price-admin-card{border:1px solid #d7deea;border-radius:18px;padding:1.25rem;background:#fff}
.price-admin-card form+form{margin-top:.75rem}
.button.danger{background:#9b1c1c;color:#fff;border-color:#9b1c1c}

.price-description{margin:16px 0 18px;line-height:1.55}
.price-description br{display:block;content:"";margin-top:8px}
.price-admin-card textarea{min-height:170px;line-height:1.45}

.submission-page{max-width:1100px}
.submission-note{background:#fff8df;border:1px solid #f1cf68;border-radius:14px;padding:16px 18px;margin:18px 0 28px}
.submission-form h2{margin-top:34px;padding-top:18px;border-top:1px solid #e2e7ef}
.submission-form small{display:block;margin-top:6px;font-weight:400;color:#53627a}
.submission-confirmations{margin-top:28px}
.submission-thanks{text-align:center}
.submission-reference{display:inline-flex;flex-direction:column;gap:4px;padding:16px 24px;border-radius:14px;background:#eef6ff;margin:18px 0 26px}
.submission-reference strong{font-size:1.35rem;color:#0b4fae;letter-spacing:.04em}
.paid-submit-link{display:block;margin-top:12px;font-weight:700;color:#0b4fae}
.submission-list{display:grid;gap:8px;margin-top:24px}
.submission-row{display:grid;grid-template-columns:2fr 1.5fr 1fr .8fr .8fr;gap:14px;align-items:center;padding:12px 14px;border:1px solid #dde4ee;border-radius:10px;background:#fff}
.status{font-weight:800;text-transform:capitalize}
.status-new{color:#9b5f00}.status-reviewing{color:#0b5fb3}.status-needs-info{color:#9b1c1c}.status-completed{color:#137333}.status-declined{color:#6b7280}
.submission-admin-grid{display:grid;grid-template-columns:minmax(180px,320px) 1fr;gap:32px;align-items:start}
.submission-cover{width:100%;height:auto;border:1px solid #d9e0ea;border-radius:12px}
.status-form{display:flex;gap:12px;align-items:center}
.status-form select{min-width:180px}
@media(max-width:800px){
  .submission-row{grid-template-columns:1fr}
  .submission-admin-grid{grid-template-columns:1fr}
}

.submission-row small{display:block;margin-top:3px;color:#667085;font-weight:600}

.rating-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 12px;padding-bottom:2px}.rating-tab{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:10px 16px;border:2px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-weight:900;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.rating-tab:hover{transform:translateY(-1px);border-color:var(--blue);box-shadow:0 4px 12px rgba(0,0,0,.08)}.rating-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.rating-tab.active.r-c{background:#0bb8c3;border-color:#0bb8c3}.rating-tab.active.r-g{background:#6ec82a;border-color:#6ec82a}.rating-tab.active.r-pg{background:#f0b900;border-color:#f0b900;color:#17233a}.rating-tab.active.r-pg13{background:#ff8a00;border-color:#ff8a00}.rating-tab.active.r-r{background:#ec2922;border-color:#ec2922}.rating-tab.active.r-nc17{background:#9d2f86;border-color:#9d2f86}@media(max-width:520px){.rating-tabs{gap:7px}.rating-tab{min-width:48px;padding:9px 12px}}
