/* 2026-09-28 · Focused navigation refinement. Keep the existing black/gold brand.
   Deliberately scoped: no generation, billing, admin or form component overrides. */
:root {
  --nav-refine-gold: #e5c982;
  --nav-refine-ink: #efe7d3;
  --nav-refine-muted: #b2a995;
  --nav-refine-line: rgba(223, 196, 132, .16);
}
.studio-nav-icon { width:16px; height:16px; flex:none; color:currentColor; overflow:visible; }
nav.tabs.sidebar .studio-shortcuts {
  flex:none; position:relative; min-width:0; padding:10px; margin:0 0 9px;
  border:1px solid var(--nav-refine-line); border-radius:16px;
  background:radial-gradient(240px 160px at 0 0, rgba(207,171,91,.065), transparent 75%), linear-gradient(150deg,#1b1a17,#121313 78%);
  box-shadow:inset 0 1px 0 rgba(255,246,220,.055), 0 6px 20px rgba(0,0,0,.12);
}
.studio-shortcuts::before {
  content:""; position:absolute; top:-1px; left:20px; right:20px; height:1px; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(225,199,135,.3),transparent);
}
nav.tabs.sidebar .studio-search-entry {
  display:flex; align-items:center; gap:8px; min-height:38px; width:100%; padding:0 10px;
  border:1px solid rgba(223,196,132,.22); border-radius:10px;
  background:linear-gradient(180deg,#111212,#151513); box-shadow:inset 0 1px 3px #0004,0 1px 0 #ffffff06;
  color:#c9be9e; font-family:inherit; font-size:12px; line-height:1.3; font-weight:500;
  transition:border-color .18s, background .18s, box-shadow .18s;
}
.studio-search-entry > .studio-nav-icon { width:15px; height:15px; color:#bba365; }
.studio-search-label { flex:1; min-width:0; text-align:left; white-space:nowrap; }
.studio-search-keys { display:flex; flex:none; gap:3px; opacity:.85; }
.studio-search-keys kbd, .studio-search-hint kbd {
  display:inline-flex; align-items:center; justify-content:center; height:19px; min-width:17px; padding:0 4px;
  border:1px solid #ffffff14; border-bottom-color:#ffffff24; border-radius:4px;
  background:#ffffff05; color:#b8b09e; font-family:inherit; font-size:10px; font-weight:500; line-height:1;
}
nav.tabs.sidebar .studio-search-entry:hover { background:#1a1a16; border-color:#9c8349; color:var(--nav-refine-ink); }
nav.tabs.sidebar .studio-search-entry:focus-visible { border-color:#e5c982; box-shadow:0 0 0 3px #e5c98216; }
nav.tabs.sidebar .studio-mini-heading {
  min-height:23px; gap:4px; margin:9px 0 4px; letter-spacing:.2px; color:var(--nav-refine-muted);
}
.studio-favorite-heading { display:flex; align-items:center; gap:5px; font-size:11px; font-weight:600; white-space:nowrap; }
.studio-favorite-heading .studio-nav-icon { width:12px; height:12px; color:#bba365; }
nav.tabs.sidebar .studio-favorite-toggle {
  display:inline-flex; align-items:center; gap:3px; min-height:25px; padding:3px 4px; border-radius:6px;
  font-family:inherit; font-size:10px; font-weight:500; line-height:1.4; color:#c8b77f; white-space:nowrap; text-decoration:none;
}
.studio-favorite-toggle .studio-nav-icon { width:11px; height:11px; }
nav.tabs.sidebar .studio-favorite-toggle:hover { background:#d4b46a12!important; color:#f0dba3; text-decoration:none; }
nav.tabs.sidebar .studio-favorite-toggle.is-saved { color:#b8ab8b; }
nav.tabs.sidebar .studio-chips { display:flex; flex-direction:column; gap:4px; }
nav.tabs.sidebar .studio-shortcut-link {
  position:relative; display:flex; align-items:center; gap:8px; width:100%; min-width:0; min-height:34px;
  padding:4px 7px; margin:0; text-align:left; border:1px solid transparent; border-radius:9px;
  background:transparent; color:#c5beae; font-family:inherit; font-size:11.5px; line-height:1.4; font-weight:500;
  overflow:hidden; cursor:pointer; transition:background .16s, border-color .16s, color .16s;
}
.studio-shortcut-icon {
  display:inline-flex; align-items:center; justify-content:center; width:25px; height:25px; flex:none;
  background:#ffffff04; border:1px solid #ffffff08; border-radius:7px; color:#b9a776;
}
.studio-shortcut-icon .studio-nav-icon { width:14px; height:14px; }
.studio-shortcut-label { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.studio-shortcut-arrow { width:12px; height:12px; color:#7e7766; opacity:.65; transition:transform .16s, opacity .16s; }
nav.tabs.sidebar .studio-shortcut-link:hover { background:rgba(227,200,131,.055); border-color:rgba(227,200,131,.13); color:#f2e4bf; }
.studio-shortcut-link:hover .studio-shortcut-arrow { opacity:1; transform:translateX(1px); }
nav.tabs.sidebar .studio-shortcut-link.is-current {
  background:linear-gradient(105deg,rgba(222,187,105,.15),rgba(222,187,105,.035));
  border-color:rgba(226,195,125,.21); color:#f1ddb0; box-shadow:inset 0 1px 0 #fce7b306;
}
.studio-shortcut-link.is-current::before {
  content:""; position:absolute; left:0; top:10px; bottom:10px; width:2px; border-radius:2px;
  background:linear-gradient(#f1dfac,#b4974f);
}
.studio-shortcut-link.is-current .studio-shortcut-icon { background:#d5b26712; border-color:#d5b2671c; color:#e5c982; }
.studio-shortcut-link.is-current .studio-shortcut-arrow { color:#e5c982; opacity:1; }
nav.tabs.sidebar .studio-recent { margin-top:8px; padding-top:5px; border-top:1px solid #e3c88312; color:#aca38f; }
.studio-recent summary {
  display:flex; align-items:center; gap:7px; min-height:28px; padding:0 5px; border-radius:7px;
  list-style:none; font-size:11px; line-height:1.4; transition:background .16s, color .16s;
}
.studio-recent summary::-webkit-details-marker { display:none; }
.studio-recent summary:hover { background:#d6b7790a; color:#e8dab4; }
.studio-recent summary > .studio-nav-icon { width:13px; height:13px; color:#a9976e; }
.studio-recent-label { flex:1; }
.studio-recent-count { font-size:10px; font-variant-numeric:tabular-nums; color:#9f967f; }
.studio-recent summary .studio-recent-arrow { width:12px; height:12px; transition:transform .18s; }
.studio-recent[open] summary .studio-recent-arrow { transform:rotate(90deg); }
.studio-recent-list { display:flex; flex-direction:column; gap:3px; padding-top:4px; }
nav.tabs.sidebar .studio-recent-link { min-height:32px; padding:3px 6px; font-size:11px; }
.studio-recent-link .studio-shortcut-icon { width:22px; height:22px; background:transparent; border-color:transparent; }
nav.tabs.sidebar .studio-shortcuts .studio-note { margin:5px 3px; font-size:11px; color:#afa58e; }
/* A quieter scroll rail and consistent navigation selection; no layout rewrite. */
nav.tabs.sidebar .sb-scroll { scrollbar-width:thin; scrollbar-color:#655c4338 transparent; }
nav.tabs.sidebar .sb-scroll:hover { scrollbar-color:#93815970 transparent; }
nav.tabs.sidebar .sb-scroll::-webkit-scrollbar { width:4px; }
nav.tabs.sidebar .sb-scroll::-webkit-scrollbar-thumb { background:#76674955; border-radius:6px; }
nav.tabs.sidebar .sb-scroll::-webkit-scrollbar-track { background:transparent; }
nav.tabs.sidebar .sb-scroll::-webkit-scrollbar-button { width:0; height:0; display:none; }
nav.tabs.sidebar .p-nav-mod.active {
  background:linear-gradient(108deg,rgba(214,178,86,.16),rgba(214,178,86,.035) 80%)!important;
  border-color:rgba(215,188,121,.27)!important;
  box-shadow:inset 0 1px 0 #fff1c20b,0 5px 16px #0002!important;
}
nav.tabs.sidebar .p-nav-mod .pn-count { border-radius:7px; min-width:23px; height:21px; padding:0 5px; font-weight:600; font-variant-numeric:tabular-nums; }
nav.tabs.sidebar .studio-shortcuts :focus-visible,
nav.tabs.sidebar .p-nav-mod:focus-visible,
#studioUtilityDock button:focus-visible { outline:2px solid #e7ca82; outline-offset:2px; }
/* Search is the same functional dialog, with the same material/spacing as the rail. */
.studio-dialog.studio-search-dialog {
  width:min(640px,calc(100vw - 32px)); max-height:84vh; padding:22px; border-radius:18px;
  border-color:#d9bb714d; background:radial-gradient(560px 180px at 10% 0,#d0ac6210,transparent),#151514;
  box-shadow:0 28px 100px #000b,inset 0 1px 0 #ffefc80f; color:#ece0c5;
}
.studio-search-dialog .studio-section-head h2 { font-size:18px; letter-spacing:.2px; }
.studio-search-dialog .studio-section-head .studio-text-btn { color:#b9ad92; font-size:11px; border-radius:6px; }
.studio-search-field { position:relative; display:flex; align-items:center; margin:18px 0 10px; }
.studio-search-field > .studio-nav-icon { position:absolute; left:14px; color:#baa572; pointer-events:none; }
.studio-search-dialog .studio-search-field input[type=search] {
  margin:0; padding:13px 14px 13px 40px; border:1px solid #d4b36640; border-radius:11px;
  color:#eee4cd; background:#0c0d0d; font-size:13px;
}
.studio-search-dialog .studio-search-field input::placeholder { color:#948d7d; }
.studio-search-dialog .studio-search-field input:focus { border-color:#d5b978!important; box-shadow:0 0 0 3px #d5b9780b!important; }
.studio-search-dialog :focus-visible { outline:2px solid #e7ca82!important; outline-offset:2px; }
.studio-search-dialog .studio-search-results { max-height:min(48vh,420px); padding:2px 4px 2px 0; scrollbar-width:thin; scrollbar-color:#8c795042 transparent; }
.studio-search-dialog .studio-search-result { gap:0; margin:3px 0; padding:0 6px 0 10px; border:1px solid transparent; border-radius:10px; }
.studio-search-dialog .studio-search-result:hover,.studio-search-dialog .studio-search-result:focus-within { border-color:#dec17e23; background:#dec17e0a; }
.studio-result-icon { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:9px; border:1px solid #dcc48d14; background:#dcc48d07; color:#c7b17c; flex:none; }
.studio-search-dialog .studio-search-jump { gap:3px; padding:10px 12px; font-family:inherit; font-size:13px; }
.studio-search-dialog .studio-search-jump small { font-size:11px; color:#aaa18d; }
.studio-search-dialog .studio-star { display:inline-flex; align-items:center; justify-content:center; color:#958768; }
.studio-search-dialog .studio-star:hover { color:#eed598; background:#dec17e12; }
.studio-search-dialog .studio-star[aria-pressed=true] { color:#dfc280; background:#dec17e0a; }
.studio-search-dialog .studio-star[aria-pressed=true] .studio-nav-icon { fill:#dfc28026; }
.studio-search-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; padding-top:13px; border-top:1px solid #dfc78c19; color:#ada38d; font-size:11px; }
.studio-search-hint { display:flex; align-items:center; gap:6px; }
.studio-search-hint kbd:nth-of-type(2) { margin-left:7px; }
/* One floating utility dock, retaining both original IDs and click handlers. */
#studioUtilityDock {
  position:fixed; z-index:9998; right:20px; bottom:max(18px,env(safe-area-inset-bottom));
  display:flex; align-items:center; gap:4px; max-width:calc(100vw - 24px); padding:5px;
  border:1px solid rgba(225,195,121,.28); border-radius:16px;
  background:linear-gradient(135deg,rgba(37,34,27,.98),rgba(19,20,19,.98));
  box-shadow:inset 0 1px 0 #fff0c511,0 12px 36px #0006,0 2px 6px #0004;
  font-family:inherit; isolation:isolate;
}
#studioUtilityDock #chatcutFab,#studioUtilityDock #helpFab {
  position:relative!important; right:auto!important; bottom:auto!important; z-index:auto!important;
  display:flex; align-items:center; gap:9px; min-height:46px; margin:0; padding:6px 10px!important;
  border:1px solid transparent!important; border-radius:11px!important; background:transparent!important;
  box-shadow:none!important; color:#e6dbbe!important; text-align:left; font-family:inherit;
  font-size:12px!important; font-weight:500; cursor:pointer;
  transition:background .18s,border-color .18s,transform .18s;
}
#studioUtilityDock #chatcutFab:hover,#studioUtilityDock #helpFab:hover,
#studioUtilityDock button[aria-expanded=true] { background:rgba(224,195,126,.08)!important; border-color:#dec17e20!important; }
#studioUtilityDock button:active { transform:translateY(1px); }
.studio-dock-icon { display:flex; align-items:center; justify-content:center; width:31px; height:31px; flex:none; border-radius:9px; }
#chatcutFab .studio-dock-icon { color:#3b301a; background:linear-gradient(140deg,#ecdbab,#c4a35a); box-shadow:inset 0 1px 0 #fff7d590,0 3px 9px #0002; }
#helpFab .studio-dock-icon { color:#cabb94; background:#d4bc7910; border:1px solid #d4bc7926; }
#studioUtilityDock .studio-dock-icon .ico { width:16px!important; height:16px!important; margin:0!important; color:inherit!important; filter:none!important; }
.studio-dock-copy { display:flex; flex-direction:column; gap:3px; white-space:nowrap; }
.studio-dock-copy strong { font-size:12px; line-height:1.15; font-weight:650; letter-spacing:.1px; color:#ece1c6; }
.studio-dock-copy small { font-size:10px; line-height:1.15; font-weight:400; color:#b1a68c; }
.studio-dock-divider { width:1px; height:25px; background:linear-gradient(transparent,#d3b97538,transparent); flex:none; }
.studio-dock-arrow { width:13px; height:13px; margin-left:3px; color:#b4a278; }
#helpPanel { bottom:88px; border-radius:16px; border-color:#d6b77940; box-shadow:0 18px 54px #0008; }
body[data-theme=gold] main { padding-bottom:100px!important; }
@media (max-width:1280px) {
  nav.tabs.sidebar .studio-shortcuts { padding:9px; }
  nav.tabs.sidebar .studio-shortcut-link { gap:6px; padding-left:5px; padding-right:5px; font-size:11px; }
  nav.tabs.sidebar .studio-search-entry { padding:0 8px; gap:6px; }
  .studio-search-keys { gap:2px; }
  .studio-search-keys kbd { padding:0 3px; }
}
@media (max-width:700px) {
  #studioUtilityDock { right:12px; bottom:max(12px,env(safe-area-inset-bottom)); padding:4px; border-radius:14px; }
  #studioUtilityDock #chatcutFab,#studioUtilityDock #helpFab { min-height:42px; gap:7px; padding:5px 8px!important; }
  #helpPanel { right:12px; bottom:76px; width:340px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 145px); }
  .studio-search-dialog { padding:18px; }
  .studio-search-dialog .studio-search-field input[type=search] { font-size:12px; }
}
@media (max-width:400px) {
  #studioUtilityDock .studio-dock-arrow { display:none; }
  .studio-search-footer { font-size:10px; gap:6px; }
  .studio-search-hint { gap:4px; }
}
body.studio-calm .studio-shortcuts *,body.studio-calm #studioUtilityDock *,body.studio-calm .studio-search-dialog * { transition:none!important; }
@media (prefers-reduced-motion:reduce) {
  .studio-shortcuts *,.studio-search-dialog *,#studioUtilityDock *,nav.tabs.sidebar .p-nav-mod { transition:none!important; }
}
