:root{
  --oa-brand:#1E3A5F;
  --oa-brand-dark:#142A46;
  --oa-brand-light:#EAF3FB;
  --oa-green:#4CAF50;
  --oa-accent:#F28C28;
  --oa-bg:#F7F9FC;
  --oa-surface:#FFFFFF;
  --oa-surface-soft:#FAFCFF;
  --oa-text:#263238;
  --oa-muted:#607D8B;
  --oa-border:#DDE5EF;
  --oa-radius:18px;
  --oa-shadow:0 14px 36px rgba(30,58,95,.10);
}

/* Dark tema portala */
[data-bs-theme="dark"] .oa-assessment,
body.dark .oa-assessment,
body.dark-mode .oa-assessment,
html.dark .oa-assessment{
  --oa-brand:#8AB4F8;
  --oa-brand-dark:#0B1220;
  --oa-brand-light:#1E293B;
  --oa-green:#69D66F;
  --oa-accent:#F7A63A;
  --oa-bg:#0F172A;
  --oa-surface:#16213A;
  --oa-surface-soft:#1E293B;
  --oa-text:#F8FAFC;
  --oa-muted:#CBD5E1;
  --oa-border:#334155;
  --oa-shadow:0 14px 36px rgba(0,0,0,.35);
}

/* =====================================================
   Osnovni wrapper
===================================================== */

.oa-assessment{
  background:var(--oa-bg);
  color:var(--oa-text);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.55;
  padding:1.5rem;
  border-radius:var(--oa-radius);
}

.oa-assessment *{
  box-sizing:border-box;
}

/* =====================================================
   Header obrasca
===================================================== */

.oa-assessment__hero{
  background:linear-gradient(135deg,var(--oa-brand-light) 0%,var(--oa-surface) 100%);
  border:1px solid var(--oa-border);
  border-radius:24px;
  padding:1.5rem;
  margin-bottom:1.5rem;
}

.oa-assessment__eyebrow{
  display:inline-block;
  color:var(--oa-green);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:.5rem;
}

.oa-assessment h1,
.oa-assessment h2,
.oa-assessment h3{
  color:var(--oa-brand);
  line-height:1.18;
  margin:0 0 .8rem;
}

.oa-assessment h1{
  font-size:clamp(1.8rem,4vw,3rem);
  letter-spacing:-.03em;
}

.oa-assessment__lead{
  color:var(--oa-muted);
  font-size:1.05rem;
  margin:0;
  max-width:980px;
}

.oa-assessment__notice{
  background:#FFF5E8;
  border:1px solid #FFD5A3;
  color:#3A2A16;
  border-radius:14px;
  padding:.85rem 1rem;
  margin-top:1rem;
}

[data-bs-theme="dark"] .oa-assessment__notice,
body.dark .oa-assessment__notice,
body.dark-mode .oa-assessment__notice,
html.dark .oa-assessment__notice{
  background:#2A1C0D;
  border-color:#7C4A16;
  color:#FDE7C7;
}

/* =====================================================
   Layout: col-9 obrazac + col-3 rezultat
===================================================== */

.oa-assessment__layout{
  display:grid;
  grid-template-columns:minmax(0,9fr) minmax(260px,3fr);
  gap:1.25rem;
  align-items:start;
  margin-bottom:5rem;
}

.oa-assessment__main{
  min-width:0;
}

.oa-assessment__aside{
  position:sticky;
  top:16px;
  align-self:start;
  height:fit-content;
  max-height:calc(100vh - 32px);
  overflow-y:auto;
  scrollbar-width:thin;
  padding-bottom:.25rem;
}

/* =====================================================
   Kartice i forme
===================================================== */

.oa-card{
  background:var(--oa-surface);
  border:1px solid var(--oa-border);
  border-radius:var(--oa-radius);
  box-shadow:var(--oa-shadow);
  padding:1.15rem;
  margin-bottom:1rem;
}

.oa-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.9rem;
}

.oa-field{
  display:grid;
  gap:.35rem;
  font-weight:800;
  color:var(--oa-text);
  margin-top: .5rem;
}

.oa-field__hint{
  color:var(--oa-muted);
  font-weight:400;
}

.oa-field input,
.oa-field textarea,
.oa-field select{
  width:100%;
  min-height:44px;
  border:1px solid var(--oa-border);
  border-radius:12px;
  padding:.65rem .8rem;
  color:var(--oa-text);
  background:var(--oa-surface);
  font:inherit;
}

.oa-field input::placeholder,
.oa-field textarea::placeholder{
  color:var(--oa-muted);
}

.oa-field input[readonly]{
  background:var(--oa-surface-soft);
}

.oa-field textarea{
  resize:vertical;
}

