
:root{--bg:#f5f6f8;--paper:#fff;--ink:#181a1f;--muted:#68707d;--line:#dde2e8;--dark:#111827;--blue:#2563eb;--violet:#7c3aed;--teal:#0f766e;--amber:#b45309;--radius:16px;--shadow:0 14px 42px rgba(17,24,39,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.42}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0);overflow:hidden}
.top{position:sticky;top:0;z-index:1000;background:rgba(17,24,39,.98);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(12px,2.6vw,36px);box-shadow:0 2px 20px rgba(0,0,0,.12)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.logo{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#fff;color:#111827;font-weight:900}.brand b,.brand small{display:block}.brand small{color:#cbd5e1}.nav{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.nav button,.nav a{border:0;background:transparent;color:#cbd5e1;padding:9px 12px;border-radius:10px;font-weight:700;text-decoration:none}.nav button.active{background:#fff;color:#111827}.nav button:hover,.nav a:hover{color:#fff;background:#283447}.public-pill{font-size:.7rem;border:1px solid #475569;color:#cbd5e1;border-radius:999px;padding:5px 8px}
main{max-width:1540px;margin:auto;padding:0 clamp(12px,2.6vw,34px) 70px}.view{display:none}.view.active{display:block}
.hero{display:grid;grid-template-columns:1.35fr .65fr;gap:28px;align-items:end;padding:44px 0 24px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:.72rem;color:#6b7280;margin:0 0 8px}.hero h1{font-size:clamp(2rem,4.2vw,4.2rem);line-height:1;letter-spacing:-.045em;margin:0}.hero p{color:var(--muted);max-width:880px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.stat b{font-size:1.65rem;display:block}.stat span{font-size:.77rem;color:var(--muted)}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.search-panel{padding:12px}.searchline{display:flex;gap:8px}.searchbox{flex:1;background:#f8fafc;border:1px solid #d5dbe3;border-radius:12px;padding:0 12px}.searchbox input{width:100%;border:0;background:transparent;outline:0;padding:12px;font-size:1rem}.filters{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr)) auto;gap:8px;margin-top:9px}.filters label,.field{display:flex;flex-direction:column;gap:4px;font-size:.72rem;font-weight:700;color:#4b5563}select,input[type=text],textarea{border:1px solid #d5dbe3;border-radius:9px;background:#fff;padding:8px}.btn{border:0;border-radius:10px;padding:9px 11px;font-weight:800;background:#edf0f4;color:#1f2937}.btn:hover{filter:brightness(.97);transform:translateY(-1px)}.btn.dark{background:#111827;color:#fff}.btn.blue{background:#2563eb;color:#fff}.btn.outline{background:#fff;border:1px solid #cfd6df}.btn.tiny{font-size:.75rem;padding:7px 8px}.quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.chip{border:1px solid #d5dbe3;background:#fff;padding:6px 9px;border-radius:999px;font-size:.76rem;font-weight:800}.chip.active{background:#111827;color:#fff}
.workspace{display:grid;grid-template-columns:minmax(620px,1.13fr) minmax(350px,.87fr);gap:14px;margin-top:14px;align-items:start}.results-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.results-head small{display:block;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;max-height:780px;overflow:auto}.company-card{border:1px solid var(--line);border-radius:14px;padding:13px;display:flex;flex-direction:column;gap:9px}.company-card:hover{box-shadow:0 7px 24px rgba(17,24,39,.07);border-color:#bac3ce}.company-card h3{margin:0;font-size:1rem}.meta{font-size:.8rem;color:var(--muted)}.badges{display:flex;flex-wrap:wrap;gap:4px}.badge{padding:4px 7px;border-radius:999px;background:#f1f3f5;font-size:.66rem;font-weight:800;color:#4b5563}.badge.culture{background:#f3e8ff;color:#6d28d9}.badge.digital{background:#dbeafe;color:#1d4ed8}.badge.hybrid{background:#ccfbf1;color:#0f766e}.badge.design{background:#fef3c7;color:#92400e}.missions{font-size:.78rem;color:#4b5563;min-height:2.3em}.card-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:auto}.card-actions button{font-size:.69rem;padding:7px 5px;border:1px solid #d7dde5;border-radius:8px;background:#fff;font-weight:800}.card-actions button:first-child{background:#111827;color:#fff;border-color:#111827}
.map-panel{position:sticky;top:76px;overflow:hidden}.map-head{display:flex;justify-content:space-between;padding:11px 13px;border-bottom:1px solid var(--line)}.map-head span{font-size:.72rem;color:var(--muted)}#map{height:720px;background:#e4e8ee}.map-fallback{height:720px;display:grid;place-content:center;text-align:center;color:var(--muted)}
.section-title{padding:34px 0 14px}.section-title h2{font-size:clamp(1.7rem,3vw,2.8rem);letter-spacing:-.035em;margin:.1rem 0}.section-title p{color:var(--muted);max-width:900px}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.toolbar .field{min-width:150px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.8rem}.data-table th{position:sticky;top:0;background:#f6f8fa;text-align:left;color:#4b5563;padding:9px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:9px;border-bottom:1px solid #edf0f3;vertical-align:top}.status{font-size:.68rem;font-weight:800;border-radius:999px;padding:4px 6px;display:inline-block}.status.ok{background:#dcfce7;color:#166534}.status.warn{background:#fef3c7;color:#92400e}.status.none{background:#f1f5f9;color:#64748b}.status.info{background:#dbeafe;color:#1d4ed8}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;cursor:pointer}.kpi:hover{box-shadow:0 8px 26px rgba(17,24,39,.08)}.kpi b{font-size:1.9rem;display:block}.kpi span{font-size:.78rem;color:var(--muted)}.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.dash-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.dash-card h3{margin:0 0 13px}.bar-row{display:grid;grid-template-columns:minmax(150px,260px) 1fr 70px;gap:8px;align-items:center;margin:8px 0}.bar-label{font-size:.78rem}.bar-track{height:12px;background:#e9edf2;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:#64748b;border-radius:999px}.bar-fill.highlight{background:#2563eb}.bar-value{text-align:right;font-size:.76rem;color:#64748b}.accred-box{margin-top:12px;background:#111827;color:#fff;border-radius:16px;padding:18px}.accred-box p{color:#cbd5e1}.accred-actions{display:flex;gap:7px;flex-wrap:wrap}
dialog{border:0;border-radius:20px;padding:0;max-height:90vh;box-shadow:0 28px 90px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(17,24,39,.62);backdrop-filter:blur(3px)}.modal{width:min(900px,calc(100vw - 24px))}.modal-wide{width:min(1100px,calc(100vw - 24px))}.modal-inner{padding:24px}.modal-close{position:sticky;float:right;top:10px;margin:10px 10px 0 0;width:34px;height:34px;border:0;border-radius:50%;background:#111827;color:#fff;font-size:1.2rem;z-index:2}.modal-head h2{font-size:2rem;letter-spacing:-.035em;margin:.15rem 0}.modal-head p{color:var(--muted)}.modal-actions{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.modal-actions a{text-decoration:none}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.info{border:1px solid var(--line);border-radius:12px;padding:11px}.info dl{margin:0}.info dt{text-transform:uppercase;letter-spacing:.08em;color:#6b7280;font-size:.65rem;font-weight:800}.info dd{margin:4px 0 0;font-size:.88rem}.full{grid-column:1/-1}.exp-list{display:grid;gap:8px}.exp-item{border:1px solid var(--line);border-radius:12px;padding:12px}.exp-item h4{margin:0 0 4px}.exp-item p{margin:4px 0;font-size:.82rem;color:#4b5563}
.sheet{background:#fff;color:#111827;width:210mm;min-height:297mm;margin:0 auto;padding:14mm 13mm;box-shadow:0 0 0 1px #ddd}.sheet-head{border-bottom:3px solid #111827;padding-bottom:7mm;margin-bottom:6mm}.sheet-head .eyebrow{color:#4b5563}.sheet-head h1{font-size:24pt;line-height:1.05;margin:0}.sheet-sub{display:flex;justify-content:space-between;gap:10px;margin-top:4mm;font-size:9pt}.sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:3mm}.sheet-section{border:1px solid #cfd4db;border-radius:3mm;padding:4mm}.sheet-section h2{font-size:9pt;text-transform:uppercase;letter-spacing:.08em;color:#4b5563;margin:0 0 2.5mm}.sheet-row{display:grid;grid-template-columns:40mm 1fr;gap:3mm;border-top:1px solid #edf0f3;padding:2mm 0;font-size:8.5pt}.sheet-row:first-of-type{border-top:0}.sheet-row b{font-size:8pt}.sheet-foot{margin-top:5mm;border-top:1px solid #cfd4db;padding-top:3mm;font-size:7.5pt;color:#6b7280}.sheet .tag{display:inline-block;border:1px solid #cfd4db;border-radius:99px;padding:1mm 2mm;margin:1mm 1mm 0 0;font-size:7.5pt}
.rating-summary{display:grid;grid-template-columns:170px 1fr;gap:14px;align-items:center}.big-score{text-align:center;border:1px solid var(--line);border-radius:16px;padding:17px}.big-score b{font-size:2.5rem}.criterion{display:grid;grid-template-columns:170px 1fr 40px;gap:8px;align-items:center;margin:7px 0}.rating-bar{height:9px;background:#e9edf2;border-radius:999px;overflow:hidden}.rating-bar span{display:block;height:100%;background:#d97706}.privacy{border-left:4px solid #2563eb;background:#eff6ff;padding:10px 12px;border-radius:8px;color:#1e3a8a;font-size:.78rem;margin:12px 0}.empty{padding:40px;text-align:center;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,15px);opacity:0;background:#111827;color:#fff;padding:9px 12px;border-radius:10px;z-index:9000;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.hero{grid-template-columns:1fr}.stats{grid-template-columns:repeat(4,1fr)}.workspace{grid-template-columns:1fr}.map-panel{position:relative;top:auto}.filters{grid-template-columns:repeat(3,1fr)}.cards{max-height:none}.dash-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}#map{height:480px}}
@media(max-width:720px){.brand small,.public-pill{display:none}.nav button,.nav a{font-size:.75rem;padding:8px 7px}.hero h1{font-size:2.3rem}.stats{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.card-actions{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr 60px}.bar-track{grid-column:1/-1;grid-row:2}.rating-summary{grid-template-columns:1fr}.criterion{grid-template-columns:120px 1fr 35px}}
@media print{body.printing-sheet *{visibility:hidden!important}body.printing-sheet #printSheet,body.printing-sheet #printSheet *{visibility:visible!important}body.printing-sheet #printSheet{position:absolute;left:0;top:0;width:210mm;min-height:297mm;box-shadow:none;padding:12mm}body.printing-sheet .no-print{display:none!important}@page{size:A4;margin:0}}

.company-sheet{display:grid;gap:12px}.company-sheet .identity{display:flex;justify-content:space-between;gap:20px;align-items:start}.company-sheet .identity h2{margin:.15rem 0;font-size:2.15rem}.company-sheet .statusline{font-size:.78rem;color:#64748b}.company-sheet .section{border-top:1px solid var(--line);padding-top:14px}.company-sheet .section h3{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#64748b;margin:0 0 9px}.company-sheet .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.fact{display:grid;grid-template-columns:145px 1fr;gap:8px;font-size:.84rem;padding:4px 0}.fact b{color:#4b5563}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;border-top:1px solid var(--line);padding-top:16px;margin-top:4px}.sheet-actions .btn{padding:12px}.review-note{font-size:.78rem;color:#64748b;margin-top:10px}.printpage{max-width:210mm;margin:22px auto;background:#fff;padding:14mm;min-height:297mm}.printpage h1{font-size:25pt;margin:0}.printpage .print-actions{display:flex;gap:8px;margin-bottom:14px}@media(max-width:720px){.company-sheet .facts{grid-template-columns:1fr}.fact{grid-template-columns:120px 1fr}.sheet-actions{grid-template-columns:1fr}}@media print{.top,.print-actions{display:none!important}.printpage{margin:0;box-shadow:none;padding:12mm;width:210mm;min-height:297mm}@page{size:A4;margin:0}}
.review-source{border:1px solid var(--line);border-radius:14px;padding:14px;margin:12px 0;background:#fff}
.review-source-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.review-criteria{display:grid;gap:10px}
.review-criterion{border-top:1px solid #edf0f3;padding-top:10px}
.review-criterion:first-child{border-top:0;padding-top:0}
.criterion-line{display:flex;justify-content:space-between;gap:12px;font-size:.86rem}
.review-criterion p{margin:5px 0 0;color:#4b5563;font-size:.78rem}
@media(max-width:720px){.review-source-head{flex-direction:column}}
