/* The phpBB public-shell pattern, using the existing @dkvirtual/ui theme. */
.dkv-library-shell { width:min(calc(100% - 64px),var(--shell-max)); margin-inline:auto; box-sizing:border-box; }
.dkv-bookstack #header.dkv-library-masthead { display:block; height:auto; min-height:0; padding:0; flex:none; background:var(--shell-bg); border-bottom:1px solid rgb(255 255 255 / 12%); box-shadow:none; z-index:30; }
.dkv-library-brand { display:flex; align-items:center; gap:22px; color:var(--white)!important; font:700 18px var(--font-display); white-space:nowrap; }
.dkv-library-brand:hover { color:var(--white); text-decoration:none; }
.dkv-library-brand img { display:block; width:214px; height:37px; object-fit:contain; }
.dkv-library-brand>span { border-left:1px solid var(--shell-control-border); padding-left:22px; }
.dkv-masthead-actions { display:flex; align-items:center; gap:22px; flex-shrink:0; }
.dkv-bookstack .dkv-crewnet-link { display:inline-flex; align-items:center; gap:.35rem; min-height:44px; box-sizing:border-box; padding:.55rem .75rem; border:1px solid rgb(255 255 255 / 18%); border-radius:var(--radius-sm); color:var(--white); font:700 .87rem/1.6 var(--font-display); letter-spacing:.015em; white-space:nowrap; text-decoration:none; }
.dkv-crewnet-accent { color:var(--brand-accent); }
.dkv-crewnet-link .svg-icon { width:14px; height:14px; margin:0; color:rgb(255 255 255 / 74%); }
.dkv-bookstack .dkv-crewnet-link:hover { background:rgb(255 255 255 / 8%); color:var(--white); }
.dkv-bookstack #header.dkv-library-masthead .dropdown-container { position:relative; padding:0 0 0 22px; border-left:1px solid var(--shell-control-border); margin:0; }
.dkv-bookstack #header.dkv-library-masthead .user-name { display:flex!important; align-items:center; justify-content:center; min-height:44px; gap:0; padding:0; margin:0; background:transparent; color:var(--white); border:0; border-radius:50%; }
.dkv-bookstack #header.dkv-library-masthead .user-name>.svg-icon { display:none; }
.dkv-bookstack #header.dkv-library-masthead .user-name :is(.avatar,.dkv-avatar-initials) { display:grid; place-items:center; box-sizing:border-box; width:44px; height:44px; padding:0; margin:0; border:2px solid var(--brand-accent); border-radius:50%; color:var(--white); background:var(--shell-bg); font:400 16px/1 var(--font-body); }
.dkv-bookstack #header.dkv-library-masthead .dropdown-menu { display:none!important; position:absolute; right:0; left:auto; top:calc(100% + 10px); min-width:230px; max-width:calc(100vw - 32px); padding:8px; margin:0; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface-card); box-shadow:var(--shadow-md); }
.dkv-bookstack #header.dkv-library-masthead .user-name[aria-expanded=true]+.dropdown-menu { display:block!important; }
.dkv-bookstack #header.dkv-library-masthead .dropdown-menu :is(a,button) { min-height:44px; font-size:14px; }
.dkv-bookstack .dkv-masthead-login { padding:8px 16px; border:1px solid var(--shell-control-border); border-radius:var(--radius-md); color:var(--white); font-size:14px; }

.dkv-library-navbar { background:var(--surface-card); border-bottom:1px solid var(--border); flex:none; position:relative; z-index:25; }
.dkv-library-navbar-inner { display:flex; align-items:center; gap:24px; min-height:56px; }
.dkv-library-desktop-nav { display:flex; align-items:stretch; align-self:stretch; gap:32px; margin-right:auto; }
.dkv-library-desktop-nav>a { display:flex; align-items:center; padding:0 6px; border-bottom:3px solid transparent; padding-top:3px; font-size:14px; color:var(--text-primary); text-decoration:none; white-space:nowrap; }
.dkv-library-desktop-nav>a[aria-current] { border-bottom-color:var(--brand-accent); font-weight:700; }
.dkv-library-desktop-nav>a:hover { color:var(--text-primary); background:var(--surface-muted); }
.dkv-library-navbar .dkv-theme-form { margin-left:0; }
.dkv-library-navbar .dkv-theme-toggle { margin:0; flex-shrink:0; }
.dkv-library-nav-caption { font-size:14px; color:var(--text-secondary); margin-right:auto; }
.dkv-library-nav-search { width:300px; flex:0 1 300px; min-width:160px; }
.dkv-library-nav-search .search-box { position:relative; width:100%; max-width:none; margin:0; }
.dkv-library-nav-search .search-box input { box-sizing:border-box; height:40px; width:100%; max-width:none; margin:0; padding:8px 12px 8px 40px; border:1px solid var(--border); border-radius:6px; background:var(--surface-card); color:var(--text-primary); font:400 14px var(--font-body); }
.dkv-library-nav-search .search-box input::placeholder { color:var(--text-secondary); opacity:1; }
.dkv-library-nav-search #header-search-box-button { color:var(--text-primary); left:10px; top:0; height:40px; }
.dkv-library-nav-search .global-search-suggestions { top:46px; width:max(100%,400px); max-width:calc(100vw - 64px); right:0; left:auto; color:var(--text-primary); }
.dkv-library-nav-search .global-search-suggestions button { color:var(--text-primary); }
.dkv-library-nav-search .search-box.search-active:focus-within .global-search-suggestions { display:block; }
.dkv-library-mobile-nav,.dkv-mobile-library-home,.dkv-mobile-search { display:none; }

