/* Guided setup dialogs (course, specialist, edition) and the materials workspace. */
.setup-dialog{width:min(640px,calc(100vw - 48px));max-height:min(860px,94vh);overflow:auto;padding:0;border-radius:16px}
.setup-top{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 20px 0 24px;background:var(--surface);border-bottom:1px solid var(--border)}
.setup-identity{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}
.setup-mark{font-size:20px;line-height:1;color:var(--accent);font-weight:400}
.setup-progress{display:flex;gap:6px;margin:20px 28px 0}
.setup-progress span{flex:1;height:4px;border-radius:999px;background:#e6ecea}
.setup-progress span.complete{background:var(--primary)}
.setup-step-label{margin:16px 28px 6px;font-size:12px;font-weight:600;color:var(--subtle)}
.setup-heading{margin:0 28px 6px;font-size:22px;font-weight:650;letter-spacing:-.02em;outline:0}
.setup-description{margin:0 28px 20px;font-size:14px;max-width:540px}
.setup-dialog form{display:block}
.setup-step{padding:0 28px 8px;min-height:200px}
.setup-step>label,.setup-step>.two{margin-bottom:16px}
.setup-step>.check-label{margin:4px 0 16px}
.setup-footer{position:sticky;bottom:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 28px;background:var(--surface);border-top:1px solid var(--border)}
.setup-primary{display:flex;gap:8px;margin-left:auto}
.setup-save-status{margin:0;padding:8px 28px 14px;font-size:12px;color:var(--subtle);background:var(--surface);min-height:16px}
.setup-save-status:empty{display:none}
.flow-feedback{font-size:13px;line-height:1.55;color:var(--primary);white-space:pre-line}
.flow-feedback:empty{display:none}
.setup-dialog>.flow-feedback{margin:0 28px 16px;padding:10px 12px;border-radius:var(--radius);background:var(--primary-soft)}
.flow-feedback.error{color:var(--danger)}
.setup-dialog>.flow-feedback.error{background:var(--danger-bg)}

/* Path choice cards */
.setup-step .entry-paths{gap:12px;margin:0 0 16px}
.entry-paths button,.setup-step .entry-paths button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;height:auto;min-height:132px;padding:18px;text-align:left;white-space:normal;line-height:1.4;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.entry-paths button:hover,.setup-step .entry-paths button:hover{background:var(--surface-2);border-color:var(--primary)}
.entry-paths button.selected,.setup-step .entry-paths button.selected{background:var(--surface);color:var(--text);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}
.entry-paths .choice-icon{display:grid;place-items:center;width:32px;height:32px;margin-bottom:6px;border-radius:8px;background:var(--primary-soft);font-size:16px;line-height:1;color:var(--primary);font-weight:600}
.entry-paths strong{font-size:15px;font-weight:650}
.entry-paths small{font-size:13px;font-weight:400;color:var(--muted);line-height:1.5}
.setup-step .import-box{margin:0}
.setup-step .session-row input{background:var(--surface)}

/* Contextual help */
.context-help{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius);padding:0 12px;margin:8px 0 16px;font-size:13px}
.context-help summary{cursor:pointer;padding:9px 0;font-size:13px;font-weight:550;color:var(--muted)}
.context-help[open] summary{border-bottom:1px solid var(--border);margin-bottom:10px}
.context-help p{font-size:13px}
.context-help label{margin:10px 0}
.context-help>*:last-child{margin-bottom:12px}

/* Final review */
.setup-summary{display:grid;gap:12px}
.summary-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px 16px 8px}
.summary-card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0}
.summary-card-heading h3{font-size:14px}
.summary-card-heading .text-button{height:var(--h-sm);min-height:var(--h-sm);color:var(--primary);font-weight:600}
.summary-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:9px 0;border-top:1px solid var(--border)}
.summary-row span{font-size:12px;color:var(--subtle)}
.summary-row p{margin:0;font-size:13px;color:var(--text);white-space:pre-line;overflow-wrap:anywhere;line-height:1.5}
.summary-card>p{font-size:13px;padding:6px 0;border-top:1px solid var(--border);margin:0}