/* =====================================================
   Accordion grupe
===================================================== */

.oa-accordion{
  display:grid;
  gap:.8rem;
}

.oa-accordion__item{
  background:var(--oa-surface);
  border:1px solid var(--oa-border);
  border-radius:16px;
  overflow:hidden;
}

.oa-accordion__button{
  width:100%;
  border:0;
  background:var(--oa-brand-light);
  color:var(--oa-brand);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:1rem;
  font-weight:900;
  text-align:left;
  cursor:pointer;
}

.oa-accordion__button:hover{
  filter:brightness(.97);
}

[data-bs-theme="dark"] .oa-accordion__button:hover,
body.dark .oa-accordion__button:hover,
body.dark-mode .oa-accordion__button:hover,
html.dark .oa-accordion__button:hover{
  filter:brightness(1.18);
}

.oa-accordion__icon{
  transition:transform .2s ease;
  font-size:1.2rem;
}

.oa-accordion__item.is-open .oa-accordion__icon{
  transform:rotate(90deg);
}

.oa-accordion__body{
  display:none;
  padding:1rem;
}

.oa-accordion__item.is-open .oa-accordion__body{
  display:block;
}

/* =====================================================
   Pitanja i odgovori
===================================================== */

.oa-question{
  border:1px solid var(--oa-border);
  border-radius:14px;
  padding:1rem;
  margin-bottom:.85rem;
  background:var(--oa-surface);
}

.oa-question:last-child{
  margin-bottom:0;
}

.oa-question__title{
  font-weight:900;
  margin-bottom:.8rem;
  color:var(--oa-text);
}

.oa-answer-list{
  display:grid;
  grid-template-columns:1fr;
  gap:.55rem;
}

.oa-answer{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  border:1px solid var(--oa-border);
  border-radius:12px;
  padding:.7rem .8rem;
  background:var(--oa-surface-soft);
  color:var(--oa-text);
  cursor:pointer;
  font-weight:700;
}

.oa-answer:hover{
  border-color:var(--oa-green);
  background:#F1FAF2;
}

[data-bs-theme="dark"] .oa-answer:hover,
body.dark .oa-answer:hover,
body.dark-mode .oa-answer:hover,
html.dark .oa-answer:hover{
  background:#12311D;
}

.oa-answer input{
  margin-top:.2rem;
  flex:0 0 auto;
  accent-color:var(--oa-green);
}

/* =====================================================
   Kompaktni panel rezultata
===================================================== */

.oa-result{
  background:var(--oa-brand-dark);
  color:#fff;
  border-radius:18px;
  padding:.85rem;
  box-shadow:0 14px 32px rgba(30,58,95,.22);
}

[data-bs-theme="dark"] .oa-result,
body.dark .oa-result,
body.dark-mode .oa-result,
html.dark .oa-result{
  border:1px solid var(--oa-border);
  box-shadow:0 14px 32px rgba(0,0,0,.45);
}

.oa-result h2{
  color:#fff;
  font-size:1.15rem;
  margin-bottom:.65rem;
}

.oa-result__card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  border-radius:13px;
  padding:.5rem .65rem;
  margin-bottom:.45rem;
}

[data-bs-theme="dark"] .oa-result__card,
body.dark .oa-result__card,
body.dark-mode .oa-result__card,
html.dark .oa-result__card{
  background:rgba(255,255,255,.08);
}

.oa-result__card span{
  display:block;
  font-size:.75rem;
  line-height:1.2;
  opacity:.88;
}

.oa-result__card strong{
  display:block;
  font-size:1.35rem;
  line-height:1;
  white-space:nowrap;
}

.oa-result__service{
  background:#fff;
  color:var(--oa-brand-dark);
  border-radius:13px;
  padding:.55rem .65rem;
  font-weight:900;
  font-size:.86rem;
  margin:.6rem 0;
}

[data-bs-theme="dark"] .oa-result__service,
body.dark .oa-result__service,
body.dark-mode .oa-result__service,
html.dark .oa-result__service{
  background:#EAF3FB;
  color:#142A46;
}

.oa-result__note{
  color:rgba(255,255,255,.84);
  font-size:.78rem;
  line-height:1.35;
  margin:.6rem 0 0;
}

/* =====================================================
   Progress
===================================================== */

.oa-progress{
  margin:.55rem 0;
}

.oa-progress__meta{
  display:flex;
  justify-content:space-between;
  gap:.5rem;
  font-size:.78rem;
  opacity:.9;
  margin-bottom:.3rem;
}

.oa-progress__bar{
  height:8px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.18);
}

.oa-progress__fill{
  display:block;
  height:100%;
  width:0;
  background:var(--oa-green);
  border-radius:999px;
  transition:width .2s ease;
}

