/* EASY-PC 91.9 — public web UI. Generated consolidation bundle. */


/* ===== BEGIN shared/design-system/easy-pc-platform.css ===== */
/* EASY-PC Platform Design System V49.0
   Shared CSS contract for Public Web, Reception Console, Service Workbench and Evidence.
*/
:root {
  --epc-green: #4abc20;
  --epc-green-700: #2f8618;
  --epc-green-100: #edfbe8;
  --epc-green-50: #f7fff5;
  --epc-ink: #101820;
  --epc-graphite: #111827;
  --epc-muted: #667085;
  --epc-line: #e5e7eb;
  --epc-line-strong: #d0d5dd;
  --epc-bg: #f6f8f7;
  --epc-panel: #ffffff;
  --epc-danger: #b42318;
  --epc-danger-bg: #fff1f0;
  --epc-warn: #b54708;
  --epc-warn-bg: #fffaeb;
  --epc-ok: #027a48;
  --epc-ok-bg: #ecfdf3;
  --epc-info: #175cd3;
  --epc-info-bg: #eff6ff;
  --epc-radius-sm: 8px;
  --epc-radius-md: 12px;
  --epc-radius-lg: 16px;
  --epc-radius-xl: 22px;
  --epc-gap-1: 4px;
  --epc-gap-2: 8px;
  --epc-gap-3: 12px;
  --epc-gap-4: 16px;
  --epc-gap-5: 24px;
  --epc-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif;
  --epc-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --green: var(--epc-green);
  --green-dark: var(--epc-green-700);
  --green-soft: var(--epc-green-100);
  --text: var(--epc-ink);
  --ink: var(--epc-ink);
  --muted: var(--epc-muted);
  --line: var(--epc-line);
  --bg: var(--epc-bg);
  --card: var(--epc-panel);
  --white: var(--epc-panel);
  --danger: var(--epc-danger);
  --ok: var(--epc-ok);
}

:where(body, button, input, textarea, select) { font-family: var(--epc-font-sans); }
:where(:focus-visible) { outline: 3px solid rgba(74, 188, 32, .35); outline-offset: 2px; }

