:root{--ink:#211d2b;--muted:#706b78;--paper:#fff;--canvas:#f5f3f8;--violet:#57457b;--violet-dark:#382b56;--border:#ddd8e5;--danger:#b52d39;--danger-bg:#fff2f3;--ok:#16724a;--shadow:0 12px 35px rgba(42,31,62,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--canvas)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:20;min-height:68px;padding:0 clamp(18px,4vw,54px);display:flex;align-items:center;gap:34px;background:var(--violet-dark);color:#fff;box-shadow:0 4px 18px #1f163344}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-weight:750}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid #ffffff66;border-radius:50%;font-size:13px}.topbar nav{display:flex;gap:24px;flex:1}.topbar nav a{color:#eee8f8;text-decoration:none}.language select{background:#ffffff12;color:#fff;border:1px solid #ffffff55;border-radius:8px;padding:7px}.language option{color:#111}main{width:min(1100px,calc(100% - 32px));margin:42px auto 90px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{color:var(--violet);font-size:.8rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.page-header h1{font-size:clamp(2rem,4vw,3rem);margin:.25rem 0}.lead{color:var(--muted);margin:.2rem 0;max-width:700px}.button{border:0;border-radius:10px;padding:12px 18px;background:var(--violet);color:#fff;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button.secondary{background:#ebe7f1;color:var(--violet-dark)}.button.ghost{background:transparent;color:var(--violet);border:1px solid var(--border)}.button:disabled{background:#d7d3dc;color:#8b8790;cursor:not-allowed}.project-grid{display:grid;gap:15px}.project-card,.panel{background:var(--paper);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.project-card{padding:20px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.project-card h2{font-size:1.16rem;margin:0 0 8px}.meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:.92rem}.badges{display:flex;gap:6px;margin-top:12px}.badge{font-size:.78rem;padding:4px 8px;border-radius:999px;background:#eeeaf4;color:var(--violet-dark)}.badge.client{background:#fff0bf;color:#6c5000}.badge.jdn{background:#f8d9dd;color:#8b2630}.empty{background:#fff;border:1px dashed #c9c2d3;border-radius:16px;padding:58px 25px;text-align:center}.empty h2{margin-top:0}.panel{overflow:hidden}.form-section{padding:25px;border-bottom:1px solid var(--border)}.form-section:last-child{border-bottom:0}.form-section h2{font-size:1.15rem;margin:0 0 6px}.section-help{color:var(--muted);margin:0 0 20px;font-size:.92rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field.full{grid-column:1/-1}.field label,.field legend{display:block;font-weight:680;margin-bottom:7px}.optional{color:var(--muted);font-weight:400}.field input,.field textarea,.field select{width:100%;border:1px solid #bcb6c5;border-radius:10px;padding:12px;background:#fff;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid #836eb333;border-color:var(--violet)}.field.invalid input,.field.invalid textarea,.field.invalid select,.field.invalid .choices{border-color:var(--danger);background:var(--danger-bg)}.error{display:none;color:var(--danger);font-size:.86rem;margin:6px 0 0}.field.invalid .error{display:block}.hint{color:var(--muted);font-size:.84rem;margin:6px 0 0}.choices{border:1px solid transparent;border-radius:11px;display:grid;gap:8px;padding:4px}.choice{display:flex;gap:10px;padding:11px;border:1px solid var(--border);border-radius:10px;cursor:pointer}.choice input{width:auto}.actions{position:sticky;bottom:0;z-index:10;background:#ffffffee;backdrop-filter:blur(8px);border-top:1px solid var(--border);padding:15px 25px;display:flex;justify-content:space-between;gap:10px}.actions-right{display:flex;gap:10px}.duration-preview{font-weight:650;color:var(--violet);min-height:1.2em}.toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:#fff;padding:12px 17px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:none}.history{margin-top:24px}.history details{background:#fff;border:1px solid var(--border);border-radius:13px;padding:17px}.history-list{list-style:none;padding:0;margin:14px 0 0}.history-list li{padding:10px 0;border-top:1px solid var(--border);font-size:.9rem}.todo-list{display:grid;gap:12px;margin-top:22px}.todo{padding:15px;border-radius:12px;background:#faf8fc;border:1px solid var(--border)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.topbar{gap:15px;padding:0 15px}.brand>span:last-child{display:none}.topbar nav{gap:14px}.page-header{align-items:stretch;flex-direction:column}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.project-card{grid-template-columns:1fr}.actions{padding:12px;flex-wrap:wrap}.actions-right{margin-left:auto}}
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.page-heading h1{margin:.2rem 0}.panel{padding:24px;margin-bottom:22px}.panel>section{border-top:1px solid var(--border);margin-top:24px;padding-top:20px}.field-wide{grid-column:1/-1}.field>span,.field>label>span{display:block;font-weight:680;margin-bottom:7px}.checkbox-field{display:flex;align-items:center;gap:9px}.checkbox-field input{width:auto}.notice{align-self:end;background:#fff4d6;border:1px solid #e7c96f;border-radius:10px;padding:12px}.gear-list{display:grid;gap:10px}.gear-row{display:grid;grid-template-columns:minmax(240px,1fr) 110px 150px 140px;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:10px}.gear-row input,.gear-row select{width:100%;padding:10px;border:1px solid #bcb6c5;border-radius:8px;background:#fff}.field-error{color:var(--danger);font-size:.86rem;margin:6px 0 0}.sticky-actions{position:sticky;bottom:0;z-index:10;background:#ffffffee;border-top:1px solid var(--border);padding:15px 0 0;margin-top:24px;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@media(max-width:700px){.page-heading{align-items:stretch;flex-direction:column}.gear-row{grid-template-columns:1fr}.field-wide{grid-column:auto}}
.project-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.project-nav .button{padding:9px 12px}@media(max-width:700px){.project-nav{justify-content:flex-start}}
.page-heading{position:sticky;top:68px;z-index:15;padding:12px 0;background:var(--canvas)}
.badge.complete{background:#dff3e9;color:var(--ok)}.todo-project>header,.todo{display:flex;align-items:center;justify-content:space-between;gap:16px}.todo-project>header h2,.todo h3{margin:0}.todo-project>header p{margin:5px 0 0;color:var(--muted)}
.todo-display{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 8px;min-width:0;flex:1}.todo-display .badge{grid-column:1}.todo-display h3{grid-column:2;min-width:0}.todo-display .todo-meta{grid-column:2;color:var(--muted)}.general-todos .todo{padding:10px 15px;min-height:58px}.general-todos .todo-done-check{margin:-10px 0 -10px -15px}
.todo-clickable{cursor:pointer}.todo-clickable:hover{box-shadow:0 5px 18px #21443122;border-color:#789382}.todo-clickable:focus-visible{outline:3px solid #d7ad32;outline-offset:2px}
.todo-done-check{align-self:stretch;flex:0 0 78px;height:auto;min-height:38px;margin:-15px 0 -15px -15px;border:0;border-right:1px solid #c8c8c8;border-radius:10px 0 0 10px;background:#e8e8e8;color:#555;font-weight:800;font-size:.92rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.todo-done-check span{font-size:1.45rem;line-height:1}.todo-done-check:hover,.todo-done-check:focus-visible{background:#d9d9d9;outline:3px solid #8885;outline-offset:-3px}.todo-done-check.is-done{background:#dcece2;color:#24553d;border-color:#9fc2ad}.todo-done-check.is-done:hover,.todo-done-check.is-done:focus-visible{background:#bcdcc8;outline-color:#4f826766}
.venue-access-confirmation{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:8px 14px;border:1px solid #d2ad48;border-radius:10px;background:#fff3c4;color:#705615;cursor:pointer}.venue-access-confirmation input{position:absolute;opacity:0;pointer-events:none}.venue-access-confirmation span{font-size:1.55rem;line-height:1}.venue-access-confirmation.is-confirmed{border-color:#9fc2ad;background:#dcece2;color:#24553d}.venue-access-time-field.is-pending{padding:9px;border:1px solid #d2ad48;border-radius:10px;background:#fff3c4}.venue-access-planning{padding:11px 13px;border-radius:9px;background:#eef3f0;color:#315f49}.venue-access-planning.is-pending{border:1px solid #d2ad48;background:#fff8dc;color:#705615}.venue-access-planning.is-invalid{border:1px solid #cb7777;background:#fff0f0;color:#8f2929}.venue-access-planning.is-valid{border:1px solid #9fc2ad;background:#edf6f0;color:#24553d}
.contact-row{grid-template-columns:120px minmax(140px,.9fr) minmax(150px,1fr) minmax(160px,1fr) minmax(260px,1.8fr) max-content 44px;width:100%}.contact-row .field{margin:0;min-width:0}.contact-row .checkbox-field{min-width:0}.contact-row .contact-updates{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;width:max-content}.contact-row .contact-updates span{display:inline;font-weight:650;line-height:1}.contact-row .contact-updates input{width:auto;margin:0}.contact-row [data-remove-contact]{width:44px;height:44px;padding:0;justify-self:end}@media(max-width:1050px){.contact-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.contact-row .checkbox-field{white-space:nowrap}.contact-row [data-remove-contact]{grid-column:2;justify-self:end}}
.contact-row .field input:required:invalid{border-color:var(--danger);background:var(--danger-bg)}
.contact-row.contact-duplicate{border-color:var(--danger);background:var(--danger-bg);box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 16%,transparent)}.contact-row input.contact-duplicate-field{border-color:var(--danger);background:#fff;color:var(--danger)}.contact-duplicate-message{grid-column:1/-1;margin:0;color:var(--danger);font-size:.86rem;font-weight:750}
.email-field-with-action{position:relative}.email-field-with-action input[type=email],.email-field-with-action input[type=tel]{padding-right:45px}.email-link,.phone-link{position:absolute;right:10px;bottom:10px;z-index:2;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#e2e9e5;color:#315f49;font-size:1rem;text-decoration:none}.email-link:hover,.phone-link:hover{background:#d2e0d8}.label-contacts{grid-column:1/-1;background:#f7faf8;border:1px solid #bdcac3;border-radius:12px;padding:14px}.label-contacts .gear-list{margin-top:8px}.label-contact-row{grid-template-columns:130px minmax(120px,1fr) minmax(140px,1fr) minmax(280px,2fr)}.label-contact-email{display:flex;align-items:center;gap:8px;min-width:0}.label-contact-email>span{overflow-wrap:anywhere}.label-contacts .email-link{position:static;display:inline-grid;flex:0 0 auto;margin-left:auto;vertical-align:middle}@media(max-width:900px){.label-contact-row{grid-template-columns:1fr 1fr}.label-contact-email{grid-column:1/-1}}
.project-documents{margin-top:24px;padding:24px}.document-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.document-list{display:grid;gap:10px;padding-left:20px}.document-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px}.document-actions{display:flex;align-items:center;gap:7px}.document-list .button{padding:7px 11px;font-size:.86rem}.document-list .danger{background:#f2c8cc;color:#7f252d}@media(max-width:700px){.document-upload-grid{grid-template-columns:1fr}.document-list li{align-items:flex-start;flex-direction:column}.document-actions{flex-wrap:wrap}}
.project-documents-direct{padding:16px 18px}.project-documents-direct .section-heading{margin-bottom:8px}.project-documents-direct .section-heading h2,.project-documents-direct .section-heading p{margin:0}.project-document-import{display:flex;align-items:center;gap:7px}.project-document-import select{max-width:190px;padding:9px 32px 9px 10px;border:1px solid var(--border);border-radius:9px;background:#fff}.document-list-compact{gap:4px;margin:0;padding:0;list-style:none}.document-list-compact li{min-height:42px;padding:5px 7px;border-top:1px solid var(--border)}.document-row-name{display:flex;align-items:baseline;gap:9px;min-width:0}.document-row-name strong{white-space:nowrap}.document-row-name small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.document-list-compact .button{padding:6px 9px;font-size:.78rem}.document-list-compact .trash-button{width:32px;height:32px}.project-documents-direct .document-upload-state{min-height:0;margin:3px 0;color:var(--muted);font-size:.82rem}@media(max-width:760px){.project-documents-direct .section-heading{align-items:stretch;flex-direction:column}.project-document-import{align-items:stretch}.project-document-import select{max-width:none;flex:1}.document-list-compact li{align-items:stretch}.document-row-name{display:grid;gap:1px}.document-actions{width:100%;display:grid!important;grid-template-columns:repeat(3,1fr) 36px}.document-actions .button{margin:0!important}}
.project-section-title{display:flex;align-items:baseline;gap:12px}.project-section-title h2{margin:0}.project-section-count{color:var(--muted);font-size:.88rem;white-space:nowrap}.project-section-empty{padding-block:12px}.project-section-empty .section-heading,.project-section-empty>header{align-items:center;margin:0}.project-section-empty .document-upload-state,.project-section-empty>.form-message:empty{display:none}@media(max-width:700px){.project-section-empty .section-heading,.project-section-empty>header{align-items:stretch;flex-direction:column}.project-section-title{justify-content:space-between}}
.project-expenses{margin-top:18px;padding:20px}.project-expenses>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.project-expenses>header h2,.project-expenses>header p{margin:0}.project-expense-header-actions{display:flex;align-items:center;gap:7px}.project-expense-list{display:grid;gap:5px;margin-top:12px}.project-expense-row{display:grid;grid-template-columns:100px minmax(180px,1.5fr) minmax(180px,1fr) 125px auto;align-items:center;gap:10px;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:#f9fbfa}.project-expense-row time,.project-expense-row span{color:var(--muted);font-size:.82rem}.project-expense-row b{text-align:right;white-space:nowrap}.project-expense-row .button{padding:7px 10px;font-size:.8rem;white-space:nowrap}.project-expense-camera{width:min(900px,calc(100% - 30px));border:0;border-radius:16px;padding:20px;box-shadow:0 20px 60px #1f302855}.project-expense-camera::backdrop{background:#17251fcc}.project-expense-camera .expense-webcam-stage{margin:12px 0;max-height:65vh}.project-expense-camera video,.project-expense-camera canvas{display:block;max-width:100%;max-height:65vh;margin:auto}.project-expense-camera [hidden]{display:none!important}@media(max-width:800px){.project-expenses>header{align-items:stretch;flex-direction:column}.project-expense-header-actions{justify-content:flex-start}.project-expense-row{grid-template-columns:1fr auto}.project-expense-row span{grid-column:1}.project-expense-row b{grid-column:2;grid-row:1}.project-expense-row .button{grid-column:2;grid-row:2/4}}
.project-expense-analysis{width:min(1180px,calc(100% - 30px));max-height:calc(100vh - 30px);overflow:auto;border:0;border-radius:16px;padding:20px;box-shadow:0 20px 60px #1f302855}.project-expense-analysis::backdrop{background:#17251fcc}.project-expense-analysis header h2,.project-expense-analysis header p{margin:0}.project-expense-analysis-body{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(360px,.9fr);gap:16px;margin-top:14px}.project-expense-analysis iframe{width:100%;height:60vh;border:1px solid var(--border);border-radius:10px;background:#eee}.project-expense-analysis-results{display:grid;align-content:start;gap:8px;max-height:60vh;overflow:auto}.project-expense-analysis-results article{padding:12px;border:1px solid var(--border);border-radius:9px;background:#f7faf8}.project-expense-analysis-results dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:8px 0 0}.project-expense-analysis-results dl div{display:grid;grid-template-columns:70px 1fr;gap:5px}.project-expense-analysis-results dt{color:var(--muted);font-size:.8rem}.project-expense-analysis-results dd{margin:0;font-weight:700}.project-expense-analysis-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}@media(max-width:800px){.project-expense-analysis-body{grid-template-columns:1fr}.project-expense-analysis iframe{height:42vh}.project-expense-analysis-results{max-height:none}.project-expense-analysis-actions{align-items:stretch;flex-direction:column-reverse}.project-expense-analysis-actions .button{width:100%}}
.project-expense-frames{width:calc(100vw - 12px);height:calc(100vh - 12px);max-width:none;max-height:none;overflow:hidden;border:0;border-radius:12px;padding:12px;box-shadow:0 20px 60px #1f302855}.project-expense-frames::backdrop{background:#17251fee}.project-expense-frames header h2,.project-expense-frames header p{margin:0 0 3px}.project-expense-frame-stage{display:block;height:calc(100vh - 155px);margin:8px 0;padding:8px;overflow:auto;border-radius:10px;background:#26332d;text-align:center}.project-expense-frame-stage canvas{display:block;width:100%;max-width:none;height:auto;margin:auto;touch-action:none;cursor:crosshair}.project-expense-frame-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.project-expense-frame-actions .button{padding:8px 11px}.project-expense-frame-actions [data-project-frame-count]{margin-right:auto;font-weight:750}.project-frame-zoom{display:inline-flex;align-items:center;gap:4px;padding:2px 5px;border:1px solid var(--border);border-radius:9px;background:#f5f7f6}.project-frame-zoom .button{min-width:36px;padding:6px 9px}.project-frame-zoom output{min-width:55px;text-align:center;font-size:.8rem;font-weight:750}@media(max-width:700px){.project-expense-frame-stage{height:calc(100vh - 225px)}.project-expense-frame-actions .button{flex:1 1 auto}.project-expense-frame-actions [data-project-frame-count]{order:-1;flex-basis:100%}.project-frame-zoom{width:100%;justify-content:center}}
.project-expense-analysis{width:calc(100vw - 12px);height:calc(100vh - 12px);max-width:none;max-height:none;padding:14px;overflow:hidden}.project-expense-analysis-body{height:calc(100vh - 145px);grid-template-columns:minmax(0,1.65fr) minmax(340px,.85fr)}.project-expense-analysis iframe{height:100%}.project-expense-analysis-results{max-height:100%}@media(max-width:800px){.project-expense-analysis{overflow:auto}.project-expense-analysis-body{height:auto;grid-template-columns:1fr}.project-expense-analysis iframe{height:52vh}.project-expense-analysis-results{max-height:none}}
.project-analysis-expense-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(125px,.8fr) minmax(95px,.65fr) 72px;gap:7px;padding:9px;border:1px solid var(--border);border-radius:9px;background:#f7faf8}.project-analysis-expense-form .analysis-account{grid-column:1/5}.project-analysis-expense-form>p{grid-column:5;margin:0;align-self:end;color:var(--muted);font-size:.75rem}.analysis-field{display:grid;gap:3px;min-width:0}.analysis-field>span{color:var(--muted);font-size:.72rem}.analysis-field input,.analysis-field select{width:100%;min-width:0;padding:7px 8px;border:1px solid #aebbb4;border-radius:7px;background:#fff}.analysis-field input:focus,.analysis-field select:focus{outline:2px solid #3f755c44;border-color:#3f755c}@media(max-width:1050px){.project-analysis-expense-form{grid-template-columns:1fr 1fr}.project-analysis-expense-form .analysis-account,.project-analysis-expense-form>p{grid-column:auto}.analysis-merchant{grid-column:1/-1}}
.analysis-frame-number{grid-column:1/-1;color:#a42636;font-size:.86rem}.project-analysis-scan-preview{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;border:1px solid var(--border);border-radius:10px;background:#26332d;overflow:hidden}.project-analysis-scan-preview canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;margin:auto}.project-analysis-scan-preview nav{display:flex;align-items:center;justify-content:center;gap:10px;padding:7px;background:#f5f7f6}.project-analysis-scan-preview nav .button{padding:7px 10px;font-size:.78rem}@media(max-width:800px){.project-analysis-scan-preview{height:52vh}}
.project-expense-frame-stage canvas.manual-frame-mode{cursor:crosshair}.project-expense-frames [data-project-frame-manual]{background:#dcebe3;color:#244b39;border:1px solid #8fac9d}
.project-frame-working{position:absolute;left:50%;top:50%;z-index:4;display:flex;align-items:center;gap:18px;width:min(560px,calc(100% - 40px));padding:22px 26px;border:1px solid #9db3a7;border-radius:14px;background:#f8fbf9;box-shadow:0 18px 55px #102b1e66;transform:translate(-50%,-50%)}.project-frame-working[hidden]{display:none}.project-frame-working strong{font-size:1.15rem}.project-frame-working p{margin:5px 0 0;color:var(--muted)}.project-frame-spinner{flex:0 0 auto;width:46px;height:46px;border:5px solid #cbdad2;border-top-color:#315f49;border-radius:50%;animation:project-frame-spin .8s linear infinite}.project-expense-frames.is-analyzing .project-expense-frame-stage{opacity:.38;filter:grayscale(.3)}.project-expense-frames.is-analyzing{position:relative}.project-expense-frames.is-analyzing .project-expense-frame-actions{opacity:.45;pointer-events:none}@keyframes project-frame-spin{to{transform:rotate(360deg)}}
.project-analysis-expense-form.has-duplicate-warning{border-color:#b63c48;background:#fff3f4}.analysis-duplicate-warning{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border:1px solid #d66b75;border-radius:8px;background:#ffe1e4;color:#84232d}.analysis-duplicate-warning input{flex:0 0 auto;margin-top:3px}.analysis-duplicate-warning strong{color:#a21f2d}
.project-expense-row.is-probable-duplicate{border-color:#c84755;background:#fff2f3}.expense-duplicate-badge{padding:4px 7px;border-radius:999px;background:#b62e3c;color:#fff;font-size:.72rem;font-style:normal;font-weight:800;white-space:nowrap}
.project-expense-row-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:5px;color:inherit!important}.project-expense-reassign{display:flex;align-items:center;gap:5px}.project-expense-reassign select{min-width:150px;max-width:220px;padding:8px;border:1px solid #bdcac3;border-radius:8px;background:#fff}.project-expense-row .project-expense-delete{min-width:34px;padding:7px;color:#fff}@media(max-width:900px){.project-expense-row-actions,.project-expense-reassign{flex-wrap:wrap}.project-expense-reassign{width:100%}.project-expense-reassign select{flex:1}}
.todo-target{position:relative;border-color:#d8b84a!important;box-shadow:0 0 0 2px #f6e7a5!important;background:#fff9dc!important}.todo-target input,.todo-target select,.todo-target textarea{background:#fffdf3}.todo-field-badge{display:table;width:max-content;max-width:100%;margin:0 0 7px;padding:3px 8px;border-radius:999px;background:#f3dc83;color:#5d4a08;font-size:.76rem;font-weight:750}.todo-focus{animation:todo-focus-pulse .7s ease-in-out 3}@keyframes todo-focus-pulse{50%{box-shadow:0 0 0 7px #e3bd3f66!important}}
.travel-decision.todo-complete{background:#f0f1f1;border-color:#aeb3b1;color:#4f5552}.travel-decision.todo-complete input,.travel-decision.todo-complete select,.travel-decision.todo-complete textarea{background:#f7f8f8}
.badge.label{background:#dce7f5;color:#315477}
.stakeholder-preview>h2{margin-top:0}.stakeholder-preview dl{display:grid;gap:8px}.stakeholder-preview dl>div{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.stakeholder-preview dt{font-weight:700}.stakeholder-preview dd{margin:0}.stakeholder-preview>section{margin-top:14px;padding:14px;border-radius:10px;background:#eef3f0}@media(max-width:700px){.stakeholder-preview dl>div{grid-template-columns:1fr;gap:2px}}
.stakeholder-menu,.recipient-view-menu{display:flex;align-items:center;gap:7px;color:#526159;font-size:.78rem;font-weight:750}.stakeholder-menu select,.recipient-view-menu select{max-width:360px;padding:8px 34px 8px 10px;border:2px solid #557461;border-radius:9px;background:#e4efe8;color:#254c38;font:inherit;font-weight:750}.recipient-view-menu{margin-top:9px}.recipient-view-menu select{max-width:100%;padding:5px 30px 5px 8px;font-size:.72rem}
.project-todo-picker{position:relative;display:block}.project-todo-picker>summary{display:flex;align-items:center;gap:7px;padding:8px 12px;border:2px solid #557461;border-radius:9px;background:#e4efe8;color:#254c38;cursor:pointer;list-style:none}.project-todo-picker>summary::-webkit-details-marker{display:none}.project-todo-picker>summary::after{content:'▾';margin-left:4px}.project-todo-picker[open]>summary::after{content:'▴'}.project-todo-picker>nav{position:absolute;right:0;z-index:30;display:grid;min-width:260px;margin-top:5px;padding:6px;border:1px solid #9bb0a2;border-radius:10px;background:#fff;box-shadow:var(--shadow)}.project-todo-picker>nav a{padding:9px 11px;border-radius:7px;color:#254c38;text-decoration:none}.project-todo-picker>nav a:hover,.project-todo-picker>nav a.active{background:#e4efe8;font-weight:800}@media(max-width:700px){.project-todo-picker>nav{right:auto;left:0}}
.project-navigation{display:grid;gap:9px;justify-items:end}.project-navigation .pages-nav{padding-top:9px;border-top:1px solid var(--border)}@media(max-width:700px){.project-navigation{justify-items:start}}
.project-page-wheel .active{background:#315f49;border-color:#315f49;color:#fff}
.project-page-picker>summary{display:none}
@media(max-width:700px){.page-heading{position:static;top:auto;padding:4px 0}.project-navigation{width:100%}.project-page-picker{width:100%}.project-page-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border:2px solid #3f7559;border-radius:10px;background:#e3eee7;color:#315f49;cursor:pointer;list-style:none}.project-page-picker>summary::-webkit-details-marker{display:none}.project-page-picker>summary span{font-size:.7rem;text-transform:uppercase}.project-page-picker>summary strong{font-size:.86rem}.project-page-picker>summary::after{content:'⌄';font-size:1rem}.project-page-picker[open]>summary::after{content:'⌃'}.project-navigation .project-page-wheel{position:relative;display:block;width:100%;height:92px;margin-top:5px;padding:30px 0;border:1px solid #b8c8bf;border-radius:12px;background:linear-gradient(#edf3ef,#fff 34%,#fff 66%,#edf3ef);overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none}.project-page-wheel::-webkit-scrollbar{display:none}.project-page-wheel .button{display:flex;align-items:center;justify-content:center;width:100%;height:32px;margin:0;padding:5px 12px;border:0;border-radius:7px;background:#e7efe9;color:#789083;font-size:.72rem;font-weight:680;opacity:.62;scroll-snap-align:center;transition:opacity .15s,transform .15s}.project-page-wheel .button.active{background:#3f7559;color:#fff;font-size:.9rem;font-weight:800;opacity:1;transform:scale(.98);box-shadow:0 3px 8px #244c3833}.project-page-wheel .button:first-child{scroll-margin-top:30px}.project-page-wheel .button:last-child{scroll-margin-bottom:30px}}
@media(max-width:700px){.project-navigation .project-page-wheel{display:grid;height:auto;max-height:none;padding:5px;gap:3px;overflow:visible;scroll-snap-type:none;background:#f7faf8}.project-page-wheel .button{height:auto;min-height:36px;padding:8px 12px;justify-content:flex-start;font-size:.82rem;opacity:1;scroll-snap-align:none}.project-page-wheel .button.active{font-size:.82rem;transform:none}}
.stakeholder-actions{display:grid;gap:12px}.stakeholder-action{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid var(--border);border-radius:12px;background:#f7f9f8}.stakeholder-action-link{color:inherit;text-decoration:none;cursor:pointer}.stakeholder-action-link:hover,.stakeholder-action-link:focus-visible{border-color:#648a76;box-shadow:0 6px 18px #244b3924;transform:translateY(-1px)}.stakeholder-action-link:focus-visible{outline:3px solid #3f755c55;outline-offset:2px}.stakeholder-action.todo-action{background:#fff3c4;border-color:#d5b94f}.stakeholder-action h2{margin:0;font-size:1.05rem}.stakeholder-action p{margin:5px 0 0;color:var(--muted)}@media(max-width:700px){.stakeholder-action{align-items:stretch;flex-direction:column}}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-heading h2{margin:0}
.upc-entry{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:10px}.upc-entry output{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:10px;background:#f5f3f8;color:var(--muted)}.upc-entry output small{font-size:.72rem}.upc-entry output strong{font-size:1.15rem;color:var(--violet-dark)}
.isrc-preview { display: block; white-space: pre-line; }

/* Identité Studio Noir — verts sobres, gris clairs et hiérarchie des zones */
:root{--ink:#1f2925;--muted:#66716c;--paper:#f8faf9;--canvas:#e9eeeb;--violet:#3f755c;--violet-dark:#244b39;--border:#cbd4cf;--danger:#a53b42;--danger-bg:#fff1f2;--ok:#27704c;--shadow:0 12px 32px rgba(28,58,43,.09)}
body{background:linear-gradient(180deg,#eef2f0 0,#e5ebe7 100%);color:var(--ink)}
.topbar{background:linear-gradient(110deg,#193b2b,#315f49);box-shadow:0 4px 18px rgba(25,59,43,.26)}
.topbar .global-undo{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid #ffffff66;border-radius:50%;background:#ffffff16;color:#fff;font-size:1.35rem;line-height:1;cursor:pointer}.topbar .global-undo:hover:not(:disabled){background:#ffffff2b}.topbar .global-undo:disabled{opacity:.35;cursor:not-allowed}
.global-history-actions{display:flex;gap:.35rem}.settings-trash-list{display:grid;gap:.55rem;margin:1rem 0}.settings-trash-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem;border:1px solid var(--line,#d4ddd7);border-radius:10px;background:#fff}.settings-trash-row>div:first-child{display:grid;gap:.2rem}.settings-trash-row>div:last-child{display:flex;gap:.45rem;flex-wrap:wrap}.settings-trash-row small{color:#647168}@media(max-width:700px){.settings-trash-row{align-items:stretch;flex-direction:column}.settings-trash-row>div:last-child .button{flex:1}}
.settings-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}.settings-trash-shortcut{position:relative;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #bcc9c1;border-radius:12px;background:#edf2ee;color:#244d3b;font-size:1.25rem;cursor:pointer;box-shadow:0 4px 12px #173b2c14}.settings-trash-shortcut:hover{background:#dfe9e2}.settings-trash-shortcut span{position:absolute;right:-6px;top:-7px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#a93636;color:#fff;font-size:.68rem;font-weight:800}
.expert-mode-banner{position:sticky;top:1rem;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;padding:.75rem 1rem;border:2px solid #a93636;border-radius:12px;background:#fff0ed;color:#762222;box-shadow:0 8px 24px #5d17172b}.expert-mode-banner div{display:grid;gap:.15rem}.expert-mode-banner strong{letter-spacing:.08em}.expert-mode-banner span{font-size:.86rem}.expert-mode-banner .button{white-space:nowrap;background:#a93636}.settings-expert{border:2px solid #c67b73}.expert-mode .settings-expert{background:#fff7f5}@media(max-width:700px){.expert-mode-banner{align-items:stretch;flex-direction:column}.expert-mode-banner .button{width:100%}}
.billing-addresses{display:grid;gap:.75rem}.billing-addresses>legend{font-weight:800}.billing-addresses-list,#billing-addresses-list{display:grid;gap:.85rem}.billing-address-row,.invoice-billing-address-card{overflow:hidden;border:2px solid #c4d1c9;border-radius:13px;background:#f8faf8;box-shadow:0 3px 10px #173b2c12}.billing-address-row[open],.invoice-billing-address-card[open]{border-color:#688c79;background:#fff}.billing-address-row>summary,.invoice-billing-address-card>summary{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;background:#e8efea;cursor:pointer;list-style:none}.billing-address-row>summary::-webkit-details-marker,.invoice-billing-address-card>summary::-webkit-details-marker{display:none}.billing-address-row>summary::before,.invoice-billing-address-card>summary::before{content:'›';font-size:1.25rem;font-weight:900;transform:rotate(0deg);transition:transform .15s}.billing-address-row[open]>summary::before,.invoice-billing-address-card[open]>summary::before{transform:rotate(90deg)}.billing-address-row>summary strong,.invoice-billing-address-card>summary strong{min-width:78px}.billing-address-row>summary span,.invoice-billing-address-card>summary span{color:#4f6257;font-weight:700}.billing-address-row-content,.invoice-billing-address-card>.form-grid,.invoice-billing-address-card>small,.invoice-billing-address-card>.card-actions,.invoice-billing-address-card>.form-message{margin:.85rem 1rem}.billing-address-row>[data-billing-detection]{color:#52645a;font-weight:650}.billing-address-row-content>.card-actions{justify-content:flex-end}.billing-address-vat{align-self:end;min-height:46px}.billing-internal-name{max-width:360px}.billing-currency{max-width:190px}.billing-recipient-email{max-width:460px}
.invoice-saved-billing-addresses{display:grid;gap:.65rem;margin:.8rem 0}.invoice-saved-billing-address>summary{justify-content:space-between}.invoice-saved-billing-address>summary::before{order:-1}.invoice-saved-billing-address>summary strong{flex:1}.invoice-saved-billing-address>summary span{color:#77827c;font-weight:600}.invoice-saved-billing-address-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;margin:.8rem 1rem}.invoice-saved-billing-address-content p{margin:.35rem 0;line-height:1.35}.invoice-saved-billing-address-content small{color:#52645a;font-weight:650}.invoice-billing-address-actions{display:flex;justify-content:flex-end;margin:.75rem 0 1rem}.invoice-billing-address-actions .button{white-space:nowrap}.invoice-new-billing-address>[data-new-billing-detection]{display:block;margin:.5rem 1rem;color:#52645a;font-weight:650}.invoice-new-billing-address .form-message{margin:.5rem 1rem}.commercial-invoice-settings-dialog .invoice-billing-address-card>.form-grid{grid-template-columns:minmax(190px,.75fr) minmax(250px,1.25fr)}.commercial-invoice-settings-dialog .invoice-billing-address-card .field-wide{grid-column:1/-1}@media(max-width:700px){.invoice-saved-billing-address>summary{align-items:flex-start;flex-wrap:wrap}.invoice-saved-billing-address>summary span{width:100%;padding-left:2rem}.invoice-saved-billing-address-content{grid-template-columns:1fr}.invoice-saved-billing-address-content .button,.invoice-billing-address-actions .button{width:100%}.commercial-invoice-settings-dialog .invoice-billing-address-card>.form-grid{grid-template-columns:1fr}}
.billing-address-row>summary em{margin-left:auto;color:#8a3939;font-size:.78rem;font-style:normal;font-weight:800;text-transform:uppercase}.billing-address-row.billing-address-disabled{border-color:#c8c8c8;filter:saturate(.35)}.billing-address-row.billing-address-disabled>summary{background:#ededed}.invoice-address-summary-options{display:flex;align-items:center;gap:.75rem;margin-left:auto}.invoice-address-link-toggle,.invoice-address-fraction-toggle{display:flex;align-items:center;gap:.45rem;color:#294c3c;font-size:.88rem;font-weight:750;white-space:nowrap}.invoice-address-link-toggle input,.invoice-address-fraction-toggle input{width:auto;margin:0}.invoice-address-fraction-toggle:has(input:disabled){color:#89938e}@media(max-width:700px){.invoice-address-summary-options{width:100%;padding-left:2rem}}
.invoice-allocation-section>p{margin:.25rem 0 .8rem;color:#52645a}.invoice-allocation-table th:not(:first-child),.invoice-allocation-table td:not(:first-child){width:120px;text-align:center}.invoice-allocation-table th small{display:block;margin-top:3px;color:#77827c;font-weight:600}.invoice-allocation-table td:first-child strong,.invoice-allocation-table td:first-child small{display:block}.invoice-allocation-table td:first-child small{margin-top:3px;color:#687870}.invoice-allocation-table input[type="radio"]{width:20px;height:20px;accent-color:#315f49}.invoice-allocation-table tbody tr:has(input:checked){background:#f8fbf9}@media(max-width:700px){.invoice-allocation-table th:not(:first-child),.invoice-allocation-table td:not(:first-child){min-width:92px}}
.invoice-fraction-list{display:grid;gap:.65rem}.invoice-fraction-row{display:grid;grid-template-columns:minmax(82px,.5fr) minmax(100px,.8fr) auto auto minmax(150px,1.2fr);align-items:end;gap:.7rem;padding:.7rem .8rem;border:1px solid #c8d4cd;border-radius:10px;background:#f8faf8}.invoice-fraction-row>strong,.invoice-fraction-row>span{align-self:center}.invoice-fraction-row>span{overflow:hidden;color:#69776f;text-overflow:ellipsis;white-space:nowrap}.invoice-fraction-row label{display:grid;gap:3px}.invoice-fraction-row label small{color:#65736b;font-weight:750}.invoice-fraction-row label>span{display:flex;align-items:center;gap:4px;white-space:nowrap}.invoice-fraction-row input{padding:8px 9px}.invoice-fraction-row [data-invoice-fraction-percent]{width:9ch;max-width:9ch;-moz-appearance:textfield}.invoice-fraction-row [data-invoice-fraction-percent]::-webkit-inner-spin-button,.invoice-fraction-row [data-invoice-fraction-percent]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.invoice-fraction-row [data-invoice-fraction-amount]{width:13ch;max-width:13ch}.invoice-fraction-label input{min-width:150px}@media(max-width:850px){.invoice-fraction-row{grid-template-columns:auto minmax(0,1fr) auto auto}.invoice-fraction-label{grid-column:1/-1}}@media(max-width:600px){.invoice-fraction-row{grid-template-columns:1fr 1fr}.invoice-fraction-row>strong,.invoice-fraction-row>span,.invoice-fraction-label{grid-column:1/-1}.invoice-fraction-row [data-invoice-fraction-percent],.invoice-fraction-row [data-invoice-fraction-amount]{width:100%;max-width:none}}
.view-history-navigation{display:flex;align-items:center;gap:5px}.view-history-navigation button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #ffffff66;border-radius:50%;background:#ffffff16;color:#fff;font-size:1.12rem;cursor:pointer}.view-history-navigation button:hover:not(:disabled){background:#ffffff2b}.view-history-navigation button:disabled{opacity:.28;cursor:default}@media(max-width:700px){.view-history-navigation{order:1}.view-history-navigation button{width:32px;height:32px}.topbar .return-link{display:none}}
.topbar nav a{color:#e8f1ec}.language select,.topbar select{background:#f4f8f5;color:#244b39;border-color:#9db5a8}
.page-heading{background:linear-gradient(180deg,rgba(233,238,235,.98),rgba(233,238,235,.94))}
.eyebrow,.duration-preview{color:#3b7056}
.panel,.card,.project-card{background:#f6f8f7;border-color:#c7d1cb;box-shadow:var(--shadow)}
.panel>section,.form-section{background:#eef2f0;border-color:#cbd4cf;border-radius:12px;padding:20px;margin-bottom:16px}
.panel>section:first-child{margin-top:0}
.field input,.field textarea,.field select,.gear-row input,.gear-row select{background:#fff;border:1px solid #aebbb4;box-shadow:inset 0 1px 2px rgba(31,41,37,.035)}
.field input:hover,.field textarea:hover,.field select:hover,.gear-row input:hover,.gear-row select:hover{border-color:#789783}
.field input:focus,.field textarea:focus,.field select:focus,.gear-row input:focus,.gear-row select:focus{outline:3px solid rgba(63,117,92,.2);border-color:#3f755c}
.custom-gear-row{grid-template-columns:minmax(240px,1fr) 110px 150px 140px auto}.custom-gear-row .danger{padding:9px 11px}.add-custom-gear{margin-top:14px}@media(max-width:700px){.custom-gear-row{grid-template-columns:1fr}}
.date-input-locked{opacity:.58}.date-input-locked input[type=text]{cursor:not-allowed;background:#edf0ee}
.adjust-dates-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.adjust-dates-help{color:#66736c;font-size:.88rem;background:transparent}.adjust-dates-row .adjustment-message{flex-basis:100%}
.todo-project-nav{position:sticky;top:68px;z-index:15;display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:-8px 0 22px;padding:10px 0;background:rgba(245,248,246,.96);box-shadow:0 8px 12px rgba(31,65,48,.06);backdrop-filter:blur(8px)}.todo-project-nav .button{padding:9px 13px;font-size:.9rem}.todo-sort,.todo-project-picker{display:flex;align-items:center;gap:7px;font-size:.82rem;color:#526159}.todo-sort select,.todo-project-picker select{padding:8px;border:1px solid #aebbb4;border-radius:8px;background:#fff}.todo-project-picker select{max-width:min(420px,60vw)}.urgency-legend{display:flex;gap:5px;flex-wrap:wrap;width:100%}.urgency-key{padding:3px 7px;border:1px solid #c5d0ca;border-radius:999px;font-size:.72rem;cursor:pointer}.urgency-key[aria-pressed="true"]{outline:3px solid #315b47;outline-offset:2px;box-shadow:0 3px 9px #1f413022}.urgency-watch,.todo.urgency-watch{background:#fff6c9;border-color:#e5cf66}.urgency-flow,.todo.urgency-flow{background:#ffe5bd;border-color:#dd902c}.flow-priority-badge{display:inline-flex;width:max-content;margin-left:5px;padding:3px 7px;border-radius:999px;background:#dd902c;color:#4f2d00;font-size:.7rem;font-weight:800}.urgency-urgent,.todo.urgency-urgent{background:#ffd09b;border-color:#d8751d}.urgency-critical,.todo.urgency-critical{background:#8f1018;border-color:#8f1018;color:#fff;font-weight:800}.todo.urgency-critical h3,.todo.urgency-critical .badge{color:#fff;font-weight:800}.todo.urgency-critical .badge{background:rgba(255,255,255,.18)}.urgency-none,.todo.urgency-none{background:#fff}.todo-project{scroll-margin-top:180px}@media(max-width:700px){.todo-project-nav{align-items:stretch;flex-direction:column}.todo-sort,.todo-project-picker{display:grid;grid-template-columns:94px minmax(0,1fr);width:100%}.todo-sort select,.todo-project-picker select{width:100%;max-width:none}.urgency-legend{margin-top:2px}}
.todo-empty-project{display:flex;align-items:center;justify-content:space-between;gap:12px}.todo-empty-project .hint{margin:0}@media(max-width:700px){.todo-empty-project .button{flex:0 0 auto;padding:7px 10px}}
.quick-todo-form{padding:20px;margin-bottom:22px}.quick-todo-form h2{margin:0 0 12px}.quick-todo-entry{display:grid;grid-template-columns:1fr auto;gap:10px}.quick-todo-entry textarea{width:100%;min-height:76px;padding:13px;border:1px solid #aebbb4;border-radius:11px;resize:vertical}.quick-todo-mic{min-width:150px;font-size:.92rem}.quick-todo-mic.listening{background:#a31823;box-shadow:0 0 0 5px #a3182330}.quick-todo-options{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:12px}.quick-todo-options label{display:grid;gap:5px;min-width:min(360px,100%);font-weight:700}.quick-todo-options select{padding:10px;border:1px solid #aebbb4;border-radius:9px;background:#fff}.quick-todo-message{min-height:1.2em;margin:8px 0 0;color:#315f49}.general-todos{margin-bottom:18px}@media(max-width:700px){.quick-todo-entry{grid-template-columns:1fr}.quick-todo-mic{min-height:58px}.quick-todo-options{align-items:stretch;flex-direction:column}.quick-todo-options label,.quick-todo-options .button{width:100%}}
.todo-meta{display:block;margin-top:4px;color:#5c6d64;font-size:.78rem}.urgency-critical .todo-meta{color:#fff}
.todo-editing>.todo-display,.todo-editing>.todo-actions-default{display:none}.todo-editing{align-items:stretch}.todo-edit-form{flex:1 1 0;width:100%;min-width:0;display:grid;grid-template-columns:minmax(260px,1fr) minmax(155px,190px);align-items:end;gap:10px 12px}.todo-edit-form[hidden]{display:none}.todo-edit-form label{display:grid;gap:4px;min-width:0;font-size:.78rem;font-weight:700}.todo-edit-form input{width:100%;min-width:0;padding:9px;border:1px solid #aebbb4;border-radius:8px;background:#fff}.todo-edit-actions{grid-column:1/-1;justify-content:space-between;white-space:normal;min-width:0}.todo-autosave-state{color:var(--muted);font-weight:600}@media(max-width:700px){.todo-edit-form{grid-template-columns:1fr}.todo-edit-actions{grid-column:auto;width:100%;justify-content:space-between}.todo-edit-form .button{width:auto}}
.todo-responsible-status{display:block;max-width:260px;color:#66746d;font-size:.7rem;font-weight:500;line-height:1.2}
.topbar .todo-express-nav{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;margin:-7px 0;border:1px solid #ffffff55;border-radius:50%;background:#ffffff16;font-size:1rem}.quick-todo-options-simple{display:grid;grid-template-columns:minmax(220px,1fr) 180px 180px auto;align-items:end}.quick-todo-options-simple label{min-width:0}.quick-todo-options-simple input,.quick-todo-options-simple select{width:100%;min-height:42px}.quick-todo-add{min-height:42px;white-space:nowrap}.page-heading-actions{display:flex;gap:10px;flex-wrap:wrap}.todo-express-heading p{margin:.3rem 0;color:var(--muted)}.todo-express-capture{padding:22px;margin-bottom:20px}.todo-express-live{display:grid;gap:9px}.todo-express-live textarea{width:100%;min-height:100px;padding:15px;border:2px solid #9cb0a5;border-radius:12px;font-size:1.08rem;resize:vertical}.todo-express-state{width:max-content;padding:5px 10px;border-radius:999px;background:#e5ece8;color:#526159;font-weight:750}.todo-express-state.active{background:#f8d9dd;color:#8b2630}.todo-express-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:13px}.todo-express-mic.listening{background:#a31823;box-shadow:0 0 0 5px #a3182330}.todo-express-help{margin:12px 0 0;color:#66746d;font-size:.85rem}.todo-express-queue-panel{padding:20px}.todo-express-queue-panel>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.todo-express-queue-panel h2,.todo-express-queue-panel p{margin:0}.todo-express-queue{display:grid;gap:9px}.todo-express-item{display:grid;grid-template-columns:34px minmax(240px,1.5fr) minmax(180px,1fr) 155px 155px auto;align-items:end;gap:9px;padding:10px;border:1px solid #d5ddd8;border-radius:11px;background:#fff}.todo-express-number{align-self:center;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e5eee9;color:#315f49;font-weight:800}.todo-express-item label{display:grid;gap:4px;min-width:0;font-size:.72rem;font-weight:750}.todo-express-item input,.todo-express-item select{width:100%;min-width:0;padding:9px;border:1px solid #aebbb4;border-radius:8px;background:#fff}.todo-express-item .express-inferred span{color:#9a2460}.todo-express-item .express-inferred input,.todo-express-item .express-inferred select{border:2px solid #d22f84;background:#fff0f8}.todo-express-item-actions{display:flex;gap:6px}.todo-express-item-actions .button,.todo-express-item-actions .trash-button{min-height:39px;padding:8px 10px}@media(max-width:1000px){.todo-express-item{grid-template-columns:34px minmax(220px,1fr) 1fr 150px}.todo-express-item-actions{grid-column:2/-1;justify-content:flex-end}}@media(max-width:700px){.quick-todo-options-simple{grid-template-columns:1fr}.todo-express-heading{align-items:stretch}.todo-express-controls{display:grid;grid-template-columns:1fr 1fr}.todo-express-mic{grid-column:1/-1;min-height:58px}.todo-express-queue-panel>header{align-items:stretch;flex-direction:column}.todo-express-item{grid-template-columns:30px minmax(0,1fr)}.todo-express-item label,.todo-express-item-actions{grid-column:2}.todo-express-item-actions{justify-content:stretch}.todo-express-item-actions .button{flex:1}}
.todo-actions{display:flex;align-items:center;gap:9px}.simulated-mail-icons{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end}.simulated-mail-icons button{width:30px;height:30px;padding:0;border:1px solid #8ca094;border-radius:50%;background:#eef4f0;color:#28513d;cursor:pointer;font-size:1rem}.urgency-critical .simulated-mail-icons button{background:#fff;color:#8f1018;border-color:#fff}.simulated-mail-dialog{width:min(620px,calc(100% - 30px));max-height:calc(100vh - 40px);overflow:auto;border:0;border-radius:16px;padding:24px 24px 0;box-shadow:0 20px 60px #1f302855}.simulated-mail-dialog::backdrop{background:#17251f99}.simulation-warning{display:block;background:#fff2b8;color:#684e00;border-radius:9px;padding:10px;margin-bottom:16px}.simulated-mail-dialog dl{display:grid;gap:12px}.simulated-mail-dialog dl div{display:grid;grid-template-columns:120px 1fr;gap:12px}.simulated-mail-dialog dt{font-weight:750}.simulated-mail-dialog dd{margin:0}.simulated-mail-body{white-space:pre-wrap}.simulated-mail-actions{position:sticky;bottom:0;z-index:2;display:flex;justify-content:flex-end;gap:10px;margin:20px -24px 0;padding:14px 24px;background:rgba(255,255,255,.97);border-top:1px solid #d5ddd8;box-shadow:0 -6px 16px #1f302818}.simulated-mail-points li{padding:8px 10px;border:1px solid transparent;border-radius:8px}.simulated-mail-points .mail-urgency-watch{background:#fff6c9;border-color:#e5cf66}.simulated-mail-points .mail-urgency-urgent{background:#ffe0b8;border-color:#e6a047}.simulated-mail-points .mail-urgency-critical{background:#8f1018;border-color:#8f1018;color:#fff;font-weight:750}@media(max-width:700px){.simulated-mail-dialog dl div{grid-template-columns:1fr;gap:3px}.todo-actions{width:100%;justify-content:space-between}.todo{flex-wrap:wrap}}
.todo-project-header-actions{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;justify-content:flex-end}.todo-project-mail-actions{display:grid;justify-items:end;gap:7px}.project-mail-history{display:flex;align-items:center;justify-content:flex-end;gap:8px;max-width:100%;padding:5px 7px 5px 10px;border:1px solid #ddd4a8;border-radius:10px;background:#fffdf1}.project-mail-history>small{color:#776d48;font-size:.68rem;font-weight:800;white-space:nowrap}.project-mail-icons{gap:5px}.project-mail-icons button{width:auto;min-height:32px;padding:4px 9px 4px 7px;display:inline-flex;align-items:center;gap:6px;border-radius:8px;font-size:.95rem;background:#fff7cf;border-color:#d8b847;color:#694f00;box-shadow:none}.project-mail-icons button:hover{background:#f5e7a8;box-shadow:0 2px 6px #263d3122}.mail-envelope{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#d6b34a;color:#fff;font-size:.72rem}.mail-recipient-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;font-size:.74rem;font-weight:750;white-space:nowrap}.simulated-mail-points{margin:0;padding-left:20px}.simulated-mail-points li+li{margin-top:8px}.simulated-mail-points a{display:block;color:inherit;text-decoration:none}.simulated-mail-points a:hover{text-decoration:underline}.simulated-mail-points a:focus-visible{outline:3px solid #315b47;outline-offset:2px}@media(max-width:700px){.todo-project-header-actions{width:100%;justify-content:flex-start}.todo-project-mail-actions{width:100%;justify-items:stretch}.todo-project-mail-actions>.button{width:100%}.project-mail-history{align-items:flex-start;flex-direction:column}.project-mail-icons{justify-content:flex-start}}
.field input[readonly],.field input:disabled,.field textarea[readonly],output,.notice,.hint{background:#e2e9e5;color:#526159;border-color:#bdcac3}
.notice{border-left:4px solid #68977c}.hint{display:inline-block;margin-top:6px;padding:5px 8px;border-radius:7px;text-decoration:none}
.button{background:#3f755c;color:#fff;box-shadow:0 2px 5px rgba(36,75,57,.15)}.button:hover{background:#315f49}.button.secondary{background:#dce6e0;color:#244b39}.button.secondary:hover{background:#cbdcd2}.button.ghost{color:#315f49;border-color:#9eb4a7}.button.danger{background:#a84b50;color:#fff}
.danger-zone{margin-top:42px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #d9b9bc;border-radius:12px;background:#fff7f7}.danger-zone h2{margin:0 0 4px;font-size:1rem;color:var(--danger)}.danger-zone p{margin:0;color:var(--muted);font-size:.9rem}.danger-zone .button{flex:none}@media(max-width:700px){.danger-zone{align-items:stretch;flex-direction:column}}
.sticky-actions,.actions{background:rgba(248,250,249,.95);border-color:#becbc4;box-shadow:0 -8px 20px rgba(36,75,57,.06)}
.gear-row,.todo,.empty{background:#f9fbfa;border-color:#c5d0ca}.badge{background:#dfe9e3;color:#315f49}.badge.complete{background:#d8eee1;color:#23613f}
#project-list{display:grid;gap:9px}#project-list .card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:11px 14px;border:1px solid #c7d1cb;border-radius:11px}#project-list .card h2{margin:0 0 2px;font-size:1.05rem}#project-list .card p{margin:0;color:var(--muted);font-size:.86rem}#project-list .card-actions{display:flex;width:auto;align-items:center;justify-content:flex-end;gap:8px}#project-list .card-actions .button{padding:7px 11px;font-size:.8rem}#project-list [data-delete-project]{padding:7px 10px;font-size:.78rem;background:#efc9cc;color:#793138;box-shadow:none}#project-list [data-delete-project]:hover{background:#e6b6ba}@media(max-width:600px){#project-list .card{grid-template-columns:1fr}#project-list .card-actions{justify-content:space-between}}
#project-list .project-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px}#project-list .project-list-heading h2{min-width:0}#project-list .project-list-heading time{flex:0 0 auto;color:var(--muted);font-size:.86rem;font-weight:400;text-transform:none}#project-list .project-list-heading time.editing-date{color:#6f5593}@media(max-width:600px){#project-list .project-list-heading{align-items:flex-start;flex-direction:column;gap:2px}}
.checkbox-field{padding:8px 10px;border-radius:9px;background:#e7ede9}.checkbox-field input{accent-color:#3f755c}
.commercial-vat-toggle{display:flex!important;align-items:center;gap:11px;min-height:50px;padding:8px 12px;border:1.5px solid #aebdb5;border-radius:10px;background:#f7faf8;cursor:pointer}.commercial-vat-toggle input{flex:0 0 30px!important;width:30px!important;height:30px!important;margin:0;accent-color:#3f755c;cursor:pointer}.commercial-vat-toggle:has(input:checked){border-color:#6d9a82;background:#dcece2;color:#24553d}.commercial-vat-toggle strong{font-size:1rem}
[data-postproduction-box] input[type="checkbox"]{flex:0 0 26px!important;width:26px!important;height:26px!important;margin:0;accent-color:#3f755c;cursor:pointer}[data-postproduction-box] .choice{align-items:center;min-height:50px;border:1.5px solid #c3cec8;background:#fff}[data-postproduction-box] .choice:has(input:checked){border-color:#6d9a82;background:#dcece2;color:#24553d;font-weight:750}[data-postproduction-box] .field>span:has(input[data-postproduction-service]){display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 11px;border:1.5px solid #c3cec8;border-radius:10px;background:#fff;cursor:pointer}[data-postproduction-box] .field>span:has(input[data-postproduction-service]:checked){border-color:#6d9a82;background:#dcece2;color:#24553d;font-weight:750}
fieldset.field{border:1px solid #c4cec8;border-radius:12px;background:#edf2ef;padding:16px}fieldset.field legend{padding:0 7px;color:#315f49;font-weight:750}
.save-state{color:var(--ok);font-size:.9rem}.field-history{display:block;margin-top:6px;color:var(--muted);font-size:.82rem}.field-history summary{cursor:pointer;color:#557063;font-size:.78rem;font-weight:600;background:transparent;border:0;padding:1px 0}.field-history ul{margin:8px 0 0;padding-left:20px}.field-history li{margin:5px 0}
.date-input{position:relative;display:block}.date-input>input[type="text"]{padding-right:48px}
.period-actions{display:flex;justify-content:flex-end;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.period-actions #accept-date{background:#4f8167;color:#fff;box-shadow:0 2px 5px rgba(36,75,57,.18)}.period-actions #accept-date:hover{background:#3f7158}
.period-actions #accept-date:disabled{background:#d7d9d8;color:#858b88;box-shadow:none;cursor:not-allowed}
.button.navigation-disabled{background:#d7d9d8;color:#858b88;box-shadow:none;cursor:not-allowed}
.delivery-date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}@media(max-width:700px){.delivery-date-row{grid-template-columns:1fr}}
.date-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,auto);gap:24px;align-items:start;padding:18px;margin-top:12px;border:1px solid var(--border);border-radius:12px;background:#f9fbfa}.date-card .card-actions{display:flex;justify-content:flex-end;gap:14px}.date-card-actions{display:grid;gap:12px;justify-items:stretch}.date-card-actions small{max-width:360px;color:var(--muted);line-height:1.35}.validate-period{font-size:.86rem;padding:10px 13px}@media(max-width:700px){.date-card{grid-template-columns:1fr}.date-card-actions{justify-items:stretch}}
.date-card-requested{background:#edf4ff;border-color:#8eafd6}.date-card-requested .status{background:#dceaff;border-color:#7199ca;color:#244e7b;font-weight:750}.date-card-studio_proposed{background:#edf7f1;border-color:#82aa94}.date-card-studio_proposed .status{background:#dcefe4;border-color:#66937a;color:#28563e;font-weight:750}.date-card-held{background:#e8f7f6;border-color:#62a8a3}.date-card-held .status{background:#d2efed;border-color:#4e9691;color:#195a56;font-weight:750}
.date-card-artist_selected{background:#e8eefb;border:2px solid #5577ad;box-shadow:0 5px 16px rgba(50,78,125,.13)}.date-card-artist_selected .status{background:#d7e2f7;border-color:#5577ad;color:#243f70;font-weight:800}
.date-card-rejected{background:#e5e7e6;border-color:#c9cdcb;color:#7d8480}.date-card-rejected h3,.date-card-rejected p{color:#7d8480}.date-card-rejected .status{filter:grayscale(1);opacity:.75}
.removed-from-calendar{font-weight:750;font-style:italic}
.date-card-rejected .button:not([data-reactivate-date]){background:#b7bdb9;color:#f5f6f5;box-shadow:none}.date-card-rejected .button:not([data-reactivate-date]):hover{background:#a6ada9}
.date-card-confirmed{border:3px solid #3f755c;background:#f3f8f5;box-shadow:0 7px 22px rgba(45,86,65,.16)}.date-card-confirmed h3{margin:.65rem 0;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.2;color:#234b37}.date-card-confirmed .status{font-weight:750}
.session-invoice-badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#e6e1f0;color:#493b62;font-size:.78rem;font-weight:750}
.session-recording-days{max-width:220px;margin-bottom:16px}.session-recording-days input{font-weight:750}
.period-schedule{margin-top:18px;padding:16px;border-radius:10px;background:#e7f0f1;border:2px solid #73979a;color:#294f52}.date-card>.period-schedule{grid-column:1/-1;width:100%;box-sizing:border-box}.period-schedule h4{margin:0 0 12px;color:#294f52}.period-schedule label{display:grid;grid-template-columns:130px minmax(160px,1fr);gap:12px;align-items:center;margin-top:8px}.period-schedule select{padding:8px;border:1px solid #91aaac;border-radius:8px;background:#f8fbfb;color:#294f52}@media(max-width:700px){.period-schedule label{grid-template-columns:1fr}}
.schedule-header,.schedule-day{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(220px,auto);gap:12px;align-items:start}.schedule-header{margin-top:6px}.schedule-header-controls{display:grid;grid-template-columns:minmax(180px,1fr) repeat(2,minmax(105px,auto));gap:8px;min-width:0}.schedule-header-controls span{font-size:.75rem;color:var(--muted)}.schedule-day{margin-top:10px}.schedule-day>strong{padding-top:10px}.schedule-controls{display:grid;grid-template-columns:minmax(180px,1fr) repeat(2,minmax(105px,auto));gap:8px;align-items:end;min-width:0}.schedule-half{grid-column:1/-1;display:grid;grid-template-columns:110px minmax(180px,1fr) repeat(2,minmax(105px,auto));gap:8px;align-items:end;min-width:0}.schedule-time{display:grid!important;grid-template-columns:1fr!important;gap:3px!important;margin:0!important}.schedule-time span{display:none;font-size:.75rem;color:var(--muted)}.schedule-time input{min-width:0;padding:8px}.schedule-time input.is-invalid{border-color:#a52626;background:#fff1f1;color:#8f1717;box-shadow:0 0 0 2px rgba(165,38,38,.14)}.schedule-time-error{grid-column:1/-1;margin:.2rem 0 0;color:#9b1c1c;font-weight:700}.schedule-controls>select,.schedule-half>select,.schedule-time input,.split-day-button{min-height:44px}.split-day-button{align-self:start;justify-self:stretch;margin-top:0;font-size:.78rem;padding:8px 10px;white-space:nowrap}@media(max-width:800px){.schedule-header{display:none}.schedule-day{grid-template-columns:1fr}.schedule-day>strong{padding-top:0}.schedule-controls,.schedule-half{grid-template-columns:1fr}.schedule-time span{display:block}.split-day-button{justify-self:start;margin-top:0}}
.schedule-mismatch{margin-top:16px;padding:14px;border:2px solid var(--danger);border-radius:10px;background:var(--danger-bg);color:var(--danger)}.schedule-mismatch p{margin:6px 0 12px}.schedule-mismatch-actions{display:flex;flex-wrap:wrap;gap:10px}.schedule-mismatch-actions .button{font-size:.85rem;padding:9px 12px}
.schedule-day-review-pending{margin-inline:-8px;padding:8px;border:1px solid #e4c4c4;border-radius:9px}.schedule-time input.schedule-proposed{background:#fff1f1;border-color:#c77f7f}.schedule-review-label{display:block;margin-top:3px;color:#9b1c1c;font-size:.72rem;font-weight:700}
.schedule-day-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.commercial-comparison-reason td{padding-top:2px!important;color:#9b1c1c;font-size:.86rem}
.commercial-client-change-reason{display:block;margin-top:2px;font-size:.86em;font-weight:400;color:inherit}
.standalone-items{display:grid;gap:12px}.standalone-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) auto;align-items:end;gap:12px}.standalone-item .field{margin:0}.standalone-item .trash-button{margin-bottom:2px}@media(max-width:700px){.standalone-item{grid-template-columns:1fr}.standalone-item .trash-button{justify-self:end}}
.accounting-register>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.accounting-register table{width:100%;border-collapse:collapse}.accounting-register th,.accounting-register td{padding:10px 8px;border-bottom:1px solid #dce4df;text-align:left;vertical-align:middle}.accounting-register td small{display:block;color:var(--muted);margin-top:3px}.accounting-register td:nth-child(5){white-space:nowrap}.accounting-actions{display:flex;gap:6px}.accounting-actions .button{padding:6px 9px}.accounting-sent,.accounting-disabled{color:#7b827f;background:#f0f1f1}.accounting-disabled{opacity:.78}.standalone-invoice-module{margin-top:18px}.standalone-invoice-module summary{cursor:pointer;padding:4px}.standalone-invoice-module form{margin-top:20px}.accounting-preview[hidden]{display:none!important}@media(max-width:800px){.accounting-register>header{align-items:stretch;flex-direction:column}.accounting-actions{flex-direction:column}.accounting-register{overflow:auto}}
.accounting-new-invoice{align-self:center;padding:7px 12px;background:#168447;border-color:#168447;color:#fff;font-size:.84rem;box-shadow:0 4px 12px #16844738}.accounting-new-invoice:hover{background:#0f713b;border-color:#0f713b}.standalone-invoice-module{scroll-margin-top:90px}
.inventory-photo-thumb{width:48px;height:38px;padding:0;border:1px solid #bdcac3;border-radius:7px;overflow:hidden;background:#fff;cursor:zoom-in}.inventory-photo-thumb img,.inventory-photo-preview img{width:100%;height:100%;display:block;object-fit:cover}.inventory-photo-placeholder{display:grid;place-items:center;width:48px;height:38px;border:1px dashed #bdcac3;border-radius:7px;opacity:.55}.inventory-photo-editor{display:flex;align-items:center;gap:12px;margin-bottom:16px}.inventory-photo-preview,.inventory-photo-empty{width:130px;height:96px;border:1px solid #bdcac3;border-radius:10px;overflow:hidden;background:#f4f6f5}.inventory-photo-preview{padding:0;cursor:zoom-in}.inventory-photo-empty{display:grid;place-items:center;color:var(--muted);font-size:.82rem}.inventory-photo-upload{position:relative;cursor:pointer}.inventory-photo-help{color:var(--muted);font-size:.86rem}.inventory-photo-dialog{width:min(92vw,1100px);max-height:92vh;padding:10px;border:0;border-radius:13px;background:#111;box-shadow:0 20px 70px #0009}.inventory-photo-dialog::backdrop{background:#000b}.inventory-photo-dialog img{display:block;max-width:100%;max-height:calc(92vh - 20px);margin:auto;object-fit:contain}.inventory-photo-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#111;font-size:1.7rem;line-height:1;cursor:pointer}.inventory-compact{grid-template-columns:auto minmax(180px,1fr) minmax(130px,.4fr) 48px 78px;align-items:center}.inventory-open-button{width:78px;padding:7px 8px;font-size:.82rem;line-height:1.1}.inventory-compact-type{color:var(--muted)}@media(max-width:700px){.inventory-photo-editor{align-items:flex-start;flex-wrap:wrap}.inventory-compact{grid-template-columns:auto minmax(0,1fr) 48px 72px}.inventory-compact-type{display:none}.inventory-open-button{width:72px;padding-inline:5px}}
.add-third-session{grid-column:1/-1;justify-self:start;margin-top:4px}
.accommodation-costs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.accommodation-costs .field{grid-column:1}@media(max-width:700px){.accommodation-costs{grid-template-columns:1fr}}
.ideal-flight{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px;border:2px solid #6f927f;border-radius:11px;background:#d6e4da;color:#234d39}.ideal-flight p{margin:5px 0}.flight-segment{border:1px solid #bdcac3;border-radius:12px;background:#f5f8f6;padding:18px}.flight-segment legend{padding:0 8px;color:#315f49;font-weight:750}.flight-local-time{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px}.flight-duration{display:block;padding:9px 11px;border-radius:8px;background:#e2e9e5;color:#315f49;font-weight:650}@media(max-width:700px){.ideal-flight{align-items:stretch;flex-direction:column}.flight-local-time{grid-template-columns:1fr}}
.flight-endpoint{display:grid;align-content:start;gap:18px;padding:14px;border:1px solid #d2dad5;border-radius:10px;background:#f9fbfa}@media(max-width:700px){.flight-endpoint{padding:10px}}
.ideal-flight-calculation{display:grid;gap:5px;margin:12px 0 0}.ideal-flight-calculation>div{display:grid;grid-template-columns:minmax(190px,auto) 1fr;gap:12px}.ideal-flight-calculation dt{color:#3d6852}.ideal-flight-calculation dd{margin:0}@media(max-width:700px){.ideal-flight-calculation>div{grid-template-columns:1fr;gap:1px}}
.ideal-flight .direct-flight-warning{margin:10px 0;padding:8px 10px;border-left:4px solid #b32178;background:#f8cde8;color:#681341;font-weight:750}
.traveller-list{border:1px solid var(--border);border-radius:12px;padding:16px}.traveller-list legend{padding:0 8px;font-weight:750}.traveller-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:start;margin-bottom:14px}.traveller-row [data-remove-traveller]{align-self:start;margin-top:28px;background:#efc9cc;color:#793138;box-shadow:none}.traveller-row [data-remove-traveller]:hover{background:#e6b6ba}@media(max-width:1000px){.traveller-row{grid-template-columns:1fr 1fr}.traveller-row [data-remove-traveller]{justify-self:start;margin-top:0}}@media(max-width:600px){.traveller-row{grid-template-columns:1fr}}
.field textarea.single-line-grow{min-height:48px;height:48px;overflow-y:hidden;resize:none;line-height:1.4}
.hold-bag-list{border:1px solid #bdcac3;border-radius:12px;padding:16px}.hold-bag-row{display:grid;grid-template-columns:110px minmax(180px,260px) auto;gap:18px;align-items:center;padding:12px 0;border-bottom:1px solid #d6dfda}.hold-bag-row:last-child{border-bottom:0}.hold-bag-row .field{margin:0}.hold-bag-row .button{margin:0;justify-self:end}@media(max-width:700px){.hold-bag-row{grid-template-columns:1fr 1fr}.hold-bag-row .button{grid-column:2}}
.hold-bag-list:not(.baggage-extras),.baggage-extras.todo-complete{background:#edf5f0;border-color:#78a287}.baggage-extras.todo-pending{background:#fff3c4;border:2px solid #d5b94f}.hold-bag-list>p{margin:0 0 8px;color:#315f49}.extra-baggage-action{margin:4px 0 14px}.extra-baggage-action select{background:#fffdf3}.baggage-extra-add{margin-top:12px}
.destination-transport{margin-top:20px!important;padding:22px!important;border:2px solid #9eb5a7!important;background:#f6faf7!important}.destination-transport>legend{font-size:1.08rem}
.rental-company-field{position:relative}.rental-company-suggestions{position:absolute;left:0;right:0;top:100%;z-index:12;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:7px;background:#fff;border:1px solid #9eb5a7;border-radius:9px;box-shadow:0 8px 20px rgba(31,65,48,.16)}.rental-company-suggestions[hidden]{display:none}.rental-company-suggestions button{padding:8px 10px;text-align:left;background:transparent;border:0;border-radius:6px;color:#244b38;cursor:pointer}.rental-company-suggestions button:hover{background:#e5eee9}
.baggage-allowance{display:grid;grid-template-columns:1fr;gap:12px}.baggage-allowance>legend label{display:flex;align-items:center;gap:8px;cursor:pointer}.baggage-allowance>legend input{accent-color:#3f755c}
[hidden]{display:none!important}
.flight-calculations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.flight-calculations .flight-duration{margin:0}@media(max-width:700px){.flight-calculations{grid-template-columns:1fr}}
.field input.flight-time-invalid,.flight-duration.invalid-duration{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.flight-duration.invalid-duration{font-weight:750}
.histories-hidden .field-history{display:none}.history-toggle{align-self:center;margin-right:auto;padding:5px 9px;border:0;border-radius:6px;background:#e2e9e5;color:#557063;font-size:.76rem;font-weight:650;box-shadow:none;cursor:pointer}.history-toggle:hover{background:#d5e0da;color:#355544}.history-toggle.active{background:#fff4cf;color:#66665f}.history-toggle.active:hover{background:#ffefba;color:#52534e}.non-admin-session .history-toggle,.non-admin-session .field-history,.non-admin-session .history{display:none!important}
.contact-row input:-webkit-autofill,.contact-row input:-webkit-autofill:hover,.contact-row input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px #fff inset;box-shadow:0 0 0 1000px #fff inset;caret-color:var(--ink)}
.meal-preferences{margin-top:18px}.meal-preference-person{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,2fr);gap:6px 18px;padding:14px 0;border-top:1px solid #d6dfda}.meal-preference-person>small{grid-column:1;color:var(--muted)}.meal-preference-options{grid-column:2;grid-row:1/3;display:flex;flex-wrap:wrap;gap:8px 16px}.meal-preference-options .checkbox-field{width:auto}.meal-other-details{grid-column:2;margin-top:4px}@media(max-width:700px){.meal-preference-person{grid-template-columns:1fr}.meal-preference-options,.meal-other-details,.meal-preference-person>small{grid-column:1;grid-row:auto}}
.project-bottom-actions{margin:4px 0 18px;padding:14px 0;justify-content:flex-end}.project-bottom-actions .history-toggle{margin-right:auto}
.date-overlap-warning{margin:18px 25px;padding:15px 18px;border:2px solid #dc8d25;border-radius:12px;background:#ffe8c6;color:#653d05}.date-overlap-warning strong{font-size:1.05rem}.date-overlap-warning ul{margin:10px 0;padding-left:22px}.date-overlap-warning p{margin:8px 0 0;font-size:.88rem}
.saved-overlap-warning{margin:14px 0 4px}
.calendar-heading{position:relative;top:auto;z-index:auto;align-items:center}.calendar-controls,.calendar-month-controls{display:flex;gap:8px}.calendar-panel{overflow:visible}.calendar-month-bar{position:sticky;top:68px;z-index:18;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:10px 22px;background:#fff;border-bottom:1px solid #c8d3cd;box-shadow:0 5px 12px #1f413014}.calendar-month-bar h2{margin:0;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;border-top:1px solid #c8d3cd;border-left:1px solid #c8d3cd}.calendar-weekday{padding:8px;text-align:center;background:#e7eee9;color:#315642;border-right:1px solid #c8d3cd;border-bottom:1px solid #c8d3cd}.calendar-day{min-width:0;min-height:112px;padding:7px;border-right:1px solid #c8d3cd;border-bottom:1px solid #c8d3cd;background:#fff}.calendar-day.outside-month{background:#f1f3f2;color:#98a09b}.calendar-today{box-shadow:inset 0 0 0 3px #d4a72c}.calendar-day-number{display:block;margin-bottom:6px}.calendar-events{display:grid;min-width:0;gap:4px}.calendar-event{min-width:0;padding:4px 6px;border-radius:6px;color:#183b2a;text-decoration:none;font-size:.72rem;line-height:1.2;overflow:hidden;overflow-wrap:anywhere}.calendar-event-requested{background:#dce8f8}.calendar-event-studio_proposed{background:#dcecdf}.calendar-event-held{background:#ccebea}.calendar-event-artist_selected{background:#c8ddf6;border:1px solid #4f78a8}.calendar-event-confirmed{background:#315f49;color:#fff;font-weight:750}@media(max-width:700px){.calendar-month-bar{align-items:flex-start;flex-direction:column}.calendar-scroll{width:100%;overflow-x:hidden}.calendar-grid{min-width:0}.calendar-weekday{padding:3px 1px;font-size:.56rem}.calendar-day{min-width:0;min-height:72px;padding:2px}.calendar-day-number{margin-bottom:2px;font-size:.68rem}.calendar-events{gap:2px}.calendar-event{padding:2px;border-radius:3px;font-size:.5rem;line-height:1.08;letter-spacing:-.01em}.calendar-today{box-shadow:inset 0 0 0 2px #d4a72c}}
.annual-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px}.annual-month-card{padding:12px;border:1px solid #c8d3cd;border-radius:12px;background:#fff}.annual-month-title{display:block;margin-bottom:10px;color:#244c38;font-size:1.15rem;font-weight:800;text-transform:capitalize;text-decoration:none}.annual-month-title:hover{text-decoration:underline}.annual-mini-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.annual-mini-grid>strong{text-align:center;color:#66766d;font-size:.68rem}.annual-mini-day,.annual-mini-empty{min-height:30px}.annual-mini-day{position:relative;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#f3f6f4;font-size:.72rem}.annual-mini-day.has-events{background:#dce8f8;cursor:pointer}.annual-mini-day.has-events:hover,.annual-mini-day.has-events:focus-visible{outline:2px solid #315f49;outline-offset:1px}.annual-mini-day.has-travel{background:#f7dfbd;color:#704510;box-shadow:inset 0 0 0 1px #ce9447}.annual-mini-day.has-editing{background:#e5def1;color:#3f3157;box-shadow:inset 0 0 0 1px #9a86b5}.annual-mini-day.has-confirmed{background:#dcecdf;box-shadow:inset 0 -3px #315f49}.annual-mini-day.has-conflict{background:#e00000;color:#fff;box-shadow:inset 0 0 0 2px #ff3030,0 0 0 2px #ffb3b3;font-weight:850}.annual-mini-day.has-conflict i{color:#fff}.annual-mini-day i{position:absolute;right:2px;bottom:1px;color:#315f49;font-size:.55rem;font-style:normal;font-weight:800}.annual-mini-today{outline:2px solid #d4a72c}.annual-calendar-panel{overflow:visible}@media(max-width:1000px){.annual-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.annual-calendar-grid{grid-template-columns:1fr;padding:12px}.annual-mini-day,.annual-mini-empty{min-height:34px}}
.calendar-day-selectable{cursor:pointer}.calendar-day-selectable:hover{background:#fff4c9;box-shadow:inset 0 0 0 2px #d4a72c}.calendar-day-selectable:focus-visible{outline:3px solid #315f49;outline-offset:-3px}
.calendar-event-draggable{cursor:grab}.calendar-event-draggable:active{cursor:grabbing}.calendar-event-draggable.dragging{opacity:.45}.calendar-day.calendar-drop-target{background:#fff1bd;box-shadow:inset 0 0 0 3px #d4a72c}
.calendar-event-editing{background:#e5def1;color:#3f3157;border:1px solid #9a86b5}.calendar-event-conflict,.calendar-event-editing-conflict{background:#e00000!important;color:#fff!important;border:2px solid #ff3030!important;box-shadow:0 0 0 2px #ffb3b3;font-weight:850}
.calendar-event-travel{background:#f7dfbd;color:#704510;border:1px solid #ce9447}
.format-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.format-choice .choice{margin:0}.format-date-toggle{border:0;background:transparent;color:#3f668f;font-size:.82rem;font-weight:700;cursor:pointer;text-decoration:underline}.format-delivery-date{grid-column:1/-1;padding:0 8px 8px}.format-delivery-date .date-input{max-width:360px}@media(max-width:700px){.format-choice{grid-template-columns:1fr}.format-date-toggle{justify-self:start}.format-delivery-date{grid-column:auto}}
.editing-session-active{background:#fff4bf!important;border-color:#d4a72c!important;box-shadow:0 0 0 2px #d4a72c33}
.editing-session-form-active{background:#fff4bf!important;border-color:#d4a72c!important;box-shadow:0 0 0 2px #d4a72c33}
.editing-session-completed{border-color:#aeb4b1;background:#e5e7e6;color:#656c68;box-shadow:none}.editing-session-completed strong,.editing-session-completed p{color:#656c68}.editing-session-completed .button{filter:grayscale(.55)}.editing-session-completed.editing-session-active{filter:none}
.address-lookup-field{position:relative}.address-suggestions{position:absolute;left:0;right:0;top:calc(100% - 18px);z-index:24;padding:6px;background:#fff;border:1px solid #9eb5a7;border-radius:9px;box-shadow:0 8px 22px rgba(31,65,48,.18)}.address-suggestions button{display:block;width:100%;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:#244b38;text-align:left;cursor:pointer}.address-suggestions button:hover,.address-suggestions button:focus{background:#e5eee9}.address-route{display:block;min-height:1.2em;margin-top:6px;color:#3b7056;font-weight:650}
.address-lookup-field.hotel-distance-danger>span{color:#a32121;font-weight:800}.address-lookup-field.hotel-distance-danger input{border:2px solid #b93636!important;background:#fff0f0!important;color:#8f1717!important}.venue-hotel-distance-warning{padding:12px 14px;border:2px solid #b93636;border-radius:10px;background:#fff0f0;color:#8f1717;font-weight:800}
.field.hotel-distance-danger>span{color:#a32121;font-weight:800}.field.hotel-distance-danger input{border:2px solid #b93636!important;background:#fff0f0!important;color:#8f1717!important}
.contact-lookup-field{position:relative}.contact-suggestions{position:absolute;left:0;min-width:320px;top:100%;z-index:28;padding:6px;background:#fff;border:1px solid #9eb5a7;border-radius:9px;box-shadow:0 8px 22px rgba(31,65,48,.18)}.contact-suggestions[hidden]{display:none}.contact-suggestions button{display:flex;width:100%;flex-direction:column;gap:2px;padding:9px 10px;border:0;border-radius:6px;background:transparent;color:#244b38;text-align:left;cursor:pointer}.contact-suggestions button:hover,.contact-suggestions button:focus{background:#e5eee9}.contact-suggestions span{font-size:.86rem;color:#617267}
.badge.jdn,.todo-field-badge.owner-jdn{background:#e8def5;color:#563d78}.badge.client,.todo-field-badge.owner-client{background:#d8eef2;color:#255965}.badge.label,.todo-field-badge.owner-label{background:#dfe4f6;color:#3d4f82}.badge.assistant,.todo-field-badge.owner-assistant{background:#e3e8eb;color:#46535b}.badge.third_party,.todo-field-badge.owner-third_party{background:#e1e7e4;color:#40544a}
.calendar-selection-status{display:flex;justify-content:space-between;gap:14px;padding:12px 20px;background:#fff3bf;border-top:1px solid #dfc65d;color:#5e4900}.calendar-day-disabled{opacity:.42;cursor:not-allowed}.calendar-range-selected{background:#d9ebdf!important;box-shadow:inset 0 3px #4d8768,inset 0 -3px #4d8768}.calendar-range-start{border-left:4px solid #285d43!important;background:#bcdcc8!important}.calendar-range-end{border-right:4px solid #285d43!important;background:#bcdcc8!important}.calendar-selection-actions{justify-content:flex-end}
.date-input .open-app-calendar{position:absolute;right:7px;top:50%;width:34px;height:34px;transform:translateY(-50%);display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:#e1e9e4;color:#315642;cursor:pointer}.date-input .open-app-calendar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.date-input .open-app-calendar:hover{background:#fff0b8;color:#654d00}.date-input .open-app-calendar:focus-visible{outline:3px solid #d4a72c;outline-offset:1px}
.topbar .return-link{padding:7px 10px;border-radius:8px;background:#ffffff18;color:#fff;text-decoration:none;font-size:.78rem;font-weight:700;white-space:nowrap}.topbar .return-link:hover{background:#ffffff2b}@media(max-width:850px){.topbar .return-link{max-width:165px;overflow:hidden;text-overflow:ellipsis}.topbar nav{gap:10px}}
.linked-date-review{position:sticky;top:72px;z-index:14;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:15px 18px;border:2px solid #d39a2d;border-radius:12px;background:#fff1bd;box-shadow:0 6px 18px #5d481b22;color:#604700}.linked-date-review p{margin:4px 0 0}.linked-date-review>div:last-child{display:flex;gap:9px;flex-wrap:wrap}@media(max-width:700px){.linked-date-review{align-items:stretch;flex-direction:column}}
.linked-date-review.linked-date-invalid{border-color:#9a2626;background:#a92d2d;color:#fff;box-shadow:0 6px 18px #6f171744}.linked-date-review.linked-date-invalid .button:disabled{background:#e8cccc;color:#7e2626;opacity:1}
.guided-action-target{outline:4px solid #e1b83f;outline-offset:4px;box-shadow:0 0 0 8px #fff1a999}
.archive-project-badge{display:inline-block;margin-top:8px;padding:5px 10px;border-radius:999px;background:#e6ded2;color:#654d35;font-weight:750;font-size:.84rem}
.project-status-menu{display:flex;align-items:center;gap:8px;margin-top:12px;color:#526159;font-size:.8rem;font-weight:750}.project-status-menu select{padding:7px 34px 7px 11px;border:2px solid #315f49;border-radius:999px;background:#315f49;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.calendar-day.calendar-past{opacity:.42}.archive-date-selection-mode .calendar-day.calendar-past{opacity:1}.archive-date-selection-mode .calendar-day{cursor:pointer}.archive-date-selection-mode .calendar-day:hover{box-shadow:inset 0 0 0 3px #b47832;background:#fff1d4}
.sticky-actions,.actions{position:fixed;left:50%;bottom:0;z-index:30;width:min(1100px,calc(100% - 32px));transform:translateX(-50%);margin:0;padding:12px 18px;border:1px solid #becbc4;border-bottom:0;border-radius:14px 14px 0 0;box-shadow:0 -8px 24px rgba(36,75,57,.12)}
@media(max-width:700px){.sticky-actions,.actions{width:100%;min-height:48px;padding:6px 8px;border-left:0;border-right:0;border-radius:0;flex-wrap:nowrap;justify-content:flex-start;gap:6px;overflow-x:auto;scrollbar-width:none}.sticky-actions::-webkit-scrollbar,.actions::-webkit-scrollbar{display:none}.sticky-actions .button,.actions .button{flex:0 0 auto;padding:7px 9px;font-size:.74rem;white-space:nowrap}.sticky-actions .history-toggle,.actions .history-toggle{flex:0 0 auto;margin-right:0;padding:5px 7px;font-size:.68rem}}

/* Agenda: commandes compactes et actions principales toujours visibles. */
.calendar-heading{position:sticky;top:68px;z-index:19;min-height:62px;margin-top:-28px;margin-bottom:10px;padding:7px 14px;background:rgba(245,248,246,.97);box-shadow:0 4px 12px rgba(31,61,47,.10);backdrop-filter:blur(8px)}
.calendar-heading .eyebrow{display:none}
.calendar-heading h1{margin:0;font-size:clamp(1.55rem,3vw,2.1rem)}
.calendar-controls{gap:6px;flex-wrap:wrap;justify-content:flex-end}
.calendar-controls .button,.calendar-month-controls .button{padding:7px 10px;border-radius:8px;font-size:.82rem;line-height:1.15;box-shadow:none}
.calendar-month-bar{top:130px;padding:7px 14px}
.calendar-month-bar h2{font-size:1.35rem}
@media(max-width:700px){.calendar-heading{top:68px;min-height:86px;align-items:center;gap:6px}.calendar-controls .button,.calendar-month-controls .button{padding:6px 8px;font-size:.74rem}.calendar-month-bar{top:154px;padding:6px 10px;align-items:center;flex-direction:row;flex-wrap:wrap}}
.annual-mini-day.has-conflict-strong{background:#e00000;color:#fff;box-shadow:inset 0 0 0 2px #ff3030,0 0 0 2px #ffb3b3;font-weight:850}
.annual-mini-day.has-conflict-soft{background:#ef9b9b;color:#682020;box-shadow:inset 0 0 0 2px #d85c5c;font-weight:800}
.annual-mini-day.has-conflict-strong i{color:#fff}
.calendar-event-conflict-strong{background:#e00000!important;color:#fff!important;border:2px solid #ff3030!important;box-shadow:0 0 0 2px #ffb3b3;font-weight:850}
.calendar-event-conflict-soft{background:#ef9b9b!important;color:#682020!important;border:2px solid #d85c5c!important;font-weight:800}
.calendar-weekday{padding:6px}.calendar-day{min-height:94px;padding:5px}.calendar-day-number{margin-bottom:3px}.calendar-events{gap:3px}.calendar-event{padding:3px 5px}@media(max-width:700px){.calendar-day{min-height:82px}}
.date-card-completed{border:2px solid #9aa19d;background:#e5e7e6;color:#59605c;box-shadow:none}.date-card-completed h3{color:#59605c}.date-card-completed .status{border-color:#9aa19d;background:#d5d8d6;color:#444b47;font-weight:750}.calendar-event-completed{background:#aeb4b1;color:#343a37;font-weight:750}

.annual-mini-day.has-completed{background:#c7cbc9;color:#4f5652;box-shadow:inset 0 -3px #858c88}
.date-card.date-card-completed{border-color:#929894!important;background:#dfe2e0!important;color:#505753!important;box-shadow:none!important}.date-card-completed>div,.date-card-completed .period-schedule{background:#dfe2e0!important;color:#505753!important}.date-card-completed h3,.date-card-completed h4,.date-card-completed strong{color:#505753!important}.date-card-completed .status{border-color:#8f9692!important;background:#c8ccca!important;color:#3f4642!important}.calendar-event.calendar-event-completed{border-color:#8f9692!important;background:#aeb4b1!important;color:#343a37!important;box-shadow:none!important}

/* Vue mensuelle : semaines vides compactes, semaines occupées ajustées au contenu. */
.calendar-grid .calendar-day.calendar-week-empty{min-height:44px}
.calendar-grid .calendar-day.calendar-week-has-events{min-height:72px;height:auto}
@media(max-width:700px){.calendar-grid .calendar-day.calendar-week-empty{min-height:34px}.calendar-grid .calendar-day.calendar-week-has-events{min-height:56px;height:auto}}
.travel-period-navigation{position:sticky;top:68px;z-index:17;padding:14px 18px;background:rgba(250,252,251,.97);box-shadow:0 5px 16px rgba(31,65,48,.12);backdrop-filter:blur(8px)}.travel-period-navigation .section-heading{margin-bottom:10px}.travel-period-navigation h2{margin:0}.travel-period-navigation nav{display:flex;flex-wrap:wrap;gap:9px}.travel-period-button-group{display:inline-flex}.travel-period-button-group>.button{border-radius:0}.travel-period-button-group>.button:first-child{border-radius:10px 0 0 10px}.travel-period-button-group>.button:not(:first-child){border-left:0}.travel-period-button-group>.button:last-child{border-radius:0 10px 10px 0}.travel-period-calendar-button,.travel-period-clock-button{display:inline-grid;place-items:center;padding:0 11px}.travel-period-calendar-button svg,.travel-period-clock-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.travel-period-navigation .copy-previous-travel{display:block;margin:12px 0 0 auto}@media(max-width:700px){.travel-period-navigation{top:68px}.travel-period-navigation nav{flex-direction:column}.travel-period-button-group{display:flex;width:100%}.travel-period-button-group>a.button{flex:1}.travel-period-calendar-button,.travel-period-clock-button{width:auto!important}}
.travel-sticky-stack{position:sticky;top:68px;z-index:17;margin-bottom:22px;padding-top:1px;background:rgba(233,238,235,.97);box-shadow:0 7px 16px rgba(31,65,48,.08);backdrop-filter:blur(8px)}.travel-sticky-stack .page-heading{position:relative;top:auto;z-index:auto;margin-bottom:5px;padding:11px 0 10px;background:transparent}.travel-sticky-stack .travel-period-navigation{position:relative;top:auto;margin-bottom:0}.travel-period-navigation{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;padding:9px 14px}.travel-period-navigation .section-heading{flex:1 1 330px;margin:0}.travel-period-navigation h2{font-size:1.05rem}.travel-period-navigation .section-help{margin:2px 0 0;font-size:.82rem}.travel-period-navigation nav{flex:0 1 auto}.travel-period-navigation .copy-previous-travel{margin:0 0 0 auto}@media(max-width:700px){.travel-sticky-stack{position:static;margin-bottom:18px;padding:0;background:transparent;box-shadow:none;backdrop-filter:none}.travel-sticky-stack .page-heading{margin-bottom:8px;padding:4px 0}.travel-sticky-stack .travel-period-navigation{position:sticky;top:68px;z-index:17}.travel-period-navigation{align-items:stretch;display:flex;padding:8px 10px}.travel-period-navigation .section-heading{flex-basis:100%}.travel-period-navigation nav{width:100%}}
.past-travel-periods{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.past-travel-periods>summary{width:max-content;list-style:none}.past-travel-periods>summary::-webkit-details-marker{display:none}.past-travel-periods>h3{margin:15px 0 9px;color:var(--muted);font-size:.9rem}.travel-period-past{filter:grayscale(.75);opacity:.82}.travel-period-past:focus-within,.travel-period-past:hover{filter:none;opacity:1}
.venue-hotel-distance{padding:12px 14px;border:1px solid #8ea99a;border-radius:9px;background:#e8f1ec;color:#294f3c;font-weight:750}
.invoice-billing-mode .choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.invoice-mode-choice{align-items:flex-start;width:100%;padding:15px;border:2px solid var(--border);border-radius:12px;background:#f7faf8;color:var(--text);text-align:left;cursor:pointer}.invoice-mode-choice span{display:grid;gap:5px}.invoice-mode-choice small{color:var(--muted);font-weight:500}.invoice-mode-choice.is-selected{border-color:var(--primary);background:#e5f0e9;box-shadow:0 0 0 2px rgba(53,104,77,.1)}@media(max-width:700px){.invoice-billing-mode .choices{grid-template-columns:1fr}}
.field-label-help{font-size:.9em;font-weight:400;color:#66736c}
.settings-minute-field{display:flex;align-items:center;gap:10px}.settings-minute-field input{max-width:150px}.settings-minute-field small{color:var(--muted);font-weight:650}
.settings-search{margin-bottom:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff}.settings-search>label{display:block;margin-bottom:5px;font-weight:800;color:var(--primary)}.settings-search>div{display:flex;gap:8px}.settings-search input{width:min(100%,520px);padding:9px 11px;border:1px solid var(--border);border-radius:9px}.settings-search small{display:block;margin-top:5px;color:var(--muted)}
.settings-navigation{position:sticky;top:68px;z-index:16;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;padding:12px;border:1px solid var(--border);border-radius:12px;background:rgba(250,252,251,.96);box-shadow:0 4px 14px rgba(31,65,48,.1)}.settings-navigation button{border:0;border-radius:9px;padding:9px 12px;background:#e5eee9;color:var(--primary);font-weight:750;cursor:pointer}.settings-section{scroll-margin-top:145px;margin-bottom:18px}.settings-section legend{padding:0 8px;font-size:1.25rem;font-weight:800}.settings-save-actions{display:flex;justify-content:flex-end;margin-top:18px}.settings-planned{background:#f4f5f4;color:#555f5a}.settings-planned header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.settings-planned h2{margin:0}.settings-planned p{margin:4px 0 0;color:var(--muted)}.settings-planned .status{border:1px solid #a6ada9;border-radius:999px;padding:5px 10px;background:#e1e4e2;color:#59605c;font-weight:750;white-space:nowrap}.settings-planned li+li{margin-top:7px}@media(max-width:700px){.settings-navigation{position:static;flex-direction:column}.settings-navigation button{text-align:left}.settings-section{scroll-margin-top:80px}}
.settings-logo-editor{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px;border:1px solid var(--border);border-radius:10px;background:#f7f9f8}.settings-logo-editor img{display:block;max-width:360px;max-height:120px;object-fit:contain;background:white;border:1px solid #d9dfdc;border-radius:7px;padding:8px}.settings-logo-editor>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.settings-logo-upload{cursor:pointer}.settings-logo-empty{min-width:250px;min-height:80px;justify-content:center;color:var(--muted);border:1px dashed #aeb9b3;border-radius:7px}.settings-logo-message{margin:5px 0 0;color:var(--primary);font-weight:700}
.settings-commercial{margin-top:26px}.settings-commercial>.section-help{margin:0 0 18px}.settings-commercial-block{margin:16px 0;padding:18px;border:1px solid var(--border);border-radius:12px;background:#f8faf9}.settings-commercial-block h3{margin:0 0 6px}.settings-commercial-block>p{margin:0 0 14px;color:var(--muted)}.settings-table-wrap{overflow-x:auto}.settings-rate-table{width:100%;border-collapse:collapse}.settings-rate-table th,.settings-rate-table td{padding:8px;border-bottom:1px solid #dce4df;text-align:left}.settings-rate-table th{font-size:.9rem;color:var(--muted)}.settings-rate-table input{min-width:110px;width:100%}.settings-rate-table th:last-child,.settings-rate-table td:last-child{width:48px}.settings-money{display:flex;align-items:center;gap:8px}.settings-money small{min-width:34px;color:var(--muted);font-weight:700}.settings-row-remove{padding:7px 11px}.settings-add-row{margin-top:12px}.settings-rules{display:grid;gap:10px}.settings-rules h3{margin-bottom:3px}.settings-rules label{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;margin:0;font-weight:650;text-align:left}.settings-rules input[type="checkbox"]{flex:0 0 auto;width:18px;height:18px;margin:0;padding:0}@media(max-width:700px){.settings-rate-table{min-width:650px}.settings-commercial-block{padding:13px}}
#settings-form .form-grid .field>input[type="number"],#settings-form .form-grid .field>input[type="time"],#settings-form .form-grid .settings-money input[type="number"]{width:min(100%,160px)}#settings-form .form-grid .settings-money input[type="number"]{flex:0 1 160px}
.settings-base-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.settings-base-grid>.settings-base-field{grid-column:span 6}.settings-base-grid>.settings-base-country_code{grid-column:span 2}.settings-base-grid>.settings-base-default_language{grid-column:span 3}.settings-base-grid>.settings-base-default_timezone{grid-column:span 4}.settings-base-grid>.settings-base-default_currency{grid-column:span 3}.settings-base-grid>.settings-logo-field{grid-column:1/-1}.settings-base-grid textarea{min-height:72px}@media(max-width:700px){.settings-base-grid>.settings-base-field,.settings-base-grid>.settings-logo-field{grid-column:1/-1}}
.auth-card{width:min(560px,100%);margin:48px auto}.auth-card form{display:grid;gap:16px}.auth-card .field{margin:0}.auth-card input[readonly]{background:#edf1ef;color:#526159}.password-rules{margin:0;padding:11px 13px;border-radius:9px;background:#eef3f0;color:#465a50;font-size:.88rem}.auth-card .button{justify-self:start}@media(max-width:700px){.auth-card{margin:12px auto;padding:18px}.auth-card .button{width:100%}}
.account-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.account-action{padding:6px 8px;border:1px solid #ffffff55;border-radius:7px;background:#ffffff12;color:#fff;font:inherit;font-size:.72rem;text-decoration:none;cursor:pointer}@media(max-width:700px){.account-name{display:none}.account-action{padding:5px 6px;font-size:.66rem}}
.display-settings{display:flex;align-items:center;gap:7px;height:46px;padding:5px 8px 5px 11px;border:1px solid #bcc9c1;border-radius:12px;background:#edf2ee;color:#244d3b;font-size:.76rem;font-weight:750;white-space:nowrap}.display-settings select{width:auto;min-width:72px;padding:6px 25px 6px 7px;border:1px solid #aebbb4;border-radius:8px;background:#fff;color:#244d3b;font-weight:700}.settings-heading-actions>.display-settings{margin-left:auto}@media(max-width:700px){.settings-heading-actions{width:100%}.settings-heading-actions>.button{width:100%}.settings-heading-actions>.display-settings{margin-left:0}}
html,body{width:100%;max-width:100%;overflow-x:clip;background:var(--canvas)}#app,.topbar,main{max-width:100%}@media(max-width:700px){.topbar{width:100%;min-width:0;overflow:hidden}.topbar>*{min-width:0}.topbar nav{min-width:0;overflow-x:auto;scrollbar-width:none}.topbar nav::-webkit-scrollbar{display:none}.contact-suggestions{width:min(320px,calc(100vw - 32px));min-width:0}.settings-logo-empty{min-width:0;width:100%}}
@media(max-width:700px){.topbar{gap:8px;padding:0 10px}.brand{flex:0 0 auto}.brand>strong{display:none}.topbar nav{flex:1 1 0;width:0;gap:12px}.topbar nav a{flex:0 0 auto}.topbar .account-name{display:none}.topbar .account-action,.topbar #language{flex:0 0 auto}.topbar #language{width:42px;padding:7px 4px}.todo-project>header{align-items:stretch;flex-direction:column}.todo-project>header>div{min-width:0}.todo-project-header-actions{width:100%;min-width:0;justify-content:flex-start}.todo-project-header-actions>.button{max-width:100%;white-space:normal}.project-mail-icons{display:flex;max-width:100%;flex-wrap:wrap}.todo-project-header-actions>.badge{max-width:100%;white-space:normal;overflow-wrap:anywhere}}
.form-message.error:not(:empty){display:block}
.auth-secondary-link{justify-self:start;color:#315f49;font-size:.86rem}.simulated-reset-link{margin-top:12px}.visible-error{display:block}
.meal-arrangements{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:18px}.meal-arrangements h3{flex:0 0 100%;margin:0}.meal-arrangements .checkbox-field{width:auto}
.meal-preference-person .meal-preference-options{display:block}.meal-preference-person .meal-preference-options select{width:100%}
.share-proposal-list{display:grid;gap:10px;margin:16px 0}.share-confirm-actions{display:flex;justify-content:flex-end;margin-top:18px}.share-import-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ticket-segment-edit{margin:14px 0;padding:14px;border:1px solid #bdcac3;border-radius:10px;background:#f7faf8}.ticket-segment-edit legend{padding:0 8px;font-weight:750;color:#315f49}
.ticket-value-changed input{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.ticket-value-changed small{display:block;margin-top:5px;color:var(--danger);font-weight:650}.ticket-summary{display:grid;gap:8px;margin:14px 0}.ticket-summary-value{padding:9px 11px;border-radius:8px}.ticket-summary-value.ticket-value-changed{background:var(--danger-bg);border:1px solid var(--danger);color:var(--danger)}
@media(max-width:700px){.project-documents .document-actions{display:flex;align-items:center;justify-content:space-between;width:100%}.project-documents .document-trash-button{order:-1;width:44px;height:44px;padding:0;border-radius:50%;font-size:1.05rem}.project-documents .document-trash-label{display:none}.project-documents .document-actions>a{margin-left:auto}}
.settings-identity-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.settings-identity-document{padding:16px;border:1px solid #bdcac3;border-radius:11px;background:#f7faf8}.settings-identity-document p{margin:8px 0 12px}.settings-identity-document .document-actions{margin-bottom:10px}@media(max-width:700px){.settings-identity-documents{grid-template-columns:1fr}}
.identity-document-viewer{width:min(1100px,calc(100vw - 24px));height:min(850px,calc(100vh - 24px));padding:12px;border:0;border-radius:14px;background:#17211d;color:#fff;box-shadow:0 20px 70px #0008}.identity-document-viewer::backdrop{background:#101713cc}.identity-document-stage{height:calc(100% - 78px);display:flex;align-items:center;justify-content:center;overflow:hidden}.identity-document-stage img{display:block;width:100%;height:100%;object-fit:contain}.identity-document-stage iframe{display:block;width:100%;height:100%;border:0;background:#fff}.identity-document-viewer-actions{display:flex;justify-content:center;gap:10px;padding-top:12px}.identity-document-viewer-message{margin:6px 0 0;text-align:center;min-height:1.2em}@media(max-width:700px) and (orientation:portrait){.identity-document-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0}.identity-document-stage{height:calc(100% - 190px)}.identity-document-viewer-actions{flex-direction:column}.identity-document-viewer-actions .button{width:100%}}
.travel-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.travel-identity-shortcut{display:inline-flex;margin-top:8px}.travel-identity-viewer{display:none;grid-template-rows:auto auto minmax(0,1fr) auto;gap:10px}.travel-identity-viewer[open]{display:grid}.travel-identity-viewer header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.travel-identity-viewer header h2,.travel-identity-viewer header p{margin:0 0 .25rem}.travel-identity-viewer header>button{width:38px;height:38px;border:0;border-radius:50%;background:#e7eee9;color:#234b38;font-size:1.5rem;cursor:pointer}.travel-identity-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.travel-identity-viewer .identity-document-stage{height:auto;min-height:0;border-radius:9px;background:#0d1512}@media(max-width:700px){.travel-heading-actions{align-items:stretch;flex-direction:column}.travel-identity-shortcut{width:max-content;max-width:100%}}
.identity-access-list{display:grid;gap:.65rem}.identity-access-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #ccd7d0;border-radius:11px;background:#f7faf8}.identity-access-openable{cursor:pointer}.identity-access-openable:hover,.identity-access-openable:focus-visible{border-color:#71927f;background:#eaf2ed;outline:none;box-shadow:0 0 0 3px #71927f22}.identity-access-row p{margin:.25rem 0 0;color:var(--muted)}.identity-access-row small{display:block;margin-top:.25rem;color:#a33}.identity-access-actions{display:flex;gap:.5rem;flex-wrap:wrap}.identity-access-upload{cursor:pointer}@media(max-width:600px){.identity-access-row{align-items:stretch;flex-direction:column}.identity-access-actions{display:grid}.identity-access-row .button{width:100%}}
.settings-administrators{margin:18px 0;padding:20px}.settings-administrators>header h2{margin:0}.settings-administrators>header p{margin:5px 0 0;color:var(--muted)}#settings-admin-list{display:grid;gap:10px;margin:18px 0}.settings-admin-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border);border-radius:12px;background:#fafcfb}.settings-admin-row p{margin:4px 0;color:var(--muted)}.settings-admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.settings-admin-actions .button{padding:9px 12px}.settings-invitation-link{display:flex;align-items:end;gap:10px;margin-top:14px}.settings-invitation-link .field{flex:1}.settings-invitation-link input{font-size:.82rem}@media(max-width:700px){.settings-admin-row{align-items:stretch;flex-direction:column}.settings-admin-actions{justify-content:flex-start}.settings-invitation-link{align-items:stretch;flex-direction:column}}
.settings-admin-sessions{margin-top:8px}.settings-admin-sessions summary{width:max-content;color:#315f49;font-size:.83rem;font-weight:750;cursor:pointer}.settings-admin-sessions ul{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}.settings-admin-sessions li{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:7px 9px;border-radius:8px;background:#edf3ef;font-size:.78rem}.settings-admin-sessions li span{color:#65766e}
.settings-invitation-template{scroll-margin-top:90px}.settings-template-variables{padding:11px 13px;border-radius:9px;background:#e6eee9;color:#315f49}.project-access-invitation+.project-access-invitation{margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.project-invitation-actions{display:flex;gap:9px;flex-wrap:wrap}.project-invitation-preview{width:min(900px,calc(100% - 24px));max-height:calc(100vh - 24px);padding:22px;border:0;border-radius:16px;box-shadow:0 20px 65px #17251f66}.project-invitation-preview::backdrop{background:#17251fcc}.project-invitation-preview>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.project-invitation-preview h2,.project-invitation-preview header p{margin:0}.project-invitation-preview dl{display:grid;gap:8px;margin:18px 0}.project-invitation-preview dl div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px}.project-invitation-preview dt{font-weight:750;color:var(--muted)}.project-invitation-preview dd{margin:0;overflow-wrap:anywhere}.project-invitation-preview-stage{height:min(58vh,650px);border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#edf2ef}.project-invitation-preview-stage>p{padding:20px}.project-invitation-preview-stage iframe{display:block;width:100%;height:100%;border:0;background:#edf2ef}@media(max-width:700px){.project-invitation-actions{display:grid}.project-invitation-preview{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0}.project-invitation-preview-stage{height:50vh}.project-invitation-preview .card-actions{align-items:stretch;flex-direction:column}.project-invitation-preview .button{width:100%}}
@media(max-width:700px){.topbar .return-link{flex:0 0 36px;width:36px;max-width:36px;padding:8px 6px;overflow:hidden;font-size:0;text-align:center;text-overflow:clip}.topbar .return-link::before{content:'←';font-size:1rem}.topbar nav{order:2}.topbar .return-link{order:1}.topbar .account-name,.topbar .account-action,.topbar #language{order:3}}
.topbar-menu{display:none}.topbar-menu>summary{list-style:none;cursor:pointer}.topbar-menu>summary::-webkit-details-marker{display:none}.topbar-menu>summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}@media(max-width:1000px){.topbar{gap:10px}.topbar>.main-navigation{display:none}.topbar-menu{display:block;flex:1 1 auto;min-width:0;order:2}.topbar-menu>summary{display:flex;align-items:center;justify-content:center;gap:6px;width:max-content;min-height:38px;padding:7px 11px;border:1px solid #ffffff99;border-radius:9px;background:#ffffff16;color:#fff;font-weight:750}.topbar-menu>nav{position:absolute;top:60px;left:10px;right:10px;z-index:40;display:grid!important;gap:6px!important;padding:9px;border:2px solid #244b39;border-radius:12px;background:#f7faf8;box-shadow:0 14px 35px rgba(20,45,32,.3);overflow:visible!important}.topbar-menu>nav a{display:flex;align-items:center;min-height:42px;padding:9px 13px;border:1.5px solid #315f49;border-radius:8px;color:#244b39!important;background:#e7efe9;font-weight:700}.topbar-menu>nav a:hover,.topbar-menu>nav a:focus{background:#cfe1d6;outline:2px solid #315f49;outline-offset:1px}.topbar-menu:not([open])>nav{display:none!important}}@media(max-width:700px){.topbar{overflow:visible}}@media(max-width:420px){.topbar-menu{flex:0 0 40px}.topbar-menu>summary span{display:none}.topbar-menu>summary{width:40px;padding:7px}.topbar{padding:0 8px;gap:5px}.topbar .view-history-navigation,.topbar .global-history-actions{gap:2px}.topbar .view-history-navigation button,.topbar .global-undo{width:30px;height:30px;flex-basis:30px}}
.profile-action{display:inline-grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #ffffff66;border-radius:50%;background:#ffffff12;color:#fff;text-decoration:none}.profile-action:hover{background:#ffffff24}.profile-action svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.account-page dl{display:grid;gap:12px;margin:22px 0}.account-page dl>div{padding:12px;border:1px solid var(--border);border-radius:10px;background:#fafcfb}.account-page dt{color:var(--muted);font-size:.78rem;font-weight:700}.account-page dd{margin:4px 0 0;font-weight:700;overflow-wrap:anywhere}.account-page-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}@media(max-width:700px){.topbar .profile-action{order:3;flex-basis:36px}.account-page-actions{align-items:stretch;flex-direction:column}.account-page-actions .button{width:100%}}

/* Les erreurs de chargement restent visibles hors des champs de formulaire. */
#project-list > .error, #guest-project-list > .error { display: block; }

/* Les lignes de projets s'ouvrent directement ; la corbeille reste indépendante. */
#project-list .project-list-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 14px;cursor:pointer}
.project-list-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media(max-width:700px){#project-list .project-list-actions{grid-column:1 / -1;justify-content:flex-end}}
#project-list .project-list-card:hover,#project-list .project-list-card:focus-visible{border-color:#799688;background:#f7faf8;outline:2px solid #54776555;outline-offset:1px}
#project-list .project-delete-button{display:grid;place-items:center;align-self:center;justify-self:end;width:32px;min-width:32px;max-width:32px;height:32px;margin:0;padding:0;border:1.5px solid #bd555e;border-radius:5px;background:#f3d8da;color:#8a252e;font-size:1rem;line-height:1;box-shadow:none;cursor:pointer}
.project-delete-button:hover,.project-delete-button:focus-visible{background:#8f1722;outline:2px solid #b4232f55;outline-offset:2px}
.project-delete-button:disabled{opacity:.55;cursor:wait}
.project-list-copy{min-width:0}
.project-list-date{color:var(--muted);font-size:.86rem;white-space:nowrap}
@media(max-width:600px){
  #project-list .project-list-card{grid-template-columns:minmax(0,1fr) 32px;gap:9px 10px}
  #project-list .project-list-copy{grid-column:1/-1;grid-row:1}
  #project-list .project-delete-button{grid-column:2;grid-row:2;justify-self:end}
  .project-list-date{grid-column:1;grid-row:2;justify-self:end;white-space:normal;text-align:right;font-size:.75rem}
}

.inventory-summary{display:flex;flex-wrap:wrap;gap:10px 24px;padding:16px 20px;margin-bottom:18px}.inventory-summary span{color:var(--muted)}.inventory-bulk{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;margin-bottom:14px}.inventory-bulk select,.inventory-bulk input{width:auto;min-width:190px}.inventory-bulk .form-message{flex-basis:100%;margin:0}.inventory-list{display:grid;gap:10px}.inventory-form{padding:12px 16px}.inventory-compact{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.28fr) 48px;align-items:center;gap:18px}.inventory-compact>strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inventory-form:not(.expanded) .inventory-form-details{display:none}.inventory-form.expanded .inventory-compact{margin-bottom:16px}.inventory-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px}.inventory-designation{grid-column:span 2}.inventory-form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.inventory-form-actions>span:last-child{display:flex;align-items:center;gap:8px}.inventory-values{color:var(--muted);font-size:.82rem}.inventory-trash{width:32px;height:28px;padding:2px 6px;border:1px solid #b4232f;border-radius:2px;background:#b4232f;color:#fff;cursor:pointer}@media(max-width:1050px){.inventory-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-designation{grid-column:span 2}}@media(max-width:600px){.inventory-form-grid{grid-template-columns:1fr}.inventory-designation{grid-column:auto}.inventory-form-actions{align-items:stretch;flex-direction:column}.inventory-form-actions>span:last-child{justify-content:space-between}.inventory-summary{display:grid;gap:6px}.inventory-compact{grid-template-columns:minmax(0,1fr) 48px}.inventory-compact-type{display:none}.inventory-bulk{align-items:stretch;flex-direction:column}.inventory-bulk select,.inventory-bulk input{width:100%}.inventory-form.expanded{overflow:visible}.inventory-form.expanded .inventory-compact{position:sticky;top:70px;z-index:12;margin:-12px -16px 16px;padding:8px 16px;background:rgba(255,255,255,.98);border-bottom:1px solid #bdcac3;box-shadow:0 4px 10px rgba(23,45,34,.12)}}
.inventory-list{gap:2px}.inventory-form{margin-bottom:0}.inventory-form:not(.expanded){padding:3px 8px;border-radius:6px;box-shadow:none}.inventory-compact[data-toggle-inventory]{cursor:pointer;border-radius:6px}.inventory-compact[data-toggle-inventory]:hover,.inventory-compact[data-toggle-inventory]:focus-visible{background:#f1f6f3;outline:2px solid #54776555;outline-offset:2px}
.inventory-close-button{display:none}.inventory-form.expanded .inventory-compact{display:flex;justify-content:flex-end}.inventory-form.expanded .inventory-compact>strong,.inventory-form.expanded .inventory-compact>.inventory-compact-type,.inventory-form.expanded .inventory-compact>.inventory-photo-thumb,.inventory-form.expanded .inventory-compact>.inventory-photo-placeholder{display:none}.inventory-form.expanded .inventory-close-button{display:inline-flex;align-items:center;justify-content:center;min-width:92px}.inventory-form.expanded .inventory-compact[data-toggle-inventory]{cursor:default}.inventory-form.expanded .inventory-compact[data-toggle-inventory]:hover{background:#fff;outline:0}
.equipment-lists-panel{margin-bottom:22px}.equipment-lists{display:grid;gap:8px}.equipment-list-card{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:#fafcfb}.equipment-list-card>div:first-child{display:grid;gap:3px}.equipment-list-card small{color:var(--muted)}.equipment-list-card-actions{display:flex;align-items:center;gap:7px}.equipment-list-card-actions select{min-width:210px;padding:8px 10px}.equipment-list-card-actions .button{padding:8px 10px}.equipment-list-editor{margin-top:16px;padding:16px;border:2px solid #769586;border-radius:12px;background:#f7faf8}.equipment-list-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.6fr) minmax(130px,.35fr);gap:12px}.equipment-list-select-actions{display:flex;align-items:center;gap:10px;margin:14px 0}.equipment-list-select-actions strong{margin-left:auto}.equipment-list-picker{display:grid;gap:3px;max-height:52vh;padding:6px;border:1px solid var(--border);border-radius:9px;overflow:auto;background:#fff}.equipment-picker-row{display:grid;grid-template-columns:22px minmax(180px,1fr) minmax(150px,.55fr) minmax(120px,.35fr);align-items:center;gap:10px;padding:7px 9px;border-radius:6px;cursor:pointer}.equipment-picker-row:hover{background:#edf4f0}.equipment-picker-row input{width:17px!important;height:17px;margin:0}.equipment-picker-row span,.equipment-picker-row small{color:var(--muted)}.equipment-picker-row.excluded{order:2;background:#eef0ef;color:#89908c;opacity:.72}.equipment-picker-row.excluded:hover{opacity:1}.inventory-database-title{margin:20px 0 10px}@media(max-width:850px){.equipment-list-card{grid-template-columns:1fr}.equipment-list-card-actions{align-items:stretch;flex-wrap:wrap}.equipment-list-card-actions select{flex:1}.equipment-list-toolbar{grid-template-columns:1fr}.equipment-picker-row{grid-template-columns:22px minmax(0,1fr) auto}.equipment-picker-row small{display:none}}@media(max-width:560px){.equipment-list-card-actions{display:grid;grid-template-columns:1fr 1fr}.equipment-list-card-actions select{grid-column:1/-1;width:100%}.equipment-list-select-actions{align-items:stretch;flex-direction:column}.equipment-list-select-actions strong{margin-left:0}.equipment-picker-row{grid-template-columns:22px minmax(0,1fr)}.equipment-picker-row span{display:none}}
.inventory-derived-status{display:grid;align-content:start;gap:5px;padding:10px 12px;border:1px solid #d4ddd8;border-radius:9px;background:#f4f7f5}.inventory-derived-status>span{font-size:.82rem;font-weight:700;color:var(--muted)}.inventory-derived-status>strong{color:#355c49}.inventory-derived-status>small{color:var(--muted)}
.inventory-notes{grid-column:span 3}.inventory-notes textarea{min-height:96px;resize:vertical}@media(max-width:1050px){.inventory-notes{grid-column:span 2}}@media(max-width:600px){.inventory-notes{grid-column:auto}}
.equipment-agenda{position:fixed;inset:5vh max(18px,calc((100vw - 1050px)/2));z-index:1000;margin:0;padding:20px;overflow:auto;background:#fff;box-shadow:0 0 0 100vmax rgba(18,30,24,.7),0 22px 70px rgba(0,0,0,.45)}.equipment-agenda[hidden]{display:none}.equipment-agenda>.section-heading{position:sticky;top:-20px;z-index:3;margin:-20px -20px 18px;padding:16px 20px;background:#fff;border-bottom:1px solid var(--border)}.equipment-agenda-close{margin-left:auto}.equipment-agenda-range{display:flex;align-items:center;gap:10px}.equipment-agenda-range label{display:flex;align-items:center;gap:6px;font-weight:700}.equipment-agenda-range input{width:auto;padding:8px}.warning-text{color:#9a6b00!important;font-weight:700}@media(max-width:700px){.equipment-agenda{inset:0;border-radius:0}.equipment-agenda>.section-heading{align-items:stretch;flex-direction:column}.equipment-agenda-close{width:100%;margin:0}.equipment-agenda-range{align-items:stretch;flex-direction:column}}
.inventory-status-agenda{justify-self:start;margin-top:5px;padding:7px 10px}.equipment-agenda-month-title{margin:4px 0 12px;text-align:center;text-transform:capitalize}.equipment-availability-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #b9c8c0;border-left:1px solid #b9c8c0}.equipment-availability-calendar>b{padding:7px;text-align:center;background:#e7eee9;border-right:1px solid #b9c8c0;border-bottom:1px solid #b9c8c0}.equipment-availability-day{min-height:78px;padding:6px;border-right:1px solid #b9c8c0;border-bottom:1px solid #b9c8c0}.equipment-availability-day.available{background:#dff1e5}.equipment-availability-day.unavailable{background:#f3caca;color:#772b2b}.equipment-availability-day.conflict{background:#e00000;color:#fff;box-shadow:inset 0 0 0 2px #9f0000;font-weight:800}.equipment-availability-day.outside{opacity:.42}.equipment-availability-day>strong{display:block;margin-bottom:5px}.equipment-availability-day>small{display:block;font-size:.67rem;font-weight:700;line-height:1.15}@media(max-width:700px){.equipment-availability-day{min-height:52px;padding:3px}.equipment-availability-calendar>b{padding:4px 1px;font-size:.65rem}.equipment-availability-day>small{font-size:.5rem}}
.date-card-offer-pending{border-color:#c89b2c;background:#fff9e8}.date-card-offer-pending h3 small{color:#8a6514;font-size:.58em;white-space:nowrap}.calendar-event-confirmed.calendar-event-offer-pending{background:#e7c86f;color:#49380d}
.expense-summary{display:flex;align-items:center;gap:24px}.expense-summary span{color:var(--muted)}.expense-list{display:grid;gap:6px}.expense-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:10px 12px;border:1px solid var(--border);border-radius:9px}.expense-row>div{display:grid;gap:3px}.expense-row>div:last-child{text-align:right}.expense-row span{color:var(--muted);font-size:.84rem}.expense-edit-form{cursor:pointer}.expense-edit-form:hover,.expense-edit-form:focus-visible{border-color:#799688;outline:2px solid #54776555;outline-offset:1px}.expense-edit-form [data-view-expense-document]{display:none}.expense-edit-form input,.expense-edit-form select,.expense-edit-form button,.expense-edit-form label{cursor:auto}@media(max-width:600px){.expense-summary{align-items:flex-start;flex-direction:column;gap:5px}.expense-row{grid-template-columns:1fr}.expense-row>div:last-child{text-align:left}}
.expense-webcam{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.expense-webcam .field{max-width:460px}.expense-webcam-stage{display:grid;place-items:center;margin:12px 0;min-height:260px;border-radius:12px;background:#17211d;overflow:hidden}.expense-webcam-stage video,.expense-webcam-stage canvas{display:block;width:100%;max-height:65vh;object-fit:contain}
#scan-expenses{display:none}
.settings-payment-method{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:8px}.settings-payment-method input{padding:10px 12px;border:1px solid #bdcac3;border-radius:9px}.settings-payment-method .button{padding:8px 11px}@media(max-width:600px){.settings-payment-method{grid-template-columns:1fr}}
.commercial-documents{display:grid;gap:18px;margin-top:18px}.commercial-document{max-width:980px;margin-inline:auto;padding:0;overflow:hidden}.commercial-admin-state{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 18px;background:#eef3f0}.commercial-admin-state strong{color:#9a5e00}.commercial-client-paper{padding:30px 42px 38px;background:#fff;color:#17211d}.commercial-letterhead{display:grid;grid-template-columns:44% 56%;align-items:start}.commercial-letterhead img{display:block;max-width:340px;max-height:145px;object-fit:contain;object-position:left top}.commercial-letterhead address,.commercial-recipient address{display:grid;gap:2px;font-style:normal}.commercial-letterhead address{text-align:left;color:#777}.commercial-letterhead address span{display:block}.commercial-recipient,.commercial-document-date{width:48%;margin-left:52%}.commercial-recipient{min-height:70px;margin-top:52px}.commercial-recipient>strong{display:block;margin-bottom:3px}.commercial-document-date{margin-top:28px;text-align:left}.commercial-client-title{text-align:left}.commercial-client-quote .commercial-client-title{margin:55px 0 24px}.commercial-client-invoice .commercial-client-title{margin:145px 0 70px}.commercial-client-title h2{margin:0;font-size:2rem}.commercial-client-title p{margin:5px 0 0;color:var(--muted);font-size:.82rem}.commercial-project-summary{margin:0 0 25px}.commercial-project-summary p{margin:4px 0;line-height:1.35}.commercial-document table{width:100%;border-collapse:collapse}.commercial-document td{padding:8px 0;border-bottom:0;text-align:left}.commercial-document td:last-child{text-align:right;font-weight:700;white-space:nowrap}.commercial-totals{margin:24px 0 0 auto;max-width:360px}.commercial-totals div{display:flex;justify-content:space-between;gap:24px;padding:5px 0}.commercial-totals div:last-child{margin-top:5px;padding-top:9px;border-top:1px solid #17211d}.commercial-totals dt,.commercial-totals dd{margin:0}.commercial-clauses{margin-top:42px;padding-top:14px;border-top:1px solid #dce4df;font-size:.82rem}.commercial-clauses p{margin:0;line-height:1.5}.commercial-private-actions,.commercial-document-actions{padding:0 18px 14px}.commercial-private-actions{padding-top:14px;background:#f7faf8}.commercial-dialog{width:min(820px,calc(100% - 30px));max-height:calc(100vh - 30px);overflow:auto;border:0;border-radius:15px;padding:22px;box-shadow:0 20px 65px #17251f66}.commercial-dialog::backdrop{background:#17251fcc}.commercial-dialog>header,.commercial-dialog form>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.commercial-dialog h2,.commercial-dialog header p{margin:0}.commercial-private-box{margin:16px 0;padding:15px;border:1px solid #bdcac3;border-radius:10px;background:#f7faf8}.commercial-private-box h3{margin-top:0}.commercial-private-box p{margin:5px 0}.commercial-dialog [data-commercial-calculation-body]{display:grid;gap:16px}.commercial-dialog [data-commercial-calculation-body] section{padding:14px;border:1px solid #dce4df;border-radius:10px}.commercial-dialog [data-commercial-calculation-body] h3{margin-top:0}@media(max-width:700px){.commercial-client-paper{padding:22px 18px}.commercial-letterhead{grid-template-columns:1fr}.commercial-letterhead address{text-align:left}.commercial-recipient,.commercial-document-date{width:auto;margin-left:0}.commercial-recipient{margin-top:30px}.commercial-client-invoice .commercial-client-title{margin-top:60px}.commercial-document-actions,.commercial-private-actions{align-items:stretch;flex-direction:column}.commercial-document-actions .button,.commercial-private-actions .button{width:100%}}
@media print{body *{visibility:hidden!important}.commercial-print-target,.commercial-print-target *{visibility:visible!important}.commercial-print-target{position:absolute;inset:0;width:100%;max-width:none;margin:0;padding:0;border:0;box-shadow:none}.commercial-print-target .commercial-admin-state,.commercial-print-target .commercial-private-actions,.commercial-print-target .commercial-document-actions{display:none!important}.commercial-print-target .commercial-client-paper{padding:8mm 12mm}.commercial-print-target .commercial-clauses{break-inside:avoid}}
.expense-delete-batch{justify-self:end;margin-top:4px;padding:5px 8px;font-size:.76rem}
.expense-crop-editor{scroll-margin-top:85px}.expense-crop-stage{max-height:70vh;overflow:auto;background:#2a332f;padding:8px;border-radius:10px}.expense-crop-stage canvas{display:block;width:100%;height:auto;cursor:crosshair;touch-action:none}
.trash-button,.inventory-trash,#project-list .project-delete-button,.project-expense-delete{display:inline-grid;place-items:center;flex:0 0 40px;width:40px;min-width:40px;max-width:40px;height:38px;padding:0;border:1px solid #a80018;border-radius:7px;background:#df1731;color:#fff;box-shadow:0 2px 5px rgba(125,0,20,.28);cursor:pointer;font-family:"Segoe UI Symbol",sans-serif;font-size:1.48rem;line-height:1}.trash-button:hover,.inventory-trash:hover,#project-list .project-delete-button:hover,.project-expense-delete:hover{background:#b90020;filter:none}.trash-button:focus-visible,.inventory-trash:focus-visible,#project-list .project-delete-button:focus-visible,.project-expense-delete:focus-visible{outline:3px solid #df173155;outline-offset:2px}.trash-button:disabled,.inventory-trash:disabled,#project-list .project-delete-button:disabled,.project-expense-delete:disabled{cursor:wait;opacity:.55}
.offer-determining-period{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;margin:8px 0;padding:7px 10px;border:1px solid #c59b38;border-radius:8px;background:#fff6d8;color:#624814;font-size:.84rem;font-weight:750;cursor:pointer}.offer-determining-period input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#a97800}.offer-determining-period:has(input:checked){border-color:#9b6e00;background:#ffe7a0;color:#493300}
.expense-document-viewer{width:min(1100px,calc(100vw - 24px));height:min(850px,calc(100vh - 24px));padding:12px;border:0;border-radius:14px;background:#17211d;color:#fff;box-shadow:0 20px 70px #0008}.expense-document-viewer::backdrop{background:#101713cc}.expense-document-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;height:52px}.expense-document-viewer iframe{display:block;width:100%;height:calc(100% - 52px);border:0;border-radius:8px;background:#fff}@media(max-width:700px){.expense-document-viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0}}
.expense-edit-fields{display:grid!important;grid-template-columns:minmax(180px,2fr) minmax(100px,.7fr) 80px;gap:8px!important}.expense-edit-fields label{display:grid;gap:3px;text-align:left}.expense-edit-fields input{width:100%;padding:8px 10px}.expense-edit-fields small{grid-column:1/-1;color:var(--muted)}.expense-edit-form>div:last-child{align-content:start}.expense-edit-form .form-message{min-height:1em}@media(max-width:700px){.expense-edit-fields{grid-template-columns:1fr 1fr}.expense-edit-fields label:first-child{grid-column:1/-1}}
.expense-edit-fields{grid-template-columns:minmax(180px,2fr) minmax(130px,1fr) 145px minmax(100px,.7fr) 80px}@media(max-width:1000px){.expense-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-edit-fields label:first-child{grid-column:1/-1}}
.expense-scan-origin{grid-column:1/-1;margin:0 0 4px;padding:0 0 10px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:3px}.expense-scan-origin strong{font-size:1rem}.expense-scan-origin small{color:var(--muted)}
.expense-account-field,.expense-project-field{grid-column:span 2}.expense-edit-fields select{width:100%;padding:8px 10px;border:1px solid #bdcac3;border-radius:9px;background:#fff}@media(max-width:700px){.expense-account-field,.expense-project-field{grid-column:1/-1}}
.expense-select-ticket{display:flex;align-items:center;gap:7px;align-self:start;font-weight:700}.expense-select-ticket input{width:18px;height:18px}.expense-bulk-assignment{display:grid;grid-template-columns:auto minmax(190px,1fr) minmax(190px,1fr) auto;align-items:end;gap:10px;margin:12px 0 18px;padding:14px;border:1px solid #bdcac3;border-radius:10px;background:#f7faf8}.expense-bulk-assignment>label:not(.checkbox-field){display:grid;gap:4px}.expense-bulk-assignment select{padding:9px 10px;border:1px solid #bdcac3;border-radius:9px;background:#fff}.expense-bulk-assignment .form-message{grid-column:1/-1}@media(max-width:900px){.expense-bulk-assignment{grid-template-columns:1fr 1fr}.expense-bulk-assignment .checkbox-field,.expense-bulk-assignment .button{grid-column:1/-1}}
main:has(#expense-list){width:min(1580px,calc(100% - 24px))}.expense-edit-form{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:end!important;gap:8px!important;padding:8px 10px!important}.expense-ticket-controls{align-self:center;display:grid!important;justify-items:center;gap:6px!important}.expense-select-ticket{align-self:center!important}.expense-select-ticket span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.expense-mail-state{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;font-size:.75rem;font-weight:900;cursor:help}.expense-mail-none{background:#f7d7ed;color:#9b286d;border:1px solid #d978b5}.expense-mail-prepared{background:#ffe2b8;color:#8a5200;border:1px solid #d99a39}.expense-mail-sent{background:#d9efe1;color:#22633f;border:1px solid #62a47d}.expense-edit-fields{display:grid!important;grid-template-columns:minmax(190px,2fr) minmax(100px,1fr) minmax(145px,.8fr) minmax(105px,.65fr) 70px minmax(165px,1.35fr) minmax(165px,1.35fr)!important;column-gap:10px!important;row-gap:6px!important;align-items:end}.expense-edit-fields .expense-scan-origin{grid-column:1/-1;margin:0!important;padding:0 0 4px!important;min-height:18px;border:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-edit-fields .expense-scan-origin small{display:none}.expense-edit-fields>small{display:none}.expense-edit-fields .expense-account-field,.expense-edit-fields .expense-project-field{grid-column:auto!important}.expense-edit-form>div:last-child{display:flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;text-align:left!important}.expense-edit-form>div:last-child .button{padding:9px 10px!important;min-height:38px;white-space:nowrap}.expense-edit-form>div:last-child .form-message{position:absolute}.expense-edit-fields label{min-width:0}.expense-edit-fields label span{font-size:.74rem!important}.expense-edit-fields input,.expense-edit-fields select{box-sizing:border-box;min-width:0;max-width:100%;min-height:38px;padding:7px 8px!important}.expense-edit-fields input[type=date]{padding-right:5px!important}
@media(max-width:1250px){.expense-edit-form{grid-template-columns:34px minmax(0,1fr)!important}.expense-edit-form>div:last-child{grid-column:2;justify-content:flex-start}.expense-edit-fields{grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) minmax(145px,.8fr) minmax(105px,.65fr) 68px minmax(145px,1.3fr) minmax(145px,1.3fr)!important}}
.expense-category-proposed span{color:var(--danger)!important;font-weight:800}.expense-category-proposed select{border:2px solid var(--danger)!important;background:var(--danger-bg)!important;color:var(--danger);font-weight:750}
.expense-category-confirmed span{color:#286244!important;font-weight:800}.expense-category-confirmed select{border:2px solid #4f8a68!important;background:#e8f5ec!important;color:#214f37;font-weight:750}
.expense-outside-project select{background:#e7ebe9!important;border-color:#c2cbc6!important;color:#65716b}.expense-outside-project span{color:#7a8580!important}
.expense-batch-row{min-height:0;padding:7px 10px!important;align-items:center!important}.expense-batch-info{display:flex!important;align-items:baseline;gap:10px!important;min-width:0}.expense-batch-info strong{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-batch-info span,.expense-batch-info small{flex:0 1 auto;white-space:nowrap;color:var(--muted);font-size:.78rem}.expense-batch-actions{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end;gap:5px!important;white-space:nowrap}.expense-batch-actions .button{min-height:34px;padding:7px 10px!important;font-size:.8rem}.expense-batch-actions .trash-button{flex:0 0 auto}@media(max-width:900px){.expense-batch-row{grid-template-columns:1fr!important}.expense-batch-actions{justify-content:flex-start;flex-wrap:wrap;white-space:normal}.expense-batch-info{flex-wrap:wrap}}
.expense-batch-row{cursor:pointer}.expense-batch-row:hover,.expense-batch-row:focus-visible{background:#edf4ef;outline:2px solid rgba(50,91,70,.28);outline-offset:1px}.accounting-row.accounting-selectable{cursor:pointer}.accounting-row.accounting-selected{background:#e7f1ea}.accounting-row.accounting-selectable:hover,.accounting-row.accounting-selectable:focus-visible{background:#dcebe1;outline:2px solid rgba(50,91,70,.28);outline-offset:-2px}
.expense-scan{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;column-gap:18px;padding:14px 20px!important}.expense-scan>h2{margin:0!important;font-size:1.15rem}.expense-scan>p{margin:0!important;color:var(--muted);font-size:.86rem}.expense-scan>.card-actions{margin:0;white-space:nowrap}.expense-scan>.form-message,.expense-scan>.expense-webcam{grid-column:1/-1}.expense-summary{padding:12px 20px!important;min-height:0}.expense-summary #expense-selection-summary{font-weight:700;color:#315f49}@media(max-width:900px){.expense-scan{grid-template-columns:1fr;gap:8px}.expense-scan>.card-actions{white-space:normal}.expense-scan>.form-message,.expense-scan>.expense-webcam{grid-column:auto}}
@media(max-width:900px){main:has(#expense-list){width:min(100% - 16px,760px)}.expense-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}.expense-edit-fields .expense-scan-origin{grid-column:1/-1}.expense-edit-fields .expense-account-field,.expense-edit-fields .expense-project-field{grid-column:auto!important}.expense-edit-form>div:last-child{flex-wrap:wrap!important}}@media(max-width:600px){.expense-edit-form{grid-template-columns:34px minmax(0,1fr)!important}.expense-edit-fields{grid-template-columns:1fr!important}.expense-edit-fields>*{grid-column:1!important}.expense-edit-form>div:last-child .button{flex:1}}
.todo-express-item textarea[name="title"]{width:100%;min-width:0;min-height:39px;height:39px;padding:9px;border:1px solid #aebbb4;border-radius:8px;background:#fff;line-height:1.2;resize:vertical}
.todo-express-queue-panel>header{justify-content:flex-start}.todo-express-queue-panel #todo-express-confirm-all{align-self:center;padding:8px 12px;min-height:34px;font-size:.84rem;margin-left:8px}
.todo-express-inline{display:grid;gap:14px;margin:18px 0 22px}.todo-express-inline[hidden]{display:none}.todo-express-inline .todo-express-capture,.todo-express-inline .todo-express-queue-panel{margin:0}.todo-express-inline .todo-express-capture{border-color:#91aa9c}.todo-express-inline .todo-express-queue-panel{background:#f7faf8}
.address-input-row{position:relative!important;display:block!important;width:100%}.address-input-row>input{display:block;width:100%;min-width:0;min-height:46px;padding-left:48px!important;padding-right:48px!important}.address-map-link{position:absolute;top:50%;z-index:3;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;transform:translateY(-50%);text-decoration:none}.address-map-link svg{width:25px;height:25px}.address-google-link{left:6px;background:#fff}.address-waze-link{right:6px;background:#dff7ff}.address-map-link:hover{box-shadow:0 0 0 2px #79a18c55}.address-map-link[aria-disabled="true"]{filter:grayscale(1);opacity:.35;pointer-events:none}
.commercial-letterhead{grid-template-columns:51% 49%;align-items:start;width:calc(100% + 34px);transform:translateX(-34px)}.commercial-letterhead img{display:block;width:430px;max-width:100%;height:auto;max-height:none;object-fit:contain;object-position:left top}.commercial-letterhead address{box-sizing:border-box;width:100%;padding-top:25px;color:#929292;font-weight:700;line-height:1.04;gap:0}.commercial-letterhead address strong,.commercial-letterhead address span{display:block;margin:0}.commercial-letterhead address strong{margin-bottom:6px}.commercial-letterhead address .commercial-company-postal{margin-bottom:14px}.commercial-letterhead address .commercial-company-contact+.commercial-company-contact{margin-top:6px}.commercial-letterhead address .commercial-company-vat{margin-top:13px}.commercial-recipient{width:42%;margin-left:58%;margin-top:44px;line-height:1.04}.commercial-recipient>strong{margin-bottom:6px}.commercial-recipient address{gap:0;line-height:1.04}.commercial-document-date{width:auto;margin:62px 0 0;text-align:left}.commercial-travel-heading td{padding-top:18px}.commercial-page-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:30px;color:#777;font-size:.72rem;text-align:right}
#project-form>.form-grid{column-gap:14px;row-gap:9px}#project-form #recording-project-fields{gap:9px 14px}#project-form .field>span:first-child,#project-form .field>legend{display:block;margin-bottom:3px;font-size:.83rem;line-height:1.15}#project-form .field input,#project-form .field select,#project-form .field textarea{min-height:34px;padding:6px 9px;border-radius:8px}#project-form .field textarea{min-height:50px;line-height:1.25}#project-form .field textarea[name="description"]{height:50px}#project-form .field textarea[name="billing_address"]{height:58px}#project-form .project-notes{min-height:34px;height:34px}#project-form .checkbox-field{min-height:36px;padding:5px 9px}#project-form .field small{font-size:.73rem;line-height:1.15}#project-form fieldset.field{padding:9px 11px}#project-form .gear-list{gap:6px}#project-form .gear-row{gap:6px}
.commercial-recipient{transform:translateY(-2.1em)}
@media(max-width:700px){.commercial-letterhead img{width:min(360px,100%)}.commercial-letterhead address{padding-top:18px}.commercial-recipient,.commercial-document-date{width:auto;margin-left:0}}
@media print{.commercial-print-target .commercial-client-paper{padding-bottom:16mm}.commercial-print-target .commercial-page-footer{position:fixed;right:12mm;bottom:5mm;margin:0}.commercial-print-target .commercial-current-page,.commercial-print-target .commercial-total-pages{font-size:0}.commercial-print-target .commercial-current-page::after{content:counter(page);font-size:.72rem}.commercial-print-target .commercial-total-pages::after{content:counter(pages);font-size:.72rem}}
.commercial-document th,.commercial-document td{border-bottom:0;text-align:left;line-height:1.12}.commercial-document td{padding:2px 0}.commercial-domain-title th{padding:10px 0 3px;font-weight:800}.commercial-domain-title:first-child th{padding-top:0}.commercial-domain-detail td:first-child{padding-left:1cm}.commercial-domain-detail td:last-child{padding-left:12px}.commercial-travel-heading{display:none}
.commercial-client-paper{padding-top:50px;padding-left:69px;padding-right:69px}.commercial-domain-total td{padding-top:4px;font-weight:800}
.commercial-exchange-warning{margin-bottom:16px;padding:16px;border:2px solid #b33b3b;border-radius:12px;background:#fff0f0;color:#7f1d1d}.commercial-exchange-warning h2{color:#9f2424}.commercial-exchange-dialog textarea{width:100%}
.commercial-client-title h2 span{color:#8a8a8a;font-size:.5em;font-weight:400;vertical-align:middle}.commercial-client-title>p{display:none}
.commercial-domain-subtitle td{padding-top:10px!important;font-weight:800}.commercial-accommodation-detail td:first-child{padding-left:3mm;font-size:.88rem;color:#46504b}.commercial-domain-total+.commercial-accommodation-detail td{padding-top:2mm}
.commercial-settings-actions{position:sticky;bottom:-22px;z-index:3;margin:18px -22px -22px;padding:14px 22px;background:#fffffff2;border-top:1px solid #dce4df;display:flex;gap:10px}.settings-vat-refresh{margin-top:8px;justify-self:start}.settings-vat-refresh+small{display:block;margin-top:6px;color:var(--muted)}
.commercial-document-archived{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px}.commercial-document-archived .status{margin-right:8px}.commercial-billing-page .commercial-document,.commercial-billing-page .commercial-private-box{background:#eef6ff;border-color:#a9c5df}.commercial-billing-page .commercial-client-paper{background:#f8fbff}
.commercial-archived-actions{display:flex;align-items:center;gap:8px}.commercial-archived-actions .button{padding:7px 11px}@media(max-width:700px){.commercial-document-archived{align-items:flex-start;flex-direction:column}.commercial-archived-actions{width:100%;flex-wrap:wrap}}
.commercial-quote-archive{max-width:980px;width:100%;margin-inline:auto;padding:0;overflow:hidden}.commercial-quote-archive>summary{display:grid;grid-template-columns:auto auto minmax(90px,1fr) auto auto auto;align-items:center;gap:12px;padding:11px 16px;cursor:pointer;list-style:none}.commercial-quote-archive>summary::-webkit-details-marker{display:none}.commercial-quote-archive-project{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commercial-quote-archive-toggle{color:var(--green);font-weight:750}.commercial-quote-archive[open] .commercial-quote-archive-toggle{font-size:0}.commercial-quote-archive[open] .commercial-quote-archive-toggle::after{content:'Refermer';font-size:.9rem}.commercial-quote-archive-content{border-top:1px solid #dce4df}.commercial-quote-archive-content>.commercial-document{max-width:none;margin:0;border:0;border-radius:0;box-shadow:none}@media(max-width:700px){.commercial-quote-archive>summary{grid-template-columns:auto 1fr auto}.commercial-quote-archive-project,.commercial-quote-archive>summary time{display:none}.commercial-quote-archive>summary>strong:last-of-type{grid-column:2}.commercial-quote-archive-toggle{grid-column:3;grid-row:1/3}}
.commercial-invoice-draft>summary{grid-template-columns:auto auto minmax(140px,1fr) auto auto auto auto}.commercial-invoice-draft-recipient{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.commercial-invoice-draft-subtotal{white-space:nowrap}.commercial-invoice-draft-settings,.commercial-invoice-draft-send{padding:7px 13px;white-space:nowrap}.commercial-invoice-draft[open]{border-color:#688c79}@media(max-width:700px){.commercial-invoice-draft>summary{grid-template-columns:auto 1fr auto}.commercial-invoice-draft-recipient,.commercial-invoice-draft-subtotal{grid-column:2}.commercial-invoice-draft-settings,.commercial-invoice-draft-send{grid-column:2;justify-self:start}.commercial-invoice-draft .commercial-quote-archive-toggle{grid-column:3;grid-row:1/6}}
.commercial-billing-net-total{display:flex;align-items:center;justify-content:flex-end;gap:16px;max-width:980px;width:100%;margin:0 auto;padding:10px 16px;border:1px solid #c4d1c9;border-radius:12px;background:#e8efea}.commercial-billing-net-total span{margin-right:auto;font-weight:750}.commercial-billing-net-total strong{font-size:1.05rem;white-space:nowrap}
.commercial-source-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.commercial-invoice-source{max-width:980px;margin:16px auto;background:#eef6ff}.commercial-source-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0;border-top:1px solid #c7d9ea}.commercial-invoice-comparison{padding:16px 18px;background:#f5f7f8;border-bottom:1px solid #c7d9ea}.commercial-invoice-comparison h3,.commercial-invoice-comparison p{margin:0 0 8px}.commercial-invoice-comparison table{font-size:.82rem}.commercial-invoice-comparison th,.commercial-invoice-comparison td{padding:7px 8px;border-bottom:1px solid #dde4e8}.commercial-invoice-comparison td:nth-child(2){color:#888}.commercial-invoice-comparison .commercial-comparison-changed td:nth-child(n+3){color:#b3261e;font-weight:700}@media(max-width:700px){.commercial-source-row{align-items:stretch;flex-direction:column}.commercial-invoice-comparison{overflow:auto}}
.commercial-next-installment{display:flex;align-items:center;justify-content:space-between;gap:24px}.commercial-next-installment h2,.commercial-next-installment p{margin:0}.commercial-next-installment p{margin-top:5px}.commercial-invoice-archive>summary{grid-template-columns:auto auto minmax(150px,1fr) auto auto auto}@media(max-width:700px){.commercial-next-installment{align-items:stretch;flex-direction:column}}
.commercial-totals .commercial-remaining-invoice{justify-content:flex-start;color:#858d89;font-size:.92rem}.commercial-totals .commercial-remaining-invoice dd{margin-left:4px}
@media(max-width:700px){.commercial-client-paper{padding-left:18px;padding-right:18px}}
.commercial-letterhead address .commercial-company-vat{margin-top:28px!important}
.commercial-client-paper{font-family:Arial,Helvetica,sans-serif}
@media print{.commercial-print-target .commercial-client-paper{padding-left:19mm;padding-right:19mm}}
.commercial-toll-notice td:first-child{font-style:italic}
@media(max-width:1000px){.topbar-menu>nav{right:auto;width:max-content;max-width:calc(100vw - 20px);min-width:0;grid-template-columns:max-content;box-sizing:border-box}.topbar-menu>nav a{justify-self:stretch;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-wrap:anywhere}}

/* Menus responsive : le cadre suit la largeur du bouton le plus long. */
@media(max-width:1000px){.topbar-menu{position:relative}.topbar-menu>nav{top:calc(100% + 8px);left:0;right:auto;width:max-content;min-width:max-content;max-width:calc(100vw - 20px)}.topbar-menu>nav a{width:100%;white-space:nowrap}}

/* Les cartes de dates doivent rester entièrement utilisables sur téléphone. */
@media(max-width:700px){.date-card{min-width:0;padding:12px;gap:14px;overflow:hidden}.date-card>div,.date-card-actions,.date-card .card-actions{min-width:0;max-width:100%}.date-card .status{display:block;width:100%;max-width:100%;min-width:0}.date-card h3{max-width:100%;overflow-wrap:anywhere}.date-card-actions .button,.date-card .card-actions .button{width:100%;min-width:0;max-width:100%;padding:9px 10px;white-space:normal;text-align:center}.date-card .card-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.date-card-actions small{max-width:100%}.period-schedule{min-width:0;padding:12px;overflow:hidden}.schedule-day,.schedule-controls,.schedule-half{min-width:0;max-width:100%}}

/* Le sélecteur des fiches est un menu compact, pas un panneau pleine largeur. */
@media(max-width:700px){.project-navigation{align-items:flex-start;width:var(--project-menu-width,max-content);max-width:100%}.project-page-picker{width:var(--project-menu-width,max-content);max-width:100%}.project-page-picker>summary{width:100%;min-width:0}.project-page-picker>summary span{display:none}.project-page-picker>summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-navigation .project-page-wheel{display:grid;width:100%;min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}.project-page-wheel .button{width:100%;min-width:0;max-width:100%;white-space:nowrap}}
/* Dès que les boutons ne tiennent plus sur une ligne, on passe directement au menu. */
@media(max-width:1100px){.project-navigation{align-items:flex-start;justify-items:start;width:var(--project-menu-width,max-content);max-width:100%}.project-page-picker{width:var(--project-menu-width,max-content);max-width:100%}.project-page-picker>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;padding:9px 12px;border:2px solid #3f7559;border-radius:10px;background:#e3eee7;color:#315f49;cursor:pointer;list-style:none}.project-page-picker>summary::-webkit-details-marker{display:none}.project-page-picker>summary span{display:none}.project-page-picker>summary strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.project-page-picker>summary::after{content:'⌄';font-size:1rem}.project-page-picker[open]>summary::after{content:'⌃'}.project-navigation .project-page-wheel{display:grid;width:100%;min-width:0;max-width:100%;height:auto;max-height:none;margin-top:5px;padding:5px;gap:3px;grid-template-columns:minmax(0,1fr);border:1px solid #b8c8bf;border-radius:12px;background:#f7faf8;overflow:visible;scroll-snap-type:none}.project-page-wheel .button{display:flex;align-items:center;justify-content:flex-start;width:100%;min-width:0;max-width:100%;height:auto;min-height:36px;margin:0;padding:8px 12px;border:0;border-radius:7px;background:#e7efe9;color:#315f49;font-size:.82rem;font-weight:680;opacity:1;white-space:nowrap}.project-page-wheel .button.active{background:#3f7559;color:#fff;font-size:.82rem;font-weight:800;opacity:1;transform:none;box-shadow:0 3px 8px #244c3833}}
@media(max-width:800px){.accounting-register{overflow:visible}.accounting-register .table-wrap{overflow:visible}.accounting-register table,.accounting-register tbody{display:block;width:100%}.accounting-register thead{display:none}.accounting-register tr.accounting-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 8px;width:100%;margin-bottom:10px;padding:11px;border:1px solid #b8c9bf;border-radius:11px;background:#fff}.accounting-register tr.accounting-selected{background:#e7f1ea}.accounting-register tr.accounting-sent,.accounting-register tr.accounting-disabled{background:#f0f1f1}.accounting-register tr.accounting-row td{display:block;grid-column:2;min-width:0;padding:3px 0;border:0;white-space:normal;overflow-wrap:anywhere}.accounting-register tr.accounting-row td:first-child{grid-column:1;grid-row:1/7;align-self:start;padding-top:4px}.accounting-register tr.accounting-row td:nth-child(2){color:#68736d;font-size:.82rem}.accounting-register tr.accounting-row td:nth-child(3){font-size:1rem}.accounting-register tr.accounting-row td:nth-child(4)::before{content:'Destinataire : ';color:#68736d;font-size:.78rem;font-weight:700}.accounting-register tr.accounting-row td:nth-child(5){font-weight:800}.accounting-register tr.accounting-row td:nth-child(6){color:#59645e;font-size:.82rem}.accounting-register tr.accounting-row td.accounting-actions{display:flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap;padding-top:7px}.accounting-register .accounting-actions .button{flex:0 0 auto;min-width:0;padding:7px 10px;font-size:.78rem}.accounting-register>header .button{width:100%;white-space:normal;text-align:center}}
.commercial-offers-view>.page-heading,.commercial-offers-view>.card-actions,.commercial-offers-view>.commercial-documents{position:relative;left:-2px}
.commercial-offers-view>.page-heading{top:auto}
.global-undo-proxy{display:none!important}
.pmi-builder-item-actions{display:flex;gap:7px;flex-shrink:0}
.todo-person>.todo-zone{margin-top:18px;padding-top:14px;border-top:1px solid #d8e2dc}.todo-person>.todo-zone:first-of-type{margin-top:8px}.todo-zone>h3{margin:0 0 9px;color:#315f49;font-size:.78rem;font-weight:850;letter-spacing:.055em;text-transform:uppercase}.todo-zone>.todo-list{margin-top:0}
.todo-person .todo.owner-label.urgency-none{background:#fff4c7;border-color:#ead47a}
html{overflow-y:scroll;scrollbar-gutter:stable}
.project-flow-board{display:grid;gap:14px}.project-flow-row{display:grid;gap:15px;padding:18px;border-left:6px solid #85a091}.project-flow-row.flow-tone-flow{border-left-color:#dd902c}.project-flow-row.flow-tone-urgent,.project-flow-row.flow-tone-critical{border-left-color:#a5222c}.project-flow-row.flow-tone-complete{border-left-color:#27704c}.project-flow-row>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-flow-row>header h2{margin:0;font-size:1.08rem}.project-flow-row>header a{color:inherit}.project-flow-row>header>span{color:var(--muted);font-size:.78rem}.project-flow-steps{display:grid;grid-template-columns:repeat(8,minmax(80px,1fr));gap:4px;overflow-x:auto}.project-flow-step{padding:7px 5px;border-radius:7px;background:#e5eae7;color:#718078;text-align:center;font-size:.7rem;font-weight:750;white-space:nowrap}.project-flow-step.done{background:#d9ebdf;color:#276242}.project-flow-step.active{background:#ffe5bd;color:#6a3c00;box-shadow:inset 0 0 0 2px #dd902c}.project-flow-action{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;color:inherit;text-decoration:none}.project-flow-action[href]{cursor:pointer}.project-flow-action[href]:hover,.project-flow-action[href]:focus-visible{box-shadow:0 5px 15px #244b3924;transform:translateY(-1px)}.project-flow-action small{font-weight:750}.project-flow-action strong{font-size:.98rem}@media(max-width:700px){.project-flow-row{padding:13px}.project-flow-steps{grid-template-columns:repeat(8,105px)}}
.todo-person>header h2{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.todo-person.owner-jdn>header{border-left:5px solid #8d6bb5}.todo-person.owner-client>header{border-left:5px solid #65aeb9}.todo-person.owner-label>header{border-left:5px solid #788bc3}.todo-person.owner-third_party>header{border-left:5px solid #80998d}.project-todo-picker nav a.owner-jdn{background:#e8def5;color:#563d78}.project-todo-picker nav a.owner-client{background:#d8eef2;color:#255965}.project-todo-picker nav a.owner-label{background:#dfe4f6;color:#3d4f82}.project-todo-picker nav a.owner-third_party{background:#e1e7e4;color:#40544a}.project-todo-picker nav a[class*=owner-]:hover,.project-todo-picker nav a[class*=owner-].active{filter:saturate(1.25) brightness(.94)}
.is-working,.is-working *{cursor:progress!important}.global-working-indicator{position:fixed;right:18px;bottom:18px;z-index:10000;display:flex;align-items:center;gap:13px;max-width:min(390px,calc(100vw - 28px));padding:14px 17px;border:1px solid #8eaa9b;border-radius:13px;background:#f8fbf9;color:#173d2b;box-shadow:0 15px 42px #173d2b44;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.global-working-indicator.is-visible{opacity:1;transform:translateY(0)}.global-working-indicator>span:last-child{display:grid;gap:2px}.global-working-indicator strong{font-size:.94rem}.global-working-indicator small{color:#5f7168;font-size:.79rem;line-height:1.3}.global-working-spinner{flex:0 0 auto;width:29px;height:29px;border:4px solid #cad9d1;border-top-color:#315f49;border-radius:50%;animation:global-working-spin .8s linear infinite}@keyframes global-working-spin{to{transform:rotate(360deg)}}@media(max-width:600px){.global-working-indicator{left:14px;right:14px;bottom:14px;max-width:none}}
.pmi-workflow{display:grid;gap:18px}.pmi-workflow>header{padding-bottom:14px;border-bottom:1px solid var(--border)}.pmi-workflow>header h2,.pmi-workflow>header p{margin:0}.pmi-primary-action,.pmi-review-actions{display:grid;gap:12px;padding:16px;border:1px solid #d99b3d;border-radius:12px;background:#fff7e5}.pmi-primary-action .button,.pmi-review-actions>.button{justify-self:start}.pmi-history{display:grid;gap:12px}.pmi-version{padding:15px;border:1px solid #bfcfc6;border-left:5px solid #dd902c;border-radius:11px;background:#f9fbfa}.pmi-version.pmi-approved{border-left-color:#27704c;background:#edf7f0}.pmi-version>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pmi-version>header h3{margin:0;font-size:1.08rem}.pmi-version>header time{color:var(--muted);font-size:.78rem}.pmi-version .status{display:inline-block;margin-top:4px}.pmi-corrections{display:grid;gap:9px;margin-top:13px}.pmi-correction{display:grid;grid-template-columns:minmax(180px,1fr) minmax(170px,.45fr) minmax(210px,.8fr) auto;align-items:end;gap:10px;padding:11px;border:1px solid #d7e0db;border-radius:9px;background:#fff}.pmi-correction>p{align-self:center;margin:0;font-weight:700}.pmi-correction label{display:grid;gap:4px}.pmi-correction label>span{color:var(--muted);font-size:.75rem;font-weight:700}.pmi-correction textarea{min-height:58px}.pmi-correction .form-message{grid-column:1/-1}.pmi-review-actions form{display:grid;gap:10px}@media(max-width:900px){.pmi-correction{grid-template-columns:1fr 1fr}.pmi-correction>p{grid-column:1/-1}}@media(max-width:600px){.pmi-version>header{flex-direction:column}.pmi-correction{grid-template-columns:1fr}.pmi-correction>p,.pmi-correction .form-message{grid-column:auto}.pmi-correction .button,.pmi-primary-action .button,.pmi-review-actions>.button{width:100%;white-space:normal}}
.pmi-approved-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #91b9a0;border-radius:11px;background:#edf7f0}.pmi-approved-actions p{margin:0}.pmi-approved-actions .form-message{flex-basis:100%}@media(max-width:600px){.pmi-approved-actions{align-items:stretch;flex-direction:column}.pmi-approved-actions .button{width:100%;white-space:normal}}
.pmi-correction-entry{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(260px,1fr);gap:14px}.pmi-correction-entry>div:first-child{padding:12px;border-radius:9px;background:#fff}.pmi-correction-entry p{margin:5px 0;color:var(--muted);font-size:.82rem}.pmi-correction-entry pre{margin:10px 0 0;padding:10px;border-radius:7px;background:#253c31;color:#fff;font:700 .78rem/1.5 ui-monospace,monospace;white-space:pre-wrap}.pmi-correction-preview{grid-column:1/-1;display:grid;gap:10px}.pmi-preview-track-group{overflow:visible;border:1px solid #d8c385;border-radius:9px;background:#fff}.pmi-preview-track-group>div{display:grid;gap:3px;padding:8px}.pmi-preview-track-group>div>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;padding:7px 9px;border-bottom:1px solid #eee5ca}.pmi-preview-track-group>div>div:last-child{border-bottom:0}.pmi-correction-preview time{font-weight:850;color:#8b5b0e}.pmi-correction-preview .error{margin:0}.pmi-correction-location{display:block;margin-bottom:4px;color:#315f49;font-size:.76rem;font-weight:850}.pmi-correction-location:empty{display:none}@media(max-width:700px){.pmi-correction-entry{grid-template-columns:1fr}.pmi-correction-preview{grid-column:auto}.pmi-preview-track-group>div>div{grid-template-columns:70px minmax(0,1fr)}}
.pmi-review-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pmi-production-approval{margin-left:auto}.pmi-correction-composer{display:grid;gap:15px;padding:16px;border:2px solid #3f7559;border-radius:12px;background:#f7faf8}.pmi-correction-composer[hidden]{display:none}.pmi-correction-composer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pmi-correction-composer h3,.pmi-correction-composer .eyebrow{margin:0}.pmi-builder-fields{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 8px}.pmi-builder-fields .field-wide{grid-column:1/-1}.pmi-builder-list{display:grid;gap:10px}.pmi-builder-track-group{overflow:visible;border:1px solid #bdcac3;border-radius:10px;background:#f3f7f4}.pmi-builder-track-group>div{display:grid;gap:6px;padding:8px}.pmi-builder-track-group article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid #d4ddd8;border-radius:8px;background:#fff}.pmi-builder-list p{margin:3px 0 0}.pmi-builder-list time{display:inline-block;min-width:52px;color:#8b5b0e;font-weight:850}.pmi-mail-import{padding-top:4px;border-top:1px solid #d8c385}.pmi-mail-import>summary{padding:10px 0;color:#315f49;font-weight:800;cursor:pointer}.pmi-mail-import form{display:grid;gap:10px;padding-top:8px}@media(max-width:600px){.pmi-review-toolbar,.pmi-correction-composer>header,.pmi-builder-track-group article{align-items:stretch;flex-direction:column}.pmi-review-toolbar .button{width:100%;white-space:normal}.pmi-production-approval{margin-left:0}.pmi-builder-fields{grid-template-columns:1fr}.pmi-builder-fields .field-wide{grid-column:auto}}
.pmi-version>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;list-style:none}.pmi-version>summary::-webkit-details-marker{display:none}.pmi-version>summary>span{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.pmi-version>summary>span:last-child{justify-content:flex-end;color:var(--muted);font-size:.78rem}.pmi-version>summary small{font-weight:750}.pmi-version>summary::after{content:'⌄';color:#315f49;font-weight:900}.pmi-version[open]>summary::after{content:'⌃'}.pmi-version-content{padding:0 14px 14px}.pmi-pending-count{padding:3px 7px;border-radius:999px;background:#fff0c4;color:#7a5000;font-size:.72rem;font-weight:850}.pmi-no-corrections{margin:0;color:var(--muted)}.pmi-correction-pending{border-color:#d99b3d;background:#fffaf0}.pmi-blocked-next{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;border:2px solid #d99b3d;border-radius:11px;background:#fff7e5}.pmi-blocked-next strong,.pmi-blocked-next p,.pmi-primary-action strong,.pmi-primary-action p{margin:0}.pmi-blocked-next p,.pmi-primary-action p{margin-top:4px;color:var(--muted)}@media(max-width:600px){.pmi-version>summary,.pmi-version>summary>span:last-child,.pmi-blocked-next{align-items:stretch;flex-direction:column}.pmi-version>summary>span:last-child{justify-content:flex-start}.pmi-blocked-next .button{width:100%;white-space:normal}}
.archive-close-label{display:none}.pmi-version[open] .archive-open-label{display:none}.pmi-version[open] .archive-close-label{display:inline}.pmi-correction-view-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.pmi-correction-view-controls>span{color:var(--muted);font-size:.8rem;font-weight:750}.pmi-correction-view-controls .button{padding:7px 11px}.pmi-correction-view-controls .is-active{border-color:#315f49;background:#315f49;color:#fff}.pmi-author-group{display:grid;gap:9px;padding:10px;border:2px solid var(--correction-author-color);border-radius:12px;background:#fff}.pmi-author-group+.pmi-author-group{margin-top:12px}.pmi-author-group>h4{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:3px 4px 8px;border-bottom:3px solid var(--correction-author-color)}.pmi-author-group>h4 span::before{display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:50%;background:var(--correction-author-color);content:''}.pmi-author-group>h4 small{color:var(--muted)}@media(max-width:600px){.pmi-correction-view-controls{justify-content:stretch}.pmi-correction-view-controls>span{width:100%}.pmi-correction-view-controls .button{flex:1}}
.pmi-author-group.is-current-author{box-shadow:0 0 0 3px rgba(49,95,73,.12)}
.settings-cdtext-charset{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}.settings-cdtext-charset h3{margin-top:0}.settings-cdtext-charset .field{max-width:650px}.cdtext-character-error{display:none;margin-top:4px;color:#a52626;font-weight:850}.cdtext-character-error:not(:empty){display:block}.cdtext-input input.is-invalid-character{border-color:#b4232f;background:#fff0f0;color:#8f1717;box-shadow:0 0 0 3px rgba(180,35,47,.16)}
.pmi-track-group{overflow:visible;border:1px solid #bdcac3;border-radius:11px;background:#f3f7f4}.pmi-track-heading{position:sticky;top:155px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:11px 14px;border-bottom:1px solid #bdcac3;border-radius:10px 10px 0 0;background:rgba(225,235,229,.97);box-shadow:0 4px 10px rgba(31,65,48,.10);backdrop-filter:blur(8px)}.pmi-track-heading small{color:var(--muted);font-size:.72rem}.pmi-track-corrections{display:grid;gap:8px;padding:10px}.pmi-track-corrections .pmi-correction-location{margin-bottom:5px}.pmi-track-group+.pmi-track-group{margin-top:5px}@media(max-width:700px){.pmi-track-heading{top:142px}.pmi-track-heading small{white-space:nowrap}}
.pmi-comment-field{grid-column:1/-1}.pmi-comment-combo{position:relative;display:block;width:100%}.pmi-comment-combo input{display:block;width:100%;padding-right:55px}.pmi-comment-combo select{position:absolute;top:0;right:0;bottom:0;width:48px;min-width:48px;height:100%;padding-inline:8px;border-left:1px solid #bdcac3;border-radius:0 8px 8px 0;background:#e7efe9;color:#315f49;font-weight:900}.pmi-comment-combo select:focus{width:min(240px,80%)}
.pmi-timing-combo{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%}.pmi-timing-combo input{display:block;flex:0 0 var(--pmi-timing-width,16ch);width:var(--pmi-timing-width,16ch)}.pmi-correction-mode-field{grid-column:1;width:max-content;max-width:100%}.pmi-correction-mode-field select{width:max-content;max-width:100%;background:#f7faf8;font-weight:750}
.pmi-timing-field{grid-column:2;display:grid;grid-template-columns:max-content auto!important;align-items:center;justify-content:start;column-gap:8px;min-width:0}.pmi-timing-field>span:first-child{grid-column:1/-1}.pmi-track-length{white-space:nowrap;color:#52665c;font-size:.76rem;font-weight:750}.pmi-track-length.is-error{color:#a52626;font-weight:900}.pmi-timing-combo input.is-too-long{border-color:#b4232f;background:#fff0f0;color:#9b1c1c;box-shadow:0 0 0 3px rgba(180,35,47,.18)}.pmi-builder-track-number{grid-column:1;max-width:8ch}.pmi-builder-track-name{grid-column:2;min-width:0}.pmi-builder-track-name input{width:100%;min-width:100%}@media(max-width:900px){.pmi-correction-mode-field,.pmi-timing-field{grid-column:1/-1}.pmi-track-length{white-space:normal}}@media(max-width:600px){.pmi-builder-track-number,.pmi-builder-track-name{grid-column:auto}.pmi-timing-field{grid-template-columns:1fr!important}.pmi-timing-combo{align-items:stretch;flex-direction:column;width:100%}.pmi-timing-combo input{flex-basis:auto;width:100%}}
.pmi-nearby-corrections{grid-column:1/-1;padding:10px 12px;border:2px solid #dfa62e;border-radius:9px;background:#fff4c7;color:#5f4810}.pmi-nearby-corrections[hidden]{display:none}.pmi-nearby-corrections>strong,.pmi-nearby-corrections>p{display:block;margin:0}.pmi-nearby-corrections>p{font-size:.78rem}.pmi-nearby-corrections ul{display:grid;gap:5px;margin:8px 0 0;padding:0;list-style:none}.pmi-nearby-corrections li{display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:8px;align-items:baseline;padding-top:5px;border-top:1px solid rgba(95,72,16,.2)}.pmi-nearby-corrections time{font-weight:900}.pmi-nearby-corrections small{font-weight:800}@media(max-width:600px){.pmi-nearby-corrections li{grid-template-columns:50px 1fr}.pmi-nearby-corrections small{grid-column:2}}
#add-pmi-correction:disabled{background:#d7dad8;color:#818985;border-color:#cbd0cd;box-shadow:none}#add-pmi-correction:not(:disabled){background:#f0c94f;color:#332b10;border-color:#d6a927}
.pmi-correction-workline{display:grid;grid-template-columns:82px minmax(0,1fr) 58px;align-items:center;gap:9px;padding:12px;background:#fffaf0}.pmi-workline-time{grid-column:1;grid-row:1;align-self:start;padding-top:3px;color:#8b5b0e;font-size:1.12rem;line-height:1}.pmi-workline-copy{grid-column:2;grid-row:1;min-width:0;font-size:1rem;font-weight:750;line-height:1.35}.pmi-correction-copy{white-space:pre-wrap}.pmi-original-toggle{display:block;margin-top:6px;padding:0;border:0;background:transparent;color:#315f49;font:750 .73rem/1.25 inherit;text-decoration:underline;cursor:pointer}.pmi-original-toggle:disabled{color:#78847e;text-decoration:none;cursor:default}.pmi-quick-done{grid-column:3;grid-row:1;align-self:stretch;min-height:54px;border:2px solid #aeb7b2;border-radius:12px;background:#e1e4e2;color:#8d9691;font-size:2rem;font-weight:950;line-height:1;cursor:pointer}.pmi-correction-processed .pmi-quick-done{border-color:#27704c;background:#dcefe3;color:#167243}.pmi-quick-done:disabled{opacity:1}.pmi-response-combo{position:relative;grid-column:2/-1;grid-row:2;min-width:0}.pmi-response-combo input{width:100%;padding-right:245px}.pmi-response-combo select{position:absolute;top:0;right:0;width:235px;height:100%;border-radius:0 8px 8px 0;background:#e7efe9;color:#315f49;font-weight:750}.pmi-correction-workline>.form-message{grid-column:2/-1}.pmi-correction-processed{border-color:#92bca1;background:#f3faf5}@media(max-width:700px){.pmi-correction-workline{grid-template-columns:68px minmax(0,1fr) 52px;padding:10px}.pmi-workline-time{font-size:.98rem}.pmi-response-combo{grid-column:1/-1;grid-row:2}.pmi-response-combo input{padding-right:48px}.pmi-response-combo select{width:45px;min-width:45px;color:transparent}.pmi-response-combo select:focus{width:min(280px,90%);color:#315f49}.pmi-correction-workline>.form-message{grid-column:1/-1}}
.pmi-complete-all{justify-self:end;margin:2px 0 11px;background:#e7efe9}.pmi-complete-all:disabled{cursor:progress}
.pmi-batch-fields{display:grid;grid-template-columns:minmax(220px,1fr) 110px;gap:12px;align-items:end;margin-bottom:10px}.pmi-color-field input[type=color]{width:100%;height:42px;padding:3px}.pmi-batch-label{display:inline-block;margin:7px 0 0 9px;padding:3px 8px;border-left:8px solid var(--correction-batch-color);border-radius:999px;background:color-mix(in srgb,var(--correction-batch-color) 18%,white);font-size:.7rem;font-weight:850;vertical-align:middle}.pmi-correction-workline{border-left:7px solid var(--correction-batch-color,#b9c7bf)}.pmi-additional-mail{margin:12px 0;padding:12px;border:1px solid #d99b3d;border-radius:11px;background:#fff7e5}.pmi-additional-mail>summary{padding:3px 0}@media(max-width:600px){.pmi-batch-fields{grid-template-columns:1fr 80px}}
.pmi-batch-controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.pmi-batch-controls>span{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid #d1dcd6;border-radius:9px;background:#fff}.pmi-batch-controls small{color:var(--muted)}.pmi-batch-controls .button{padding:7px 10px;font-size:.78rem}@media(max-width:600px){.pmi-batch-controls>span{align-items:stretch;flex-direction:column;width:100%}}
.pmi-version.pmi-current{border-color:#d8b744;border-left-color:#d8a719;background:#fff7cf;box-shadow:0 5px 16px #9b7b1f1f}.pmi-version.pmi-current>summary{background:#fff2ad;border-radius:9px}.pmi-version.pmi-current[open]>summary{border-radius:9px 9px 0 0}.pmi-version.pmi-current>summary small{color:#755900;font-weight:900}
.pmi-workflow>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.pmi-invite-correctors{margin-left:auto;white-space:nowrap}.pmi-invitation-panel{padding:18px;border:1px solid #bdcac3;border-radius:12px;background:#f3f7f4}.pmi-invitation-panel .section-heading{align-items:flex-start}@media(max-width:760px){.pmi-workflow>header{flex-direction:column}.pmi-invite-correctors{width:100%;margin-left:0;white-space:normal}}
.guest-landing{max-width:1040px;margin:0 auto}.guest-welcome{padding:42px 0 28px}.guest-welcome h1{font-size:clamp(2rem,5vw,3.6rem);margin:.15em 0}.guest-welcome>p:last-child{max-width:720px;font-size:1.08rem;line-height:1.65;color:#506159}.guest-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.guest-project-card{display:flex;flex-direction:column;gap:24px;min-height:290px;padding:28px}.guest-project-card h2{font-size:1.75rem;margin:.2em 0}.guest-project-actions{display:grid;gap:10px;margin-top:auto}.guest-project-actions .button{text-align:center}.guest-project-card>small{color:#697a72;line-height:1.45}.non-admin-session .topbar-menu{display:none}@media(max-width:700px){.guest-welcome{padding-top:24px}.guest-project-grid{grid-template-columns:1fr}.guest-project-card{min-height:0}}
.settings-preview-action,.guest-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:20px}.settings-preview-action{padding:14px 0}.settings-preview-action h3,.settings-preview-action p{margin:.2em 0}.guest-preview-banner{margin:18px auto 0;max-width:1040px;padding:14px 18px;border:1px solid #d49b34;border-radius:12px;background:#fff5dc;color:#61460e}.guest-preview-banner>div{display:grid;gap:3px;min-width:180px}.guest-preview-banner>div span{font-size:.8rem}.guest-preview-banner label{display:grid;gap:4px;font-size:.72rem;font-weight:800}.guest-preview-banner select{min-width:155px;padding:8px 30px 8px 9px;border:1px solid #bd8a2f;border-radius:8px;background:#fff;color:#49350c;font:inherit}.guest-preview-banner .button{white-space:nowrap}@media(max-width:850px){.settings-preview-action,.guest-preview-banner{align-items:stretch;flex-direction:column}.guest-preview-banner .button{width:100%}}
.non-admin-session .main-navigation,.non-admin-session .topbar-menu,.non-admin-session .project-navigation,.non-admin-session .pmi-production-approval,.non-admin-session .pmi-mail-import,.non-admin-session #revoke-pmi-approval{display:none!important}
.non-admin-session .pmi-complete-all,.non-admin-session .pmi-quick-done,.non-admin-session .pmi-response-combo,.non-admin-session .pmi-version time{display:none!important}
.correction-toc>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.correction-toc-list{display:grid;gap:7px;margin:20px 0}.correction-toc-row{display:grid;grid-template-columns:42px minmax(0,1fr) 126px;align-items:center;gap:10px}.correction-toc-row>strong{color:#315f49;text-align:right}.correction-toc-row>small{text-align:right;color:#65766e;font-variant-numeric:tabular-nums;white-space:nowrap}.correction-toc-row input:invalid{border-color:#b84242;background:#fff5f5}@media(max-width:600px){.correction-toc>header{flex-direction:column}.correction-toc-row{grid-template-columns:34px minmax(0,1fr)}.correction-toc-row>small{grid-column:2}}
.cdtext-budget{margin:20px 0;padding:14px 16px;border:1px solid #bfd2c8;border-radius:12px;background:#f4f8f6}.cdtext-budget>div{display:flex;justify-content:space-between;gap:16px;font-variant-numeric:tabular-nums}.cdtext-budget progress{width:100%;height:10px;margin:10px 0 5px;accent-color:#315f49}.cdtext-budget p{margin:0;color:#56675f;font-size:.9rem}.cdtext-budget.warning{border-color:#c99639;background:#fff9eb}.cdtext-budget.warning progress{accent-color:#b87a0d}.cdtext-budget.over-limit{border-color:#b84242;background:#fff1f1}.cdtext-budget.over-limit progress{accent-color:#b84242}@media(max-width:600px){.cdtext-budget>div{flex-direction:column;gap:4px}}
.cdtext-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.cdtext-input small{min-width:48px;color:#65766e;font-variant-numeric:tabular-nums}.cdtext-track{border:1px solid #d6e0db;border-radius:12px;background:#fff}.cdtext-track summary{display:grid;grid-template-columns:42px minmax(150px,1.45fr) minmax(75px,.5fr) minmax(75px,.5fr) 100px;align-items:center;gap:10px;padding:12px 14px;cursor:pointer}.cdtext-track-summary-title,.cdtext-track-summary-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdtext-track-summary-meta{display:contents;color:#52645b;font-size:.78rem}.cdtext-track-summary-meta span{min-width:0;color:#52645b;font-size:.78rem}.cdtext-track-summary-meta b{color:#718078;font-size:.67rem;text-transform:uppercase}.cdtext-track summary small{color:#65766e;white-space:nowrap;text-align:right}.cdtext-track>.form-grid{padding:0 14px 16px}.cdtext-client-change{padding:8px;border:2px solid #d88919;border-radius:10px;background:#fff5df}.cdtext-client-change>span{display:flex;justify-content:space-between;gap:8px}.cdtext-client-change em{color:#a55c00;font-size:.72rem;font-style:normal;font-weight:700;text-transform:uppercase}.cdtext-review-alert{margin:18px 0;padding:14px 16px;border-left:5px solid #d88919;background:#fff5df}.cdtext-review-alert p{margin:4px 0 0}@media(max-width:900px){.cdtext-track summary{grid-template-columns:42px minmax(130px,1.3fr) minmax(120px,1fr) 100px}.cdtext-track-summary-performer{display:none}}@media(max-width:620px){.cdtext-track summary{grid-template-columns:34px minmax(0,1fr) 82px}.cdtext-track-summary-composer{grid-column:2;grid-row:2}.cdtext-track summary>small{grid-column:3;grid-row:1/3}.cdtext-track-summary-meta b{display:none}}
.cdtext-version-change{padding:8px;border:2px solid #c85a5a;border-radius:10px;background:#ffe9e9}.cdtext-version-change>span{display:flex;justify-content:space-between;gap:8px}.cdtext-version-change em{color:#962d2d;font-size:.72rem;font-style:normal;font-weight:750;text-transform:uppercase}.cdtext-version-change-row>summary{background:#ffe9e9;color:#792929}.cdtext-master-code{padding:8px;border:2px solid #d33b3b;border-radius:10px;background:#fff0f0}.cdtext-master-code>span{display:flex;justify-content:space-between;gap:8px}.cdtext-master-code em{color:#b42323;font-size:.72rem;font-style:normal;font-weight:800;text-transform:uppercase}
.cdtext-isrc-sequence[hidden]{display:none}.cdtext-isrc-sequence{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding-top:14px;border-top:1px solid #d7a521}.cdtext-isrc-sequence p{margin:0;max-width:720px}.cdtext-master-sync-change{padding:8px;border:2px solid #d7a521;border-radius:10px;background:#fff3bd}@media(max-width:700px){.cdtext-isrc-sequence{align-items:stretch;flex-direction:column}}
.cdtext-code-alias-panel{margin:20px 0;border:2px solid #d7a521;border-radius:14px;background:#fff9df;overflow:hidden}.cdtext-code-alias-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;cursor:pointer;list-style:none}.cdtext-code-alias-panel>summary::-webkit-details-marker{display:none}.cdtext-code-alias-panel>summary p{margin:0 0 2px}.cdtext-code-alias-panel>summary>span{font-size:1.15rem;font-weight:850;transition:transform .18s ease}.cdtext-code-alias-panel[open]>summary>span{transform:rotate(90deg)}.cdtext-code-tool{padding:4px 18px 18px;border-top:1px solid #dfd4a6}.cdtext-code-alias-fields{display:grid;gap:8px;margin:14px 0}.cdtext-code-alias-row{display:grid;grid-template-columns:42px minmax(150px,1fr) minmax(280px,.8fr);align-items:center;gap:12px;padding:9px 11px;border:1px solid #dfd4a6;border-radius:10px;background:#fff}.cdtext-code-alias-row>.field{margin:0}.cdtext-code-alias-upc{grid-template-columns:minmax(280px,520px)}.cdtext-code-tool .isrc-preview{min-height:58px;margin-top:10px;padding:10px 13px;border:1px solid #dfd4a6;border-radius:9px;background:#fff}.cdtext-code-apply-warning{margin-top:16px;padding:12px 14px;border-left:5px solid #d7a521;background:#fff0a8;font-weight:750}.cdtext-code-alias-panel .card-actions{margin-top:14px}@media(max-width:750px){.cdtext-code-alias-row{grid-template-columns:34px minmax(0,1fr)}.cdtext-code-alias-row>.field{grid-column:1/-1}.cdtext-code-alias-upc{grid-template-columns:1fr}}
.cdtext-code-generator-fields{grid-template-columns:max-content max-content;justify-content:start;gap:18px}.cdtext-code-generator-fields .field{width:auto}.cdtext-code-generator-fields input.cdtext-isrc-compact-input,.cdtext-track input[name$="_isrc"]{width:17ch;max-width:100%}.cdtext-code-generator-fields input.cdtext-increment-compact-input{width:10ch;min-width:10ch}@media(max-width:600px){.cdtext-code-generator-fields{grid-template-columns:1fr}.cdtext-code-generator-fields input.cdtext-isrc-compact-input,.cdtext-code-generator-fields input.cdtext-increment-compact-input{max-width:100%}}
.cdtext-track-list-heading{display:grid;grid-template-columns:42px minmax(150px,1.45fr) minmax(75px,.5fr) minmax(75px,.5fr) 100px;gap:10px;padding:0 14px 3px;color:#718078;font-size:.67rem;font-weight:850;text-transform:uppercase}.cdtext-track-list-heading span:last-child{text-align:right}.cdtext-track-summary-meta b{display:none}@media(max-width:900px){.cdtext-track-list-heading{grid-template-columns:42px minmax(130px,1.3fr) minmax(120px,1fr) 100px}.cdtext-track-list-heading span:nth-child(4){display:none}}@media(max-width:620px){.cdtext-track-list-heading{grid-template-columns:34px minmax(0,1fr) 82px}.cdtext-track-list-heading span:nth-child(3),.cdtext-track-list-heading span:nth-child(4){display:none}.cdtext-track-list-heading span:last-child{grid-column:3}}
.cdtext-complete-panel>summary,.cdtext-album-panel>summary,.cdtext-track>summary{transition:background .15s ease,box-shadow .15s ease}.cdtext-complete-panel>summary:hover,.cdtext-album-panel>summary:hover,.cdtext-track>summary:hover{background:#eaf3ed;box-shadow:inset 0 0 0 2px #789987}.cdtext-complete-panel>summary:focus-visible,.cdtext-album-panel>summary:focus-visible,.cdtext-track>summary:focus-visible{outline:3px solid #d49b34;outline-offset:2px}.cdtext-track>summary>small::after{content:' · ▶';color:#315f49;font-weight:850}.cdtext-track[open]>summary>small::after{content:' · ▲'}.cdtext-collapse-button{display:block;margin:6px 14px 16px auto}.cdtext-complete-content>.cdtext-collapse-button{margin-top:18px;margin-right:0}.cdtext-album-panel>.cdtext-collapse-button{margin-top:0}@media(max-width:620px){.cdtext-collapse-button{width:calc(100% - 28px);margin-inline:14px}}
.cdtext-album-panel{margin:20px 0;border:1px solid #bfd2c8;border-radius:12px;background:#fff}.cdtext-album-panel summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;cursor:pointer}.cdtext-album-panel summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#52645b}.cdtext-album-panel summary small{color:#65766e}.cdtext-album-panel>.cdtext-album{padding:2px 16px 18px}@media(max-width:600px){.cdtext-album-panel summary{grid-template-columns:1fr auto}.cdtext-album-panel summary span{grid-column:1/-1;grid-row:2}}
.correction-toc:has(.cdtext-complete-panel){padding:0;overflow:hidden}.cdtext-complete-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;cursor:pointer;background:#f4f8f6}.cdtext-complete-panel>summary>div{display:flex;align-items:baseline;gap:14px;min-width:0}.cdtext-complete-panel>summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#52645b}.cdtext-complete-panel>summary small{color:#315f49;font-weight:700;white-space:nowrap}.cdtext-complete-panel[open]>summary{border-bottom:1px solid #bfd2c8}.cdtext-complete-content{padding:4px 20px 20px}@media(max-width:600px){.cdtext-complete-panel>summary,.cdtext-complete-panel>summary>div{align-items:flex-start;flex-direction:column;gap:5px}.cdtext-complete-content{padding:2px 12px 14px}}
.commercial-translation-controls{margin:14px 18px 0;padding:12px 14px;border:1px solid #b9cbbf;border-radius:12px;background:#eef5f0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.commercial-translation-controls label{display:flex;align-items:center;gap:8px;font-weight:700}.commercial-translation-controls select{padding:8px;border:1px solid #9fb4a6;border-radius:8px;background:#fff}.commercial-translation-validation{margin-left:auto}.commercial-translation-validation input{width:18px;height:18px}@media(max-width:700px){.commercial-translation-validation{margin-left:0}}
.simulation-heading{align-items:flex-start}.simulation-control-panel{max-width:900px;margin-inline:auto}.simulation-safety{margin:18px 0;padding:14px 16px;border-left:5px solid #d49b34;background:#fff5dc}.simulation-safety p{margin:4px 0 0}.simulation-run-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px auto 22px;padding:13px 16px;border:2px solid #a76b12;border-radius:12px;background:#fff1c9;color:#563907}.simulation-run-banner>div{display:grid;gap:2px}.simulation-run-banner>div span{font-size:.78rem}.simulation-run-banner>label{display:grid;gap:3px;font-size:.72rem;font-weight:800}.simulation-run-banner>label select{min-width:180px;padding:8px 30px 8px 10px;border:1px solid #b98a3e;border-radius:8px;background:#fffaf0;color:#563907;font:inherit}.simulation-run-banner nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.simulation-session .settings-save-actions,.simulation-session #save-editing-session{display:none!important}@media(max-width:800px){.simulation-run-banner{align-items:stretch;flex-direction:column}.simulation-run-banner nav{display:grid;justify-content:stretch}.simulation-run-banner .button{text-align:center}}
.invoice-address-group{display:grid;gap:.7rem;padding:.75rem;border:2px solid #789987;border-radius:12px;background:#f3f7f4}.invoice-address-group>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.invoice-address-group>header>div{display:grid;gap:2px}.invoice-address-group>header>div>span{color:#6d7b73;font-size:.86rem}.invoice-group-distribution-toggle{flex:0 0 auto;margin:0}.invoice-address-group-members{display:grid;gap:.6rem}.invoice-address-group .invoice-billing-address-card{margin:0;background:#fff;box-shadow:none}.invoice-address-group-repartition{padding-top:.7rem;border-top:1px solid #c8d5cd}.invoice-address-group-repartition:empty{display:none}.invoice-address-group-repartition>.commercial-private-box{margin:0;padding:.75rem;border-color:#b8c9bf;background:#fff}.invoice-address-group-repartition h3{margin-bottom:.3rem}@media(max-width:700px){.invoice-address-group>header{align-items:flex-start;flex-direction:column}.invoice-group-distribution-toggle{width:100%}}
.invoice-payment-schedule { grid-column: 1 / -1; margin: .7rem 0; padding: .75rem; border: 1px solid var(--line, #c9d5ce); border-radius: .65rem; background: #f7faf8; }
.invoice-payment-schedule-row { display: grid; grid-template-columns: minmax(9rem, 1fr) 10rem 7rem auto; gap: .55rem; align-items: center; margin-top: .5rem; }
.invoice-payment-schedule-row input { width: 100%; }
.commercial-payment-schedule { margin: 1rem 0; padding: .8rem 1rem; border: 1px solid #cad6cf; border-radius: .55rem; }
.commercial-payment-schedule h3 { margin: 0 0 .55rem; }
.commercial-payment-schedule p { display: flex; justify-content: space-between; gap: 1rem; margin: .3rem 0; }
@media (max-width: 760px) { .invoice-payment-schedule-row { grid-template-columns: 1fr 1fr; } }
.todo-import-list{display:grid;gap:8px}.todo-import-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;width:100%;padding:9px 12px}.todo-import-row>span{display:block;min-width:0;width:100%}.todo-import-row textarea{display:block;width:100%;min-height:42px;padding:9px 11px;border:1px solid #aebbb4;border-radius:8px;background:#fff;line-height:1.35;resize:vertical;overflow-wrap:anywhere}
.todo-completion-toggle{align-self:stretch;flex:0 0 3.25rem;margin:-15px 0 -15px -15px;border:0;border-right:1px solid #c8cfcb;border-radius:11px 0 0 11px;background:#d9dddb;color:transparent;font-size:1.8rem;font-weight:800;cursor:pointer}.general-todos .todo-completion-toggle{margin:-10px 0 -10px -15px}.todo-completion-toggle:hover{background:#cbd1ce}.todo-completion-toggle.is-done{background:#4f7f67;color:#fff;border-right-color:#416c57}.todo [data-archive-manual]{height:38px;min-height:38px;padding:6px 12px}.todo-manual-completed{background:#eef0ef!important;border-color:#c8cecb!important;color:#7b827e}.todo-manual-completed .todo-display h3,.todo-manual-completed .todo-display .todo-meta{text-decoration:line-through;color:#858b88}.todo-manual-completed .badge{filter:grayscale(1);opacity:.65}.todo-manual-archived{opacity:.82}
.todo-selected{outline:3px solid #d7ad32!important;outline-offset:2px;background:#fff8d9!important}.todo-selection-bar{position:fixed;z-index:30;right:24px;bottom:24px;display:flex;align-items:center;justify-content:flex-end;gap:10px;width:max-content;max-width:calc(100% - 48px);margin:0;padding:10px 12px;border:1px solid #b18a18;border-radius:12px;background:#fff7cf;box-shadow:0 8px 28px #263c3044}.todo-selection-bar[hidden]{display:none}.todo-selection-bar .button{min-height:36px;padding:7px 12px}
.todo-selectable{cursor:default}
.todo-task-group{border:2px solid #8ba292;border-radius:13px;background:#f5f8f6;overflow:hidden}.todo-task-group>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 15px;background:#e4ece7;color:#244a38;cursor:pointer;list-style:none}.todo-task-group>summary::-webkit-details-marker{display:none}.todo-task-group>summary:before{content:'›';font-size:1.25rem;font-weight:800;transform:rotate(0)}.todo-task-group[open]>summary:before{transform:rotate(90deg)}.todo-task-group>summary strong{flex:1}.todo-task-group>summary span{color:#66756d;font-size:.82rem;font-weight:700}.todo-task-group>.todo-list{margin:0;padding:12px}
.project-todo-add{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,220px) auto;align-items:end;gap:12px;margin-bottom:18px;padding:16px}.project-todo-add[hidden]{display:none}.project-todo-add label{display:grid;gap:5px;font-weight:700}.project-todo-add textarea,.project-todo-add input{width:100%;padding:10px;border:1px solid #aebbb4;border-radius:8px;background:#fff}.project-todo-add textarea{resize:vertical}.project-todo-add .form-message{grid-column:1/-1;margin:0}@media(max-width:760px){.project-todo-add{grid-template-columns:1fr}.project-todo-add .form-message{grid-column:auto}}
.todo-subgroup-summary-actions{margin-left:auto}.todo-task-group>summary .todo-subgroup-summary-actions .button{padding:6px 12px;min-height:0}.todo-subgroup-add{margin:10px 12px}.todo-subgroup-empty{padding:12px;margin:0}.page-heading [data-new-todo-subgroup]{margin-left:8px}
.todo-task-group{border-color:var(--todo-group-color,#8ba292);background:color-mix(in srgb,var(--todo-group-color,#8ba292) 7%,white)}.todo-task-group>summary{background:color-mix(in srgb,var(--todo-group-color,#8ba292) 22%,white);color:#243b31}.todo-subgroup-summary-actions{display:flex;align-items:center;gap:8px}.todo-subgroup-color{display:inline-flex;align-items:center}.todo-subgroup-color input[type="color"]{width:30px;height:30px;padding:2px;border:1px solid color-mix(in srgb,var(--todo-group-color,#8ba292) 75%,#333);border-radius:50%;background:#fff;cursor:pointer}.todo-subgroup-color input[type="color"]::-webkit-color-swatch-wrapper{padding:1px}.todo-subgroup-color input[type="color"]::-webkit-color-swatch{border:0;border-radius:50%}
.todo-subgroup-order{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid color-mix(in srgb,var(--todo-group-color,#8ba292) 70%,#333);border-radius:8px;background:#fff;color:#43564c;font-size:1.1rem;cursor:grab}.todo-subgroup-order:active{cursor:grabbing}.todo-task-group.is-reordering{opacity:.55;box-shadow:0 0 0 3px color-mix(in srgb,var(--todo-group-color,#8ba292) 35%,transparent)}
.todo-subgroup-children{display:grid;gap:10px;margin:12px 0 0 22px;padding-left:12px;border-left:3px solid color-mix(in srgb,var(--todo-group-color,#8ba292) 55%,white)}.todo-task-group.todo-subgroup-selected{box-shadow:0 0 0 4px #7590d5}.todo-task-group.is-nesting-target{box-shadow:0 0 0 4px #d19a35}.todo-task-group.is-nesting-target>summary:after{content:'Déposer ici';padding:4px 8px;border-radius:999px;background:#fff4d8;color:#744d00;font-size:.75rem;font-weight:800}
.todo-task-group>summary .todo-group-deadline{flex:0 0 auto;padding:4px 9px;border-width:1px;border-style:solid;border-radius:999px;font-size:.76rem;font-weight:850;line-height:1.1}.todo-group-deadline.urgency-none{background:#fff;border-color:#aebbb4;color:#43564c}.todo-group-deadline.urgency-watch{color:#665000}.todo-group-deadline.urgency-urgent{color:#713800}.todo-group-deadline.urgency-critical{color:#fff}
.todo-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;margin-top:12px}.page-heading .todo-heading-actions .button{margin:0;white-space:nowrap}@media(max-width:560px){.todo-heading-actions{overflow-x:auto;padding-bottom:3px}}
.todo-display button.badge{border:0;cursor:pointer;font:inherit}.todo-display button.badge:hover,.todo-display button.badge:focus-visible{outline:2px solid currentColor;outline-offset:2px}.todo-owner-select{width:min(100%,360px);padding:7px 9px;border:1px solid #8ca094;border-radius:8px;background:#fff;color:#243b31;font-weight:700}
.player-shell{max-width:1180px;margin:0 auto;padding:22px 0 140px;--player-green:#2f654d}.player-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.player-heading h1{margin:2px 0 4px}.player-heading p{margin:0}.player-import,.player-controls,.player-correction{background:#f7faf8;border:1px solid #cad8d0;border-radius:14px;padding:12px 14px;box-shadow:0 7px 20px rgba(24,53,42,.08)}.player-import{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.player-import label:first-child{display:flex;align-items:center;gap:10px}.player-import select{width:auto}.player-file-button input{position:absolute;opacity:0;width:1px;height:1px}.player-controls{position:sticky;top:88px;z-index:25;display:flex;align-items:center;gap:8px;margin-bottom:14px}.player-controls button{min-height:38px;border:1px solid #b6c8bd;border-radius:9px;background:#edf3ef;color:#244d3c;font-weight:750}.player-controls button.primary,.player-controls button.active{background:var(--player-green);color:white}.player-rates,.player-zooms{display:flex;align-items:center;gap:5px;padding-left:9px;border-left:1px solid #cfdbd4}.player-zooms span{font-size:.76rem;color:#64726b}.player-controls output{margin-left:auto;font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800}.player-scroll{overflow:auto;overscroll-behavior:contain;padding:2px 2px 16px}.player-version{min-width:700px;margin:0 0 15px;border:2px solid #98b4a5;border-radius:14px;background:#f9fcfa;overflow:hidden;transition:opacity .15s}.player-version>header{position:sticky;left:0;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 14px;background:#eaf2ed}.player-version.old{border-color:#afb5b2;background:#e6e9e7;color:#5e6562;filter:saturate(.4);opacity:.76}.player-version.old.selected{opacity:1;box-shadow:0 0 0 3px rgba(90,100,96,.18)}.player-version.current.selected{box-shadow:0 0 0 3px rgba(47,101,77,.17)}.toc-report{font-size:.78rem;font-weight:700}.toc-report.good{color:#347351}.toc-report.warn{color:#966214}.toc-report.bad{color:#a32828}.toc-report.derived{color:#66736d}.player-track{display:grid;grid-template-columns:230px minmax(500px,1fr);align-items:center;gap:10px;padding:7px 12px;border-top:1px solid rgba(87,110,98,.18)}.player-track>div{position:sticky;left:12px;z-index:2;display:flex;flex-direction:column;padding:6px;background:inherit}.player-track>div span{font-size:.78rem;color:#738078;font-variant-numeric:tabular-nums}.player-track canvas{display:block;border-radius:7px;background:rgba(255,255,255,.72);cursor:ew-resize;touch-action:none;user-select:none}.player-version.old canvas{background:#dadddb}.empty-player{padding:30px;text-align:center}.player-correction{position:fixed;left:50%;bottom:12px;z-index:35;transform:translateX(-50%);width:min(1100px,calc(100vw - 24px));display:grid;grid-template-columns:220px minmax(300px,1fr) auto;gap:10px;align-items:center}.player-correction>div{display:flex;flex-direction:column}.player-correction textarea{resize:vertical;min-height:48px}.player-correction output{font-variant-numeric:tabular-nums}.player-old-warning{grid-column:1/-1;margin:0;color:#8c2525;font-weight:700}.player-correction:has(.player-old-warning:not([hidden])){background:#dfe2e0;border-color:#979f9b}
@media(max-width:760px){.player-shell{padding-top:10px}.player-heading{display:block}.player-heading .button{margin-top:10px}.player-controls{top:64px;flex-wrap:wrap}.player-controls output{order:-1;width:100%;text-align:center}.player-zooms span{display:none}.player-track{grid-template-columns:150px minmax(420px,1fr)}.player-correction{grid-template-columns:1fr auto}.player-correction>div{grid-column:1/-1;flex-direction:row;justify-content:space-between}.player-correction textarea{min-width:0}.player-correction button{padding-inline:10px}.player-version{min-width:590px}}
.player-controls button:disabled{background:#e4e8e5;color:#909994;border-color:#d1d7d3;cursor:not-allowed;opacity:.8}
.player-scroll .player-version{display:block;width:max-content;min-width:100%;white-space:nowrap}
.player-scroll .player-version>header{width:calc(100vw - 60px);max-width:1150px;box-sizing:border-box;white-space:normal}
.player-scroll .player-track{position:relative;display:inline-flex;vertical-align:top;flex-direction:column;align-items:stretch;gap:5px;min-width:180px;padding:7px 5px;border-top:1px solid rgba(87,110,98,.18);border-right:1px solid rgba(87,110,98,.18)}
.player-scroll .player-track>div{position:static;display:flex;flex-direction:column;height:56px;min-height:56px;padding:3px 5px;background:transparent;box-shadow:none;white-space:normal;overflow:hidden}
.player-scroll .player-track canvas{flex:none}
.player-scroll .player-track.playhead-visible::after{content:"";position:absolute;z-index:100;top:68px;bottom:7px;left:var(--player-head,0%);width:2px;background:#000;pointer-events:none}
.pmi-workflow-header-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}
.player-shell{position:relative;left:50%;transform:translateX(-50%);width:calc(100vw - 24px);max-width:none}
.player-scroll .player-version{display:block;min-width:100%;white-space:nowrap}
.player-scroll .player-version>header{position:sticky;left:0;width:100%;max-width:none;box-sizing:border-box;white-space:normal}
.player-track-row{display:flex;align-items:center;width:max-content;min-width:100%}
.player-version-corrections{position:sticky;left:0;width:100%;padding:9px 12px;border-top:1px solid rgba(87,110,98,.18);white-space:normal}
.player-version-corrections>div{display:flex;gap:7px;overflow-x:auto;padding-top:7px}
.player-version-corrections button{display:flex;flex:0 0 auto;max-width:390px;gap:7px;align-items:center;border:1px solid #bdcac3;border-radius:8px;padding:7px 9px;background:#fff;color:inherit;cursor:pointer}
.player-version-corrections button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-version.old .player-version-corrections button{background:#d5d9d7}
.player-correction.nearby-correction{background:#fff2a8;border-color:#d4a617;box-shadow:0 7px 24px rgba(147,105,0,.22)}
.player-recent-corrections{grid-column:1/-1;padding-top:8px;border-top:1px solid #d7e0db;font-size:.86rem}.player-recent-corrections>span{color:#6d7772}.player-recent-corrections ol{display:grid;gap:4px;margin:5px 0 0;padding:0;list-style:none}.player-recent-corrections li{display:grid;grid-template-columns:155px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:4px 7px;border-radius:6px;background:#edf3ef}.player-recent-corrections li span{font-weight:750;font-variant-numeric:tabular-nums}.player-recent-corrections li p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-recent-corrections li button{min-height:28px;padding:4px 8px;border:1px solid #b6c8bd;border-radius:7px;background:#fff;color:#244d3c;font-weight:700;cursor:pointer}.player-recent-corrections li .trash-button{width:30px;padding:4px;background:#bd3540;color:#fff;border-color:#bd3540}
.player-scroll .player-track{overflow:visible}
.player-correction-marker{position:absolute;z-index:9;top:80px;bottom:19px;width:5px;min-width:5px;padding:0;transform:translateX(-50%);border:0;border-radius:2px;background:#bd2525;box-shadow:0 0 0 1px #fff9;cursor:pointer}
.player-correction-marker.green{background:#21824c}.player-correction-marker.orange{background:#df8615}.player-correction-marker.red{background:#bd2525}
.player-correction-marker:hover,.player-correction-marker:focus{width:9px;min-width:9px;outline:2px solid #fff;cursor:help}
.player-version-corrections{display:none;min-height:54px;background:#fff8dd;font-size:.94rem}
.player-version-corrections.visible{display:block}
.player-version-corrections p{margin:5px 0;white-space:pre-wrap;font-size:1rem}.player-version-corrections small{display:block;margin-top:5px;color:#59615d}
.player-version.old .player-version-corrections{background:#dfe2e0}
.player-selected-correction{position:sticky;left:0;width:100%;margin:8px 0 96px;padding:12px 14px;border:1px solid #d4a617;border-radius:12px;background:#fff4b8;box-shadow:0 5px 18px rgba(120,88,0,.15)}
.player-selected-correction[hidden]{display:none}.player-selected-correction header{display:flex;justify-content:space-between;gap:15px;margin-bottom:8px}.player-selected-correction article{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;padding:8px 0;border-top:1px solid #d8c77b}.player-selected-correction article p{margin:0;white-space:pre-wrap}.player-selected-correction article small{grid-column:2;color:#5f5b48}.player-selected-correction article.green>strong{color:#21824c}.player-selected-correction article.orange>strong{color:#b66b09}.player-selected-correction article.red>strong{color:#bd2525}.player-correction-marker.selected{width:11px;min-width:11px;outline:3px solid #ffd966}
@media(max-width:760px){.pmi-workflow-header-actions{justify-content:flex-start}.pmi-workflow-header-actions .button{width:100%}}

/* Respecter la largeur temporelle même pour les pistes courtes. */
.player-scroll .player-track{min-width:0;flex-shrink:0}

.player-correction-author{position:absolute;top:calc(100% + 2px);left:50%;transform:translateX(-50%);display:block;min-width:20px;height:16px;padding:1px 3px;border-radius:3px;font-size:10px;line-height:14px;font-weight:750;white-space:nowrap;box-shadow:0 0 0 1px #fff;pointer-events:auto}

.player-transport{position:fixed;top:80px;left:50%;transform:translateX(-50%);z-index:110;display:flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid #9ab3a4;border-radius:14px;background:#f7faf8;box-shadow:0 4px 18px #18352a26;white-space:nowrap}.player-transport button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;font-family:Arial,sans-serif;font-size:25px;line-height:1}.player-transport-divider{height:28px;border-left:1px solid #b6c8bd;margin:0 3px}.player-shell{padding-top:100px}.player-controls{position:static}.player-transport button:focus-visible{outline:3px solid #244d3c;outline-offset:3px}@media(max-width:480px){.player-transport{gap:3px;padding:7px}.player-transport button{width:36px;min-width:36px;height:40px;font-size:23px}}

.player-shell{left:auto;transform:none;margin-left:calc(50% - 50vw + 12px)}

/* Symboles de transport indépendants de la police. */
.player-transport [data-player-stop] span{display:block;width:20px;height:20px;background:currentColor;font-size:0;line-height:0}

/* Pause: Google Material Icons, Apache-2.0. https://github.com/google/material-design-icons */
.player-transport [data-player-pause] svg{display:block;width:36px;height:36px;flex:none}

.pmi-person-toggle{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 12px;border:1px solid #c9ced0;border-radius:10px;cursor:pointer;text-align:left}.pmi-person-toggle small,.pmi-person-toggle [data-person-state]{font-size:.78rem}.pmi-person-toggle.is-hidden{background:#e4e6e7;color:#62676a}.pmi-person-toggle.has-pending{background:#fff1af;border-color:#d5b84f;color:#604b0a}.pmi-person-toggle.all-considered{background:#dcefe1;border-color:#7cab89;color:#245c37}.pmi-person-toggle:focus-visible{outline:3px solid #315d49;outline-offset:2px}.pmi-corrections [hidden]{display:none!important}

.todo-ungroup-drop{padding:18px;margin:12px 0;border:2px dashed #648674;border-radius:10px;background:#e9f2ed;text-align:center}.todo-ungroup-drop[hidden]{display:none}.todo-actions-default select{max-width:220px;padding:6px;border:1px solid #b6c8bd;border-radius:6px}

.todo-drop-target{outline:3px solid #3c8860;outline-offset:2px;background-color:#e2f1e7!important}

.todo-drag-ghost{position:fixed;z-index:10000;pointer-events:none;max-width:340px;padding:12px 18px;border:2px solid #3c8860;border-radius:10px;background:#fff;box-shadow:0 6px 25px #0003}.todo-being-dragged{opacity:.45}[data-todo-drag-handle], [data-selectable-todo] .todo-display{touch-action:none;cursor:grab;user-select:none}

.todo-group-root-drop{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:1000;padding:20px 28px;border:3px dashed #3c8860;border-radius:12px;background:#f0f8f3;box-shadow:0 6px 24px #0003;font-weight:700;text-align:center;max-width:90vw}.todo-group-root-drop[hidden]{display:none}

.todo-root-canvas{position:relative;padding:18px;border:3px solid transparent;border-radius:16px}.todo-root-canvas.is-dragging-group{border-color:#e18a26;border-style:dashed;background:#fff8ef}.todo-root-canvas.is-root-target{border-style:solid;background:#ffedcf;box-shadow:0 0 0 3px #e18a2633}.todo-root-canvas .todo-group-root-drop{position:static;left:auto;bottom:auto;transform:none;max-width:none;margin:0 0 14px;padding:12px 16px;border:1px dashed #e18a26;border-radius:8px;background:#fff1dc;box-shadow:none;color:#8a4b09}.todo-root-canvas>.todo-project{margin-bottom:18px}

.todo-drag-hint{height:38px;padding:8px 10px;color:#8a4b09;font-size:.85rem;visibility:hidden}.todo-root-canvas.is-dragging-group>.todo-drag-hint{visibility:visible}.todo-root-canvas{padding:22px}.todo-root-canvas.is-dragging-group{border-width:3px}.todo-being-dragged{pointer-events:auto}

.todo-project-directory{padding:16px;margin:0 0 18px}.todo-project-directory h2{margin:0 0 12px;font-size:1.1rem}.todo-project-directory nav{display:flex;flex-wrap:wrap;gap:8px}

.player-transport .player-rates{flex:none;gap:4px;margin-left:3px}.player-transport .player-rates button{width:40px;min-width:40px;font-size:14px}.player-transport .player-rates [data-player-rate="1"]{width:60px;min-width:60px;font-size:17px}@media(max-width:520px){.player-transport{max-width:calc(100vw - 16px);flex-wrap:wrap;justify-content:center}.player-transport .player-rates button{width:34px;min-width:34px}.player-transport .player-rates [data-player-rate="1"]{width:50px;min-width:50px}}

/* Edition d’une session dans sa propre carte. */
.date-card.date-card-editing{grid-template-columns:minmax(0,1fr);background:#fff8dc;border:2px solid #d4ad35;box-shadow:0 0 0 3px #f4e5a9;scroll-margin-top:150px;gap:12px}
.date-card-editing>.date-card-actions{display:none}
.date-card-editing>.date-inline-editor{grid-column:1/-1;margin:0;padding:18px 0 0;border:0;border-top:1px solid #dfc972;border-radius:0;background:transparent;box-shadow:none;width:100%;min-width:0}
.date-inline-editor>.sticky-actions{display:none}
.date-inline-editor>.section-heading{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.date-inline-editor>.section-heading>div{flex:1 1 220px}
.date-inline-editor .form-grid{margin-top:18px}
.date-inline-editor input,.date-inline-editor select,.date-inline-editor textarea{background:#fffdf6}
.commercial-prior-settled { margin: 1rem 0; padding: .8rem 1rem; border: 1px solid #c7a34d; background: #fff8dc; }
.commercial-prior-settled h3 { margin: 0 0 .5rem; }
.commercial-prior-settled p { display: flex; justify-content: space-between; gap: 1rem; margin: .25rem 0; }
.commercial-currency-warning-label { display:inline-block;margin-left:.55rem;padding:.12rem .42rem;border:1px solid #d6a900;border-radius:.35rem;background:#fff4bf;color:#795d00;font-size:.78em;white-space:nowrap; }

.invoice-prior-payments-host{padding:0 1.25rem 1.25rem}.invoice-prior-payments{margin:0;border:2px solid #d8b54b;background:#fff9df}.invoice-prior-payments>h3{margin-top:0}.invoice-prior-payments [data-prior-list]{display:grid;gap:.75rem}.invoice-prior-payments [data-prior-list]>.panel{margin:0;background:#fff}

.commercial-invoice-settings-dialog{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden}.commercial-invoice-settings-dialog::backdrop{background:#e7ece9}.invoice-settings-workspace{display:grid;grid-template-columns:minmax(520px,46%) minmax(560px,54%);height:100vh}.invoice-settings-column{overflow:auto;padding:22px}.invoice-settings-preview{overflow:auto;padding:22px;background:#e7ece9;border-left:1px solid #bdcac3}.invoice-settings-preview>h3{position:sticky;top:-22px;z-index:2;margin:-22px -22px 16px;padding:15px 22px;background:#e7ece9;border-bottom:1px solid #bdcac3}.invoice-settings-preview .commercial-client-paper{min-height:900px;padding:34px 42px;box-shadow:0 8px 30px #17251f25;transform-origin:top center}.invoice-preview-empty{display:grid;place-items:center;min-height:70vh;padding:2rem;border:2px dashed #9fb0a7;border-radius:12px;background:#f7faf8;color:#52645a;text-align:center}.invoice-prior-payments-host{padding:0}.invoice-prior-payments{margin-bottom:0}@media(max-width:1050px){.commercial-invoice-settings-dialog{overflow:auto}.invoice-settings-workspace{display:block;height:auto;min-height:100vh}.invoice-settings-column,.invoice-settings-preview{overflow:visible}.invoice-settings-preview{border-top:1px solid #bdcac3;border-left:0}.invoice-settings-preview>h3{position:static;margin:0 0 16px;padding:0;border:0}.invoice-settings-preview .commercial-client-paper{min-height:0}}

.commercial-invoice-preview-row{display:grid;grid-template-columns:auto auto minmax(140px,1fr) auto auto;align-items:center;gap:10px;padding:12px 16px;cursor:pointer}.commercial-invoice-preview-row:hover,.commercial-invoice-preview-row:focus-visible{background:#edf4ef;outline:2px solid #688c79;outline-offset:-2px}.commercial-invoice-preview-row .status{margin:0}.commercial-invoice-preview-row .commercial-invoice-draft-send{justify-self:end}@media(max-width:700px){.commercial-invoice-preview-row{grid-template-columns:auto 1fr}.commercial-invoice-preview-row .commercial-invoice-draft-recipient,.commercial-invoice-preview-row .commercial-invoice-draft-subtotal,.commercial-invoice-preview-row .commercial-invoice-draft-send{grid-column:1/-1;justify-self:stretch}}
.session-location-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 12px; margin-top: 12px; }
.session-location-link { display: flex; flex-direction: column; gap: 7px; padding: 15px; border: 1px solid #cbd7cf; border-radius: 12px; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.session-location-link:hover, .session-location-link:focus-visible { border-color: #4f7d65; background: #f2f7f3; }
.session-location-link.is-selected { border: 2px solid #4f7d65; background: #f2f7f3; }
.session-location-link small { color: #53695c; }
.player-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px; }
.player-heading .button { margin-top: 0; }
.version-import-entry { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.version-import-entry h2 { margin-top: 0; }
.version-import-dialog { width: min(680px, calc(100vw - 32px)); max-height: 90vh; overflow: auto; }
.version-import-dialog header { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.version-import-dialog [data-progress] { overflow-wrap: anywhere; }
.version-import-dialog .import-reimport-mode { margin:12px 0; padding:12px; border:2px solid #52775e; border-radius:8px; background:#f1f7f2; color:#24382a; }
.version-import-dialog .import-reimport-mode legend { font-weight:700; }
.version-import-dialog .import-reimport-mode label { display:flex; align-items:flex-start; gap:10px; padding:8px 0; cursor:pointer; }
.version-import-dialog .import-reimport-mode input { flex:none; width:auto; margin-top:4px; }
.version-import-dialog .import-reimport-mode small { display:block; margin-top:3px; line-height:1.4; }
.player-shell { padding-top: 0; padding-bottom: 16px; }
main:has(.player-shell) { margin-top: 10px; }
.player-shell .player-heading { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 16px; margin-bottom: 10px; }
.player-shell .player-heading > a { justify-self: end; }
.player-shell .player-heading h1 { font-size: 1.65rem; }
.player-shell .player-transport { position: static; transform: none; margin: 0; padding: 6px 8px; align-self: start; display: flex; flex-direction: column; width: min(540px,calc(100vw - 40px)); gap: 6px; }
.player-transport-buttons { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; width: 100%; }
.player-shell .player-transport { position: relative; top: auto; left: auto; right: auto; bottom: auto; display: grid; grid-template-columns: minmax(0,1fr) 70px; grid-template-rows: auto auto; width: min(620px,calc(100vw - 40px)); column-gap: 8px; justify-self: center; }
.player-transport-buttons { grid-column: 1; grid-row: 1; }
.player-transport .player-current-track { grid-column: 1; grid-row: 2; }
.player-meter { position: relative; grid-column: 2; grid-row: 1 / 3; align-self: stretch; width: 70px; display: flex; gap: 5px; padding: 4px; border-radius: 6px; background: #20282d; color: #becbd3; box-shadow: inset 0 1px 3px #0008; }
.player-meter-row { display: grid; grid-template-columns: 12px minmax(0,1fr) 36px; align-items: center; gap: 6px; height: 13px; font-size: 9px; }
.player-meter-row small { text-align: right; font-size: 9px; font-variant-numeric: tabular-nums; }
.player-meter-track { position: relative; height: 7px; overflow: hidden; border-radius: 2px; background: #10171b; }
.player-meter-fill { position: absolute; inset: 0; background: repeating-linear-gradient(90deg,transparent 0 2.5px,#182127 2.5px 3.5px),linear-gradient(90deg,#65d9a1 0%,#8cdb6e 68%,#e4cc58 70%,#ecc64d 90%,#ee655a 90%); clip-path: inset(0 100% 0 0); }
.player-meter-peak { position: absolute; top: 0; bottom: 0; width: 2px; background: #fff3ca; opacity: 0; transform: translateX(-2px); }
.player-meter-row.is-clipping small { color: #ff7469; font-weight: 800; }
.player-meter-scale { display: flex; justify-content: space-between; margin: 2px 42px 0 18px; font-size: 8px; line-height: 1; }
.player-meter .player-meter-row { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 2px; height: auto; }
.player-meter .player-meter-row > span { display: none; }
.player-meter .player-meter-track { flex: 1; width: 12px; min-height: 0; }
.player-meter .player-meter-fill { background: repeating-linear-gradient(0deg,transparent 0 0.5px,#182127 0.5px 1px),linear-gradient(0deg,#65d9a1 0%,#8cdb6e 55%,#e4cc58 55%,#ecc64d 98.75%,#ee655a 98.75%); clip-path: inset(100% 0 0 0); }
.player-meter .player-meter-peak { top: auto; left: 0; right: 0; bottom: 0; height: 2px; width: 100%; transform: translateY(2px); }
.player-meter .player-meter-scale { display: flex; flex-direction: column-reverse; justify-content: space-between; margin: 0; width: 20px; font-size: 7px; }
.player-meter-reduction { display: flex; flex-direction: column; align-items: center; gap: 2px; width: 12px; flex: none; opacity: .35; cursor: pointer; border-radius: 3px; }
.player-meter-reduction:hover,.player-meter-reduction:focus-visible { outline: 1px solid #e9c66e; outline-offset: 2px; opacity: 1; }
.player-meter-reduction.is-enabled { opacity: 1; }
.player-meter-reduction > span { font-size: 7px; line-height: 9px; color: #e9c66e; }
.player-meter-reduction .player-meter-track { flex: 1; width: 8px; }
.player-meter-reduction-fill { position: absolute; inset: 0; background: repeating-linear-gradient(180deg,transparent 0 0.5px,#182127 0.5px 1px),linear-gradient(180deg,#efd272,#e9a24b 65%,#ed6b53); clip-path: inset(0 0 100% 0); }
@media(max-width:1100px) { .player-shell .player-transport { width: min(620px,calc(100vw - 40px)); margin-right: 0; } }
.player-shell .player-transport [data-player-rate][aria-pressed="true"] { background: #ffe584; border-color: #c9a32a; color: #342b0c; }
.player-shell .player-transport [data-player-rate="1"][aria-pressed="true"] { background: #3e7157; border-color: #315d46; color: #fff; }
.player-shell .player-controls { margin-bottom: 8px; padding: 8px 10px; }
.player-current-track { width: 100%; margin: 0; padding: 5px 2px 0; border-top: 1px solid #c9d8ce; color: #244d3c; font-size: .82rem; line-height: 1.3; font-weight: 750; white-space: normal; overflow-wrap: anywhere; text-align: center; }
.player-shell { left: auto; transform: none; margin-left: calc(50% - 50vw + 12px); margin-right: 0; }
body:has(.player-shell) .topbar { display: none; }
.player-heading-side { min-width: 0; display: flex; flex-direction: row; justify-content: flex-end; align-items: center; gap: 8px; position: relative; }
.player-heading-side .player-settings { position: relative; margin: 0; }
.player-heading-side .player-settings > summary { display: grid; place-items: center; width: 36px; height: 36px; cursor: pointer; padding: 0; border: 1px solid #b7cbbf; border-radius: 6px; background: #edf3ef; font-size: 23px; list-style: none; }
.player-heading-side .player-settings > summary::-webkit-details-marker { display: none; }
.player-settings-content { position: fixed; top: 0; bottom: 0; right: 0; z-index: 130; width: min(430px,calc(100vw - 30px)); max-height: none; overflow-y: auto; overscroll-behavior: contain; padding: 14px; border: 1px solid #9ab3a4; border-radius: 10px 0 0 10px; background: #f7faf8; box-shadow: 0 8px 25px #18352a33; }
.player-settings-content > label { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.player-settings-content > label input { width: 75px; }
.player-shell .player-settings-content .player-controls { display: flex; flex-wrap: wrap; padding: 8px 0; border: 0; box-shadow: none; gap: 6px; }
.player-shortcuts label,.player-shortcut-row { display: grid; grid-template-columns: minmax(0,1fr) 145px; align-items: center; gap: 8px; margin: 5px 0; font-size: .85rem; }
.player-shortcut-row > button { min-height: 32px; padding: 5px 8px; border: 1px solid #b6c8bd; border-radius: 7px; background: #edf3ef; color: #244d3c; text-align: left; cursor: pointer; }
.player-shortcut-row > button.active { background: #3e7157; color: #fff; }
.player-shell[data-layout="anthracite"] .player-shortcut-row > button { background: #465664; color: #f0f3f6; border-color: #718595; }
.player-shell[data-layout="anthracite"] .player-shortcut-row > button.active { background: #416581; }
.player-shortcuts input { width: 100%; min-width: 0; padding: 6px; cursor: pointer; }
.player-shortcuts kbd { text-align: right; }
.player-shortcuts > button { margin: 8px 6px 0 0; }
.player-shortcuts > p,.player-shortcuts > small { font-size: .8rem; white-space: normal; }
.player-waveform-tools { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin: 2px 0 6px; font-size: .78rem; }
.player-waveform-tools .player-zooms { gap: 4px; }
.player-waveform-tools .player-zooms button { min-height: 24px; padding: 2px 7px; font-size: .8rem; }
.player-waveform-tools output { min-width: 82px; font-variant-numeric: tabular-nums; text-align: right; }
/* Le thème Clair conserve les règles existantes ; Anthracite est entièrement optionnel. */
html:has(.player-shell[data-layout="anthracite"]),
body:has(.player-shell[data-layout="anthracite"]) { background: #363b41; min-height: 100vh; }
body:has(.player-shell[data-layout="anthracite"]) .topbar { background: #252a2f; }
.player-shell[data-layout="anthracite"] { color: #e5eaf0; --player-green: #416581; color-scheme: dark; }
.player-shell[data-layout="anthracite"] .player-heading .eyebrow { color: #a9cce5; }
.player-shell[data-layout="anthracite"] .player-transport,
.player-shell[data-layout="anthracite"] .player-settings-content,
.player-shell[data-layout="anthracite"] .player-correction,
.player-shell[data-layout="anthracite"] .player-edit-correction { background: #333940; border-color: #5e6b77; color: #e5eaf0; }
.player-shell[data-layout="anthracite"] .player-heading-side summary,
.player-shell[data-layout="anthracite"] .button.secondary,
.player-shell[data-layout="anthracite"] .player-controls button,
.player-shell[data-layout="anthracite"] .player-transport-buttons > button,
.player-shell[data-layout="anthracite"] .player-rates button,
.player-shell[data-layout="anthracite"] .player-waveform-tools button { background: #465664; color: #f0f3f6; border-color: #718595; }
.player-shell[data-layout="anthracite"] .player-current-track { color: #e0edf7; border-color: #5b6b78; }
.player-shell[data-layout="anthracite"] .player-version,
.player-shell[data-layout="anthracite"] .player-version.old { background: #416581; border-color: #7a9bb6; color: #edf3f8; filter: none; opacity: 1; }
.player-shell[data-layout="anthracite"] .player-version > header { background: #292f35; padding: 4px 12px; min-height: 0; gap: 8px; font-size: .8rem; line-height: 1.3; }
.player-shell[data-layout="anthracite"] .player-track canvas,
.player-shell[data-layout="anthracite"] .player-version.old canvas { background: #416581; }
.player-shell[data-layout="anthracite"] .player-track { border-color: #7894a8; }
.player-shell[data-layout="anthracite"] .player-track.playhead-visible::after { background: #fff; box-shadow: 0 0 0 1px #172d40; }
.player-shell[data-layout="anthracite"] .player-recent-corrections li { background: #424c56; color: #ecf0f4; }
.player-shell[data-layout="anthracite"] .player-correction textarea,
.player-shell[data-layout="anthracite"] .player-settings-content input,
.player-shell[data-layout="anthracite"] .player-settings-content select { background: #252c33; color: #f0f3f6; border: 1px solid #748594; }
.player-shell[data-layout="anthracite"] textarea::placeholder { color: #b8c3ce; }
.player-shell[data-layout="anthracite"] .player-zooms span,
.player-shell[data-layout="anthracite"] .toc-report,
.player-shell[data-layout="anthracite"] .player-recent-corrections > span { color: #cfdfeb; }
.player-shell[data-layout="anthracite"] .button:not(.danger),
.player-shell[data-layout="anthracite"] .player-recent-corrections li button:not(.player-correction-select):not(.trash-button) { background: #416581; border-color: #7894a8; color: #f0f3f6; }
.player-shell[data-layout="anthracite"] .player-transport [data-player-rate][aria-pressed="true"] { background: #b9ad78; color: #202429; border-color: #968b60; }
.player-shell[data-layout="anthracite"] .player-transport [data-player-rate="1"][aria-pressed="true"],
.player-shell[data-layout="anthracite"] .player-controls button.active { background: #416581; color: #fff; }
.player-shell[data-layout="anthracite"] .player-correction-marker.selected { outline-color: #b9ad78; }
.player-shell[data-layout="anthracite"] .player-correction-marker.is-at-playhead { background: #f5ff00; outline-color: #ffff70; box-shadow: 0 0 5px 3px #f5ff00, 0 0 16px 6px #eaff00cc; }
.player-shell .player-transport-buttons > [data-player-toggle].active,
.player-shell[data-layout="anthracite"] .player-transport-buttons > [data-player-toggle].active { background: #a5e6a1; border-color: #76bd75; color: #193e26; }
.player-shell[data-layout="anthracite"] .player-recent-corrections ol { scrollbar-color: #8794a0 #292f35; }
.player-shell[data-layout="anthracite"] output { background: #292f35; color: #e5eaf0; }
@media(max-width:1100px) { .player-shell .player-heading-side { grid-column: 2; grid-row: 1; } }
.player-shell .player-correction { position: static; left: auto; bottom: auto; transform: none; width: 100%; margin-top: 8px; grid-template-columns: minmax(180px, 260px) minmax(0,1fr) auto; background: #f7faf8; box-sizing: border-box; }
.player-shell .player-recent-corrections { border-top: 0; padding: 0 0 8px; border-bottom: 1px solid #d7e0db; }
.player-shell .player-recent-corrections li { grid-template-columns: minmax(0,1fr) auto auto; min-height: 42px; border: 1px solid transparent; }
.player-edit-correction { width: min(650px,calc(100vw - 24px)); border: 1px solid #9ab3a4; border-radius: 12px; padding: 20px; }
.player-edit-correction::backdrop { background: #17251f88; }
.player-edit-correction textarea { display: block; width: 100%; margin-top: 8px; }
.player-edit-correction form > div { display: flex; justify-content: flex-end; gap: 10px; }
.player-shell .player-recent-corrections ol { display: block; height: 192px; overflow-y: scroll; overscroll-behavior-y: contain; scrollbar-gutter: stable; scrollbar-width: auto; scrollbar-color: #638573 #e4ece7; scroll-snap-type: y mandatory; margin: 0; padding: 64px 0; box-sizing: border-box; }
.player-shell .player-recent-corrections li { height: 64px; min-height: 64px; box-sizing: border-box; scroll-snap-align: center; }
.player-shell .player-recent-corrections .player-correction-select { max-height: 100%; overflow: hidden; }
.player-shell .player-track canvas { cursor: url('/cursor-playhead.svg') 16 16, ew-resize; }
.player-shell .player-correction-marker.is-movable,
.player-shell .player-correction-marker.is-movable * { cursor: url('/cursor-correction.svg') 16 16, ew-resize; touch-action: none; }
.player-shell .player-correction-marker.is-dragging { z-index: 20; }
.player-shell .player-correction > .player-voice-tools { grid-column: 2; grid-row: 3; display: flex; flex-direction: row; align-items: center; gap: 8px; min-width: 0; }
.player-voice-tools button { flex: none; padding: 5px 9px; border: 1px solid #91aa9c; border-radius: 6px; cursor: pointer; }
.player-voice-tools button[aria-pressed="true"] { background: #a5e6a1; color: #193e26; }
.player-voice-tools span { font-size: .8rem; overflow-wrap: anywhere; }
.player-shell .player-correction > .player-voice-field { position: relative; display: block; min-width: 0; grid-column: 2; grid-row: 2; }
.player-voice-field textarea { display: block; width: 100%; padding-right: 48px; }
.player-voice-field > button { position: absolute; right: 7px; top: 7px; width: 32px; height: 32px; padding: 0; border: 1px solid #91aa9c; border-radius: 6px; cursor: pointer; font-size: 1.1rem; }
.player-voice-field > button[aria-pressed="true"] { background: #a5e6a1; color: #193e26; }
.player-shell .player-correction > .player-voice-tools:has(span:empty):not(:has(select)) { display: none; }
@media(max-width:700px) { .player-shell .player-correction > .player-voice-field { grid-column: 1/-1; grid-row: auto; } }
@media(max-width:700px) { .player-shell .player-correction > .player-voice-tools { grid-column: 1/-1; grid-row: auto; flex-wrap: wrap; } }
.player-shell .player-scroll .player-track > div { display: none; }
.player-shell .player-scroll .player-track.playhead-visible::after { top: 7px; }
.player-shell .player-correction-marker { top: 19px; }
.player-zoom-selection { position: fixed; pointer-events: none; z-index: 120; border: 2px solid #b58e14; background: #ffe58444; }
.player-shell .player-scroll { touch-action: none; }
.player-shell button { touch-action: manipulation; }
.player-shell .player-zooms button { touch-action: none; }
.player-shell .player-correction-marker.is-at-playhead { background: #fff6a3; box-shadow: 0 0 5px 3px #ffe66dcc, 0 0 14px 5px #fff2a880; outline: 2px solid #ffec80; }
.player-shell .player-recent-corrections .player-correction-select { display: grid; grid-template-columns: 160px minmax(0,1fr) auto; gap: 12px; align-items: center; width: 100%; border: 0; background: transparent; text-align: left; color: inherit; }
.player-shell .player-recent-corrections .player-correction-text { white-space: pre-wrap; overflow-wrap: anywhere; font-weight: 400; }
.player-correction-text small { display: block; margin-top: 4px; }
.player-correction-placeholder { color: #728178; font-style: italic; }
.player-message { grid-column: 1/-1; margin: 0; color: #a32828; }
.player-message:empty { display: none; }
.player-shell .player-audio-status { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.player-shell .player-audio-status[hidden] { display:none; }
.player-shell .player-transport-buttons > [data-player-toggle] { position:relative; }
.player-shell .player-transport-buttons > [data-player-toggle][aria-busy="true"] > :is(.player-play-symbol,.player-pause-symbol) { visibility:hidden; }
.player-shell .player-transport-buttons > [data-player-toggle][aria-busy="true"]::after { content:''; position:absolute; top:50%; left:50%; box-sizing:border-box; width:18px; height:18px; margin:-9px 0 0 -9px; border:2px solid #b4c3ca55; border-top-color:#e0e9ed; border-radius:50%; animation:player-audio-loading .8s linear infinite; pointer-events:none; }
@keyframes player-audio-loading { to { transform:rotate(360deg); } }
@media(max-width:1100px) { .player-shell .player-heading { grid-template-columns: minmax(0,1fr) auto; } .player-shell .player-transport { grid-row: 2; grid-column: 1/-1; justify-self: center; } .player-shell .player-heading > a { grid-column: 2; grid-row: 1; } }
@media(max-width:700px) { .player-shell .player-correction { grid-template-columns: minmax(0,1fr) auto; } .player-shell .player-correction > div { grid-column: 1/-1; } .player-shell .player-recent-corrections .player-correction-select { grid-template-columns: minmax(0,1fr); gap: 4px; } }

/* Pistes et corrections se partagent la hauteur disponible du player. */
body:has(.player-shell) { overflow: hidden; }
main:has(.player-shell) { width: 100%; height: 100dvh; margin: 0; padding: 8px 12px; }
main > .player-shell { display: flex; flex-direction: column; width: 100%; max-width: none; height: 100%; min-height: 0; margin: 0; padding: 0; left: auto; transform: none; }
.player-shell > .player-heading,.player-shell > .player-waveform-tools { flex: none; }
.player-shell > .player-scroll { flex: 1 1 0; min-height: 60px; overflow: auto; background: #363b41; }
.player-shell > .player-correction { flex: 0 1 var(--correction-height,280px); min-height: 150px; height: var(--correction-height,280px); margin: 0; overflow: auto; grid-template-rows: minmax(0,1fr) auto auto; }
.player-shell .player-recent-corrections { min-height: 0; overflow: hidden; align-self: stretch; }
.player-shell .player-recent-corrections ol { height: 100%; padding-top: var(--correction-list-padding,64px); padding-bottom: var(--correction-list-padding,64px); }
.player-correction-resizer { flex: 0 0 10px; cursor: ns-resize; touch-action: none; display: flex; align-items: center; justify-content: center; }
.player-correction-resizer::after { content: ''; height: 3px; width: 64px; background: #8394a2; border-radius: 3px; }
.player-correction-resizer:hover::after,.player-correction-resizer:focus::after { background: #b7d5ec; }

/* Saisie au-dessus de la liste, dans le panneau inférieur redimensionnable. */
.player-shell > .player-correction { grid-template-rows: auto auto minmax(0,1fr); }
.player-shell .player-correction > div:not(.player-voice-field):not(.player-voice-tools) { grid-column: 1; grid-row: 1; }
.player-shell .player-correction > .player-voice-field { grid-column: 2; grid-row: 1; }
.player-shell .player-correction > button[type="submit"] { grid-column: 3; grid-row: 1; }
.player-shell .player-correction > .player-voice-tools { grid-column: 2; grid-row: 2; }
.player-shell .player-correction > .player-recent-corrections { grid-column: 1/-1; grid-row: 3; border-bottom: 0; border-top: 1px solid #d7e0db; padding: 8px 0 0; }
@media(max-width:700px) {
  .player-shell > .player-correction { grid-template-rows: auto auto auto minmax(0,1fr); }
  .player-shell .player-correction > div:not(.player-voice-field):not(.player-voice-tools) { grid-column: 1/-1; grid-row: 1; }
  .player-shell .player-correction > .player-voice-field { grid-column: 1; grid-row: 2; }
  .player-shell .player-correction > button[type="submit"] { grid-column: 2; grid-row: 2; }
  .player-shell .player-correction > .player-voice-tools { grid-column: 1/-1; grid-row: 3; }
  .player-shell .player-correction > .player-recent-corrections { grid-row: 4; }
}
.player-correction-menu { position: fixed; z-index: 200; min-width: 160px; padding: 5px; border: 1px solid #8394a2; border-radius: 8px; background: #f7faf8; box-shadow: 0 6px 22px #0005; }
.player-correction-menu button { display: block; width: 100%; padding: 8px 12px; border: 0; border-radius: 5px; text-align: left; background: transparent; color: #243541; cursor: pointer; }
.player-correction-menu button:hover,.player-correction-menu button:focus { background: #d9e7ef; outline: none; }
body:has(.player-shell[data-layout="anthracite"]) .player-correction-menu { background: #333940; }
body:has(.player-shell[data-layout="anthracite"]) .player-correction-menu button { color: #edf3f8; }
body:has(.player-shell[data-layout="anthracite"]) .player-correction-menu button:hover,body:has(.player-shell[data-layout="anthracite"]) .player-correction-menu button:focus { background: #416581; }

/* Corrections refusées : trait rouge et cadre rouge pastel, même à la sélection. */
.player-shell .player-recent-corrections li.is-rejected { background: #f9dddd; border-color: #cf7777; color: #842929; }
.player-shell .player-correction-marker.is-rejected,
.player-shell[data-layout] .player-correction-marker.is-rejected { background: #cf3535; }
.player-shell .player-correction-marker.is-rejected.is-at-playhead,
.player-shell[data-layout] .player-correction-marker.is-rejected.is-at-playhead { outline-color: #efa6a6; box-shadow: 0 0 5px 3px #e7777780; }

/* Montage : le refus prime sur la couleur verte des corrections traitées. */
.pmi-correction-workline:has(select[name="status"] option[value="rejected"]:checked) { border-color: #cf7777; border-left-color: #c73535; background: #f9dddd; }
.pmi-correction-workline:has(select[name="status"] option[value="rejected"]:checked) .pmi-correction-copy,
.pmi-correction-workline:has(select[name="status"] option[value="rejected"]:checked) .pmi-workline-time { color: #962e2e; }
.pmi-correction-workline:has(select[name="status"] option[value="rejected"]:checked) .pmi-quick-done,
.pmi-correction-workline:has(select[name="status"] option[value="rejected"]:checked) .pmi-response-combo select { border-color: #cf7777; background: #f5cccc; color: #962e2e; }
.player-scroll .player-track-row { min-width: 0; }

/* Deux symboles permanents ; la couleur indique l'état de lecture. */
.player-shell .player-transport-buttons > [data-player-toggle] { display: flex; justify-content: center; align-items: center; gap: 5px; width: 70px; min-width: 70px; }
.player-shell [data-player-toggle] > svg { flex: 0 1 26px; min-width: 0; max-width: 44%; max-height: 80%; height: auto; aspect-ratio: 1; color: #858d92; opacity: .55; }
.player-shell :is([data-transport-state="playing"],[data-transport-state="starting"]) > .player-play-symbol { color: #268445; opacity: 1; }
.player-shell [data-transport-state="paused"] > .player-pause-symbol { color: #b58400; opacity: 1; }
.player-shell[data-layout="anthracite"] :is([data-transport-state="playing"],[data-transport-state="starting"]) > .player-play-symbol { color: #7de08e; }
.player-shell[data-layout="anthracite"] [data-transport-state="paused"] > .player-pause-symbol { color: #ffd861; }

/* La file défile librement, indépendamment de la correction sélectionnée. */
.player-shell .player-recent-corrections ol { scroll-snap-type: none; padding-top: 0; padding-bottom: 0; }
.player-shell .player-recent-corrections li { scroll-snap-align: none; }

/* Traitement des corrections dans le Player, sans déplacement de la file. */
.player-shell .player-recent-corrections li.has-review-controls { height: 96px; min-height: 96px; grid-template-rows: minmax(28px,1fr) auto; row-gap: 3px; }
.player-shell .player-review-controls { grid-column: 1/-1; display: grid; grid-template-columns: minmax(150px,240px) minmax(180px,1fr) auto; gap: 2px 8px; align-items: center; }
.player-shell .player-review-controls select,.player-shell .player-review-controls textarea { width: 100%; min-width: 0; margin: 0; box-sizing: border-box; background: #fff; color: #263a31; border: 1px solid #9bada3; border-radius: 5px; padding: 5px 7px; }
.player-shell .player-review-controls textarea { height: 32px; min-height: 32px; resize: none; font: inherit; }
.player-shell .player-review-controls [data-review-message] { grid-column: 1/3; min-height: 14px; font-size: 11px; line-height: 14px; }
.player-shell .player-review-summary { grid-column: 1/-1; font-size: 11px; }
.player-shell .player-recent-corrections li[data-review-state="done"] { background: #def0df; border-color: #7eaf87; color: #244b2c; }
.player-shell .player-recent-corrections li[data-review-state="improved_not_optimal"],
.player-shell .player-recent-corrections li[data-review-state="no_better"],
.player-shell .player-recent-corrections li[data-review-state="partial_limit"],
.player-shell .player-recent-corrections li[data-review-state="discuss"] { background: #ffecd3; border-color: #d29b53; color: #69420f; }
.player-shell .player-recent-corrections li[data-review-state="rejected"] { background: #f9dddd; border-color: #cf7777; color: #842929; }
.player-shell .player-recent-corrections li.is-selected { box-shadow: inset 0 0 0 2px #a18127; }
.player-shell[data-layout] .player-correction-marker.green { background: #21824c; }
.player-shell[data-layout] .player-correction-marker.orange { background: #df8615; }
@media(max-width:700px) {
  .player-shell .player-recent-corrections li.has-review-controls { height: 160px; min-height: 160px; }
  .player-shell .player-review-controls { grid-template-columns: minmax(0,1fr) auto; }
  .player-shell .player-review-controls textarea { grid-column: 1/-1; grid-row: 2; }
  .player-shell .player-review-controls [data-review-message] { grid-column: 1; }
}

.player-shell .player-recent-corrections li.has-review-controls [data-saved-response] { display: none; }
@media(max-width:700px) {
  .player-shell .player-review-controls textarea { height: 40px; min-height: 40px; }
  .player-shell .player-review-controls select,.player-shell .player-review-controls button { min-height: 40px; }
}
/* Champs de réponse dans une nuance de la ligne, sans séparation noire. */
.player-shell[data-layout] .player-review-controls textarea,
.player-shell[data-layout] .player-review-controls select {
  background: rgba(255,255,255,.18);
  color: inherit;
  border-color: color-mix(in srgb, currentColor 20%, transparent);
  box-shadow: none;
}
.player-shell[data-layout] .player-review-controls textarea::placeholder { color: inherit; opacity: .65; }
.player-shell[data-layout] .player-review-controls textarea:focus,
.player-shell[data-layout] .player-review-controls select:focus { outline: 1px solid color-mix(in srgb, currentColor 45%, transparent); outline-offset: 1px; }
.player-shell[data-layout] .player-review-controls select option { background: #edf1ee; color: #263a31; }

/* Contraste renforcé uniquement pendant la saisie. */
.player-shell[data-layout] .player-review-controls textarea:focus {
  background: #fffdf5;
  color: #24332d;
  border-color: #778b7b;
  outline: 2px solid #a1b29a;
  outline-offset: 1px;
}
.player-shell[data-layout] .player-review-controls textarea:focus::placeholder { color: #657269; opacity: 1; }

/* Halo clair au passage de la tête sur une correction (environ 1 cm). */
.player-shell[data-layout] .player-correction-marker.is-at-playhead,
.player-shell[data-layout] .player-correction-marker.is-rejected.is-at-playhead {
  outline: 2px solid #fffef2;
  box-shadow: 0 0 .12cm .06cm #fffffff2, 0 0 .3cm .12cm #fffde6d9, 0 0 .5cm .18cm #fffbd680;
  z-index: 21;
}

/* Signal visible en vision périphérique pendant le passage d'une correction. */
.player-shell[data-layout] .player-correction-marker.is-at-playhead,
.player-shell[data-layout] .player-correction-marker.is-rejected.is-at-playhead {
  outline: 4px solid #fff;
  box-shadow: 0 0 18px 12px #fff, 0 0 55px 32px #fffde9ed, 0 0 100px 55px #fff8bd99;
}
.player-shell .player-track::before {
  content: ''; position: absolute; inset: 0; z-index: 15; pointer-events: none;
  background: #fffbd64d; box-shadow: inset 0 0 28px 8px #fffbd699;
  opacity: 0; transition: opacity .1s ease-out;
}
.player-shell .player-track:has(.player-correction-marker.is-at-playhead)::before { opacity: 1; transition-duration: 0s; }

/* Flash localisé autour du trait : bande lumineuse d'environ 1 cm. */
.player-shell .player-track::before { content: none; }
.player-shell[data-layout] .player-correction-marker.is-at-playhead,
.player-shell[data-layout] .player-correction-marker.is-rejected.is-at-playhead { box-shadow: none; }
.player-shell .player-correction-marker::before {
  content: ''; position: absolute; top: 0; bottom: 0; left: 50%;
  width: 1cm; transform: translateX(-50%); pointer-events: none;
  background: linear-gradient(to right, transparent, #fffde6cc 30%, #fff 50%, #fffde6cc 70%, transparent);
  opacity: 0; transition: opacity .1s ease-out;
}
.player-shell .player-correction-marker.is-at-playhead::before { opacity: 1; transition-duration: 0s; }

/* Impulsion : expansion rapide, puis retour et extinction plus lente. */
.player-shell .player-correction-marker::before {
  width: 3cm;
  transform: translateX(-50%) scaleX(.02);
  transform-origin: center;
  transition: transform .3s ease-out, opacity .3s ease-out;
}
.player-shell .player-correction-marker.is-at-playhead::before {
  transform: translateX(-50%) scaleX(1);
  opacity: 1;
  transition: none;
}

/* Apparition directement à pleine largeur : aucune phase d'ouverture. */
.player-shell .player-correction-marker::before,
.player-shell .player-correction-marker.is-at-playhead::before {
  width: 3cm;
  transform: translateX(-50%) scaleX(1);
  opacity: 0;
  transition: none;
}
.player-shell .player-correction-marker.correction-flash::before {
  animation: correction-flash-instant .35s linear both;
}
@keyframes correction-flash-instant {
  0%, 14.2857% { transform: translateX(-50%) scaleX(1); opacity: 1; }
  100% { transform: translateX(-50%) scaleX(.02); opacity: 0; }
}

/* Éclair jaune clair. */
.player-shell .player-correction-marker::before {
  background: linear-gradient(to right, transparent, #fffde6cc 30%, #fffef2 50%, #fffde6cc 70%, transparent);
}
.player-shell[data-layout] .player-correction-marker.is-at-playhead,
.player-shell[data-layout] .player-correction-marker.is-rejected.is-at-playhead {
  background: #fff6a3;
  outline-color: #fffef2;
}

/* Gestion du master regroupée à gauche du transport. */
.player-master-management { position: absolute; right: calc(100% + 12px); top: 0; min-width: 155px; }
.player-master-management > summary { list-style: none; cursor: pointer; padding: 10px 12px; border: 1px solid #829a8c; border-radius: 8px; background: #e7efe9; color: #294b38; font-size: 13px; font-weight: 750; white-space: nowrap; }
.player-master-management > summary::-webkit-details-marker { display: none; }
.player-master-management nav { position: absolute; top: calc(100% + 6px); left: 0; width: 310px; padding: 6px; border: 1px solid #829a8c; border-radius: 8px; background: #eef4ef; box-shadow: 0 5px 18px #0003; }
.player-shell .player-master-management nav button { display: block; width: 100%; height: auto; min-height: 36px; padding: 8px; border: 0; border-radius: 5px; background: transparent; color: #294b38; text-align: left; white-space: normal; font: 600 13px/1.4 system-ui; }
.player-master-management nav button:hover { background: #dce8de; }
.player-shell .player-transport .player-current-track { display: block; width: 100%; min-width: 0; height: auto; min-height: 0; padding: 5px 20px 2px 2px; border: 0; border-top: 1px solid #7c909b; border-radius: 0; background: transparent; font: 750 .82rem/1.3 system-ui; cursor: pointer; position: relative; }
.player-current-track::after { content: '▾'; position: absolute; right: 3px; top: 5px; }
.player-current-track:hover { text-decoration: underline; }
.player-shell .player-recent-corrections .player-author-badge { justify-self: end; display: inline-flex; align-items: center; justify-content: center; min-width: 28px; padding: 3px 5px; border-radius: 5px; color: #20303b; font-size: 11px; font-weight: 800; white-space: nowrap; }
.player-master-dialog { width: min(1100px,96vw); max-width: 96vw; height: min(850px,92dvh); padding: 12px; border: 1px solid #839b8d; border-radius: 12px; background: #f1f5f2; color: #24362b; }
.player-master-dialog[open] { display: flex; flex-direction: column; }
.player-master-dialog::backdrop { background: #15251d80; }
.player-master-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 10px; }
.player-master-dialog h2 { margin: 0; font-size: 1.2rem; }
.player-master-dialog iframe { flex: 1; min-height: 0; width: 100%; border: 0; background: #f1f5f2; }
.player-master-dialog > p:empty { display: none; }
.player-tool-document .topbar { display: none; }
.player-tool-document #app { margin: 0; padding: 8px; max-width: none; }
.player-tool-document #app > :not([data-player-tool-content]) { display: none !important; }
.player-tool-document [data-player-tool-content] { display: block; margin: 0; }
.player-tool-document #close-correction-invitation { display: none; }
@media(max-width:1000px) {
  .player-master-management { position: relative; right: auto; top: auto; grid-column: 1/-1; grid-row: 3; justify-self: start; }
  .player-master-management nav { max-width: min(310px,85vw); }
}

.master-import-tabs { display: flex; gap: 8px; margin: 12px 0; flex-wrap: wrap; }
.master-import-tabs button { padding: 9px 14px; border: 1px solid #9db4a5; border-radius: 7px; background: #edf3ef; color: #294b38; cursor: pointer; }
.master-import-tabs button[aria-pressed="true"] { background: #315f49; color: white; }
.master-mail-import-pane { width: 100%; height: min(65dvh,650px); border: 0; }
.master-import-pane[hidden],.master-mail-import-pane[hidden] { display: none; }
.metadata-toc-import { padding: 10px 0 14px; margin-bottom: 14px; border-bottom: 1px solid #bdcfc3; }
.metadata-toc-import > small { margin-left: 10px; }
.metadata-toc-import [data-toc-preview] ol { max-height: 220px; overflow: auto; }
.metadata-toc-import p:empty { display: none; }

.player-master-page-link { display: block; padding: 10px 12px; border: 1px solid #829a8c; border-radius: 8px; background: #e7efe9; color: #294b38; font-size: 13px; font-weight: 750; white-space: nowrap; text-align: center; text-decoration: none; }
.player-master-page-link:hover { background: #dce8de; }
.player-heading-title { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-width: 0; }
.player-heading-title > .eyebrow { flex-basis: 100%; }
.player-heading-title > .player-master-management { position: static; flex: none; width: auto; height: auto; font: 750 13px/1.4 system-ui; }
.player-shell .player-transport .player-master-page-link { width: auto; height: auto; padding: 10px 12px; font: 750 13px/1.4 system-ui; }
.player-master-popover { position: fixed; inset: auto; margin: 0; width: min(640px,calc(100vw - 16px)); max-width: none; max-height: none; box-sizing: border-box; box-shadow: 0 8px 28px #0005; }
.player-master-popover:popover-open { display: flex; flex-direction: column; }
.player-master-popover::backdrop { background: transparent; }
.player-tool-document .masters-management-page { display: grid; grid-template-columns: minmax(0,1fr); }
.masters-management-page { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; align-items: start; }
.masters-management-page > .panel { margin: 0; min-width: 0; }
.masters-management-page .masters-mail-card,.masters-management-page .masters-metadata-card { grid-column: 1/-1; }
.masters-management-page #close-correction-invitation { display: none; }
.masters-management-page .version-import-entry { display: block; }
.masters-management-page .version-import-entry > button { margin-top: 12px; }
@media(max-width:850px) { .masters-management-page { grid-template-columns: minmax(0,1fr); } }

.player-author-menu { position: fixed; inset: auto; margin: 0; padding: 10px; width: min(300px,calc(100vw - 16px)); box-sizing: border-box; max-height: calc(100dvh - 16px); overflow: auto; border: 1px solid #829a8c; border-radius: 10px; background: #eef4ef; color: #24362b; box-shadow: 0 8px 28px #0005; }
.player-author-menu strong { display: block; padding: 6px; overflow-wrap: anywhere; }
.player-author-menu button { display: block; width: 100%; text-align: left; padding: 10px 8px; border: 0; border-radius: 5px; background: transparent; color: #294b38; font: 600 14px/1.4 system-ui; cursor: pointer; }
.player-author-menu button:hover { background: #dce8de; }
.player-author-menu button.danger { color: #a32c32; }
.player-author-filter-reset { align-self: start; margin: 4px 0; padding: 5px 10px; border-radius: 6px; border: 1px solid #829a8c; background: #eef4ef; color: #294b38; cursor: pointer; }
.player-author-filter-reset[hidden],.player-shell .author-filter-hidden { display: none !important; }
[data-author-correction] { cursor: context-menu; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }

.player-timecodes { display: grid; gap: 4px; margin-right: auto; padding: 6px 10px; background: #20282e; border: 1px solid #5a6973; border-radius: 7px; flex: none; }
.player-timecode { display: flex; align-items: center; gap: 10px; color: #ffa343; }
.player-timecode-track { color: #65c5ff; }
.player-timecode > span { width: 48px; font: 700 10px/1.2 system-ui; letter-spacing: 1px; }
.player-shell .player-timecodes output { display: flex; gap: 2px; width: auto; min-width: 0; margin: 0; order: initial; }
.player-timecodes svg { display: block; width: 17px; height: 30px; overflow: visible; }
.player-timecodes svg.led-separator { width: 6px; }
.player-timecodes path { stroke: currentColor; stroke-width: 3; fill: none; opacity: .09; }
.player-timecodes path.lit { opacity: 1; filter: drop-shadow(0 0 2px currentColor); }
.player-timecodes circle { fill: currentColor; }
.player-waveform-tools { flex-wrap: wrap; }
@media(max-width:600px) { .player-timecodes { padding: 5px 7px; } .player-timecodes svg { width: 15px; height: 27px; } }

.player-shell > .player-scroll { scrollbar-width: none; }
.player-shell > .player-scroll::-webkit-scrollbar { width: 0; height: 0; }
.player-position-bar { display: flex; align-items: center; gap: 8px; flex: none; min-height: 26px; }
.player-position-scroll { flex: 1; min-width: 0; overflow-x: scroll; overflow-y: hidden; scrollbar-color: #8794a0 #292f35; }
.player-position-scroll > div { height: 1px; }
.player-position-zoom { display: flex; gap: 4px; flex: none; }
.player-position-zoom button { width: 30px; height: 26px; padding: 0; border: 1px solid #718595; border-radius: 4px; background: #465664; color: #f0f3f6; font: 700 18px/1 system-ui; cursor: pointer; }
.player-position-zoom button:hover { background: #58768c; }
@media(pointer:coarse) { .player-position-zoom button { width: 38px; height: 34px; } .player-position-scroll { padding-top: 10px; } }

/* Compteurs compacts : la couleur appartient aux segments lumineux. */
.player-timecodes { gap: 2px; padding: 3px 5px; border-radius: 4px; }
.player-timecode { gap: 5px; }
.player-timecode > span { width: 34px; font-size: 7px; letter-spacing: .5px; }
.player-shell .player-timecodes output { gap: 1px; }
.player-shell .player-timecodes svg { width: 7px; height: 12px; }
.player-shell .player-timecodes svg.led-separator { width: 3px; }
.player-shell .player-timecode-absolute output { color: #ffa343; }
.player-shell .player-timecode-track output { color: #65c5ff; }
.player-shell .player-timecode-absolute path { stroke: #ffa343; }
.player-shell .player-timecode-track path { stroke: #65c5ff; }
.player-shell .player-timecode-absolute circle { fill: #ffa343; }
.player-shell .player-timecode-track circle { fill: #65c5ff; }
.player-timecodes path.lit { filter: none; }

.player-transport-buttons > .player-timecodes { margin: 0 4px 0 0; flex: none; }
.player-shell .player-heading-title > .player-master-management,
.player-shell .player-heading-side > a.button,
.player-shell .player-heading > a.button { padding: 6px 9px; min-height: 28px; border: 1px solid #718595; border-radius: 5px; background: #465664; color: #f0f3f6; font: 650 12px/1.3 system-ui; box-shadow: none; }
.player-shell .player-heading-title > .player-master-management:hover,
.player-shell .player-heading-side > a.button:hover { background: #58768c; }
.player-height-grip { height: 8px; cursor: ns-resize; touch-action: none; background: #71859545; border-top: 1px solid #91a6b177; }
.player-height-grip:hover,.player-height-grip:focus-visible { background: #91b6cb99; outline: none; }
@media(pointer:coarse) { .player-height-grip { height: 14px; } }

.player-shell .player-transport { width: min(820px,calc(100vw - 24px)); max-width: calc(100vw - 24px); }
.player-shell .player-transport-buttons { flex-wrap: nowrap; justify-content: center; min-width: 0; overflow-x: auto; }
.player-transport-buttons > button,.player-transport-buttons > .player-rates,.player-transport-buttons > .player-timecodes { flex-shrink: 0; }
.player-shell .player-scroll .player-track { padding-left: 0; padding-right: 0; border-right: 0; flex-shrink: 0; min-width: 0; }
.player-shell .player-scroll .player-track canvas { border-radius: 0; }
.player-track-disc { position: absolute; top: calc(-1 * var(--track-cd-size,24px)); left: 0; z-index: 4; width: var(--track-cd-size,24px); height: var(--track-cd-size,24px); box-sizing: border-box; display: grid; place-items: center; border: 1px solid #aabac4; border-radius: 50%; background: repeating-radial-gradient(circle,#c3ccd3 0 2px,#94a5b1 3px 4px,#d9e0e5 5px 6px); color: #18232b; font: 800 11px/1 system-ui; text-shadow: 0 0 3px white; }

/* Demande et réponse partagent la même colonne, avec les actions regroupées. */
.player-shell .player-recent-corrections li.has-review-controls { height: auto; min-height: 72px; padding: 5px 8px; grid-template-columns: 145px minmax(0,1fr) auto auto; grid-template-rows: auto auto; gap: 3px 7px; align-items: center; }
.player-shell .player-recent-corrections li.has-review-controls .player-correction-select,
.player-shell .player-recent-corrections li .player-review-controls { display: contents; }
.player-shell .player-recent-corrections li.has-review-controls .player-correction-select > span:first-child { grid-column: 1; grid-row: 1; font-size: 11px; }
.player-shell .player-recent-corrections li.has-review-controls .player-correction-text { grid-column: 2; grid-row: 1; padding: 5px 7px; border-radius: 4px; background: color-mix(in srgb, currentColor 14%, transparent); font-weight: 750; white-space: normal; overflow-wrap: anywhere; }
.player-shell .player-recent-corrections li.has-review-controls > [data-edit-correction] { grid-column: 3; grid-row: 1; }
.player-shell .player-recent-corrections li.has-review-controls > [data-delete-correction] { grid-column: 4; grid-row: 1; }
.player-shell .player-review-controls select { grid-column: 1; grid-row: 2; padding: 4px; font-size: 11px; }
.player-shell .player-review-controls textarea { grid-column: 2; grid-row: 2; height: 28px; min-height: 28px; padding: 5px 7px; font-weight: 400; }
.player-shell .player-review-actions-compact { grid-column: 3/5; grid-row: 2; display: flex; justify-content: flex-end; align-items: center; gap: 6px; }
.player-shell .player-review-controls [data-review-message] { grid-column: 2; grid-row: 3; min-height: 0; }
.player-shell .player-review-controls [data-review-message]:empty { display: none; }
.player-shell .player-review-controls [data-review-retry] { grid-column: 3/5; grid-row: 3; }
.player-shell .player-recent-corrections li:has(.player-review-controls textarea:not(:placeholder-shown)) .player-correction-text { background: color-mix(in srgb, currentColor 4%, transparent); font-weight: 400; }
.player-shell[data-layout] .player-review-controls textarea:not(:placeholder-shown) { background: color-mix(in srgb, currentColor 14%, transparent); font-weight: 750; }
.player-shell[data-layout] .player-review-controls textarea:focus { background: #f3f7f4; color: #24362b; }
@media(max-width:700px) {
  .player-shell .player-recent-corrections li.has-review-controls { grid-template-columns: 90px minmax(0,1fr) auto auto; gap: 3px 4px; }
  .player-shell .player-review-controls textarea { height: 40px; min-height: 40px; }
  .player-shell .player-review-actions-compact { gap: 3px; }
}

.player-disabled-toggle { font: 600 11px/1.3 system-ui; padding: 4px 7px; border: 1px solid #718595; border-radius: 5px; background: #465664; color: #f0f3f6; cursor: pointer; }
.player-disabled-label { display: inline-block; margin-right: 8px; padding: 2px 5px; border-radius: 4px; background: #697580; color: white; font: 700 10px/1.2 system-ui; }
.player-shell .is-disabled-correction { opacity: .65; }

.invited-person { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 10px; padding: 10px 0; border-bottom: 1px solid #bdcfc3; }
.invited-person > div { display: grid; gap: 3px; overflow-wrap: anywhere; }
.invited-person > label { display: flex; align-items: center; gap: 8px; grid-column: 1/-1; }
.invited-person > label select { flex: 1; min-width: 0; }
.invited-person-status { font-size: 11px; align-self: start; justify-self:end; width:max-content; white-space:nowrap; border-radius: 4px; padding: 3px 5px; background: #dde8e0; }
.invited-person .invited-person-access { grid-column:1/-1; }
.invited-person.is-focused-participant { outline:2px solid #8babb7; outline-offset:2px; border-radius:4px; }
.invited-person > .invited-person-mailing { grid-column:1; justify-content:flex-start; }
.invited-person-mailing input[type="checkbox"] { width:16px; min-height:16px; height:16px; margin:0; }
.invited-person > [role="status"] { grid-column: 1/-1; }
.invited-person > [role="status"]:empty { display: none; }

/* CD argenté, reflets irisés et moyeu transparent. */
.player-track-disc { isolation: isolate; border: 1px solid #f5f7f8; background: conic-gradient(from -20deg,#c1bacf 0deg,#f9fafb 42deg,#a4a7ac 78deg,#edf0f2 116deg,#b7d9cc 137deg,#d9c2e8 152deg,#d8e9a2 168deg,#fff 194deg,#aeb1b6 236deg,#eee9dd 263deg,#d5b9d9 281deg,#b0d9ef 299deg,#c6e6ac 318deg,#c1bacf 360deg); box-shadow: inset 0 0 0 1px #ffffffa6,0 0 1px 1px #69747f; color: #152534; font-size: 10px; text-shadow: 0 0 2px #fff,0 0 3px #fff; }
.player-track-disc::before { content: ''; position: absolute; inset: 29%; border: 2px solid #8d969bab; border-radius: 50%; background: #e9eef2ed; z-index: -1; box-shadow: 0 0 0 2px #c4c9cca6; }

.player-track-disc { border: 0; box-shadow: none; }
.player-track-disc::after { content: ''; position: absolute; left: 50%; top: 50%; width: 2px; height: calc(var(--track-cd-size,24px) / 2 + var(--track-wave-height,96px) + 7px); transform: translateX(-50%); background: #278f93; z-index: -2; pointer-events: none; }

.player-track-disc::after { top: 100%; height: calc(var(--track-wave-height,96px) + 7px); }

.player-shell .player-recent-corrections li[data-review-state="done"] { background: #294b38; color: #deeee3; border-color: #497d5c; }
.player-shell .player-recent-corrections li[data-review-state="improved_not_optimal"],
.player-shell .player-recent-corrections li[data-review-state="no_better"],
.player-shell .player-recent-corrections li[data-review-state="partial_limit"],
.player-shell .player-recent-corrections li[data-review-state="discuss"] { background: #624321; color: #ffead1; border-color: #956b39; }
.player-shell .player-recent-corrections li[data-review-state="rejected"],
.player-shell .player-recent-corrections li[data-review-state="rejected"].is-selected { background: #602f35; color: #ffe1e3; border-color: #975059; }

.player-work-counter { display: grid; flex: none; gap: 2px; padding: 3px 6px; border-left: 1px solid #718595; color: #d3e5ee; }
.player-work-counter output { font: 700 13px/1.2 monospace; margin: 0; }
.player-work-counter small { font-size: 8px; white-space: normal; max-width: 90px; }
.player-work-settings { border-top: 1px solid #829a8c; margin-top: 10px; padding-top: 8px; }
.player-work-settings label { display: flex; gap: 8px; justify-content: space-between; margin-bottom: 8px; }
.player-work-settings input { width: 65px; }
.player-shell .player-transport { width: min(930px,calc(100vw - 24px)); }
.work-log-list { max-height: 360px; overflow: auto; }
.work-log-list p { padding: 8px 0; border-bottom: 1px solid #b9cabc; }

.player-shell .player-review-controls .player-review-response-field { grid-column:1/3; grid-row:2; position:relative; min-width:0; height:28px; overflow:hidden; border:1px solid color-mix(in srgb,currentColor 20%,transparent); border-radius:3px; background:color-mix(in srgb,currentColor 8%,transparent); color:inherit; }
.player-shell .player-review-controls input[data-review-response]::placeholder { color:inherit; opacity:1; }
.editing-heading-title { display:flex; align-items:center; gap:20px; }
.editing-open-player { flex:none; width:68px; height:68px; padding:12px; border-radius:14px; }
.editing-open-player svg { display:block; width:44px; height:44px; }
@media(min-width:701px){
  .page-heading:has(.project-open-player)>.editing-heading-title{flex:1 1 100%;width:100%;min-width:0;align-items:flex-start}
  .page-heading:has(.project-open-player)>.editing-heading-title>div{min-width:0;overflow-wrap:anywhere}
  .page-heading:has(.project-open-player)>.project-navigation{flex:1 1 100%;width:100%;min-width:0}
  .page-heading .project-open-player{display:flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 68px}
}
.player-shell .player-recent-corrections li[data-recent-correction] { outline:.5px solid currentColor; outline-offset:-.5px; }
.player-shell .player-review-controls .player-review-response-field:focus-within { outline:1px solid color-mix(in srgb,currentColor 45%,transparent); }
/* Keep the native font at 16px to avoid iPhone focus zoom; render it at 11px. */
.player-shell .player-review-controls .player-review-response-content { position:relative; width:calc((100% - 22px) * 16 / 11); height:37.818px; transform:scale(.6875); transform-origin:top left; }
.player-shell .player-recent-corrections .player-review-controls .player-review-response-field > button[data-review-proposals-toggle] { position:absolute; top:0; right:0; display:grid; place-items:center; width:22px; min-width:22px; height:26px; min-height:26px; padding:0; border:0; border-left:1px solid #ffffff22; border-radius:0; background:transparent; color:inherit; font:16px/1 Arial,sans-serif; }
.player-review-proposals:popover-open { display:grid; position:fixed; inset:auto; margin:0; padding:3px; box-sizing:border-box; max-height:60vh; overflow:auto; border:1px solid #8394a2; border-radius:4px; background:#34434d; color:#edf3f6; box-shadow:0 4px 14px #0006; }
.player-review-proposals[hidden] { display:none!important; }
.player-review-proposals.is-open { display:grid; position:fixed; inset:auto; margin:0; padding:3px; box-sizing:border-box; max-height:60vh; overflow:auto; border:1px solid #8394a2; border-radius:4px; background:#34434d; color:#edf3f6; box-shadow:0 4px 14px #0006; z-index:1000; }
.player-shell[data-layout] .player-recent-corrections .player-review-controls .player-review-proposals > button[type="button"] { padding:7px 8px; min-height:30px; text-align:left; border:0; border-radius:2px; background:transparent; color:inherit; font:400 12px/1.3 Arial,sans-serif; white-space:normal; }
.player-shell[data-layout] .player-recent-corrections .player-review-controls .player-review-proposals > button[type="button"]:is(:hover,:focus-visible) { background:#526673; outline:none; }
.player-shell.player-smartphone[data-layout] .player-recent-corrections .player-review-controls .player-review-proposals > button[type="button"] { min-height:22px; padding:3px 6px; font-size:11px; line-height:14px; }
.player-shell.player-smartphone .player-review-proposals:popover-open { padding:2px; gap:0; }
.player-shell .player-review-controls input[data-review-response],
.player-shell .player-review-controls .player-review-completion { box-sizing:border-box; width:100%; height:37.818px; min-height:37.818px; margin:0; padding:6.909px 8.727px; font:400 16px/24px Arial,sans-serif; letter-spacing:normal; text-align:left; border:0; border-radius:0; box-shadow:none; }
.player-shell .player-review-controls input[data-review-response] { display:block; background:transparent; color:inherit; outline:none; }
.player-shell .player-review-controls .player-review-completion { position:absolute; top:0; left:0; width:max-content; pointer-events:none; white-space:pre; color:inherit; opacity:.5; }
.player-review-completion [data-review-prefix] { visibility:hidden; }
.player-shell .player-review-controls .player-review-completion > span { font:inherit; }
.player-shell .player-review-controls [data-review-verdict] { display:flex; flex:none; height:30px; overflow:hidden; border:1px solid #87928d; border-radius:4px; }
.player-shell[data-layout] .player-recent-corrections .player-review-controls [data-review-verdict] > button[data-review-set] { display:grid; place-items:center; flex:none; width:28px; min-width:28px; height:28px; min-height:28px; margin:0; padding:0; border:0; border-radius:0; box-shadow:none; color:#fff; font:700 18px/1 Arial,sans-serif; opacity:.65; }
.player-shell[data-layout] .player-recent-corrections .player-review-controls [data-review-verdict] > button[data-review-set="rejected"] { background:#795452; }
.player-shell[data-layout] .player-recent-corrections .player-review-controls [data-review-verdict] > button[data-review-set="discuss"] { background:#d87818; opacity:1; }
.player-shell[data-layout] .player-recent-corrections .player-review-controls [data-review-verdict] > button[data-review-set="done"] { background:#4d6957; }
.player-shell[data-layout] .player-recent-corrections .player-review-controls [data-review-verdict] > button[data-review-set][aria-pressed="true"] { opacity:1; box-shadow:inset 0 0 0 2px #fff; }
.player-shell[data-layout] .player-recent-corrections .player-review-controls [data-review-verdict] > button[data-review-set]:focus-visible { outline:2px solid #fff; outline-offset:-3px; opacity:1; }

.player-track-disc { cursor: pointer; }
.player-track-disc:focus-visible { outline: 2px solid #278f93; outline-offset: 2px; }

/* Le centre du CD, et non son bord gauche, marque le début de piste. */
.player-track-disc { transform: translateX(-50%); }

.player-shell .player-recent-corrections li.is-selected:not([data-review-state="pending"]) { box-shadow: inset 0 0 0 2px #c7e0ee; }

.player-shell .player-recent-corrections li.is-selected,
.player-shell .player-recent-corrections li.is-selected:not([data-review-state="pending"]) { box-shadow: inset 0 0 0 4px #c7e0ee; }
.player-shell[data-layout] .player-correction-marker.selected { outline: 3px solid #c7e0ee; outline-offset: 0; }

.player-shell .player-review-controls textarea { overflow-y: auto; overflow-x: hidden; }
.player-shell .player-review-controls textarea { line-height: 16px; padding-top: 4px; padding-bottom: 4px; }

.player-shell .player-recent-corrections li[data-review-state="improved_not_optimal"],
.player-shell .player-recent-corrections li[data-review-state="no_better"],
.player-shell .player-recent-corrections li[data-review-state="partial_limit"],
.player-shell .player-recent-corrections li[data-review-state="discuss"] { background: #a65312; color: #fff0df; border-color: #e88a2d; }

.player-shell[data-layout] .player-correction-marker.gray { background: #929ba3; }

.player-shell .player-transport { grid-template-columns: minmax(0,1fr) 110px; width: min(970px,calc(100vw - 24px)); }
.player-shell .player-meter { width: 110px; }
.player-meter-reduction.is-enabled { outline: 1px solid #e9c66e; outline-offset: 2px; }
.player-meter-reduction:hover,.player-meter-reduction:focus-visible { outline: 2px solid #e9c66e; outline-offset: 2px; }
.player-shell .player-volume { display: flex; flex-direction: column; align-items: center; gap: 2px; width: 32px; margin: 0 0 0 4px; padding: 0; color: #becbd3; }
.player-volume > span,.player-volume > output { font: 7px/9px ui-monospace,monospace; white-space: nowrap; }
.player-shell .player-volume input { appearance: none; -webkit-appearance: none; writing-mode: vertical-lr; direction: rtl; width: 26px; height: 48px; min-height: 0; flex: 1; padding: 0; margin: 0; border: 0; border-radius: 0; background: linear-gradient(90deg,transparent 11px,#080d11 11px 15px,transparent 15px); cursor: ns-resize; box-shadow: none; touch-action: none; }
.player-volume input::-webkit-slider-thumb { appearance: none; width: 24px; height: 14px; border: 1px solid #151d24; border-radius: 2px; background: linear-gradient(#a8b3bc,#657480 44%,#25333f 45% 56%,#8996a1 57%,#52616e); box-shadow: 0 2px 3px #000a; }
.player-volume.is-unity input::-webkit-slider-thumb { background: linear-gradient(#a8b3bc,#657480 42%,#f0a044 43% 57%,#8996a1 58%,#52616e); }
.player-volume input::-moz-range-thumb { width: 24px; height: 14px; border: 1px solid #151d24; border-radius: 2px; background: linear-gradient(#a8b3bc,#657480 44%,#25333f 45% 56%,#8996a1 57%,#52616e); box-shadow: 0 2px 3px #000a; }
.player-volume.is-unity input::-moz-range-thumb { background: linear-gradient(#a8b3bc,#657480 42%,#f0a044 43% 57%,#8996a1 58%,#52616e); }
.player-shell .player-volume input:focus-visible { outline: 1px solid #e9c66e; outline-offset: 1px; }

.player-volume input::-webkit-slider-thumb { width: 17px; height: 20px; border: 1px solid #1a242c; border-radius: 3px; background: repeating-linear-gradient(180deg,transparent 0 3px,#10192380 3px 4px,#d4dce54d 4px 5px),linear-gradient(180deg,#c0cad2 0%,#788894 22%,#435361 46%,#465664 57%,#8696a3 82%,#c0cad2 100%); box-shadow: 0 2px 3px #000b,inset 1px 0 1px #e3eaf066,inset -1px 0 1px #101820aa; }
.player-volume.is-unity input::-webkit-slider-thumb { background: linear-gradient(180deg,transparent 44%,#efa044 44% 55%,transparent 55%),repeating-linear-gradient(180deg,transparent 0 3px,#10192380 3px 4px,#d4dce54d 4px 5px),linear-gradient(180deg,#c0cad2 0%,#788894 22%,#435361 46%,#465664 57%,#8696a3 82%,#c0cad2 100%); }
.player-volume input::-moz-range-thumb { width: 17px; height: 20px; border: 1px solid #1a242c; border-radius: 3px; background: repeating-linear-gradient(180deg,transparent 0 3px,#10192380 3px 4px,#d4dce54d 4px 5px),linear-gradient(180deg,#c0cad2 0%,#788894 22%,#435361 46%,#465664 57%,#8696a3 82%,#c0cad2 100%); box-shadow: 0 2px 3px #000b,inset 1px 0 1px #e3eaf066,inset -1px 0 1px #101820aa; }
.player-volume.is-unity input::-moz-range-thumb { background: linear-gradient(180deg,transparent 44%,#efa044 44% 55%,transparent 55%),repeating-linear-gradient(180deg,transparent 0 3px,#10192380 3px 4px,#d4dce54d 4px 5px),linear-gradient(180deg,#c0cad2 0%,#788894 22%,#435361 46%,#465664 57%,#8696a3 82%,#c0cad2 100%); }

.player-work-counter { width: 46px; padding: 2px 3px; gap: 1px; }
.player-work-counter output { white-space: nowrap; }
.player-work-counter small { max-width: 46px; font-size: 7px; line-height: 1.15; }

.player-shell .player-transport { width: min(880px,calc(100vw - 24px)); }
.player-shell .player-volume-rail { position: relative; display: block; flex: 1; width: 32px; min-height: 48px; }
.player-shell .player-volume-rail input { position: absolute; inset: 0; margin: auto; height: 100%; }
.player-volume-scale { position: absolute; inset: 10px 0; pointer-events: none; }
.player-volume-scale i { position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg,#96a9b580 0 4px,transparent 4px 28px,#96a9b580 28px); }
.player-volume-scale i.is-zero { background: linear-gradient(90deg,#da974c 0 5px,transparent 5px 27px,#da974c 27px); }

.player-meter .player-meter-row .player-meter-track { background: repeating-linear-gradient(0deg,transparent 0 0.5px,#182127 0.5px 1px),linear-gradient(0deg,#263d32 0%,#303e2b 55%,#403b25 55%,#423924 85%,#422c2b 85%); }

.player-meter .player-meter-row .player-meter-track { width: 9px; }
.player-meter .player-meter-row + .player-meter-row { margin-left: 2px; }

.player-transport-buttons > .player-timecodes { height: 44px; box-sizing: border-box; align-content: center; padding: 4px 6px; border: 1px solid; border-color: #121b22 #60717e #788996 #1b2730; background: #1c272f; box-shadow: inset 2px 3px 5px #000b,inset -1px -1px 2px #a8b7c322; border-radius: 3px; }
.player-timecode[role="button"] { cursor: text; }
.player-timecode[role="button"]:hover { background: #ffffff09; }
.player-timecode[role="button"]:focus-visible { outline: 1px solid #c0d4e3; outline-offset: 1px; }
.player-goto-dialog { width: min(320px,calc(100vw - 32px)); box-sizing: border-box; padding: 16px; border: 1px solid #718595; border-radius: 8px; color: #e4edf4; background: #303c46; box-shadow: 0 8px 30px #0008; }
.player-goto-dialog::backdrop { background: #09121b77; }
.player-goto-dialog form,.player-goto-dialog label { display: grid; gap: 8px; }
.player-goto-dialog input { width: 100%; box-sizing: border-box; font: 20px monospace; color: #ffa343; background: #19252d; padding: 8px; }
.player-goto-dialog small { font-size: 11px; color: #b8c8d4; }
.player-goto-dialog p { margin: 0; color: #ffc0ad; font-size: 12px; }
.player-goto-dialog footer { display: flex; justify-content: flex-end; gap: 8px; }
@media(max-width:480px) { .player-transport-buttons > .player-timecodes { height: 40px; } }

.player-timecode { position: relative; }
.player-timecode.is-editing > output { visibility: hidden; }
.player-shell .player-timecode-entry { position: absolute; right: 0; top: -2px; bottom: -2px; width: calc(100% - 39px); margin: 0; padding: 0; display: block; }
.player-shell .player-timecode-entry input { display: block; box-sizing: border-box; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0 1px; border: 0; border-radius: 1px; background: #14212a; color: #ffa343; font: 12px/1 monospace; letter-spacing: -.5px; outline: 1px solid #ffa34380; box-shadow: inset 0 1px 2px #000a; }
.player-shell .player-timecode-track .player-timecode-entry input { color: #65c5ff; outline-color: #65c5ff80; }
.player-shell .player-timecode-entry input[aria-invalid="true"] { outline-color: #ff7969; }

.player-track-disc { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }

.player-shell .player-meter { border: 1px solid; border-color: #111b23 #566774 #647682 #17232c; background: #202b33; box-shadow: inset 2px 3px 5px #0009,inset -1px -1px 1px #c2d1dc20; }
.player-meter .player-meter-row .player-meter-track,.player-meter .player-meter-reduction .player-meter-track { box-shadow: inset 2px 2px 3px #000d,inset -1px -1px 1px #a6bac333,0 1px 0 #7c919a33; border: 1px solid; border-color: #101a21 #3c4e58 #52646d #131f26; }
.player-shell .player-volume-rail { box-shadow: inset 0 1px 2px #0004,0 1px 0 #a6b7c214; border-radius: 2px; }
.player-shell .player-volume-rail input { z-index: 1; }
.player-volume-scale i { background: linear-gradient(90deg,#96a9b580 0 13px,transparent 13px 19px,#96a9b580 19px); }
.player-volume-scale i.is-zero { background: linear-gradient(90deg,#da974c 0 13px,transparent 13px 19px,#da974c 19px); }

[data-player-tool-content=metadata] .player-metadata-archived > summary { background: #e1e5e3; color: #68736e; }

.player-shell .player-volume { position: relative; padding: 2px; margin-top: -2px; margin-bottom: -2px; border: 1px solid; border-color: #81919d #1a252e #111b23 #667985; border-radius: 3px; background: linear-gradient(100deg,#485865,#354550 60%,#3d4e5a); box-shadow: -3px 2px 4px #0009,1px 2px 3px #0008,inset 1px 1px 1px #d0dce433; }
.player-volume-scale i { left: 3px; right: 3px; background: linear-gradient(90deg,#96a9b580 0 10px,transparent 10px 16px,#96a9b580 16px); }
.player-volume-scale i.is-zero { background: linear-gradient(90deg,#da974c 0 10px,transparent 10px 16px,#da974c 16px); }

.player-shell .player-transport { border: 1px solid; border-color: #111a21 #687985 #7e909b #1a2731; background: linear-gradient(180deg,#27323b,#303c46); box-shadow: inset 3px 4px 7px #000b,inset -1px -1px 2px #b5c7d12b,0 1px 0 #b5c7d126; }

.player-shell .player-volume { border-color: #566875 #23313a #1d2932 #475a67; background: linear-gradient(100deg,#34444f,#2c3a44 60%,#32424d); box-shadow: -1px 1px 2px #0005,inset 1px 1px 1px #b2c5d11a; }
.player-shell[data-layout] .player-transport-buttons > button,
.player-shell[data-layout] .player-transport .player-rates button { border-radius: 5px; border-width: 1px; border-style: solid; background-image: linear-gradient(180deg,#ffffff0d,transparent 42%,#00000014); box-shadow: inset 0 1px 1px #d7e6f02e,inset 0 -1px 1px #101b2566,0 1px 2px #0006; }
.player-shell[data-layout] .player-transport-buttons > button:active,
.player-shell[data-layout] .player-transport .player-rates button:active { box-shadow: inset 0 2px 3px #0007,inset 0 -1px 0 #b3c7d21a; background-image: linear-gradient(180deg,#00000016,transparent); }

.player-shell[data-layout] .player-transport-buttons > button,
.player-shell[data-layout] .player-transport .player-rates button { background-image: linear-gradient(180deg,#ffffff24,transparent 38%,#00000028); box-shadow: inset 0 2px 1px #deedf066,inset 1px 0 1px #c7dae433,inset 0 -2px 1px #101b25bb,inset -1px 0 1px #101b2566,0 3px 3px #0009; }
.player-shell[data-layout] .player-transport-buttons > button:active,
.player-shell[data-layout] .player-transport .player-rates button:active { background-image: linear-gradient(180deg,#00000030,transparent); box-shadow: inset 0 3px 4px #0009,inset 0 -1px 0 #b3c7d233; }

.player-shell .player-transport .player-current-track { height: 42px; min-height: 42px; padding: 7px 23px 7px 10px; border: 1px solid; border-color: #111a20 #647682 #748691 #17232b; border-radius: 5px; background: radial-gradient(circle,#382715 0 .7px,transparent .9px) 0 0 / 3px 3px,#111b21; box-shadow: inset 2px 3px 5px #000d,inset -1px -1px 2px #bacad922,0 1px 0 #b4c5d12b; text-align: left; overflow: hidden; }
.player-track-matrix { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 700 22px/26px ui-monospace,Consolas,monospace; letter-spacing: 1px; color: #ffad48; }
@supports (background-clip: text) { .player-track-matrix { background: radial-gradient(circle,#ffc16b 0 .75px,#f9952a .85px,transparent 1.2px) 0 0 / 3px 3px; background-clip: text; -webkit-background-clip: text; color: transparent; filter: drop-shadow(0 0 2px #ff921e55); } }
.player-shell .player-current-track::after { top: 50%; right: 7px; transform: translateY(-50%); font: 14px/1 system-ui; color: #efa34f; }
.player-shell .player-current-track:hover { text-decoration: none; }

.player-shell .player-transport .player-current-track { display: flex; align-items: center; gap: 9px; box-sizing: border-box; height: 32px; min-height: 32px; padding: 2px 7px 2px 8px; }
.player-track-display-viewport { display: block; flex: 1; min-width: 0; overflow: hidden; }
.player-track-display-viewport .player-track-matrix { width: max-content; overflow: visible; text-overflow: clip; font-size: 22px; line-height: 26px; }
.player-track-matrix.is-scrolling { animation: player-track-scroll var(--track-scroll-duration) linear infinite alternate; }
@keyframes player-track-scroll { 0%,15% { transform: translateX(0); } 85%,100% { transform: translateX(var(--track-scroll-distance)); } }
.player-shell .player-current-track::after { content: none; }
.player-metadata-legend { flex: none; display: flex; align-items: center; gap: 6px; color: #df994e; font: 11px/1 system-ui,sans-serif; letter-spacing: .3px; }
.player-metadata-legend::after { content: '▾'; color: #ffb25c; font: 24px/1 system-ui,sans-serif; }
@media(prefers-reduced-motion:reduce) { .player-track-matrix.is-scrolling { animation: none; } .player-track-display-viewport { overflow-x: auto; } }

.player-meter-reduction.is-enabled,.player-meter-reduction:hover { outline: none; }
.player-meter-reduction:focus-visible { outline: 1px dotted #e9c66e; outline-offset: 2px; }
.player-meter .player-meter-reduction .player-meter-track { border: 0; box-shadow: none; }

.player-shell .player-transport .player-current-track { background: radial-gradient(circle,#241e17 0 .55px,transparent .8px) 0 0 / 3px 3px,#101920; }
.player-track-display-viewport .player-track-matrix { font-weight: 800; letter-spacing: .4px; }
@supports (background-clip:text) { .player-track-display-viewport .player-track-matrix { background: radial-gradient(circle,#ffd18a 0 1px,#ffb653 1.15px,transparent 1.4px) 0 0 / 3px 3px; background-clip: text; -webkit-background-clip: text; color: transparent; filter: none; } }

/* Variantes proposées : dimensions communes, thèmes existants inchangés. */
.player-shell[data-layout="studio-light"] { --studio-bg:#e4e8e9; --studio-panel:#f1f3f3; --studio-button:#d5dee2; --studio-border:#9eafb7; --studio-text:#243842; --studio-muted:#546b77; --studio-wave:#cfdee5; --studio-input:#e0e6e8; color-scheme:light; }
.player-shell[data-layout="studio-night"] { --studio-bg:#101419; --studio-panel:#191f26; --studio-button:#2b3743; --studio-border:#485a6a; --studio-text:#dbe5ec; --studio-muted:#9eb2c2; --studio-wave:#213b50; --studio-input:#242d36; color-scheme:dark; }
html:has(.player-shell[data-layout="studio-light"]),body:has(.player-shell[data-layout="studio-light"]) { background:#e4e8e9; }
html:has(.player-shell[data-layout="studio-night"]),body:has(.player-shell[data-layout="studio-night"]) { background:#101419; }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) { color:var(--studio-text); --player-green:var(--studio-wave); }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) :is(.player-settings-content,.player-correction,.player-edit-correction) { background:var(--studio-panel); color:var(--studio-text); border-color:var(--studio-border); }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) :is(.eyebrow,.toc-report) { color:var(--studio-muted); }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) :is(.button.secondary,.player-transport-buttons > button,.player-rates button,.player-position-zoom button,.player-waveform-tools button,.player-shortcut-row > button) { background-color:var(--studio-button); color:var(--studio-text); border-color:var(--studio-border); }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) .player-transport { background:var(--studio-panel); border-color:#17232d var(--studio-border) var(--studio-border) #26333d; }
.player-shell[data-layout="studio-light"] .player-transport { box-shadow:inset 2px 3px 5px #24384440,inset -1px -1px 1px #fff9; }
.player-shell[data-layout="studio-night"] .player-transport { box-shadow:inset 3px 4px 7px #000d,inset -1px -1px 1px #667e902b; }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) :is(.player-version,.player-track canvas) { background:var(--studio-wave); border-color:var(--studio-border); }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) .player-version > header { background:var(--studio-panel); color:var(--studio-text); }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) .player-version.old { opacity:.7; }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) :is(.player-correction textarea,.player-settings-content input,.player-settings-content select) { background:var(--studio-input); color:var(--studio-text); border-color:var(--studio-border); }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) textarea::placeholder { color:var(--studio-muted); }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) .player-recent-corrections li[data-review-state="pending"] { background:var(--studio-input); color:var(--studio-text); border-color:var(--studio-border); }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) .player-recent-corrections li[data-review-state="pending"]:not(.is-selected) :is(textarea,select) { color:var(--studio-text); }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) .player-work-counter { color:var(--studio-text); border-color:var(--studio-border); }
.player-shell:is([data-layout="studio-light"],[data-layout="studio-night"]) .player-rates button[aria-pressed="true"] { border-color:#d4a449; box-shadow:inset 0 0 0 1px #d4a449,inset 0 1px 1px #ffffff33,0 2px 2px #0006; }

.project-progress-summary h2 { margin-top: 0; }
.project-progress-summary li { margin: 10px 0; }
.project-progress-summary li small { display: block; color: var(--muted); }
.project-progress-preview { font-size: .85rem; line-height: 1.45; white-space: normal; }
.project-progress-pending { border-left: 3px solid #c18e39; padding-left: 10px; }

/* Les bandeaux et le lecteur partagent la hauteur réelle de la fenêtre. */
main:has(> .player-shell) { display: flex; flex-direction: column; box-sizing: border-box; min-height: 0; overflow: auto; }
main:has(> .player-shell) > :is(.expert-mode-banner,.simulation-run-banner) { flex: none; }
main > .player-shell { flex: 1 1 0; height: auto; min-height: 0; }
.player-shell .player-correction > .player-recent-corrections { display: flex; flex-direction: column; min-height: 0; }
.player-shell .player-recent-corrections ol { flex: 1 1 0; height: auto; min-height: 0; margin-bottom: 0; overflow-y: auto; scroll-padding-bottom: 8px; }
.player-shell .player-correction-order { display:flex; flex-wrap:wrap; align-items:center; gap:6px; flex:0 0 auto; margin:0 0 4px; font-size:12px; }
.player-shell .player-correction-order select { width:auto; max-width:100%; min-height:26px; padding:2px 6px; font-size:12px; }

@media(max-width:850px) {
  .player-shell .player-transport-buttons { gap: 4px; }
  .player-shell .player-transport-buttons > button { width: 34px; min-width: 34px; height: 38px; font-size: 21px; }
  .player-shell .player-transport-buttons > [data-player-toggle] { width: 54px; min-width: 54px; gap: 2px; }
  .player-shell .player-transport .player-rates button { width: 30px; min-width: 30px; height: 38px; font-size: 12px; }
  .player-shell .player-transport .player-rates { gap: 3px; margin-left: 0; }
  .player-transport-buttons > .player-timecodes { height: 38px; margin-right: 0; }
  .player-transport-divider { margin: 0; }
}
@media(max-width:650px) {
  .player-shell .player-transport { column-gap: 5px; padding: 5px; }
  .player-shell .player-transport-buttons { grid-column: 1/-1; gap: 3px; }
  .player-shell .player-meter { grid-row: 2; }
  .player-shell .player-transport .player-current-track { align-self: center; }
  .player-shell .player-transport-buttons > button { width: 28px; min-width: 28px; height: 34px; font-size: 19px; }
  .player-shell .player-transport-buttons > [data-player-toggle] { width: 42px; min-width: 42px; }
  .player-shell .player-transport-buttons > [data-player-toggle] svg { width: 18px; height: 20px; }
  .player-shell .player-transport .player-rates button { width: 25px; min-width: 25px; height: 34px; font-size: 10px; }
  .player-transport-buttons > .player-timecodes { height: 34px; padding: 3px; }
  .player-shell .player-timecode > span { display: none; }
  .player-shell .player-timecode-entry { width: 100%; }
  .player-work-counter { width: 32px; padding: 2px; }
  .player-work-counter output { font-size: 10px; }
  .player-work-counter small { font-size: 6px; }
}
@media(max-width:440px) {
  .player-shell .player-transport-buttons { gap: 2px; }
  .player-shell .player-transport-buttons > button { width: 22px; min-width: 22px; height: 32px; font-size: 17px; }
  .player-shell .player-transport-buttons > [data-player-toggle] { width: 32px; min-width: 32px; gap: 0; }
  .player-shell .player-transport-buttons > [data-player-toggle] svg { width: 15px; height: 18px; }
  .player-shell .player-transport .player-rates { gap: 2px; }
  .player-shell .player-transport .player-rates button { width: 20px; min-width: 20px; height: 32px; font-size: 9px; }
  .player-transport-buttons > .player-timecodes { height: 32px; padding: 2px; }
  .player-shell .player-timecodes svg { width: 6px; }
  .player-shell .player-timecodes output { gap: 0; }
}
@media(max-width:360px) {
  .player-shell .player-transport-buttons { gap: 1px; }
  .player-shell .player-transport-buttons > button { width: 19px; min-width: 19px; }
  .player-shell .player-transport-buttons > [data-player-toggle] { width: 28px; min-width: 28px; }
  .player-shell .player-transport-buttons > [data-player-toggle] svg { width: 13px; }
  .player-shell .player-transport .player-rates button { width: 18px; min-width: 18px; }
  .player-work-counter { width: 28px; }
}

.version-import-mail-section { margin-top: 24px; padding-top: 16px; border-top: 1px solid #aab9b0; }
.version-import-mail-section > summary { cursor: pointer; font-weight: 700; padding: 10px 0; }
.master-import-pane > h3:first-child { margin-top: 8px; }

.version-import-dialog .import-selection-error { color: #9d2929; background: #ffeded; border: 1px solid #c76565; border-radius: 6px; padding: 12px; font-weight: 700; }

.version-import-dialog .import-choice-disabled { opacity: .45; filter: grayscale(1); cursor: default; pointer-events: none; }
.version-import-dialog [data-choose-folder]:disabled { opacity: .45; filter: grayscale(1); }
.version-import-dialog [data-import].import-ready { background: #3c7955; color: white; border-color: #326848; }

.version-import-dialog.import-complete > header { position: sticky; top: 0; z-index: 3; background: #fff; padding: 8px 0; }
.version-import-dialog .button.import-finished { background: #245638; border-color: #1b422b; color: #fff; opacity: 1; }
.version-import-dialog .button.import-finished:hover { background: #1b422b; }

.player-registration-status { font-size: 10px; padding: 2px 5px; color: #eadca5; background: #414b54; border: 1px solid #7c8278; border-radius: 4px; cursor: pointer; }

.new-contributor-card { margin-top: 26px; padding: 20px; border: 1px solid #b1c4b7; border-radius: 12px; background: #edf4ef; box-shadow: 0 2px 5px #203a2912; }
.new-contributor-card > h3 { margin: 0 0 18px; }
.invited-person button.invited-person-status { cursor: pointer; text-align: left; font: inherit; text-decoration: underline; text-underline-offset: 3px; }

.player-shell .player-scroll .player-version { border-color: #727b80; }
.player-shell .player-scroll .player-version.selected { border-color: #75b5df; box-shadow: inset 0 0 0 1px #75b5df; }
.player-track-disc.is-reordered { background: conic-gradient(#d4b94e,#fff0a2,#ab9035,#edda83,#b79a3d,#ffe8a0,#d4b94e); }

.player-shell .player-version > header .player-version-label { position: sticky; left: 18px; z-index: 7; display: inline-block; flex: 0 0 auto; padding: 1px 7px; margin-left: 18px; background: #26333e; color: #fff; border: 1px solid #8fa4b2; border-radius: 4px; font-weight: 800; }

.player-shell .player-version > header .player-version-label { position: relative; left: auto; margin-left: 4px; white-space: nowrap; pointer-events: none; }

.player-shell .player-version > header .player-version-label { display: none; }
.player-track-label { position: absolute; top: calc(-1 * var(--track-cd-size,24px)); height: var(--track-cd-size,24px); display: flex; align-items: center; z-index: 5; white-space: nowrap; pointer-events: none; color: #e2e9ed; font: 700 11px/1 system-ui; background: none; border: none; padding: 0; }
.player-shell[data-layout=light] .player-track-label,.player-shell[data-layout=studio-light] .player-track-label { color: #293e49; }

/* Garder les CD lisibles même sans message TOC dans leur bande. */
.player-shell .player-scroll .player-version > header { min-height: calc(1.04rem + 4px); box-sizing: border-box; }

.version-import-dialog.import-running > header { position: sticky; top: 0; z-index: 10; background: #fff; padding: 8px 0; }
.version-import-dialog .import-abort { background: #9a3c35; color: white; }
.version-import-dialog.import-running > header h2 { font-size: 1rem; }

.player-shell .player-correction-marker.purple { background: #9b69ce; border-color: #d5b7f2; }
.player-shell .player-recent-corrections li.purple { background: #554365; border-color: #ba8fea; }
.player-timing-uncertain { display: inline-block; color: #e3c7ff; font-weight: 700; margin-right: 8px; }

.player-shell .player-recent-corrections li[data-timing-uncertain=true][data-review-state=pending] { background: #554365; border-color: #ba8fea; }

/* Corrections reportées : conserver la couleur de statut sous des stries foncées. */
.player-shell .player-correction-marker.is-carried-correction,
.player-shell .player-recent-corrections li.is-carried-correction { background-image: repeating-linear-gradient(135deg, transparent 0 5px, rgba(0,0,0,.22) 5px 8px) !important; }
.player-shell .player-recent-corrections li.is-carried-correction :is(.player-correction-text,textarea,select,input) { background-image:none !important; }
.player-shell .player-recent-corrections li.is-carried-correction :is(.player-correction-text,textarea:not(:focus),select:not(:focus),input:not(:focus)) { background-color:color-mix(in srgb, currentColor 14%, var(--carried-row-color)); }
.player-shell .player-recent-corrections li.is-carried-correction:has(textarea:not(:placeholder-shown)) .player-correction-text { background-color:color-mix(in srgb, currentColor 4%, var(--carried-row-color)); }


.player-shell .player-scroll .player-version { min-width: 0; box-sizing: border-box; }

.version-import-dialog .import-carry-toggle { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; background:#e4bd4f; color:#30270e; border:2px solid #ad8526; text-align:left; padding:12px 14px; }
.version-import-dialog .import-carry-toggle[aria-pressed="false"] { background:#eee5c6; border-color:#a49b80; color:#645d48; }
.version-import-dialog .import-carry-toggle strong { font-size:.8em; white-space:nowrap; }
.version-import-dialog .import-version-identified { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:6px; }
.version-import-dialog [data-version-editor] input { width:5em; }
.version-import-dialog [hidden] { display:none !important; }

/* Keep the latest master visible while earlier versions scroll beneath it. */
.player-shell .player-scroll > .player-version.current { position:sticky; top:0; z-index:2; }
.player-shell .player-scroll > .player-version.old { position:relative; z-index:0; }

@keyframes player-pause-blink { 0%, 49% { opacity:1; } 50%, 100% { opacity:.18; } }
.player-shell [data-player-toggle][data-transport-state="paused"]:not(:disabled) > .player-pause-symbol { animation:player-pause-blink 1s steps(1,end) infinite; }

.player-shell .player-correction-marker.is-horizontal-correction { bottom:auto; height:6px; min-height:6px; min-width:6px; border-radius:3px; z-index:105; }
.player-shell .player-correction-marker.is-horizontal-correction .player-correction-author { left:3px; top:-3px; bottom:auto; transform:none; font-size:8px; padding:0 2px; }
.player-span-dialog [data-span-bounds] { display:flex; gap:12px; }
.player-span-dialog [data-span-bounds][hidden] { display:none; }
.player-span-dialog textarea { width:100%; }
.player-add-span { margin-top:4px; font-size:11px; padding:3px 7px; }

.player-shell .player-correction-marker.is-horizontal-correction { transform:none; }

.player-shell .player-scroll > .player-version { margin-bottom:3px; }
.player-shell .player-review-controls :disabled { cursor:default; opacity:.8; }

.player-shell .player-version.current > header,.player-shell .player-version.current .player-track-label { touch-action:none; user-select:none; }
.player-shell .player-correction-selection { position:absolute; top:0; bottom:0; z-index:106; box-sizing:border-box; min-width:2px; border:2px solid #f0cb55; background:#edc44c22; pointer-events:none; }
.player-shell .player-selection-edge { position:absolute; top:0; bottom:0; width:12px; min-width:12px; padding:0; border:0; border-radius:0; background:linear-gradient(90deg,transparent 4px,#f0cb55 4px 8px,transparent 8px); pointer-events:auto; touch-action:none; cursor:ew-resize; }
.player-shell .player-selection-edge[data-selection-edge="start"] { left:-7px; }
.player-shell .player-selection-edge[data-selection-edge="end"] { right:-7px; }
.player-shell .player-selection-hint { display:flex; align-items:center; gap:6px; padding:3px 5px; margin-top:3px; background:#615426; color:#ffe294; font-size:11px; }
.player-shell .player-selection-hint[hidden] { display:none; }
.player-shell .player-selection-hint button { padding:0 4px; font-size:17px; line-height:1; background:transparent; color:inherit; border:0; }

.player-shell[data-layout] .player-scroll > .player-version,
.player-shell[data-layout] .player-scroll > .player-version:not(.selected) canvas { background:#494e53; }
.player-shell[data-layout="anthracite"] .player-scroll > .player-version.selected canvas { background:#416581; }

.player-shell .player-correction-selection { border-color:#ff982c; background:#ff8a263d; box-shadow:inset 0 8px 0 #ff982c; }
.player-shell .player-selection-edge { background:linear-gradient(90deg,transparent 3px,#ff982c 3px 9px,transparent 9px); }

.contributor-color { display:inline-flex; width:22px; height:22px; align-items:center; justify-content:center; border-radius:4px; color:#20303b; margin-right:5px; }

.player-shell .player-scroll .player-track > .player-correction-selection { display:block; position:absolute; top:calc(-1 * var(--track-cd-size,24px)); bottom:0; height:auto; min-height:0; padding:0; overflow:visible; border:2px solid #ff982c; background:#ff8a263d; box-shadow:inset 0 var(--track-cd-size,24px) 0 #ff982c99; }

.import-quality-choices { margin:12px 0; padding:12px; border:1px solid #9bad9f; border-radius:8px; }
.import-quality-choices label { display:flex; gap:10px; align-items:center; margin:10px 0; font-weight:650; }
.import-quality-choices input[type=checkbox] { width:22px; height:22px; flex:0 0 22px; accent-color:#48765b; }

.version-import-dialog > header, .version-import-dialog.import-running > header, .version-import-dialog.import-complete > header { position:sticky; top:0; z-index:10; background:#f3dc87; color:#352c13; border:1px solid #c8a647; border-radius:8px; padding:12px; box-shadow:0 3px 8px #0002; }
.version-import-dialog > header h2 { color:#352c13; }

.player-shell .player-title-row { grid-column: 1; grid-row: 2; display: flex; align-items: center; gap: 5px; min-width: 0; }
.player-shell .player-title-row .player-current-track { flex: 1; min-width: 0; width: 0; }
.player-shell .player-audio-quality { flex: 0 1 155px; width: 155px; min-width: 75px; height: 32px; margin: 0; padding: 2px 4px; color: #efc582; background: #19252d; border: 1px solid #61717b; border-radius: 4px; font: 600 11px system-ui; box-shadow: inset 1px 2px 3px #0009; }
@media(max-width:600px){.player-shell .player-audio-quality { flex-basis: 100px; width: 100px; font-size: 10px; }}

.player-track-label { gap: 5px; }
.player-track-number-badge { display: inline-flex; align-items: center; box-sizing: border-box; border: 1px solid currentColor; border-radius: 3px; padding: 1px 3px; line-height: 1; }
.player-track-version-badge { display:inline-flex; align-items:center; border:0; padding:1px 3px; line-height:1; }
.player-track-number-badge { pointer-events:auto; cursor:pointer; touch-action:manipulation; -webkit-touch-callout:none; user-select:none; }
.player-track-number-badge:focus-visible { outline:2px solid #b9e4e5; outline-offset:2px; }
.player-shell .player-version.old .player-track-number-badge { display:none; }
.player-shell .player-version.old .player-track-number-badge.show-original-number { display:inline-flex; }
.player-shell .player-track-disc { pointer-events:none; }

.player-work-counter { min-width: 0; overflow: hidden; }
.player-work-counter small { display: block; height: 2.3em; overflow: hidden; overflow-wrap: anywhere; }
.version-import-dialog > header:has(.import-live-progress) { flex-wrap: wrap; }
.import-live-progress { flex: 0 0 100%; min-width: 0; display: grid; gap: 4px; font-size: 12px; }
.import-live-progress[hidden] { display: none; }
.import-live-progress progress { width: 100%; height: 10px; accent-color: #487b54; }
.import-live-progress [data-import-stage] { overflow-wrap: anywhere; max-height: 3.6em; overflow: hidden; }

.player-shell .player-toc-warning { display: inline-flex; align-items: center; justify-content: center; width: 19px; min-width: 19px; height: 16px; min-height: 0; padding: 0; border: 1px solid #c88383; border-radius: 3px; background: #edb4b4; color: #682b2b; font: 800 15px/1 system-ui; pointer-events: auto; cursor: pointer; box-shadow: none; }
.player-toc-explanation { position: fixed; margin: 0; width: min(340px,calc(100vw - 32px)); padding: 12px; border: 1px solid #c88383; border-radius: 8px; background: #f9e6e6; color: #542727; box-shadow: 0 5px 20px #0005; font: 14px/1.4 system-ui; }
.player-toc-explanation p { margin: 0 0 8px; }

.schedule-day input[data-retain-day]{width:20px;height:20px;vertical-align:middle;margin-right:8px;cursor:pointer}.schedule-day-excluded{opacity:.55}.schedule-day-excluded>strong{text-decoration:line-through}

.player-preference-actions { display: grid; gap: 8px; border-top: 1px solid #829a8c; margin-top: 14px; padding-top: 12px; }
.player-preference-actions h3,.player-preference-actions p { margin: 0; }
.player-preference-actions p { font-size: .8rem; white-space: normal; }
/* Gris perle : façade aluminium brossé, chanfreins et afficheurs LCD gris. */
.player-shell[data-layout="studio-light"] {
  --pearl-lcd: #d1d8cf;
  --pearl-ink: #34423e;
  --pearl-metal: url("/brushed-aluminium.svg") 0 0 / 1600px 256px repeat,linear-gradient(107deg,#e6e9ea 0%,#c9d0d3 18%,#e1e5e6 37%,#f0f2f2 53%,#d0d6d9 78%,#e6eaeb 100%);
  background: #e4e8e9;
}
.player-shell[data-layout="studio-light"] > .player-heading {
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid;
  border-color: #fafcfc #abb5ba #a4afb5 #f5f8f9;
  border-radius: 9px;
  background: var(--pearl-metal);
  box-shadow: inset 0 2px 1px #fff, inset 2px 0 1px #ffffffa6, inset 0 -2px 1px #a3adb480, 0 2px 3px #64737e24;
}
.player-shell[data-layout="studio-light"] .player-transport {
  background: var(--pearl-metal);
  border-color: #adb7bd #f4f7f8 #fafcfc #a4afb7;
  box-shadow: inset 1px 2px 3px #63717b33, inset -1px -1px 1px #fff, 0 1px 0 #ffffffa6;
}
.player-shell[data-layout="studio-light"] :is(.player-transport-buttons > .player-timecodes,.player-transport .player-current-track,.player-meter,.player-work-counter) {
  background: linear-gradient(180deg,#c4cdc8,#d9dfd7 48%,#d1d9d0);
  color: var(--pearl-ink);
  border: 1px solid;
  border-color: #909e9f #f2f5f1 #f8faf6 #9da9a8;
  box-shadow: inset 1px 2px 3px #64716c33, inset 0 0 0 1px #b8c3ba80, 0 1px 0 #ffffffa6;
}
.player-shell[data-layout="studio-light"] :is(.player-timecode,.player-timecode output,.player-timecode > span) { color: var(--pearl-ink); }
.player-shell[data-layout="studio-light"] .player-timecodes svg { background: transparent; box-shadow: none; }
.player-shell[data-layout="studio-light"] .player-timecodes path { stroke: var(--pearl-ink); opacity: .065; }
.player-shell[data-layout="studio-light"] .player-timecodes path.lit { opacity: 1; filter: none; }
.player-shell[data-layout="studio-light"] .player-timecodes circle { fill: var(--pearl-ink); }
.player-shell[data-layout="studio-light"] .player-timecode:hover { background: #f9fff340; }
.player-shell[data-layout="studio-light"] .player-timecode-entry input { background: #dde4d8; color: #263d35; outline-color: #6b8377; box-shadow: inset 0 1px 2px #687a7133; }
.player-shell[data-layout="studio-light"] .player-timecode-entry input[aria-invalid="true"] { outline-color: #b94e42; }
.player-shell[data-layout="studio-light"] .player-track-display-viewport .player-track-matrix {
  background: none;
  color: var(--pearl-ink);
  -webkit-text-fill-color: var(--pearl-ink);
  filter: none;
  font-family: ui-monospace, Consolas, monospace;
  font-weight: 600;
  text-shadow: 0 1px 0 #eef4e666;
}
.player-shell[data-layout="studio-light"] :is(.player-metadata-legend,.player-metadata-legend::after,.player-meter-scale,.player-volume,.player-work-counter small) { color: #4b5e57; }
.player-shell[data-layout="studio-light"] .player-meter .player-meter-track {
  background: repeating-linear-gradient(0deg,transparent 0 1px,#dce3d980 1px 1.5px),#b6c2b5;
  border-color: #a2afa3 #e8eee3 #edf2e8 #a8b4a9;
  box-shadow: inset 1px 1px 2px #6f806d29;
}
.player-shell[data-layout="studio-light"] .player-meter .player-meter-fill {
  background: repeating-linear-gradient(0deg,transparent 0 1px,#d7dfd1 1px 1.5px),linear-gradient(0deg,#4d7964 0 55%,#918251 55% 98.75%,#b25143 98.75%);
}
.player-shell[data-layout="studio-light"] .player-meter .player-meter-peak { background: #354f42; box-shadow: none; }
.player-shell[data-layout="studio-light"] .player-meter .is-clipping .player-meter-peak { background: #b34232; }
.player-shell[data-layout="studio-light"] .player-meter-reduction { opacity: .7; }
.player-shell[data-layout="studio-light"] .player-meter-reduction.is-enabled { opacity: 1; }
.player-shell[data-layout="studio-light"] .player-meter-reduction-fill { background: repeating-linear-gradient(0deg,transparent 0 1px,#d7dfd1 1px 1.5px),#7d7353; }
.player-shell[data-layout="studio-light"] .player-volume {
  background: var(--pearl-metal);
  border-color: #f4f7f7 #aab5b7 #9ba8ad #edf1f1;
  box-shadow: inset 1px 1px 1px #fff9, 0 1px 2px #61736933;
}
.player-shell[data-layout="studio-light"] .player-volume-rail { box-shadow: inset 0 1px 2px #69796d26,0 1px 0 #ffffff80; }
.player-shell[data-layout="studio-light"] .player-volume-rail input { background: linear-gradient(90deg,transparent 11px,#85928b 11px 15px,transparent 15px); }
.player-shell[data-layout="studio-light"] .player-volume-scale i { background: linear-gradient(90deg,#7a898480 0 10px,transparent 10px 16px,#7a898480 16px); }
.player-shell[data-layout="studio-light"] .player-volume-scale i.is-zero { background: linear-gradient(90deg,#526e6080 0 10px,transparent 10px 16px,#526e6080 16px); }
.player-shell[data-layout="studio-light"] .player-volume input::-webkit-slider-thumb { border-color:#a0abad; background:repeating-linear-gradient(180deg,transparent 0 3px,#78888b55 3px 4px,#ffffffb3 4px 5px),linear-gradient(#edf1f1,#c0cbce 50%,#e4eaea); box-shadow:0 2px 2px #5e706d4d,inset 1px 0 1px #fff; }
.player-shell[data-layout="studio-light"] .player-volume input::-moz-range-thumb { border-color:#a0abad; background:repeating-linear-gradient(180deg,transparent 0 3px,#78888b55 3px 4px,#ffffffb3 4px 5px),linear-gradient(#edf1f1,#c0cbce 50%,#e4eaea); box-shadow:0 2px 2px #5e706d4d,inset 1px 0 1px #fff; }
.player-shell[data-layout="studio-light"] :is(.player-transport-buttons > button,.player-transport .player-rates button,.player-heading-title > .player-master-management,.player-heading-side > a.button,.player-heading-side summary) {
  color: #42515a;
  background: linear-gradient(180deg,#f7f9f9,#e2e7e9 50%,#ced6da);
  border-color: #fbfdfd #a4b0b6 #94a2ab #f0f4f6;
  box-shadow: inset 0 2px 1px #fff, inset 1px 0 1px #ffffffb3, inset 0 -2px 1px #94a1ab66, 0 2px 2px #65747d33;
}
.player-shell[data-layout="studio-light"] :is(.player-transport-buttons > button,.player-transport .player-rates button):is(:active,.is-keyboard-pressed) {
  background: linear-gradient(#cbd5d8,#e4eaea);
  box-shadow: inset 1px 2px 3px #7b8d9559,inset 0 -1px 0 #fff;
}
.player-shell[data-layout="studio-light"] .player-transport .player-rates button[aria-pressed="true"] { background: linear-gradient(#c2d0ca,#d8e2dc); color:#334f41; border-color:#96aaa0; box-shadow:inset 0 1px 3px #738d7b4d,0 1px 0 #fff; }
.player-shell[data-layout="studio-light"] .player-scroll { background: #d8dfe1; border-color: #a5b3bb; }
.player-shell[data-layout="studio-light"] .player-position-scroll { scrollbar-color: #a6b2b9 #d8dfe1; }
.player-shell[data-layout="studio-light"] :is(.player-transport-buttons > .player-timecodes,.player-transport .player-current-track,.player-meter,.player-work-counter) { background: linear-gradient(180deg,#c9d0ce,#dce1df 48%,#d3dad7); }
.player-shell[data-layout="studio-light"] .player-metadata-legend::after { color: #4b5e57; }
.player-shell[data-layout="studio-light"] .player-title-row .player-audio-quality { color: #43564e; background: linear-gradient(#d0d7d4,#e0e5e1); border: 1px solid; border-color:#a1afaa #edf2ef #f6f9f7 #a7b4af; box-shadow:inset 1px 1px 2px #66796e26; opacity:1; }
.player-shell[data-layout="studio-light"] .player-timecodes svg { height: 14px; }
.player-shell[data-layout="studio-light"] .player-timecodes path { stroke-width: 3.3; }
.player-shell[data-layout="studio-light"] .player-timecodes output { background: transparent; }
/* Repères en superposition : aucune bande ne réduit la hauteur de la waveform. */
.player-shell .player-scroll .player-version { position: relative; }
.player-shell .player-scroll .player-version > header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 3;
  width: 100%;
  height: 24px;
  min-height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.player-shell .player-scroll .player-track { padding-top: 0; padding-bottom: 0; border-top: 0; gap: 0; }
.player-shell .player-scroll .player-track-disc,
.player-shell .player-scroll .player-track-label { top: 0; }
.player-shell .player-scroll .player-track-disc::after { height: max(0px,calc(var(--track-wave-height,96px) - var(--track-cd-size,24px))); }
.player-shell .player-scroll .player-track-label { text-shadow: 0 1px 2px #253440,0 -1px 2px #253440; }
.player-shell[data-layout="studio-light"] .player-scroll .player-track-label { text-shadow: 0 1px 2px #edf2f2,0 -1px 2px #edf2f2; }
.player-shell .player-scroll .player-track.playhead-visible::after { top: 0; bottom: 0; }
.player-shell .player-scroll .player-track > .player-correction-selection { top: 0; box-shadow: none; }
/* Actions de gestion empilées à droite du titre du lecteur. */
.player-shell .player-heading-title { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px 12px; align-items: center; }
.player-shell .player-heading-title > .eyebrow { grid-column: 1 / -1; grid-row: 1; }
.player-shell .player-heading-title > h1 { grid-column: 1; grid-row: 2 / span 2; }
.player-shell .player-heading-title > .player-master-management { grid-column: 2; grid-row: auto; width: 100%; box-sizing: border-box; }
/* Anthracite : métal brossé sombre et chanfreins bleutés. */
.player-shell[data-layout="anthracite"] {
  --anthracite-metal: url("/brushed-aluminium.svg") 0 0 / 1600px 256px repeat,linear-gradient(108deg,#394650 0%,#2f3942 21%,#46535e 50%,#303b44 79%,#3c4852 100%);
}
.player-shell[data-layout="anthracite"] > .player-heading {
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid;
  border-color: #7b8b96 #25323c #1c2832 #687a87;
  border-radius: 9px;
  background: var(--anthracite-metal);
  background-blend-mode: soft-light,normal;
  box-shadow: inset 0 2px 1px #a6bac44d,inset 2px 0 1px #91a9b433,inset 0 -2px 1px #0e1b2699,0 3px 5px #111b294d;
}
.player-shell[data-layout="anthracite"] .player-transport {
  background: var(--anthracite-metal);
  background-blend-mode: soft-light,normal;
  border-color: #1a2731 #748796 #8193a0 #273641;
  box-shadow: inset 2px 3px 5px #101b2873,inset -1px -1px 1px #c2d3dd40,0 1px 0 #8fa5b333;
}
.player-shell[data-layout="anthracite"] :is(.player-heading-title > .player-master-management,.player-heading-side > a.button,.player-heading-side summary,.player-transport-buttons > button,.player-transport .player-rates button) {
  color: #e3ebf1;
  background: linear-gradient(180deg,#647581 0%,#4b5c69 38%,#394b59 100%);
  border: 1px solid;
  border-color: #9aabb7 #344550 #263640 #8195a4;
  box-shadow: inset 0 2px 1px #bfd1dd4d,inset 1px 0 1px #b5cad633,inset 0 -2px 1px #14263399,0 2px 3px #101b2866;
}
.player-shell[data-layout="anthracite"] :is(.player-heading-title > .player-master-management,.player-heading-side > a.button,.player-heading-side summary,.player-transport-buttons > button,.player-transport .player-rates button):is(:active,.is-keyboard-pressed) {
  background: linear-gradient(#334756,#506676);
  box-shadow: inset 1px 2px 4px #0b1a2980,inset 0 -1px 0 #a2bdcb33;
}
.player-shell[data-layout="anthracite"] .player-transport .player-rates button[aria-pressed="true"] {
  color: #e3f3ff;
  background: linear-gradient(#345369,#496e88);
  border-color: #8aaec5 #29485c #213d50 #779db5;
  box-shadow: inset 0 2px 3px #152c3e80,inset 0 -1px 1px #a7cfe14d,0 1px 0 #8ba7b54d;
}
.player-shell[data-layout="anthracite"] .player-volume {
  background: var(--anthracite-metal);
  background-blend-mode: soft-light,normal;
  border-color: #8296a3 #263b49 #1c303d #6b8595;
  box-shadow: inset 1px 1px 1px #b1c9d54d,0 2px 3px #101c2866;
}
.player-shell[data-layout="anthracite"] :is(.player-timecodes svg,.player-timecodes output) { background: transparent; box-shadow: none; }
.player-shell[data-layout="anthracite"] .player-correction { border-color:#71838f #293943 #21323e #637986; box-shadow:inset 0 1px 0 #bbccd52b,0 3px 5px #14202a33; }
/* Poignée de hauteur discrète : zone de saisie conservée. */
.player-shell .player-height-grip { background: transparent; border-top-color: transparent; }
.player-shell .player-height-grip:hover { background: transparent; }
.player-shell .player-height-grip:focus-visible { background: transparent; outline: 1px dashed #829aa9; outline-offset: -2px; }
/* La poignée recouvre le bas du clip sans réserver de hauteur sous la waveform. */
.player-shell .player-scroll .player-height-grip { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; }
.player-shell .player-scroll .player-correction-marker:not(.is-horizontal-correction) { bottom: 0; }
.player-shell .player-scroll .player-correction-author {
  top: auto;
  bottom: 0;
  box-sizing: border-box;
  min-width: 16px;
  height: 12px;
  padding: 0 2px;
  border-radius: 1px;
  font-size: 8px;
  line-height: 12px;
  box-shadow: none;
}
.player-shell .player-scroll .player-correction-marker.is-horizontal-correction .player-correction-author {
  top: calc(var(--track-wave-height,96px) - var(--correction-lane-top,4px) - 12px);
  bottom: auto;
}
/* Surface légèrement bombée, derrière le dessin des waveforms. */
.player-shell[data-layout="anthracite"] .player-scroll .player-track canvas {
  background: linear-gradient(180deg,#354f64 0%,#42627b 15%,#52748e 45%,#54768f 53%,#44647d 83%,#344e63 100%);
}
.player-shell[data-layout="studio-light"] .player-scroll .player-track canvas {
  background: linear-gradient(180deg,#bdcdd5 0%,#cedbe1 16%,#e0e8ec 46%,#e2e9ed 53%,#cfdce3 83%,#bfced7 100%);
}
/* Barres de correction affinées, angles droits. */
.player-shell .player-scroll .player-correction-marker { border-radius: 0; }
.player-shell .player-scroll .player-correction-marker:not(.is-horizontal-correction) { width: 3px; min-width: 3px; }
.player-shell .player-scroll .player-correction-marker:not(.is-horizontal-correction):hover { width: 4px; min-width: 4px; }
.player-shell .player-scroll .player-correction-marker.is-horizontal-correction { height: 4px; min-height: 4px; min-width: 4px; }
.player-shell .player-scroll .player-correction-marker::after { content: ''; position: absolute; inset: 0 -4px; background: transparent; }
.player-shell .player-scroll .player-correction-marker.is-horizontal-correction::after { inset: -4px 0; }
.player-shell .player-scroll .player-correction-author { border-radius: 0; z-index: 1; }
.player-shell[data-layout] .player-scroll .player-correction-marker.selected { outline-width: 1px; }
/* Bombé plus lisible : reflet central large et bords ombrés. */
.player-shell[data-layout="anthracite"] .player-scroll .player-track canvas {
  background: linear-gradient(180deg,#173953 0%,#245477 9%,#347eae 28%,#55a5d6 46%,#62afdc 51%,#438fbe 60%,#2b6893 80%,#1d486b 94%,#143550 100%);
  box-shadow: inset 0 2px 2px #bdd9e966,inset 0 -3px 4px #142d4673;
}
.player-shell[data-layout="studio-light"] .player-scroll .player-track canvas {
  background: linear-gradient(180deg,#9dB2c0 0%,#b3c5d0 10%,#d5e0e7 30%,#f0f5f7 46%,#f5f8fa 51%,#e5edf2 61%,#bfced9 82%,#a3b7c6 95%,#93acbd 100%);
  box-shadow: inset 0 2px 2px #ffffffb3,inset 0 -3px 4px #6e899f59;
}
/* Priorité sur les fonds unis des versions sélectionnées. */
.player-shell[data-layout="anthracite"] .player-scroll > .player-version.selected .player-track canvas {
  background: linear-gradient(180deg,#173953 0%,#245477 9%,#347eae 28%,#55a5d6 46%,#62afdc 51%,#438fbe 60%,#2b6893 80%,#1d486b 94%,#143550 100%);
}
.player-shell[data-layout="studio-light"] .player-scroll > .player-version.selected .player-track canvas {
  background: linear-gradient(180deg,#9db2c0 0%,#b3c5d0 10%,#d5e0e7 30%,#f0f5f7 46%,#f5f8fa 51%,#e5edf2 61%,#bfced9 82%,#a3b7c6 95%,#93acbd 100%);
}
.player-shell[data-layout] .player-scroll > .player-version:not(.selected) .player-track canvas {
  background: linear-gradient(180deg,#252a2f 0%,#343b42 18%,#4b555e 47%,#515b64 53%,#353e46 82%,#252d34 100%);
}
/* Extrémités des masters à angles droits. */
.player-shell .player-scroll > .player-version { border-radius: 0; }
/* Joues latérales et quatre fixations inox à six pans creux. */
.player-shell .player-transport { width: min(944px,calc(100vw - 52px)); max-width: calc(100vw - 52px); padding-left: 40px; padding-right: 40px; }
.player-shell .player-transport::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url('/transport-inox-screw.svg'),url('/transport-inox-screw.svg'),url('/transport-inox-screw.svg'),url('/transport-inox-screw.svg');
  background-position: left 7px top 7px,right 7px top 7px,left 7px bottom 7px,right 7px bottom 7px;
  background-size: 25px 25px;
  background-repeat: no-repeat;
}
@media(max-width:650px) {
  .player-shell .player-transport { padding-left: 24px; padding-right: 24px; }
  .player-shell .player-transport::before { background-size: 17px 17px; background-position: left 3px top 5px,right 3px top 5px,left 3px bottom 5px,right 3px bottom 5px; }
}
/* Transport en saillie sur la façade, chanfrein éclairé en haut à gauche. */
.player-shell[data-layout="anthracite"] .player-transport {
  border-color: #92a7b5 #263741 #142630 #8096a5;
  box-shadow: inset 0 2px 1px #c7dbe766,inset 2px 0 1px #aac1cf40,inset 0 -2px 1px #122634b3,inset -1px 0 1px #172b3880,0 4px 5px #0a162580,0 1px 1px #080f1a99;
}
.player-shell[data-layout="studio-light"] .player-transport {
  border-color: #ffffff #99a7b0 #7f909c #f2f6f8;
  box-shadow: inset 0 2px 1px #fff,inset 2px 0 1px #ffffffb3,inset 0 -2px 1px #8395a080,inset -1px 0 1px #94a4ae66,0 4px 5px #52687959,0 1px 1px #4c606a66;
}
/* Coins du transport coupés à 45°, sans rayon d’arrondi. */
.player-shell .player-transport {
  --transport-cut: 9px;
  border-radius: 0;
  clip-path: polygon(var(--transport-cut) 0,calc(100% - var(--transport-cut)) 0,100% var(--transport-cut),100% calc(100% - var(--transport-cut)),calc(100% - var(--transport-cut)) 100%,var(--transport-cut) 100%,0 calc(100% - var(--transport-cut)),0 var(--transport-cut));
}
.player-shell .player-transport::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(135deg,transparent 5px,#c6d8e5b3 5px 7px,transparent 7px) top left,
    linear-gradient(225deg,transparent 5px,#a5bdce80 5px 7px,transparent 7px) top right,
    linear-gradient(315deg,transparent 5px,#102632b3 5px 7px,transparent 7px) bottom right,
    linear-gradient(45deg,transparent 5px,#30495499 5px 7px,transparent 7px) bottom left;
  background-size: 10px 10px;
  background-repeat: no-repeat;
}
.player-shell[data-layout="studio-light"] .player-transport::after {
  background-image:
    linear-gradient(135deg,transparent 5px,#fff 5px 7px,transparent 7px),
    linear-gradient(225deg,transparent 5px,#f4f8fa 5px 7px,transparent 7px),
    linear-gradient(315deg,transparent 5px,#8195a1 5px 7px,transparent 7px),
    linear-gradient(45deg,transparent 5px,#b0bfc7 5px 7px,transparent 7px);
}
/* Cadre rectangulaire saillant : chanfrein brossé continu. */
.player-shell .player-transport { clip-path: none; border-radius: 0; }
.player-shell .player-transport::after {
  inset: -1px;
  border: 4px solid transparent;
  border-radius: 0;
  background: url('/brushed-aluminium.svg') 0 0 / 1600px 256px repeat,linear-gradient(145deg,#adc0cb 0%,#6d8494 20%,#263f50 52%,#182c39 74%,#5e7788 100%);
  background-blend-mode: soft-light,normal;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0) border-box;
  mask-composite: exclude;
}
.player-shell[data-layout="studio-light"] .player-transport::after {
  background: url('/brushed-aluminium.svg') 0 0 / 1600px 256px repeat,linear-gradient(145deg,#ffffff 0%,#e8eef1 21%,#a3b4bf 52%,#7c919f 76%,#c0ccd3 100%);
  background-blend-mode: soft-light,normal;
}
/* Boutons en saillie, avec un interstice sombre autour de leur embase. */
.player-shell[data-layout="anthracite"] :is(.player-transport-buttons > button,.player-transport .player-rates button) {
  border-radius: 2px;
  border-color: #b1c3cf #3c5362 #243b4b #91aaba;
  background: linear-gradient(180deg,#8093a1 0%,#647c8d 9%,#516a7d 48%,#3c5568 88%,#304858 100%);
  box-shadow: 0 0 0 2px #121e28,inset 0 2px 1px #dbeaf07a,inset 2px 0 1px #bfd6e34d,inset -1px 0 1px #18334580,inset 0 -3px 1px #1b3547,0 4px 0 #182b39,0 6px 4px #07121c80;
}
.player-shell[data-layout="studio-light"] :is(.player-transport-buttons > button,.player-transport .player-rates button) {
  border-radius: 2px;
  border-color: #fff #a4b2bd #879aa8 #f4f8fa;
  background: linear-gradient(180deg,#fff 0%,#f1f5f7 10%,#e2e9ed 48%,#c7d3dc 89%,#b6c5cf 100%);
  box-shadow: 0 0 0 2px #6d7d89,inset 0 2px 1px #fff,inset 2px 0 1px #ffffffcc,inset -1px 0 1px #a4b4be99,inset 0 -3px 1px #9aacb9,0 4px 0 #8c9eaa,0 6px 4px #42576959;
}
.player-shell[data-layout] .player-transport .player-rates button[aria-pressed="true"] {
  background: linear-gradient(180deg,#597f96,#3f637a 52%,#345268);
  color: #eaf6ff;
}
.player-shell[data-layout="studio-light"] .player-transport .player-rates button[aria-pressed="true"] { background: linear-gradient(#d6e3df,#b7cdc3); color: #304b3d; }
.player-shell[data-layout] :is(.player-transport-buttons > button,.player-transport .player-rates button):is(:active,.is-keyboard-pressed) {
  /* Garder la boîte fixe : une translation déborde de la rangée scrollable
     et fait osciller ses ascenseurs pendant un appui prolongé. */
  transform: none;
  box-shadow: 0 0 0 2px #283c49,inset 0 2px 3px #233b4d59,inset 0 -1px 1px #b8cdda66,0 1px 0 #273e4e;
}
/* Quatre faces brossées en onglet : raccords diagonaux dans les coins à 90°. */
.player-shell .player-transport::after {
  inset: -1px;
  border: 5px solid transparent;
  background: none;
  -webkit-mask: none;
  mask: none;
  border-image: url('/transport-bevel-anthracite.svg') 12 / 5px / 0 stretch;
}
.player-shell[data-layout="studio-light"] .player-transport::after {
  background: none;
  border-image: url('/transport-bevel-pearl.svg') 12 / 5px / 0 stretch;
}

/* Ombres portées cohérentes avec la lumière venant du haut à gauche. */
.player-shell[data-layout="anthracite"] .player-transport {
  box-shadow: inset 0 2px 1px #c7dbe766,inset 2px 0 1px #aac1cf40,inset 0 -2px 1px #122634b3,1px 2px 1px #060e16b3,4px 7px 6px #050d1673,8px 12px 15px #02091240;
}
.player-shell[data-layout="studio-light"] .player-transport {
  box-shadow: inset 0 2px 1px #fff,inset 2px 0 1px #ffffffb3,inset 0 -2px 1px #8395a080,1px 2px 1px #43535f80,4px 7px 6px #35465245,8px 12px 15px #35465230;
}
.player-shell .player-transport::before { background-size: 29px 29px; }
.player-shell[data-layout="anthracite"] :is(.player-heading-title > .player-master-management,.player-heading-side > a.button,.player-heading-side summary) {
  border-radius: 2px;
  box-shadow: 0 0 0 2px #111b24,inset 0 2px 1px #dbeaf070,inset 0 -2px 1px #1b3547,0 3px 0 #182b39,3px 6px 5px #07121c80;
}
.player-shell[data-layout="studio-light"] :is(.player-heading-title > .player-master-management,.player-heading-side > a.button,.player-heading-side summary) {
  border-radius: 2px;
  box-shadow: 0 0 0 2px #71808b,inset 0 2px 1px #fff,inset 0 -2px 1px #9aacb9,0 3px 0 #8c9eaa,3px 6px 5px #42576959;
}
.player-shell[data-layout] :is(.player-heading-title > .player-master-management,.player-heading-side > a.button,.player-heading-side summary):active {
  transform: none;
  box-shadow: 0 0 0 2px #465763,inset 0 1px 3px #233b4d59,0 1px 1px #273e4e;
}
@media(max-width:650px) {
  .player-shell .player-transport::before { background-size: 19px 19px; }
}

/* Retour tactile des commandes clavier hors transport, sans déplacer leur boîte. */
.player-shell button.is-keyboard-pressed {
  transform: none;
  box-shadow: inset 1px 3px 4px #08121d99,inset 0 -1px 1px #b8cdda66;
}
.player-shell[data-layout="studio-light"] button.is-keyboard-pressed {
  box-shadow: inset 1px 3px 4px #52677580,inset 0 -1px 1px #fff;
}

/* Zone de sélection des corrections longues sur le master actuel. */
.player-shell .player-scroll .player-version.current > header {
  background: rgb(0 0 0 / 15%);
  box-shadow: inset 0 -1px 0 rgb(0 0 0 / 12%);
  cursor: url('/selection-brackets-cursor.svg') 16 16, crosshair;
}

/* Play reste enfoncé durant le chargement, même après le relâchement. */
.player-shell[data-layout] .player-transport-buttons > [data-player-toggle][data-transport-state="starting"] {
  transform: none;
  background: linear-gradient(#334756,#506676);
  box-shadow: 0 0 0 2px #283c49,inset 0 2px 3px #233b4d59,inset 0 -1px 1px #b8cdda66,0 1px 0 #273e4e;
}
.player-shell[data-layout="studio-light"] .player-transport-buttons > [data-player-toggle][data-transport-state="starting"] {
  background: linear-gradient(#cbd5d8,#e4eaea);
  box-shadow: 0 0 0 2px #71808b,inset 1px 2px 3px #7b8d9559,inset 0 -1px 1px #fff,0 1px 0 #8c9eaa;
}

/* Traits discrets, prise plus large et curseur centré pour les corrections. */
.player-shell .player-scroll .player-correction-marker:not(.is-movable),
.player-shell .player-scroll .player-correction-marker:not(.is-movable):is(:hover,:focus) {
  cursor: url('/cursor-correction-diamond.svg') 12 12, pointer;
}
.player-shell .player-scroll .player-correction-marker:not(.is-horizontal-correction),
.player-shell .player-scroll .player-correction-marker:not(.is-horizontal-correction):hover {
  width: 2px; min-width: 2px;
}
.player-shell .player-scroll .player-correction-marker.is-horizontal-correction {
  height: 3px; min-height: 3px;
}
.player-shell .player-scroll .player-correction-marker::after { inset: 0 -9px; }
.player-shell .player-scroll .player-correction-marker.is-horizontal-correction::after { inset: -9px 0; }

/* Signature transparente, entre le transport et les commandes de fermeture. */
.player-shell .player-heading-side .player-logo-frame {
  display: block;
  width: clamp(100px,12vw,220px);
  max-width: 55%;
  height: 100px;
  object-fit: contain;
  flex: 0 1 auto;
  margin-right: auto;
  align-self: center;
  background: transparent;
}
@media(max-width:1100px) {
  .player-shell .player-heading-side .player-logo-frame { height: 42px; width: 80px; }
}

/* Logement sombre encastré pour le logo transparent. */
.player-shell .player-heading-side .player-logo-frame {
  box-sizing: border-box;
  padding: 3px 8px;
  border: 1px solid;
  border-color: #17222b #60717e #71828e #24313c;
  border-radius: 2px;
  background: linear-gradient(180deg,#27343f,#34434f);
  box-shadow: inset 2px 3px 5px #080e16a6,inset -1px -1px 1px #a6b9c31f,0 1px 0 #b2c3cd33;
}
.player-shell[data-layout="studio-light"] .player-heading-side .player-logo-frame {
  border-color: #647681 #e3ebef #f3f7f9 #7d8d97;
  background: linear-gradient(180deg,#9baab3,#bac6cd);
  box-shadow: inset 2px 3px 5px #31465366,inset -1px -1px 1px #ffffff66,0 1px 0 #fff9;
}

/* Tête de lecture fine et noire dans les deux apparences. */
.player-shell[data-layout] .player-scroll .player-track.playhead-visible::after {
  width: 3px;
  z-index: 120;
  background: #000;
  box-shadow: none;
}

/* Les corrections longues gardent leur trait, sans étiquette d’auteur. */
.player-shell .player-scroll .player-correction-marker.is-horizontal-correction .player-correction-author {
  display: none;
}

/* Le logo seul grandit ; son logement garde ses dimensions. */
.player-shell .player-heading-side .player-logo-frame { overflow: hidden; }
.player-shell .player-logo-frame > .player-invoice-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(1.2);
  transform-origin: center;
}

/* La correction sélectionnée ressort par son épaisseur et sa luminosité. */
.player-shell[data-layout] .player-scroll .player-correction-marker.selected {
  filter: none;
  background: #b9ad78;
  outline: 1px solid #e5f3fa;
  box-shadow: 0 0 3px #e5f3fa80;
}
.player-shell .player-scroll .player-correction-marker.selected:not(.is-horizontal-correction) {
  width: 8px;
  min-width: 8px;
}
.player-shell .player-scroll .player-correction-marker.selected.is-horizontal-correction {
  height: 9px;
  min-height: 9px;
}

/* Contraste de la waveform du logo, sans changer le fichier des factures. */
.player-shell .player-logo-frame > .player-invoice-logo {
  filter: url('#player-logo-wave-light');
}

/* Lentilles des voyants : relief conservé même lorsque la lumière est éteinte. */
.player-shell[data-layout] [data-player-toggle] > svg {
  opacity: 1;
  color: #4e5d5c;
  filter: drop-shadow(0 1px 0 #101a20) drop-shadow(0 2px 1px #10182099);
}
 .player-shell :is(.player-transport,.large-fader-play) .led-highlight { stop-color: color-mix(in srgb,currentColor 50%,#fff); }
 .player-shell :is(.player-transport,.large-fader-play) .led-face { stop-color: color-mix(in srgb,currentColor 85%,#fff); }
 .player-shell :is(.player-transport,.large-fader-play) .led-shade { stop-color: color-mix(in srgb,currentColor 55%,#102019); }
 .player-shell :is(.player-transport,.large-fader-play) .led-lens { stroke: #15242a; stroke-width: .65; stroke-linejoin: round; }
 .player-shell :is(.player-transport,.large-fader-play) .led-reflection { fill: none; stroke: #fff; stroke-opacity: .28; stroke-width: .65; stroke-linecap: round; }
.player-shell[data-layout] [data-player-toggle]:is([data-transport-state="playing"],[data-transport-state="starting"]) > .player-play-symbol {
  color: #65e78b;
  filter: drop-shadow(0 1px 0 #132a20) drop-shadow(0 0 2px #68ef8e99);
}
.player-shell[data-layout] [data-player-toggle][data-transport-state="paused"] > .player-pause-symbol {
  color: #ffda65;
  animation: player-pause-led 1s steps(1,end) infinite;
}
@keyframes player-pause-led {
  0%,49% { color: #ffda65; filter: drop-shadow(0 1px 0 #302714) drop-shadow(0 0 2px #ffd65b99); }
  50%,100% { color: #746c4b; filter: drop-shadow(0 1px 0 #101a20) drop-shadow(0 2px 1px #10182099); }
}

/* Symboles du transport moulés avec le même relief que Play et Pause. */
.player-shell .player-transport-symbol {
  display: block; width: 26px; height: 26px; margin: auto;
  color: #bbcbd4;
  filter: drop-shadow(0 1px 0 #101a20) drop-shadow(0 2px 1px #10182080);
}
.player-shell [data-player-stop] .player-transport-symbol { width: 24px; height: 24px; }
.player-shell .player-transport-buttons > button:is(:active,.is-keyboard-pressed) .player-transport-symbol {
  color: #eef8ff;
  filter: drop-shadow(0 1px 0 #14252d) drop-shadow(0 0 2px #c9e9ff80);
}
.player-shell .player-transport-buttons > button:disabled .player-transport-symbol { color: #68767e; }
.player-shell[data-layout="studio-light"] .player-transport-symbol { color: #81959f; }
.player-shell .player-rates button { text-shadow: 0 1px 0 #172832,0 -1px 0 #e0f0ff55; }
@media(max-width:650px) {
  .player-shell .player-transport-symbol { width: 18px; height: 20px; }
  .player-shell [data-player-stop] .player-transport-symbol { width: 17px; height: 18px; }
}

/* Voyant Stop bleu après un arrêt explicite. */
.player-shell[data-layout] .player-transport-buttons:has([data-player-toggle][data-transport-state="stopped"]) > [data-player-stop] .player-transport-symbol {
  color: #65baff;
  filter: drop-shadow(0 1px 0 #102a40) drop-shadow(0 0 3px #50adffb3);
}

/* Vitesses en relief, x posé sur la même ligne de base que les chiffres. */
.player-shell .player-rates .player-rate-label {
  display: inline-flex; align-items: baseline; gap: 1px;
  font-weight: 500; line-height: 1;
  text-shadow: 0 -1px 0 #ffffff70,0 1px 0 #182936,0 2px 1px #101b2680;
}
.player-shell .player-rates .player-rate-x { font-size: .8em; }
.player-shell[data-layout] .player-transport .player-rates button[data-player-rate="1"][aria-pressed="true"] {
  background: linear-gradient(180deg,#b5ddf6 0%,#86bfe3 15%,#64a4d0 65%,#427fa9 100%);
  border-color: #d6efff #4a83a8 #315f83 #acd6f0;
  color: #f2faff;
}
.player-shell[data-layout] .player-transport .player-rates button:is([data-player-rate="0.5"],[data-player-rate="2"])[aria-pressed="true"] {
  background: linear-gradient(180deg,#ffd18d 0%,#edac57 15%,#d58a32 65%,#a96120 100%);
  border-color: #ffe4b6 #ae702c #784319 #efc185;
  color: #fff4df;
}
.player-shell .player-transport :is([data-player-prev-correction],[data-player-next-correction]) .player-transport-symbol { width: 20px; height: 20px; }
@media(max-width:650px) {
  .player-shell .player-transport :is([data-player-prev-correction],[data-player-next-correction]) .player-transport-symbol { width: 15px; height: 16px; }
}

/* Boutons de vitesse plus bas, centrés dans le transport. */
.player-shell .player-transport .player-rates { align-items: center; align-self: center; }
.player-shell .player-transport .player-rates button { height: 30px; min-height: 30px; padding-top: 0; padding-bottom: 0; }
@media(max-width:650px) {
  .player-shell .player-transport .player-rates button { height: 26px; min-height: 26px; }
}

/* Vitesses : embase et interstice restent visibles dans tous les états. */
.player-shell[data-layout] .player-transport .player-rates button {
  --rate-gap: #121e28;
  --rate-base: #182b39;
  --rate-highlight: #dbeaf07a;
}
.player-shell[data-layout="studio-light"] .player-transport .player-rates button {
  --rate-gap: #6d7d89;
  --rate-base: #8c9eaa;
  --rate-highlight: #ffffffcc;
}
.player-shell[data-layout] .player-transport .player-rates button:is(button,[aria-pressed="true"],:active,.is-keyboard-pressed) {
  transform: none;
  border-radius: 2px;
  box-shadow: 0 0 0 2px var(--rate-gap),inset 0 2px 1px var(--rate-highlight),inset 0 -2px 1px #233b4d66,0 3px 0 var(--rate-base),0 5px 4px #07121c70;
}
.player-shell[data-layout] .player-transport .player-rates button:is(:active,.is-keyboard-pressed) {
  box-shadow: 0 0 0 2px var(--rate-gap),inset 0 1px 2px #233b4d66,inset 0 -1px 1px var(--rate-highlight),0 3px 0 var(--rate-base),0 5px 4px #07121c70;
}

/* Repère orange à gain unitaire, également sur le fader gris perle. */
.player-shell[data-layout="studio-light"] .player-volume.is-unity input::-webkit-slider-thumb {
  background: linear-gradient(180deg,transparent 43%,#e58d25 43% 57%,transparent 57%),repeating-linear-gradient(180deg,transparent 0 3px,#78888b55 3px 4px,#ffffffb3 4px 5px),linear-gradient(#edf1f1,#c0cbce 50%,#e4eaea);
}
.player-shell[data-layout="studio-light"] .player-volume.is-unity input::-moz-range-thumb {
  background: linear-gradient(180deg,transparent 43%,#e58d25 43% 57%,transparent 57%),repeating-linear-gradient(180deg,transparent 0 3px,#78888b55 3px 4px,#ffffffb3 4px 5px),linear-gradient(#edf1f1,#c0cbce 50%,#e4eaea);
}
.player-shell[data-layout="studio-light"] .player-volume-scale i.is-zero {
  background: linear-gradient(90deg,#cf8128 0 10px,transparent 10px 16px,#cf8128 16px);
}

/* Recentrer le duo de gestion face au transport sans modifier son espacement. */
.player-shell .player-heading-title > .player-master-management {
  position: relative;
  left: auto;
  right: auto;
  top: -10px;
}
@media(max-width:1100px) {
  .player-shell .player-heading-title > .player-master-management { top: 0; }
}

.player-shell .player-selection-hint { flex-wrap: wrap; }
.player-shell .player-selection-hint button {
  min-height: 32px; padding: 5px 9px; font-size: 12px; line-height: 1.2;
  border: 1px solid currentColor; border-radius: 3px; background: #ffffff12;
}
.player-shell .player-recent-corrections .correction-timecode { display: block; width: fit-content; padding: 0 5px; border: 1px solid #96a3a8; border-radius: 0; background: #e1e6e5; color: #26343c; font: 400 23px/1.02 "Segoe UI",Arial,sans-serif; font-variant-numeric: tabular-nums; font-feature-settings: "zero" 0; letter-spacing: .5px; white-space: nowrap; }
.player-shell[data-layout="anthracite"] .player-recent-corrections .correction-timecode { background: #263d4d; border-color: #637b8c; color: #f1f3ed; }
.player-shell .player-recent-corrections .correction-timecode .correction-milliseconds { font-size: .65em; font-weight: 400; letter-spacing: .3px; margin-left: 2px; vertical-align: baseline; }
.player-shell .player-recent-corrections .player-correction-select > span:first-child:has(.correction-timecode) { line-height: 10px; font-size: 10px; }
.player-shell .player-recent-corrections .player-correction-select > span:first-child:has(.correction-timecode ~ .correction-timecode) { font-size: 0; line-height: 0; }
.player-shell .player-recent-corrections .player-correction-select > span:first-child:has(.correction-timecode ~ .correction-timecode) .correction-timecode { font-size: 19px; line-height: 1; }
.player-shell[data-layout] .player-transport .player-rates button[data-current-rate="0.25"][aria-pressed="true"] { background: linear-gradient(#c97830,#93400e 55%,#652706); color: #fff4e3; }
.player-shell[data-layout] .player-transport .player-rates button[data-current-rate="4"][aria-pressed="true"] { background: linear-gradient(#fff2d4,#ffdb96 55%,#ffbc58); color: #482507; }
.player-shell .player-recent-corrections li:not(.has-review-controls) { grid-template-rows: minmax(0,1fr) 14px; row-gap: 0; }
.player-shell .player-recent-corrections li:not(.has-review-controls) .player-correction-select { padding: 0 6px; max-height: none; overflow: visible; }
.player-shell .player-scroll .correction-resize-handle { position: absolute; top: -8px; bottom: -8px; width: 16px; max-width: 50%; z-index: 2; cursor: ew-resize; touch-action: none; }
.player-shell .player-scroll .player-correction-marker:not(.selected) > .correction-resize-handle { display: none; }
.player-shell .correction-resize-handle[data-resize-edge="start"] { left: 0; transform: translateX(-50%); }
.player-shell .correction-resize-handle[data-resize-edge="end"] { right: 0; transform: translateX(50%); }
.player-shell .correction-resize-handle::before { content: ''; position: absolute; top: 5px; bottom: 5px; width: 3px; background: #daceaa; box-shadow: 0 0 0 1px #303b42; opacity: 1; }
.player-shell .player-scroll .player-correction-marker.is-resizable { overflow: visible; }
.player-shell .correction-resize-handle[data-resize-edge="start"]::before,
.player-shell .correction-resize-handle[data-resize-edge="end"]::before { left: 50%; right: auto; transform: translateX(-50%); }
.player-shell .player-scroll .correction-resize-preview { position:absolute; height:9px; background:#daceaa; outline:1px solid #fff2cf; z-index:110; pointer-events:none; }
.player-shell .player-voice-field > [data-dictation-language] { position:absolute; right:46px; top:10px; width:49px!important; max-width:49px!important; min-height:26px!important; height:26px; padding:2px 3px!important; border:1px solid #607581; border-radius:3px; background:#344954; color:#edf2f3; font-size:11px!important; }
.player-shell .player-voice-field:has(> [data-dictation-language]) textarea { padding-right:104px; }
/* Play/pause actif : même bleu clair que la vitesse normale. */
.player-shell[data-layout] .player-transport-buttons > [data-player-toggle]:is([data-transport-state="playing"],[data-transport-state="paused"],[data-transport-state="starting"]) {
  background: linear-gradient(180deg,#b5ddf6 0%,#86bfe3 15%,#64a4d0 65%,#427fa9 100%);
  border-color: #d6efff #4a83a8 #315f83 #acd6f0;
}
.player-shell[data-layout] .player-transport-buttons:has([data-player-toggle][data-transport-state="stopped"]) > [data-player-stop] {
  background: linear-gradient(180deg,#b5ddf6 0%,#86bfe3 15%,#64a4d0 65%,#427fa9 100%);
  border-color: #d6efff #4a83a8 #315f83 #acd6f0;
}
.player-shell[data-layout] .player-transport-buttons > :is([data-player-prev],[data-player-next]):is(:active,.is-keyboard-pressed):not(:disabled) {
  background: linear-gradient(180deg,#b5ddf6 0%,#86bfe3 15%,#64a4d0 65%,#427fa9 100%);
  border-color: #d6efff #4a83a8 #315f83 #acd6f0;
}
.player-shell[data-layout="anthracite"] .player-transport-buttons > [data-player-toggle]:is(:active,.is-keyboard-pressed),
.player-shell[data-layout="anthracite"] .player-transport-buttons:has(> :is([data-player-prev],[data-player-next]):is(:active,.is-keyboard-pressed)) > [data-player-toggle] {
  background: linear-gradient(180deg,#8093a1 0%,#647c8d 9%,#516a7d 48%,#3c5568 88%,#304858 100%);
  border-color: #b1c3cf #3c5362 #243b4b #91aaba;
}
.player-shell[data-layout="studio-light"] .player-transport-buttons > [data-player-toggle]:is(:active,.is-keyboard-pressed),
.player-shell[data-layout="studio-light"] .player-transport-buttons:has(> :is([data-player-prev],[data-player-next]):is(:active,.is-keyboard-pressed)) > [data-player-toggle] {
  background: linear-gradient(180deg,#fff 0%,#f1f5f7 10%,#e2e9ed 48%,#c7d3dc 89%,#b6c5cf 100%);
  border-color: #fff #a4b2bd #879aa8 #f4f8fa;
}
/* Éclairage sous la surface : cœur lumineux et halo interne. */
.player-shell[data-layout] .player-transport-buttons > [data-player-toggle]:is([data-transport-state="playing"],[data-transport-state="paused"],[data-transport-state="starting"]),
.player-shell[data-layout] .player-transport-buttons:has([data-player-toggle][data-transport-state="stopped"]) > [data-player-stop],
.player-shell[data-layout] .player-transport-buttons > :is([data-player-prev],[data-player-next]):is(:active,.is-keyboard-pressed):not(:disabled),
.player-shell[data-layout] .player-transport .player-rates button[data-player-rate="1"][aria-pressed="true"] {
  background: radial-gradient(ellipse at 50% 48%,#f0fcffeb 0%,#b7e7ffc7 24%,#8fd5f35c 52%,transparent 78%),linear-gradient(180deg,#b5ddf6 0%,#79b6df 15%,#5492c0 65%,#376f98 100%);
}
.player-shell[data-layout] .player-transport .player-rates button:is([data-player-rate="0.5"],[data-player-rate="2"])[aria-pressed="true"] {
  background: radial-gradient(ellipse at 50% 48%,#fff1c9e6 0%,#ffda91a6 25%,#ffc45e40 55%,transparent 78%),linear-gradient(180deg,#ffd18d,#d58a32 65%,#a96120);
}
.player-shell[data-layout] .player-transport .player-rates button[data-current-rate="0.25"][aria-pressed="true"] {
  background: radial-gradient(ellipse at 50% 48%,#ffce85c7 0%,#f6944266 30%,transparent 73%),linear-gradient(#c97830,#93400e 55%,#652706);
}
.player-shell[data-layout] .player-transport .player-rates button[data-current-rate="4"][aria-pressed="true"] {
  background: radial-gradient(ellipse at 50% 48%,#fffbeeeF 0%,#fff0cbb3 30%,transparent 77%),linear-gradient(#fff2d4,#ffdb96 55%,#ffbc58);
}
/* La pression coupe toujours l'éclairage de Play/Pause. */
.player-shell[data-layout="anthracite"] .player-transport-buttons > [data-player-toggle]:is(:active,.is-keyboard-pressed),
.player-shell[data-layout="anthracite"] .player-transport-buttons:has(> :is([data-player-prev],[data-player-next]):is(:active,.is-keyboard-pressed)) > [data-player-toggle] {
  background: linear-gradient(180deg,#8093a1,#516a7d 48%,#304858);
}
.player-shell[data-layout="studio-light"] .player-transport-buttons > [data-player-toggle]:is(:active,.is-keyboard-pressed),
.player-shell[data-layout="studio-light"] .player-transport-buttons:has(> :is([data-player-prev],[data-player-next]):is(:active,.is-keyboard-pressed)) > [data-player-toggle] {
  background: linear-gradient(180deg,#fff,#e2e9ed 48%,#b6c5cf);
}
.player-shell[data-layout] .player-transport .player-rates button[data-player-rate],
.player-shell[data-layout] .player-transport .player-rates button[data-player-rate][aria-pressed="true"] {
  color: #000;
}
.player-shell[data-layout] .player-rates .player-rate-label { color: #000; text-shadow: none; }
.player-shell[data-layout] .player-rates .player-rate-label { font-weight: 600; }
.player-shell[data-layout] .player-transport .player-rates button:is([data-player-rate="0.5"],[data-player-rate="2"])[aria-pressed="true"] {
  background: radial-gradient(ellipse at 50% 48%,#fff9df 0%,#ffe7aeed 24%,#ffcb71a6 49%,#ffb74638 72%,transparent 91%),linear-gradient(180deg,#ffd18d,#d58a32 65%,#a96120);
}
.player-shell[data-layout] .player-transport .player-rates button[data-current-rate="0.25"][aria-pressed="true"] {
  background: radial-gradient(ellipse at 50% 48%,#ffe8b5 0%,#ffcc80de 22%,#f69d4d80 48%,#d9772630 69%,transparent 88%),linear-gradient(#c97830,#93400e 55%,#652706);
}
.player-shell[data-layout] .player-transport .player-rates button[data-current-rate="4"][aria-pressed="true"] {
  background: radial-gradient(ellipse at 50% 48%,#fffef5 0%,#fff5da 25%,#ffe8b8cf 50%,#ffd68b50 73%,transparent 94%),linear-gradient(#fff2d4,#ffdb96 55%,#ffbc58);
}
/* Undo disponible : flèche jaune incandescente, éteinte sinon. */
.player-shell[data-layout] .player-transport-buttons > .player-local-undo:not(:disabled) .player-transport-symbol {
  color: #ffe260;
  filter: drop-shadow(0 1px 0 #493713) drop-shadow(0 0 2px #fff3a6) drop-shadow(0 0 5px #ffc83bba);
}
.player-shell[data-layout] .player-transport-buttons > .player-local-undo:not(:disabled) .led-highlight { stop-color: #fffde3; }
.player-shell[data-layout] .player-transport-buttons > .player-local-undo:not(:disabled) .led-face { stop-color: #fff08b; }
/* Gris perle : touches éclairées ivoire chaud, esprit magnétophone de studio. */
.player-shell[data-layout="studio-light"] .player-transport-buttons > [data-player-toggle]:is([data-transport-state="playing"],[data-transport-state="paused"],[data-transport-state="starting"]),
.player-shell[data-layout="studio-light"] .player-transport-buttons:has([data-player-toggle][data-transport-state="stopped"]) > [data-player-stop],
.player-shell[data-layout="studio-light"] .player-transport-buttons > :is([data-player-prev],[data-player-next]):is(:active,.is-keyboard-pressed):not(:disabled),
.player-shell[data-layout="studio-light"] .player-transport .player-rates button[data-player-rate="1"][aria-pressed="true"] {
  background: radial-gradient(ellipse at 50% 48%,#fffdf2 0%,#fff3d9e6 25%,#f5e3bd73 54%,transparent 80%),linear-gradient(180deg,#f5edda 0%,#e8dcc1 16%,#cfbf9e 66%,#af9d7c 100%);
  border-color: #fff8e8 #b9a888 #94815f #eee1c7;
}
.player-shell[data-layout="studio-light"] .player-transport-buttons > [data-player-toggle]:is(:active,.is-keyboard-pressed),
.player-shell[data-layout="studio-light"] .player-transport-buttons:has(> :is([data-player-prev],[data-player-next]):is(:active,.is-keyboard-pressed)) > [data-player-toggle] {
  background: linear-gradient(180deg,#fff,#e2e9ed 48%,#b6c5cf);
  border-color: #fff #a4b2bd #879aa8 #f4f8fa;
}
.player-shell .player-scroll, .player-shell .player-scroll .player-track { overflow-anchor: none; }
/* Gris perle : le master actuel inactif garde le même fond grisé que les archives. */
.player-shell[data-layout="studio-light"] .player-scroll > .player-version.current:not(.selected) .player-track canvas {
  background: linear-gradient(180deg,#62676b 0%,#6d7378 18%,#7d858b 47%,#81898f 53%,#6e767d 82%,#62696f 100%);
}
/* Gris perle : fond plus lumineux pour l'ancienne version écoutée. */
.player-shell[data-layout="studio-light"] .player-scroll > .player-version.old.selected .player-track canvas {
  background: linear-gradient(180deg,#c6d2d8 0%,#dbe3e7 10%,#eef2f3 30%,#fafcfb 46%,#fff 51%,#f4f7f7 61%,#e3eaed 82%,#d2dde2 95%,#c2d0d7 100%);
}
/* Gris perle : contraste renforcé entre la version écoutée et les autres. */
.player-shell[data-layout="studio-light"] .player-scroll > .player-version:is(.current,.old):not(.selected) .player-track canvas {
  background: linear-gradient(180deg,#30373d 0%,#3f4850 18%,#525e68 47%,#58646e 53%,#404c56 82%,#323d46 100%);
}
/* Même fond sombre pour toutes les versions inactives, sans éclaircissement par transparence. */
.player-shell[data-layout="studio-light"] .player-scroll > .player-version.old:not(.selected) {
  opacity: 1;
  filter: none;
}
.player-shell[data-layout="studio-light"] .player-correction {
  background: #c5ced2;
  border-color: #8799a3;
}
/* Vu-mètres lumineux : segments saturés avec un reflet central. */
.player-shell[data-layout] .player-meter .player-meter-fill {
  background: repeating-linear-gradient(0deg,transparent 0 1px,#20372a80 1px 1.5px),linear-gradient(90deg,transparent,#ffffff40 50%,transparent),linear-gradient(0deg,#42cf89 0%,#8fdf68 55%,#ecd85d 55%,#eebc46 98.75%,#ec6253 98.75%);
  box-shadow: inset 0 0 3px #ddffbb66;
}
.player-shell[data-layout] .player-meter .player-meter-peak {
  background: #f5ffba;
  box-shadow: 0 0 3px #d9ff7099;
}
.player-shell[data-layout] .player-meter .is-clipping .player-meter-peak {
  background: #ff5143;
  box-shadow: 0 0 5px #ff4938;
}
.player-shell[data-layout] .player-meter-reduction-fill {
  background: repeating-linear-gradient(0deg,transparent 0 1px,#45321c80 1px 1.5px),linear-gradient(90deg,transparent,#fff9c950 50%,transparent),linear-gradient(180deg,#ead877,#e5aa45 65%,#e67f50);
  box-shadow: inset 0 0 3px #ffe7a173;
}
.player-shell[data-layout] .player-meter-reduction { opacity: 1; }
.player-shell[data-layout] .player-meter-reduction > span { font-weight: 700; }
.player-shell[data-layout="studio-light"] .player-meter-reduction > span { color: #57421e; text-shadow: 0 1px 0 #ffffff80; }
.player-shell[data-layout="anthracite"] .player-meter-reduction > span { color: #ffe4a0; text-shadow: 0 1px 1px #101820; }
/* Anthracite : vu-mètres légèrement plus chauds. */
.player-shell[data-layout="anthracite"] .player-meter .player-meter-fill {
  background: repeating-linear-gradient(0deg,transparent 0 1px,#20372a80 1px 1.5px),linear-gradient(90deg,transparent,#ffffff40 50%,transparent),linear-gradient(0deg,#64cc83 0%,#b6d767 55%,#efc35c 55%,#eaa047 98.75%,#ec6253 98.75%);
}
.player-shell[data-layout="anthracite"] .player-meter-reduction-fill {
  background: repeating-linear-gradient(0deg,transparent 0 1px,#45321c80 1px 1.5px),linear-gradient(90deg,transparent,#fff9c950 50%,transparent),linear-gradient(180deg,#eac277,#e59a45 65%,#e67f50);
}
/* Anthracite : éclairage des vu-mètres adouci. */
.player-shell[data-layout="anthracite"] .player-meter .player-meter-fill {
  background: repeating-linear-gradient(0deg,transparent 0 1px,#20372a80 1px 1.5px),linear-gradient(90deg,transparent,#ffffff20 50%,transparent),linear-gradient(0deg,#62b780 0%,#a4bd67 55%,#d2ac59 55%,#ce9049 98.75%,#cf6256 98.75%);
  box-shadow: inset 0 0 2px #d0dca833;
}
.player-shell[data-layout="anthracite"] .player-meter .player-meter-peak {
  background: #d4cd98;
  box-shadow: 0 0 2px #d2bc6659;
}
.player-shell[data-layout="anthracite"] .player-meter-reduction-fill {
  background: repeating-linear-gradient(0deg,transparent 0 1px,#45321c80 1px 1.5px),linear-gradient(90deg,transparent,#fff9c928 50%,transparent),linear-gradient(180deg,#c9a86c,#c18b47 65%,#c47b53);
  box-shadow: inset 0 0 2px #dac18b40;
}
.player-shell[data-layout="anthracite"] .player-meter-reduction > span { color: #d3bd8d; }
/* Anthracite : palette ambrée plus douce et chaleureuse. */
.player-shell[data-layout="anthracite"] .player-meter .player-meter-fill {
  background: repeating-linear-gradient(0deg,transparent 0 1px,#34302480 1px 1.5px),linear-gradient(90deg,transparent,#ffe7bd16 50%,transparent),linear-gradient(0deg,#7c9e70 0%,#aaa16a 55%,#bb9656 55%,#b78048 98.75%,#b7604f 98.75%);
  box-shadow: inset 0 0 2px #c6a97526;
}
.player-shell[data-layout="anthracite"] .player-meter .player-meter-peak {
  background: #c0aa7c;
  box-shadow: 0 0 2px #ba914338;
}
.player-shell[data-layout="anthracite"] .player-meter-reduction-fill {
  background: repeating-linear-gradient(0deg,transparent 0 1px,#45321c80 1px 1.5px),linear-gradient(90deg,transparent,#ffe2b21c 50%,transparent),linear-gradient(180deg,#b89764,#ac7d49 65%,#ae704f);
  box-shadow: inset 0 0 2px #c5a16b29;
}
.player-shell[data-layout="anthracite"] .player-meter-reduction > span { color: #c2a77d; }
/* Mode sombre : blancs adoucis sur l'ensemble du lecteur. */
.player-shell[data-layout="anthracite"] { color: #c5c8c8; }
.player-shell[data-layout="anthracite"] :is(.player-heading h1,.player-correction,.player-settings-content,.player-edit-correction,.player-version) { color: #c5c8c8; }
.player-shell[data-layout="anthracite"] .player-heading .eyebrow { color: #a0b7c5; }
.player-shell[data-layout="anthracite"] :is(button,.button,summary) { filter: brightness(.88); }
.player-shell[data-layout="anthracite"] :is(.player-correction-author,.player-invoice-logo) { filter: brightness(.88); }
.player-shell[data-layout="anthracite"] .player-logo-frame > .player-invoice-logo { filter: url('#player-logo-wave-light') brightness(.88); }
.player-shell[data-layout="anthracite"] .player-recent-corrections .correction-timecode { color: #c9ccc4; border-color: #566b78; }
.player-shell[data-layout="anthracite"] :is(textarea,input,select) { color: #c5c8c8; }
.player-shell[data-layout="anthracite"] :is(textarea,input)::placeholder { color: #98a2a8; }
.player-shell[data-layout="anthracite"] .player-scroll > .player-version.selected .player-track canvas {
  background: linear-gradient(180deg,#173953 0%,#245477 9%,#31729b 28%,#498bab 46%,#5295b3 51%,#3e789b 60%,#2b6485 80%,#1d486b 94%,#143550 100%);
}
/* Mode sombre : reflet central plus clair sur les clips de la version écoutée. */
.player-shell[data-layout="anthracite"] .player-scroll > .player-version.selected .player-track canvas {
  background: linear-gradient(180deg,#173953 0%,#245477 9%,#31729b 28%,#579dbb 46%,#67aec7 51%,#4b8aa8 60%,#2b6485 80%,#1d486b 94%,#143550 100%);
}
/* Anthracite : vu-mètres chauds et plus lumineux. */
.player-shell[data-layout="anthracite"] .player-meter .player-meter-fill {
  background: repeating-linear-gradient(0deg,transparent 0 1px,#20372a80 1px 1.5px),linear-gradient(90deg,transparent,#ffffff40 50%,transparent),linear-gradient(0deg,#64cc83 0%,#b6d767 55%,#efc35c 55%,#eaa047 98.75%,#ec6253 98.75%);
  box-shadow: inset 0 0 3px #ddffbb66;
}
.player-shell[data-layout="anthracite"] .player-meter .player-meter-peak {
  background: #f0dfa1;
  box-shadow: 0 0 3px #e2bf6899;
}
.player-shell[data-layout="anthracite"] .player-meter-reduction-fill {
  background: repeating-linear-gradient(0deg,transparent 0 1px,#45321c80 1px 1.5px),linear-gradient(90deg,transparent,#fff9c950 50%,transparent),linear-gradient(180deg,#eac277,#e59a45 65%,#e67f50);
  box-shadow: inset 0 0 3px #ffe7a173;
}
.player-shell[data-layout="anthracite"] .player-meter-reduction > span { color: #d3bd8d; }

.project-responsibilities .responsibility-task { margin: 1rem 0; padding: .8rem; border: 1px solid #8eaaa0; }
.project-responsibilities .responsibility-task label { display: inline-flex; align-items: center; gap: .4rem; margin: .3rem 1rem .3rem 0; cursor: pointer; }
.project-responsibilities input[type="radio"] { width: 18px; height: 18px; accent-color: #4d7863; }

/* Prix des formats alignés à droite, sans emphase. */
.choice:has(> [data-format-price]),.choice:has(> .master-format-price){display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
.choice > [data-format-price],.choice > .master-format-price{font-weight:400;white-space:nowrap;text-align:right;grid-column:3}
.choice:has(> [data-format-price]) > small,.choice:has(> .master-format-price) > small{grid-column:2 / -1;font-weight:400}

/* Alignement des titres dans la visionneuse des offres. */
#commercial-quote-dialog .invoice-settings-preview .commercial-client-title,#commercial-quote-dialog .invoice-settings-preview h2,#commercial-quote-dialog .invoice-settings-preview h3,#commercial-quote-dialog .invoice-settings-preview .commercial-domain-title th{text-align:left}

.responsibilities-matrix{width:100%;border-collapse:collapse}.responsibilities-matrix th,.responsibilities-matrix td{padding:10px;border-bottom:1px solid var(--border)}.responsibilities-matrix th{font-size:.8rem;text-align:left}.responsibilities-matrix td:nth-child(n+3){text-align:center}.responsibilities-matrix input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}

.project-responsibilities .responsibility-person-card{border:1px solid var(--border);border-radius:10px;padding:16px;margin:12px 0;background:var(--paper)}.project-responsibilities .responsibility-person-card h3{grid-column:1/-1;margin:0 0 8px}.project-responsibilities .person-responsibilities{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 20px;border-top:1px solid var(--border);padding-top:12px}.project-responsibilities .person-responsibilities label{display:flex;align-items:center;gap:7px;font-size:.9rem;font-weight:400}.project-responsibilities .person-responsibilities input{width:18px;height:18px}.project-responsibilities .person-responsibilities[hidden]{display:none}.project-responsibilities > .form-grid{display:block}

/* Intervenants : coordonnées dépliables et responsabilités compactes. */
.project-responsibilities .responsibility-person-card{display:block;padding:10px;margin:7px 0;min-width:0}
.person-details summary{cursor:pointer;padding:5px 0;overflow-wrap:anywhere;line-height:1.35}
.person-details summary strong{font-size:.9rem}.person-details summary small{display:block;color:var(--muted);font-size:.78rem;margin-left:16px}
.person-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 0}
.person-detail-fields input,.person-detail-fields select{min-width:0;width:100%;padding:8px!important}
.project-responsibilities .person-responsibilities{gap:5px;padding-top:7px;margin-top:5px}
.project-responsibilities .person-responsibilities label{gap:5px;font-size:.78rem;border:1px solid var(--border);border-radius:5px;padding:6px 8px;margin:0;min-height:34px}
.project-responsibilities .person-responsibilities label:has(input:checked){background:#dcebe2;border-color:#769a85;color:#214a33}
.project-responsibilities .person-responsibilities input{width:15px;height:15px;margin:0;flex-shrink:0}
.project-responsibilities .responsibility-default-card h3{font-size:.85rem;margin:0}
@media(max-width:600px){.project-responsibilities{padding:12px}.project-responsibilities>p{font-size:.82rem}.project-responsibilities fieldset{min-width:0;padding:0;border:0}.person-detail-fields .contact-lookup-field,.person-detail-fields .field:has(input[type=email]){grid-column:1/-1}.project-responsibilities .person-responsibilities label{flex:1 1 calc(50% - 5px);box-sizing:border-box;min-height:40px}.project-responsibilities .contact-row{width:100%;box-sizing:border-box}}

.preview-document-actions{position:sticky;bottom:-22px;z-index:3;padding:12px;background:#e7ece9;border-top:1px solid #bdcac3;justify-content:flex-end}.billing-address-inactive{opacity:.55;background:#e3e5e4}.offer-address-book small{display:block;white-space:pre-line}.commercial-invoice-settings-dialog .invoice-settings-column form>header{position:sticky;top:-22px;z-index:4;background:var(--paper);padding:12px 0}

.offer-address-choice{flex-wrap:wrap;align-items:center}.offer-address-choice>label{display:flex;gap:10px;align-items:flex-start;flex:1 1 240px}.offer-address-choice>button{flex-shrink:0}

.requested-masters>summary{cursor:pointer;padding:10px 0;font-weight:600}.requested-formats{list-style:none;padding:0;margin:8px 0}.requested-format{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);color:var(--muted)}.requested-format.is-requested{color:var(--ink)}.requested-format small{font-size:.78rem}.requested-format.is-requested>span:first-child{color:#347351}

.view-history-navigation button{width:auto;min-width:36px;padding-inline:9px;white-space:nowrap;font-size:.78rem}@media(max-width:600px){.topbar .view-history-navigation{display:flex;gap:4px}.view-history-navigation button{font-size:.7rem;padding-inline:6px}}

.discount-text-combobox { position: relative; }
.discount-text-entry { display: flex; align-items: stretch; }
.discount-text-entry input { flex: 1; min-width: 0; border-radius: 8px 0 0 8px; }
.discount-text-entry button { border-radius: 0 8px 8px 0; padding: .4rem .8rem; }
#discount-text-options:not([hidden]) { position: absolute; top: 100%; left: 0; right: 0; z-index: 20; display: grid; padding: .3rem; background: #fff; border: 1px solid #9bad9f; border-radius: 6px; box-shadow: 0 4px 12px #0002; }
#discount-text-options button { text-align: left; white-space: normal; background: transparent; color: #263c32; box-shadow: none; padding: .65rem; }
#discount-text-options button:hover, #discount-text-options button:focus { background: #e2ece5; }
.player-live-bar { display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; padding:5px 10px; font-size:12px; color:inherit; }
.player-live-people { display:flex; flex:1; flex-wrap:wrap; gap:6px; }
.player-live-person { border-left:3px solid var(--peer-color); padding:2px 6px; }
.player-live-bar button { font:inherit; padding:3px 7px; border:1px solid currentColor; border-radius:3px; background:transparent; color:inherit; cursor:pointer; }
.player-settings-content .player-live-bar { padding:0 0 10px; margin-bottom:10px; border-bottom:1px solid #718595; }
.player-settings-content .player-live-bar .player-live-people { flex-basis:100%; }
.player-track > .player-peer-cursor { position:absolute; top:28px; bottom:0; width:2px; background:var(--peer-color); z-index:7; pointer-events:none; opacity:.9; }
.player-peer-cursor > span { position:absolute; top:0; left:2px; background:var(--peer-color); color:#182127; font:600 10px/14px sans-serif; padding:0 3px; white-space:nowrap; }
.commercial-preview-link { cursor:pointer; }
.commercial-preview-link:hover, .commercial-preview-link:focus-visible { background:rgba(197,158,75,.14); outline:1px solid rgba(197,158,75,.65); outline-offset:2px; }
@media print { .commercial-preview-link { background:transparent !important; outline:none !important; } }
.commercial-date-entry { display:flex; align-items:center; gap:4px; position:relative; }
.commercial-date-entry > input[type=text] { flex:1; min-width:0; }
.commercial-date-entry > button { flex:none; padding:6px 10px; font-size:20px; line-height:1; }
.commercial-date-calendar { position:absolute; left:0; bottom:0; width:1px; height:1px; opacity:0; pointer-events:none; }

/* Shared date entry: both controls are inside the field. */
.unified-date-field { position:relative; display:block; min-width:0; }
.unified-date-field > input[type=text] { width:100%; padding-left:38px !important; padding-right:42px !important; }
.unified-date-field > .date-clear, .unified-date-field > .date-open { position:absolute; top:50%; transform:translateY(-50%); width:30px; height:30px; min-width:0; padding:4px; border:0; border-radius:3px; background:transparent; color:inherit; display:grid; place-items:center; box-shadow:none; cursor:pointer; }
.unified-date-field > .date-clear { left:4px; right:auto; font:22px/1 sans-serif; }
.unified-date-field > .date-open { right:5px; left:auto; }
.unified-date-field > button:hover { background:rgba(128,128,128,.15); }
.unified-date-field > button:disabled { opacity:.35; cursor:default; }
.unified-date-field > .date-open svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.unified-date-field > .date-native-source { position:absolute; width:1px !important; height:1px !important; min-width:0 !important; padding:0 !important; opacity:0; pointer-events:none; bottom:0; left:0; }
/* Les prévisualisations intégrées utilisent la feuille sans son conteneur de document. */
.commercial-client-paper table{width:100%;border-collapse:collapse}
.commercial-client-paper th,.commercial-client-paper td{border-bottom:0;text-align:left;line-height:1.12}
.commercial-client-paper td{padding:2px 0}
.commercial-client-paper .commercial-domain-detail td:first-child{padding-left:1cm}
.commercial-client-paper .commercial-domain-detail td:last-child{padding-left:12px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.commercial-client-paper .commercial-accommodation-detail td:first-child{padding-left:3mm}
.commercial-client-paper .commercial-totals dd{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
/* La fenêtre de réglages gère le défilement ; la page derrière reste immobile. */
html:has(.commercial-invoice-settings-dialog[open]),
body:has(.commercial-invoice-settings-dialog[open]){overflow:hidden}
.project-days-summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;margin:4px 0 12px;padding:4px 0;font-size:.9rem;color:var(--muted)}
.project-days-summary strong{color:var(--text)}
.project-days-summary a{font-size:.85rem;text-underline-offset:3px}
.project-days-summary>span{font-size:1.05rem}
.offer-comparison-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:#e7ece9;color:#243b30}
.offer-comparison-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.offer-comparison-dialog>header{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 20px;border-bottom:1px solid #bdcac3}
.offer-comparison-dialog>header h2{margin:0;margin-right:auto;font-size:1.2rem}
.offer-comparison-columns{display:grid;grid-template-columns:repeat(2,minmax(360px,1fr));min-height:0;overflow-x:auto}
.offer-comparison-column{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;min-width:0;border-right:1px solid #bdcac3}
.offer-comparison-column>h3{margin:0;padding:12px 16px;font-size:.95rem}
.offer-comparison-scroll{overflow:auto;min-height:0;overscroll-behavior:contain;padding:12px}
.offer-comparison-scroll .commercial-client-paper{padding:30px 24px;min-height:100%}
html:has(.offer-comparison-dialog[open]),body:has(.offer-comparison-dialog[open]){overflow:hidden}

/* Compact phone controls, including landscape iPhones wider than 850 CSS px. */
@media (pointer:coarse) and (max-width:650px), (pointer:coarse) and (max-height:500px) {
  .player-shell[data-layout] .player-heading { gap:6px; margin-bottom:4px; padding:6px; }
  .player-shell[data-layout] .player-heading-title { gap:3px 6px; }
  .player-shell[data-layout] .player-heading h1 { font-size:16px; line-height:1.15; margin:0; }
  .player-shell[data-layout] .player-heading .eyebrow { font-size:10px; margin:0; }
  .player-shell[data-layout] .player-master-management { min-width:0; }
  .player-shell[data-layout] :is(.player-master-page-link,.player-heading-side .button,.player-master-management > summary,.player-live-bar button) { min-height:28px; padding:4px 7px; font-size:11px; line-height:1.2; }
  .player-shell[data-layout] .player-heading-side { gap:5px; }
  .player-shell[data-layout] .player-heading-side .player-settings > summary { width:28px; height:28px; min-height:28px; font-size:18px; }
  .player-shell[data-layout] .player-transport { gap:4px; padding:4px; }
  .player-shell[data-layout] .player-transport-buttons { gap:3px; justify-content:flex-start; }
  .player-shell[data-layout] .player-transport-buttons > button { width:28px; min-width:28px; height:30px; min-height:30px; padding:2px; font-size:17px; }
  .player-shell[data-layout] .player-transport-buttons > [data-player-toggle] { width:40px; min-width:40px; gap:2px; }
  .player-shell[data-layout] .player-transport-buttons > [data-player-toggle] > svg { width:17px; height:auto; flex-shrink:1; }
  .player-shell[data-layout] .player-transport-buttons .player-transport-symbol { width:17px; height:18px; }
  .player-shell[data-layout] .player-transport .player-rates { gap:3px; margin-left:0; padding-left:4px; }
  .player-shell[data-layout] .player-transport .player-rates button { width:25px; min-width:25px; height:26px; min-height:26px; padding:0 2px; font-size:11px; }
  .player-shell[data-layout] .player-correction > button { min-height:30px; padding:5px 8px; font-size:12px; }
  .player-shell[data-layout] .player-recent-corrections button { min-height:28px; padding:3px 6px; font-size:11px; }
  .player-shell[data-layout] .player-live-bar { min-height:24px; gap:6px; font-size:10px; }
  /* Keep text inputs at 16px to avoid Safari auto-zoom when entering a correction. */
  .player-shell[data-layout] .player-voice-field textarea { font-size:16px; }
}

/* Player-only viewport. Keep all controls and dialogs available. */
body.player-immersive-open { overflow:hidden; }
body.player-immersive-open .topbar { display:none; }
.player-shell.player-immersive {
  position:fixed!important; inset:var(--player-viewport-top,0px) auto auto var(--player-viewport-left,0px)!important; z-index:500;
  box-sizing:border-box; width:var(--player-viewport-width,100%)!important; max-width:none!important;
  height:var(--player-viewport-height,100vh)!important; height:var(--player-viewport-height,100dvh)!important; margin:0!important;
  padding:max(4px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))!important;
  background:#edf2ef; overflow-x:hidden; overflow-y:auto;
}
.player-shell.player-immersive[data-layout="anthracite"] { background:#30373d; }
.player-shell.player-immersive > .player-heading { position:sticky; top:0; z-index:150; background:inherit; }
/* Chrome iOS can report expanded viewport dimensions while its bars still
   cover fixed layers. Keep the player in document flow in this browser. */
body.player-ios-chrome main { width:100%; height:auto; margin:0; padding:0; overflow:visible; }
body.player-ios-chrome .player-shell.player-immersive {
  position:relative!important; inset:auto!important; flex:none;
  width:100%!important;
  height:var(--player-viewport-height,100vh)!important;
  height:min(var(--player-viewport-height,100svh),100svh)!important;
}
.player-shell .player-fullscreen-button { white-space:nowrap; min-height:28px; padding:5px 8px; font-size:12px; }
.player-shell .player-heading-side .player-fullscreen-icon { display:inline-grid; place-items:center; box-sizing:border-box; width:40px; height:40px; min-width:40px; min-height:40px; padding:8px; flex:0 0 40px; }
.player-shell .player-fullscreen-icon svg { display:block; width:22px; height:22px; }
.player-shell .player-heading-side { align-self:start; }
.player-shell .player-heading-side > .player-close-icon { display:inline-grid; place-items:center; box-sizing:border-box; width:40px; height:40px; min-width:40px; min-height:40px; padding:8px; flex:0 0 40px; order:10; }
.player-shell .player-close-icon svg { display:block; width:22px; height:22px; }
.player-shell.player-immersive .player-scroll { min-height:180px; }

/* Phone layout remains active when Safari changes the page zoom. */
.player-shell.player-smartphone .player-timecodes { display:none!important; }
.player-shell.player-smartphone .player-heading h1 { display:none; }
.player-shell.player-smartphone .player-heading .eyebrow { font:600 10px/1.2 system-ui; }
.player-shell.player-smartphone .player-logo-frame { display:none; }
.player-shell.player-smartphone .player-track-display-viewport .player-track-matrix {
  font:500 11px/15px system-ui!important; letter-spacing:0;
  background:none!important; color:inherit!important; -webkit-text-fill-color:currentColor;
  filter:none; animation:none; white-space:normal; width:auto; overflow-wrap:anywhere;
}
.player-shell.player-smartphone .player-current-track { min-height:22px; height:auto; }
.player-shell.player-smartphone .player-track-display-viewport { height:auto; min-height:15px; }
.player-shell.player-smartphone .player-metadata-legend { display:none; }
.player-shell.player-smartphone > .player-heading { gap:var(--phone-gap,4px); padding:var(--phone-padding,6px); }
.player-shell.player-smartphone > .player-correction { flex-shrink:0; height:max(180px,var(--phone-correction-height,280px)); min-height:180px; padding:var(--phone-padding,6px); gap:var(--phone-gap,4px); }
.player-shell .player-phone-management { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.player-shell .player-phone-management > .player-master-management { position:static; inset:auto; flex:1 1 155px; min-width:0; height:auto; padding:8px 10px; white-space:normal; }
.player-shell.player-smartphone .player-heading { flex-wrap:wrap; }
.player-shell.player-smartphone .player-heading-title { min-width:0; }
.player-shell.player-smartphone .player-transport { min-width:0; max-width:100%; }
.player-shell.player-smartphone .player-transport-buttons { flex-wrap:wrap; }
.player-shell.player-smartphone .player-transport-buttons > button { width:28px; min-width:28px; height:30px; min-height:30px; padding:2px; }
.player-shell.player-smartphone .player-transport-buttons > [data-player-toggle] { width:40px; min-width:40px; gap:2px; }
.player-shell.player-smartphone .player-transport-buttons > [data-player-toggle] > svg { width:17px; height:auto; }
.player-shell.player-smartphone .player-transport-symbol { width:17px; height:18px; }
.player-shell.player-smartphone .player-heading-side .button { padding:4px 7px; min-height:28px; font-size:11px; }

/* Keep the track-start hit area and its actions, without the redundant CD artwork. */
.player-shell .player-track-disc { background:none; border:0; border-radius:3px; box-shadow:none; color:transparent; text-shadow:none; }
.player-shell .player-track-disc::before { content:none; }
.player-shell .player-track-disc::after { background:#b9e4e5; }
.player-shell .player-track-disc:focus-visible { outline:2px solid #278f93; outline-offset:2px; }

/* Prevent browser scroll anchoring from fighting the player's own positioning. */
.player-shell.player-immersive { overflow-anchor:none; scrollbar-gutter:stable; }
.player-shell .player-scroll { scroll-behavior:auto; }

/* Interface density uses integer sizes, never zoom on flex children. */
.player-shell.player-smartphone .player-transport-buttons { gap:var(--phone-gap,4px); }
.player-shell.player-smartphone .player-transport-buttons > button { width:var(--phone-button-width,28px); min-width:var(--phone-button-width,28px); height:var(--phone-button-height,30px); min-height:var(--phone-button-height,30px); padding:1px; }
.player-shell.player-smartphone .player-transport-buttons > [data-player-toggle] { width:var(--phone-play-width,40px); min-width:var(--phone-play-width,40px); }
.player-shell.player-smartphone .player-transport-buttons > button > svg,
.player-shell.player-smartphone .player-transport-buttons > [data-player-toggle] > svg,
.player-shell.player-smartphone .player-transport-buttons .player-transport-symbol { width:var(--phone-icon,17px); height:var(--phone-icon,17px); }
.player-shell.player-smartphone .player-transport .player-rates button { width:var(--phone-rate-width,25px); min-width:var(--phone-rate-width,25px); height:var(--phone-rate-height,26px); min-height:var(--phone-rate-height,26px); font-size:max(8px,var(--phone-label,11px)); padding:0; }
.player-shell.player-smartphone .player-track-display-viewport .player-track-matrix { font-size:max(8px,var(--phone-title,11px))!important; line-height:max(11px,var(--phone-title-line,15px))!important; }
.player-shell.player-smartphone .player-transport { padding:var(--phone-padding,6px); gap:var(--phone-gap,4px); }
.player-shell.player-smartphone .player-heading-side .button { font-size:max(8px,var(--phone-label,11px)); padding:var(--phone-gap,4px); }

/* Compact window controls aligned with the top of the player. */
.player-shell[data-layout] > .player-heading { padding-top:2px; }
.player-shell[data-layout] .player-heading-side { align-self:start; align-items:flex-start; gap:4px; margin-top:0; }
.player-shell[data-layout] .player-heading-side :is(.player-fullscreen-icon,.player-close-icon),
.player-shell[data-layout] .player-heading-side .player-settings > summary { box-sizing:border-box; width:28px; height:28px; min-width:28px; min-height:28px; padding:4px; flex:0 0 28px; font-size:18px; }
.player-shell[data-layout] .player-heading-side :is(.player-fullscreen-icon,.player-close-icon) svg { width:18px; height:18px; }
.player-shell[data-layout] .player-heading-side .player-settings > summary { display:grid; place-items:center; line-height:1; }
.player-shell[data-layout] .player-heading-side .player-settings > summary svg { display:block; width:18px; height:18px; }
.player-shell { position:relative; }
.player-shell .player-scroll { padding-right:32px; }
.player-version-scroll-rail { position:absolute; z-index:110; width:28px; box-sizing:border-box; display:grid; place-items:center; border:1px solid #879ba8; border-radius:5px; background:#405461; color:#e1eef4; font:22px/1 system-ui; cursor:ns-resize; touch-action:none; user-select:none; -webkit-user-select:none; }
.player-version-scroll-rail:focus-visible { outline:2px solid #b9e4e5; outline-offset:1px; }
.player-clock-transport { display:flex; align-items:center; gap:8px; min-width:0; max-width:100%; }
.player-shell .player-clock-transport > .player-transport { min-width:0; max-width:calc(100% - 108px); margin:0; }
.player-broadcast-clock { width:100px; height:100px; flex:0 0 100px; border-radius:8px; background:#101416; box-shadow:inset 0 1px 3px #000,0 1px 1px #a7b5bb55; }
.player-broadcast-clock svg { display:block; width:100%; height:100%; }
.broadcast-face { fill:#080b0d; stroke:#3c454b; stroke-width:1; }
.broadcast-leds circle,.broadcast-colon { fill:#ff3434; }
.broadcast-leds circle { fill:#3a1417; }
.broadcast-leds .lit { fill:#ff3434; }
.broadcast-digits path { fill:none; stroke:#351317; stroke-width:2.4; stroke-linecap:square; }
.broadcast-digits path.lit { stroke:#ff3434; }
.player-smartphone .player-broadcast-clock { width:64px; height:64px; flex-basis:64px; }
.player-shell.player-smartphone .player-clock-transport { gap:4px; }
.player-shell.player-smartphone .player-clock-transport > .player-transport { max-width:calc(100% - 68px); }
.player-shell .player-clock-transport { align-items:flex-start; }
.player-shell .player-broadcast-clock { width:var(--player-transport-frame-height,90px); height:var(--player-transport-frame-height,90px); flex-basis:var(--player-transport-frame-height,90px); }
.player-shell .player-heading-side .player-logo-frame { height:var(--player-transport-frame-height,90px); align-self:flex-start; }
.player-shell.player-smartphone .player-heading-side .player-logo-frame,
.player-shell.player-smartphone .player-broadcast-clock { display:none; }

/* Selection above, correction markers below. */
.player-shell .player-scroll .player-track > .player-correction-selection { top:0; bottom:auto; height:var(--track-cd-size,24px); }
.player-shell .player-scroll .player-correction-marker:not(.is-horizontal-correction) { top:50%; bottom:0; height:auto; min-height:0; }
.player-shell .player-scroll .player-correction-marker.is-horizontal-correction .player-correction-author { top:-3px; bottom:auto; }

/* Recessed, ribbed trim wheel for the archived versions. */
.player-version-scroll-rail {
  overflow:hidden; border:1px solid #152027; border-radius:9px;
  background:#151b1f; box-shadow:inset 2px 0 4px #000b,inset -1px 0 2px #93a5ad55,0 1px 0 #82939b66;
}
.player-version-scroll-rail[hidden] { display:none; }
.player-version-scroll-rail::before {
  content:''; position:absolute; inset:3px 4px; border-radius:7px;
  background:linear-gradient(90deg,#11191ee6,#52616b33 35%,#9cabb344 50%,#18222988 78%,#070c10e6),
    repeating-linear-gradient(0deg,#11191e 0 2px,#7d8a92 2px 3px,#46535d 3px 7px,#25313a 7px 10px,#11191e 10px 12px);
  background-position:0 0,0 var(--trim-offset,0px);
  box-shadow:inset 0 14px 10px -7px #000e,inset 0 -14px 10px -7px #000e;
  pointer-events:none;
}
.player-version-scroll-rail::after {
  content:''; position:absolute; top:50%; right:0; width:4px; height:2px;
  background:#d8d1b4; box-shadow:0 0 2px #000; pointer-events:none;
}
.player-version-scroll-rail:active { box-shadow:inset 2px 0 5px #000,0 0 0 1px #a2b5bb66; }

/* Curved trim wheel: projected ribs tighten toward the ends; visible right flank. */
.player-version-scroll-rail::before { inset:3px 2px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%22240%22%20viewBox%3D%220%200%2024%20240%22%20preserveAspectRatio%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22face%22%20x2%3D%221%22%20y2%3D%220%22%3E%3Cstop%20stop-color%3D%22%2318222b%22%2F%3E%3Cstop%20offset%3D%22.4%22%20stop-color%3D%22%2364737d%22%2F%3E%3Cstop%20offset%3D%22.7%22%20stop-color%3D%22%2345525c%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%231b252e%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22shade%22%20x2%3D%220%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23020609%22%20stop-opacity%3D%22.95%22%2F%3E%3Cstop%20offset%3D%22.18%22%20stop-color%3D%22%23020609%22%20stop-opacity%3D%22.35%22%2F%3E%3Cstop%20offset%3D%22.45%22%20stop-color%3D%22%23cbd8dd%22%20stop-opacity%3D%22.05%22%2F%3E%3Cstop%20offset%3D%22.78%22%20stop-color%3D%22%23020609%22%20stop-opacity%3D%22.35%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23020609%22%20stop-opacity%3D%22.95%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cellipse%20cx%3D%2217%22%20cy%3D%22120%22%20rx%3D%226%22%20ry%3D%22116%22%20fill%3D%22%23111920%22%20stroke%3D%22%2374838c%22%20stroke-width%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M%203%206%20Q%2010%201%2018%206%20L%2018%20234%20Q%2010%20239%203%20234%20Z%22%20fill%3D%22url(%23face)%22%2F%3E%3Cpath%20d%3D%22M%202%205.84%20Q%2010%206.04%2018%205.84%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%221.90%22%2F%3E%3Cpath%20d%3D%22M%202%205.34%20Q%2010%205.54%2018%205.34%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.45%22%2F%3E%3Cpath%20d%3D%22M%202%208.34%20Q%2010%208.75%2018%208.34%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%221.90%22%2F%3E%3Cpath%20d%3D%22M%202%207.84%20Q%2010%208.25%2018%207.84%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.45%22%2F%3E%3Cpath%20d%3D%22M%202%2012.47%20Q%2010%2013.08%2018%2012.47%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%222.14%22%2F%3E%3Cpath%20d%3D%22M%202%2011.73%20Q%2010%2012.33%2018%2011.73%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.45%22%2F%3E%3Cpath%20d%3D%22M%202%2018.17%20Q%2010%2018.96%2018%2018.17%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%222.38%22%2F%3E%3Cpath%20d%3D%22M%202%2017.20%20Q%2010%2017.99%2018%2017.20%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.45%22%2F%3E%3Cpath%20d%3D%22M%202%2025.36%20Q%2010%2026.32%2018%2025.36%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%222.59%22%2F%3E%3Cpath%20d%3D%22M%202%2024.16%20Q%2010%2025.13%2018%2024.16%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.54%22%2F%3E%3Cpath%20d%3D%22M%202%2033.92%20Q%2010%2035.05%2018%2033.92%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%222.79%22%2F%3E%3Cpath%20d%3D%22M%202%2032.53%20Q%2010%2033.66%2018%2032.53%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.63%22%2F%3E%3Cpath%20d%3D%22M%202%2043.74%20Q%2010%2045.01%2018%2043.74%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%222.97%22%2F%3E%3Cpath%20d%3D%22M%202%2042.17%20Q%2010%2043.44%2018%2042.17%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.71%22%2F%3E%3Cpath%20d%3D%22M%202%2054.67%20Q%2010%2056.07%2018%2054.67%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%223.13%22%2F%3E%3Cpath%20d%3D%22M%202%2052.94%20Q%2010%2054.34%2018%2052.94%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.78%22%2F%3E%3Cpath%20d%3D%22M%202%2066.56%20Q%2010%2068.06%2018%2066.56%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%223.26%22%2F%3E%3Cpath%20d%3D%22M%202%2064.70%20Q%2010%2066.20%2018%2064.70%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.84%22%2F%3E%3Cpath%20d%3D%22M%202%2079.22%20Q%2010%2080.81%2018%2079.22%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%223.36%22%2F%3E%3Cpath%20d%3D%22M%202%2077.26%20Q%2010%2078.85%2018%2077.26%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.88%22%2F%3E%3Cpath%20d%3D%22M%202%2092.48%20Q%2010%2094.13%2018%2092.48%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%223.44%22%2F%3E%3Cpath%20d%3D%22M%202%2090.44%20Q%2010%2092.09%2018%2090.44%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.92%22%2F%3E%3Cpath%20d%3D%22M%202%20106.14%20Q%2010%20107.83%2018%20106.14%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%223.48%22%2F%3E%3Cpath%20d%3D%22M%202%20104.05%20Q%2010%20105.74%2018%20104.05%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.94%22%2F%3E%3Cpath%20d%3D%22M%202%20120.00%20Q%2010%20121.70%2018%20120.00%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%223.50%22%2F%3E%3Cpath%20d%3D%22M%202%20117.90%20Q%2010%20119.60%2018%20117.90%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.95%22%2F%3E%3Cpath%20d%3D%22M%202%20133.86%20Q%2010%20135.55%2018%20133.86%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%223.48%22%2F%3E%3Cpath%20d%3D%22M%202%20131.78%20Q%2010%20133.46%2018%20131.78%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.94%22%2F%3E%3Cpath%20d%3D%22M%202%20147.52%20Q%2010%20149.17%2018%20147.52%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%223.44%22%2F%3E%3Cpath%20d%3D%22M%202%20145.48%20Q%2010%20147.13%2018%20145.48%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.92%22%2F%3E%3Cpath%20d%3D%22M%202%20160.78%20Q%2010%20162.37%2018%20160.78%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%223.36%22%2F%3E%3Cpath%20d%3D%22M%202%20158.82%20Q%2010%20160.41%2018%20158.82%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.88%22%2F%3E%3Cpath%20d%3D%22M%202%20173.44%20Q%2010%20174.95%2018%20173.44%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%223.26%22%2F%3E%3Cpath%20d%3D%22M%202%20171.58%20Q%2010%20173.09%2018%20171.58%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.84%22%2F%3E%3Cpath%20d%3D%22M%202%20185.33%20Q%2010%20186.73%2018%20185.33%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%223.13%22%2F%3E%3Cpath%20d%3D%22M%202%20183.60%20Q%2010%20185.00%2018%20183.60%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.78%22%2F%3E%3Cpath%20d%3D%22M%202%20196.26%20Q%2010%20197.53%2018%20196.26%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%222.97%22%2F%3E%3Cpath%20d%3D%22M%202%20194.69%20Q%2010%20195.96%2018%20194.69%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.71%22%2F%3E%3Cpath%20d%3D%22M%202%20206.08%20Q%2010%20207.21%2018%20206.08%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%222.79%22%2F%3E%3Cpath%20d%3D%22M%202%20204.69%20Q%2010%20205.81%2018%20204.69%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.63%22%2F%3E%3Cpath%20d%3D%22M%202%20214.64%20Q%2010%20215.61%2018%20214.64%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%222.59%22%2F%3E%3Cpath%20d%3D%22M%202%20213.45%20Q%2010%20214.42%2018%20213.45%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.54%22%2F%3E%3Cpath%20d%3D%22M%202%20221.83%20Q%2010%20222.62%2018%20221.83%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%222.38%22%2F%3E%3Cpath%20d%3D%22M%202%20220.85%20Q%2010%20221.64%2018%20220.85%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.45%22%2F%3E%3Cpath%20d%3D%22M%202%20227.53%20Q%2010%20228.13%2018%20227.53%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%222.14%22%2F%3E%3Cpath%20d%3D%22M%202%20226.78%20Q%2010%20227.39%2018%20226.78%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.45%22%2F%3E%3Cpath%20d%3D%22M%202%20231.66%20Q%2010%20232.07%2018%20231.66%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%221.90%22%2F%3E%3Cpath%20d%3D%22M%202%20231.16%20Q%2010%20231.56%2018%20231.16%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.45%22%2F%3E%3Cpath%20d%3D%22M%202%20234.16%20Q%2010%20234.37%2018%20234.16%22%20fill%3D%22none%22%20stroke%3D%22%230b1116%22%20stroke-width%3D%221.90%22%2F%3E%3Cpath%20d%3D%22M%202%20233.66%20Q%2010%20233.87%2018%20233.66%22%20fill%3D%22none%22%20stroke%3D%22%239aa8b0%22%20stroke-opacity%3D%22.75%22%20stroke-width%3D%220.45%22%2F%3E%3Cpath%20d%3D%22M%2018%207%20Q%2023%20120%2018%20233%22%20fill%3D%22none%22%20stroke%3D%22%23a3b1b9%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.9%22%2F%3E%3Crect%20width%3D%2224%22%20height%3D%22240%22%20fill%3D%22url(%23shade)%22%2F%3E%3C%2Fsvg%3E") center / 100% 100% no-repeat; box-shadow:none; }

.player-shell .player-zoom-icon { width:20px; height:20px; display:block; margin:auto; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.player-shell.player-smartphone .player-position-zoom,
.player-shell.player-smartphone .player-zooms { display:none; }

.player-version-scroll-rail::before { display:none; }
.player-trim-wheel { position:absolute; inset:3px 2px; width:calc(100% - 4px); height:calc(100% - 6px); pointer-events:none; }

.player-shell .player-scroll .player-correction-author,
.player-shell .player-scroll .player-correction-marker.is-horizontal-correction .player-correction-author,
.player-shell .player-peer-cursor > span { min-width:12px; height:10px; box-sizing:border-box; padding:0 1px; font-size:8px; line-height:10px; text-align:center; }
.player-shell .player-recent-corrections .player-author-badge { min-width:18px; padding:1px 3px; border-radius:3px; font-size:10px; line-height:12px; }

.player-shell.player-trim-gesture, .player-shell.player-trim-gesture * { touch-action:none !important; }

/* Smartphone transport: one compact, frameless command row. */
.player-shell.player-smartphone .player-transport::before,
.player-shell.player-smartphone .player-transport::after { content:none; display:none; }
.player-shell.player-smartphone .player-heading > .player-transport {
  order:-1; flex:0 0 100%; width:100%; max-width:100%; min-width:0;
  border:0; border-radius:0; box-shadow:none; background:none; padding:0; margin:0;
}
.player-shell.player-smartphone .player-transport-buttons {
  display:flex; flex-wrap:nowrap; width:100%; gap:2px; align-items:center; justify-content:flex-start;
}
.player-shell.player-smartphone .player-transport-buttons > button {
  flex:0 1 var(--phone-button-width,28px); min-width:18px; width:var(--phone-button-width,28px);
}
.player-shell.player-smartphone .player-transport-buttons > [data-player-toggle] { flex-basis:34px; min-width:28px; width:34px; }
.player-shell.player-smartphone .player-transport-buttons .player-rates { display:flex; flex-shrink:1; gap:1px; padding:0; margin:0; border:0; }
.player-shell.player-smartphone .player-transport .player-rates button { min-width:17px; width:20px; flex-shrink:1; }
.player-shell.player-smartphone .player-transport-divider { display:none; }
.player-shell.player-smartphone .player-transport-buttons > .player-settings { flex:0 0 25px; margin:0 0 0 auto; padding:0; }
.player-shell.player-smartphone .player-transport-buttons > .player-settings > summary,
.player-shell.player-smartphone .player-transport-buttons > .player-close-icon {
  box-sizing:border-box; width:25px; min-width:25px; height:28px; min-height:28px; padding:4px; margin:0; flex:0 0 25px;
}
.player-shell.player-smartphone .player-transport-buttons > .player-close-icon { display:grid; place-items:center; }
.player-shell.player-smartphone .player-settings[open] .player-settings-content { position:fixed; top:40px; right:6px; left:6px; width:auto; max-height:calc(100dvh - 52px); overflow:auto; z-index:500; }
.player-shell.player-smartphone .player-heading-side:has(> .player-logo-frame:only-child) { display:none; }

/* Compact, non-overlapping correction cards on smartphones. */
.player-shell.player-smartphone { --correction-caption-width:104px; }
.player-shell .player-recent-corrections .correction-track-disc,.player-shell [data-correction-track].correction-track-disc { position:relative; display:inline-block; text-align:center; vertical-align:middle; padding:0; letter-spacing:0; text-indent:0; flex:none; place-items:center; box-sizing:border-box; width:20px; height:20px; border-radius:50%; font:800 14px/20px Arial,sans-serif; isolation: isolate; border: 0; background: conic-gradient(from -20deg,#c1bacf 0deg,#f9fafb 42deg,#a4a7ac 78deg,#edf0f2 116deg,#b7d9cc 137deg,#d9c2e8 152deg,#d8e9a2 168deg,#fff 194deg,#aeb1b6 236deg,#eee9dd 263deg,#d5b9d9 281deg,#b0d9ef 299deg,#c6e6ac 318deg,#c1bacf 360deg); box-shadow: none; color: #152534; font-size: 14px; text-shadow: 0 0 2px #fff,0 0 3px #fff; }
.player-shell .player-recent-corrections .correction-track-disc::before,.player-shell [data-correction-track].correction-track-disc::before { content: ''; position: absolute; inset: 29%; border: 2px solid #8d969bab; border-radius: 50%; background: #e9eef2ed; z-index: -1; box-shadow: 0 0 0 2px #c4c9cca6; }
.player-shell .player-recent-corrections .correction-time-pair { display:flex; flex-wrap:nowrap; align-items:center; gap:3px; white-space:nowrap; }
.player-shell .player-recent-corrections .correction-time-pair > .correction-timecode { flex:none; }
.player-shell:not(.player-smartphone) .player-recent-corrections li.has-review-controls { grid-template-columns:var(--correction-caption-width,228px) minmax(0,1fr) auto auto; }
.player-shell:not(.player-smartphone) .player-recent-corrections .player-correction-select { grid-template-columns:var(--correction-caption-width,228px) minmax(0,1fr) auto; }
.player-shell.player-smartphone .player-recent-corrections .correction-milliseconds { display:none; }
.player-shell.player-smartphone .player-recent-corrections .correction-timecode {
  font-size:13px; line-height:16px; letter-spacing:0; padding:0 2px; max-width:100%; box-sizing:border-box;
}
.player-shell.player-smartphone .player-recent-corrections .player-correction-select > span:first-child:has(.correction-timecode ~ .correction-timecode) .correction-timecode {
  font-size:13px; line-height:16px; letter-spacing:0; padding:0 2px; max-width:100%; box-sizing:border-box;
}
.player-shell.player-smartphone .player-recent-corrections li {
  height:auto; min-height:0; max-height:none; padding:2px 5px; gap:1px 4px;
  grid-template-columns:var(--correction-caption-width) minmax(0,1fr) auto auto; grid-template-rows:auto;
}
.player-shell.player-smartphone .player-recent-corrections li.has-review-controls {
  grid-template-columns:var(--correction-caption-width) minmax(0,1fr) auto auto; grid-template-rows:auto auto auto auto;
}
.player-shell.player-smartphone .player-recent-corrections li .player-correction-select > span:first-child { min-width:0; overflow-wrap:anywhere; }
.player-shell.player-smartphone .player-recent-corrections li .player-correction-text { min-width:0; padding:1px 3px; font-size:11px; line-height:1.3; overflow-wrap:anywhere; }
.player-shell.player-smartphone .player-recent-corrections ol { gap:2px; }
.player-shell.player-smartphone .player-correction-text small { margin-top:1px; }
.player-shell.player-smartphone .player-correction-text small:empty { display:none; }
.player-shell.player-smartphone .player-recent-corrections li button[data-edit-correction],
.player-shell.player-smartphone .player-recent-corrections li button[data-delete-correction] { width:auto; min-width:24px; height:26px; min-height:26px; padding:3px; font-size:10px; margin:0; }
.player-shell.player-smartphone .player-review-controls select { grid-column:1/3; grid-row:2; min-width:0; width:100%; max-width:100%; }
.player-shell.player-smartphone .player-review-controls textarea { grid-column:1/-1; grid-row:3; width:100%; min-width:0; height:auto; min-height:32px; box-sizing:border-box; font-size:11px; }
.player-shell.player-smartphone .player-review-actions-compact { grid-column:3/5; grid-row:2; gap:3px; }
.player-shell .player-recent-corrections .player-review-actions-compact { display:contents; }
.player-shell .player-review-actions-compact::before { content:''; grid-column:3/5; grid-row:1/3; align-self:stretch; justify-self:stretch; margin:-2px; border:1px solid #ffffff18; border-radius:4px; background:color-mix(in srgb,var(--correction-actions-tint,#77818b) 22%,#252c32); box-shadow:inset 0 1px 3px #0003; pointer-events:none; z-index:0; }
.player-shell .player-review-actions-compact > .player-review-top-actions,
.player-shell .player-review-actions-compact > [data-review-verdict] { position:relative; z-index:1; }
.player-shell .player-recent-corrections li[data-review-state="done"] .player-review-actions-compact { --correction-actions-tint:#5f886c; }
.player-shell .player-recent-corrections li[data-review-state="rejected"] .player-review-actions-compact { --correction-actions-tint:#966461; }
.player-shell .player-recent-corrections li:is([data-review-state="discuss"],[data-review-state="improved_not_optimal"],[data-review-state="no_better"],[data-review-state="partial_limit"]) .player-review-actions-compact { --correction-actions-tint:#a18b65; }
.player-shell .player-review-actions-compact > .player-review-top-actions { grid-column:3/5; grid-row:1; justify-self:end; align-self:end; display:grid; grid-template-columns:repeat(3,28px); align-items:center; justify-items:center; box-sizing:border-box; width:86px; padding:0 1px; }
.player-shell .player-review-actions-compact > [data-review-verdict] { grid-column:3/5; grid-row:2; justify-self:end; }
.player-shell .player-recent-corrections .player-review-top-actions > .player-author-badge { grid-column:1; grid-row:1; justify-self:center; min-width:0; max-width:28px; padding:1px 2px; font-size:9px; overflow:hidden; text-overflow:ellipsis; }
.player-shell .player-recent-corrections .player-review-actions-compact .player-review-top-actions > button[type="button"] { grid-row:1; width:20px; min-width:20px; height:20px; min-height:20px; margin:0; padding:2px; border-radius:3px; font-size:11px; }
.player-shell .player-review-top-actions > [data-edit-correction] { grid-column:2; }
.player-shell .player-review-top-actions > [data-delete-correction] { grid-column:3; }
.player-shell .player-review-top-actions > [data-edit-correction] svg { width:14px; height:14px; }
.player-shell.player-smartphone .player-review-controls [data-review-message] { grid-column:1/-1; grid-row:4; }
.player-shell.player-smartphone .player-review-controls [data-review-retry] { grid-column:1/-1; grid-row:5; }
.player-shell.player-smartphone .player-recent-corrections li:not(.has-review-controls) .player-correction-select { display:grid; grid-column:1/3; grid-row:1; grid-template-columns:var(--correction-caption-width) minmax(0,1fr); gap:3px; padding:0; min-width:0; }
.player-shell.player-smartphone .player-recent-corrections li:not(.has-review-controls) .player-author-badge { grid-column:2; }

/* Keep a real grid button on phones: :has support does not guarantee
   consistent display:contents layout for native buttons on Android. */
  .player-shell.player-smartphone .player-recent-corrections li.has-review-controls .player-correction-select {
    display:grid; grid-column:1/3; grid-row:1;
    grid-template-columns:var(--correction-caption-width) minmax(0,1fr); gap:4px;
    min-width:0; width:100%; max-width:none; padding:0;
  }
  .player-shell.player-smartphone .player-recent-corrections li.has-review-controls .player-correction-select .player-correction-text {
    width:auto; max-width:none; white-space:normal; word-break:normal;
  }
.player-shell .player-recent-corrections li button.player-edit-icon,
.player-shell.player-smartphone .player-recent-corrections li button.player-edit-icon { display:grid; place-items:center; width:26px; min-width:26px; height:26px; min-height:26px; padding:4px; border-radius:3px; }
.player-edit-icon svg { display:block; width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.player-shell.player-smartphone .player-work-counter,
.player-shell.player-smartphone .player-work-settings { display:none; }

.player-shell .player-correction.is-old-version > :not(.player-recent-corrections):not(.player-message) { display:none; }
.player-shell .player-correction.is-old-version { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; }
.player-shell .player-correction.is-old-version > .player-recent-corrections { grid-column:1; grid-row:1; border-top:0; padding-top:0; }
.player-shell .player-correction.is-old-version > .player-message { grid-column:1; grid-row:2; }

/* Matching settings and close buttons after moving them into the phone transport. */
.player-shell.player-smartphone .player-transport-buttons > .player-settings > summary,
.player-shell.player-smartphone .player-transport-buttons > .player-close-icon {
  display:grid; place-items:center; box-sizing:border-box;
  width:28px; min-width:28px; height:28px; min-height:28px; flex-basis:28px;
  padding:5px; margin:0; border:1px solid #718595; border-radius:3px;
  background:linear-gradient(#526572,#344650); color:#e5edf1;
  box-shadow:inset 0 1px 0 #aebfc044,0 1px 2px #0004;
  line-height:1; text-decoration:none; list-style:none; cursor:pointer;
}
.player-shell.player-smartphone .player-transport-buttons > .player-settings { flex-basis:28px; }
.player-shell.player-smartphone .player-transport-buttons > .player-settings > summary::-webkit-details-marker { display:none; }
.player-shell.player-smartphone .player-transport-buttons > .player-settings > summary svg,
.player-shell.player-smartphone .player-transport-buttons > .player-close-icon svg { display:block; width:16px; height:16px; margin:0; }

.player-shell.player-smartphone .player-scroll { padding-left:2px; padding-right:2px; }
.player-shell.player-smartphone > .player-position-bar { display:none; }
.player-shell.player-smartphone > .player-scroll { padding-bottom:0; }

/* Rounded waveform relief with lighter, closer separators. */
.player-shell .player-scroll > .player-version { border-width:1px; margin-bottom:1px; }
.player-shell .player-scroll > .player-version.selected { box-shadow:none; }
.player-shell .player-scroll .player-track-disc::after { width:1px; }
.player-shell .player-scroll .player-track::before {
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  opacity:1; transition:none; border-radius:4px;
  background:linear-gradient(180deg,#0006 0%,#ffffff16 8%,#ffffff0c 24%,transparent 45%,#00000008 62%,#0003 88%,#0007 100%);
  box-shadow:inset 0 1px 0 #d5e2e33b,inset 0 -1px 0 #0009;
}

.player-shell.player-smartphone .player-transport-buttons > .player-meter {
  box-sizing:border-box; display:flex; align-self:center; align-items:stretch; gap:2px; flex:0 0 28px;
  width:28px; min-width:28px; height:28px; min-height:28px; padding:3px; margin:0;
  border:1px solid #718595; border-radius:3px; cursor:pointer; touch-action:manipulation;
}
.player-shell.player-smartphone .player-meter .player-volume,
.player-shell.player-smartphone .player-meter .player-meter-scale,
.player-shell.player-smartphone .player-meter-row > span,
.player-shell.player-smartphone .player-meter-row > small,
.player-shell.player-smartphone .player-meter-reduction > span { display:none; }
.player-shell.player-smartphone .player-meter .player-meter-row,
.player-shell.player-smartphone .player-meter .player-meter-reduction {
  display:flex; flex:1 1 0; width:auto; min-width:0; height:100%; gap:0; margin:0; padding:0; pointer-events:none;
}
.player-shell.player-smartphone .player-meter .player-meter-row .player-meter-track,
.player-shell.player-smartphone .player-meter .player-meter-reduction .player-meter-track { width:100%; height:100%; min-height:0; border:0; border-radius:0; }
.player-shell.player-smartphone .player-meter[aria-pressed="true"] { border-color:#718595; box-shadow:inset 2px 3px 5px #0009,inset -1px -1px 1px #c2d1dc20; }
/* Smartphone : LED six fois plus fines, sur les trois colonnes. */
.player-shell.player-smartphone[data-layout] .player-meter .player-meter-row .player-meter-track {
  background:repeating-linear-gradient(0deg,transparent 0 0.175px,#18212780 0.175px 0.25px),linear-gradient(0deg,#263d32 0%,#303e2b 55%,#403b25 55%,#422c2b 98.75%);
  box-shadow:none;
}
.player-shell.player-smartphone[data-layout] .player-meter .player-meter-fill {
  background:repeating-linear-gradient(0deg,transparent 0 0.175px,#20372a80 0.175px 0.25px),linear-gradient(0deg,#64cc83 0%,#b6d767 55%,#efc35c 55%,#eaa047 98.75%,#ec6253 98.75%);
  box-shadow:none;
}
.player-shell.player-smartphone[data-layout] .player-meter .player-meter-reduction-fill {
  background:repeating-linear-gradient(0deg,transparent 0 0.175px,#45321c80 0.175px 0.25px),linear-gradient(180deg,#eac277,#e59a45 65%,#e67f50);
  box-shadow:none;
}
.player-shell.player-smartphone[data-layout] .player-meter .player-meter-peak { height:.5px; transform:none; box-shadow:none; }

.player-shell:not(.player-smartphone) .player-clock-transport { gap:8px; }
.player-shell:not(.player-smartphone) .player-clock-transport > .player-transport { flex:1 1 auto; max-width:none; }
.player-shell:not(.player-smartphone) .player-clock-transport > .player-logo-frame {
  display:grid; place-items:center; box-sizing:border-box; flex:0 0 auto;
  height:var(--player-transport-frame-height,90px); width:calc((var(--player-transport-frame-height,90px) - 8px) * var(--player-logo-ratio,1.55) + 8px); min-width:0; max-width:none; overflow:hidden;
  padding:3px; margin:0; border:1px solid; border-color:#17222b #60717e #71828e #24313c;
  border-radius:2px; background:linear-gradient(180deg,#27343f,#34434f);
  box-shadow:inset 2px 3px 5px #080e16a6,inset -1px -1px 1px #a6b9c31f;
}
.player-shell:not(.player-smartphone) .player-clock-transport > .player-logo-frame img { width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; margin:0; transform:none; }

/* Archived headers are labels, not a transparent hit target over the waveform. */
.player-shell .player-scroll .player-version.old > header,
.player-shell .player-scroll .player-version.old .player-track-label { pointer-events:none; }
.player-shell .player-scroll .player-version.old > header button { pointer-events:auto; }

/* Smartphone: enlarged playback and a single full-width title/format row. */
.player-quality-control { display:contents; }
.player-shell .player-heading-side .player-media-button { display:grid; place-items:center; box-sizing:border-box; width:28px; height:28px; min-width:28px; padding:4px; flex:0 0 28px; border:1px solid #718595; border-radius:3px; background:linear-gradient(#526572,#344650); color:#e5edf1; }
.player-media-button svg { display:block; width:18px; height:18px; }
.player-media-button[data-source="local"] { color:#b5d7aa!important; }
.player-media-button[data-source="streaming"][data-availability="available"] svg { color:#71c47c; }
.player-media-button[data-source="streaming"][data-availability="unavailable"] svg { color:#ed5656; }
.player-media-button[data-source="streaming"][data-availability="retrying"] svg { color:#efa348; animation:player-media-unavailable-blink 1s ease-in-out infinite; }
@keyframes player-media-unavailable-blink { 0%,100% { opacity:1; } 50% { opacity:.25; } }
.player-shell.player-smartphone .player-heading-title { position:relative; order:-2; flex:1 1 100%; width:100%; padding-right:62px; box-sizing:border-box; }
.player-shell.player-smartphone .player-phone-title-actions { position:absolute; top:0; right:0; display:flex; align-items:center; gap:2px; height:18px; }
.player-shell.player-smartphone .player-phone-title-actions > .player-settings { margin:0; padding:0; flex:0 0 18px; }
.player-shell.player-smartphone .player-phone-title-actions :is(.player-media-button,.player-close-icon,.player-settings > summary) { position:static; display:grid; place-items:center; box-sizing:border-box; width:18px; min-width:18px; height:18px; min-height:18px; padding:1px; margin:0; border:0; border-radius:2px; background:transparent; color:#a0b7c5; line-height:1; font-size:14px; }
.player-shell.player-smartphone .player-phone-title-actions summary::-webkit-details-marker { display:none; }
.player-shell.player-smartphone .player-phone-title-actions :is(.player-media-button,.player-close-icon,.player-settings > summary) svg { display:block; width:14px; height:14px; }
.player-shell.player-smartphone .player-heading-title > .eyebrow { min-height:18px; line-height:18px; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.player-media-dialog { box-sizing:border-box; width:min(700px,calc(100vw - 20px)); max-height:85dvh; padding:14px; overflow:auto; border:1px solid #718595; border-radius:8px; background:#293943; color:#e5edf1; }
.player-media-dialog::backdrop { background:#0008; }
.player-media-dialog header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.player-media-dialog h2 { font-size:18px; margin:0; }
.player-media-tabs,.player-media-actions { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0; }
.player-media-tabs [aria-pressed="true"] { outline:2px solid #85b9d2; }
.player-media-row { padding:10px 0; border-bottom:1px solid #718595; overflow-wrap:anywhere; }
.player-media-row > span { font-size:13px; }
.player-media-dialog .button { min-height:32px; padding:5px 9px; font-size:12px; }
.player-media-note { font-size:12px; color:#b4c6d2; }
.player-shell.player-smartphone > .player-correction:not(.is-old-version) { grid-template-columns:max-content minmax(0,1fr) 30px 26px; grid-template-rows:auto auto minmax(0,1fr) auto; gap:3px; padding:4px 3px 4px 1px; align-items:start; }
.player-shell.player-smartphone .player-correction > div.player-phone-correction-location { grid-column:1; grid-row:1; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:2px; white-space:nowrap; box-sizing:border-box; height:30px; min-width:0; padding:0; border:0; background:none; color:#efc582; }
.player-shell.player-smartphone .player-phone-correction-location [data-correction-track] { display:grid; place-items:center; box-sizing:border-box; min-width:18px; height:24px; padding:0 1px; border:1px solid #647682; border-radius:3px; background:#101920; font:600 12px/1 Arial,sans-serif; }
.player-shell.player-smartphone .player-phone-correction-location [data-correction-time] { display:block; width:auto; min-width:0; margin:0; padding:0; border:0; background:none; color:#e5eaf0; font:600 13px/1.2 'Arial Narrow',Arial,sans-serif; font-stretch:condensed; font-variant-numeric:tabular-nums; letter-spacing:-.3px; }
.player-shell.player-smartphone .player-correction > .player-voice-field { grid-column:2; grid-row:1; min-width:0; }
.player-shell.player-smartphone .player-correction > .player-voice-field textarea { position:absolute; top:0; left:0; box-sizing:border-box; width:calc(100% * 16 / 11); min-height:calc(30px * 16 / 11); height:calc(30px * 16 / 11); margin:0; padding:calc(6px * 16 / 11) calc(5px * 16 / 11); resize:none; white-space:nowrap; overflow:hidden; font-size:16px; line-height:calc(16px * 16 / 11); transform:scale(.6875); transform-origin:top left; }
.player-shell.player-smartphone .player-correction.is-phone-editing > .player-voice-field textarea { white-space:pre-wrap; overflow:auto; padding-right:calc(32px * 16 / 11); }
.player-shell.player-smartphone .player-correction > .player-voice-field > button { top:3px; right:3px; box-sizing:border-box; width:24px; min-width:24px; height:24px; min-height:24px; margin:0; padding:0; display:grid; place-items:center; border-radius:3px; font-size:16px; line-height:1; }
.player-shell.player-smartphone .player-correction > .player-voice-field > [data-dictation-language] { top:2px; right:30px; }
.player-shell.player-smartphone .player-correction.is-phone-editing > .player-voice-field:has([data-dictation-language]) textarea { padding-right:calc(84px * 16 / 11); }
.player-shell.player-smartphone .player-correction.is-phone-editing > .player-voice-field:not(.has-player-dictation) textarea { padding-right:calc(5px * 16 / 11); }
.player-shell .player-voice-field > button[hidden] { display:none; }
.player-shell.player-smartphone .player-review-controls textarea:focus,
.player-shell.player-smartphone .player-edit-correction textarea { font-size:16px; }
.player-shell.player-smartphone .player-correction:not(.is-phone-editing) > .player-voice-field > :not(textarea) { display:none; }
.player-shell.player-smartphone .player-correction > button[type="submit"],
.player-shell.player-smartphone .player-correction > .player-collapse-correction { display:grid; place-items:center; box-sizing:border-box; padding:3px; margin:0; min-height:30px; height:30px; width:30px; min-width:30px; border:1px solid #718595; border-radius:3px; background:linear-gradient(#526572,#344650); color:#e5edf1; }
.player-shell.player-smartphone .player-correction > button[type="submit"] { grid-column:3; grid-row:1; }
.player-shell.player-smartphone .player-correction > .player-collapse-correction { grid-column:4; grid-row:1; width:26px; min-width:26px; }
.player-shell[data-layout] .player-correction > button[type="submit"],
.player-shell.player-smartphone .player-correction > button[type="submit"] { display:grid; place-items:center; align-self:start; width:30px; min-width:30px; height:30px; min-height:30px; padding:4px; border:1px solid #ba8443; border-radius:3px; background:#cc924b; color:#251b10; box-shadow:none; }
.player-shell[data-layout] .player-correction > button[type="submit"]:disabled,
.player-shell.player-smartphone .player-correction > button[type="submit"]:disabled { background:#53616b; border-color:#71808b; color:#aeb8bf; opacity:1; cursor:default; }
.player-shell .player-correction > button[type="submit"] > svg,
.player-shell.player-smartphone .player-correction > button > svg { width:20px; height:20px; }
.player-shell.player-smartphone .player-correction > .player-voice-tools { grid-column:1/-1; grid-row:2; }
.player-shell.player-smartphone .player-correction > div.player-selection-hint { grid-column:1/-1; grid-row:2; }
.player-shell.player-smartphone .player-correction:has(.player-selection-hint:not([hidden])) > .player-voice-tools { grid-row:4; }
.player-shell.player-smartphone .player-correction > .player-recent-corrections { grid-row:3; padding-top:3px; }
.player-shell.player-smartphone .player-correction > .player-message { grid-column:1/-1; grid-row:5; margin:0; }
.player-shell.player-smartphone .player-correction > .player-message:empty { display:none; }
.player-shell.player-smartphone .player-correction.is-phone-collapsed:not(.is-old-version) > :is(.player-phone-correction-location,.player-voice-field,.player-voice-tools,.player-selection-hint,button[type="submit"]) { display:none; }
.player-shell.player-smartphone > .player-correction.is-phone-collapsed:not(.is-old-version) { position:relative; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; padding-top:0; border-top:0; border-top-left-radius:0; border-top-right-radius:0; }
.player-shell.player-smartphone .player-correction.is-phone-collapsed:not(.is-old-version) > .player-recent-corrections { grid-column:1; grid-row:1; border-top:0; padding-top:0; }
.player-shell.player-smartphone .player-correction.is-phone-collapsed:not(.is-old-version) > .player-collapse-correction { position:absolute; top:2px; right:3px; width:22px; min-width:22px; height:18px; min-height:18px; padding:0; z-index:5; }
.player-shell.player-smartphone .player-correction.is-phone-collapsed:not(.is-old-version) > .player-recent-corrections { padding-right:0; }
.player-shell.player-smartphone .player-correction.is-phone-collapsed:not(.is-old-version) > .player-message { grid-row:2; }
.player-shell.player-smartphone > .player-correction { height:var(--correction-height,var(--phone-correction-height,280px)); }
.player-shell.player-smartphone > .player-correction { border-top-left-radius:2px; border-top-right-radius:2px; }
.player-shell.player-smartphone > .player-correction-resizer { position:relative; flex-basis:5px; height:5px; min-height:5px; padding:0; margin:0; z-index:36; }
.player-shell.player-smartphone > .player-correction-resizer > .player-collapse-correction { position:absolute; bottom:0; right:3px; display:grid; place-items:center; box-sizing:border-box; width:22px; min-width:22px; height:18px; min-height:18px; padding:0; border:1px solid #718595; border-radius:3px; background:#344650; color:#e5edf1; cursor:pointer; }
.player-shell.player-smartphone > .player-correction-resizer > .player-collapse-correction svg { width:16px; height:16px; transform:rotate(180deg); }
.player-shell.player-smartphone > .player-correction-resizer:has(+ .is-phone-collapsed:not(.is-old-version)) { flex-basis:0; height:0; min-height:0; padding:0; margin:0; border:0; background:none; overflow:visible; }
.player-shell.player-smartphone > .player-correction-resizer::before { content:''; position:absolute; left:0; right:0; top:50%; height:16px; transform:translateY(-50%); background:transparent; cursor:ns-resize; touch-action:none; }
.player-shell.player-smartphone > .player-correction-resizer > .player-collapse-correction { z-index:1; }
.player-shell.player-smartphone > .player-collapse-correction.is-reopen-overlay { position:absolute; z-index:120; display:grid; place-items:center; box-sizing:border-box; width:22px; min-width:22px; height:18px; min-height:18px; margin:0; padding:0; border:1px solid #718595; border-radius:3px; background:#344650; color:#e5edf1; cursor:pointer; touch-action:manipulation; }
.player-shell.player-smartphone > .player-collapse-correction.is-reopen-overlay svg { width:16px; height:16px; transform:rotate(180deg); }
.player-shell.player-smartphone > .player-correction-resizer:has(+ .is-phone-collapsed:not(.is-old-version))::after { display:none; }
.player-shell.player-smartphone > .player-correction-resizer:has(+ .is-old-version) > .player-collapse-correction { display:none; }
.player-shell.player-smartphone > .player-correction-resizer::after { height:2px; }
.player-shell.player-smartphone .player-correction.is-phone-collapsed .player-collapse-correction svg { transform:rotate(180deg); }
.player-shell.player-smartphone .player-correction.is-old-version > :not(.player-recent-corrections):not(.player-message) { display:none; }
.player-shell.player-smartphone .player-correction.is-old-version > .player-recent-corrections { grid-column:1; grid-row:1; }
.player-shell.player-smartphone .player-correction.is-old-version > .player-message { grid-column:1; grid-row:2; }
.player-quality-badge { display:none; }
.player-shell.player-smartphone > .player-heading { padding:2px; display:grid; grid-template-columns:minmax(0,1fr); }
.player-shell.player-smartphone > .player-heading > .player-heading-title { grid-column:1; grid-row:1; }
.player-shell.player-smartphone > .player-heading > .player-transport { grid-column:1; grid-row:2; }
.player-shell.player-smartphone .player-transport .player-rates button[data-player-rate] { width:20px; min-width:17px; }
.player-shell.player-smartphone .player-heading > .player-transport {
  display:flex; flex-direction:column; align-items:stretch; width:100%; max-width:none;
  row-gap:2px; column-gap:0; padding:0; justify-self:stretch; justify-content:flex-start;
}
.player-shell.player-smartphone .player-transport > .player-transport-buttons { grid-column:1/-1; justify-self:stretch; justify-content:flex-start; margin-left:0; margin-right:0; }
.player-shell.player-smartphone .player-transport-buttons > [data-player-toggle] {
  flex:0 0 58px; width:58px; min-width:58px; height:38px; min-height:38px; gap:3px;
}
.player-shell.player-smartphone .player-transport-buttons > [data-player-toggle] > svg { width:23px; height:26px; }
.player-shell.player-smartphone .player-title-row { grid-column:1/-1; align-self:stretch; flex:none; width:100%; max-width:none; box-sizing:border-box; gap:3px; }
.player-shell.player-smartphone .player-title-row .player-current-track { height:24px; min-height:24px; padding:1px 5px; }
.player-shell.player-smartphone .player-track-display-viewport { height:18px; min-height:0; }
.player-shell.player-smartphone .player-track-display-viewport .player-track-matrix {
  display:block; width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; overflow-wrap:normal;
  line-height:18px!important;
}
.player-shell.player-smartphone .player-quality-control { position:relative; display:block; flex:0 0 46px; width:46px; height:24px; }
.player-shell.player-smartphone .player-quality-control .player-audio-quality {
  position:absolute; inset:0; width:100%; min-width:0; height:100%; margin:0; opacity:0; z-index:1; cursor:pointer;
}
.player-shell.player-smartphone .player-quality-badge {
  display:grid; place-items:center; box-sizing:border-box; width:100%; height:100%;
  border:1px solid #718595; border-radius:4px; background:#19252d; color:#efc582; font:700 11px/1 system-ui;
}
.player-shell.player-smartphone .player-quality-control:is([data-sample-rate="44100"],[data-sample-rate="48000"]) .player-quality-badge { background:#277fcb; color:#fff; border-color:#71b7f3; }
.player-shell.player-smartphone .player-quality-control:is([data-sample-rate="88200"],[data-sample-rate="96000"]) .player-quality-badge { background:#bc8a58; color:#21170f; border-color:#d0a67b; }
.player-shell.player-smartphone .player-quality-control:is([data-sample-rate="176400"],[data-sample-rate="192000"]) .player-quality-badge { background:#7855a6; color:#fff; border-color:#a88acb; }
.player-shell.player-smartphone .player-quality-control:focus-within .player-quality-badge { outline:2px solid #b9e4e5; outline-offset:1px; }
@media(max-width:350px) {
  .player-shell.player-smartphone .player-transport-buttons { gap:1px; }
  .player-shell.player-smartphone .player-transport-buttons > button:not([data-player-toggle]):not(.player-close-icon) { min-width:14px; }
  .player-shell.player-smartphone .player-transport .player-rates button[data-player-rate] { width:16px; min-width:14px; font-size:8px; }
  .player-shell.player-smartphone .player-transport-buttons > .player-meter { flex-basis:24px; width:24px; min-width:24px; }
  .player-shell.player-smartphone .player-transport-buttons > .player-settings { flex-basis:24px; }
  .player-shell.player-smartphone .player-transport-buttons > .player-settings > summary,
  .player-shell.player-smartphone .player-transport-buttons > .player-close-icon { flex-basis:24px; width:24px; min-width:24px; }
}

/* Use the space freed by moving phone settings and close into the title. */
.player-shell.player-smartphone .player-transport .player-rates button[data-player-rate="1"] { width:36px; min-width:36px; flex:0 0 36px; font-size:12px; }

/* Compressor: downward reduction and upward measured gain share the existing lane. */
.player-media-path { display:block; overflow-wrap:anywhere; opacity:.8; margin-top:3px; }
.player-shell:not(.player-smartphone) .player-meter .player-meter-scale { width:32px; flex:none; }
.player-shell:not(.player-smartphone) .player-meter-scale > span { display:flex; align-items:center; justify-content:space-between; gap:2px; white-space:nowrap; }
.player-shell:not(.player-smartphone) .player-meter-scale > span::after { content:''; flex:0 0 4px; height:1px; background:currentColor; }
.player-shell[data-layout] .player-meter .player-meter-reduction .player-meter-reduction-fill {
  inset:0;
  background:repeating-linear-gradient(0deg,transparent 0 1px,#48231c 1px 1.5px),linear-gradient(180deg,#ce6334,#bd402b);
}
.player-shell .player-meter-reduction .player-meter-boost-fill {
  position:absolute; inset:0; clip-path:inset(100% 0 0 0);
  background:repeating-linear-gradient(0deg,transparent 0 1px,#49321c 1px 1.5px),linear-gradient(0deg,#efad66,#ffd29a);
}
.player-shell.player-smartphone[data-layout] .player-meter .player-meter-reduction .player-meter-reduction-fill {
  background:repeating-linear-gradient(0deg,transparent 0 .175px,#48231c80 .175px .25px),linear-gradient(180deg,#ce6334,#bd402b);
}
.player-shell.player-smartphone[data-layout] .player-meter .player-meter-boost-fill {
  background:repeating-linear-gradient(0deg,transparent 0 .175px,#49321c80 .175px .25px),linear-gradient(0deg,#efad66,#ffd29a);
}

/* One media window: fixed compact tools and two scrollable file lists. */
.player-media-dialog[open] { display:flex; flex-direction:column; width:min(1000px,calc(100vw - 16px)); max-height:90dvh; padding:0; overflow:hidden; }
.player-media-dialog > header { flex:none; display:grid; grid-template-columns:1fr auto; gap:4px 8px; padding:6px 8px; border-bottom:1px solid #718595; }
.player-media-dialog h2 { font-size:14px; }
.player-media-dialog .button { min-height:26px; padding:3px 6px; font-size:11px; }
.player-media-folderbar { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; font-size:11px; min-width:0; }
.player-media-folderbar > span { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player-media-folderbar .player-media-actions { margin:0; gap:4px; }
.player-media-body { overflow:auto; min-height:0; padding:0 8px; }
.player-media-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.player-media-columns > section { min-width:0; }
.player-media-local { border-left:1px solid #718595; padding-left:12px; }
.player-media-columns h3 { display:flex; align-items:center; gap:5px; font-size:12px; margin:8px 0 3px; }
.player-media-columns h3 svg { width:17px; height:17px; flex:none; }
.player-media-columns > section > small { display:block; font-size:10px; color:#c1cfda; }
.player-media-row { padding:7px 0; }
.player-media-row > span { font-size:11px; }
.player-media-row .player-media-actions { margin:5px 0 0; gap:4px; }
.player-media-dialog .player-media-icon { display:inline-grid; place-items:center; width:28px; height:28px; min-width:28px; min-height:28px; padding:4px; border-radius:3px; }
.player-media-icon svg { width:18px; height:18px; }
.player-media-dialog .player-media-icon-local-delete { background:#216ba5; border-color:#528cbe; color:#fff; }
.player-media-dialog .player-media-icon-old-delete { background:#2b8753; border-color:#61ad7b; color:#fff; }
.player-media-dialog .player-media-icon-latest-delete { background:#bd3b3f; border-color:#e7797b; color:#fff; }
.player-media-cleanup { display:flex; flex-wrap:wrap; align-items:center; gap:4px; flex-basis:100%; }
.player-media-dialog .player-media-icon-server-delete { background:#ec242b; border-color:#ff6266; color:#fff; }
.player-media-dialog > [role="status"] { flex:none; margin:0; padding:3px 8px; font-size:11px; }
.player-media-dialog > [role="status"]:empty { display:none; }
@media(max-width:500px) {
  .player-media-columns { gap:6px; }
  .player-media-local { padding-left:6px; }
  .player-media-columns .player-media-path { font-size:9px; }
}

/* Keep media states visible over the player theme's generic button colors. */
.player-shell[data-layout] .player-media-dialog .player-media-icon-local-delete { background:#216ba5; border-color:#528cbe; color:#fff; }
.player-shell[data-layout] .player-media-dialog .player-media-icon-old-delete { background:#2b8753; border-color:#61ad7b; color:#fff; }
.player-shell[data-layout] .player-media-dialog .player-media-icon-latest-delete { background:#bd3b3f; border-color:#e7797b; color:#fff; }
.player-shell[data-layout] .player-media-dialog .player-media-icon-server-delete { background:#ec242b; border-color:#ff6266; color:#fff; }
.player-shell .player-media-dialog .player-media-icon-download.is-local:disabled { background:#4d555b; color:#929a9f; border-color:#616970; box-shadow:none; opacity:.65; cursor:default; }
.player-media-reel-cursor { display:none; position:fixed; z-index:10; width:26px; height:26px; margin:10px 0 0 12px; pointer-events:none; color:#ffd29a; filter:drop-shadow(0 1px 2px #000); }
.player-media-dialog.has-media-cursor .player-media-reel-cursor { display:block; }
.player-media-dialog.is-downloading,.player-media-dialog.is-downloading * { cursor:progress!important; }
.player-media-reel-cursor svg { display:block; width:100%; height:100%; }
.player-media-dialog.is-downloading .player-media-reel-cursor svg,
.player-media-dialog.is-downloading .player-media-heading-reel { animation:player-media-reel-spin 1s linear infinite; }
@keyframes player-media-reel-spin { to { transform:rotate(360deg); } }

/* Both sides share the same grid rows, including empty local cells. */
.player-media-columns { row-gap:0; }
.player-media-columns > section { display:contents; }
.player-media-server > * { grid-column:1; }
.player-media-local > * { grid-column:2; border-left:1px solid #718595; padding-left:12px; }
.player-media-columns > section > h3 { grid-row:1; }
.player-media-columns > section > small { grid-row:2; }
@media(max-width:500px) { .player-media-local > * { padding-left:6px; } }

.player-media-version-heading { margin:12px 0 0; padding:10px 6px; background:#dce7ed; color:#263d4a; border-top:2px solid #718595; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.player-media-columns .is-old-version { background:#eceeef; color:#63686c; }
.player-media-import-select { display:flex; align-items:center; gap:7px; font-size:12px; }
.player-media-import-select input { width:auto; }

.player-media-columns .player-media-row.is-selected-import { background:#d5e6f2; box-shadow:inset 3px 0 #426d8b; color:#253e50; }

/* Long correction ranges: soft 3 Hz light across the bar, flashes at its ends. */
.correction-range-glow { position:absolute; inset:0; background:#fffbdc; pointer-events:none; opacity:0; border-radius:inherit; }
.range-is-playing > .correction-range-glow { animation:correction-range-light .333333s ease-in-out infinite; }
@keyframes correction-range-light { 0%,100% { opacity:.22; box-shadow:0 0 3px #fffbdc55; } 50% { opacity:.72; box-shadow:0 0 8px #fffbdcaa; } }
.correction-boundary-flash { position:absolute; top:-12px; bottom:-12px; width:3cm; pointer-events:none; background:linear-gradient(to right,transparent,#fffde6cc 30%,#fffef2 50%,#fffde6cc 70%,transparent); transform:translateX(-50%); animation:correction-flash-instant .35s linear both; z-index:6; }
.correction-boundary-flash.at-start { left:0; }
.correction-boundary-flash.at-end { left:100%; }

/* One sliding speed control on the phone player. */
.player-shell.player-smartphone .player-transport .player-rates button[data-player-rate]:not([data-player-rate="1"]) { display:none; }
.player-shell.player-smartphone .player-transport .player-rates button[data-player-rate="1"] { touch-action:none; user-select:none; -webkit-user-select:none; }

.player-shell.player-smartphone .player-transport .player-rates button[data-player-rate="1"] { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; }
.player-shell.player-smartphone .player-rates button[data-player-rate="1"] .player-rate-label { line-height:1; }
.player-shell.player-smartphone .player-rates .player-rate-directions { display:block; font-size:10px; line-height:10px; color:#000; text-shadow:none; pointer-events:none; }

.player-shell.player-smartphone .player-transport .player-rates button[data-player-rate="1"] { width:calc(var(--phone-button-width,28px) + 8px); min-width:calc(var(--phone-button-width,28px) + 8px); flex:0 0 calc(var(--phone-button-width,28px) + 8px); height:var(--phone-button-height,30px); min-height:var(--phone-button-height,30px); }

/* The phone's single button takes the colour of the actual speed. */
.player-shell.player-smartphone[data-layout] .player-transport .player-rates button:is([data-current-rate="0.5"],[data-current-rate="2"])[aria-pressed="true"] {
  background:radial-gradient(ellipse at 50% 48%,#fff9df 0%,#ffe7aeed 24%,#ffcb71a6 49%,#ffb74638 72%,transparent 91%),linear-gradient(180deg,#ffd18d,#d58a32 65%,#a96120);
}

/* Align every correction after the widest CD/timecode group in its list. */
.player-shell .player-recent-corrections .correction-time-pair { width:max-content; }
.player-shell .player-recent-corrections li.has-review-controls,
.player-shell .player-recent-corrections li .player-correction-select { column-gap:2mm; }

.player-shell.player-smartphone .player-recent-corrections li.has-review-controls .player-correction-select,
.player-shell.player-smartphone .player-recent-corrections li:not(.has-review-controls) .player-correction-select { column-gap:2mm; }

/* Visible field edges even on browsers without color-mix support. */
.player-shell .player-recent-corrections .player-correction-text,
.player-shell .player-review-controls .player-review-response-field {
  box-sizing:border-box; outline:1px solid currentColor; outline-offset:-1px;
}
.player-shell.player-smartphone .player-review-controls .player-review-response-field {
  grid-column:2; width:100%; min-width:0;
}
@media (orientation:portrait) {
  .player-shell.player-iphone .player-recent-corrections .correction-time-pair {
    display:grid; grid-template-columns:20px max-content; column-gap:3px; row-gap:1px;
  }
  .player-shell.player-iphone .correction-time-pair > .correction-track-disc { grid-column:1; grid-row:1 / span 2; align-self:center; }
  .player-shell.player-iphone .correction-time-pair > .correction-timecode { grid-column:2; }
}

/* Compact response line; keep the iPhone input's native 16px font. */
.player-shell .player-review-controls .player-review-response-field { height:18px; min-height:18px; align-self:center; }
.player-shell .player-review-controls .player-review-response-content { width:calc((100% - 14px) * 16 / 11); height:23.273px; }
.player-shell .player-review-controls input[data-review-response],
.player-shell .player-review-controls .player-review-completion { height:23.273px; min-height:23.273px; padding:0 4.364px; line-height:23.273px; }
.player-shell .player-recent-corrections .player-review-controls .player-review-response-field > button[data-review-proposals-toggle] { width:14px; min-width:14px; height:16px; min-height:16px; border:0; font:12px/1 Arial,sans-serif; }

/* Fill existing row height with the error field instead of empty space. */
.player-shell .player-recent-corrections li.has-review-controls { row-gap:1px; }
.player-shell .player-recent-corrections li.has-review-controls .player-correction-select { align-self:stretch; }
.player-shell .player-recent-corrections li.has-review-controls .player-correction-text { align-self:stretch; }
.player-shell .player-review-controls .player-review-response-field { align-self:start; }

/* Content determines the error field height; controls must not add blank rows. */
.player-shell .player-recent-corrections li.has-review-controls { min-height:0; height:auto; padding-top:2px; padding-bottom:2px; }
.player-shell .player-recent-corrections li.has-review-controls .player-correction-text { align-self:end; height:auto; min-height:0; padding-top:1px; padding-bottom:1px; }
.player-shell .player-recent-corrections li.has-review-controls .player-correction-select { min-height:0; }
.player-shell .player-correction-text small:empty { display:none; }
.player-shell .player-review-controls [data-review-verdict] { height:18px; box-sizing:border-box; align-self:start; }
.player-shell[data-layout] .player-recent-corrections .player-review-controls [data-review-verdict] > button[data-review-set] { height:16px; min-height:16px; font-size:14px; }

/* iPhone portrait: the timing column spans the existing request/response rows. */
@media (orientation:portrait) {
  .player-shell.player-iphone .player-recent-corrections li.has-review-controls .player-correction-select { display:contents; }
  .player-shell.player-iphone .player-recent-corrections li.has-review-controls .player-correction-select > span:first-child { grid-column:1; grid-row:1 / 3; align-self:stretch; }
  .player-shell.player-iphone .player-recent-corrections li.has-review-controls .correction-time-pair { height:100%; grid-template-rows:minmax(0,1fr) 18px; align-items:end; }
  .player-shell.player-iphone .player-recent-corrections li.has-review-controls .correction-time-pair > .correction-timecode { align-self:center; }
  .player-shell.player-iphone .player-recent-corrections li.has-review-controls .correction-time-pair > .correction-timecode:first-of-type { grid-row:1; align-self:end; }
  .player-shell.player-iphone .player-recent-corrections li.has-review-controls .player-correction-text { grid-column:2; grid-row:1; }
}

/* Explicit translucent fills also work on Android without color-mix(). */
.player-shell[data-layout] .player-recent-corrections li .player-correction-text,
.player-shell[data-layout] .player-recent-corrections .player-review-controls .player-review-response-field {
  background-color:rgba(255,255,255,.16); outline:none; border:0; box-shadow:none;
}
.player-shell[data-layout="pearl"] .player-recent-corrections li .player-correction-text,
.player-shell[data-layout="pearl"] .player-recent-corrections .player-review-controls .player-review-response-field { background-color:rgba(255,255,255,.5); }
.player-shell[data-layout] .player-recent-corrections .player-review-controls .player-review-response-field:focus-within { outline:1px solid currentColor; outline-offset:-1px; }

/* A broad touch target without consuming extra vertical space. */
.player-shell.player-smartphone > .player-correction-resizer::before { height:44px; }
.player-shell.player-smartphone > .player-correction-resizer::after { width:88px; height:3px; background:#b9d0db; }
@media (max-height:500px) and (orientation:landscape) {
  .player-shell.player-smartphone > .player-scroll { min-height:36px; }
  .player-shell.player-smartphone > .player-correction { min-height:0; flex:0 0 var(--correction-height); padding:2px 4px; gap:2px; }
  .player-shell.player-smartphone .player-correction > .player-recent-corrections { min-height:44px; }
  .player-shell.player-smartphone .player-recent-corrections ol { scroll-snap-type:none; }
}

.player-shell.is-timeline-touch-active, .player-shell.is-timeline-touch-active * { touch-action:none; }

/* Broadcast clock fits alongside the transport buttons. */
.player-shell .player-transport-buttons > .player-broadcast-clock,
.player-shell.player-smartphone .player-transport-buttons > .player-broadcast-clock { display:block; width:var(--phone-button-height,30px); height:var(--phone-button-height,30px); flex:0 0 var(--phone-button-height,30px); border-radius:3px; }
.player-shell:not(.player-smartphone) .player-current-track .player-track-display-viewport { display:none; }
.player-shell:not(.player-smartphone) .player-title-row .player-current-track { flex:0 0 auto; width:auto; padding:2px 7px; }
.player-shell.player-smartphone .player-current-track::after { content:'▾'; position:static; transform:none; flex:none; font:14px/1 Arial,sans-serif; color:inherit; }
.player-shell .player-metadata-legend::after { font-size:14px; }

/* One metadata window, with only its explicit label acting as a button. */
.player-shell:not(.player-smartphone) .player-current-track .player-track-display-viewport { display:block; }
.player-shell:not(.player-smartphone) .player-title-row .player-current-track { flex:1; width:0; min-width:0; }
.player-shell .player-transport .player-current-track,
.player-shell .player-current-track .player-track-display-viewport,
.player-shell .player-current-track .player-track-matrix { cursor:default; }
.player-shell.player-smartphone .player-current-track::after { content:none; }
.player-shell .player-current-track > button.player-metadata-legend,
.player-shell.player-smartphone .player-current-track > button.player-metadata-legend { display:inline-flex; flex:none; align-items:center; width:auto; min-width:0; height:auto; min-height:0; margin:0; padding:0 2px; border:0; background:transparent; box-shadow:none; border-radius:2px; font:11px/1.2 Arial,sans-serif; cursor:pointer; }
.player-shell .player-current-track > button.player-metadata-legend:focus-visible { outline:1px solid currentColor; outline-offset:1px; }

.player-shell.player-smartphone.player-android .player-current-track > button.player-metadata-legend { align-self:stretch; justify-content:center; font-size:13px; line-height:18px; padding:0 3px; }
.player-shell.player-android .player-metadata-legend::after { font-size:16px; }

.player-master-dialog.player-metadata-android { position:fixed; inset:0; box-sizing:border-box; width:100%; max-width:100%; max-height:none; margin:0; padding:4px; border-radius:0; }
.player-master-dialog.player-metadata-android > header { flex:none; padding-bottom:3px; gap:6px; }
.player-master-dialog.player-metadata-android iframe { flex:1 1 0; min-height:0; }

.player-shell .player-meter { touch-action:none; cursor:ns-resize; }

.player-shell.player-smartphone .player-transport-buttons > .player-meter { touch-action:none; cursor:ns-resize; user-select:none; -webkit-user-select:none; }

.player-meter-fader { position:fixed; z-index:1000; width:52px; height:140px; box-sizing:border-box; padding:6px; display:flex; flex-direction:column; align-items:center; gap:5px; border:1px solid #8da2b0; border-radius:6px; background:#25343ef2; color:#f0f4f5; box-shadow:0 3px 12px #0006; pointer-events:none; font:11px/1.2 Arial,sans-serif; }
.player-meter-fader[hidden] { display:none; }
.meter-fader-rail { position:relative; flex:1; width:5px; margin:5px 0; border-radius:3px; background:#111c23; }
.meter-fader-rail i { position:absolute; left:-10px; width:25px; height:7px; transform:translateY(50%); border-radius:2px; background:#dce5e9; box-shadow:0 1px 3px #000; }
.player-meter-fader output { white-space:nowrap; }

/* Match the outer button recess, including its surrounding rim. */
.player-shell.player-smartphone .player-transport-buttons > .player-meter { width:calc(var(--phone-button-height,30px) + 4px); min-width:calc(var(--phone-button-height,30px) + 4px); height:calc(var(--phone-button-height,30px) + 4px); min-height:calc(var(--phone-button-height,30px) + 4px); flex:0 0 calc(var(--phone-button-height,30px) + 4px); padding:3px; }

/* Compressor state is visible even while playback is stopped. */
.player-shell:not(.player-smartphone)[data-layout] .player-meter-reduction > span { color:#92999e; text-shadow:none; }
.player-shell:not(.player-smartphone)[data-layout] .player-meter-reduction:not(.is-enabled) .player-meter-track { filter:grayscale(1); }
.player-shell:not(.player-smartphone)[data-layout] .player-meter-reduction.is-enabled > span { color:#ffd54a; text-shadow:0 1px 1px #303030; }
.player-shell.player-iphone .player-transport-buttons > .player-meter { border:1px solid #92999e; }
.player-shell.player-iphone .player-transport-buttons > .player-meter[aria-pressed="true"] { border-color:#92999e; }

.player-shell.player-smartphone .player-meter .player-meter-reduction .player-meter-track { outline:.5px solid #626b72; outline-offset:-.5px; }
.player-shell.player-smartphone .player-meter .player-meter-reduction.is-enabled .player-meter-track { outline:1px solid #ffd54a; outline-offset:-1px; }

/* Desktop stereo meters: a 2mm inset and ticks on both sides of the scale. */
.player-shell:not(.player-smartphone) .player-meter > .player-meter-row { transform:translateX(2mm); }
.player-shell:not(.player-smartphone) .player-meter > .player-meter-scale { margin-left:2mm; }
.player-shell:not(.player-smartphone) .player-meter-scale > span::before { content:''; flex:0 0 4px; height:1px; background:currentColor; }

/* Tick marks directly to the left of the stereo bars. */
.player-shell:not(.player-smartphone) .player-meter > .player-meter-row:first-child { position:relative; }
.player-shell:not(.player-smartphone) .player-meter > .player-meter-row:first-child::before { content:''; position:absolute; left:-6px; top:0; bottom:0; width:4px; pointer-events:none; background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor); background-size:4px 1px; background-position:left top,left 25%,left 50%,left 75%,left bottom; background-repeat:no-repeat; }

/* Both sets of ticks share the exact same scale row and vertical centering. */
.player-shell:not(.player-smartphone) .player-meter > .player-meter-row:first-child::before { content:none; }
.player-shell:not(.player-smartphone) .player-meter-scale > span::before { position:absolute; left:2px; width:4px; height:1px; flex:none; align-self:center; }

/* Identical stroke rendering on both sides of the meter scale. */
.player-shell:not(.player-smartphone) .player-meter-scale > span::before,
.player-shell:not(.player-smartphone) .player-meter-scale > span::after { height:.5px; min-height:0; background:currentColor; opacity:1; }

/* Slightly wider stereo bars, keeping their left edges in place. */
.player-shell:not(.player-smartphone) .player-meter > .player-meter-row .player-meter-track { box-sizing:border-box; width:13px; min-width:13px; max-width:13px; flex-shrink:0; align-self:flex-start; margin-left:0; margin-right:-2px; }

/* Reserve each stereo bar's full width so the right bar cannot cover the left. */
.player-shell:not(.player-smartphone) .player-meter > .player-meter-row { flex:0 0 13px; width:13px; min-width:13px; }

/* Keep a narrow 1px gap between the stereo meters. */
.player-shell:not(.player-smartphone) .player-meter > .player-meter-row + .player-meter-row { margin-left:-4px; }

.player-shell:not(.player-smartphone) .player-meter > .player-meter-reduction { margin-left:-3px; }
.player-shell:not(.player-smartphone) .player-meter { width:max-content; flex-shrink:0; }
.player-shell:not(.player-smartphone) .player-transport { padding-right:34px; }

/* Compact desktop meter block with a matching transport column: no overflow over screws. */
.player-shell:not(.player-smartphone) .player-transport { grid-template-columns:minmax(0,1fr) 117px; padding-right:40px; }
.player-shell:not(.player-smartphone) .player-transport-buttons { gap:6px; }
.player-shell:not(.player-smartphone) .player-meter { display:grid; grid-template-columns:13px 13px 33px 9px 32px; column-gap:1px; width:117px; min-width:117px; box-sizing:border-box; padding:4px 4px 4px 7px; }
.player-shell:not(.player-smartphone) .player-meter > .player-meter-row { transform:none; margin:0; grid-column:auto; grid-row:1; }
.player-shell:not(.player-smartphone) .player-meter > .player-meter-row + .player-meter-row { margin-left:0; }
.player-shell:not(.player-smartphone) .player-meter > .player-meter-scale { width:33px; margin:0; grid-column:3; grid-row:1; }
.player-shell:not(.player-smartphone) .player-meter-scale > span { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:2px; }
.player-shell:not(.player-smartphone) .player-meter-scale > span > b { grid-column:2; font-weight:inherit; text-align:center; }
.player-shell:not(.player-smartphone) .player-meter-scale > span::before,
.player-shell:not(.player-smartphone) .player-meter-scale > span::after { position:static; width:auto; min-width:0; height:.5px; align-self:center; }
.player-shell:not(.player-smartphone) .player-meter-scale > span::before { grid-column:1; }
.player-shell:not(.player-smartphone) .player-meter-scale > span::after { grid-column:3; }
.player-shell:not(.player-smartphone) .player-meter-scale > span:last-child::after { display:none; }
.player-shell:not(.player-smartphone) .player-meter > .player-meter-reduction { width:9px; min-width:0; margin:0; grid-column:4; grid-row:1; transform:translateX(-2px); }
.player-shell:not(.player-smartphone) .player-meter > .player-volume { width:32px; margin:0; grid-column:5; grid-row:1; }

/* Vintage speed control in two sizes, with the same touch and mouse gestures. */
.player-shell:not(.player-smartphone) .player-transport .player-rates { flex:0 0 142px; width:142px; min-width:142px; padding:0; margin:0; border:0; }
.player-shell:not(.player-smartphone) .player-transport .player-rates > [data-player-rate] { display:none; }
.player-shell:not(.player-smartphone) .player-speed-vintage { display:flex; flex-direction:column; gap:2px; width:142px; height:calc(31px + 3mm); box-sizing:border-box; padding:0 3px; cursor:ew-resize; touch-action:none; user-select:none; }
.player-speed-gauge { position:relative; height:25px; padding:3px 4px; box-sizing:border-box; overflow:hidden; border:1px solid #182128; border-radius:1px; background:linear-gradient(90deg,#525e61,#b6bdba 12%,#747f82 50%,#c1c8c3 88%,#424e52),linear-gradient(#d1d6d0,#56636a); box-shadow:inset 0 1px 1px #fff9,inset 0 -2px 2px #07121d,0 0 0 1px #667580,0 2px 3px #07131dcc; }
.player-speed-gauge-face { position:relative; height:100%; overflow:hidden; box-sizing:border-box; border:1px solid #504f43; border-radius:10% / 28%; background:linear-gradient(90deg,#061018c9 0%,#0a172c80 4%,#101b3033 11%,transparent 23% 77%,#101b3033 89%,#0a172c80 96%,#061018c9 100%),linear-gradient(90deg,#65251f 0% 17%,#694018 17% 35%,#254a2b 35% 65%,#694018 65% 83%,#65251f 83% 100%); box-shadow:inset 5px 0 5px #030a10b3,inset -5px 0 5px #030a10b3,inset 0 1px 1px #17232b55,inset 0 -1px 1px #17232b55; }
.player-speed-gauge-face::before { content:''; position:absolute; z-index:1; top:0; bottom:0; left:var(--speed-light-start,35%); width:var(--speed-light-width,30%); pointer-events:none; background:var(--speed-active-glow,#baffbc); mix-blend-mode:screen; transition:none; }
.player-speed-gauge-face::after { content:''; position:absolute; z-index:4; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(90deg,#02091066 0%,transparent 13%,#ffffff0a 25%,#fff4d909 44%,#fff4d909 56%,#ffffff0a 75%,transparent 87%,#02091066 100%); box-shadow:inset 0 1px 0 #fff2,inset 0 -1px 0 #fff2; }
.player-speed-needle { position:absolute; z-index:3; top:1px; bottom:1px; left:var(--speed-needle-position,50%); width:2px; transform:translateX(-50%); border-radius:50% 50% 30% 30% / 2px; background:linear-gradient(90deg,#7f1413,#ff5544 55%,#c62520); box-shadow:0 0 0 .5px #48120f,0 0 3px #ffb091; transition:left .16s ease-out; }
.player-speed-needle-shadow { position:absolute; z-index:2; top:2px; bottom:2px; left:var(--speed-needle-position,50%); width:3px; transform:translateX(2px); border-radius:1px; background:#271718b8; box-shadow:0 0 1px #27171888; filter:blur(.35px); opacity:.72; transition:left .16s ease-out; }
.player-speed-needle::after { content:''; position:absolute; left:-1px; bottom:-2px; width:4px; height:4px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#fff0d5,#75403a 55%,#2b1a18); box-shadow:0 0 1px #141a19; }
.player-speed-marks { position:absolute; z-index:2; inset:auto 2px 0; display:flex; justify-content:space-between; align-items:end; color:#111b1c; text-shadow:0 1px #ffe6bd80; font:700 8px/1 Arial,sans-serif; }
.player-speed-marks span { min-width:10px; text-align:center; }
.player-speed-wheel { position:relative; align-self:center; width:136px; height:calc(4px + 3mm); box-sizing:border-box; overflow:visible; cursor:ew-resize; touch-action:none; user-select:none; border:1px solid #869091; border-radius:0; background:linear-gradient(90deg,#657274 0%,#101719 3%,#020406 6% 94%,#101719 97%,#657274 100%); box-shadow:inset 0 2px 3px #000e,inset 0 -2px 3px #000e,0 1px 1px #c1c9c365; }
.player-speed-wheel::before { content:''; position:absolute; z-index:0; left:6px; right:6px; top:5px; height:10px; pointer-events:none; background:radial-gradient(ellipse 58px 7px at 50% 47%,#000f 0%,#000e 55%,transparent 100%); }
.player-speed-wheel::after { content:''; position:absolute; z-index:0; left:3px; right:3px; bottom:-5px; height:7px; pointer-events:none; background:radial-gradient(ellipse 60px 4px at 50% 0%,#000e 0%,#0009 55%,transparent 100%); }
.player-speed-wheel:focus-visible { outline:2px solid #d6e9f1; outline-offset:2px; }
.player-speed-wheel-drum { position:absolute; z-index:1; inset:1px 8px auto; width:calc(100% - 16px); height:3mm; border-radius:0; background:linear-gradient(90deg,#070a08,#17231a 12%,#445649 50%,#17231a 88%,#070a08); box-shadow:inset 1px 0 2px #0009,inset -1px 0 2px #0009; }
.player-shell.player-smartphone .player-transport .player-rates { display:flex; flex:0 0 68px; width:68px; min-width:68px; padding:0; margin:0; border:0; }
.player-shell.player-smartphone .player-transport .player-rates > button[data-player-rate] { display:none!important; }
.player-shell.player-smartphone .player-speed-vintage { display:flex; flex-direction:column; gap:1px; width:68px; height:31px; box-sizing:border-box; padding:0 2px; cursor:ew-resize; touch-action:none; user-select:none; -webkit-user-select:none; }
.player-shell.player-smartphone .player-speed-gauge { height:19px; padding:2px 3px; }
.player-shell.player-smartphone .player-speed-marks { font-size:7px; }
.player-shell.player-smartphone .player-speed-marks span { min-width:6px; }
.player-shell.player-smartphone .player-speed-wheel { width:64px; height:10px; }
.player-shell.player-smartphone .player-speed-wheel::before { left:5px; right:5px; top:3px; height:7px; background:radial-gradient(ellipse 31px 4px at 50% 50%,#000f 0%,#000d 55%,transparent 100%); }
.player-shell.player-smartphone .player-speed-wheel::after { left:2px; right:2px; bottom:-3px; height:4px; background:radial-gradient(ellipse 32px 3px at 50% 0%,#000e 0%,#0009 55%,transparent 100%); }
.player-shell.player-smartphone .player-speed-wheel-drum { inset:1px 5px auto; width:calc(100% - 10px); height:1.5mm; }

/* Split the normal-speed label around the central needle. */
.player-speed-marks .player-speed-unity { display:flex; justify-content:space-between; width:26px; min-width:0; font-size:12px; line-height:1; }
.player-speed-marks .player-speed-unity b { font-weight:inherit; }
.player-shell.player-smartphone .player-speed-marks .player-speed-unity { width:18px; min-width:0; font-size:10px; }

.player-speed-marks .player-speed-unity b:last-child { transform:translateY(.13em); }

/* Refraction through the curved cover: a shallow upper arch and a softer,
   slightly asymmetric lower edge; the sides remain sharply delimited. */
.player-speed-gauge-face::before {
  clip-path:polygon(0 7%,20% 3%,45% 0,72% 1%,100% 5%,100% 99%,78% 96%,52% 92%,26% 93%,0 97%);
  -webkit-mask-image:linear-gradient(180deg,#0006 0%,#000 9%,#000 82%,#000b 93%,#0003 100%);
  mask-image:linear-gradient(180deg,#0006 0%,#000 9%,#000 82%,#000b 93%,#0003 100%);
}
/* Place each label around its actual needle stop, independent of text width. */
.player-speed-marks { left:0; right:0; height:12px; display:block; }
.player-speed-marks > span { position:absolute; bottom:0; transform:translateX(-50%); }
.player-speed-marks > span:nth-child(1) { left:8.5%; }
.player-speed-marks > span:nth-child(2) { left:24.5%; }
.player-speed-marks > span:nth-child(3) { left:50%; }
.player-speed-marks > span:nth-child(4) { left:75.5%; }
.player-speed-marks > span:nth-child(5) { left:91.5%; }
.player-speed-marks :is(.player-speed-half,.player-speed-double) { display:flex; justify-content:space-between; width:24px; min-width:0; font-size:12px; line-height:1; }
.player-speed-marks :is(.player-speed-half,.player-speed-double) b { font-weight:inherit; }
.player-speed-marks .player-speed-double b:last-child { transform:translateY(.13em); }
.player-shell.player-smartphone .player-speed-marks :is(.player-speed-half,.player-speed-double,.player-speed-unity) { width:14px; min-width:0; font-size:10px; letter-spacing:-.5px; }
.player-shell.player-smartphone .player-speed-marks .player-speed-half { width:16px; font-size:9px; }
/* Keep 2× inside its amber segment (65–83%), around the 74% needle. */
.player-speed-marks .player-speed-double { width:18px; }
.player-shell.player-smartphone .player-speed-marks .player-speed-double { width:11px; margin-left:0; }
.player-speed-marks .player-speed-half { width:18px; }
.player-shell.player-smartphone .player-speed-marks .player-speed-half { width:11px; }

/* End legends remain readable even when their red lamps are switched off. */
.player-speed-marks :is(.player-speed-quarter,.player-speed-quadruple) { color:#cbb493; font-size:11px; font-weight:700; text-shadow:0 1px 1px #160b08; letter-spacing:-.4px; }
.player-shell.player-smartphone .player-speed-marks :is(.player-speed-quarter,.player-speed-quadruple) { font-size:8px; letter-spacing:-.6px; }
/* Bright lettering on unlit zones, dark lettering over the active lamp. */
.player-speed-marks > span { color:#cbb493; text-shadow:0 0 1px #ffc77920,0 1px 1px #160b08; }
.player-speed-marks > span.is-lit { color:#111b1c; text-shadow:0 1px #ffe6bd80; }
/* Cast the wheel shadow as ink overflow, not a box outside the transport row. */
.player-speed-wheel::after { bottom:0; height:0; background:none; box-shadow:0 2px 3px 2px #000a; }
.player-shell.player-smartphone .player-speed-wheel::after { bottom:0; height:0; background:none; box-shadow:0 1px 2px 1px #000a; }
/* The score gets the full panel height; controls remain alongside it. */
.player-score-panel { flex:0 0 48vh; min-height:200px; overflow:hidden; display:flex; flex-direction:row; background:#24221e; border:1px solid #79664a; border-radius:10px; margin:4px 10px; color:#eee2cd; }
.player-score-panel[hidden] { display:none; }
.player-score-paper { overflow-x:auto; overflow-y:hidden; min-width:0; min-height:0; flex:1; background:#fdfcf8; display:flex; align-items:center; justify-content:safe center; touch-action:pan-x pinch-zoom; }
.player-score-paper img { display:block; height:100%; width:auto; max-width:none; flex:none; object-fit:contain; }
.player-shell .player-score-toggle { flex:0 0 auto; width:auto; height:28px; min-height:28px; align-self:center; padding:3px 9px; margin-left:6px; font-size:12px; border:1px solid #718595; border-radius:4px; background:linear-gradient(#526572,#344650); color:#e5edf1; }
.player-shell.has-score .player-scroll { min-height:75px; }
@media(max-width:700px) { .player-score-panel { flex-basis:42vh; margin:3px; } }
.player-score-frame { position:relative; height:100%; flex:none; }
.player-score-frame img { width:100%; height:100%; }
.player-score-cursor { position:absolute; top:-23px; bottom:0; width:3px; transform:translateX(-50%); background:none; box-shadow:none; pointer-events:none; z-index:1; }
.player-score-cursor::before { content:''; position:absolute; top:0; bottom:0; left:50%; width:13px; transform:translateX(-50%); background:#e24220; clip-path:polygon(0 0,100% 0,calc(50% + 1.5px) 10px,calc(50% + 1.5px) 100%,calc(50% - 1.5px) 100%,calc(50% - 1.5px) 10px); }
.player-score-frame { cursor:crosshair; user-select:none; touch-action:none; }
.player-score-frame img { -webkit-user-drag:none; user-select:none; }
.player-score-cursor { pointer-events:auto; cursor:ew-resize; }
.player-score-cursor::after { content:''; position:absolute; inset:0 -10px; }
.player-score-paper { position:relative; }
.player-score-navigation { position:absolute; z-index:3; bottom:6px; left:8px; display:flex; align-items:center; gap:4px; padding:3px 5px; border-radius:5px; background:#302e29e8; color:#eee2cd; box-shadow:0 1px 5px #0004; font-size:11px; }
.player-score-navigation button { width:25px; height:24px; min-width:25px; padding:0; font-size:18px; line-height:1; }
.player-score-navigation button:disabled { opacity:.35; }
@media(max-width:500px) { .player-score-navigation { gap:2px; left:3px; bottom:3px; font-size:10px; } }
.player-score-frame [data-score-corrections]{position:absolute;inset:0;pointer-events:none;z-index:2}
.player-score-correction{position:absolute;top:0;bottom:0;width:9px;min-width:9px;transform:translateX(-50%);padding:0;border:0;border-radius:0;background:linear-gradient(90deg,transparent 3px,var(--score-correction-color,#31ac62) 3px,var(--score-correction-color,#31ac62) 6px,transparent 6px);pointer-events:auto;touch-action:none;cursor:ew-resize}
.player-score-correction.is-range{top:7px;bottom:auto;height:10px;min-width:4px;transform:none;background:var(--score-correction-color,#31ac62);border:1px solid #fff8;border-radius:2px}
.player-score-correction[data-movable="false"]{cursor:pointer}
.player-score-correction:focus-visible{outline:2px solid #16763d;outline-offset:2px}
.player-score-note-region,[data-score-drawing]{position:absolute;box-sizing:border-box;border:2px solid var(--score-correction-color,#159345);background:color-mix(in srgb,var(--score-correction-color,#159345) 13%,transparent);pointer-events:none;z-index:3}
[data-score-drawing][hidden]{display:none}
.player-score-navigation [data-score-feedback]{max-width:340px;font-size:11px;color:#bce4c7;white-space:normal}
@media(max-width:700px){.player-score-navigation [data-score-feedback]{max-width:130px;font-size:9px}}
/* Align response and correction text; keep a four-digit measure window on the left. */
.player-shell .player-recent-corrections .player-review-controls .player-review-response-field {grid-column:2;grid-row:2}
.player-shell .player-recent-corrections .player-correction-measure {grid-column:1;grid-row:2;justify-self:end;align-self:start;box-sizing:border-box;display:block;width:calc(4ch + 10px);height:18px;min-height:18px;padding:1px 4px;overflow:hidden;border:1px solid #859b8c;border-radius:2px;background:#19251e;color:#bce6bf;font:12px/14px ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;text-align:center;letter-spacing:0;box-shadow:inset 0 1px 3px #0007}
.player-shell.player-iphone .player-recent-corrections li.has-review-controls .player-correction-select > span:first-child {grid-row:1}
.player-shell .player-score-region-handle{--score-edge-hit:12px;position:absolute;pointer-events:auto;touch-action:none;padding:0;width:var(--score-edge-hit);min-width:0;height:var(--score-edge-hit);min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none;z-index:4;transform:translate(-50%,-50%)}
.player-shell .player-score-region-handle:hover,.player-shell .player-score-region-handle:active{background:transparent;box-shadow:none}
.player-shell .player-score-region-handle[data-region-edge="n"],.player-shell .player-score-region-handle[data-region-edge="s"]{width:100%;height:var(--score-edge-hit)}
.player-shell .player-score-region-handle[data-region-edge="w"],.player-shell .player-score-region-handle[data-region-edge="e"]{height:100%;width:var(--score-edge-hit)}
@media(pointer:coarse){.player-shell .player-score-region-handle{--score-edge-hit:20px}}
.player-score-region-handle[data-region-edge="n"]{left:50%;top:0;cursor:ns-resize}
.player-score-region-handle[data-region-edge="s"]{left:50%;top:100%;cursor:ns-resize}
.player-score-region-handle[data-region-edge="w"]{left:0;top:50%;cursor:ew-resize}
.player-score-region-handle[data-region-edge="e"]{left:100%;top:50%;cursor:ew-resize}
.player-score-region-handle[data-region-edge="nw"]{left:0;top:0;cursor:nwse-resize}
.player-score-region-handle[data-region-edge="ne"]{left:100%;top:0;cursor:nesw-resize}
.player-score-region-handle[data-region-edge="sw"]{left:0;top:100%;cursor:nesw-resize}
.player-score-region-handle[data-region-edge="se"]{left:100%;top:100%;cursor:nwse-resize}
.player-score-note-region{pointer-events:auto;cursor:move;touch-action:none}
.player-score-context-menu{position:fixed;z-index:1000;padding:4px;border:1px solid #86a58e;border-radius:4px;background:#25332a;box-shadow:0 4px 15px #0007}
.player-score-context-menu button{padding:6px 10px;color:#e5f1e8;background:transparent;border:0;cursor:pointer}
.player-score-context-menu button:hover,.player-score-context-menu button:focus{background:#45654e}

/* One complete gray/author-color cycle every 1/3.6 seconds. */
[data-score-drawing][data-pending="true"]{animation:score-draft-pulse 277.777778ms ease-in-out infinite}
@keyframes score-draft-pulse{
  0%,100%{border-color:#929292;background:rgb(146 146 146 / 10%)}
  50%{border-color:var(--score-correction-color,#159345);background:color-mix(in srgb,var(--score-correction-color,#159345) 13%,transparent)}
}

.player-score-note-region,.player-score-correction,[data-score-drawing]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
[data-score-drawing][data-pending="true"]{pointer-events:auto;touch-action:none;cursor:move}
[data-score-drawing]:not([data-pending="true"]) .player-score-region-handle{display:none}
.player-score-zone-tools{position:absolute;top:4px;right:8px;z-index:6;display:flex;gap:4px;padding:3px;border-radius:5px;background:#302e29e8}
.player-score-zone-tools button{font-size:11px;min-height:25px;padding:3px 7px;color:#eee2cd;background:#514b3f;border:1px solid #978361;border-radius:4px;cursor:pointer}
.player-score-zone-tools button:disabled{opacity:.4;cursor:default}
.player-score-zone-tools button[aria-pressed="true"]{background:#3a694b;border-color:#b7d5bc}
@media(pointer:coarse){.player-score-context-menu button{min-height:44px;min-width:44px}}

/* Chrome volume cap: recessed ribs and directional unity LEDs. */
.player-volume,.player-meter-fader{--volume-cap:url('/assets/volume-chrome-below.svg?v=4')}
[data-volume-state="unity"]{--volume-cap:url('/assets/volume-chrome-unity.svg?v=4')}
[data-volume-state="above"]{--volume-cap:url('/assets/volume-chrome-above.svg?v=4')}
.player-shell[data-layout] .player-volume[data-volume-state] input::-webkit-slider-thumb{appearance:none;width:20px;height:30px;border:0;border-radius:1px;background:var(--volume-cap) center/100% 100% no-repeat;box-shadow:0 2px 3px #0009}
.player-shell[data-layout] .player-volume[data-volume-state] input::-moz-range-thumb{width:20px;height:30px;border:0;border-radius:1px;background:var(--volume-cap) center/100% 100% no-repeat;box-shadow:0 2px 3px #0009}
.player-shell .player-volume-scale{inset:0}
.player-meter-fader .meter-fader-rail{margin:20px 0}
.player-meter-fader .meter-fader-rail i{left:50%;width:24px;height:36px;transform:translate(-50%,50%);border:0;background:var(--volume-cap) center/100% 100% no-repeat;box-shadow:0 2px 4px #0009}

/* Page navigation stays at the two sides of the score. */
.player-score-paper .player-score-navigation{inset:0;display:block;padding:0;border:0;border-radius:0;background:none;box-shadow:none;pointer-events:none}
.player-score-nav-back,.player-score-nav-forward{position:absolute;top:auto;bottom:4px;transform:none;display:flex;flex-direction:row;gap:6px;padding:3px;border-radius:5px;background:#302e29d9;pointer-events:auto}
.player-score-nav-back{left:4px}
.player-score-nav-forward{right:4px}
.player-score-navigation [data-score-page]{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);padding:3px 7px;border-radius:4px;white-space:nowrap;background:#302e29d9}
.player-score-navigation [data-score-feedback]{display:none}
.player-score-navigation [data-score-page].is-zone-action{background:#f2cb7c;color:#14191d;border:1px solid #fff;max-width:calc(100% - 70px);white-space:normal;text-align:center}
@media(pointer:coarse){.player-score-navigation button{width:36px;min-width:36px;height:40px}}

/* Extend the native input by one cap height: its center spans the whole rail. */
.player-shell .player-volume-rail input{inset:auto;left:50%;top:-15px;transform:translateX(-50%);height:calc(100% + 30px);max-height:none;margin:0}

/* The slot is painted independently of the extended native input travel. */
.player-shell[data-layout] .player-volume-rail input{background:transparent}
.player-shell .player-volume-rail::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:4px;transform:translateX(-50%);border-radius:1px;background:#080d11;box-shadow:inset 1px 0 1px #000,1px 0 0 #ffffff15;pointer-events:none}
.player-shell:not(.player-smartphone) .player-meter > .player-volume{padding-bottom:11px}
.player-shell .player-volume-readout{position:absolute;right:4px;top:50%;transform:translateY(-50%);z-index:2;box-sizing:border-box;width:35px;min-height:18px;padding:3px 1px;border:1px solid;border-color:#0a1116 #7b8b94 #8c9ba3 #131d24;border-radius:2px;background:#101b20;color:#ffd18a;box-shadow:inset 0 1px 3px #000c,0 1px 0 #ffffff16;font:9px/11px ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;pointer-events:none}
.player-shell.player-smartphone .player-volume-readout{display:none}

.player-shell .player-correction [data-correction-track].correction-track-disc{display:inline-grid;place-items:center;min-width:20px;max-width:20px;min-height:20px;width:20px;height:20px;padding:0;margin:2px 0;cursor:help;vertical-align:middle}
.player-shell.player-smartphone .player-phone-correction-location [data-correction-track].correction-track-disc{border:0;border-radius:50%;background:conic-gradient(from -20deg,#c1bacf,#f9fafb,#a4a7ac,#edf0f2,#b7d9cc,#d9c2e8,#d8e9a2,#fff,#aeb1b6,#eee9dd,#d5b9d9,#b0d9ef,#c6e6ac,#c1bacf);font:800 14px/20px Arial,sans-serif;color:#152534}
.player-entry-track-tooltip{position:fixed;z-index:1100;max-width:min(380px,calc(100vw - 12px));padding:7px 10px;border:1px solid #8d9ba4;border-radius:4px;background:#17232bf5;color:#f0f3f4;box-shadow:0 3px 12px #0007;font:12px/1.4 Arial,sans-serif;overflow-wrap:anywhere}
.player-entry-track-tooltip[hidden]{display:none}

[data-volume-state="mute"]{--volume-cap:url('/assets/volume-chrome-mute.svg?v=2')}
.player-shell .player-volume-readout{overflow:hidden;max-width:35px;font-size:9px;line-height:12px;letter-spacing:-.25px;padding:2px 1px}

/* Tall interactive volume panel on desktop and touch screens. */
.player-meter-fader{width:112px;height:min(640px,84dvh);max-height:calc(100dvh - 16px);padding:10px 12px;gap:8px;pointer-events:auto;touch-action:none}
.player-meter-fader header{display:flex;align-items:center;justify-content:space-between;align-self:stretch;font:700 12px/1 Arial,sans-serif}
.player-meter-fader button{min-width:30px;min-height:30px;padding:3px 8px;border:1px solid #82939e;border-radius:3px;background:#354651;color:#f5f6f7;cursor:pointer}
.player-meter-fader .meter-fader-rail{width:6px;margin:46px 0;min-height:60px}
.player-meter-fader .meter-fader-rail i{width:56px;height:86px;pointer-events:none}
.player-meter-fader .meter-fader-rail input{position:absolute;left:50%;top:-43px;transform:translateX(-50%);width:76px;height:calc(100% + 86px);padding:0;margin:0;border:0;background:transparent;box-shadow:none;appearance:none;-webkit-appearance:none;writing-mode:vertical-lr;direction:rtl;touch-action:none;cursor:ns-resize}
.player-meter-fader input::-webkit-slider-thumb{appearance:none;width:56px;height:86px;background:transparent;border:0;box-shadow:none}
.player-meter-fader input::-moz-range-thumb{width:56px;height:86px;background:transparent;border:0;box-shadow:none}
.player-meter-fader .player-volume-number{display:block;box-sizing:border-box;width:80px;min-width:62px;padding:5px;border:1px solid #657581;background:#101b20;color:#ffd18a;text-align:center;font:18px/1.2 ui-monospace,monospace;overflow:hidden}
@media(max-height:420px){.player-meter-fader{height:calc(100dvh - 16px);gap:3px;padding:6px 10px}.player-meter-fader .meter-fader-rail{margin:30px 0}.player-meter-fader .meter-fader-rail i{width:40px;height:60px}.player-meter-fader .meter-fader-rail input{top:-30px;height:calc(100% + 60px)}.player-meter-fader input::-webkit-slider-thumb{width:40px;height:60px}.player-meter-fader input::-moz-range-thumb{width:40px;height:60px}}

/* Keep the score shortcut in the phone title row, clear of the level meter. */
.player-shell .player-score-toggle{display:grid;place-items:center;box-sizing:border-box;width:28px;min-width:28px;height:28px;padding:4px;flex:0 0 28px}
.player-score-toggle svg{display:block;width:18px;height:18px}
.player-shell.player-smartphone .player-phone-title-actions:has(.player-score-toggle){height:28px}
.player-shell.player-smartphone .player-phone-title-actions .player-score-toggle{margin:0}
.player-shell.player-smartphone .player-heading-title:has(.player-score-toggle){padding-right:92px;min-height:28px}
.player-shell.player-smartphone .player-heading-title:has(.player-score-toggle)>.eyebrow{line-height:28px}
@media(min-width:760px){
 .player-shell.player-smartphone>.player-heading:has(.player-score-toggle){grid-template-columns:fit-content(30%) auto minmax(92px,1fr)}
 .player-shell.player-smartphone>.player-heading>.player-heading-title:has(.player-score-toggle){padding-right:0}
}

.player-shell.player-smartphone .player-quality-control{flex:0 0 36px;width:36px;min-width:36px;height:20px;align-self:center}
.player-shell.player-smartphone .player-quality-badge{font-size:9px;border-radius:3px}
.player-shell.player-smartphone .player-quality-control .player-audio-quality{box-sizing:border-box;min-height:0;padding:0;max-width:100%}

/* Engraved dB scale follows the audio taper used by the fader. */
.player-meter-fader{width:156px;background:linear-gradient(90deg,#1b2831,#354650 48%,#24333d);border-color:#82939f;box-shadow:inset 1px 0 1px #c6d4dd44,0 6px 24px #0009}
.player-meter-fader header small{font:10px/1 Arial;color:#b1c2ca}
.meter-fader-scale{position:absolute;inset:0;pointer-events:none}
.meter-fader-scale span{position:absolute;left:38px;width:29px;transform:translateY(50%);padding-left:12px;box-sizing:border-box;color:#c8d5db;font:10px/1 ui-monospace,monospace;white-space:nowrap;text-shadow:0 1px #000}
.meter-fader-scale span::before{content:'';position:absolute;left:-7px;top:50%;width:12px;height:1px;background:#8497a2;box-shadow:-71px 0 #8497a2}
.meter-fader-scale span.is-major::before{width:16px;background:#c8d5db;box-shadow:-75px 0 #c8d5db}
.meter-fader-scale span.is-zero{color:#ffb33f;font-weight:700}
.meter-fader-scale span.is-zero::before{height:2px;background:#ffb33f;box-shadow:-75px 0 #ffb33f,0 0 5px #ff9a2355}

/* Fit the whole system on touch screens; overlays share its exact bounds. */
.player-shell.player-smartphone .player-score-paper{container-type:size;overflow:hidden;justify-content:center}
.player-shell.player-smartphone .player-score-frame{width:min(100cqw,calc(100cqh * var(--score-aspect,1)));height:auto;max-width:100%;max-height:100%;flex:none}

.player-shell .player-volume-readout{pointer-events:auto;cursor:text}
.player-volume-number:focus{outline:1px solid #ffb33f;outline-offset:1px}

.player-microloop-badge{position:absolute;left:50%;top:1px;transform:translateX(-50%);z-index:5;padding:1px 4px;border:1px solid #72dfce;border-radius:2px;background:#102b29;color:#9fffe7;font:bold 10px/1.2 ui-monospace,monospace;white-space:nowrap;pointer-events:none}
.player-microloop-badge[hidden]{display:none}
.player-rates:has(.player-microloop-badge:not([hidden])) .player-speed-wheel{box-shadow:inset 0 0 5px #6af7c9,0 0 3px #4ed6ba}

/* iOS must leave long presses to score correction controls, not image previews. */
.player-score-frame,.player-score-frame *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.player-score-frame img{pointer-events:none;-webkit-user-drag:none}

.is-microloop .player-speed-gauge-face{background:radial-gradient(ellipse at 50% 40%,#246943,#0b291c 75%);box-shadow:inset 0 0 5px #04180d,0 0 5px #46ed8880}
.is-microloop .player-speed-gauge-face::before{background:#78ff9c;box-shadow:0 0 8px #54ff87}
.is-microloop .player-speed-marks>span{color:#a5eeb7;text-shadow:0 0 3px #51ff89}
.is-microloop .player-speed-marks>span.is-lit{color:#eaffed;text-shadow:0 0 4px #8dffab}
.is-microloop .player-speed-needle{background:#d8ffe2;box-shadow:0 0 4px #60ff92}
.player-speed-gauge-face>.player-microloop-badge{display:none}
.player-speed-gauge-face>.player-microloop-badge[hidden]{display:none}
.player-smartphone .player-speed-gauge-face>.player-microloop-badge{font-size:8px;letter-spacing:-.3px}

.player-shell.player-smartphone .player-score-nav-back,.player-shell.player-smartphone .player-score-nav-forward{gap:0;padding:0;background:none;border:0;box-shadow:none}
.player-shell.player-smartphone .player-score-navigation button{width:27px;min-width:27px;height:28px;min-height:28px;padding:0;background:linear-gradient(#f1f4eb,#c4d0bf);color:#344832;border:1px solid #99aa93;border-radius:3px;font-size:18px}
.player-shell.player-smartphone .player-score-navigation button:disabled{opacity:.45}

.player-shell .player-score-toggle{width:26px;min-width:26px;height:26px;min-height:26px;flex-basis:26px;padding:2px;border-radius:4px;border-color:#77847f;background:linear-gradient(#4f5c5d,#303e40);box-shadow:inset 0 1px #ffffff22,0 1px 2px #0004}
.player-shell .player-score-toggle svg{width:22px;height:22px;filter:drop-shadow(0 1px 1px #0005)}
.player-shell .player-score-toggle:hover{background:linear-gradient(#657270,#3b4b49)}
.player-shell.player-smartphone .player-phone-title-actions .player-score-toggle{width:24px;min-width:24px;height:24px;min-height:24px;flex-basis:24px;padding:1px}

.player-score-context-menu.is-touch-menu{padding:4px;border-radius:7px;background:#e4ece0;border-color:#8ca084;box-shadow:0 3px 10px #0005}
.player-score-context-menu.is-touch-menu button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;color:#873c32}
.player-score-context-menu.is-touch-menu svg{width:24px;height:24px}
.player-score-context-menu.is-touch-menu button:hover,.player-score-context-menu.is-touch-menu button:focus{background:#ceddc7;border-radius:4px}

.player-meter-fader.is-resetting .meter-fader-rail i{transition:bottom .25s ease-in-out}

.player-score-panel{position:relative}
.player-score-status{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);max-width:70%;padding:3px 8px;background:#302e29e8;color:#eee2cd;border-radius:4px;font-size:11px;pointer-events:none}
.player-score-status[hidden]{display:none}

/* A dedicated strip above the score lets the moving cursor be grabbed anywhere. */
.player-score-paper{padding-top:28px;box-sizing:border-box}
.player-score-seek-strip{position:absolute;top:-28px;left:0;right:0;height:28px;z-index:0;cursor:ew-resize;touch-action:none;background:linear-gradient(#ede8df,#f7f3eb);border-bottom:1px solid #b8ab98;box-sizing:border-box}
.player-score-seek-strip::after{content:'';position:absolute;left:0;right:0;top:13px;border-top:1px solid #c5b9a6;pointer-events:none}

.player-score-frame[hidden]{display:none}

.player-score-panel.has-score-grid .player-score-paper{container-type:size;display:grid;grid-template-columns:repeat(var(--score-columns),var(--score-system-width));grid-template-rows:repeat(var(--score-rows),calc(var(--score-system-height) + 28px));gap:12px;padding:0;overflow:hidden;align-content:center;justify-content:center;align-items:center;justify-items:center}
.player-score-panel.has-score-grid .player-score-frame{width:calc(var(--score-system-height)*var(--score-aspect,1.5));height:var(--score-system-height);max-width:100%;max-height:none;margin-top:28px;flex:none}

.player-shell .player-score-panel{min-height:160px;max-height:max(160px,calc(100dvh - 160px))}
.player-score-resize{position:absolute;bottom:0;left:60px;right:60px;height:10px;z-index:6;cursor:ns-resize;touch-action:none;user-select:none}
.player-score-resize::after{content:'';position:absolute;left:calc(50% - 22px);bottom:1px;width:44px;height:3px;border-radius:2px;background:#938570;box-shadow:0 1px 1px #fff9}
.player-score-resize:hover::after,.player-score-resize:focus-visible::after{background:#ddaa53;height:4px}

.player-score-resize:focus{outline:none}
.player-loop-menu{position:fixed;z-index:10000;display:grid;gap:3px;min-width:108px;padding:5px;background:#dfe8cd;border:1px solid #788469;border-radius:5px;box-shadow:0 4px 14px #0008}
.player-loop-menu button{padding:8px 16px;background:#edf3e3;color:#263123;border:0;border-radius:3px;font:600 14px/1.2 sans-serif}
.player-loop-menu button[aria-checked="true"]{background:#9fb788}
.player-loop-menu button:hover,.player-loop-menu button:focus-visible{background:#bacc9f;outline:1px solid #596c40}

.view-history-navigation button{display:flex;align-items:center;justify-content:center;gap:4px}
@media(max-width:1000px){
 .topbar .view-history-navigation .view-history-label,.topbar-menu>summary span{display:none}
 .topbar .view-history-navigation button{width:36px;min-width:36px;height:36px;flex:0 0 36px;padding:0;box-sizing:border-box;font-size:20px;line-height:1}
 .topbar-menu>summary{width:40px;padding:7px;box-sizing:border-box}
}

.topbar .global-undo svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.topbar .view-history-navigation button:disabled,.topbar .global-undo:disabled{opacity:1;color:#a3afa9;border-color:#82928a;background:#ffffff08;cursor:default}

@media(max-width:700px){
 .page-heading>.editing-heading-title{width:100%;min-width:0;gap:12px}
 .page-heading>.editing-heading-title>div{flex:1;min-width:0;overflow-wrap:anywhere}
 .page-heading .editing-open-player{flex:0 0 68px;box-sizing:border-box}
}

@media(max-width:700px){
 .page-heading>.editing-heading-title{align-items:flex-start}
 .editing-heading-title .project-status-menu{flex-direction:column;align-items:stretch;gap:5px}
 .editing-heading-title .project-status-menu select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
}
.player-shell:not(.player-smartphone) .player-collapse-correction,.player-shell:not(.player-smartphone) .player-phone-title-actions:empty{display:none}

/* Let project controls reflow with the CSS viewport, including browser zoom. */
.page-heading{flex-wrap:wrap}
.page-heading>.editing-heading-title{min-width:0;flex:1 1 340px}
.page-heading>.project-navigation{min-width:0;flex:1 1 450px}
.form-grid>.field,.form-grid>fieldset,.field>span{min-width:0;overflow-wrap:break-word}
.field input,.field select,.field textarea{min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:700px){
 .page-heading>.editing-heading-title,.page-heading>.project-navigation{flex:0 1 auto;max-width:100%}
 main.container:not(:has(.player-shell)){width:calc(100% - 24px);max-width:100%;margin-inline:auto}
 main.container:not(:has(.player-shell)) .form-grid{grid-template-columns:minmax(0,1fr)}
 main.container:not(:has(.player-shell)) .field{max-width:100%;min-width:0}
 main.container:not(:has(.player-shell)) .field>span{white-space:normal;line-height:1.35}
 main.container:not(:has(.player-shell)) .sticky-actions{position:static;display:flex;flex-wrap:wrap;max-width:100%;height:auto;max-height:none}
 main.container:not(:has(.player-shell)) .sticky-actions>.button{flex:1 1 140px;min-width:0;max-width:100%;height:auto;white-space:normal;overflow-wrap:break-word;text-align:center}
}

/* Compact player reflows controls instead of keeping the desktop transport columns. */
.player-shell.player-smartphone>.player-heading{display:grid;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto auto;min-width:0;max-width:100%}
.player-shell.player-smartphone>.player-heading>.player-heading-title{position:relative;grid-column:1;grid-row:1;width:100%;min-width:0;min-height:30px;padding-right:110px!important}
.player-shell.player-smartphone .player-phone-title-actions{top:0;right:0;max-width:110px}
.player-shell.player-smartphone>.player-heading>.player-transport{display:flex;flex-direction:column;grid-column:1;grid-row:2;width:100%;min-width:0;max-width:100%;flex:none}
.player-shell.player-smartphone .player-transport>.player-transport-buttons{display:flex;flex-wrap:wrap;justify-content:flex-start;justify-self:stretch;width:100%;min-width:0;max-width:100%;order:1}
.player-shell.player-smartphone .player-transport>.player-title-row{width:100%;min-width:0;max-width:100%;order:2}
.player-shell.player-smartphone>.player-heading>.player-heading-side{grid-column:1;grid-row:3;min-width:0;max-width:100%;flex-wrap:wrap}
.player-shell.player-smartphone .player-current-track{min-width:0;max-width:100%}
.player-shell.player-smartphone .player-settings-content{max-width:calc(100vw - 16px);box-sizing:border-box}

.player-shell.player-smartphone>.player-heading>.player-heading-title{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding-right:0!important}
.player-shell.player-smartphone .player-heading-title>.eyebrow{flex:1 1 120px;min-width:0}
.player-shell.player-smartphone .player-phone-title-actions{position:static;display:flex;flex-wrap:wrap;max-width:100%;margin-left:auto}
.player-shell.player-smartphone .player-score-panel{max-height:max(160px,calc(100dvh - 330px))}

/* Keep the wheel and meter in the transport row; let button widths absorb the shortage. */
.player-shell.player-smartphone .player-transport>.player-transport-buttons{grid-column:auto;grid-row:auto;flex-wrap:nowrap;gap:2px;overflow:visible;box-sizing:border-box;margin:0}
.player-shell.player-smartphone .player-transport>.player-transport-buttons>button{flex:0 1 var(--phone-button-width,28px);width:var(--phone-button-width,28px);min-width:18px;padding:1px}
.player-shell.player-smartphone .player-transport>.player-transport-buttons>[data-player-toggle]{flex:0 1 44px;width:44px;min-width:34px;gap:0}
.player-shell.player-smartphone .player-transport-buttons>[data-player-toggle]>svg{width:16px;min-width:0;flex:0 1 16px}
.player-shell.player-smartphone .player-transport-buttons>.player-broadcast-clock{flex:0 1 26px;width:26px;min-width:20px}
.player-shell.player-smartphone .player-transport-buttons>.player-meter{flex:0 0 30px;width:30px;min-width:30px;padding:2px}

/* Timing and measure fields share the comment/response rows on phones. */
.player-shell .player-recent-corrections .player-correction-measures {grid-column:1;grid-row:2;justify-self:end;align-self:start;display:flex;align-items:center;gap:3px;width:max-content;white-space:nowrap;font-size:10px;line-height:18px}
.player-shell .player-recent-corrections .player-correction-measures .player-correction-measure {flex:none}
.player-shell.player-smartphone .player-recent-corrections li.has-review-controls {grid-template-rows:auto auto}
.player-shell.player-smartphone .player-review-controls [data-review-message]:empty {display:none}
.player-shell.player-smartphone .player-recent-corrections li.has-review-controls .correction-time-pair {height:auto;align-items:center;grid-template-rows:auto}
.player-shell.player-smartphone .player-recent-corrections li.has-review-controls .correction-time-pair:not(:has(.correction-timecode ~ .correction-timecode)) {display:flex;align-items:center}
.player-shell.player-smartphone .player-recent-corrections li.has-review-controls .correction-time-pair > .correction-timecode:first-of-type {align-self:center}
.player-shell.player-smartphone .player-recent-corrections li.has-review-controls .player-correction-select > span:first-child {align-self:center}

/* Desktop transport sizes its command column to its controls, without a scrollbar. */
.player-shell:not(.player-smartphone) .player-transport {grid-template-columns:minmax(max-content,1fr) 117px}
.player-shell:not(.player-smartphone) .player-transport-buttons {width:auto;min-width:max-content;box-sizing:border-box;overflow:visible}

/* Mobile settings occupy the screen; their own close control remains visible. */
.player-settings-mobile-header{display:none}
.player-shell.player-smartphone .player-settings[open] .player-settings-content{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0 14px max(16px,env(safe-area-inset-bottom));border:0;border-radius:0;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;z-index:1000}
.player-shell.player-smartphone .player-settings-mobile-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -14px 16px;padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));background:inherit;border-bottom:1px solid #718595;font-size:16px}
.player-shell.player-smartphone .player-settings-mobile-header .player-settings-close{display:grid;place-items:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;border:1px solid #718595;border-radius:5px;background:#34434f;color:#eef3f6}
.player-settings-close svg{display:block;width:22px;height:22px}

.player-shell.player-smartphone .player-settings-content{white-space:normal;overflow-wrap:anywhere}
.player-shell.player-smartphone .player-settings-content>label{min-width:0}
.player-shell.player-smartphone .player-settings-content>label :is(select,input){box-sizing:border-box;min-width:0;max-width:58%;flex-shrink:1}

.player-speed-vintage,.player-speed-vintage *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}

.player-loop-menu button.is-hovered{background:#266d4c;color:#fff;box-shadow:inset 0 0 0 2px #a2eac4}

/* The large fader readout follows the cap LEDs. */
.player-meter-fader[data-volume-state="below"] .player-volume-number{color:#70f59a;-webkit-text-fill-color:currentColor;text-shadow:0 0 5px #39cf6b66}
.player-meter-fader[data-volume-state="unity"] .player-volume-number{color:#ffb34d;-webkit-text-fill-color:currentColor;text-shadow:0 0 5px #ff932b66}
.player-meter-fader[data-volume-state="above"] .player-volume-number{color:#ff6868;-webkit-text-fill-color:currentColor;text-shadow:0 0 5px #ff393966}
.player-meter-fader[data-volume-state="mute"] .player-volume-number{color:#65baff;-webkit-text-fill-color:currentColor;animation:volume-mute-readout 1s steps(1,end) infinite}
@keyframes volume-mute-readout{0%,100%{color:#65baff;text-shadow:0 0 7px #369dff}50%{color:#244766;text-shadow:none}}

/* Recessed fader slot with two matte dust-seal lips around a narrow slit. */
.player-meter-fader .meter-fader-rail{width:11px;border-radius:3px;background:#070b0d;box-shadow:inset 1px 0 2px #000,inset -1px 0 1px #000,0 0 0 1px #10191e,-1px 0 0 1px #71818a55,1px 0 0 1px #020608aa}
.player-meter-fader .meter-fader-rail::before{content:'';position:absolute;inset:1px;border-radius:2px;pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff04 0 1px,transparent 1px 3px),linear-gradient(90deg,#151c20 0%,#30383b 17%,#232a2d 38%,#101619 44%,#020405 47% 53%,#11171a 56%,#293033 63%,#343c3f 83%,#171e22 100%);box-shadow:inset 0 2px 2px #0009,inset 0 -2px 2px #0008}
.player-meter-fader .meter-fader-scale{left:calc(50% - 3px);right:auto;width:6px}

/* Zone endpoints stay together; narrower action columns leave room for the comment. */
.player-shell:is(.player-smartphone,.player-iphone) .player-recent-corrections .correction-time-pair{display:flex;flex-wrap:nowrap;align-items:center;gap:2px;height:auto}
.player-shell .player-recent-corrections .player-correction-select>span:first-child:has(.correction-timecode ~ .correction-timecode) .correction-timecode{font-size:16px;line-height:18px;letter-spacing:0;padding:0 2px}
.player-shell.player-smartphone .player-recent-corrections .player-correction-select>span:first-child:has(.correction-timecode ~ .correction-timecode) .correction-timecode{font-size:11px;line-height:16px;letter-spacing:0;padding:0 1px}
.player-shell .player-review-actions-compact>.player-review-top-actions{grid-template-columns:repeat(3,22px);width:68px}
.player-shell .player-recent-corrections .player-review-top-actions>.player-author-badge{max-width:22px;padding:1px;font-size:8px}
.player-shell[data-layout] .player-recent-corrections .player-review-controls [data-review-verdict]>button[data-review-set]{width:22px;min-width:22px}

/* Stereo output, volume, compression intensity and actual gain reduction. */
.player-meter-fader{display:grid;grid-template-columns:32px minmax(90px,1fr) 68px 28px;grid-template-rows:22px minmax(0,1fr) 34px;column-gap:8px;width:300px;max-width:calc(100vw - 16px);box-sizing:border-box}
.player-meter-fader[hidden]{display:none}
.player-meter-fader>header{grid-column:2;grid-row:1;width:100%;box-sizing:border-box}
.player-meter-fader>.meter-fader-rail{grid-column:2;grid-row:2;justify-self:center;align-self:stretch;min-height:0;margin:46px 0}
.player-meter-fader>.player-volume-number{grid-column:2;grid-row:3;justify-self:center}
.player-meter-fader>.large-compression-title{grid-column:3;grid-row:1;text-align:center;font:700 12px Arial;color:#e2ad65}
.player-meter-fader>.compression-fader-rail{grid-column:3;--volume-cap:url('/assets/volume-chrome-unity.svg?v=4')}
.player-meter-fader>.compression-fader-rail input{width:62px}
.player-meter-fader>.compression-fader-rail i{width:44px;height:68px}
.large-compression-value{grid-column:3;grid-row:3;align-self:center;text-align:center;color:#ffc779;font:14px ui-monospace,monospace}
.large-stereo-meter,.large-reduction-meter{grid-row:2;align-self:stretch;margin:4px 0;min-height:0;display:grid;grid-template-rows:18px minmax(0,1fr) 20px;gap:4px;font:9px ui-monospace,monospace;text-align:center;color:#d0dce0;pointer-events:none}
.large-stereo-meter{grid-column:1;grid-template-columns:1fr 1fr}.large-reduction-meter{grid-column:4;grid-template-columns:1fr}
.large-stereo-meter>div,.large-reduction-meter>div{grid-row:2;position:relative;overflow:hidden;border:1px solid #0a1116;border-radius:2px;background:repeating-linear-gradient(to top,#172820 0 4px,#0b1416 4px 6px);box-shadow:inset 1px 1px 3px #000,1px 0 #75828b55}
.large-stereo-meter i,.large-reduction-meter i{position:absolute;bottom:0;left:0;right:0;height:0;background:repeating-linear-gradient(to top,transparent 0 4px,#10191caa 4px 6px),linear-gradient(to top,#3cc879,#a6e267 75%,#f2ba50 90%,#ff5c47);background-size:100% 100%;transition:height .06s linear}
.large-stereo-meter>small{grid-column:1/3;font-size:8px}.large-stereo-meter .is-clipping{box-shadow:0 0 5px #ff5039}
.large-reduction-meter i{top:0;bottom:auto;background:repeating-linear-gradient(to bottom,transparent 0 4px,#211609aa 4px 6px),linear-gradient(#ffc96c,#e8943d 65%,#e05037)}
.large-reduction-meter small{font-size:9px;color:#ffbf68}

.large-reduction-meter .large-compression-boost{position:absolute;bottom:0;left:0;right:0;height:0;background:repeating-linear-gradient(to top,transparent 0 4px,#3b260d99 4px 6px),linear-gradient(to top,#df9f35,#ffe6a4);box-shadow:0 0 5px #ffd88755;transition:height .06s linear}
.large-reduction-meter small{font-size:7px;white-space:normal;line-height:10px}

.compression-fader-rail::after{content:"";position:absolute;bottom:35%;left:-10px;width:31px;height:1px;background:#d8aa6388;pointer-events:none}

.player-meter-fader>.large-compression-title{font:700 10px/1 Arial,sans-serif;width:88px;min-width:0;justify-self:center;min-height:25px;height:25px;padding:4px 5px;color:#dcc87a;border:1px solid #887d52;border-radius:4px;background:linear-gradient(#56605c,#242f34);box-shadow:inset 0 1px #ffffff33,0 2px 3px #0007;cursor:pointer}
.player-meter-fader>.large-compression-title[aria-pressed="true"]{color:#fff19a;border-color:#cab750;background:linear-gradient(#6d6741,#393b28);text-shadow:0 0 5px #ffe34366}
.compression-fader-rail::after{bottom:50%;transform:translateY(50%);height:2px;left:-17px;width:45px}
.player-meter-fader>.compression-fader-rail[data-compression-state="below"]{--volume-cap:url('/assets/compression-chrome-below.svg')}
.player-meter-fader>.compression-fader-rail[data-compression-state="unity"]{--volume-cap:url('/assets/compression-chrome-unity.svg')}
.player-meter-fader>.compression-fader-rail[data-compression-state="above"]{--volume-cap:url('/assets/compression-chrome-above.svg')}

/* Separate the unit label from the full-size, two-position compressor switch. */
.player-meter-fader{grid-template-columns:28px minmax(84px,1fr) 100px 24px;grid-template-rows:112px minmax(0,1fr) 34px;width:324px;column-gap:6px}
.player-meter-fader>header{flex-direction:column;justify-content:center;gap:9px}
.player-meter-fader>.large-compression-title{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:100%;height:112px;min-height:44px;padding:3px;border:0;border-radius:7px;background:transparent;box-shadow:none;color:#dfd7bb;touch-action:manipulation}
.large-compression-title .compressor-caption{font:700 10px/1 Arial,sans-serif;letter-spacing:.3px}
.compressor-switch-face{position:relative;display:block;width:94px;height:84px;font:700 10px/1 Arial,sans-serif}
.compressor-switch-face>.compressor-off,.compressor-switch-face>.compressor-on{position:absolute;top:0}
.compressor-switch-face>.compressor-off{left:4px}.compressor-switch-face>.compressor-on{right:5px}
.compressor-lever{position:absolute;display:block;left:15px;top:19px;width:64px;height:64px;box-sizing:border-box;border:2px solid #101214;border-radius:50%;background:radial-gradient(circle at 38% 26%,#575b5b 0,#292c2d 38%,#17191a 65%,#080a0b 70%,#5b6060 73%,#17191a 79%);box-shadow:3px 5px 6px #0009,inset 1px 2px 2px #b6b8ad66,inset -2px -2px 3px #000;transform:rotate(-42deg);transition:transform .18s ease-out}
.compressor-lever::before{content:'';position:absolute;inset:3px 18px;border-radius:35% 35% 22% 22%;background:linear-gradient(90deg,#111415,#424747 36%,#292d2e 66%,#0e1011);box-shadow:2px 1px 3px #000b,inset 1px 0 #a8aaa366;transform:perspective(80px) rotateX(12deg)}
.compressor-lever::after{content:'';position:absolute;top:4px;left:28px;width:3px;height:26px;border-radius:2px;background:#f2f0df;box-shadow:0 0 1px #fff9}
.large-compression-title .compressor-off{color:#f3e8ca}.large-compression-title .compressor-on{color:#87918e}
.player-meter-fader>.large-compression-title[aria-pressed="true"]{background:transparent;border:0;text-shadow:none}
.large-compression-title[aria-pressed="true"] .compressor-lever{transform:rotate(42deg)}
.large-compression-title[aria-pressed="true"] .compressor-off{color:#87918e}
.large-compression-title[aria-pressed="true"] .compressor-on{color:#ffcf70;text-shadow:0 0 7px #ffad36}
.player-meter-fader>.large-compression-title:focus-visible{outline:2px solid #ffd487;outline-offset:3px}
.player-meter-fader>.large-compression-title{touch-action:none;cursor:ew-resize;user-select:none;-webkit-user-select:none}
.player-meter-fader{grid-template-columns:32px minmax(70px,1fr) 100px 24px 32px;grid-template-rows:112px minmax(0,1fr) 34px 20px;width:366px;padding-left:8px;padding-right:8px;column-gap:4px}
.large-pre-meter{grid-column:1}.large-post-meter{grid-column:5}
.large-master-peak{grid-column:1/-1;grid-row:4;text-align:center;color:#ffcf83;font:11px/20px ui-monospace,monospace}
.large-pre-meter{pointer-events:auto}
.player-meter-fader .meter-overload{box-sizing:border-box;min-width:0;min-height:0;width:14px;height:16px;padding:0;border:1px solid #75413e;border-radius:4px;background:radial-gradient(circle at 35% 30%,#6b302b,#280c0c);color:#d8b9b5;font:8px/14px Arial;box-shadow:inset 0 1px 2px #000;cursor:pointer;touch-action:manipulation}
.player-meter-fader .meter-overload[aria-pressed="true"]{background:radial-gradient(circle at 35% 30%,#ffd4bd,#ff3528 45%,#a90000);color:#fff;box-shadow:0 0 7px #ff3020,inset 0 1px #ffd2bd}
.player-meter-fader .meter-overload:focus-visible{outline:2px solid #ffd487;outline-offset:2px}
/* Fixed LED strip: reveal its lower part instead of scaling its colours. */
.large-stereo-meter{margin:24px 0 22px}
.large-stereo-meter i{height:100%;clip-path:inset(100% 0 0 0);background:repeating-linear-gradient(to top,transparent 0 4px,#10191caa 4px 6px),linear-gradient(to top,#49d57d 0 75%,#f1c34d 75% calc(100% - 6px),#ff473b calc(100% - 6px) 100%);transition:clip-path .06s linear}
@media(max-height:420px){.player-meter-fader{grid-template-rows:94px minmax(0,1fr) 30px}.player-meter-fader>.large-compression-title{height:94px;gap:3px}.compressor-switch-face{height:68px}.compressor-lever{top:15px;left:21px;width:52px;height:52px}.compressor-lever::before{inset:3px 14px}.compressor-lever::after{left:22px;height:21px}}

/* Peak headroom windows and clearance beside the enlarged meters. */
.player-meter-fader{padding-left:18px;padding-right:18px;width:398px;grid-template-columns:38px minmax(70px,1fr) 100px 24px 38px}
.large-stereo-meter{position:relative}
.large-meter-headroom{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);box-sizing:border-box;width:48px;padding:4px 2px;border:1px solid #657581;border-radius:3px;background:#101b20;color:#70f59a;text-align:center;white-space:nowrap;font:9px/1.2 ui-monospace,monospace;box-shadow:inset 0 1px 3px #0009}
.large-meter-headroom[data-level="near"]{color:#ffb34d}
.large-meter-headroom[data-level="clip"]{color:#ff6868}

.player-meter-fader>.large-reduction-meter{transform:translateX(-14px)}

.player-shell .player-volume-readout[data-volume-state="below"]{color:#70f59a;-webkit-text-fill-color:currentColor;text-shadow:0 0 5px #39cf6b66}
.player-shell .player-volume-readout[data-volume-state="unity"]{color:#ffb34d;-webkit-text-fill-color:currentColor;text-shadow:0 0 5px #ff932b66}
.player-shell .player-volume-readout[data-volume-state="above"]{color:#ff6868;-webkit-text-fill-color:currentColor;text-shadow:0 0 5px #ff393966}
.player-shell .player-volume-readout[data-volume-state="mute"]{color:#65baff;-webkit-text-fill-color:currentColor;animation:volume-mute-readout 1s steps(1,end) infinite}

.player-meter-fader>.large-reduction-meter{margin-top:24px;margin-bottom:22px}

.player-meter-fader{grid-template-rows:112px minmax(0,1fr) 34px}
@media(max-height:420px){.player-meter-fader{grid-template-rows:94px minmax(0,1fr) 30px}}

.player-meter-fader{width:374px;grid-template-columns:38px minmax(70px,1fr) 76px 24px 38px}

.compression-percent-scale{position:absolute;inset:0;pointer-events:none}
.compression-percent-scale span{position:absolute;right:calc(100% + 9px);width:30px;padding-right:9px;box-sizing:border-box;transform:translateY(50%);text-align:right;color:#c8d5db;font:8px/1 ui-monospace,monospace;white-space:nowrap;text-shadow:0 1px #000}
.compression-percent-scale span::after{content:'';position:absolute;right:0;top:50%;width:5px;height:1px;background:#8497a2}
.compression-percent-scale span.is-major::after{width:7px;background:#c8d5db}
.compression-percent-scale span.is-default::after{width:12px;height:2px;transform:translateY(-50%);background:#d8aa63}

.player-meter-fader{grid-template-rows:70px minmax(0,1fr) 34px;height:min(600px,84dvh)}
.player-meter-fader>header{align-self:end;justify-content:flex-end;padding-bottom:6px;gap:0}
.player-meter-fader>header small{font-size:11px}
.large-meter-headroom{width:64px;padding:5px 3px;font-size:13px;line-height:16px}
.large-meter-headroom-label{position:absolute;bottom:calc(100% + 41px);left:50%;transform:translateX(-50%);font:700 12px/1 Arial,sans-serif;color:#d0dce0;white-space:nowrap}
.player-meter-fader>.large-compression-title{grid-row:1/3;align-self:start;height:94px;margin-top:20px;gap:3px;z-index:1}
@media(max-height:420px){.player-meter-fader{grid-template-rows:54px minmax(0,1fr) 30px;height:calc(100dvh - 16px)}.player-meter-fader>.large-compression-title{height:78px;margin-top:20px}}

.player-meter-fader>header{gap:5px;padding-bottom:0}
.player-meter-fader .large-meter-headroom-label{min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:#d0dce0;box-shadow:none;font:700 12px/1 Arial,sans-serif;cursor:pointer;pointer-events:auto}
.large-meter-headroom{pointer-events:auto;cursor:pointer}
.large-overload-label{position:absolute;top:9px;left:calc(100% + 4px);font:700 9px/1 Arial,sans-serif;color:#d8b9b5}
.large-meter-headroom.is-overloaded{color:#ff6868;animation:meter-headroom-overload .8s steps(1,end) infinite}
@keyframes meter-headroom-overload{50%{color:#962b2b;text-shadow:none}0%,100%{color:#ff6868;text-shadow:0 0 5px #ff393988}}

.player-meter-fader .compressor-switch-face{transform:translateY(-2mm) scale(.9);transform-origin:center center}
.player-meter-fader>.player-volume-number,.player-meter-fader>.large-compression-value{box-sizing:border-box;justify-self:center;align-self:start;width:68px;min-width:68px;height:30px;padding:4px;border:1px solid #657581;border-radius:3px;background:#101b20;color:#ffd18a;text-align:center;font:15px/20px ui-monospace,monospace;box-shadow:inset 0 1px 3px #0009;transform:translateY(-8px);overflow:hidden}

.player-meter-fader>.compression-fader-rail[data-compression-enabled="false"]{--volume-cap:url('/assets/compression-chrome-off.svg')}
.player-meter-fader>.large-compression-value[data-compression-enabled="false"]{color:#87918e;text-shadow:none}
.player-meter-fader>.large-compression-value[data-compression-enabled="true"]{color:#ffe12c;text-shadow:0 0 5px #ffe12c55}
.large-compression-title .compressor-off{color:#87918e}
.large-compression-title[aria-pressed="true"] .compressor-on{color:#ffe12c;text-shadow:0 0 5px #ffe12c55}

.player-meter-fader .large-overload-label{top:8px;transform:translateY(-50%)}
.player-meter-fader>header{position:relative;align-self:stretch;justify-content:flex-start;padding:0;gap:0}
.player-meter-fader>header>span{position:absolute;top:55px;left:50%;transform:translateX(-50%);font:700 12px/1 Arial,sans-serif}
.player-meter-fader>header>small{position:absolute;top:73px;left:50%;transform:translateX(-50%);font:11px/1 Arial,sans-serif}
@media(max-height:420px){.player-meter-fader>header>span{top:34px}.player-meter-fader>header>small{top:52px}}

.player-meter-fader>header>span{top:49px}.player-meter-fader>header>small{top:67px}
@media(max-height:420px){.player-meter-fader>header>span{top:28px}.player-meter-fader>header>small{top:46px}}

.compressor-switch-face>.compressor-off,.compressor-switch-face>.compressor-on{top:1.5mm}

.player-meter-fader{isolation:isolate}
.player-meter-fader>.large-compressor-frame{grid-column:3/5;grid-row:1/4;align-self:stretch;position:relative;z-index:0;pointer-events:none;margin:-2px 5px 0 -12px;border:1px solid;border-color:#111a1f #697983 #75858f #10181d;border-radius:8px;background:linear-gradient(110deg,#17232a,#25343d 48%,#1b2931);box-shadow:inset 2px 3px 5px #0009,inset -1px -1px 2px #afc0ca22,0 -1px 0 #020609,0 1px 0 #b8c9d14d}
.large-compressor-frame::before{content:'';position:absolute;inset:3px;border-radius:5px;border:1px solid;border-color:#080f14 #52616b55 #64747e66 #0a1218;background:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 3px);box-shadow:inset 0 1px 2px #0006;pointer-events:none}
.player-meter-fader>.large-compression-title,.player-meter-fader>.compression-fader-rail,.player-meter-fader>.large-compression-value,.player-meter-fader>.large-reduction-meter{z-index:1}

.player-meter-fader>.large-compressor-frame{border-color:#a4b4be #475963 #101a21 #81939e;background:linear-gradient(115deg,#41535f 0%,#344650 42%,#2c3d47 76%,#23343e);box-shadow:inset 1px 1px 1px #d4e0e766,inset -1px -2px 2px #071018aa,2px 4px 6px #0008,0 1px 1px #000b}
.large-compressor-frame::before{border-color:#b4c5cf55 #14232c88 #102029aa #9bafb966;background:repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 3px);box-shadow:inset 0 1px 1px #d4e0e722}

.player-meter-fader>.large-compression-value{grid-column:3/5;justify-self:center;margin-left:-12px;margin-right:5px}
.compressor-frame-screw{position:absolute;width:6px;height:6px;border-radius:50%;border:1px solid #101b22;background:radial-gradient(circle at 36% 30%,#b7c5cc 0%,#71818b 34%,#43535e 60%,#26353e 76%,#7e8f99 90%);box-shadow:inset 0 1px 2px #000b,0 1px 0 #c8d7df55,0 0 0 1px #0d192166}
.compressor-frame-screw::after{content:'';position:absolute;left:1px;right:1px;top:2px;height:1px;background:#18252d;box-shadow:0 1px #c5d0d555;transform:rotate(-32deg)}
.compressor-frame-screw.top-left{top:6px;left:6px}.compressor-frame-screw.top-right{top:6px;right:6px}
.compressor-frame-screw.bottom-left{bottom:6px;left:6px}.compressor-frame-screw.bottom-right{bottom:6px;right:6px}

.player-meter-fader>.large-compressor-frame{border-color:#111a1f #697983 #75858f #10181d;background:linear-gradient(110deg,#17232a,#25343d 48%,#1b2931);box-shadow:inset 2px 3px 5px #0009,inset -1px -1px 2px #afc0ca22,0 -1px 0 #020609,0 1px 0 #b8c9d14d}
.large-compressor-frame::before{border-color:#080f14 #52616b55 #64747e66 #0a1218;background:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 3px);box-shadow:inset 0 1px 2px #0006}

.player-meter-fader{border:1px solid #10191f;border-radius:2px;background:repeating-linear-gradient(90deg,#ffffff06 0 1px,#00000009 1px 2px,transparent 2px 4px),linear-gradient(90deg,#263640,#3b4d58 45%,#2b3d48);box-shadow:0 6px 24px #0009,0 1px 0 #81939f66}
.player-meter-fader::before{content:'';position:absolute;inset:0;box-sizing:border-box;border-style:solid;border-width:6px;border-color:#a4b5bf #526571 #15232c #7e929f;border-radius:1px;pointer-events:none;z-index:2;box-shadow:inset 0 0 0 1px #0c1921,0 0 0 1px #a7bac533}
.player-meter-fader::after{content:'';position:absolute;inset:1px;pointer-events:none;z-index:3;background:repeating-linear-gradient(90deg,#ffffff12 0 1px,#0000000d 1px 2px,transparent 2px 4px);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 0,5px 5px,5px calc(100% - 5px),calc(100% - 5px) calc(100% - 5px),calc(100% - 5px) 5px,5px 5px)}

.player-meter-fader>.large-frame-screw{position:absolute;z-index:4;box-sizing:border-box;width:12px;height:12px;border-radius:50%;border:1px solid #17232b;pointer-events:none;background:radial-gradient(circle at 35% 28%,#eef3f5 0%,#c0ccd2 15%,#8798a3 36%,#435660 63%,#20313b 71%,#9aabb5 81%,#536771 92%,#17252d 100%);box-shadow:inset 0 1px 2px #0008,0 1px 0 #e3edf277,0 -1px 1px #000c,0 0 0 1px #0b172188}
.large-frame-screw::before{content:'';position:absolute;inset:2px;border-radius:50%;border:1px solid #e2ebef33;box-shadow:inset 0 -1px 1px #0005}
.large-frame-screw::after{content:'';position:absolute;left:2px;right:2px;top:4px;height:2px;border-radius:1px;background:linear-gradient(#0a161d,#344750);box-shadow:0 1px 0 #e1ebef99;transform:rotate(-32deg)}
.large-frame-screw.top-left{top:8px;left:8px}.large-frame-screw.top-right{top:8px;right:8px}
.large-frame-screw.bottom-left{bottom:8px;left:8px}.large-frame-screw.bottom-right{bottom:8px;right:8px}
.large-frame-screw.top-right::after{transform:rotate(24deg)}.large-frame-screw.bottom-left::after{transform:rotate(12deg)}.large-frame-screw.bottom-right::after{transform:rotate(-48deg)}

.player-meter-fader{background:repeating-linear-gradient(90deg,transparent 0 2px,#e6f0f504 2px 2.4px,transparent 2.4px 7px,#00000007 7px 7.6px,transparent 7.6px 13px,#ffffff03 13px 13.3px,transparent 13.3px 19px),repeating-linear-gradient(90deg,transparent 0 5px,#00000004 5px 5.4px,transparent 5.4px 17px,#ffffff04 17px 17.7px,transparent 17.7px 31px),linear-gradient(103deg,#283943 0%,#334650 26%,#3a4c56 47%,#344751 62%,#2c3e49 100%)}
.player-meter-fader::after{opacity:.55;background:repeating-linear-gradient(90deg,transparent 0 3px,#ffffff0b 3px 3.5px,transparent 3.5px 11px,#0000000b 11px 11.4px,transparent 11.4px 23px),repeating-linear-gradient(90deg,transparent 0 7px,#ffffff06 7px 7.4px,transparent 7.4px 29px)}

.player-meter-fader{background:repeating-linear-gradient(90deg,transparent 0 2px,#e6f0f509 2px 2.8px,transparent 2.8px 7px,#0000000d 7px 8px,transparent 8px 13px,#ffffff07 13px 13.7px,transparent 13.7px 19px),repeating-linear-gradient(90deg,transparent 0 5px,#00000008 5px 5.9px,transparent 5.9px 17px,#ffffff09 17px 18.1px,transparent 18.1px 31px),linear-gradient(103deg,#283943 0%,#334650 26%,#3a4c56 47%,#344751 62%,#2c3e49 100%)}
.player-meter-fader::after{opacity:.75}

.player-meter-fader>.large-fader-play{position:absolute;top:14px;left:24px;z-index:4;display:flex;align-items:center;justify-content:center;gap:4px;width:58px;height:30px;min-width:58px;min-height:30px;padding:2px 5px;border:1px solid;border-color:#a6b5bf #14242e #10202a #718591;border-radius:4px;background:linear-gradient(#536773,#263c49);box-shadow:inset 0 1px #dbe7ed33,0 2px 3px #0008;touch-action:manipulation}
.large-fader-backdrop{display:none}
.player-shell.player-smartphone:has(.player-meter-fader:not([hidden]))>.large-fader-backdrop{display:block;position:fixed;inset:0;z-index:10000;background:#07101866;touch-action:none}
.player-shell.player-smartphone>.player-meter-fader{z-index:10001}

.player-meter-fader>.large-frame-screw{border:1px solid #17242d;background:conic-gradient(from 20deg,#9baab3 0deg,#dce4e9 65deg,#b3c0c8 100deg,#6e808c 170deg,#a8b7c1 225deg,#e4ebef 290deg,#9baab3 360deg);box-shadow:0 0 0 1px #07131c,0 1px 0 1px #becbd455,inset 0 0 0 1px #d5dfe655}
.large-frame-screw::before{inset:1px;border:1px solid;border-color:#e4ebef #748894 #526977 #b9c7d0;background:repeating-linear-gradient(90deg,#ffffff07 0 .5px,transparent .5px 1.5px),linear-gradient(115deg,#c1cdd5,#b1c0cb 55%,#99acb9);box-shadow:none}
.large-frame-screw::after{left:1px;right:1px;top:4px;height:2px;border-radius:0;background:#10232f;box-shadow:0 -0.5px #617888,0 .5px #e8f0f6}

.player-meter-fader>.large-fader-play>svg{pointer-events:none}

.player-meter-fader>.large-frame-screw{--screw-angle:-32deg;overflow:hidden;background:linear-gradient(115deg,#bac8d1,#a8bac6 55%,#91a7b5);border:1px solid #243946;box-shadow:0 0 0 1px #091823,0 1px 0 1px #c3d1db55;}
.player-meter-fader>.large-frame-screw::before{inset:0;border:0;border-radius:0;box-shadow:none;background:repeating-linear-gradient(0deg,#ffffff16 0 .4px,#0000000b .4px .7px,transparent .7px 1.4px);transform:rotate(var(--screw-angle)) scale(1.5)}
.player-meter-fader>.large-frame-screw::after{left:-3px;right:-3px;top:4px;height:2px;border-radius:0;background:#10232f;box-shadow:0 -0.5px #617888,0 .5px #e8f0f6;transform:rotate(var(--screw-angle))}
.player-meter-fader>.large-frame-screw.top-right{--screw-angle:24deg}
.player-meter-fader>.large-frame-screw.bottom-left{--screw-angle:12deg}
.player-meter-fader>.large-frame-screw.bottom-right{--screw-angle:-48deg}

.player-meter-fader>.large-fader-play{left:calc(50% - 82px)}
.player-meter-fader>.large-fader-play{outline:1px solid #101a20;outline-offset:1px;box-shadow:inset 0 1px #dbe7ed44,inset 0 -1px #07121c,0 0 0 1px #070e14,0 2px 3px 1px #0007}

.player-meter-fader>header>span,.player-meter-fader>header>small{margin-top:6px}

.player-meter-fader>header>span,.player-meter-fader>header>small{margin-top:18px}

.player-meter-fader>.large-frame-screw{width:21.6px;height:21.6px;border:1px solid #172c3b;background:#acbdc9;box-shadow:0 0 0 1px #091823}
.player-meter-fader>.large-frame-screw::before{background:repeating-linear-gradient(0deg,#ffffff16 0 .4px,#0000000b .4px .7px,transparent .7px 1.4px)}
.player-meter-fader>.large-frame-screw::after{left:-5px;right:-5px;top:calc(50% - 1px);height:2px;background:#10232f;box-shadow:0 .5px #d8e5ee88}

.player-meter-fader>.large-frame-screw{width:18px;height:18px}

.player-shell:not(.player-smartphone) .player-transport::before{background-image:url('/assets/transport-slotted-screw.svg?v=2'),url('/assets/transport-slotted-screw-24.svg'),url('/assets/transport-slotted-screw-12.svg'),url('/assets/transport-slotted-screw--48.svg');background-size:20px 20px}

.player-meter-fader>.large-frame-screw{background:#3a4d58;border-color:#20323e;box-shadow:0 0 0 1px #11232e}
.player-meter-fader>.large-frame-screw::before{background:repeating-linear-gradient(0deg,#cfdee80d 0 .4px,#0000000b .4px .7px,transparent .7px 1.4px)}
.player-meter-fader>.large-frame-screw::after{background:#152934;box-shadow:0 .5px #78909f66}

.player-shell:not(.player-smartphone) .player-transport>.player-transport-buttons{justify-self:stretch;justify-content:flex-start;width:100%;margin-left:0}
.player-shell:not(.player-smartphone) .player-transport-buttons>.player-timecodes{margin-left:0}

.player-speed-vintage.is-shuttle .player-speed-marks>span{display:block;width:auto;text-align:center;white-space:nowrap}

.player-speed-unity-playback{position:absolute;left:calc(50% + 9px);top:4px;color:#ffe12c;font:12px/1 Arial,sans-serif;text-shadow:0 0 5px #ffe12c88;pointer-events:none;z-index:3}
.player-speed-unity-playback[hidden]{display:none}
.player-speed-vintage.is-unity-playback{--speed-active-glow:#ffe12c}

.player-speed-gauge-face>.player-speed-unity-playback{left:62%;top:50%;transform:translateY(-50%);font-size:10px}
.player-shell.player-smartphone .player-speed-gauge-face>.player-speed-unity-playback{font-size:8px}

.player-speed-vintage.is-unity-playback .player-speed-gauge-face>.player-speed-unity-playback{color:#101820;text-shadow:none}

.player-speed-vintage.is-microloop.is-unity-playback .player-speed-gauge-face::before{background:#ffe12c;mix-blend-mode:normal;box-shadow:0 0 5px #ffe12c66}
.player-speed-vintage.is-microloop.is-unity-playback .player-speed-unity-playback{left:var(--speed-needle-position,50%);top:50%;transform:translate(-50%,-50%);color:#101820;text-shadow:none;z-index:5}

.player-broadcast-clock[role="button"]{cursor:pointer;position:relative}
.player-broadcast-clock:focus-visible{outline:2px solid #ffe12c;outline-offset:3px}
.player-broadcast-clock.has-alarm::after{content:'';position:absolute;right:7%;top:7%;width:6px;height:6px;border-radius:50%;background:#ffe12c;box-shadow:0 0 4px #ffe12c}
.player-broadcast-clock.is-alarm-ringing{animation:clock-alarm-flash .7s steps(1,end) infinite}
@keyframes clock-alarm-flash{50%{box-shadow:0 0 15px #ffbd39,inset 0 0 10px #ffbd3966}}
.player-clock-alarm-dialog{width:min(340px,calc(100vw - 28px));box-sizing:border-box;padding:20px;border:1px solid #82939f;border-radius:6px;background:linear-gradient(115deg,#354650,#1b2831);color:#e7eff4;box-shadow:0 8px 30px #0009}
.player-clock-alarm-dialog::backdrop{background:#07101899}
.player-clock-alarm-dialog h3{margin:0 0 18px}
.player-clock-alarm-dialog label{display:flex;align-items:center;justify-content:space-between;gap:12px}
.player-clock-alarm-dialog input{font:20px ui-monospace,monospace;padding:6px;color-scheme:dark}
.player-clock-alarm-dialog form>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.player-clock-alarm-dialog button{min-height:38px;padding:6px 12px}

/* Score audition sits immediately before the VU meters. */
.player-transport-buttons > .player-score-synth-button { margin-left:auto; padding:3px 5px; }
.player-score-synth-button svg { display:block; width:34px; height:30px; pointer-events:none; }
.player-score-synth-button[aria-pressed="true"] { box-shadow:inset 0 0 0 2px #b77d35; }
.player-synth-tempo{display:none}
.player-speed-vintage.is-synth-tempo{--speed-active-glow:#ff982f;box-shadow:0 0 5px #ed862e88}
.player-speed-vintage.is-synth-tempo .player-speed-gauge-face{background:linear-gradient(#f5a44b,#d87624);color:#26170a}
.player-speed-vintage.is-synth-tempo .player-speed-gauge-face>:not(.player-synth-tempo){visibility:hidden}
.player-speed-vintage.is-synth-tempo .player-speed-gauge-face::before{display:none}
.player-speed-vintage.is-synth-tempo .player-speed-wheel{background-color:#a65a20;box-shadow:inset 0 0 6px #ffac47}
.is-synth-tempo .player-synth-tempo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:4px;pointer-events:none;font:bold 10px/1 Arial,sans-serif;z-index:6}
.player-synth-tempo span{min-width:42px;text-align:center}
.player-synth-tempo i{display:block;flex:none;background:currentColor;height:10px}
.player-synth-tempo .tempo-slower{width:6px;clip-path:polygon(100% 0,0 50%,100% 100%)}
.player-synth-tempo .tempo-faster{width:10px;clip-path:polygon(0 0,100% 50%,0 100%)}
.player-smartphone .player-synth-tempo{gap:1px;font-size:7px}
.player-smartphone .player-synth-tempo span{min-width:0}
.player-smartphone .player-synth-tempo i{height:8px}
.player-smartphone .player-synth-tempo .tempo-slower{width:4px}
.player-smartphone .player-synth-tempo .tempo-faster{width:7px}
.player-smartphone .player-score-synth-button svg { width:100%; height:26px; }
.player-score-synth-menu { z-index:2147483647; box-sizing:border-box; width:272px; max-width:calc(100vw - 16px); padding:16px; border:1px solid #777; border-radius:12px; background:#292b2e; color:#f2eee7; box-shadow:0 10px 35px #0008; font:14px system-ui,sans-serif; }
.player-score-synth-menu > strong { display:block; margin-bottom:12px; }
.player-score-synth-field { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:8px; margin:10px 0; }
.player-score-synth-field select,.player-score-synth-field input { min-width:0; width:100%; box-sizing:border-box; padding:6px; color:#eee; background:#17191b; border:1px solid #777; border-radius:5px; }
.player-score-synth-close { display:block; margin:12px 0 0 auto; padding:6px 12px; }

/* Real recording comparison for the selected score zone. */
.player-score-real-voice-container:empty,.player-score-real-voice[hidden]{display:none!important}
.player-score-real-voice{flex:none;box-sizing:border-box;min-width:0;margin:8px 0;padding:12px;border:1px solid #677176;border-radius:10px;background:#242b30;color:#efe9dd}
.player-score-real-voice-header,.player-score-real-voice-modes,.player-score-real-voice-transport,.player-score-real-voice-seek{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.player-score-real-voice-header{justify-content:space-between;margin-bottom:10px}
.player-score-real-voice-modes button,.player-score-real-voice-transport button,.player-score-real-voice-header button{padding:7px 12px;border:1px solid #717c82;border-radius:6px;background:#364149;color:#fff;font-size:13px;cursor:pointer}
.player-score-real-voice-modes button[aria-pressed="true"]{background:#d3ae6c;color:#151a1d}
.player-score-real-voice button:disabled{opacity:.45;cursor:default}
.player-score-real-voice-transport,.player-score-real-voice-seek{margin-top:10px}
.player-score-real-voice-transport label{display:flex;align-items:center;gap:5px;font-size:13px}
.player-score-real-voice-seek input{flex:1;min-width:80px;accent-color:#d3ae6c}
.player-score-real-voice-time{font-size:12px;font-variant-numeric:tabular-nums}
.player-score-real-voice-status,.player-score-real-voice-help{font-size:12px;line-height:1.4;margin:8px 0 0;color:#d0d5d7}
.player-score-real-voice button:focus-visible{outline:2px solid #97dece;outline-offset:2px}
.player-smartphone .player-score-real-voice{padding:9px}
.player-score-zone-tools{flex-wrap:wrap}

.player-score-context-menu.has-voice-actions{width:204px;max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);overflow-y:auto;padding:5px;display:flex;flex-direction:column;gap:2px}
.player-score-context-menu.has-voice-actions button{width:100%;min-width:0;min-height:32px;height:auto;text-align:left;padding:6px 9px;font-size:13px;display:block}
.player-score-context-menu.has-voice-actions button svg{display:none}
.player-smartphone .player-score-zone-tools{display:none}
@media(pointer:coarse){.player-score-zone-tools{display:none}}
.player-score-context-menu.has-voice-actions button{color:#25332b}
.player-score-context-menu.has-voice-actions button:first-child{color:#9b3025}
.player-score-synth-menu{max-height:calc(100dvh - 16px);overflow-y:auto}
.player-score-synth-hint{font-size:11px;line-height:1.4;color:#c1c8cb;margin:10px 0}

/* High contrast menus over the score, including touch devices. */
.player-score-context-menu,.player-score-context-menu.is-touch-menu,.player-score-context-menu.has-voice-actions{background:#171d22!important;color:#fff!important;border:1px solid #aab6bf!important;box-shadow:0 8px 28px #0009}
.player-score-context-menu button,.player-score-context-menu.is-touch-menu button,.player-score-context-menu.has-voice-actions button{background:#171d22!important;color:#fff!important;border:1px solid transparent;border-radius:4px}
.player-score-context-menu.has-voice-actions button:first-child{color:#ffb4ab!important}
.player-score-context-menu button:hover,.player-score-context-menu button:focus-visible,.player-score-context-menu.is-touch-menu button:focus,.player-score-context-menu button[aria-checked="true"]{background:#f2cb7c!important;color:#14191d!important;border-color:#fff!important;outline:2px solid #fff;outline-offset:-2px}
.player-score-synth-menu{background:#171d22;color:#fff;border-color:#aab6bf}
.player-score-synth-field select,.player-score-synth-field input{background:#0c1115;color:#fff;border-color:#aab6bf}
.player-score-synth-close{background:#f2cb7c;color:#14191d;border:1px solid #fff;border-radius:5px}
.player-score-synth-hint{color:#dce3e8}
/* Folded corners turn the score without reserving space beside the music. */
.player-shell .player-score-nav-back,.player-shell .player-score-nav-forward{bottom:0;padding:0;gap:0;border:0;border-radius:0;background:none;box-shadow:none}
.player-shell .player-score-nav-back{left:0}
.player-shell .player-score-nav-forward{right:0}
.player-shell .player-score-navigation button[data-score-prev],.player-shell .player-score-navigation button[data-score-next]{display:block;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;border:0;border-radius:0;font-size:0;background:transparent url("/assets/score-page-fold.svg") center/100% 100% no-repeat;clip-path:polygon(100% 0,100% 100%,0 100%,25% 35%);cursor:pointer;touch-action:manipulation}
.player-shell .player-score-navigation button[data-score-prev]{transform:scaleX(-1)}
.player-shell .player-score-navigation button:disabled{opacity:.22;cursor:default}
.player-shell .player-score-navigation button:not(:disabled):hover,.player-shell .player-score-navigation button:focus-visible{filter:drop-shadow(-1px -1px 1px #0003);outline:1px solid #0005;outline-offset:-2px}
.player-shell .player-score-navigation [data-score-page]{left:auto;right:40px;bottom:2px;transform:none;padding:1px 3px;border-radius:2px;background:#fffdf5e8;color:#514a3e;font-size:9px;line-height:1.15;pointer-events:none}
.player-shell .player-score-navigation [data-score-page].is-zone-action{background:#f2cb7c;color:#14191d;font-size:10px}
/* Illuminated compressor caption, centered inside the compressor panel. */
.player-meter-fader>.large-compression-title{grid-column:3/5;justify-self:center;width:calc(100% - 17px);margin-left:-12px;margin-right:5px;margin-top:12px;gap:6px;z-index:5;cursor:pointer;pointer-events:auto}
.large-compression-title *{pointer-events:none}
.large-post-meter>.output-brickwall{position:absolute;top:auto;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);display:grid;grid-template-columns:14px 14px;grid-template-rows:auto auto auto;justify-content:center;justify-items:center;gap:5px 4px;width:68px;padding:5px 4px 7px;overflow:visible;border:1px solid;border-color:#91a2ac #172733 #101b23 #778c9a;border-radius:5px;background:linear-gradient(120deg,#485b66,#263943);box-shadow:inset 0 1px #d8e4ea44,2px 3px 4px #0009;pointer-events:auto;z-index:6}
.output-brickwall>button{grid-column:1/-1;display:block;width:58px;min-width:0;min-height:18px;padding:3px 2px;border:1px solid #57636b;border-radius:3px;background:linear-gradient(#34434b,#18262e);color:#9ba6ad;font:700 9px/1 Arial,sans-serif;box-shadow:inset 0 1px #b8c8d533,0 1px 2px #0008;cursor:pointer;touch-action:manipulation}
.output-brickwall>button[aria-pressed="true"]{color:#ffca8d;border-color:#b87a41;background:linear-gradient(#75491e,#432b18);text-shadow:0 0 4px #ff9b42;box-shadow:inset 0 1px #ffc57955,0 0 4px #ff8a1833}
.output-brickwall>input{grid-column:1/-1;box-sizing:border-box;width:58px;min-width:0;height:20px;padding:2px 1px;border:1px solid;border-color:#0b141b #687c8a #7f929e #14232d;border-radius:2px;background:#101b22;color:#ffb36a;font:9px/1 ui-monospace,monospace;text-align:center;box-shadow:inset 1px 2px 3px #000a;pointer-events:auto;user-select:text}
.output-brickwall>i{position:static;display:block;width:12px;height:12px;clip-path:none;border:1px solid #171511;border-radius:50%;background:radial-gradient(circle at 32% 25%,#be854e 0,#704021 28%,#3c210f 70%,#21150c 100%);box-shadow:inset 0 1px 1px #ffe0a366,1px 2px 2px #000b,0 0 0 1px #a0784855}
.output-brickwall>i.is-limiting{background:radial-gradient(circle at 32% 25%,#fff5cd 0,#ffc473 20%,#ff931e 55%,#d15a06 100%);border-color:#b87328;box-shadow:0 0 7px #ff8a18,inset 0 1px 2px #fff9,1px 2px 2px #0009}
.large-post-meter>.output-brickwall{width:46px;height:94px;padding:12px 3px 11px;align-content:space-between;gap:4px;clip-path:none;border-radius:2px;box-shadow:inset 2px 2px 1px #9cabb377,inset -2px -2px 1px #08141c}
.output-brickwall>button{width:38px;font-size:8px;padding:3px 0}
.output-brickwall>input{width:34px;font-size:10px}
.output-brickwall>.limiter-screw{position:absolute;width:9px;height:9px;display:block;border:1px solid #20323e;border-radius:50%;overflow:hidden;background:#3a4d58;box-shadow:0 0 0 .5px #11232e;pointer-events:none}
.limiter-screw::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,#cfdee80d 0 .4px,#0000000b .4px .7px,transparent .7px 1.4px)}
.limiter-screw::after{content:'';position:absolute;left:-2px;right:-2px;top:calc(50% - .5px);height:1px;background:#152934;box-shadow:0 .5px #78909f66;transform:rotate(-32deg)}
.limiter-screw.top-left{top:3px;left:3px}.limiter-screw.top-right{top:3px;right:3px}.limiter-screw.bottom-left{bottom:3px;left:3px}.limiter-screw.bottom-right{bottom:3px;right:3px}
.limiter-screw.top-right::after{transform:rotate(24deg)}.limiter-screw.bottom-left::after{transform:rotate(12deg)}.limiter-screw.bottom-right::after{transform:rotate(-48deg)}
.large-pre-meter,.large-post-meter{pointer-events:auto}
.player-meter-fader>.large-compression-title{border-radius:0}
.large-compression-title .compressor-caption{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:98px;min-height:25px;padding:5px 7px;border:1px solid #65716b;border-radius:4px;background:linear-gradient(#303936,#1c2421);color:#9ba49c;box-shadow:inset 0 1px 1px #ffffff20,0 2px 3px #0008;font:700 10px/1 Arial,sans-serif;letter-spacing:.2px;text-shadow:none}
.large-compression-title[aria-pressed="true"] .compressor-caption{color:#fff4b0;border-color:#c6ae52;background:linear-gradient(#746631,#49441e);box-shadow:inset 0 1px 3px #fff5b866,0 0 7px #ffe12c44,0 2px 3px #0008;text-shadow:0 0 5px #ffe12c88}
.player-meter-fader>input.large-compression-value{cursor:text;user-select:text;-webkit-user-select:text;touch-action:manipulation}
.player-meter-fader>input.large-compression-value:focus{outline:1px solid #ffe12c;outline-offset:1px}
.player-score-page-turn .stf__parent,.player-score-page-turn .stf__wrapper{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;padding-bottom:0!important}
.player-shell .player-score-navigation button[data-score-prev],.player-shell .player-score-navigation button[data-score-next]{touch-action:none}
.temperament-notes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:760px}
.temperament-notes label{display:flex;flex-direction:column;gap:4px;padding:8px;border:1px solid #657581;border-radius:5px}
.temperament-notes input{width:100%;min-width:0;text-align:right;font-variant-numeric:tabular-nums}
.temperament-notes small{opacity:.7;text-align:right}
[data-temperament-custom] p{max-width:760px;font-size:12px}
@media(max-width:600px){.temperament-notes{grid-template-columns:repeat(3,minmax(0,1fr))}}

.large-pre-meter .large-meter-max{position:absolute;left:0;right:0;height:3px;transform:translateY(100%);background:#fff0a3;box-shadow:0 0 4px #ffd568;pointer-events:none;z-index:2}
.large-pre-meter .large-meter-max[hidden]{display:none}
.player-meter-fader .meter-fader-scale span{left:25px;width:29px;padding-left:9px;text-align:left}
.player-meter-fader .meter-fader-scale span::before{left:-5px;width:10px;box-shadow:-58px 0 #8497a2}
.player-meter-fader .meter-fader-scale span.is-major::before{width:12px;box-shadow:-60px 0 #c8d5db}
.player-meter-fader .meter-fader-scale span.is-zero::before{box-shadow:-60px 0 #ffb33f}
.large-meter-dbfs-scale{position:absolute;top:22px;bottom:24px;left:calc(100% + 3px);width:22px;pointer-events:none}
.large-meter-dbfs-scale>span{position:absolute;left:0;padding-left:5px;transform:translateY(50%);font:8px/1 ui-monospace,monospace;color:#c8d5db;white-space:nowrap}
.large-meter-dbfs-scale>span::before{content:'';position:absolute;left:0;top:50%;width:3px;height:1px;background:#aabac3}
.large-post-meter>.output-brickwall>i{height:12px;transform:translateY(-1.2mm);clip-path:none;background:radial-gradient(circle at 32% 25%,#bd7c3d,#663613 45%,#38200e);transition:none}
.large-post-meter>.output-brickwall>i.is-limiting{background:radial-gradient(circle at 32% 25%,#ffd39a,#ff931e 45%,#cb5e09);box-shadow:0 0 6px #ff8a18,inset 0 1px 2px #ffc77b,1px 2px 2px #0009}
.player-performance-setting{padding:10px 0;border-top:1px solid #657581}
.player-performance-setting p,.player-performance-setting output{display:block;font-size:12px;max-width:45em}
.player-performance-setting input[type="checkbox"]{width:auto}
.player-performance-audio-note{position:absolute;bottom:100%;left:-55px;width:135px;font-size:10px;text-align:center;color:#c8d5db}
.player-low-performance .player-meter-fill,.player-low-performance .player-meter-peak,.player-low-performance .large-meter-fill,.player-low-performance .large-meter-max{visibility:hidden}
.player-low-performance .player-track-matrix.is-scrolling,.player-low-performance .correction-flash,.player-low-performance .correction-boundary-flash{animation:none!important}
.compressor-switch-face>.compressor-single{position:absolute;top:1.5mm;left:50%;transform:translateX(-50%);font:700 10px/1 Arial,sans-serif;color:#87918e}
.large-compression-title[data-mode="off"] .compressor-lever{transform:rotate(-42deg)}
.large-compression-title[data-mode="sb"] .compressor-lever{transform:rotate(0deg)}
.large-compression-title[data-mode="mb"] .compressor-lever{transform:rotate(42deg)}
.large-compression-title[data-mode] .compressor-off,.large-compression-title[data-mode] .compressor-on{color:#87918e;text-shadow:none}
.large-compression-title[data-mode="off"] .compressor-off,.large-compression-title[data-mode="sb"] .compressor-single,.large-compression-title[data-mode="mb"] .compressor-on{color:#ffe12c;text-shadow:0 0 5px #ffe12c55}
/* Reserve the cap's upper half plus clearance beneath the compressor selector. */
.player-meter-fader>.compression-fader-rail{margin-top:82px}
@media(max-height:420px){.player-meter-fader>.compression-fader-rail{margin-top:70px}}
.score-analysis-dialog{width:min(600px,calc(100vw - 24px));max-height:85dvh;box-sizing:border-box;overflow:auto;background:#19272e;color:#f0f3ed;border:1px solid #8da4af;border-radius:8px;padding:16px;box-shadow:0 12px 40px #0009}
.score-analysis-dialog::backdrop{background:#0008}.score-analysis-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.score-analysis-dialog form>label{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.score-analysis-dialog select{width:100%;background:#0e1920;color:#fff;padding:7px}
.score-analysis-dialog button{background:#3e555f;color:#fff;border:1px solid #92a7ae;padding:8px 12px;border-radius:4px;cursor:pointer}.score-analysis-dialog button:disabled{opacity:.5;cursor:default}
.score-analysis-actions{display:flex;gap:8px;margin:8px 0}.score-analysis-dialog fieldset{max-height:25dvh;overflow:auto;margin:10px 0;padding:8px;border:1px solid #718893}.score-analysis-dialog fieldset label{display:flex;gap:8px;align-items:center;padding:6px 0}.score-analysis-dialog input[type=checkbox]{width:18px;height:18px;flex:none}
.score-analysis-results{padding-left:22px}.score-analysis-results li{margin:12px 0}.score-analysis-results strong,.score-analysis-results span{display:block}.score-analysis-results span{font-size:12px;margin:4px 0;line-height:1.4}.score-analysis-results progress{width:100%;height:7px}
.player-score-analysis-toggle{min-width:30px;min-height:30px;font-size:20px;line-height:1;padding:3px}
.score-analysis-dialog .score-analysis-launch.is-ready{background:#176bb0;border-color:#68b5f1;color:#fff;box-shadow:inset 0 1px #ffffff30}
.score-analysis-dialog .score-analysis-launch:disabled{background:#414c52;border-color:#69777e;color:#abb4b9;opacity:1}
.score-analysis-dialog fieldset label.is-analyzed{color:#9ba7ae}.score-analysis-dialog fieldset label.is-analyzed input{accent-color:#78848a;filter:grayscale(1);cursor:pointer}
.score-analysis-dialog fieldset label{flex-wrap:wrap}
.score-analysis-dialog .score-association{display:block;flex-basis:100%;margin-left:26px;color:#b6c8d0;overflow-wrap:anywhere}
.score-analysis-footer{flex-wrap:wrap}.score-analysis-footer button{flex:1;white-space:nowrap}
.score-audition-cursor{position:absolute;width:2px;background:#f18d24;box-shadow:0 0 2px #fff,0 0 4px #b85a16;z-index:8;pointer-events:none;transform:translateX(-1px)}
.score-audition-cursor::before{content:'';position:absolute;top:0;left:-3px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #f18d24}
.score-audition-cursor[hidden]{display:none}
:root .comment-imports { margin-bottom: 1rem; }
.comment-import-editor > form { margin-top: 1rem; }
.comment-imports [data-comment-archives] > details { margin: .8rem 0; }
.comment-import-source { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; max-height: 28rem; overflow: auto; }
.unified-import-picker { margin: 1rem 0; }
.import-picker-options { display: flex; flex-wrap: wrap; gap: .6rem; padding-top: .6rem; }
.unified-import-picker [data-import-selection] { color: var(--muted); font-size: .88rem; overflow-wrap: anywhere; max-height: 8rem; overflow: auto; }
.unified-import-picker [data-import-selection]:has(.import-file-list) { max-height: none; }
.import-file-list { list-style: none; padding: 0; display: grid; gap: .5rem; }
.import-file-list li { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; border-bottom: 1px solid var(--border); padding: .6rem 0; }
.import-file-list label { flex: 1 1 55%; min-width: 0; }
.import-file-list label span { overflow-wrap: anywhere; }
.import-file-status { font-weight: 650; }
/* Status fills take precedence over the selected row and player theme. */
.player-shell[data-layout] .player-recent-corrections li[data-review-state="done"] { background-color:#294b38; border-color:#497d5c; color:#deeee3; }
.player-shell[data-layout] .player-recent-corrections li:is([data-review-state="improved_not_optimal"],[data-review-state="partial_limit"],[data-review-state="discuss"]) { background-color:#a65312; border-color:#e88a2d; color:#fff0df; }
.player-shell[data-layout] .player-recent-corrections li:is([data-review-state="rejected"],[data-review-state="no_better"]) { background-color:#602f35; border-color:#975059; color:#ffe1e3; }
.player-shell .player-recent-corrections li[data-review-state="no_better"] .player-review-actions-compact { --correction-actions-tint:#966461; }
.player-shell[data-layout] .player-recent-corrections li { --correction-state-border:#929ba3; }
.player-shell[data-layout] .player-recent-corrections li[data-review-state="done"] { --correction-state-border:#497d5c; }
.player-shell[data-layout] .player-recent-corrections li:is([data-review-state="improved_not_optimal"],[data-review-state="partial_limit"],[data-review-state="discuss"]) { --correction-state-border:#e88a2d; }
.player-shell[data-layout] .player-recent-corrections li:is([data-review-state="rejected"],[data-review-state="no_better"]) { --correction-state-border:#975059; }
.player-shell[data-layout] .player-recent-corrections li.is-selected[data-review-state] { border-color:var(--correction-state-border); box-shadow:inset 0 0 0 2px var(--correction-state-border); }
.player-shell[data-layout] .player-recent-corrections li.is-selected[data-review-state] :is(.player-correction-text,.player-review-response-field) { background-color:#ead8b6; color:#352b20; }
.player-shell[data-layout] .player-recent-corrections li.is-selected[data-review-state] :is([data-review-response],.player-review-response-content) { background-color:transparent; color:#352b20; }
.project-documents-direct .document-upload-state { white-space:pre-line; }
.score-review-dialog{width:min(1100px,96vw);max-height:94vh;overflow:auto;background:#1e2a30;color:#e9eeeb;border:1px solid #73858d;border-radius:10px;padding:20px}.score-review-dialog header{display:flex;justify-content:space-between;align-items:center;font-size:1.2rem;font-weight:700}.score-review-controls{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.score-review-controls label{display:flex;flex-direction:column;gap:4px;max-width:100%}.score-review-controls label[hidden]{display:none}.score-review-controls input,.score-review-controls select{padding:7px;max-width:100%;background:#101c21;color:#eee;border:1px solid #708087}.score-review-dialog button{padding:8px 12px;margin:4px;background:#43565f;color:white;border:1px solid #7b8a91;border-radius:4px}.score-review-dialog button:disabled{opacity:.45}.score-review-canvas{width:100%;height:auto;background:white;cursor:crosshair}.score-review-dialog::backdrop{background:#0008}

.player-correction-mail-button{margin:6px 0 10px}.player-correction-mail{width:min(900px,94vw);max-height:90vh;overflow:auto;padding:22px;border:1px solid #71838b;border-radius:10px;background:#233239;color:#eef1f2}.player-correction-mail::backdrop{background:#0009}.player-correction-mail header{display:flex;align-items:center;justify-content:space-between;gap:15px;font-weight:bold}.player-correction-mail label{display:block;margin:12px 0}.player-correction-mail input,.player-correction-mail textarea,.player-correction-mail select{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:8px}.player-correction-mail-preview{background:white;color:#222;padding:20px;margin:16px 0;overflow-wrap:anywhere}.player-correction-mail button{margin:4px;padding:9px 12px}
.player-piano{width:min(680px,94vw);box-sizing:border-box;padding:18px;border:1px solid #70818c;border-radius:12px;background:#253239;color:#eef1f3}.player-piano::backdrop{background:#0006}.player-piano header{display:flex;justify-content:space-between;align-items:center;gap:12px}.player-piano p{font-size:13px;margin:12px 0}.player-piano-keys{height:175px;position:relative;touch-action:none}.player-piano-keys button{position:absolute;left:calc(var(--key-position)*100%/15);margin:0;padding:4px 1px;display:flex;align-items:flex-end;justify-content:center;white-space:normal;font-size:10px;line-height:1.35;border-radius:0 0 5px 5px;touch-action:none;user-select:none}.player-piano-keys .white{width:calc(100%/15);height:100%;background:#fffdf4;color:#20282b;border:1px solid #778087;z-index:1}.player-piano-keys .black{width:calc(64%/15);height:62%;background:#172025;color:#fff;border:1px solid #080e12;z-index:2;font-size:9px}.player-piano-keys button.is-playing{background:#e4b759;color:#172025}.player-piano-keys button:focus-visible{outline:3px solid #62baff;outline-offset:-3px}.player-piano-button{font-size:12px!important;padding:4px!important;min-width:48px}.player-piano [role=status]{min-height:34px}@media(max-width:500px){.player-piano{padding:10px}.player-piano-keys{height:150px}.player-piano-keys button{font-size:8px}.player-piano-keys .black{font-size:7px}}
.player-piano{position:fixed;z-index:10000;top:12vh;bottom:auto;box-shadow:0 10px 40px #0008;max-height:86vh;overflow:auto}.player-piano header{cursor:move}.player-piano header button{cursor:pointer}
.player-score-full-page{width:min(96vw,1500px);height:94vh;padding:12px;background:#fffdf7;border-radius:10px;overflow:auto}.player-score-full-page img{display:block;width:100%;height:auto}.player-score-full-page>button{position:sticky;top:0;float:right;z-index:1}.player-score-full-page::backdrop{background:#0008}
.background-tasks{position:fixed;right:12px;top:100px;width:250px;max-width:calc(100vw - 24px);max-height:35vh;overflow:auto;z-index:10020;pointer-events:none}.background-tasks>div{position:relative;background:#23323bed;color:#f4f3ed;border:1px solid #70838d;border-radius:6px;margin:5px 0;padding:7px 25px 7px 9px;pointer-events:auto;box-shadow:0 2px 8px #0005}.background-tasks button:first-child{display:block;background:none;border:0;color:inherit;padding:0;font-size:12px;text-align:left}.background-tasks button:disabled{opacity:1}.background-tasks progress{display:block;width:100%;height:5px;margin:5px 0;accent-color:#7caac7}.background-tasks small{font-size:10px;display:block;overflow-wrap:anywhere}.background-tasks button:last-child{position:absolute;right:3px;top:3px;padding:0 3px}.background-tasks [data-state=error]{border-color:#d3914b}.global-working-indicator{left:auto!important;right:12px!important;top:66px!important;bottom:auto!important;transform:none!important;max-width:250px!important;padding:7px 10px!important;pointer-events:none}.global-working-indicator progress{width:36px;height:5px}.global-working-spinner{display:none!important}.global-working-indicator strong{font-size:11px}.global-working-indicator small{font-size:10px}.is-working,.is-working *{cursor:auto!important}.player-piano-button{min-width:36px!important;width:36px!important;flex:0 0 36px!important}.player-piano-button svg{width:25px;height:22px}.player-shell:not(.player-smartphone) .player-transport{width:max-content;min-width:max-content;padding-right:40px;box-sizing:content-box;grid-template-columns:minmax(max-content,1fr) 117px}

/* Compact reference keyboard: names sit directly below the black keys. */
.player-piano{padding:8px 10px 10px;overflow:visible}
.player-piano header{height:27px;margin-bottom:5px;position:relative}
.player-piano header>button{font-size:25px;line-height:22px;padding:0 6px;background:transparent;border:0;color:#fff}
.player-piano-settings summary{cursor:pointer;font-size:20px;list-style:none;line-height:24px}
.player-piano-settings summary::-webkit-details-marker{display:none}
.player-piano-settings-body{position:absolute;top:29px;left:0;z-index:5;width:260px;max-width:80vw;padding:12px;background:#253239;border:1px solid #70818c;border-radius:6px;box-shadow:0 5px 18px #0008;cursor:auto}
.player-piano-settings-body>strong,.player-piano-settings-body>button{display:block;margin-bottom:8px}
.player-piano [role=status]{min-height:0;margin:4px 0}
.player-piano [role=status]:empty{display:none}
.player-piano-keys{height:132px}
.player-piano-keys button{align-items:flex-start;padding:0}
.player-piano-keys .black{height:55%}
.piano-note-names{display:flex;flex-direction:column;align-items:center;position:absolute;top:57%;width:100%;font-size:15px;line-height:1.25;font-weight:800;pointer-events:none}
.black .piano-note-names{top:auto;bottom:5px;font-size:12px}
.piano-note-international{color:#075da8}
.piano-note-french{color:#9a410c}
.black .piano-note-international{color:#87caff}
.black .piano-note-french{color:#ffad68}
@media(max-width:500px){.player-piano-keys{height:120px}.piano-note-names{font-size:12px}.black .piano-note-names{font-size:9px}}

.player-piano-keys button.is-latched{box-shadow:inset 0 0 0 3px #1977c4;background:#e4b759}

.player-score-panel.has-score-grid .player-score-frame{width:var(--score-frame-width,calc(var(--score-system-height)*var(--score-aspect,1.5)));height:var(--score-frame-height,var(--score-system-height))}

.player-piano{-webkit-touch-callout:none}.player-piano-keys{-webkit-user-select:none;user-select:none}

.player-correction-mail > header{position:sticky;top:-22px;z-index:2;background:#233239;margin:-22px -22px 16px;padding:14px 22px;border-bottom:1px solid #71838b;flex-wrap:wrap;gap:8px}.player-correction-mail > header > span{flex:1 1 240px}.player-correction-mail > header > button{flex:0 0 auto;white-space:nowrap}
.background-tasks [data-state=done]{background:#244f35f5;border-color:#70c78d;color:#effff3}
.background-tasks [data-state=done] button:first-child{font-weight:700}
.background-tasks [data-state=done] progress{accent-color:#72db94}
.background-tasks [data-state=done] progress::-webkit-progress-value{background:#72db94}
/* Keep score navigation clickable while a background result occupies the corner. */
@media (min-width: 700px){
  body:has(.background-tasks:not([hidden])) .player-score-zone-tools{right:274px;max-width:calc(100% - 290px)}
}
.project-score-downloads{width:min(620px,90vw);max-height:85vh;overflow:auto;background:#233239;color:#f4f3ed;border:1px solid #82949c;border-radius:10px;padding:18px}
.project-score-downloads::backdrop{background:#0007}
.project-score-downloads header{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:-18px;background:#233239;padding:10px 0;z-index:1}
.project-score-downloads h2{font-size:18px;margin:0;color:inherit}
.project-score-downloads section{padding:14px 0;border-top:1px solid #64747b}
.project-score-downloads p{font-size:13px;line-height:1.5}
.player-heading-side .project-score-downloads-button{font-size:11px;padding:5px 8px;white-space:nowrap}

.black .piano-note-flat{color:#83e5a0}
.black.is-playing .piano-note-flat,.black.is-latched .piano-note-flat{color:#145d2f}

.player-broadcast-clock .clock-alarm-time{fill:#ff9b32;font:bold 14px ui-monospace,monospace}
.player-broadcast-clock .clock-date{fill:#d2b18c;font:10px ui-monospace,monospace}
.player-broadcast-clock .clock-alarm-input{position:absolute;box-sizing:border-box;top:16%;left:20%;width:60%;height:22%;margin:0;padding:0 2px;border:1px solid #ff9b32;border-radius:2px;background:#101416;color:#ff9b32;text-align:center;font:bold 13px ui-monospace,monospace;min-height:0}
.player-broadcast-clock .clock-alarm-input[hidden]{display:none}
.player-broadcast-clock .clock-alarm-input[aria-invalid=true]{border-color:#ff5555;color:#ff5555}

.player-score-panel.is-full-page{position:fixed!important;inset:12px!important;z-index:10000!important;height:auto!important;max-height:none!important;display:flex!important;align-items:center;justify-content:center;background:#eee!important}
.player-score-panel.is-full-page.has-score-grid .player-score-paper{display:block;flex:none;padding:0;overflow:visible;container-type:normal;background:white}
.is-full-page .score-full-image{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.player-score-panel.is-full-page .player-score-frame{max-width:none;background:transparent}
.is-full-page .player-score-frame>img{opacity:0}
.is-full-page .player-score-resize{display:none}
.is-full-page .player-score-paper:before,.is-full-page .player-score-paper:after{display:none}
.player-piano header select{width:115px;font-size:12px;padding:2px}

.background-tasks .background-task-toggle{position:static;font-size:11px;padding:2px 6px;width:auto;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.background-tasks>div[data-collapsed="true"]{padding:2px 4px;width:fit-content;max-width:100%;margin-left:auto}.background-tasks>div[data-collapsed="true"]>:not(.background-task-toggle){display:none}.score-review-checklist{max-height:24vh;overflow:auto}.score-review-checklist button{display:block;text-align:left;width:calc(100% - 8px)}
.background-tasks button[aria-label="Masquer le résultat"]{position:absolute;right:3px;top:3px;padding:0 3px}.background-tasks .background-task-toggle{color:inherit;background:transparent;border:0;cursor:pointer}
.background-tasks button.background-task-toggle:last-child{position:static;display:block;min-height:24px;width:100%;text-align:left}
.background-tasks>div[data-collapsed="true"]{box-sizing:border-box;width:100%;min-height:30px}
.background-tasks>div[data-collapsed="true"][data-state="done"],.background-tasks>div[data-collapsed="true"][data-state="error"]{padding-right:34px}
.background-tasks>div[data-collapsed="true"]>button[aria-label="Masquer le résultat"]:not([hidden]){display:block;min-width:28px;min-height:26px;top:1px;right:2px;color:inherit;background:transparent;border:0;cursor:pointer}
.score-review-listening{position:relative;background:#18262c;padding:10px;border-radius:6px}.score-review-listening audio{width:100%}.score-review-wave{width:100%;height:90px;cursor:crosshair}.score-review-dialog header{position:sticky;top:-20px;background:#1e2a30;z-index:3;padding:8px}.score-review-canvas{touch-action:none}.score-review-listening input{width:110px}

.score-review-canvas{display:block;margin:0 auto;scroll-margin-top:76px}.score-review-wave{display:block;touch-action:none}.score-review-wave-tools{display:flex;flex-wrap:wrap;gap:4px}.score-review-wave-tools button{margin:2px;padding:5px 8px}.score-review-listening{margin-top:0}

/* Keep score review stationary while anchors and status messages update. */
.score-review-dialog{overflow-anchor:none;scroll-behavior:auto}.score-review-stage{height:45vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.score-review-dialog>[role="status"]{height:3.6em;overflow:auto;margin:8px 0}.score-review-anchor-details{margin-top:12px}.score-review-anchor-details summary{cursor:pointer}.score-review-anchor-details section{max-height:180px;overflow:auto}

.score-review-stage{position:relative;background:#fdfcf8}.score-review-stage .player-score-navigation{inset:0;display:block;background:none;box-shadow:none;pointer-events:none}.score-review-stage .player-score-nav-back,.score-review-stage .player-score-nav-forward{bottom:0;padding:0;background:none}.score-review-stage .player-score-navigation button{margin:0;width:38px;min-width:38px;height:38px;padding:0;border:0;border-radius:0;font-size:0;background:transparent url("/assets/score-page-fold.svg") center/100% 100% no-repeat;clip-path:polygon(100% 0,100% 100%,0 100%,25% 35%)}.score-review-stage button[data-score-prev]{transform:scaleX(-1)}.score-review-stage [data-score-page]{left:auto;right:40px;bottom:2px;transform:none;background:#fffdf5e8;color:#514a3e;font-size:9px}

.score-review-symbol-menu{position:absolute;z-index:12;width:340px;max-width:95%;max-height:220px;overflow:auto;box-sizing:border-box;padding:10px;background:#1e2a30;color:#fff;border:2px solid #d9604e;border-radius:8px;box-shadow:0 4px 16px #0008}.score-review-symbol-menu .score-review-controls{gap:4px;margin:5px 0}.score-review-symbol-menu button{padding:5px 8px;font-size:13px}
/* Instrument shortcuts share the upper action row; leave transport space for the clock. */
.player-shell .player-heading-side :is(.player-piano-button,.player-score-synth-button){display:inline-grid;place-items:center;box-sizing:border-box;width:28px!important;min-width:28px;min-height:28px;height:28px;flex:0 0 28px!important;padding:3px!important;border:1px solid #718595;border-radius:3px;background:linear-gradient(#526572,#344650);color:#e5edf1}
.player-shell .player-heading-side :is(.player-piano-button,.player-score-synth-button) svg{display:block;width:22px;height:22px}
.player-shell.player-smartphone .player-transport-buttons>.player-broadcast-clock{flex:0 0 38px;width:38px;min-width:38px;height:38px;align-self:center}
.player-shell.player-smartphone .player-transport-buttons>.player-broadcast-clock.is-expanded{position:fixed;top:70px;left:12px;width:144px;height:144px;min-width:144px;z-index:10030;box-shadow:0 5px 20px #0009}
.player-local-redo[hidden]{display:none!important}
/* Full score reading keeps the editor and latest entry in the same viewport. */
.player-shell:has(.player-score-panel.is-full-page){position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;max-height:100dvh!important;box-sizing:border-box;z-index:10000;background:#30383d;display:flex!important;flex-direction:column!important;gap:4px!important;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)!important;overflow:hidden!important}
.player-shell:has(.player-score-panel.is-full-page)>:not(.player-score-panel):not(.player-correction){display:none!important}
.player-shell:has(.player-score-panel.is-full-page)>.player-score-panel.is-full-page{position:relative!important;inset:auto!important;flex:1 1 0!important;min-height:0!important;width:100%!important;height:auto!important;margin:0!important}
.player-shell:has(.player-score-panel.is-full-page)>.player-correction{flex:0 0 auto!important;max-height:30dvh!important;min-height:0!important;overflow:auto!important;margin:0!important;padding:6px!important}
.player-shell:has(.player-score-panel.is-full-page) .player-recent-corrections li:not([data-latest-entered="true"]){display:none!important}
.player-shell:has(.player-score-panel.is-full-page) .player-recent-corrections{height:auto!important;min-height:0!important;max-height:12dvh!important;overflow:auto!important}
.player-shell:has(.player-score-panel.is-full-page) .player-recent-corrections ol{height:auto!important;max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important;transform:none!important}
.player-shell:has(.player-score-panel.is-full-page) .player-correction textarea{min-height:36px!important;height:42px!important}
.player-shell.player-smartphone .player-heading-title{flex-wrap:nowrap!important}
.player-shell.player-smartphone .player-heading-title>.eyebrow{flex:1 1 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-shell.player-smartphone .player-phone-title-actions{flex:0 0 auto;flex-wrap:nowrap!important;gap:3px}
.player-shell.player-smartphone .player-phone-title-actions :is(.player-piano-button,.player-score-synth-button){display:grid;place-items:center;width:24px!important;min-width:24px!important;height:24px;min-height:24px;flex:0 0 24px!important;padding:1px!important;border:0;background:transparent;color:#a0b7c5}
.player-shell.player-smartphone .player-phone-title-actions :is(.player-piano-button,.player-score-synth-button) svg{width:22px;height:22px}
.player-shell.player-smartphone .player-heading-side:empty{display:none!important}
.player-shell.player-smartphone .player-broadcast-clock.has-alarm::after{left:7%;right:auto}
.player-broadcast-clock .clock-close{display:none}
.player-shell.player-smartphone .player-broadcast-clock.is-expanded .clock-close{display:grid;place-items:center;position:absolute;right:3%;top:3%;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;border:0;border-radius:4px;background:#27343c;color:white;font-size:24px;line-height:1;z-index:2}
.player-score-panel:not(.is-full-page) .score-full-fit{display:none}
.player-score-zone-tools .score-full-fit{width:auto;max-width:145px;min-height:24px;padding:3px;font-size:12px}
.player-shell:has(.player-score-panel.is-full-page)>.player-score-panel.is-full-page.full-fit-width{display:block!important;overflow:auto!important;padding-top:40px!important;box-sizing:border-box}
.player-score-panel.is-full-page.full-fit-width .player-score-paper{margin:0 auto;position:relative}
.player-score-panel.is-full-page.full-fit-width .player-score-zone-tools{position:sticky;top:0;z-index:20}
/* Keep full-page exit reachable on touch screens and outside the scrolling paper. */
.player-shell .player-score-panel.is-full-page .player-score-zone-tools{display:flex!important;position:fixed!important;top:calc(env(safe-area-inset-top) + 6px)!important;right:calc(env(safe-area-inset-right) + 8px)!important;left:auto!important;max-width:calc(100vw - 16px)!important;flex-wrap:wrap;gap:4px;z-index:10040!important;background:#30383df2;padding:4px;border-radius:5px}
.player-shell .player-score-panel.is-full-page .player-score-zone-tools button{min-height:32px}
.player-shell:has(.player-score-panel.is-full-page)>.player-score-panel.is-full-page.full-fit-width{padding-top:64px!important;padding-bottom:32px!important;scroll-behavior:auto}