/* =====================================================
   Akcije
===================================================== */

.oa-actions{
  display:grid;
  gap:.5rem;
  margin-top:.75rem;
}

.oa-btn{
  border:0;
  border-radius:999px;
  padding:.62rem .85rem;
  font-size:.9rem;
  font-weight:900;
  cursor:pointer;
  width:100%;
}

.oa-btn--print{
  background:var(--oa-accent);
  color:#fff;
}

.oa-btn--print:hover{
  filter:brightness(.95);
}

.oa-btn--reset{
  background:#fff;
  color:var(--oa-brand);
  border:2px solid var(--oa-border);
}

[data-bs-theme="dark"] .oa-btn--reset,
body.dark .oa-btn--reset,
body.dark-mode .oa-btn--reset,
html.dark .oa-btn--reset{
  background:var(--oa-surface);
  color:var(--oa-text);
}

.oa-source{
  color:var(--oa-muted);
  font-size:.85rem;
  margin-top:1rem;
}

/* =====================================================
   Responsive
===================================================== */

@media(max-width:991.98px){
  .oa-assessment__layout{
    grid-template-columns:1fr;
    margin-bottom:2rem;
  }

  .oa-assessment__aside{
    position:static;
    max-height:none;
    overflow:visible;
  }

  .oa-form-grid{
    grid-template-columns:1fr;
  }

  .oa-result__card{
    display:grid;
    grid-template-columns:1fr auto;
  }
}

@media(max-width:576px){
  .oa-assessment{
    padding:1rem;
  }

  .oa-assessment__hero,
  .oa-card{
    padding:1rem;
  }

  .oa-accordion__button{
    padding:.85rem;
  }

  .oa-accordion__body{
    padding:.85rem;
  }

  .oa-answer{
    padding:.65rem;
  }
}

/* =====================================================
   Print / PDF
===================================================== */

@media print{
  .oa-assessment{
    background:#fff;
    color:#000;
    padding:0;
  }

  .oa-assessment__layout{
    display:block;
    margin-bottom:0;
  }

  .oa-assessment__hero,
  .oa-card,
  .oa-result,
  .oa-accordion__item,
  .oa-question{
    box-shadow:none;
    border:1px solid #999;
    border-radius:0;
    break-inside:avoid;
  }

  .oa-assessment__aside{
    position:static;
    max-height:none;
    overflow:visible;
  }

  .oa-result{
    background:#fff;
    color:#000;
  }

  .oa-result h2{
    color:#000;
  }

  .oa-result__card,
  .oa-result__service{
    background:#fff;
    color:#000;
    border:1px solid #999;
  }

  .oa-result__note,
  .oa-progress,
  .oa-no-print{
    display:none!important;
  }

  .oa-accordion__body{
    display:block!important;
  }

  .oa-accordion__button{
    background:#eee!important;
    color:#000;
    border-bottom:1px solid #999;
  }

  .oa-accordion__icon{
    display:none;
  }
}

/* =====================================================
   PRINT OPTIMIZACIJA ZA OA OBRASCE
   Dodati na kraj assets/css/oa-forms.css
===================================================== */

