:root{color-scheme:dark;--bg:#0b0c0e;--panel:#1e2024;--line:#303238;--text:#e7e7e9;--muted:#a0a4af;--green:#b3d1c5;--purple:#5d478a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#d1c2f5}button,input{font:inherit}button,.button{border:1px solid var(--line);background:#1e2024;color:var(--text);padding:10px 16px;border-radius:9px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}button:hover,.button:hover{border-color:#76717f}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--purple);border-color:#7961a8}.muted,small{color:var(--muted)}header{height:80px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #24252a;gap:20px}.brand{display:flex;align-items:center;gap:14px;font-weight:600}.brand small{display:block;font-size:11px;font-weight:400;margin-top:2px}.logo{background:#24212b;border-radius:12px;padding:7px 12px;color:#c5b3e8}nav{display:flex;gap:8px;flex-wrap:wrap}main{max-width:1280px;margin:36px auto 80px;padding:0 24px}h1{font-size:32px;font-weight:400;letter-spacing:-.7px;line-height:1.2;margin:12px 0 16px}h2{font-size:22px;font-weight:500;line-height:1.3}h3{font-weight:500}p{margin:8px 0}.eyebrow{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#a5a7b4}.intro{max-width:850px}.intro>p{color:var(--muted)}.banner{border:1px solid #514536;background:#211e19;border-radius:12px;padding:14px 18px;margin:20px 0;color:#ddd2be}.banner.info{background:#1b2023;border-color:#384349;color:#c8d5dc}.create{border:1px solid var(--line);padding:26px;border-radius:18px;background:#141519;margin:28px 0 42px;max-width:850px}.create h2{margin-top:0}input[type=text],input[type=password],input[type=search]{width:100%;background:#101114;color:var(--text);border:1px solid var(--line);border-radius:9px;padding:12px 14px;outline:none}input:focus{border-color:#a38bc8}.drop{display:block;text-align:center;border:1px dashed #54505d;border-radius:10px;padding:20px;margin:14px 0;color:var(--muted);cursor:pointer}.drop.over{background:#292535;border-color:#b2a1ca}.drop input{display:block;margin:12px auto;max-width:100%;font-size:13px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.error{color:#efb0a5;white-space:pre-line}.history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.study{padding:22px;border:1px solid var(--line);border-radius:16px;background:#17181c;display:flex;flex-direction:column;gap:12px;min-height:220px}.study:hover{border-color:#625773;background:#1b1b22}.study h3{font-size:19px;margin:0;line-height:1.4}.study footer{margin-top:auto;color:var(--muted);font-size:12px}.pill{border:1px solid #3b4c45;color:var(--green);background:#20322b;display:inline-block;border-radius:20px;padding:3px 10px;font-size:11px;width:max-content}.pill.gray{background:#222329;border-color:#3f414a;color:#bbbcc7}.pill.warn{background:#372921;border-color:#664b39;color:#e7c7ac}.filters{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:25px 0 14px;flex-wrap:wrap}.segments{display:flex;border:1px solid var(--line);padding:4px;border-radius:12px;background:#131417;gap:4px}.segments button{border-color:transparent;background:transparent;font-size:12px;padding:9px 12px}.segments button.active{background:#2b3e37;border-color:#4d6a5c;color:#d4e3dc}.search{max-width:330px;margin-bottom:22px}.task{display:grid;grid-template-columns:31% 69%;border-top:1px solid var(--line);padding:28px 0;position:relative;scroll-margin-top:25px}.flow{position:relative;display:flex;align-items:center;justify-content:center;min-height:290px}.flow:before{content:"";position:absolute;width:250px;height:250px;max-width:100%;background:radial-gradient(ellipse,#27434188,transparent 68%);filter:blur(18px)}.node{position:relative;background:#24212b;border:1px solid #4b435a;color:#d0c8df;border-radius:17px;padding:13px 10px;font-size:12px;width:105px;text-align:center;line-height:1.45}.node small{display:block;color:#b9accf;font-size:11px;margin-bottom:6px}.taskbody{padding:0 20px 0 22px}.taskhead{display:flex;align-items:flex-start;gap:15px;justify-content:space-between;margin-bottom:14px}.taskhead h2{margin:0;font-size:21px}.rating{border:1px solid var(--line);border-radius:9px;padding:7px 10px;min-width:130px;text-align:center;color:var(--green);font-size:13px;flex-shrink:0}.rating small{display:block;font-size:9px;margin-top:3px}.cards{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}.card{background:var(--panel);border:1px solid var(--line);border-radius:19px;padding:17px;min-height:144px}.card.auto{grid-column:span 5}.card.labor{grid-column:span 7}.card.risk{grid-column:span 7}.card.method{grid-column:span 5;background:radial-gradient(ellipse at right top,#345149,#1b1e20 75%)}.card h3{margin:0 0 10px;display:flex;justify-content:space-between;color:#c4c5ca;font-size:12px}.card h3 span{color:#9da5ad;font-weight:400}.value{font-size:27px;font-weight:300;line-height:1.2}.value small{font-size:11px}.value.headline{font-size:20px;line-height:1.35}.sub{font-size:12px;color:#b7bbc3;margin-top:9px}.note{font-size:10px;color:#959ba8;margin-top:7px}.riskpair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:9px}.riskpair p{font-size:12px;margin:3px 0}.riskpair small{font-size:10px}.method .pill{margin-top:16px}.effectline{font-size:12px;color:#b4cfc0;margin-top:10px;border-top:1px solid #3b4140;padding-top:8px}.tasklinks{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:14px;margin-top:12px}.connections{font-size:12px;color:var(--muted);padding:12px 0}.connections a{display:inline-block;border:1px solid #34313d;border-radius:8px;margin:3px;padding:5px 9px}.empty{text-align:center;border:1px solid var(--line);border-radius:16px;padding:36px;color:var(--muted)}.sources{max-width:950px}.sources article{border-top:1px solid var(--line);padding:22px 0;scroll-margin-top:20px}.sources a.link{color:#c4b2eb;text-decoration:underline}.sources dt{color:var(--muted);font-size:12px;margin-top:17px}.sources dd{margin:5px 0;font-size:14px}.quote{border-left:2px solid #566b61;padding-left:16px;color:#c9cdd1;margin:12px 0}.source-top{display:flex;justify-content:space-between;gap:20px;align-items:start}.stages{max-width:850px;margin-top:30px}.stage{border:1px solid var(--line);border-radius:14px;padding:19px 22px;margin:12px 0;display:flex;gap:17px}.stage.done{border-color:#3a5849}.stage.running{border-color:#8f7bac;background:#211c29}.stage.pending{opacity:.55}.stage strong{font-weight:500}.stage small{display:block;margin-top:7px}.stageicon{font-size:22px;color:#a8cbb8;min-width:25px}.spinner{width:21px;height:21px;display:inline-block;border:2px solid #51465f;border-top-color:#c9b4e5;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth{max-width:400px;margin:100px auto;border:1px solid var(--line);padding:30px;border-radius:18px;background:#17181c}.auth form{display:grid;gap:16px}.footnote{font-size:12px;color:var(--muted);margin-top:24px}.timing{display:grid;grid-template-columns:1fr auto;gap:8px 20px;font-size:13px;border:1px solid var(--line);border-radius:14px;padding:20px;max-width:750px}.timing span{color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#30283b;color:white;border-radius:10px;padding:12px 20px;display:none;max-width:90%}button:focus-visible,a:focus-visible{outline:2px solid #b09cdb;outline-offset:3px}@media(max-width:850px){header{padding:15px;height:auto;align-items:start}header nav{justify-content:end}.brand{font-size:13px;min-width:155px}.history{grid-template-columns:1fr 1fr}.task{grid-template-columns:19% 81%}.flow:before{width:150px}.node{width:80px;font-size:10px}.taskbody{padding:0 0 0 15px}.taskhead{display:block}.rating{width:max-content;margin-top:10px}.card{padding:14px}.taskhead h2{font-size:19px}}@media(max-width:560px){main{padding:0 16px;margin-top:24px}h1{font-size:27px}.history{grid-template-columns:1fr}.task{display:block}.flow{min-height:0;justify-content:start;margin-bottom:12px}.node{width:auto;max-width:100%;padding:5px 10px;display:flex;gap:10px;align-items:center;border-radius:8px}.node small{margin:0}.flow:before{display:none}.taskbody{padding:0}.card.auto,.card.labor,.card.risk,.card.method{grid-column:span 12}.card{min-height:0}.filters{display:block}.segments{width:max-content;max-width:100%}.segments button{font-size:11px;padding:8px}.create{padding:20px}.source-top{display:block}nav .button{font-size:11px;padding:8px}.riskpair{gap:10px}}@media print{header,.filters,.search,.tasklinks,button{display:none!important}body{background:white;color:black}.task{break-inside:avoid}.card{background:white;color:black;border-color:#aaa}.card h3,.sub,.muted{color:#333}.flow:before{display:none}.node{background:#eee;color:#333}.method{background:white!important}.rating{color:#333}}

/* Compact approved report composition; responsive variants remain below. */
header{height:56px;padding:0 20px}.brand{font-size:12px;gap:10px}.brand small{font-size:10px}.logo{width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:8px}header nav .button,header nav button{font-size:11px;padding:8px 12px}main{max-width:1320px;margin-top:30px}h1{font-size:28px;margin:10px 0 14px}.intro>p{font-size:12px}.segments button{padding:7px 12px}.search{max-width:320px}.search input{width:200px;flex:0 1 200px;font-size:12px;padding:8px 10px}.search button{font-size:12px;padding:8px 10px}.task{max-width:1180px;grid-template-columns:34% 66%;padding:26px 0}.node{width:74px;padding:10px 7px;border-radius:14px;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.node small{font-size:10px;margin-bottom:5px}.taskhead h2{font-size:20px}.card{min-height:132px;padding:16px}.card h3{font-size:12px}.value{font-size:27px}.value.headline{font-size:20px}.riskpair p{font-size:12px}.effectline{font-size:11px;border-top:0;padding-top:0;margin-top:7px}.tasklinks{font-size:10px}.sources dd{white-space:pre-line}
@media(max-width:850px){header{height:auto;min-height:56px;flex-wrap:wrap;padding:12px 16px}.task{grid-template-columns:20% 80%}.taskbody{padding-left:12px}.brand{min-width:150px}.taskhead h2{font-size:19px}}
@media(max-width:560px){.task{display:block}.node{width:auto;max-width:100%;font-size:11px;padding:5px 10px}.taskbody{padding:0}.taskhead h2{font-size:19px}.search{max-width:100%}.search input{flex:1;width:auto}.intro .eyebrow{font-size:10px}h1{font-size:25px}}
