@font-face { font-family: "IBM Plex Sans"; src: url("/assets/fonts/ibmplexsans-regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("/assets/fonts/ibmplexsans-medium.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("/assets/fonts/ibmplexsans-semibold.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("/assets/fonts/ibmplexsans-bold.woff2") format("woff2"); font-style: normal; font-weight: 700 900; font-display: swap; }
@font-face { font-family: "IBM Plex Serif"; src: url("/assets/fonts/ibmplexserif-semibold.woff2") format("woff2"); font-style: normal; font-weight: 600 800; font-display: swap; }
:root {
    color-scheme: light;
    --ink: #172b3a;
    --muted: #516575;
    --line: #d9e2e8;
    --surface: #fff;
    --soft: #f3f7f9;
    --accent: #0b627a;
    --accent-dark: #064b60;
    --warm: #e7a64b;
    --danger: #a32828;
    --success: #205e3e;
    font-family: "IBM Plex Sans", system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    color: var(--ink);
    background: var(--surface);
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 0; }
a { color: var(--accent-dark); text-underline-offset: .18em; }
a:hover { color: #073a4a; }
button, input, select, textarea { font: inherit; }
button, .button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #dd9c3c; outline-offset: 2px; }
.container { width: min(100% - 2rem, 1120px); margin-inline: auto; }
.skip-link { position: absolute; top: -4rem; left: 1rem; z-index: 10; padding: .6rem 1rem; background: var(--ink); color: #fff; }
.skip-link:focus { top: 1rem; color: #fff; }
.site-header { background: #fff; border-bottom: 1px solid var(--line); }
.header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { font-size: 1.55rem; font-weight: 750; letter-spacing: -.055em; text-decoration: none; color: var(--ink); white-space: nowrap; }
.brand span:first-child { color: var(--accent); }
.brand-dot { color: var(--warm); }
.brand .uploaded-logo{display:block;max-width:190px;max-height:52px;width:auto;height:auto;object-fit:contain}
@media(max-width:760px){.brand .uploaded-logo{max-width:160px;max-height:42px}}
.learning-video{display:block;width:100%;max-width:760px;aspect-ratio:16/9;background:#102c34;border-radius:4px;margin:1rem 0}
.identity-page .container{max-width:900px}.identity-card,.identity-upload{background:#fff;border:1px solid #dce7e6;border-radius:6px;padding:clamp(1.25rem,3vw,2.25rem);margin:1.5rem 0}.identity-qr{width:max-content;max-width:100%;padding:12px;background:#fff;border:1px solid #dce7e6;margin:1.5rem 0}.identity-qr img,.identity-qr canvas{max-width:100%;height:auto}.identity-upload .field{margin-bottom:1.25rem}.identity-ack{display:block;line-height:1.6;margin:1.25rem 0}.participant-verification-choice{display:grid;gap:.75rem;margin:1.5rem 0;padding:1rem;border:1px solid #dce7e6}.participant-verification-choice label{display:flex;gap:.6rem;align-items:flex-start}.participant-verification-choice p{margin:.2rem 0 0;font-size:.9rem}.identity-review{margin:1.2rem 0}.identity-review-head{display:flex;justify-content:space-between;gap:1rem}.identity-review-head small{color:#607375}.identity-review-head h2{font-size:1.25rem}.identity-thumbs{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.identity-thumbs img{width:210px;height:150px;object-fit:cover;border:1px solid #dce7e6}.identity-review form label{display:block;margin:1rem 0}.identity-review form input{display:block;width:100%;max-width:600px}.identity-company-list article{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid #dce7e6}@media(max-width:650px){.identity-company-list article{grid-template-columns:1fr}.identity-review-head{display:block}}
.main-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .4rem 1.25rem; }
.main-nav a { color: var(--ink); font-size: .94rem; font-weight: 600; text-decoration: none; padding: .6rem .1rem; }
.main-nav a:hover { color: var(--accent); }
.main-nav .nav-account { border: 1px solid var(--accent); border-radius: .45rem; color: var(--accent-dark); padding: .45rem .85rem; }
.main-content { min-height: 62vh; }
.hero { padding: clamp(3.5rem, 7vw, 6rem) 0 4.5rem; background: linear-gradient(120deg, #f5f9fa, #e8f2f5); border-bottom: 1px solid var(--line); }
.eyebrow { margin: 0 0 .85rem; color: var(--accent); font-size: .84rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
h1, h2, h3 { line-height: 1.19; letter-spacing: -.025em; }
h1 { font-size: clamp(2.25rem, 5vw, 4.2rem); margin: 0 0 1.25rem; max-width: 16ch; }
h2 { font-size: clamp(1.65rem, 3vw, 2.3rem); margin: 0 0 1rem; }
h3 { font-size: 1.25rem; margin: 0 0 .7rem; }
.lead { max-width: 66ch; font-size: clamp(1.08rem, 1.6vw, 1.25rem); color: #354d5e; margin: 0 0 1.75rem; }
.section { padding: clamp(2.5rem, 5vw, 4.5rem) 0; }
.section-soft { background: var(--soft); }
.section-header { max-width: 70ch; margin-bottom: 2rem; }
.section-header p { color: var(--muted); margin: 0; }
.grid { display: grid; gap: 1.25rem; }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card { background: #fff; border: 1px solid var(--line); border-radius: .75rem; padding: 1.5rem; box-shadow: 0 8px 24px rgba(21, 57, 75, .035); }
.card p { color: var(--muted); margin: 0 0 1.2rem; }
.card a.link-arrow { font-weight: 700; text-decoration: none; }
.card a.link-arrow::after { content: " →"; }
.card-icon { display: inline-flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border-radius: .55rem; background: #e8f1f3; color: var(--accent); font-size: 1.2rem; margin-bottom: 1rem; }
.actions { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; }
.actions-spaced { margin-top: 2rem; }
.admin-actions { margin-bottom: 1.5rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.85rem; padding: .65rem 1.15rem; border-radius: .45rem; border: 1px solid var(--accent); background: var(--accent); color: #fff; font-weight: 700; text-decoration: none; line-height: 1.2; }
.button:hover { background: var(--accent-dark); color: #fff; }
.button-outline { background: transparent; color: var(--accent-dark); }
.button-outline:hover { color: #fff; }
.button-muted { background: #fff; border-color: var(--line); color: var(--ink); }
.button-muted:hover { background: var(--soft); color: var(--ink); }
.page-heading { padding: 3rem 0 1.5rem; }
.page-heading h1 { font-size: clamp(2rem, 4vw, 3rem); max-width: 25ch; }
.page-heading p { max-width: 70ch; color: var(--muted); }
.prose { max-width: 72ch; }
.prose p, .prose li { color: #344b5a; }
.content-stack > * + * { margin-top: 1.4rem; }
.form-shell { width: min(100% - 2rem, 760px); margin: 2.5rem auto 4rem; }
.form-shell-compact { max-width: 520px; }
.form-shell-narrow { max-width: 560px; }
.form-shell h1 { font-size: clamp(2rem, 4vw, 2.8rem); max-width: none; }
.form-card { border: 1px solid var(--line); border-radius: .75rem; padding: clamp(1.25rem, 3vw, 2rem); background: #fff; }
.settings-form + .settings-form { margin-top: 1.5rem; }
.form-section { margin: 0 0 2rem; padding: 0 0 1.7rem; border: 0; border-bottom: 1px solid var(--line); }
.form-section:last-of-type { border-bottom: 0; padding-bottom: 0; }
.form-section legend { font-weight: 750; font-size: 1.17rem; margin-bottom: 1rem; }
.field { display: flex; flex-direction: column; gap: .35rem; margin-bottom: 1rem; }
.field label { font-weight: 650; }
.field input, .field select, .field textarea { width: 100%; min-height: 2.85rem; padding: .65rem .75rem; border: 1px solid #9eafb9; border-radius: .4rem; background: #fff; color: var(--ink); }
.field textarea { min-height: 6rem; resize: vertical; }
.field small, .help { color: var(--muted); font-size: .9rem; }
.field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.password-wrap { display: flex; gap: .4rem; }
.password-wrap input { flex: 1; min-width: 0; }
.password-wrap button { padding: .4rem .65rem; border: 1px solid #9eafb9; border-radius: .4rem; background: var(--soft); color: var(--ink); white-space: nowrap; }
.check-row { display: flex; align-items: flex-start; gap: .65rem; margin-bottom: .7rem; }
.check-row input { width: 1.15rem; height: 1.15rem; margin-top: .15rem; }
.check-row label { flex: 1; }
.course-choice { display: grid; grid-template-columns: 1fr 7rem; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.course-choice:last-child { border-bottom: 0; }
.course-choice p { margin: .3rem 0 0; color: var(--muted); font-size: .93rem; }
.course-choice input { width: 100%; min-height: 2.7rem; padding: .5rem .6rem; border: 1px solid #9eafb9; border-radius: .4rem; }
.alert { border-radius: .5rem; padding: 1rem 1.2rem; margin: 1.5rem 0; background: #edf5f7; border-left: 4px solid var(--accent); }
.alert-warning, .alert-error { background: #fff2ed; border-left-color: #b64a2d; }
.alert-success { background: #edf7ef; border-left-color: var(--success); }
.flash-toast { position:fixed; z-index:1200; top:max(1rem, env(safe-area-inset-top)); right:1rem; width:min(420px, calc(100vw - 2rem)); padding:.9rem 1.1rem; border:1px solid #bdd4d7; border-left:5px solid var(--accent); border-radius:.65rem; background:#fff; color:var(--ink); box-shadow:0 16px 45px rgba(13,43,56,.22); line-height:1.45; transition:opacity .2s ease, transform .2s ease; }
.flash-toast p { margin:0; }
.flash-toast p + p { margin-top:.4rem; }
.flash-toast-success { border-left-color:var(--success); }
.flash-toast-warning,.flash-toast-error { border-left-color:#b64a2d; }
.flash-toast.is-hiding { opacity:0; transform:translateY(-.6rem); pointer-events:none; }
.errors { background: #fff2ed; border: 1px solid #e6b4a6; border-radius: .5rem; padding: .9rem 1.2rem; margin: 1rem 0; color: #6f1d16; }
.errors ul { margin: .3rem 0; padding-left: 1.25rem; }
.dashboard { padding: 2.7rem 0 4rem; }
.dashboard-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 2rem; }
.dashboard-header h1 { font-size: clamp(2rem, 4vw, 3rem); max-width: none; }
.status { display: inline-block; border-radius: 999px; padding: .2rem .65rem; background: #e7f1f4; color: #13516a; font-weight: 700; font-size: .82rem; white-space: nowrap; }
.status-pending { background: #fff0d7; color: #70460a; }
.status-danger { background: #f9e5e2; color: #8a2525; }
.data-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: .6rem; }
.data-table-wrap { scrollbar-width: auto; scrollbar-color: #0b627a #e8f0f2; }
.data-table { width: 100%; border-collapse: collapse; min-width: 620px; }
.data-table th, .data-table td { text-align: left; vertical-align: top; padding: .85rem 1rem; border-bottom: 1px solid var(--line); }
.data-table th { background: #f1f6f8; font-size: .88rem; }
.data-table tr:last-child td { border-bottom: 0; }
.site-footer { border-top: 1px solid var(--line); background: #f6f9fa; padding: 2.5rem 0; color: var(--muted); font-size: .9rem; }
.footer-inner { display: flex; justify-content: space-between; gap: 2rem; }
.footer-inner div:last-child { display: flex; gap: 1.3rem; align-items: flex-start; flex-wrap: wrap; }
@media (max-width: 760px) {
    .header-inner { align-items: flex-start; flex-direction: column; gap: .35rem; padding: .85rem 0; }
    .main-nav { justify-content: flex-start; gap: .15rem .8rem; }
    .main-nav a { font-size: .85rem; padding: .38rem .1rem; }
    .main-nav .nav-account { padding: .35rem .6rem; }
    .grid-3, .grid-2 { grid-template-columns: 1fr; }
    .field-row { grid-template-columns: 1fr; gap: 0; }
    .course-choice { grid-template-columns: 1fr; gap: .45rem; }
    .course-choice input { max-width: 8rem; }
    .dashboard-header, .footer-inner { flex-direction: column; }
    .hero { padding-bottom: 3rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Firemní vstup a test */
.page-participant { background: #f4f7f6; }
.participant-header { background: #fff; border-bottom: 1px solid var(--line); }
.participant-header-inner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.participant-header-inner > span { color: var(--muted); font-size: .85rem; font-weight: 700; }
.participant-entry { padding-top: clamp(1.5rem, 4vw, 3rem); }
.participant-entry .lead { margin-bottom: 1.4rem; }
.participant-entry-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(250px, .6fr); gap: 1rem; align-items: start; max-width: 1050px; }
.participant-start-form { min-width: 0; }
.participant-selected-training { display: flex; gap: .5rem 1rem; flex-wrap: wrap; justify-content: space-between; margin: 0 0 1rem; padding: .65rem .85rem; background: #e7f4f0; border-radius: .5rem; }
.participant-selected-training span { color: var(--muted); }
.participant-training-choice { display: grid; gap: .55rem; border: 0; padding: 0; margin: 0 0 1rem; min-width: 0; }
.participant-training-choice legend { font-weight: 800; margin-bottom: .5rem; }
.participant-training-choice label { display: flex; align-items: center; gap: .7rem; border: 1px solid var(--line); border-radius: .55rem; padding: .7rem; cursor: pointer; }
.participant-training-choice label:has(input:checked) { border-color: var(--accent); background: #eaf4f2; }
.participant-training-choice input { accent-color: var(--accent); width: 1.1rem; height: 1.1rem; }
.participant-training-choice small { display: block; color: var(--muted); }
.participant-entry-note { background: #fff3d5; color: #72551c; border-radius: .5rem; padding: .75rem .9rem; font-size: .9rem; }
.participant-entry-aside h2 { font-size: 1.25rem; }
.participant-entry-aside p { border-bottom: 1px solid var(--line); padding-bottom: .9rem; }
.participant-entry-aside p:last-child { border: 0; padding: 0; margin: 0; }
.participant-entry h1, .participant-test h1 { max-width: none; font-size: clamp(2rem, 4vw, 3rem); }
.participant-courses { margin: 2rem 0; }
.participant-course { display: flex; flex-direction: column; align-items: flex-start; }
.participant-course .eyebrow { margin-bottom: .45rem; }
.participant-course h2 { font-size: 1.45rem; }
.participant-course p { margin-bottom: .9rem; }
.participant-course .button { margin-top: auto; }
.participant-course [aria-disabled="true"] { cursor: not-allowed; opacity: .65; }
.participant-resume { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; }
.participant-resume h2 { margin-bottom: .55rem; }
.participant-resume .actions { justify-content: flex-end; }
.participant-form-wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 2rem; align-items: start; padding: 2rem 0 0; scroll-margin-top: 2rem; }
.participant-form-intro p { color: var(--muted); }
.participant-start-form .alert { margin-top: .5rem; }
.participant-test-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.5rem; }
.participant-test-top p:last-child { color: var(--muted); }
.participant-test-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin: 1.1rem 0 2rem; }
.participant-test-meta span { display: inline-flex; align-items: center; border-radius: 999px; background: #eaf2f5; color: #23546a; padding: .35rem .75rem; font-size: .9rem; font-weight: 700; }
.participant-test-meta .test-countdown { margin-left: auto; background: #e1f2e7; color: #235a3c; }
.participant-test-meta .test-countdown-urgent { background: #fff0d7; color: #70460a; }
.test-answer-form { max-width: 840px; }
.test-question-card { border: 1px solid var(--line); background: #fff; border-radius: .75rem; padding: 1.3rem; margin: 0 0 1.25rem; min-width: 0; }
.test-question { border: 0; background: transparent; padding: 0; margin: 0; min-width: 0; width: 100%; }
.test-question legend { display: flex; gap: .8rem; align-items: flex-start; width: 100%; padding: 0; margin-bottom: 1rem; color: var(--ink); font-size: 1.16rem; font-weight: 750; }
.test-question legend span:last-child { display: block; flex: 1; }
.test-question legend small { display: block; color: var(--muted); font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; margin-bottom: .2rem; }
.test-question-number { display: inline-flex; align-items: center; justify-content: center; min-width: 1.8rem; height: 1.8rem; border-radius: .4rem; background: #e6f1f4; color: var(--accent-dark); }
.test-option { display: flex; align-items: flex-start; gap: .75rem; padding: .75rem .9rem; border: 1px solid var(--line); border-radius: .5rem; margin: .55rem 0; cursor: pointer; }
.test-option:hover { background: #f5fafb; border-color: #9dbdc8; }
.test-option:has(input:checked) { border-color: var(--accent); background: #eaf4f6; }
.test-option input { margin-top: .25rem; flex: 0 0 auto; }
.test-option span { overflow-wrap: anywhere; }
.test-save-status { display: block; min-height: 1.4rem; margin-top: .6rem; color: var(--muted); }
.test-submit-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--line); padding: 1.3rem 0; }
.test-submit-bar p { margin: 0; color: var(--muted); }
.test-flow-progress { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .8rem; max-width: 840px; background: #fff; border: 1px solid var(--line); border-radius: .7rem; padding: 1rem 1.2rem; margin-bottom: 1rem; }
.test-flow-progress strong { margin-right: 1rem; }
.test-flow-progress > span { color: var(--muted); font-size: .9rem; }
.test-flow-progress .test-flow-timer { color: #235a3c; font-weight: 750; margin-left: auto; }
.test-flow-progress .test-flow-timer.test-countdown-urgent { color: #70460a; }
.test-flow-meter { width: 100%; height: .5rem; background: #e4eeeb; border-radius: 1rem; overflow: hidden; margin-top: .7rem; }
.test-flow-meter span { display: block; height: 100%; background: var(--accent); }
.test-flow-navigation { display: flex; justify-content: space-between; gap: 1rem; margin: .2rem 0 1.5rem; }
.test-flow-navigation [hidden] { visibility: hidden; }
.test-flow-review { border: 1px solid var(--line); background: #fff; border-radius: .75rem; padding: 1.4rem; }
.test-flow-review > p { color: var(--muted); }
[data-review-list] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 1.2rem 0; }
.test-review-jump { text-align: left; background: #eaf5f0; border: 1px solid #b6d6c8; color: #205e3e; border-radius: .45rem; padding: .7rem .85rem; font-weight: 700; }
.test-review-jump.is-missing { background: #fff3d5; border-color: #e6c980; color: #72551c; }
.test-review-jump:hover { border-color: var(--accent); }
.test-confirm { max-width: 840px; }
.test-result-card { max-width: 840px; margin-bottom: 2rem; }
.test-result-card h2 { margin-bottom: .75rem; }
.test-review { max-width: 840px; }
.test-review h2 { margin-bottom: 1.3rem; }
.test-review-question { margin-bottom: 1rem; }
.test-review-question h3 { overflow-wrap: anywhere; }
.test-review-options { list-style: none; margin: 0; padding: 0; }
.test-review-options li { border: 1px solid var(--line); border-radius: .4rem; padding: .65rem .8rem; margin: .4rem 0; overflow-wrap: anywhere; }
.test-review-options li strong { display: block; font-size: .8rem; }
.test-review-options .answer-correct { background: #edf7ef; border-color: #9ac9a7; color: #205e3e; }
.test-review-options .answer-wrong { background: #fff0ee; border-color: #dba59e; color: #8a2525; }
.participant-search { display: flex; align-items: end; flex-wrap: wrap; gap: .75rem; margin: 1.5rem 0; }
.participant-search .field { flex: 1 1 280px; margin: 0; }
.participant-admin-list { display: grid; gap: 1rem; }
.participant-admin-card { padding: 1.25rem; }
.participant-admin-head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.participant-admin-head h2 { font-size: 1.3rem; margin-bottom: .4rem; }
.participant-admin-head p { margin: 0; }
.participant-admin-details { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: .85rem 0 1.1rem; }
.participant-admin-details p { margin: 0; overflow-wrap: anywhere; }
.status-list { display: flex; flex-wrap: wrap; gap: .35rem; }
@media (max-width: 760px) {
    .participant-test.section { padding-top: 1.25rem; }
    .participant-test-top h1 { margin-bottom: .35rem; }
    .participant-test-top p:last-child { margin-bottom: .3rem; }
    .participant-test-top form .button { min-height: 2rem; padding: .35rem .65rem; font-size: .8rem; }
    .participant-test-meta { margin: .65rem 0 .8rem; gap: .35rem; }
    .participant-test-meta span { font-size: .75rem; padding: .25rem .55rem; }
    .participant-test-meta .test-countdown { display: none; }
    .participant-entry-layout { grid-template-columns: 1fr; }
    .participant-start-button { display: block; width: 100%; margin-top: 1rem; }
    .participant-header-inner { min-height: 60px; }
    .participant-header-inner > span { font-size: .75rem; }
    .test-flow-navigation .button { flex: 1; padding-inline: .45rem; }
    [data-review-list] { grid-template-columns: 1fr; }
    .participant-form-wrap { grid-template-columns: 1fr; gap: .75rem; }
    .participant-resume, .participant-test-top, .participant-admin-head, .test-submit-bar { flex-direction: column; align-items: stretch; }
    .participant-resume .actions { justify-content: flex-start; }
    .participant-test-meta .test-countdown { margin-left: 0; }
    .test-question-card { padding: .9rem; }
    .test-question legend { font-size: 1rem; }
    .participant-test-top form .button { min-height: 44px; }
    .test-question .text-link, .test-review-question .text-link { display: inline-flex; align-items: center; min-height: 44px; padding-block: .35rem; }
}
@media (max-width: 360px) { .participant-header .brand .uploaded-logo { max-width: 125px; } }

/* Certifikáty a přehledy */
.certificate-page h1, .report-page h1 { max-width: none; }
.certificate-card { max-width: 840px; margin: 1.5rem 0; }
.certificate-card .button { margin-top: .6rem; }
.certificate-card p { overflow-wrap: anywhere; }
.certificate-history { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin: 1rem 0; }
.certificate-history .card { padding: 1rem; min-width: 0; overflow-wrap: anywhere; }
.certificate-history p { margin: .4rem 0; color: var(--muted); }
.certificate-date-form { border-top: 1px solid var(--line); margin: 1.4rem 0; padding-top: 1.2rem; max-width: 28rem; }
.certificate-date-form p { color: var(--muted); font-size: .9rem; }
.report-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: .8rem; margin: 1.5rem 0 2rem; }
.report-stats .card { min-width: 0; padding: 1rem; }
.report-stats span { color: var(--muted); font-size: .83rem; font-weight: 700; }
.report-stats strong { display: block; color: var(--ink); font-size: 1.5rem; line-height: 1.25; margin-top: .35rem; overflow-wrap: anywhere; }
.report-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .35rem 1rem; align-items: end; }
.report-filters .field { min-width: 0; }
.report-filters input, .report-filters select { width: 100%; min-width: 0; }
.report-filter-actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; min-height: 3rem; }
.report-export { margin: 1rem 0; }
.report-page td details { margin-top: .4rem; }
.report-page td pre { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 28rem; font-size: .8rem; }
.report-section-heading p { color: var(--muted); margin-top: -.5rem; }
.report-pagination { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .8rem; margin: 1rem 0 0; color: var(--muted); }
.report-pagination .actions { margin-left: auto; }
@media (max-width: 620px) {
    .certificate-history { grid-template-columns: 1fr; }
    .report-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-filters { grid-template-columns: 1fr; }
    .report-filter-actions { min-height: 0; }
    .report-pagination .actions { margin-left: 0; }
}
.bot-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.local-captcha { display:grid; gap:.55rem; margin:1.1rem 0; max-width:24rem; }
.local-captcha label { font-weight:700; color:var(--ink); }
.local-captcha img { display:block; width:220px; height:72px; max-width:100%; border:1px solid var(--line); border-radius:12px; background:#f2f6f8; }
.local-captcha input { width:220px; max-width:100%; min-height:2.85rem; padding:.65rem .75rem; border:1px solid #9eafb9; border-radius:.4rem; background:#fff; color:var(--ink); }
.local-captcha small { color:var(--muted); }