/* Specialist (consultant) steps */
#consultant-origin{margin-bottom:8px}
#consultant-import{display:grid;gap:10px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);margin-top:4px}
#consultant-import>button,#consultant-manual-upload>button,#consultant-photo>button{justify-self:start}
#consultant-import-status:empty,#consultant-photo-status:empty{display:none}
#consultant-import-status,#consultant-profile-status,#consultant-cv-saved,#consultant-photo-status{font-size:13px;color:var(--muted);margin:0}
#consultant-profile-status:not([hidden]){display:block;margin:0 0 16px;padding:10px 12px;border-radius:var(--radius);background:var(--info-bg);color:var(--info)}
#consultant-manual-upload,#consultant-photo{display:grid;gap:10px;justify-items:start}
#consultant-manual-upload>label,#consultant-photo>label{width:100%}
#consultant-photo{padding-top:4px}
#consultant-proposals p{white-space:pre-wrap;font-size:12px}

/* Materials workspace */
.materials-dialog{width:min(1040px,calc(100vw - 48px));max-height:92vh;overflow:auto;padding:0;border-radius:16px}
.materials-dialog>.dialog-top{position:sticky;top:0;z-index:2;padding:20px 24px 16px;background:var(--surface);border-bottom:1px solid var(--border)}
.materials-dialog .dialog-top .eyebrow{margin-bottom:4px}
.materials-dialog h2{font-size:20px;margin:0 0 2px}
.materials-dialog .dialog-top p{font-size:13px;margin:0}
.materials-dialog>.flow-feedback{margin:16px 24px 0;padding:10px 12px;background:var(--primary-soft);border-radius:var(--radius)}
.materials-dialog>.flow-feedback.error{background:var(--danger-bg)}
.materials-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;padding:20px 24px 24px}
.materials-layout section{min-width:0;display:grid;align-content:start;gap:10px}
.materials-layout h3{font-size:15px}
.pdf-slot{display:block;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.pdf-slot[open]{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}
.pdf-slot>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;cursor:pointer;list-style:none}
.pdf-slot>summary::-webkit-details-marker{display:none}
.pdf-slot>summary::after{content:"+";font-size:16px;color:var(--subtle)}
.pdf-slot[open]>summary::after{content:"−"}
.pdf-slot>summary strong{font-size:14px;font-weight:600}
.pdf-slot>summary small{font-size:12px;color:var(--subtle);margin-left:auto}
.pdf-slot>label,.pdf-slot>button,.pdf-slot>.upload-status{margin:0 14px 12px}
.pdf-slot>button{display:inline-flex}
.material-record{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.material-record>summary{padding:11px 14px;font-size:14px;font-weight:550;cursor:pointer;line-height:1.5}
.material-review{display:grid;gap:8px;padding:0 14px 14px;overflow-wrap:anywhere}
.material-review>strong{font-size:14px}
.material-review>small{font-size:12px;color:var(--subtle)}
.material-review .tag{justify-self:start}
.material-review>button{justify-self:start}
.material-review p{white-space:pre-line;margin:6px 0;font-size:13px}
.material-review details{font-size:13px;border-top:1px solid var(--border);padding-top:4px}
.material-review summary{cursor:pointer;line-height:1.5;padding:6px 0;color:var(--primary);font-weight:550}
.material-review label{font-size:12px}
#materials-review-list{display:grid;gap:10px}
#materials-review-list>p{padding:20px;text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--subtle)}

@media(max-width:800px){.materials-layout{grid-template-columns:1fr}}
@media(max-width:650px){
  .setup-dialog,.materials-dialog{width:100vw;max-width:none;max-height:100dvh;height:100dvh;margin:0;inset:0;border:0;border-radius:0}
  .setup-top{padding:0 12px 0 16px}
  .setup-progress{margin:16px 16px 0}.setup-step-label{margin:14px 16px 4px}.setup-heading{margin:0 16px 6px;font-size:20px}.setup-description{margin:0 16px 16px}
  .setup-step{padding:0 16px 8px;min-height:0}.setup-footer{padding:12px 16px}.setup-save-status{padding:8px 16px 12px}.setup-dialog>.flow-feedback{margin:0 16px 14px}
  .setup-step .entry-paths{grid-template-columns:1fr}.entry-paths button,.setup-step .entry-paths button{min-height:0;padding:14px}
  .summary-row{grid-template-columns:1fr;gap:2px}
  .materials-dialog>.dialog-top{padding:14px 16px}.materials-layout{padding:16px}.materials-dialog>.flow-feedback{margin:12px 16px 0}
}
.material-review button,.pdf-slot>button,.import-box>button,#consultant-import>button,#consultant-manual-upload>button,#consultant-photo>button,.session-row>button,#add-session,.schedule>button,.detail-section>button,.context-help button{height:var(--h-sm);min-height:var(--h-sm);padding:0 12px;font-size:13px}
#edition-form>small{display:none}
#materials-review-list>.material-review{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}
.close-confirm{position:sticky;top:56px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 24px;background:var(--warn-bg);border-bottom:1px solid #f0dfae}
.close-confirm p{margin:0;font-size:13px;color:var(--warn)}
.close-confirm strong{color:var(--text)}
.setup-top .actions{gap:4px}
@media(max-width:650px){.close-confirm{padding:12px 16px}.setup-top .text-button{padding:0 8px;font-size:13px}}
/* Bulk outline import */
.import-dialog{width:min(980px,calc(100vw - 48px))}
.import-body{padding:0 28px 16px;display:grid;gap:14px}
.import-body .entry-paths{margin:0}
.import-facts{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px;color:var(--text)}
.import-facts .warn,.import-row .warn{color:var(--warn)}
.import-progress{height:8px;border-radius:999px;background:#e6ecea;overflow:hidden}
.import-progress>span{display:block;height:100%;background:var(--primary);transition:width .4s}
.import-progress-text{margin:0;font-size:14px;color:var(--text)}
.import-table{border:1px solid var(--border);border-radius:var(--radius-lg);max-height:52vh;overflow:auto}
.import-row{display:grid;grid-template-columns:36px minmax(0,2.4fr) minmax(0,.9fr) 90px minmax(0,1.6fr);gap:12px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border)}
.import-row:last-child{border-bottom:0}
.import-head{position:sticky;top:0;z-index:1;background:var(--surface-2);font-size:12px;font-weight:600;color:var(--subtle)}
.import-row input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--primary)}
.import-result{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.import-result select{height:var(--h-sm);min-height:var(--h-sm);padding:2px 8px;font-size:13px}
@media(max-width:650px){.import-body{padding:0 16px 12px}.import-head{display:none}.import-row{grid-template-columns:28px 1fr;row-gap:4px}.import-row>*:nth-child(n+3){grid-column:2}}
.import-dialog .setup-heading{margin-top:22px}
/* Commercial: pricing settings */
#pricing-editor{display:grid;gap:16px}
.settings-card h3{font-size:16px;margin-bottom:4px}
.settings-card>.help-copy{margin:0 0 14px;max-width:760px}
.settings-body{display:grid;gap:14px}
.segmented{display:inline-flex;gap:2px;padding:3px;background:#eef2f0;border-radius:var(--radius);justify-self:start}
.segmented button{height:28px;min-height:28px;padding:0 14px;background:transparent;color:var(--muted);border:0;box-shadow:none;font-size:13px}
.segmented button:hover{background:#e3e9e6}
.segmented button.selected{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}
.pricing-table{display:grid;gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.pricing-row{display:grid;grid-template-columns:minmax(180px,1.6fr) repeat(4,minmax(90px,1fr)) 36px;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border)}
.pricing-table.zones .pricing-row{grid-template-columns:minmax(150px,1.2fr) repeat(4,minmax(90px,1fr))}
.pricing-head{background:var(--surface-2);font-size:12px;font-weight:600;color:var(--subtle)}
.pricing-row input{min-height:32px;padding:5px 8px}
.pricing-row .hint{display:block;margin-top:2px}
.pricing-table>button{margin:10px 12px;justify-self:start}
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.category-list{display:grid;gap:0;max-height:420px;overflow:auto;margin-bottom:12px}
.category-row{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:12px;align-items:center;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}
.category-row select{min-height:30px;padding:3px 8px;font-size:13px}
.market-box{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius)}
.market-box>strong{font-size:14px}
/* Commercial: quote wizard and proposal */
.quote-dialog{width:min(760px,calc(100vw - 48px))}
.quote-body{display:grid;gap:14px;min-height:240px}
.quote-line{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:12px;align-items:end;padding-bottom:12px;border-bottom:1px solid var(--border)}
.quote-body>button{justify-self:start}
.quote-modes{grid-template-columns:repeat(3,1fr)}
.quote-modes button{min-height:110px}
.quote-breakdown{display:grid;gap:14px}
.quote-breakdown table{width:100%;border-collapse:collapse;font-size:13px}
.quote-breakdown th{text-align:left;font-size:12px;font-weight:600;color:var(--subtle);padding:8px;border-bottom:1px solid var(--border);background:var(--surface-2)}
.quote-breakdown td{padding:8px;border-bottom:1px solid var(--border);vertical-align:top}
.quote-breakdown td.num,.quote-breakdown th:last-child{text-align:right;white-space:nowrap}
.quote-sum{display:grid;grid-template-columns:1fr auto;gap:0;margin:0;font-size:14px}
.quote-sum dt{color:var(--muted);padding:4px 0}.quote-sum dd{margin:0;padding:4px 0 4px 16px;text-align:right;font-variant-numeric:tabular-nums}
.quote-sum .sub{font-size:12px;color:var(--subtle);padding-left:12px}
.quote-sum .strong{font-weight:600;color:var(--text);border-top:1px solid var(--border);padding-top:6px}
.quote-sum .total{font-size:18px;font-weight:700;color:var(--text)}
.proposal-dialog{width:min(860px,calc(100vw - 48px))}
.proposal-body{padding:20px 24px 24px;display:grid;gap:12px}
.proposal-head p{margin:0;font-size:13px}
.proposal-body h3{font-size:15px;margin-top:6px}
@media(max-width:650px){.pricing-table{overflow-x:auto}.pricing-row{min-width:640px}.category-row{grid-template-columns:1fr}.quote-line{grid-template-columns:1fr}.quote-modes{grid-template-columns:1fr}}
@media print{
 body.printing-proposal>*:not(#quote-proposal){display:none!important}
 body.printing-proposal{background:#fff}
 #quote-proposal{position:static;width:100%;max-height:none;border:0;box-shadow:none;overflow:visible}
 #quote-proposal::backdrop{display:none}
 #quote-proposal .actions{display:none}
}
.currency-bar{position:sticky;top:56px;z-index:4;display:flex;align-items:center;gap:12px;padding:10px 14px;background:#ffffffeb;backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-lg)}
.currency-bar .help-copy{margin:0}
.pricing-table.courses .pricing-row{grid-template-columns:minmax(220px,2.4fr) minmax(170px,1.2fr) repeat(2,minmax(100px,.8fr))}
.pricing-table.courses{max-height:520px;overflow:auto}
.pricing-table.courses .pricing-head{position:sticky;top:0;z-index:1}
.pricing-table.specialties .pricing-row{grid-template-columns:minmax(200px,1.6fr) repeat(3,minmax(110px,1fr)) 36px}
.pricing-row select{min-height:32px;padding:4px 8px;font-size:13px}
.settings-body>input[type=search]{max-width:360px}
.internal-box{display:grid;gap:8px;padding:12px 14px;border-radius:var(--radius);border:1px dashed var(--border-strong);background:var(--surface-2)}
.internal-box>strong{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--subtle)}
.internal-box.ok{border-color:#9fd3bd}.internal-box.warn{border-color:#e7c77a;background:#fffaf0}
@media(max-width:860px){.currency-bar{top:96px}}
@media(max-width:650px){.pricing-table.courses .pricing-row,.pricing-table.specialties .pricing-row{min-width:640px}}

/* Specialty catalog and pickers */
.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 14px;padding:4px 0}
.check-grid .check-label{font-size:13px;font-weight:500}
.field-group{border:0;padding:0;margin:0 0 16px;min-width:0}
.field-group>legend{font-size:13px;font-weight:550;padding:0;margin-bottom:6px}
.field-group>.help-copy{display:block;margin:6px 0 0}
#specialty-pending:not([hidden]){display:block;padding:8px 10px;border-radius:var(--radius);background:var(--warn-bg);color:var(--warn);font-size:12px}
.setup-step.grid-2:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-content:start}
.setup-step.grid-2>.setup-summary{grid-column:1/-1}
.chip.warn-chip{background:var(--warn-bg);color:var(--warn);border-color:#f0dfae}
.chip.muted{color:var(--subtle);background:transparent}
.cell.warn{color:var(--warn)}
.specialty-dialog{width:min(620px,calc(100vw - 48px))}
.specialty-form{display:grid;gap:14px;min-height:0;padding-bottom:16px}
.rate-table .pricing-row{grid-template-columns:120px repeat(2,minmax(0,1fr))}
@media(max-width:650px){.setup-step.grid-2:not([hidden]){grid-template-columns:1fr}}
.setup-step.grid-2:not([hidden]){align-items:start}.setup-step.grid-2 select{height:var(--h-md)}
/* Step sections: related fields grouped under a short heading, in the order they are decided. */
.setup-section{min-width:0;margin:0;padding:16px 0 2px;border:0;border-top:1px solid var(--border)}
.setup-section:first-child{padding-top:0;border-top:0}
.setup-section>legend{float:left;width:100%;margin:0 0 8px;padding:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}
.label-line{display:block}
.setup-section>.section-help{clear:both;margin:0 0 10px;font-size:12px}
.section-grid{clear:both;display:grid;gap:0 14px;align-items:start}
.setup-section.cols-2 .section-grid{grid-template-columns:1fr 1fr}
.section-grid>.wide{grid-column:1/-1}
.section-grid>label,.section-grid>.field-group{margin-bottom:14px}
.section-grid>.check-label{align-self:center;margin:4px 0 14px}
.section-grid label select+input{margin-top:6px}
.unit{font-weight:500;font-size:12px;color:var(--subtle)}
.inline-checks{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
@media(max-width:650px){.setup-section.cols-2 .section-grid{grid-template-columns:1fr}}
.setup-section.cols-3 .section-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:650px){.setup-section.cols-3 .section-grid{grid-template-columns:1fr}}
.rate-summary{margin:18px 0 0;padding:14px 16px;border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);background:var(--primary-soft)}
.rate-summary h3{margin:0 0 8px;font-size:13px;font-weight:700;color:var(--text)}
.rate-summary ul{margin:0 0 8px;padding-left:18px;font-size:13px;color:var(--text)}
.rate-summary li{margin:2px 0}
.rate-summary .help-copy{margin:0;font-size:12px}
.edition-costing h4{margin:0 0 6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--subtle)}
.costing-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px}
.costing-kpi{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.costing-kpi span{font-size:12px;color:var(--muted)}
.costing-kpi strong{font-size:18px;color:var(--text)}
.costing-kpi small{font-size:11px;color:var(--subtle)}
.costing-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 8px}
.costing-row{display:flex;justify-content:space-between;gap:8px;padding:3px 0;font-size:13px;color:var(--text)}
.costing-row.total{margin-top:4px;padding-top:6px;border-top:1px solid var(--border);font-weight:700}
.edition-costing .review-warnings{margin:8px 0 0}
.record.inactive{opacity:.6}
.cell-sub.warn{color:var(--warn)}
@media (max-width:640px){.costing-kpis,.costing-blocks{grid-template-columns:1fr}}
.travel-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.travel-status p{margin:0}
.travel-block{margin:0 0 18px;padding-top:12px;border-top:1px solid var(--border)}
.travel-block h4{margin:0 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--subtle)}
.travel-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(110px,.7fr) minmax(130px,.8fr) minmax(0,2fr);gap:10px;align-items:baseline;padding:6px 0;font-size:13px}
.travel-applied{font-weight:700;color:var(--primary)}
.travel-block>label{max-width:420px;margin-top:8px}
.pricing-table.perdiem .pricing-row{grid-template-columns:minmax(180px,1.4fr) minmax(130px,1fr) minmax(110px,.8fr) minmax(200px,1.6fr)}
.pricing-table.routes .pricing-row{grid-template-columns:minmax(170px,1.3fr) minmax(170px,1.2fr) minmax(90px,.6fr) minmax(150px,1.1fr) auto}
.route-notes summary{cursor:pointer;font-size:12px;color:var(--primary)}
.route-notes p{margin:4px 0}
.route-notes a{font-size:12px;margin-right:6px}
.travel-block>button{margin:0 0 10px}
.warn-text{color:var(--warn)}
@media (max-width:640px){.travel-row{grid-template-columns:1fr 1fr}}
.pricing-table.uber .pricing-row{grid-template-columns:minmax(180px,1.4fr) minmax(120px,1fr) minmax(120px,1fr) minmax(120px,1fr) minmax(140px,1fr) auto}
.uber-leg{display:flex;flex-direction:column;gap:3px}

