.training-root{max-width:1200px;margin:auto;padding:26px;background:#fff;border:1px solid #dbe6e8;border-radius:20px}
.training-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}
.training-hero h1{font-size:clamp(23px,2.4vw,29px);line-height:1.25;margin:0 0 7px;color:#173b46}
.training-hero p{margin:0;color:#637780;font-size:15px;line-height:1.6}
.training-hero .training-catalog-count{font-size:12px;margin-top:6px;color:#697f86}
.training-management,.training-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.training-management{justify-content:flex-end;max-width:260px}
.training-root .small{font-size:12px;padding:8px 12px;min-height:36px}
.training-language{display:flex;gap:10px;border-bottom:1px solid #e7ecee;margin:0 0 17px}
.training-language .btn{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;color:#6a7b82;padding:12px 18px;font-size:14px;box-shadow:none}
.training-language .btn[aria-pressed=true]{color:#086e66;border-bottom-color:#087e73;font-weight:750}
.training-categories{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.training-categories .btn{border-radius:999px;padding:7px 13px;color:#586d75;background:#fff;border:1px solid #dce5e7;font-weight:500}
.training-categories .btn[aria-pressed=true]{background:#087e73;border-color:#087e73;color:#fff}
.training-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:14px}
.training-toolbar label,.training-filters label{display:grid;gap:6px;font-size:12px;color:#506771;min-width:0}
.training-toolbar input,.training-toolbar select,.training-filters input,.training-filters select{width:100%;min-width:0;font-size:14px}
.training-advanced-filters{margin-top:12px}
.training-advanced-filters>summary{width:fit-content;font-size:13px;padding:8px 0;min-height:36px;color:#246a70;cursor:pointer}
.training-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:16px;background:#f6f9fa;border:1px solid #e4ecee;border-radius:12px;margin:6px 0 12px}
.training-results-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:3px 0 12px}
.training-status{margin:0;font-size:13px;line-height:1.5;color:#607782}
.training-message{background:#fff2da;padding:10px;border-radius:8px}
.training-results-bar>.btn{flex-shrink:0;background:transparent;border-color:transparent;color:#57727b}
.training-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.training-card{padding:19px 20px 12px;background:#fff;border:1px solid #dce5e8;border-radius:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 16px;min-width:0}
.training-card:hover{border-color:#a8c9c6}
.training-card-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.training-title{min-width:0}
.training-card h2{font-size:18px;line-height:1.4;margin:0 0 5px;overflow-wrap:anywhere;font-weight:700}
.training-card p{line-height:1.6;margin:0}
.training-provider{font-size:13px;color:#647982}
.training-badge{background:#f0f4f5;border-radius:999px;padding:4px 9px;flex-shrink:0;color:#586b72;font-size:11px;font-weight:650}
.training-at-a-glance{grid-column:1;display:flex;flex-wrap:wrap;align-items:center;gap:5px 15px;font-size:12px;color:#667b83;padding:3px 0}
.training-availability{color:#237669;font-size:12px}
.training-availability.closed{color:#a2453c}
.training-availability.unknown{color:#8b641e}
.training-certificate{color:#667b83}
.training-review{grid-column:1/-1;color:#865619;font-size:12px;background:#fff5df;padding:8px;border-radius:7px}
.training-card-actions{grid-column:2;grid-row:2;display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.training-card-actions .btn{border-radius:999px;font-size:12px;padding:7px 13px;min-height:36px;background:#fff;text-decoration:none;white-space:nowrap}
.training-card-actions .training-consult{color:#076c64;border-color:#b9d5d0;font-weight:700}
.training-card [aria-pressed=true]{background:#eaf5ef;border-color:#85bba9;color:#1c6450}
.training-course-details{grid-column:1/-1;min-width:0}
.training-course-details>summary{width:fit-content;padding:4px 0;min-height:30px;font-size:12px;cursor:pointer;color:#326d79}
.training-collapse-label{display:none}
.training-course-details[open]>summary .training-expand-label{display:none}
.training-course-details[open]>summary .training-collapse-label{display:inline}
.training-details-body{border-top:1px solid #e3ecee;margin-top:7px;padding-top:16px;display:grid;gap:13px;font-size:14px;line-height:1.65;overflow-wrap:anywhere}
.training-facts{display:grid;grid-template-columns:100px minmax(0,1fr);gap:6px 14px;font-size:13px;line-height:1.5;margin:0}
.training-facts dt{color:#637983}.training-facts dd{margin:0;font-weight:600}
.training-note{font-size:12px!important;color:#637780;line-height:1.6}
.training-details-body details{border-top:1px solid #e4ecef;padding-top:10px;font-size:13px;line-height:1.6}
.training-details-body summary{cursor:pointer;color:#175c6b;font-weight:600;padding:4px 0}
.training-details-body details p{padding-top:10px}
.training-details-body label{display:grid;gap:6px;margin:10px 0;max-width:300px}
.training-personal-actions{display:flex;gap:8px;align-items:center}
.training-empty{padding:30px;background:#fafcfc;border:1px dashed #aec8c8;border-radius:12px;text-align:center;font-size:14px}
.training-disclaimer{font-size:12px;color:#6a7c84;line-height:1.65;margin:17px 0 0}
.training-root button:focus-visible,.training-root a:focus-visible,.training-root summary:focus-visible{outline:3px solid #188377;outline-offset:3px}
.training-dialog{width:min(1000px,94vw);max-height:90vh;overflow:auto;border:1px solid #bcd3d2;border-radius:20px;padding:28px;color:#1b3845}
.training-dialog::backdrop{background:#102c3f99}.training-close{float:right}
.training-dialog>label,.training-admin-form label{display:grid;gap:7px;margin:14px 0;font-size:13px}
.training-dialog input[type=checkbox]{width:20px;height:20px}
.training-dialog fieldset{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0;border:1px solid #cadbdc;border-radius:10px}
.training-dialog fieldset label{display:flex;align-items:center;gap:7px;font-size:13px}
.training-admin-form{display:grid;grid-template-columns:1fr 1fr;gap:5px 18px}
.training-admin-form textarea{min-height:100px}
.training-admin-form input,.training-admin-form select,.training-admin-form textarea{width:100%;min-width:0}
.training-admin-row{padding:18px;margin:15px 0;border:1px solid #cfdddf;border-radius:12px}
.training-admin-row h3{margin-top:0}.training-admin-row .btn{margin-right:8px}
.training-dashboard{margin-top:22px;padding:24px;background:#eaf6f2}.training-dashboard .btn{margin-right:8px}
@media(max-width:1100px){.training-hero{flex-direction:column;gap:12px}.training-management{max-width:none;justify-content:flex-start}.training-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.training-root{padding:18px 14px;border-radius:15px}.training-hero h1{font-size:23px}.training-hero p{font-size:13px}.training-management .btn{font-size:11px;padding:7px 10px}.training-categories{gap:7px}.training-categories .btn{font-size:12px}.training-toolbar{grid-template-columns:minmax(0,1fr)}.training-filters{grid-template-columns:minmax(0,1fr);padding:13px}.training-toolbar input,.training-toolbar select,.training-filters input,.training-filters select{font-size:16px}.training-card{padding:16px 14px 10px;grid-template-columns:minmax(0,1fr);gap:9px}.training-card h2{font-size:16px}.training-card-head{gap:8px}.training-badge{font-size:10px;padding:4px 7px}.training-card-actions{grid-column:1;grid-row:auto;justify-content:flex-start}.training-card-actions .btn{min-height:40px}.training-at-a-glance{font-size:11px;gap:5px 11px}.training-availability{font-size:11px}.training-course-details>summary{min-height:36px;padding:7px 0}.training-dialog{padding:18px}.training-dialog fieldset,.training-admin-form{grid-template-columns:minmax(0,1fr)}.training-dialog h2{font-size:22px}.training-status{font-size:12px}.training-results-bar{gap:5px}.training-results-bar>.btn{font-size:11px;padding:6px}}
