/* Modul Newsletter — editor kampaně (administrace) */
.nws-blocks { display: flex; flex-direction: column; gap: .5rem; }
.nws-block-card { background: #fff; border: 1px solid var(--bs-border-color); border-radius: .5rem; }
.nws-block-card.nws-block-open { border-color: var(--aav-adm-accent, #3e97ff); box-shadow: 0 0 0 3px color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 12%, transparent); }
.nws-block-card.nws-block-over { outline: 2px dashed var(--aav-adm-accent, #3e97ff); outline-offset: -2px; }
.nws-block-card.nws-block-dragging { opacity: .5; }
.nws-block-head { display: flex; align-items: center; gap: .6rem; padding: .55rem .75rem; cursor: pointer; }
.nws-block-grip { color: #a1a5b7; cursor: grab; letter-spacing: -2px; user-select: none; }
.nws-block-type { flex: 0 0 auto; display: inline-flex; align-items: center; gap: .3rem; }
.nws-block-summary { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #5e6278; font-size: .9rem; }
.nws-block-tools { display: flex; gap: .25rem; }
.nws-block-body { border-top: 1px solid var(--bs-border-color); padding: .75rem; }
.nws-block-footer { display: flex; gap: .75rem; align-items: center; margin-top: .75rem; }
/* Sloupce: vizuální výběr rozvržení (obdélníky v poměru šířek), mřížka sloupců s kompaktními kartami,
   editor vybraného vnořeného bloku pod mřížkou v plné šířce */
.nws-cols-picker { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; margin-bottom: .6rem; }
.nws-cols-choice { display: inline-flex; align-items: center; padding: .25rem .35rem; border: 1px solid var(--bs-border-color); border-radius: .35rem; background: #fff; color: #a1a5b7; }
.nws-cols-choice:hover { border-color: var(--aav-adm-accent, #3e97ff); color: #5e6278; }
.nws-cols-choice.active { border-color: var(--aav-adm-accent, #3e97ff); background: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 10%, #fff); color: var(--aav-adm-accent, #3e97ff); }
.nws-cols-svg { display: block; fill: currentColor; }
.nws-cols-mini { display: inline-flex; color: #a1a5b7; flex: 0 0 auto; }
.nws-cols { display: grid; gap: .5rem; align-items: start; }
.nws-col { min-width: 0; min-height: 3.5rem; padding: .35rem; border: 1px dashed var(--bs-border-color); border-radius: .4rem; background: #fafbfc; display: flex; flex-direction: column; gap: .35rem; }
.nws-col-empty { font-size: .78rem; color: #a1a5b7; text-align: center; padding: .4rem 0; }
.nws-col-add { display: flex; flex-wrap: wrap; gap: .2rem; margin-top: auto; }
.nws-col-add .btn { display: inline-flex; align-items: center; gap: .2rem; padding: .1rem .35rem; font-size: .72rem; }
.nws-col-add-label { white-space: nowrap; }
.nws-block-card.nws-block-nested { border-radius: .4rem; }
.nws-block-nested .nws-block-head { flex-wrap: wrap; gap: .3rem .45rem; padding: .4rem .5rem; }
.nws-block-nested .nws-block-type { font-size: .7rem; }
.nws-block-nested .nws-block-summary { font-size: .8rem; flex-basis: 100%; order: 3; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.nws-block-nested .nws-block-tools { margin-left: auto; gap: .15rem; }
.nws-block-nested .nws-block-tools .btn { padding: 0 .35rem; font-size: .75rem; line-height: 1.5; }
.nws-col-editor { margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--bs-border-color); }
.nws-col-editor-head { display: flex; align-items: center; gap: .5rem; margin-bottom: .6rem; }
.nws-col-editor-head .badge { display: inline-flex; align-items: center; gap: .3rem; }
.nws-image-thumb { max-width: 160px; max-height: 100px; border: 1px solid var(--bs-border-color); border-radius: .25rem; background: #f8f8f8; }
.nws-palette-item { display: flex; align-items: center; gap: .6rem; width: 100%; text-align: left; padding: .5rem .6rem; border: 0; background: transparent; border-radius: .4rem; }
.nws-palette-item:hover { background: #f1f3f7; }
.nws-palette-icon { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: .35rem; background: #f1f3f7; color: #5e6278; }
.nws-palette-name { display: block; font-weight: 600; font-size: .9rem; }
.nws-palette-hint { display: block; font-size: .78rem; color: #a1a5b7; }
.nws-preview-frame { width: 100%; height: 720px; border: 1px solid var(--bs-border-color); border-radius: .5rem; background: #f2f2f2; }
.nws-preview-frame.nws-preview-mobile { width: 390px; max-width: 100%; }
/* „Počítač“: aspoň šířka, nad kterou e-mail už nemá mobilní rozložení (EmailRenderer.MobileBreakpoint 720 px + rezerva);
   v užším prostoru se náhled posouvá vodorovně, místo aby ukázal mobilní verzi. */
.nws-preview-frame.nws-preview-desktop { min-width: 760px; }
.nws-preview-body { overflow-x: auto; }
/* Krok Kontrola: náhled vedle bočních karet až od šířky, kde se do něj desktopová verze vejde. */
.nws-review { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; align-items: start; }
.nws-review-main > .card, .nws-review-side > .card:last-child { margin-bottom: 0; }
@container aav-subnav-body (min-width: 1220px) {
    .nws-review { grid-template-columns: minmax(0, 1fr) 380px; }
}
/* Barevné pozadí bloku: přepínač, dva výběry barev a živá ukázka kontrastu */
.nws-bg-editor { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-top: .75rem; padding-top: .6rem; border-top: 1px dashed var(--bs-border-color); }
.nws-color { display: inline-flex; align-items: center; gap: .35rem; margin: 0; color: #5e6278; }
.nws-color .form-control-color { width: 2.4rem; height: 1.8rem; padding: .15rem; }
.nws-bg-preview { display: inline-block; padding: .2rem .7rem; border-radius: .3rem; border: 1px solid rgba(0, 0, 0, .08); font-weight: 600; }
.nws-bg-swatch { flex: 0 0 auto; width: .85rem; height: .85rem; border-radius: .2rem; border: 1px solid rgba(0, 0, 0, .15); }
/* Sociální sítě: řádek = ikona, síť, odkaz, pořadí */
.nws-social-list { display: flex; flex-direction: column; gap: .4rem; }
.nws-social-row { display: flex; align-items: center; gap: .4rem; }
.nws-social-icon { flex: 0 0 auto; }
.nws-social-network { flex: 0 0 9.5rem; }
.nws-issue-block { color: #f8285a; }
.nws-issue-warn { color: #b58b00; }
.nws-stat { text-align: center; padding: .75rem .5rem; }
.nws-header-card .card-body { padding: .75rem 1rem; }
.nws-header-title { font-weight: 600; font-size: .9rem; margin-right: .25rem; }
.nws-logo-thumb { display: block; max-width: 100%; height: auto; padding: .5rem; border: 1px dashed var(--bs-border-color); border-radius: .4rem; background: #fff; }

/* Přehled nad kampaněmi (NewsletterOverviewCard): dlaždice oddělené linkou, koláče a sparkline jako inline SVG */
.nws-ov-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nws-ov-tile { padding: 1rem 1.25rem; border-left: 1px solid var(--aav-adm-border, #eff2f5); min-width: 0; }
.nws-ov-tile:nth-child(2n+1) { border-left: 0; }
.nws-ov-tile:nth-child(n+3) { border-top: 1px solid var(--aav-adm-border, #eff2f5); }
.nws-ov-value { font-size: 1.6rem; font-weight: 700; line-height: 1.1; }
.nws-ov-label { font-size: .85rem; font-weight: 600; color: #3f4254; }
.nws-ov-note { font-size: .78rem; color: #78829d; margin-top: .15rem; }
.nws-ov-gauge { display: flex; align-items: center; gap: .9rem; }
.nws-ov-gauge-text { min-width: 0; }
.nws-donut { width: 72px; height: 72px; flex: 0 0 auto; }
/* Dlaždice se dvěma koláči (otevření + proklik) */
.nws-ov-pair { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; }
.nws-ov-pair .nws-ov-gauge { flex: 1 1 140px; min-width: 0; gap: .6rem; }
.nws-ov-pair .nws-donut { width: 60px; height: 60px; }
.nws-donut-text { font-size: 6.5px; font-weight: 700; }
.nws-spark { display: block; width: 100%; max-width: 160px; height: 28px; margin: .45rem 0 .1rem; }
/* Mřížky dashboardu reagují na šířku obsahu vedle druhého menu (container aav-subnav-body v admin.css),
   ne na šířku okna; bez podpory container queries zůstane základní (nejužší) rozložení. */
@container aav-subnav-body (min-width: 700px) {
    .nws-ov-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nws-ov-tile:nth-child(2n+1) { border-left: 1px solid var(--aav-adm-border, #eff2f5); }
    .nws-ov-tile:nth-child(3n+1) { border-left: 0; }
    .nws-ov-tile:nth-child(n+3) { border-top: 0; }
    .nws-ov-tile:nth-child(n+4) { border-top: 1px solid var(--aav-adm-border, #eff2f5); }
}

/* Kliknutí po odkazech v reportu rozesílky */
.nws-links-url { max-width: 0; width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nws-links-bar-col { width: 22%; min-width: 80px; }
.nws-links-bar { height: 6px; border-radius: 3px; background: #eff2f5; overflow: hidden; margin-top: .45rem; }
.nws-links-bar > span { display: block; height: 100%; background: #3e97ff; border-radius: 3px; }

/* Miniatura zprávy v seznamu kampaní: zmenšený iframe náhledu, tlačítko přes něj otevírá modal */
.nws-thumb-cell { width: 1%; white-space: nowrap; }
.nws-thumb { position: relative; width: 96px; height: 72px; overflow: hidden; border: 1px solid var(--bs-border-color); border-radius: .35rem; background: #f2f2f2; }
.nws-thumb iframe { display: block; width: 768px; height: 576px; border: 0; transform: scale(.125); transform-origin: 0 0; pointer-events: none; }
.nws-thumb-open { position: absolute; inset: 0; border: 0; padding: 0; background: transparent; cursor: zoom-in; border-radius: inherit; }
.nws-thumb-open:hover, .nws-thumb-open:focus-visible { background: rgba(62, 151, 255, .1); outline: 2px solid var(--aav-adm-accent, #3e97ff); outline-offset: -2px; }
#nws-preview-modal .modal-body { background: #f2f2f2; }
#nws-preview-modal .nws-preview-frame { height: 78vh; border: 0; border-radius: 0; }
/* Průběh odesílání (NewsletterProgress): pruh, pozastavené šedě; čísla obnovuje newsletter.js */
.nws-progress-track { height: 8px; margin-top: .4rem; border-radius: 4px; background: #eff2f5; overflow: hidden; }
.nws-progress-bar { height: 100%; border-radius: 4px; background: var(--aav-adm-accent, #3e97ff); transition: width .6s ease; }
.nws-progress-bar.nws-progress-paused { background: #b5b5c3; }
/* Živý report: příprava odeslání (neurčitý pruh), odznak „živě" */
.nws-progress-bar.nws-progress-indeterminate { width: 35%; animation: nws-indeterminate 1.4s ease-in-out infinite; }
@keyframes nws-indeterminate { 0% { transform: translateX(-100%); } 100% { transform: translateX(290%); } }
.nws-live-spinner { width: 16px; height: 16px; border-radius: 50%; border: 2px solid #dbe6f5; border-top-color: var(--aav-adm-accent, #3e97ff); animation: nws-spin .8s linear infinite; flex: 0 0 auto; }
@keyframes nws-spin { to { transform: rotate(360deg); } }
.nws-live-stats { position: relative; }
.nws-live-badge { position: absolute; top: .4rem; right: .6rem; display: inline-flex; align-items: center; gap: .3rem; font-size: .7rem; color: #78829d; z-index: 1; }
.nws-live-dot { width: 7px; height: 7px; border-radius: 50%; background: #17c653; animation: nws-pulse 2s ease-in-out infinite; }
@keyframes nws-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
@media (prefers-reduced-motion: reduce) {
    .nws-progress-bar.nws-progress-indeterminate { animation: none; width: 100%; opacity: .5; }
    .nws-live-spinner, .nws-live-dot { animation: none; }
}
.nws-stat-value { font-size: 1.6rem; font-weight: 700; line-height: 1.1; }
.nws-stat-label { font-size: .8rem; color: #78829d; }

/* Dashboard modulu: velké dlaždice hlavních akcí */
.nws-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.nws-action { display: flex; align-items: center; gap: .9rem; width: 100%; padding: 1.1rem 1.25rem; text-align: left; background: #fff; border: 1px solid transparent; border-radius: var(--aav-adm-card-radius, .85rem); box-shadow: var(--aav-adm-shadow); color: inherit; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.nws-action:hover, .nws-action:focus-visible { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(76, 87, 125, .12); color: inherit; border-color: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 35%, #fff); }
.nws-action-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex: 0 0 auto; border-radius: .75rem; background: #f4f6f9; color: var(--aav-adm-accent, #3e97ff); }
.nws-action-text { display: flex; flex-direction: column; min-width: 0; }
.nws-action-title { font-weight: 650; line-height: 1.25; }
.nws-action-sub { font-size: .78rem; color: #78829d; }
.nws-action-primary { background: var(--aav-adm-accent, #3e97ff); color: #fff; }
.nws-action-primary:hover, .nws-action-primary:focus-visible { color: #fff; border-color: transparent; }
.nws-action-primary .nws-action-icon { background: rgba(255, 255, 255, .18); color: #fff; }
.nws-action-primary .nws-action-sub { color: rgba(255, 255, 255, .78); }

/* Přehled (KPI dlaždice v kartě, oddělené linkou) */
.nws-kpi-grid { display: grid; grid-template-columns: minmax(0, 1fr); }
.nws-kpi { display: flex; align-items: center; gap: .9rem; min-width: 0; padding: 1.1rem 1.25rem; border-left: 0; color: inherit; text-decoration: none; }
.nws-kpi:nth-child(n+2) { border-top: 1px solid var(--aav-adm-border, #eff2f5); }
.nws-two { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
a.nws-kpi:hover { background: #f9fafc; color: inherit; }
.nws-kpi-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 auto; border-radius: .7rem; background: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 12%, #fff); color: var(--aav-adm-accent, #3e97ff); }
.nws-kpi-icon-success { background: #e8fff3; color: #17c653; }
.nws-kpi-icon-info { background: #f8f5ff; color: #7239ea; }
.nws-kpi-icon-warning { background: #fff8dd; color: #d99f00; }
.nws-kpi-text { display: flex; flex-direction: column; min-width: 0; }
.nws-kpi-value { font-size: 1.5rem; font-weight: 700; line-height: 1.1; }
.nws-kpi-value-sm { font-size: 1.05rem; }
.nws-kpi-label { font-size: .82rem; color: #78829d; }
.nws-kpi-note { font-size: .78rem; color: #99a1b7; margin-top: .2rem; }
.nws-card-link { display: inline-flex; align-items: center; gap: .15rem; font-size: .85rem; font-weight: 600; color: var(--aav-adm-accent, #3e97ff); text-decoration: none; }
.nws-card-link:hover { text-decoration: underline; }
.nws-thumb-lg { width: 128px; height: 96px; }
.nws-thumb-lg iframe { transform: scale(.1667); }
.nws-mini-stats { display: flex; flex-wrap: wrap; gap: .35rem 1rem; font-size: .82rem; color: #78829d; }
.nws-mini-stats strong { color: #181c32; }
@container aav-subnav-body (min-width: 560px) {
    .nws-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nws-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nws-kpi { border-left: 1px solid var(--aav-adm-border, #eff2f5); }
    .nws-kpi:nth-child(2n+1) { border-left: 0; }
    .nws-kpi:nth-child(n+2) { border-top: 0; }
    .nws-kpi:nth-child(n+3) { border-top: 1px solid var(--aav-adm-border, #eff2f5); }
}
@container aav-subnav-body (min-width: 760px) {
    .nws-two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
}
@container aav-subnav-body (min-width: 1000px) {
    .nws-actions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .nws-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .nws-kpi:nth-child(2n+1) { border-left: 1px solid var(--aav-adm-border, #eff2f5); }
    .nws-kpi:first-child { border-left: 0; }
    .nws-kpi:nth-child(n+3) { border-top: 0; }
}

/* Přehled rozesílek: stav jako ikona + datum, ikonové akce vpravo */
.nws-status { display: inline-flex; align-items: center; gap: .35rem; font-size: .9rem; }
.nws-status-sent { color: #17c653; }
.nws-status-sent .text-muted, .nws-status-scheduled .text-muted, .nws-status-sending .text-muted { font-size: .82rem; }
.nws-status-scheduled { color: #7239ea; }
.nws-status-sending { color: var(--aav-adm-accent, #3e97ff); }
.nws-status-paused { color: #d99f00; }
.nws-status-muted { color: #78829d; }
.nws-status .aav-icon { flex: 0 0 auto; }
.nws-campaigns .nws-campaign-name { color: inherit; text-decoration: none; }
.nws-campaigns .nws-campaign-name:hover { color: var(--aav-adm-accent, #3e97ff); }
.nws-row-actions { display: inline-flex; gap: .25rem; }
.nws-row-actions .btn { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; }
.nws-row-actions .dropdown-item { font-size: .9rem; }

/* Kontrola před odesláním: počet adresátů jako odkaz a modal se seznamem (řádky pevné výšky kvůli Virtualize, ItemSize v CampaignDesigner) */
.btn.nws-recipients-link { font-size: inherit; font-weight: inherit; line-height: inherit; vertical-align: baseline; text-decoration: underline; }
.nws-recipients-body { height: 60vh; overscroll-behavior: contain; }
.nws-recipient-row { display: flex; align-items: center; gap: 1rem; height: 34px; padding: 0 1rem; border-bottom: 1px solid #f1f1f4; font-size: .875rem; }
.nws-recipient-email, .nws-recipient-name { flex: 1 1 50%; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

/* ===== Průvodce rozesílkou (CampaignDesigner): kroky nahoře, stav ukládání, navigace dole ===== */
.nws-wizard-bar { position: sticky; top: calc(var(--aav-adm-topbar-h, 64px) + .5rem); z-index: 20; display: flex; align-items: center; gap: 1rem; padding: .6rem 1rem; margin-bottom: 1.25rem; background: #fff; border-radius: var(--aav-adm-card-radius, .85rem); box-shadow: var(--aav-adm-shadow, 0 2px 12px rgba(76, 87, 125, .08)); }
.nws-steps { display: flex; flex: 1 1 auto; min-width: 0; margin: 0; padding: 0; list-style: none; }
.nws-step { position: relative; flex: 1 1 0; min-width: 0; display: flex; }
/* spojnice mezi kroky; úsek za hotovým krokem zezelená */
.nws-step + .nws-step::before { content: ""; position: absolute; top: 50%; left: -.25rem; width: .9rem; height: 2px; margin-top: -1px; border-radius: 1px; background: #e4e6ef; }
.nws-step.is-done + .nws-step::before { background: #17c653; }
.nws-step-btn { display: flex; align-items: center; gap: .6rem; width: 100%; min-width: 0; padding: .4rem .6rem .4rem .9rem; border: 0; border-radius: .6rem; background: transparent; color: inherit; text-align: left; transition: background-color .15s ease; }
.nws-step:first-child .nws-step-btn { padding-left: .4rem; }
.nws-step-btn:hover { background: #f4f6f9; }
.nws-step-btn:focus-visible { outline: 2px solid var(--aav-adm-accent, #3e97ff); outline-offset: 1px; }
.nws-step-dot { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: #f1f3f7; color: #78829d; font-weight: 700; font-size: .9rem; transition: background-color .2s ease, color .2s ease, box-shadow .2s ease; }
.nws-step-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.nws-step-title { font-weight: 650; font-size: .92rem; color: #5e6278; }
.nws-step-sub { font-size: .76rem; color: #99a1b7; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nws-step.is-done .nws-step-dot { background: #dfffea; color: #17c653; }
.nws-step.is-attention .nws-step-dot { background: #fff8dd; color: #d99f00; }
.nws-step.is-current .nws-step-btn { background: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 8%, #fff); }
.nws-step.is-current .nws-step-dot { background: var(--aav-adm-accent, #3e97ff); color: #fff; box-shadow: 0 0 0 4px color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 18%, transparent); }
.nws-step.is-current.is-done .nws-step-dot { background: #17c653; box-shadow: 0 0 0 4px rgba(23, 198, 83, .18); }
.nws-step.is-current .nws-step-title { color: #181c32; }
.nws-wizard-status { display: flex; align-items: center; gap: .6rem; flex: 0 0 auto; padding-left: 1rem; border-left: 1px solid var(--aav-adm-border, #eff2f5); }
.nws-save-state { display: inline-flex; align-items: center; gap: .35rem; max-width: 260px; font-size: .8rem; color: #99a1b7; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nws-save-state.is-saved { color: #17c653; }
.nws-save-state.is-saving, .nws-save-state.is-dirty { color: #78829d; }
.nws-save-state.is-error { color: #f8285a; }
.nws-save-state .nws-live-spinner { width: 13px; height: 13px; }
.nws-save-dot { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: currentColor; }
.nws-save-state.is-dirty .nws-save-dot { animation: nws-pulse 1.2s ease-in-out infinite; }

.nws-step-head { margin: 0 0 1rem; }
.nws-step-count { font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--aav-adm-accent, #3e97ff); }
.nws-step-heading { margin: .1rem 0 .15rem; font-size: 1.35rem; font-weight: 700; color: #181c32; }
.nws-step-lead { margin: 0; color: #78829d; font-size: .92rem; }

.nws-wizard-nav { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--aav-adm-border, #eff2f5); }
.nws-wizard-nav-hint { font-size: .8rem; color: #99a1b7; }

/* Krok Zpráva: ukázka řádku ve schránce adresáta */
.nws-inbox { padding: .9rem 1.1rem 1rem; background: #fff; border: 1px dashed #dbdfe9; border-radius: var(--aav-adm-card-radius, .85rem); }
.nws-inbox-label { margin-bottom: .55rem; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #99a1b7; }
.nws-inbox-row { display: flex; align-items: flex-start; gap: .8rem; min-width: 0; }
.nws-inbox-avatar { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; background: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 14%, #fff); color: var(--aav-adm-accent, #3e97ff); font-weight: 700; }
.nws-inbox-body { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; line-height: 1.35; }
.nws-inbox-top { display: flex; align-items: baseline; gap: .4rem; min-width: 0; }
.nws-inbox-from { font-weight: 700; color: #181c32; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nws-inbox-addr { flex: 0 1 auto; min-width: 0; font-size: .8rem; color: #99a1b7; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nws-inbox-time { margin-left: auto; flex: 0 0 auto; font-size: .78rem; color: #99a1b7; }
.nws-inbox-subject { font-weight: 600; color: #252f4a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nws-inbox-subject.is-empty { font-weight: 400; color: #f8285a; }
.nws-inbox-pre { font-size: .88rem; color: #78829d; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Krok Adresáti: seznamy jako zaškrtávací řádky, velké číslo vpravo */
.nws-list-picks { display: flex; flex-direction: column; gap: .4rem; }
.nws-list-pick { display: flex; align-items: center; gap: .65rem; margin: 0; padding: .55rem .75rem; border: 1px solid var(--bs-border-color); border-radius: .55rem; background: #fff; cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }
.nws-list-pick:hover { border-color: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 45%, #fff); }
.nws-list-pick .form-check-input { flex: 0 0 auto; margin: 0; }
.nws-list-pick-name { flex: 1 1 auto; min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nws-list-pick-count { flex: 0 0 auto; font-size: .8rem; color: #78829d; }
.nws-list-pick.is-picked { border-color: var(--aav-adm-accent, #3e97ff); background: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 6%, #fff); }
.nws-list-pick-excl.is-picked { border-color: #d99f00; background: #fffdf2; }
.nws-list-pick.is-off { opacity: .5; cursor: default; }
.nws-list-pick.is-off:hover { border-color: var(--bs-border-color); }
fieldset:disabled .nws-list-pick { cursor: default; }
.nws-audience-total { position: sticky; top: calc(var(--aav-adm-topbar-h, 64px) + 5rem); }
.nws-audience-number { font-size: 2.6rem; font-weight: 700; line-height: 1; color: #181c32; }
.nws-audience-label { margin-top: .25rem; font-weight: 600; color: #5e6278; }

/* Krok Obsah: paleta bloků zůstává při rolování na očích; WYSIWYG v bloku */
.nws-palette-card { position: sticky; top: calc(var(--aav-adm-topbar-h, 64px) + 5rem); }
.nws-text-editor { background: #fff; }
.nws-text-editor .aav-html-surface { min-height: 9rem; }

/* Kroky Kontrola a Odeslání */
.nws-check-ok { display: flex; align-items: flex-start; gap: .45rem; color: #17c653; font-size: .875rem; }
.nws-check-ok .aav-icon { flex: 0 0 auto; margin-top: .1rem; }
.nws-summary { margin: 0; }
.nws-summary-row { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) auto; gap: .25rem 1rem; align-items: start; padding: .85rem 1.25rem; }
.nws-summary-row + .nws-summary-row { border-top: 1px solid var(--aav-adm-border, #eff2f5); }
.nws-summary dt { font-weight: 600; font-size: .85rem; color: #78829d; }
.nws-summary dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.nws-send-options { display: flex; flex-direction: column; gap: .75rem; }
.nws-send-option { padding: .85rem 1rem; border: 1px solid var(--bs-border-color); border-radius: .6rem; }
.nws-send-option-title { font-weight: 650; }
.nws-send-option-sub { margin-bottom: .6rem; font-size: .82rem; color: #78829d; }
.nws-send-done { display: flex; align-items: center; gap: .5rem; font-weight: 600; color: #17c653; }

@media (max-width: 1199px) {
    .nws-step-sub { display: none; }
}
@media (max-width: 991px) {
    .nws-wizard-bar { flex-direction: column; align-items: stretch; gap: .5rem; padding: .5rem .6rem; }
    .nws-wizard-status { justify-content: space-between; padding: .4rem .25rem 0; border-left: 0; border-top: 1px solid var(--aav-adm-border, #eff2f5); }
    .nws-steps { overflow-x: auto; }
    .nws-step { flex: 1 0 auto; }
    .nws-step-btn { padding: .3rem .5rem .3rem .8rem; }
    .nws-audience-total, .nws-palette-card { position: static; }
    .nws-summary-row { grid-template-columns: minmax(0, 1fr) auto; }
    .nws-summary-row dt { grid-column: 1 / -1; }
}
@media (max-width: 575px) {
    .nws-step:not(.is-current) .nws-step-text { display: none; }
    .nws-step:not(.is-current) { flex: 0 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
    .nws-save-state.is-dirty .nws-save-dot { animation: none; }
}

/* Původní editor: nabídka nového */
.nws-editor-switch { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; padding: .65rem 1rem; border-radius: .6rem; background: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 8%, #fff); border: 1px solid color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 25%, #fff); font-size: .875rem; }
.nws-editor-switch .btn { margin-left: auto; }

/* ===== Plátno editoru obsahu (ContentCanvas): zpráva upravovaná přímo v náhledu =====
   Náhledy bloků jsou HTML z EmailRendereru (inline styly zprávy); editory na místě (nadpis, text, tlačítko)
   mají stejné písmo a odsazení, aby výběr bloku nic neposunul. Proměnné na .nws-cv-paper nese vzhled
   portálu, barevný blok je přepíše (--nws-fg, --nws-link). */
.nws-cv { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; align-items: start; }
@container aav-subnav-body (min-width: 980px) {
    .nws-cv { grid-template-columns: minmax(0, 1fr) 320px; }
    .nws-cv-panel { position: sticky; top: calc(var(--aav-adm-topbar-h, 64px) + 5.5rem); max-height: calc(100vh - var(--aav-adm-topbar-h, 64px) - 7rem); overflow-y: auto; }
}
.nws-cv-main { min-width: 0; }

.nws-cv-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .6rem; min-height: 34px; }
.nws-cv-toolbar-hint { font-size: .8rem; color: #99a1b7; }
.nws-cv-note { display: inline-flex; align-items: center; gap: .4rem; padding: .25rem .65rem; border-radius: 2rem; background: #181c32; color: #fff; font-size: .8rem; }
.nws-cv-note .btn-link { color: #9fc8ff; font-size: .8rem; }
.nws-cv-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 1px solid var(--bs-border-color); border-radius: .45rem; background: #fff; color: #5e6278; }
.nws-cv-iconbtn:hover:not(:disabled) { border-color: var(--aav-adm-accent, #3e97ff); color: var(--aav-adm-accent, #3e97ff); }
.nws-cv-iconbtn:disabled { opacity: .4; }
.nws-cv-flip { transform: scaleX(-1); }
.nws-cv-up { transform: rotate(180deg); }

/* Segmentový přepínač (počítač/mobil, zarovnání, velikost nadpisu) */
.nws-cv-seg { display: inline-flex; gap: 2px; padding: 2px; border-radius: .5rem; background: #f1f3f7; }
.nws-cv-seg button { display: inline-flex; align-items: center; justify-content: center; gap: .3rem; padding: .3rem .65rem; border: 0; border-radius: .4rem; background: transparent; color: #5e6278; font-size: .8rem; line-height: 1.2; }
.nws-cv-seg button:hover { color: #181c32; }
.nws-cv-seg button.active { background: #fff; color: #181c32; font-weight: 600; box-shadow: 0 1px 2px rgba(0, 0, 0, .1); }
.nws-cv-seg-full { display: flex; }
.nws-cv-seg-full button { flex: 1 1 0; }

/* Scéna a papír zprávy */
.nws-cv-stage { container: nws-stage / inline-size; padding: 28px clamp(10px, 6%, 60px) 44px; border-radius: var(--aav-adm-card-radius, .85rem); min-height: 420px; }
.nws-cv-paper { position: relative; max-width: 680px; margin: 0 auto; background: var(--nws-surface, #fff); box-shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 10px 30px rgba(0, 0, 0, .06); transition: max-width .25s ease; }
.nws-cv-paper.is-mobile { max-width: 390px; }
.nws-cv-paper table { border-collapse: collapse; }
.nws-cv-paper img { max-width: 100%; }
/* Mobil: stejné úpravy jako media query ve zprávě (EmailRenderer) */
.nws-cv-paper.is-mobile .aav-pad { padding-left: 16px !important; padding-right: 16px !important; }
.nws-cv-paper.is-mobile .aav-col { display: block !important; width: 100% !important; max-width: 100% !important; }

/* Blok: obrys při najetí, výběr, štítek s typem, akce vedle bloku */
.nws-cv-block { position: relative; cursor: pointer; }
.nws-cv-block::after { content: ""; position: absolute; inset: 0; z-index: 2; border: 1px dashed transparent; pointer-events: none; }
.nws-cv-block:hover:not(:has(.nws-cv-block:hover))::after { border-color: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 60%, transparent); }
.nws-cv-block.is-selected::after { border: 2px solid var(--aav-adm-accent, #3e97ff); }
.nws-cv-block.is-dragged { opacity: .35; }
.nws-cv.is-readonly .nws-cv-block { cursor: default; }
.nws-cv.is-readonly .nws-cv-block::after { display: none; }
.nws-cv-render { pointer-events: none; } /* odkazy v náhledu neklikají — klik blok vybere */
.nws-cv-tag { position: absolute; left: 0; top: 0; z-index: 3; display: none; align-items: center; gap: .25rem; padding: .1rem .45rem; transform: translateY(-100%); border-radius: .3rem .3rem 0 0; background: var(--aav-adm-accent, #3e97ff); color: #fff; font: 600 .68rem/1.4 var(--bs-body-font-family); white-space: nowrap; pointer-events: none; }
.nws-cv-block:hover:not(:has(.nws-cv-block:hover)) > .nws-cv-tag, .nws-cv-block.is-selected > .nws-cv-tag { display: inline-flex; }
.nws-cv-block.is-text.is-selected > .nws-cv-tag { display: none; } /* místo štítku lišta textového editoru */
.nws-cv.is-readonly .nws-cv-tag { display: none !important; }
.nws-cv-block.is-special:not(.is-selected):hover::after { border-color: #c4cada; }
.nws-cv-block.is-special > .nws-cv-tag { background: #78829d; }
.nws-cv-flag { position: absolute; top: 6px; right: 6px; z-index: 3; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: #f8285a; color: #fff; font: 700 .7rem/1 var(--bs-body-font-family); }

.nws-cv-actions { position: absolute; top: 0; left: 100%; z-index: 4; display: none; flex-direction: column; gap: 4px; padding-left: 10px; }
.nws-cv-block.is-selected > .nws-cv-actions { display: flex; }
/* Najetím jen dokud není nic vybráno — jinak by akce sousedního bloku překryly akce vybraného */
.nws-cv:not(:has(.nws-cv-block.is-selected)) .nws-cv-block:not(.is-special):hover:not(:has(.nws-cv-block:hover)) > .nws-cv-actions { display: flex; }
/* Ve sloupci pod blokem vpravo — nahoře je lišta textu a uvnitř by akce zakryly psaný text */
.nws-cv-block.is-nested > .nws-cv-actions { left: auto; right: 0; top: 100%; padding: 4px 0 0; flex-direction: row; }
.nws-cv-act { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: .4rem; background: #fff; color: #5e6278; box-shadow: 0 1px 4px rgba(0, 0, 0, .18); }
.nws-cv-act:hover:not(:disabled) { color: var(--aav-adm-accent, #3e97ff); }
.nws-cv-act.is-danger:hover { color: #f8285a; }
.nws-cv-act:disabled { opacity: .45; }
.nws-cv-handle { cursor: grab; }
.nws-cv-block.is-nested > .nws-cv-actions .nws-cv-act { width: 26px; height: 26px; }
/* Úzká scéna: akce nejsou kam dát vedle papíru — dovnitř bloku do rohu */
@container nws-stage (max-width: 820px) {
    .nws-cv-actions { left: auto; right: 4px; top: 4px; padding-left: 0; flex-direction: row; }
}

/* Mezera mezi bloky: „+“ a cíl přetažení (výška 0 — plátno vypadá jako zpráva) */
.nws-cv-gap { position: relative; height: 0; z-index: 6; }
.nws-cv-gap.is-open, .nws-cv-col-empty:has(.nws-cv-menu) { z-index: 40; } /* otevřená nabídka nad ostatními mezerami a akcemi */
.nws-cv-gap-hit { position: absolute; left: 0; right: 0; top: -8px; height: 16px; display: flex; align-items: center; justify-content: center; }
.nws-cv-gap-hit::before { content: ""; position: absolute; left: 8px; right: 8px; top: 50%; border-top: 2px solid var(--aav-adm-accent, #3e97ff); opacity: 0; transition: opacity .12s ease; }
.nws-cv-plus { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: var(--aav-adm-accent, #3e97ff); color: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, .2); opacity: 0; transform: scale(.7); transition: opacity .12s ease, transform .12s ease; }
.nws-cv-gap-hit:hover::before { opacity: .45; }
.nws-cv-gap-hit:hover .nws-cv-plus, .nws-cv-gap.is-open .nws-cv-plus, .nws-cv-plus:focus-visible { opacity: 1; transform: scale(1); }
.nws-cv.is-dragging .nws-cv-gap-hit { top: -14px; height: 28px; }
.nws-cv.is-dragging .nws-cv-gap-hit::before { opacity: .25; border-top-style: dashed; }
.nws-cv.is-dragging .nws-cv-plus { display: none; }
.nws-cv-gap-hit.is-over::before { opacity: 1 !important; border-top: 3px solid var(--aav-adm-accent, #3e97ff) !important; }
.nws-cv.is-readonly .nws-cv-gap { display: none; }

/* Nabídka bloků u „+“ a dlaždice bloků (nabídka, panel, prázdná zpráva) */
.nws-cv-menu { position: absolute; top: 14px; left: 50%; z-index: 30; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; width: 340px; max-width: calc(100vw - 2rem); padding: .4rem; transform: translateX(-50%); border-radius: .65rem; background: #fff; box-shadow: 0 12px 32px rgba(15, 23, 42, .22); cursor: default; }
.nws-cv-tile { display: flex; flex-direction: column; align-items: center; gap: .3rem; min-width: 0; padding: .55rem .2rem; border: 0; border-radius: .5rem; background: transparent; color: #3f4254; font-size: .74rem; line-height: 1.2; text-align: center; }
.nws-cv-tile:hover, .nws-cv-tile:focus-visible { background: #f1f3f7; color: var(--aav-adm-accent, #3e97ff); }
.nws-cv-tile-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: .5rem; background: #f1f3f7; color: #5e6278; }
.nws-cv-tile:hover .nws-cv-tile-icon { background: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 12%, #fff); color: var(--aav-adm-accent, #3e97ff); }
.nws-cv-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem; }
.nws-cv-tiles .nws-cv-tile { cursor: grab; border: 1px solid var(--aav-adm-border, #eff2f5); }

/* Editory na místě — písmo a odsazení jako ve zprávě (EmailRenderer: strana 32 px, ve sloupci 8 px) */
.nws-cv-pad-heading { padding: 12px 32px 6px; }
.nws-cv-pad-button { padding: 14px 32px; }
.nws-cv-pad-heading.is-nested, .nws-cv-pad-button.is-nested { padding-left: 8px; padding-right: 8px; }
.nws-cv-paper.is-mobile .nws-cv-pad-heading:not(.is-nested), .nws-cv-paper.is-mobile .nws-cv-pad-button:not(.is-nested) { padding-left: 16px; padding-right: 16px; }
.nws-cv-heading-input { display: block; width: 100%; margin: 0; padding: 0; overflow: hidden; resize: none; border: 0; outline: none; background: transparent; color: var(--nws-fg); font-family: var(--nws-font); font-weight: bold; line-height: 1.25; field-sizing: content; }
.nws-cv-btn { display: inline-block; padding: 12px 26px; border-radius: 4px; }
.nws-cv-btn-input { min-width: 4ch; max-width: 100%; padding: 0; border: 0; outline: none; background: transparent; font-family: var(--nws-font); font-size: 16px; font-weight: bold; text-align: center; field-sizing: content; }
.nws-cv-btn-input::placeholder { color: inherit; opacity: .6; }

.nws-cv-text-host { position: relative; border: 0 !important; border-radius: 0 !important; }
.nws-cv-text-host > .aav-html-toolbar { position: absolute; left: -2px; right: -2px; bottom: 100%; z-index: 7; border: 1px solid var(--bs-border-color) !important; border-bottom: 0 !important; border-radius: .5rem .5rem 0 0; background: #fff !important; box-shadow: 0 -6px 16px rgba(15, 23, 42, .08); }
.nws-cv-text-host .aav-html-surface { min-height: 2.6rem; padding: 6px 32px !important; outline: none; color: var(--nws-fg); font-family: var(--nws-font); font-size: 16px; line-height: 1.55; }
.nws-cv-text.is-nested .aav-html-surface { padding: 6px 8px !important; }
.nws-cv-paper.is-mobile .nws-cv-text:not(.is-nested) .aav-html-surface { padding-left: 16px !important; padding-right: 16px !important; }
.nws-cv-text-host .aav-html-surface:empty::before,
.nws-cv-text-host .aav-html-surface > p:only-child:has(> br:only-child)::before { content: "Začněte psát…"; position: absolute; color: #a1a5b7; pointer-events: none; }
.nws-cv-text-host .aav-html-surface p, .nws-cv-text-host .aav-html-surface div { margin: 0 0 14px; }
.nws-cv-text-host .aav-html-surface h2 { margin: 20px 0 10px; font-size: 22px; line-height: 1.3; font-weight: bold; color: inherit; }
.nws-cv-text-host .aav-html-surface h3 { margin: 18px 0 8px; font-size: 18px; line-height: 1.35; font-weight: bold; color: inherit; }
.nws-cv-text-host .aav-html-surface h4 { margin: 16px 0 8px; font-size: 16px; line-height: 1.4; font-weight: bold; color: inherit; }
.nws-cv-text-host .aav-html-surface ul, .nws-cv-text-host .aav-html-surface ol { margin: 0 0 14px; padding-left: 24px; }
.nws-cv-text-host .aav-html-surface li { margin: 0 0 6px; }
.nws-cv-text-host .aav-html-surface blockquote { margin: 0 0 14px; padding: 8px 16px; border-left: 4px solid var(--nws-accent); font-style: italic; }
.nws-cv-text-host .aav-html-surface a { color: var(--nws-link); text-decoration: underline; }
.nws-cv-text-host .aav-html-surface img { display: block; max-width: 100%; height: auto; margin: 0 0 14px; }
.nws-cv-text-host .aav-html-source { min-height: 10rem; }

/* Mezera, zástupné bloky, sloupce */
.nws-cv-spacer { position: relative; }
.nws-cv-spacer span { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; font: 600 .7rem/1 var(--bs-body-font-family); color: #78829d; background: repeating-linear-gradient(135deg, rgba(120, 130, 157, .08) 0 6px, transparent 6px 12px); }
.nws-cv-block:hover > .nws-cv-spacer span, .nws-cv-block.is-selected > .nws-cv-spacer span { display: flex; }
.nws-cv-ph { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; margin: 10px 32px; padding: 1.4rem 1rem; border: 2px dashed #d5d9e2; border-radius: .5rem; background: #fafbfc; color: #99a1b7; font: .85rem/1.4 var(--bs-body-font-family); text-align: center; }
.nws-cv-ph.is-nested { margin: 8px; }
.nws-cv-cols { display: grid; align-items: start; padding: 6px 24px; }
.nws-cv-cols.is-middle { align-items: center; }
.nws-cv-paper.is-mobile .nws-cv-cols { padding: 6px 8px; }
.nws-cv-paper.is-mobile .nws-cv-cols:not(.is-keep) { grid-template-columns: minmax(0, 1fr) !important; }
.nws-cv-col { position: relative; min-width: 0; min-height: 48px; }
.nws-cv-block.is-columns:hover > div > .nws-cv-cols > .nws-cv-col, .nws-cv-block.is-columns.is-selected > div > .nws-cv-cols > .nws-cv-col { outline: 1px dashed #d5d9e2; outline-offset: -1px; }
.nws-cv-col-empty { position: relative; margin: 8px; padding: .9rem .5rem; border: 2px dashed #d5d9e2; border-radius: .5rem; text-align: center; color: #99a1b7; font: .8rem/1.3 var(--bs-body-font-family); }
.nws-cv-col-empty.is-over { border-color: var(--aav-adm-accent, #3e97ff); background: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 6%, #fff); }
.nws-cv-col-add { display: inline-flex; align-items: center; gap: .25rem; padding: .3rem .6rem; border: 0; border-radius: .4rem; background: #f1f3f7; color: #5e6278; font-size: .78rem; font-weight: 600; }
.nws-cv-col-add:hover { color: var(--aav-adm-accent, #3e97ff); }

/* Prázdná zpráva: připravená rozvržení */
.nws-cv-empty { padding: 2rem 1.5rem; text-align: center; font-family: var(--bs-body-font-family); cursor: default; }
.nws-cv-empty.is-over { background: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 6%, #fff); }
.nws-cv-empty-title { font-size: 1.1rem; font-weight: 700; color: #181c32; }
.nws-cv-empty-sub { margin: .25rem 0 1.25rem; color: #78829d; font-size: .875rem; }
.nws-cv-starters { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .75rem; }
.nws-cv-starter { display: flex; flex-direction: column; align-items: stretch; gap: .2rem; padding: .75rem; border: 1px solid var(--bs-border-color); border-radius: .6rem; background: #fff; text-align: left; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.nws-cv-starter:hover { border-color: var(--aav-adm-accent, #3e97ff); box-shadow: 0 6px 18px rgba(15, 23, 42, .08); transform: translateY(-1px); }
.nws-cv-starter-shape { display: flex; flex-direction: column; gap: 4px; height: 92px; margin-bottom: .45rem; padding: 8px; border-radius: .4rem; background: #f4f6f9; overflow: hidden; }
.nws-cv-starter-shape span { display: block; flex: 0 0 auto; border-radius: 2px; background: #d5d9e2; }
.nws-cv-shape-h { height: 8px; width: 60%; background: #a1a5b7 !important; }
.nws-cv-shape-t { height: 5px; width: 100%; box-shadow: 0 8px 0 #d5d9e2; margin-bottom: 8px; }
.nws-cv-shape-b { height: 10px; width: 34%; align-self: center; background: var(--aav-adm-accent, #3e97ff) !important; opacity: .7; }
.nws-cv-shape-i { height: 26px; width: 100%; background: #c4cada !important; }
.nws-cv-shape-c { height: 22px; width: 100%; background: linear-gradient(90deg, #c4cada 0 47%, transparent 47% 53%, #c4cada 53%) !important; }
.nws-cv-shape-s { height: 6px; width: 30%; align-self: center; background: radial-gradient(circle, #a1a5b7 2.5px, transparent 3px) 0 0 / 10px 6px repeat-x !important; }
.nws-cv-starter-name { font-weight: 650; font-size: .875rem; color: #181c32; }
.nws-cv-starter-hint { font-size: .76rem; color: #99a1b7; }
.nws-cv-empty-or { margin: 1.25rem 0 .5rem; font-size: .78rem; color: #99a1b7; }
.nws-cv-empty-tiles { display: inline-grid; grid-template-columns: repeat(4, 84px); gap: .25rem; }

/* Panel vpravo */
.nws-cv-panel { background: #fff; border-radius: var(--aav-adm-card-radius, .85rem); box-shadow: var(--aav-adm-shadow, 0 2px 12px rgba(76, 87, 125, .08)); }
.nws-cv-panel-head { display: flex; align-items: center; gap: .55rem; padding: .8rem 1rem; border-bottom: 1px solid var(--aav-adm-border, #eff2f5); font-weight: 650; color: #181c32; }
.nws-cv-panel-icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: .4rem; background: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 12%, #fff); color: var(--aav-adm-accent, #3e97ff); flex: 0 0 auto; }
.nws-cv-panel-title { min-width: 0; }
.nws-cv-panel-sub { margin-left: .3rem; font-size: .8rem; font-weight: 400; color: #99a1b7; }
.nws-cv-panel-body { padding: 1rem; }
.nws-cv-panel-body .form-label { margin-bottom: .3rem; font-size: .8rem; font-weight: 600; color: #3f4254; display: flex; align-items: baseline; gap: .4rem; }
.nws-cv-panel-hint { font-size: .82rem; color: #78829d; }
.nws-cv-panel-foot { display: flex; align-items: center; gap: .5rem; padding: .7rem 1rem; border-top: 1px solid var(--aav-adm-border, #eff2f5); }
.nws-cv-panel-section { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--aav-adm-border, #eff2f5); }
.nws-cv-section-title { margin-bottom: .4rem; font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #99a1b7; }
.nws-cv-link-row { display: flex; align-items: center; gap: .55rem; width: 100%; padding: .45rem .5rem; border: 0; border-radius: .4rem; background: transparent; color: #3f4254; font-size: .85rem; text-align: left; text-decoration: none; }
.nws-cv-link-row:hover { background: #f4f6f9; color: var(--aav-adm-accent, #3e97ff); }
.nws-cv-field { margin-bottom: 1rem; }
.nws-cv-value { margin-left: auto; font-weight: 400; color: #78829d; }
.nws-cv-opt { font-weight: 400; color: #99a1b7; }
.nws-cv-problem { margin-bottom: 1rem; padding: .5rem .7rem; border-radius: .45rem; background: #fff5f8; color: #d81a48; font-size: .8rem; }
.nws-cv-thumb { display: block; max-width: 100%; max-height: 140px; margin: 0 auto .5rem; border-radius: .35rem; background: #f4f6f9; }
.nws-cv-more summary { font-size: .8rem; color: #78829d; cursor: pointer; }
.nws-cv-social { display: flex; flex-direction: column; gap: .6rem; }
.nws-cv-social-row { padding-bottom: .6rem; border-bottom: 1px dashed var(--aav-adm-border, #eff2f5); }
.nws-cv-layouts { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .3rem; }
.nws-cv-layout { display: inline-flex; align-items: center; justify-content: center; padding: .35rem 0; border: 1px solid var(--bs-border-color); border-radius: .4rem; background: #fff; color: #a1a5b7; }
.nws-cv-layout:hover { border-color: var(--aav-adm-accent, #3e97ff); color: #5e6278; }
.nws-cv-layout.active { border-color: var(--aav-adm-accent, #3e97ff); background: color-mix(in srgb, var(--aav-adm-accent, #3e97ff) 10%, #fff); color: var(--aav-adm-accent, #3e97ff); }
.nws-cv-swatches { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-top: .6rem; }
.nws-cv-swatch { width: 26px; height: 26px; padding: 0; border: 1px solid rgba(0, 0, 0, .12); border-radius: 50%; }
.nws-cv-swatch.active { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--aav-adm-accent, #3e97ff); }
.nws-cv-swatch-picker { width: 30px; height: 26px; padding: 0 2px; border: 1px solid var(--bs-border-color); border-radius: .35rem; background: #fff; cursor: pointer; }
