/* Unlike hidden, clip does not create an ancestor scroll container that
   prevents the navigation from sticking to Safari's document viewport. */
@supports (overflow: clip) {
 @media screen {
  html:has(.top-bar), body:has(.top-bar) { overflow-x:clip; }
 }
}
/* Prevent Safari's landscape text inflation of the result counter. */
.archive-result-count { -webkit-text-size-adjust:100%;text-size-adjust:100%; }
@media (orientation:landscape) and (pointer:coarse) and (max-height:600px) {
 .top-nav .play-nav-link { display:none!important; }
}
/* Keep visually hidden switches bounded by their own control. */
.admin-shell .admin-category-chip { position:relative; }
.admin-shell .admin-category-chip input { width:1px;min-width:1px;height:1px;min-height:1px;padding:0;margin:0;border:0;inset:0 auto auto 0;clip-path:inset(50%);overflow:hidden; }
.layout-split-card,.score-export-master,.ocr-toggle-card,.admin-user-active-toggle,.admin-user-kind-toggle { position:relative; }
.layout-split-card input,.score-export-master input,.ocr-toggle-card input,.admin-user-active-toggle input,.admin-user-kind-toggle input {
    width:1px;min-width:1px;height:1px;min-height:1px;padding:0;margin:0;border:0;inset:0 auto auto 0;clip-path:inset(50%);overflow:hidden;
}
.layout-split-card:focus-within,.score-export-master:focus-within,.ocr-toggle-card:focus-within { outline:2px solid #1873a6;outline-offset:2px; }
.archive-icon { display:inline-block;vertical-align:middle;flex:0 0 20px;pointer-events:none; }
button:has(>.archive-icon):not(.layout-anchor-button),a:has(>.archive-icon) { display:inline-flex;align-items:center;justify-content:center;gap:6px; }
.archive-toast { position:fixed;z-index:100000;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);width:max-content;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;color:#193747;border:1px solid #b7c9cd;border-left:4px solid #2f6f73;border-radius:6px;box-shadow:0 3px 14px #0003; }
.archive-toast.error { border-left-color:#bd3030; }
.archive-toast button { min-width:32px;min-height:32px;width:auto;padding:4px 8px;font-size:14px; }
[hidden] { display:none!important; }
.quality-select[data-quality="4"],.quality-select option[value="4"] { background:#ffe4d5;color:#842b13;border-color:#cd6545; }
.quality-select[data-quality="5"],.quality-select option[value="5"] { background:#fff0bd;color:#6f4b00;border-color:#d8a928; }
.quality-missing { color:#a12c20;font-weight:600; }
.part-report-dialog { width:min(440px,calc(100% - 32px));border:1px solid #b7c9cd;border-radius:8px;padding:20px;background:#fff;color:#193747; }
.part-report-dialog::backdrop { background:#0007; }
.part-report-row { border-top:1px solid #d2dde6;padding:12px 0; }
.part-report-row p { white-space:normal;overflow-wrap:anywhere; }
.part-report-row form { display:flex;justify-content:flex-end; }
[data-ux-pdf-status] { font-size:12px;line-height:1.3;flex-basis:100%;color:#637181;text-align:right; }
.pdf-viewer-panel [data-ux-pdf-status] { color:#d4e1ea; }
[data-ux-page-select] { min-width:145px;width:auto!important;max-width:175px;font-size:13px;height:34px;min-height:34px;padding:4px 28px 4px 10px;line-height:normal;margin-right:auto; }
.part-admin-preview-toolbar { flex-wrap:wrap; }
.part-admin-preview-toolbar [data-pdf-save-button] { min-width:100px;width:auto; }
.import-review-bar { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #d2dde6; }
.import-review-bar label { display:flex;align-items:center;gap:8px;font-size:14px; }
.import-review-bar input { width:18px;min-width:18px;height:18px; }
.import-review-filters { display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px; }
.preview-card.needs-review { border-left:3px solid #c47a23; }
.preview-card.has-duplicate-assignment { border-color:#c84b4b;border-left:4px solid #b3262d;background:#fff7f7; }
.duplicate-assignment-badge { width:max-content;max-width:100%;margin:0 0 8px;padding:4px 8px;border:1px solid #d87a7e;border-radius:4px;background:#fde7e8;color:#8f1f25;font-size:12px;font-weight:700;line-height:1.2; }
.archive-score-row .muted,.archive-score-row .score-composer,.archive-score-row .score-meta { color:#606d7d; }
.quality-select,.note-source-select { text-overflow:ellipsis; }
/* Admin controls share dimensions without changing their submit behaviour. */
.admin-shell .admin-compact-command { width:auto;min-width:100px;min-height:38px;height:38px;padding:6px 14px;font-size:14px;line-height:1.25;justify-self:start; }
.admin-shell .ux-icon-control { width:34px;min-width:34px;height:34px;min-height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:14px; }
.admin-shell .ux-icon-control::before,.admin-shell .ux-icon-control::after { content:none!important; }
.admin-shell .ux-icon-control .archive-icon { width:20px;height:20px; }
.admin-shell .admin-user-password-button { color:#2f6f73;background:#fff; }
.admin-shell .trash-button,.admin-shell .admin-instrument-delete-button { color:#fff;background:#c9232b; }
.admin-shell .checkbox-row { display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-size:14px;line-height:1.5;font-weight:500; }
.admin-shell .checkbox-row input { flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;margin:2px 0 0;padding:0;accent-color:#2f6f73; }
.admin-shell .admin-instrument-sort-input { width:76px;min-width:76px;padding:8px 6px;font-size:14px; }
.admin-shell .admin-instrument-row { grid-template-columns:76px minmax(0,1fr); }
.admin-shell .admin-instrument-create-row { grid-template-columns:76px minmax(0,1fr) auto; }
.admin-instrument-search { position:relative;max-width:400px;margin-bottom:16px; }
.admin-instrument-search input { width:100%;height:38px;min-height:38px;padding:6px 38px 6px 10px;font-size:14px; }
.admin-instrument-search input::-webkit-search-cancel-button { -webkit-appearance:none; }
.admin-instrument-search button { position:absolute;right:3px;top:3px;width:32px;min-width:32px;height:32px;padding:0;background:transparent;color:#536575;border:0; }
.admin-shell .admin-physical-archive-actions { display:flex;flex-direction:row;flex-wrap:wrap;gap:8px; }
.admin-shell .admin-physical-archive-head { display:block; }
.admin-shell .admin-physical-archive-head .admin-physical-archive-actions { width:100%; }
.admin-shell .admin-physical-archive-actions>.button-link,.admin-shell .admin-physical-archive-actions>button { width:auto;flex:0 0 auto;height:38px;font-size:14px; }
.admin-shell .admin-physical-archive-actions>.admin-icon-action { width:38px; }
@media(max-width:700px) {
 .admin-shell .admin-poor-parts-list a { grid-template-columns:minmax(0,1fr);gap:4px; }
 .admin-shell .admin-poor-parts-list strong,.admin-shell .admin-poor-parts-list span { min-width:0;overflow-wrap:anywhere; }
 .admin-shell .admin-poor-parts-list span { justify-self:start;text-align:left;font-weight:500; }
 .admin-shell .admin-manage-list { max-height:none!important;height:auto!important;overflow:visible!important; }
 .admin-shell .admin-physical-archive-actions { gap:6px; }
 .admin-shell .admin-physical-archive-group-button { padding:6px 10px; }
 .admin-shell .admin-physical-archive-search { grid-template-columns:82px minmax(0,1fr) 30px auto; }
 .admin-shell .admin-physical-archive-search input { padding-left:7px;padding-right:7px;font-size:12px; }
 .top-bar { display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:start;gap:6px; }
 .top-bar .top-nav { min-width:0;gap:4px;flex-wrap:wrap; }
 .top-bar .top-nav a,
.top-nav #musikarchiv-app-offline { font-size:13px;padding:0 8px;min-height:34px; }
 .top-bar .top-nav .home-link { width:34px;min-width:34px;padding:0; }
 .top-bar .user-chip { margin:0;justify-self:end; }
 .top-bar .user-chip button { width:34px;height:34px;min-height:34px; }
 .pdf-meta-row { flex-wrap:wrap; }
 .pdf-meta-row .part-picker { flex:1 1 100%;width:100%;display:flex;flex-wrap:nowrap;min-width:0; }
 .pdf-meta-row .part-picker select:first-child { flex:1 1 55%;width:0;min-width:0; }
 .pdf-meta-row .part-picker .voice-select { flex:1 1 45%;width:0;min-width:100px;max-width:none; }
 .pdf-meta-row .quality-form { width:100%;display:grid;grid-template-columns:1fr 1fr; }
 .pdf-meta-row .quality-form select { width:100%;min-width:0;font-size:13px; }
 .queued-pdf-editor-page { padding:12px;gap:10px; }
 .queued-pdf-editor-page .eyebrow { display:none; }
 .queued-pdf-editor-page h1 { font-size:22px;margin:0; }
 .queued-pdf-editor-page .section-head { display:flex;flex-wrap:nowrap;align-items:start;gap:10px; }
 .queued-pdf-editor-page .section-head p { margin:6px 0;font-size:13px; }
 .queued-pdf-editor-page .section-head>a { width:auto;min-width:65px;font-size:13px;padding:6px 10px; }
 .queued-pdf-editor-grid { display:flex;flex-direction:column;gap:10px; }
 .queued-pdf-editor-grid .queued-pdf-preview-column { order:0;width:100%; }
 .queued-pdf-editor-grid .queued-pdf-controls-column { order:1;width:100%; }
 .queued-pdf-editor-grid .part-pdf-page-grid-wrap { height:42dvh;max-height:42dvh;overflow:auto; }
 .queued-pdf-editor-grid .part-pdf-page-grid { grid-template-columns:1fr!important; }
 .queued-pdf-editor-grid .part-admin-preview-toolbar { position:sticky;top:0;z-index:3;background:#fff;padding:6px 0;gap:5px; }
 .queued-pdf-controls-column .part-pdf-sidepanel { padding:10px; }
 .queued-pdf-controls-column .part-pdf-layout-controls { display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px; }
 .queued-pdf-controls-column .part-pdf-anchor-grid { grid-row:span 2; }
 .queued-pdf-controls-column .part-pdf-scale-block { min-width:0; }
 .queued-pdf-controls-column .part-pdf-rotation-row { display:flex;flex-wrap:wrap;gap:5px; }
 .queued-pdf-controls-column .part-pdf-toolbar,.queued-pdf-controls-column .part-pdf-apply-all-toggle { grid-column:1/-1; }
 .layout-rotate-button,.layout-anchor-button { min-width:32px;min-height:32px; }
 [data-setlist-sort-toggle] { min-width:36px;min-height:36px; }
 .score-export-actions { position:sticky;bottom:0;z-index:4;background:#fff;border-top:1px solid #d2dde6;padding:10px 0; }
}

/* Horizontal menu; home remains fixed at the left edge. */
.top-bar {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;flex-wrap:nowrap;}
.top-bar .top-nav {display:flex;min-width:0;max-width:100%;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;}
.top-bar .top-nav::-webkit-scrollbar {display:none;}
.top-bar .top-nav>a {flex:0 0 auto;white-space:nowrap;}
.top-bar .top-nav .home-link {position:sticky;left:0;z-index:3;background:#f5f6f7;box-shadow:6px 0 0 var(--bg);flex-shrink:0;}
.top-bar .top-nav .home-link.active,.top-bar .top-nav .home-link:hover {background:#1652aa;}
.top-bar .user-chip {margin:0;justify-self:end;}
/* Compatibility with already-installed apps that still inject the old timer. */
html.archive-account-hidden .top-nav a[href*="view=profile"],
html .top-nav a[href*="view=profile"] {display:inline-grid!important;width:auto!important;min-width:0!important;max-width:none!important;opacity:1!important;pointer-events:auto!important;}
html.archive-account-hidden #logoutForm,html #logoutForm {display:block!important;width:auto!important;min-width:0!important;max-width:none!important;opacity:1!important;pointer-events:auto!important;}

/* Offline is available to authorized app admins in either orientation. */
html[data-archive-offline-admin] .top-nav #ios-offline-menu,
html[data-archive-offline-admin] .top-nav #musikarchiv-app-offline {display:inline-grid!important;width:auto!important;min-width:0!important;max-width:none!important;white-space:nowrap;}
html:not([data-archive-offline-admin]) .top-nav #ios-offline-menu,
html:not([data-archive-offline-admin]) .top-nav #musikarchiv-app-offline {display:none!important;}

/* Entire navigation scrolls together, including Home. */
.top-bar .top-nav .home-link {position:static;left:auto;z-index:auto;box-shadow:none;}

/* Fixed Home and Logout flank an independently scrolling navigation. */
.top-bar {grid-template-columns:38px minmax(0,1fr) auto;}
.top-bar>.home-link {display:inline-grid;width:38px;min-width:38px;min-height:38px;align-items:center;justify-content:center;padding:0;border:1px solid rgba(19,54,83,.16);border-radius:999px;background:#f5f6f7;color:#274962;text-decoration:none;font-size:1.15rem;line-height:1;}
.top-bar>.home-link.active,.top-bar>.home-link:hover {background:#1652aa;border-color:#1a5bb8;color:#fff;}
@media(max-width:700px){.top-bar{grid-template-columns:34px minmax(0,1fr) 34px;}.top-bar>.home-link{width:34px;min-width:34px;min-height:34px;}}

/* Native Android Offline uses the same pill style as navigation links. */
.top-bar .top-nav #musikarchiv-app-offline { font-family:inherit;line-height:inherit;letter-spacing:normal;text-transform:none;font-weight:750;flex:0 0 auto;margin:0!important;box-shadow:none;cursor:pointer; }
