:root{--green:#073e31;--green2:#0a503f;--orange:#f05a28;--sand:#f5f0e8;--card:#fff;--ink:#10251f;--muted:#70807a;--line:#e5ddd2;--success:#e3f3ea;--success-ink:#0a6244;--warning:#fff0d2;--warning-ink:#8d5a00;--danger:#fde6de;--danger-ink:#a13b21;--shadow:0 14px 40px rgba(44,37,28,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--sand)}a{color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:var(--green);color:#fff;padding:24px 16px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;padding:0 10px 28px}.brand-mark{width:42px;height:42px;border-radius:13px;background:var(--orange);display:grid;place-items:center;font-weight:900;font-size:20px}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-size:17px}.brand-copy small{opacity:.68;margin-top:5px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:11px;text-decoration:none;color:rgba(255,255,255,.78);font-weight:650;font-size:14px}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.1);color:#fff}.nav-logout{margin:0}.nav-button{width:100%;border:0;background:transparent;font-family:inherit;text-align:left;cursor:pointer}.nav-icon{width:22px;height:22px;display:grid;place-items:center;font-size:18px}.sidebar-bottom{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}.user-mini{display:flex;align-items:center;gap:10px;padding:7px 12px 14px;font-size:13px}.avatar{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center}.main-content{min-width:0}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:30px 34px 18px}.topbar h1{margin:3px 0 0;font-size:30px;letter-spacing:-.035em}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:800;color:var(--muted)}.page-wrap{padding:0 34px 48px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:#fff;color:var(--green);text-decoration:none;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:750;cursor:pointer;white-space:nowrap}.button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(34,31,27,.08)}.button.primary{background:var(--orange);border-color:var(--orange);color:#fff}.button.green{background:var(--green);border-color:var(--green);color:#fff}.button.danger{color:var(--danger-ink);border-color:#efb8a8}.button.small{padding:7px 10px;font-size:12px}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.grid{display:grid;gap:18px}.grid.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:20px}.stat-card,.card{background:var(--card);border:1px solid rgba(217,207,194,.85);border-radius:18px;box-shadow:var(--shadow)}.stat-card{padding:20px}.stat-card .label{color:var(--muted);font-size:12px;font-weight:700}.stat-card .value{font-size:31px;font-weight:850;letter-spacing:-.04em;margin-top:8px}.stat-card .meta{font-size:11px;color:var(--muted);margin-top:6px}.card{overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.card-header h2,.card-header h3{margin:0;font-size:17px}.card-body{padding:20px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:900px}.data-table th{background:var(--green);color:#fff;text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.07em;padding:13px 14px}.data-table td{padding:14px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fcfaf6}.primary-text{font-weight:760}.secondary-text{display:block;color:var(--muted);font-size:11px;margin-top:5px}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;white-space:nowrap}.badge.success{background:var(--success);color:var(--success-ink)}.badge.warning{background:var(--warning);color:var(--warning-ink)}.badge.danger{background:var(--danger);color:var(--danger-ink)}.badge.muted{background:#edf0ee;color:#61706b}.energy-label{width:42px;height:36px;border-radius:9px;display:inline-grid;place-items:center;font-weight:900;font-size:16px}.energy-label.good{background:#52a73b;color:#102d12}.energy-label.mid{background:#98c52f;color:#193312}.energy-label.low{background:#e5bc26;color:#443700}.energy-label.unknown{background:#e7e9e8;color:#64716c}.actions{display:flex;flex-wrap:wrap;gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800}.field input,.field textarea,.field select{width:100%;border:1px solid #d8cfc3;border-radius:11px;background:#fff;padding:12px 13px;font:inherit;color:var(--ink);outline:none}.field textarea{min-height:320px;resize:vertical;line-height:1.55}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(10,80,63,.1)}.help{font-size:12px;color:var(--muted);line-height:1.5}.flash{margin:0 0 16px;padding:13px 15px;border-radius:11px;font-size:13px;font-weight:650}.flash.success{background:var(--success);color:var(--success-ink)}.flash.error{background:var(--danger);color:var(--danger-ink)}.flash.warning{background:var(--warning);color:var(--warning-ink)}.progress-card{padding:22px}.progress-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.progress-track{height:12px;border-radius:999px;background:#e7e1d8;overflow:hidden;margin:17px 0 10px}.progress-bar{height:100%;background:linear-gradient(90deg,var(--orange),#ff824b);width:0;transition:width .35s ease}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.address-row{cursor:pointer}.report-panel{display:none;background:#f9f6f1}.report-panel.open{display:table-row}.report-panel td{padding:0!important}.report-list{padding:14px 18px}.report-card{display:grid;grid-template-columns:74px minmax(170px,1.2fr) minmax(150px,1fr) minmax(150px,1fr) auto;align-items:center;gap:14px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:8px}.report-card:last-child{margin-bottom:0}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}.kv{padding:11px 0;border-bottom:1px solid var(--line)}.kv dt{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}.kv dd{margin:5px 0 0;font-size:13px;word-break:break-word}.code-block{white-space:pre-wrap;word-break:break-word;background:#0f211d;color:#d8efe5;border-radius:12px;padding:16px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;max-height:420px;overflow:auto}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 18% 10%,rgba(240,90,40,.14),transparent 28%),var(--sand)}.auth-card{width:min(470px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:28px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}.auth-card h1{font-size:27px;margin:0 0 8px;letter-spacing:-.035em}.auth-card p{color:var(--muted);line-height:1.55}.empty{padding:42px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:18px;margin-bottom:6px}.system-list{display:grid;gap:10px}.system-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.system-item:last-child{border-bottom:0}.system-copy strong{display:block}.system-copy small{display:block;color:var(--muted);margin-top:4px}.alert-box{border-radius:12px;padding:14px 16px;background:#fff5df;color:#765005;font-size:13px;line-height:1.5}.pagination-note{color:var(--muted);font-size:12px}.toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.split{display:flex;justify-content:space-between;align-items:center;gap:16px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.hidden{display:none!important}
@media(max-width:1100px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.brand-copy,.nav-item span:last-child,.user-mini span:last-child{display:none}.brand{justify-content:center;padding-left:0;padding-right:0}.nav-item{justify-content:center}.grid.stats{grid-template-columns:repeat(2,1fr)}.report-card{grid-template-columns:60px 1fr 1fr;}.report-card .report-actions{grid-column:1/-1}.kv-grid{grid-template-columns:1fr}}
@media(max-width:720px){.app-shell{display:block}.sidebar{position:fixed;bottom:0;top:auto;width:100%;height:64px;flex-direction:row;padding:8px 10px;align-items:center}.brand{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:4px}.sidebar-bottom{display:none}.nav-item{padding:8px}.main-content{padding-bottom:74px}.topbar{padding:22px 18px 14px;align-items:flex-start}.topbar .button{display:none}.topbar h1{font-size:24px}.page-wrap{padding:0 14px 28px}.grid.stats{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:15px}.stat-card .value{font-size:25px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.card-header{align-items:flex-start;flex-direction:column}.report-card{grid-template-columns:50px 1fr}.report-card>div:nth-child(3),.report-card>div:nth-child(4){grid-column:2}.split{align-items:flex-start;flex-direction:column}.toolbar{width:100%}.toolbar .button{flex:1}.auth-card{padding:22px}}
.technical-details{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.technical-details summary{cursor:pointer;font-size:12px;font-weight:800;color:var(--green);margin-bottom:12px}.technical-details[open] summary{margin-bottom:12px}

/* v1.1.0: run overview sorting and company filtering */
.run-filter-bar{display:grid;grid-template-columns:minmax(240px,1.25fr) minmax(240px,1fr) auto minmax(220px,.9fr);gap:14px;align-items:end;padding:16px 20px;background:#fbf8f3;border-bottom:1px solid var(--line)}
.run-filter-bar label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.055em}
.run-filter-bar select{width:100%;border:1px solid #d8cfc3;border-radius:10px;background:#fff;padding:10px 12px;font:inherit;color:var(--ink);outline:none;text-transform:none;letter-spacing:normal;font-weight:650}
.run-filter-bar select:focus{border-color:var(--green2);box-shadow:0 0 0 3px rgba(10,80,63,.1)}
.run-filter-actions{display:flex;gap:8px;align-items:center}
.run-filter-summary{min-height:42px;display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;color:var(--muted);font-size:12px;text-align:right}
.run-filter-summary strong{color:var(--ink);font-size:14px}.run-filter-summary span{width:100%;font-size:11px}
.run-results-table{min-width:1260px}
.run-results-table td:nth-child(1){min-width:250px}.run-results-table td:nth-child(6){min-width:220px}
.report-card.report-card-detailed{grid-template-columns:64px minmax(190px,1.2fr) minmax(145px,.85fr) minmax(140px,.8fr) minmax(155px,.9fr) auto}
.report-card-label{display:block;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;margin-bottom:5px}
@media(max-width:1250px){.run-filter-bar{grid-template-columns:1fr 1fr auto}.run-filter-summary{grid-column:1/-1;justify-content:flex-start;text-align:left}.report-card.report-card-detailed{grid-template-columns:58px 1fr 1fr}.report-card.report-card-detailed .report-actions{grid-column:1/-1}}
@media(max-width:720px){.run-filter-bar{grid-template-columns:1fr;padding:14px}.run-filter-actions{width:100%}.run-filter-actions .button{flex:1}.run-filter-summary{grid-column:auto}.report-card.report-card-detailed{grid-template-columns:50px 1fr}.report-card.report-card-detailed>div:nth-child(n+3){grid-column:2}.report-card.report-card-detailed .report-actions{grid-column:1/-1}}

/* EMOData v8 · AI analyse */
.ai-intro-card{display:flex;justify-content:space-between;gap:28px;align-items:center;background:linear-gradient(135deg,#fff 0%,#f5fbf7 100%);border:1px solid var(--line,#e7ddcf);border-radius:20px;padding:24px 28px;margin-bottom:18px;box-shadow:0 14px 34px rgba(27,49,41,.06)}
.ai-intro-card h2{font-size:28px;margin:4px 0 8px}.ai-intro-card p{margin:0;max-width:780px;color:#60726d;line-height:1.55}
.ai-index-box{width:230px;flex:0 0 230px;background:#083f34;color:#fff;border-radius:16px;padding:16px}.ai-index-box>span,.ai-index-box>small{display:block;color:#c9ddd6;font-size:12px}.ai-index-box>strong{display:block;font-size:24px;margin:4px 0 10px}.ai-index-track{height:7px;background:rgba(255,255,255,.16);border-radius:20px;overflow:hidden;margin-bottom:12px}.ai-index-track i{display:block;height:100%;background:#f35c2f;border-radius:20px}.ai-index-box .button{width:100%;background:#fff;border-color:#fff;color:#083f34;margin-bottom:8px}
.ai-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px;align-items:start}.ai-sidebar-card,.ai-chat-card{background:#fff;border:1px solid var(--line,#e7ddcf);border-radius:20px;box-shadow:0 14px 34px rgba(27,49,41,.06)}
.ai-sidebar-card{padding:18px;position:sticky;top:18px}.ai-sidebar-head,.ai-chat-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.ai-sidebar-head h3,.ai-chat-head h3{margin:3px 0 0;font-size:20px}
.ai-scope-form{display:grid;gap:13px;margin-top:18px}.ai-scope-form label>span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#60726d;margin-bottom:6px}.ai-scope-form select,.ai-scope-form input[type=date]{width:100%;height:42px;border:1px solid #ddd2c2;border-radius:10px;background:#fff;padding:0 10px;font:inherit;color:#0b3029}.ai-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai-check{display:flex!important;gap:10px;align-items:flex-start;background:#f7f4ee;border:1px solid #e8dfd2;border-radius:12px;padding:12px}.ai-check input{margin-top:3px}.ai-check span{margin:0!important;text-transform:none!important;letter-spacing:0!important}.ai-check strong,.ai-check small{display:block}.ai-check strong{font-size:13px;color:#0b3029}.ai-check small{font-size:11px;font-weight:400;color:#687872;line-height:1.4;margin-top:3px}.ai-scope-summary{background:#eaf7f0;color:#0b5b49;border-radius:10px;padding:10px 12px;font-size:12px}.ai-recent{border-top:1px solid #eee5d8;margin-top:20px;padding-top:16px}.ai-recent-title{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#60726d;margin-bottom:8px}.ai-conversation-row{display:flex;align-items:center;gap:5px;border-radius:10px}.ai-conversation-row>a{display:block;flex:1;padding:9px 10px;text-decoration:none;border-radius:10px;color:#123b33}.ai-conversation-row>a strong,.ai-conversation-row>a small{display:block}.ai-conversation-row>a strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-conversation-row>a small{font-size:10px;color:#7b8883;margin-top:2px}.ai-conversation-row.is-active>a,.ai-conversation-row>a:hover{background:#eef7f2}.ai-conversation-row form button{border:0;background:transparent;color:#9a6d60;font-size:18px;cursor:pointer;padding:6px}
.ai-chat-card{min-height:680px;display:flex;flex-direction:column;overflow:hidden}.ai-chat-head{padding:18px 20px;border-bottom:1px solid #eee5d8}.ai-ready-badge{background:#e4f5eb;color:#096044;border-radius:99px;font-size:11px;font-weight:800;padding:6px 10px}.ai-messages{flex:1;min-height:460px;max-height:calc(100vh - 340px);overflow:auto;padding:22px;background:#fbfaf7}.ai-welcome{text-align:center;max-width:700px;margin:50px auto}.ai-welcome-icon{display:inline-grid;place-items:center;width:48px;height:48px;background:#f35c2f;color:#fff;border-radius:15px;font-size:22px;box-shadow:0 8px 20px rgba(243,92,47,.25)}.ai-welcome h3{font-size:24px;margin:14px 0 5px}.ai-welcome p{color:#6a7974;margin:0 0 20px}.ai-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ai-suggestions button{text-align:left;border:1px solid #e2d9cb;background:#fff;border-radius:12px;padding:13px 14px;color:#173d35;font:inherit;font-size:12px;line-height:1.4;cursor:pointer}.ai-suggestions button:hover{border-color:#0c5d4c;background:#f2faf6}
.ai-message{max-width:88%;margin-bottom:20px}.ai-message.is-user{margin-left:auto}.ai-message-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#71807b;margin:0 0 5px 5px}.ai-message-content{background:#fff;border:1px solid #e8dfd3;border-radius:16px;padding:15px 17px;color:#153a32;line-height:1.58;font-size:13px;box-shadow:0 5px 15px rgba(31,49,43,.04)}.ai-message.is-user .ai-message-content{background:#0a4b3d;color:#fff;border-color:#0a4b3d;border-bottom-right-radius:5px}.ai-message.is-assistant .ai-message-content{border-bottom-left-radius:5px}.ai-message.is-loading .ai-message-content{color:#75837e;font-style:italic}.ai-message-meta{font-size:10px;color:#788680;margin:6px 5px 0}.ai-citation{display:inline-block;color:#0b6a53;font-weight:800;text-decoration:none;background:#e8f7ef;border-radius:5px;padding:0 4px}.ai-source-list{display:grid;gap:6px;margin-top:8px}.ai-source-list a{display:grid;grid-template-columns:35px minmax(0,1fr);column-gap:8px;background:#fff;border:1px solid #e8dfd3;border-radius:10px;padding:8px 10px;text-decoration:none;color:#173d35}.ai-source-list a>span{grid-row:1/3;display:grid;place-items:center;background:#edf7f2;color:#0b624d;border-radius:7px;font-size:10px;font-weight:900}.ai-source-list a strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-source-list a small{font-size:10px;color:#72817c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-composer{border-top:1px solid #eee5d8;padding:14px 16px;background:#fff}.ai-composer textarea{width:100%;resize:vertical;min-height:78px;max-height:220px;border:1px solid #ddd2c2;border-radius:14px;padding:13px 14px;font:inherit;font-size:13px;line-height:1.45;outline:none}.ai-composer textarea:focus{border-color:#0d6551;box-shadow:0 0 0 3px rgba(13,101,81,.08)}.ai-composer-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:9px}.ai-composer-bottom span{font-size:10px;color:#7d8985}.ai-composer-bottom .button b{font-size:16px;margin-left:5px}
@media(max-width:1050px){.ai-layout{grid-template-columns:1fr}.ai-sidebar-card{position:static}.ai-intro-card{align-items:flex-start}.ai-messages{max-height:none}.ai-recent{display:none}}
@media(max-width:700px){.ai-intro-card{display:block;padding:20px}.ai-index-box{width:auto;margin-top:16px}.ai-filter-row,.ai-suggestions{grid-template-columns:1fr}.ai-message{max-width:100%}.ai-composer-bottom{align-items:flex-end}.ai-composer-bottom span{max-width:55%}}
.topbar-actions{display:flex;align-items:center;gap:8px}
@media(max-width:700px){.topbar-actions .button:not(.primary){display:none}}
.ai-floating-link{position:fixed;right:24px;bottom:22px;z-index:40;display:flex;align-items:center;gap:8px;background:#073f34;color:#fff!important;text-decoration:none;border-radius:99px;padding:10px 15px 10px 10px;font-size:12px;font-weight:800;box-shadow:0 12px 30px rgba(7,63,52,.24)}.ai-floating-link span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#f35c2f;font-size:14px}@media(max-width:700px){.ai-floating-link{right:12px;bottom:12px}.ai-floating-link{font-size:0;padding-right:10px}}
