/* Florentini v30: immersive chat, interface depth, HACCP document navigation and personal section accents. */

/* Adjustable depth: 0 is flat, 1 is the default, 1.8 is deliberately sculptural. */
.app > .sidebar {
  border-right: var(--interface-depth-border-width,1px) solid rgba(111,137,99,var(--interface-depth-border-alpha,.38));
  background-image:
    linear-gradient(90deg, rgba(111,137,99,var(--interface-depth-tint-alpha,.09)), rgba(var(--surface-rgb),.12) 48%, rgba(111,137,99,var(--interface-depth-tint-soft-alpha,.05))),
    radial-gradient(circle at 14% 4%, rgba(255,255,255,var(--interface-depth-highlight-alpha,.31)), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,var(--interface-depth-highlight-soft-alpha,.14)), transparent 19% 79%, rgba(64,83,58,var(--interface-depth-tint-soft-alpha,.05)));
  box-shadow:
    var(--interface-depth-x,8px) 0 var(--interface-depth-blur,30px) rgba(42,55,40,var(--interface-depth-shadow-alpha,.097)),
    0 0 var(--interface-depth-glow-blur,21px) rgba(111,137,99,var(--interface-depth-glow-alpha,.072)),
    inset var(--interface-depth-border-inset,-1px) 0 0 rgba(111,137,99,var(--interface-depth-border-alpha,.38)),
    inset 1px 0 0 rgba(255,255,255,var(--interface-depth-highlight-alpha,.31));
  filter: saturate(var(--interface-depth-saturation,112%));
}

.app > .v5-topbar {
  border: var(--interface-depth-border-width,1px) solid rgba(111,137,99,var(--interface-depth-border-alpha,.38));
  background-image:
    linear-gradient(180deg, rgba(255,255,255,var(--interface-depth-highlight-alpha,.31)), rgba(111,137,99,var(--interface-depth-tint-alpha,.09)) 58%, rgba(var(--surface-rgb),.08)),
    radial-gradient(circle at 18% 0, rgba(255,255,255,var(--interface-depth-highlight-alpha,.31)), transparent 35%),
    linear-gradient(90deg, rgba(111,137,99,var(--interface-depth-tint-soft-alpha,.05)), transparent 28% 72%, rgba(111,137,99,var(--interface-depth-tint-soft-alpha,.05)));
  box-shadow:
    0 var(--interface-depth-y,7px) var(--interface-depth-blur,30px) rgba(42,55,40,var(--interface-depth-shadow-alpha,.097)),
    0 0 var(--interface-depth-glow-blur-soft,18px) rgba(111,137,99,var(--interface-depth-glow-alpha,.072)),
    inset 0 var(--interface-depth-border-width,1px) 0 rgba(255,255,255,var(--interface-depth-highlight-alpha,.31)),
    inset 0 var(--interface-depth-border-inset,-1px) 0 rgba(111,137,99,var(--interface-depth-border-alpha,.38));
  filter: saturate(var(--interface-depth-saturation,112%));
}

.mobile-drawer-v24 {
  border-right: var(--interface-depth-border-width,1px) solid rgba(111,137,99,var(--interface-depth-border-alpha,.38));
  background-image: linear-gradient(100deg,rgba(111,137,99,var(--interface-depth-tint-alpha,.09)),transparent 62%);
  box-shadow:
    var(--interface-depth-x,8px) 0 var(--interface-depth-blur,30px) rgba(31,42,30,var(--interface-depth-shadow-alpha,.097)),
    0 0 var(--interface-depth-glow-blur,21px) rgba(111,137,99,var(--interface-depth-glow-alpha,.072)),
    inset -1px 0 0 rgba(111,137,99,var(--interface-depth-border-alpha,.38));
}

/* Per-section accents and featured navigation. */
.v5-nav-item { position: relative; isolation: isolate; }
.v5-nav-item::after { content: ""; position: absolute; z-index: 2; left: 3px; top: 50%; width: 2px; height: 16px; border-radius: 4px; background: var(--section-accent); opacity: .78; transform: translateY(-50%); box-shadow: 0 0 9px color-mix(in srgb,var(--section-accent) 44%,transparent); transition: opacity .18s ease,height .18s ease,box-shadow .18s ease; }
.v5-nav-item.is-featured-v30::after { width: 3px; height: 28px; opacity: 1; box-shadow: 0 0 12px color-mix(in srgb,var(--section-accent) 58%,transparent); }
.v5-nav-item .ico { color: color-mix(in srgb,var(--section-accent) 76%,var(--gray)) !important; transition: color .18s ease,filter .18s ease; }
body[data-section-accent-visibility="hover"] .v5-nav-item:not(:hover):not(.active)::after { opacity: 0; }
body[data-section-accent-visibility="hover"] .v5-nav-item:not(:hover):not(.active) .ico { color: var(--gray) !important; filter: none; }
body[data-section-accent-visibility="always"] .v5-nav-item.is-featured-v30 { border-color: color-mix(in srgb,var(--section-accent) 20%,transparent); background: color-mix(in srgb,var(--section-accent) 7%,rgba(var(--surface-rgb),.42)); }
.v5-nav-item:hover,
.v5-nav-item.active {
  border-color: color-mix(in srgb, var(--section-accent) 32%, transparent) !important;
  background: color-mix(in srgb, var(--section-accent) 15%, rgba(var(--surface-rgb), .68)) !important;
}
.v5-nav-item.active::before { background: var(--section-accent) !important; }
.v5-nav-item.active .ico,
.v5-nav-item:hover .ico { color: var(--section-accent) !important; filter: drop-shadow(0 0 5px color-mix(in srgb,var(--section-accent) 33%,transparent)); }
.v5-nav-item .tag { border-color: color-mix(in srgb, var(--section-accent) 30%, transparent); color: color-mix(in srgb, var(--section-accent) 78%, var(--charcoal)); }
.mobile-drawer-group-v24 button { position: relative; }
.mobile-drawer-group-v24 button::after { content: ""; position: absolute; left: 5px; top: 50%; width: 3px; height: 16px; border-radius: 4px; background: var(--section-accent); opacity: .75; transform: translateY(-50%); }
.mobile-drawer-group-v24 button.is-featured-v30::after { height: 30px; opacity: 1; box-shadow: 0 0 10px color-mix(in srgb,var(--section-accent) 50%,transparent); }
body[data-section-accent-visibility="hover"] .mobile-drawer-group-v24 button:not(:hover):not(.active)::after { opacity: 0; }
body[data-section-accent-visibility="always"] .mobile-drawer-group-v24 button .mobile-drawer-item-icon-v24 { color: var(--section-accent); }
.mobile-drawer-group-v24 button.active { border-color: color-mix(in srgb, var(--section-accent) 35%, transparent); background: color-mix(in srgb, var(--section-accent) 14%, rgba(var(--surface-rgb), .76)); }
.mobile-drawer-group-v24 button.active .mobile-drawer-item-icon-v24 { color: var(--section-accent); }
.main .page-head h1 em { color: var(--page-section-accent, var(--florentini-green-deep)); }