.epc-shell { min-height: 100vh; background: var(--epc-bg); color: var(--epc-ink); }
.epc-main { width: min(100%, 1680px); margin-inline: auto; padding: var(--epc-gap-4); }
.epc-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--epc-gap-4); align-items: stretch; }
.epc-col-12 { grid-column: span 12; }
.epc-col-8 { grid-column: span 8; }
.epc-col-6 { grid-column: span 6; }
.epc-col-4 { grid-column: span 4; }
.epc-col-3 { grid-column: span 3; }
.epc-card, .platform-card { background: #fff; border: 1px solid var(--epc-line); border-radius: var(--epc-radius-lg); box-shadow: none; padding: var(--epc-gap-4); }
.epc-card-title { margin: 0 0 8px; font-size: 18px; font-weight: 850; letter-spacing: -.025em; }
.epc-card-subtitle { margin: 0; color: var(--epc-muted); font-size: 13px; font-weight: 700; }
.epc-tabs { display: flex; gap: 8px; align-items: center; overflow-x: auto; padding: 4px; border: 1px solid var(--epc-line); background: #fff; border-radius: var(--epc-radius-lg); }
.epc-tab { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 12px; border-radius: 12px; font-weight: 850; color: var(--epc-muted); text-decoration: none; white-space: nowrap; }
.epc-tab:hover { background: #f2f4f7; text-decoration: none; }
.epc-tab.is-active, .epc-tab.active { color: #14532d; background: var(--epc-green-100); }
.epc-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 26px; padding: 4px 9px; border-radius: 999px; border: 1px solid var(--epc-line); background: #fff; color: var(--epc-muted); font-size: 12px; font-weight: 850; white-space: nowrap; }
.epc-badge.is-ok, .status-done, .status-synced { background: var(--epc-ok-bg); border-color: #b7ebce; color: var(--epc-ok); }
.epc-badge.is-warn, .status-warning, .status-queued { background: var(--epc-warn-bg); border-color: #fedf89; color: var(--epc-warn); }
.epc-badge.is-error, .status-failed { background: var(--epc-danger-bg); border-color: #fecdca; color: var(--epc-danger); }
.epc-badge.is-info, .status-sent { background: var(--epc-info-bg); border-color: #bfdbfe; color: var(--epc-info); }
.epc-button, .btn, button.btn { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 12px; border: 1px solid var(--epc-line-strong); background: #fff; color: var(--epc-ink); padding: 8px 12px; font-weight: 850; text-decoration: none; }
.epc-button:hover, .btn:hover { text-decoration: none; background: #f8fafc; }
.epc-button.is-primary, .btn.primary, .btn-primary { background: var(--epc-green); border-color: var(--epc-green); color: #0b1f0b; }
.epc-button.is-danger, .btn.danger { background: #fff; border-color: #fecaca; color: var(--epc-danger); }
.epc-list-detail { display: grid; grid-template-columns: minmax(320px, 420px) minmax(0, 1fr); gap: var(--epc-gap-4); align-items: start; }
.epc-flow { display: flex; align-items: center; gap: 8px; overflow-x: auto; padding: 8px; border: 1px solid var(--epc-line); border-radius: var(--epc-radius-lg); background: #fff; }
.epc-flow-step { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 6px 10px; border-radius: 999px; border: 1px solid var(--epc-line); background: #fff; color: var(--epc-muted); font-size: 12px; font-weight: 900; white-space: nowrap; }
.epc-flow-step.is-current, .epc-flow-step.is-active { background: var(--epc-green-100); border-color: #b7ebce; color: #166534; }
.epc-flow-arrow { color: #98a2b3; font-weight: 900; }
.epc-log, .log-panel, pre.log-panel, pre.cli, .cli-block { max-height: 380px; overflow: auto; background: #0b1110; color: #d7f5dd; border-radius: var(--epc-radius-md); padding: 12px; font-family: var(--epc-font-mono); font-size: 12px; line-height: 1.45; white-space: pre; }
.epc-table-wrap { overflow: auto; border: 1px solid var(--epc-line); border-radius: var(--epc-radius-lg); background: #fff; }
.epc-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.epc-table th, .epc-table td { padding: 10px 12px; border-bottom: 1px solid var(--epc-line); text-align: left; vertical-align: top; }
.epc-table th { color: var(--epc-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; background: #f8fafc; }
.epc-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; margin-block: 12px; }
.epc-field { display: grid; gap: 6px; }
.epc-field label, .epc-label { font-size: 12px; font-weight: 850; color: var(--epc-muted); }
.epc-input, .epc-select, .epc-textarea, input[type="text"], input[type="search"], input[type="email"], input[type="tel"], input[type="number"], select, textarea { min-height: 40px; border: 1px solid var(--epc-line-strong); border-radius: 12px; background: #fff; color: var(--epc-ink); padding: 8px 10px; }
.sidebar, .admin-sidebar, .evidence-sidebar { border-right-color: var(--epc-line); }
.nav-group-label { color: var(--epc-muted); font-size: 11px; font-weight: 950; text-transform: uppercase; letter-spacing: .07em; }
.main-panel { border-radius: var(--epc-radius-lg); }
.card, .panel, .box, .detail-panel, .workbench-detail, .workbench-list, .evidence-panel { border-color: var(--epc-line); }
@media (max-width: 960px) { .epc-grid { grid-template-columns: 1fr; } .epc-col-12, .epc-col-8, .epc-col-6, .epc-col-4, .epc-col-3 { grid-column: 1 / -1; } .epc-list-detail { grid-template-columns: 1fr; } .epc-main { padding: 12px; } }
/* ===== END shared/design-system/easy-pc-platform.css ===== */


/* ===== BEGIN assets/css/app.css ===== */
:root {
  --green: #7fbe43;
  --green-dark: #4d9a2f;
  --green-soft: #edf8e8;
  --ink: #101820;
  --text: #101820;
  --graphite: #111827;
  --muted: #5f6f7f;
  --line: #e3eaf0;
  --soft: #f7faf8;
  --card: #fff;
  --dark: #071019;
  --danger: #b42318;
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --shadow: 0 18px 46px rgba(16, 24, 40, .075);
  --shadow-sm: 0 8px 26px rgba(16, 24, 40, .055);
  --max: 1720px;
  --edge: clamp(18px, 2.4vw, 44px);
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: linear-gradient(180deg, #fff 0%, #f8faf9 100%);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.46;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body, button, input, textarea, select { font: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { cursor: pointer; }
[hidden] { display: none !important; }

.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.green { color: var(--green); }
.muted { color: var(--muted); }
.ico { width: 26px; height: 26px; color: var(--green); flex: 0 0 auto; }
.text-link { color: var(--green-dark); font-weight: 850; }
.text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.eyebrow { margin: 0 0 10px; color: var(--green-dark); font-size: 13px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }

h1, h2, h3, .main-nav, .btn, .text-link, .price-value { font-weight: 850; letter-spacing: -.035em; }
p, li, small, input, textarea, select { letter-spacing: -.01em; }

.site-header, .page-shell { width: min(var(--max), calc(100% - var(--edge) * 2)); margin-inline: auto; }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 18px var(--edge) 14px; }
.brand { display: inline-flex; align-items: center; width: clamp(175px, 14vw, 245px); flex: 0 0 auto; }
.brand img { width: 100%; height: auto; }
.main-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(22px, 3.2vw, 50px); font-size: clamp(15px, 1vw, 18px); }
.main-nav a { padding: 12px 2px 13px; border-bottom: 3px solid transparent; white-space: nowrap; }
.main-nav a:hover, .main-nav a.is-active { color: var(--green-dark); border-color: var(--green); }
.page-shell { margin-bottom: 38px; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 54px; padding: 0 26px; border: 1px solid var(--line); border-radius: 15px; background: #fff; color: var(--ink); font-weight: 850; box-shadow: 0 8px 22px rgba(16,24,40,.055); white-space: nowrap; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.btn:hover { transform: translateY(-1px); box-shadow: var(--shadow); }
.btn-primary { background: linear-gradient(180deg, #8ccf52, #70b933); border-color: var(--green); color: #071019; }
.btn-secondary { background: #fff; }
.btn-quiet { background: #fff; box-shadow: none; }
.btn-danger { color: var(--danger); }
.btn .ico { width: 21px; height: 21px; color: currentColor; }

.hero-grid, .home-content { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); gap: 20px; align-items: stretch; }
.hero-copy, .hero-image, .panel, .service-tile, .work-card, .tracking-strip, .site-footer, .cta-band, .price-panel, .form-card, .contact-card, .page-hero, .panel-thin { border: 1px solid var(--line); border-radius: var(--radius-xl); background: var(--card); box-shadow: var(--shadow-sm); }
.hero-copy { min-width: 0; padding: clamp(34px, 4.2vw, 58px) var(--edge); background: linear-gradient(135deg, #f4fbf5 0%, #fff 82%); display: flex; flex-direction: column; justify-content: center; }
.hero-copy h1 { margin: 0; max-width: 960px; font-size: clamp(42px, 3.65vw, 66px); line-height: .98; letter-spacing: -.065em; }
.hero-title-tail { display: inline-block; }
.hero-lead { max-width: 660px; margin: 22px 0 0; color: var(--muted); font-size: clamp(17px, 1.12vw, 21px); line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.hero-actions .btn-primary { min-width: min(100%, 300px); }
.hero-image { min-height: 340px; overflow: hidden; }
.hero-image img, .page-hero img { width: 100%; height: 100%; object-fit: cover; }

.home-content { margin-top: 20px; grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr); }
.panel { padding: clamp(24px, 2.4vw, 36px); }
.section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.section-head h2, .panel h2, .tracking-strip h2, .contact-card h2, .footer-card h2, .cta-band h2 { margin: 0; font-size: clamp(28px, 2.1vw, 38px); line-height: 1.13; letter-spacing: -.045em; }
.section-head .text-link { flex: 0 0 auto; }
.services-mini { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.service-chip { display: flex; align-items: center; gap: 14px; min-height: 78px; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; font-weight: 850; }
.service-chip:hover { border-color: rgba(127,190,67,.55); }
.service-chip .ico { width: 31px; height: 31px; }
.panel-link { margin: 20px 0 0; }

.work-row, .work-page-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.work-page-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 22px; gap: 22px; }
.work-card { overflow: hidden; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.work-card:hover { transform: translateY(-2px); border-color: rgba(127,190,67,.55); box-shadow: var(--shadow); }
.work-card img { width: 100%; height: 150px; object-fit: cover; }
.work-page-grid .work-card img { height: 250px; }
.work-card-body { display: grid; gap: 9px; padding: 17px; }
.work-card h3 { margin: 0; font-size: clamp(18px, 1.18vw, 23px); line-height: 1.18; letter-spacing: -.025em; }
.work-card p { margin: 0; line-height: 1.45; }
.card-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.read-more { margin-top: 4px; color: var(--green-dark); font-weight: 850; }
.tag { display: inline-flex; align-items: center; width: fit-content; padding: 6px 11px; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-size: 13px; font-weight: 850; }

.page-hero { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 0; min-height: 320px; overflow: hidden; background: linear-gradient(135deg, #f8fbf8 0%, #fff 70%); }
.page-hero-compact { min-height: 285px; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.page-hero .copy { padding: clamp(34px, 4vw, 60px) var(--edge); align-self: center; }
.page-hero-compact .copy { padding-block: clamp(30px, 3.4vw, 52px); }
.crumbs { color: var(--muted); margin-bottom: 16px; font-weight: 750; }
.crumbs a { color: var(--muted); }
.crumbs a:hover { color: var(--green-dark); }
.page-hero h1 { margin: 0; font-size: clamp(40px, 3.45vw, 62px); line-height: 1.03; letter-spacing: -.055em; }
.page-hero p { max-width: 720px; margin: 18px 0 0; color: var(--muted); font-size: clamp(17px, 1.25vw, 22px); }

.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 22px; }
.service-tile { padding: clamp(24px, 2.4vw, 34px); min-height: 282px; display: flex; flex-direction: column; gap: 14px; }
.service-tile:hover { border-color: rgba(127,190,67,.55); box-shadow: var(--shadow); }
.service-tile .ico { width: 42px; height: 42px; }
.service-tile h2 { margin: 0; font-size: clamp(24px, 1.65vw, 32px); line-height: 1.16; }
.service-tile p { margin: 0; color: var(--muted); }
.tile-link { margin-top: auto; color: var(--green-dark); font-weight: 850; }
.mini-list { display: grid; gap: 7px; margin: 2px 0 0; padding: 0; list-style: none; color: var(--muted); }
.mini-list li { position: relative; padding-left: 20px; }
.mini-list li::before { content: ""; position: absolute; left: 0; top: .72em; width: 7px; height: 7px; border-radius: 50%; background: var(--green); }

.cta-band { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; margin-top: 22px; padding: clamp(22px, 2.5vw, 32px); background: linear-gradient(135deg, #f8fcf7, #fff); }
.round-send, .track-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; background: var(--green-soft); }
.round-send .ico { width: 34px; height: 34px; }
.cta-band p { margin: 6px 0 0; }

.panel-thin { margin-top: 22px; padding: clamp(20px, 2.2vw, 30px); }
.news-toolbar { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: end; gap: 24px; }
.news-toolbar h2 { margin: 0; font-size: clamp(24px, 2vw, 34px); }
.filter-row, .price-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.news-toolbar .filter-row { margin-top: 0; justify-content: flex-end; }
.filter-row button, .price-tabs button { min-height: 44px; border: 1px solid var(--line); border-radius: 999px; background: #fff; padding: 0 17px; font-weight: 850; color: var(--ink); }
.filter-row button.active, .price-tabs button.active { border-color: var(--green); background: var(--green); }
.center-actions { display: flex; justify-content: center; margin-top: 22px; }
.news-card img { aspect-ratio: 16/10; height: auto; }

.article-detail { display: grid; gap: 22px; }
.article-hero { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); border: 1px solid var(--line); border-radius: var(--radius-xl); overflow: hidden; background: #fff; box-shadow: var(--shadow-sm); }
.article-copy { padding: clamp(34px, 4.2vw, 60px) var(--edge); align-self: center; }
.article-copy h1 { margin: 14px 0 16px; font-size: clamp(40px, 3.55vw, 62px); line-height: 1.03; letter-spacing: -.055em; }
.article-copy p { color: var(--muted); font-size: clamp(17px, 1.2vw, 21px); max-width: 760px; }
.article-image { margin: 0; min-height: 330px; }
.article-image img { width: 100%; height: 100%; object-fit: cover; }
.article-body-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr); gap: 22px; }
.article-main h2 { margin-top: 0; }
.news-detail-content { color: #233040; font-size: 18px; line-height: 1.65; max-width: 920px; }
.article-aside { align-self: start; display: grid; gap: 18px; }
.detail-list { display: grid; gap: 12px; margin: 0; }
.detail-list div { padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--soft); }
.detail-list dt { color: var(--muted); font-size: 13px; font-weight: 800; }
.detail-list dd { margin: 2px 0 0; font-weight: 800; }
.article-gallery { margin-top: 34px; }
.gallery-head { margin-bottom: 14px; }
.gallery-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; }
.gallery-item { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.gallery-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.gallery-item span { position: absolute; left: 10px; top: 10px; padding: 5px 9px; border-radius: 999px; background: var(--green); font-size: 12px; font-weight: 850; }

.price-panel { margin-top: 22px; }
.price-head { align-items: end; }
.price-head-note { max-width: 520px; text-align: right; }
.price-list { display: grid; gap: 12px; margin-top: 22px; }
.price-item { border: 1px solid var(--line); border-radius: var(--radius-md); background: #fff; }
.price-detail { display: block; padding: 0; overflow: hidden; }
.price-detail summary { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 18px; padding: 20px; cursor: pointer; list-style: none; }
.price-detail summary::-webkit-details-marker { display: none; }
.price-title { display: block; margin-bottom: 4px; font-size: 20px; }
.price-sub { display: block; color: var(--muted); }
.price-value { white-space: nowrap; font-size: 19px; }
.price-chevron { color: var(--muted); font-size: 22px; transition: transform .15s ease; }
.price-detail[open] .price-chevron { transform: rotate(180deg); }
.price-detail-body { padding: 0 20px 20px 64px; color: var(--muted); }
.price-detail-body p { margin: 0 0 10px; max-width: 760px; }
.price-empty { margin-top: 18px; }
.notice { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(135deg, #f7fbf7, #fff); }
.notice-copy { display: flex; align-items: center; gap: 16px; }
.notice h2, .notice h3 { margin: 0; }
.notice p { margin: 4px 0 0; }

.form-grid, .contact-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 22px; margin-top: 22px; }
.form-card, .contact-card { padding: clamp(24px, 2.4vw, 38px); }
.form-card h2, .contact-card h2 { margin-bottom: 20px; }
label { display: grid; gap: 8px; font-weight: 800; }
.form-card label + label, .admin-card label + label, .admin-editor label + label, .admin-banner-body label + label { margin-top: 16px; }
input, textarea, select { width: 100%; min-height: 56px; border: 1px solid var(--line); border-radius: 14px; padding: 0 18px; background: #fff; color: var(--ink); outline: none; }
input:focus, textarea:focus, select:focus { border-color: var(--green); box-shadow: 0 0 0 4px rgba(127,190,67,.16); }
textarea { min-height: 150px; padding-block: 16px; resize: vertical; }
.hp-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.upload-box { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 16px; padding: 18px; border: 1px dashed rgba(127,190,67,.8); border-radius: var(--radius-md); background: #fbfef9; cursor: pointer; }
.upload-box input { display: none; }
.upload-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; background: var(--green-soft); }
.upload-icon .ico { width: 28px; height: 28px; }
.upload-box small { display: block; margin-top: 4px; color: var(--muted); font-weight: 500; }
.upload-preview { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 18px; }
.upload-preview span { display: grid; gap: 2px; padding: 7px 10px; border-radius: 14px; background: var(--green-soft); color: var(--green-dark); font-size: 13px; font-weight: 800; }
.upload-preview span em { font-style: normal; overflow-wrap: anywhere; }
.upload-preview span small { color: var(--muted); font-size: 11px; font-weight: 650; }
.upload-preview > strong { width: 100%; color: #a12622; font-size: 13px; }
.upload-preview.has-error span { background: #fff2f1; color: #8d201d; }
.form-status { display: none; margin: 14px 0; padding: 14px 16px; border-radius: 14px; font-weight: 800; }
.form-status.is-visible { display: block; }
.form-status.is-success { background: #effaf1; color: #0b6b2b; border: 1px solid #bfe9c7; }
.form-status.is-error { background: #fff5f5; color: #9f1d1d; border: 1px solid #ffc9c9; }
.form-context { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-bottom: 18px; padding: 14px 16px; border: 1px solid rgba(127,190,67,.35); border-radius: 14px; background: var(--green-soft); }
.form-context strong { color: var(--green-dark); }

.contact-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.contact-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; }
.contact-map-card { display: grid; grid-template-columns: minmax(300px,.7fr) minmax(0,1.3fr); gap: 24px; align-items: stretch; grid-column: span 2; }
.map-embed { position: relative; min-height: 330px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--soft); }
.map-embed iframe { width: 100%; height: 100%; min-height: 330px; border: 0; }
.map-fallback { position: absolute; right: 14px; bottom: 14px; padding: 10px 14px; border-radius: 999px; background: #fff; box-shadow: var(--shadow-sm); color: var(--green-dark); font-weight: 850; }

.tracking-strip { margin-top: 22px; padding: clamp(22px, 2.5vw, 34px); display: grid; grid-template-columns: minmax(250px,.78fr) minmax(320px,.95fr) minmax(420px,1.25fr); gap: 26px; align-items: center; background: radial-gradient(circle at 0 0, rgba(127,190,67,.25), transparent 32%), linear-gradient(135deg, #071019, #0e1821); color: #fff; }
.track-intro { display: flex; align-items: center; gap: 18px; }
.track-icon { background: rgba(255,255,255,.08); }
.track-icon .ico { width: 44px; height: 44px; }
.tracking-strip h2 { color: #fff; }
.tracking-strip p, .strip-benefits small { color: rgba(255,255,255,.72); }
.track-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; }
.track-form .track-note { grid-column: 1/-1; display: flex; align-items: center; gap: 8px; margin: 0; }
.track-form .track-note .ico { width: 18px; height: 18px; }
.strip-benefits { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; padding-left: 22px; border-left: 1px solid rgba(255,255,255,.16); }
.strip-benefits div { display: grid; gap: 5px; }
.strip-benefits strong { font-size: 15px; }
.strip-benefits .ico { width: 30px; height: 30px; }
.tracking-page-panel { display: grid; gap: 18px; margin-top: 22px; }
.tracking-page-form { max-width: 900px; }
.track-result { border: 1px solid var(--line); border-radius: var(--radius-md); padding: 18px 20px; background: #fff; }
.track-result.is-loading { color: var(--muted); }
.track-result.is-error { border-color: #ffd7d7; background: #fff7f7; color: #7a271a; }
.track-result.is-ok { border-color: #b8eac2; background: #f4fbf5; }
.track-result-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.track-result-head strong { font-size: 22px; }
.track-result-head span { color: var(--green-dark); font-weight: 850; }
.track-result p { margin: 0 0 8px; }
.track-result small { color: var(--muted); }

.site-footer { margin-top: 22px; padding: clamp(22px, 2.5vw, 34px); display: grid; grid-template-columns: 1.05fr 1.05fr 1fr 1.05fr; gap: 22px; background: #fff; }
.footer-card h2, .footer-card h3 { margin: 0 0 14px; }
.footer-card h3 { font-size: clamp(20px, 1.35vw, 26px); line-height: 1.18; }
.footer-card p { color: #344054; line-height: 1.55; }
.socials { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.socials a { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 999px; font-weight: 850; background: #fff; }
.socials .ico { width: 21px; height: 21px; color: var(--ink); }
.check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.check-list li { position: relative; padding-left: 30px; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--green-dark); font-weight: 850; }
.map-card a { color: var(--green-dark); font-weight: 850; }
.legal { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px var(--edge) 4px; color: #667085; }
.legal a:hover { color: var(--green-dark); }

.legal-page { margin-top: 22px; max-width: 1060px; }
.legal-page h2 { margin-top: 30px; }
.legal-updated { color: var(--muted); font-weight: 800; }
.legal-notice { margin-top: 30px; }

/* Administrace */
.admin-shell, .admin-news-shell { width: min(1540px, calc(100% - 40px)); margin: 28px auto; }
.admin-card, .admin-editor, .admin-list, .admin-banner-card, .admin-page-head { border: 1px solid var(--line); border-radius: var(--radius-xl); background: #fff; box-shadow: var(--shadow-sm); }
.admin-card { max-width: 520px; margin: 0 auto; padding: 34px; }
.admin-logo { width: 230px; margin-bottom: 22px; }
.admin-help code { background: #f2f4f7; padding: 2px 6px; border-radius: 6px; }
.admin-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.admin-top img { width: 220px; }
.admin-top nav { display: flex; flex-wrap: wrap; gap: 10px; }
.admin-dashboard-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 20px; padding: 28px; }
.admin-dashboard-head h1 { margin: 0; font-size: clamp(30px, 2.8vw, 44px); }
.admin-dashboard-head p { margin-bottom: 0; }
.admin-grid { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 22px; }
.admin-grid-polished { align-items: start; }
.admin-editor, .admin-list, .admin-page-head { padding: 26px; }
.admin-fieldset { border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 22px; margin: 0 0 18px; background: linear-gradient(180deg, #fff, #fbfdfb); }
.admin-fieldset legend { padding: 0 8px; font-size: 20px; font-weight: 850; }
.admin-fieldset small { color: var(--muted); font-weight: 650; }
.admin-hint { margin: 0 0 14px; color: var(--muted); }
.admin-two-cols { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.admin-actions, .admin-item-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.admin-check { display: flex; align-items: center; gap: 10px; margin: 8px 0 16px; }
.admin-check input { width: auto; min-height: auto; }
.admin-upload { margin-top: 4px; }
.admin-new-preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px,1fr)); gap: 12px; margin-top: 14px; }
.admin-new-preview figure, .admin-gallery-item { margin: 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #fff; }
.admin-new-preview img, .admin-gallery-item img { width: 100%; height: 96px; object-fit: cover; }
.admin-new-preview figcaption, .admin-gallery-item figcaption { display: grid; gap: 8px; padding: 10px; font-size: 13px; }
.admin-new-preview input, .admin-gallery-item input { width: auto; min-height: auto; }
.admin-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px,1fr)); gap: 12px; margin-top: 16px; }
.admin-gallery-item.is-cover { border-color: var(--green); box-shadow: 0 0 0 3px rgba(127,190,67,.15); }
.admin-list-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.admin-list-head h2 { margin: 0; }
.admin-count { padding: 8px 12px; border-radius: 999px; background: var(--green-soft); color: var(--green-dark); font-weight: 850; }
.admin-search-box { margin-bottom: 12px; }
.admin-news-list { display: grid; gap: 6px; }
.admin-news-item { display: grid; grid-template-columns: 112px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.admin-news-item img { width: 112px; height: 74px; object-fit: cover; border-radius: 12px; }
.admin-news-item small { display: block; color: var(--muted); margin-top: 4px; }
.admin-banner-grid { display: grid; gap: 22px; margin-top: 22px; }
.admin-banner-card { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); overflow: hidden; }
.admin-banner-preview img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; }
.admin-banner-body { padding: 26px; }

#mobile-cta, .mobile-cta, .mobile-sticky-cta, .bottom-cta, .sticky-cta, .nav-cta { display: none !important; }

@media (min-width: 1180px) {
  .hero-title-tail { white-space: nowrap; }
}

@media (max-width: 1420px) {
  .tracking-strip { grid-template-columns: 1fr; }
  .strip-benefits { border-left: 0; padding-left: 0; }
  .site-footer { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 1100px) {
  .hero-grid, .home-content, .page-hero, .article-hero, .article-body-grid, .form-grid, .contact-grid, .admin-grid, .admin-banner-card, .contact-map-card { grid-template-columns: 1fr; }
  .hero-image { min-height: 260px; }
  .page-hero { min-height: auto; }
  .page-hero img { min-height: 250px; }
  .work-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .work-page-grid, .service-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .news-toolbar { grid-template-columns: 1fr; }
  .news-toolbar .filter-row { justify-content: flex-start; }
  .article-image { min-height: auto; }
  .article-image img { aspect-ratio: 16/9; }
  .contact-map-card { grid-column: auto; }
  .gallery-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  :root { --edge: 14px; }
  .site-header, .page-shell { width: min(100% - 28px, var(--max)); }
  .site-header { display: grid; justify-items: center; gap: 18px; padding-inline: 6px; }
  .brand { width: min(225px, 72vw); }
  .main-nav { width: 100%; justify-content: space-between; gap: 18px; overflow-x: auto; padding-bottom: 3px; font-size: 17px; }
  .main-nav::-webkit-scrollbar { display: none; }
  .hero-copy { padding: 34px 24px 30px; }
  .hero-copy h1 { font-size: clamp(38px, 10.8vw, 52px); line-height: 1.02; }
  .hero-lead { font-size: 18px; }
  .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .hero-actions .btn-primary { grid-column: 1/-1; min-width: 0; }
  .btn { min-height: 56px; padding-inline: 20px; }
  .services-mini, .work-row, .work-page-grid, .service-grid, .site-footer, .gallery-grid, .admin-two-cols { grid-template-columns: 1fr; }
  .panel, .form-card, .contact-card { padding: 24px; }
  .work-page-grid .work-card img { height: auto; }
  .page-hero-compact { grid-template-columns: 1fr; }
  .page-hero-compact img { min-height: 190px; order: -1; opacity: 1; }
  .page-hero .copy { padding: 28px 24px 32px; }
  .page-hero h1, .article-copy h1 { font-size: clamp(36px, 10.2vw, 50px); }
  .cta-band, .notice { grid-template-columns: 1fr; align-items: start; }
  .round-send { width: 54px; height: 54px; border-radius: 16px; }
  .price-head { display: grid; }
  .price-head-note { text-align: left; }
  .price-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; }
  .price-tabs::-webkit-scrollbar { display: none; }
  .price-tabs button { flex: 0 0 auto; }
  .price-detail summary { grid-template-columns: auto minmax(0,1fr); gap: 14px; }
  .price-value { grid-column: 2; }
  .price-chevron { grid-column: 2; justify-self: end; margin-top: -32px; }
  .price-detail-body { padding: 0 18px 18px; }
  .article-copy { padding: 28px 24px 30px; }
  .article-body-grid { gap: 18px; }
  .news-detail-content { font-size: 17px; }
  .tracking-strip { padding: 24px; gap: 18px; }
  .tracking-strip .strip-benefits { display: none; }
  .track-intro { gap: 14px; }
  .track-icon { width: 56px; height: 56px; border-radius: 16px; }
  .track-icon .ico { width: 34px; height: 34px; }
  .track-form { grid-template-columns: 1fr; }
  .track-form input, .track-form button { min-height: 56px; }
  .legal { display: grid; gap: 12px; padding-inline: 4px; }
  .contact-actions { display: grid; }
  .contact-actions .btn { width: 100%; }
  .map-embed, .map-embed iframe { min-height: 260px; }
  .admin-shell, .admin-news-shell { width: min(100% - 24px, 1540px); margin: 20px auto; }
  .admin-top { display: grid; justify-items: start; }
  .admin-dashboard-head { display: grid; }
  .admin-news-item { grid-template-columns: 86px minmax(0,1fr); }
  .admin-news-item img { width: 86px; height: 62px; }
  .admin-item-actions { grid-column: 1/-1; }
  .admin-banner-preview img { min-height: 220px; }
}

@media (max-width: 420px) {
  .site-header, .page-shell { width: min(100% - 24px, var(--max)); }
  .main-nav { gap: 22px; justify-content: flex-start; }
  .hero-copy h1 { font-size: clamp(38px, 11vw, 50px); }
}

/* V28.7 – mobile news/detail robustness
   Prevents horizontal overflow from long unbroken text and makes multi-photo galleries readable on phones. */
html, body { max-width: 100%; overflow-x: hidden; }
.page-shell, .site-header, .panel, .article-detail, .article-hero, .article-copy, .article-main, .article-aside, .news-detail-content, .work-card, .work-card-body, .detail-list, .footer-card, .contact-card, .form-card { min-width: 0; }
.article-copy h1,
.article-copy p,
.news-detail-content,
.news-detail-content *,
.work-card h3,
.work-card p,
.detail-list dd,
.detail-list dt,
.footer-card p,
.map-card p,
.price-detail-body,
.form-status,
.crumbs,
.tag {
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
}
.news-detail-content {
  white-space: normal;
  max-width: 100%;
}
.news-detail-content p { margin: 0 0 1em; }
.news-detail-content p:last-child { margin-bottom: 0; }
.article-gallery { max-width: 100%; overflow: hidden; }
.article-gallery .gallery-grid { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.article-gallery .gallery-item { min-width: 0; }
.article-gallery .gallery-item img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.article-gallery-note { margin: 4px 0 0; color: var(--muted); font-size: 14px; }

@media (max-width: 760px) {
  .article-detail { gap: 16px; }
  .article-hero { border-radius: 22px; }
  .article-copy h1 { font-size: clamp(30px, 9vw, 42px); line-height: 1.06; }
  .article-copy p { font-size: 16px; line-height: 1.5; }
  .article-main, .article-aside { padding: 22px; }
  .article-main h2, .article-aside h2 { font-size: clamp(24px, 7vw, 32px); }
  .news-detail-content { font-size: 16px; line-height: 1.58; }
  .article-gallery { margin-top: 24px; }
  .article-gallery .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .article-gallery .gallery-item { border-radius: 14px; }
  .article-gallery .gallery-item img { aspect-ratio: 1 / 1; }
  .article-gallery .gallery-item span { left: 7px; top: 7px; padding: 4px 7px; font-size: 11px; }
}

@media (max-width: 380px) {
  .article-gallery .gallery-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .article-main, .article-aside { padding: 18px; }
}


/* V29.1 – kontakt: Google Maps iframe, clean contact cards */
html,
body,
body *:not(svg):not(path) { font-family: var(--font-sans) !important; }

.contact-grid-v289 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
  margin-top: 22px;
}
.contact-grid-v289 .contact-card { min-width: 0; overflow: hidden; }
.contact-main-card-v289,
.contact-map-card-v289 { display: flex; flex-direction: column; min-height: 540px; }
.contact-main-card-v289 h2,
.contact-map-card-v289 h2 { margin: 0 0 10px; }
.contact-owner { margin: 0; font-size: 18px; }
.contact-actions-v289 { display: flex; flex-wrap: wrap; gap: 14px; margin: 24px 0 28px; }
.contact-info-list-v289 { display: grid; gap: 16px; margin-top: auto; }
.contact-info-item { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; align-items: center; min-width: 0; }
.contact-info-icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; background: var(--green-soft); color: var(--green-dark); }
.contact-info-icon .ico { width: 28px; height: 28px; }
.contact-info-item strong { display: block; font-size: 17px; line-height: 1.2; }
.contact-info-item > div > a,
.contact-info-item > div > span { display: block; margin-top: 4px; color: var(--muted); overflow-wrap: anywhere; }
.contact-info-item a:hover { color: var(--green-dark); }
.contact-map-card-v289 { gap: 20px; }
.contact-map-head-v289 { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.contact-map-head-v289 p { margin: 8px 0 0; color: var(--ink); }
.map-open-btn { flex: 0 0 auto; }
.map-open-btn .ico { width: 18px; height: 18px; }

.google-map-embed {
  position: relative;
  width: 100%;
  flex: 1 1 auto;
  min-height: 330px;
  overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  background: var(--soft);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72);
}
.google-map-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 330px;
  border: 0;
  border-radius: inherit;
}
.contact-grid-v289 + .tracking-strip { margin-top: 22px; }

@media (max-width: 1100px) {
  .contact-grid-v289 { grid-template-columns: 1fr; }
  .contact-main-card-v289,
  .contact-map-card-v289 { min-height: auto; }
}
@media (max-width: 760px) {
  .contact-actions-v289 { display: grid; margin-bottom: 24px; }
  .contact-actions-v289 .btn,
  .map-open-btn { width: 100%; }
  .contact-map-head-v289 { display: grid; }
  .contact-info-item { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; }
  .contact-info-icon { width: 48px; height: 48px; border-radius: 15px; }
  .google-map-embed,
  .google-map-embed iframe { min-height: 300px; }
}
@media (max-width: 420px) {
  .contact-info-item strong { font-size: 16px; }
  .contact-info-item a,
  .contact-info-item span { font-size: 15px; }
  .google-map-embed,
  .google-map-embed iframe { min-height: 280px; }
}


/* V29.1 – Rychlý kontakt: přesné centrování line ikon v zelených boxech.
   Oprava řeší kolizi se starším pravidlem .contact-info-item span, které přepisovalo display grid/flex. */
.contact-info-item > .contact-info-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px;
  height: 56px;
  min-width: 56px;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0;
  color: var(--green-dark) !important;
  background: var(--green-soft);
  border-radius: 18px;
  overflow-wrap: normal !important;
  flex: 0 0 56px;
}
.contact-info-item > .contact-info-icon .ico,
.contact-info-item > .contact-info-icon svg {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  transform: none !important;
  color: currentColor;
  flex: 0 0 auto;
}
@media (max-width: 820px) {
  .contact-info-item > .contact-info-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    flex-basis: 48px;
    border-radius: 15px;
  }
  .contact-info-item > .contact-info-icon .ico,
  .contact-info-item > .contact-info-icon svg {
    width: 24px !important;
    height: 24px !important;
  }
}


/* V29.1 – Hero Blend System
   Plynulý přechod textové části do fotografie bez tvrdé vertikální hrany.
   Desktop/tablet: měkký horizontální fade přes levý okraj fotografie.
   Mobil: jednoduchý layout bez efektu, kvůli čitelnosti a ergonomii. */
:root {
  --hero-fade-width: clamp(140px, 18vw, 320px);
  --hero-soft-glow: rgba(255,255,255,.34);
}

.hero-grid {
  position: relative;
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, #f4fbf5 0%, #fff 58%);
  box-shadow: var(--shadow-sm);
}
.hero-grid > .hero-copy,
.hero-grid > .hero-image {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.hero-grid > .hero-copy {
  position: relative;
  z-index: 3;
  background: linear-gradient(135deg, #f4fbf5 0%, #fff 86%);
  padding-block: clamp(34px, 4.1vh, 56px);
  padding-inline-start: var(--edge);
  padding-inline-end: clamp(34px, 4.2vw, 72px);
}
.hero-grid > .hero-image,
.page-hero-media,
.article-image {
  position: relative;
  min-width: 0;
  overflow: hidden;
  isolation: isolate;
}
.hero-grid > .hero-image {
  min-height: clamp(320px, 42vh, 520px);
}
.hero-grid > .hero-image img,
.page-hero-media img,
.article-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: scale(1.01);
}
.hero-grid > .hero-image::before,
.page-hero-media::before,
.article-image::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--hero-fade-width);
  background: linear-gradient(
    to right,
    #fff 0%,
    rgba(255,255,255,.96) 16%,
    rgba(255,255,255,.76) 44%,
    rgba(255,255,255,.34) 72%,
    rgba(255,255,255,0) 100%
  );
  pointer-events: none;
  z-index: 2;
}
.hero-grid > .hero-image::after,
.page-hero-media::after,
.article-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at left center, var(--hero-soft-glow), rgba(255,255,255,0) 46%),
    linear-gradient(to bottom, rgba(255,255,255,.06), rgba(255,255,255,0) 28%, rgba(255,255,255,.05) 100%);
  pointer-events: none;
  z-index: 1;
}

.page-hero {
  position: relative;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  min-height: clamp(300px, 38vh, 470px);
  background: linear-gradient(135deg, #f8fbf8 0%, #fff 72%);
}
.page-hero-compact {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  min-height: clamp(270px, 34vh, 410px);
}
.page-hero .copy {
  position: relative;
  z-index: 3;
  align-self: center;
}
.page-hero-media {
  min-height: 100%;
}
.page-hero-media img {
  display: block;
}
.article-image {
  margin: 0;
}
.article-image::before {
  width: clamp(120px, 15vw, 260px);
}

@media (min-width: 1180px) {
  .hero-title-tail { white-space: nowrap; }
}

@media (max-width: 1100px) {
  .hero-grid {
    grid-template-columns: 1fr;
  }
  .hero-grid > .hero-image {
    min-height: 260px;
  }
  .hero-grid > .hero-copy {
    padding-inline: 28px;
  }
  .page-hero-media {
    min-height: 250px;
  }
  .page-hero-media img {
    min-height: 250px;
  }
  .hero-grid > .hero-image::before,
  .hero-grid > .hero-image::after,
  .page-hero-media::before,
  .page-hero-media::after,
  .article-image::before,
  .article-image::after {
    display: none;
  }
}

@media (max-width: 760px) {
  .hero-grid > .hero-copy {
    padding: 34px 24px 30px;
  }
  .hero-grid > .hero-image {
    min-height: 230px;
  }
  .page-hero,
  .page-hero-compact {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .page-hero-media,
  .page-hero-media img {
    min-height: 190px;
  }
  .page-hero .copy {
    padding: 28px 24px 32px;
  }
}

/* V29.1 – Unified Hero Height System
   Sjednocení vizuální výšky homepage hero a hero bannerů podstránek.
   Desktop/tablet: všechny hlavní hero sekce mají stejnou výškovou logiku.
   Mobil: stále jednoduchý automatický layout bez pevné výšky. */
:root {
  --hero-unified-height: clamp(340px, 40vh, 480px);
  --hero-unified-height-tight: clamp(320px, 37vh, 440px);
}

@media (min-width: 1101px) {
  .hero-grid,
  .page-hero,
  .page-hero-compact {
    min-height: var(--hero-unified-height) !important;
    height: var(--hero-unified-height);
  }

  .hero-grid > .hero-copy,
  .hero-grid > .hero-image,
  .page-hero .copy,
  .page-hero-media {
    min-height: 0 !important;
    height: 100%;
  }

  .hero-grid > .hero-image,
  .page-hero-media {
    min-height: var(--hero-unified-height) !important;
  }

  .hero-grid > .hero-copy {
    padding-block: clamp(28px, 3.2vh, 46px);
  }

  .page-hero .copy,
  .page-hero-compact .copy {
    padding-block: clamp(28px, 3.2vh, 46px);
  }

  .hero-copy h1 {
    font-size: clamp(40px, 3.35vw, 62px);
    line-height: 1;
  }

  .page-hero h1 {
    font-size: clamp(38px, 3.15vw, 58px);
  }

  .hero-lead,
  .page-hero p {
    margin-top: 16px;
  }

  .hero-actions {
    margin-top: 24px;
  }
}

@media (min-width: 1101px) and (max-height: 820px) {
  .hero-grid,
  .page-hero,
  .page-hero-compact {
    min-height: var(--hero-unified-height-tight) !important;
    height: var(--hero-unified-height-tight);
  }

  .hero-grid > .hero-image,
  .page-hero-media {
    min-height: var(--hero-unified-height-tight) !important;
  }
}

@media (max-width: 1100px) {
  .hero-grid,
  .page-hero,
  .page-hero-compact {
    height: auto !important;
  }
}


/* V29.1 – State-of-the-art admin ergonomie a správa banneru Kontakt */
.admin-polished, .admin-polished * { font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; }
.admin-mini-stats { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: flex-end; }
.admin-mini-stats span { min-width: 86px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(180deg, #fff, #f7fbf7); box-shadow: var(--shadow-sm); }
.admin-mini-stats strong { display: block; font-size: 22px; line-height: 1; color: var(--ink); }
.admin-mini-stats small { display: block; margin-top: 6px; color: var(--muted); font-weight: 750; }
.admin-grid-v2815 { grid-template-columns: minmax(0, .98fr) minmax(420px, 1.02fr); }
.admin-dashboard-head-v2815 { align-items: stretch; }
.admin-list-controls { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(180px, .45fr) minmax(160px, .35fr); gap: 10px; margin-bottom: 14px; }
.admin-list-controls input, .admin-list-controls select { min-height: 46px; }
.admin-quality-panel { border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 18px; margin: 0 0 18px; background: linear-gradient(135deg, var(--green-soft), #fff 70%); }
.admin-quality-panel h3 { margin: 0 0 12px; font-size: 18px; letter-spacing: -.025em; }
.admin-quality-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-quality-chip { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); font-weight: 800; font-size: 13px; }
.admin-quality-chip.is-ok { color: var(--green-dark); border-color: rgba(127,190,67,.35); background: rgba(233,248,231,.85); }
.admin-status-badge { display: inline-flex; align-items: center; width: max-content; padding: 4px 8px; border-radius: 999px; background: #eef2f7; color: var(--muted); font-size: 12px; font-weight: 850; }
.admin-status-badge.is-published, .admin-status-badge.is-custom { background: var(--green-soft); color: var(--green-dark); }
.admin-status-badge.is-draft { background: #fff3e8; color: #9a4b00; }
.admin-news-item[hidden] { display: none !important; }
.admin-dropzone { cursor: pointer; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.admin-dropzone.is-dragover { border-color: var(--green) !important; background: #f1fbef !important; transform: translateY(-1px); }
.admin-file-message { margin: 10px 0 0; color: var(--muted); font-weight: 750; }
.admin-file-message.is-error { color: var(--danger); }
.admin-new-preview figure.is-too-large { border-color: var(--danger); }
.admin-new-preview small { overflow-wrap: anywhere; }
.admin-list-v2815 .admin-news-item { border-radius: 18px; padding: 12px; border: 1px solid transparent; }
.admin-list-v2815 .admin-news-item:hover { background: #fbfdfb; border-color: var(--line); }
.admin-item-actions .btn { min-height: 42px; }
.admin-banner-grid-v2815 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.admin-banner-card-v2815 { grid-template-columns: 1fr; overflow: hidden; }
.admin-banner-preview-v2815 { position: relative; min-height: 260px; background: var(--green-soft); }
.admin-banner-preview-v2815 img { width: 100%; height: 260px; min-height: 260px; object-fit: cover; display: block; }
.admin-banner-preview-v2815 .admin-status-badge { position: absolute; left: 16px; top: 16px; box-shadow: var(--shadow-sm); }
.admin-card-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.admin-card-title-row h2 { margin: 0; }
.admin-banner-hint { margin: 0 0 16px; }
.admin-banner-admin .admin-banner-body { display: flex; flex-direction: column; }
.admin-empty { padding: 20px; text-align: center; border: 1px dashed var(--line); border-radius: 18px; background: #fff; }

@media (max-width: 1100px) {
  .admin-grid-v2815, .admin-banner-grid-v2815, .admin-list-controls { grid-template-columns: 1fr; }
  .admin-mini-stats { justify-content: flex-start; }
  .admin-card-title-row { display: grid; }
}
@media (max-width: 760px) {
  .admin-mini-stats span { min-width: 0; flex: 1 1 120px; }
  .admin-banner-preview-v2815 img { height: 220px; min-height: 220px; }
  .admin-news-item { grid-template-columns: 86px minmax(0,1fr); }
  .admin-item-actions { grid-column: 1/-1; }
}

/* V29.1 – Globální vertikální zarovnání textu v Hero sekcích
   Podstránky (Služby, Novinky, Ceník, Kontakt, Poptávka, Sledování) mají
   textový blok v levé části banneru vycentrovaný vůči celé výšce hero karty.
   Tím se bílý prostor přirozeně rozdělí nad text i pod text a fade přechod
   do fotografie působí kompaktněji. */
@media (min-width: 1101px) {
  .page-hero {
    align-items: stretch !important;
  }

  .page-hero > .copy,
  .page-hero-compact > .copy,
  .contact-hero > .copy,
  .legal-hero > .copy {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-self: stretch !important;
    min-height: 0 !important;
    height: 100% !important;
    margin: 0;
  }

  .page-hero > .copy > :first-child,
  .page-hero-compact > .copy > :first-child {
    margin-top: 0;
  }

  .page-hero > .copy > :last-child,
  .page-hero-compact > .copy > :last-child {
    margin-bottom: 0;
  }
}

@media (max-width: 1100px) {
  .page-hero > .copy,
  .page-hero-compact > .copy,
  .contact-hero > .copy {
    height: auto !important;
  }
}


/* V29.1 – News Gallery & Service Log UX
   Lightbox galerie, strukturovaný servisní zápisník a dotažení gridu novinek. */
.news-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; }
.news-grid { align-items: stretch; }
.news-card { display: flex; flex-direction: column; min-height: 100%; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.news-card:hover { transform: translateY(-2px); border-color: rgba(127,190,67,.38); box-shadow: 0 18px 42px rgba(16,24,40,.09); }
.news-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-bottom: 1px solid var(--line); }
.news-card .work-card-body { flex: 1; display: flex; flex-direction: column; }
.news-card .work-card-body p { margin-bottom: 14px; }
.news-card .read-more { margin-top: auto; color: var(--green-dark); font-weight: 850; }
.card-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.card-meta small { color: var(--muted); font-weight: 750; }

.article-image-link { display: block; height: 100%; min-height: inherit; cursor: zoom-in; }
.article-image-link img { transition: transform .24s ease; }
.article-image-link:hover img { transform: scale(1.025); }
.service-log-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.service-log-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(180deg, #fff, #f7fbf8); }
.service-log-card span { display: inline-flex; margin-bottom: 10px; color: var(--green-dark); font-weight: 900; font-size: 12px; letter-spacing: .08em; }
.service-log-card h3 { margin: 0 0 8px; font-size: 19px; letter-spacing: -.035em; }
.service-log-card p { margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.article-gallery .gallery-item { display: grid; grid-template-rows: auto minmax(42px, auto); color: inherit; cursor: zoom-in; }
.article-gallery .gallery-item img { transition: transform .22s ease; }
.article-gallery .gallery-item:hover img { transform: scale(1.035); }
.article-gallery .gallery-item span { position: static; display: block; padding: 10px 12px 12px; border-radius: 0; background: #fff; color: var(--ink); font-size: 13px; line-height: 1.25; font-weight: 850; overflow-wrap: anywhere; }

.news-lightbox[hidden] { display: none !important; }
.news-lightbox { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: clamp(18px, 3vw, 42px); background: rgba(4, 10, 16, .86); backdrop-filter: blur(10px); }
.has-news-lightbox body { overflow: hidden; }
.news-lightbox-frame { position: relative; width: min(1180px, 92vw); max-height: 88vh; margin: 0; display: grid; gap: 12px; justify-items: center; }
.news-lightbox-frame img { max-width: 100%; max-height: min(76vh, 820px); border-radius: 22px; object-fit: contain; box-shadow: 0 26px 70px rgba(0,0,0,.38); background: #111; }
.news-lightbox-frame figcaption { width: min(100%, 960px); display: flex; justify-content: center; align-items: center; gap: 12px; color: #fff; text-align: center; }
.news-lightbox-frame figcaption span { flex: 0 0 auto; padding: 5px 9px; border-radius: 999px; background: rgba(127,190,67,.2); color: #c9f4b4; font-weight: 850; }
.news-lightbox-frame figcaption strong { font-size: 16px; font-weight: 800; overflow-wrap: anywhere; }
.news-lightbox-close,
.news-lightbox-nav { position: absolute; z-index: 2; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(255,255,255,.12); color: #fff; box-shadow: 0 10px 34px rgba(0,0,0,.24); }
.news-lightbox-close { top: 18px; right: 18px; width: 52px; height: 52px; font-size: 34px; line-height: 1; }
.news-lightbox-nav { top: 50%; width: 58px; height: 58px; transform: translateY(-50%); font-size: 42px; }
.news-lightbox-prev { left: clamp(10px, 2vw, 34px); }
.news-lightbox-next { right: clamp(10px, 2vw, 34px); }
.news-lightbox-close:hover,
.news-lightbox-nav:hover { background: rgba(127,190,67,.9); color: #071019; }

.admin-gallery-caption { margin-top: 6px; min-height: 40px !important; font-size: 13px !important; }
.admin-new-preview figcaption label:has(input[type="text"]),
.admin-gallery-item figcaption label:has(input[type="text"]) { display: grid; gap: 5px; color: var(--muted); font-weight: 800; }

@media (max-width: 1100px) {
  .news-toolbar { display: grid; align-items: start; }
  .service-log-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .news-grid { gap: 16px; }
  .news-card img { aspect-ratio: 16 / 11; }
  .service-log-card { padding: 16px; }
  .article-gallery .gallery-item { grid-template-rows: auto auto; }
  .article-gallery .gallery-item span { min-height: 46px; padding: 9px 10px; font-size: 12px; }
  .news-lightbox { padding: 16px; }
  .news-lightbox-frame { width: 100%; max-height: 86vh; }
  .news-lightbox-frame img { max-height: 70vh; border-radius: 16px; }
  .news-lightbox-frame figcaption { display: grid; gap: 8px; font-size: 14px; }
  .news-lightbox-close { width: 48px; height: 48px; top: 12px; right: 12px; }
  .news-lightbox-nav { width: 50px; height: 50px; top: auto; bottom: 26px; transform: none; font-size: 34px; }
  .news-lightbox-prev { left: 18px; }
  .news-lightbox-next { right: 18px; }
}


/* V29.1 – News Gallery & Service Log UX */
.news-grid { align-items: stretch; }
.news-card { display: flex; flex-direction: column; min-height: 100%; }
.news-card .work-card-body { flex: 1; align-content: start; }
.news-card img { aspect-ratio: 16 / 10; height: auto; }
.service-log-grid { display: grid; gap: 14px; margin-top: 18px; }
.service-log-card { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: linear-gradient(135deg, #fff, #f8fcf7); }
.service-log-card h3 { margin: 0 0 8px; font-size: 18px; letter-spacing: -.025em; }
.service-log-card p { margin: 0 0 10px; color: #233040; line-height: 1.6; }
.service-log-card p:last-child { margin-bottom: 0; }
.article-image a { display: block; width: 100%; height: 100%; position: relative; }
.article-image a::after,
.gallery-item::after { content: "Zvětšit"; position: absolute; right: 12px; bottom: 12px; padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.9); color: var(--ink); font-size: 12px; font-weight: 850; opacity: 0; transform: translateY(4px); transition: opacity .16s ease, transform .16s ease; box-shadow: var(--shadow-sm); }
.article-image a:hover::after,
.gallery-item:hover::after { opacity: 1; transform: translateY(0); }
.gallery-item { cursor: zoom-in; }
.gallery-item span { max-width: calc(100% - 20px); color: var(--green-dark); background: rgba(237,248,232,.94); box-shadow: 0 8px 18px rgba(16,24,40,.06); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-caption-label { display: grid; gap: 6px; margin-top: 2px; font-size: 12px; color: var(--muted); }
.admin-caption-label input { min-height: 38px; padding: 8px 10px; font-size: 13px; }
.admin-new-preview figcaption { gap: 9px; }
body.has-lightbox-open { overflow: hidden; }
.news-lightbox { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: clamp(18px, 3vw, 38px); background: rgba(7,16,25,.92); backdrop-filter: blur(10px); }
.news-lightbox[hidden] { display: none !important; }
.news-lightbox-inner { position: relative; width: min(1180px, 100%); max-height: min(86vh, 900px); display: grid; grid-template-columns: 64px minmax(0,1fr) 64px; align-items: center; gap: 14px; }
.news-lightbox-figure { margin: 0; min-width: 0; display: grid; gap: 14px; }
.news-lightbox-image-wrap { display: grid; place-items: center; min-height: 0; border-radius: 24px; overflow: hidden; background: #02070d; box-shadow: 0 24px 80px rgba(0,0,0,.42); }
.news-lightbox img { max-width: 100%; max-height: 72vh; width: auto; height: auto; object-fit: contain; }
.news-lightbox figcaption { display: grid; gap: 5px; color: #fff; text-align: center; }
.news-lightbox-title { font-size: clamp(18px, 1.5vw, 24px); font-weight: 850; letter-spacing: -.03em; }
.news-lightbox-caption { color: rgba(255,255,255,.78); }
.news-lightbox-counter { color: rgba(255,255,255,.62); font-weight: 750; }
.news-lightbox-button { display: grid; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(255,255,255,.1); color: #fff; min-width: 56px; min-height: 56px; font-size: 30px; font-weight: 800; box-shadow: none; }
.news-lightbox-button:hover { background: rgba(255,255,255,.18); }
.news-lightbox-close { position: absolute; right: 0; top: -72px; }
.news-lightbox-button[disabled] { opacity: .35; cursor: default; }
@media (max-width: 760px) {
  .service-log-card { padding: 16px; }
  .article-image a::after, .gallery-item::after { display: none; }
  .news-lightbox { padding: 14px; }
  .news-lightbox-inner { grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; }
  .news-lightbox-figure { grid-column: 1 / -1; order: 1; }
  .news-lightbox-prev { order: 2; justify-self: stretch; }
  .news-lightbox-next { order: 3; justify-self: stretch; }
  .news-lightbox-close { top: 0; right: 0; transform: translateY(-110%); }
  .news-lightbox img { max-height: 66vh; }
  .news-lightbox-button { min-height: 54px; border-radius: 16px; }
}


/* V29.1 – Smart Mobile Sticky Header
   Decentní orientační navigace pro mobil/PWA: bez prodejního CTA, s automatickým schováním při scrollu dolů. */
@media (max-width: 760px) {
  body {
    --mobile-header-safe-top: max(6px, env(safe-area-inset-top));
  }

  .site-header {
    position: sticky;
    top: var(--mobile-header-safe-top);
    z-index: 1100;
    width: min(100% - 20px, var(--max));
    margin: 8px auto 14px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    justify-items: stretch;
    gap: 10px;
    padding: 9px 10px;
    border: 1px solid rgba(227, 234, 240, .86);
    border-radius: 20px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 0 0 rgba(16, 24, 40, 0);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transform: translateY(0);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease, padding .22s ease;
    will-change: transform;
  }

  .site-header::before {
    content: "";
    position: absolute;
    inset: -8px -10px auto;
    height: calc(100% + 16px);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(248,250,249,.82), rgba(248,250,249,0));
    opacity: 0;
    pointer-events: none;
    z-index: -1;
    transition: opacity .22s ease;
  }

  .site-header.is-scrolled {
    border-color: rgba(127, 190, 67, .22);
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 14px 34px rgba(16, 24, 40, .10);
  }

  .site-header.is-scrolled::before {
    opacity: 1;
  }

  .site-header.is-hidden:not(:focus-within) {
    transform: translateY(calc(-100% - 14px));
  }

  .site-header.is-condensed {
    padding-block: 7px;
  }

  .site-header .brand {
    width: clamp(104px, 31vw, 146px);
    min-width: 104px;
    transition: width .22s ease, opacity .22s ease;
  }

  .site-header.is-condensed .brand {
    width: clamp(96px, 28vw, 132px);
  }

  .site-header .main-nav {
    position: relative;
    width: 100%;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 2px 5px;
    font-size: 15px;
    line-height: 1;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 12px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .site-header .main-nav::-webkit-scrollbar {
    display: none;
  }

  .site-header .main-nav a {
    flex: 0 0 auto;
    scroll-snap-align: center;
    padding: 9px 0 8px;
    border-bottom-width: 2px;
    color: var(--ink);
    opacity: .84;
  }

  .site-header .main-nav a.is-active {
    color: var(--green-dark);
    opacity: 1;
    border-color: var(--green);
  }

  .site-header .main-nav a:hover,
  .site-header .main-nav a:focus-visible {
    color: var(--green-dark);
    opacity: 1;
  }

  .page-shell {
    margin-top: 0;
  }

  .page-hero,
  .hero-grid,
  .article-hero,
  .tracking-strip,
  .contact-grid-v289 {
    scroll-margin-top: 92px;
  }
}

@media (max-width: 420px) {
  .site-header {
    width: min(100% - 16px, var(--max));
    gap: 8px;
    padding-inline: 9px;
    border-radius: 18px;
  }

  .site-header .brand {
    width: clamp(92px, 30vw, 118px);
    min-width: 92px;
  }

  .site-header.is-condensed .brand {
    width: clamp(86px, 27vw, 108px);
  }

  .site-header .main-nav {
    gap: 15px;
    font-size: 14px;
  }
}


/* V29.1 – Smart Mobile Sticky Header hotfix
   iOS Safari: menu se vrací okamžitě při pohybu prstu směrem dolů (scroll nahoru). */
@media (max-width: 760px) {
  .site-header {
    pointer-events: auto;
    touch-action: pan-x pan-y;
  }

  .site-header.is-hidden:not(:focus-within) {
    pointer-events: none;
  }

  .site-header .main-nav,
  .site-header .brand {
    pointer-events: auto;
  }
}


/* V29.1 – Public Data Layer / DB status admin */
.admin-db-status .db-status-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.db-status-card code { display:block; margin-top:.9rem; padding:.8rem 1rem; border:1px solid var(--line); border-radius:14px; background:#f8fbf8; overflow-wrap:anywhere; }
.db-status-card.is-ok { border-color: rgba(73,169,66,.28); box-shadow: 0 18px 44px rgba(73,169,66,.08); }
.db-status-card.is-warning { border-color: rgba(161,92,0,.24); }
.db-table-check { margin-top:1rem; }
.db-table-list { display:grid; gap:.55rem; margin-top:1rem; }
.db-table-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; border:1px solid var(--line); border-radius:14px; background:#fff; }
.db-table-row span { font-weight:800; overflow-wrap:anywhere; }
.db-table-row strong { font-size:.82rem; border-radius:999px; padding:.35rem .7rem; white-space:nowrap; }
.db-table-row.is-ok strong { color:#027a48; background:#e9f8e7; }
.db-table-row.is-missing strong { color:#a15c00; background:#fff7e6; }
@media (max-width: 800px){ .admin-db-status .db-status-grid { grid-template-columns:1fr; } .db-table-row { align-items:flex-start; flex-direction:column; } }

/* V29.2 – DB import ergonomie */
.admin-db-grid{align-items:stretch;}
.admin-db-card{min-height:auto;}
.admin-db-list{display:grid;gap:10px;margin-top:18px;}
.admin-db-list span{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid var(--epc-line,#dfe7e2);border-radius:14px;padding:12px 14px;background:rgba(248,251,248,.72);}
.admin-db-list strong{font-weight:850;color:var(--epc-graphite,#111827);}
.admin-db-list em{font-style:normal;color:var(--epc-text-muted,#667469);text-align:right;max-width:66%;overflow-wrap:anywhere;}
.admin-db-actions-card{margin-top:24px;}
.admin-db-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;}
.admin-code{display:block;white-space:pre-wrap;overflow:auto;background:#0b1118;color:#e9f8e7;border-radius:18px;padding:18px 20px;margin:14px 0 0;font-size:.92rem;line-height:1.5;}
@media (max-width: 760px){.admin-db-list span{display:block}.admin-db-list em{display:block;text-align:left;max-width:none;margin-top:4px}.admin-db-actions .btn{width:100%;}}

/* V29.2 – Content DB migration admin */
.code-pill {
  display: block;
  width: 100%;
  max-width: 680px;
  margin: 1rem 0 0;
  padding: 1rem 1.15rem;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #f8fbf8;
  color: var(--text);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font: 700 .92rem/1.55 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}
.btn[disabled], button[disabled] {
  opacity: .52;
  cursor: not-allowed;
  filter: grayscale(.15);
}

/* V30 – DB poptávky / admin ergonomie */
.form-status a { color: var(--green); font-weight: 850; text-decoration: none; }
.form-status a:hover { text-decoration: underline; }
.admin-inquiries-admin .admin-toolbar,
.admin-inquiry-filters { display:flex; align-items:flex-end; flex-wrap:wrap; gap:14px; margin: 0 0 22px; }
.admin-inquiry-filters label { flex: 1 1 240px; }
.admin-inquiries-layout { display:grid; grid-template-columns: minmax(320px, .85fr) minmax(0, 1.25fr); gap: 22px; align-items:start; }
.admin-inquiry-list-card,
.admin-inquiry-detail-card { min-height: 420px; }
.admin-inquiry-list { display:grid; gap: 10px; margin-top: 14px; }
.admin-inquiry-row { display:grid; gap:5px; padding:14px 15px; border:1px solid var(--line); border-radius:18px; color:var(--text); text-decoration:none; background:#fff; transition:.18s ease; }
.admin-inquiry-row:hover,
.admin-inquiry-row.is-active { border-color: rgba(73,169,66,.45); background: #f8fbf8; box-shadow: 0 14px 28px rgba(17,24,39,.06); }
.admin-inquiry-token { color: var(--green); font-weight:900; font-size:.86rem; letter-spacing:.02em; }
.admin-inquiry-row strong { font-weight:900; }
.admin-inquiry-row small { color: var(--muted); font-weight:700; overflow-wrap:anywhere; }
.admin-inquiry-meta { display:flex; flex-wrap:wrap; gap:7px; margin-top:4px; }
.admin-inquiry-meta em { font-style:normal; border-radius:999px; background:#eef7eb; color:#2d7f50; padding:4px 8px; font-size:.78rem; font-weight:850; }
.admin-inline-status { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; margin: 18px 0 20px; padding:14px; border:1px solid var(--line); border-radius:18px; background:#f8fbf8; }
.admin-inline-status label { flex: 1 1 240px; }
.admin-inquiry-detail-grid { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:10px; margin: 16px 0 22px; }
.admin-inquiry-detail-grid div { border:1px solid var(--line); border-radius:16px; padding:12px 14px; background:#fff; }
.admin-inquiry-detail-grid span { display:block; color:var(--muted); font-size:.82rem; font-weight:850; margin-bottom:5px; }
.admin-inquiry-detail-grid strong { display:block; overflow-wrap:anywhere; }
.admin-inquiry-message { border:1px solid var(--line); border-radius:18px; padding:16px 18px; background:#fff; line-height:1.58; overflow-wrap:anywhere; }
.admin-inquiry-files { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:10px; margin-top:12px; }
.admin-inquiry-file { display:grid; gap:5px; border:1px solid var(--line); border-radius:16px; padding:12px 14px; text-decoration:none; color:var(--text); background:#fff; }
.admin-inquiry-file:hover { border-color: rgba(73,169,66,.45); background:#f8fbf8; }
.admin-inquiry-file span { color:var(--muted); font-size:.86rem; font-weight:700; }
@media (max-width: 980px) { .admin-inquiries-layout { grid-template-columns:1fr; } }
@media (max-width: 640px) { .admin-inquiry-detail-grid, .admin-inquiry-files { grid-template-columns:1fr; } .admin-inquiry-filters .btn { width:100%; } }

/* V30 – veřejná timeline sledování poptávky */
.track-public-timeline { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:10px; }
.track-public-timeline li { position:relative; display:grid; gap:3px; padding:12px 14px 12px 42px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.track-public-timeline li::before { content:""; position:absolute; left:14px; top:15px; width:15px; height:15px; border-radius:999px; border:2px solid var(--green); background:#fff; }
.track-public-timeline li.is-done::before { background:var(--green); box-shadow: inset 0 0 0 3px #fff; }
.track-public-timeline strong { font-weight:900; }
.track-public-timeline span { color:var(--muted); font-weight:700; }

/* V30 – veřejný ceník v databázi */
.admin-card-wide { max-width: none; margin: 0 0 22px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.admin-price-filters { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 14px; margin: 0 0 22px; }
.admin-price-filters label { flex: 1 1 240px; }
.admin-price-layout { display: grid; grid-template-columns: minmax(320px,.9fr) minmax(0,1.15fr); gap: 22px; align-items: start; }
.admin-price-list-card,
.admin-price-editor-card,
.admin-price-category-card { max-width: none; min-height: 420px; margin: 0; }
.admin-price-category-card { grid-column: 1 / -1; }
.admin-price-list { display: grid; gap: 10px; margin-top: 14px; }
.admin-price-row { display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: 12px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 18px; color: var(--text); text-decoration: none; background: #fff; transition: .18s ease; }
.admin-price-row:hover,
.admin-price-row.is-active { border-color: rgba(73,169,66,.45); background: #f8fbf8; box-shadow: 0 14px 28px rgba(17,24,39,.06); }
.admin-price-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 15px; background: var(--green-soft); color: var(--green-dark); }
.admin-price-icon .ico { width: 24px; height: 24px; }
.admin-price-row strong { display:block; font-weight:900; line-height:1.18; overflow-wrap:anywhere; }
.admin-price-row small { display:block; margin-top:4px; color:var(--muted); font-weight:750; overflow-wrap:anywhere; }
.admin-price-row em { display:inline-flex; width:max-content; margin-top:7px; padding:4px 8px; border-radius:999px; background:#eef7eb; color:var(--green-dark); font-style:normal; font-size:.76rem; font-weight:850; }
.admin-price-form { display: grid; gap: 14px; }
.admin-price-form label + label { margin-top: 0; }
.admin-price-categories { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 10px; margin: 12px 0 22px; }
.admin-price-category-row { display: grid; gap: 4px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 16px; color: var(--text); text-decoration: none; background: #fff; }
.admin-price-category-row:hover { border-color: rgba(73,169,66,.4); background: #fbfdfb; }
.admin-price-category-row span { color: var(--muted); font-size: .86rem; font-weight: 750; }
.admin-category-form { display: grid; gap: 12px; padding-top: 18px; border-top: 1px solid var(--line); }
.price-panel .eyebrow { overflow-wrap: anywhere; }
@media (max-width: 1100px) { .admin-card-wide, .admin-price-layout { display: grid; grid-template-columns: 1fr; } .admin-price-category-card { grid-column: auto; } }
@media (max-width: 640px) { .admin-price-filters .btn { width:100%; } }

/* V30 – veřejný ceník v DB / admin ergonomie */
.price-placeholder { padding: 20px; }
.price-placeholder-copy { display:flex; align-items:center; gap:16px; }
.price-placeholder-copy strong { display:block; font-size:20px; margin-bottom:4px; }
.admin-price-grid { grid-template-columns: minmax(420px, .95fr) minmax(0, 1.05fr); align-items:start; }
.admin-price-left { display:grid; gap:18px; }
.admin-price-left .admin-fieldset { margin-bottom:0; }
.admin-price-form { display:grid; gap:14px; }
.admin-price-list-card { padding:26px; }
.admin-price-category-list { display:grid; gap:16px; }
.admin-price-category { border:1px solid var(--line); border-radius:22px; padding:16px; background:linear-gradient(180deg,#fff,#fbfdfb); }
.admin-price-category.is-hidden { opacity:.72; }
.admin-price-category-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; padding-bottom:12px; border-bottom:1px solid var(--line); margin-bottom:12px; }
.admin-price-category h3 { margin:0 0 4px; font-size:22px; letter-spacing:-.035em; }
.admin-price-category small { color:var(--muted); font-weight:750; }
.admin-price-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:center; padding:13px 0; border-bottom:1px solid var(--line); }
.admin-price-item:last-child { border-bottom:0; }
.admin-price-item.is-hidden { opacity:.58; }
.admin-price-item-main { display:flex; gap:13px; align-items:flex-start; min-width:0; }
.admin-price-item-icon { width:42px; height:42px; flex:0 0 42px; border-radius:14px; background:var(--green-soft); color:var(--green); display:flex; align-items:center; justify-content:center; }
.admin-price-item-icon .ico { width:22px; height:22px; }
.admin-price-item-main strong { display:block; font-size:17px; overflow-wrap:anywhere; }
.admin-price-item-main small { display:block; margin-top:4px; color:var(--muted); font-weight:750; overflow-wrap:anywhere; }
.admin-price-item-side { display:grid; justify-items:end; gap:8px; }
.admin-price-item-side > strong { font-size:17px; white-space:nowrap; }
.admin-price-item-side form { display:inline; }
.db-feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-actions-wrap { align-items:center; }
@media (max-width: 1100px) { .db-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 980px) { .admin-price-grid, .db-feature-grid { grid-template-columns:1fr; } .admin-price-item { grid-template-columns:1fr; } .admin-price-item-side { justify-items:start; } }
@media (max-width: 640px) { .admin-price-category-head { display:grid; } .admin-price-item-side .admin-actions .btn { width:auto; } }

/* V30 – veřejný ceník v DB / administrace */
.admin-price-admin .admin-page-head { align-items: center; }
.admin-price-layout { display: grid; grid-template-columns: minmax(280px, .76fr) minmax(0, 1.55fr); gap: 24px; align-items: start; margin-top: 24px; }
.admin-price-sidebar, .admin-price-main { min-width: 0; }
.admin-price-categories { display: grid; gap: 10px; margin: 18px 0 24px; }
.admin-price-category { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 16px; background: #fff; color: var(--ink); text-decoration: none; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.admin-price-category:hover, .admin-price-category.is-active { border-color: color-mix(in srgb, var(--green) 52%, var(--line)); background: var(--green-soft); transform: translateY(-1px); }
.admin-price-category span { color: var(--muted); font-size: 13px; font-weight: 750; }
.admin-compact-form { display: grid; gap: 13px; padding-top: 18px; border-top: 1px solid var(--line); }
.admin-compact-form h3, .admin-price-editor h3 { margin: 0; }
.admin-price-filters { grid-template-columns: minmax(220px, 1fr) minmax(220px, .7fr) auto auto; align-items: end; }
.admin-price-editor { margin: 20px 0 22px; padding: 22px; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(180deg, #fff, #fbfefb); }
.admin-price-items { display: grid; gap: 12px; margin-top: 18px; }
.admin-price-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.admin-price-item.is-hidden { opacity: .62; background: #f8faf8; }
.admin-price-item-icon { width: 48px; height: 48px; border-radius: 15px; background: var(--green-soft); color: var(--green); display: grid; place-items: center; }
.admin-price-item-copy { min-width: 0; display: grid; gap: 4px; }
.admin-price-item-copy strong { font-size: 17px; }
.admin-price-item-copy span, .admin-price-item-copy small { color: var(--muted); overflow-wrap: anywhere; }
.admin-price-item-price { font-weight: 900; white-space: nowrap; color: var(--ink); }
.admin-actions-row { display: flex; gap: 8px; align-items: center; justify-content: flex-end; }
.admin-actions-row form { margin: 0; }
.check-inline { min-height: 44px; display: flex !important; align-items: center; gap: 10px; font-weight: 850; }
.check-inline input { width: auto !important; }
.price-detail-body .muted { margin-top: 8px; }
@media (max-width: 980px) {
  .admin-price-layout { grid-template-columns: 1fr; }
  .admin-price-filters { grid-template-columns: 1fr; }
  .admin-price-item { grid-template-columns: auto minmax(0, 1fr); }
  .admin-price-item-price, .admin-price-item .admin-actions-row { grid-column: 2; justify-content: flex-start; }
}

/* V30 – bridge/admin ergonomie */
.admin-bridge-admin .bridge-overview-grid,
.admin-bridge-admin .bridge-stats-grid{margin-top:1.25rem;}
.bridge-endpoints{display:grid;gap:.55rem;margin-top:1rem;}
.bridge-endpoints code{display:block;padding:.72rem .85rem;border:1px solid var(--epc-line);border-radius:14px;background:var(--epc-surface-alt);font-size:.9rem;white-space:normal;overflow-wrap:anywhere;}
.bridge-stats-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;}
.bridge-stat{padding:1rem;text-align:center;}
.bridge-stat strong{display:block;font-size:1.65rem;color:var(--epc-graphite);line-height:1;}
.bridge-stat span{display:block;margin-top:.35rem;color:var(--epc-text-muted);font-size:.86rem;}
.bridge-job-list{display:grid;gap:.7rem;margin-top:1rem;}
.bridge-job-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--epc-line);border-radius:18px;background:var(--epc-surface-alt);}
.bridge-job-row strong{display:block;margin:.15rem 0;color:var(--epc-graphite);overflow-wrap:anywhere;}
.bridge-job-row small{display:block;color:var(--epc-text-muted);}
.bridge-job-status span{display:inline-flex;align-items:center;min-height:32px;padding:.35rem .7rem;border-radius:999px;background:#eef4f0;color:var(--epc-graphite);font-weight:800;font-size:.82rem;}
.bridge-job-row.status-pending .bridge-job-status span{background:var(--epc-green-soft);color:var(--epc-green-dark);}
.bridge-job-row.status-failed .bridge-job-status span{background:#fff1f0;color:var(--epc-danger);}
.bridge-job-row.status-done .bridge-job-status span{background:#ecfdf3;color:var(--epc-success);}
.bridge-job-actions{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end;}
.admin-bridge-box{margin:1rem 0;padding:1rem;border:1px dashed rgba(73,169,66,.42);border-radius:18px;background:linear-gradient(180deg,#fbfffb,#f4fbf5);}
.admin-bridge-box form{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;}
.danger-text{color:var(--epc-danger)!important;font-weight:700;}
@media (max-width: 980px){.bridge-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.bridge-job-row{grid-template-columns:1fr}.bridge-job-actions{justify-content:flex-start}}
@media (max-width: 640px){.bridge-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.bridge-stat strong{font-size:1.35rem}}


/* V30 – administrace workflow polish */
.admin-workflow-strip { display:grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0 0 22px; }
.admin-workflow-strip div { padding: 15px 16px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); }
.admin-workflow-strip span { display:block; color: var(--muted); font-size: .82rem; font-weight: 850; }
.admin-workflow-strip strong { display:block; margin-top: 4px; font-size: 26px; line-height:1; }
.admin-soft-note { color: var(--muted); font-weight: 750; }
.admin-inquiry-actionbar { display:flex; flex-wrap:wrap; gap:10px; margin: 0 0 16px; }
.admin-inquiry-actionbar .btn { min-height: 44px; }
.admin-inquiry-actionbar .ico { width: 18px; height: 18px; margin-right: 6px; }
.admin-status-badge.is-new, .admin-inquiry-meta em.is-new { background:#edf7ff; color:#175cd3; }
.admin-status-badge.is-read, .admin-inquiry-meta em.is-read { background:#eef4ff; color:#3538cd; }
.admin-status-badge.is-draft_created, .admin-inquiry-meta em.is-draft_created { background:#fef7e8; color:#a15c00; }
.admin-status-badge.is-closed, .admin-inquiry-meta em.is-closed { background:var(--green-soft); color:var(--green-dark); }
.admin-status-badge.is-spam, .admin-inquiry-meta em.is-spam { background:#fff1f3; color:#c01048; }
.admin-inquiry-workflow { margin: 18px 0; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(135deg, #fff, #f8fbf8); }
.admin-inquiry-workflow ol { list-style:none; padding:0; margin:10px 0 0; display:grid; gap:9px; }
.admin-inquiry-workflow li { position:relative; padding: 12px 14px 12px 42px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.admin-inquiry-workflow li::before { content:""; position:absolute; left:14px; top:15px; width:14px; height:14px; border-radius:999px; border:2px solid var(--green); background:#fff; }
.admin-inquiry-workflow li.is-done::before { background:var(--green); box-shadow: inset 0 0 0 3px #fff; }
.admin-inquiry-workflow strong { display:block; font-weight:900; }
.admin-inquiry-workflow span { display:block; margin-top:2px; color:var(--muted); font-weight:700; line-height:1.45; }
.admin-bridge-box { justify-content:space-between; align-items:center; }
.admin-bridge-box > div { flex: 1 1 320px; }
.admin-bridge-box form { display:flex; flex-wrap:wrap; gap:10px; }

/* V30 – veřejné sledování jako čistá zákaznická aplikace */
.tracking-hero-v297 { margin-top: 18px; display:grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px,.9fr); gap:22px; align-items:stretch; }
.tracking-hero-copy, .tracking-hero-card, .tracking-search-card, .tracking-privacy-note { border:1px solid var(--line); border-radius: var(--radius-xl); background:#fff; box-shadow: var(--shadow-sm); }
.tracking-hero-copy { min-height: 280px; padding: clamp(28px, 4vw, 54px); display:flex; flex-direction:column; justify-content:center; background: linear-gradient(135deg, var(--green-soft), #fff 52%); }
.tracking-hero-copy h1 { margin: 8px 0 12px; font-size: clamp(40px, 5vw, 72px); line-height:.98; letter-spacing:-.06em; }
.tracking-hero-copy p:not(.eyebrow) { max-width: 720px; color: var(--muted); font-size: clamp(18px, 1.45vw, 24px); line-height:1.45; }
.tracking-hero-card { padding: 22px; display:grid; gap:12px; }
.tracking-hero-card div { display:grid; grid-template-columns: 48px minmax(0,1fr); column-gap:14px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:18px; background:#fbfdfb; }
.tracking-hero-card .ico { grid-row: span 2; width: 28px; height:28px; color:var(--green-dark); }
.tracking-hero-card strong { font-weight:900; }
.tracking-hero-card span { color:var(--muted); font-weight:700; }
.tracking-lookup-v297 { display:grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap:22px; align-items:start; margin-top:22px; }
.tracking-search-card { padding: 24px; }
.tracking-search-card h2 { margin: 0 0 14px; font-size: clamp(26px,2.4vw,38px); }
.tracking-search-card .muted { margin-top: 12px; }
.tracking-result-v297 { min-height: 220px; border-radius: var(--radius-xl); padding: 24px; }
.track-summary-card { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:16px; }
.track-summary-card strong { display:block; font-size: clamp(26px,2.4vw,38px); line-height:1.05; letter-spacing:-.04em; }
.track-summary-card span { display:block; margin-top:8px; color:var(--muted); font-weight:800; }
.track-summary-card em { font-style:normal; align-self:flex-start; padding:9px 12px; border-radius:999px; color:var(--green-dark); background:var(--green-soft); font-weight:900; }
.track-progress { height: 10px; border-radius:999px; background:#e8f2e8; overflow:hidden; margin: 10px 0 16px; }
.track-progress span { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg, var(--green), var(--green-dark)); }
.track-public-timeline-v297 { margin-top:14px; }
.track-footer-note { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.track-empty-state { display:grid; gap:10px; }
.tracking-privacy-note { margin-top:22px; padding:18px 20px; display:flex; align-items:flex-start; gap:12px; color:var(--muted); font-weight:800; }
.tracking-privacy-note .ico { width:24px; height:24px; color:var(--green-dark); flex:0 0 auto; }
.tracking-privacy-note p { margin:0; }
@media (max-width: 980px) {
  .admin-workflow-strip, .tracking-hero-v297, .tracking-lookup-v297 { grid-template-columns:1fr; }
  .tracking-hero-copy { min-height: 0; }
}
@media (max-width: 640px) {
  .admin-workflow-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .tracking-hero-card { padding:14px; }
  .track-form { grid-template-columns:1fr; }
  .track-summary-card { display:grid; }
  .track-summary-card em { width:max-content; }
}

/* V30 – administrace poptávek a veřejné sledování: ergonomická stabilizace */
.admin-ops-shell { --admin-content-max: 1720px; }
.admin-ops-head { margin-bottom: 18px; }
.admin-status-board { display:grid; grid-template-columns: repeat(6, minmax(120px, 1fr)); gap:12px; margin: 0 0 18px; }
.admin-status-tile { display:grid; gap:5px; padding:16px 18px; border:1px solid var(--line); border-radius:20px; background:#fff; color:var(--text); text-decoration:none; box-shadow:var(--shadow-sm); transition:.16s ease; }
.admin-status-tile:hover, .admin-status-tile.is-active { transform: translateY(-1px); border-color: rgba(73,169,66,.42); background:#f8fbf8; }
.admin-status-tile strong { font-size:28px; line-height:1; letter-spacing:-.05em; }
.admin-status-tile span { color:var(--muted); font-weight:850; }
.admin-status-tile.status-new strong { color:var(--green-dark); }
.admin-status-tile.status-spam strong { color:var(--danger); }
.admin-ops-layout { display:grid; grid-template-columns: minmax(360px, .46fr) minmax(0, 1fr); gap:22px; align-items:start; }
.admin-sticky-card { position: sticky; top: 18px; }
.soft-pill { display:inline-flex; align-items:center; min-height:34px; padding:0 12px; border-radius:999px; background:#eef7eb; color:var(--green-dark); font-weight:900; }
.admin-empty-state { display:grid; place-items:start; gap:8px; padding:22px; border:1px dashed var(--line); border-radius:20px; background:#fafdfb; }
.admin-inquiry-summary { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding:18px; border:1px solid rgba(73,169,66,.22); border-radius:22px; background:linear-gradient(135deg,#f6fcf4,#fff); margin-bottom:14px; }
.admin-inquiry-summary h2 { margin:0; overflow-wrap:anywhere; font-size:clamp(24px,2vw,34px); }
.admin-quick-actions, .admin-action-strip { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.admin-action-strip { margin:0 0 14px; }
.status-pill { display:inline-flex; align-items:center; min-height:32px; padding:0 11px; margin-top:8px; border-radius:999px; background:#eef7eb; color:var(--green-dark); font-weight:900; font-size:.88rem; }
.status-pill.status-closed { background:#e7f8ee; color:#027a48; }
.status-pill.status-spam { background:#fff1f0; color:var(--danger); }
.admin-inquiry-row.status-new { border-left:4px solid var(--green); }
.admin-inquiry-row.status-read { border-left:4px solid #7aa7ff; }
.admin-inquiry-row.status-draft_created { border-left:4px solid #a778ff; }
.admin-inquiry-row.status-closed { border-left:4px solid #027a48; }
.admin-inquiry-row.status-spam { border-left:4px solid var(--danger); }
.admin-bridge-box { align-items:center; justify-content:space-between; }
.admin-bridge-box form { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.admin-inquiry-message { min-height:72px; }
.tracking-hero .copy { min-height:100%; }
.tracking-workspace { display:grid; grid-template-columns:minmax(0,.96fr) minmax(320px,.54fr); gap:20px; margin-top:22px; align-items:stretch; }
.tracking-query-card, .tracking-help-card, .tracking-result-panel { padding:clamp(22px,3vw,36px); }
.tracking-query-card h2, .tracking-help-card h2 { margin:0 0 10px; font-size:clamp(28px,2.2vw,40px); }
.tracking-page-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; margin-top:20px; max-width:none; }
.tracking-page-form input { min-height:58px; border-radius:16px; border:1px solid var(--line); padding:0 18px; font-weight:850; }
.safe-list { margin:14px 0 16px; padding:0; list-style:none; display:grid; gap:9px; }
.safe-list li { position:relative; padding-left:28px; font-weight:800; color:var(--ink); }
.safe-list li::before { content:'✓'; position:absolute; left:0; top:0; color:var(--green-dark); font-weight:950; }
.tracking-result-panel { margin-top:20px; }
.track-status-card { padding:0; overflow:hidden; }
.track-status-card.is-loading { padding:24px; }
.status-loader { display:grid; gap:6px; color:var(--muted); }
.track-status-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.38fr); gap:18px; align-items:start; padding:24px; }
.track-status-main h2 { margin:0 0 8px; font-size:clamp(30px,2.6vw,44px); }
.track-status-main p { margin:0; color:var(--muted); font-weight:750; }
.track-status-side { display:grid; gap:10px; }
.track-status-side div { border:1px solid var(--line); border-radius:16px; background:#fff; padding:12px 14px; }
.track-status-side span { display:block; color:var(--muted); font-size:.82rem; font-weight:900; margin-bottom:4px; }
.track-status-side strong { display:block; overflow-wrap:anywhere; }
.track-public-timeline-polished { padding:0 24px 24px; margin-top:0; }
.track-public-timeline-polished li { border-color:#dfeee0; }
.security-note { margin-top:16px; font-weight:750; }
@media (max-width: 1180px) {
  .admin-ops-layout, .tracking-workspace { grid-template-columns:1fr; }
  .admin-sticky-card { position:static; }
  .admin-status-board { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .admin-status-board { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .admin-inquiry-summary, .admin-card-title-row { flex-direction:column; }
  .admin-quick-actions, .admin-action-strip, .admin-bridge-box form { width:100%; }
  .admin-quick-actions .btn, .admin-action-strip .btn, .admin-bridge-box .btn { flex:1 1 160px; }
  .tracking-page-form { grid-template-columns:1fr; }
  .track-status-grid { grid-template-columns:1fr; padding:20px; }
  .track-public-timeline-polished { padding:0 20px 20px; }
}


/* V30 – production hardening */
.admin-security-page .db-table-row span small,
.admin-db-status .db-table-row span small { display:block; color:var(--muted); font-size:.78rem; margin-top:.18rem; word-break:break-all; }
.admin-security-page code { overflow-wrap:anywhere; }
.admin-security-page .admin-card .admin-inline-actions { display:flex; flex-wrap:wrap; gap:.6rem; justify-content:flex-end; }
.admin-security-page .db-table-row strong { white-space:nowrap; }
@media (max-width: 760px){
  .admin-security-page .admin-card-title-row { align-items:flex-start; }
  .admin-security-page .admin-card .admin-inline-actions { width:100%; justify-content:flex-start; }
  .admin-security-page .db-table-row { align-items:flex-start; gap:.7rem; }
  .admin-security-page .db-table-row strong { white-space:normal; text-align:right; }
}

/* V31 – bridge client monitoring */
.admin-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0;
}
.bridge-status-card.is-ok { border-color: rgba(73,169,66,.32); box-shadow: 0 18px 44px rgba(73,169,66,.08); }
.bridge-status-card.is-running { border-color: rgba(23,35,27,.22); box-shadow: 0 18px 44px rgba(17,24,39,.08); }
.bridge-status-card.is-warning { border-color: rgba(161,92,0,.32); box-shadow: 0 18px 44px rgba(161,92,0,.08); }
.bridge-status-card.is-danger { border-color: rgba(180,35,24,.32); box-shadow: 0 18px 44px rgba(180,35,24,.08); }
.bridge-status-card.is-muted { border-color: rgba(102,116,105,.24); }
@media (max-width: 900px) {
  .admin-grid-3 { grid-template-columns: 1fr; }
}

/* V39 – Import dashboard a audit importů */
.admin-import-dashboard .import-status-grid { margin-top: 18px; }
.import-status-board { margin-top: 18px; }
.import-dashboard-layout { margin-top: 20px; }
.import-draft-row.status-imported { border-left: 4px solid #027a48; }
.import-draft-row.status-existing { border-left: 4px solid #2d7f50; }
.import-draft-row.status-warning { border-left: 4px solid #a15c00; }
.import-draft-row.status-error { border-left: 4px solid var(--danger); }
.import-draft-row.status-pending { border-left: 4px solid #9aa7a0; }
.status-pill.status-imported,
.status-pill.status-existing { background:#e7f8ee; color:#027a48; }
.status-pill.status-warning { background:#fff7e6; color:#a15c00; }
.status-pill.status-error { background:#fff1f0; color:var(--danger); }
.status-pill.status-pending { background:#f1f5f2; color:#667469; }
.import-detail-card { min-height: 520px; }
.import-command-card { margin-top: 20px; padding: 18px; border: 1px solid var(--line); border-radius: 20px; background: #f8fbf8; }
.import-command-card pre,
.import-result-card pre,
.import-log-layout pre { margin-top: 12px; max-height: 460px; overflow: auto; }
.import-file-grid { margin-top: 18px; }
.import-file-grid article { border: 1px solid var(--line); border-radius: 18px; background: #fff; padding: 16px; min-width: 0; }
.import-result-card { margin-top: 18px; }
.admin-import-dashboard .bridge-endpoints { display: grid; gap: 8px; margin-top: 12px; }
.admin-import-dashboard .bridge-endpoints code { display: block; padding: 9px 10px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbf8; overflow-wrap: anywhere; white-space: pre-wrap; }
.admin-import-dashboard .btn-danger { border-color: rgba(180,35,24,.22); background: #fff; }
@media (max-width: 1180px) { .import-dashboard-layout { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .import-file-grid, .import-log-layout { grid-template-columns: 1fr; } }

/* V43.1 – Admin Ergonomics Refactor
   Cíl: task-based administrace, sticky navigace, menší kognitivní zátěž,
   větší pracovní plocha, lepší mobil/tablet ergonomie. */
.admin-news-shell {
  width: min(1680px, calc(100% - clamp(20px, 3vw, 56px)));
  margin: 18px auto 46px;
}
.admin-news-shell .admin-card,
.admin-news-shell .admin-editor,
.admin-news-shell .admin-list,
.admin-news-shell .admin-banner-card,
.admin-news-shell .admin-page-head {
  max-width: none;
}
.admin-top {
  position: sticky;
  top: 10px;
  z-index: 60;
  display: grid;
  grid-template-columns: clamp(150px, 12vw, 220px) minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin: 0 0 18px;
  padding: 10px 12px;
  border: 1px solid rgba(226, 234, 240, .86);
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 40px rgba(16,24,40,.075);
  backdrop-filter: blur(14px);
}
.admin-top img { width: clamp(142px, 11vw, 210px); }
.admin-top nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  padding: 4px 2px 6px;
  -webkit-overflow-scrolling: touch;
}
.admin-top nav .btn {
  white-space: nowrap;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 15px;
  font-size: 14px;
  box-shadow: none;
  flex: 0 0 auto;
}
.admin-top nav .btn-primary,
.admin-top nav [aria-current="page"] {
  background: var(--green);
  color: var(--ink);
  border-color: rgba(77,154,47,.28);
}
.admin-dashboard-head,
.admin-page-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  padding: clamp(24px, 3vw, 42px);
  margin-bottom: 20px;
}
.admin-dashboard-head h1,
.admin-page-head h1 {
  font-size: clamp(34px, 4.2vw, 64px);
  line-height: .96;
  letter-spacing: -.07em;
  max-width: 900px;
}
.admin-dashboard-head .muted,
.admin-page-head .muted { max-width: 920px; }
.admin-mini-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
  gap: 10px;
  min-width: min(390px, 36vw);
}
.admin-mini-stats span {
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #f8fbf8);
  box-shadow: var(--shadow-sm);
}
.admin-mini-stats strong { display: block; font-size: 24px; line-height: 1; letter-spacing: -.055em; }
.admin-mini-stats small { color: var(--muted); font-weight: 850; }
.admin-grid-2,
.admin-grid-3,
.admin-db-status .db-status-grid,
.bridge-overview-grid,
.bridge-stats-grid,
.import-status-grid,
.import-log-layout {
  width: 100%;
}
.admin-grid-3 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.admin-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.admin-status-board,
.bridge-stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
  gap: 10px;
}
.admin-status-tile,
.bridge-stat {
  min-height: 88px;
  padding: 16px 18px;
  align-content: center;
}
.admin-status-tile strong,
.bridge-stat strong { font-size: clamp(24px, 2.4vw, 36px); }
.admin-ops-layout,
.admin-inquiries-layout,
.import-dashboard-layout {
  display: grid;
  grid-template-columns: minmax(300px, 430px) minmax(0, 1fr);
  gap: clamp(18px, 2vw, 34px);
  align-items: start;
}
.admin-sticky-card {
  position: sticky;
  top: 98px;
  max-height: calc(100vh - 120px);
  overflow: auto;
  scrollbar-width: thin;
}
.admin-inquiry-list-card,
.import-draft-list,
.admin-list,
.admin-editor,
.admin-inquiry-detail-card,
.import-detail-card {
  min-height: auto;
}
.admin-card { padding: clamp(22px, 2.2vw, 36px); }
.admin-inquiry-row,
.import-draft-row,
.admin-price-row,
.admin-news-item,
.bridge-job-row {
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.admin-inquiry-row:hover,
.import-draft-row:hover,
.admin-price-row:hover,
.bridge-job-row:hover {
  transform: translateY(-1px);
}
.bridge-job-list { gap: 12px; }
.bridge-job-row {
  grid-template-columns: minmax(0, 1fr) minmax(82px, auto) auto;
  padding: 14px 16px;
}
.bridge-job-row small,
.bridge-job-row .danger-text { overflow-wrap: anywhere; }
.import-log-layout pre,
.import-command-card pre,
.import-result-card pre,
.admin-code,
.admin-log-preview {
  font: 700 12.5px/1.48 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  white-space: pre-wrap;
  overflow: auto;
  max-height: 360px;
  border-radius: 16px;
  background: #0b1118;
  color: #e9f8e7;
  padding: 16px;
}
.import-log-layout {
  margin-top: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.import-detail-card { position: sticky; top: 98px; }
.admin-inquiry-detail-card { position: sticky; top: 98px; }
.admin-toolbar,
.admin-inquiry-filters,
.admin-price-filters {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(255,255,255,.78);
  box-shadow: var(--shadow-sm);
}
.admin-toolbar input,
.admin-toolbar select,
.admin-inquiry-filters input,
.admin-inquiry-filters select,
.admin-price-filters input,
.admin-price-filters select {
  min-height: 48px;
  border-radius: 14px;
}
.admin-control-room .admin-cockpit-grid {
  display: grid;
  grid-template-columns: 1.1fr .95fr .95fr;
  gap: 18px;
  margin: 0 0 18px;
}
.admin-cockpit-card {
  display: grid;
  gap: 12px;
  align-content: start;
  min-height: 230px;
}
.admin-cockpit-card h2 {
  margin: 0;
  font-size: clamp(28px, 2.5vw, 42px);
  line-height: 1;
}
.admin-cockpit-card.is-primary {
  border-color: rgba(127,190,67,.35);
  background: linear-gradient(135deg, #f1fbef, #fff 68%);
}
.admin-cockpit-status-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 20px;
}
.admin-status-card {
  display: grid;
  gap: 8px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.admin-status-card span { color: var(--green-dark); font-size: 12px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.admin-status-card strong { font-size: 22px; line-height: 1; }
.admin-status-card small { color: var(--muted); overflow-wrap: anywhere; }
.admin-status-card.state-ok { border-color: rgba(73,169,66,.28); background: linear-gradient(180deg, #fff, #f7fcf6); }
.admin-status-card.state-warning { border-color: rgba(161,92,0,.24); background: #fffdf7; }
.admin-status-card.state-error { border-color: rgba(180,35,24,.24); background: #fffafa; }
.admin-cockpit-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(340px, .62fr);
  gap: 18px;
  align-items: start;
}
.admin-dashboard-list { display: grid; gap: 10px; }
.admin-dashboard-row {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}
.admin-dashboard-row:hover { border-color: rgba(73,169,66,.4); background: #f8fbf8; }
.admin-dashboard-row span { color: var(--green-dark); font-weight: 900; font-size: 13px; }
.admin-dashboard-row strong { font-size: 18px; }
.admin-dashboard-row small { color: var(--muted); overflow-wrap: anywhere; }
.admin-safety-strip {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  background: linear-gradient(135deg, #f7fcf5, #fff 72%);
}
.admin-safety-strip h2 { margin: 0 0 6px; }
@media (max-width: 1260px) {
  .admin-dashboard-head,
  .admin-page-head { grid-template-columns: 1fr; }
  .admin-mini-stats { min-width: 0; width: 100%; }
  .admin-cockpit-status-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-control-room .admin-cockpit-grid,
  .admin-cockpit-layout { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .admin-top { position: sticky; top: 6px; grid-template-columns: 1fr; }
  .admin-top nav { justify-content: flex-start; width: 100%; }
  .admin-ops-layout,
  .admin-inquiries-layout,
  .import-dashboard-layout,
  .import-log-layout,
  .admin-grid-2 { grid-template-columns: 1fr; }
  .admin-sticky-card,
  .admin-inquiry-detail-card,
  .import-detail-card { position: static; max-height: none; }
}
@media (max-width: 680px) {
  .admin-news-shell { width: min(100% - 20px, 1680px); margin-top: 10px; }
  .admin-top { border-radius: 18px; padding: 8px; }
  .admin-top img { width: 150px; }
  .admin-top nav .btn { min-height: 40px; padding: 9px 12px; font-size: 13px; }
  .admin-dashboard-head,
  .admin-page-head { padding: 22px; border-radius: 22px; }
  .admin-mini-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .admin-cockpit-status-grid { grid-template-columns: 1fr; }
  .admin-safety-strip { display: grid; }
  .admin-card { padding: 20px; border-radius: 22px; }
}

/* V43.4 – Mobile Glass Hamburger Header
   Mobil/tablet: app-like poloprůhledný horní pruh s logem a hamburgerem.
   Varianta B: při scrollu dolů se schová, při scrollu nahoru se vrátí.
   Desktop zůstává beze změny. */
.mobile-glass-header,
.mobile-glass-backdrop,
.mobile-glass-panel { display: none; }

@media (max-width: 860px) {
  body.has-mobile-glass {
    padding-top: calc(86px + env(safe-area-inset-top, 0px));
  }

  body.has-mobile-glass .site-header,
  body.has-mobile-glass .admin-top {
    display: none !important;
  }

  body.has-mobile-menu-open {
    overflow: hidden;
    touch-action: none;
  }

  .mobile-glass-header {
    position: fixed;
    top: calc(10px + env(safe-area-inset-top, 0px));
    left: 12px;
    right: 12px;
    z-index: 9500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: auto;
    min-height: 64px;
    padding: 9px 10px 9px 14px;
    border: 1px solid rgba(227, 234, 240, .82);
    border-radius: 24px;
    background: rgba(255, 255, 255, .78);
    backdrop-filter: blur(18px) saturate(1.28);
    -webkit-backdrop-filter: blur(18px) saturate(1.28);
    box-shadow: 0 18px 44px rgba(16, 24, 40, .10);
    transition: transform .24s ease, opacity .24s ease, box-shadow .24s ease, background .24s ease;
  }

  .mobile-glass-header.is-scrolled {
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 22px 54px rgba(16, 24, 40, .14);
  }

  .mobile-glass-header.is-hidden {
    transform: translateY(calc(-120% - env(safe-area-inset-top, 0px)));
    opacity: .08;
    pointer-events: none;
  }

  .mobile-glass-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: var(--ink);
    font-weight: 900;
    letter-spacing: -.035em;
  }

  .mobile-glass-brand img {
    width: min(156px, 48vw);
    height: auto;
    max-height: 43px;
    object-fit: contain;
  }

  .mobile-glass-brand span {
    display: none;
  }

  .mobile-glass-toggle {
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(127, 190, 67, .24);
    border-radius: 18px;
    background: linear-gradient(180deg, #fff, #f2faf0);
    color: var(--ink);
    box-shadow: 0 8px 22px rgba(16, 24, 40, .08);
  }

  .mobile-glass-toggle:focus-visible,
  .mobile-menu-link:focus-visible,
  .mobile-menu-close:focus-visible {
    outline: 3px solid rgba(127, 190, 67, .45);
    outline-offset: 3px;
  }

  .mobile-glass-lines,
  .mobile-glass-lines::before,
  .mobile-glass-lines::after {
    display: block;
    width: 21px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform .22s ease, opacity .22s ease;
  }

  .mobile-glass-lines {
    position: relative;
  }

  .mobile-glass-lines::before,
  .mobile-glass-lines::after {
    content: '';
    position: absolute;
    left: 0;
  }

  .mobile-glass-lines::before { top: -7px; }
  .mobile-glass-lines::after { top: 7px; }

  body.has-mobile-menu-open .mobile-glass-lines {
    transform: rotate(45deg);
  }

  body.has-mobile-menu-open .mobile-glass-lines::before {
    transform: translateY(7px) rotate(90deg);
  }

  body.has-mobile-menu-open .mobile-glass-lines::after {
    transform: translateY(-7px) rotate(90deg);
    opacity: 0;
  }

  .mobile-glass-backdrop {
    position: fixed;
    inset: 0;
    z-index: 9490;
    display: block;
    background: rgba(7, 16, 25, .32);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }

  .mobile-glass-backdrop[hidden],
  .mobile-glass-panel[hidden] {
    display: none !important;
  }

  .mobile-glass-panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 9510;
    display: flex;
    flex-direction: column;
    width: min(92vw, 430px);
    padding: calc(18px + env(safe-area-inset-top, 0px)) 18px calc(18px + env(safe-area-inset-bottom, 0px));
    border-left: 1px solid rgba(227, 234, 240, .9);
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(20px) saturate(1.2);
    -webkit-backdrop-filter: blur(20px) saturate(1.2);
    box-shadow: -24px 0 60px rgba(16, 24, 40, .18);
    transform: translateX(0);
    animation: mobilePanelIn .22s ease both;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  @keyframes mobilePanelIn {
    from { transform: translateX(100%); opacity: .6; }
    to { transform: translateX(0); opacity: 1; }
  }

  .mobile-menu-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--line);
  }

  .mobile-menu-head strong {
    display: block;
    margin: 0;
    font-size: 19px;
    letter-spacing: -.04em;
  }

  .mobile-menu-head small {
    color: var(--muted);
    font-weight: 750;
  }

  .mobile-menu-close {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    color: var(--ink);
    font-size: 28px;
    line-height: 1;
  }

  .mobile-menu-nav {
    display: grid;
    gap: 8px;
    padding: 18px 0;
  }

  .mobile-menu-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 54px;
    padding: 0 16px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: linear-gradient(180deg, #fff, #fbfdfb);
    color: var(--ink);
    font-weight: 900;
    letter-spacing: -.03em;
  }

  .mobile-menu-link::after {
    content: '›';
    color: var(--muted);
    font-size: 22px;
    line-height: 1;
  }

  .mobile-menu-link.is-active,
  .mobile-menu-link[aria-current='page'] {
    border-color: rgba(127, 190, 67, .45);
    background: linear-gradient(180deg, var(--green-soft), #fff);
    color: var(--green-dark);
  }

  .mobile-menu-link.is-primary {
    border-color: var(--green);
    background: linear-gradient(180deg, #8ccf52, #70b933);
    color: #071019;
    box-shadow: 0 14px 32px rgba(127, 190, 67, .22);
  }

  .mobile-menu-link.is-primary::after {
    color: currentColor;
  }

  .mobile-menu-actions {
    display: grid;
    gap: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--line);
  }

  .mobile-menu-foot {
    margin-top: auto;
    padding-top: 16px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
  }
}

@media (max-width: 380px) {
  .mobile-glass-header {
    left: 8px;
    right: 8px;
    min-height: 60px;
    border-radius: 22px;
  }
  .mobile-glass-brand img { width: min(142px, 46vw); }
  .mobile-glass-toggle { width: 46px; height: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-glass-header,
  .mobile-glass-lines,
  .mobile-glass-lines::before,
  .mobile-glass-lines::after {
    transition: none !important;
  }
  .mobile-glass-panel { animation: none !important; }
}

/* V44 – pre-production ergonomics consolidation.
   Focus: larger touch targets, safer scrolling log blocks, consistent focus ring. */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(74, 188, 32, .48);
  outline-offset: 3px;
}
:where(.btn, button, input, select, textarea) {
  touch-action: manipulation;
}
:where(.btn, button, .mobile-menu-link) {
  min-height: 44px;
}
pre, code, .log-box, .admin-log, .cli-block, .admin-code, .mono-box {
  max-width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.mobile-glass-brand img,
.brand img,
.admin-top img,
.admin-logo {
  object-fit: contain;
}
@media (max-width: 860px) {
  .mobile-glass-panel {
    max-height: calc(100dvh - 18px);
  }
  .mobile-menu-close {
    cursor: pointer;
  }
  .admin-card, .panel-card, .bento-card, .glass-card {
    scroll-margin-top: 96px;
  }
}


/* V44.1 – Admin LIMS standard
   Vysoce denzní servisní/laboratorní administrace: levý pevný sidebar, striktní grid,
   karty bez masivních stínů a více vertikálního prostoru pro data/logy. */
:root {
  --admin-sidebar-w: 248px;
  --admin-gap: 16px;
  --admin-radius: 14px;
  --admin-line: #e5e7eb;
  --admin-panel: #ffffff;
  --admin-muted-bg: #f8faf9;
  --admin-sidebar-bg: #111a18;
  --admin-sidebar-border: rgba(255,255,255,.10);
  --admin-sidebar-text: rgba(255,255,255,.78);
  --admin-sidebar-active: #4abc20;
}

.admin-polished,
.admin-polished * {
  box-sizing: border-box;
}

@media (min-width: 1024px) {
  body:has(.admin-polished) {
    min-height: 100vh;
    background: #f6f8f7;
    overflow-x: hidden;
  }

  .admin-news-shell.admin-polished {
    width: auto !important;
    max-width: none !important;
    min-height: 100vh;
    margin: 0 !important;
    padding: 14px 18px 28px calc(var(--admin-sidebar-w) + 34px) !important;
  }

  .admin-news-shell.admin-polished > .admin-top {
    position: fixed;
    inset: 12px auto 12px 12px;
    z-index: 1200;
    width: var(--admin-sidebar-w);
    min-width: 0;
    max-height: calc(100vh - 24px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    align-items: stretch;
    gap: 14px;
    padding: 12px;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--admin-sidebar-border);
    border-radius: 18px;
    background: linear-gradient(180deg, #17231f 0%, #101816 100%);
    box-shadow: none;
  }

  .admin-news-shell.admin-polished > .admin-top > a:first-child {
    display: grid;
    place-items: center;
    min-height: 74px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 14px;
    background: rgba(255,255,255,.96);
  }

  .admin-news-shell.admin-polished > .admin-top img {
    display: block;
    width: min(190px, 100%) !important;
    height: auto;
    margin: 0 !important;
  }

  .admin-news-shell.admin-polished > .admin-top nav {
    display: grid !important;
    grid-auto-rows: minmax(34px, auto);
    align-content: start;
    gap: 4px;
    min-height: 0;
    overflow: auto;
    padding-right: 2px;
    scrollbar-width: thin;
  }

  .admin-news-shell.admin-polished > .admin-top nav::-webkit-scrollbar { width: 7px; }
  .admin-news-shell.admin-polished > .admin-top nav::-webkit-scrollbar-thumb { background: rgba(255,255,255,.22); border-radius: 999px; }

  .admin-news-shell.admin-polished > .admin-top nav .btn,
  .admin-news-shell.admin-polished > .admin-top nav a {
    justify-content: flex-start;
    width: 100%;
    min-height: 36px;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--admin-sidebar-text);
    box-shadow: none !important;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -.01em;
  }

  .admin-news-shell.admin-polished > .admin-top nav .btn:hover,
  .admin-news-shell.admin-polished > .admin-top nav a:hover,
  .admin-news-shell.admin-polished > .admin-top nav .btn:focus-visible,
  .admin-news-shell.admin-polished > .admin-top nav a:focus-visible {
    background: rgba(255,255,255,.07);
    color: #fff;
    border-color: rgba(255,255,255,.11);
  }

  .admin-news-shell.admin-polished > .admin-top nav .btn-primary,
  .admin-news-shell.admin-polished > .admin-top nav [aria-current="page"] {
    background: var(--admin-sidebar-active) !important;
    color: #07120a !important;
    border-color: rgba(74,188,32,.85) !important;
    box-shadow: none !important;
  }

  .admin-news-shell.admin-polished > .admin-dashboard-head,
  .admin-news-shell.admin-polished > .admin-page-head,
  .admin-news-shell.admin-polished .admin-dashboard-head,
  .admin-news-shell.admin-polished .admin-page-head {
    padding: 18px 20px !important;
    margin: 0 0 var(--admin-gap) !important;
    border: 1px solid var(--admin-line) !important;
    border-radius: var(--admin-radius) !important;
    background: var(--admin-panel) !important;
    box-shadow: none !important;
  }

  .admin-news-shell.admin-polished .admin-dashboard-head h1,
  .admin-news-shell.admin-polished .admin-page-head h1 {
    font-size: clamp(24px, 2.1vw, 34px) !important;
    line-height: .96;
    margin: 0 0 8px;
    letter-spacing: -.055em;
  }

  .admin-news-shell.admin-polished .admin-dashboard-head p,
  .admin-news-shell.admin-polished .admin-page-head p {
    max-width: 980px;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.35;
  }

  .admin-mini-stats {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
    gap: 8px !important;
    align-items: stretch;
  }

  .admin-mini-stats span {
    min-width: 0 !important;
    padding: 9px 10px !important;
    border: 1px solid var(--admin-line) !important;
    border-radius: 12px !important;
    background: #fbfdfb !important;
    box-shadow: none !important;
  }

  .admin-mini-stats strong { font-size: 20px !important; }
  .admin-mini-stats small { margin-top: 3px !important; font-size: 11px !important; }

  .admin-card,
  .admin-editor,
  .admin-list,
  .admin-banner-card,
  .admin-page-head,
  .admin-fieldset,
  .admin-inquiry-list-card,
  .admin-inquiry-detail-card,
  .import-detail-card,
  .import-command-card,
  .import-result-card,
  .bridge-doc-card,
  .bridge-card,
  .bridge-status-card,
  .db-status-card,
  .admin-cockpit-card,
  .compact-card {
    border: 1px solid var(--admin-line) !important;
    border-radius: var(--admin-radius) !important;
    background: var(--admin-panel) !important;
    box-shadow: none !important;
  }

  .admin-card,
  .admin-editor,
  .admin-list,
  .admin-inquiry-list-card,
  .admin-inquiry-detail-card,
  .import-detail-card,
  .import-command-card,
  .import-result-card,
  .bridge-doc-card,
  .bridge-card,
  .bridge-status-card,
  .db-status-card,
  .admin-cockpit-card,
  .compact-card {
    padding: 16px !important;
  }

  .admin-grid,
  .admin-grid-2,
  .admin-grid-3,
  .admin-price-grid,
  .bridge-overview-grid,
  .bridge-stats-grid,
  .import-status-grid,
  .import-log-layout,
  .admin-cockpit-grid,
  .admin-cockpit-status-grid,
  .db-status-grid,
  .db-feature-grid,
  .db-import-grid {
    display: grid;
    gap: var(--admin-gap) !important;
    align-items: stretch !important;
  }

  .admin-grid-3,
  .import-status-grid,
  .bridge-stats-grid,
  .admin-cockpit-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-grid-2,
  .db-status-grid,
  .db-feature-grid,
  .db-import-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-grid,
  .admin-ops-layout,
  .admin-inquiries-layout,
  .import-dashboard-layout,
  .admin-cockpit-layout {
    grid-template-columns: minmax(300px, .42fr) minmax(0, 1fr) !important;
    gap: var(--admin-gap) !important;
    align-items: start !important;
  }

  .admin-workflow-strip,
  .admin-status-board,
  .import-status-board {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
    gap: 8px !important;
    margin: 0 0 var(--admin-gap) !important;
  }

  .admin-workflow-strip > *,
  .admin-status-tile,
  .admin-status-board > *,
  .import-status-board > * {
    min-height: 54px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--admin-line) !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }

  .admin-list-controls,
  .admin-filters,
  .admin-inquiry-filters,
  .admin-ops-filters {
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  .admin-news-item,
  .admin-inquiry-row,
  .import-draft-row,
  .bridge-job-row,
  .db-table-row,
  .admin-dashboard-row,
  .admin-price-item,
  .admin-price-category {
    border: 1px solid var(--admin-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .admin-inquiry-row,
  .import-draft-row,
  .bridge-job-row,
  .admin-dashboard-row {
    padding: 10px 12px !important;
    margin: 0 0 8px !important;
  }

  .admin-inquiry-list,
  .import-draft-list,
  .bridge-job-list,
  .admin-dashboard-list,
  .admin-news-list {
    display: grid !important;
    gap: 8px !important;
  }

  .admin-inquiry-token,
  .admin-inquiry-row strong,
  .import-draft-row strong,
  .bridge-job-row strong {
    font-size: 15px !important;
    line-height: 1.1;
  }

  .admin-news-shell.admin-polished input,
  .admin-news-shell.admin-polished select,
  .admin-news-shell.admin-polished textarea {
    min-height: 38px !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
  }

  .admin-news-shell.admin-polished textarea { min-height: 92px !important; }

  .admin-news-shell.admin-polished .btn,
  .admin-news-shell.admin-polished button,
  .admin-news-shell.admin-polished input[type="submit"] {
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 10px;
    box-shadow: none !important;
  }

  .admin-news-shell.admin-polished h2 { font-size: 20px; line-height: 1.05; margin-bottom: 10px; }
  .admin-news-shell.admin-polished h3 { font-size: 16px; line-height: 1.12; }
  .admin-news-shell.admin-polished .eyebrow { font-size: 11px; letter-spacing: .075em; margin-bottom: 8px; }
  .admin-news-shell.admin-polished .muted { font-size: 13px; line-height: 1.38; }

  .admin-log-preview,
  .terminal-box,
  .import-command-card pre,
  .admin-news-shell.admin-polished pre {
    max-height: 320px;
    overflow: auto;
    padding: 12px !important;
    border: 1px solid var(--admin-line);
    border-radius: 12px;
    background: #0f172a !important;
    color: #e5eef5 !important;
    box-shadow: none !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    scrollbar-width: thin;
  }

  .admin-sticky-card {
    position: sticky;
    top: 14px;
  }
}

@media (max-width: 1023px) {
  .admin-news-shell.admin-polished {
    width: min(100% - 18px, 100%) !important;
    margin: 92px auto 20px !important;
  }
  .admin-news-shell.admin-polished > .admin-top { display: none !important; }
  .admin-news-shell.admin-polished .admin-dashboard-head,
  .admin-news-shell.admin-polished .admin-page-head,
  .admin-news-shell.admin-polished .admin-card,
  .admin-news-shell.admin-polished .admin-editor,
  .admin-news-shell.admin-polished .admin-list { box-shadow: none !important; }
}

@media (max-width: 680px) {
  .admin-news-shell.admin-polished {
    margin-top: 86px !important;
  }
  .admin-mini-stats,
  .admin-workflow-strip,
  .admin-status-board,
  .import-status-board {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .admin-news-shell.admin-polished .admin-dashboard-head,
  .admin-news-shell.admin-polished .admin-page-head,
  .admin-card,
  .admin-editor,
  .admin-list {
    padding: 14px !important;
    border-radius: 14px !important;
  }
}


/* V44.2 – Admin Application Shell
   Finální aplikační standard administrace: levý sidebar, LIMS datová hustota,
   přístupnost, copy-to-clipboard CLI bloky, mobilní glass hamburger. */
:root {
  --admin-sidebar-width-v442: 256px;
  --admin-sidebar-bg-v442: #111a18;
  --admin-main-bg-v442: #f4f7f5;
  --admin-panel-v442: #ffffff;
  --admin-line-v442: #e3e8e5;
  --admin-text-v442: #111827;
  --admin-muted-v442: #667469;
  --admin-green-v442: #4abc20;
  --admin-radius-v442: 14px;
  --admin-gap-v442: 16px;
}

body.admin-app-v442 {
  background: var(--admin-main-bg-v442);
  color: var(--admin-text-v442);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

@media (min-width: 1024px) {
  body.admin-app-v442 {
    overflow-x: hidden;
  }

  body.admin-app-v442 .admin-news-shell.admin-polished {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    min-height: 100vh;
    padding: 14px 18px 28px calc(var(--admin-sidebar-width-v442) + 34px) !important;
  }

  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top {
    position: fixed !important;
    inset: 12px auto 12px 12px !important;
    width: var(--admin-sidebar-width-v442) !important;
    max-height: calc(100vh - 24px);
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 14px;
    padding: 12px !important;
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,.10);
    background: linear-gradient(180deg, #17231f 0%, #101816 100%) !important;
    box-shadow: none !important;
  }

  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top > a:first-child {
    display: grid;
    place-items: center;
    min-height: 76px;
    padding: 10px;
    border-radius: 15px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.10);
  }

  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top img {
    width: min(188px, 100%) !important;
    height: auto !important;
    object-fit: contain;
  }

  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav {
    display: grid !important;
    grid-auto-rows: minmax(34px, auto);
    gap: 4px !important;
    align-content: start;
    overflow-y: auto;
    padding: 0 2px 2px 0;
    scrollbar-width: thin;
  }

  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav a,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn {
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 36px !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: rgba(255,255,255,.78) !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.12;
  }

  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav a:hover,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn:hover,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav a:focus-visible,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn:focus-visible {
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.12) !important;
  }

  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav [aria-current="page"],
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn-primary {
    color: #07120a !important;
    background: var(--admin-green-v442) !important;
    border-color: rgba(74,188,32,.8) !important;
  }

  body.admin-app-v442 .admin-dashboard-head,
  body.admin-app-v442 .admin-page-head,
  body.admin-app-v442 .admin-cockpit-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 16px 18px !important;
    border: 1px solid var(--admin-line-v442) !important;
    border-radius: var(--admin-radius-v442) !important;
    background: var(--admin-panel-v442) !important;
    box-shadow: none !important;
    margin-bottom: var(--admin-gap-v442) !important;
  }

  body.admin-app-v442 .admin-dashboard-head h1,
  body.admin-app-v442 .admin-page-head h1,
  body.admin-app-v442 .admin-cockpit-head h1 {
    font-size: clamp(24px, 2.05vw, 34px) !important;
    line-height: 1;
    letter-spacing: -.055em;
    margin: 0 0 6px;
  }

  body.admin-app-v442 .admin-card,
  body.admin-app-v442 .admin-editor,
  body.admin-app-v442 .admin-list,
  body.admin-app-v442 .admin-banner-card,
  body.admin-app-v442 .bridge-card,
  body.admin-app-v442 .bridge-status-card,
  body.admin-app-v442 .db-status-card,
  body.admin-app-v442 .import-detail-card,
  body.admin-app-v442 .import-command-card,
  body.admin-app-v442 .import-result-card,
  body.admin-app-v442 .admin-inquiry-list-card,
  body.admin-app-v442 .admin-inquiry-detail-card {
    border: 1px solid var(--admin-line-v442) !important;
    border-radius: var(--admin-radius-v442) !important;
    background: var(--admin-panel-v442) !important;
    box-shadow: none !important;
  }

  body.admin-app-v442 .admin-card,
  body.admin-app-v442 .admin-editor,
  body.admin-app-v442 .admin-list,
  body.admin-app-v442 .admin-banner-card,
  body.admin-app-v442 .bridge-card,
  body.admin-app-v442 .bridge-status-card,
  body.admin-app-v442 .db-status-card,
  body.admin-app-v442 .import-detail-card,
  body.admin-app-v442 .import-command-card,
  body.admin-app-v442 .import-result-card,
  body.admin-app-v442 .admin-inquiry-list-card,
  body.admin-app-v442 .admin-inquiry-detail-card {
    padding: 14px !important;
  }

  body.admin-app-v442 .admin-grid,
  body.admin-app-v442 .admin-grid-2,
  body.admin-app-v442 .admin-grid-3,
  body.admin-app-v442 .bridge-overview-grid,
  body.admin-app-v442 .bridge-stats-grid,
  body.admin-app-v442 .db-status-grid,
  body.admin-app-v442 .db-feature-grid,
  body.admin-app-v442 .db-import-grid,
  body.admin-app-v442 .import-status-grid,
  body.admin-app-v442 .admin-cockpit-grid,
  body.admin-app-v442 .admin-cockpit-layout,
  body.admin-app-v442 .admin-cockpit-status-grid,
  body.admin-app-v442 .admin-inquiries-layout,
  body.admin-app-v442 .import-dashboard-layout {
    gap: var(--admin-gap-v442) !important;
    align-items: stretch !important;
  }

  body.admin-app-v442 .admin-inquiries-layout,
  body.admin-app-v442 .import-dashboard-layout,
  body.admin-app-v442 .admin-cockpit-layout,
  body.admin-app-v442 .admin-ops-layout {
    display: grid !important;
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr) !important;
  }

  body.admin-app-v442 .terminal-box,
  body.admin-app-v442 .admin-log-preview,
  body.admin-app-v442 pre {
    max-height: 360px;
    overflow: auto;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 12px !important;
    line-height: 1.42 !important;
    white-space: pre;
    word-break: normal;
  }
}

.admin-code-wrap {
  position: relative;
  display: block;
  min-width: 0;
}

.admin-copy-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 4;
  min-height: 30px !important;
  padding: 5px 9px !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.92) !important;
  color: #111827 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

.is-current-row,
.admin-inquiry-row.is-current-row,
.import-draft-row.is-current-row,
.bridge-job-row.is-current-row {
  border-color: rgba(74,188,32,.75) !important;
  background: #f2fff0 !important;
}

body.admin-app-v442 :focus-visible {
  outline: 3px solid rgba(74,188,32,.35);
  outline-offset: 2px;
}

@media (max-width: 1023px) {
  body.admin-app-v442 .admin-news-shell.admin-polished {
    margin-top: 92px !important;
    width: min(100% - 18px, 100%) !important;
  }
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top {
    display: none !important;
  }
}

@media (max-width: 680px) {
  body.admin-app-v442 .admin-dashboard-head,
  body.admin-app-v442 .admin-page-head,
  body.admin-app-v442 .admin-cockpit-head {
    grid-template-columns: 1fr !important;
    padding: 14px !important;
  }
  body.admin-app-v442 .admin-inquiries-layout,
  body.admin-app-v442 .import-dashboard-layout,
  body.admin-app-v442 .admin-cockpit-layout,
  body.admin-app-v442 .admin-ops-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}


/* V44.3 – Admin Shell Layout Correction
   Cíl: desktopová administrace jako kompaktní LIMS aplikace.
   Opravy: skutečný levý sidebar, kompaktní logo, omezená pracovní šířka,
   čitelnější logy, odstranění duplicitní spodní navigace a stabilní grid. */
:root {
  --admin-sidebar-width-v443: 224px;
  --admin-content-max-v443: 1500px;
  --admin-gap-v443: 14px;
  --admin-radius-v443: 12px;
  --admin-line-v443: #dfe7e2;
  --admin-shell-bg-v443: #f3f6f4;
  --admin-sidebar-dark-v443: #0f1916;
  --admin-green-v443: #4abc20;
}

body.admin-app-v443,
body.admin-app-v442 {
  background: var(--admin-shell-bg-v443) !important;
}

@media (min-width: 1024px) {
  body.admin-app-v443 .admin-news-shell.admin-polished,
  body.admin-app-v442 .admin-news-shell.admin-polished {
    min-height: 100vh;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 12px 18px 24px calc(var(--admin-sidebar-width-v443) + 24px) !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > :not(.admin-top),
  body.admin-app-v442 .admin-news-shell.admin-polished > :not(.admin-top) {
    max-width: var(--admin-content-max-v443);
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top {
    position: fixed !important;
    inset: 8px auto 8px 8px !important;
    width: var(--admin-sidebar-width-v443) !important;
    max-height: calc(100vh - 16px) !important;
    padding: 10px !important;
    border-radius: 16px !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 10px !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, #12201c 0%, #0a1210 100%) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: none !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top > a:first-child,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top > a:first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 7px 10px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top img,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top img {
    display: block !important;
    width: min(144px, 100%) !important;
    max-height: 42px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav {
    display: grid !important;
    grid-auto-rows: minmax(34px, auto) !important;
    gap: 4px !important;
    align-content: start !important;
    overflow-y: auto !important;
    padding: 2px 2px 4px 0 !important;
    scrollbar-width: thin;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav a,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 34px !important;
    padding: 7px 9px !important;
    border-radius: 9px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: rgba(255,255,255,.76) !important;
    box-shadow: none !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    white-space: nowrap !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a:hover,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn:hover,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav a:hover,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn:hover {
    color: #fff !important;
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.12) !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav [aria-current="page"],
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn-primary,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav [aria-current="page"],
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn-primary {
    color: #07120a !important;
    background: var(--admin-green-v443) !important;
    border-color: rgba(74,188,32,.85) !important;
  }

  body.admin-app-v443 .admin-dashboard-head,
  body.admin-app-v443 .admin-page-head,
  body.admin-app-v443 .admin-cockpit-head,
  body.admin-app-v442 .admin-dashboard-head,
  body.admin-app-v442 .admin-page-head,
  body.admin-app-v442 .admin-cockpit-head {
    min-height: 70px !important;
    padding: 14px 16px !important;
    margin-bottom: var(--admin-gap-v443) !important;
    border-radius: var(--admin-radius-v443) !important;
    border: 1px solid var(--admin-line-v443) !important;
    box-shadow: none !important;
  }

  body.admin-app-v443 .admin-dashboard-head h1,
  body.admin-app-v443 .admin-page-head h1,
  body.admin-app-v443 .admin-cockpit-head h1,
  body.admin-app-v442 .admin-dashboard-head h1,
  body.admin-app-v442 .admin-page-head h1,
  body.admin-app-v442 .admin-cockpit-head h1 {
    font-size: clamp(24px, 1.8vw, 32px) !important;
    letter-spacing: -.05em;
  }

  body.admin-app-v443 .admin-mini-stats,
  body.admin-app-v442 .admin-mini-stats {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(68px, auto)) !important;
    gap: 8px !important;
  }

  body.admin-app-v443 .admin-mini-stats span,
  body.admin-app-v442 .admin-mini-stats span {
    min-width: 68px !important;
    min-height: 48px !important;
    padding: 7px 10px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
  }

  body.admin-app-v443 .admin-cockpit-grid,
  body.admin-app-v442 .admin-cockpit-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--admin-gap-v443) !important;
    margin-bottom: var(--admin-gap-v443) !important;
  }

  body.admin-app-v443 .admin-cockpit-status-grid,
  body.admin-app-v442 .admin-cockpit-status-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: var(--admin-gap-v443) !important;
  }

  body.admin-app-v443 .admin-status-card,
  body.admin-app-v442 .admin-status-card {
    min-height: 68px !important;
    padding: 11px 12px !important;
    border-radius: 11px !important;
    box-shadow: none !important;
  }

  body.admin-app-v443 .admin-cockpit-layout,
  body.admin-app-v442 .admin-cockpit-layout {
    display: grid !important;
    grid-template-columns: minmax(340px, 460px) minmax(0, 1fr) !important;
    gap: var(--admin-gap-v443) !important;
    align-items: start !important;
  }

  body.admin-app-v443 .admin-cockpit-layout > .admin-card:last-child,
  body.admin-app-v442 .admin-cockpit-layout > .admin-card:last-child {
    min-height: 420px !important;
  }

  body.admin-app-v443 .admin-dashboard-list,
  body.admin-app-v442 .admin-dashboard-list {
    display: grid !important;
    gap: 8px !important;
  }

  body.admin-app-v443 .admin-dashboard-row,
  body.admin-app-v442 .admin-dashboard-row {
    min-height: 54px !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
  }

  body.admin-app-v443 .admin-log-preview,
  body.admin-app-v442 .admin-log-preview {
    min-height: 300px !important;
    max-height: 420px !important;
    width: 100% !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    padding: 12px !important;
    border-radius: 10px !important;
  }

  body.admin-app-v443 .admin-card,
  body.admin-app-v443 .admin-editor,
  body.admin-app-v443 .admin-list,
  body.admin-app-v443 .admin-banner-card,
  body.admin-app-v443 .bridge-card,
  body.admin-app-v443 .bridge-status-card,
  body.admin-app-v443 .db-status-card,
  body.admin-app-v443 .import-detail-card,
  body.admin-app-v443 .import-command-card,
  body.admin-app-v443 .import-result-card,
  body.admin-app-v443 .admin-inquiry-list-card,
  body.admin-app-v443 .admin-inquiry-detail-card,
  body.admin-app-v442 .admin-card,
  body.admin-app-v442 .admin-editor,
  body.admin-app-v442 .admin-list,
  body.admin-app-v442 .admin-banner-card,
  body.admin-app-v442 .bridge-card,
  body.admin-app-v442 .bridge-status-card,
  body.admin-app-v442 .db-status-card,
  body.admin-app-v442 .import-detail-card,
  body.admin-app-v442 .import-command-card,
  body.admin-app-v442 .import-result-card,
  body.admin-app-v442 .admin-inquiry-list-card,
  body.admin-app-v442 .admin-inquiry-detail-card {
    padding: 13px !important;
    border-radius: var(--admin-radius-v443) !important;
    border: 1px solid var(--admin-line-v443) !important;
    box-shadow: none !important;
  }

  body.admin-app-v443 .admin-safety-strip,
  body.admin-app-v442 .admin-safety-strip {
    display: none !important;
  }
}

@media (min-width: 1280px) {
  body.admin-app-v443 .admin-cockpit-layout,
  body.admin-app-v442 .admin-cockpit-layout {
    grid-template-columns: minmax(360px, 470px) minmax(0, 1fr) !important;
  }
}

@media (max-width: 1500px) and (min-width: 1024px) {
  body.admin-app-v443 .admin-cockpit-status-grid,
  body.admin-app-v442 .admin-cockpit-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1180px) and (min-width: 1024px) {
  :root { --admin-sidebar-width-v443: 204px; }
  body.admin-app-v443 .admin-cockpit-grid,
  body.admin-app-v442 .admin-cockpit-grid,
  body.admin-app-v443 .admin-cockpit-layout,
  body.admin-app-v442 .admin-cockpit-layout {
    grid-template-columns: 1fr !important;
  }
}

/* V44.3 – Admin Shell Layout Correction
   Cíl: skutečný aplikační shell pro administraci, kompaktní LIMS grid,
   funkční levý sidebar, méně prázdného prostoru a odstranění duplicitních navigačních pásů. */
:root {
  --admin-sidebar-width-v443: 232px;
  --admin-sidebar-bg-v443: #0f1a17;
  --admin-main-max-v443: 1540px;
  --admin-gap-v443: 14px;
  --admin-panel-v443: #ffffff;
  --admin-line-v443: #dfe7e2;
  --admin-bg-v443: #f3f6f4;
  --admin-text-v443: #0e1714;
  --admin-muted-v443: #62736b;
  --admin-green-v443: #4abc20;
  --admin-radius-v443: 13px;
}

body.admin-app-v443 {
  background: var(--admin-bg-v443) !important;
  color: var(--admin-text-v443);
  overflow-x: hidden;
}

@media (min-width: 1024px) {
  body.admin-app-v443 .admin-news-shell.admin-polished {
    width: auto !important;
    max-width: none !important;
    min-height: 100vh;
    margin: 0 !important;
    padding: 12px 18px 28px calc(var(--admin-sidebar-width-v443) + 24px) !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > :not(.admin-top) {
    max-width: var(--admin-main-max-v443);
    margin-left: 0;
    margin-right: auto;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top {
    position: fixed !important;
    inset: 10px auto 10px 10px !important;
    width: var(--admin-sidebar-width-v443) !important;
    max-height: calc(100vh - 20px);
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 10px;
    padding: 10px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: linear-gradient(180deg, #12201c 0%, #0b1412 100%) !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top > a:first-child {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    min-height: 54px !important;
    height: 54px !important;
    padding: 8px 10px !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top img {
    width: auto !important;
    max-width: 168px !important;
    max-height: 32px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav {
    display: grid !important;
    grid-auto-rows: minmax(34px, auto);
    align-content: start;
    gap: 4px !important;
    overflow-y: auto;
    padding: 2px 1px 2px 0 !important;
    scrollbar-width: thin;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn {
    display: flex !important;
    align-items: center;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 34px !important;
    padding: 7px 10px !important;
    border-radius: 9px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: rgba(255,255,255,.80) !important;
    box-shadow: none !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    line-height: 1.1;
    text-align: left !important;
    white-space: nowrap;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a::before,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: rgba(255,255,255,.22);
    flex: 0 0 auto;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a:hover,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn:hover,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a:focus-visible,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn:focus-visible {
    color: #fff !important;
    background: rgba(255,255,255,.075) !important;
    border-color: rgba(255,255,255,.14) !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav [aria-current="page"],
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn-primary {
    color: #07130a !important;
    background: var(--admin-green-v443) !important;
    border-color: rgba(74,188,32,.85) !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav [aria-current="page"]::before,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn-primary::before {
    background: #07130a;
  }

  body.admin-app-v443 .admin-dashboard-head,
  body.admin-app-v443 .admin-page-head,
  body.admin-app-v443 .admin-cockpit-head {
    min-height: 82px;
    padding: 12px 14px !important;
    margin-bottom: var(--admin-gap-v443) !important;
    border-radius: var(--admin-radius-v443) !important;
    border: 1px solid var(--admin-line-v443) !important;
    background: var(--admin-panel-v443) !important;
    box-shadow: none !important;
  }

  body.admin-app-v443 .admin-dashboard-head h1,
  body.admin-app-v443 .admin-page-head h1,
  body.admin-app-v443 .admin-cockpit-head h1 {
    font-size: clamp(24px, 1.8vw, 32px) !important;
    line-height: .98 !important;
    margin-bottom: 5px !important;
    letter-spacing: -.055em;
  }

  body.admin-app-v443 .admin-dashboard-head .muted,
  body.admin-app-v443 .admin-page-head .muted,
  body.admin-app-v443 .admin-cockpit-head .muted {
    max-width: 900px;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  body.admin-app-v443 .admin-mini-stats {
    gap: 7px !important;
  }

  body.admin-app-v443 .admin-mini-stats span {
    min-width: 72px !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
  }

  body.admin-app-v443 .admin-card,
  body.admin-app-v443 .admin-editor,
  body.admin-app-v443 .admin-list,
  body.admin-app-v443 .admin-banner-card,
  body.admin-app-v443 .bridge-card,
  body.admin-app-v443 .bridge-status-card,
  body.admin-app-v443 .db-status-card,
  body.admin-app-v443 .import-detail-card,
  body.admin-app-v443 .import-command-card,
  body.admin-app-v443 .import-result-card,
  body.admin-app-v443 .admin-inquiry-list-card,
  body.admin-app-v443 .admin-inquiry-detail-card,
  body.admin-app-v443 .admin-status-card {
    border: 1px solid var(--admin-line-v443) !important;
    border-radius: var(--admin-radius-v443) !important;
    background: var(--admin-panel-v443) !important;
    box-shadow: none !important;
    padding: 12px !important;
  }

  body.admin-app-v443 .admin-control-room .admin-cockpit-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--admin-gap-v443) !important;
  }

  body.admin-app-v443 .admin-cockpit-card {
    min-height: 130px !important;
  }

  body.admin-app-v443 .admin-cockpit-card h2 {
    font-size: 20px !important;
    letter-spacing: -.035em;
  }

  body.admin-app-v443 .admin-cockpit-status-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: var(--admin-gap-v443) 0 !important;
  }

  body.admin-app-v443 .admin-status-card {
    min-height: 78px !important;
  }

  body.admin-app-v443 .admin-status-card span {
    font-size: 10.5px !important;
  }

  body.admin-app-v443 .admin-status-card strong {
    font-size: 19px !important;
  }

  body.admin-app-v443 .admin-cockpit-layout {
    display: grid !important;
    grid-template-columns: minmax(320px, 440px) minmax(560px, 1fr) !important;
    align-items: start !important;
    gap: var(--admin-gap-v443) !important;
  }

  body.admin-app-v443 .admin-dashboard-list {
    gap: 8px !important;
  }

  body.admin-app-v443 .admin-dashboard-row {
    padding: 10px !important;
    border-radius: 10px !important;
  }

  body.admin-app-v443 .admin-dashboard-row strong {
    font-size: 16px !important;
  }

  body.admin-app-v443 .admin-log-preview,
  body.admin-app-v443 .terminal-box,
  body.admin-app-v443 pre {
    max-height: 420px !important;
    min-height: 220px;
    overflow: auto !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
    white-space: pre !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  body.admin-app-v443 .admin-safety-strip {
    display: none !important;
  }

  body.admin-app-v443 .admin-quick-actions {
    position: static !important;
  }
}

@media (min-width: 1600px) {
  body.admin-app-v443 .admin-news-shell.admin-polished > :not(.admin-top) {
    max-width: 1500px;
  }
}

@media (min-width: 1024px) and (max-width: 1320px) {
  body.admin-app-v443 .admin-cockpit-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.admin-app-v443 .admin-control-room .admin-cockpit-grid,
  body.admin-app-v443 .admin-cockpit-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1023px) {
  body.admin-app-v443 .admin-news-shell.admin-polished {
    width: min(100% - 18px, 100%) !important;
    margin: 92px auto 20px !important;
    padding: 0 !important;
  }
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top {
    display: none !important;
  }
}


/* V44.3 – Admin Shell Layout Correction
   Oprava zobrazení po V44.2: skutečný levý sidebar, užší pracovní plocha,
   kompaktní dashboard, větší log panel a odstranění dojmu rozhozených ostrůvků. */
:root {
  --admin-sidebar-width-v443: 244px;
  --admin-content-max-v443: 1480px;
  --admin-gap-v443: 16px;
  --admin-panel-v443: #ffffff;
  --admin-bg-v443: #f4f7f5;
  --admin-line-v443: #e2e8e4;
  --admin-ink-v443: #101918;
  --admin-muted-v443: #66746d;
  --admin-green-v443: #4abc20;
  --admin-radius-v443: 14px;
}

body.admin-app-v443 {
  background: var(--admin-bg-v443) !important;
  color: var(--admin-ink-v443);
}

@media (min-width: 1024px) {
  body.admin-app-v443 {
    overflow-x: hidden;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    min-height: 100vh;
    padding: 14px 20px 28px calc(var(--admin-sidebar-width-v443) + 28px) !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: var(--admin-sidebar-width-v443) !important;
    max-height: 100vh !important;
    min-height: 100vh !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 12px !important;
    padding: 14px 12px !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    border: 0 !important;
    border-right: 1px solid rgba(255,255,255,.1) !important;
    background: #101a17 !important;
    box-shadow: none !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top > a:first-child {
    min-height: 62px !important;
    height: 62px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(255,255,255,.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top img {
    width: 150px !important;
    max-width: 150px !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 2px 2px 8px 0 !important;
    scrollbar-width: thin;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 38px !important;
    padding: 9px 11px !important;
    border-radius: 10px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: rgba(255,255,255,.78) !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    text-align: left !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a:hover,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn:hover,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a:focus-visible,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn:focus-visible {
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.12) !important;
    color: #ffffff !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav [aria-current="page"],
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn-primary {
    background: var(--admin-green-v443) !important;
    border-color: rgba(74,188,32,.9) !important;
    color: #07120a !important;
  }

  body.admin-app-v443 .admin-dashboard-head,
  body.admin-app-v443 .admin-page-head,
  body.admin-app-v443 .admin-cockpit-head,
  body.admin-app-v443 .admin-cockpit-grid,
  body.admin-app-v443 .admin-cockpit-status-grid,
  body.admin-app-v443 .admin-cockpit-layout,
  body.admin-app-v443 .admin-ops-strip,
  body.admin-app-v443 .admin-grid,
  body.admin-app-v443 .admin-grid-2,
  body.admin-app-v443 .admin-grid-3,
  body.admin-app-v443 .admin-inquiries-layout,
  body.admin-app-v443 .import-dashboard-layout,
  body.admin-app-v443 .admin-ops-layout,
  body.admin-app-v443 .bridge-overview-grid,
  body.admin-app-v443 .bridge-stats-grid,
  body.admin-app-v443 .import-status-grid,
  body.admin-app-v443 .db-status-grid,
  body.admin-app-v443 .db-feature-grid,
  body.admin-app-v443 .db-import-grid {
    max-width: var(--admin-content-max-v443) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  body.admin-app-v443 .admin-dashboard-head,
  body.admin-app-v443 .admin-page-head,
  body.admin-app-v443 .admin-cockpit-head {
    padding: 14px 16px !important;
    margin-bottom: var(--admin-gap-v443) !important;
    border: 1px solid var(--admin-line-v443) !important;
    border-radius: var(--admin-radius-v443) !important;
    background: var(--admin-panel-v443) !important;
    box-shadow: none !important;
  }

  body.admin-app-v443 .admin-dashboard-head h1,
  body.admin-app-v443 .admin-page-head h1,
  body.admin-app-v443 .admin-cockpit-head h1 {
    font-size: clamp(26px, 1.8vw, 34px) !important;
    letter-spacing: -.055em;
    line-height: .98;
    margin: 0 0 5px !important;
  }

  body.admin-app-v443 .admin-dashboard-head .muted,
  body.admin-app-v443 .admin-page-head .muted,
  body.admin-app-v443 .admin-cockpit-head .muted {
    max-width: 880px !important;
  }

  body.admin-app-v443 .admin-mini-stats {
    min-width: 360px;
    grid-template-columns: repeat(4, minmax(70px, 1fr)) !important;
  }

  body.admin-app-v443 .admin-cockpit-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: var(--admin-gap-v443) !important;
    align-items: stretch !important;
    margin-bottom: var(--admin-gap-v443) !important;
  }

  body.admin-app-v443 .admin-cockpit-grid > .admin-cockpit-card {
    grid-column: span 4;
    min-height: 148px;
  }

  body.admin-app-v443 .admin-cockpit-grid > .admin-cockpit-card .btn {
    width: 100%;
    justify-content: center;
  }

  body.admin-app-v443 .admin-cockpit-status-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-bottom: var(--admin-gap-v443) !important;
  }

  body.admin-app-v443 .admin-status-card {
    min-height: 82px !important;
    padding: 12px !important;
    box-shadow: none !important;
  }

  body.admin-app-v443 .admin-cockpit-layout {
    display: grid !important;
    grid-template-columns: minmax(320px, 420px) minmax(520px, 1fr) !important;
    gap: var(--admin-gap-v443) !important;
    align-items: stretch !important;
    margin-bottom: var(--admin-gap-v443) !important;
  }

  body.admin-app-v443 .admin-cockpit-layout > .admin-card {
    min-height: 420px;
  }

  body.admin-app-v443 .admin-log-preview,
  body.admin-app-v443 .terminal-box,
  body.admin-app-v443 pre {
    max-height: 420px !important;
    min-height: 260px;
    width: 100%;
    overflow: auto !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
    border-radius: 12px !important;
  }

  body.admin-app-v443 .admin-card,
  body.admin-app-v443 .admin-editor,
  body.admin-app-v443 .admin-list,
  body.admin-app-v443 .bridge-card,
  body.admin-app-v443 .bridge-status-card,
  body.admin-app-v443 .db-status-card,
  body.admin-app-v443 .import-detail-card,
  body.admin-app-v443 .import-command-card,
  body.admin-app-v443 .import-result-card,
  body.admin-app-v443 .admin-inquiry-list-card,
  body.admin-app-v443 .admin-inquiry-detail-card {
    border: 1px solid var(--admin-line-v443) !important;
    border-radius: var(--admin-radius-v443) !important;
    box-shadow: none !important;
  }

  body.admin-app-v443 .admin-ops-strip {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--admin-gap-v443) !important;
    margin-top: 0 !important;
  }

  body.admin-app-v443 .admin-op-link {
    display: block;
    color: inherit;
    text-decoration: none;
  }

  body.admin-app-v443 .admin-op-link:hover {
    border-color: rgba(74,188,32,.55) !important;
    background: #fbfffa !important;
  }

  body.admin-app-v443 .admin-safety-strip {
    position: static !important;
  }
}

@media (min-width: 1600px) {
  body.admin-app-v443 .admin-news-shell.admin-polished {
    padding-right: 28px !important;
  }
}

@media (max-width: 1320px) and (min-width: 1024px) {
  body.admin-app-v443 .admin-cockpit-grid > .admin-cockpit-card {
    grid-column: span 6;
  }
  body.admin-app-v443 .admin-cockpit-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.admin-app-v443 .admin-cockpit-layout {
    grid-template-columns: minmax(300px, 380px) minmax(0, 1fr) !important;
  }
}

@media (max-width: 1023px) {
  body.admin-app-v443 .admin-news-shell.admin-polished {
    width: min(100% - 18px, 100%) !important;
    margin: 90px auto 20px !important;
    padding: 0 !important;
  }
  body.admin-app-v443 .admin-cockpit-grid,
  body.admin-app-v443 .admin-cockpit-status-grid,
  body.admin-app-v443 .admin-cockpit-layout,
  body.admin-app-v443 .admin-ops-strip {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top {
    display: none !important;
  }
}

/* V44 PRODUCTION – Admin Shell Final Fix
   Fixes desktop sidebar clipping caused by old top-navigation grid columns.
   Desktop admin is a real application shell: fixed sidebar + bounded work area.
   Mobile/tablet keeps glass hamburger navigation. */
:root {
  --admin-sidebar-width-production: 252px;
  --admin-content-max-production: 1500px;
  --admin-sidebar-bg-production: #0f1a17;
  --admin-sidebar-line-production: rgba(255,255,255,.10);
  --admin-sidebar-text-production: rgba(255,255,255,.80);
  --admin-sidebar-hover-production: rgba(255,255,255,.08);
  --admin-green-production: #4abc20;
}

@media (min-width: 1024px) {
  body.admin-app-v443,
  body.admin-app-v442 {
    overflow-x: hidden !important;
    background: #f4f7f5 !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished,
  body.admin-app-v442 .admin-news-shell.admin-polished {
    width: auto !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 14px 24px 28px calc(var(--admin-sidebar-width-production) + 28px) !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > :not(.admin-top),
  body.admin-app-v442 .admin-news-shell.admin-polished > :not(.admin-top) {
    max-width: var(--admin-content-max-production) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: var(--admin-sidebar-width-production) !important;
    min-width: var(--admin-sidebar-width-production) !important;
    max-width: var(--admin-sidebar-width-production) !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    margin: 0 !important;
    padding: 14px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    gap: 12px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-right: 1px solid var(--admin-sidebar-line-production) !important;
    border-radius: 0 !important;
    background: var(--admin-sidebar-bg-production) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top > a:first-child,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top > a:first-child {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 58px !important;
    max-height: 58px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    overflow: hidden !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top img,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top img {
    display: block !important;
    width: 154px !important;
    max-width: calc(100% - 8px) !important;
    max-height: 38px !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    gap: 5px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 2px 1px 8px 0 !important;
    scrollbar-width: thin;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav a,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn {
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 38px !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: var(--admin-sidebar-text-production) !important;
    box-shadow: none !important;
    transform: none !important;
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a::before,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn::before,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav a::before,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn::before {
    content: '' !important;
    flex: 0 0 7px !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.28) !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a:hover,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn:hover,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav a:hover,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn:hover {
    background: var(--admin-sidebar-hover-production) !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,.12) !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav [aria-current="page"],
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn-primary,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav [aria-current="page"],
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn-primary {
    background: var(--admin-green-production) !important;
    border-color: rgba(74,188,32,.9) !important;
    color: #07120a !important;
  }

  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav [aria-current="page"]::before,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn-primary::before,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav [aria-current="page"]::before,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn-primary::before {
    background: #07120a !important;
  }

  body.admin-app-v443 .admin-dashboard-head,
  body.admin-app-v443 .admin-page-head,
  body.admin-app-v443 .admin-cockpit-head,
  body.admin-app-v442 .admin-dashboard-head,
  body.admin-app-v442 .admin-page-head,
  body.admin-app-v442 .admin-cockpit-head {
    max-width: var(--admin-content-max-production) !important;
    margin-top: 0 !important;
  }

  body.admin-app-v443 .admin-log-preview,
  body.admin-app-v443 .terminal-box,
  body.admin-app-v443 pre,
  body.admin-app-v442 .admin-log-preview,
  body.admin-app-v442 .terminal-box,
  body.admin-app-v442 pre {
    max-width: 100% !important;
    overflow: auto !important;
    white-space: pre !important;
  }

  body.admin-app-v443 .admin-safety-strip,
  body.admin-app-v442 .admin-safety-strip {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  body.admin-app-v443 .admin-news-shell.admin-polished,
  body.admin-app-v442 .admin-news-shell.admin-polished {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* V44.4 – Admin Information Architecture + Order Flow
   Unified navigation, centered application work area, logical sidebar groups,
   collapsible order flow and compact dashboard mode. */
:root {
  --admin-v444-sidebar: 276px;
  --admin-v444-max: 1560px;
  --admin-v444-page-gutter: clamp(18px, 3vw, 52px);
  --admin-v444-dark: #0f1a17;
  --admin-v444-dark-2: #13211d;
  --admin-v444-line: #dfe7e2;
  --admin-v444-green: #4abc20;
  --admin-v444-muted: #65746f;
}

@media (min-width: 1024px) {
  body.admin-app-v444 {
    overflow-x: hidden !important;
    background: #f4f7f5 !important;
  }

  body.admin-app-v444 .admin-news-shell.admin-polished,
  body.admin-app-v444 .admin-news-shell,
  body.admin-app-v444 .admin-control-room {
    width: auto !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding-top: 16px !important;
    padding-bottom: 30px !important;
    padding-left: calc(var(--admin-v444-sidebar) + var(--admin-v444-page-gutter)) !important;
    padding-right: var(--admin-v444-page-gutter) !important;
    box-sizing: border-box !important;
  }

  body.admin-app-v444 .admin-news-shell > :not(.admin-top),
  body.admin-app-v444 .admin-news-shell.admin-polished > :not(.admin-top),
  body.admin-app-v444 .admin-control-room > :not(.admin-top) {
    width: min(100%, var(--admin-v444-max)) !important;
    max-width: var(--admin-v444-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.admin-app-v444 .admin-top-v444,
  body.admin-app-v444 .admin-news-shell.admin-polished > .admin-top-v444,
  body.admin-app-v444 .admin-news-shell > .admin-top-v444 {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: var(--admin-v444-sidebar) !important;
    min-width: var(--admin-v444-sidebar) !important;
    max-width: var(--admin-v444-sidebar) !important;
    height: 100vh !important;
    padding: 14px 14px 16px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    background: linear-gradient(180deg, var(--admin-v444-dark), #0a1311) !important;
    border: 0 !important;
    border-right: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    z-index: 1000 !important;
    grid-template-columns: none !important;
  }

  body.admin-app-v444 .admin-brand-link,
  body.admin-app-v444 .admin-top-v444 > a:first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 64px !important;
    height: 64px !important;
    padding: 10px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.98) !important;
    border: 1px solid rgba(255,255,255,.15) !important;
    overflow: hidden !important;
    flex: 0 0 auto !important;
  }

  body.admin-app-v444 .admin-brand-link img,
  body.admin-app-v444 .admin-top-v444 > a:first-child img {
    max-width: 190px !important;
    max-height: 44px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 !important;
    display: block !important;
  }

  body.admin-app-v444 .admin-sidebar-nav,
  body.admin-app-v444 .admin-top-v444 nav {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 2px !important;
    scrollbar-width: thin;
  }

  body.admin-app-v444 .admin-nav-section {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body.admin-app-v444 .admin-nav-label {
    display: block !important;
    padding: 3px 9px 2px !important;
    color: rgba(255,255,255,.48) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  body.admin-app-v444 .admin-nav-link,
  body.admin-app-v444 .admin-top-v444 nav a,
  body.admin-app-v444 .admin-top-v444 nav .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    min-height: 38px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 8px 10px !important;
    box-sizing: border-box !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: rgba(255,255,255,.82) !important;
    text-align: left !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.14 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-shadow: none !important;
  }

  body.admin-app-v444 .admin-nav-link::before,
  body.admin-app-v444 .admin-top-v444 nav a::before,
  body.admin-app-v444 .admin-top-v444 nav .btn::before {
    content: none !important;
  }

  body.admin-app-v444 .admin-nav-icon {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    background: rgba(255,255,255,.08) !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
  }

  body.admin-app-v444 .admin-nav-link:hover,
  body.admin-app-v444 .admin-top-v444 nav a:hover,
  body.admin-app-v444 .admin-top-v444 nav .btn:hover {
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,.12) !important;
  }

  body.admin-app-v444 .admin-nav-link.is-active,
  body.admin-app-v444 .admin-nav-link[aria-current="page"],
  body.admin-app-v444 .admin-top-v444 nav .btn-primary,
  body.admin-app-v444 .admin-top-v444 nav [aria-current="page"] {
    background: var(--admin-v444-green) !important;
    border-color: rgba(74,188,32,.95) !important;
    color: #08140a !important;
  }

  body.admin-app-v444 .admin-nav-link.is-active .admin-nav-icon,
  body.admin-app-v444 .admin-nav-link[aria-current="page"] .admin-nav-icon,
  body.admin-app-v444 .admin-top-v444 nav .btn-primary .admin-nav-icon,
  body.admin-app-v444 .admin-top-v444 nav [aria-current="page"] .admin-nav-icon {
    background: rgba(8,20,10,.14) !important;
    color: #08140a !important;
  }

  body.admin-app-v444 .admin-order-flow {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
    padding: 12px !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid var(--admin-v444-line) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
  }

  body.admin-app-v444 .admin-flow-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
  }

  body.admin-app-v444 .admin-flow-head h2 {
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.12 !important;
  }

  body.admin-app-v444 .admin-flow-steps {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.admin-app-v444 .admin-flow-step {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-width: 0 !important;
    padding: 9px !important;
    border: 1px solid var(--admin-v444-line) !important;
    border-radius: 12px !important;
    background: #fbfdfb !important;
    color: #10201b !important;
    text-decoration: none !important;
  }

  body.admin-app-v444 .admin-flow-step:hover {
    border-color: rgba(74,188,32,.55) !important;
    background: #f8fff6 !important;
  }

  body.admin-app-v444 .admin-flow-step.is-active {
    background: #ebfae7 !important;
    border-color: rgba(74,188,32,.75) !important;
  }

  body.admin-app-v444 .admin-flow-index {
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #10201b !important;
    color: #fff !important;
    font-weight: 900 !important;
    font-size: 12px !important;
  }

  body.admin-app-v444 .admin-flow-step.is-active .admin-flow-index {
    background: var(--admin-v444-green) !important;
    color: #08140a !important;
  }

  body.admin-app-v444 .admin-flow-text {
    display: grid !important;
    min-width: 0 !important;
    gap: 2px !important;
  }

  body.admin-app-v444 .admin-flow-text strong {
    font-size: 12px !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.admin-app-v444 .admin-flow-text small {
    color: var(--admin-v444-muted) !important;
    font-size: 10.5px !important;
    line-height: 1.15 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body.admin-app-v444 .admin-order-flow.is-collapsed .admin-flow-steps,
  body.admin-app-v444.admin-dashboard-compact .admin-cockpit-grid,
  body.admin-app-v444.admin-dashboard-compact .admin-cockpit-status-grid {
    display: none !important;
  }

  body.admin-app-v444 .admin-dashboard-head,
  body.admin-app-v444 .admin-page-head,
  body.admin-app-v444 .admin-cockpit-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 16px !important;
    align-items: center !important;
    padding: 18px !important;
    border: 1px solid var(--admin-v444-line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.admin-app-v444 .admin-page-head-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
  }

  body.admin-app-v444 .admin-cockpit-grid,
  body.admin-app-v444 .admin-cockpit-status-grid,
  body.admin-app-v444 .admin-cockpit-layout,
  body.admin-app-v444 .admin-grid,
  body.admin-app-v444 .admin-main-grid,
  body.admin-app-v444 .admin-ops-strip {
    gap: 12px !important;
  }

  body.admin-app-v444 .admin-cockpit-layout {
    grid-template-columns: minmax(330px, 420px) minmax(0, 1fr) !important;
  }

  body.admin-app-v444 .admin-card,
  body.admin-app-v444 .admin-status-card,
  body.admin-app-v444 .admin-cockpit-card {
    border: 1px solid var(--admin-v444-line) !important;
    box-shadow: none !important;
  }

  body.admin-app-v444 .admin-log-preview,
  body.admin-app-v444 .terminal-box,
  body.admin-app-v444 pre {
    max-width: 100% !important;
    overflow: auto !important;
    white-space: pre !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
  }
}

@media (max-width: 1380px) and (min-width: 1024px) {
  :root { --admin-v444-sidebar: 250px; }
  body.admin-app-v444 .admin-flow-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1023px) {
  body.admin-app-v444 .admin-order-flow {
    margin: 0 auto 12px !important;
    padding: 10px !important;
    border: 1px solid var(--admin-v444-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
  }
  body.admin-app-v444 .admin-flow-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }
  body.admin-app-v444 .admin-flow-head h2 { font-size: 15px !important; margin: 0 !important; }
  body.admin-app-v444 .admin-flow-steps {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 8px 0 2px !important;
    scroll-snap-type: x mandatory !important;
  }
  body.admin-app-v444 .admin-flow-step {
    flex: 0 0 230px !important;
    scroll-snap-align: start !important;
    display: flex !important;
    gap: 8px !important;
    padding: 9px !important;
    border: 1px solid var(--admin-v444-line) !important;
    border-radius: 12px !important;
    background: #fbfdfb !important;
    text-decoration: none !important;
    color: #10201b !important;
  }
  body.admin-app-v444 .admin-flow-index {
    flex: 0 0 26px !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 999px !important;
    background: #10201b !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }
  body.admin-app-v444 .admin-flow-text { display: grid !important; gap: 2px !important; }
  body.admin-app-v444 .admin-flow-text strong { font-size: 12px !important; }
  body.admin-app-v444 .admin-flow-text small { font-size: 10.5px !important; color: #65746f !important; }
  body.admin-app-v444 .admin-order-flow.is-collapsed .admin-flow-steps { display: none !important; }
  body.admin-app-v444.admin-dashboard-compact .admin-cockpit-grid,
  body.admin-app-v444.admin-dashboard-compact .admin-cockpit-status-grid { display: none !important; }
}

/* V44.5 – Admin Workbench IA Final
   Goals: sidebar attached to workbench, left-to-right information flow,
   compact tab navigation per page, hideable overviews, no floating islands. */
:root {
  --admin-v445-sidebar: 228px;
  --admin-v445-shell-max: 1960px;
  --admin-v445-gap: 12px;
  --admin-v445-line: #dfe7e2;
  --admin-v445-bg: #f3f6f4;
  --admin-v445-panel: #fff;
  --admin-v445-ink: #0f1916;
  --admin-v445-muted: #586962;
  --admin-v445-green: #4abc20;
}

@media (min-width: 1024px) {
  body.admin-app-v445 {
    background: var(--admin-v445-bg) !important;
    overflow-x: hidden !important;
  }

  /* Workbench is centered as one unit: sidebar + content. */
  body.admin-app-v445 .admin-news-shell.admin-polished {
    width: min(calc(100vw - 28px), var(--admin-v445-shell-max)) !important;
    max-width: var(--admin-v445-shell-max) !important;
    min-height: calc(100vh - 24px) !important;
    margin: 12px auto 24px !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: var(--admin-v445-sidebar) minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: start !important;
  }

  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top {
    grid-column: 1 !important;
    grid-row: 1 / span 999 !important;
    position: sticky !important;
    top: 12px !important;
    left: auto !important;
    inset: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: calc(100vh - 24px) !important;
    min-height: 0 !important;
    max-height: calc(100vh - 24px) !important;
    margin: 0 !important;
    padding: 12px 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    overflow: hidden !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: #0e1a16 !important;
    box-shadow: none !important;
  }

  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top > a:first-child {
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.96) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top img {
    width: 146px !important;
    max-width: 100% !important;
    max-height: 34px !important;
    object-fit: contain !important;
  }

  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top nav {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 3px 6px !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(255,255,255,.28) transparent !important;
  }

  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top nav .admin-nav-section {
    display: grid !important;
    gap: 4px !important;
    margin: 0 0 6px !important;
  }

  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top nav .admin-nav-label {
    padding: 6px 7px 2px !important;
    color: rgba(255,255,255,.48) !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top nav a,
  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top nav .btn {
    min-height: 34px !important;
    padding: 7px 9px !important;
    border-radius: 9px !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    text-align: left !important;
  }

  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top nav a[aria-current="page"],
  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top nav .btn-primary,
  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top nav .is-active {
    background: var(--admin-v445-green) !important;
    color: #071509 !important;
    border-color: rgba(74,188,32,.9) !important;
  }

  body.admin-app-v445 .admin-news-shell.admin-polished > :not(.admin-top) {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Compact horizontal process ribbon. */
  body.admin-app-v445 .admin-order-flow {
    margin: 0 0 var(--admin-v445-gap) !important;
    padding: 10px !important;
    border-radius: 14px !important;
    background: #fff !important;
    border: 1px solid var(--admin-v445-line) !important;
    box-shadow: none !important;
  }
  body.admin-app-v445 .admin-flow-head {
    margin-bottom: 8px !important;
  }
  body.admin-app-v445 .admin-flow-steps {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body.admin-app-v445 .admin-flow-step {
    position: relative !important;
    min-height: 42px !important;
    padding: 8px 9px !important;
  }
  body.admin-app-v445 .admin-flow-step:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -7px;
    width: 6px;
    height: 1px;
    background: var(--admin-v445-line);
  }
  body.admin-app-v445 .admin-order-flow.is-collapsed {
    padding: 8px 10px !important;
  }
  body.admin-app-v445 .admin-order-flow.is-collapsed .admin-flow-steps {
    display: none !important;
  }

  /* Page-local tab bar, generated by JS. */
  body.admin-app-v445 .admin-local-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 0 var(--admin-v445-gap) !important;
    padding: 8px !important;
    border: 1px solid var(--admin-v445-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
  }
  body.admin-app-v445 .admin-local-tabs a,
  body.admin-app-v445 .admin-local-tabs button {
    min-height: 32px !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    border: 1px solid var(--admin-v445-line) !important;
    background: #fbfdfb !important;
    color: var(--admin-v445-ink) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    text-decoration: none !important;
  }
  body.admin-app-v445 .admin-local-tabs a:hover,
  body.admin-app-v445 .admin-local-tabs button:hover {
    border-color: rgba(74,188,32,.55) !important;
    background: #f4fff0 !important;
  }

  /* Head and content cards are aligned, not floating islands. */
  body.admin-app-v445 .admin-dashboard-head,
  body.admin-app-v445 .admin-page-head,
  body.admin-app-v445 .admin-cockpit-head {
    margin: 0 0 var(--admin-v445-gap) !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
  }
  body.admin-app-v445 .admin-dashboard-head h1,
  body.admin-app-v445 .admin-page-head h1,
  body.admin-app-v445 .admin-cockpit-head h1 {
    font-size: 30px !important;
    line-height: 1.02 !important;
  }

  body.admin-app-v445 .admin-card,
  body.admin-app-v445 .admin-list,
  body.admin-app-v445 .admin-editor,
  body.admin-app-v445 .admin-status-card,
  body.admin-app-v445 .admin-cockpit-card,
  body.admin-app-v445 .bridge-card,
  body.admin-app-v445 .db-status-card,
  body.admin-app-v445 .import-detail-card,
  body.admin-app-v445 .import-command-card,
  body.admin-app-v445 .import-result-card {
    border: 1px solid var(--admin-v445-line) !important;
    border-radius: 13px !important;
    box-shadow: none !important;
  }

  body.admin-app-v445 .admin-cockpit-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--admin-v445-gap) !important;
    margin-bottom: var(--admin-v445-gap) !important;
  }
  body.admin-app-v445 .admin-cockpit-grid > * {
    grid-column: auto !important;
  }
  body.admin-app-v445 .admin-cockpit-status-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: var(--admin-v445-gap) !important;
  }
  body.admin-app-v445 .admin-cockpit-layout {
    display: grid !important;
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr) !important;
    gap: var(--admin-v445-gap) !important;
    align-items: start !important;
  }
  body.admin-app-v445 .admin-cockpit-layout > .admin-card:last-child {
    min-height: 520px !important;
  }

  /* Hideable overview for dashboard and flow. */
  body.admin-app-v445.admin-dashboard-compact .admin-cockpit-grid,
  body.admin-app-v445.admin-dashboard-compact .admin-cockpit-status-grid,
  body.admin-app-v445.admin-dashboard-compact .admin-mini-stats {
    display: none !important;
  }

  /* Left-to-right editing pattern: list first, editor/detail second. */
  body.admin-app-v445 .admin-grid,
  body.admin-app-v445 .admin-main-grid,
  body.admin-app-v445 .admin-grid-polished {
    display: grid !important;
    grid-template-columns: minmax(320px, 430px) minmax(0, 1fr) !important;
    gap: var(--admin-v445-gap) !important;
    align-items: start !important;
  }
  body.admin-app-v445 .admin-grid .admin-list,
  body.admin-app-v445 .admin-grid-polished .admin-list,
  body.admin-app-v445 .admin-main-grid .admin-list {
    order: 1 !important;
  }
  body.admin-app-v445 .admin-grid .admin-editor,
  body.admin-app-v445 .admin-grid-polished .admin-editor,
  body.admin-app-v445 .admin-main-grid .admin-editor {
    order: 2 !important;
  }

  /* Preserve pages where detail/list already use dedicated two-column layout. */
  body.admin-app-v445 .admin-inquiry-layout,
  body.admin-app-v445 .import-dashboard-layout,
  body.admin-app-v445 .admin-split-layout {
    display: grid !important;
    grid-template-columns: minmax(320px, 430px) minmax(0, 1fr) !important;
    gap: var(--admin-v445-gap) !important;
    align-items: start !important;
  }

  /* More useful log boxes: readable and bounded, no page-breaking overflows. */
  body.admin-app-v445 pre,
  body.admin-app-v445 .terminal-box,
  body.admin-app-v445 .admin-log-preview,
  body.admin-app-v445 .log-panel {
    max-width: 100% !important;
    max-height: 380px !important;
    overflow: auto !important;
    white-space: pre !important;
    font-size: 11.5px !important;
    line-height: 1.42 !important;
  }

  body.admin-app-v445 .admin-page-section,
  body.admin-app-v445 section:not(.admin-order-flow):not(.admin-page-head):not(.admin-dashboard-head):not(.admin-cockpit-head) {
    scroll-margin-top: 18px;
  }
}

@media (min-width: 1800px) {
  body.admin-app-v445 .admin-news-shell.admin-polished {
    --admin-v445-sidebar: 236px;
    --admin-v445-shell-max: 1880px;
  }
}

@media (max-width: 1280px) and (min-width: 1024px) {
  body.admin-app-v445 .admin-news-shell.admin-polished {
    --admin-v445-sidebar: 214px;
    width: calc(100vw - 20px) !important;
  }
  body.admin-app-v445 .admin-flow-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.admin-app-v445 .admin-cockpit-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.admin-app-v445 .admin-cockpit-grid,
  body.admin-app-v445 .admin-grid,
  body.admin-app-v445 .admin-grid-polished,
  body.admin-app-v445 .admin-main-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 1023px) {
  body.admin-app-v445 .admin-news-shell.admin-polished {
    width: min(100% - 16px, 100%) !important;
    margin: 88px auto 20px !important;
    padding: 0 !important;
    display: block !important;
  }
  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top {
    display: none !important;
  }
  body.admin-app-v445 .admin-local-tabs {
    display: flex !important;
    gap: 6px !important;
    overflow-x: auto !important;
    margin: 0 0 10px !important;
    padding: 6px !important;
    border: 1px solid var(--admin-v445-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
  }
  body.admin-app-v445 .admin-local-tabs a,
  body.admin-app-v445 .admin-local-tabs button {
    flex: 0 0 auto !important;
    min-height: 36px !important;
    padding: 7px 10px !important;
    border-radius: 10px !important;
    border: 1px solid var(--admin-v445-line) !important;
    background: #fbfdfb !important;
    color: var(--admin-v445-ink) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    text-decoration: none !important;
  }
  body.admin-app-v445 .admin-grid,
  body.admin-app-v445 .admin-grid-polished,
  body.admin-app-v445 .admin-main-grid,
  body.admin-app-v445 .admin-cockpit-grid,
  body.admin-app-v445 .admin-cockpit-status-grid,
  body.admin-app-v445 .admin-cockpit-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
}


/* V44.5 – Admin Workspace Tabs & Flow Correction
   Cíle:
   - sidebar není osamocený; obsah začíná hned vedle něj v jedné aplikační ploše,
   - všechny stránky používají stejnou informační osu zleva doprava,
   - flowchart je kompaktní a skladný, ne další velký přehled,
   - přehledy lze skrýt a obsah se nepřelévá po celé 4K šířce,
   - sekce jsou dostupné přes pracovní záložky,
   - logy/CLI panely drží velikost a nepřekrývají sousední panely. */
:root {
  --admin-v445-sidebar: 232px;
  --admin-v445-gap: 12px;
  --admin-v445-stage: 1560px;
  --admin-v445-line: #dfe7e2;
  --admin-v445-panel: #ffffff;
  --admin-v445-bg: #f3f6f4;
  --admin-v445-green: #4abc20;
  --admin-v445-text: #0f1916;
  --admin-v445-muted: #65746f;
  --admin-v445-radius: 12px;
}

body.admin-app-v445 {
  background: var(--admin-v445-bg) !important;
  color: var(--admin-v445-text) !important;
  overflow-x: hidden !important;
}

@media (min-width: 1024px) {
  body.admin-app-v445 .admin-news-shell.admin-polished,
  body.admin-app-v445 .admin-news-shell {
    width: auto !important;
    max-width: none !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 12px 14px 22px calc(var(--admin-v445-sidebar) + 14px) !important;
    box-sizing: border-box !important;
  }

  /* Aplikační plocha je ukotvená hned vedle sidebaru, ne centrovaná uprostřed 4K monitoru. */
  body.admin-app-v445 .admin-news-shell.admin-polished > :not(.admin-top),
  body.admin-app-v445 .admin-news-shell > :not(.admin-top) {
    width: min(100%, var(--admin-v445-stage)) !important;
    max-width: var(--admin-v445-stage) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top,
  body.admin-app-v445 .admin-news-shell > .admin-top {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: var(--admin-v445-sidebar) !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
    padding: 12px 10px !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 10px !important;
    overflow: hidden !important;
    background: #0d1915 !important;
    border-right: 1px solid rgba(255,255,255,.12) !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-left: 0 !important;
    box-shadow: none !important;
  }

  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top > a:first-child,
  body.admin-app-v445 .admin-news-shell > .admin-top > a:first-child {
    height: 52px !important;
    min-height: 52px !important;
    padding: 7px 10px !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
  }

  body.admin-app-v445 .admin-news-shell.admin-polished > .admin-top img,
  body.admin-app-v445 .admin-news-shell > .admin-top img {
    width: auto !important;
    max-width: 158px !important;
    max-height: 30px !important;
    object-fit: contain !important;
  }

  body.admin-app-v445 .admin-sidebar-nav,
  body.admin-app-v445 .admin-top-v444 nav {
    display: block !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 2px 0 10px !important;
    scrollbar-width: thin;
  }

  body.admin-app-v445 .admin-nav-section {
    display: grid !important;
    gap: 4px !important;
    margin: 0 0 12px !important;
  }

  body.admin-app-v445 .admin-nav-label {
    display: block !important;
    margin: 10px 7px 3px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,.48) !important;
    font-weight: 900 !important;
  }

  body.admin-app-v445 .admin-nav-link,
  body.admin-app-v445 .admin-top-v444 nav a,
  body.admin-app-v445 .admin-top-v444 nav .btn {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    width: 100% !important;
    min-height: 34px !important;
    padding: 7px 9px !important;
    border-radius: 9px !important;
    box-sizing: border-box !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    text-align: left !important;
    box-shadow: none !important;
  }

  body.admin-app-v445 .admin-nav-icon {
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,.08) !important;
    color: rgba(255,255,255,.75) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
  }

  body.admin-app-v445 .admin-nav-link:hover,
  body.admin-app-v445 .admin-top-v444 nav a:hover,
  body.admin-app-v445 .admin-top-v444 nav .btn:hover {
    background: rgba(255,255,255,.075) !important;
    color: #fff !important;
  }

  body.admin-app-v445 .admin-nav-link.is-active,
  body.admin-app-v445 .admin-nav-link[aria-current="page"],
  body.admin-app-v445 .admin-top-v444 nav .btn-primary,
  body.admin-app-v445 .admin-top-v444 nav [aria-current="page"] {
    background: var(--admin-v445-green) !important;
    color: #07130a !important;
    border-color: rgba(74,188,32,.8) !important;
  }

  body.admin-app-v445 .admin-nav-link.is-active .admin-nav-icon,
  body.admin-app-v445 .admin-nav-link[aria-current="page"] .admin-nav-icon,
  body.admin-app-v445 .admin-top-v444 nav .btn-primary .admin-nav-icon,
  body.admin-app-v445 .admin-top-v444 nav [aria-current="page"] .admin-nav-icon {
    background: rgba(7,19,10,.14) !important;
    color: #07130a !important;
  }

  /* Flow jako kompaktní procesní záložky. Směr je vždy zleva doprava. */
  body.admin-app-v445 .admin-order-flow {
    position: sticky !important;
    top: 0 !important;
    z-index: 30 !important;
    display: grid !important;
    grid-template-columns: minmax(160px, 220px) minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 var(--admin-v445-gap) !important;
    padding: 8px 10px !important;
    border: 1px solid var(--admin-v445-line) !important;
    border-radius: var(--admin-v445-radius) !important;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(14px) !important;
    box-shadow: none !important;
  }

  body.admin-app-v445 .admin-flow-head {
    display: contents !important;
  }

  body.admin-app-v445 .admin-flow-head > div {
    min-width: 0 !important;
  }

  body.admin-app-v445 .admin-flow-head h2 {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  body.admin-app-v445 .admin-flow-head .eyebrow {
    margin: 0 0 3px !important;
    font-size: 10px !important;
  }

  body.admin-app-v445 .admin-flow-toggle {
    grid-column: 3 !important;
    min-height: 34px !important;
    padding: 6px 10px !important;
  }

  body.admin-app-v445 .admin-flow-steps {
    grid-column: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(112px, 1fr)) !important;
    gap: 7px !important;
    min-width: 0 !important;
  }

  body.admin-app-v445 .admin-flow-step {
    min-height: 38px !important;
    padding: 6px 8px !important;
    border-radius: 10px !important;
    gap: 7px !important;
    background: #fbfdfb !important;
    border: 1px solid var(--admin-v445-line) !important;
  }

  body.admin-app-v445 .admin-flow-index {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    font-size: 10px !important;
  }

  body.admin-app-v445 .admin-flow-text strong {
    font-size: 11px !important;
  }

  body.admin-app-v445 .admin-flow-text small {
    font-size: 9.5px !important;
    -webkit-line-clamp: 1 !important;
  }

  body.admin-app-v445 .admin-order-flow.is-collapsed {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
  body.admin-app-v445 .admin-order-flow.is-collapsed .admin-flow-steps { display: none !important; }
  body.admin-app-v445 .admin-order-flow.is-collapsed .admin-flow-toggle { grid-column: 2 !important; }

  /* Pracovní záložky v rámci stránky. JS je vygeneruje podle sekcí. */
  body.admin-app-v445 .admin-section-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    align-items: center !important;
    margin: 0 0 var(--admin-v445-gap) !important;
    padding: 8px !important;
    border: 1px solid var(--admin-v445-line) !important;
    border-radius: var(--admin-v445-radius) !important;
    background: #fff !important;
  }

  body.admin-app-v445 .admin-section-tabs::before {
    content: 'Záložky';
    color: var(--admin-v445-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    margin-right: 4px;
  }

  body.admin-app-v445 .admin-section-tab {
    min-height: 30px !important;
    padding: 5px 9px !important;
    border: 1px solid var(--admin-v445-line) !important;
    border-radius: 999px !important;
    background: #fbfdfb !important;
    color: #10201b !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 850 !important;
  }

  body.admin-app-v445 .admin-section-tab:hover,
  body.admin-app-v445 .admin-section-tab.is-active {
    background: #eaf9e7 !important;
    border-color: rgba(74,188,32,.6) !important;
  }

  /* Stránkový header a KPI nejsou dominantní billboard. */
  body.admin-app-v445 .admin-dashboard-head,
  body.admin-app-v445 .admin-page-head,
  body.admin-app-v445 .admin-cockpit-head {
    min-height: unset !important;
    padding: 12px 14px !important;
    margin-bottom: var(--admin-v445-gap) !important;
    border-radius: var(--admin-v445-radius) !important;
    border: 1px solid var(--admin-v445-line) !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.admin-app-v445 .admin-dashboard-head h1,
  body.admin-app-v445 .admin-page-head h1,
  body.admin-app-v445 .admin-cockpit-head h1 {
    font-size: clamp(24px, 1.55vw, 30px) !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
    margin-bottom: 4px !important;
  }

  body.admin-app-v445 .admin-mini-stats {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    justify-content: flex-end !important;
  }

  body.admin-app-v445 .admin-mini-stats span {
    min-width: 62px !important;
    min-height: 40px !important;
    padding: 6px 8px !important;
    border-radius: 9px !important;
  }

  body.admin-app-v445 .admin-mini-stats strong { font-size: 18px !important; }
  body.admin-app-v445 .admin-mini-stats small { font-size: 10px !important; }

  body.admin-app-v445.admin-dashboard-compact .admin-cockpit-grid,
  body.admin-app-v445.admin-dashboard-compact .admin-cockpit-status-grid,
  body.admin-app-v445.admin-workspace-compact .admin-mini-stats,
  body.admin-app-v445.admin-workspace-compact .admin-page-head .muted,
  body.admin-app-v445.admin-workspace-compact .admin-dashboard-head .muted {
    display: none !important;
  }

  /* Jednotné karty bez lítání ve vzduchoprázdnu. */
  body.admin-app-v445 .admin-card,
  body.admin-app-v445 .admin-editor,
  body.admin-app-v445 .admin-list,
  body.admin-app-v445 .admin-banner-card,
  body.admin-app-v445 .bridge-card,
  body.admin-app-v445 .bridge-status-card,
  body.admin-app-v445 .db-status-card,
  body.admin-app-v445 .import-detail-card,
  body.admin-app-v445 .import-command-card,
  body.admin-app-v445 .import-result-card,
  body.admin-app-v445 .admin-inquiry-list-card,
  body.admin-app-v445 .admin-inquiry-detail-card,
  body.admin-app-v445 .admin-status-card {
    padding: 11px !important;
    border-radius: var(--admin-v445-radius) !important;
    border: 1px solid var(--admin-v445-line) !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.admin-app-v445 .admin-grid,
  body.admin-app-v445 .admin-grid-2,
  body.admin-app-v445 .admin-grid-3,
  body.admin-app-v445 .admin-main-grid,
  body.admin-app-v445 .admin-ops-layout,
  body.admin-app-v445 .admin-ops-strip,
  body.admin-app-v445 .admin-cockpit-layout,
  body.admin-app-v445 .admin-cockpit-grid,
  body.admin-app-v445 .admin-cockpit-status-grid,
  body.admin-app-v445 .import-dashboard-layout,
  body.admin-app-v445 .admin-inquiries-layout {
    gap: var(--admin-v445-gap) !important;
    align-items: start !important;
  }

  /* Dashboard: A → B → C, ne vertikální sloupek uprostřed. */
  body.admin-app-v445 .admin-control-room .admin-cockpit-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  body.admin-app-v445 .admin-control-room .admin-cockpit-status-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
  body.admin-app-v445 .admin-control-room .admin-cockpit-layout {
    display: grid !important;
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr) !important;
  }

  /* Novinky: seznam vlevo, editor/detail vpravo. Tok práce je zleva doprava. */
  body.admin-app-v445 .admin-v2815 .admin-grid-v2815 {
    display: grid !important;
    grid-template-columns: minmax(500px, .9fr) minmax(540px, 1.1fr) !important;
    gap: var(--admin-v445-gap) !important;
    align-items: start !important;
  }
  body.admin-app-v445 .admin-v2815 .admin-list-v2815 {
    order: 1 !important;
  }
  body.admin-app-v445 .admin-v2815 .admin-editor {
    order: 2 !important;
  }
  body.admin-app-v445 .admin-v2815 .admin-news-list {
    max-height: calc(100vh - 280px) !important;
    overflow: auto !important;
    padding-right: 4px !important;
  }
  body.admin-app-v445 .admin-v2815 .admin-news-item {
    grid-template-columns: 82px minmax(0, 1fr) auto !important;
  }

  /* Poptávky/importy: levý seznam, pravý detail, přirozený procesní tok. */
  body.admin-app-v445 .admin-inquiries-layout,
  body.admin-app-v445 .import-dashboard-layout {
    display: grid !important;
    grid-template-columns: minmax(330px, 420px) minmax(0, 1fr) !important;
    gap: var(--admin-v445-gap) !important;
  }
  body.admin-app-v445 .admin-inquiry-list-card,
  body.admin-app-v445 .import-list-card,
  body.admin-app-v445 .admin-list-card {
    max-height: calc(100vh - 265px) !important;
    overflow: auto !important;
  }

  /* Cron/monitoring/status sync: logy a CLI drží velikost a nepřekrývají se. */
  body.admin-app-v445 .admin-bridge-admin .admin-grid-2,
  body.admin-app-v445 .admin-bridge-admin .admin-grid-3,
  body.admin-app-v445 .page-admin-dashboard .admin-grid-2,
  body.admin-app-v445 .page-admin-dashboard .admin-grid-3 {
    align-items: start !important;
  }

  body.admin-app-v445 pre,
  body.admin-app-v445 .terminal-box,
  body.admin-app-v445 .admin-log-preview,
  body.admin-app-v445 .admin-code-wrap {
    max-width: 100% !important;
    overflow: auto !important;
    white-space: pre !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    box-sizing: border-box !important;
  }
  body.admin-app-v445 pre,
  body.admin-app-v445 .terminal-box,
  body.admin-app-v445 .admin-log-preview {
    max-height: 340px !important;
    min-height: 150px !important;
    font-size: 11.5px !important;
    line-height: 1.38 !important;
  }

  body.admin-app-v445 .admin-code-wrap {
    position: relative !important;
  }

  body.admin-app-v445 .admin-safety-strip,
  body.admin-app-v445 .floating-actions,
  body.admin-app-v445 .bottom-nav {
    display: none !important;
  }
}

@media (min-width: 1700px) {
  :root { --admin-v445-stage: 1660px; }
}

@media (max-width: 1360px) and (min-width: 1024px) {
  :root { --admin-v445-sidebar: 214px; --admin-v445-stage: 1180px; }
  body.admin-app-v445 .admin-flow-steps { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  body.admin-app-v445 .admin-control-room .admin-cockpit-grid,
  body.admin-app-v445 .admin-v2815 .admin-grid-v2815,
  body.admin-app-v445 .admin-inquiries-layout,
  body.admin-app-v445 .import-dashboard-layout {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1023px) {
  body.admin-app-v445 .admin-news-shell.admin-polished,
  body.admin-app-v445 .admin-news-shell {
    width: min(100% - 18px, 100%) !important;
    margin: 86px auto 20px !important;
    padding: 0 !important;
  }
  body.admin-app-v445 .admin-section-tabs {
    display: flex !important;
    gap: 6px !important;
    overflow-x: auto !important;
    margin: 0 0 10px !important;
    padding: 8px !important;
    background: #fff !important;
    border: 1px solid #dfe7e2 !important;
    border-radius: 12px !important;
  }
  body.admin-app-v445 .admin-section-tab {
    flex: 0 0 auto !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    border: 1px solid #dfe7e2 !important;
    text-decoration: none !important;
    color: #10201b !important;
    font-weight: 800 !important;
    font-size: 12px !important;
  }
}

/* V44.5 – Admin Workspace Correction
   Cíl: sidebar přímo navazuje na pracovní plochu, žádné plovoucí panely ve vzduchoprázdnu,
   tok práce zleva doprava, kompaktní přehledy a záložky v rámci stránky. */
:root {
  --admin-v445-sidebar: 226px;
  --admin-v445-gap: 12px;
  --admin-v445-content-max: 1520px;
  --admin-v445-line: #dde5e0;
  --admin-v445-bg: #f3f6f4;
  --admin-v445-panel: #ffffff;
  --admin-v445-ink: #0f1a17;
  --admin-v445-muted: #607067;
  --admin-v445-green: #4abc20;
  --admin-v445-soft: #edf8ea;
}

@media (min-width: 1024px) {
  body.admin-app-v444,
  body.admin-app-v443,
  body.admin-app-v442 {
    background: var(--admin-v445-bg) !important;
    overflow-x: hidden !important;
  }

  /* pracovní plocha začíná hned vedle sidebaru; žádné centrování přes celou 4K šířku */
  body.admin-app-v444 .admin-news-shell.admin-polished,
  body.admin-app-v443 .admin-news-shell.admin-polished,
  body.admin-app-v442 .admin-news-shell.admin-polished {
    padding: 10px 16px 24px calc(var(--admin-v445-sidebar) + 18px) !important;
    margin: 0 !important;
    width: auto !important;
    max-width: none !important;
    min-height: 100vh !important;
    box-sizing: border-box !important;
  }

  body.admin-app-v444 .admin-news-shell.admin-polished > .admin-top,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top {
    width: var(--admin-v445-sidebar) !important;
    inset: 8px auto 8px 8px !important;
    border-radius: 14px !important;
    padding: 10px !important;
  }

  body.admin-app-v444 .admin-news-shell.admin-polished > .admin-top > a:first-child,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top > a:first-child,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top > a:first-child {
    min-height: 50px !important;
    padding: 8px !important;
    border-radius: 10px !important;
  }

  body.admin-app-v444 .admin-news-shell.admin-polished > .admin-top img,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top img,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top img {
    max-height: 36px !important;
    width: auto !important;
    max-width: 168px !important;
  }

  body.admin-app-v444 .admin-news-shell.admin-polished > .admin-top nav,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav {
    gap: 3px !important;
  }

  body.admin-app-v444 .admin-news-shell.admin-polished > .admin-top nav a,
  body.admin-app-v444 .admin-news-shell.admin-polished > .admin-top nav .btn,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav a,
  body.admin-app-v443 .admin-news-shell.admin-polished > .admin-top nav .btn,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav a,
  body.admin-app-v442 .admin-news-shell.admin-polished > .admin-top nav .btn {
    min-height: 32px !important;
    padding: 6px 8px !important;
    font-size: 12px !important;
    border-radius: 8px !important;
  }

  body.admin-app-v444 .admin-nav-icon,
  body.admin-app-v443 .admin-nav-icon,
  body.admin-app-v442 .admin-nav-icon {
    flex-basis: 18px !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 6px !important;
    font-size: 9px !important;
  }

  /* každý obsahový blok lícuje vlevo vedle menu; max šířka brání rozbití na 4K */
  body.admin-app-v444 .admin-news-shell.admin-polished > :not(.admin-top),
  body.admin-app-v443 .admin-news-shell.admin-polished > :not(.admin-top),
  body.admin-app-v442 .admin-news-shell.admin-polished > :not(.admin-top) {
    width: min(100%, var(--admin-v445-content-max)) !important;
    max-width: var(--admin-v445-content-max) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.admin-app-v444 .admin-order-flow,
  body.admin-app-v443 .admin-order-flow,
  body.admin-app-v442 .admin-order-flow {
    position: sticky !important;
    top: 8px !important;
    z-index: 30 !important;
    padding: 8px 10px !important;
    margin-bottom: 10px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(10px) !important;
  }

  body.admin-app-v444 .admin-flow-head,
  body.admin-app-v443 .admin-flow-head,
  body.admin-app-v442 .admin-flow-head {
    margin-bottom: 6px !important;
  }

  body.admin-app-v444 .admin-flow-head h2,
  body.admin-app-v443 .admin-flow-head h2,
  body.admin-app-v442 .admin-flow-head h2 {
    font-size: 13px !important;
    letter-spacing: -.02em !important;
  }

  body.admin-app-v444 .admin-flow-steps,
  body.admin-app-v443 .admin-flow-steps,
  body.admin-app-v442 .admin-flow-steps {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  body.admin-app-v444 .admin-flow-step,
  body.admin-app-v443 .admin-flow-step,
  body.admin-app-v442 .admin-flow-step {
    min-height: 42px !important;
    padding: 6px 7px !important;
    border-radius: 9px !important;
    gap: 6px !important;
  }

  body.admin-app-v444 .admin-flow-index,
  body.admin-app-v443 .admin-flow-index,
  body.admin-app-v442 .admin-flow-index {
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    font-size: 10px !important;
  }

  body.admin-app-v444 .admin-flow-text strong,
  body.admin-app-v443 .admin-flow-text strong,
  body.admin-app-v442 .admin-flow-text strong {
    font-size: 10.8px !important;
  }

  body.admin-app-v444 .admin-flow-text small,
  body.admin-app-v443 .admin-flow-text small,
  body.admin-app-v442 .admin-flow-text small {
    font-size: 9px !important;
    -webkit-line-clamp: 1 !important;
  }

  body.admin-app-v444 .admin-order-flow.is-collapsed,
  body.admin-app-v443 .admin-order-flow.is-collapsed,
  body.admin-app-v442 .admin-order-flow.is-collapsed {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  body.admin-app-v444 .admin-order-flow.is-collapsed .admin-flow-head,
  body.admin-app-v443 .admin-order-flow.is-collapsed .admin-flow-head,
  body.admin-app-v442 .admin-order-flow.is-collapsed .admin-flow-head {
    margin-bottom: 0 !important;
    flex: 1 1 auto !important;
  }

  /* záložky v rámci stránky: rychlý přechod na pracovní sekce místo dlouhého skrolování */
  body.admin-app-v444 .admin-work-tabs {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 0 10px !important;
    padding: 6px !important;
    border: 1px solid var(--admin-v445-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  body.admin-app-v444 .admin-work-tab {
    min-height: 30px !important;
    padding: 5px 10px !important;
    border: 1px solid var(--admin-v445-line) !important;
    border-radius: 999px !important;
    background: #f8fbf8 !important;
    color: var(--admin-v445-ink) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    cursor: pointer !important;
  }

  body.admin-app-v444 .admin-work-tab:hover,
  body.admin-app-v444 .admin-work-tab.is-active {
    border-color: rgba(74,188,32,.55) !important;
    background: #ecfbe8 !important;
  }

  body.admin-app-v444 .admin-dashboard-head,
  body.admin-app-v444 .admin-page-head,
  body.admin-app-v444 .admin-cockpit-head {
    padding: 12px 14px !important;
    margin-bottom: 10px !important;
    border-radius: 12px !important;
  }

  body.admin-app-v444 .admin-dashboard-head h1,
  body.admin-app-v444 .admin-page-head h1,
  body.admin-app-v444 .admin-cockpit-head h1 {
    font-size: clamp(22px, 1.65vw, 30px) !important;
  }

  body.admin-app-v444 .admin-dashboard-head .muted,
  body.admin-app-v444 .admin-page-head .muted,
  body.admin-app-v444 .admin-cockpit-head .muted {
    max-width: 720px !important;
  }

  body.admin-app-v444 .admin-mini-stats span {
    min-width: 64px !important;
    padding: 7px 9px !important;
    border-radius: 10px !important;
  }

  body.admin-app-v444 .admin-mini-stats strong { font-size: 18px !important; }
  body.admin-app-v444 .admin-mini-stats small { font-size: 10px !important; margin-top: 2px !important; }

  /* Kompaktní souhrny: pokud je uživatel skryje, zmizí stavy a zůstane pracovní obsah. */
  body.admin-app-v444.admin-summary-compact .admin-mini-stats,
  body.admin-app-v444.admin-summary-compact .admin-cockpit-grid,
  body.admin-app-v444.admin-summary-compact .admin-cockpit-status-grid,
  body.admin-app-v444.admin-summary-compact .admin-status-strip,
  body.admin-app-v444.admin-summary-compact .import-status-grid,
  body.admin-app-v444.admin-summary-compact .bridge-stats-grid,
  body.admin-app-v444.admin-summary-compact .admin-ops-strip {
    display: none !important;
  }

  body.admin-app-v444 .admin-cockpit-grid,
  body.admin-app-v444 .admin-cockpit-status-grid,
  body.admin-app-v444 .admin-grid,
  body.admin-app-v444 .admin-grid-2,
  body.admin-app-v444 .admin-grid-3,
  body.admin-app-v444 .admin-main-grid,
  body.admin-app-v444 .bridge-overview-grid,
  body.admin-app-v444 .bridge-stats-grid,
  body.admin-app-v444 .db-status-grid,
  body.admin-app-v444 .db-feature-grid,
  body.admin-app-v444 .db-import-grid,
  body.admin-app-v444 .import-status-grid,
  body.admin-app-v444 .admin-ops-strip,
  body.admin-app-v444 .admin-ops-layout {
    gap: var(--admin-v445-gap) !important;
  }

  body.admin-app-v444 .admin-cockpit-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.admin-app-v444 .admin-cockpit-status-grid,
  body.admin-app-v444 .import-status-grid,
  body.admin-app-v444 .bridge-stats-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  body.admin-app-v444 .admin-cockpit-layout,
  body.admin-app-v444 .admin-inquiries-layout,
  body.admin-app-v444 .import-dashboard-layout {
    display: grid !important;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr) !important;
    gap: var(--admin-v445-gap) !important;
    align-items: start !important;
  }

  /* Novinky a podobné editory: vždy list vlevo -> editor/detail vpravo. */
  body.admin-app-v444 .admin-grid-v2815 {
    display: grid !important;
    grid-template-columns: minmax(430px, 0.95fr) minmax(520px, 1.15fr) !important;
    gap: var(--admin-v445-gap) !important;
    align-items: start !important;
  }
  body.admin-app-v444 .admin-grid-v2815 > .admin-list,
  body.admin-app-v444 .admin-grid-v2815 > .admin-list-v2815 {
    order: 1 !important;
  }
  body.admin-app-v444 .admin-grid-v2815 > .admin-editor {
    order: 2 !important;
  }

  body.admin-app-v444 .admin-banner-grid-v2815 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: var(--admin-v445-gap) !important;
  }

  body.admin-app-v444 .admin-card,
  body.admin-app-v444 .admin-editor,
  body.admin-app-v444 .admin-list,
  body.admin-app-v444 .bridge-card,
  body.admin-app-v444 .admin-banner-card,
  body.admin-app-v444 .import-detail-card,
  body.admin-app-v444 .import-command-card,
  body.admin-app-v444 .import-result-card,
  body.admin-app-v444 .admin-inquiry-list-card,
  body.admin-app-v444 .admin-inquiry-detail-card {
    padding: 12px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }

  body.admin-app-v444 .terminal-box,
  body.admin-app-v444 .admin-log-preview,
  body.admin-app-v444 pre {
    max-height: 300px !important;
    min-height: 0 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  body.admin-app-v444 .admin-code-wrap {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.admin-app-v444 .admin-code-wrap > pre,
  body.admin-app-v444 .admin-code-wrap > .terminal-box,
  body.admin-app-v444 .admin-code-wrap > .admin-log-preview {
    width: 100% !important;
  }

  body.admin-app-v444 .admin-list,
  body.admin-app-v444 .admin-inquiry-list-card,
  body.admin-app-v444 .import-drafts-list,
  body.admin-app-v444 .admin-dashboard-list {
    max-height: calc(100vh - 220px) !important;
    overflow: auto !important;
  }
}

@media (min-width: 1600px) {
  :root { --admin-v445-content-max: 1580px; }
}

@media (max-width: 1280px) and (min-width: 1024px) {
  :root { --admin-v445-sidebar: 210px; --admin-v445-content-max: 1240px; }
  body.admin-app-v444 .admin-flow-steps { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  body.admin-app-v444 .admin-cockpit-status-grid,
  body.admin-app-v444 .import-status-grid,
  body.admin-app-v444 .bridge-stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 1023px) {
  body.admin-app-v444 .admin-work-tabs {
    display: flex !important;
    gap: 8px !important;
    margin: 0 0 10px !important;
    padding: 6px !important;
    border: 1px solid var(--admin-v445-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
    overflow-x: auto !important;
  }
  body.admin-app-v444 .admin-work-tab {
    flex: 0 0 auto !important;
    min-height: 34px !important;
    padding: 6px 10px !important;
    border: 1px solid var(--admin-v445-line) !important;
    border-radius: 999px !important;
    background: #f8fbf8 !important;
    font-weight: 850 !important;
  }
  body.admin-app-v444.admin-summary-compact .admin-mini-stats,
  body.admin-app-v444.admin-summary-compact .admin-cockpit-grid,
  body.admin-app-v444.admin-summary-compact .admin-cockpit-status-grid,
  body.admin-app-v444.admin-summary-compact .admin-status-strip,
  body.admin-app-v444.admin-summary-compact .import-status-grid,
  body.admin-app-v444.admin-summary-compact .bridge-stats-grid,
  body.admin-app-v444.admin-summary-compact .admin-ops-strip {
    display: none !important;
  }
}


/* V44.6 – Inquiry Turnstile Shield */
.turnstile-shield {
  display: grid;
  gap: 8px;
  align-items: start;
  margin: 12px 0 4px;
  padding: 12px;
  border: 1px dashed rgba(74, 188, 32, .45);
  border-radius: 14px;
  background: rgba(247, 255, 249, .85);
}
.turnstile-shield small {
  color: var(--muted, #667085);
  font-weight: 700;
  line-height: 1.35;
}
.turnstile-shield .cf-turnstile {
  max-width: 100%;
  overflow: hidden;
}


/* ======================================================================
   V46 – Public Admin → Reception Console
   ====================================================================== */
:root {
  --rc-sidebar: 276px;
  --rc-bg: #f5f7f5;
  --rc-panel: #fff;
  --rc-border: #dde5dd;
  --rc-text: #121917;
  --rc-muted: #66736d;
  --rc-green: #4abc20;
  --rc-green-soft: #eefbe9;
  --rc-danger: #b42318;
  --rc-warn: #a15c00;
  --rc-blue: #1d4ed8;
  --rc-radius: 14px;
}
.rc-app { margin:0; background:var(--rc-bg); color:var(--rc-text); font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.rc-shell { min-height:100vh; display:grid; grid-template-columns:var(--rc-sidebar) minmax(0,1fr); }
.rc-sidebar { position:sticky; top:0; height:100vh; background:#111816; color:#eef7f0; border-right:1px solid rgba(255,255,255,.08); padding:16px; overflow:auto; }
.rc-brand { display:flex; align-items:center; gap:10px; padding:10px; border-radius:14px; color:#fff; text-decoration:none; background:rgba(255,255,255,.05); margin-bottom:16px; }
.rc-brand img { width:58px; max-height:42px; object-fit:contain; background:#fff; border-radius:10px; padding:4px; }
.rc-brand strong { display:block; font-size:15px; }
.rc-brand small { display:block; color:#aab7b1; font-size:12px; }
.rc-nav section { margin:18px 0; }
.rc-nav h2 { margin:0 0 8px; font-size:11px; letter-spacing:.12em; color:#8fa198; text-transform:uppercase; }
.rc-nav-item { display:grid; grid-template-columns:34px minmax(0,1fr); gap:10px; align-items:center; min-height:54px; padding:8px; border-radius:12px; color:#eef7f0; text-decoration:none; }
.rc-nav-item:hover { background:rgba(255,255,255,.08); }
.rc-nav-item.is-active { background:var(--rc-green-soft); color:#0d3511; }
.rc-nav-item > span:first-child { display:grid; place-items:center; width:32px; height:32px; border:1px solid rgba(255,255,255,.14); border-radius:10px; font-weight:800; font-size:12px; color:inherit; }
.rc-nav-item strong { display:block; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rc-nav-item small { display:block; color:currentColor; opacity:.68; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rc-main { min-width:0; padding:18px 20px 28px; max-width:1680px; width:100%; }
.rc-page-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; background:var(--rc-panel); border:1px solid var(--rc-border); border-radius:var(--rc-radius); padding:16px; margin-bottom:12px; }
.rc-page-head h1 { margin:0; font-size:26px; line-height:1.1; }
.rc-page-head p { margin:.35rem 0 0; color:var(--rc-muted); max-width:860px; }
.rc-eyebrow { margin:0 0 4px!important; color:#1f6d1f!important; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.rc-head-actions { display:flex; gap:8px; flex-wrap:wrap; }
.rc-button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 12px; border-radius:10px; border:1px solid var(--rc-border); background:#fff; color:var(--rc-text); text-decoration:none; font-weight:700; cursor:pointer; gap:6px; }
.rc-button:hover { border-color:#b9c6bd; background:#f8faf8; }
.rc-button.is-primary { border-color:var(--rc-green); background:var(--rc-green); color:#082508; }
.rc-button.is-danger { border-color:#fecaca; background:#fff5f5; color:var(--rc-danger); }
.rc-tabs { display:flex; gap:8px; flex-wrap:wrap; padding:8px; background:#fff; border:1px solid var(--rc-border); border-radius:var(--rc-radius); margin-bottom:12px; }
.rc-tab { padding:8px 12px; border-radius:10px; text-decoration:none; color:var(--rc-muted); font-weight:800; }
.rc-tab.is-active, .rc-tab:hover { background:var(--rc-green-soft); color:#14532d; }
.rc-alert { border:1px solid var(--rc-border); border-radius:12px; padding:10px 12px; margin:10px 0; background:#fff; }
.rc-alert.is-ok { background:#f0fdf4; border-color:#bbf7d0; color:#166534; }
.rc-alert.is-error { background:#fff1f2; border-color:#fecdd3; color:#9f1239; }
.rc-workbench { display:grid; grid-template-columns:minmax(320px,420px) minmax(0,1fr); gap:14px; align-items:start; }
.rc-workbench-inquiries { min-height:calc(100vh - 190px); }
.rc-list-panel, .rc-detail-panel, .rc-panel { background:#fff; border:1px solid var(--rc-border); border-radius:var(--rc-radius); padding:14px; box-shadow:none; min-width:0; }
.rc-list-panel { position:sticky; top:16px; max-height:calc(100vh - 32px); overflow:auto; }
.rc-filterbar { display:flex; gap:8px; margin-bottom:10px; }
.rc-filterbar input { flex:1; min-width:0; border:1px solid var(--rc-border); border-radius:10px; padding:8px 10px; }
.rc-list { display:grid; gap:8px; }
.rc-list-item { display:grid; gap:4px; padding:10px; border:1px solid var(--rc-border); border-radius:12px; text-decoration:none; color:var(--rc-text); background:#fff; }
.rc-list-item:hover, .rc-list-item.is-active { border-color:var(--rc-green); background:#fbfffa; }
.rc-list-title { font-weight:800; }
.rc-list-meta { color:var(--rc-muted); font-size:12px; overflow-wrap:anywhere; }
.rc-list-foot { display:flex; gap:8px; align-items:center; flex-wrap:wrap; font-size:12px; color:var(--rc-muted); }
.rc-detail-head { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid var(--rc-border); padding-bottom:12px; margin-bottom:12px; }
.rc-detail-head h2 { margin:0; font-size:22px; }
.rc-action-row, .rc-commandbar { display:flex; gap:8px; flex-wrap:wrap; margin:12px 0; }
.rc-detail-grid, .rc-grid-2, .rc-grid-3 { display:grid; gap:14px; align-items:stretch; }
.rc-detail-grid, .rc-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rc-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rc-split { display:grid; grid-template-columns:340px minmax(0,1fr); gap:14px; align-items:start; }
.rc-panel h2, .rc-panel h3 { margin:0 0 10px; }
.rc-dl { display:grid; grid-template-columns:130px minmax(0,1fr); gap:6px 12px; margin:0; }
.rc-dl dt { color:var(--rc-muted); font-size:12px; font-weight:800; }
.rc-dl dd { margin:0; overflow-wrap:anywhere; }
.rc-longtext { white-space:pre-wrap; overflow-wrap:anywhere; }
.rc-badge { display:inline-flex; align-items:center; min-height:24px; padding:3px 8px; border-radius:999px; font-size:12px; font-weight:800; border:1px solid transparent; }
.rc-badge.is-ok { background:#dcfce7; color:#166534; border-color:#bbf7d0; }
.rc-badge.is-warning { background:#fef3c7; color:#92400e; border-color:#fde68a; }
.rc-badge.is-error { background:#fee2e2; color:#991b1b; border-color:#fecaca; }
.rc-badge.is-muted { background:#f3f4f6; color:#4b5563; border-color:#e5e7eb; }
.rc-attachment-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:8px; }
.rc-attachment { border:1px solid var(--rc-border); border-radius:10px; padding:9px; text-decoration:none; color:var(--rc-text); background:#fbfbfb; }
.rc-attachment strong, .rc-attachment small { display:block; }
.rc-attachment small { color:var(--rc-muted); }
.rc-table-wrap { overflow:auto; max-height:640px; }
.rc-table { width:100%; border-collapse:collapse; font-size:13px; }
.rc-table th, .rc-table td { border-bottom:1px solid var(--rc-border); padding:8px; text-align:left; vertical-align:top; }
.rc-inline { display:inline; }
.rc-log, .rc-json, .rc-cli { display:block; overflow:auto; max-height:420px; margin:0; padding:12px; border-radius:12px; background:#0c1110; color:#dff7e1; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12px; line-height:1.45; white-space:pre; }
.rc-json { background:#f8faf8; color:#111827; border:1px solid var(--rc-border); }
.rc-cli { background:#101817; color:#d8ffe0; }
.rc-mini-flow { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 12px; padding:10px 12px; border:1px solid var(--rc-border); border-radius:var(--rc-radius); background:#fff; color:var(--rc-muted); }
.rc-mini-flow span { color:#111827; font-weight:800; }
.rc-metric-list, .rc-kv-list { display:grid; gap:8px; }
.rc-metric-list span, .rc-kv-list span { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--rc-border); }
.rc-checklist { margin:0; padding-left:18px; }
.rc-empty, .rc-muted { color:var(--rc-muted); }
.rc-empty-state { display:grid; place-items:center; min-height:360px; color:var(--rc-muted); text-align:center; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.rc-mobile-bar, .rc-mobile-menu { display:none; }
@media (max-width: 980px) {
  .rc-shell { display:block; }
  .rc-sidebar { display:none; }
  .rc-main { padding:88px 12px 20px; }
  .rc-mobile-bar { display:flex; position:fixed; z-index:1000; top:12px; left:12px; right:12px; min-height:58px; border-radius:22px; background:rgba(255,255,255,.86); backdrop-filter:blur(18px); box-shadow:0 12px 32px rgba(15,23,42,.12); align-items:center; justify-content:space-between; padding:8px 12px; transition:transform .22s ease; }
  .rc-mobile-bar img { width:88px; max-height:42px; object-fit:contain; }
  .rc-mobile-bar button { width:44px; height:44px; border:0; background:#111816; border-radius:14px; display:grid; place-items:center; gap:4px; padding:10px; }
  .rc-mobile-bar button span { width:22px; height:2px; background:#fff; display:block; }
  .mobile-header-hidden .rc-mobile-bar { transform:translateY(-120%); }
  .rc-mobile-menu:not([hidden]) { display:block; position:fixed; inset:0; z-index:1100; background:rgba(0,0,0,.28); }
  .rc-mobile-panel { position:absolute; top:0; right:0; width:min(90vw,390px); min-height:100%; background:#fff; padding:24px; display:grid; gap:12px; align-content:start; box-shadow:-18px 0 48px rgba(0,0,0,.16); }
  .rc-mobile-close { justify-self:end; width:44px; height:44px; border-radius:14px; border:1px solid var(--rc-border); background:#fff; font-size:28px; }
  .rc-mobile-panel a { color:var(--rc-text); text-decoration:none; padding:12px; border:1px solid var(--rc-border); border-radius:12px; font-weight:800; }
  .rc-page-head { flex-direction:column; }
  .rc-workbench, .rc-split, .rc-detail-grid, .rc-grid-2, .rc-grid-3 { grid-template-columns:1fr; }
  .rc-list-panel { position:static; max-height:none; }
}


/* V49 Shared Design System compatibility layer */
:root {
  --green: var(--epc-green);
  --green-dark: var(--epc-green-700);
  --green-soft: var(--epc-green-100);
  --text: var(--epc-ink);
  --ink: var(--epc-ink);
  --muted: var(--epc-muted);
  --line: var(--epc-line);
  --bg: var(--epc-bg);
  --card: var(--epc-panel);
  --white: var(--epc-panel);
  --shadow: none;
  --shadow-sm: none;
}
.platform-v49-note { display: none; }


/* ==========================================================
   V64 – Reception Console Simplification
   Public admin = reception/dispatch console.
   No service work here; no dashboard-heavy panels.
   ========================================================== */

:root {
  --rc-v64-topbar-h: 72px;
  --rc-v64-max: 1680px;
  --rc-v64-gap: 12px;
}

body.rc-app-v64 {
  margin: 0 !important;
  background: #f4f7f5 !important;
  color: #111827 !important;
  overflow-x: hidden !important;
}

body.rc-app-v64 .rc-shell,
body.rc-app-v64 .rc-sidebar {
  display: none !important;
}

body.rc-app-v64 .rc-topbar {
  position: sticky;
  top: 0;
  z-index: 1200;
  background: rgba(255,255,255,.86);
  border-bottom: 1px solid #dde7e0;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  transition: transform .22s ease, box-shadow .22s ease;
}

body.mobile-header-hidden.rc-app-v64 .rc-topbar {
  transform: translateY(-105%);
}

body.rc-app-v64 .rc-topbar-inner {
  min-height: var(--rc-v64-topbar-h);
  max-width: var(--rc-v64-max);
  margin: 0 auto;
  padding: 8px clamp(12px, 2.4vw, 28px);
  display: flex;
  align-items: center;
  gap: 12px;
}

body.rc-app-v64 .rc-topbrand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #111827;
  min-width: 180px;
}

body.rc-app-v64 .rc-topbrand img {
  width: 74px;
  max-height: 42px;
  object-fit: contain;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 4px 6px;
}

body.rc-app-v64 .rc-topbrand strong {
  display: block;
  font-size: 14px;
  line-height: 1.1;
}

body.rc-app-v64 .rc-topbrand small {
  display: block;
  font-size: 11px;
  color: #667085;
  line-height: 1.2;
}

body.rc-app-v64 .rc-topnav {
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

body.rc-app-v64 .rc-topnav-item {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  min-width: 94px;
  min-height: 44px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #1f2937;
  text-decoration: none;
  line-height: 1.15;
}

body.rc-app-v64 .rc-topnav-item strong {
  font-size: 13px;
  font-weight: 800;
}

body.rc-app-v64 .rc-topnav-item small {
  font-size: 10.5px;
  color: #667085;
}

body.rc-app-v64 .rc-topnav-item:hover {
  background: #f3f7f4;
  border-color: #e2e8e4;
}

body.rc-app-v64 .rc-topnav-item.is-active {
  background: #ecfbe8;
  border-color: #b9f0a8;
  color: #14532d;
}

body.rc-app-v64 .rc-topnav-item.is-active small {
  color: #166534;
}

body.rc-app-v64 .rc-top-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 6px;
  align-items: center;
}

body.rc-app-v64 .rc-mobile-trigger {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid #d9e5dd;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
}

body.rc-app-v64 .rc-mobile-trigger span {
  display: block;
  width: 20px;
  height: 2px;
  background: #17201d;
  border-radius: 999px;
}

body.rc-app-v64 .rc-main-v64 {
  max-width: var(--rc-v64-max);
  margin: 0 auto !important;
  padding: 14px clamp(12px, 2.4vw, 28px) 32px !important;
  width: 100%;
  min-width: 0;
}

body.rc-app-v64 .rc-page-head {
  padding: 12px 14px !important;
  margin-bottom: 10px !important;
  border-radius: 14px !important;
}

body.rc-app-v64 .rc-page-head h1 {
  font-size: clamp(22px, 2vw, 30px) !important;
}

body.rc-app-v64 .rc-page-head p {
  max-width: 760px !important;
  font-size: 13px !important;
}

body.rc-app-v64 .rc-tabs {
  position: sticky;
  top: calc(var(--rc-v64-topbar-h) + 0px);
  z-index: 900;
  overflow-x: auto;
  flex-wrap: nowrap !important;
  margin-bottom: 10px !important;
  padding: 6px !important;
}

body.mobile-header-hidden.rc-app-v64 .rc-tabs {
  top: 0;
}

body.rc-app-v64 .rc-tab {
  white-space: nowrap;
  padding: 8px 11px !important;
  min-height: 36px;
}

body.rc-app-v64 .rc-workbench {
  grid-template-columns: minmax(300px, 400px) minmax(0, 1fr) !important;
  gap: 12px !important;
}

body.rc-app-v64 .rc-list-panel,
body.rc-app-v64 .rc-detail-panel,
body.rc-app-v64 .rc-panel {
  padding: 12px !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

body.rc-app-v64 .rc-list-panel {
  top: calc(var(--rc-v64-topbar-h) + 58px);
  max-height: calc(100vh - var(--rc-v64-topbar-h) - 72px);
}

body.rc-app-v64 .rc-detail-head h2 {
  font-size: 20px !important;
}

body.rc-app-v64 .rc-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.rc-app-v64 .rc-grid-2,
body.rc-app-v64 .rc-detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.rc-app-v64 .rc-log,
body.rc-app-v64 .rc-cli,
body.rc-app-v64 .rc-json {
  max-height: 360px;
  overflow: auto;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre;
}

body.rc-overview-hidden .rc-overview,
body.rc-overview-hidden .rc-page-head,
body.rc-overview-hidden .rc-summary,
body.rc-overview-hidden .rc-kpi-strip,
body.rc-overview-hidden .rc-dashboard-grid {
  display: none !important;
}

body.rc-overview-hidden.rc-app-v64 .rc-main-v64 {
  padding-top: 10px !important;
}

@media (max-width: 1100px) {
  body.rc-app-v64 .rc-topnav,
  body.rc-app-v64 .rc-top-actions {
    display: none;
  }

  body.rc-app-v64 .rc-mobile-trigger {
    display: inline-flex;
    margin-left: auto;
  }

  body.rc-app-v64 .rc-topbrand {
    min-width: 0;
  }

  body.rc-app-v64 .rc-topbar-inner {
    min-height: 64px;
  }

  body.rc-app-v64 .rc-tabs {
    top: 64px;
  }

  body.rc-app-v64 .rc-workbench,
  body.rc-app-v64 .rc-split {
    grid-template-columns: 1fr !important;
  }

  body.rc-app-v64 .rc-list-panel {
    position: static !important;
    max-height: none !important;
  }

  body.rc-app-v64 .rc-grid-2,
  body.rc-app-v64 .rc-grid-3,
  body.rc-app-v64 .rc-detail-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  body.rc-app-v64 .rc-topbrand img {
    width: 64px;
  }

  body.rc-app-v64 .rc-topbrand span {
    display: none;
  }

  body.rc-app-v64 .rc-main-v64 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.rc-app-v64 .rc-page-head {
    padding: 10px !important;
  }

  body.rc-app-v64 .rc-filterbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.rc-app-v64 .rc-button {
    min-height: 42px;
  }
}


/* EASY-PC V79.2 – landscape tablet: avoid over-narrow repair cards and split homepage rows earlier. */
@media (min-width: 761px) and (max-width: 1180px) {
  .hero-grid,
  .home-content { grid-template-columns: 1fr !important; }
  .work-row { grid-template-columns: repeat(2, minmax(280px, 1fr)) !important; }
  .work-card img { height: 190px; }
}

/* EASY-PC V79.2 – local module navigation for items removed from global menu. */
.module-subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 18px;
  padding: 10px;
  border: 1px solid var(--line, #e3eaf0);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(16,24,40,.045);
}
.module-subnav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--ink, #101820);
  text-decoration: none;
  font-weight: 850;
}
.module-subnav a:hover,
.module-subnav a.active {
  border-color: rgba(127,190,67,.45);
  background: var(--green-soft, #edf8e8);
  color: var(--green-dark, #4d9a2f);
}

/* V80.8 – veřejné fotografie vybrané v kroku Dokončení */
.track-public-media { padding:0 24px 24px; }
.track-public-media h3 { margin:0 0 12px; font-size:1rem; }
.track-public-media > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.track-public-media a { display:grid; gap:8px; color:inherit; text-decoration:none; min-width:0; }
.track-public-media img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:16px; border:1px solid var(--line); background:#f4f6f4; }
.track-public-media span { font-size:.86rem; font-weight:850; overflow-wrap:anywhere; }
@media (max-width:720px) { .track-public-media { padding:0 20px 20px; } .track-public-media > div { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* V80.8.8 – veřejná komunikace přímo ke sledované zakázce. */
.tracking-workspace.is-single { grid-template-columns:minmax(0,1fr); }
.track-contact-card {
  margin:0 24px 24px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#f8fbf9;
}
.track-contact-card > div { margin-bottom:14px; }
.track-contact-card h3 { margin:0; font-size:clamp(22px,2vw,30px); }
.track-contact-card form { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.42fr) auto; gap:12px; align-items:end; }
.track-contact-card label { display:grid; gap:7px; min-width:0; font-weight:850; color:var(--ink); }
.track-contact-card textarea,
.track-contact-card input {
  width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  padding:12px 14px;
  font:inherit;
}
.track-contact-card textarea { min-height:112px; resize:vertical; }
.track-contact-card input { min-height:52px; }
.track-contact-card button { min-height:52px; }
.tracking-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.tracking-message-result { min-height:1.4em; margin:12px 0 0; font-weight:800; color:var(--muted); }
.tracking-message-result.is-ok { color:var(--green-dark); }
.tracking-message-result.is-error { color:var(--danger); }
@media (max-width:900px) {
  .track-contact-card form { grid-template-columns:1fr; }
  .track-contact-card button { justify-self:stretch; }
}
@media (max-width:720px) {
  .track-contact-card { margin:0 20px 20px; padding:18px; }
}

/* V80.8.8 – aktivní krok veřejného trackingu. */
.track-public-timeline li.is-current {
  border-color:rgba(39,174,96,.38);
  background:#f2fbf5;
}
.track-public-timeline li.is-current::before {
  border-color:var(--green);
  box-shadow:inset 0 0 0 5px #fff, 0 0 0 1px rgba(39,174,96,.18);
  background:var(--green);
}

/* V80.8.9 — veřejná komunikace zakázky */
.track-chat-card {
  margin: 0 24px 24px;
  padding: 20px;
  border: 1px solid #dfeee0;
  border-radius: 20px;
  background: #f7fbf7;
}
.track-chat-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.track-chat-card h3 { margin: 0; font-size: clamp(22px, 2vw, 30px); }
.track-chat-refresh {
  min-height: 44px;
  padding: 8px 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}
.track-chat-thread {
  display: grid;
  gap: 10px;
  max-height: min(52vh, 520px);
  padding: 4px 2px 16px;
  overflow: auto;
  overscroll-behavior: contain;
}
.track-chat-message {
  width: min(82%, 720px);
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(20, 37, 29, .04);
}
.track-chat-message.is-service {
  justify-self: start;
  border-color: #bfe3ca;
  background: #edf8f0;
}
.track-chat-message.is-customer {
  justify-self: end;
  background: #fff;
}
.track-chat-message > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.track-chat-message strong { font-size: .86rem; }
.track-chat-message time { color: var(--muted); font-size: .74rem; white-space: nowrap; }
.track-chat-message p { margin: 6px 0 0; line-height: 1.5; overflow-wrap: anywhere; }
.track-chat-empty { margin: 0; padding: 18px; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); text-align: center; }
.track-chat-card form {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
  padding-top: 14px;
  border-top: 1px solid #dfeee0;
}
.track-chat-card textarea {
  width: 100%;
  min-height: 82px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  resize: vertical;
  box-sizing: border-box;
}
.track-chat-card textarea:focus { outline: 3px solid rgba(43, 183, 69, .16); border-color: var(--green); }
.track-chat-card form button { min-height: 52px; }
.track-chat-card .tracking-message-result { min-height: 1.4em; margin: 8px 0 0; }
.track-chat-card .tracking-message-result.is-ok { color: #0c6636; font-weight: 800; }
.track-chat-card .tracking-message-result.is-error { color: #8a2424; font-weight: 800; }
.tracking-honeypot { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 720px) {
  .track-chat-card { margin: 0 20px 20px; padding: 18px; }
  .track-chat-message { width: min(90%, 720px); }
  .track-chat-card form { grid-template-columns: 1fr; }
  .track-chat-card form button { width: 100%; }
}

/* V80.9.1 — landscape tablet homepage: keep hero actions in one row and show two repair previews. */
@media (orientation: landscape) and (min-width: 761px) and (max-width: 1180px) {
  .hero-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, .82fr);
    gap: 12px;
    align-items: stretch;
  }
  .hero-actions .btn,
  .hero-actions .btn-primary {
    width: 100%;
    min-width: 0;
    padding-inline: 16px;
  }
  .work-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .work-row .work-card:nth-child(n + 3) {
    display: none;
  }
}

@media (orientation: landscape) and (min-width: 1181px) and (max-width: 1400px) and (any-pointer: coarse) {
  .hero-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, .82fr);
    gap: 12px;
    align-items: stretch;
  }
  .hero-actions .btn,
  .hero-actions .btn-primary {
    width: 100%;
    min-width: 0;
    padding-inline: 16px;
  }
  .work-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .work-row .work-card:nth-child(n + 3) {
    display: none;
  }
  .work-card img {
    height: 190px;
  }
}



/* V80.9.4 PUBLIC PRICE CATALOG CLEANUP — ceník sjednocený s interním katalogem */
.price-panel {
  box-shadow: none;
}
.price-panel .price-disclaimer {
  margin: -6px 0 18px;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.45;
}
.price-tabs {
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  padding: 2px 18px 10px 0;
  scroll-padding-inline: 2px 18px;
}
.price-tabs::-webkit-scrollbar {
  display: none;
}
.price-tabs button {
  flex: 0 0 auto;
  box-shadow: none;
}
.price-tabs button.active {
  color: #071019;
}
.price-list {
  gap: 8px;
}
.price-item {
  border-radius: 8px;
  box-shadow: none;
  transition: background-color .14s ease, border-color .14s ease;
}
.price-detail:hover {
  background: #f0fdf4;
  border-color: #d5e7d1;
}
.price-detail summary {
  grid-template-columns: auto minmax(0, 1fr) minmax(104px, auto) auto;
  gap: 16px;
}
.price-value {
  min-width: 104px;
  justify-self: end;
  text-align: right;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
}
.price-global-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  margin-top: 18px;
  padding: clamp(24px, 2.4vw, 34px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.price-global-cta h2 {
  margin: 0;
  font-size: clamp(26px, 2vw, 36px);
  line-height: 1.13;
  letter-spacing: -.045em;
}
.price-global-cta p {
  margin: 6px 0 0;
}
.price-global-cta .eyebrow {
  margin-bottom: 7px;
}
.price-global-cta-button {
  width: min(100%, 320px);
  min-width: 260px;
  border-radius: 8px;
}
@media (max-width: 1100px) {
  .price-tabs {
    margin-right: calc(var(--edge) * -1);
    padding-right: calc(var(--edge) + 18px);
  }
}
@media (max-width: 760px) {
  .price-panel .price-disclaimer {
    margin-top: -2px;
    font-size: 13px;
  }
  .price-tabs {
    margin-left: -6px;
    margin-right: -24px;
    padding-left: 6px;
    padding-right: 42px;
  }
  .price-detail summary {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    padding: 16px;
  }
  .price-value {
    grid-column: 2 / 4;
    justify-self: end;
    min-width: 118px;
    margin-top: -2px;
  }
  .price-chevron {
    grid-column: 3;
    justify-self: end;
    margin-top: 0;
  }
  .price-global-cta {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 86px;
  }
  .price-global-cta-button {
    position: fixed;
    left: 14px;
    right: 14px;
    bottom: calc(14px + env(safe-area-inset-bottom));
    z-index: 40;
    width: auto;
    min-width: 0;
    min-height: 58px;
    box-shadow: 0 10px 28px rgba(16,24,40,.18);
  }
}

/* V80.9.4: detail panel bez opakovaného generického vysvětlení */
.price-detail-body .text-link { display: inline-flex; margin-top: 2px; }

/* V80.9.13 — kategorie ceníku a novinek jako jeden horizontální swipe řádek.
   Bez dropdownu, bez zalamování; pravý okraj záměrně naznačuje další položku oříznutím. */
.filter-row,
.price-tabs,
.scrollable-pills {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  white-space: nowrap !important;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 2px clamp(54px, 12vw, 116px);
  padding: 2px clamp(54px, 12vw, 116px) 10px 2px !important;
}
.filter-row::-webkit-scrollbar,
.price-tabs::-webkit-scrollbar,
.scrollable-pills::-webkit-scrollbar { display: none; }
.filter-row button,
.price-tabs button,
.scrollable-pills button {
  flex: 0 0 auto !important;
  min-width: max-content;
  scroll-snap-align: start;
  box-shadow: none;
}
.news-toolbar {
  grid-template-columns: minmax(0, .56fr) minmax(0, 1.44fr);
  overflow: hidden;
}
.news-toolbar .filter-row,
.price-tabs {
  margin-right: calc(var(--edge, 24px) * -1) !important;
}
@media (max-width: 1100px) {
  .news-toolbar { grid-template-columns: 1fr; }
  .news-toolbar .filter-row { margin-left: 0; }
}
@media (max-width: 760px) {
  .news-toolbar .filter-row,
  .price-tabs {
    margin-left: -6px !important;
    margin-right: -24px !important;
    padding-left: 6px !important;
    padding-right: 74px !important;
  }
}
/* V80.9.13 correction: pills start from the left; overflow is visible on the right side. */
.news-toolbar .filter-row { justify-content: flex-start !important; }

/* V80.9.15 — tablet portrait hero + mobile navigation consistency.
   Tablet na výšku drží stejný měkký přechod textu do fotografie jako landscape/desktop.
   Telefony pod 761 px zůstávají ve stacked layoutu kvůli čitelnosti. */
@media (min-width: 761px) and (max-width: 1100px) {
  :root {
    --hero-fade-width: clamp(120px, 22vw, 250px);
    --hero-soft-glow: rgba(255, 255, 255, .40);
  }

  .page-hero,
  .page-hero-compact {
    display: grid !important;
    grid-template-columns: minmax(0, .48fr) minmax(0, .52fr) !important;
    align-items: stretch !important;
    min-height: clamp(312px, 36vh, 430px) !important;
    height: clamp(312px, 36vh, 430px) !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #f8fbf8 0%, #fff 72%) !important;
  }

  .page-hero > .copy,
  .page-hero-compact > .copy,
  .contact-hero > .copy,
  .tracking-hero > .copy {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-self: stretch !important;
    min-height: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding-block: clamp(30px, 3.4vw, 48px) !important;
    padding-inline: clamp(28px, 4.1vw, 54px) !important;
    z-index: 4;
  }

  .page-hero > .copy > :first-child,
  .page-hero-compact > .copy > :first-child { margin-top: 0 !important; }
  .page-hero > .copy > :last-child,
  .page-hero-compact > .copy > :last-child { margin-bottom: 0 !important; }

  .page-hero h1,
  .page-hero-compact h1 {
    font-size: clamp(38px, 5.1vw, 54px) !important;
    line-height: 1.02;
  }

  .page-hero p,
  .page-hero-compact p {
    max-width: 38rem;
    font-size: clamp(17px, 2.05vw, 21px);
    line-height: 1.42;
  }

  .page-hero-media,
  .page-hero-media img {
    min-height: 100% !important;
    height: 100% !important;
  }

  .page-hero-media {
    position: relative;
    overflow: hidden;
    isolation: isolate;
  }

  .page-hero-media img {
    display: block;
    width: 100%;
    object-fit: cover;
    object-position: 62% center;
    transform: scale(1.01);
  }

  .page-hero-media::before,
  .page-hero-media::after {
    display: block !important;
    pointer-events: none;
  }

  .page-hero-media::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--hero-fade-width);
    background: linear-gradient(
      to right,
      #fff 0%,
      rgba(255,255,255,.98) 14%,
      rgba(255,255,255,.82) 42%,
      rgba(255,255,255,.42) 72%,
      rgba(255,255,255,0) 100%
    );
    z-index: 2;
  }

  .page-hero-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at left center, var(--hero-soft-glow), rgba(255,255,255,0) 48%),
      linear-gradient(to bottom, rgba(255,255,255,.06), rgba(255,255,255,0) 30%, rgba(255,255,255,.05) 100%);
    z-index: 1;
  }

  .hero-grid {
    grid-template-columns: minmax(0, .48fr) minmax(0, .52fr) !important;
    min-height: clamp(360px, 44vh, 520px) !important;
  }

  .hero-grid > .hero-copy,
  .hero-grid > .hero-image {
    min-height: clamp(360px, 44vh, 520px) !important;
  }

  .hero-grid > .hero-image::before,
  .hero-grid > .hero-image::after {
    display: block !important;
  }
}

@media (max-width: 760px) {
  .page-hero-media::before,
  .page-hero-media::after { display: none !important; }
}

/* V80.9.15 — sjednocení mobilního/tabletového menu s širší nabídkou služeb. */
@media (max-width: 860px) {
  .mobile-glass-panel {
    width: min(92vw, 520px);
  }

  .mobile-menu-nav,
  .mobile-menu-actions {
    gap: 9px;
  }

  .mobile-menu-nav::before,
  .mobile-menu-actions::before {
    display: block;
    margin: 0 2px 2px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
  }

  .mobile-menu-nav::before { content: 'Navigace'; }
  .mobile-menu-actions::before { content: 'Akce'; }

  .mobile-menu-link {
    min-height: 56px;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease, color .16s ease;
  }

  .mobile-menu-actions .mobile-menu-link.is-primary {
    min-height: 58px;
  }
}

@media (min-width: 761px) and (max-width: 860px) {
  .mobile-glass-panel {
    width: min(60vw, 520px);
    min-width: 420px;
  }
}

@media (max-width: 520px) {
  .mobile-glass-panel {
    width: min(92vw, 430px);
    min-width: 0;
  }
}

@media (hover: hover) and (pointer: fine) {
  .mobile-menu-link:hover {
    transform: translateX(-2px);
    border-color: rgba(127, 190, 67, .42);
    background: linear-gradient(180deg, #f9fff7, #fff);
  }

  .mobile-menu-link.is-primary:hover {
    background: linear-gradient(180deg, #92d756, #72bd34);
  }
}

/* V86 — Konsolidace Balíčku
   Stabilizované veřejné přepisy po ladění V81–V85.
   Obsolete bento/radio intake CSS bylo odstraněno; veřejná poptávka používá jednoduchý select. */

/* Hero blend: přechod patří na hranici text/fotografie, ne do spodku fotografie. */
.page-hero,
.page-hero-compact,
.contact-hero,
.hero-grid {
  overflow: hidden;
}

.page-hero-media,
.hero-grid > .hero-image {
  position: relative;
  overflow: hidden;
}

.page-hero-media::before,
.hero-grid > .hero-image::before,
.page-hero-media::after,
.hero-grid > .hero-image::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.page-hero-media::after,
.hero-grid > .hero-image::after {
  display: none !important;
}

@media (min-width: 761px) {
  .page-hero-media::before,
  .hero-grid > .hero-image::before {
    display: block !important;
    inset: 0 auto 0 0;
    width: clamp(120px, 20vw, 260px);
    background: linear-gradient(
      to right,
      #fff 0%,
      rgba(255,255,255,.98) 12%,
      rgba(255,255,255,.84) 36%,
      rgba(255,255,255,.44) 68%,
      rgba(255,255,255,0) 100%
    );
    z-index: 2;
  }
}

@media (max-width: 760px) {
  .page-hero,
  .page-hero-compact,
  .contact-hero,
  .hero-grid {
    background: #fff;
  }

  .page-hero > .copy,
  .page-hero-compact > .copy,
  .contact-hero > .copy,
  .hero-grid > .hero-copy {
    position: relative;
    z-index: 3;
    background: #fff;
    border-radius: 0;
  }

  .page-hero-media::before,
  .hero-grid > .hero-image::before {
    display: block !important;
    inset: 0 0 auto 0;
    width: 100%;
    height: clamp(58px, 16vw, 118px);
    background: linear-gradient(
      to bottom,
      #fff 0%,
      rgba(255,255,255,.98) 16%,
      rgba(255,255,255,.76) 48%,
      rgba(255,255,255,.28) 76%,
      rgba(255,255,255,0) 100%
    );
    z-index: 2;
  }
}

/* Veřejná poptávka: jednoduchý formulář, požadavek první, kontakt druhý. */
.public-intake-form {
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  align-items: start;
}

.public-intake-form .form-card {
  overflow: visible;
}

.public-intake-form .form-card h2 {
  margin-bottom: 14px;
}

.public-intake-form .form-card p {
  color: var(--muted);
  line-height: 1.5;
}

.public-intake-form .field-help {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}

.public-intake-form .form-context {
  margin-bottom: 16px;
}

.public-intake-form .intake-request-card { order: 1; }
.public-intake-form .intake-contact-card { order: 2; align-self: start; }

.public-intake-form .intake-more {
  margin-top: 18px;
  border: 1px solid rgba(18,31,27,.08);
  border-radius: 18px;
  background: #fbfdfb;
  padding: 0;
}

.public-intake-form .intake-more > summary {
  cursor: pointer;
  padding: 14px 16px;
  font-weight: 900;
  color: var(--ink);
}

.public-intake-form .intake-more[open] {
  padding-bottom: 14px;
}

.public-intake-form .intake-more[open] > summary {
  border-bottom: 1px solid rgba(18,31,27,.07);
  margin-bottom: 12px;
}

.public-intake-form .intake-more > :not(summary) {
  margin-left: 16px;
  margin-right: 16px;
}

.public-intake-form .person-address-fields,
.public-intake-form .company-fields {
  display: grid;
  gap: 0;
  margin-top: 16px;
}

.public-intake-form .company-fields {
  margin: 16px 16px 0;
}

.public-intake-form .company-fields label:first-child {
  margin-top: 0;
}

.public-intake-form .company-fields[hidden],
.public-intake-form .person-address-fields[hidden] {
  display: none !important;
}

.public-intake-form .ares-status {
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(127,190,67,.08);
}

.public-intake-form .ares-status.is-loading { color: #6f5f00; }
.public-intake-form .ares-status.is-ok { color: var(--green-dark); }
.public-intake-form .ares-status.is-error { color: var(--danger); }

.public-intake-form .ares-ico-input {
  border-color: rgba(127,190,67,.42);
  background: linear-gradient(180deg, #fbfffb, #fff);
}

.public-intake-form select {
  min-height: 56px;
  appearance: auto;
  -webkit-appearance: menulist;
  font-weight: 850;
}

.public-intake-form .field-block {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  font-weight: 800;
}

.public-intake-form .field-block > label {
  display: block;
  margin: 0;
}

.public-intake-form .service-picker-field {
  position: relative;
  z-index: 40;
}

.public-intake-form .service-picker-field + label {
  margin-top: 16px;
}

.service-custom-select {
  position: relative;
  width: 100%;
}

.service-custom-select > select {
  width: 100%;
  min-height: 56px;
  padding-right: 56px;
}

.service-picker-button {
  display: flex;
  width: 100%;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  padding: 0 18px;
  font-weight: 900;
  line-height: 1.15;
  text-align: left;
  box-shadow: none;
  cursor: pointer;
}

.service-picker-button:focus-visible,
.service-custom-select.is-open .service-picker-button {
  border-color: var(--green);
  box-shadow: 0 0 0 4px rgba(127,190,67,.16);
}

.service-picker-button span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.service-picker-chevron {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 22px;
  transform: translateY(-1px);
}

.service-custom-select.is-enhanced > select {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

.service-custom-select.is-enhanced .service-picker-button {
  display: flex;
}


.service-picker-list {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 10px);
  z-index: 160;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  width: 100%;
  min-width: 100%;
  max-height: min(70svh, 620px);
  overflow-y: auto;
  padding: 10px;
  border: 1px solid rgba(18,31,27,.12);
  border-radius: 20px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 24px 70px rgba(18,31,27,.18);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.service-picker-list[hidden] {
  display: none !important;
}

.service-picker-option {
  width: 100%;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border: 1px solid rgba(18,31,27,.08);
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  padding: 12px 14px;
  font-weight: 850;
  line-height: 1.2;
  text-align: left;
  white-space: normal;
  box-shadow: none;
  cursor: pointer;
}

.service-picker-option:hover,
.service-picker-option:focus-visible {
  border-color: rgba(127,190,67,.55);
  background: #fbfff8;
  outline: none;
}

.service-picker-option.is-selected {
  border-color: rgba(127,190,67,.82);
  background: var(--green-soft);
  color: var(--green-dark);
}

.service-picker-option.is-selected::before {
  content: '✓';
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  margin-right: 10px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 15px;
  font-weight: 950;
}

.service-picker-option:not(.is-selected)::before {
  content: '';
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  margin-right: 10px;
  border: 1px solid rgba(18,31,27,.14);
  border-radius: 999px;
  background: #fff;
}

@media (min-width: 680px) {
  .service-picker-list {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  }
}

@media (max-width: 760px) {
  .service-picker-button {
    min-height: 56px;
    border-radius: 14px;
  }

  .service-picker-list {
    grid-template-columns: 1fr;
    max-height: min(66vh, 520px);
    border-radius: 18px;
  }

  .service-picker-option {
    min-height: 56px;
    padding: 13px 14px;
  }
}

.public-intake-form .intake-consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 18px;
  padding: 13px 14px;
  border: 1px solid rgba(18,31,27,.08);
  border-radius: 16px;
  background: #f7faf7;
  color: var(--ink);
  font-weight: 850;
  line-height: 1.35;
}

.public-intake-form .intake-consent input[type="checkbox"] {
  flex: 0 0 auto !important;
  width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  border-radius: 5px !important;
  accent-color: var(--green);
}

.public-intake-form .intake-submit {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.public-intake-form .intake-submit .btn {
  width: 100%;
  justify-content: center;
  min-height: 54px;
}

.public-intake-form .intake-submit p {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
}

@media (max-width: 980px) {
  .public-intake-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .public-intake-form {
    gap: 18px;
  }

  .public-intake-form .form-card {
    padding: 28px 22px;
    border-radius: 28px;
  }

  .public-intake-form label {
    margin-top: 14px;
  }

  .public-intake-form textarea {
    min-height: 150px;
  }
}



/* V88.6 — Výběr Kategorie
   Kategorie ve veřejné poptávce je vlastní full-width select.
   Nativní iPad picker zůstává jen jako skrytý formulářový nosič hodnoty. */
.public-intake-form .service-picker-field {
  position: relative;
  z-index: 70;
}

.public-intake-form .service-custom-select {
  position: relative;
  width: 100%;
}

.public-intake-form .service-custom-select.is-open,
.public-intake-form .service-picker-field:has(.service-custom-select.is-open) {
  z-index: 170;
}

.public-intake-form .service-picker-button {
  min-height: 56px;
  width: 100%;
  padding: 0 18px;
  align-items: center;
}

.public-intake-form .service-custom-select > select.service-picker-native-hidden {
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.public-intake-form .service-picker-list {
  left: 0;
  right: 0;
  width: 100%;
  min-width: 100%;
  max-height: min(72dvh, 640px);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.public-intake-form .service-picker-option {
  min-height: 58px;
  padding: 14px 16px;
}

@media (max-width: 679px) {
  .public-intake-form .service-picker-list {
    grid-template-columns: 1fr;
    max-height: min(68dvh, 560px);
  }
}

/* V87 — Bannery Webu
   Všechny veřejné hero bannery používají jednotný <picture> výstup:
   desktop / tablet / mobil. Administrace ukládá optimalizované varianty. */
.hero-image picture,
.page-hero-media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-image picture > img,
.page-hero-media picture > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.admin-app-v87 .admin-banner-grid-v2815 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
}

body.admin-app-v87 .admin-banner-card-v2815 {
  min-width: 0;
}

body.admin-app-v87 .admin-banner-variant-note {
  margin: 8px 0 0;
  font-size: 13px;
}

@media (max-width: 760px) {
  body.admin-app-v87 .admin-banner-grid-v2815 {
    grid-template-columns: 1fr;
  }
}

/* V88 — Cloud Upload pro 3D tisk: panel je viditelný jen při službě 3D tisk. */
.model-upload-panel {
  margin-top: 18px;
}

.model-upload-panel[hidden] {
  display: none !important;
}

.model-upload-box {
  border-color: rgba(127,190,67,.95);
  background: linear-gradient(180deg, #fbfffb 0%, #f5fbf1 100%);
}

.model-upload-status {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(18,31,27,.035);
  color: var(--muted);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.4;
}

.model-upload-status.is-loading { color: #6f5f00; background: #fff9d9; }
.model-upload-status.is-ok { color: var(--green-dark); background: var(--green-soft); }
.model-upload-status.is-error { color: var(--danger); background: #fff2f1; }

.model-upload-preview span {
  background: #eef9e9;
  color: var(--green-dark);
}

.model-upload-preview .model-upload-row.is-uploaded {
  border-color: rgba(77, 181, 47, .34);
  background: rgba(77, 181, 47, .08);
}
.model-upload-preview .model-upload-row.is-uploading,
.model-upload-preview .model-upload-row.is-queued {
  border-color: rgba(12, 19, 28, .16);
  background: rgba(12, 19, 28, .035);
}
.model-upload-preview .model-upload-row.is-error {
  border-color: rgba(188, 48, 48, .34);
  background: rgba(188, 48, 48, .08);
}
.model-upload-preview.has-error strong {
  display: block;
  color: #9b1c1c;
  font-weight: 900;
}

/* V88.1 — administrace bannerů: globální návrat na původní výchozí fotografii. */
.admin-inline-reset-form {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}

/* V88.2 — Admin Navigace: clean mobile labels for manually styled admin nav. */
body.admin-app-v87 .admin-nav-text,
body.admin-app-v445 .admin-nav-text,
body.admin-app-v444 .admin-nav-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mobile-glass-panel .admin-nav-icon,
.mobile-glass-panel [aria-hidden="true"] {
  display: none !important;
}

/* V88.2 — Admin Navigace
   Mobilní menu administrace používá čisté textové štítky bez interních ikonových zkratek.
   Desktopové postranní menu nechává ikonové zkratky pouze jako malé vizuální kotvy. */
.admin-nav-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 1023px) {
  .mobile-menu-link .admin-nav-icon { display: none !important; }
}


/* V88.3 — Služby Kotvy
   Kliknutí ze služeb na úvodní stránce otevře konkrétní kartu služby.
   Scroll offset počítá s plovoucí mobilní navigací a desktop headerem. */
html {
  scroll-padding-top: clamp(96px, 13vw, 148px);
}

.service-tile[id^="sluzba-"] {
  scroll-margin-top: clamp(104px, 14vw, 158px);
}

.service-tile.is-anchor-highlight {
  border-color: rgba(127, 190, 67, .72);
  box-shadow: 0 18px 46px rgba(65, 154, 28, .13);
  background: linear-gradient(180deg, rgba(246, 255, 243, .92), #fff 42%);
}

.service-chip:focus-visible,
.service-tile:focus-visible {
  outline: 3px solid rgba(127, 190, 67, .38);
  outline-offset: 4px;
}

/* V88.6 – Administrace novinek: plynulý servisní zápisník bez dashboardového šumu */
body.admin-news-editor-v884 .admin-work-tabs,
body.admin-news-editor-v884 .admin-local-tabs,
body.admin-news-editor-v884 .admin-section-tabs,
body.admin-news-editor-v884 [data-admin-compact-toggle],
body.admin-news-editor-v884 [data-admin-summary-toggle] {
  display: none !important;
}

.admin-news-v884 {
  --news-editor-gap-v884: 18px;
}

.admin-news-v884 .admin-news-head-v884 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
}

.admin-head-actions-v884 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: nowrap;
}

.admin-news-v884 .admin-editor-v884,
.admin-news-v884 .admin-news-list-card-v884,
.admin-news-v884 .admin-summary-details-v884 {
  width: 100%;
  margin-top: var(--news-editor-gap-v884);
}

.admin-news-v884 .admin-editor-v884 {
  display: grid;
  gap: 18px;
}

.admin-news-v884 .admin-editor-v884 .admin-fieldset,
.admin-news-v884 .admin-details-fieldset-v884,
.admin-news-v884 .admin-quality-panel-v884,
.admin-news-v884 .admin-publish-row-v884 {
  margin: 0;
}

.admin-news-v884 .admin-details-fieldset-v884,
.admin-news-v884 .admin-quality-panel-v884,
.admin-news-v884 .admin-summary-details-v884 {
  overflow: hidden;
}

.admin-news-v884 .admin-details-fieldset-v884 > summary,
.admin-news-v884 .admin-quality-panel-v884 > summary,
.admin-news-v884 .admin-summary-details-v884 > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 900;
  color: var(--ink);
}

.admin-news-v884 .admin-details-fieldset-v884 > summary::-webkit-details-marker,
.admin-news-v884 .admin-quality-panel-v884 > summary::-webkit-details-marker,
.admin-news-v884 .admin-summary-details-v884 > summary::-webkit-details-marker {
  display: none;
}

.admin-news-v884 .admin-details-fieldset-v884 > summary::before,
.admin-news-v884 .admin-quality-panel-v884 > summary::before,
.admin-news-v884 .admin-summary-details-v884 > summary::before {
  content: "▸";
  color: var(--green-dark);
  font-size: .9em;
  transition: transform .16s ease;
}

.admin-news-v884 .admin-details-fieldset-v884[open] > summary::before,
.admin-news-v884 .admin-quality-panel-v884[open] > summary::before,
.admin-news-v884 .admin-summary-details-v884[open] > summary::before {
  transform: rotate(90deg);
}

.admin-news-v884 .admin-details-body-v884,
.admin-news-v884 .admin-quality-panel-v884 .admin-quality-grid,
.admin-news-v884 .admin-summary-details-v884 .admin-mini-stats,
.admin-news-v884 .admin-summary-details-v884 .admin-hint {
  margin-top: 14px;
}

.admin-news-v884 .admin-summary-details-v884 .admin-mini-stats {
  justify-content: flex-start;
}

.admin-news-v884 .admin-publish-row-v884 {
  display: grid;
  gap: 14px;
}

.admin-news-v884 .admin-actions-v884 {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.admin-news-v884 .admin-actions-v884::-webkit-scrollbar { display: none; }
.admin-news-v884 .admin-actions-v884 .btn { flex: 0 0 auto; white-space: nowrap; }

.admin-news-v884 .admin-item-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.admin-news-v884 .admin-item-actions::-webkit-scrollbar { display: none; }
.admin-news-v884 .admin-item-actions .btn,
.admin-news-v884 .admin-item-actions form,
.admin-news-v884 .admin-item-actions button {
  flex: 0 0 auto;
  white-space: nowrap;
}

@media (min-width: 1101px) {
  .admin-news-v884 .admin-editor-v884 {
    max-width: 980px;
  }

  .admin-news-v884 .admin-news-list-card-v884 {
    max-width: 1180px;
  }
}

@media (max-width: 760px) {
  .admin-news-v884 .admin-news-head-v884 {
    display: grid;
    align-items: stretch;
  }

  .admin-head-actions-v884 {
    justify-content: stretch;
  }

  .admin-head-actions-v884 .btn {
    width: 100%;
  }

  .admin-news-v884 .admin-editor-v884 {
    gap: 14px;
  }

  .admin-news-v884 .admin-news-list-card-v884 .admin-list-head {
    display: grid;
    gap: 12px;
  }

  .admin-news-v884 .admin-list-controls {
    gap: 9px !important;
  }

  .admin-news-v884 .admin-news-item {
    grid-template-columns: 78px minmax(0,1fr) !important;
    align-items: start;
  }

  .admin-news-v884 .admin-news-item img {
    width: 78px !important;
    height: 58px !important;
  }

  .admin-news-v884 .admin-news-meta strong {
    font-size: 16px;
    line-height: 1.12;
  }
}

/* V88.6 – Administrace novinek: souhrny nahoře, rychlé hledání, bez duplicitního přehledu */
body.admin-news-editor-v886 .admin-news-v886 {
  --news-v886-gap: 12px;
}

body.admin-news-editor-v886 .admin-head-actions-v886 {
  display: grid !important;
  grid-template-columns: max-content minmax(260px, 460px) !important;
  align-items: center !important;
  justify-content: end !important;
  gap: 10px !important;
}

body.admin-news-editor-v886 .admin-head-actions-v886 .btn {
  width: auto !important;
  min-height: 54px !important;
  white-space: nowrap !important;
}

body.admin-news-editor-v886 .admin-news-search-v886 {
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  border-radius: 16px !important;
}

body.admin-news-editor-v886 .admin-summary-details-v886 {
  margin-top: 0 !important;
  margin-bottom: var(--news-v886-gap) !important;
  padding: 14px 16px !important;
}

body.admin-news-editor-v886 .admin-summary-details-v886 > summary {
  min-height: 34px;
  font-size: clamp(18px, 1.5vw, 24px);
  letter-spacing: -.035em;
}

body.admin-news-editor-v886 .admin-news-list-card-v886 {
  margin-top: 0 !important;
}

body.admin-news-editor-v886 .admin-news-list-card-v886 .admin-news-list {
  margin-top: 0 !important;
}

@media (max-width: 1023px) {
  body.admin-news-editor-v886 .admin-news-shell.admin-polished {
    margin-top: 0 !important;
  }
}

@media (max-width: 760px) {
  body.admin-news-editor-v886 .admin-news-head-v884 {
    gap: 14px !important;
  }

  body.admin-news-editor-v886 .admin-head-actions-v886 {
    grid-template-columns: minmax(152px, .72fr) minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.admin-news-editor-v886 .admin-head-actions-v886 .btn,
  body.admin-news-editor-v886 .admin-news-search-v886 {
    min-height: 52px !important;
    border-radius: 15px !important;
    font-size: 15px !important;
  }

  body.admin-news-editor-v886 .admin-head-actions-v886 .btn {
    padding-inline: 12px !important;
  }

  body.admin-news-editor-v886 .admin-news-search-v886 {
    padding-inline: 12px !important;
  }

  body.admin-news-editor-v886 .admin-summary-details-v886,
  body.admin-news-editor-v886 .admin-news-list-card-v886 {
    padding: 14px !important;
  }
}

@media (max-width: 380px) {
  body.admin-news-editor-v886 .admin-head-actions-v886 {
    grid-template-columns: 1fr !important;
  }
}

/* V88.7 – Novinky jednoduše: název, popis, fotografie, uložit */
body.admin-news-simple-v887 .admin-news-v887 .admin-news-simple-editor-v887 {
  max-width: 980px;
  gap: 16px;
}

body.admin-news-simple-v887 .admin-news-simple-editor-v887 .admin-fieldset-primary-v887 legend,
body.admin-news-simple-v887 .admin-news-simple-editor-v887 .admin-publish-simple-v887 legend {
  letter-spacing: -.035em;
}

body.admin-news-simple-v887 .admin-news-simple-editor-v887 textarea[name="desc"] {
  min-height: clamp(180px, 24vw, 260px);
}

body.admin-news-simple-v887 .admin-new-preview-simple-v887,
body.admin-news-simple-v887 .admin-gallery-simple-v887 {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

body.admin-news-simple-v887 .admin-new-preview-simple-v887 figcaption,
body.admin-news-simple-v887 .admin-gallery-simple-v887 figcaption {
  gap: 6px;
}

body.admin-news-simple-v887 .admin-new-preview-simple-v887 figcaption strong,
body.admin-news-simple-v887 .admin-gallery-simple-v887 figcaption strong {
  font-size: 13px;
  line-height: 1.2;
}

body.admin-news-simple-v887 .admin-new-preview-simple-v887 figcaption small,
body.admin-news-simple-v887 .admin-gallery-simple-v887 figcaption small {
  color: var(--muted);
  overflow-wrap: anywhere;
}

body.admin-news-simple-v887 .admin-gallery-simple-v887 label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 800;
  color: var(--muted);
}

body.admin-news-simple-v887 .admin-publish-simple-v887 .admin-actions-v884 {
  justify-content: flex-start;
}

body.admin-news-simple-v887 .article-main-simple-v887 p {
  font-size: clamp(17px, 1.7vw, 20px);
  line-height: 1.65;
}

@media (max-width: 760px) {
  body.admin-news-simple-v887 .admin-news-simple-editor-v887 {
    gap: 12px;
  }

  body.admin-news-simple-v887 .admin-new-preview-simple-v887,
  body.admin-news-simple-v887 .admin-gallery-simple-v887 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.admin-news-simple-v887 .admin-publish-simple-v887 .admin-actions-v884 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: visible;
  }

  body.admin-news-simple-v887 .admin-publish-simple-v887 .btn {
    width: 100%;
  }
}
.article-main-simple-v887 p {
  font-size: clamp(17px, 1.7vw, 20px);
  line-height: 1.65;
}
.article-extra-text-v887 {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

/* V89 – Novinky: stejně velká akční tlačítka v jednoduchém editoru */
body.admin-news-actions-v888 .admin-publish-simple-v887 .admin-actions-v888 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: min(100%, 620px) !important;
  justify-content: stretch !important;
  align-items: stretch !important;
  overflow: visible !important;
}

body.admin-news-actions-v888 .admin-publish-simple-v887 .admin-actions-v888 .btn {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 64px !important;
  padding-inline: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: normal !important;
  line-height: 1.15 !important;
}

@media (max-width: 430px) {
  body.admin-news-actions-v888 .admin-publish-simple-v887 .admin-actions-v888 {
    gap: 10px !important;
  }

  body.admin-news-actions-v888 .admin-publish-simple-v887 .admin-actions-v888 .btn {
    min-height: 60px !important;
    padding-inline: 10px !important;
    font-size: clamp(15px, 4vw, 17px) !important;
  }
}

/* V89 — Texty Webu */
.web-texts-editor-v89{display:grid;gap:18px;margin-bottom:32px}
.web-texts-toolbar-v89{display:flex;align-items:center;justify-content:space-between;gap:16px}
.web-texts-toolbar-v89 h2,.web-texts-section-v89 h2{margin:0 0 6px}
.web-texts-toolbar-v89 p,.web-texts-section-v89 header p{margin:0;color:var(--muted,#667085)}
.web-texts-actions-v89{display:flex;gap:10px;align-items:center;white-space:nowrap}
.web-texts-grid-v89{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.web-texts-grid-v89 label,.web-service-editor-card-v89 label,.web-hours-grid-v89 label{display:grid;gap:7px;font-weight:700;color:var(--text,#1f2937)}
.web-texts-grid-v89 input,.web-texts-grid-v89 textarea,.web-service-editor-card-v89 input,.web-service-editor-card-v89 textarea,.web-hours-grid-v89 input{width:100%;border:1px solid rgba(31,41,55,.14);border-radius:14px;padding:12px 14px;font:inherit;font-weight:500;background:#fff;color:var(--text,#1f2937);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.web-texts-grid-v89 textarea,.web-service-editor-card-v89 textarea{resize:vertical;min-height:84px;line-height:1.45}
.web-texts-grid-v89 .is-wide{grid-column:1/-1}
.web-service-editor-grid-v89{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.web-service-editor-card-v89{border:1px solid rgba(31,41,55,.1);border-radius:18px;padding:16px;background:rgba(255,255,255,.78);display:grid;gap:12px}
.web-service-editor-card-v89 legend{font-weight:900;padding:0 6px;color:var(--text,#1f2937)}
.web-service-editor-card-v89 small{font-weight:600;color:var(--muted,#667085)}
.web-opening-box-v89{margin-top:18px;border:1px solid rgba(31,41,55,.1);border-radius:18px;padding:16px;background:rgba(247,250,252,.8)}
.web-opening-box-v89 h3{margin:0 0 12px}.web-opening-mode-v89{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}.web-opening-mode-v89 label{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(31,41,55,.12);border-radius:999px;padding:9px 12px;background:#fff;font-weight:800}.web-hours-grid-v89{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.web-texts-sticky-save-v89{position:sticky;bottom:14px;z-index:30;display:flex;gap:10px;justify-content:flex-end;padding:12px;border:1px solid rgba(31,41,55,.1);border-radius:18px;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);box-shadow:0 16px 45px rgba(15,23,42,.12)}
.contact-opening-hours-v89{display:grid;gap:6px;margin:6px 0 4px}.contact-opening-hours-v89 div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(31,41,55,.08);padding:3px 0}.contact-opening-hours-v89 dt{font-weight:700}.contact-opening-hours-v89 dd{margin:0;color:var(--text,#1f2937);font-weight:700;text-align:right}
@media (max-width: 860px){.web-texts-toolbar-v89{align-items:stretch;flex-direction:column}.web-texts-actions-v89{display:grid;grid-template-columns:1fr 1fr}.web-texts-grid-v89,.web-service-editor-grid-v89,.web-hours-grid-v89{grid-template-columns:1fr}.web-texts-grid-v89 .is-wide{grid-column:auto}.web-texts-sticky-save-v89{display:grid;grid-template-columns:1fr 1fr;bottom:10px}.web-texts-sticky-save-v89 .rc-button,.web-texts-actions-v89 .rc-button{text-align:center;justify-content:center}}

/* V89.1 — Texty webu: bento akordeon, ergonomie režimu otevírací doby */
.web-texts-editor-v891 {
  gap: 20px;
}

.web-texts-toolbar-v891 {
  align-items: flex-start;
}

.web-page-stack-v891 {
  display: grid;
  gap: 16px;
}

.web-page-card-v891 {
  padding: 0 !important;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,252,.92));
}

.web-page-card-v891 > summary,
.web-service-editor-card-v891 > summary {
  list-style: none;
  cursor: pointer;
}

.web-page-card-v891 > summary::-webkit-details-marker,
.web-service-editor-card-v891 > summary::-webkit-details-marker {
  display: none;
}

.web-page-card-v891 > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
}

.web-page-summary-v891 {
  min-width: 0;
}

.web-page-summary-v891 .rc-eyebrow {
  margin: 0 0 8px;
}

.web-page-summary-v891 h2 {
  margin: 0;
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.web-page-summary-v891 > p:last-child {
  margin: 9px 0 0;
  color: var(--muted, #667085);
  font-weight: 700;
}

.web-page-card-v891 > summary::after,
.web-service-editor-card-v891 > summary::after {
  content: "▾";
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(31, 41, 55, .1);
  background: rgba(255,255,255,.85);
  color: var(--green-dark, #4d9e34);
  font-weight: 900;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.web-page-card-v891[open] > summary::after,
.web-service-editor-card-v891[open] > summary::after {
  transform: rotate(180deg);
  border-color: rgba(73, 169, 66, .28);
  background: rgba(235, 248, 233, .95);
}

.web-page-card-body-v891 {
  padding: 0 20px 20px;
  display: grid;
  gap: 18px;
}

.web-section-subpanel-v891 {
  border-top: 1px solid rgba(31, 41, 55, .08);
  padding-top: 18px;
}

.web-section-subhead-v891 {
  margin-bottom: 14px;
}

.web-section-subhead-v891 .rc-eyebrow {
  margin: 0 0 6px;
}

.web-section-subhead-v891 h3 {
  margin: 0 0 6px;
  font-size: clamp(22px, 1.7vw, 28px);
  letter-spacing: -.04em;
}

.web-section-subhead-v891 p {
  margin: 0;
  color: var(--muted, #667085);
}

.web-texts-grid-v891 {
  margin-top: 0;
}

.web-texts-grid-v891 label,
.web-service-editor-body-v891 label,
.web-hours-item-v891 label {
  display: grid;
  gap: 7px;
  font-weight: 800;
  color: var(--text, #1f2937);
}

.web-texts-grid-v891 input,
.web-texts-grid-v891 textarea,
.web-service-editor-body-v891 input,
.web-service-editor-body-v891 textarea,
.web-hours-item-v891 input {
  min-height: 58px;
  border-radius: 18px;
  padding: 14px 16px;
  font: inherit;
}

.web-texts-grid-v891 textarea,
.web-service-editor-body-v891 textarea {
  min-height: 112px;
}

.web-service-editor-grid-v891 {
  gap: 12px;
}

.web-service-editor-card-v891 {
  padding: 0;
  border-radius: 18px;
  background: rgba(255,255,255,.88);
}

.web-service-editor-card-v891 > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
}

.web-service-editor-card-v891 > summary span {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.web-service-editor-card-v891 > summary strong {
  font-size: 18px;
  line-height: 1.12;
}

.web-service-editor-card-v891 > summary small {
  color: var(--muted, #667085);
}

.web-service-editor-body-v891 {
  display: grid;
  gap: 12px;
  padding: 0 16px 16px;
}

.web-opening-box-v891 {
  padding: 18px;
  display: grid;
  gap: 16px;
}

.web-opening-mode-v891 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.web-opening-option-v891 {
  position: relative;
  display: block;
  margin: 0;
}

.web-opening-option-v891 input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}

.web-opening-option-v891 > span {
  min-height: 92px;
  display: grid;
  align-content: center;
  gap: 6px;
  padding: 16px 18px 16px 76px;
  border: 1px solid rgba(31, 41, 55, .12);
  border-radius: 24px;
  background: #fff;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.web-opening-option-v891 > span::before,
.web-opening-option-v891 > span::after {
  content: "";
  position: absolute;
  left: 22px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 999px;
  transition: all .16s ease;
}

.web-opening-option-v891 > span::before {
  width: 28px;
  height: 28px;
  border: 2px solid rgba(31, 41, 55, .3);
  background: #fff;
}

.web-opening-option-v891 > span::after {
  width: 12px;
  height: 12px;
  left: 30px;
  background: transparent;
}

.web-opening-option-v891 > span strong {
  font-size: 18px;
  line-height: 1.15;
  letter-spacing: -.03em;
}

.web-opening-option-v891 > span small {
  color: var(--muted, #667085);
  font-weight: 700;
}

.web-opening-option-v891.is-active > span,
.web-opening-option-v891 input:checked + span {
  border-color: rgba(73, 169, 66, .35);
  background: linear-gradient(180deg, rgba(244, 251, 242, .98), rgba(232, 246, 228, .92));
  box-shadow: 0 8px 22px rgba(73, 169, 66, .08);
}

.web-opening-option-v891.is-active > span::before,
.web-opening-option-v891 input:checked + span::before {
  border-color: #1781f6;
}

.web-opening-option-v891.is-active > span::after,
.web-opening-option-v891 input:checked + span::after {
  background: #1781f6;
}

.web-opening-option-v891 input:focus-visible + span {
  outline: 3px solid rgba(23, 129, 246, .24);
  outline-offset: 4px;
}

.web-opening-panel-v891[hidden] {
  display: none !important;
}

.web-opening-panel-v891 {
  display: grid;
  gap: 14px;
}

.web-hours-grid-v891 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.web-hours-item-v891 {
  border: 1px solid rgba(31, 41, 55, .1);
  border-radius: 18px;
  background: rgba(255,255,255,.9);
  padding: 14px;
  display: grid;
  gap: 12px;
}

.web-texts-sticky-save-v891 {
  gap: 12px;
}

@media (max-width: 1024px) {
  .web-opening-mode-v891,
  .web-hours-grid-v891 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .web-texts-toolbar-v891 {
    gap: 14px;
  }

  .web-page-card-v891 > summary {
    padding: 16px;
  }

  .web-page-card-body-v891,
  .web-opening-box-v891 {
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 16px;
  }

  .web-page-card-body-v891 {
    padding-top: 0;
  }

  .web-section-subpanel-v891 {
    padding-top: 16px;
  }

  .web-texts-grid-v891 input,
  .web-texts-grid-v891 textarea,
  .web-service-editor-body-v891 input,
  .web-service-editor-body-v891 textarea,
  .web-hours-item-v891 input {
    min-height: 56px;
    border-radius: 16px;
  }

  .web-opening-option-v891 > span {
    min-height: 86px;
    padding: 14px 16px 14px 70px;
    border-radius: 22px;
  }

  .web-opening-option-v891 > span::before {
    left: 18px;
  }

  .web-opening-option-v891 > span::after {
    left: 26px;
  }
}

@media (max-width: 560px) {
  .web-texts-actions-v891,
  .web-texts-sticky-save-v891 {
    grid-template-columns: 1fr;
  }

  .web-page-summary-v891 h2 {
    font-size: clamp(22px, 8vw, 30px);
  }

  .web-opening-option-v891 > span strong {
    font-size: 17px;
  }
}

/* V89.2 — Administrace webu a servis: sjednocení ergonomie */
body.rc-app .rc-page-head,
body.rc-app .rc-page-head * {
  text-align: left !important;
}

body.rc-app .rc-page-head {
  align-items: flex-start !important;
}

.web-texts-actions-v891,
.web-texts-sticky-save-v891 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}

.web-texts-actions-v891 .rc-button,
.web-texts-sticky-save-v891 .rc-button {
  width: 100% !important;
  min-height: 58px !important;
  justify-content: center !important;
}

@media (max-width: 560px) {
  .web-texts-actions-v891,
  .web-texts-sticky-save-v891 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* V89.4 — Web administrace: méně textového balastu a levé zarovnání */
body.rc-app.page-texty .rc-page-head,
body.rc-app.page-obsah .rc-page-head,
body.rc-app.page-novinky .rc-page-head,
body.rc-app.page-bannery .rc-page-head {
  justify-content: flex-start !important;
  align-items: flex-start !important;
  text-align: left !important;
}
body.rc-app.page-texty .rc-page-head > div,
body.rc-app.page-texty .rc-page-head h1,
body.rc-app.page-texty .rc-page-head p,
body.rc-app.page-obsah .rc-page-head > div,
body.rc-app.page-obsah .rc-page-head h1,
body.rc-app.page-obsah .rc-page-head p {
  text-align: left !important;
}
body.rc-app.page-texty .rc-page-head p:not(.rc-eyebrow) {
  display: none !important;
}
.web-texts-toolbar-v891 > div > p:not(.rc-eyebrow) {
  display: none !important;
}
.web-texts-toolbar-v891 {
  grid-template-columns: minmax(0, 1fr) auto;
}
.web-texts-actions-v891 {
  justify-content: flex-end !important;
  justify-self: end !important;
  width: auto !important;
  min-width: min(100%, 420px);
}
@media (max-width: 640px) {
  .web-texts-toolbar-v891 {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  .web-texts-actions-v891 {
    justify-self: stretch !important;
    min-width: 0 !important;
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* V89.4 — Texty webu: čistý bento editor a plovoucí uložení */
.web-texts-toolbar-v891 {
  display: block !important;
  text-align: left !important;
}
.web-texts-toolbar-v891 .web-texts-actions-v891 {
  display: none !important;
}
.web-texts-sticky-save-v894,
.web-texts-sticky-save-v891 {
  position: sticky !important;
  bottom: max(12px, env(safe-area-inset-bottom)) !important;
  z-index: 60 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
  padding: 14px !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  box-shadow: 0 18px 55px rgba(15,23,42,.16) !important;
}
.web-texts-sticky-save-v894 .rc-button,
.web-texts-sticky-save-v891 .rc-button {
  min-height: 64px !important;
  border-radius: 20px !important;
  justify-content: center !important;
  text-align: center !important;
  font-size: 18px !important;
}
@media (max-width: 430px) {
  .web-texts-sticky-save-v894,
  .web-texts-sticky-save-v891 {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    padding: 10px !important;
  }
  .web-texts-sticky-save-v894 .rc-button,
  .web-texts-sticky-save-v891 .rc-button {
    min-height: 58px !important;
    font-size: 16px !important;
    padding-inline: 10px !important;
  }
}

/* V89.4 — jednoradkové posuvné nabídky: aktivní položka vlevo */
.price-tabs,
.scrollable-pills,
.filter-row,
.service-filter-row,
.service-chip-row,
.work-filter-row,
.rc-tabs,
.admin-work-tabs,
.admin-local-tabs,
.admin-section-tabs,
.sad-tabs,
.sad-bento-status-v893,
[data-scroll-row],
[data-filter-row] {
  scroll-padding-inline-start: 0 !important;
}
/* ===== END assets/css/app.css ===== */


/* ===== BEGIN assets/css/customer-approval.css ===== */
/* V54 – Customer Approval Link */
.customer-approval-page {
  margin: 0;
  min-height: 100vh;
  background: linear-gradient(135deg, #f4f8f4 0%, #eef5ed 100%);
  color: #111827;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.approval-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}
.approval-card {
  width: min(980px, 100%);
  background: rgba(255,255,255,.94);
  border: 1px solid #dfe7df;
  border-radius: 24px;
  box-shadow: 0 28px 80px rgba(17,24,39,.12);
  padding: 24px;
}
.approval-header, .approval-title-row, .approval-actions, .approval-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.approval-brand img { height: 46px; width: auto; display: block; }
.approval-badge, .approval-status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 800;
  border: 1px solid #dfe7df;
  background: #f7faf7;
}
.approval-status.ok { background: #dcfce7; color: #166534; border-color: #bbf7d0; }
.approval-status.warn { background: #fef3c7; color: #92400e; border-color: #fde68a; }
.approval-status.danger { background: #fee2e2; color: #991b1b; border-color: #fecaca; }
.approval-status.muted { background: #f3f4f6; color: #4b5563; }
.approval-eyebrow { margin: 24px 0 4px; color: #4abc20; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; }
.customer-approval-page h1 { margin: 0 0 6px; font-size: clamp(28px, 5vw, 44px); letter-spacing: -0.04em; }
.customer-approval-page h2 { margin: 0 0 12px; font-size: 18px; }
.customer-approval-page p { line-height: 1.6; color: #4b5563; }
.approval-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.approval-panel { background: #fff; border: 1px solid #e5e7eb; border-radius: 18px; padding: 18px; }
.approval-items { display: grid; gap: 10px; }
.approval-item, .approval-total { display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid #eef2f0; padding-top: 10px; }
.approval-total { margin-top: 16px; font-size: 18px; }
.approval-total strong { color: #166534; font-size: 24px; }
.approval-form { display: grid; gap: 14px; margin-top: 18px; }
.approval-form label { display: grid; gap: 6px; font-weight: 800; font-size: 13px; color: #374151; }
.approval-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #d1d5db; border-radius: 14px; padding: 12px; font: inherit; resize: vertical; }
.approval-button { border: 0; border-radius: 14px; padding: 12px 16px; text-decoration: none; font-weight: 900; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; min-height: 46px; }
.approval-button-primary { background: #4abc20; color: #0b1f0b; }
.approval-button-danger { background: #fee2e2; color: #991b1b; }
.approval-button-secondary { background: #f3f4f6; color: #111827; }
.approval-notice { border-radius: 16px; padding: 12px 14px; margin: 16px 0; font-weight: 800; }
.approval-notice.ok { background: #dcfce7; color: #166534; }
.approval-notice.danger { background: #fee2e2; color: #991b1b; }
.approval-state { text-align: center; padding: 32px 10px; }
.approval-state-error h1 { color: #991b1b; }
.approval-footer { margin-top: 22px; border-top: 1px solid #e5e7eb; padding-top: 16px; }
.approval-footer a { color: #166534; font-weight: 900; }
@media (max-width: 760px) {
  .approval-shell { padding: 12px; }
  .approval-card { padding: 16px; border-radius: 18px; }
  .approval-grid { grid-template-columns: 1fr; }
  .approval-header, .approval-title-row, .approval-actions, .approval-footer { align-items: stretch; flex-direction: column; }
  .approval-actions .approval-button { width: 100%; }
}

/* V87 — banner schvalovací stránky */
.approval-banner {
  display: block;
  width: 100%;
  height: clamp(170px, 28vw, 260px);
  margin: 18px 0 6px;
  border-radius: 20px;
  overflow: hidden;
  background: #eef5ed;
}
.approval-banner picture,
.approval-banner img {
  display: block;
  width: 100%;
  height: 100%;
}
.approval-banner img {
  object-fit: cover;
}
@media (max-width: 760px) {
  .approval-banner { height: 160px; border-radius: 16px; }
}
/* ===== END assets/css/customer-approval.css ===== */


/* ===== BEGIN assets/css/admin-login.css ===== */
body.admin-login{min-height:100dvh;margin:0;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,rgba(67,197,29,.13),transparent 380px),#f6f8f7;color:#101828}.admin-login .admin-shell{width:min(100%,560px);margin:0;padding:0}.admin-login .admin-card{padding:24px;border:1px solid #e2e8e3;border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 18px 52px rgba(16,24,40,.08)}.admin-login .admin-logo{display:block;width:min(330px,78vw);height:auto;margin:0 auto 26px}.admin-login .admin-login-eyebrow{margin:0 0 4px;color:#2f8d1c;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.10em}.admin-login h1{margin:0;font-size:clamp(30px,7vw,44px);letter-spacing:-.04em}.admin-login .muted{margin:8px 0 22px;color:#667085}.admin-login form{display:grid;gap:14px}.admin-login label{display:grid;gap:7px;font-weight:850}.admin-login input{width:100%;min-height:50px;padding:12px 14px;border:1px solid #dfe7e1;border-radius:14px;font-size:16px}.admin-login button{min-height:50px;border-radius:14px;font-size:16px}.admin-login .form-status{margin-bottom:14px;border-radius:14px}@media(max-width:560px){body.admin-login{padding:10px}.admin-login .admin-card{padding:20px}}
/* ===== END assets/css/admin-login.css ===== */


/* V91.9 — veřejný web: legal CTA card bez přetékajících tlačítek na mobilu */
.legal-notice {
  box-sizing: border-box;
  max-width: 100%;
}
.legal-notice > * {
  min-width: 0;
}
.legal-notice .btn {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}
.legal-notice .btn .ico {
  flex: 0 0 auto;
}
@media (max-width: 760px) {
  .notice,
  .legal-notice {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 14px !important;
  }
  .legal-notice {
    padding: 18px !important;
    overflow: hidden;
  }
  .legal-notice > div:first-child {
    width: 42px;
    min-height: 42px;
    display: grid;
    place-items: center;
  }
  .legal-notice > div:nth-child(2) {
    min-width: 0;
  }
  .legal-notice > div:nth-child(2) h3,
  .legal-notice > div:nth-child(2) p {
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .legal-notice > .btn,
  .legal-notice > a.btn {
    grid-column: 1 / -1;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 56px;
    padding: 0 16px !important;
    justify-self: stretch;
    white-space: normal !important;
    text-align: center;
    line-height: 1.2;
  }
}
@media (max-width: 380px) {
  .legal-notice {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
  }
  .legal-notice > div:first-child {
    width: 38px;
    min-height: 38px;
  }
  .legal-notice > .btn,
  .legal-notice > a.btn {
    min-height: 54px;
    font-size: 14px;
  }
}
