/* Factory-derived shell, common semantic palette, and display controls. */
:root[data-theme] {
  --bg:#f4efe6; --panel:#fffdf9; --panel-soft:#eee9e0; --input-bg:#fff;
  --ink:#1a1d24; --muted:#646d78; --line:#d7d0c4; --accent:#0f5b53;
  --accent-soft:#e0eee8; --accent-ink:#fff; --ok:#1e6c3a; --ok-bg:#d9efdd;
  --warning:#8c5908; --warning-bg:#fff0bf; --danger:#9f2e2e; --danger-bg:#f8d5d4;
  --shadow:0 10px 28px rgba(26,29,36,.06); --focus:#287c70; --image-ink:#fff;
  --surface:var(--panel); --surface-muted:var(--panel-soft); --surface-strong:var(--panel-soft);
  --text:var(--ink); --text-soft:var(--muted); --primary:var(--accent); --primary-strong:var(--accent);
  --primary-soft:var(--accent-soft); --border:var(--line); --card:var(--panel);
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --bg:#121719; --panel:#1b2326; --panel-soft:#253034; --input-bg:#151d20;
  --ink:#e6ecec; --muted:#a8b6bb; --line:#3a474c; --accent:#7dd9c2;
  --accent-soft:#173e36; --accent-ink:#08251e; --ok:#95ddb0; --ok-bg:#1b3e2b;
  --warning:#efcc7e; --warning-bg:#45351c; --danger:#f6a5a5; --danger-bg:#472a2d;
  --shadow:0 10px 28px rgba(0,0,0,.2); --focus:#94e4d0;
}
html[data-theme] { background:var(--bg); }
html[data-theme] body {
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  height:100dvh; overflow:hidden; font-size:14px;
}
html[data-layout] body > main.ddlogs-shell,
html[data-layout] body > .ddlogs-shell {
  width:100%; max-width:none; height:100dvh; margin:0 auto; padding:12px;
  display:flex; flex-direction:column; gap:12px; min-height:0; min-width:0;
}
html[data-layout="centered"] body > main.ddlogs-shell,
html[data-layout="centered"] body > .ddlogs-shell { max-width:1240px; }
html[data-layout] .ddlogs-frame { height:100%; min-height:0; display:flex; flex-direction:column; gap:12px; }
html[data-theme] :is(.topbar,.site-header,.unified-topbar) {
  position:relative; z-index:30; flex-shrink:0; display:flex; align-items:center;
  gap:8px; margin:0; padding:8px 14px; min-height:54px; height:auto; overflow:visible;
  border:1px solid var(--line); border-radius:14px; background:var(--panel);
  box-shadow:none; backdrop-filter:none;
}
html[data-theme] .topbar-row { display:flex; flex-wrap:nowrap; gap:8px; align-items:center; width:100%; }
html[data-theme] :is(.topbar-user,.topbar-right) { display:flex; flex-wrap:nowrap; gap:8px; align-items:center; margin-left:0; }
html[data-theme] :is(.topbar-user,.topbar-right,.site-header,.unified-topbar) form { display:flex; margin:0; }
html[data-theme] :is(.user-chip,.user-pill) { padding:7px 10px; background:var(--accent-soft); color:var(--accent); border-radius:8px; white-space:nowrap; }
html[data-theme] :is(.logout-button,.button-logout,.topbar button.logout,.site-header>form button,.unified-topbar>form button) {
  background:var(--panel-soft); color:var(--muted); border:1px solid var(--line); border-radius:8px; padding:8px 10px; font-size:12px;
}
html[data-theme] .global-nav { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; min-width:0; overflow:visible; flex:0 1 auto; }
html[data-theme] .global-nav a,html[data-theme] .global-nav-menu-trigger { padding:8px 11px; border-radius:8px; font-size:13px; color:var(--muted); white-space:nowrap; text-decoration:none; gap:5px; }
html[data-theme] .global-nav a:hover,html[data-theme] .global-nav-menu-trigger:hover { background:var(--panel-soft); color:var(--ink); }
html[data-theme] .global-nav a.active,html[data-theme] .global-nav-menu.active>.global-nav-menu-trigger,html[data-theme] .global-nav-menu[open]>.global-nav-menu-trigger { background:var(--accent-soft); color:var(--accent); }
html[data-theme] .global-nav-menu { position:relative; }
html[data-theme] .global-nav-menu-trigger { display:flex; align-items:center; cursor:pointer; list-style:none; }
html[data-theme] .global-nav-menu-trigger::-webkit-details-marker, .appearance-menu>summary::-webkit-details-marker { display:none; }
.nav-chevron { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.5; }
html[data-theme] .global-nav-menu-panel, .appearance-menu-panel {
  position:absolute; top:calc(100% + 10px); right:0; z-index:50;
  min-width:190px; max-height:min(70dvh,560px); overflow:auto; padding:6px;
  background:var(--panel); color:var(--ink); border:1px solid var(--line); border-radius:10px;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
html[data-theme] details:not([open])>.global-nav-menu-panel, .appearance-menu:not([open])>.appearance-menu-panel { display:none; }
html[data-theme] .global-nav .global-nav-menu-link { display:flex; padding:9px 12px; border-radius:6px; color:var(--ink); font-weight:500; }
html[data-theme] .global-nav .global-nav-menu-link.active { background:var(--accent-soft); color:var(--accent); }
.appearance-controls { display:flex; align-items:center; gap:5px; margin-left:auto; flex-shrink:0; }
html[data-theme] .appearance-icon {
  width:34px; height:34px; padding:7px; border:1px solid var(--line); border-radius:8px;
  background:transparent; color:var(--muted); display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
}
html[data-theme] .appearance-icon:hover { background:var(--panel-soft); color:var(--ink); }
.appearance-icon svg,.appearance-menu-panel svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.layout-full-action,.theme-icon-light,.theme-icon-dark { display:none; }
html[data-layout="centered"] .layout-centered-action { display:none; }
html[data-layout="centered"] .layout-full-action { display:block; }
html[data-theme-mode="light"] .theme-icon-auto,html[data-theme-mode="dark"] .theme-icon-auto { display:none; }
html[data-theme-mode="light"] .theme-icon-light,html[data-theme-mode="dark"] .theme-icon-dark { display:block; }
.appearance-menu { position:relative; }
.appearance-menu>summary { list-style:none; }
.appearance-menu-panel { min-width:174px; display:grid; gap:2px; }
html[data-theme] .appearance-menu-panel button {
  display:flex; align-items:center; gap:10px; width:100%; border:0; border-radius:6px;
  background:transparent; color:var(--ink); padding:9px 10px; text-align:left; font:inherit; font-weight:500; cursor:pointer;
}
html[data-theme] .appearance-menu-panel button:hover,html[data-theme] .appearance-menu-panel button[aria-checked="true"] { background:var(--accent-soft); color:var(--accent); }
.appearance-check { visibility:hidden; margin-left:auto; }
[aria-checked="true"]>.appearance-check { visibility:visible; }
html[data-theme] :is(button,a,summary,input,textarea,select):focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.ddlogs-page-content { flex:1; min-height:0; display:flex; flex-direction:column; gap:12px; }
html[data-theme] .ddlogs-workspace {
  flex:1; min-height:0; min-width:0; display:grid; grid-template-columns:330px minmax(0,1fr); gap:12px; overflow:hidden;
}
html[data-theme] .ddlogs-workspace-single { grid-template-columns:minmax(0,1fr); }
html[data-theme] :is(.ddlogs-tools,.ddlogs-main) {
  display:flex; flex-direction:column; align-items:stretch; gap:12px;
  min-height:0; min-width:0; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable;
}
html[data-theme] .ddlogs-tools>* { flex-shrink:0; }
html[data-theme] .ddlogs-tools { overflow-wrap:anywhere; }
html[data-theme] .ddlogs-tools :is(input,select,textarea) { min-width:0; max-width:100%; }
html[data-theme] .ddlogs-tools code { white-space:normal; overflow-wrap:anywhere; }
html[data-theme] .ddlogs-main>* { flex-shrink:0; min-width:0; }
html[data-theme] :is(.panel,.hero,.factory-panel) { background:var(--panel); color:var(--ink); border:1px solid var(--line); padding:16px; border-radius:12px; box-shadow:none; }
html[data-theme] .hero { padding:16px; gap:8px; }
html[data-theme] .hero-copy { flex:1 1 auto; }
html[data-theme] .ddlogs-tools :is(h1,.brand h1) { font-size:21px; line-height:1.2; margin:0 0 8px; }
html[data-theme] .ddlogs-tools h2 { font-size:16px; line-height:1.3; }
html[data-theme] .ddlogs-tools :is(.section-head,.hero-head) { align-items:start; gap:8px; }
html[data-theme] .ddlogs-tools :is(.grid,.two-up,.three-up,.four-up,.credentials-grid,.filters-grid,.form-grid) { grid-template-columns:minmax(0,1fr); }
html[data-theme] .ddlogs-tools :is(.inline-form input,.inline-form select) { min-width:0; width:100%; }
html[data-theme] .ddlogs-tools :is(.subhead,.field-hint,.meta) { font-size:12px; line-height:1.5; }
html[data-theme] .ddlogs-tools :is(input,select,textarea) { padding:9px 10px; border-radius:8px; }
html[data-theme] .ddlogs-tools textarea { min-height:90px; }
html[data-theme] .ddlogs-tools :is(button,.button,.button-link) { padding:9px 11px; border-radius:8px; font-size:12px; white-space:normal; }
html[data-theme] .ddlogs-section-links { display:grid; gap:5px; }
.ddlogs-section-links a { color:var(--muted); border-radius:6px; padding:8px; font-size:13px; }
.ddlogs-section-links a:hover { color:var(--accent); background:var(--accent-soft); }
html[data-theme] :is(input,textarea,select) { background:var(--input-bg); color:var(--ink); border-color:var(--line); accent-color:var(--accent); }
html[data-theme] input::placeholder,html[data-theme] textarea::placeholder { color:var(--muted); opacity:.75; }
html[data-theme] input[type="checkbox"],html[data-theme] input[type="radio"] { width:auto; }
html[data-theme] input:disabled,html[data-theme] select:disabled { background:var(--panel-soft); color:var(--muted); }
html[data-theme] table { background:var(--panel); color:var(--ink); }
html[data-theme] :is(td,th) { border-color:var(--line); }
html[data-theme] th { color:var(--muted); }
html[data-theme] dialog { background:var(--panel); color:var(--ink); border-color:var(--line); }
html[data-theme] dialog::backdrop { background:rgba(0,0,0,.6); }
html[data-theme] :is(.stat,.credential-card) { background:var(--panel-soft); border-color:var(--line); }
html[data-theme] :is(.pill,.badge,.status-pill) { background:var(--accent-soft); color:var(--accent); }
html[data-theme] :is(.pill.ready,.alert.ok) { background:var(--ok-bg); color:var(--ok); }
html[data-theme] :is(.pill.invalid,.pill.disabled,.alert.error,.message.error) { background:var(--danger-bg); color:var(--danger); }
html[data-theme] :is(.pill.incomplete,.alert.warning) { background:var(--warning-bg); color:var(--warning); }
html[data-theme] :is(.pill.missing,.secondary,.ghost-button) { background:var(--panel-soft); color:var(--ink); border-color:var(--line); }
html[data-theme] code,html[data-theme] pre { background:var(--panel-soft); color:var(--ink); border-color:var(--line); }
html[data-theme] .alert pre { background:transparent; color:inherit; }
html[data-theme] ::selection { background:var(--accent-soft); color:var(--ink); }
html[data-theme] .ddlogs-auth-header { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.ddlogs-wordmark { font-size:16px; font-weight:750; color:var(--accent); }
html[data-theme] .login-shell { flex:1; min-height:0; overflow:auto; padding:18px; }
html[data-embedded="true"] body { height:auto; min-height:100dvh; overflow:auto; }
html[data-embedded="true"] body > main.ddlogs-shell { height:auto; max-width:none; padding:10px; }
html[data-embedded="true"] :is(.ddlogs-frame,.ddlogs-page-content) { height:auto; overflow:visible; }
.ddlogs-info { display:inline-flex; vertical-align:middle; margin-left:3px; font-size:14px; line-height:1; }
html[data-theme] .ddlogs-info .ddlogs-info-trigger { display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; min-height:0; padding:2px; border:0; border-radius:5px; box-shadow:none; background:transparent; color:var(--muted); cursor:help; }
html[data-theme] .ddlogs-info .ddlogs-info-trigger:hover { background:var(--panel-soft); color:var(--accent); }
.ddlogs-info-trigger svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ddlogs-info-tooltip { display:none; }
.ddlogs-floating-tooltip { position:fixed; z-index:1000; width:max-content; max-width:min(340px,calc(100vw - 16px)); max-height:min(240px,calc(100dvh - 16px)); overflow:auto; box-sizing:border-box; padding:11px 13px; border:1px solid var(--line); border-radius:9px; box-shadow:0 8px 24px rgba(0,0,0,.2); background:var(--panel); color:var(--ink); font:400 12px/1.55 "Helvetica Neue",Helvetica,Arial,sans-serif; overflow-wrap:anywhere; text-align:left; }
.ddlogs-floating-tooltip :is(p,ul) { margin:0; }
.ddlogs-floating-tooltip a { color:var(--accent); }
@media(max-width:1100px) {
  html[data-theme] .global-nav a,html[data-theme] .global-nav-menu-trigger { padding:8px; font-size:12px; }
  html[data-theme] .user-chip { display:none; }
  html[data-theme] .ddlogs-workspace { grid-template-columns:280px minmax(0,1fr); }
}
@media(max-width:760px) {
  html[data-layout] body>main.ddlogs-shell,html[data-layout] body>.ddlogs-shell { padding:6px; gap:6px; }
  html[data-theme] :is(.topbar,.site-header,.unified-topbar) { padding:6px; border-radius:10px; flex-wrap:wrap; gap:4px; }
  html[data-theme] .topbar-row { flex-wrap:wrap; gap:4px; }
  html[data-theme] .global-nav { flex:1 1 100%; justify-content:flex-start; gap:2px; flex-wrap:wrap; }
  html[data-theme] .global-nav a,html[data-theme] .global-nav-menu-trigger { padding:7px 8px; font-size:12px; }
  html[data-theme] .ddlogs-workspace { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(140px,35%) minmax(0,1fr); gap:6px; }
  html[data-theme] .ddlogs-workspace-single { grid-template-rows:minmax(0,1fr); }
  html[data-theme] .ddlogs-tools { border-bottom:1px solid var(--line); }
  html[data-theme] .ddlogs-frame { gap:6px; }
  .appearance-controls { margin-left:auto; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; } }
