:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#182636;background:#f4f6f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px max(20px,calc((100vw - 1420px)/2));background:white;border-bottom:1px solid #e0e3e6;gap:12px}.brand{font-family:Georgia,serif;text-decoration:none;font-size:21px;color:#1d3247;white-space:nowrap}.brand span{color:#ab7b32}.lab-label{font-size:12px;color:#63717e}.workspace{max-width:1420px;padding:28px 20px 70px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:24px}.heading h1{font-family:Georgia,serif;font-size:clamp(28px,3.3vw,42px);line-height:1.13;margin:6px 0 10px}.heading p{color:#566473;line-height:1.55;margin:0;max-width:700px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#9b722e;font-size:11px;font-weight:700}.privacy{background:#fff8e8;border:1px solid #e9d7b2;border-radius:12px;max-width:340px;padding:14px 18px;font-size:13px}.privacy strong{color:#795d2d}.privacy p{margin:5px 0 0;font-size:12px}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:24px;align-items:start}.editor,.preview-pane{border:1px solid #dce2e6;border-radius:18px;background:#fff;padding:24px;box-shadow:0 9px 32px #1d345208}.editor>section,.editor>fieldset{margin:0 0 30px}.editor h2,.editor legend{font-size:20px;font-weight:700;line-height:1.3;margin:0 0 12px}.configuration{padding:0;border:0;width:100%}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-grid label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700}.settings-grid select,.page-controls select{height:42px;background:white;border:1px solid #cbd5da;border-radius:10px;padding:0 11px;width:100%}.hint{color:#677480;font-size:12px;line-height:1.55;margin:10px 0 0}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dropzone{cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed #becbd3;background:#fbfcfc;border-radius:13px;padding:22px 12px;text-align:center;min-height:165px}.dropzone:hover,.dropzone:focus-within{border-color:#ab7b32;background:#fffdf9}.dropzone strong{font-size:15px}.dropzone span:not(.drop-icon){color:#62717e;font-size:12px;line-height:1.45}.dropzone input{width:100%;font-size:12px;max-width:250px}.drop-icon{font-size:27px;color:#a77a39}.template-note{display:grid;gap:4px;background:#f5f7f8;border-radius:12px;padding:14px 16px;margin-top:13px}.template-note strong{font-size:13px}.template-note span{font-size:12px;color:#6b7783;line-height:1.5}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.section-heading h2{margin-bottom:4px}.section-heading .hint{margin-top:0}.page-count{white-space:nowrap;font-size:12px;border-radius:20px;background:#e9f0f3;padding:7px 12px;font-weight:700;color:#2e5267}.empty-state{background:#f7f9fa;border:1px dashed #cbd6dc;border-radius:13px;text-align:center;color:#667481;padding:35px 20px;font-size:13px}.page-list{display:grid;gap:11px}.page-item{border:1px solid #dce3e7;border-radius:13px;padding:12px;display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px;transition:border-color .18s;background:white}.page-item.active{border:2px solid #496e86;box-shadow:0 0 0 2px #496e8618}.thumb-button{padding:0;background:#f2f4f5;border:0;border-radius:7px;overflow:hidden;width:90px;height:120px}.thumb-button img{height:100%;width:100%;object-fit:contain}.page-topline{display:flex;align-items:center;justify-content:space-between;gap:9px}.page-topline strong{font-size:13px;overflow-wrap:anywhere}.mini-actions{display:flex;gap:4px}.mini-actions button{border:1px solid #dce2e6;background:#fff;border-radius:6px;padding:5px 8px;font-size:12px}.mini-actions button:hover{background:#edf2f5}.page-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:9px}.page-controls label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#53616f}.page-controls select{font-size:12px;height:34px}.approve-line{margin-top:10px;display:flex;gap:7px;align-items:center;font-size:12px}.approve-line input{width:17px;height:17px;accent-color:#285878}.page-warning{font-size:11px;color:#a36116;margin-top:7px;line-height:1.4}.page-meta{font-size:11px;color:#6c7a84;line-height:1.5;margin-top:5px}.review{background:#f8fafb;border:1px solid #dfe6e9;padding:18px;border-radius:14px}.review-details{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:15px}.review-details div{display:flex;flex-direction:column;gap:5px}.review-details span{font-size:11px;color:#63717e}.review-details strong{font-size:16px}.review button,.preview-actions button{border:none;border-radius:10px;background:#b58a38;color:#fff;font-weight:700;padding:13px 19px;width:100%}#globalStatus{font-size:12px;min-height:20px;margin:10px 0;line-height:1.4}#globalStatus.error{color:#a13b2e}#globalStatus.success{color:#28604a}.preview-pane{position:sticky;top:20px}.preview-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;margin-bottom:15px}.preview-head span{color:#6d7984;font-size:12px}.paper-stage{aspect-ratio:210/297;max-height:62vh;background:#fff;display:grid;place-items:center;box-shadow:0 3px 19px #192b3e1d;border:1px solid #e2e6ea;margin:auto;overflow:hidden}.paper-stage img{width:100%;height:100%;object-fit:contain}.paper-stage p{padding:25px;text-align:center;color:#71808a;font-size:13px}.preview-actions{margin-top:15px}.pdf-preview{margin-top:23px;display:grid;gap:8px}.pdf-preview iframe{width:100%;height:540px;border:1px solid #d6dfe5;border-radius:8px}#downloadPdf[hidden],#pdfPreviewContainer[hidden],#selectedPreview[hidden],#previewPlaceholder[hidden]{display:none!important}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #a8cde1;outline-offset:2px}@media(max-width:980px){.workspace-grid{grid-template-columns:1fr}.preview-pane{position:static;order:-1}.paper-stage{max-height:400px}.heading{flex-direction:column;gap:15px}.privacy{max-width:unset;width:100%}}@media(max-width:580px){.workspace{padding:18px 12px 55px}.topbar{padding:15px 16px}.lab-label{font-size:10px}.editor,.preview-pane{padding:16px;border-radius:13px}.upload-grid,.settings-grid{grid-template-columns:1fr}.dropzone{min-height:140px}.page-item{grid-template-columns:72px minmax(0,1fr);gap:9px;padding:9px}.thumb-button{width:72px;height:98px}.page-controls{grid-template-columns:1fr}.review-details{grid-template-columns:1fr 1fr}.paper-stage{max-height:290px}}
.pdf-preview canvas{display:block;width:100%;height:auto;max-height:65vh;object-fit:contain;border:1px solid #dbe2e6;border-radius:7px;background:#fff}.pdf-nav{display:flex;justify-content:space-between;align-items:center;gap:8px}.pdf-nav button{border:1px solid #cbd5da;border-radius:8px;background:#fff;padding:8px 11px;font-size:12px}.pdf-nav span{font-size:12px;color:#667481}

.theme-picker{margin-top:12px;display:grid;gap:9px;border:1px solid #dce3e7;border-radius:11px;padding:14px;background:#fbfcfc}.theme-picker[hidden]{display:none!important}.theme-picker label{font-size:13px;font-weight:700}.theme-picker select{min-height:42px;border:1px solid #cbd5da;border-radius:8px;padding:8px}.theme-picker button{background:#244e66;border:0;color:#fff;border-radius:8px;padding:12px;font-weight:700}.draft-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:15px}.draft-actions span{color:#5d7180;font-size:12px}.draft-actions button{border:1px solid #d4dce1;background:#fff;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:700}.draft-actions button:hover{background:#f4f7f8}@media(max-width:580px){.draft-actions{align-items:start;flex-direction:column}}

.bulk-page-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 13px}.bulk-page-actions button,.secondary-control{border:1px solid #cad6dd;border-radius:8px;padding:10px 13px;background:#f7fafb;color:#2a4c61;font-size:12px;font-weight:700}.bulk-page-actions button:hover,.secondary-control:hover{background:#eaf1f5}.cover-section{border-top:1px solid #e1e7ea;padding-top:20px}.cover-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:13px}.cover-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#304556}.cover-fields input:not([type=file]),.cover-fields select{min-height:42px;border-radius:9px;border:1px solid #cbd5dc;padding:9px 12px;background:#fff;min-width:0;width:100%}.cover-fields input[type=file]{font-size:12px;max-width:100%}.secondary-control{margin-top:12px}.cover-preview-group{margin-bottom:20px}.cover-preview-group>strong{font-size:13px;display:block;margin-bottom:12px}.front-cover{width:min(100%,235px);aspect-ratio:5/7;margin:0 auto;border-radius:3px;box-shadow:4px 7px 18px #16263635;display:flex;flex-direction:column;overflow:hidden;border:7px solid #ded5bd;transition:background-color .2s;background:#193955;color:#f9eccc;text-align:center}.front-cover[data-palette=forest]{background:#24534a;color:#fff3d8}.front-cover[data-palette=sand]{background:#e3c99f;color:#49331e}.front-cover[data-palette=berry]{background:#7b294c;color:#fff1e1}.front-cover-art{flex:1;min-height:0;display:grid;place-items:center;padding:12px}.front-cover-art img{width:100%;height:100%;max-height:100%;object-fit:contain;border-radius:4px}.front-cover-art span{font-family:Georgia,serif;font-size:46px}.front-cover-copy{padding:12px;display:grid;gap:6px}.front-cover-copy strong{font-family:Georgia,serif;overflow-wrap:anywhere;font-size:22px;line-height:1.22}.front-cover-copy span{font-size:12px;overflow-wrap:anywhere}.review-checks{border:1px solid #d8e3e8;border-radius:10px;background:#fff;color:#405a6a;padding:10px 12px;font-size:12px;margin:12px 0;line-height:1.5}@media(max-width:600px){.cover-fields{grid-template-columns:1fr}.front-cover{width:195px}}
.colouring-cover-design-picker{border:0;margin:8px 0 14px;padding:0;min-width:0}
.colouring-cover-design-picker legend{font-size:13px;font-weight:700;margin-bottom:9px}
#colouringCoverGallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:9px}
.colouring-design-option{border:1px solid #d6e1e6;border-radius:9px;background:#fff;text-align:center;padding:8px;min-width:0;color:inherit}
.colouring-design-option[aria-pressed=true]{border:2px solid #9b7533;background:#fffbf3}
.colouring-design-option img{width:100%;height:63px;object-fit:contain;pointer-events:none}
.colouring-design-option .symbol{display:grid;place-items:center;height:63px;color:#7d826c;font-size:32px}
.colouring-design-option strong{font-size:11px;display:block;margin-top:4px}
.front-cover-art{position:relative}.front-cover-art #coverDesignOverlay{position:absolute;inset:4%;width:92%;height:92%;max-height:none;object-fit:fill;pointer-events:none;border:0}

.cloud-controls{margin-top:15px;padding:15px;border:1px solid #c8dce7;border-radius:11px;background:#f7fbfe}.cloud-controls[hidden]{display:none!important}.cloud-controls strong{font-size:13px}.cloud-controls p,.cloud-controls span{font-size:12px;color:#536979;line-height:1.5}.cloud-controls span[data-error=true]{color:#a64333}.cloud-buttons{display:flex;flex-wrap:wrap;gap:8px}.cloud-buttons button{background:#23495c;color:white;border:0;border-radius:8px;padding:10px 14px;font-size:12px}.cloud-buttons button:disabled{opacity:.45}.cloud-buttons button:last-child{background:#ecf1f5;color:#23495c;border:1px solid #cad4db}

.colouring-price-preview{display:grid;gap:5px;border-top:1px solid #dde6e8;border-bottom:1px solid #dde6e8;padding:13px 0;margin:14px 0}.colouring-price-preview>span{font-size:12px;color:#5d6f79}.colouring-price-preview>strong{font-size:27px;font-weight:750;color:#203d4e}.colouring-price-preview>small{font-size:12px;line-height:1.45;color:#596d79}.colouring-price-preview #colouringPriceWarning{color:#84602d}


/* Audience-specific ready-made templates. An empty catalogue is intentional:
   never present unpublished interiors as selectable products. */
.theme-library{margin-top:18px;border:1px solid #dce3e7;background:#fbfcfc;border-radius:15px;padding:17px;min-width:0}
.theme-library-heading h3{font-family:Georgia,serif;font-size:20px;line-height:1.25;color:#273a45;margin:0 0 7px}
.theme-library-heading p{margin:0 0 15px;color:#64727c;font-size:13px;line-height:1.55}
.theme-audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.theme-audience-option{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:6px;min-width:0;padding:9px 9px 14px;border:1.5px solid #d6dfe3;border-radius:13px;background:#fff;color:#1d3443;cursor:pointer;transition:border-color .18s,box-shadow .18s}
.theme-audience-option:hover{border-color:#547187;box-shadow:0 4px 13px #1d345210}
.theme-audience-option[aria-pressed="true"]{border-color:#285472;box-shadow:0 0 0 2px #28547222;background:#f5fafc}
.theme-audience-option img{display:block;width:100%;height:auto;aspect-ratio:320 / 164;object-fit:cover;border-radius:8px;background:#eee9e1;pointer-events:none}
.theme-audience-option strong{padding:4px 5px 0;font-size:16px}
.theme-audience-option small{padding:0 5px;font-size:12px;line-height:1.5;color:#566772}
.theme-audience-status{margin:13px 1px 0;color:#536a76;font-size:12px;line-height:1.5}
.theme-library .theme-picker{margin-top:12px}
.theme-audience-option:focus-visible{outline:3px solid #abcddf;outline-offset:3px}
@media(max-width:580px){
  .theme-library{padding:12px}
  .theme-audience-grid{gap:9px}
  .theme-audience-option{padding:7px 7px 12px}
  .theme-audience-option strong{font-size:14px}
  .theme-audience-option small{font-size:11px}
}

/* Familiar illustrated book-option cards, preserving keyboard-friendly selects. */
.bm-colouring-book-options{display:grid;gap:23px}
.bm-colouring-option-group{display:grid;gap:9px}
.bm-colouring-option-group>label,.bm-colouring-option-heading>label{font-weight:750;font-size:15px;color:#233d50}
.bm-colouring-option-group>select{width:100%;max-width:390px;height:43px;border:1px solid #c7d3db;border-radius:9px;background:#fff;padding:8px 12px}
.bm-colouring-option-heading{display:flex;align-items:center;gap:9px}
.bm-colouring-info-button{width:26px;height:26px;border:1px solid #a4b7c4;border-radius:50%;background:#fff;color:#254b65;font-size:14px;font-weight:800;line-height:1}
.bm-colouring-info-button:hover,.bm-colouring-info-button[aria-expanded=true]{background:#e5eff4}
.bm-colouring-tip{margin:0;padding:12px 14px;border-radius:9px;border:1px solid #cbdde6;background:#f5fafc;color:#385668;line-height:1.55;font-size:13px}
.bm-colouring-tip[hidden]{display:none!important}
.bm-colouring-option-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.bm-colouring-option-cards button{display:flex;align-items:center;flex-direction:column;gap:7px;text-align:center;min-width:0;min-height:140px;padding:13px 11px;background:#fff;border:1.5px solid #d8e0e7;border-radius:13px;color:#183345}
.bm-colouring-option-cards button[aria-pressed=true]{border:2px solid #a87b34;background:#fffaf0;box-shadow:0 0 0 2px #b78a3b26}
.bm-colouring-option-cards button strong{font-size:13px;line-height:1.3}
.bm-colouring-option-cards button small{font-size:11.5px;color:#5a6d7b;line-height:1.35}
.bm-colouring-option-cards button img{max-width:100%;width:185px;height:83px;object-fit:contain;border-radius:8px}
.bm-colouring-binding-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.bm-colouring-book-visual{display:block;border:1px solid #bdc6cd;background:linear-gradient(135deg,#fff,#eceff2);box-shadow:4px 5px 8px #243f4c1b;border-radius:3px;aspect-ratio:148/210}
.bm-colouring-a4{height:78px}.bm-colouring-a5{height:61px;align-self:center;margin:9px 0 8px}
.bm-colouring-paper-visual{display:block;width:80px;height:69px;border:1px solid #d2d7d8;border-radius:4px;background:#fff}
.bm-colouring-uncoated{background:repeating-linear-gradient(95deg,#fff 0 4px,#f5f4ef 5px 7px)}
.bm-colouring-coated{background:linear-gradient(125deg,#fff 0 43%,#e5edf1 48%,#fff 70%)}
.bm-colouring-finish-visual{width:80px;height:67px;border-radius:7px;background:#244256}
.bm-colouring-matte{background:#25465b}
.bm-colouring-gloss{background:linear-gradient(130deg,#29475d 0 37%,#7396a8 47%,#1b3c57 65%)}
.bm-colouring-option-note{margin:0;font-size:12px;color:#586e7d;line-height:1.5}
@media(max-width:650px){.bm-colouring-binding-cards{grid-template-columns:1fr 1fr}.bm-colouring-option-cards button{min-height:128px;padding:10px}.bm-colouring-option-group>select{max-width:none}}
@media(max-width:390px){.bm-colouring-binding-cards{grid-template-columns:1fr}}


/* Consistent, touch-friendly footer actions for the Colouring Book review. */
.review .colouring-review-primary-actions{
  display:grid;
  gap:14px;
  margin-top:18px;
}
.review .colouring-review-primary-actions button{
  width:100%;
  min-height:50px;
  line-height:1.4;
  white-space:normal;
}
.review .colouring-review-primary-actions + .hint{margin-top:16px}
.review .colouring-review-reset-actions {
  display:flex;
  justify-content:flex-end;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid #dfe6e9;
}
.review .colouring-review-reset-actions .colouring-review-start-over {
  width:min(100%,230px);
  min-height:46px;
  padding:10px 12px;
  border:1px solid #e6c5be;
  border-radius:10px;
  background:#fff;
  color:#8f4137;
  font-size:.88rem;
  font-weight:700;
  line-height:1.35;
}
.review .colouring-review-reset-actions .colouring-review-start-over:hover { background:#fff5f3; }

/* Shared Memory Book confirmation is reused in Colouring Book, which has
   no global .btn styling of its own. Keep the dialog touch-friendly. */
.bm-start-over-dialog .btn {
  min-height:44px;
  padding:10px 15px;
  border-radius:9px;
  font-size:14px;
  font-weight:700;
}
.bm-start-over-dialog .btn-secondary {
  border:1px solid #cad6dd;
  background:#fff;
  color:#29485d;
}

/* The face model is optional. Keep recovery in the page controls themselves. */
.page-face-retry{
  align-self:flex-start;
  padding:8px 11px;
  margin-top:3px;
  border:1px solid #becdd5;
  border-radius:8px;
  color:#294c61;
  background:#fff;
  font-size:12px;
  font-weight:700;
}
.page-face-retry:hover{background:#eef5f7}
.page-face-retry:focus-visible{outline:3px solid #a8cde1;outline-offset:2px}


/* Creation route is the first decision: never bury the ready-made library
   under photo/PDF upload controls. */
.colouring-creation-choice { padding:20px;border:1px solid #d6e0e5;border-radius:16px;background:#fcfdfd; }
.colouring-creation-choice h2 { margin:0 0 8px;color:#1b3446; }
.colouring-creation-choice > .hint { margin:0 0 17px;font-size:13px; }
.colouring-method-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px; }
.colouring-method-option {
  display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:7px;
  border:2px solid #d5dfe4;border-radius:14px;background:#fff;padding:16px;
  min-width:0;min-height:160px;color:#1d3647;
}
.colouring-method-option[aria-pressed=true] { border-color:#ad823c;background:#fffaf0;box-shadow:0 0 0 2px #ad823c1d; }
.colouring-method-option strong { font-size:16px;line-height:1.3; }
.colouring-method-option small { font-size:12px;line-height:1.5;color:#64737b; }
.colouring-method-illustration {
  display:grid;place-items:center;width:44px;height:42px;
  background:#e9f1f3;color:#31566b;border-radius:10px;font-size:29px;
  font-family:Georgia,serif;line-height:1;
}
.colouring-method-option[aria-pressed=true] .colouring-method-illustration { background:#f3e7d0;color:#8a642c; }
.colouring-creation-choice .theme-library { margin-top:17px;background:#fff; }
.colouring-creation-choice .theme-library[hidden] { display:none !important; }
.page-preview-navigation { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px; }
.page-preview-navigation button {
  padding:12px 10px;min-height:46px;background:#fff;color:#29495e;
  border:1px solid #bfcfd9;border-radius:10px;font-size:13px;font-weight:750;
}
.page-preview-navigation button:not(:disabled):hover { background:#eff5f8;border-color:#63849a; }
.page-preview-help { color:#687783;text-align:center;font-size:12px;line-height:1.5;margin:10px 0 0; }
.paper-stage { touch-action:pan-y pinch-zoom; }
#clearDraft[hidden],#reviewClearDraft[hidden] { display:none !important; }
@media(max-width:580px) {
  .colouring-creation-choice { padding:13px; }
  .colouring-method-grid { gap:9px; }
  .colouring-method-option { padding:12px 10px;min-height:175px; }
  .colouring-method-option strong { font-size:14px; }
  .colouring-method-option small { font-size:11.5px; }
  .page-preview-navigation button { font-size:13px; }
}

/* Inline currency choice in Colouring Book options, not a floating overlay. */
.configuration .bm-currency-selector {
  display:inline-flex;align-items:center;gap:4px;position:static;
  width:max-content;max-width:100%;padding:5px 7px;margin:2px 0 19px;
  border:1px solid #d1d9de;border-radius:999px;background:#fff;
  font:700 12px/1.2 system-ui,sans-serif;color:#11233e;
}
.configuration .bm-currency-label { padding:0 8px; }
.configuration .bm-currency-selector button {
  min-width:50px;min-height:38px;padding:8px 10px;border:0;
  border-radius:999px;color:inherit;background:transparent;font:inherit;
}
.configuration .bm-currency-selector button.is-active { background:#11233e;color:#fff; }
.configuration .bm-currency-selector button:focus-visible { outline:3px solid #d6a85f; }

/* Keep the creation choice above previews on narrow screens, where the
   preview column otherwise moves before the entire editor. */
.colouring-creation-choice { margin-bottom:21px; }

/* Colouring import: the successful import state must stay beside its picker.
 * Keep a real accessible file input while hiding the misleading native text. */
.upload-option{min-width:0;display:flex;flex-direction:column;gap:9px}
.upload-option .dropzone{flex:1;min-width:0}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.dropzone .upload-pick{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 20px;margin-top:2px;border-radius:10px;background:#1d3b53;color:#fff!important;font-size:14px!important;font-weight:700;box-shadow:0 2px 5px #13283a22}
.dropzone:focus-within .upload-pick{outline:3px solid #b58a38;outline-offset:3px}
.upload-feedback{min-height:2.5em;line-height:1.5;padding:9px 12px;border-radius:10px;background:#f0f3f5;border:1px solid #d9e1e4;color:#344b5b;font-size:13px;overflow-wrap:anywhere}
.upload-feedback.is-progress{background:#f0f6fc;border-color:#9db5c7;color:#234f6f}
.upload-feedback.is-success{background:#eef7f2;border-color:#a5ccb5;color:#205a3e}
.upload-feedback.is-error{background:#fff2f0;border-color:#db9d95;color:#873d34}
.upload-option progress{display:block;width:100%;height:9px;accent-color:#205a3e;border:0;border-radius:6px}
.upload-option progress[hidden]{display:none}
.upload-jump{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:10px 16px;min-height:44px;border-radius:10px;background:#f0f5f8;border:1px solid #b4cbd9;color:#21485f;font-size:14px;font-weight:700;text-decoration:none}
.subject-focus-control{margin-top:11px;display:grid;gap:5px}
.subject-focus-control button{min-height:44px;border-radius:9px;border:1px solid #486d83;background:#f1f7fa;color:#1b4056;font-weight:700}
.subject-focus-control small{font-size:11px;line-height:1.45;color:#63717e}
.subject-crop-dialog{position:fixed;max-width:min(620px,calc(100vw - 24px));width:100%;max-height:calc(100dvh - 22px);overflow:auto;padding:16px;border:1px solid #c6d0d7;border-radius:16px;box-shadow:0 20px 65px #101c2859;color:#182636;background:white}
.subject-crop-dialog::backdrop{background:#122431b8}
.subject-crop-dialog h2{font-size:20px;margin:0 0 8px}
.subject-crop-dialog p{font-size:13px;line-height:1.5;color:#596978;margin:0 0 14px}
.subject-crop-dialog canvas{display:block;width:100%;height:auto;border:1px solid #bfcbd3;border-radius:9px;touch-action:none;cursor:crosshair;background:white}
.subject-crop-dialog .subject-crop-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px;justify-content:flex-end}
.subject-crop-dialog .subject-crop-actions button{min-height:44px;padding:10px 13px;border-radius:9px;flex:1 1 115px}
@media(max-width:700px){.upload-grid{grid-template-columns:1fr}.upload-option .dropzone{min-height:155px}.subject-crop-dialog{padding:13px}.subject-crop-dialog .subject-crop-actions{flex-direction:column}.subject-crop-dialog .subject-crop-actions button{flex:0 0 auto;width:100%}}

/* Clear handoff for customers whose exact managed PDF was already approved. */
.managed-approval-banner[hidden]{display:none!important}
.managed-approval-banner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  flex-wrap:wrap;margin:4px 0 24px;padding:20px 22px;
  background:#edf7f1;border:1px solid #badbc9;border-radius:16px;
  box-shadow:0 6px 18px rgba(20,68,44,.06)
}
.managed-approval-banner>div{flex:1 1 270px;min-width:0}
.managed-approval-banner strong{display:block;margin-bottom:7px;color:#20513a;font:700 20px/1.3 Georgia,serif}
.managed-approval-banner p{margin:0;color:#3e6150;font-size:14px;line-height:1.55}
.managed-approval-banner button{
  display:inline-flex;align-items:center;justify-content:center;min-height:45px;
  padding:12px 17px;border:1px solid #1d4b38;border-radius:9px;
  background:#1d4b38;color:#fff;cursor:pointer;font-weight:750;font-size:13px
}
@media(max-width:680px){
  .managed-approval-banner{padding:17px 16px}
  .managed-approval-banner button{width:100%}
}

/* Keep mutually exclusive interior routes separate without hiding shared
   book options, cover, final review or the read-only page preview. */
.colouring-creation-choice [hidden],
.workspace-grid [hidden],
#managedApprovalBanner[hidden]{display:none!important}
body[data-colouring-interior="ready"] [data-custom-interior]{display:none!important}
body[data-colouring-interior="ready"] .managed-approval-banner{display:none!important}
.interior-switch-dialog{
  box-sizing:border-box;position:fixed;inset:0;margin:auto;
  width:min(490px,calc(100vw - 32px));max-height:calc(100dvh - 32px);
  overflow-y:auto;padding:28px 26px;border:1px solid #d4dfe3;
  border-radius:19px;background:#fff;color:#1a3449;
  box-shadow:0 22px 70px rgba(12,31,43,.25)
}
.interior-switch-dialog::backdrop{background:rgba(11,25,36,.68)}
.interior-switch-dialog .interior-switch-icon{
  display:grid;place-items:center;width:38px;height:38px;margin-bottom:13px;
  border-radius:50%;background:#fff2d9;color:#795527;font-size:21px;font-weight:800
}
.interior-switch-dialog h2{margin:0 0 10px;color:#17344a;font:700 25px/1.2 Georgia,serif}
.interior-switch-dialog p{margin:0 0 13px;color:#4b6372;font-size:14px;line-height:1.6}
.interior-switch-dialog .interior-switch-note{
  padding:11px 13px;border-radius:10px;background:#f2f6f8;color:#446174;font-size:13px
}
.interior-switch-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.interior-switch-actions button{
  min-width:0;min-height:46px;padding:11px 12px;border-radius:9px;
  border:1px solid #27475b;font-size:13px;font-weight:750;cursor:pointer
}
.interior-switch-cancel{background:#fff;color:#244860}
.interior-switch-confirm{background:#1e4359;color:#fff}
.interior-switch-dialog button:focus-visible{outline:3px solid #bd9553;outline-offset:3px}
@media(max-width:580px){
 .interior-switch-dialog{padding:22px 18px}
 .interior-switch-actions{grid-template-columns:1fr}
 .interior-switch-actions button{width:100%}
}

/* Review the generated PDF where the customer presses Generate, including on mobile. */
.review #pdfPreviewContainer{max-width:620px;margin:20px auto;padding:18px;border:1px solid #d6dfe5;border-radius:12px;background:#fff;scroll-margin-top:85px;outline-offset:4px}
.review #pdfPreviewContainer canvas{display:block;max-width:100%;width:auto;height:auto;max-height:75vh;margin:0 auto}
.review #pdfPreviewContainer .pdf-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}
.review #pdfPreviewContainer .preview-actions{display:flex;justify-content:center}
@media(max-width:580px){.review #pdfPreviewContainer{padding:12px;scroll-margin-top:90px}.review #pdfPreviewContainer .pdf-nav button{min-height:44px}}

/* Ready-made covers are locked to the corresponding theme; personalised
   cover controls and the previous Dino default are never shown in this mode. */
.cover-section [data-custom-cover][hidden],
.cover-section #fixedThemeCover[hidden],
.preview-pane #frontCover[hidden],
.preview-pane #readyCoverPreview[hidden],
.preview-pane #readyCoverPlaceholder[hidden]{display:none!important}
#fixedThemeCover{padding:13px 16px;border:1px solid #cfdfdc;border-radius:12px;background:#f7faf9;line-height:1.5}
#fixedThemeCover p{margin:0 0 8px}
#fixedThemeCover p:last-child{margin-bottom:0;color:#48636b;font-size:13px}
.ready-cover-preview{display:block;width:min(100%,235px);height:auto;aspect-ratio:210/297;object-fit:contain;margin:0 auto;border-radius:5px;box-shadow:4px 7px 18px #16263635}
@media(max-width:600px){.ready-cover-preview{width:195px}}
