/* The layout studio inherits the active workspace theme; the printed page stays white. */
.pw-modal,.pw-shared{--pw-surface:#fff;--pw-soft:#f5f6f8;--pw-canvas:#e8ebef;--pw-ink:#263141;--pw-muted:#718096;--pw-line:#dce1e7;--pw-accent:#ed5454;--pw-tint:#fff0ef;color:var(--pw-ink)}
body.skin-warm-paper .pw-modal,body.skin-warm-paper .pw-shared{--pw-surface:#fffefa;--pw-soft:#f7f6f2;--pw-canvas:#ebe9e2;--pw-ink:#292a2e;--pw-muted:#85857e;--pw-line:#e3e3dc;--pw-accent:#bc5143;--pw-tint:#f8ede8}
body.style-liquid-glass .pw-modal,body.style-liquid-glass .pw-shared{--pw-surface:rgba(252,253,255,.94);--pw-soft:rgba(239,244,253,.9);--pw-canvas:#e5edf9;--pw-line:#d9e3f2;--pw-accent:#556ddd;--pw-tint:#eaf0ff}
body.theme-dark .pw-modal,body.theme-dark .pw-shared{--pw-surface:#24282d;--pw-soft:#1c2026;--pw-canvas:#15191e;--pw-ink:#edece7;--pw-muted:#aaaeb5;--pw-line:#3b414a;--pw-tint:#382b2d;color-scheme:dark}
body.skin-warm-paper.theme-dark .pw-modal,body.skin-warm-paper.theme-dark .pw-shared{--pw-accent:#d66a5f}
#exportModal.pw-modal{padding:18px;z-index:1200}
#exportModalContent.pw-shell{width:min(1500px,96vw)!important;max-width:none!important;height:94vh!important;height:94dvh!important;max-height:none!important;display:flex;flex-direction:column;background:var(--pw-surface)!important;color:var(--pw-ink)!important;border:1px solid var(--pw-line)!important;border-radius:20px!important;box-shadow:0 25px 90px #0004;overflow:hidden}
#exportModalContent.pw-shell.pw-fullscreen{width:100vw!important;height:100dvh!important;border-radius:0!important}
.pw-heading,.pw-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 24px;flex-shrink:0;background:var(--pw-surface);border-bottom:1px solid var(--pw-line)}
.pw-heading h2{font-size:19px;line-height:1.5;font-weight:750;margin:0}.pw-heading p{color:var(--pw-muted);font-size:12px;margin:3px 0 0}.pw-body{display:flex;flex:1;min-height:0}.pw-settings{width:348px;flex-shrink:0;padding:18px;overflow:auto;background:var(--pw-soft);border-right:1px solid var(--pw-line)}
.pw-field{display:flex;flex-direction:column;gap:7px;margin:0 0 13px;min-width:0}.pw-field>span,.pw-field-label{font-size:12px;font-weight:650;color:var(--pw-muted)}
#exportModalContent .pw-settings :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;min-width:0;box-sizing:border-box;padding:9px 10px;border:1px solid var(--pw-line)!important;background:var(--pw-surface)!important;color:var(--pw-ink)!important;border-radius:8px;font-size:13px;outline:none;line-height:1.45}
#exportModalContent .pw-settings :is(input,select,textarea):focus{border-color:var(--pw-accent)!important;box-shadow:0 0 0 2px var(--pw-tint)}
#exportModalContent .pw-settings :is(input,select,textarea):disabled{opacity:.5;cursor:not-allowed}.pw-settings textarea{resize:vertical;min-height:72px}.pw-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pw-check{display:flex;align-items:center;gap:8px;font-size:13px;margin:10px 0}.pw-check input{accent-color:var(--pw-accent);width:15px;height:15px}.pw-group{border:1px solid var(--pw-line);background:var(--pw-surface);border-radius:12px;margin-bottom:12px;overflow:hidden}.pw-group>summary{list-style:none;padding:14px;font-size:13px;font-weight:750;cursor:pointer;display:flex;justify-content:space-between}.pw-group>summary:after{content:'＋';color:var(--pw-muted)}.pw-group[open]>summary:after{content:'−'}.pw-group>summary::-webkit-details-marker{display:none}.pw-group-body{padding:0 14px 7px}.pw-hint{font-size:11px;line-height:1.65;color:var(--pw-muted);margin:8px 0 12px}.pw-hint.pw-note{background:var(--pw-tint);padding:10px;border-radius:8px;color:var(--pw-ink)}
.pw-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px}.pw-template{display:block;cursor:pointer;min-width:0}.pw-template input{position:absolute;opacity:0;pointer-events:none}.pw-template-art{height:138px;width:100%;display:block;object-fit:contain;background:#fff;border:1.5px solid var(--pw-line);border-radius:8px;padding:4px}.pw-template input:checked+.pw-template-art{border-color:var(--pw-accent);box-shadow:0 0 0 2px var(--pw-tint)}.pw-template input:focus-visible+.pw-template-art{outline:2px solid var(--pw-accent);outline-offset:2px}.pw-template-name{display:block;text-align:center;font-size:11px;margin-top:7px;white-space:nowrap}.pw-preset-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.pw-preset-actions button{flex:1;font-size:11px!important;padding:7px!important}
.pw-modal button,.pw-shared button{font:inherit;cursor:pointer;border:1px solid var(--pw-line);background:var(--pw-surface);color:var(--pw-ink);padding:8px 12px;border-radius:8px;font-size:12px;font-weight:600;transition:background .16s,border .16s}.pw-modal button:hover,.pw-shared button:hover{background:var(--pw-soft);border-color:var(--pw-muted)}.pw-modal button:disabled,.pw-shared button:disabled{opacity:.45;cursor:not-allowed}.pw-modal button.pw-primary,.pw-shared button.pw-primary{background:var(--pw-accent)!important;color:#fff!important;border-color:var(--pw-accent)!important}.pw-icon{min-width:34px;height:34px;font-size:18px!important;padding:3px 8px!important}.pw-logo-preview{max-width:150px;max-height:65px;object-fit:contain;display:block;margin:8px 0;background:#fff;padding:5px;border-radius:5px}.pw-logo-preview[hidden]{display:none}.pw-preview{display:flex;flex:1;min-width:0;flex-direction:column;background:var(--pw-canvas)}.pw-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;background:var(--pw-surface);border-bottom:1px solid var(--pw-line);flex-wrap:wrap}.pw-segment{display:flex;gap:3px;background:var(--pw-soft);padding:3px;border-radius:9px}.pw-segment button{border-color:transparent;background:transparent}.pw-segment button.is-active{background:var(--pw-ink);color:var(--pw-surface)}.pw-view-controls{display:flex;align-items:center;gap:7px}.pw-view-controls #pwZoom{font-size:11px;color:var(--pw-muted);min-width:35px;text-align:center}.pw-status{font-size:12px;padding:11px 18px;color:var(--pw-muted);background:var(--pw-soft);border-bottom:1px solid var(--pw-line);min-height:39px}.pw-status[data-state=dirty]{color:var(--pw-accent);background:var(--pw-tint)}.pw-status[data-state=error]{color:#dc6565}.pw-status[data-state=rendering]{color:var(--pw-accent)}.pw-canvas{display:flex;flex:1;min-height:0;min-width:0}.pw-thumbnails{width:112px;flex-shrink:0;overflow:auto;border-right:1px solid var(--pw-line);padding:14px 10px;background:var(--pw-soft);display:flex;flex-direction:column;gap:13px}.pw-thumbnails:empty{display:none}.pw-thumbnails button{padding:5px;border-radius:5px;background:transparent;flex-shrink:0}.pw-thumbnails button[aria-current=true]{border-color:var(--pw-accent);background:var(--pw-tint)}.pw-thumbnails img{width:74px;height:auto;min-height:75px;background:#fff;display:block;object-fit:contain;box-shadow:0 2px 5px #0002}.pw-thumbnails span{font-size:10px;display:block;margin-top:5px;color:var(--pw-muted)}.pw-stage{flex:1;min-width:0;min-height:0;overflow:auto;padding:24px;position:relative}.pw-page-list{min-height:100%;display:flex;align-items:flex-start;justify-content:center}.pw-page-image{display:block;height:auto;max-width:none!important;background:#fff;box-shadow:0 5px 25px #0002;flex-shrink:0}.pw-empty{text-align:center;align-self:center;max-width:360px;margin:auto;padding:25px;color:var(--pw-muted);line-height:1.85;font-size:13px}.pw-empty strong{display:block;font-size:17px;color:var(--pw-ink);margin-bottom:7px}.pw-empty svg{display:block;width:58px;height:68px;margin:0 auto 20px;stroke:var(--pw-muted);opacity:.65}.pw-preview-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--pw-soft);border-top:1px solid var(--pw-line);font-size:11px;color:var(--pw-muted);min-height:36px}.pw-preview-footer a{color:var(--pw-accent);text-decoration:underline}.pw-bottom{border-bottom:0;border-top:1px solid var(--pw-line);padding:13px 22px}.pw-bottom>span{font-size:12px;color:var(--pw-muted)}.pw-bottom-actions{display:flex;gap:9px}.pw-bottom-actions button{padding:10px 16px}.pw-pdf-fallback{border:0;width:100%;height:100%;min-height:450px;background:white}.pw-pdf-fallback[hidden]{display:none}.pw-shared{position:fixed;inset:0;z-index:1600;background:#11182788;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px}.pw-shared[hidden]{display:none}.pw-shared-shell{background:var(--pw-surface);border:1px solid var(--pw-line);border-radius:18px;max-width:680px;width:100%;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 80px #0004}.pw-shared-body{padding:20px 25px;overflow:auto}.pw-shared-list{margin:0;padding:0;list-style:none}.pw-shared-list li{padding:11px 0;border-bottom:1px solid var(--pw-line);display:flex;gap:12px;align-items:center}.pw-shared-list li b{font-size:12px;color:var(--pw-muted);width:20px;flex-shrink:0}.pw-shared-list li span{font-size:13px;overflow-wrap:anywhere}.pw-shared-list small{display:block;color:var(--pw-muted);font-size:11px;margin-top:4px}.pw-shared-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--pw-line);padding:16px 22px;flex-wrap:wrap}.pw-shared-status{font-size:12px;line-height:1.8;color:var(--pw-muted);margin-top:15px}.pw-shared-message{padding:15px 0;color:var(--pw-muted);font-size:13px}.pw-modal :focus-visible,.pw-shared :focus-visible{outline:2px solid var(--pw-accent);outline-offset:3px}
@media(max-width:950px){.pw-settings{width:300px}.pw-toolbar{padding:10px}.pw-view-controls{gap:3px}.pw-view-controls button{font-size:10px;padding:7px}.pw-thumbnails{width:90px;padding:10px 7px}.pw-thumbnails img{width:61px}.pw-bottom-actions button{padding:9px;font-size:11px}}
@media(max-width:700px){#exportModal.pw-modal{padding:0}#exportModalContent.pw-shell{width:100vw!important;height:100dvh!important;border-radius:0!important}.pw-heading{padding:13px 15px}.pw-heading h2{font-size:17px}.pw-heading p{font-size:11px}.pw-body{flex-direction:column;overflow:auto}.pw-settings{width:100%;max-height:42dvh;flex-shrink:0;border-right:0;border-bottom:1px solid var(--pw-line);padding:12px}.pw-settings>.pw-field{margin-bottom:10px}.pw-preview{min-height:45dvh;flex:1;overflow:hidden}.pw-toolbar{gap:6px}.pw-stage{padding:14px}.pw-thumbnails{width:72px}.pw-thumbnails img{width:45px}.pw-bottom{padding:10px;gap:6px;flex-wrap:wrap}.pw-bottom>span{font-size:11px}.pw-bottom-actions{gap:5px;margin-left:auto}.pw-bottom-actions button{padding:9px 8px}.pw-status{font-size:11px;padding:9px 11px}.pw-preview-footer{padding:8px 12px}.pw-shared{padding:10px}}
.pw-modal [hidden]{display:none!important}.pw-modal:has(.pw-fullscreen){padding:0!important}.pw-page-list{width:max-content;min-width:100%}

.pw-confirm{z-index:1800}.pw-confirm .pw-shared-shell{max-width:440px}.pw-confirm-message{margin:0;font-size:14px;line-height:1.8;color:var(--pw-muted)}
/* Print previews retain the PDF's original colours, including in inverted reading mode. */
body #exportModal #exportModalContent :is(.pw-template-art, .pw-page-image, .pw-logo-preview, #pwThumbnails img) {
    filter: none !important;
    mix-blend-mode: normal !important;
    background-color: #fff !important;
    color-scheme: light;
}

.pw-template-name{white-space:normal;overflow-wrap:anywhere;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
/* Each template can be toggled off; an empty selection uses plain pages. */
.pw-modal .pw-template-main,.pw-modal .pw-template-add{display:block;width:100%;padding:0;border:0;background:transparent!important;text-align:center;align-self:start;min-width:0;font-weight:400}
.pw-template-main[aria-pressed=true] .pw-template-art{border-color:var(--pw-accent);box-shadow:0 0 0 2px var(--pw-tint)}
.pw-template-main[aria-pressed=false]:hover .pw-template-art{border-color:var(--pw-muted)}
.pw-template-main:focus-visible{outline:2px solid var(--pw-accent);outline-offset:4px}
.pw-template-custom-slot{min-width:0;position:relative}
.pw-modal .pw-template-upload-name{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-height:44px;padding:5px 2px;border:0;background:transparent;font-weight:400}
.pw-template-upload-name .pw-template-name{margin:0;min-width:0;font-size:11px}
.pw-template-upload-name svg{width:16px;height:16px;flex-shrink:0;color:var(--pw-muted)}
.pw-modal .pw-template-upload-name:hover{background:var(--pw-tint)}
.pw-template-upload-name:hover svg{color:var(--pw-accent)}
.pw-template-placeholder{height:138px;display:flex;align-items:center;justify-content:center;border:1.5px dashed var(--pw-line);border-radius:8px;background:var(--pw-soft);color:var(--pw-muted)}
.pw-template-placeholder svg{width:32px;height:40px;stroke:currentColor;fill:none;stroke-width:1.5}
.pw-template-add:hover .pw-template-placeholder{border-color:var(--pw-accent);color:var(--pw-accent);background:var(--pw-tint)}
.pw-template-add-label{display:block;margin-top:7px;line-height:1.4;font-size:11px;font-weight:400}
.pw-bottom .pw-primary-actions{margin-left:0}
.pw-bottom .pw-download-actions{margin-left:auto}
@media(max-width:700px){.pw-bottom{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:8px}.pw-bottom-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;min-width:0;margin-left:0!important}.pw-bottom-actions button{padding:9px 5px;font-size:10px;line-height:1.4}.pw-bottom .pw-download-actions{margin-left:0}}

/* Official-template metadata is confirmed before it becomes part of the paper. */
#pwExamDialog{width:560px;max-width:calc(100vw - 28px);max-height:90dvh;margin:auto;padding:0;border:1px solid var(--pw-line);border-radius:16px;background:var(--pw-surface);color:var(--pw-ink);box-shadow:0 24px 90px #0004;overflow:hidden}
#pwExamDialog:not([open]){display:none}
#pwExamDialog[open]{display:flex}
#pwExamDialog::backdrop{background:rgba(24,26,30,.35);backdrop-filter:blur(3px)}
.pw-exam-form{display:flex;flex-direction:column;min-height:0;width:100%;max-height:90dvh;margin:0}
.pw-exam-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--pw-line);flex-shrink:0}
.pw-exam-heading h3{margin:0;font-size:18px;font-weight:700;line-height:1.5}
.pw-exam-body{padding:22px 22px 8px;overflow:auto;min-height:0}
.pw-exam-body .pw-row{gap:16px;align-items:end}
#pwExamDialog :is(input,select){width:100%;min-width:0;box-sizing:border-box;padding:10px 11px;border:1px solid var(--pw-line);background:var(--pw-surface);color:var(--pw-ink);border-radius:8px;font:inherit;font-size:14px;line-height:1.45;outline:none}
#pwExamDialog :is(input,select):focus{border-color:var(--pw-accent);box-shadow:0 0 0 2px var(--pw-tint)}
.pw-exam-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--pw-line);flex-shrink:0}
.pw-exam-actions button{min-width:78px;padding:10px 18px}
@media(max-width:700px){#pwExamDialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px)}.pw-exam-form{max-height:calc(100dvh - 32px)}.pw-exam-heading{padding:16px}.pw-exam-body{padding:18px 16px 5px}.pw-exam-body .pw-row{gap:12px}.pw-exam-actions{padding:14px 16px}.pw-exam-heading h3{font-size:17px}}

/* The template card owns its printable region; no extra sidebar settings group. */
.pw-modal .pw-template-region{display:block;margin:0 auto 3px;padding:4px 8px;font-size:11px;font-weight:400;background:transparent}
#pwRegionDialog{width:730px;max-width:calc(100vw - 28px);max-height:90dvh;margin:auto;padding:0;border:1px solid var(--pw-line);border-radius:16px;background:var(--pw-surface);color:var(--pw-ink);box-shadow:0 24px 90px #0004;overflow:hidden}
#pwRegionDialog:not([open]){display:none}#pwRegionDialog[open]{display:flex}
#pwRegionDialog::backdrop{background:rgba(24,26,30,.35);backdrop-filter:blur(3px)}
.pw-region-body{display:grid;grid-template-columns:minmax(180px,1fr) minmax(230px,1fr);gap:24px;overflow:auto;min-height:0;padding:20px 22px}
.pw-region-sheet{position:relative;width:100%;aspect-ratio:210/297;background:white;box-shadow:0 3px 14px #0002;overflow:hidden}
#pwRegionImage{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:fill;filter:none!important;mix-blend-mode:normal!important;opacity:1!important}
#pwRegionImage[hidden]{display:none}#pwRegionBox{position:absolute;border:2px solid var(--pw-accent);background:color-mix(in srgb,var(--pw-accent) 7%,transparent);box-shadow:0 0 0 200px #0002;pointer-events:none}
#pwRegionBox span{display:block;width:fit-content;max-width:100%;padding:3px 5px;background:var(--pw-accent);color:#fff;font-size:10px}
.pw-region-fields .pw-row{gap:12px}.pw-region-fields .pw-field{margin-bottom:12px}.pw-region-fields .pw-hint{margin:10px 0 15px;line-height:1.7}
#pwRegionDialog :is(input,select){width:100%;min-width:0;box-sizing:border-box;padding:10px 11px;border:1px solid var(--pw-line);background:var(--pw-surface);color:var(--pw-ink);border-radius:8px;font:inherit;font-size:14px;line-height:1.45}
#pwRegionDialog :is(input,select):focus{border-color:var(--pw-accent);outline:2px solid var(--pw-tint)}
.pw-region-error{color:#c43d37;font-size:12px;line-height:1.65}.pw-region-error[hidden]{display:none}
@media(max-width:700px){#pwRegionDialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px)}.pw-region-body{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px}.pw-region-preview{width:190px;max-width:100%;margin:auto}.pw-region-fields .pw-row{grid-template-columns:1fr 1fr}.pw-region-fields .pw-field{margin-bottom:10px}}
.pw-stage .pw-page-image{transition:opacity .18s ease}.pw-stage:is(.is-updating,.is-swapping) .pw-page-image{opacity:.5}.pw-stage.is-updating::after{content:attr(data-updating-label);position:absolute;top:12px;right:16px;z-index:2;padding:6px 12px;border-radius:999px;background:var(--pw-ink);color:var(--pw-surface);font-size:12px;box-shadow:0 2px 10px #0003;pointer-events:none}
