:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#252b2b;background:#f6f7f7;font-size:14px;letter-spacing:0;--line:#dce2df;--green:#1a674f}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid #cbd4d0;background:white;color:#24332d;border-radius:5px;padding:8px 12px;font-weight:550}button:hover{background:#edf3ef}button:disabled{opacity:.5;cursor:default}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#11563f}input,select,textarea{display:block;width:100%;padding:10px;border:1px solid #cbd4d0;border-radius:5px;background:#fff;color:#252b2b;min-width:0}textarea{resize:vertical;line-height:1.55}label{display:block;font-size:12px;font-weight:600;color:#536059}label>input,label>textarea,label>select{margin-top:7px}button:focus-visible,input:focus,textarea:focus,select:focus{outline:2px solid #328263;outline-offset:2px}
header{position:sticky;top:0;z-index:20;padding:18px 24px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px}.mark{background:var(--green);color:white;font-size:25px;padding:5px 12px;border-radius:5px}.brand strong{font-size:19px}.brand div>span{display:block;font-size:12px;color:#66736c;margin-top:3px}.environment{color:#5d6c62;font-size:12px;border-left:1px solid var(--line);padding-left:24px}.actions{display:flex;gap:8px;flex-wrap:wrap}header .actions{margin-left:auto}#message{padding:0 24px;background:#e7f2eb;color:#225340;line-height:1.5}#message:not(:empty){padding-top:10px;padding-bottom:10px}#message.error{background:#fff0ed;color:#9c3528}#jobs{padding:8px 24px;background:#eef3f8;color:#2b4a6b;font-size:13px;line-height:1.5;border-bottom:1px solid var(--line)}
.workspace{display:grid;grid-template-columns:330px minmax(0,1fr);min-height:calc(100vh - 128px)}aside{border-right:1px solid var(--line);background:white;padding:22px 16px;position:sticky;top:var(--header-h,80px);align-self:start;height:calc(100vh - var(--header-h,80px));display:flex;flex-direction:column;min-height:0}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}h1{font-size:20px;margin:0}h2{font-size:25px;line-height:1.25;margin:6px 0;overflow-wrap:anywhere}.filters{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;margin-top:14px}.list-meta{display:flex;justify-content:space-between;font-size:11px;color:#66736c;margin:20px 0 10px}#list{flex:1;min-height:200px;overflow-y:auto}.exercise{width:100%;border:0;border-bottom:1px solid #edf0ee;display:flex;align-items:center;text-align:left;gap:12px;border-radius:0;padding:10px 6px;font-weight:400}.exercise.selected{background:#e8f2ed;box-shadow:inset 3px 0 var(--green)}.thumb{width:52px;height:52px;flex:0 0 52px;object-fit:contain;background:#f5f6f5;border-radius:4px}.exercise div{min-width:0}.exercise strong{display:block;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.exercise small{display:block;font-size:11px;color:#778178;margin-top:3px}.warning{color:#ab5024!important}
main{padding:28px 32px;min-width:0}.editor-heading{display:flex;align-items:start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}.eyebrow{font-size:11px;color:#7b857e}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:32px}.panel>label,.panel>.form-row{margin-bottom:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row-4{grid-template-columns:1.4fr 1fr 1fr 1fr}.meta-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:6px 0 14px;padding-top:14px;border-top:1px solid var(--line)}.preview{height:270px;background:white;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;border-radius:5px;overflow:hidden}.preview img{width:100%;height:100%;object-fit:contain}.preview span{color:#869089}.image-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px}.asset-name{font-size:11px;color:#6b7770;overflow-wrap:anywhere;min-height:14px}.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;max-height:410px;overflow:auto}.asset{padding:6px;min-width:0;border-radius:5px}.asset img{width:100%;height:78px;object-fit:contain;display:block}.asset span{font-size:10px;line-height:1.3;display:block;overflow-wrap:anywhere;margin-top:5px}.asset.selected{border:2px solid var(--green);padding:5px}.check{display:flex;gap:8px;align-items:center;margin-top:12px}.check input{width:auto;margin:0}details{border-top:1px solid var(--line);padding-top:18px}summary{cursor:pointer;font-weight:600;margin-bottom:12px}#metadata{font-family:monospace;font-size:12px;margin-bottom:10px}footer{padding:12px 24px;background:white;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;color:#6c776f;font-size:12px}.empty{padding:80px 20px;text-align:center;color:#64736a}dialog{max-width:480px;border:1px solid var(--line);border-radius:8px;padding:26px}dialog::backdrop{background:#14282070}dialog p{line-height:1.6}dialog .actions{justify-content:flex-end;margin-top:24px}[hidden]{display:none!important}#link-status{font-size:11px;color:var(--green);padding-top:6px;white-space:nowrap}
#upload-status{margin-top:12px;padding:12px 0;border-top:1px solid var(--line)}#upload-label{margin:0 0 8px;overflow-wrap:anywhere}#upload-progress{width:100%;height:12px;accent-color:var(--green)}#cancel-upload{margin-top:8px}
@media(min-width:1600px){.workspace{grid-template-columns:370px minmax(0,1fr)}main{padding:32px 48px}.editor-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);max-width:1300px}.preview{height:360px}}
@media(max-width:1050px){.editor-grid{grid-template-columns:1fr}.workspace{grid-template-columns:290px minmax(0,1fr)}main{padding:24px}.environment{display:none}}
@media(max-width:640px){header{padding:14px;gap:14px}header .actions{margin:0;width:100%;display:grid;grid-template-columns:1fr 1fr}header .actions button{font-size:12px}.workspace{display:block}aside{padding:16px;border-right:0;border-bottom:1px solid var(--line);position:static;height:auto;display:block}#list{max-height:205px;min-height:0}.filters{grid-template-columns:1fr 1fr}.list-meta{margin-top:12px}main{padding:22px 16px}.editor-heading{flex-wrap:wrap}.editor-grid{gap:24px}.preview{height:260px}.form-row{grid-template-columns:1fr 1fr}.image-toolbar{flex-wrap:wrap}footer{flex-wrap:wrap;padding:12px 16px}h2{font-size:23px}}

.lang-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.lang-tabs button{font-size:12px;padding:4px 10px;border-radius:99px}.lang-tabs button.active{background:var(--green);color:#fff;border-color:var(--green)}.lang-tabs button::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:#b8c2bc}.lang-tabs button.t-machine::before{background:#3b7dd8}.lang-tabs button.t-reviewed::before{background:#2e9b5f}.lang-tabs button.t-stale::before{background:#e08a2b}.lang-tabs button.active::before{background:#fff}
.translation-status{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#536059;margin:-4px 0 12px}.translation-status .check{margin:0}
.language-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:8px 0 10px}.language-grid label{display:flex;gap:8px;align-items:center;font-size:13px}fieldset{border:1px solid var(--line);border-radius:6px;padding:12px 14px;margin:0 0 14px}legend{font-size:12px;color:#536059;padding:0 4px}

.audio-status{display:flex;align-items:center;gap:12px;font-size:12px;color:#536059;margin:8px 0 14px;flex-wrap:wrap}.audio-status audio{height:32px;max-width:100%}

.prompt-box{margin-top:14px;border:1px solid var(--line);border-radius:6px;padding:10px 12px}.prompt-box summary{margin-bottom:8px}.prompt-box textarea{width:100%;font-size:12px;margin-bottom:8px}.hint{display:block;font-size:11px;color:#64736a;margin:4px 0 8px}
#sports-dialog{width:min(720px,92vw)}#sports-dialog label{display:block;margin-bottom:10px}#sports-dialog textarea,#sports-dialog input,#sports-dialog select{width:100%}

.sports-overview{padding:22px 24px}.overview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.overview-head h1{margin:0 0 4px}
#sports-table{width:100%;border-collapse:collapse;font-size:13px}#sports-table th{text-align:left;font-weight:550;color:#536059;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid var(--line)}#sports-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}
.sport-cell{display:flex;align-items:center;gap:10px}.sport-cell img,.sport-cell .nohero{width:56px;height:40px;object-fit:cover;border-radius:5px;background:#eef1ef;display:inline-block}.sport-cell small{display:block;color:#64736a}
.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:550;background:#eef1ef;color:#536059}.badge.live{background:#e3f1e8;color:#1a674f}.badge.off{background:#f6e7e3;color:#ab5024}.badge.draft{background:#fff3df;color:#8a5a00}
.meter{display:inline-block;min-width:110px}.meter span{display:block;height:6px;border-radius:3px;background:#e6ebe8;overflow:hidden}.meter span i{display:block;height:100%;background:var(--green)}.meter small{color:#64736a}

/* Inlogpagina's */
.login-body{margin:0;min-height:100vh;display:grid;place-items:center;background:#f0f3f1;padding:24px;box-sizing:border-box}
.login-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px;width:min(420px,100%);box-shadow:0 12px 40px rgba(20,40,30,.08)}
.login-card-wide{width:min(640px,100%)}
.login-card .brand{margin-bottom:22px}
.login-form label{margin-bottom:14px}
.login-form button{width:100%;margin-top:6px;padding:11px}
.login-error{background:#fff0ed;color:#9c3528;padding:10px 12px;border-radius:6px;margin:0 0 16px;font-size:13px}
.login-info{background:#e7f2eb;color:#225340;padding:10px 12px;border-radius:6px;margin:0 0 16px;font-size:13px}
.login-alt{margin-top:18px;text-align:center}
.linklike{border:0;background:none;color:#1a674f;text-decoration:underline;padding:4px;font-size:12px}
.login-setup{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}
.login-setup img{border:1px solid var(--line);border-radius:8px;image-rendering:pixelated}
.login-secret{display:block;font-size:13px;word-break:break-all;background:#f4f6f5;padding:8px 10px;border-radius:6px;margin:0 0 16px}
@media (max-width:560px){.login-setup{grid-template-columns:1fr}}

.sport-cell img,.sport-cell .nohero{cursor:pointer}.sport-cell .nohero{position:relative}.sport-cell .nohero::after{content:"+";position:absolute;inset:0;display:grid;place-items:center;color:#8a968f;font-size:18px}
.check-inline{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}.check-inline input{margin:0}
.hero-pick{display:flex;gap:6px;align-items:center}.hero-pick select{flex:1;width:auto}

/* Sporten-overzicht als kaarten */
.sport-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}
.sport-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.sport-card.is-off{opacity:.78}
.sport-hero{position:relative;aspect-ratio:3/2;background:#eef1ef;cursor:pointer}
.sport-hero img{width:100%;height:100%;object-fit:cover;display:block}
.sport-hero .nohero{position:absolute;inset:0;display:grid;place-items:center;color:#8a968f;font-size:13px}
.sport-hero .badge{position:absolute;top:12px;left:12px;font-size:12px;padding:4px 10px;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.sport-hero .hero-hint{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.92);border-radius:99px;padding:4px 10px;font-size:11px;color:#536059;opacity:0;transition:opacity .15s}
.sport-hero:hover .hero-hint{opacity:1}
.sport-body{padding:16px 18px 6px}
.sport-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}
.sport-title h2{margin:0;font-size:18px}
.sport-title small{display:block;color:#64736a;font-weight:400;margin-top:2px}
.sport-desc{color:#536059;font-size:13px;margin:0 0 12px;line-height:1.45}
.switch{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#536059;cursor:pointer;white-space:nowrap;user-select:none}
.switch input{appearance:none;width:40px;height:22px;border-radius:99px;background:#cbd4d0;position:relative;margin:0;cursor:pointer;transition:background .15s;padding:0;border:0}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .15s}
.switch input:checked{background:var(--green)}
.switch input:checked::after{left:21px}
.sport-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin:0 0 6px}
.sport-stat{font-size:12px;color:#536059}
.sport-stat strong{display:block;color:#252b2b;font-size:15px;margin-bottom:2px}
.sport-stat .meter{display:block;min-width:0;margin-top:4px}
.sport-stat .meter small{font-size:11px}
.sport-foot{display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px 16px;border-top:1px solid var(--line);margin-top:8px}
.sport-foot button{font-size:12px}
.sport-note{font-size:12px;color:#8a5a00;background:#fff3df;border-radius:6px;padding:6px 10px;margin:0 0 10px}
.sport-version{font-size:12px;color:#536059;margin:0 0 6px;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}.sport-version strong{color:#252b2b}
.hero-focus-box{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start;margin-bottom:16px}
.hero-focus-preview{position:relative;aspect-ratio:1;background:#eef1ef;border:1px solid var(--line);border-radius:8px;overflow:hidden;cursor:crosshair;display:grid;place-items:center;color:#8a968f;font-size:12px}
.hero-focus-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.hero-focus-marker{position:absolute;width:18px;height:18px;border:2px solid #fff;border-radius:50%;background:rgba(26,103,79,.75);box-shadow:0 0 0 2px rgba(0,0,0,.25);transform:translate(-50%,-50%);pointer-events:none}
@media (max-width:560px){.hero-focus-box{grid-template-columns:1fr}}

/* Hoofdtabs en subbalken */
.main-tabs{display:flex;gap:4px;background:#eef1ef;border-radius:99px;padding:3px}
.main-tabs button{border:0;background:transparent;border-radius:99px;padding:7px 16px;font-size:13px;font-weight:600;color:#536059}
.main-tabs button[aria-selected="true"]{background:#fff;color:#1a674f;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.subbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 24px;background:#fff;border-bottom:1px solid var(--line)}
.subbar-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#8a968f;margin-right:6px}
.subbar-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.subbar-hint{margin:0 0 0 auto;font-size:12px}
.sports-overview .subbar{margin:-22px -24px 18px;padding-left:24px;padding-right:24px}
@media (max-width:900px){.main-tabs{order:3}.subbar-hint{margin-left:0;width:100%}}

/* Keuzechips in de editor en het Opties-scherm */
.chip-field{margin-bottom:16px}
.chip-label{display:block;font-size:12px;font-weight:600;color:#536059;margin-bottom:6px}
.chip-select{display:flex;flex-wrap:wrap;gap:6px}
.chip-select button{border:1px solid #cbd4d0;background:#fff;color:#24332d;border-radius:99px;padding:5px 11px;font-size:12px;font-weight:500}
.chip-select button.on{background:var(--green);border-color:var(--green);color:#fff}
.chip-select button.foreign{border-style:dashed}
.chip-select .empty{font-size:12px;color:#8a968f;padding:4px 0}
.inline-select{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#536059}
.inline-select select{width:auto;padding:6px 10px}
.options-view{padding:0 24px 24px}
.options-view .subbar{margin:0 -24px 18px}
.option-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.option-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.option-card h3{margin:0 0 8px;font-size:14px}
.option-card ul{list-style:none;margin:0 0 10px;padding:0}
.option-card li{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid #eef1ef;font-size:13px}
.option-card li span.term{flex:1}
.option-card li small{color:#8a968f;white-space:nowrap}
.option-card li button{font-size:11px;padding:3px 8px;border-radius:99px}
.option-card .add{display:flex;gap:6px}
.option-card .add input{flex:1;padding:7px 9px}
.asset-grid .asset-note{grid-column:1/-1;margin:0 0 4px;font-size:11px;color:#6b7770}
.cue-dialog { width: min(980px, 96vw); max-width: none; }
.language-grid input { width: auto; margin: 0; }
.cue-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 8px 0; }
.cue-table-wrap { max-height: 50vh; overflow: auto; border: 1px solid rgba(0,0,0,.12); border-radius: 8px; }
.cue-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.cue-table th, .cue-table td { padding: 6px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(0,0,0,.08); }
.cue-table thead th { position: sticky; top: 0; z-index: 1; background: #fff; }
.cue-table tr.cue-group th { background: rgba(0,0,0,.04); font-weight: 600; }
.cue-table td small { display: block; margin-top: 2px; }
.cue-table code { font-size: 12px; white-space: nowrap; }
.cue-table .badge { white-space: nowrap; }
/* Animatie per oefening */
.video-preview{position:relative;background:#eef1ef;border-radius:8px;min-height:120px;display:grid;place-items:center;overflow:hidden;margin-top:8px;color:#8a968f;font-size:12px}
.video-preview video{width:100%;display:block;background:#000}
.toolbar-actions{display:flex;gap:6px;flex-wrap:wrap}
.loop-panel{margin-top:10px;display:grid;gap:10px}
.loop-bar{position:relative;display:flex;height:22px;border-radius:5px;overflow:hidden;background:#eef1ef}
.loop-bar span{display:block;height:100%;min-width:0}.loop-bar .seg-begin{background:#b9cbe4}.loop-bar .seg-lus{background:#8fc4a8}.loop-bar .seg-einde{background:#e8c79a}
.loop-bar i{position:absolute;top:0;bottom:0;width:2px;background:#1d2a25;left:0;pointer-events:none}
.loop-summary{margin:0;font-size:12px;color:#536059;line-height:1.5}
.loop-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.loop-fields label{font-size:12px}.loop-fields input[type=range]{width:100%;margin-top:6px;accent-color:var(--green)}
.loop-frames{display:grid;grid-template-columns:1fr 1fr;gap:8px}.loop-frames figure{margin:0}.loop-frames canvas{width:100%;height:auto;display:block;background:#eef1ef;border-radius:5px}.loop-frames figcaption{font-size:11px;color:#6b7770;margin-top:4px}
.loop-play{align-items:center}.loop-play label{display:flex;align-items:center;gap:6px;font-size:12px}.loop-play select{width:auto;padding:4px 6px}
.loop-actions{align-items:center}.loop-actions .hint{font-size:12px;color:#a0611a}

/* Eigen coach-teksten per sport en muziek per sport */
.cue-table input.cue-own-text { width: 100%; box-sizing: border-box; }
.music-dialog { width: min(720px, 96vw); max-width: none; }
.music-list { display: flex; flex-direction: column; gap: 8px; margin: 8px 0; }
.music-row { display: grid; grid-template-columns: 1fr auto auto auto; gap: 8px; align-items: center; border: 1px solid rgba(0,0,0,.12); border-radius: 8px; padding: 8px 10px; }
.music-row input { width: 100%; box-sizing: border-box; }
.music-row small { display: block; margin-top: 2px; word-break: break-all; }

/* Opnamestatus van coach-cues tijdens een lopende opname */
.cue-table td.cue-date { white-space: nowrap; font-size: 13px; }
.cue-table td.cue-date small { display: block; white-space: normal; }
.badge.is-busy { animation: cue-busy 1.2s ease-in-out infinite; }
@keyframes cue-busy { 50% { opacity: .45; } }
@media (prefers-reduced-motion: reduce) { .badge.is-busy { animation: none; } }

/* Cues kiezen om (opnieuw) op te nemen */
.cue-table .cue-pick { display: inline-flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 6px; width: auto; margin: 0; text-align: left; white-space: nowrap; cursor: pointer; }
.cue-table tr.cue-group th { text-align: left; }
.cue-pick input { margin: 0; }
.cue-table td.cue-listen { white-space: nowrap; }
.cue-table td.cue-listen button + button { margin-left: 6px; }

/* Voorbeeld: afspelen zoals de app */
.preview-dialog{width:min(860px,96vw);max-width:none}
.preview-toolbar{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin:14px 0 12px}
.preview-toolbar .inline-select{font-size:12px}
.preview-toolbar .hint{margin-left:auto;align-self:center}
.preview-stage{position:relative;height:min(46vh,340px);background:#0e1512;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.preview-stage video,.preview-stage img{width:100%;height:100%;object-fit:contain}
.preview-stage>span{color:#8b978f;font-size:13px}
.preview-overlay{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:baseline;gap:12px;padding:10px 14px;color:#fff;background:linear-gradient(transparent,#0b110ecc)}
.preview-overlay strong{font-size:16px;overflow-wrap:anywhere}
.preview-overlay span:first-child{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#cfe0d6}
.preview-overlay span:last-child{margin-left:auto;font-variant-numeric:tabular-nums;font-size:15px}
.preview-cue{min-height:42px;margin:12px 0 4px;line-height:1.5;color:#24332d}
.preview-plan{max-height:160px;overflow:auto;border:1px solid var(--line);border-radius:6px}
.preview-plan-line{display:flex;gap:14px;padding:6px 10px;border-bottom:1px solid #edf0ee;font-size:12px}
.preview-plan-line:last-child{border-bottom:0}
.preview-plan-line strong{flex:0 0 190px;font-weight:550;color:#536059}
.preview-plan-line span{color:#24332d;overflow-wrap:anywhere}

/* Vastgelegde versies terugzetten */
.backups-dialog{width:min(640px,96vw);max-width:none}
.backups-list{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow:auto}
.backup-line{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:6px;padding:10px 12px}
.backup-line div{min-width:0;flex:1}
.backup-line strong{display:block;font-size:13px}
.backup-line small{display:block;font-size:11px;color:#64736a;margin-top:2px}
.backup-line.current{background:#e8f2ed;border-color:#bcd7c9}

/* Op een telefoon: de opnamelijst bovenaan, want het volledige beheer is voor een groot scherm gemaakt. */
.phone-banner { display: grid; gap: 2px; margin: 12px 16px 0; padding: 14px 16px; border-radius: 12px; background: var(--green); color: white; text-decoration: none; }
.phone-banner strong { font-size: 18px; }
.phone-banner span { font-size: 14px; opacity: .9; }

/* Knop per gesproken tekst: alleen die opname opnieuw maken. */
.audio-status .audio-redo { margin-left: auto; font-size: 12px; padding: 4px 10px; white-space: nowrap; }
/* Elke opname onder de tekst: eerst de status op een eigen regel, daaronder de speler en de opnameknop. */
.audio-status>span:first-child{flex-basis:100%}

/* Editor in vlakken: wat bij elkaar hoort staat in één kader met een titel. */
.fields,.media{display:flex;flex-direction:column;gap:18px;min-width:0}
.media{position:sticky;top:calc(var(--header-h,80px) + 16px);align-self:start;max-height:calc(100vh - var(--header-h,80px) - 32px);overflow-y:auto}
.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px}
.panel>:last-child{margin-bottom:0}
.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid #eef1ef}
.panel-head h3{margin:0;font-size:15px;color:#24332d}
.panel-head .hint{margin:0;flex:1 1 220px;text-align:right}
.panel-head button{font-size:12px;padding:5px 10px}
.spoken-item{margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed #e3e8e5}
.spoken-item:last-child{border-bottom:0;padding-bottom:0}
.spoken-item .audio-status,.panel>.audio-status{margin:6px 0 0}
.panel>.audio-status{margin:-10px 0 16px}
details.panel-details{padding-top:14px}
details.panel-details summary{margin-bottom:0}
details.panel-details[open] summary{margin-bottom:12px}
details.sub-details{border-top:1px solid #eef1ef;padding-top:12px;margin-top:12px}
details.sub-details summary{margin-bottom:0;font-size:13px}
details.sub-details[open] summary{margin-bottom:10px}
.prompt-box.sub-details{border:0;border-top:1px solid #eef1ef;border-radius:0;padding:12px 0 0}
#content-review{background:#fff7ef;border:1px solid #f0d2bb;border-radius:10px;padding:14px 18px}
#content-review p{margin:6px 0}
@media(max-width:1050px){.media{position:static;max-height:none;overflow:visible}}

/* Knop per tekstveld: deze tekst laten schrijven */
.field-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.write-ai{font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px;color:var(--green);border-color:#bcd7c9;background:#f2f8f4}
.write-ai:hover{background:#e3f1e8}
.write-ai.busy{opacity:.7;cursor:progress}

/* Voortgang van vertalen en opnemen */
.pipeline-progress{display:grid;gap:6px;max-width:720px}
.pipeline-step{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:10px;align-items:center;opacity:.6}
.pipeline-step.active{opacity:1;font-weight:600}
.pipeline-step progress{width:100%;height:10px;accent-color:var(--green)}
.pipeline-progress .hint{margin:0}
#translate-record-current{font-size:12px;padding:5px 10px}

/* Goedgekeurd en vastgezet */
.approve-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.approve-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#24332d;cursor:pointer}
.approve-check input{width:18px;height:18px;margin:0;accent-color:var(--green)}
.approve-box .hint{margin:0 10px 0 0}
.approved-mark{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border-radius:50%;background:var(--green);color:#fff;font-size:11px;font-weight:700;vertical-align:1px}
#editor .locked .panel{background:#fafbfa}
#editor .locked textarea,#editor .locked input,#editor .locked select{color:#536059;background:#f4f6f5}

/* Coachverloop in de volgorde van de training */
.coach-group{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#8a968f;margin:4px 0 10px}
.coach-fixed{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:14px;padding-bottom:12px;border-bottom:1px dashed #e3e8e5}
.coach-fixed strong{font-size:13px}
.coach-fixed .hint{margin:2px 0 4px}
.coach-cue-text{margin:6px 0 2px}
.coach-cue-text input{width:100%;box-sizing:border-box}
.coach-quote{font-size:13px;color:#24332d;font-style:italic}
.coach-num{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e8f2ed;color:var(--green);font-size:11px;font-weight:700;margin-right:6px}
.coach-fixed>.coach-num{margin:0}
.field-head>span{display:inline-flex;align-items:center}
.approved-mark.incomplete{background:#fff;color:var(--green);box-shadow:inset 0 0 0 1.5px var(--green)}

/* Oefening verwijderen (24 okt 2026) */
.heading-actions{display:flex;align-items:start;gap:12px}.danger{color:#a3322a;border-color:#e2b9b4}.danger:hover{background:#fbeeec}.danger-solid{background:#a3322a;color:#fff;border-color:#a3322a}.danger-solid:hover{background:#86281f}.delete-sports{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
