
:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#203c3e;background:#f4f6f4;font-synthesis:none;--green:#cce765;--ink:#112e30;--muted:#6b7e7e;--line:#dce3df}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{cursor:pointer;border:1px solid #cad5cf;border-radius:7px;background:white;color:var(--ink);padding:10px 16px;font-size:13px;font-weight:600;min-height:42px}button:hover,.button:hover{background:#edf2e8}button:focus-visible,a:focus-visible{outline:3px solid #8cb237;outline-offset:3px}button.primary{background:var(--ink);color:white;border-color:var(--ink)}.sidebar{position:fixed;width:240px;height:100dvh;background:var(--ink);color:#dce7df;padding:32px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:white;font-size:27px;font-weight:700;letter-spacing:2px;padding:0 8px}.brandmark{display:grid;place-items:center;width:43px;height:43px;background:var(--green);color:var(--ink);border-radius:9px;font-size:31px}.brand-sub{display:block;font-size:8px;letter-spacing:2px;font-weight:500;margin-top:5px}.sidebar-label{font-size:10px;letter-spacing:1.7px;color:#8ba5a1;margin:42px 10px 16px}nav{overflow:auto}nav a{display:flex;align-items:center;gap:12px;color:#acbfba;text-decoration:none;font-size:13px;padding:12px;border-radius:7px;margin:3px 0}nav a span{font-size:10px;opacity:.6;min-width:18px}nav a.active{background:#284244;color:var(--green)}nav a:hover{background:#284244}.sidefoot{margin-top:auto;padding:22px 10px 0;border-top:1px solid #355052;font-size:11px;line-height:2;color:#bdcdc6}.sidefoot small{color:#839e98}.status-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:6px}.shell{margin-left:240px}header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:#fcfdfb}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{margin:0 12px;color:#b4c0ba}.header-actions{display:flex;gap:10px}main{max-width:1440px;margin:auto;padding:34px 38px 18px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#738679}h1{font-size:clamp(26px,3vw,38px);letter-spacing:-1.5px;font-weight:600;margin:11px 0}p{color:var(--muted);font-size:13px;line-height:1.7;margin:6px 0}.badge{font-size:9px;font-weight:700;letter-spacing:1px;border:1px solid #bfcdb9;background:#edf3e5;border-radius:5px;padding:8px 10px;white-space:nowrap}.project-bar{display:flex;align-items:center;gap:16px;padding:17px 20px;border:1px solid var(--line);border-radius:10px;background:white;margin-bottom:24px}.project-bar>div{flex:1}.project-bar label{font-size:9px;letter-spacing:1.2px;color:var(--muted);display:block}.project-bar input{border:0;background:transparent;font-size:15px;font-weight:600;width:100%;padding:6px 0;color:var(--ink)}#saveStatus{font-size:11px;color:var(--muted);max-width:150px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.kpi{background:white;border:1px solid var(--line);border-radius:10px;padding:20px}.kpi:first-child{background:var(--ink);color:white;border-color:var(--ink)}.kpi-label{font-size:11px;color:#708781}.kpi:first-child .kpi-label{color:#afc2b7}.kpi-value{font-size:30px;font-weight:600;letter-spacing:-1px;margin:14px 0 8px;font-variant-numeric:tabular-nums}.kpi-value small{font-size:12px;font-weight:400;letter-spacing:0;margin-left:5px}.kpi-detail{font-size:10px;color:#718479}.kpi:first-child .kpi-detail{color:var(--green)}.overview-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px}.card{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:20px}.card-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #e8ece8;gap:12px}.card h2{font-size:15px;font-weight:600;margin:0}.card-head small{color:var(--muted);font-size:10px}.card-body{padding:22px}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 24px}.flow-node{position:relative;text-align:center}.flow-node:not(:last-child):after{content:'→';position:absolute;right:-10px;top:21px;color:#a2b59f}.flow-icon{display:grid;place-items:center;border:1px solid #cddac4;border-radius:12px;background:#f0f5e9;height:60px;width:62px;margin:auto auto 12px;color:#496042;font-size:25px}.flow-node b{display:block;font-size:11px}.flow-node small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.basis-strip{font-size:11px;background:#f6f8f3;border:1px solid #e2e8dc;padding:12px;border-radius:6px;line-height:1.7;color:#5b725f}.row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #edf0eb;font-size:12px}.row:last-child{border-bottom:0}.row span{color:var(--muted)}.row strong{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.meter{height:8px;background:#e7ede3;border-radius:5px;margin:18px 0 8px;overflow:hidden}.meter i{display:block;height:100%;background:#a6c34d}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:10px 0 16px}.section-heading h2{font-size:17px;margin:0}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.module-link{background:white;border:1px solid var(--line);padding:17px;text-decoration:none;color:var(--ink);border-radius:9px;display:flex;gap:13px;align-items:center}.module-link:hover{border-color:#829c62}.module-number{color:#859870;font-size:11px;font-weight:600}.module-link b{display:block;font-size:12px}.module-link small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.module-link em{margin-left:auto;font-style:normal;color:#94a187}.warning{padding:13px 14px;margin:10px 0;border:1px solid #eadfc2;border-left:3px solid #b99645;background:#fffcf3;border-radius:5px;font-size:12px;line-height:1.6;color:#7a632e}.warning.critical{border-color:#e8c8bf;border-left-color:#b4523f;background:#fff6f2;color:#963b2c}.warning b{font-size:9px;display:block;letter-spacing:1px;margin-bottom:3px}.warnings-link{display:inline-block;color:#735d2e;font-size:12px;margin-top:6px}.module-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field label{display:block;font-size:12px;margin-bottom:8px;min-height:30px;line-height:1.4}.field-control{display:flex;align-items:center;border:1px solid #cfd9d3;border-radius:6px;overflow:hidden;background:#fbfcfa}.field-control:focus-within{outline:2px solid #a2c450;border-color:transparent}.field-control input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:12px;color:var(--ink);font-size:15px;font-variant-numeric:tabular-nums}.field-control span{font-size:10px;white-space:nowrap;padding-right:10px;color:#718174}.field.invalid .field-control{border:2px solid #b4523f}.module-intro{margin-bottom:20px}.module-intro h2{font-size:24px;margin:0 0 7px;letter-spacing:-.5px}.tag{font-size:9px;letter-spacing:1px;padding:5px 8px;border-radius:4px;background:#eef4e2;color:#5b763a}.result-box .row strong{color:#294d32}.method{font-size:12px;line-height:1.8;color:#647669;white-space:normal}.method strong{color:#203c3e}.source{padding:15px 0;border-bottom:1px solid var(--line)}.source a{color:#365b3d;font-size:13px;font-weight:600}.source p{font-size:12px}footer{display:flex;justify-content:space-between;gap:20px;margin-top:32px;border-top:1px solid var(--line);padding:20px 0;color:#849289;font-size:10px}dialog{border:1px solid var(--line);border-radius:12px;width:min(620px,92vw);padding:24px;color:var(--ink)}dialog::backdrop{background:#0b242b88}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-size:21px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.saved-project{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.saved-project span{flex:1;font-size:13px}.saved-project small{display:block;margin-top:4px;color:var(--muted)}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#112e30;color:white;padding:12px 20px;border-radius:7px;font-size:13px;display:none;z-index:10;max-width:90vw}details summary{cursor:pointer;font-size:13px;color:#456337;padding:10px 0}#report{display:none}.print-table{width:100%;border-collapse:collapse;font-size:11px}.print-table td,.print-table th{text-align:left;border-bottom:1px solid #ddd;padding:6px}.print-table th{font-weight:600}
@media(min-width:1500px){main{padding-top:45px}}@media(max-width:1150px){.sidebar{width:205px;padding:28px 12px}.shell{margin-left:205px}main{padding:26px 24px}header{padding:0 24px}.kpi{padding:16px}.kpi-value{font-size:24px}.overview-grid{grid-template-columns:1.3fr 1fr}.module-grid{grid-template-columns:repeat(2,1fr)}.module-layout{grid-template-columns:1fr}.badge{display:none}}@media(max-width:760px){.sidebar{position:static;width:100%;height:auto;padding:16px 16px 0}.brand{font-size:21px}.brandmark{height:35px;width:35px;font-size:25px}.brand-sub{font-size:7px}.sidebar-label,.sidefoot{display:none}nav{display:flex;margin-top:15px;gap:5px;padding-bottom:10px}nav a{white-space:nowrap;font-size:12px;padding:10px;margin:0;min-height:42px}nav a span{display:none}.shell{margin-left:0}header{height:64px;padding:0 16px}.breadcrumb{font-size:10px}.breadcrumb span{margin:0 5px}.header-actions{gap:6px}button,.button{padding:9px 12px;font-size:12px}.header-actions button{font-size:11px}main{padding:24px 16px 10px}.page-title{margin-bottom:20px}.page-title p{font-size:12px}h1{letter-spacing:-1px;font-size:29px}.project-bar{flex-wrap:wrap;padding:14px;gap:10px}.project-bar>div{flex-basis:65%}.project-bar input{font-size:13px}#saveStatus{max-width:none;font-size:10px}.kpis{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.kpi{padding:15px}.kpi-value{font-size:26px}.kpi-label{font-size:10px}.overview-grid{grid-template-columns:1fr;gap:0}.card-head{padding:17px}.card-body{padding:17px}.module-grid{gap:9px}.module-link{padding:14px 11px;gap:8px}.module-link b{font-size:11px}.module-link small{font-size:9px}.input-grid{gap:18px 12px}.field label{font-size:11px;min-height:32px}.field-control input{font-size:16px;padding:12px 8px}.field-control span{font-size:9px;padding-right:7px}.module-layout{gap:0}footer{display:block;line-height:1.8}footer span{display:block}.flow-icon{width:51px;height:52px}.flow-node b{font-size:10px}.flow-node small{font-size:9px}}@media(max-width:360px){.breadcrumb{display:none}.module-grid{grid-template-columns:1fr}.input-grid{grid-template-columns:1fr}.field label{min-height:0}}@media print{body{background:white;color:black}.sidebar,.shell,dialog,#toast{display:none!important}#report{display:block;font-family:Arial,sans-serif;font-size:11px;color:black}#report h1{font-size:24px}#report h2{font-size:16px;margin-top:24px;break-after:avoid}#report h3{font-size:13px}#report p{font-size:11px;color:#333}#report table{break-inside:auto}#report tr{break-inside:avoid}#report a{color:black}#report .warning{break-inside:avoid}#report .method{font-size:10px;color:#333}@page{size:A4;margin:16mm}}

@media(max-width:760px){nav{scrollbar-width:none}nav::-webkit-scrollbar{display:none}.header-actions button{white-space:nowrap}.breadcrumb{max-width:130px}}

/* mode switch shared by Design and Assessment */
.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:26px 4px 0;background:#0b2224;border-radius:8px;padding:4px}
.mode-switch a{color:#acbfba;text-decoration:none;text-align:center;font-size:12px;font-weight:600;padding:8px 4px;border-radius:6px}
.mode-switch a.on{background:var(--green);color:var(--ink)}
@media(max-width:760px){.mode-switch{margin:12px 0 0}}