/* Apple-like navigation map: every section keeps its own recognizable color. */
.section-nav-icon-v32 { position: relative; display: inline-grid; place-items: center; overflow: hidden; isolation: isolate; flex: 0 0 auto; transition: color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease,filter .18s ease; }
.section-nav-icon-v32 svg { position: relative; z-index: 1; width: 100%; height: 100%; stroke-width: var(--sidebar-svg-weight,1.2) !important; }
.v5-nav-item .section-nav-icon-v32.mode-outline { width: 20px; height: 20px; flex-basis: 20px; color: var(--section-accent) !important; opacity: 1; }
.v5-nav-item .section-nav-icon-v32.mode-tiles,
.v5-nav-item .section-nav-icon-v32.mode-illustrated { width: 30px; height: 30px; flex-basis: 30px; border: 1px solid color-mix(in srgb,var(--section-accent) 74%,#fff); border-radius: 9px; background: linear-gradient(145deg,color-mix(in srgb,var(--section-accent) 78%,#fff 22%),var(--section-accent) 58%,color-mix(in srgb,var(--section-accent) 78%,#17211b)); color: #fff !important; opacity: 1; box-shadow: inset 0 1px 0 rgba(255,255,255,.42),0 4px 10px color-mix(in srgb,var(--section-accent) 27%,transparent); }
.v5-nav-item .section-nav-icon-v32.mode-tiles svg { width: 17px; height: 17px; filter: drop-shadow(0 1px 1px rgba(17,28,18,.24)); }
.section-nav-glyph-v32 { position: relative; z-index: 1; color: #fff; font: 750 15px/1 var(--font-sans); letter-spacing: -.04em; text-shadow: 0 1px 2px rgba(20,28,21,.28); }
.v5-nav-item:hover .section-nav-icon-v32.mode-tiles,
.v5-nav-item:hover .section-nav-icon-v32.mode-illustrated,
.v5-nav-item.active .section-nav-icon-v32.mode-tiles,
.v5-nav-item.active .section-nav-icon-v32.mode-illustrated { color: #fff !important; transform: translateY(-1px) scale(1.035); filter: saturate(1.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.52),0 6px 14px color-mix(in srgb,var(--section-accent) 38%,transparent); }
.v5-nav-item.active { font-weight: 650; }
body[data-section-accent-visibility="hover"] .v5-nav-item:not(:hover):not(.active) .section-nav-icon-v32.mode-tiles,
body[data-section-accent-visibility="hover"] .v5-nav-item:not(:hover):not(.active) .section-nav-icon-v32.mode-illustrated { border-color: var(--glass-border-soft); background: linear-gradient(145deg,rgba(var(--surface-rgb),.82),var(--gray-mist)); color: var(--gray) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.42); filter: saturate(.25); }
body[data-section-accent-visibility="hover"] .v5-nav-item:not(:hover):not(.active) .section-nav-icon-v32.mode-illustrated .section-nav-glyph-v32 { color: var(--gray); text-shadow: none; }

/* Monochrome restores the original quiet, black/gray navigation without losing saved colors. */
body[data-sidebar-icon-color="mono"] .v5-nav-item::after,
body[data-sidebar-icon-color="mono"] .mobile-drawer-group-v24 button::after { opacity: 0 !important; box-shadow: none !important; }
body[data-sidebar-icon-color="mono"] .v5-nav-item.is-featured-v30 { border-color: transparent; background: transparent; }
body[data-sidebar-icon-color="mono"] .v5-nav-item .section-nav-icon-v32.mode-outline { color: var(--gray) !important; filter: none; }
body[data-sidebar-icon-color="mono"] .v5-nav-item:hover .section-nav-icon-v32.mode-outline,
body[data-sidebar-icon-color="mono"] .v5-nav-item.active .section-nav-icon-v32.mode-outline { color: var(--charcoal) !important; filter: none; }
body[data-sidebar-icon-color="mono"] .v5-nav-item:hover,
body[data-sidebar-icon-color="mono"] .v5-nav-item.active { border-color: var(--glass-border-soft) !important; background: rgba(var(--surface-rgb),.58) !important; }
body[data-sidebar-icon-color="mono"] .v5-nav-item.active::before { background: var(--florentini-green) !important; }
body[data-sidebar-icon-color="mono"] .v5-nav-item .tag { border-color: var(--glass-border-soft); color: var(--gray); background: rgba(var(--surface-rgb),.42); }
body[data-sidebar-icon-color="mono"] .mobile-drawer-item-icon-v24.section-nav-icon-v32.mode-outline { border: 1px solid var(--glass-border-soft); background: rgba(var(--surface-rgb),.58); color: var(--charcoal) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.32); }
body[data-sidebar-icon-color="mono"] .mobile-drawer-group-v24 button.active { border-color: var(--glass-border-soft); background: rgba(var(--surface-rgb),.64); }
body[data-sidebar-icon-color="mono"] .mobile-bottom-icon-v24.section-nav-icon-v32.mode-outline { color: var(--gray) !important; }
body[data-sidebar-icon-color="mono"] .mobile-bottom-nav-v24 button.active .mobile-bottom-icon-v24.section-nav-icon-v32.mode-outline { color: var(--charcoal) !important; }

.mobile-drawer-item-icon-v24.section-nav-icon-v32.mode-tiles,
.mobile-drawer-item-icon-v24.section-nav-icon-v32.mode-illustrated { border: 1px solid color-mix(in srgb,var(--section-accent) 72%,#fff); background: linear-gradient(145deg,color-mix(in srgb,var(--section-accent) 78%,#fff 22%),var(--section-accent) 58%,color-mix(in srgb,var(--section-accent) 78%,#17211b)); color: #fff !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.42),0 5px 12px color-mix(in srgb,var(--section-accent) 25%,transparent); }
.mobile-drawer-item-icon-v24.section-nav-icon-v32.mode-tiles svg { width: 19px; height: 19px; }
.mobile-drawer-item-icon-v24.section-nav-icon-v32.mode-outline { color: var(--section-accent) !important; }
.mobile-bottom-icon-v24.section-nav-icon-v32.mode-tiles,
.mobile-bottom-icon-v24.section-nav-icon-v32.mode-illustrated { width: 28px; height: 28px; border: 1px solid color-mix(in srgb,var(--section-accent) 68%,#fff); border-radius: 9px; background: linear-gradient(145deg,color-mix(in srgb,var(--section-accent) 78%,#fff 22%),var(--section-accent)); color: #fff !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.42),0 3px 8px color-mix(in srgb,var(--section-accent) 25%,transparent); }
.mobile-bottom-icon-v24.section-nav-icon-v32.mode-tiles svg { width: 16px; height: 16px; }
.mobile-bottom-icon-v24.section-nav-icon-v32.mode-illustrated .section-nav-glyph-v32 { font-size: 13px; }
.mobile-bottom-icon-v24.section-nav-icon-v32.mode-outline { color: var(--section-accent); }

/* Navigation icon studio. */
.settings-icon-studio-v32 > .settings-readability-title-v15 p { max-width: 650px; margin: 4px 0 0; color: var(--gray); font-size: 10px; line-height: 1.5; }
.settings-icon-color-grid-v33 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.settings-icon-color-grid-v33 > button { min-width: 0; min-height: 82px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--glass-border-soft); border-radius: 16px; background: rgba(var(--surface-rgb),.48); color: var(--charcoal); text-align: left; cursor: pointer; transition: border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease; }
.settings-icon-color-grid-v33 > button:hover { transform: translateY(-1px); }
.settings-icon-color-grid-v33 > button.active { border-color: color-mix(in srgb,var(--florentini-green) 55%,var(--glass-border-soft)); background: linear-gradient(135deg,color-mix(in srgb,var(--florentini-green) 10%,rgba(var(--surface-rgb),.78)),rgba(var(--surface-rgb),.65)); box-shadow: 0 9px 22px rgba(52,76,47,.09),inset 0 0 0 1px color-mix(in srgb,var(--florentini-green) 12%,transparent); }
.settings-icon-color-grid-v33 > button > span:last-child { min-width: 0; display: grid; gap: 3px; }
.settings-icon-color-grid-v33 b { font-size: 11px; }
.settings-icon-color-grid-v33 small { color: var(--gray); font-size: 8px; line-height: 1.35; }
.settings-icon-color-grid-v33 .color-mode-mono .settings-icon-preview-v32.mode-outline { color: var(--charcoal) !important; filter: grayscale(1); }
.settings-icon-style-caption-v33 { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 15px 2px 0; }
.settings-icon-style-caption-v33 b { color: var(--charcoal); font-size: 9px; }
.settings-icon-style-caption-v33 small { color: var(--gray); font-size: 8px; }
.settings-icon-style-caption-v33.muted { opacity: .62; }
.settings-icon-style-grid-v32 { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.settings-icon-style-grid-v32 > button { min-width: 0; min-height: 84px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 11px; align-items: center; padding: 11px; border: 1px solid var(--glass-border-soft); border-radius: 15px; background: rgba(var(--surface-rgb),.48); color: var(--charcoal); text-align: left; cursor: pointer; transition: border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease; }
.settings-icon-style-grid-v32 > button:hover { transform: translateY(-1px); }
.settings-icon-style-grid-v32 > button.active { border-color: color-mix(in srgb,var(--florentini-green) 55%,var(--glass-border-soft)); background: linear-gradient(135deg,color-mix(in srgb,var(--florentini-green) 10%,rgba(var(--surface-rgb),.78)),rgba(var(--surface-rgb),.65)); box-shadow: 0 9px 22px rgba(52,76,47,.09),inset 0 0 0 1px color-mix(in srgb,var(--florentini-green) 12%,transparent); }
.settings-icon-style-grid-v32 > button:disabled { cursor: not-allowed; opacity: .42; transform: none; }
.settings-icon-style-grid-v32 > button > span:last-child { min-width: 0; display: grid; gap: 3px; }
.settings-icon-style-grid-v32 b { font-size: 11px; }
.settings-icon-style-grid-v32 small { color: var(--gray); font-size: 8px; }
.settings-icon-preview-stack-v32 { display: flex; align-items: center; padding-left: 7px; }
.settings-icon-preview-stack-v32 > span { margin-left: -7px; }
.settings-icon-preview-v32 { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; }
.settings-icon-preview-v32.mode-outline { width: 25px; height: 25px; margin: 4px; color: var(--section-accent); }
.settings-icon-preview-v32.mode-tiles,
.settings-icon-preview-v32.mode-illustrated { border: 1px solid color-mix(in srgb,var(--section-accent) 70%,#fff); background: linear-gradient(145deg,color-mix(in srgb,var(--section-accent) 78%,#fff 22%),var(--section-accent) 60%,color-mix(in srgb,var(--section-accent) 78%,#17211b)); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.42),0 4px 10px color-mix(in srgb,var(--section-accent) 25%,transparent); }
.settings-icon-preview-v32.mode-tiles svg { width: 18px; height: 18px; }
.settings-icon-preview-v32.mode-illustrated .section-nav-glyph-v32 { font-size: 15px; }

.settings-section-personalizer-v30 > .settings-readability-title-v15 { align-items: flex-start; }
.settings-section-personalizer-v30 > .settings-readability-title-v15 p { max-width: 570px; margin: 4px 0 0; color: var(--gray); font-size: 10px; line-height: 1.5; }
.settings-accent-visibility-v31 { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 12px 0 10px; padding: 10px 12px; border: 1px solid color-mix(in srgb,var(--florentini-green) 18%,var(--glass-border-soft)); border-radius: 12px; background: linear-gradient(105deg,color-mix(in srgb,var(--florentini-green) 8%,rgba(var(--surface-rgb),.58)),rgba(var(--surface-rgb),.46)); }
.settings-accent-visibility-v31 > span { min-width: 0; display: grid; gap: 2px; }
.settings-accent-visibility-v31 b { color: var(--charcoal); font-size: 10px; }
.settings-accent-visibility-v31 small { color: var(--gray); font-size: 8px; line-height: 1.4; }
.settings-accent-visibility-v31 .settings-segmented { min-width: 240px; }
.settings-section-accent-list-v30 { display: grid; grid-template-columns: minmax(0,1fr); gap: 7px; overflow: visible; padding: 2px 0; }
.settings-section-accent-row-v30 { min-height: 56px; display: grid; grid-template-columns: 32px 38px minmax(132px,1fr) 62px minmax(94px,.52fr) minmax(88px,.46fr); gap: 8px; align-items: center; padding: 7px 8px; border: 1px solid var(--glass-border-soft); border-left: 3px solid transparent; border-radius: 11px; background: rgba(var(--surface-rgb),.45); }
.settings-section-accent-row-v30.featured { border-left-color: var(--section-accent); background: color-mix(in srgb,var(--section-accent) 8%,rgba(var(--surface-rgb),.70)); }
.settings-feature-star-v30 { width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 1px solid var(--glass-border-soft); border-radius: 50%; background: rgba(var(--surface-rgb),.66); cursor: pointer; transition: border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.settings-feature-star-v30 > span { width: 12px; height: 12px; display: block; border: 1.5px solid color-mix(in srgb,var(--section-accent) 45%,var(--gray)); border-radius: 50%; background: transparent; box-shadow: inset 0 0 0 3px rgba(var(--surface-rgb),.85); transition: background .18s ease,box-shadow .18s ease,transform .18s ease; }
.settings-feature-star-v30:hover > span { transform: scale(1.1); }
.settings-feature-star-v30[aria-pressed="true"] { border-color: color-mix(in srgb,var(--section-accent) 48%,transparent); background: color-mix(in srgb,var(--section-accent) 10%,rgba(var(--surface-rgb),.72)); box-shadow: 0 5px 13px color-mix(in srgb,var(--section-accent) 18%,transparent); }
.settings-feature-star-v30[aria-pressed="true"] > span { border-color: var(--section-accent); background: var(--section-accent); box-shadow: inset 0 0 0 3px rgba(var(--surface-rgb),.88),0 0 0 3px color-mix(in srgb,var(--section-accent) 15%,transparent); }
.settings-section-accent-copy-v30 { min-width: 0; display: grid; gap: 2px; }
.settings-section-accent-copy-v30 b { overflow: hidden; color: var(--charcoal); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.settings-section-accent-copy-v30 small { color: var(--gray); font: 7.5px var(--font-mono); text-transform: uppercase; }
.settings-section-color-v30,
.settings-section-mark-v30,
.settings-section-icon-mode-v32 { display: grid; gap: 3px; }
.settings-section-color-v30 > span,
.settings-section-mark-v30 > span,
.settings-section-icon-mode-v32 > span { color: var(--gray); font: 7px var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.settings-section-color-v30 input { width: 54px; height: 30px; padding: 3px; border: 1px solid var(--glass-border-soft); border-radius: 8px; background: rgba(var(--surface-rgb),.78); cursor: pointer; }
.settings-section-mark-v30 input { width: 100%; min-width: 0; height: 31px; padding: 0 8px; border: 1px solid var(--glass-border-soft); border-radius: 8px; background: rgba(var(--surface-rgb),.78); color: var(--charcoal); font: 9px var(--font-mono); text-transform: uppercase; }
.settings-section-icon-mode-v32 select { width: 100%; min-width: 0; height: 31px; padding: 0 24px 0 8px; border: 1px solid var(--glass-border-soft); border-radius: 8px; background: rgba(var(--surface-rgb),.78); color: var(--charcoal); font: 8px var(--font-sans); }
.settings-section-accent-row-v30 > .settings-row-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; }
.settings-section-accent-row-v30 > .settings-row-icon.mode-outline { width: 23px; height: 23px; margin-inline: 5px; color: var(--section-accent); }
.settings-section-accent-row-v30 > .settings-row-icon.mode-tiles,
.settings-section-accent-row-v30 > .settings-row-icon.mode-illustrated { border: 1px solid color-mix(in srgb,var(--section-accent) 70%,#fff); background: linear-gradient(145deg,color-mix(in srgb,var(--section-accent) 78%,#fff 22%),var(--section-accent) 58%,color-mix(in srgb,var(--section-accent) 78%,#17211b)); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.4),0 4px 9px color-mix(in srgb,var(--section-accent) 24%,transparent); }
.settings-section-accent-row-v30 > .settings-row-icon.mode-tiles svg { width: 18px; height: 18px; }

/* True full-screen chats. visualViewport drives the height while the iOS keyboard is open. */
html:has(body.florentini-chat-screen-v30),
body.florentini-chat-screen-v30 { overflow: hidden !important; overscroll-behavior: none; }
body.florentini-chat-screen-v30 .app,
body.florentini-chat-screen-v30 .app.app-topbar-hidden-v21 {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: var(--chat-viewport-height-v30, 100dvh) !important;
  display: block !important;
  overflow: hidden !important;
  transform: none !important;
}
body.florentini-chat-screen-v30 .app > .sidebar,
body.florentini-chat-screen-v30 .app > .v5-topbar,
body.florentini-chat-screen-v30 .mobile-bottom-nav-v24 { display: none !important; }
body.florentini-chat-screen-v30 .main[data-screen-label="v5-chats"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  transform: none !important;
}
body.florentini-chat-screen-v30 .main[data-screen-label="v5-chats"] > .chat-page-v11 { position: absolute !important; inset: 0 !important; width: 100%; height: 100% !important; min-height: 0; margin: 0 !important; }
body.florentini-chat-screen-v30 .chat-shell-v11 { width: 100% !important; max-width: none !important; height: 100% !important; min-height: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.chat-exit-fullscreen-v30 { width: 34px; height: 34px; display: grid; place-items: center; padding: 0; border: 1px solid var(--chat-line,rgba(80,98,72,.12)); border-radius: 11px; background: color-mix(in srgb,var(--chat-panel-strong,#fff) 88%,transparent); color: var(--chat-accent,var(--florentini-green-deep)); font-size: 17px; cursor: pointer; }
.chat-filter-v11 { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
.chat-filter-v11 button { min-width: 0; padding-inline: 5px !important; }
.chat-archive-thread-v30 { color: var(--chat-accent,var(--florentini-green-deep)) !important; }

/* HACCP follows the reference's document navigation pattern. */
.hq-doc-layout-v30 { display: grid; grid-template-columns: 265px minmax(0,1fr); gap: 12px; margin: 0 8px 28px; align-items: start; }
.hq-doc-nav-v30 { position: sticky; top: 10px; display: grid; gap: 4px; overflow: hidden; padding: 10px; }
.hq-doc-nav-v30 > header { display: grid; gap: 3px; padding: 12px 10px 14px; border-bottom: 1px solid var(--glass-border-soft); }
.hq-doc-nav-v30 > header span { color: var(--florentini-green-deep); font: 8px var(--font-mono); letter-spacing: .16em; text-transform: uppercase; }
.hq-doc-nav-v30 > header b { font: 17px var(--font-serif); }
.hq-doc-nav-v30 > header small { color: var(--gray); font-size: 9px; line-height: 1.45; }
.hq-doc-nav-v30 > button { width: 100%; min-height: 58px; display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 8px; align-items: center; padding: 8px 9px; border: 0; border-left: 3px solid transparent; border-radius: 9px; background: transparent; color: var(--charcoal); text-align: left; cursor: pointer; }
.hq-doc-nav-v30 > button:hover,
.hq-doc-nav-v30 > button.active { border-left-color: var(--florentini-green); background: var(--green-wash); }
.hq-doc-nav-v30 > button i { color: var(--florentini-green-deep); font: 9px var(--font-mono); font-style: normal; }
.hq-doc-nav-v30 > button span { min-width: 0; display: grid; gap: 3px; }
.hq-doc-nav-v30 > button b { font-size: 11px; }
.hq-doc-nav-v30 > button small { overflow: hidden; color: var(--gray); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.hq-doc-nav-v30 > button em { color: var(--gray); font: 8px var(--font-mono); font-style: normal; }
.hq-doc-nav-v30 > button.archive { margin-top: 7px; border-top: 1px solid var(--glass-border-soft); border-radius: 0 0 9px 9px; }
.hq-doc-content-v30 { min-width: 0; padding: 18px; }
.hq-doc-content-head-v30 { display: grid; grid-template-columns: 45px minmax(0,1fr) auto; gap: 13px; align-items: center; padding: 4px 3px 18px; border-bottom: 1px solid var(--glass-border-soft); }
.hq-doc-content-head-v30 > span { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid color-mix(in srgb,var(--florentini-green) 35%,transparent); border-radius: 13px; background: var(--green-wash); color: var(--florentini-green-deep); font: 10px var(--font-mono); }
.hq-doc-content-head-v30 small { color: var(--florentini-green-deep); font: 8px var(--font-mono); letter-spacing: .13em; text-transform: uppercase; }
.hq-doc-content-head-v30 h2 { margin: 3px 0 1px; font: 24px var(--font-serif); }
.hq-doc-content-head-v30 p { margin: 0; color: var(--gray); font-size: 9px; }
.hq-doc-content-head-v30 > b { color: var(--gray); font: 9px var(--font-mono); }
.hq-doc-journals-v30 { grid-template-columns: 1fr !important; gap: 8px !important; padding-top: 14px; }
.hq-doc-journals-v30 .hq-ledger-card { min-height: 76px; padding: 11px 13px; }
.hq-doc-nav-mobile-v30 { display: none; }

/* HACCP archive: month cards sit above the document instead of in a cramped rail. */
body .hq-archive-layout { grid-template-columns: minmax(0,1fr); gap: 10px; margin-inline: 8px; }
body .hq-archive-folders { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; overflow: visible; padding: 12px; align-self: stretch; }
body .hq-archive-folders > b { grid-column: 1 / -1; padding: 0 2px 4px; color: var(--gray); font: 8px var(--font-mono); letter-spacing: .15em; text-transform: uppercase; }
body .hq-archive-folders button { position: relative; min-width: 0; min-height: 70px; display: grid; grid-template-columns: 37px minmax(0,1fr); gap: 9px; align-items: center; overflow: hidden; padding: 9px; border: 1px solid var(--glass-border-soft); border-radius: 13px; background: rgba(var(--surface-rgb),.58); color: var(--charcoal); transition: border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease; }
body .hq-archive-folders button::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: var(--florentini-green); opacity: .18; }
body .hq-archive-folders button:hover { border-color: color-mix(in srgb,var(--florentini-green) 34%,var(--glass-border-soft)); background: color-mix(in srgb,var(--florentini-green) 7%,rgba(var(--surface-rgb),.72)); transform: translateY(-1px); }
body .hq-archive-folders button.active { border-color: color-mix(in srgb,var(--florentini-green) 62%,transparent); background: linear-gradient(135deg,color-mix(in srgb,var(--florentini-green) 14%,rgba(var(--surface-rgb),.82)),rgba(var(--surface-rgb),.78)); box-shadow: 0 10px 22px rgba(65,87,58,.10),inset 0 0 0 1px color-mix(in srgb,var(--florentini-green) 12%,transparent); }
body .hq-archive-folders button.active::before { height: 3px; opacity: 1; }
body .hq-archive-folders button > span { width: 37px; height: 37px; display: grid; place-items: center; border: 1px solid color-mix(in srgb,var(--florentini-green) 34%,transparent); border-radius: 11px; background: var(--green-wash); color: var(--florentini-green-deep); font: 700 10px var(--font-mono); box-shadow: inset 0 1px 0 rgba(255,255,255,.74); }
body .hq-archive-folders button.active > span { border-color: var(--florentini-green); background: var(--florentini-green); color: #fff; }
body .hq-archive-folders button > div { min-width: 0; }
body .hq-archive-folders button b { overflow: hidden; color: var(--charcoal); font-size: 10px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; text-transform: none; }
body .hq-archive-folders button small { margin-top: 4px; color: var(--gray); font: 7.5px var(--font-mono); }
body .hq-archive-document { width: 100%; padding: 16px; }

@media (max-width: 1180px) {
  body .hq-archive-folders { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .settings-icon-style-grid-v32 { grid-template-columns: 1fr; }
  .settings-icon-style-grid-v32 > button { min-height: 68px; }
  .settings-icon-color-grid-v33 > button { min-height: 74px; }
  .settings-accent-visibility-v31 { align-items: stretch; flex-direction: column; }
  .settings-accent-visibility-v31 .settings-segmented { min-width: 0; width: 100%; }
  .settings-section-accent-row-v30 { grid-template-columns: 30px 36px minmax(0,1fr) 58px; }
  .settings-section-icon-mode-v32 { grid-column: 3; }
  .settings-section-mark-v30 { grid-column: 4; }
  .settings-section-accent-list-v30 { overflow: visible; }

  body.florentini-chat-screen-v30 .chat-textarea-wrap-v11 textarea,
  body.florentini-chat-screen-v30 .chat-message-search-v11 input,
  body.florentini-chat-screen-v30 .chat-list-search-v11 input { font-size: 16px !important; }
  body.florentini-chat-screen-v30 .chat-composer-v11 { padding-bottom: max(4px,env(safe-area-inset-bottom)); }
  body.florentini-chat-screen-v30 .chat-shell-v11 { border-radius: 0 !important; }
  body.florentini-chat-screen-v30 .chat-thread-tools-v11 { gap: 2px; }
  body.florentini-chat-screen-v30 .chat-thread-tools-v11 button { width: 31px; height: 31px; }
  body.florentini-chat-screen-v30 .chat-quick-settings-v18 { display: none; }
  body.florentini-chat-screen-v30 .chat-compose-row-v11.chat-compose-row-v16 { padding-bottom: max(5px,env(safe-area-inset-bottom)); }

  .hq-doc-layout-v30 { grid-template-columns: 1fr; margin-inline: 0; }
  .hq-doc-nav-v30 { display: none; }
  .hq-doc-nav-mobile-v30 { display: grid; gap: 6px; margin: 0 0 10px; padding: 11px; }
  .hq-doc-nav-mobile-v30 span { color: var(--gray); font: 8px var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
  .hq-doc-nav-mobile-v30 select { width: 100%; min-height: 44px; border: 1px solid var(--glass-border-soft); border-radius: 11px; background: rgba(var(--surface-rgb),.86); padding: 0 11px; color: var(--charcoal); font-size: 16px; }
  .hq-doc-content-v30 { padding: 13px; }
  .hq-doc-content-head-v30 { grid-template-columns: 40px minmax(0,1fr); }
  .hq-doc-content-head-v30 > b { grid-column: 2; }
  .hq-doc-content-head-v30 h2 { font-size: 20px; }

  body .hq-archive-layout { margin-inline: 0; }
  body .hq-archive-folders { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 9px; }
  body .hq-archive-folders button { min-height: 64px; grid-template-columns: 34px minmax(0,1fr); padding: 8px; }
  body .hq-archive-folders button > span { width: 34px; height: 34px; }
  body .hq-archive-document { padding: 12px; }

  .hq-archive-table-wrap { overflow: visible !important; }
  .hq-archive-table { min-width: 0 !important; display: block; }
  .hq-archive-table thead { display: none; }
  .hq-archive-table tbody { display: grid; gap: 8px; }
  .hq-archive-table tr { display: grid; gap: 0; overflow: hidden; border: 1px solid var(--gray-mist); border-left: 3px solid var(--florentini-green); border-radius: 13px; background: rgba(var(--surface-rgb),.76); }
  .hq-archive-table tr.deviation { border-left-color: var(--terracotta); }
  .hq-archive-table td { display: grid; grid-template-columns: minmax(92px,.42fr) minmax(0,1fr); gap: 8px; border: 0 !important; border-bottom: 1px solid var(--gray-mist) !important; padding: 8px 10px !important; overflow-wrap: anywhere; }
  .hq-archive-table td:last-child { border-bottom: 0 !important; }
  .hq-archive-table td::before { color: var(--gray); font: 7px var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
  .hq-archive-table td:nth-child(1)::before { content: "Дата / время"; }
  .hq-archive-table td:nth-child(2)::before { content: "Журнал"; }
  .hq-archive-table td:nth-child(3)::before { content: "Объект"; }
  .hq-archive-table td:nth-child(4)::before { content: "Значение"; }
  .hq-archive-table td:nth-child(5)::before { content: "Результат"; }
  .hq-archive-table td:nth-child(6)::before { content: "Ответственный"; }
  .hq-archive-table td:nth-child(7)::before { content: "Комментарий"; }
  .hq-archive-table td[colspan] { display: block; }
  .hq-archive-table td[colspan]::before { content: none; }
}

/* Real technological-card ingredient matrix imported from the source workbooks. */
.tech-tile-copy h3 {
  font-size: 18px;
  line-height: 1.18;
  font-weight: 500;
}
.tech-tile-copy p {
  font-size: 12px;
  line-height: 1.42;
  font-weight: 400;
}
.tech-modal-copy h2 {
  font-size: clamp(30px,3vw,46px);
  line-height: 1.08;
  font-weight: 500;
}
.tech-modal-sections .tech-ingredients-section {
  grid-column: 1 / -1;
  min-height: 0;
}
.tech-ingredient-scroll {
  overflow-x: auto;
  border: 1px solid var(--glass-border-soft);
  border-radius: 14px;
  background: rgba(var(--surface-rgb),.48);
}
.tech-ingredient-table {
  min-width: 610px;
}
.tech-ingredient-row {
  display: grid;
  grid-template-columns: 34px minmax(190px,1.7fr) 46px 66px 66px 74px;
  align-items: stretch;
  border-top: 1px solid var(--glass-border-soft);
}
.tech-ingredient-row:first-child {
  border-top: 0;
}
.tech-ingredient-row > * {
  min-width: 0;
  padding: 9px 10px;
  border-left: 1px solid var(--glass-border-soft);
  color: var(--graphite);
  font: 12px/1.35 var(--font-sans);
  overflow-wrap: anywhere;
}
.tech-ingredient-row > *:first-child {
  border-left: 0;
  text-align: center;
}
.tech-ingredient-row > span:not(:nth-child(2)) {
  text-align: center;
  font-variant-numeric: tabular-nums;
}
.tech-ingredient-row strong {
  font-weight: 500;
}
.tech-ingredient-row.head {
  background: color-mix(in srgb,var(--florentini-green-mist) 55%,rgba(var(--surface-rgb),.84));
}
.tech-ingredient-row.head > * {
  color: var(--gray);
  font: 600 9px/1.25 var(--font-mono);
  letter-spacing: .07em;
  text-align: center;
  text-transform: uppercase;
}
.tech-load-more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 20px 0 4px;
}
.tech-load-more > span {
  color: var(--gray);
  font: 10px var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tech-modal-actions a.btn {
  text-decoration: none;
}
body[data-theme="night"] .tech-ingredient-scroll {
  background: rgba(var(--surface-rgb),.34);
}
body[data-theme="night"] .tech-ingredient-row.head {
  background: rgba(143,177,116,.12);
}
@media (max-width: 760px) {
  .tech-modal-sections {
    grid-template-columns: minmax(0,1fr);
  }
  .tech-modal-sections section,
  .tech-modal-sections section:nth-child(2),
  .tech-modal-sections .tech-ingredients-section {
    grid-column: 1;
  }
  .tech-load-more {
    flex-direction: column;
  }
}

@media (max-width: 430px) {
  .settings-icon-color-grid-v33 { grid-template-columns: 1fr; }
  .settings-icon-style-caption-v33 { align-items: flex-start; flex-direction: column; gap: 3px; }
  .settings-section-accent-row-v30 { grid-template-columns: 29px 36px minmax(0,1fr); }
  .settings-section-color-v30 { grid-column: 2; }
  .settings-section-icon-mode-v32 { grid-column: 3; }
  .settings-section-mark-v30 { grid-column: 3; }
  .settings-section-color-v30 input { width: 44px; }
  .chat-filter-v11 button { font-size: 7px !important; }
  .chat-list-v11 > header > div { gap: 6px; }
  .chat-exit-fullscreen-v30 { width: 31px; height: 31px; }
  .hq-doc-content-head-v30 p { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .v5-nav-item,
  .hq-doc-nav-v30 > button { transition: none !important; }
}

/* v34 settings architecture: document-like catalog + Telegram-style categories. */
.settings-workbench-v34 { min-width: 0; display: grid; grid-template-columns: 218px minmax(0,1fr); gap: 14px; align-items: start; }
.settings-workbench-content-v34 { min-width: 0; }
.settings-studio-tabs.settings-catalog-v34 { position: sticky; top: 82px; z-index: 24; display: grid; grid-template-columns: minmax(0,1fr) !important; align-content: start; gap: 5px; margin: 0; padding: 9px; border-radius: 19px; }
.settings-studio-tabs.settings-catalog-v34 button { position: relative; min-width: 0; min-height: 54px; display: grid; grid-template-columns: 34px minmax(0,1fr) 14px; gap: 10px; align-items: center; align-content: center; overflow: hidden; padding: 8px 9px; border: 1px solid transparent; border-radius: 13px; background: transparent; color: var(--graphite); text-align: left; box-shadow: none; }
.settings-studio-tabs.settings-catalog-v34 button::before { content: ""; position: absolute; inset: 8px auto 8px 0; width: 3px; border-radius: 0 4px 4px 0; background: var(--settings-tab-color); opacity: 0; transform: scaleY(.4); transition: opacity .18s ease,transform .18s ease; }
.settings-studio-tabs.settings-catalog-v34 button:hover { border-color: color-mix(in srgb,var(--settings-tab-color) 22%,var(--glass-border-soft)); background: color-mix(in srgb,var(--settings-tab-color) 7%,rgba(var(--surface-rgb),.54)); }
.settings-studio-tabs.settings-catalog-v34 button.active { border-color: color-mix(in srgb,var(--settings-tab-color) 34%,var(--glass-border-soft)); background: linear-gradient(110deg,color-mix(in srgb,var(--settings-tab-color) 13%,rgba(var(--surface-rgb),.82)),rgba(var(--surface-rgb),.52)); color: var(--charcoal); box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--settings-tab-color) 8%,transparent),0 7px 18px rgba(35,48,34,.06); }
.settings-studio-tabs.settings-catalog-v34 button.active::before { opacity: 1; transform: scaleY(1); }
.settings-tab-icon-v34 { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid color-mix(in srgb,var(--settings-tab-color) 64%,#fff); border-radius: 10px; background: linear-gradient(145deg,color-mix(in srgb,var(--settings-tab-color) 76%,#fff 24%),var(--settings-tab-color)); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.38),0 4px 9px color-mix(in srgb,var(--settings-tab-color) 20%,transparent); }
.settings-tab-icon-v34 svg { width: 17px; height: 17px; stroke-width: 1.8; }
.settings-catalog-v34 button > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.settings-catalog-v34 button b { overflow: hidden; font-size: 10.5px; text-overflow: ellipsis; white-space: nowrap; }
.settings-catalog-v34 button small { overflow: hidden; color: var(--gray); font: 7.5px var(--font-mono); text-overflow: ellipsis; white-space: nowrap; }
.settings-catalog-v34 button > strong { color: color-mix(in srgb,var(--settings-tab-color) 72%,var(--gray)); font-size: 18px; font-weight: 400; }

.settings-overview-v34 { display: grid; gap: 12px; }
.settings-overview-hero-v34 { min-height: 162px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 22px; align-items: center; overflow: hidden; padding: 24px 25px; border-radius: 22px; background-image: radial-gradient(circle at 90% 10%,rgba(111,143,95,.18),transparent 32%),linear-gradient(125deg,rgba(var(--surface-rgb),.88),rgba(111,143,95,.07)); }
.settings-overview-hero-v34 > div { min-width: 0; }
.settings-overview-hero-v34 > div > span { color: var(--florentini-green-deep); font: 8px var(--font-mono); letter-spacing: .18em; text-transform: uppercase; }
.settings-overview-hero-v34 h2 { margin: 7px 0 6px; color: var(--charcoal); font: 500 clamp(27px,3vw,39px)/1.05 var(--font-serif); }
.settings-overview-hero-v34 p { max-width: 580px; margin: 0; color: var(--gray); font-size: 11px; line-height: 1.55; }
.settings-overview-hero-v34 > button { min-width: 204px; min-height: 70px; display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 10px; align-items: center; padding: 12px 14px; border: 1px solid color-mix(in srgb,var(--florentini-green) 40%,var(--glass-border-soft)); border-radius: 16px; background: linear-gradient(135deg,var(--florentini-green-deep),color-mix(in srgb,var(--florentini-green) 78%,#243b29)); color: #fff; text-align: left; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.2),0 12px 28px rgba(42,72,43,.16); }
.settings-overview-hero-v34 > button svg { width: 28px; height: 28px; }
.settings-overview-hero-v34 > button span { display: grid; gap: 3px; }
.settings-overview-hero-v34 > button b { font-size: 11px; }
.settings-overview-hero-v34 > button small { color: rgba(255,255,255,.72); font: 7px var(--font-mono); }
.settings-overview-grid-v34 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.settings-overview-grid-v34 > button { position: relative; min-width: 0; min-height: 94px; display: grid; grid-template-columns: 44px minmax(0,1fr) 18px; gap: 13px; align-items: center; overflow: hidden; padding: 14px 15px; border: 1px solid var(--glass-border-soft); border-radius: 18px; background: rgba(var(--surface-rgb),.58); color: var(--charcoal); text-align: left; cursor: pointer; transition: border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease; }
.settings-overview-grid-v34 > button::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--settings-category-color); opacity: .7; }
.settings-overview-grid-v34 > button:hover { border-color: color-mix(in srgb,var(--settings-category-color) 38%,var(--glass-border-soft)); background: color-mix(in srgb,var(--settings-category-color) 7%,rgba(var(--surface-rgb),.76)); box-shadow: 0 10px 24px color-mix(in srgb,var(--settings-category-color) 11%,transparent); transform: translateY(-1px); }
.settings-overview-grid-v34 > button.featured { grid-column: 1 / -1; min-height: 104px; background: linear-gradient(120deg,color-mix(in srgb,var(--settings-category-color) 11%,rgba(var(--surface-rgb),.76)),rgba(var(--surface-rgb),.58)); }
.settings-overview-icon-v34 { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid color-mix(in srgb,var(--settings-category-color) 68%,#fff); border-radius: 13px; background: linear-gradient(145deg,color-mix(in srgb,var(--settings-category-color) 76%,#fff 24%),var(--settings-category-color)); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.4),0 6px 14px color-mix(in srgb,var(--settings-category-color) 24%,transparent); }
.settings-overview-icon-v34 svg { width: 22px; height: 22px; stroke-width: 1.8; }
.settings-overview-grid-v34 > button > span:nth-child(2) { min-width: 0; display: grid; gap: 3px; }
.settings-overview-grid-v34 b { font-size: 13px; }
.settings-overview-grid-v34 small { color: var(--graphite); font-size: 9px; line-height: 1.35; }
.settings-overview-grid-v34 em { color: var(--gray); font: 7.5px var(--font-mono); font-style: normal; }
.settings-overview-grid-v34 strong { color: color-mix(in srgb,var(--settings-category-color) 72%,var(--gray)); font-size: 24px; font-weight: 400; }
.settings-overview-foot-v34 { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.settings-overview-foot-v34 span { min-height: 35px; display: flex; align-items: center; padding: 8px 11px; border: 1px solid var(--glass-border-soft); border-radius: 11px; background: rgba(var(--surface-rgb),.38); color: var(--gray); font-size: 8px; }

.settings-workbench-content-v34 .settings-dashboard-studio,
.settings-workbench-content-v34 .settings-interface-studio { grid-template-columns: minmax(0,1fr); }
.settings-workbench-content-v34 .settings-preview-sticky { position: relative; top: auto; }
.settings-navigation-visual-v34 { padding: 18px; }
.settings-navigation-visual-v34 > .settings-panel-head { align-items: flex-start; margin-bottom: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--glass-border-soft); }
.settings-navigation-visual-v34 > .settings-panel-head p { max-width: 610px; margin: 5px 0 0; color: var(--gray); font-size: 10px; line-height: 1.5; }
.settings-navigation-icon-studio-v34 { padding: 0; }
.settings-navigation-quick-v34 { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(220px,.55fr); gap: 12px; align-items: stretch; margin-top: 14px; }
.settings-navigation-quick-v34 > .settings-range-control-v15,
.settings-navigation-switches-v34 { padding: 13px; border: 1px solid var(--glass-border-soft); border-radius: 15px; background: rgba(var(--surface-rgb),.42); }
.settings-navigation-switches-v34 { display: grid; align-content: center; gap: 13px; }
.settings-navigation-accents-v34 { margin-top: 14px; padding-top: 16px; border-top: 1px solid var(--glass-border-soft); }
.settings-navigation-structure-v34 { margin-top: 14px; }
.settings-navigation-structure-v34 .settings-sections { padding: 18px; }
.settings-navigation-person-v34 { width: 100%; min-height: 62px; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 11px; align-items: center; margin: 0 0 13px; padding: 10px 12px; border: 1px solid color-mix(in srgb,var(--florentini-green) 30%,var(--glass-border-soft)); border-radius: 14px; background: linear-gradient(110deg,color-mix(in srgb,var(--florentini-green) 8%,rgba(var(--surface-rgb),.66)),rgba(var(--surface-rgb),.48)); color: var(--charcoal); text-align: left; cursor: pointer; }
.settings-navigation-person-v34 > i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg,color-mix(in srgb,var(--person-accent) 70%,#fff),var(--person-accent)); color: #fff; font: 700 12px var(--font-serif); font-style: normal; }
.settings-navigation-person-v34 > span { min-width: 0; display: grid; gap: 2px; }
.settings-navigation-person-v34 small { color: var(--gray); font: 7.5px var(--font-mono); text-transform: uppercase; }
.settings-navigation-person-v34 b { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.settings-navigation-person-v34 em { color: var(--florentini-green-deep); font: 8px var(--font-mono); font-style: normal; }
.settings-team-only-v34 { display: block; }
.settings-team-only-v34 > .settings-employee-panel { width: min(820px,100%); margin-inline: auto; }

@media (max-width: 1120px) {
  .settings-workbench-v34 { grid-template-columns: minmax(0,1fr); }
  .settings-studio-tabs.settings-catalog-v34 { position: relative; top: auto; grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .settings-overview-grid-v34 { grid-template-columns: minmax(0,1fr); }
  .settings-overview-grid-v34 > button.featured { grid-column: auto; }
}

@media (max-width: 760px) {
  .settings-workbench-v34 { gap: 10px; }
  .settings-studio-tabs.settings-catalog-v34 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 5px; padding: 6px; }
  .settings-studio-tabs.settings-catalog-v34 button { min-height: 50px; grid-template-columns: 31px minmax(0,1fr); gap: 8px; padding: 7px; }
  .settings-tab-icon-v34 { width: 31px; height: 31px; border-radius: 9px; }
  .settings-catalog-v34 button > strong { display: none; }
  .settings-catalog-v34 button b { font-size: 9px; }
  .settings-catalog-v34 button small { font-size: 6.5px; }
  .settings-overview-hero-v34 { min-height: 0; grid-template-columns: minmax(0,1fr); padding: 19px; }
  .settings-overview-hero-v34 > button { width: 100%; min-width: 0; }
  .settings-overview-grid-v34 { grid-template-columns: minmax(0,1fr); }
  .settings-overview-foot-v34 { grid-template-columns: minmax(0,1fr); }
  .settings-navigation-quick-v34 { grid-template-columns: minmax(0,1fr); }
  .settings-navigation-visual-v34,
  .settings-navigation-structure-v34 .settings-sections { padding: 12px; }
  .settings-navigation-person-v34 { grid-template-columns: 36px minmax(0,1fr); }
  .settings-navigation-person-v34 em { grid-column: 2; }
}

@media (max-width: 430px) {
  .settings-studio-tabs.settings-catalog-v34 { grid-template-columns: minmax(0,1fr) !important; }
  .settings-overview-hero-v34 h2 { font-size: 27px; }
  .settings-overview-grid-v34 > button { min-height: 88px; grid-template-columns: 40px minmax(0,1fr) 14px; padding: 12px; }
  .settings-overview-icon-v34 { width: 40px; height: 40px; }
}

/* v35 · A movable settings preview that stays useful while controls change. */
.settings-theme-grid {
  grid-auto-rows: 64px;
  align-items: stretch;
}
.settings-theme-grid .settings-choice-card,
.settings-theme-grid .settings-choice-card.theme-white {
  width: 100%;
  height: 64px;
  min-height: 64px;
  grid-template-columns: 34px minmax(0,1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: center;
}
.settings-theme-grid .settings-choice-card > .settings-swatch { grid-column: 1 !important; grid-row: 1 / 3 !important; }
.settings-theme-grid .settings-choice-card > b,
.settings-theme-grid .settings-choice-card > small { grid-column: 2 !important; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.settings-preview-float-v35 {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 4200;
  width: min(520px, calc(100vw - 32px));
  overflow: hidden;
  border: 1px solid color-mix(in srgb,var(--florentini-green) 34%,var(--glass-border));
  border-radius: 20px;
  background: color-mix(in srgb,rgb(var(--surface-rgb)) 92%,var(--florentini-green-mist));
  box-shadow: 0 24px 70px rgba(30,49,33,.22),0 5px 18px rgba(30,49,33,.12),inset 0 1px rgba(255,255,255,.64);
  backdrop-filter: blur(24px) saturate(1.1);
  transition: width .2s ease,box-shadow .2s ease;
}
.settings-preview-float-v35.collapsed { width: min(238px,calc(100vw - 28px)); }
.settings-preview-float-head-v35 {
  min-height: 50px;
  display: grid;
  grid-template-columns: 19px minmax(0,1fr) 30px 30px;
  gap: 8px;
  align-items: center;
  padding: 8px 9px 8px 12px;
  border-bottom: 1px solid var(--glass-border-soft);
  background: linear-gradient(120deg,color-mix(in srgb,var(--florentini-green) 10%,rgba(var(--surface-rgb),.96)),rgba(var(--surface-rgb),.88));
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.settings-preview-float-head-v35:active { cursor: grabbing; }
.settings-preview-float-v35.collapsed .settings-preview-float-head-v35 { border-bottom: 0; }
.settings-preview-drag-v35 { display: grid; grid-template-columns: repeat(2,3px); gap: 3px; place-content: center; }
.settings-preview-drag-v35 i { width: 3px; height: 3px; border-radius: 50%; background: color-mix(in srgb,var(--florentini-green) 64%,var(--gray)); }
.settings-preview-float-head-v35 > span:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.settings-preview-float-head-v35 b { color: var(--charcoal); font-size: 10px; }
.settings-preview-float-head-v35 small { overflow: hidden; color: var(--gray); font: 7px var(--font-mono); text-overflow: ellipsis; white-space: nowrap; }
.settings-preview-float-head-v35 button {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--glass-border-soft);
  border-radius: 10px;
  background: rgba(var(--surface-rgb),.76);
  color: var(--florentini-green-deep);
  cursor: pointer;
  font: 600 13px var(--font-sans);
}
.settings-preview-float-head-v35 button:hover { border-color: var(--florentini-green); background: var(--florentini-green-mist); }
.settings-preview-float-v35 .settings-interface-preview { border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.settings-preview-float-v35 .settings-interface-preview-body { grid-template-columns: 102px minmax(0,1fr); min-height: 480px; }
.settings-preview-float-v35 .settings-interface-preview-body nav { padding: 18px 10px; }
.settings-preview-float-v35 .settings-interface-preview-body nav i { margin-bottom: 14px; font-size: 34px; }
.settings-preview-float-v35 .settings-interface-preview-body nav span { padding: 9px 8px; font-size: 9px; }
.settings-preview-float-v35 .settings-interface-preview-body main { padding: 22px; }
.settings-preview-float-v35 .settings-interface-preview-body h4 { margin: 5px 0 14px; font-size: 29px; }
.settings-preview-float-v35 .settings-preview-card { padding: 15px; }
.settings-preview-float-v35 .settings-preview-card strong { font-size: 28px; }
.settings-preview-float-v35 .settings-scroll-demo { height: 180px; margin: 12px 0; }
.settings-preview-float-v35 .settings-scroll-demo > div { min-height: 36px; padding: 7px 9px; font-size: 9px; }
.settings-preview-float-v35 .settings-interface-preview > p { margin: 0; padding: 8px 12px 10px; border-top: 1px solid var(--glass-border-soft); }

@media (max-width: 760px) {
  .settings-preview-float-v35 { right: 12px; bottom: calc(74px + env(safe-area-inset-bottom,0px)); width: min(356px,calc(100vw - 24px)); }
  .settings-preview-float-v35.collapsed { width: min(220px,calc(100vw - 24px)); }
  .settings-preview-float-v35 .settings-interface-preview-body { min-height: 420px; }
  .settings-preview-float-v35 .settings-interface-preview-body nav { display: none; }
  .settings-preview-float-v35 .settings-interface-preview-body { grid-template-columns: minmax(0,1fr); }
}
