@font-face{font-family:PulseSans;src:local("Aptos"),local("Inter"),local("Helvetica Neue");font-display:swap}
:root{--ink:#173f35;--text:#263d35;--muted:#6b7970;--bg:#f5f6f0;--paper:#fff;--line:#dce3d8;--accent:#d9ed96;--soft:#edf3e6;--warn:#a76416;--warn-bg:#fcf2df;--red:#aa423a;--red-bg:#fbece9;--blue:#355f87;--blue-bg:#edf4fb;--shadow:0 4px 22px #173f3508;--radius:13px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 PulseSans,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ink)}a{color:var(--ink);text-underline-offset:3px}a:hover{color:#4f6d32}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.15;letter-spacing:-1.05px;font-weight:650}h2{font-size:19px;line-height:1.3;letter-spacing:-.45px}h3{font-size:15px;line-height:1.4}small{font-size:12px}.muted,.hint{color:var(--muted)}.hint{font-size:12px;line-height:1.55}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:#657554}.section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.right{text-align:right}.nowrap{white-space:nowrap}.break{overflow-wrap:anywhere}.hidden{display:none!important}.skip-link{position:fixed;top:-60px;left:15px;background:var(--ink);color:white;padding:12px;z-index:100}.skip-link:focus{top:12px}.initial-loading{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:20px}.pulse-mark{display:inline-flex;width:39px;height:39px;align-items:center;justify-content:center;background:var(--ink);border-radius:11px;color:#dafa91;font-size:34px;line-height:1;font-weight:700}.brand{display:flex;gap:10px;align-items:center}.brand-name{font-size:23px;letter-spacing:-.9px;font-weight:750;line-height:1}.brand-sub{font-size:9px;letter-spacing:2.4px;text-transform:uppercase;margin-top:6px}.app-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:30px 19px 22px;background:#f0f3e9;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;width:220px;display:flex;flex-direction:column;z-index:20}.sidebar .brand{padding:0 7px 35px}.workspace-label{font-size:10px;letter-spacing:1.3px;font-weight:700;text-transform:uppercase;color:#778474;padding:0 12px 10px}.nav-list{display:flex;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 13px;text-decoration:none;color:#667466;border-radius:7px;font-size:13px;font-weight:550}.nav-item svg{width:17px;height:17px;stroke-width:1.65;flex-shrink:0}.nav-item:hover{background:#e7eddc}.nav-item.active{color:var(--ink);background:#dfe9cc;font-weight:700}.sidebar-bottom{margin-top:auto;padding:22px 10px 0}.env-chip{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:700;letter-spacing:.65px;text-transform:uppercase;color:#55704b}.dot{width:6px;height:6px;background:#649c5d;border-radius:50%;display:inline-block}.sidebar-bottom p{font-size:11px;color:#7a8778;margin-top:8px}.content-shell{grid-column:2;min-width:0}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#fbfcf7;gap:12px}.breadcrumb{font-size:12px;color:#7b8577;display:flex;align-items:center;gap:10px}.breadcrumb strong{font-weight:550;color:var(--text)}.topbar-actions{display:flex;align-items:center;gap:12px}.user-label{font-size:11px;color:var(--muted);max-width:190px;overflow:hidden;text-overflow:ellipsis}.avatar{height:29px;width:29px;border-radius:50%;background:#e7eddc;color:var(--ink);display:grid;place-items:center;font-size:10px;font-weight:700}.icon-btn{background:none;border:1px solid var(--line);border-radius:7px;padding:5px 8px;color:var(--muted);font-size:11px}.main{padding:35px 36px 45px;max-width:1680px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.page-heading .eyebrow{margin-bottom:11px}.page-heading p{color:var(--muted);font-size:13px;max-width:740px;margin-top:10px}.heading-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:7px;padding:10px 15px;font-size:12px;font-weight:650;text-decoration:none;min-height:38px;white-space:nowrap}.btn:hover{background:#285449;color:#fff}.btn.secondary{background:white;color:var(--ink);border-color:var(--line)}.btn.secondary:hover{background:var(--soft)}.btn.lime{background:var(--accent);border-color:var(--accent);color:var(--ink)}.btn.lime:hover{background:#c9e776}.btn.small{padding:6px 10px;min-height:30px;font-size:11px}.btn.quiet{border-color:transparent;background:transparent;color:var(--ink)}.btn.danger{background:white;color:var(--red);border-color:#e9c9c6}.btn svg{width:15px;height:15px}.notice{padding:13px 16px;background:var(--soft);border:1px solid #dce7cd;border-radius:8px;color:#506346;font-size:12px;display:flex;gap:10px;align-items:flex-start;margin-bottom:21px}.notice.warning{background:var(--warn-bg);color:#85612f;border-color:#edd9b6}.notice.error{background:var(--red-bg);color:var(--red);border-color:#efcbc5}.notice.info{background:var(--blue-bg);color:var(--blue);border-color:#d6e2ee}.notice svg{width:17px;height:17px;flex:none;margin-top:1px}.notice strong{font-weight:700}.notice p+p{margin-top:4px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 22px;border-bottom:1px solid var(--line)}.card-head p{font-size:12px;color:var(--muted);margin-top:4px}.card-body{padding:22px}.card+.card{margin-top:20px}.grid-2{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}.grid-equal{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-2>.card+.card,.grid-equal>.card+.card{margin-top:0}.stack{display:grid;gap:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat{padding:20px 22px;border-radius:10px;background:#fff;border:1px solid var(--line)}.stat-label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}.stat-number{font-size:31px;letter-spacing:-1px;font-weight:600;color:var(--ink);line-height:1.2;margin:11px 0 7px}.stat-detail{font-size:11px;color:#7d8779}.badge{display:inline-flex;align-items:center;white-space:nowrap;padding:3px 8px;border-radius:5px;font-size:10px;font-weight:650;background:#eef2e8;color:#5c714c;line-height:1.55}.badge.good,.badge.succeeded,.badge.complete,.badge.completed,.badge.approved,.badge.ready{background:#e7f2e4;color:#49743f}.badge.warning,.badge.pending,.badge.queued,.badge.review,.badge.draft,.badge.needs_review{background:var(--warn-bg);color:#96682c}.badge.error,.badge.failed,.badge.blocked,.badge.excluded{background:var(--red-bg);color:var(--red)}.badge.running{background:var(--blue-bg);color:var(--blue)}.badge.neutral{background:#f0f1ec;color:#707a6d}.pill{display:inline-block;font-size:10px;padding:3px 7px;background:#f2f4ed;border:1px solid #e5e9df;color:#697662;border-radius:4px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{font-size:10px;letter-spacing:.55px;text-transform:uppercase;font-weight:650;color:#7e8978;text-align:left;white-space:nowrap;padding:12px 17px;background:#fafbf7;border-bottom:1px solid var(--line)}.data-table td{padding:13px 17px;border-bottom:1px solid #edf0e8;vertical-align:top}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fcfdf9}.data-table td strong{font-weight:600}.data-table .numeric{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.data-table th.numeric{text-align:right}.data-table .muted{font-size:11px}.toolbar{display:flex;align-items:center;gap:10px;padding:15px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search{flex:1;min-width:180px;max-width:350px;position:relative}.search input{padding-left:32px}.search svg{position:absolute;top:11px;left:11px;width:14px;height:14px;color:var(--muted)}input,select,textarea{color:var(--text);background:white;border:1px solid #d9e1d3;border-radius:6px;padding:9px 10px;font-size:12px;min-width:0;max-width:100%}input:not([type=checkbox]):not([type=radio]),textarea{width:100%}select{min-height:37px}textarea{resize:vertical;min-height:90px;line-height:1.65}input[type=checkbox]{accent-color:var(--ink);width:15px;height:15px}label{font-size:11px;font-weight:600;color:#5c6f5b;display:block;margin-bottom:6px}.field+.field{margin-top:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field .hint{display:block;margin-top:6px}.input-group{display:flex;gap:8px;align-items:center}.mapping-table{min-width:900px}.mapping-table td{padding:10px 14px}.mapping-table input[type=text]{min-width:155px;font-size:11px;padding:8px}.mapping-table .unit-input{min-width:65px!important;width:88px}.mapping-table .category-input{min-width:120px!important;width:142px}.mapping-table .source-cell{min-width:190px;max-width:260px}.source-meta{display:block;color:var(--muted);font-size:10px;margin-top:3px;overflow-wrap:anywhere}.save-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#f8faf3;border-top:1px solid var(--line);border-radius:0 0 13px 13px}.save-status{font-size:11px;color:var(--muted)}.save-status.dirty{color:var(--warn)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.pagination button+button{margin-left:7px}.empty-state{text-align:center;padding:45px 25px;color:var(--muted)}.empty-state svg{width:30px;height:30px;margin-bottom:12px;color:#94a18a}.empty-state h3{color:#5b7158;margin-bottom:6px}.empty-state p{font-size:12px;max-width:420px;margin:0 auto 15px}.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:22px}.workflow-step{padding:17px;background:#f7f9f2;border:1px solid #e5eadc;border-radius:8px;min-width:0}.step-number{font-size:10px;font-weight:700;color:#8b9b7c}.workflow-step h3{font-size:13px;margin:9px 0 6px}.workflow-step p{font-size:11px;color:#7d8973;line-height:1.55;margin-bottom:12px}.workflow-step a{font-size:11px;font-weight:650}.issue-list{padding:6px 22px 13px}.issue{display:flex;gap:11px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #edf0e8}.issue:last-child{border:0}.issue p{font-size:12px;line-height:1.55}.issue .badge{margin-top:2px}.issue-meta{font-size:10px;color:var(--muted);margin-top:3px}.source-link{display:inline-flex;gap:5px;align-items:center;font-weight:600}.source-link svg{width:12px;height:12px}.coverage-list{display:grid;gap:15px}.coverage-row{display:grid;grid-template-columns:110px 1fr 36px;gap:15px;align-items:center;font-size:11px}.coverage-bar{height:7px;background:#edf1e6;border-radius:4px;overflow:hidden}.coverage-bar span{height:100%;background:#8ca969;display:block;border-radius:4px}.run-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.run-card{padding:23px;border:1px solid var(--line);background:white;border-radius:12px;display:flex;flex-direction:column;min-width:0}.run-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.run-card .eyebrow{letter-spacing:1.2px;font-size:9px}.run-card h2{font-size:19px;margin-top:6px}.run-card p{font-size:12px;color:var(--muted);line-height:1.7;flex:1;margin-bottom:17px;max-width:500px}.run-meta{display:flex;gap:8px;margin-bottom:19px;flex-wrap:wrap}.run-card .btn{align-self:flex-start}.run-card .hint{margin-top:9px;margin-bottom:0}.run-number{height:36px;width:36px;display:grid;place-items:center;border-radius:50%;background:#f0f4e7;color:#7b9166;font-family:Georgia,serif;font-size:20px;flex:none}.experiment-context{display:flex;gap:15px;align-items:center;margin-bottom:20px;background:#eef3e5;border:1px solid #dfe7d3;padding:14px 18px;border-radius:8px;flex-wrap:wrap}.experiment-context label{margin-bottom:4px;font-size:10px}.experiment-context select,.experiment-context input{min-height:33px;padding:6px 9px;max-width:210px}.experiment-context .context-info{margin-left:auto;font-size:11px;color:var(--muted)}.logbox{padding:17px;background:#173c32;color:#d6e5d5;border-radius:8px;font:11px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow:auto;max-height:320px;word-break:break-word}.result-table{max-height:450px;overflow:auto}.artifact-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.review-layout{display:grid;grid-template-columns:minmax(350px,.92fr) minmax(390px,1.08fr);gap:22px}.review-editor .card-body{padding:19px}.review-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.review-time{font-variant-numeric:tabular-nums;font-size:12px;color:var(--muted)}.report-preview{background:#fff;border:1px solid var(--line);border-radius:11px;padding:30px;position:sticky;top:20px;align-self:start;box-shadow:var(--shadow)}.report-preview .brand{transform:scale(.83);transform-origin:left}.report-preview .report-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:23px}.report-preview .report-title{font-size:25px;line-height:1.25;font-weight:600;letter-spacing:-.8px;margin-top:9px}.report-preview .report-section{margin-top:25px}.report-preview .report-section h3{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#7c8e6a;margin-bottom:9px}.report-preview .report-section p,.report-preview li{font-size:12px;line-height:1.8;white-space:pre-wrap}.one-thing{padding:20px;background:#edf3e1;border:1px solid #dfe7ce;border-radius:8px;margin-top:24px}.one-thing h3{font-size:18px;letter-spacing:-.4px;margin:6px 0 9px}.one-thing p{font-size:12px;line-height:1.8;white-space:pre-wrap}.one-thing .report-action{border-top:1px solid #d7e1c8;padding-top:11px;margin-top:11px;font-weight:600}.report-footer{padding-top:20px;margin-top:27px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.candidate{display:block;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:#fafbf6;margin-bottom:8px;cursor:pointer;text-align:left;width:100%;font-size:12px;color:var(--ink)}.candidate span{font-size:11px;font-weight:400;color:var(--muted);display:block;margin-top:3px}.tile-editor{display:grid;grid-template-columns:1fr 100px;gap:10px;align-items:end;margin-bottom:10px}.report-tiles{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.report-tile{border:1px solid var(--line);padding:10px 12px;flex:1;border-radius:6px;font-size:11px}.report-tile strong{display:block;margin-top:5px}.report-tile p{font-size:11px;margin-top:5px;white-space:pre-wrap}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;min-height:220px;tab-size:2}.inline-links{display:flex;gap:14px;flex-wrap:wrap;font-size:12px}.upload-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:15px}.upload-drop{border:1px dashed #a9ba98;border-radius:8px;padding:23px;background:#fafcf6;margin-bottom:18px}.upload-drop label{font-size:13px;color:var(--ink);margin-bottom:10px}.upload-drop input{padding:7px;background:white}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.dialog-heading h2{overflow-wrap:anywhere}dialog{width:min(960px,calc(100% - 30px));border:1px solid var(--line);border-radius:14px;padding:27px;max-height:88vh;color:var(--text);box-shadow:0 25px 100px #0002}dialog::backdrop{background:#18372b66;backdrop-filter:blur(3px)}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:17px 0 23px}.detail-grid div{background:#f5f8ef;padding:12px;border-radius:6px;overflow-wrap:anywhere}.detail-grid small{display:block;font-size:10px;color:var(--muted);margin-bottom:4px}.json-preview{white-space:pre-wrap;word-break:break-word;font-size:11px;background:#f6f8f2;border-radius:7px;padding:16px;max-height:360px;overflow:auto}.toast-region{position:fixed;bottom:23px;right:24px;display:flex;flex-direction:column;gap:10px;max-width:420px;z-index:200}.toast{background:var(--ink);color:#f4faee;border-radius:9px;padding:14px 19px;font-size:12px;box-shadow:0 8px 40px #0002;animation:toast-in .15s ease-out}.toast.error{background:#9a3f38}.toast button{border:0;background:none;color:inherit;margin-left:12px;padding:1px 5px;float:right}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-story{background:#173f35;color:#edf5e4;padding:55px 9%;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story .pulse-mark{background:#d9ed96;color:#173f35}.login-story .brand-sub{color:#bdd1b4}.login-story h1{font-family:Georgia,serif;font-size:59px;line-height:1.08;letter-spacing:-2.4px;font-weight:400;max-width:520px}.login-story h1 em{color:#d9ed96;font-weight:400}.login-story p{font-size:14px;color:#b5c9b4;margin-top:22px;max-width:380px;line-height:1.8}.login-story footer{font-size:11px;color:#92ae96;margin-top:60px}.login-form-area{display:grid;align-content:center;padding:55px 17%;background:#f6f8f0}.login-form-area h2{font-size:27px;letter-spacing:-.7px;margin:12px 0}.login-form-area .muted{font-size:13px;margin-bottom:27px}.login-form-area .btn{width:100%;margin-top:25px}.login-form-area input{padding:12px;font-size:14px}.login-form-area .hint{margin-top:18px}.login-error{margin-top:17px;color:var(--red);font-size:12px;min-height:18px}.mobile-toggle{display:none}.footer-note{color:#8a9482;font-size:10px;margin-top:25px}.no-margin{margin:0!important}.spacer-16{height:16px}.selected-row{background:#f2f7e8!important}.subtle-divider{height:1px;background:var(--line);margin:18px 0}.check-label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:400}.review-section-title{display:flex;align-items:center;justify-content:space-between}.goal-list{display:flex;gap:6px;flex-wrap:wrap}.loading-inline{padding:20px;color:var(--muted);font-size:12px}.value-missing{color:#a3aca0}.inline-error{color:var(--red);font-size:12px;padding:10px 0}.field-warning{color:var(--warn);font-size:10px;margin-top:4px}.result-summary{margin-top:20px}.result-summary p{font-size:12px;color:var(--muted);margin-top:8px}.readonly-meta{font-size:10px;line-height:1.65;color:#7b8874}.state-note{font-size:12px;color:var(--muted);padding:12px 0}.filters-label{font-size:11px;color:var(--muted)}.field-inline{margin:0!important}.overflow-ellipsis{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-saved{font-size:11px;color:var(--muted)}.mapping-count{font-size:11px;color:var(--muted);margin-left:auto}
.icon-btn svg{display:block;width:16px;height:16px}.review-time svg{width:14px;height:14px;vertical-align:-3px;margin-right:5px}.grid-2+.card,.grid-equal+.card{margin-top:20px}.card+.notice{margin-top:20px}.badge.submission_unknown{background:var(--red-bg);color:var(--red)}
.jev-goal{margin-top:24px}.jev-table{min-width:740px}.jev-table td:nth-child(2){min-width:240px;max-width:350px}.jev-table td:last-child{min-width:210px}.jev-table .source-meta{white-space:normal;overflow-wrap:anywhere}.jev-table tr.jev-blocked{background:#fff8f5}.jev-table tr.jev-blocked:hover{background:#fff1ea}
@keyframes toast-in{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(min-width:1500px){.main{padding:40px 48px}.topbar{padding:0 48px}.app-shell{grid-template-columns:235px 1fr}.sidebar{width:235px}}
@media(max-width:1150px){.main{padding:27px 23px}.topbar{padding:0 23px}.app-shell{grid-template-columns:190px 1fr}.sidebar{width:190px;padding:25px 13px}.stats{gap:10px}.stat{padding:17px}.stat-number{font-size:26px}.grid-2,.review-layout{grid-template-columns:1fr}.report-preview{position:static}.workflow{grid-template-columns:repeat(2,1fr)}.review-layout .report-preview{max-width:800px}.login-form-area{padding:40px 12%}.login-story h1{font-size:47px}.user-label{max-width:130px}}
@media(max-width:800px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:10px 0 80px #0003}.content-shell{grid-column:auto}.mobile-toggle{display:inline-flex}.topbar{height:61px;padding:0 18px}.topbar-actions{gap:8px}.user-label{display:none}.main{padding:25px 18px}h1{font-size:27px}.page-heading{display:block}.heading-actions{margin-top:13px}.stats{grid-template-columns:repeat(2,1fr)}.grid-equal,.grid-2,.run-grid{grid-template-columns:1fr}.review-layout{display:block}.report-preview{margin-top:20px;padding:24px}.login-page{grid-template-columns:1fr}.login-story{padding:35px 28px}.login-story h1{font-size:36px;margin-top:40px;max-width:390px}.login-story p,.login-story footer{display:none}.login-form-area{padding:38px 28px}.login-form-area form{max-width:440px;width:100%;margin:auto}.upload-grid{grid-template-columns:1fr}.experiment-context .context-info{margin-left:0}.toolbar{padding:13px}.toolbar select{max-width:180px}.card-head,.card-body{padding:18px}.data-table td,.data-table th{padding:11px 13px}.toast-region{right:15px;left:15px;max-width:none}.review-layout{min-width:0}.workflow{padding:17px}.detail-grid{grid-template-columns:1fr 1fr}.breadcrumb .hide-small{display:none}}
@media(max-width:480px){.stats{gap:8px}.stat{padding:15px}.stat-number{font-size:24px}.stat-detail{font-size:10px}.workflow{grid-template-columns:1fr 1fr;gap:8px}.workflow-step{padding:12px}.workflow-step h3{font-size:12px}.form-row{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.review-toolbar{flex-wrap:wrap}.search{max-width:none}.topbar-actions .avatar{display:none}.pagination{padding:12px}.save-bar{align-items:flex-start;flex-direction:column}.heading-actions .btn{flex:1}.report-top{flex-wrap:wrap;gap:10px}.review-layout .report-preview{padding:19px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.sidebar,.topbar,.page-heading,.review-editor,.toast-region,.footer-note{display:none!important}.app-shell,.content-shell,.review-layout{display:block}.main{padding:0}.report-preview{border:0;box-shadow:none;position:static}.report-preview p{break-inside:avoid}.report-section{break-inside:avoid}body{background:white}}
/* Everyday work stays organized by sector and client; research is separate. */
.nav-button{border:0;background:none;width:100%;text-align:left;font-family:inherit;cursor:pointer}.sidebar-client{font-size:12px;font-weight:650;padding:0 10px 12px;overflow-wrap:anywhere}.sidebar-client small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}.advanced-nav>summary{font-size:11px;color:var(--muted);padding:10px;cursor:pointer}.advanced-nav .advanced-nav{margin-left:10px}.sector-group{margin-bottom:20px}.client-grid{padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.client-card{display:flex;flex-direction:column;gap:7px;background:#fafcf6;border:1px solid var(--line);border-radius:9px;padding:19px;text-align:left;color:var(--ink);min-height:118px;cursor:pointer;min-width:0}.client-card:hover{background:#edf4e1;border-color:#a6b58f}.client-card strong{font-size:15px;overflow-wrap:anywhere}.client-card span{font-size:11px;color:var(--muted)}.client-card .client-card-link{color:var(--ink);margin-top:auto;padding-top:8px;font-weight:600}.research-shortcut{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 2px;margin-top:15px;border-top:1px solid var(--line)}.research-shortcut p{font-size:12px;color:var(--muted);margin-top:6px}.client-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:23px}.client-steps>a{border:1px solid var(--line);border-radius:9px;padding:17px;background:#fff;text-decoration:none;display:grid;grid-template-columns:28px 1fr;gap:4px 10px}.client-steps>a:hover{background:#f2f7e8}.client-steps span{grid-row:span 2;border-radius:50%;width:24px;height:24px;background:#eaf1df;font-size:11px;display:grid;place-items:center}.client-steps strong{font-size:13px}.client-steps small{font-size:11px;color:var(--muted)}.run-panel{margin-bottom:24px}.run-main-fields{display:flex;align-items:center;gap:26px}.run-main-fields>.field{width:150px;flex:none}.run-readiness{font-size:12px;color:var(--muted);max-width:650px}.run-readiness strong{font-weight:600;color:var(--ink)}.run-readiness p{margin-top:5px}.known-changes,.run-advanced{margin-top:18px;font-size:12px}.known-changes>summary,.run-advanced>summary{cursor:pointer;color:var(--ink);font-weight:600}.known-changes>.field,.run-advanced>.field{margin-top:14px}.run-panel-actions{display:flex;align-items:center;gap:14px;margin-top:24px;flex-wrap:wrap}.library-scope{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.library-scope select{margin-left:8px}.analysis-components{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.analysis-component{border:1px solid var(--line);border-radius:8px;padding:14px;font-size:12px}.analysis-component h4{margin:0 0 8px}.analysis-component p{margin-top:7px}.forecast-chart{width:100%;height:auto;margin:15px 0}.forecast-chart text{fill:var(--muted);font-family:inherit;font-size:10px}.kpi-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-line{display:flex;gap:8px;align-items:flex-start;font-size:12px;font-weight:400}.checkbox-line input{margin-top:2px;flex:none}.context-note{white-space:pre-wrap;overflow-wrap:anywhere;padding:14px;background:#f5f8ef;border-radius:7px;font-size:12px}.run-result-section{margin-top:20px}.run-result-section h3{margin-bottom:10px}.result-table .data-table{min-width:620px}
@media(max-width:800px){.research-shortcut{align-items:flex-start;flex-direction:column}.client-steps{gap:8px}.client-steps>a{display:flex;flex-direction:column;padding:12px}.client-steps strong{font-size:12px}.client-steps small{font-size:10px}.run-main-fields{align-items:flex-start;gap:16px}.run-main-fields>.field{width:95px}.analysis-components{grid-template-columns:1fr}.kpi-inputs{grid-template-columns:1fr}.library-scope select{margin-left:0;max-width:100%}}
.forecast-target{padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.forecast-target h4{font-size:14px;margin-bottom:10px}.forecast-target .result-table{margin-bottom:12px}
.profile-advanced>summary{padding:18px 22px;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink)}.profile-advanced[open]>summary{border-bottom:1px solid var(--line)}.study-limitations{font-size:12px;color:var(--muted);padding-left:20px;margin-top:12px}.study-limitations li+li{margin-top:7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Client work has one visible path. Supporting tools stay quieter than the next action. */
:root{--bg:#f5f7f3;--line:#dfe5dd;--muted:#627267;--shadow:0 2px 8px #173f3503;--radius:12px}
.app-shell{grid-template-columns:236px minmax(0,1fr)}
.sidebar{width:236px;padding:28px 16px 20px;background:#fff}
.sidebar .brand{padding:0 12px 30px;flex-shrink:0}
.sidebar .nav-list{overflow-y:auto;min-height:0;padding-bottom:10px;gap:3px}
.sidebar .workspace-label{padding-top:20px;padding-bottom:8px;font-size:9px;letter-spacing:1.3px}
.sidebar-client{padding:0 12px 14px;font-size:13px;line-height:1.5}
.sidebar-client small{font-size:11px;margin-top:4px}
.nav-item{min-height:42px;padding:10px 12px;color:#5c6e62;border-radius:7px;font-weight:500;gap:10px}
.nav-item:hover{background:#f3f6ef}
.nav-item.active{background:#edf3e3;color:#173f35;font-weight:650}
.nav-item.active svg{color:#355b43}
.nav-item .nav-step-number{width:19px;height:19px;border:1px solid #d4ddd0;border-radius:50%;font-size:10px;display:inline-grid;place-items:center;flex:none}
.nav-item.active .nav-step-number{color:#fff;background:var(--ink);border-color:var(--ink)}
.sidebar .subtle-divider{margin:18px 12px 9px}
.advanced-nav>summary{padding:12px;font-size:12px;color:#68766c}
.advanced-nav .nav-item{padding-left:22px;font-size:12px}
.advanced-nav .advanced-nav{margin-left:9px}
.sidebar-bottom{padding:17px 12px 0;border-top:1px solid #edf0e9;flex-shrink:0}
.sidebar-bottom .env-chip{font-size:9px;letter-spacing:.7px}
.sidebar-bottom p{font-size:10px;line-height:1.7}
.topbar{background:#fff;height:66px;padding:0 36px}
.main{padding:28px 36px 48px;max-width:1510px}
.page-heading{margin-bottom:25px}
.page-heading h1{font-size:30px;letter-spacing:-.8px}
.page-heading p{line-height:1.65;max-width:710px}
.page-heading .eyebrow{margin-bottom:9px}
.heading-actions{padding-top:3px}
.workspace-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:#7b867c;margin-bottom:23px;line-height:1.6}
.workspace-breadcrumb a{color:#617362;text-decoration:none}
.workspace-breadcrumb a:hover{text-decoration:underline;color:var(--ink)}
.workspace-breadcrumb strong{font-weight:550;color:var(--text);overflow-wrap:anywhere}
.workspace-breadcrumb svg{width:12px;height:12px;color:#9ba698;flex:none}

.workflow-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 27px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.workflow-nav .workflow-step{position:relative;display:flex;align-items:center;gap:11px;margin:0;padding:17px 16px;min-width:0;min-height:82px;border:0;border-right:1px solid #e7ece2;border-radius:0;background:transparent;text-decoration:none;color:var(--text);text-align:left;box-shadow:none;transition:background .15s ease}
.workflow-nav .workflow-step:last-child{border-right:0}
.workflow-nav .workflow-step:hover{background:#f8faf5;color:var(--ink)}
.workflow-nav .workflow-step.active{background:#f0f5e8;color:var(--ink)}
.workflow-nav .workflow-step.active::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:#577945}
.workflow-nav .step-number{display:grid;place-items:center;width:29px;height:29px;flex:none;border:1px solid #dce4d7;border-radius:50%;background:#fafcf8;color:#7c8974;font-size:12px;font-weight:650;line-height:1}
.workflow-nav .complete .step-number{background:#e8f1df;border-color:#e8f1df;color:#4e7145}
.workflow-nav .active .step-number{background:var(--ink);border-color:var(--ink);color:#fff}
.workflow-nav .step-number svg{width:15px;height:15px}
.workflow-nav .step-copy{display:block;min-width:0}
.workflow-nav .step-label{display:block;font-size:12px;font-weight:650;line-height:1.45;color:inherit}
.workflow-nav .step-caption{display:block;margin-top:4px;font-size:10px;color:#75806e;font-weight:400;line-height:1.5}
.workflow-nav .workflow-step:focus-visible{outline-offset:-4px;border-radius:5px}

.workflow-guide{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:23px 25px;margin:0 0 24px;background:#eef4e5;border:1px solid #dce6ce;border-radius:11px}
.workflow-guide-copy{max-width:680px;min-width:0}
.workflow-guide .eyebrow{font-size:9px;letter-spacing:1.5px;color:#6b7d58;margin-bottom:7px}
.workflow-guide h2,.workflow-guide h3{font-size:20px;font-weight:600;letter-spacing:-.4px;line-height:1.35;color:var(--ink)}
.workflow-guide p{margin-top:7px;font-size:12px;line-height:1.65;color:#607157}
.workflow-guide-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;flex-shrink:0}
.workflow-guide-actions .btn{min-height:41px}
.workflow-guide .notice{margin:12px 0 0;background:#f8faf4}
.workflow-guide .btn.secondary{background:transparent;border-color:#cbd9bf}
.workflow-guide .btn.secondary:hover{background:#e4edd8}
.workflow-guide+.card{margin-top:0}

.sector-group{margin-bottom:22px;box-shadow:none}
.sector-group .card-head{padding:20px 23px;background:#fff;border-radius:12px 12px 0 0}
.sector-group .card-head h2{font-size:17px}
.sector-group .card-head p{font-size:11px;margin-top:4px}
.client-grid{padding:18px 22px 22px;gap:14px;grid-template-columns:repeat(auto-fill,minmax(245px,1fr))}
.client-card{background:#fafcf8;min-height:139px;padding:20px;border-color:#e1e8dc;border-radius:9px;gap:8px;transition:background .15s ease,border-color .15s ease}
.client-card:hover{background:#f0f5e9;border-color:#b3c5a0}
.client-card strong{font-size:15px;font-weight:650;line-height:1.45}
.client-card .client-card-link{font-size:11px;padding-top:14px;color:#345d43}
.research-shortcut{padding:23px 24px;background:transparent;border:1px dashed #cdd8c7;border-radius:10px;margin-top:28px;gap:24px}
.research-shortcut h2{font-size:16px;letter-spacing:-.2px}
.research-shortcut p{max-width:720px;line-height:1.65}
.research-shortcut .btn{flex-shrink:0}
.card-head h2{font-size:17px}
.card-head .btn{flex-shrink:0}
.card-head p{line-height:1.6}
.card-head{padding:20px 23px}
.card-body{padding:23px}
.btn{min-height:40px;border-radius:7px;font-size:12px;padding:10px 16px}
.btn.small{min-height:32px;padding:6px 11px}
.notice{line-height:1.65}
.empty-state{padding:45px 25px}
.empty-state h3{font-size:16px;color:var(--ink)}
.empty-state p{line-height:1.7;margin-top:7px}

.analysis-setup{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.85fr);gap:23px;align-items:start;margin-bottom:24px}
.analysis-setup>.card+.card{margin-top:0}
.analysis-setup .run-panel{margin:0}
.run-summary{background:#fff;border:1px solid var(--line);border-radius:11px;padding:23px;min-width:0}
.run-summary.card{padding:0}
.run-summary h2{font-size:16px;margin-bottom:17px}
.run-summary h3{font-size:13px;margin:20px 0 8px}
.run-summary h3:first-child{margin-top:0}
.run-summary p{font-size:12px;line-height:1.7;color:var(--muted)}
.run-summary p+p{margin-top:12px}
.run-summary ul{padding:0 0 0 17px;margin:12px 0;font-size:12px;line-height:1.7;color:var(--muted)}
.run-summary li+li{margin-top:8px}
.run-summary dl{margin:0}
.run-summary dl>div{padding:12px 0;border-bottom:1px solid #edf0e9}
.run-summary dl>div:first-child{padding-top:0}
.run-summary dl>div:last-child{border-bottom:0}
.run-summary dt{font-size:11px;color:var(--muted)}
.run-summary dd{font-size:13px;font-weight:600;margin:4px 0 0;color:var(--ink);overflow-wrap:anywhere}
.run-summary .hint{font-size:11px;margin-top:13px}
.run-summary .btn{margin-top:15px}
.run-main-fields{align-items:flex-start;gap:22px}
.run-main-fields>.field{width:130px}
.run-main-fields input{font-size:20px;font-weight:550;min-height:48px;padding:9px 13px}
.run-readiness{padding-top:3px;line-height:1.65}
.run-readiness strong{font-size:12px}
.known-changes,.run-advanced{padding-top:18px;border-top:1px solid #e9eee4;margin-top:21px}
.known-changes>summary,.run-advanced>summary{font-size:12px;padding:2px 0}
.known-changes textarea{min-height:108px}
.run-panel-actions{padding-top:21px;border-top:1px solid #e9eee4;margin-top:23px;align-items:flex-start}
.run-panel-actions>.hint{max-width:320px;line-height:1.65;flex:1;min-width:140px}
.run-panel-actions .btn{min-height:43px;padding:11px 18px}
.run-panel .card-body>.notice{margin:18px 0 0}
.run-result-section{margin-top:24px}
.result-summary p{line-height:1.7}
.analysis-component{padding:16px;background:#fafcf8}
.data-table th{font-size:10px;color:#707e6b;background:#f9fbf6}
.data-table td{line-height:1.65}
.save-bar{gap:16px}
.footer-note{font-size:10px;line-height:1.65;margin-top:31px}

@media(min-width:1600px){
  .main{padding:34px 46px 50px}
  .topbar{padding:0 46px}
  .workflow-nav .workflow-step{padding:19px 22px;gap:13px}
  .workflow-nav .step-label{font-size:13px}
  .workflow-nav .step-caption{font-size:11px}
}
@media(max-width:1180px){
  .app-shell{grid-template-columns:210px minmax(0,1fr)}
  .sidebar{width:210px;padding:25px 12px 18px}
  .main{padding:27px 25px 40px}
  .topbar{padding:0 25px}
  .workflow-nav .workflow-step{padding:15px 11px;gap:8px}
  .workflow-nav .step-number{width:25px;height:25px;font-size:11px}
  .workflow-nav .step-label{font-size:11px}
  .workflow-nav .step-caption{font-size:9px}
  .workflow-guide{gap:19px;padding:21px}
  .workflow-guide-actions{flex-shrink:1}
  .analysis-setup{grid-template-columns:minmax(0,1.4fr) minmax(230px,.8fr);gap:18px}
  .analysis-setup .card-body,.run-summary{padding:20px}
  .analysis-setup .run-summary.card{padding:0}
  .run-main-fields{flex-wrap:wrap;gap:15px}
  .run-main-fields>.field{width:130px}
  .run-readiness{flex-basis:100%}
}
@media(max-width:960px){
  .analysis-setup{grid-template-columns:1fr}
  .workflow-guide{align-items:flex-start;flex-direction:column;gap:17px}
  .workflow-guide-actions{width:100%}
  .workflow-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow-nav .workflow-step{padding:14px 17px;min-height:75px}
  .workflow-nav .workflow-step:nth-child(2){border-right:0}
  .workflow-nav .workflow-step:nth-child(-n+2){border-bottom:1px solid #e7ece2}
  .workflow-nav .step-label{font-size:12px}
  .workflow-nav .step-caption{font-size:10px}
}
@media(max-width:800px){
  .app-shell{display:block}
  .sidebar{width:250px;padding:26px 17px 20px}
  .main{padding:23px 18px 38px}
  .topbar{height:61px;padding:0 18px}
  .page-heading h1{font-size:27px}
  .page-heading p{font-size:12px}
  .workspace-breadcrumb{margin-bottom:19px;font-size:11px;gap:6px}
  .workflow-nav{margin-bottom:24px}
  .workflow-nav .workflow-step{min-height:72px;padding:13px 15px;gap:10px}
  .workflow-nav .step-number{width:27px;height:27px}
  .workflow-guide{padding:20px;margin-bottom:22px}
  .workflow-guide h2,.workflow-guide h3{font-size:19px}
  .workflow-guide-actions .btn{min-height:42px}
  .client-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));padding:17px}
  .sector-group .card-head{padding:18px}
  .client-card{padding:19px;min-height:128px}
  .research-shortcut{padding:20px;gap:16px}
  .card-head,.card-body{padding:18px}
  .card-head{align-items:flex-start;gap:13px;flex-wrap:wrap}
  .card-head h2{font-size:16px}
  .run-summary,.analysis-setup .card-body{padding:20px}
  .run-main-fields{flex-wrap:nowrap}
  .run-main-fields>.field{width:110px}
  .run-readiness{flex-basis:auto}
  .btn{min-height:42px}
  .icon-btn{min-height:32px}
  .library-scope .btn{min-height:38px}
  .run-summary.card{padding:0}
  .footer-note{margin-top:25px}
}
@media(max-width:480px){
  .main{padding:20px 15px 34px}
  .topbar{padding:0 15px}
  .page-heading{margin-bottom:22px}
  .page-heading h1{font-size:25px}
  .page-heading p{font-size:12px;line-height:1.7}
  .workspace-breadcrumb{font-size:10px;gap:5px;margin-bottom:17px}
  .workflow-nav{margin-bottom:22px}
  .workflow-nav .workflow-step{gap:8px;padding:12px 10px;min-height:75px;align-items:flex-start}
  .workflow-nav .step-number{width:23px;height:23px;font-size:10px;margin-top:1px}
  .workflow-nav .step-label{font-size:11px;line-height:1.5}
  .workflow-nav .step-caption{font-size:9px;margin-top:3px}
  .workflow-guide{padding:18px;gap:16px}
  .workflow-guide h2,.workflow-guide h3{font-size:18px}
  .workflow-guide-actions{gap:8px;flex-wrap:wrap}
  .workflow-guide-actions .btn{flex:1;white-space:normal;text-align:center}
  .client-grid{grid-template-columns:1fr;padding:15px}
  .client-card{min-height:120px}
  .sector-group .card-head{padding:17px 16px}
  .research-shortcut{padding:19px}
  .run-main-fields{flex-wrap:wrap;gap:15px}
  .run-main-fields>.field{width:120px}
  .run-readiness{flex-basis:100%}
  .run-panel-actions{gap:13px}
  .run-panel-actions .btn{width:100%}
  .run-panel-actions>.hint{max-width:none;flex-basis:100%}
  .card-head .btn{white-space:normal}
  .analysis-setup{gap:17px}
  .analysis-setup .card-body,.run-summary{padding:18px}
  .save-bar .btn{min-height:40px}
}
@media print{
  .workspace-breadcrumb,.workflow-nav,.workflow-guide{display:none!important}
}

/* Compact supporting cards and readable run identifiers. */
.client-steps>a:not(:has(>span)){display:flex;flex-direction:column;gap:6px}
.run-identifiers{margin-top:6px;color:var(--muted);font-size:10px}
.run-identifiers>summary{cursor:pointer}
.card+.workflow-guide{margin-top:24px}

/* Run history becomes compact, readable cards on phones. */
@media(max-width:700px){
  .runs-table,.runs-table tbody{display:block}
  .runs-table thead{display:none}
  .runs-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:16px;border-bottom:1px solid var(--line)}
  .runs-table tbody tr:last-child{border-bottom:0}
  .runs-table td{display:block;min-width:0;padding:0;border:0;white-space:normal;overflow-wrap:anywhere}
  .runs-table td:nth-child(1){grid-column:1;grid-row:1}
  .runs-table td:nth-child(4){grid-column:2;grid-row:1;text-align:right}
  .runs-table td:nth-child(2){grid-column:1;grid-row:2;color:var(--muted);font-size:11px}
  .runs-table td:nth-child(3){grid-column:2;grid-row:2;color:var(--muted);font-size:11px;text-align:right}
  .runs-table td:nth-child(3)::before{content:"Mapping "}
  .runs-table td:nth-child(5){grid-column:1/-1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:3px 0;color:var(--muted)}
  .runs-table td:nth-child(6){grid-column:1/-1}
  .runs-table td:nth-child(6) .btn{width:100%;min-height:38px}
}
