@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;700;800&display=swap";:root{--ok-neon:#41f05a;--ok-neon-dark:#11d02d;--ok-neon-pressed:#0eaa25;--ok-neon-soft:#d9fcde;--ok-black:#000021;--ok-black-soft:#00003a;--ok-white:#faffff;--ok-white-soft:#f6fafa;--ok-grey:#d0d7d7;--ok-danger:#aa2d3c;--ok-font:"Plus Jakarta Sans", Arial, sans-serif;--ok-radius-card:24px;--ok-radius-control:12px;--ok-line:2px;--ok-focus:0 0 0 4px #41f05a47}*{box-sizing:border-box}body{font-family:var(--ok-font);color:var(--ok-black);background:radial-gradient(circle at top right, #41f05a38, transparent 28rem), var(--ok-white);margin:0}.ok-app-shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.ok-header{border-bottom:var(--ok-line) solid var(--ok-black);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faffffe0;justify-content:space-between;align-items:center;gap:24px;padding:24px clamp(20px,5vw,64px);display:flex}.ok-wordmark{letter-spacing:.02em;color:var(--ok-black);text-transform:uppercase;align-items:center;gap:14px;font-weight:800;display:inline-flex}.ok-orbit{border:var(--ok-line) solid currentColor;border-radius:999px;width:40px;height:56px;position:relative}.ok-orbit:after{content:"";border:var(--ok-line) solid currentColor;border-radius:999px;position:absolute;inset:5px}.ok-main{width:min(1180px,100vw - 40px);margin:0 auto;padding:clamp(28px,5vw,72px) 0}.ok-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(24px,5vw,64px);margin-bottom:48px;display:grid}.ok-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--ok-neon-dark);font-size:.82rem;font-weight:700}.ok-title{letter-spacing:-.06em;text-transform:uppercase;max-width:880px;margin:0;font-size:clamp(2.7rem,8vw,7rem);font-weight:800;line-height:.9}.ok-subline{max-width:720px;margin:20px 0 0;font-size:clamp(1rem,2vw,1.35rem);font-weight:400;line-height:1.45}.ok-card{background:var(--ok-white);border:var(--ok-line) solid var(--ok-black);border-radius:var(--ok-radius-card);box-shadow:10px 10px 0 var(--ok-neon);padding:clamp(20px,4vw,40px)}.ok-card.double-outline{box-shadow:0 0 0 6px var(--ok-white), 0 0 0 8px var(--ok-neon)}.ok-section-title{text-transform:uppercase;margin:0 0 16px;font-size:clamp(1.6rem,4vw,3.6rem);font-weight:800;line-height:.95}.ok-question{gap:18px;display:grid}.ok-question-text{font-size:clamp(1.1rem,2.1vw,1.6rem);font-weight:700;line-height:1.25}.ok-help{color:var(--ok-black-soft);font-size:.95rem;line-height:1.5}.ok-options{gap:12px;display:grid}.ok-option{border:var(--ok-line) solid var(--ok-black);border-radius:var(--ok-radius-control);background:var(--ok-white);align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.ok-option:focus-within{box-shadow:var(--ok-focus);outline:none}.ok-input,.ok-textarea,.ok-select{border:var(--ok-line) solid var(--ok-black);border-radius:var(--ok-radius-control);background:var(--ok-white);width:100%;color:var(--ok-black);font:inherit;padding:14px 16px}.ok-textarea{resize:vertical;min-height:120px}.ok-input:focus,.ok-textarea:focus,.ok-select:focus{box-shadow:var(--ok-focus);outline:none}.ok-button{appearance:none;border:var(--ok-line) solid var(--ok-black);border-radius:var(--ok-radius-control);font:inherit;text-transform:uppercase;cursor:pointer;background:var(--ok-neon);color:var(--ok-black);padding:14px 22px;font-weight:800;transition:transform .12s,background .12s,opacity .12s}.ok-button:hover{background:var(--ok-neon-dark)}.ok-button:active{background:var(--ok-neon-pressed);transform:translateY(1px)}.ok-button:disabled{background:var(--ok-grey);cursor:not-allowed;opacity:.72}.ok-button.outline{color:var(--ok-black);border-color:var(--ok-black);background:0 0}.ok-button.outline:hover{background:var(--ok-neon-soft)}.ok-progress{gap:8px;display:grid}.ok-progress-track{border:var(--ok-line) solid var(--ok-black);background:var(--ok-white);border-radius:999px;height:16px;overflow:hidden}.ok-progress-fill{height:100%;width:var(--progress,0%);background:var(--ok-neon)}.ok-badge{border:var(--ok-line) solid currentColor;text-transform:uppercase;border-radius:999px;align-items:center;width:fit-content;padding:5px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.ok-divider{min-height:56px;position:relative}.ok-divider:before,.ok-divider:after{content:"";height:var(--ok-line);background:var(--ok-black);position:absolute;left:0;right:0}.ok-divider:before{top:20px}.ok-divider:after{top:28px}@media (width<=760px){.ok-hero{grid-template-columns:1fr}.ok-header{flex-direction:column;align-items:flex-start}}body{background:var(--ok-white)}button,input,textarea{font-family:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{box-shadow:var(--ok-focus);outline:none}.app-shell{position:relative;overflow-x:clip}.ok-title{letter-spacing:0}.app-header{z-index:10;isolation:isolate;position:sticky;top:0;overflow:hidden}.app-header:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(to right, var(--ok-white) 0%, #faffff2e 42%, #faffff00 100%), url(/assets/eu-flag-header.png) right center / cover no-repeat;opacity:.22;width:min(62vw,980px);position:absolute;inset:0 0 0 auto;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#00000059 28%,#000 58%);mask-image:linear-gradient(90deg,#0000 0%,#00000059 28%,#000 58%)}.header-brand{z-index:1;align-items:center;gap:clamp(14px,2vw,24px);min-width:min(100%,380px);display:flex;position:relative}.header-title{gap:2px;max-width:17rem;font-size:clamp(1rem,2vw,1.35rem);font-weight:800;line-height:1;display:grid}.header-title span:last-child{font-size:.72em}.ok-logo-image{width:clamp(74px,8vw,104px);height:auto;display:block}.header-control-panel{z-index:1;justify-items:end;gap:10px;min-width:0;display:grid;position:relative}.header-actions,.card-actions,.report-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.header-actions{justify-content:flex-end}.header-metadata{text-transform:uppercase;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;max-width:980px;margin:0;font-size:.72rem;line-height:1.2;display:flex}.header-metadata-label,.header-metadata div{align-items:baseline;gap:5px;display:inline-flex}.header-metadata-label{color:var(--ok-neon-dark);font-weight:800}.header-metadata dt{color:var(--ok-black-soft);font-weight:800}.header-metadata dd{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;margin:0;font-weight:700;overflow:hidden}.header-glyph{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.save-status{text-transform:uppercase;font-size:.78rem;font-weight:800}.cloud-status{border-bottom:2px solid var(--ok-black);background:var(--ok-neon-soft);color:var(--ok-black);text-transform:uppercase;padding:10px clamp(20px,5vw,64px);font-size:.78rem;font-weight:800}.icon-button{justify-content:center;align-items:center;gap:8px;min-height:48px;display:inline-flex}.icon-button.danger:hover{border-color:var(--ok-danger);background:#ffe7eb}.dialog-backdrop{z-index:30;background:#00002157;place-items:start center;padding:clamp(18px,4vw,56px);display:grid;position:fixed;inset:0;overflow-y:auto}.saved-dialog{border:2px solid var(--ok-black);border-radius:var(--ok-radius-card);background:var(--ok-white);width:min(920px,100%);box-shadow:10px 10px 0 var(--ok-neon);margin-top:clamp(56px,8vh,96px);padding:clamp(18px,3vw,30px)}.confirm-dialog{border:2px solid var(--ok-black);border-radius:var(--ok-radius-card);background:var(--ok-white);width:min(460px,100%);box-shadow:10px 10px 0 var(--ok-neon);margin-top:clamp(80px,14vh,150px);padding:clamp(20px,4vw,32px)}.confirm-dialog h2{text-transform:uppercase;margin:0;font-size:1.4rem}.confirm-dialog p{margin:14px 0 0;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.danger-solid{background:#ffe7eb}.danger-solid:hover{border-color:var(--ok-danger);background:#ffd4dc}.auth-main{place-items:center;min-height:100vh;display:grid}.auth-card{gap:20px;width:min(100%,480px);display:grid}.auth-card h1{text-transform:uppercase;margin:0;font-size:clamp(1.8rem,4vw,3.2rem);line-height:.95}.auth-copy{margin:0;line-height:1.5}.form-error{color:var(--ok-danger);margin:0;font-weight:800}.form-success{color:#085e15;margin:0;font-weight:800}.auth-actions{gap:10px;display:grid}.admin-view{gap:24px;display:grid}.admin-create-card{gap:22px;display:grid}.admin-create-form{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:14px;display:grid}.admin-status-row{border-top:4px double var(--ok-black);text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;font-size:.78rem;font-weight:800;display:flex}.admin-table td strong,.admin-table td small{display:block}.admin-table td small{color:var(--ok-black-soft);margin-top:4px}.admin-row-actions{flex-wrap:wrap;gap:8px;display:flex}.dialog-header{border-bottom:4px double var(--ok-black);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;display:flex}.empty-state{margin:24px 0 0}.saved-assessment-list{gap:14px;margin:22px 0 0;padding:0;list-style:none;display:grid}.saved-assessment-list li{border:2px solid var(--ok-black);background:var(--ok-white);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px;display:grid}.saved-assessment-main{gap:5px;min-width:0;display:grid}.saved-assessment-main strong,.saved-assessment-main span,.saved-assessment-main small{overflow-wrap:anywhere}.saved-assessment-main strong{text-transform:uppercase}.saved-assessment-main span,.saved-assessment-main small{color:var(--ok-black-soft)}.saved-assessment-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.start-grid{grid-template-columns:minmax(0,660px) minmax(340px,420px);justify-content:center;align-items:start;gap:clamp(40px,6vw,80px);display:grid}.start-copy{gap:18px;min-width:0;padding-top:clamp(12px,3vw,44px);display:grid}.start-copy .ok-title{overflow-wrap:normal;word-break:normal;-webkit-hyphens:manual;hyphens:manual;text-wrap:balance;max-width:660px;font-size:clamp(3rem,4.7vw,5rem)}.start-copy .ok-subline{max-width:660px}.start-stats{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.start-stats span{border:2px solid var(--ok-black);text-transform:uppercase;background:var(--ok-white);border-radius:999px;padding:8px 12px;font-size:.82rem;font-weight:800}.metadata-panel{justify-self:end;gap:22px;width:min(100%,420px);display:grid}.panel-heading{align-items:center;gap:12px;display:flex}.panel-heading h2,.section-nav h2,.report-section h2{text-transform:uppercase;margin:0;font-size:1rem}.metadata-fields{gap:14px;display:grid}.field{text-transform:uppercase;gap:8px;font-weight:800;display:grid}.field span{font-size:.78rem}.start-button{width:100%}.questionnaire-layout{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,48px);display:grid}.desktop-overview{gap:22px;display:grid;position:sticky;top:116px}.progress-label{text-transform:uppercase;justify-content:space-between;gap:16px;font-size:.78rem;font-weight:800;display:flex}.section-nav{border-top:4px double var(--ok-black);gap:14px;padding-top:18px;display:grid}.section-nav ol{gap:8px;margin:0;padding:0;list-style:none;display:grid}.section-nav-button{border:2px solid var(--ok-black);background:var(--ok-white);width:100%;color:var(--ok-black);text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;padding:12px;display:grid}.section-nav-button[aria-current=step]{background:var(--ok-neon-soft);box-shadow:5px 5px 0 var(--ok-neon)}.section-nav-button strong,.section-nav-button small{display:block}.section-nav-button strong{line-height:1.2}.section-nav-button small{color:var(--ok-black-soft);margin-top:4px}.question-workspace{min-width:0}.question-card{gap:22px;display:grid}.question-meta,.condition-notes{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ok-badge.subtle{color:var(--ok-black-soft)}.state-pill{border:2px solid var(--ok-black);text-transform:uppercase;background:var(--ok-white);border-radius:999px;width:fit-content;padding:5px 10px;font-size:.78rem;font-weight:800}.state-compliant{background:var(--ok-neon-soft)}.state-non-compliant{border-color:var(--ok-danger);background:#ffe7eb}.state-partially-compliant{background:#fff8c7}.state-not-applicable{background:var(--ok-grey)}.question-count,.reference-line,.date-hint,.date-match,.info-note{color:var(--ok-black-soft)}.question-count,.reference-line{text-transform:uppercase;font-size:.88rem;font-weight:800}.preserve-lines{white-space:pre-line}.condition{background:var(--ok-neon-soft)}.condition.unresolved{background:var(--ok-white);color:var(--ok-danger)}.answer-stack{gap:16px;display:grid}.ok-option strong,.ok-option small{display:block}.ok-option small{color:var(--ok-black-soft);margin-top:6px;line-height:1.45}.na-toggle{text-transform:uppercase;align-items:center;gap:10px;width:fit-content;font-weight:800;display:flex}.file-upload-block{gap:14px;display:grid}.file-drop{border:4px double var(--ok-black);border-radius:var(--ok-radius-card);background:var(--ok-white-soft);text-transform:uppercase;cursor:pointer;justify-items:center;gap:10px;padding:28px;font-weight:800;display:grid}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.file-list,.finding-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.file-list li{border:2px solid var(--ok-black);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.file-list small{color:var(--ok-black-soft)}.icon-only{border:2px solid var(--ok-black);background:var(--ok-white);cursor:pointer;border-radius:999px;place-items:center;width:34px;height:34px;display:inline-grid}.date-block{gap:10px;display:grid}.date-match{color:#085e15;font-weight:800}.debug-source{border-top:4px double var(--ok-black);padding-top:16px}.debug-source summary{cursor:pointer;text-transform:uppercase;font-weight:800}.debug-source dl,.metadata-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.debug-source div,.metadata-summary div{border:2px solid var(--ok-black);border-radius:12px;padding:12px}.debug-source dt,.metadata-summary dt{text-transform:uppercase;color:var(--ok-black-soft);font-size:.72rem;font-weight:800}.debug-source dd,.metadata-summary dd{overflow-wrap:anywhere;margin:4px 0 0}.card-actions{justify-content:space-between;padding-top:8px}.report-view{gap:28px;display:grid}.toolbar-spacer{flex:1}.report-cover{gap:18px;display:grid}.report-metrics,.section-score-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-tile,.section-score-tile{border:2px solid var(--ok-black);background:var(--ok-white);border-radius:16px;padding:16px}.metric-tile span,.metric-tile strong{display:block}.metric-tile span{text-transform:uppercase;font-size:.78rem;font-weight:800}.metric-tile strong{margin-top:8px;font-size:clamp(1.7rem,4vw,3rem);line-height:1}.report-section{border-top:4px double var(--ok-black);padding-top:22px}.section-score-tile h3{text-transform:uppercase;margin:0 0 10px;font-size:1rem}.section-score-tile strong{font-size:1.8rem}.finding-list li{border-left:6px solid var(--ok-danger);background:var(--ok-white);gap:6px;padding:14px;display:grid}.table-scroll{border:2px solid var(--ok-black);border-radius:16px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--ok-grey);text-align:left;vertical-align:top;padding:10px}th{background:var(--ok-neon-soft);text-transform:uppercase;font-size:.78rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=980px){.questionnaire-layout,.start-grid{grid-template-columns:1fr}.desktop-overview{position:static}.section-nav{display:none}.report-metrics,.section-score-grid,.metadata-summary,.debug-source dl,.admin-create-form{grid-template-columns:1fr 1fr}}@media (width<=640px){.ok-main{width:min(100vw - 24px,1180px);padding-top:24px}.header-actions{justify-content:flex-start}.header-control-panel{justify-items:stretch;width:100%}.header-metadata{justify-content:flex-start}.header-metadata dd{white-space:normal;max-width:100%}.header-brand{justify-content:space-between;width:100%}.header-title{max-width:13rem;font-size:1rem}.icon-button{min-height:44px;padding:11px 12px}.ok-card{box-shadow:6px 6px 0 var(--ok-neon);border-radius:18px;padding:18px}.ok-title{font-size:clamp(2.25rem,15vw,4.2rem)}.report-metrics,.section-score-grid,.metadata-summary,.debug-source dl{grid-template-columns:1fr}.card-actions,.report-toolbar,.saved-assessment-actions,.confirm-actions,.admin-row-actions{flex-direction:column;align-items:stretch}.card-actions .ok-button,.report-toolbar .ok-button,.header-actions .ok-button,.saved-assessment-actions .ok-button,.confirm-actions .ok-button,.admin-row-actions .ok-button{width:100%}.admin-create-form,.saved-assessment-list li{grid-template-columns:1fr}}
