:root{font-family:Inter,system-ui,Arial,sans-serif;color:#202124;background:#f6f7fb;--input:#ffffcc;--calc:#e5dfec;--border:#dfe2ea;--violet:#6741d9}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;border-radius:5px;padding:.48rem .7rem;background:var(--violet);color:#fff}.secondary{background:#eef0f5;color:#333}.danger{background:#d9485f}.mini{padding:.26rem .46rem;font-size:.76rem}.topbar{display:flex;align-items:center;gap:.65rem;padding:.65rem .85rem;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:3}.brand{font-weight:800}.spacer{flex:1}.layout{display:grid;grid-template-columns:190px 1fr;min-height:calc(100vh - 54px)}.nav{background:#fff;border-right:1px solid var(--border);padding:.6rem}.nav button{display:block;width:100%;margin:.16rem 0;text-align:left;background:transparent;color:#333}.nav button.active{background:#ece8ff;color:#5530c4}.content{padding:.8rem;max-width:1700px;width:100%}.card,.logic-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:.72rem;margin-bottom:.72rem;box-shadow:0 2px 8px #00000006}.muted{color:#6c7280;font-size:.83rem}.small{font-size:.76rem}.row{display:flex;gap:.48rem;align-items:center;flex-wrap:wrap}.login{max-width:420px;margin:10vh auto}.login-top{display:flex;justify-content:flex-end}label{display:block;font-size:.84rem;margin:.22rem 0}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=date],textarea,select{width:100%;padding:.4rem;border:1px solid #c7b84b;border-radius:4px;background:var(--input)}.language-select{display:flex;gap:.32rem;align-items:center;margin:0;font-size:.77rem}.language-select select{width:auto;min-width:108px;background:#fff;border-color:#cfd3dd;padding:.3rem}.version-badge,.role-badge{display:inline-block;padding:.16rem .38rem;border-radius:999px;font-size:.7rem;font-weight:700}.version-badge{border:1px solid #c7b84b;background:var(--input);color:#514900}.role-badge{border:1px solid #c9bddb;background:var(--calc);color:#4d3a67}.notice{padding:.55rem;border-radius:6px;background:#fff5d6;color:#5c4b00}.legend{border-left:5px solid #c7b84b}.legend-items{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.4rem}.legend-items span{display:flex;align-items:center;gap:.3rem;font-size:.8rem}.swatch{width:17px;height:17px;border:1px solid #b9bdc7;border-radius:2px}.swatch.input{background:var(--input)}.swatch.calculated{background:var(--calc)}.swatch.label{background:#fff}.tabs{display:flex;gap:.22rem;overflow:auto;margin-bottom:.55rem}.tabs button{white-space:nowrap;background:#eee;color:#333;padding:.42rem .55rem}.tabs .active{background:var(--violet);color:#fff}.assessment-card{padding:.62rem}.assessment-heading,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:.55rem}.assessment-heading h2,.section-heading h3{margin:.16rem 0}.calculated-box,.section-score{background:var(--calc);border:1px solid #c9bddb;border-radius:5px;padding:.4rem .56rem}.calculated-box{display:flex;flex-direction:column;min-width:185px}.calculated-box b{font-size:1.25rem}.section-score{font-size:.8rem}.assessment-section{margin-top:.58rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:.34rem .4rem;border:1px solid #e4e6ec;font-size:.8rem;vertical-align:top}th{background:#f5f6f9;font-weight:700}.assessment-table th:first-child{width:38px}.assessment-table th:last-child{width:230px}.entry-cell{background:var(--input)}.number-cell{text-align:right;color:#707683}.compact-checkbox{display:flex;align-items:center;gap:.38rem;margin:0}.compact-checkbox input{accent-color:var(--violet)}.number-input{display:flex;align-items:center;gap:.3rem}.calculated-row td,.calculated-cell{background:var(--calc)!important;border-color:#c9bddb}.evidence-row td{background:#fff9bd}.profile-title-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;margin-bottom:.35rem}.profile-title-row h2{margin:.1rem 0}.client-id{font-size:.78rem;border:1px dashed #9aa8bd;padding:.25rem .4rem;background:#f9fbff}.organization-profile-table{table-layout:fixed}.organization-profile-table th{width:18%;font-size:.73rem;text-align:right;background:#fff;border-style:dashed;border-color:#9aa8bd}.organization-profile-table td{width:32%;padding:.2rem;border-style:dashed;border-color:#9aa8bd}.organization-profile-table sup{color:#cf304a;margin-left:.12rem}.profile-entry{background:var(--input)}.profile-entry input,.profile-entry select{padding:.28rem;font-size:.76rem}.profile-empty{background:#fff;border-style:dashed;border-color:#9aa8bd}.profile-signature-grid{display:grid;grid-template-columns:minmax(420px,1.5fr) minmax(300px,1fr);gap:.55rem;margin-top:.5rem}.signature-pad{background:var(--input);border:1px dashed #9aa8bd;padding:.35rem}.signature-toolbar{display:flex;justify-content:space-between;align-items:center;font-size:.77rem;margin-bottom:.2rem}.signature-pad canvas{display:block;width:100%;height:150px;background:#fffbe1;border:1px solid #d8cf88;touch-action:none}.signature-hint{display:block;text-align:center;color:#6c7280;font-size:.72rem;margin-top:.15rem}.profile-checks{display:grid;gap:.45rem}.checkbox{display:flex;align-items:flex-start;gap:.45rem;background:var(--input);border:1px solid #e4d77a;border-radius:4px;padding:.42rem}.evidence-block{margin:.5rem 0;padding:.48rem;background:var(--input);border:1px solid #e4d77a;border-radius:4px}.dashboard-grid{display:grid;grid-template-columns:minmax(480px,1.15fr) minmax(460px,1fr);gap:.72rem}.category-score-layout{display:grid;grid-template-columns:minmax(500px,.95fr) minmax(380px,1.1fr);gap:.75rem}.category-score-layout h3,.logic-card h3{margin:.1rem 0 .45rem}.score-table td:first-child{font-weight:650}.score-table td:last-child{width:92px;text-align:right;background:var(--calc);font-weight:800}.score-table .score-separator td{border-top:3px solid #636a75}.score-explanation{border:1px dashed #9aa8bd;padding:.65rem;background:#fafbfe;font-size:.8rem;line-height:1.45}.score-explanation h4{margin:.1rem 0 .35rem}.logic-table th:last-child,.logic-table td:last-child{width:120px;text-align:right}.logic-table td{font-size:.77rem}.logic-table th{font-size:.76rem}.sdg-logic td:first-child{min-width:290px}.sdg-logic td:nth-child(2){font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.sdg-wheel-widget h3{text-align:center;margin:.15rem 0 .35rem}.sdg-wheel-svg{display:block;width:100%;height:auto;max-height:780px}.sdg-wheel-value{font-weight:900;font-size:21px;fill:#fff;stroke:#333;stroke-width:3px;paint-order:stroke;text-anchor:middle;dominant-baseline:middle}.sdg-wheel-label{font-weight:900;font-size:16px;fill:#a9a9a9;stroke:#fff;stroke-width:3px;paint-order:stroke;text-anchor:middle;dominant-baseline:middle}.sdg-icon-number{font-size:19px;font-weight:900;fill:#fff;text-anchor:middle}.sdg-tooltip{opacity:0;transition:opacity .15s ease}.sdg-tooltip rect{fill:#fff;stroke:#667085;stroke-width:1}.sdg-tooltip text{font-size:12px;font-weight:800;fill:#111827;text-anchor:middle}.sdg-icon-group:hover .sdg-tooltip{opacity:1}.sdg-center-title{font-size:22px;font-weight:900;fill:#0ea5e9;text-anchor:middle}.sdg-center-score{font-size:27px;font-weight:900;fill:#111827;text-anchor:middle}.sdg-center-sub{font-size:16px;font-weight:800;fill:#2563eb;text-anchor:middle}.svg-diagram{margin:.55rem 0 .75rem;padding:.5rem;border:1px solid #d7dae0;background:#fff;border-radius:6px}.svg-diagram h3{margin:.05rem 0 .35rem;color:#2e7d32}.svg-diagram svg{display:block;width:100%;height:auto}.circ-blue{fill:#e5f0ff;stroke:#4a6fb3;stroke-width:1.5}.circ-green{fill:#dff2df;stroke:#3f7f3f;stroke-width:1.5}.circ-gray{fill:#f2f2f2;stroke:#999;stroke-width:1.2}.circ-legend{fill:#fff;stroke:#999;stroke-width:1}.circ-arrow{stroke:#4a6fb3;stroke-width:2;marker-end:url(#arr);fill:none}.circ-arrow-green{stroke:#3f7f3f;stroke-width:2;marker-end:url(#arrg);fill:none}.circ-x{stroke:#c00;stroke-width:4}.circ-text{font-size:11px;fill:#333}.circ-small{font-size:10px;fill:#333}.circ-title{font-size:13px;font-weight:700;fill:#253b70}.ghg-wrap{overflow:hidden}.ghg-arrow{stroke:#2b2b2b;stroke-width:2;fill:none;marker-end:url(#ghga);opacity:.55}.ghg-sub{font-size:16px;font-weight:600;fill:#2b2b2b}.ghg-sec{font-size:18px;font-weight:700;fill:#2b2b2b}.ghg-label{font-size:14px;font-weight:700;fill:#fff}.ghg-small{font-size:12px;font-weight:700;fill:#24324a}.ghg-blue{fill:#4b6cb7}.ghg-green{fill:#4e7d3a}.ghg-gray{fill:#5b74a6}.ghg-divider{stroke:#2b2b2b;stroke-width:1;opacity:.2}.ghg-card{fill:#fff;stroke:#d5dbe6;stroke-width:1}.ghg-num{fill:#2f5f88}.ghg-numtxt{font-size:11px;font-weight:700;fill:#fff}.admin-create{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(130px,.8fr) minmax(150px,1fr) 140px auto;gap:.38rem;margin-bottom:.55rem}.compact-admin{max-height:245px}.translation-search{width:min(360px,100%)!important;background:#fff!important;border-color:#cfd3dd!important}.translation-matrix{max-height:660px}.translation-matrix table{min-width:1450px}.translation-matrix th{position:sticky;top:0;z-index:1}.translation-matrix td{padding:.22rem}.translation-matrix textarea{min-width:205px;background:#fff;padding:.3rem;font-size:.74rem}.key-cell{max-width:260px;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}@media (max-width:1100px){.category-score-layout,.dashboard-grid,.profile-signature-grid{grid-template-columns:1fr}}@media (max-width:950px){.layout{grid-template-columns:1fr}.nav{display:flex;overflow:auto;border-right:0;border-bottom:1px solid #eee}.nav button{width:auto;white-space:nowrap}.topbar{flex-wrap:wrap}.assessment-heading,.section-heading{align-items:flex-start;flex-direction:column}.admin-create{grid-template-columns:1fr}.content{padding:.55rem}}.score-bar{display:flex;align-items:center;gap:.38rem;min-width:210px}.score-bar span{display:block;height:10px;min-width:2px;border-radius:999px}.score-bar b{margin-left:auto;font-size:.75rem}.category-reasoning{margin-top:.55rem;padding:.55rem;border:1px dashed #9aa8bd;background:#fbfcfe;font-size:.78rem;line-height:1.4}.category-reasoning p{margin:.25rem 0 0}.logic-grid{display:grid;grid-template-columns:minmax(560px,1.25fr) minmax(320px,.75fr);gap:.65rem}.logic-bars{display:grid;gap:.35rem;align-content:start;padding:.4rem;background:#fafbfe;border:1px dashed #c5cad4}.logic-bars>div>span{display:block;font-size:.72rem;font-weight:700;margin-bottom:.1rem}.sdg-logic-grid{display:grid;grid-template-columns:minmax(680px,1.2fr) minmax(310px,.55fr);gap:.65rem}.sdg-bars{max-height:740px;overflow:auto}.summary-body td{border-top:2px solid #8e80bd;background:#f5f2fc}.sdg-wheel-frame{width:100%;max-width:1200px;margin:0 auto}.sdg-icon-image{pointer-events:none;filter:drop-shadow(0 6px 6px rgba(0,0,0,.2))}.sdg-icon-hitarea{pointer-events:all;cursor:default}.sdg-icon-group{pointer-events:all}.sdg-tooltip{pointer-events:none}.excel-sheet-table{border:1px solid #9da7b6}.excel-sheet-table th{background:#f5f3fa;border-color:#bec3cf}.excel-sheet-table td{border-color:#d6dae2}.circularity-sheet-section{border:1px solid #c5b090;background:#f8f3ed;padding:.45rem;margin-top:.5rem}.circularity-sheet-table .entry-cell{background:#ffc}.ghg-sheet-section{border:1px solid #998fa0;background:#f4f1f5;padding:.45rem;margin-top:.55rem}.ghg-matrix{table-layout:fixed}.ghg-matrix th:first-child,.ghg-matrix td:first-child{width:58%}.ghg-matrix th:not(:first-child),.ghg-matrix td:not(:first-child){width:14%}.ghg-matrix input,.ghg-matrix select{font-size:.72rem;padding:.23rem}.ghg-matrix .compact-checkbox{justify-content:center}.ghg-matrix .calculated-row td{font-weight:700}.svg-diagram{overflow:auto}.svg-diagram svg{min-width:860px}.sdg-wheel-svg{max-height:none}.sdg-wheel-value{font-size:40px;stroke-width:6px}.sdg-wheel-label{font-size:30px;stroke-width:4px}.sdg-center-title{font-size:30px}.sdg-center-score{font-size:44px}.sdg-center-sub{font-size:20px}.sdg-tooltip rect{stroke-width:1.5}.sdg-tooltip text{font-size:18px}@media (max-width:1180px){.logic-grid,.sdg-logic-grid{grid-template-columns:1fr}.ghg-matrix{min-width:900px}}.tenant-create{display:grid;grid-template-columns:minmax(240px,1.4fr) 110px minmax(230px,1fr) auto;gap:.38rem;align-items:center;margin-bottom:.55rem}.registration-input{min-width:230px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem}.readonly-entry{background:#f2f3f5!important}.readonly-entry input[readonly]{background:#f2f3f5;border-color:#c9cdd5;color:#565b65}.readonly-note{display:block;margin-top:.16rem;color:#6c7280;font-size:.66rem;line-height:1.2}@media (max-width:950px){.tenant-create{grid-template-columns:1fr}}.assessment-switcher{display:flex;align-items:center;gap:.3rem;font-size:.72rem;margin-left:.4rem}.assessment-switcher select{width:auto;max-width:340px;background:#fff;border-color:#cfd3dd;padding:.28rem}.admin-profile-notice{margin:.35rem 0 .55rem;font-size:.8rem}.admin-editable{background:#ffc!important;border:2px solid #6741d9!important}.admin-profile-notice{font-weight:700}.reference-diagram{margin:.45rem 0 .7rem;padding:.25rem;background:#fff;border:1px solid #d6dae2;overflow:auto}.reference-diagram img{display:block;width:100%;height:auto;min-width:920px}.report-intro-editor{margin-top:18px;padding:14px;border:1px solid var(--border);border-radius:14px;background:#fbfbf8;display:grid;gap:10px}.report-intro-editor input,.report-intro-editor textarea{width:100%;box-sizing:border-box}.report-builder .report-tabs{margin:.65rem 0}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:.75rem}.report-grid label{display:grid;gap:.25rem;background:#fbfbf8;border:1px solid var(--border);border-radius:12px;padding:.65rem}.report-grid input[type=color]{width:70px;height:38px;padding:2px}.report-texts{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:.75rem}.report-sections-table td:first-child,.report-sections-table th:first-child{width:90px;text-align:center}.report-sections-table td:last-child,.report-sections-table th:last-child{width:120px}.report-sections-table input[type=number]{max-width:90px}@media (max-width:1000px){.report-grid,.report-texts{grid-template-columns:1fr}}.pdf-snapshot-source{position:fixed;left:-10000px;top:0;width:1450px;height:1450px;background:#fff;pointer-events:none;opacity:1;z-index:-1;overflow:hidden}.pdf-snapshot-source .sdg-wheel-widget{width:1450px;background:#fff}.pdf-snapshot-source .sdg-wheel-frame{width:1450px;height:1450px;background:#fff}.pdf-export-progress{margin:12px 0 16px;padding:12px 14px;border:1px solid #c7d2fe;background:#eef2ff;border-radius:12px;color:#1f2937;box-shadow:0 1px 2px #0f172a14}.pdf-export-progress-bar{height:10px;background:#dbe4ff;border-radius:999px;overflow:hidden;margin-bottom:8px;position:relative}.pdf-export-progress-bar span{display:block;height:100%;width:42%;border-radius:999px;background:linear-gradient(90deg,#6d5dd3,#23a7d8,#6d5dd3);animation:pdf-progress-move 1.15s ease-in-out infinite}.pdf-export-progress-text{font-weight:700;font-size:14px}button:disabled{opacity:.62;cursor:wait}@keyframes pdf-progress-move{0%{transform:translate(-110%)}50%{transform:translate(75%)}to{transform:translate(245%)}}.help-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;overflow:auto}.help-modal{width:min(1120px,100%);max-height:92vh;background:#fff;border-radius:18px;box-shadow:0 24px 70px #0f172a59;border:1px solid #dbe0ea;padding:1rem;display:flex;flex-direction:column}.help-modal-head{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e5e7ef;padding:.25rem .25rem .85rem;margin-bottom:.85rem;flex:0 0 auto}.help-modal-head h2{margin:.1rem 0 .25rem}.help-modal-body{overflow-y:auto;padding-right:.4rem;scrollbar-gutter:stable}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:.75rem}.help-grid section{background:#fbfbfe;border:1px solid #e3e6ef;border-radius:14px;padding:.85rem;line-height:1.45}.help-grid h3{margin:.1rem 0 .45rem;color:#35208a}.help-grid p{margin:.25rem 0}.help-grid ol{margin:.3rem 0 .1rem 1.1rem;padding:0}.help-wide{grid-column:1/-1;background:#fffbea!important;border-color:#e3cf73!important}@media (max-width:850px){.help-grid{grid-template-columns:1fr}.help-modal-head{flex-direction:column}.help-modal-head button{align-self:flex-end}}.feedback-form{display:grid;gap:.65rem}.feedback-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.feedback-form label{display:grid;gap:.25rem;font-weight:700}.feedback-form input,.feedback-form textarea{border:1px solid #d5dbea;border-radius:10px;padding:.55rem;background:#fff}.feedback-form textarea{resize:vertical}@media (max-width:850px){.feedback-row{grid-template-columns:1fr}}