@media print{

  @page{
    size:A4 portrait;
    margin:8mm 7mm;
  }

  html,
  body{
    background:#fff!important;
    color:#000!important;
    font-size:9pt!important;
    line-height:1.25!important;
  }

  .oa-assessment{
    background:#fff!important;
    color:#000!important;
    padding:0!important;
    margin:0!important;
    border-radius:0!important;
    font-size:9pt!important;
    line-height:1.25!important;
  }

  .oa-assessment__hero{
    padding:6mm!important;
    margin:0 0 4mm!important;
    border:1px solid #999!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
    break-inside:avoid;
  }

  .oa-assessment__eyebrow{
    font-size:8pt!important;
    margin-bottom:2mm!important;
  }

  .oa-assessment h1{
    font-size:16pt!important;
    margin:0 0 2mm!important;
    line-height:1.1!important;
    color:#000!important;
  }

  .oa-assessment h2{
    font-size:11pt!important;
    margin:0 0 2mm!important;
    line-height:1.15!important;
    color:#000!important;
  }

  .oa-assessment h3{
    font-size:10pt!important;
    margin:0 0 2mm!important;
    color:#000!important;
  }

  .oa-assessment__lead,
  .oa-assessment p{
    font-size:9pt!important;
    margin:0 0 2mm!important;
    color:#000!important;
  }

  .oa-assessment__notice,
  .oa-source,
  .oa-progress,
  .oa-result__note,
  .oa-no-print,
  .oa-actions{
    display:none!important;
  }

  .oa-assessment__layout{
    display:block!important;
    margin:0!important;
  }

  .oa-assessment__main,
  .oa-assessment__aside{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    position:static!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
  }

  .oa-row{
    display:grid!important;
    grid-template-columns:repeat(12,1fr)!important;
    gap:2mm!important;
  }

  .oa-col-12,
  .oa-col-9,
  .oa-col-8,
  .oa-col-6,
  .oa-col-4,
  .oa-col-3{
    grid-column:span 12!important;
  }

  .oa-card{
    padding:3mm!important;
    margin:0 0 3mm!important;
    border:1px solid #aaa!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
    break-inside:auto!important;
  }

  .oa-card > h2{
    padding:0 0 1.5mm!important;
    margin:0 0 2mm!important;
    border-bottom:1px solid #ccc!important;
  }

  .oa-field{
    gap:1mm!important;
    font-size:8.5pt!important;
    font-weight:700!important;
  }

  .oa-field input,
  .oa-field textarea,
  .oa-field select{
    min-height:7mm!important;
    padding:1mm 1.5mm!important;
    border:1px solid #aaa!important;
    border-radius:0!important;
    background:#fff!important;
    color:#000!important;
    font-size:8.5pt!important;
  }

  .oa-field textarea{
    min-height:12mm!important;
    max-height:18mm!important;
  }

  /* Osnovni podaci kompaktnije u 2 stupca */
  .oa-card:first-child .oa-col-6{
    grid-column:span 6!important;
  }

  /* Grupe */
  .oa-accordion{
    gap:2mm!important;
  }

  .oa-accordion__item{
    border:1px solid #bbb!important;
    border-radius:0!important;
    margin:0 0 2mm!important;
    background:#fff!important;
    box-shadow:none!important;
    break-inside:auto!important;
  }

  .oa-accordion__button{
    background:#eee!important;
    color:#000!important;
    border:0!important;
    border-bottom:1px solid #bbb!important;
    padding:2mm!important;
    font-size:9pt!important;
    line-height:1.1!important;
  }

  .oa-accordion__icon{
    display:none!important;
  }

  .oa-accordion__count{
    display:inline!important;
    color:#000!important;
    font-size:8pt!important;
  }

  .oa-accordion__title{
    display:block!important;
  }

  .oa-accordion__body{
    display:block!important;
    padding:2mm!important;
  }

  /* Pitanja u 2 stupca pri ispisu */
  .oa-question{
    grid-column:span 6!important;
    padding:2mm!important;
    margin:0!important;
    border:1px solid #ccc!important;
    border-radius:0!important;
    background:#fff!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  .oa-question__title{
    font-size:8.5pt!important;
    line-height:1.2!important;
    margin:0 0 1.5mm!important;
    font-weight:700!important;
  }

  .oa-answer-list{
    gap:0!important;
  }

  .oa-answer{
    padding:.8mm 0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    font-size:7.7pt!important;
    line-height:1.15!important;
    font-weight:400!important;
    gap:1.5mm!important;
  }

  .oa-answer input{
    transform:scale(.75)!important;
    margin:.2mm 0 0!important;
  }

  /* Sekcije koje sadrže duge radio odgovore neka budu punom širinom */
  .oa-card:has(.oa-answer-list):not(:has(.oa-accordion)) .oa-answer{
    font-size:8pt!important;
  }

  /* Rezultat na kraju kao kompaktna tablica */
  .oa-result{
    margin:3mm 0 0!important;
    padding:3mm!important;
    border:1px solid #999!important;
    border-radius:0!important;
    background:#fff!important;
    color:#000!important;
    box-shadow:none!important;
    break-inside:avoid!important;
  }

  .oa-result h2{
    font-size:11pt!important;
    margin:0 0 2mm!important;
    color:#000!important;
  }

  .oa-result__card{
    display:inline-block!important;
    width:19%!important;
    vertical-align:top!important;
    padding:1.5mm!important;
    margin:0 .5% 1.5mm 0!important;
    border:1px solid #aaa!important;
    border-radius:0!important;
    background:#fff!important;
    color:#000!important;
  }

  .oa-result__card span{
    font-size:7.5pt!important;
    line-height:1.1!important;
    color:#000!important;
    opacity:1!important;
  }

  .oa-result__card strong{
    font-size:12pt!important;
    line-height:1.1!important;
    color:#000!important;
  }

  .oa-result__service{
    display:block!important;
    padding:1.5mm!important;
    margin:1mm 0 0!important;
    border:1px solid #aaa!important;
    border-radius:0!important;
    background:#fff!important;
    color:#000!important;
    font-size:8pt!important;
  }

  /* Manje praznog prostora između velikih blokova */
  .oa-assessment br{
    display:none!important;
  }
}