/* K136 »Mange filer« (før Samlet manus) + K204 »Film og video« + K180 »Telefonbeskeder« (før Telefonsvar) – K260 faner efter opgave.
   Kun nye klasser (v247-ws-*) – eksisterende elementer og farver er uændrede. */

/* Når en af de nye faner er valgt, skjules Enkelt speak (men bevares – kladde, afspiller og editor står urørt). */
.v247-speak-shell.is-workspace-tab > *:not(.v247-stage-row):not(.v247-workspace-tabs):not(.v247-workspace-tabrow):not(.v247-ws):not(#speak-page-title):not(.k338-head):not(.k338-nudge):not(.k338-moved) {
    display: none !important;
}

.v247-ws {
    --ws-ink: var(--v247-design-text, #16201C);
    --ws-muted: var(--v247-design-text-muted, #6A756F);
    --ws-line: var(--v247-design-border, #DCE3DE);
    --ws-accent: var(--v247-design-accent, #2C4A42);
    --ws-dark: #182A24;
    --ws-soft: #F6F8F5;
    --ws-warn-bg: #FBF4EA;
    --ws-warn: #7A4A12;
    color: var(--ws-ink);
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 28px;
    min-width: 0;
}

.v247-ws-head h2 { margin: 0; font-size: 28px; font-weight: 750; letter-spacing: -.4px; line-height: 1.2; }
.v247-ws-head p { margin: 6px 0 0; font-size: 16px; color: var(--ws-muted); line-height: 1.45; max-width: 760px; }

.v247-ws-card {
    background: #fff;
    border: 1px solid var(--ws-line);
    border-radius: 16px;
    box-shadow: 0 1px 2px rgba(11, 28, 25, .06), 0 4px 12px rgba(11, 28, 25, .04);
    min-width: 0;
}

.v247-ws-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--ws-line); flex-wrap: wrap; }
.v247-ws-card-foot { padding: 10px 16px; border-top: 1px solid #EDF0EC; }
.v247-ws-small { font-size: 13px; }
.v247-ws-muted { color: var(--ws-muted); }
.v247-ws-warn { color: var(--ws-warn); margin: 0; }
.v247-ws-error { margin: 0; color: #9B2C1F; font-size: 14.5px; }
.v247-ws-eyebrow { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ws-muted); font-weight: 700; }

/* Knapper: mørk primær (grøn er kun til køb), lys sekundær, link. */
.v247-ws-btn {
    appearance: none;
    font: inherit;
    font-weight: 650;
    font-size: 15px;
    border-radius: 11px;
    padding: 11px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    min-height: 42px;
    white-space: nowrap;
    border: 1px solid transparent;
    text-decoration: none;
}
.v247-ws-btn--dark { background: var(--ws-dark); color: #fff; box-shadow: 0 4px 12px rgba(44, 74, 66, .22); }
.v247-ws-btn--dark:hover:not(:disabled) { background: #10201B; }
.v247-ws-btn--ghost { background: #fff; color: var(--ws-ink); border-color: #B4C2B9; }
.v247-ws-btn--ghost:hover:not(:disabled) { border-color: var(--ws-accent); }
.v247-ws-btn--link { background: none; border: 0; padding: 0; min-height: 0; color: var(--ws-accent); text-decoration: underline; font-weight: 600; }
.v247-ws-btn--small { font-size: 13.5px; padding: 6px 12px; min-height: 34px; border-radius: 9px; }
.v247-ws-btn:disabled { opacity: .55; cursor: default; box-shadow: none; }
.v247-ws-btn:focus-visible, .v247-ws-choice:focus-visible, .v247-ws-chip:focus-visible, .v247-ws-play:focus-visible,
.v247-ws-stepper button:focus-visible, .v247-ws-mobile-switch button:focus-visible { outline: 2px solid var(--ws-accent); outline-offset: 2px; }

/* »1-2-3« første gang */
.v247-ws-hint { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #EFF4F0; border: 1px solid var(--ws-line); border-radius: 12px; }
.v247-ws-hint ol { list-style: none; margin: 0; padding: 0; display: flex; gap: 22px; flex-wrap: wrap; flex: 1; font-size: 14.5px; }
.v247-ws-hint li { display: flex; align-items: center; gap: 8px; }
.v247-ws-hint li b { width: 24px; height: 24px; border-radius: 50%; background: var(--ws-accent); color: #fff; display: inline-grid; place-items: center; font-size: 13px; flex: none; }
.v247-ws-hint-close { appearance: none; border: 0; background: none; font-size: 20px; line-height: 1; color: var(--ws-muted); cursor: pointer; padding: 4px 6px; }

/* Samlet manus */
.v247-ws-batch-grid { display: grid; grid-template-columns: minmax(280px, 400px) minmax(0, 1fr); gap: 18px; align-items: stretch; }
.v247-ws-batch-text { display: flex; flex-direction: column; }
.v247-ws-textarea {
    width: 100%; box-sizing: border-box; border: 0; resize: vertical; min-height: 420px; padding: 14px 16px;
    font: inherit; font-size: 14.5px; line-height: 1.6; color: var(--ws-ink); background: transparent; flex: 1;
}
.v247-ws-textarea:focus { outline: none; box-shadow: inset 0 0 0 2px rgba(44, 74, 66, .25); border-radius: 0; }
.v247-ws-textarea--small { min-height: 90px; border: 1px solid var(--ws-line); border-radius: 10px; padding: 10px 12px; flex: none; }
.v247-ws-upload { position: relative; overflow: hidden; }
.v247-ws-file-input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.v247-ws-batch-text > .v247-ws-warn { padding: 0 16px 8px; }

.v247-ws-flag { display: inline-flex; gap: 6px; align-items: center; background: var(--ws-warn-bg); color: var(--ws-warn); border-radius: 7px; padding: 4px 10px; font-size: 12.5px; font-weight: 650; }
.v247-ws-empty { padding: 28px 18px; color: var(--ws-muted); margin: 0; }
.v247-ws-table-wrap { overflow-x: auto; }
.v247-ws-table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.v247-ws-table th { text-align: left; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--ws-muted); font-weight: 700; padding: 10px 12px; border-bottom: 1px solid var(--ws-line); background: var(--ws-soft); }
.v247-ws-table td { padding: 9px 12px; border-bottom: 1px solid #EDF0EC; vertical-align: middle; }
.v247-ws-table tr.is-flagged td { background: var(--ws-warn-bg); }
.v247-ws-num { color: var(--ws-muted); width: 32px; }
.v247-ws-tx { color: #2B3631; line-height: 1.4; min-width: 200px; }
.v247-ws-len { white-space: nowrap; color: var(--ws-muted); }
.v247-ws-state { width: 70px; text-align: right; white-space: nowrap; }
.v247-ws-fname { display: inline-flex; align-items: center; gap: 4px; background: #F1F4F1; border: 1px solid var(--ws-line); border-radius: 7px; padding: 3px 8px; font-weight: 600; white-space: nowrap; max-width: 100%; }
.v247-ws-fname input { border: 0; background: transparent; font: inherit; font-weight: 600; color: var(--ws-ink); width: 15ch; min-width: 6ch; padding: 2px 0; }
.v247-ws-fname input:focus { outline: none; }
.v247-ws-fname:focus-within { border-color: var(--ws-accent); }
.v247-ws-ext { color: var(--ws-muted); font-weight: 500; }
.v247-ws-wtag { display: block; color: var(--ws-warn); font-size: 12.5px; font-weight: 600; margin-top: 4px; max-width: 220px; white-space: normal; }
.v247-ws-showall { margin: 12px 16px; }
.v247-ws-play { width: 30px; height: 30px; border-radius: 50%; border: 1px solid #B4C2B9; display: inline-grid; place-items: center; color: var(--ws-accent); background: #fff; cursor: pointer; padding: 0; }
.v247-ws-working { color: var(--ws-muted); font-size: 13px; }
.v247-ws-failed { color: var(--ws-warn); font-size: 13px; font-weight: 600; }

.v247-ws-sumbar { display: flex; align-items: center; gap: 22px; padding: 14px 18px; flex-wrap: wrap; }
.v247-ws-kv { display: flex; flex-direction: column; gap: 2px; }
.v247-ws-kv b { font-size: 16px; }
.v247-ws-kv span { font-size: 12.5px; color: var(--ws-muted); }
.v247-ws-options { display: flex; flex-direction: column; gap: 8px; flex: 1; min-width: 220px; }
.v247-ws-go { margin-left: auto; }
.v247-ws-select { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ws-muted); }
.v247-ws-select select { font: inherit; font-size: 14px; color: var(--ws-ink); border: 1px solid var(--ws-line); border-radius: 999px; padding: 5px 12px; background: #fff; }

.v247-ws-toggle { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; cursor: pointer; position: relative; }
.v247-ws-toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.v247-ws-toggle-ui { width: 36px; height: 20px; border-radius: 10px; background: #C9D3CD; position: relative; flex: none; transition: background .15s; }
.v247-ws-toggle-ui::after { content: ""; position: absolute; left: 2px; top: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: left .15s; }
.v247-ws-toggle input:checked + .v247-ws-toggle-ui { background: var(--ws-accent); }
.v247-ws-toggle input:checked + .v247-ws-toggle-ui::after { left: 18px; }
.v247-ws-toggle input:focus-visible + .v247-ws-toggle-ui { outline: 2px solid var(--ws-accent); outline-offset: 2px; }

.v247-ws-mobile-switch { display: none; }
.v247-ws-step-bar { display: none; height: 4px; border-radius: 2px; background: #E3E8E4; overflow: hidden; margin-top: -4px; }
.v247-ws-step-bar span { display: block; height: 100%; background: var(--v247-design-accent, #2C4A42); }

/* Telefonsvar */
.v247-ws-stepper { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 0; flex-wrap: wrap; row-gap: 8px; }
.v247-ws-stepper li { display: flex; align-items: center; }
.v247-ws-stepper li + li::before { content: ""; width: 44px; height: 2px; background: #D5DCD8; margin: 0 12px; }
.v247-ws-stepper li.is-done + li::before, .v247-ws-stepper li.is-on::before { background: #9DB6AB; }
.v247-ws-stepper button { appearance: none; border: 0; background: none; font: inherit; display: inline-flex; align-items: center; gap: 10px; color: var(--ws-muted); font-size: 15px; font-weight: 500; cursor: pointer; padding: 2px; }
.v247-ws-step-n { width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid #B4C2B9; display: grid; place-items: center; font-weight: 700; font-size: 14px; background: #fff; }
.is-done .v247-ws-step-n { background: #DFEAE5; border-color: #9DB6AB; color: var(--ws-accent); }
.is-on button { color: var(--ws-ink); font-weight: 700; }
.is-on .v247-ws-step-n { background: var(--ws-accent); border-color: var(--ws-accent); color: #fff; }

.v247-ws-phone-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.v247-ws-phone-grid.is-final { grid-template-columns: minmax(0, 760px); }
.v247-ws-question { padding: 20px 22px; display: flex; flex-direction: column; gap: 10px; }
.v247-ws-question h3 { margin: 0; font-size: 21px; font-weight: 700; letter-spacing: -.2px; }
.v247-ws-question h3.v247-ws-q2 { margin-top: 14px; font-size: 18px; }
.v247-ws-question p { margin: 0; }
.v247-ws-input { font: inherit; font-size: 15px; border: 1px solid #C9D3CD; border-radius: 10px; padding: 10px 12px; width: 100%; box-sizing: border-box; color: var(--ws-ink); background: #fff; }
.v247-ws-input:focus { outline: none; border-color: var(--ws-accent); box-shadow: 0 0 0 3px rgba(44, 74, 66, .15); }
.v247-ws-choices { display: flex; flex-direction: column; gap: 8px; }
.v247-ws-choice { appearance: none; font: inherit; font-size: 15px; text-align: left; border: 1px solid var(--ws-line); background: #fff; border-radius: 10px; padding: 11px 14px; cursor: pointer; color: var(--ws-ink); }
.v247-ws-choice.is-on { background: #EFF4F0; border-color: var(--ws-accent); font-weight: 600; }
.v247-ws-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.v247-ws-chip { appearance: none; font: inherit; font-size: 14px; border: 1px solid var(--ws-line); background: #fff; border-radius: 999px; padding: 7px 14px; cursor: pointer; color: var(--ws-ink); }
.v247-ws-chip.is-on { background: #EFF4F0; border-color: var(--ws-accent); font-weight: 600; }
.v247-ws-week { display: flex; flex-direction: column; gap: 6px; }
.v247-ws-day { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14.5px; }
.v247-ws-day label { width: 110px; display: inline-flex; gap: 6px; align-items: center; }
.v247-ws-day input[type=time] { font: inherit; border: 1px solid #C9D3CD; border-radius: 8px; padding: 5px 8px; }
.v247-ws-options-list { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.v247-ws-option { display: flex; align-items: center; gap: 10px; width: 100%; }
.v247-ws-option-key { font-weight: 650; width: 56px; flex: none; }
.v247-ws-remove { appearance: none; border: 0; background: none; font-size: 20px; color: var(--ws-muted); cursor: pointer; padding: 4px 8px; }
.v247-ws-zero { margin-top: 10px; padding-top: 12px; border-top: 1px solid #EDF0EC; }
.v247-ws-check { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; padding: 6px 0; cursor: pointer; }
.v247-ws-check input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--ws-accent); }
.v247-ws-holiday { display: flex; gap: 12px; flex-wrap: wrap; padding-left: 28px; }
.v247-ws-holiday label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--ws-muted); flex: 1 1 160px; }

.v247-ws-preview { padding: 18px 20px; background: #FBF7F0; display: flex; flex-direction: column; gap: 12px; }
.v247-ws-preview-item { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.v247-ws-quote { margin: 0; font-size: 16px; line-height: 1.55; color: #2B3631; }
.v247-ws-sofar { border-top: 1px solid #E7E2D8; padding-top: 10px; margin: 0; }
.v247-ws-edit-actions { display: flex; gap: 16px; }
.v247-ws-listen { align-self: stretch; }
.v247-ws-messages { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.v247-ws-messages li { padding: 12px 0; border-bottom: 1px solid #EDF0EC; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.v247-ws-message-head { display: flex; align-items: center; gap: 10px; width: 100%; }
.v247-ws-message-head > :last-child:not(.v247-ws-small) { margin-left: auto; }
.v247-ws-formats { border: 0; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.v247-ws-formats legend { font-weight: 700; margin-bottom: 6px; }
.v247-ws-format { display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--ws-line); border-radius: 10px; padding: 10px 14px; cursor: pointer; width: 100%; box-sizing: border-box; }
.v247-ws-format.is-on { border-color: var(--ws-accent); background: #EFF4F0; }
.v247-ws-format input { margin-top: 3px; accent-color: var(--ws-accent); }
.v247-ws-question .v247-ws-go { margin: 8px 0 0; align-self: stretch; }

.v247-ws-nav { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.v247-ws-nav-space { flex: 1; }

@media (max-width: 960px) {
    .v247-ws-phone-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {
    .v247-ws-head h2 { font-size: 22px; }
    .v247-ws-head p { font-size: 15px; }
    .v247-ws-mobile-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
    .v247-ws-mobile-switch button { appearance: none; font: inherit; font-size: 14.5px; font-weight: 650; border: 1px solid var(--ws-line); background: #fff; color: var(--ws-ink); border-radius: 10px; padding: 9px 10px; cursor: pointer; }
    .v247-ws-mobile-switch button.is-on { background: var(--ws-dark); border-color: var(--ws-dark); color: #fff; }
    .v247-ws-batch-grid { grid-template-columns: minmax(0, 1fr); }
    .v247-ws-batch-grid[data-view="text"] .v247-ws-batch-files,
    .v247-ws-batch-grid[data-view="files"] .v247-ws-batch-text { display: none; }
    .v247-ws-textarea { min-height: 300px; }
    .v247-ws-table thead { display: none; }
    .v247-ws-table, .v247-ws-table tbody, .v247-ws-table tr, .v247-ws-table td { display: block; width: auto; }
    .v247-ws-table tr { padding: 10px 12px; border-bottom: 1px solid #EDF0EC; position: relative; }
    .v247-ws-table td { padding: 2px 0; border: 0; }
    .v247-ws-table tr.is-flagged td { background: none; }
    .v247-ws-table tr.is-flagged { background: var(--ws-warn-bg); }
    .v247-ws-num, .v247-ws-len { display: none !important; }
    .v247-ws-state { position: absolute; top: 10px; right: 12px; width: auto; }
    .v247-ws-tx { min-width: 0; font-size: 13.5px; }
    .v247-ws-hint ol { flex-direction: column; gap: 6px; }
    .v247-ws-sumbar { gap: 12px 18px; }
    .v247-ws-go { width: 100%; margin-left: 0; }
    .v247-ws-stepper { display: none; }
    .v247-ws-step-bar { display: block; }
    .v247-ws-question { padding: 16px; }
    .v247-ws-nav .v247-ws-btn--dark { flex: 1 1 100%; }
}

/* Fælles fremdrift / ZIP (BatchRunStatus) */
.v247-batch-status { padding: 14px 18px; background: #fff; border: 1px solid var(--v247-design-border, #DCE3DE); border-radius: 14px; display: flex; flex-direction: column; gap: 10px; }
.v247-batch-status-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.v247-batch-status-text { display: flex; flex-direction: column; gap: 2px; }
.v247-batch-status-text b { font-size: 16px; }
.v247-batch-status-text span { font-size: 13.5px; color: var(--v247-design-text-muted, #6A756F); }
.v247-batch-progress { height: 6px; border-radius: 3px; background: #EDF0EC; overflow: hidden; }
.v247-batch-progress span { display: block; height: 100%; background: var(--v247-design-accent, #2C4A42); transition: width .3s ease; }
.v247-batch-note { margin: 0; font-size: 14px; line-height: 1.45; }
.v247-batch-note.is-warn { color: #7A4A12; }
.v247-batch-done { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 14px; color: var(--v247-design-text-muted, #46524C); }
.v247-batch-done a { color: var(--v247-design-accent, #2C4A42); text-decoration: underline; }
.v247-batch-status > .v247-ws-btn--ghost { align-self: flex-start; }
.v247-ws-select select { width: auto; }

/* K180-C2 »Telefonsvar med hjælp – alle faser« (Kim 29/10, godkendt). Orange (#D9773F-familien) kun som små accenter
   (fasenumre, NY); forslag fra hjemmesiden i gult; mørk primær knap (grøn er kun til køb). */
.v247-ph {
    --ph-or: #D9773F;
    --ph-orl: #FCEBDD;
    --ph-orb: #F1C7A6;
    --ph-ord: #A8501C;
    --ph-sg-bg: #FFF6E8;
    --ph-sg-line: #E8C99A;
}
.v247-ph-desk-flex { display: inline-flex; }
.v247-ph-mob, .v247-ph-mtitle, .v247-ph-fold, .v247-ph-summary { display: none; }
.v247-ph-card { padding: 20px 22px; display: flex; flex-direction: column; gap: 10px; }
.v247-ph-sh { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.v247-ph-sh h3 { margin: 0; font-size: 19px; font-weight: 750; letter-spacing: -.2px; }
.v247-ph-sub { color: var(--ws-muted); font-size: 14px; }
.v247-ph-n { width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid #B4C2B9; display: inline-grid; place-items: center; font-weight: 700; font-size: 13.5px; background: #fff; color: var(--ws-ink); flex: none; }
.v247-ph-n.is-done { background: #DFEAE5; border-color: #9DB6AB; color: var(--ws-accent); }
.v247-ph-n.is-on { background: var(--ws-dark); border-color: var(--ws-dark); color: #fff; }
.v247-ph-label { font-weight: 650; font-size: 14.5px; margin-top: 4px; }
.v247-ph-site { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 12px 14px; align-items: center; }
.v247-ph-site-status { display: flex; flex-direction: column; gap: 4px; font-size: 14px; align-items: flex-start; }
.v247-ph-ok { color: var(--ws-accent); font-weight: 650; }
.v247-ph-fail { color: var(--ws-warn); font-weight: 600; }
.v247-ph-nosite { font-size: 14px; text-align: left; white-space: normal; }
.v247-ph-qgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px 24px; margin-top: 4px; }
.v247-ph-q { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.v247-ph-qhead { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-weight: 650; font-size: 14.5px; flex-wrap: wrap; }
.v247-ph-sg { display: inline-flex; align-items: center; gap: 6px; background: var(--ph-sg-bg); border: 1px solid var(--ph-sg-line); color: var(--ws-warn); border-radius: 999px; padding: 3px 10px; font-size: 12.5px; font-weight: 650; }
.v247-ws-input.is-suggested { background: #FFFBF3; border-color: #EAD9B8; }
.v247-ph-option { display: flex; align-items: center; gap: 10px; }
.v247-ph-key { font-weight: 650; width: 52px; flex: none; font-size: 14.5px; }
.v247-ph-add { align-self: flex-start; margin-left: 62px; font-size: 14px; }
.v247-ph-sits { display: flex; flex-wrap: wrap; gap: 8px; }
.v247-ph-sit { appearance: none; font: inherit; font-size: 14px; font-weight: 650; border: 1px solid #B4C2B9; background: #fff; color: var(--ws-ink); border-radius: 999px; padding: 6px 14px; cursor: pointer; }
.v247-ph-sit.is-on { background: var(--ws-accent); border-color: var(--ws-accent); color: #fff; }
.v247-ph-sit:focus-visible, .v247-ph-fold:focus-visible { outline: 2px solid var(--ws-accent); outline-offset: 2px; }
.v247-ph-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.v247-ph-pair label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--ws-muted); }
.v247-ph-q > p, .v247-ph-lang p { margin: 0; }
.v247-ph-lang { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; padding-top: 10px; border-top: 1px solid #EDF0EC; }
.v247-ph-lang-q { font-weight: 650; font-size: 14px; }
.v247-ph-tip { display: block; font-size: 12.5px; color: var(--ws-warn); }
.v247-ph-spot-tips { flex-basis: 100%; }
.v247-ph-spot { flex-wrap: wrap; }
.v247-ph-spot .v247-ph-spot-text { flex: 1 1 0; min-width: 0; }
.v247-ph-range { display: flex; align-items: center; gap: 8px 14px; flex-wrap: wrap; }

.v247-ph-recap { display: flex; align-items: center; gap: 12px; padding: 14px 20px; flex-wrap: wrap; font-size: 14.5px; }
.v247-ph-recap-2 { margin-left: 18px; }

.v247-ph-final { overflow: hidden; }
.v247-ph-final-head { display: flex; align-items: center; justify-content: space-between; gap: 12px 16px; padding: 16px 20px; background: var(--ws-soft); border-bottom: 1px solid var(--ws-line); flex-wrap: wrap; }
.v247-ph-tools { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.v247-ph-allvoice { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.v247-ph-multi { border-left: 1px solid var(--ws-line); padding-left: 14px; }
.v247-ph-chip { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--ws-line); background: #fff; border-radius: 999px; padding: 4px 10px 4px 5px; font-size: 14px; font-weight: 650; max-width: 100%; box-sizing: border-box; }
.v247-ph-chip select { appearance: auto; border: 0; background: transparent; font: inherit; font-weight: 650; color: var(--ws-ink); padding: 2px 0; max-width: 170px; cursor: pointer; }
.v247-ph-chip select:focus-visible { outline: 2px solid var(--ws-accent); outline-offset: 2px; border-radius: 4px; }
.v247-ph-av { width: 24px; height: 24px; border-radius: 50%; background: linear-gradient(135deg, #9a7b66, #4b3a30); flex: none; object-fit: cover; display: inline-block; }

.v247-ph-list { list-style: none; margin: 0; padding: 0; }
.v247-ph-row { display: grid; grid-template-columns: 250px minmax(0, 1fr) 210px 64px; gap: 18px; align-items: start; padding: 14px 20px; border-bottom: 1px solid #EDF0EC; background: #fff; }
.v247-ph-row:last-child { border-bottom: 0; }
.v247-ph-row.is-off .v247-ph-body, .v247-ph-row.is-off .v247-ph-voice, .v247-ph-row.is-off .v247-ph-play { opacity: .45; }
.v247-ph-name { display: flex; gap: 10px; align-items: flex-start; min-width: 0; }
.v247-ph-no { width: 28px; height: 28px; border-radius: 8px; background: var(--ph-orl); color: var(--ph-ord); border: 1px solid var(--ph-orb); font-weight: 800; font-size: 13.5px; display: grid; place-items: center; flex: none; }
.v247-ph-name-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v247-ph-name-text b { font-size: 15.5px; line-height: 1.3; }
.v247-ph-new { font-size: 10.5px; font-weight: 800; color: var(--ph-ord); background: var(--ph-orl); border: 1px solid var(--ph-orb); border-radius: 5px; padding: 1px 5px; margin-left: 6px; vertical-align: 2px; }
.v247-ph-fn { font-size: 12.5px; color: var(--ws-muted); overflow-wrap: anywhere; }
.v247-ph-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.v247-ph-tag { font-size: 11.5px; font-weight: 700; color: #46524C; background: #EEF1EE; border-radius: 5px; padding: 2px 7px; }
.v247-ph-on { margin-top: 6px; font-size: 12.5px; color: #46524C; gap: 7px; }
.v247-ph-on .v247-ws-toggle-ui { transform: scale(.85); transform-origin: left center; }
.v247-ph-body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.v247-ph-text, .v247-ph-spot-text { font: inherit; font-size: 14.5px; line-height: 1.5; color: #2B3631; border: 1px solid var(--ws-line); border-radius: 10px; padding: 9px 12px; background: #FCFDFC; width: 100%; box-sizing: border-box; resize: vertical; min-height: 44px; field-sizing: content; }
.v247-ph-text:focus, .v247-ph-spot-text:focus { outline: none; border-color: var(--ws-accent); box-shadow: 0 0 0 3px rgba(44, 74, 66, .12); background: #fff; }
.v247-ph-reset { align-self: flex-start; }
.v247-ph-pick { font-size: 13px; font-weight: 650; }
.v247-ph-spot { display: flex; gap: 10px; align-items: flex-start; border: 1px solid var(--ws-line); border-radius: 10px; padding: 8px 10px; background: #fff; }
.v247-ph-spot.is-on { border-color: var(--ph-orb); background: #FFFBF7; }
.v247-ph-spot .v247-ph-spot-text { border-color: transparent; background: transparent; padding: 0 2px; min-height: 0; font-size: 14px; }
.v247-ph-spot .v247-ph-spot-text:focus { box-shadow: none; border-color: transparent; text-decoration: underline dotted #9DB6AB; }
.v247-ph-spot:focus-within { border-color: var(--ws-accent); }
.v247-ph-cb { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--ws-accent); flex: none; cursor: pointer; }
.v247-ph-sek { font-size: 12.5px; color: var(--ws-muted); white-space: nowrap; margin-top: 2px; }
.v247-ph-spot-foot { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13.5px; }
.v247-ph-vc { display: flex; align-items: center; gap: 8px; border: 1px solid var(--ws-line); border-radius: 10px; padding: 7px 10px; font-size: 13.5px; font-weight: 650; background: #fff; }
.v247-ph-vc small { display: block; color: var(--ws-muted); font-weight: 500; font-size: 11.5px; }
.v247-ph-voice .v247-ph-chip { border-radius: 10px; width: 100%; }
.v247-ph-play { display: flex; flex-direction: column; align-items: center; gap: 5px; }
.v247-ph-play .v247-ws-play:disabled { opacity: .55; cursor: default; }
.v247-ph-len { font-size: 12.5px; color: var(--ws-muted); text-align: center; white-space: nowrap; }
.v247-ph-fold { appearance: none; border: 0; background: none; color: var(--ws-muted); font-size: 14px; cursor: pointer; padding: 6px; }

.v247-ph-foot { display: flex; align-items: center; gap: 12px 22px; padding: 14px 18px; flex-wrap: wrap; }
.v247-ph-foot .v247-ws-go { margin-left: 0; }
.v247-ph-switch { font-size: 12.5px; font-weight: 500; color: var(--ws-muted); }
.v247-ph-formats { flex-basis: 100%; flex-direction: row; flex-wrap: wrap; }
.v247-ph-formats legend { flex-basis: 100%; }
.v247-ph-formats .v247-ws-format { width: auto; }

@media (max-width: 1100px) {
    .v247-ph-row { grid-template-columns: 200px minmax(0, 1fr) 170px 56px; gap: 14px; }
}

@media (max-width: 960px) {
    .v247-ph-qgrid { grid-template-columns: minmax(0, 1fr); }
    .v247-ph-site { grid-template-columns: minmax(0, 1fr) auto; }
    .v247-ph-site-status { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    .v247-ph-desk, .v247-ph-desk-flex { display: none !important; }
    .v247-ph-mob { display: inline; }
    p.v247-ph-mob { display: block; }
    .v247-ph-card { padding: 16px; }
    .v247-ph-pair { grid-template-columns: minmax(0, 1fr); }
    .v247-ph-add { margin-left: 0; }
    .v247-ph-recap { padding: 12px 16px; }
    .v247-ph-recap-2 { margin-left: 0; }
    .v247-ph-final { border: 0; box-shadow: none; background: transparent; overflow: visible; }
    .v247-ph-final-head { background: transparent; border: 0; padding: 0 0 6px; flex-direction: column; align-items: stretch; gap: 10px; }
    .v247-ph-final-head > .v247-ph-sh, .v247-ph-listen { display: none; }
    .v247-ph-mtitle { display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; color: var(--ws-muted); }
    .v247-ph-mbar { height: 4px; border-radius: 2px; background: var(--ws-accent); display: block; }
    .v247-ph-tools { justify-content: space-between; }
    .v247-ph-multi { border: 0; padding: 0; font-size: 13.5px; }
    .v247-ph-same { margin: 0; }
    .v247-ph-list { display: flex; flex-direction: column; gap: 8px; }
    .v247-ph-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; border: 1px solid var(--ws-line); border-radius: 12px; padding: 11px 12px; }
    .v247-ph-row:last-child { border-bottom: 1px solid var(--ws-line); }
    .v247-ph-row.is-open { border-color: var(--ph-orb); }
    .v247-ph-name { flex: 1 1 0; align-items: center; }
    .v247-ph-no { width: 24px; height: 24px; border-radius: 7px; font-size: 12.5px; }
    .v247-ph-name-text b { font-size: 14.5px; }
    .v247-ph-summary { display: block; font-size: 12.5px; color: var(--ws-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .v247-ph-row:not(.is-open) .v247-ph-fn, .v247-ph-row:not(.is-open) .v247-ph-tags, .v247-ph-row:not(.is-open) .v247-ph-on,
    .v247-ph-row:not(.is-open) .v247-ph-body, .v247-ph-row:not(.is-open) .v247-ph-voice { display: none; }
    .v247-ph-row.is-open .v247-ph-summary { display: none; }
    .v247-ph-play { order: 2; }
    .v247-ph-len { display: none; }
    .v247-ph-fold { display: inline-block; order: 3; }
    .v247-ph-body { order: 4; flex: 1 1 100%; }
    .v247-ph-voice { order: 5; flex: 1 1 100%; }
    .v247-ph:not(.is-multi) .v247-ph-voice { display: none !important; }
    .v247-ph-row.is-off .v247-ph-name { opacity: .6; }
    .v247-ph-foot { position: sticky; bottom: 0; z-index: 5; border-radius: 14px 14px 0 0; padding: 12px 16px; gap: 10px; box-shadow: 0 -4px 14px rgba(11, 28, 25, .08); }
    .v247-ph-foot .v247-ws-kv { flex-direction: row; align-items: baseline; gap: 6px; }
    .v247-ph-foot .v247-ws-kv b { font-size: 14px; }
    .v247-ph-foot .v247-ws-nav-space { display: none; }
    .v247-ph-format { margin-left: auto; }
    .v247-ph-switch { font-size: 13.5px; color: var(--ws-muted); text-decoration: none; }
    .v247-ph-zip:disabled { display: none; }
    .v247-ph-zip { flex: 1 1 100%; }
    .v247-ph-foot .v247-ws-go { flex: 1 1 100%; width: 100%; }
}

/* K204 »Manus med tidskoder«: TC · tekst · varighed · status. Ingen grøn – grøn er kun til køb. */
/* K260: blødt forslag under Mange filer, når manuset har tidskoder – ingen kontakt, fanen er valget. */
.v247-ws-tc-suggest { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 10px 14px; border: 1px solid var(--ws-line); border-left: 3px solid #D9773F; border-radius: 10px; background: #fff; font-size: 14px; color: var(--ws-ink); }
.v247-ws-tc-suggest a { font-weight: 650; }
.v247-ws-tc-note { padding: 0 16px 10px; }
.v247-ws-tc-table td.v247-ws-tc-cell { width: 1%; white-space: nowrap; }
.v247-ws-tc-input { font: inherit; font-variant-numeric: tabular-nums; font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: 13.5px; width: calc(11ch + 20px); min-width: calc(11ch + 20px); box-sizing: border-box; border: 1px solid var(--ws-line); border-radius: 7px; padding: 4px 6px; background: #fff; color: var(--ws-ink); }
.v247-ws-tc-input:focus { outline: none; border-color: var(--ws-accent); box-shadow: 0 0 0 3px rgba(44, 74, 66, .15); }
.v247-ws-tc-state { width: 120px; }
.v247-ws-tc-state .v247-ws-play { margin-left: 8px; vertical-align: middle; }
.v247-ws-tc-ok { color: var(--ws-ink); font-size: 13px; font-weight: 600; }
.v247-ws-tc-ok::before { content: "✓ "; }
.v247-ws-tc-bad { color: #9B2C1F; font-size: 13px; font-weight: 650; }
.v247-ws-tc-table tr.is-problem td { background: #FBEDEA; border-bottom-color: transparent; }
.v247-ws-tc-fix td { background: #FBEDEA; padding-top: 0; }
.v247-ws-tc-err { margin: 0 0 8px; color: #9B2C1F; font-size: 14px; font-weight: 600; }
.v247-ws-tc-redo { display: flex; flex-direction: column; gap: 8px; }
.v247-ws-tc-redo .v247-ws-textarea--small { min-height: 64px; background: #fff; }
.v247-ws-tc-redo-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: space-between; }
.v247-ws-tc-foot { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.v247-ws-tc .v247-batch-status { margin: 0 16px 14px; }
@media (max-width: 640px) {
    .v247-ws-tc-foot .v247-ws-go { width: 100%; margin-left: 0; }
    .v247-ws-tc-state { width: auto; }
}

/* K258 »Værktøjskassen«: fanerne og »Alle værktøjer« står i én række; panelet folder ud under rækken. */
.v247-speak-shell .v247-workspace-tabrow {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 4px 0 18px;
}
.v247-speak-shell .v247-workspace-tabrow .v247-workspace-tabs { margin: 0; }
@media (max-width: 640px) {
    .v247-speak-shell .v247-workspace-tabrow { gap: 8px; }
}

/* K306 QA (30/10): »Se, hvordan det virker« (.igc) dæmpes som editoren, mens mappekortet er åbent. Global regel, fordi
   .igc ligger i en anden komponent; !important er nødvendig, da kortets indgangsanimation (fill-mode both) ellers holder
   opacity på 1 og overstyrer alle almindelige regler. */
.v247-speak-page:has(.v247-speak-folder-save-location .speak-folder-picker.is-open) .igc {
    opacity: .55 !important;
}

/* K338 »Manus først«: feltet skjules, mens forslaget vises (teksten er bevaret), og linjen efter »Ja«. */
.v247-speak-shell .v247-speak-editor.k338-hidden { display: none !important; }
.v247-speak-shell .k338-suggest { margin: 0 0 18px; }
.v247-speak-shell .k338-moved { margin: 0 0 12px; font-size: 14.5px; color: var(--ws-muted); }
.v247-speak-shell .k338-moved-back { appearance: none; border: 0; background: none; padding: 0 2px; font: inherit; font-weight: 600; color: var(--ws-accent); text-decoration: underline; cursor: pointer; }
