.odin-training-completion{display:grid;gap:1rem}
.odin-training-completion__hero{position:relative;display:flex;justify-content:space-between;align-items:center;gap:2rem;overflow:hidden;padding:1rem 1.25rem;border:1px solid rgba(97,122,142,.34);border-radius:8px;background:#0d2234;box-shadow:none}
.odin-training-completion__hero::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,#49d8e6,#2387b3)}
.odin-training-completion__hero h2{margin:.35rem 0;font-size:clamp(1.45rem,2.2vw,2.05rem)}
.odin-training-completion__hero p{max-width:820px;margin:0;color:var(--muted,#91a4b5)}
.odin-training-completion__identity{display:flex;align-items:center;gap:.8rem;padding:.9rem 1.05rem;border:1px solid rgba(38,198,218,.18);border-radius:8px;background:rgba(4,17,29,.38);white-space:nowrap}
.odin-training-completion__identity-copy{display:grid;gap:.12rem}
.odin-training-completion__identity-copy>small{color:var(--muted,#91a4b5);font-size:.66rem}
.odin-training-completion__identity-copy>strong{font-size:.82rem}
.odin-training-completion__identity-copy .badge-status{justify-self:start;margin-top:.15rem}
.odin-training-completion__progress .panel-body{display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(280px,440px);align-items:center;gap:1rem}
.odin-training-completion__progress .panel-body>div:first-child{display:grid;gap:.08rem}
.odin-training-completion__progress .panel-body>div:first-child strong{font-size:1.4rem;line-height:1}
.odin-training-completion__progress .panel-body>div:first-child small{color:var(--odin-muted,#7892a5)}
.odin-training-completion__progress-track{height:10px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--odin-line,#203449) 72%,transparent)}
.odin-training-completion__progress-track span{display:block;height:100%;border-radius:inherit;background:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__role-note{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem .75rem;border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 24%,var(--odin-line,#203449));border-radius:8px;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 6%,transparent)}
.odin-training-completion__role-note>i{margin-top:.12rem;color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__role-note span{display:grid;gap:.1rem}
.odin-training-completion__role-note small{color:var(--odin-muted,#7892a5);line-height:1.4}
.odin-training-completion__form{display:grid;gap:1rem}
.odin-training-completion__session-head{grid-template-columns:minmax(210px,1.5fr) 145px 135px 145px 135px;gap:.55rem;padding:0 .7rem .4rem;color:var(--odin-muted,#7892a5);font-size:.59rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.odin-training-completion__sessions{display:grid;gap:.48rem}
.odin-training-completion__session{display:grid;grid-template-columns:minmax(210px,1.5fr) 145px 135px 145px 135px;gap:.55rem;align-items:center;padding:.65rem .7rem;border:1px solid var(--odin-line,#203449);border-radius:8px;background:color-mix(in srgb,var(--odin-bg,#07111f) 28%,transparent)}
.odin-training-completion__session.is-optional{opacity:.86;border-style:dashed}
.odin-training-completion__session-name{display:flex;align-items:center;gap:.65rem;min-width:0}
.odin-training-completion__session-name>span{display:grid;place-items:center;min-width:42px;height:30px;padding:0 .35rem;border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 34%,var(--odin-line,#203449));border-radius:6px;color:var(--odin-accent-1,var(--odin-info,#37c6e6));font-size:.64rem;font-weight:850}
.odin-training-completion__session-name>div{display:grid;gap:.08rem;min-width:0}
.odin-training-completion__session-name strong{font-size:.73rem}
.odin-training-completion__session-name small{color:var(--odin-muted,#7892a5);font-size:.59rem}
.odin-training-completion__session label{margin:0}
.odin-training-completion__session .form-control{min-height:34px;padding:.35rem .5rem;font-size:.7rem}
.odin-training-completion__source{grid-column:1/-1;display:flex;align-items:center;gap:.45rem;padding-top:.06rem;color:var(--odin-muted,#7892a5);font-size:.58rem}
.odin-training-completion__source span{display:inline-flex;align-items:center;gap:.3rem}
.odin-training-completion__source .is-auto{color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__source small{opacity:.8}
.odin-training-completion__exam-grid{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);gap:1rem}
.odin-training-completion__exam-mode{display:grid;gap:.5rem}
.odin-training-completion__exam-mode>span,.odin-training-completion__exam-fields label>span,.odin-training-completion__certifier label>span,.odin-training-completion__signature label>span{display:block;margin-bottom:.3rem;color:var(--odin-muted,#7892a5);font-size:.61rem;font-weight:750}
.odin-training-completion__exam-mode label{position:relative;margin:0}
.odin-training-completion__exam-mode input{position:absolute;opacity:0;pointer-events:none}
.odin-training-completion__exam-mode label>span{display:flex;align-items:center;gap:.6rem;padding:.72rem .8rem;border:1px solid var(--odin-line,#203449);border-radius:8px;cursor:pointer}
.odin-training-completion__exam-mode input:checked+span{border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 65%,var(--odin-line,#203449));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 8%,transparent)}
.odin-training-completion__exam-mode label>span i{width:20px;color:var(--odin-accent-1,var(--odin-info,#37c6e6));text-align:center}
.odin-training-completion__exam-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.odin-training-completion__exam-fields .form-control,.odin-training-completion__certifier .form-control{min-height:38px;font-size:.72rem}
.odin-training-completion__exam-proof{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;margin-top:1rem}
.odin-training-completion__check{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem .8rem;border:1px solid var(--odin-line,#203449);border-radius:8px;background:color-mix(in srgb,var(--odin-bg,#07111f) 22%,transparent)}
.odin-training-completion__check input{margin-top:.14rem}
.odin-training-completion__check span{display:grid;gap:.12rem}
.odin-training-completion__check small{color:var(--odin-muted,#7892a5);font-size:.62rem;line-height:1.4}
.odin-training-completion__upload{position:relative;margin:0}
.odin-training-completion__upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.odin-training-completion__upload>span{display:flex;align-items:flex-start;gap:.65rem;height:100%;padding:.75rem .8rem;border:1px dashed color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 44%,var(--odin-line,#203449));border-radius:8px;cursor:pointer}
.odin-training-completion__upload i{margin-top:.12rem;color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__upload span>span,.odin-training-completion__upload>span{line-height:1.3}
.odin-training-completion__upload strong,.odin-training-completion__upload small{display:block}
.odin-training-completion__upload small{margin-top:.14rem;color:var(--odin-muted,#7892a5);font-size:.62rem}
.odin-training-completion__attachment{grid-column:1/-1;display:flex;align-items:center;gap:.55rem;color:var(--odin-muted,#7892a5);font-size:.65rem}
.odin-training-completion__attachment span{display:grid}
.odin-training-completion__attachment strong{color:var(--odin-text,#eefaff)}
.odin-training-completion__readonly-note{display:flex;align-items:center;gap:.5rem;padding:.65rem .75rem;border-radius:8px;background:color-mix(in srgb,var(--odin-muted,#7892a5) 8%,transparent);color:var(--odin-muted,#7892a5);font-size:.66rem}
.odin-training-completion__outcomes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.odin-training-completion__outcomes label{position:relative;margin:0}
.odin-training-completion__outcomes input{position:absolute;opacity:0;pointer-events:none}
.odin-training-completion__outcomes label>span{display:grid;gap:.35rem;height:100%;padding:.85rem;border:1px solid var(--odin-line,#203449);border-radius:8px;cursor:pointer}
.odin-training-completion__outcomes i{color:var(--odin-muted,#7892a5)}
.odin-training-completion__outcomes small{color:var(--odin-muted,#7892a5);font-size:.61rem;line-height:1.4}
.odin-training-completion__outcomes input:checked+span{border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 65%,var(--odin-line,#203449));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 8%,transparent)}
.odin-training-completion__outcomes input:checked+span i{color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__signature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.odin-training-completion__signature{padding:.8rem;border:1px solid var(--odin-line,#203449);border-radius:8px;background:color-mix(in srgb,var(--odin-bg,#07111f) 20%,transparent)}
.odin-training-completion__signature header{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;margin-bottom:.65rem}
.odin-training-completion__signature header>div{display:grid;gap:.1rem}
.odin-training-completion__signature header small{color:var(--odin-muted,#7892a5);font-size:.6rem}
.odin-training-completion__signature-preview{display:grid;place-items:center;min-height:100px;border:1px dashed var(--odin-line,#203449);border-radius:7px;background:color-mix(in srgb,var(--odin-bg,#07111f) 44%,transparent);overflow:hidden}
.odin-training-completion__signature-preview img{display:block;max-width:100%;max-height:96px;object-fit:contain}
.odin-training-completion__signature-preview span{color:var(--odin-muted,#7892a5);font-size:.65rem}
.odin-training-completion__certifier{display:grid;grid-template-columns:1.5fr .75fr .75fr;gap:.7rem}
.odin-training-completion__savebar{position:sticky;bottom:.65rem;z-index:25;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.7rem .8rem;border:1px solid var(--odin-line,#203449);border-radius:10px;background:color-mix(in srgb,#0b1826 96%,transparent);box-shadow:0 14px 36px rgba(0,0,0,.24);backdrop-filter:blur(10px)}
.odin-training-completion__savebar>span{display:grid;gap:.06rem}
.odin-training-completion__savebar small{color:var(--odin-muted,#7892a5);font-size:.61rem}
.odin-training-completion__signature-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:1rem;background:rgba(2,8,16,.72)}
.odin-training-completion__signature-dialog{width:min(900px,100%);border:1px solid var(--odin-line,#203449);border-radius:12px;background:#0b1826;box-shadow:0 24px 70px rgba(0,0,0,.45);overflow:hidden}
.odin-training-completion__signature-dialog>header,.odin-training-completion__signature-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem .9rem;border-bottom:1px solid var(--odin-line,#203449)}
.odin-training-completion__signature-dialog>footer{justify-content:flex-end;border-top:1px solid var(--odin-line,#203449);border-bottom:0}
.odin-training-completion__signature-dialog h3{margin:.12rem 0 0;font-size:1rem}
.odin-training-completion__canvas{position:relative;padding:.8rem;background:#f8fafc}
.odin-training-completion__canvas canvas{display:block;width:100%;height:min(42vh,320px);border:1px solid #cfd8df;border-radius:8px;background:#fff;touch-action:none}
.odin-training-completion__canvas>button{position:absolute;right:1.25rem;top:1.25rem;z-index:2;border:0;background:transparent;color:#405261;text-decoration:underline;font-size:.68rem}
[data-bs-theme="light"] .odin-training-completion__savebar,[data-bs-theme="light"] .odin-training-completion__signature-dialog{background:#fff}
[data-bs-theme="light"] .odin-training-completion__attachment strong{color:#213240}
@media(max-width:1199px){.odin-training-completion__outcomes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){
  .odin-training-completion__progress .panel-body{grid-template-columns:1fr}
  .odin-training-completion__session{grid-template-columns:1fr 1fr}
  .odin-training-completion__session-name{grid-column:1/-1}
  .odin-training-completion__source{grid-column:1/-1}
  .odin-training-completion__exam-grid{grid-template-columns:1fr}
  .odin-training-completion__certifier{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .odin-training-completion__hero{flex-direction:column}
  .odin-training-completion__identity{width:100%;white-space:normal}
  .odin-training-completion__session{grid-template-columns:1fr}
  .odin-training-completion__session label>span{display:block;margin-bottom:.25rem;color:var(--odin-muted,#7892a5);font-size:.6rem;font-weight:750}
  .odin-training-completion__exam-fields,.odin-training-completion__exam-proof,.odin-training-completion__outcomes,.odin-training-completion__signature-grid,.odin-training-completion__certifier{grid-template-columns:1fr}
  .odin-training-completion__savebar{bottom:.4rem;grid-template-columns:1fr}
  .odin-training-completion__savebar .btn{width:100%}
  .odin-training-completion__savebar>span{order:-1}
}



[data-bs-theme="light"] .odin-training-completion__hero{background:#fff;border-color:#ccd9e2}
[data-bs-theme="light"] .odin-training-completion__hero h2{color:#173042}
[data-bs-theme="light"] .odin-training-completion__hero p{color:#607586}
[data-bs-theme="light"] .odin-training-completion__identity{background:#eef5f8;border-color:#c9dce4;color:#173042}


.odin-training-completion__source{justify-content:space-between;flex-wrap:wrap}
.odin-training-completion__source-copy{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.odin-training-completion__environment{display:flex;align-items:center;gap:.45rem;margin-left:auto}
.odin-training-completion__environment>span{font-size:.58rem;color:var(--odin-muted,#7892a5)}
.odin-training-completion__environment .form-select{min-width:190px;min-height:30px;font-size:.64rem}

.odin-training-completion__score{display:flex;align-items:center;justify-content:space-between;gap:.65rem;min-height:38px;padding:.42rem .58rem;border:1px solid var(--odin-line,#203449);border-radius:8px;background:color-mix(in srgb,var(--odin-bg,#07111f) 24%,transparent)}
.odin-training-completion__score strong{font-size:.84rem}
.odin-training-completion__score small{color:var(--odin-muted,#7892a5);font-size:.58rem;text-align:right}
.odin-training-completion__score.is-passed{border-color:color-mix(in srgb,#34c98f 46%,var(--odin-line,#203449));background:color-mix(in srgb,#34c98f 7%,transparent)}
.odin-training-completion__exam-proof{grid-template-columns:repeat(2,minmax(0,1fr))}
.odin-training-completion__exam-proof .odin-training-completion__attachment{grid-column:1/-1}

.odin-training-completion__outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.odin-training-completion__outcome{position:relative;margin:0}
.odin-training-completion__outcome>input{position:absolute;opacity:0;pointer-events:none}
.odin-training-completion__outcome-card{display:grid!important;gap:.72rem;height:100%;padding:.9rem!important;border:1px solid var(--odin-line,#203449)!important;border-radius:8px!important;background:color-mix(in srgb,var(--odin-bg,#07111f) 20%,transparent);cursor:default!important}
.odin-training-completion__outcome.is-eligible .odin-training-completion__outcome-card{border-color:color-mix(in srgb,#34c98f 42%,var(--odin-line,#203449))!important}
.odin-training-completion__outcome.is-ineligible .odin-training-completion__outcome-card{opacity:.78}
.odin-training-completion__outcome>input:checked+.odin-training-completion__outcome-card{border-color:var(--odin-accent-1,var(--odin-info,#37c6e6))!important;box-shadow:inset 0 0 0 1px var(--odin-accent-1,var(--odin-info,#37c6e6));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 7%,transparent)!important}
.odin-training-completion__outcome.is-eligible>input:not(:disabled)+.odin-training-completion__outcome-card{cursor:pointer!important}
.odin-training-completion__outcome-head{display:flex!important;align-items:flex-start;gap:.6rem}
.odin-training-completion__outcome-head>i{margin-top:.1rem;color:#ff6470}
.odin-training-completion__outcome.is-eligible .odin-training-completion__outcome-head>i{color:#34c98f}
.odin-training-completion__outcome-head>span{display:grid!important;gap:.08rem}
.odin-training-completion__outcome-head strong{font-size:.78rem}
.odin-training-completion__outcome-head small{font-size:.6rem;color:var(--odin-muted,#7892a5)}
.odin-training-completion__requirements{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.32rem .6rem}
.odin-training-completion__requirements>span{display:flex!important;align-items:flex-start;gap:.35rem;font-size:.61rem;line-height:1.35}
.odin-training-completion__requirements>span i{width:13px;margin-top:.1rem;text-align:center}
.odin-training-completion__requirements .is-ok{color:#9ddfc7}
.odin-training-completion__requirements .is-missing{color:#ff8c96}
.odin-training-completion__missing-summary{display:block!important;padding:.5rem .58rem;border-radius:6px;background:color-mix(in srgb,#ff6470 8%,transparent);color:var(--odin-muted,#7892a5);font-size:.6rem;line-height:1.4}
.odin-training-completion__missing-summary strong{color:#ff8c96}

[data-bs-theme="light"] .odin-training-completion__outcome-card{background:#fff}
[data-bs-theme="light"] .odin-training-completion__requirements .is-ok{color:#187953}
[data-bs-theme="light"] .odin-training-completion__requirements .is-missing{color:#b23a46}
[data-bs-theme="light"] .odin-training-completion__missing-summary{background:#fff0f1}
@media(max-width:991.98px){.odin-training-completion__outcomes{grid-template-columns:1fr}.odin-training-completion__requirements{grid-template-columns:1fr}}
@media(max-width:767px){.odin-training-completion__environment{width:100%;margin-left:0;justify-content:space-between}.odin-training-completion__environment .form-select{min-width:0;flex:1}.odin-training-completion__exam-proof{grid-template-columns:1fr}}

.odin-training-completion__outcomes .odin-training-completion__outcome-card{gap:.72rem}
.odin-training-completion__outcome input:disabled+.odin-training-completion__outcome-card{cursor:not-allowed!important}


.odin-training-completion__compatibility .panel-body{display:grid;gap:.85rem}
.odin-training-completion__mode{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.8rem .9rem;border:1px solid var(--odin-line,#203449);border-radius:8px;background:color-mix(in srgb,var(--odin-bg,#07111f) 24%,transparent)}
.odin-training-completion__mode>i{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 10%,transparent);color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__mode>span{display:grid;gap:.08rem}
.odin-training-completion__mode>span strong{font-size:.75rem}
.odin-training-completion__mode>span small{color:var(--odin-muted,#7892a5);font-size:.62rem;line-height:1.4}
.odin-training-completion__mode>em{font-style:normal;font-size:.62rem;font-weight:800;padding:.28rem .46rem;border-radius:999px;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 10%,transparent);color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__portable-progress{display:grid;grid-template-columns:1fr 1fr minmax(220px,.8fr);gap:.75rem}
.odin-training-completion__portable-progress>label{display:grid;gap:.28rem;margin:0}
.odin-training-completion__portable-progress>label>span{color:var(--odin-muted,#7892a5);font-size:.61rem;font-weight:750}
.odin-training-completion__portable-progress>label>small{color:var(--odin-muted,#7892a5);font-size:.58rem;line-height:1.4}
.odin-training-completion__snapshot-meta{display:flex;align-items:center;gap:.65rem;padding:.72rem .8rem;border:1px dashed var(--odin-line,#203449);border-radius:8px}
.odin-training-completion__snapshot-meta>i{color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__snapshot-meta>span{display:grid;gap:.1rem}
.odin-training-completion__snapshot-meta strong{font-size:.69rem}
.odin-training-completion__snapshot-meta small{color:var(--odin-muted,#7892a5);font-size:.58rem;line-height:1.4}
@media(max-width:991.98px){.odin-training-completion__portable-progress{grid-template-columns:1fr 1fr}.odin-training-completion__snapshot-meta{grid-column:1/-1}}
@media(max-width:767px){.odin-training-completion__portable-progress{grid-template-columns:1fr}.odin-training-completion__snapshot-meta{grid-column:auto}.odin-training-completion__mode{grid-template-columns:auto 1fr}.odin-training-completion__mode>em{grid-column:2;justify-self:start}}


.odin-training-completion__field-readonly{display:flex;align-items:center;min-height:34px;padding:.35rem .5rem;border:1px solid var(--odin-line,#203449);border-radius:8px;background:color-mix(in srgb,var(--odin-bg,#07111f) 18%,transparent);color:var(--odin-text,#eefaff);font-size:.7rem}
.odin-training-completion__field-action{display:inline-flex;align-items:center;gap:.28rem;margin-top:.28rem;padding:0;border:0;background:transparent;color:var(--odin-accent-1,var(--odin-info,#37c6e6));font-size:.57rem;font-weight:750;text-decoration:underline;text-underline-offset:2px}
.odin-training-completion__field-action.is-override{color:#f0ad4e}
.odin-training-completion__source .is-correction{color:#f0ad4e}
.odin-training-completion__source .is-override{color:#f0ad4e}
.odin-training-completion__environment-value{display:inline-flex;align-items:center;min-height:30px;padding:.25rem .45rem;border:1px solid var(--odin-line,#203449);border-radius:6px;color:var(--odin-text,#eefaff);font-size:.62rem}
[data-bs-theme="light"] .odin-training-completion__field-readonly{background:#f7fafc;color:#213240;border-color:#d3dfe7}
[data-bs-theme="light"] .odin-training-completion__environment-value{color:#213240;border-color:#d3dfe7;background:#fff}


.odin-training-completion__session-head.is-student-view,
.odin-training-completion__session.is-student-view{grid-template-columns:minmax(210px,1.5fr) 145px 145px}
.odin-training-completion__student-exam-field{display:grid;gap:.3rem;max-width:280px}
.odin-training-completion__student-exam-field>span{color:var(--odin-muted,#7892a5);font-size:.61rem;font-weight:750}
.odin-training-completion__admin-readonly{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:38px;padding:.5rem .75rem;border:1px solid var(--odin-line,#203449);border-radius:8px;color:var(--odin-muted,#7892a5);font-size:.66rem;font-weight:750}
@media(max-width:991.98px){
  .odin-training-completion__session.is-student-view{grid-template-columns:1fr 1fr}
  .odin-training-completion__session.is-student-view .odin-training-completion__session-name{grid-column:1/-1}
}
@media(max-width:767px){
  .odin-training-completion__session.is-student-view{grid-template-columns:1fr}
}


.odin-training-completion__theory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.odin-training-completion__theory-grid>label{display:grid;gap:.3rem;margin:0}
.odin-training-completion__theory-grid>label>span{color:var(--odin-muted,#7892a5);font-size:.61rem;font-weight:750}
.odin-training-completion__theory-occurrences{display:grid;gap:.35rem;margin-top:.8rem;padding:.75rem .8rem;border:1px dashed var(--odin-line,#203449);border-radius:8px}
.odin-training-completion__theory-occurrences>strong{font-size:.68rem}
.odin-training-completion__theory-occurrences>span{display:flex;align-items:center;gap:.4rem;font-size:.62rem}
.odin-training-completion__theory-occurrences>span i{color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__theory-occurrences>small{color:var(--odin-muted,#7892a5);font-size:.58rem}
.odin-training-completion__snapshot-list{display:grid;gap:.28rem}
.odin-training-completion__snapshot-list>span{color:var(--odin-muted,#7892a5);font-size:.61rem;font-weight:750}
.odin-training-completion__snapshot-list>strong{font-size:.72rem}
.odin-training-completion__snapshot-list>small{color:var(--odin-muted,#7892a5);font-size:.58rem;line-height:1.4}
.odin-training-completion__cw-confirm{display:inline-flex!important;align-items:center;gap:.3rem;margin:0 0 0 .35rem;font-size:.58rem;font-weight:750;color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__cw-confirm input{margin:0}
@media(max-width:767px){.odin-training-completion__theory-grid{grid-template-columns:1fr}}

.odin-training-completion__source .is-verified{color:#34c98f}
.odin-training-completion__source .is-pending-attendance{color:#f0ad4e}


.odin-training-completion__skill-group{display:grid;gap:.65rem;margin-top:.9rem;padding:.8rem;border:1px solid var(--odin-line,#203449);border-radius:8px;background:color-mix(in srgb,var(--odin-bg,#07111f) 18%,transparent)}
.odin-training-completion__skill-group>header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}
.odin-training-completion__skill-group>header>span{display:grid;gap:.1rem}
.odin-training-completion__skill-group>header strong{font-size:.75rem}
.odin-training-completion__skill-group>header small{color:var(--odin-muted,#7892a5);font-size:.59rem}
.odin-training-completion__skill-group>header em{font-style:normal;font-size:.58rem;font-weight:800;padding:.25rem .45rem;border-radius:999px;background:color-mix(in srgb,#f0ad4e 10%,transparent);color:#f0ad4e}
.odin-training-completion__skill-group>header em.is-complete{background:color-mix(in srgb,#34c98f 10%,transparent);color:#34c98f}
.odin-training-completion__skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .65rem}
.odin-training-completion__skill{display:flex;align-items:flex-start;gap:.45rem;margin:0;padding:.45rem .5rem;border:1px solid var(--odin-line,#203449);border-radius:7px;background:color-mix(in srgb,var(--odin-bg,#07111f) 12%,transparent)}
.odin-training-completion__skill>i{margin-top:.12rem;color:#60778b}
.odin-training-completion__skill.is-complete>i{color:#34c98f}
.odin-training-completion__skill .form-check-input{margin:.12rem 0 0}
.odin-training-completion__skill>span{display:grid;gap:.08rem;min-width:0}
.odin-training-completion__skill strong{font-size:.63rem;line-height:1.35}
.odin-training-completion__skill small{color:var(--odin-muted,#7892a5);font-size:.55rem;line-height:1.35}
.odin-training-completion__skill em{display:inline-flex;align-items:center;gap:.25rem;margin-top:.12rem;font-style:normal;font-size:.53rem;color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__skill.is-missing{opacity:.78}
.odin-training-completion__signature-scope{display:flex;align-items:flex-start;gap:.65rem;margin-top:.85rem;padding:.75rem .8rem;border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 35%,var(--odin-line,#203449));border-radius:8px;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 6%,transparent)}
.odin-training-completion__signature-scope>i{margin-top:.1rem;color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__signature-scope>span{display:grid;gap:.08rem}
.odin-training-completion__signature-scope strong{font-size:.68rem}
.odin-training-completion__signature-scope small{color:var(--odin-muted,#7892a5);font-size:.58rem;line-height:1.45}
[data-bs-theme="light"] .odin-training-completion__skill-group,[data-bs-theme="light"] .odin-training-completion__skill{background:#fff}
@media(max-width:767px){.odin-training-completion__skill-list{grid-template-columns:1fr}}


/* ODIN 1.0 — compact progressive completion workflow */
.odin-training-completion__form{gap:.65rem}
.odin-training-completion__flow-section{border:1px solid var(--odin-line,#203449);border-radius:10px;background:color-mix(in srgb,var(--odin-bg,#07111f) 18%,transparent);overflow:hidden}
.odin-training-completion__flow-section.is-open{border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 42%,var(--odin-line,#203449))}
.odin-training-completion__flow-toggle{display:grid;grid-template-columns:36px minmax(0,1fr) auto 18px;align-items:center;gap:.75rem;width:100%;padding:.82rem .9rem;border:0;background:transparent;color:inherit;text-align:left}
.odin-training-completion__flow-toggle:hover{background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 4%,transparent)}
.odin-training-completion__flow-step{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 10%,transparent);color:var(--odin-accent-1,var(--odin-info,#37c6e6));font-size:.72rem;font-weight:900}
.odin-training-completion__flow-copy{display:grid;gap:.05rem;min-width:0}
.odin-training-completion__flow-copy small{font-size:.52rem;font-weight:850;letter-spacing:.08em;color:var(--odin-muted,#7892a5)}
.odin-training-completion__flow-copy strong{font-size:.82rem}
.odin-training-completion__flow-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:.61rem;color:var(--odin-muted,#7892a5)}
.odin-training-completion__flow-status{display:inline-flex;align-items:center;gap:.32rem;padding:.3rem .48rem;border-radius:999px;font-size:.58rem;font-weight:850;white-space:nowrap}
.odin-training-completion__flow-status.is-complete{background:color-mix(in srgb,#34c98f 11%,transparent);color:#34c98f}
.odin-training-completion__flow-status.is-pending{background:color-mix(in srgb,#f0ad4e 10%,transparent);color:#f0ad4e}
.odin-training-completion__flow-chevron{font-size:.65rem;color:var(--odin-muted,#7892a5);transition:transform .18s ease}
.odin-training-completion__flow-section.is-open .odin-training-completion__flow-chevron{transform:rotate(180deg)}
.odin-training-completion__flow-body{display:grid;gap:.65rem;padding:0 .65rem .65rem}
.odin-training-completion__flow-body>.panel{margin:0}
.odin-training-completion__flow-body>.panel>.panel-head{padding-top:.75rem;padding-bottom:.65rem}

.odin-training-completion__practice-overview{display:grid;gap:.65rem}
.odin-training-completion__practice-row{display:grid;grid-template-columns:38px 1fr;align-items:start;gap:.55rem}
.odin-training-completion__practice-row>strong{padding-top:.3rem;font-size:.62rem;color:var(--odin-muted,#7892a5)}
.odin-training-completion__practice-row>span{display:flex;flex-wrap:wrap;gap:.4rem}
.odin-training-completion__session-chip{display:inline-flex;align-items:center;gap:.28rem;min-height:31px;padding:.33rem .48rem;border:1px solid var(--odin-line,#203449);border-radius:7px;background:transparent;color:var(--odin-text,#eefaff);font-size:.61rem;font-weight:800}
.odin-training-completion__session-chip i{font-size:.5rem;color:#60778b}
.odin-training-completion__session-chip.is-complete{border-color:color-mix(in srgb,#34c98f 40%,var(--odin-line,#203449));background:color-mix(in srgb,#34c98f 7%,transparent)}
.odin-training-completion__session-chip.is-complete i{color:#34c98f}
.odin-training-completion__session-chip.is-optional{opacity:.78}
.odin-training-completion__session-chip small{font-size:.48rem;color:var(--odin-muted,#7892a5)}

.odin-training-completion__details-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;justify-self:start;min-height:34px;padding:.4rem .58rem;border:1px solid var(--odin-line,#203449);border-radius:7px;background:transparent;color:var(--odin-text,#eefaff);font-size:.6rem;font-weight:800}
.odin-training-completion__details-toggle:hover{border-color:var(--odin-accent-1,var(--odin-info,#37c6e6));color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__details-toggle>i:last-child{font-size:.52rem;transition:transform .18s ease}
.odin-training-completion__details-toggle[aria-expanded="true"]>i:last-child{transform:rotate(180deg)}
.odin-training-completion__practice-details,
.odin-training-completion__skills-details,
.odin-training-completion__certification-details{margin-top:.8rem}

.odin-training-completion__skills-overview{display:grid;gap:.7rem}
.odin-training-completion__skills-overview>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.odin-training-completion__skills-overview>div:first-child>span{display:grid;gap:.03rem}
.odin-training-completion__skills-overview>div:first-child strong{font-size:1.05rem}
.odin-training-completion__skills-overview>div:first-child small{font-size:.58rem;color:var(--odin-muted,#7892a5)}
.odin-training-completion__skills-overview>div:first-child em{font-style:normal;font-size:.58rem;font-weight:850;padding:.26rem .45rem;border-radius:999px;background:color-mix(in srgb,#f0ad4e 10%,transparent);color:#f0ad4e}
.odin-training-completion__skills-overview>div:first-child em.is-complete{background:color-mix(in srgb,#34c98f 10%,transparent);color:#34c98f}
.odin-training-completion__skills-bars{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.odin-training-completion__skills-bars>span{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.48rem .56rem;border:1px solid var(--odin-line,#203449);border-radius:7px}
.odin-training-completion__skills-bars small{font-size:.58rem;color:var(--odin-muted,#7892a5)}
.odin-training-completion__skills-bars strong{font-size:.68rem}

.odin-training-completion__certification-overview{display:flex;align-items:center;justify-content:space-between;gap:.8rem}
.odin-training-completion__certification-overview>span{display:flex;align-items:center;gap:.55rem}
.odin-training-completion__certification-overview>span>i{color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__certification-overview>span>span{display:grid;gap:.06rem}
.odin-training-completion__certification-overview strong{font-size:.72rem}
.odin-training-completion__certification-overview small{font-size:.58rem;color:var(--odin-muted,#7892a5)}

[data-bs-theme="light"] .odin-training-completion__flow-section,
[data-bs-theme="light"] .odin-training-completion__session-chip,
[data-bs-theme="light"] .odin-training-completion__details-toggle{background:#fff;color:#213240}

@media(max-width:767px){
  .odin-training-completion__flow-toggle{grid-template-columns:32px minmax(0,1fr) 18px;gap:.55rem;padding:.72rem .7rem}
  .odin-training-completion__flow-step{width:30px;height:30px}
  .odin-training-completion__flow-status{grid-column:2;justify-self:start;margin-top:.25rem}
  .odin-training-completion__flow-chevron{grid-column:3;grid-row:1}
  .odin-training-completion__flow-copy em{white-space:normal}
  .odin-training-completion__flow-body{padding:0 .45rem .45rem}
  .odin-training-completion__practice-row{grid-template-columns:1fr}
  .odin-training-completion__practice-row>strong{padding-top:0}
  .odin-training-completion__skills-bars{grid-template-columns:1fr}
  .odin-training-completion__certification-overview{align-items:flex-start;flex-direction:column}
}


.odin-training-completion__session.is-focus{outline:2px solid var(--odin-accent-1,var(--odin-info,#37c6e6));outline-offset:2px;transition:outline-color .2s ease}
.odin-training-completion__review-list{display:grid;gap:.45rem;text-align:left}
.odin-training-completion__review-list>span{display:grid;grid-template-columns:22px minmax(100px,.8fr) 1fr;align-items:center;gap:.45rem;padding:.48rem .55rem;border:1px solid rgba(127,145,160,.22);border-radius:7px}
.odin-training-completion__review-list i{color:var(--odin-accent-1,#37c6e6)}
.odin-training-completion__review-list strong{font-size:.72rem}
.odin-training-completion__review-list em{font-style:normal;font-size:.68rem;color:#718295}
@media(max-width:560px){.odin-training-completion__review-list>span{grid-template-columns:22px 1fr}.odin-training-completion__review-list em{grid-column:2}}


.odin-training-completion__theory-methods{display:grid;gap:.3rem}
.odin-training-completion__theory-methods>span{color:var(--odin-muted,#7892a5);font-size:.61rem;font-weight:750}
.odin-training-completion__theory-method-options{display:flex;flex-wrap:wrap;gap:.4rem}
.odin-training-completion__theory-method-option{display:inline-flex;align-items:center;gap:.35rem;margin:0;padding:.42rem .55rem;border:1px solid var(--odin-line,#203449);border-radius:7px;background:color-mix(in srgb,var(--odin-bg,#07111f) 12%,transparent);font-size:.62rem;font-weight:700}
.odin-training-completion__theory-method-option:has(input:checked){border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 45%,var(--odin-line,#203449));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 7%,transparent)}
.odin-training-completion__theory-method-option .form-check-input{margin:0}
[data-bs-theme="light"] .odin-training-completion__theory-method-option{background:#fff}
@media(max-width:767px){.odin-training-completion__theory-method-options{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:520px){.odin-training-completion__theory-method-options{grid-template-columns:1fr}}


.odin-training-completion__pdf-list{display:grid;gap:.45rem}
.odin-training-completion__pdf-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.62rem .7rem;border:1px solid var(--odin-line,#203449);border-radius:8px;color:inherit;text-decoration:none;background:color-mix(in srgb,var(--odin-bg,#07111f) 14%,transparent)}
.odin-training-completion__pdf-item:hover{border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 45%,var(--odin-line,#203449));color:inherit}
.odin-training-completion__pdf-item>i{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:color-mix(in srgb,#e05252 10%,transparent);color:#e36a6a}
.odin-training-completion__pdf-item>span{display:grid;gap:.08rem;min-width:0}
.odin-training-completion__pdf-item strong{font-size:.68rem}
.odin-training-completion__pdf-item small{font-size:.56rem;color:var(--odin-muted,#7892a5)}
.odin-training-completion__pdf-item>em{display:inline-flex;align-items:center;gap:.3rem;font-style:normal;font-size:.58rem;font-weight:800;color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
[data-bs-theme="light"] .odin-training-completion__pdf-item{background:#fff}
@media(max-width:600px){.odin-training-completion__pdf-item{grid-template-columns:32px minmax(0,1fr)}.odin-training-completion__pdf-item>em{grid-column:2}}


.odin-training-completion__skill em.is-pending{color:var(--odin-muted,#7892a5);opacity:.85}
.odin-training-completion__skill em.is-pending i{color:#f0ad4e}


/* Sequential CW / OW editor */
.odin-training-completion__session.is-sequence-entered:not(.is-sequence-open)>:not(.odin-training-completion__session-name),
.odin-training-completion__session.is-sequence-locked:not(.is-sequence-open)>:not(.odin-training-completion__session-name){display:none!important}
.odin-training-completion__session.is-sequence-entered:not(.is-sequence-open),
.odin-training-completion__session.is-sequence-locked:not(.is-sequence-open){display:block!important;padding:.55rem .65rem}
.odin-training-completion__session.is-sequence-active{border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 55%,var(--odin-line,#203449));box-shadow:0 0 0 1px color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 15%,transparent)}
.odin-training-completion__session.is-sequence-locked{opacity:.72}
.odin-training-completion__session-name{position:relative;align-items:center}
.odin-training-completion__session-sequence-status{display:inline-flex;align-items:center;gap:.28rem;margin-left:auto;padding:.28rem .45rem;border-radius:999px;font-size:.54rem;font-style:normal;font-weight:800;white-space:nowrap}
.odin-training-completion__session-sequence-status.is-entered{background:rgba(54,184,126,.1);color:#4fc792}
.odin-training-completion__session-sequence-status.is-active{background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 12%,transparent);color:var(--odin-accent-1,var(--odin-info,#37c6e6))}
.odin-training-completion__session-sequence-status.is-locked{background:rgba(120,146,165,.1);color:var(--odin-muted,#7892a5)}
.odin-training-completion__session-sequence-toggle{display:inline-grid;place-items:center;width:28px;height:28px;margin-left:.35rem;padding:0;border:1px solid var(--odin-line,#203449);border-radius:6px;background:transparent;color:var(--odin-muted,#7892a5)}
.odin-training-completion__session-sequence-toggle:hover{color:var(--odin-text,#dce7ef);border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info,#37c6e6)) 40%,var(--odin-line,#203449))}
.odin-training-completion__session.is-sequence-locked .form-control,
.odin-training-completion__session.is-sequence-locked .form-select{pointer-events:none}
@media(max-width:767px){
  .odin-training-completion__session-name{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.45rem}
  .odin-training-completion__session-sequence-status{margin-left:0}
}


/* Downloadable training documents */
.odin-training-completion__pdf-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.odin-training-completion__pdf-action{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--bs-border-color);border-radius:10px;background:var(--bs-body-bg)}
.odin-training-completion__pdf-action>i{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:var(--bs-tertiary-bg);font-size:1.05rem}
.odin-training-completion__pdf-action>span{min-width:0;display:grid;gap:2px}
.odin-training-completion__pdf-action>span strong{font-size:.95rem}
.odin-training-completion__pdf-action>span small{color:var(--bs-secondary-color)}
.odin-training-completion__pdf-action>span em{font-style:normal;font-size:.78rem;color:var(--bs-secondary-color)}
.odin-training-completion__pdf-action.is-primary{border-color:rgba(var(--bs-info-rgb),.42);box-shadow:inset 0 0 0 1px rgba(var(--bs-info-rgb),.08)}
@media (max-width:767.98px){
  .odin-training-completion__pdf-action-grid{grid-template-columns:1fr}
  .odin-training-completion__pdf-action{grid-template-columns:auto 1fr}
  .odin-training-completion__pdf-action .btn{grid-column:1/-1;width:100%}
}
