/* OMI Pro V25 — Archive CBT + overlap repair */
:root{--v25-green:#076a55;--v25-green2:#0b8c70;--v25-blue:#1786c2;--v25-ink:#172a23;--v25-muted:#667871;--v25-line:#d9e6e1;--v25-bg:#f3f8f6;--v25-shadow:0 10px 28px rgba(19,58,47,.09)}

/* Never let a sticky save panel cover the last settings/submenu. */
.omi-assessment-settings .sticky-save{
  position:static!important;inset:auto!important;margin:14px 0 0!important;padding:8px!important;
  min-height:0!important;height:auto!important;box-shadow:none!important;border:1px solid var(--v25-line)!important;
  background:#fff!important;
}
.omi-assessment-settings .sticky-save #save{width:100%!important;min-height:46px!important}
.omi-assessment-settings .portal-rows{padding-bottom:0!important}

/* Catalog controls remain directly below the app header instead of sliding behind it. */
.omi-catalog .archive-main{padding-top:12px!important}
.omi-catalog .archive-hero.compact-catalog{padding:18px 20px!important;margin:0 0 10px!important;border-radius:18px!important}
.omi-catalog .archive-hero.compact-catalog h1{font-size:clamp(22px,4vw,32px)!important;margin:5px 0 0!important}
.omi-catalog .archive-filters{
  position:sticky!important;top:calc(58px + var(--omi-safe-top,0px))!important;z-index:340!important;
  display:grid!important;grid-template-columns:minmax(0,1.4fr) minmax(130px,.7fr) minmax(130px,.7fr)!important;
  gap:8px!important;margin:0 0 8px!important;padding:9px!important;border:1px solid rgba(215,229,223,.96)!important;
  border-radius:16px!important;background:rgba(248,252,250,.97)!important;box-shadow:0 8px 20px rgba(20,60,48,.08)!important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
}
.omi-catalog .archive-filters label{gap:4px!important;font-size:11px!important;color:#62756d!important}
.omi-catalog .archive-filters input,.omi-catalog .archive-filters select{min-height:42px!important;padding:8px 10px!important;border-radius:11px!important}
.omi-catalog .archive-result-count{margin:10px 2px 12px!important;font-weight:850!important;color:#496158!important}
.omi-catalog .archive-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:11px!important}
.omi-catalog .archive-card{padding:16px!important;gap:10px!important;border-radius:18px!important;box-shadow:var(--v25-shadow)!important}
.omi-catalog .archive-card h2{font-size:17px!important;line-height:1.3!important;letter-spacing:-.01em!important}
.omi-catalog .archive-card-meta{display:flex;flex-wrap:wrap;gap:5px}
.omi-catalog .archive-count{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:5px;color:var(--v25-muted)}
.omi-catalog .archive-count strong{font-size:25px;color:var(--v25-green);line-height:1}.omi-catalog .archive-count span{font-weight:800}.omi-catalog .archive-count small{font-size:11px}
.omi-catalog .archive-card .actions{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important}
.omi-catalog .archive-card .actions .primary{color:#fff!important;background:linear-gradient(145deg,#08785f,#06624f)!important;border-color:#08705a!important;box-shadow:0 5px 0 #055340!important}
.omi-catalog .archive-card .actions .secondary{min-width:94px!important}
.omi-catalog .archive-empty{grid-column:1/-1;padding:22px;text-align:center;background:#fff;border:1px solid var(--v25-line);border-radius:16px;color:var(--v25-muted)}

/* Real CBT archive view: compact controls, structured stem/options, faithful source crops. */
.omi-cbt-archive .archive-main{max-width:900px!important;padding-top:12px!important}
.omi-cbt-archive .back-link,.omi-cbt-archive .archive-hero{display:none!important}
.cbt-package-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;margin:0 0 8px;background:#fff;border:1px solid var(--v25-line);border-radius:17px;box-shadow:var(--v25-shadow)}
.cbt-package-head .eyebrow{color:var(--v25-green);font-size:10px}.cbt-package-head h1{margin:2px 0 0!important;font-size:clamp(17px,3vw,23px)!important;line-height:1.22!important;letter-spacing:-.015em}.cbt-package-head p{margin:3px 0 0!important;font-size:12px;color:var(--v25-muted)}
.cbt-source-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:92px;min-height:44px;padding:8px 10px;border:1px solid #d7e5df;border-radius:13px;background:linear-gradient(145deg,#fff,#eef7f3);color:var(--v25-green);font-weight:850;text-decoration:none;box-shadow:0 4px 10px rgba(15,72,56,.07)}
.cbt-source-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.omi-cbt-archive .cbt-topbar{display:grid!important;grid-template-columns:minmax(0,220px) auto!important;align-items:end!important;justify-content:space-between!important;gap:8px!important;margin:0 0 8px!important;padding:0!important}
.omi-cbt-archive .cbt-topbar label{display:grid;gap:4px;font-size:11px;font-weight:800;color:var(--v25-muted)}
.omi-cbt-archive .cbt-topbar select{min-height:42px!important;padding:8px 10px!important;border-radius:11px!important}
.cbt-status{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:62px;min-height:38px;padding:6px 10px;border-radius:999px;background:#e8f5ef;color:var(--v25-green);font-size:12px;font-weight:900}
.omi-cbt-archive .cbt-card{padding:17px!important;border-radius:20px!important;box-shadow:var(--v25-shadow)!important;overflow:hidden!important}
.cbt-question-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.cbt-number{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#0e8a6d,#066c57);color:#fff;font-size:19px;font-weight:950;box-shadow:0 5px 0 #055443}.cbt-question-head>div:last-child{min-width:0}.cbt-field{display:block;font-size:12px;font-weight:950;letter-spacing:.08em;color:var(--v25-green)}.cbt-question-head small{display:block;margin-top:2px;color:var(--v25-muted);font-size:10px;font-weight:800}
.cbt-source-image{margin:10px 0 14px;border:1px solid #d9e6e1;border-radius:16px;overflow:hidden;background:#eef4f1;box-shadow:inset 0 1px 0 #fff}.cbt-source-image img{display:block;width:100%;max-height:520px;object-fit:contain;background:#fff;cursor:zoom-in}.cbt-source-image figcaption{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;font-size:10px;color:var(--v25-muted)}.cbt-source-image figcaption span{font-weight:850;color:var(--v25-green)}
.omi-cbt-archive .cbt-question{font-size:17px!important;line-height:1.65!important;font-weight:650!important;color:var(--v25-ink)!important;margin:8px 0 14px!important;white-space:normal!important}
.cbt-options{border:0;padding:0;margin:0;display:grid;gap:9px}.cbt-choice{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 30px;align-items:center;gap:10px;min-height:68px;padding:9px 10px;border:2px solid #dfe8e4;border-radius:17px;background:linear-gradient(180deg,#fff,#fbfcfc);cursor:pointer;box-shadow:0 4px 10px rgba(24,58,48,.045);transition:transform .15s ease,border-color .15s ease,background .15s ease}.cbt-choice:nth-of-type(1){border-color:#f0cdd2;background:#fff8f9}.cbt-choice:nth-of-type(2){border-color:#c8e7f3;background:#f5fbfe}.cbt-choice:nth-of-type(3){border-color:#c7eadc;background:#f5fcf9}.cbt-choice:nth-of-type(4){border-color:#eedfae;background:#fffdf5}.cbt-choice:nth-of-type(5){border-color:#ddd5ef;background:#fbf9ff}.cbt-choice input{position:absolute;opacity:0;pointer-events:none}.cbt-choice-letter{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#fff;color:#20332b;font-size:18px;font-weight:950;box-shadow:0 4px 9px rgba(22,54,45,.10),inset 0 1px 0 #fff}.cbt-choice-text{min-width:0;font-size:15px;line-height:1.5;font-weight:750;overflow-wrap:anywhere}.cbt-choice-check{opacity:0;width:28px;height:28px;display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;font-weight:950}.cbt-choice:has(input:checked){transform:translateY(-1px);border-color:#1684c2!important;background:linear-gradient(145deg,#1c9bd5,#157bb4)!important;color:#fff;box-shadow:0 6px 0 #0e679c,0 10px 18px rgba(20,119,173,.18)}.cbt-choice:has(input:checked) .cbt-choice-letter{color:#173044}.cbt-choice:has(input:checked) .cbt-choice-check{opacity:1}
.cbt-written-label{margin:14px 0 0!important}.cbt-written-label span{font-size:12px;color:var(--v25-muted)}.cbt-written-label textarea{min-height:120px!important}
.omi-cbt-archive .feedback{margin:10px 0!important;padding:10px 12px!important;min-height:0!important;font-size:13px!important}.omi-cbt-archive .feedback:empty{display:none!important}
.omi-cbt-archive .cbt-nav{display:grid!important;grid-template-columns:repeat(3,52px)!important;justify-content:center!important;gap:12px!important;margin:14px 0 4px!important}.cbt-icon-btn{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;border:1px solid #dce7e3!important;border-radius:16px!important;font-size:23px!important;font-weight:950!important;display:grid!important;place-items:center!important;cursor:pointer!important;box-shadow:0 5px 0 #d1ddd8,0 7px 14px rgba(20,54,44,.08)!important}.cbt-icon-btn.prev{background:#f5f7f8!important;color:#546a62!important}.cbt-icon-btn.save,.cbt-icon-btn.check{background:#eaf5f0!important;color:#08725b!important}.cbt-icon-btn.next{background:linear-gradient(145deg,#12a97e,#08765e)!important;color:#fff!important;box-shadow:0 5px 0 #055c49,0 8px 15px rgba(8,118,94,.17)!important}.cbt-icon-btn:disabled{opacity:.38;box-shadow:none!important}.guided-link{display:flex!important;align-items:center!important;justify-content:center!important;min-height:44px;margin-top:11px!important;border-radius:13px!important;background:#eef6f3!important;color:var(--v25-green)!important;font-weight:850!important;text-decoration:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(min-width:900px){.omi-catalog .archive-filters{top:calc(112px + var(--omi-safe-top,0px))!important}}
@media(max-width:760px){
  .omi-catalog .archive-main{padding-left:10px!important;padding-right:10px!important}.omi-catalog .archive-hero.compact-catalog{padding:14px 15px!important}.omi-catalog .archive-hero.compact-catalog h1{font-size:20px!important}
  .omi-catalog .archive-filters{grid-template-columns:minmax(0,1fr) minmax(88px,.55fr) minmax(88px,.55fr)!important;gap:5px!important;padding:7px!important;border-radius:13px!important}.omi-catalog .archive-filters label>span{display:none}.omi-catalog .archive-filters input,.omi-catalog .archive-filters select{min-height:40px!important;font-size:13px!important;padding:6px 8px!important}.omi-catalog .archive-card{padding:14px!important}.omi-catalog .archive-grid{grid-template-columns:1fr!important}.omi-catalog .archive-card .actions{grid-template-columns:minmax(0,1fr) auto!important}
  .cbt-package-head{padding:11px 12px!important;grid-template-columns:minmax(0,1fr) 48px!important}.cbt-package-head h1{font-size:16px!important}.cbt-source-link{width:48px;min-width:48px;height:44px;padding:0}.cbt-source-link span{display:none}.omi-cbt-archive .cbt-topbar{grid-template-columns:minmax(0,1fr) auto!important}.omi-cbt-archive .cbt-card{padding:14px!important}.omi-cbt-archive .cbt-question{font-size:16px!important}.cbt-choice{grid-template-columns:44px minmax(0,1fr) 28px;min-height:64px;padding:8px}.cbt-choice-text{font-size:14px}.cbt-source-image img{max-height:390px}.cbt-source-image figcaption small{display:none}
}
@media(max-width:380px){.omi-catalog .archive-filters{grid-template-columns:1fr 1fr!important}.omi-catalog .archive-search{grid-column:1/-1}.cbt-choice{grid-template-columns:40px minmax(0,1fr) 26px}.cbt-choice-letter{width:40px;height:40px}.cbt-package-head p{display:none}}
@media(prefers-reduced-motion:reduce){.cbt-choice{transition:none!important}}