/* Instructor file (expediente) */
.dossier-dialog{width:min(760px,calc(100vw - 32px))}
.dossier-dialog .setup-heading{margin-top:18px}
.dossier-summary{display:grid;gap:8px;margin:4px 28px 14px}
.dossier-progress{height:6px;border-radius:999px;background:#e6ebe8;overflow:hidden}
.dossier-progress span{display:block;height:100%;background:var(--primary)}
.dossier-body{display:grid;gap:18px;padding:0 28px 24px}
.dossier-section{display:grid;gap:10px}
.dossier-section h3{margin:0;font-size:15px}
.dossier-row{display:grid;gap:8px;padding:12px;border:1px solid var(--line,#e3e7e5);border-radius:12px}
.dossier-row-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.dossier-row-head>div{display:grid;gap:2px}
.dossier-file{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:8px;border-top:1px dashed var(--line,#e3e7e5)}
.dossier-file>div:first-child{display:grid;gap:2px;min-width:0}
.dossier-upload{display:grid;gap:10px;padding:10px;border-radius:10px;background:#f6f8f7}
.dossier-upload-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.dossier-row>button{justify-self:start}
.pricing-table.home-uber .pricing-row{grid-template-columns:minmax(180px,1.6fr) minmax(110px,1fr) minmax(110px,1fr)}
.success-text{color:var(--primary);font-weight:550}
.warn-button{border-color:var(--warn)!important;color:var(--warn)!important}
@media (max-width:640px){.dossier-summary{margin:4px 16px 12px}.dossier-body{padding:0 16px 18px}.dossier-file{flex-direction:column;align-items:flex-start}.pricing-table.home-uber .pricing-row{grid-template-columns:1fr}}

/* Expediente: AI verification */
.dossier-checks{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}
.dossier-checks li{display:flex;gap:8px;align-items:baseline}
.dossier-checks .check-icon{flex:0 0 18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;font-size:11px;font-weight:700;color:#fff}
.check-ok .check-icon{background:var(--primary)}.check-warn .check-icon{background:var(--warn)}.check-error .check-icon{background:#b42318}
.check-error{color:#b42318}
.dossier-data{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;font-size:14px}
.dossier-data dt{color:var(--muted,#5c6b64)}.dossier-data dd{margin:0;overflow-wrap:anywhere}
@media (max-width:640px){.dossier-data{grid-template-columns:1fr}.dossier-data dd{margin-bottom:6px}}

/* Instructor file pieces shared by the admin dossier and the consultant portal (web/dossier-files.js). */
.dossier-checks{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;font-size:12.5px}
.dossier-checks li{display:flex;gap:6px}
.dossier-checks .check-error{color:var(--danger)}
.dossier-checks .check-warn{color:var(--warn)}
.dossier-checks .check-ok{color:var(--primary)}
.upload-box{display:grid;gap:10px;padding:14px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-2);margin:0 0 12px}
.upload-box label{margin:0}
.upload-box .upload-action{justify-self:start}
.upload-queue{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}
.upload-queue li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-wrap:anywhere}
.upload-queue li.warn-text{border-style:dashed}
.doc-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border-radius:var(--radius);background:var(--danger-bg);color:var(--danger);font-size:13px}
.doc-confirm span{flex:1 1 160px}
.dossier-row .upload-box{margin:10px 0 0}
.dossier-row .doc-confirm{flex-basis:100%}
