/* Shared screen chrome. Fachapps retain their actions, access checks and content. */
@media screen {
  [data-studio-shell] { --studio-header-height:80px; display:block; min-height:100dvh; }
  [data-studio-shell][hidden],.studio-global-header [hidden] { display:none!important; }
  [data-studio-shell] > :not([data-studio-nav]) { min-width:0; }
  [data-studio-shell] > main { width:100%; max-width:none; margin:0; padding:0; }
  [data-studio-shell] > [data-studio-nav] { display:none; }
  [data-studio-shell] > .studio-global-header { position:relative; z-index:40; display:flex; align-items:center; flex-wrap:wrap; gap:12px; height:auto; min-height:72px; padding:12px 28px; border-bottom:1px solid var(--line); background:var(--surface); }
  .studio-global-header .studio-brand { display:block; width:176px; max-width:45vw; margin-right:auto; padding:6px; border-radius:8px; background:#fff; }
  .studio-global-header .studio-brand svg { display:block; width:100%; height:auto; max-height:44px; margin:0; padding:0; aspect-ratio:1808/420; }
  .studio-global-header :is(.studio-home,summary) { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--text); text-decoration:none; font:600 13px/1.4 var(--body); cursor:pointer; }
  .studio-global-header :is(.studio-home,summary):hover { background:var(--accent-soft); color:var(--accent); }
  .studio-global-header > .studio-navigation { position:static; flex:0 0 44px; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
  .studio-global-header .studio-navigation > summary { list-style:none; width:44px; padding:10px; }
  .studio-navigation > summary svg { display:block; flex:none; width:22px; height:22px; }
  .studio-navigation > summary::-webkit-details-marker { display:none; }
  .studio-navigation[open] > summary { color:var(--accent); background:var(--accent-soft); }
  [data-studio-shell] .studio-navigation [data-studio-nav] { position:absolute; inset:calc(100% + 8px) auto auto 20px; width:min(360px,calc(100vw - 40px)); height:auto; max-height:65dvh; min-height:0; overflow:auto; display:flex; flex-direction:column; gap:16px; padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
  [data-studio-shell] .studio-navigation:not([open]) [data-studio-nav] { display:none; }
  [data-studio-nav] :is(.portal-brand,.brand-logo,.original-logo,.wb-logo,.dms-logo) { display:block; width:100%; max-width:208px; height:auto; aspect-ratio:1808/420; flex-shrink:0; margin:0; padding:8px 0; border-radius:8px; background:#fff; }
  [data-studio-nav] .portal-brand svg { display:block; width:100%; height:auto; aspect-ratio:1808/420; }
  [data-studio-shell] [data-studio-nav] nav { display:grid; gap:6px; margin:0; }
  [data-studio-shell] [data-studio-nav] nav :is(button,a) { display:flex; align-items:center; justify-content:flex-start; gap:10px; width:100%; min-height:44px; margin:0; padding:10px 12px; border:1px solid transparent; border-radius:10px; background:transparent; color:var(--muted); text-align:left; text-decoration:none; font:600 13px/1.45 var(--body); white-space:normal; overflow-wrap:anywhere; }
  [data-studio-shell] [data-studio-nav] nav :is(button,a):hover { color:var(--text); background:var(--bg); }
  [data-studio-shell] [data-studio-nav] nav :is([aria-current=page],[aria-current=step],[aria-pressed=true],.active) { color:var(--accent); background:var(--accent-soft); border-color:transparent; box-shadow:inset 3px 0 var(--accent); }
  [data-studio-shell] [data-studio-header] { position:relative; top:auto; display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; height:auto; min-height:var(--studio-header-height); margin:0; padding:16px 28px; border:0; border-bottom:1px solid var(--line); background:var(--surface); color:var(--text); }
  [data-studio-header] > * { min-width:0; max-width:100%; overflow-wrap:anywhere; }
  [data-studio-header] :is(.actions,.portal-header-actions,.wb-header-actions) { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
  [data-studio-header] .portal-context-group { gap:16px; flex:1 1 320px; }
  [data-studio-header] .tenant-control { flex:1 1 140px; max-width:280px; min-width:0; }
  [data-studio-header] .tenant-control strong { font-size:14px; overflow-wrap:anywhere; }
  [data-studio-header] .portal-header-actions { margin-left:auto; }
  [data-studio-shell] :is(.button,.portal-button) { min-height:44px; border-radius:10px; font-size:13px; gap:8px; }
  [data-studio-shell] :is(.button,.portal-button):disabled { cursor:default; }
  [data-studio-shell] :is(button,a,summary):focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
  .studio-nav-group { display:grid; gap:6px; }
  .studio-nav-group + .studio-nav-group { margin-top:18px; }
  .studio-nav-label { margin:0 0 5px; padding-inline:12px; color:var(--muted); font:600 10px/1.5 var(--body); letter-spacing:.09em; text-transform:uppercase; }
  [data-studio-nav] .portal-rail-note { margin-top:auto; padding-top:24px; }
  [data-studio-shell] .studio-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow); }
  [data-studio-shell] .studio-card > h2 { margin:0 0 16px; font-size:20px; }
  [data-studio-shell] .studio-card > p { margin:12px 0; color:var(--muted); }
  [data-studio-shell] :is(.portal-module-card,.module-card):hover { transform:translateY(-2px); }
  [data-studio-shell] .portal-module-card:disabled { transform:none; }
  [data-studio-shell] [data-studio-nav] nav :is(button,a):disabled { cursor:default; opacity:.5; background:transparent; color:var(--muted); }
  [data-studio-shell] .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
  @media (max-width:900px) {
    [data-studio-shell] > .studio-global-header { padding:12px 20px; gap:8px; }
    [data-studio-shell] .studio-navigation [data-studio-nav] { inset-inline:12px auto; width:min(360px,calc(100vw - 24px)); max-height:60dvh; padding:18px; }
    [data-studio-shell] [data-studio-header] { padding:16px 20px; gap:12px; }
    [data-studio-shell] .studio-card { padding:20px; }
  }
  @media (prefers-reduced-motion:reduce) {
    [data-studio-shell] *, [data-studio-shell] *::before, [data-studio-shell] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
    [data-studio-shell] :is(.module-card,.portal-module-card):hover { transform:none; }
  }
  @media (max-width:520px) {
    [data-studio-shell] > .studio-global-header { flex-wrap:nowrap; padding-inline:12px; }
    .studio-global-header .studio-brand { width:120px; flex-shrink:0; }
    .studio-global-header .studio-home { padding-inline:10px; }
  }
  @media (forced-colors:active) {
    [data-studio-shell] [data-studio-nav] nav :is([aria-current=page],[aria-current=step],[aria-pressed=true],.active) { outline:2px solid Highlight; outline-offset:-2px; }
    [data-studio-shell] .studio-card { border-color:CanvasText; }
  }
}
@media print { .studio-global-header { display:none!important; } }
.studio-input-drafts{position:relative;flex-shrink:0;margin-left:auto;font:12px var(--body);color:var(--text)}
.studio-input-drafts>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:8px}
.studio-input-drafts-body{position:absolute;right:0;top:100%;z-index:60;width:min(480px,calc(100vw - 40px));max-height:min(45dvh,480px);overflow:auto;scrollbar-gutter:stable;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:var(--shadow)}
.studio-input-drafts-body p{font:13px/1.5 var(--body);white-space:normal;margin:0 0 12px}
.studio-input-drafts-body details{border-top:1px solid var(--line);padding:8px 0}
.studio-input-drafts-body summary{min-height:44px;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.studio-input-drafts-body label{display:grid;gap:6px;margin:12px 0;white-space:normal}
.studio-input-drafts-body textarea{width:100%;min-height:70px;resize:none;font:14px/1.5 var(--body);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px}
.studio-input-drafts-body button{min-height:44px;white-space:normal;margin:6px 6px 0 0;border:1px solid var(--line);border-radius:6px;padding:8px;background:var(--accent-soft);color:var(--text)}
.studio-input-drafts-body button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.studio-input-drafts>summary{padding:6px;font-size:11px}}
@media screen {
  dialog :is(.window-header,.dialog-header):has(>.studio-input-drafts){flex-wrap:wrap}
  dialog :is(.window-header,.dialog-header):has(>.studio-input-drafts)>:first-child{flex:1 1 0;min-width:0;overflow-wrap:anywhere}
  dialog :is(.window-header,.dialog-header):has(>.studio-input-drafts)>.window-controls{flex-shrink:0}
  dialog :is(.window-header,.dialog-header)>.studio-input-drafts{flex-basis:100%;max-width:100%;margin-left:0}
  dialog :is(.window-header,.dialog-header)>.studio-input-drafts>summary{width:fit-content;max-width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere;font-size:12px}
  @media(max-width:520px){
    [data-studio-shell]>.studio-global-header:has(>.studio-input-drafts){flex-wrap:wrap}
    .studio-global-header>.studio-input-drafts{flex-basis:100%;max-width:100%;margin-left:0}
    .studio-global-header>.studio-input-drafts>summary{width:fit-content;max-width:100%;margin-left:auto;min-height:44px;font-size:12px;white-space:normal;overflow-wrap:anywhere}
  }
}
@media print{.studio-input-drafts{display:none!important}}
