:root{--ink:#173043;--muted:#526473;--line:#d5dfe4;--teal:#007f7b;--red:#b42318;--nav:#103248;--paper:#fff;--bg:#f2f5f7}*{box-sizing:border-box;letter-spacing:0}body{margin:0;font:14px/1.45 'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;background:white;border:1px solid #bfcdd5;border-radius:5px;color:var(--ink);padding:8px 12px;min-height:36px}button:hover{background:#e7f3f2}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--teal);color:white;border-color:var(--teal)}button.danger{color:var(--red)}input,select,textarea{border:1px solid #bfcdd5;border-radius:4px;padding:8px;max-width:100%;min-width:0;background:white;color:var(--ink)}input[type=checkbox]{accent-color:var(--teal)}select[multiple]{min-height:105px}textarea{min-height:90px;resize:vertical}label{display:grid;gap:5px;font-size:12px;font-weight:600;min-width:0}.inline{display:flex;align-items:center;gap:8px}.inline input{width:auto}h1{font-size:23px;margin:0}h2{font-size:19px;margin:0 0 14px}h3{font-size:15px;margin:0 0 10px}p{margin:5px 0 14px}.muted,small{color:var(--muted)}.shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:white;padding:22px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:16px}.logo{width:174px;height:auto;background:white;padding:8px;border-radius:4px}.sidebar h1{font-size:22px}.sidebar small{color:#cbdae4}.sidebar nav{display:grid;gap:5px}.sidebar nav button{border:0;text-align:left;color:#dae7ef;background:transparent}.sidebar nav button.active{color:#103248;background:#fff;font-weight:600}.sidebar .account{margin-top:auto;overflow-wrap:anywhere}.main{min-width:0}.topbar{background:white;border-bottom:1px solid var(--line);padding:16px 26px;display:flex;gap:18px;align-items:end;flex-wrap:wrap}.topbar label{width:230px;max-width:100%}.content{padding:24px 26px}.heading{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:18px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.band{padding:20px 0;border-top:1px solid var(--line)}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;align-items:start}.fields .wide{grid-column:1/-1}.metrics{display:flex;gap:0;border-block:1px solid var(--line);margin:15px 0 20px;flex-wrap:wrap;background:white}.metric{padding:16px 22px;flex:1;min-width:130px;border-right:1px solid var(--line)}.metric strong{font-size:24px;display:block}.metric span{font-size:12px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:5px;max-width:100%}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:10px 12px;border-bottom:1px solid #e0e7eb;text-align:left;vertical-align:top;overflow-wrap:anywhere;min-width:95px;max-width:360px}th{color:#425969;background:#f3f7f9;font-size:11px;text-transform:uppercase;position:sticky;top:0}td:first-child,th:first-child{min-width:35px}td.actions{min-width:150px}.badge{display:inline-block;border-radius:4px;padding:3px 6px;font-size:11px;background:#e7edf1;white-space:normal}.badge.CONFIRMED_EXCEPTION{background:#fde7e3;color:#992419}.badge.REVIEW_REQUIRED{background:#fff1d0;color:#805c00}.badge.CHECK_BLOCKED,.badge.UNABLE_TO_ASSESS{background:#e9e5f0;color:#56416e}.badge.PASSED{background:#e0f3e9;color:#12633c}.empty{padding:34px;text-align:center;color:var(--muted);border:1px dashed #bacbd4}.check{border-bottom:1px solid var(--line);padding:16px 0}.check summary{cursor:pointer;font-weight:600;display:flex;align-items:center;gap:10px;padding:8px 0}.check .fields{padding:15px 0 6px}.note{padding:10px 12px;background:#e7f3f2;border-left:3px solid var(--teal);margin:12px 0}.job{padding:12px;background:#e7f3f2;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.job progress{width:200px}.filters{margin-bottom:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.filters label{max-width:280px}.auth{max-width:440px;margin:8vh auto;background:white;border:1px solid var(--line);border-radius:6px;padding:30px}.auth form{display:grid;gap:16px}.auth .logo{margin-bottom:12px}.auth h1{margin-bottom:22px}.error{color:var(--red)}#toast{position:fixed;bottom:20px;right:20px;max-width:min(500px,90vw);background:#173043;color:white;padding:14px 20px;border-radius:5px;display:none;z-index:1000}dialog{border:1px solid var(--line);border-radius:7px;width:min(850px,94vw);max-height:90vh;padding:24px;overflow:auto}dialog::backdrop{background:#102c4266}dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.assistant{position:fixed;right:24px;bottom:18px;width:390px;max-width:calc(100vw - 30px);z-index:30;border:1px solid #b3c9d4;border-radius:7px;background:white;box-shadow:0 7px 25px #12304420}.assistant>summary{padding:12px;background:var(--nav);color:white;cursor:pointer;font-weight:600;border-radius:6px}.assistant-body{padding:14px}.chat-log{max-height:310px;overflow:auto;white-space:pre-wrap;font-size:12px;margin-bottom:12px}.chat-log p{padding:8px;background:#f0f5f7;overflow-wrap:anywhere}.chart{height:90px;display:flex;gap:12px;align-items:end;padding:8px 0}.chart .bar{background:#11918a;min-width:35px;width:65px;position:relative;min-height:3px}.chart .bar.warn{background:#d89a38}.chart small{position:absolute;top:-22px;color:var(--ink);width:100%;text-align:center}.network{overflow:auto;padding:20px 0}.network-row{display:flex;gap:8px;align-items:center;margin:10px 0;min-width:max-content}.node{width:180px;padding:12px;border:1px solid #6bb4ac;border-radius:5px;background:#eef8f5;overflow-wrap:anywhere;min-height:75px}.node.broken{border:2px solid #d84435;background:#fff0eb}.node b{display:block}.edge{min-width:60px;height:3px;background:var(--teal);position:relative}.edge:after{content:'';position:absolute;right:0;top:-4px;border-left:9px solid var(--teal);border-block:5px solid transparent}.edge.broken{background:var(--red)}.edge.broken:after{border-left-color:var(--red)}.network-issue{padding:10px 0;border-bottom:1px solid var(--line)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.pill-fields{display:flex;gap:10px;flex-wrap:wrap}.field-pick{display:flex;gap:6px;align-items:center;background:white;border-bottom:1px solid var(--line);padding:6px}a{color:#007f7b}.result-detail{max-width:300px}.nowrap{white-space:nowrap}.row-actions{display:flex;gap:5px;flex-wrap:wrap}.level-list{display:grid;gap:5px}.level-row{display:flex;gap:5px}.level-row select{flex:1}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #128d91;outline-offset:2px}@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:12px}.sidebar .logo,.sidebar small{display:none}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{white-space:nowrap}.sidebar .account{display:none}.topbar{padding:12px}.topbar label{flex:1;min-width:135px}.content{padding:16px 12px 80px}.fields{grid-template-columns:1fr}.metric{padding:12px;min-width:110px}.assistant{right:10px;bottom:8px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.fields .wide{grid-column:auto}}
:root{font-synthesis:none}.network-canvas{position:relative;display:flex;gap:50px;min-width:max-content;padding:16px 24px}.network-column{position:relative;z-index:1;width:180px;display:flex;flex-direction:column;gap:20px}.network-column h3{min-height:35px}.network-column .node{min-height:95px}#networkEdges{position:absolute;top:0;left:0;pointer-events:none}button svg{width:16px;height:16px;display:block}
.assistant{position:relative;right:auto;bottom:auto;margin:16px 26px 24px auto;width:390px;max-width:calc(100% - 32px);box-shadow:none;z-index:30}.assistant[open]{position:fixed;right:24px;bottom:18px;width:min(680px,calc(100% - 32px));height:420px;min-width:320px;min-height:260px;max-width:calc(100% - 32px);max-height:75vh;margin:0;resize:both;overflow:auto;box-shadow:0 7px 25px #12304420}.assistant>summary{cursor:move;user-select:none;touch-action:none}.assistant-body{min-height:200px;height:calc(100% - 45px);overflow:auto}.node[data-kind="Supplier"]{border-radius:45px}.node[data-kind="Resource"]{border-left-width:7px}.node[data-kind="Plant"]{border-radius:0}.breakdowns{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;padding:18px 0}.breakdown-row{display:grid;grid-template-columns:minmax(100px,1fr) 2fr 40px;gap:10px;align-items:center;margin:8px 0}.breakdown-row progress{width:100%;accent-color:#007f7b}.breakdown-row span{overflow-wrap:anywhere}
.sidebar{min-width:0}.sidebar nav{min-width:0;max-width:100%}@media(max-width:800px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{width:100%}.topbar label{width:auto}.topbar{max-width:100%}}
[hidden]{display:none!important}
.dataset-picks{border:1px solid var(--line);margin:0;padding:10px;min-width:0;display:grid;gap:8px}.dataset-picks label{overflow-wrap:anywhere}
.evidence-summary{max-width:850px;overflow-wrap:anywhere}.evidence-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px 20px;margin:16px 0}.evidence-facts dt{font-size:12px;color:var(--muted)}.evidence-facts dd{margin:3px 0 0;font-weight:600}.evidence-summary details{border-top:1px solid var(--line);padding:12px 0}.evidence-summary summary{cursor:pointer;font-weight:600}.evidence-summary li{margin-bottom:6px}
.dashboard-task-picker{position:relative;min-width:230px;max-width:100%;align-self:end}.dashboard-task-picker>summary{cursor:pointer;border:1px solid #bfcdd5;border-radius:4px;padding:8px;background:white}.dashboard-task-picker>fieldset{position:absolute;top:100%;left:0;z-index:20;width:330px;max-width:calc(100vw - 40px);max-height:280px;overflow:auto;background:white;border:1px solid var(--line);box-shadow:0 5px 16px #17304322;margin:3px 0;padding:12px}.dashboard-task-picker label{padding:6px 0;overflow-wrap:anywhere}.dashboard-task-picker input{flex-shrink:0}
.mapping-field.mapped{background:#e7f3f2;border-left:3px solid var(--teal);padding:8px}.mapping-field.relevant:not(.mapped){background:#f7fafb;padding:8px}.check-options>label select[multiple]{min-height:112px}
.mapping-field.llm-suggested,.fields>label.llm-suggested{background:#fff3d8;border-left:3px solid #b87512;padding:8px}
.runtime-list{display:flex;gap:10px;flex-wrap:wrap}.runtime-list span{background:white;border:1px solid var(--line);border-radius:4px;padding:8px 12px}
.job-completed{font-size:12px;color:var(--muted)}
.assistant:not([open]){position:fixed;right:24px;bottom:18px;left:auto;top:auto;margin:0;width:240px;height:auto;min-height:0;resize:none;z-index:40}
.referential-master-picker select{width:min(720px,100%)}
@media(max-width:800px){.assistant[open]{min-width:280px;max-width:calc(100% - 20px);resize:vertical}}
.node.unassessed{background:#f1f3f5;border:1px dashed #64748b;color:#475569}
.detection-filter{background:white;border:1px solid #bccedb;border-radius:4px;padding:9px;min-height:38px;overflow-wrap:anywhere}
.detection-filter summary{cursor:pointer}
.detection-filter .inline{display:flex;margin-top:8px}
.runtime-list button[aria-pressed="true"]{background:#e4f5f3;border-color:#008580}
