/* Responsive, content-driven layout. No absolute positioning or fixed media heights. */
#nav .nav-heading-row{display:flex;align-items:center;gap:0}
#nav .nav-root-row{margin-top:13px}
#nav .nav-heading-row>.nav-title{flex:1;min-width:0;width:auto}
#nav .nav-disclosure{flex:0 0 32px;width:32px;min-height:36px;padding:5px;justify-content:center;border-radius:4px}
#nav .nav-disclosure .chevron{pointer-events:none}
.page-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px 16px;margin:16px 0;align-items:start}
.page-element{grid-column:var(--page-start,auto)/span var(--page-span,12);min-width:0;position:relative;overflow-wrap:anywhere}
.page-element>.archive-card{width:100%;margin:0}
.page-text{padding:4px 0;min-width:0}
.page-text h2{font-size:1.35em;line-height:1.3;margin:0 0 .5em}
.page-text .body{white-space:pre-wrap;font-size:inherit;line-height:1.6}
.page-size-small{font-size:13px}.page-size-normal{font-size:15px}.page-size-large{font-size:18px}
.page-element-edit{position:absolute;right:4px;top:4px;z-index:1;border-radius:4px;background:var(--sb-paper,#ffffffe8)}.page-text h2{padding-right:34px}
.landing-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin:20px 0}
.landing-links .folder{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0;text-align:left}
.layout-row{border:1px solid var(--sb-line,#d6e0e5);border-radius:7px;padding:10px;margin:10px 0;overflow-wrap:anywhere}
.layout-row-fields{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.layout-row-fields label{flex:1 1 85px;min-width:0;margin:0}.layout-row-fields select{width:100%;margin:4px 0 0}
.publication-review{max-height:30dvh;overflow:auto;padding-left:22px}
.reader-view #add,.reader-view #more,.reader-view #save-project,.reader-view #nav-visibility,.reader-view #dts-open,
.reader-view [data-edit],.reader-view [data-history],.reader-view [data-doc],.reader-view [data-upload],.reader-view [data-plan-edit],
.reader-view [data-edit-room-areas],.reader-view [data-edit-room-heights],.reader-view .page-element-edit{display:none!important}
@media(max-width:600px){.page-layout{gap:14px 10px}.layout-row .actions{flex-wrap:wrap}.page-text h2{font-size:1.2em}}
@media print{.page-element-edit{display:none}.page-element{break-inside:avoid}}
/* All dialog text follows the same left alignment, including form controls. */
dialog,dialog:is(h1,h2,h3,p,label,summary,li,th,td,input,select,textarea,button,a,.meta,.helptext){text-align:left!important}
/* Full viewport archive picker; the results scroll below compact filters. */
dialog.figure-picker{inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;padding:0;overflow:hidden}
.figure-picker #editor{display:flex;flex-direction:column;height:100%;min-height:0}
.figure-picker #editor>header,.figure-picker #editor>footer{position:static;flex:0 0 auto;padding:12px 16px}
.figure-picker #editor>header{padding-top:max(12px,env(safe-area-inset-top))}
.figure-picker #editor>footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
.figure-picker #fields{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:12px 16px;overflow:hidden}
.archive-pick-filters{flex:0 0 auto;max-height:48dvh;overflow:auto}
.archive-pick-filters .formgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.archive-pick-filters label{min-width:0;margin-bottom:8px;font-size:12px}
.archive-pick-filters input,.archive-pick-filters select{min-width:0;max-width:100%;padding:7px 8px;font-size:16px;margin-top:3px}
.archive-pick-summary{flex:0 0 auto;color:var(--muted);font-size:12px;padding:4px 0 10px}
.archive-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;align-items:start;gap:12px;min-height:0;flex:1 1 auto;overflow:auto;padding:3px 3px 12px;overscroll-behavior:contain}
.archive-pick-card{display:block;position:relative;min-width:0;max-width:100%;margin:0;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--sb-paper,white);color:var(--ink);font:inherit;overflow:hidden;cursor:pointer}
.archive-pick-card:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 2px var(--brand)}
.archive-pick-card:focus-within{outline:2px solid var(--brand);outline-offset:1px}
.archive-pick-card input[type=checkbox]{position:absolute;z-index:1;top:7px;left:7px;width:20px;height:20px;margin:0;accent-color:var(--brand)}
.archive-pick-card img,.archive-pick-card .pick-preview{display:block;width:100%;height:180px;object-fit:contain;background:var(--sb-media,#edf2f5)}
.archive-pick-card .pick-preview{display:grid;place-items:center;font-weight:600}
.archive-pick-card .pick-media{display:block}
.archive-pick-card .pick-caption{display:block;font-size:12px;line-height:1.35;font-weight:400;padding:7px 8px;overflow-wrap:anywhere}
@media(min-width:1000px){.archive-pick-filters{display:grid;grid-template-columns:1fr 2fr;gap:12px}.archive-pick-filters>.formgrid:nth-child(2){grid-template-columns:repeat(4,minmax(0,1fr))}.archive-pick-card img,.archive-pick-card .pick-preview{height:240px}}
@media(max-width:600px){.archive-pick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.figure-picker #fields{padding:10px}.archive-pick-card img,.archive-pick-card .pick-preview{height:140px}}
.translation-procedure{margin:12px 0;font-size:13px}.translation-procedure ol{padding-left:22px}.translation-procedure li{margin:7px 0}
/* Preview tiles are selectable content, not toolbar buttons. */
body #archive-pick-list>.archive-pick-card{height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;font:inherit!important;line-height:1.35!important;display:block!important}
.archive-pick-grid{grid-auto-rows:max-content}
body dialog .btn{justify-content:flex-start!important}
/* Explicit image dimensions avoid intrinsic grid rows clipping portrait files. */
#viewer-stage .viewer-media{display:block;min-width:0;min-height:0}
#viewer-stage .viewer-image,#viewer-stage .viewer-video{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;object-fit:contain}
.image-zoom-surface{position:absolute;inset:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
#viewer-stage .image-zoom-surface .viewer-image{position:absolute;right:auto;bottom:auto;transform-origin:center;pointer-events:none}
.image-zoom-surface.is-zoomed{cursor:grab}.image-zoom-surface.is-zoomed:active{cursor:grabbing}
.viewer-zoom-controls{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex:0 0 auto;margin:4px 0 6px}
.viewer-zoom-controls[hidden]{display:none}.zoom-level{font-size:12px;font-variant-numeric:tabular-nums;min-width:38px}
.page-element-tools{display:flex;justify-content:flex-end;gap:2px;margin:0 0 3px;min-height:28px}
.page-element-tools .metadata-icon{width:28px;height:28px;background:transparent;color:var(--muted);font-size:16px}
.page-element-tools .page-element-edit{position:static}.page-text h2{padding-right:0}
.layout-editor{width:min(1040px,calc(100% - 24px))}
.layout-preview{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--bg);margin:8px 0 16px}
.layout-preview-cell{grid-column:var(--page-start,auto)/span var(--page-span,12);min-width:0;background:var(--sb-paper,white);border:1px solid var(--line);border-radius:4px;padding:6px;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.layout-preview-cell img{display:block;width:100%;height:auto;margin-top:4px}.layout-preview-cell p{margin:4px 0 0;white-space:pre-wrap}
.layout-row.is-target{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.compact-tools:has(#page-layout-open){flex-wrap:wrap}
.page-navigation{display:flex;gap:3px;flex:0 0 auto;margin-left:auto}.page-navigation .page-back{margin-left:0}
.reader-view .page-element-tools{display:none!important}
@media print{.page-element-tools,.viewer-zoom-controls{display:none}}

/* v41: only intentionally paired fields share a row; new fields stack. */
.page-layout{display:flex;flex-direction:column;gap:20px}
.page-block-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 12px;align-items:start;width:100%;min-width:0}
.page-element>.card{margin:0}.page-element>.card>.actions>[data-edit]{display:none}
.block-editor-controls{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}
.block-editor-controls h3{margin:0 0 8px;font-size:1em}.block-editor-controls .meta{font-size:12px;margin:8px 0}
.block-local-actions{display:flex;flex-wrap:wrap;gap:6px}.block-delete{color:#a32839!important}
.block-separate{display:flex;align-items:center;gap:6px;font-size:13px}.block-separate input{width:auto;margin:0}
.block-advanced{margin-top:16px}.block-picker{display:grid;gap:8px}.block-picker .btn{white-space:normal;height:auto;min-height:38px}
.page-element-tools button:disabled{opacity:.3}.archive-card>.page-element-tools{padding:3px 4px 0}
@media(max-width:600px){.page-block-row{gap:12px 8px}.page-element-tools{gap:0}.page-element-tools .metadata-icon{width:26px}}

/* v42: separate editors; compact direct horizontal movement controls. */
.block-editor-choice{display:grid;gap:10px}.block-editor-choice .btn{width:100%}
.block-editor-controls:first-child{border-top:0;margin-top:0;padding-top:0}
.page-element-tools{flex-wrap:wrap}.page-element-tools .metadata-icon{flex:0 0 26px}
.page-text>.body:first-child{margin-top:0}

.page-text h2:last-child{margin-bottom:0}

/* v45: appearance is local to the content surface; editing tools keep the standard style. */
.page-text[data-field-background=color]{padding:14px;border-radius:9px}
.card[data-field-background=transparent],.archive-card[data-field-background=transparent]{border-color:transparent}
.archive-card[data-field-background]>.doc-open,.archive-card[data-field-background]>.doc-open img{background:transparent}
.font-settings{margin:18px 0;border-top:1px solid var(--line);padding-top:12px}
.font-settings fieldset{min-width:0;border:1px solid var(--line);border-radius:8px;padding:12px;margin:12px 0}
.font-settings legend{font-weight:650;padding:0 6px}
.font-controls{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px}
.font-controls label{min-width:0;margin:0}.font-controls input,.font-controls select{min-width:0;max-width:100%}
.font-controls input[type=color],.background-colours input[type=color]{padding:4px;height:40px}
.font-settings .checks{margin:12px 0}.font-preview{border-top:1px solid var(--line);padding-top:10px;overflow-wrap:anywhere;white-space:pre-wrap;max-height:180px;overflow:auto}
.font-scope-content{padding:16px 24px}.font-scope-dialog{width:min(590px,calc(100% - 24px))}
.font-scope-dialog .btn{white-space:normal!important;height:auto!important;min-height:40px;line-height:1.4!important}
.background-palette{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 16px}
body .background-swatch{width:32px;height:32px!important;min-height:32px;padding:0;border:1px solid var(--sb-line,#a5b4bf);border-radius:50%}
.background-preview{padding:16px;border:1px solid var(--line);border-radius:9px;overflow-wrap:anywhere;margin-top:8px;max-height:240px;overflow:auto}
.background-preview p{margin:10px 0 0;white-space:pre-wrap}
@media(max-width:600px){.font-controls{grid-template-columns:1fr 1fr}.font-scope-content{padding:14px 16px}.font-settings fieldset{padding:10px}}

/* Presentation mode retains content, navigation, zoom and media controls. */
:is(.presentation-view,.reader-view) :is(#add,#save-project,#nav-visibility,#dts-open,[data-edit],[data-history],[data-doc],[data-upload],[data-plan-edit],[data-edit-room-areas],[data-edit-room-heights],[data-restore],[data-translation-entity],#translate-topic,.page-element-edit,.page-element-tools,.page-author-hint,#frg-new,[data-frg-edit],#portal-new-release,#portal-new-reader,[data-reader-id],#renumber-figures,#project-exchange,#new-package,#fields a[href="api.php?action=backup"]){display:none!important}
.archive-pick-date-error{color:#9f2424;margin:4px 0 8px;font-size:13px}
@media(min-width:1000px){.archive-pick-filters{grid-template-columns:1fr 2fr 1fr}.archive-pick-filters>.formgrid:nth-child(2){grid-template-columns:repeat(4,minmax(0,1fr))}.archive-pick-filters>.archive-pick-dates{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Administration shares the existing theme and button geometry. */
.admin-topic{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line,#d8e0e5)}
.admin-topic>div{min-width:0;overflow-wrap:anywhere}.admin-topic .btn{flex-shrink:0}.admin-topic p{margin:4px 0 0}
.admin-topic[hidden],#sharing-roles[hidden]{display:none}.admin-users strong{overflow-wrap:anywhere}.admin-message{padding:14px;border:1px solid currentColor;border-radius:8px}

/* The owner toggle stays available in viewing mode; pressed means editing. */
.btn.page-mode-toggle[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--sb-on-accent,#fff);box-shadow:inset 0 2px 4px #0004}
.page-toolbar{flex-wrap:wrap}
.reader-view [data-page-mode-toggle]{display:none!important}
