:root {
    --odlicna-navy: #07162f;
    --odlicna-blue: #2bb5dc;
    --odlicna-pink: #ed4a9b;
    --odlicna-gold: #d9aa47;
    --odlicna-cream: #fffaf0;
}

.odlicna-shell { max-width: 1180px; }
.odlicna-kicker { color: var(--odlicna-gold); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.odlicna-page { position: relative; isolation: isolate; overflow: hidden; color: #edf4ff; background: radial-gradient(circle at 11% 9%, rgba(43,181,220,.2), transparent 26%), radial-gradient(circle at 89% 29%, rgba(237,74,155,.16), transparent 26%), radial-gradient(circle at 56% 94%, rgba(217,170,71,.14), transparent 28%), linear-gradient(150deg, #020a18 0%, #071b39 45%, #08142d 100%); }
.odlicna-page::before { position: absolute; z-index: -1; inset: 0; content: ""; pointer-events: none; opacity: .62; background: linear-gradient(118deg, transparent 0 43%, rgba(217,170,71,.07) 43.1% 43.22%, transparent 43.35% 100%), linear-gradient(62deg, transparent 0 71%, rgba(93,197,232,.055) 71.1% 71.22%, transparent 71.35% 100%); }
.odlicna-page > section { position: relative; z-index: 1; }
.odlicna-hero { position: relative; overflow: hidden; padding: clamp(5rem, 9vw, 8rem) 0; color: #fff; border-bottom: 1px solid rgba(226,188,99,.44); background: radial-gradient(ellipse at 72% 44%, rgba(69,153,255,.45), transparent 16%), radial-gradient(ellipse at 87% 78%, rgba(237,74,155,.4), transparent 28%), radial-gradient(ellipse at 44% 120%, rgba(26,108,203,.34), transparent 35%), linear-gradient(118deg, #010610 0%, #061c41 51%, #170d38 100%); box-shadow: inset 0 -50px 80px rgba(0,0,0,.34); }
.odlicna-hero::before { position: absolute; top: 50%; right: clamp(-10rem, 4vw, -3rem); width: clamp(21rem, 42vw, 38rem); aspect-ratio: 1; border: 1px solid rgba(229,193,112,.58); border-radius: 50%; box-shadow: 0 0 0 16px rgba(224,181,90,.055), 0 0 0 34px rgba(43,181,220,.075), 0 0 0 58px rgba(237,74,155,.05), inset 0 0 72px rgba(224,181,90,.08), 0 0 90px rgba(50,163,255,.25); content: ""; transform: translateY(-50%); pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 500'%3E%3Cdefs%3E%3ClinearGradient id='gold' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop stop-color='%23633a14'/%3E%3Cstop offset='.28' stop-color='%23c58a2e'/%3E%3Cstop offset='.48' stop-color='%23fff0a5'/%3E%3Cstop offset='.66' stop-color='%23b57620'/%3E%3Cstop offset='1' stop-color='%23552f15'/%3E%3C/linearGradient%3E%3ClinearGradient id='ribbon' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop stop-color='%23231844'/%3E%3Cstop offset='.3' stop-color='%23982e72'/%3E%3Cstop offset='.52' stop-color='%23f071ad'/%3E%3Cstop offset='.72' stop-color='%23982e72'/%3E%3Cstop offset='1' stop-color='%23231844'/%3E%3C/linearGradient%3E%3Cfilter id='a' x='-40%25' y='-40%25' width='180%25' height='180%25'%3E%3CfeDropShadow dx='0' dy='7' stdDeviation='7' flood-color='%23010613' flood-opacity='.7'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M91 333 C166 283 334 283 409 333 L385 377 C317 337 183 337 115 377 Z' fill='url(%23ribbon)' stroke='url(%23gold)' stroke-width='6'/%3E%3Cpath d='M112 372 L160 362 L146 425 L205 389 L250 418 L295 389 L354 425 L340 362 L388 372 L365 438 C290 415 210 415 135 438 Z' fill='%23171b38' stroke='url(%23gold)' stroke-width='5'/%3E%3Cpath d='M128 383 H372 L344 436 H156 Z' fill='%23060f25' stroke='url(%23gold)' stroke-width='6'/%3E%3Cg fill='url(%23gold)' stroke='%23fff4c4' stroke-width='4' stroke-linejoin='round' filter='url(%23a)'%3E%3Cpath d='M82 267 92 293 120 294 98 311 106 338 82 322 58 338 66 311 44 294 72 293Z'/%3E%3Cpath d='M156 219 169 253 205 254 177 277 187 312 156 292 125 312 135 277 107 254 143 253Z'/%3E%3Cpath d='M250 143 270 194 324 196 282 229 297 281 250 251 203 281 218 229 176 196 230 194Z'/%3E%3Cpath d='M344 219 357 253 393 254 365 277 375 312 344 292 313 312 323 277 295 254 331 253Z'/%3E%3Cpath d='M418 267 428 293 456 294 434 311 442 338 418 322 394 338 402 311 380 294 408 293Z'/%3E%3C/g%3E%3Cpath d='M104 349 C173 315 327 315 396 349' fill='none' stroke='%23ffe7a0' stroke-width='3' stroke-linecap='round' opacity='.8'/%3E%3C/svg%3E") center / 77% no-repeat; }
.odlicna-hero::after { position: absolute; inset: 0; content: ""; pointer-events: none; background: radial-gradient(circle at 11% 22%, rgba(255,255,255,.92) 0 1px, transparent 1.7px), radial-gradient(circle at 23% 66%, rgba(142,222,255,.76) 0 1.2px, transparent 2px), radial-gradient(circle at 38% 15%, rgba(255,234,158,.85) 0 1.1px, transparent 1.9px), radial-gradient(circle at 51% 48%, rgba(255,255,255,.56) 0 1px, transparent 1.8px), radial-gradient(circle at 64% 18%, rgba(104,209,255,.78) 0 1.4px, transparent 2.2px), radial-gradient(circle at 73% 65%, rgba(255,230,134,.85) 0 1.15px, transparent 2px), radial-gradient(circle at 91% 22%, rgba(255,255,255,.75) 0 1px, transparent 1.8px), linear-gradient(106deg, rgba(0,0,0,.16), transparent 43%, rgba(217,170,71,.2)), repeating-linear-gradient(112deg, transparent 0 7.4%, rgba(116,210,255,.045) 7.45% 7.6%, transparent 7.65% 14%); }
.odlicna-hero .odlicna-shell { position: relative; z-index: 1; }
.odlicna-hero { background: url('../img/public/odlicna-plesna-sola-priznanja-v2.png') right center / auto 100% no-repeat, linear-gradient(118deg, #010610 0%, #061c41 52%, #170d38 100%); }
.odlicna-hero::before { position: absolute; z-index: 0; inset: 0; display: block; width: auto; height: auto; aspect-ratio: auto; border: 0; border-radius: 0; box-shadow: none; content: ""; transform: none; pointer-events: none; background: radial-gradient(circle at 7% 19%, rgba(231,244,255,.9) 0 1px, transparent 1.8px), radial-gradient(circle at 14% 48%, rgba(128,213,255,.76) 0 1px, transparent 1.8px), radial-gradient(circle at 21% 12%, rgba(255,229,151,.86) 0 1.1px, transparent 2px), radial-gradient(circle at 29% 72%, rgba(234,245,255,.72) 0 1px, transparent 1.8px), radial-gradient(circle at 35% 29%, rgba(161,221,255,.8) 0 1.15px, transparent 2px), radial-gradient(circle at 42% 58%, rgba(255,233,165,.7) 0 1px, transparent 1.8px), linear-gradient(90deg, rgba(1,6,16,.98) 0%, rgba(1,6,16,.94) 34%, rgba(1,6,16,.72) 49%, rgba(1,6,16,.34) 66%, transparent 84%); }
.odlicna-hero::after { display: none; }
.odlicna-hero h1 { max-width: 850px; margin: .5rem 0 1.25rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 7vw, 6.4rem); font-weight: 400; line-height: .96; }
.odlicna-hero h1 em { color: #f2ce7f; font-weight: 400; }
.odlicna-hero p:not(.odlicna-kicker) { max-width: 720px; color: #dce7f6; font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.75; }
.odlicna-rules { margin-top: -2.3rem; position: relative; z-index: 2; }
.odlicna-rules .odlicna-shell { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.odlicna-rules article { padding: 1.7rem; border: 1px solid rgba(226,188,99,.4); border-radius: 22px; background: linear-gradient(145deg, rgba(20,52,93,.96), rgba(5,18,42,.96)); box-shadow: 0 22px 50px rgba(0,0,0,.3); }
.odlicna-rules article > strong { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; color: #18233c; background: linear-gradient(135deg, #c99228, #ffe9a0 54%, #b87a1e); box-shadow: 0 8px 22px rgba(217,170,71,.24); }
.odlicna-rules h2 { margin: 1rem 0 .5rem; color: #fff; font: 600 1.25rem Georgia, serif; }
.odlicna-rules p { color: #d5e0f1; line-height: 1.6; }
.odlicna-recipients { padding: clamp(4rem, 8vw, 7rem) 0; }
.odlicna-recipients header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.odlicna-recipients h2, .odlicna-transparency h2 { margin: .35rem 0; color: #fff; font: 400 clamp(2rem, 4vw, 3.3rem) Georgia, serif; }
.odlicna-recipients form { display: flex; align-items: end; gap: .5rem; padding: .7rem; border: 1px solid rgba(226,188,99,.55); border-radius: 14px; background: rgba(255,253,247,.98); box-shadow: 0 15px 38px rgba(0,0,0,.2); }
.odlicna-recipients form label { display: grid; gap: .25rem; color: #5e6b80; font-size: .75rem; font-weight: 700; }
.odlicna-recipients select, .odlicna-recipients button { min-height: 40px; border: 1px solid #ccd6e5; border-radius: 9px; background: #fff; }
.odlicna-recipients button { padding: 0 1rem; color: #fff; background: var(--odlicna-navy); }
.odlicna-recipient-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.odlicna-recipient-grid article { position: relative; overflow: hidden; min-height: 250px; padding: 1.7rem; border: 1px solid rgba(230,203,138,.8); border-radius: 22px; background: linear-gradient(150deg, #fffefa, #fff7e9); box-shadow: 0 18px 42px rgba(0,0,0,.24); }
.odlicna-recipient-grid article::after { position: absolute; right: -52px; bottom: -68px; width: 180px; height: 180px; border: 1px solid rgba(217,170,71,.22); border-radius: 50%; box-shadow: 0 0 0 20px rgba(217,170,71,.06); content: ""; pointer-events: none; }
.odlicna-recipient-grid article > span { display: block; color: var(--odlicna-gold); font-size: 2.2rem; }
.odlicna-recipient-grid article > small { color: #6d7890; font-weight: 700; }
.odlicna-recipient-grid h3 { margin: 1rem 0 .65rem; font: 600 1.6rem Georgia, serif; }
.odlicna-recipient-grid p { color: #5d6980; }
.odlicna-recipient-grid a { position: absolute; right: 1.7rem; bottom: 1.7rem; left: 1.7rem; color: #116f98; font-weight: 800; }
.odlicna-recipient-grid .status-suspended { opacity: .78; }
.odlicna-recipient-grid .status-revoked { border-color: #e0b1b1; background: #fff8f8; }
.odlicna-transparency { padding: 0 0 6rem; }
.odlicna-transparency .odlicna-shell { padding: clamp(2rem, 5vw, 4rem); border: 1px solid rgba(226,188,99,.42); border-radius: 26px; color: #fff; background: radial-gradient(circle at 92% 7%, rgba(217,170,71,.18), transparent 25%), linear-gradient(130deg, rgba(21,55,96,.95), rgba(4,16,38,.98)); box-shadow: 0 22px 50px rgba(0,0,0,.3); }
.odlicna-transparency p { max-width: 900px; color: #d7e3f5; font-size: 1.08rem; line-height: 1.8; }

.odlicna-empty { padding: 3rem; border: 1px dashed rgba(226,188,99,.76); border-radius: 22px; color: var(--odlicna-navy); text-align: center; background: linear-gradient(145deg, #fffefa, #fff6e5); box-shadow: 0 18px 42px rgba(0,0,0,.18); }
.odlicna-verification { min-height: 100vh; padding: 1rem; background: #eef3f9; }
.odlicna-toolbar { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; margin: 0 auto 1rem; }
.odlicna-toolbar a, .odlicna-toolbar button { padding: .65rem 1rem; border: 1px solid #cad4e1; border-radius: 9px; color: var(--odlicna-navy); background: #fff; font: inherit; cursor: pointer; }
.odlicna-certificate { max-width: 1000px; margin: auto; padding: 16px; background: linear-gradient(135deg, #b5852e, #f5d88b, #9b6a1c); box-shadow: 0 25px 70px rgba(7,22,47,.2); }
.odlicna-certificate__frame { padding: clamp(1.5rem, 5vw, 4rem); border: 1px solid #d8b969; background: radial-gradient(circle at top, #fffdf7, #fff 65%); }
.odlicna-certificate header, .odlicna-certificate footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.odlicna-certificate header img { width: 175px; max-height: 65px; object-fit: contain; object-position: left center; }
.odlicna-certificate header span { color: #7b622d; font-size: .75rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.odlicna-certificate__body { padding: clamp(2rem, 7vw, 5rem) 0 3rem; text-align: center; }
.odlicna-certificate__body h1 { margin: .4rem 0; color: #8f6d22; font: 400 clamp(2.5rem, 6vw, 5rem) Georgia, serif; }
.odlicna-certificate__body h2 { margin: 1rem 0; color: var(--odlicna-navy); font: 600 clamp(2rem, 5vw, 4rem) Georgia, serif; }
.odlicna-certificate__body > strong { color: #ad8024; font: 400 2rem Georgia, serif; }
.odlicna-certificate__body > p:not(.odlicna-kicker) { max-width: 700px; margin: 1.5rem auto; color: #566276; line-height: 1.7; }
.odlicna-certificate__facts { display: flex; justify-content: center; gap: .7rem; flex-wrap: wrap; }
.odlicna-certificate__facts span { padding: .6rem .9rem; border: 1px solid #eadcb8; border-radius: 999px; color: #685b43; background: #fffcf5; }
.odlicna-certificate__evidence { padding: 1.4rem; border: 1px solid #e6e0d2; border-radius: 16px; background: #fff; }
.odlicna-certificate__evidence h3 { margin-top: 0; font: 600 1.2rem Georgia, serif; }
.odlicna-certificate__evidence ol { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; padding: 0; list-style: none; }
.odlicna-certificate__evidence li { display: flex; gap: .7rem; padding: .7rem; border-radius: 10px; background: #f6f8fb; }
.odlicna-certificate__evidence li > span { color: var(--odlicna-gold); }
.odlicna-certificate__evidence li div { display: grid; }
.odlicna-certificate__evidence small { color: #68758a; }
.odlicna-certificate__evidence li.is-voided { background: #fff1f2; border: 1px solid #fecdd3; }
.odlicna-certificate__evidence li.is-voided > span { color: #be123c; }
.odlicna-certificate__revocation { margin: 1rem auto 0; padding: .8rem 1rem; max-width: 720px; border: 1px solid #fecdd3; border-radius: 12px; color: #881337; background: #fff1f2; }
.odlicna-certificate footer { margin-top: 2rem; align-items: end; }
.odlicna-certificate footer > div:first-child { display: grid; gap: .25rem; }
.odlicna-certificate__verify { display: flex; align-items: center; gap: .7rem; max-width: 48%; }
.odlicna-certificate__verify img { width: 82px; height: 82px; }
.odlicna-certificate__verify span { display: grid; overflow-wrap: anywhere; color: #5e6877; font-size: .68rem; }
.odlicna-school-link, .odlicna-revocation { max-width: 1000px; margin: 1rem auto; padding: 1rem; border-radius: 12px; text-align: center; background: #fff; }

.odlicna-user-card { display: grid; gap: 1rem; }
.odlicna-user-card > header { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.odlicna-user-card h2 { margin: .25rem 0; }
.odlicna-year { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 50%; color: #fff; font-weight: 900; background: linear-gradient(135deg, var(--odlicna-blue), var(--odlicna-pink)); }
.odlicna-progress { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1rem; }
.odlicna-progress strong { font-size: 2rem; }
.odlicna-progress progress { width: 100%; accent-color: var(--odlicna-pink); }
.odlicna-award-form { display: grid; gap: 1rem; padding: 1.2rem; border-radius: 16px; background: #f4f8fc; }
.odlicna-award-form > label { display: grid; gap: .4rem; font-weight: 700; }
.odlicna-award-form select { width: 100%; min-height: 48px; border: 1px solid #c9d5e4; border-radius: 10px; background: #fff; }
.odlicna-award-form fieldset { display: flex; gap: 1.2rem; border: 0; padding: 0; }
.odlicna-award-form legend { margin-bottom: .5rem; font-weight: 800; }
.odlicna-confirm { grid-template-columns: auto 1fr !important; align-items: start; font-weight: 500 !important; }
.odlicna-award-state { display: flex; gap: 1rem; padding: 1.2rem; border: 1px solid #d4e5d9; border-radius: 16px; background: #f5fff8; }
.odlicna-award-state > span { color: var(--odlicna-gold); font-size: 2rem; }
.odlicna-award-state h3 { margin: .2rem 0; }
.odlicna-award-state.is-paused { border-color: #e8d7b1; background: #fffaf0; }
.odlicna-school-panel { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; padding: 1.1rem; border: 1px solid #d6e0ed; border-radius: 16px; color: var(--odlicna-navy); background: #f7faff; }
.odlicna-school-panel__mark { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; color: #fff; background: #8290a5; }
.odlicna-school-panel.is-excellent { border-color: #e4c670; background: #fffbef; }
.odlicna-school-panel.is-excellent .odlicna-school-panel__mark { background: linear-gradient(135deg, #bc8620, #f0cf78); }
.odlicna-school-panel div:nth-child(2) { display: grid; }
.odlicna-school-panel p { margin: .2rem 0 0; }
.odlicna-school-panel a { font-weight: 800; }
.school-site-hero .odlicna-school-panel { max-width: 620px; margin-top: 1rem; border-color: rgba(255,255,255,.24); color: #fff; background: rgba(7,22,47,.72); backdrop-filter: blur(10px); }
.school-site-hero .odlicna-school-panel p { color: rgba(255,255,255,.78); }
.school-site-hero .odlicna-school-panel a { color: #8de4ff; }
.odlicna-admin-summary { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 1rem 0; }
.odlicna-admin-summary article { display: grid; }
.odlicna-admin-summary strong { font-size: 2rem; }
.odlicna-admin-section { margin-top: 1rem; }
.odlicna-admin-list { display: grid; gap: .7rem; }
.odlicna-admin-item { padding: 1rem; border: 1px solid #d7e0eb; border-radius: 12px; }
.odlicna-admin-item summary, article.odlicna-admin-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.odlicna-admin-item summary { cursor: pointer; }
.odlicna-admin-item summary span, article.odlicna-admin-item > div { display: grid; }
.odlicna-admin-item dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: .7rem; }
.odlicna-admin-item dl div { padding: .7rem; border-radius: 9px; background: #f5f7fa; }
.odlicna-admin-item dt { color: #6c788a; font-size: .75rem; }
.odlicna-admin-item.status-voided, .odlicna-admin-item.status-revoked { border-color: #e4bcbc; }

@media (max-width: 800px) {
    .odlicna-hero { padding: clamp(17rem, 68vw, 22rem) 0 4rem; background-position: right top, center; background-size: auto 68%, auto; }
    .odlicna-hero::before { display: none; }
    .odlicna-hero::after { display: block; background: linear-gradient(to bottom, transparent 0 27%, rgba(1,6,16,.38) 42%, rgba(1,6,16,.9) 60%, #020916 100%); }
    .odlicna-toolbar { align-items: stretch; flex-direction: column; }
    .odlicna-toolbar a, .odlicna-toolbar button { text-align: center; }
    .odlicna-award-form fieldset { align-items: flex-start; flex-direction: column; }
    .odlicna-rules .odlicna-shell, .odlicna-recipient-grid { grid-template-columns: 1fr; }
    .odlicna-recipients header, .odlicna-certificate header, .odlicna-certificate footer { align-items: stretch; flex-direction: column; }
    .odlicna-certificate__evidence ol { grid-template-columns: 1fr; }
    .odlicna-certificate__verify { max-width: none; }
    .odlicna-school-panel { grid-template-columns: auto 1fr; }
    .odlicna-school-panel a { grid-column: 1 / -1; }
    .odlicna-admin-item summary, article.odlicna-admin-item { align-items: flex-start; flex-direction: column; }
    .odlicna-admin-item dl { grid-template-columns: 1fr 1fr; }
}

@media print {
    .odlicna-toolbar, .odlicna-school-link, .odlicna-revocation, body > header, body > footer { display: none !important; }
    .odlicna-verification, .odlicna-pdf { padding: 0; background: #fff; }
    .odlicna-certificate { max-width: none; box-shadow: none; break-inside: avoid; }
}