/* Library-wide navigation lives in the bar; content-specific reading rails remain. */
.dkv-library-hub-content { padding-block:38px 32px; }
.dkv-library-hub .dkv-library-heading { align-items:flex-start; margin-bottom:32px; }
.dkv-library-hub .dkv-library-heading>.button { margin-top:0; }
.dkv-library-hub .dkv-book-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dkv-library-hub .dkv-editor-tools { margin-top:32px; }
@media(min-width:901px) {
 .dkv-reader-layout,.dkv-contents-inner { min-height:calc(100vh - 194px); }
}
@media(min-width:901px) and (max-width:1100px) {
 .dkv-library-desktop-nav { gap:20px; }
 .dkv-library-navbar-inner { gap:20px; }
 .dkv-library-nav-search { flex-basis:240px; }
}
@media(max-width:900px) {
 .dkv-library-desktop-nav,.dkv-library-nav-search { display:none; }
 .dkv-library-navbar-inner { min-height:52px; gap:20px; }
 .dkv-library-mobile-nav { display:block; position:relative; }
 .dkv-library-mobile-nav>summary { display:flex; align-items:center; gap:8px; min-height:44px; list-style:none; cursor:pointer; font-size:14px; border-radius:4px; }
 .dkv-library-mobile-nav>summary::-webkit-details-marker { display:none; }
 .dkv-library-mobile-nav>summary .svg-icon { margin:0; }
 .dkv-mobile-library-home { display:block; font-size:14px; font-weight:700; margin-right:auto; }
 .dkv-mobile-search { display:grid; place-items:center; width:40px; height:40px; border-radius:6px; }
 .dkv-mobile-search .svg-icon { margin:0; }
 .dkv-mobile-search:hover { background:var(--surface-muted); }
 .dkv-library-menu-panel { position:absolute; z-index:40; left:0; top:calc(100% + 5px); width:240px; max-width:calc(100vw - 32px); padding:8px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--surface-card); box-shadow:var(--shadow-md); }
 .dkv-library-menu-panel>a { display:flex; align-items:center; justify-content:space-between; box-sizing:border-box; min-height:44px; padding:10px 12px; font-size:14px; color:var(--text-primary); border-radius:4px; }
 .dkv-library-menu-panel>a[aria-current] { background:var(--surface-muted); font-weight:700; }
 .dkv-library-menu-panel>a:hover { background:var(--surface-muted); text-decoration:none; }
 .dkv-library-hub .dkv-book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .dkv-library-shell { width:calc(100% - 32px); }
 .dkv-library-masthead .dkv-public-masthead__inner { min-height:64px; gap:12px; }
 .dkv-library-brand img { width:170px; height:31px; }
 .dkv-library-brand>span,.dkv-masthead-actions .dkv-crewnet-link { display:none; }
 .dkv-bookstack #header.dkv-library-masthead .dropdown-container { padding:0; border:0; }
 .dkv-bookstack #header.dkv-library-masthead .user-name :is(.avatar,.dkv-avatar-initials) { width:36px; height:36px; font-size:13px; }
 .dkv-library-navbar-inner { gap:16px; }
 .dkv-library-hub-content { padding-block:26px 24px; }
 .dkv-library-hub .dkv-library-heading>.button { margin-top:20px; }
 .dkv-library-hub .dkv-library-heading { margin-bottom:24px; }
}
@media(max-width:600px) { .dkv-library-hub .dkv-book-grid { grid-template-columns:minmax(0,1fr); } }
@media print { .dkv-library-masthead,.dkv-library-navbar { display:none!important; } }
.dkv-library-nav-search .global-search-suggestions { z-index:50; margin:0; padding-top:8px; transform:none; opacity:1; }
.dkv-library-nav-search .global-search-loading { position:static; width:auto; }
/* Native dropdown positioning starts at the trigger; the masthead menu opens below it. */
.dkv-bookstack #header.dkv-library-masthead .dropdown-menu { top:calc(100% + 10px)!important; bottom:auto!important; max-height:calc(100dvh - 96px)!important; overflow:auto; }
:root.dark-mode .dkv-bookstack :is(.dkv-library-nav-search .search-box input,.dkv-pilot-search-form input) { background:var(--surface-card)!important; color:var(--text-primary)!important; border-color:var(--border)!important; }
