:root{font-family:Arial,Helvetica,sans-serif;color:#17212b;background:#eef3f7;--navy:#0f466f;--blue:#1d6fb8;--line:#cbd7e0;--muted:#66798a;--green:#15834a;--amber:#b77900;--red:#bc3b2f;--soft:#f7fafc}*{box-sizing:border-box}body{margin:0;background:#eef3f7}.hidden{display:none!important}button,input,select,textarea{font:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(450px,100%);background:white;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:0 12px 30px rgba(15,38,55,.12);text-align:center}.auth-logo{width:min(330px,92%);height:auto}.auth-card h1{color:var(--navy);margin:15px 0 4px}.auth-card p,.muted{color:var(--muted)}.stack{display:grid;gap:12px;text-align:left}.stack label{display:grid;gap:5px;font-weight:700}.stack input,.field input,.field select,.field textarea,.panel-heading input,.material-line input[type=text]{border:1px solid #adbecb;border-radius:6px;padding:8px 9px;background:#fff;color:#17212b}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #9eb0bf;border-radius:6px;background:#fff;color:#1b3348;padding:8px 12px;cursor:pointer}.button.primary{background:var(--navy);border-color:var(--navy);color:#fff}.button.green{background:var(--green);border-color:var(--green);color:#fff}.button:disabled{opacity:.55;cursor:not-allowed}.app{min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:8px 18px;position:sticky;top:0;z-index:20}.brand-mini{display:flex;gap:12px;align-items:center}.brand-mini img{width:190px;height:auto}.brand-mini span{display:block;color:#6d7f8d;font-size:9px;letter-spacing:.13em;font-weight:800}.brand-mini strong{display:block;color:var(--navy);font-size:17px}.topbar nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.user-chip{font-size:12px;color:#5d7080;padding:0 5px}.page{max-width:1480px;margin:0 auto;padding:18px}.page-heading,.builder-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:14px}.page-heading h1,.builder-heading h1{margin:2px 0 4px;color:var(--navy)}.eyebrow{margin:0;font-size:10px;letter-spacing:.12em;color:#6b7d8c;font-weight:800}.setup-warning{background:#fff6dc;border:1px solid #e4c366;color:#644900;border-radius:7px;padding:11px 13px;margin-bottom:13px;display:flex;gap:10px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:13px}.stats div{background:#fff;border:1px solid var(--line);border-radius:7px;padding:11px}.stats span{display:block;color:#67798a;font-size:11px}.stats strong{display:block;color:var(--navy);font-size:22px;margin-top:3px}.panel{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px;border-bottom:1px solid var(--line)}.panel-heading h2{margin:0 0 3px;color:#25465f;font-size:18px}.panel-heading p{margin:0}.panel-heading input{width:min(380px,42vw)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:9px 10px;border-bottom:1px solid #e2e9ee;text-align:left;vertical-align:top}th{background:#f6f9fb;color:#496071;font-size:11px}tbody tr:hover td{background:#fbfdff}.badge{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.badge.green{background:#e2f4e9;color:#176c3e}.badge.amber{background:#fff1cf;color:#8b5e00}.badge.red{background:#fbe2df;color:#9f2e25}.badge.gray{background:#edf1f4;color:#60707c}.link-button{border:0;background:none;color:#2b6692;padding:0;cursor:pointer}.heading-actions{display:flex;align-items:center;gap:10px}.builder-layout{display:grid;grid-template-columns:245px 1fr;gap:12px}.builder-nav,.builder-panel{background:#fff;border:1px solid var(--line);border-radius:8px}.builder-nav{padding:9px;height:max-content;position:sticky;top:86px}.case-chip{padding:10px 9px 13px;border-bottom:1px solid #e1e8ed;margin-bottom:7px}.case-chip strong{display:block;color:var(--navy)}.case-chip span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.section-button{width:100%;border:0;background:transparent;border-radius:5px;padding:9px 10px;text-align:left;color:#345064;display:flex;justify-content:space-between;gap:7px;cursor:pointer}.section-button:hover,.section-button.active{background:#e9f3fb;color:#0e5d99}.section-button span{font-size:10px;border-radius:10px;padding:2px 6px;background:#eef2f5;color:#61717d}.section-button span.missing{background:#fbe2df;color:#a03026}.builder-panel{min-width:0;overflow:hidden}.builder-panel-heading{padding:13px 15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.builder-panel-heading h2{margin:2px 0 0;color:#25465f}.section-body{padding:15px}.intro{background:#f5f9fc;border:1px solid #d9e6ef;border-radius:6px;padding:9px 11px;color:#566d7e;margin-bottom:14px}.group{margin-bottom:18px}.group-title{font-weight:800;color:#294b64;border-bottom:1px solid #d9e2e8;padding-bottom:6px;margin-bottom:9px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:9px 16px}.field{display:grid;grid-template-columns:19px 145px minmax(130px,1fr);align-items:center;gap:7px;min-height:36px}.field.full{grid-column:1/-1}.field.full textarea{min-height:80px}.status-dot{font-size:14px;text-align:center}.status-dot.green{color:var(--green)}.status-dot.amber{color:var(--amber)}.status-dot.red{color:var(--red)}.field label{color:#3c5263}.field input.source-db,.field select.source-db{background:#f6fbff;border-color:#a8c7db}.field input.source-derived{background:#fbfbf5;border-color:#c9c8a8}.field textarea,.field input,.field select{width:100%}.field small{grid-column:3;color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{border:1px solid #d7e2e9;border-radius:7px;background:#fbfdfe;padding:11px}.card h3{margin:0 0 9px;color:#294c65;font-size:15px}.check-line{display:flex;gap:7px;align-items:flex-start;padding:5px 0}.check-line input{margin-top:2px}.material-line{display:grid;grid-template-columns:22px 210px 1fr;gap:7px;align-items:center;padding:5px 0}.material-line input[type=checkbox]{width:auto}.material-line input[type=text]{width:100%}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.review-card{border:1px solid var(--line);border-radius:7px;padding:12px}.review-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #edf1f4;padding:7px 0}.missing-list{display:grid;gap:6px}.missing-item{background:#fff7f6;border:1px solid #efc2bc;border-radius:6px;padding:8px 9px;display:flex;justify-content:space-between;gap:8px}.missing-item button{border:0;background:none;color:#1e659a;cursor:pointer}.builder-footer{border-top:1px solid var(--line);background:#fafcfd;padding:11px 15px;display:flex;justify-content:space-between;gap:10px}.word-note{background:#eff8f2;border:1px solid #b9ddc7;border-radius:7px;padding:10px;color:#285c3d;margin-bottom:12px}.word-note strong{display:block}.toast{position:fixed;right:18px;bottom:18px;background:#173d5c;color:#fff;padding:11px 14px;border-radius:7px;opacity:0;transform:translateY(10px);transition:.15s;z-index:100;max-width:430px}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#8e2f28}@media(max-width:1000px){.builder-layout{grid-template-columns:1fr}.builder-nav{position:static}.field-grid,.cards,.review-grid,.stats{grid-template-columns:1fr}.topbar{height:auto;align-items:flex-start;gap:9px}.brand-mini img{width:150px}.topbar nav{justify-content:flex-end}.field{grid-template-columns:19px 125px 1fr}}@media(max-width:650px){.topbar{flex-direction:column}.page{padding:10px}.panel-heading,.page-heading,.builder-heading{flex-direction:column}.panel-heading input{width:100%}.material-line{grid-template-columns:22px 1fr}.material-line input[type=text]{grid-column:2}.field{grid-template-columns:19px 1fr}.field label{grid-column:2}.field input,.field select,.field textarea,.field small{grid-column:2}.builder-footer{flex-direction:column}}

/* v2.20 shared operational navigation and work-list layout */
.view-tabs{display:flex;gap:7px;margin:0 0 10px;flex-wrap:wrap}.view-tab{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--line);background:#fff;padding:9px 16px;border-radius:9px;font-weight:800;color:#4b6174}.view-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.view-tab:hover{filter:brightness(.98)}
.report-list-panel{padding:14px}.list-heading{align-items:center;margin-bottom:12px}.list-heading .muted{margin:3px 0 0}.filters{display:grid;gap:10px;margin-bottom:12px}.report-filters{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr))}.filters label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#31485d}.filters input,.filters select{width:100%;border:1px solid #c8d4de;border-radius:8px;padding:9px 10px;background:#fff;color:#17212b}
.cases-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;max-height:calc(100vh - 330px)}.cases-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1120px;font-size:12px}.cases-table th{position:sticky;top:0;z-index:2;background:#123f64;color:#fff;text-align:left;padding:9px 8px;border-right:1px solid rgba(255,255,255,.18);white-space:nowrap}.cases-table td{vertical-align:top;padding:9px 8px;border-right:1px solid #e2e8ee;border-bottom:1px solid #dce5ec;background:#fff;line-height:1.3}.cases-table tbody tr{cursor:pointer}.cases-table tbody tr:hover td{background:#edf5fb}.empty-state{color:var(--muted);padding:18px;text-align:center}.button.tiny{padding:5px 8px;font-size:11px;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800;white-space:nowrap;background:#edf1f4;color:#435262}.status-badge.not-started{background:#eef1f3;color:#69737c}.status-badge.in-progress,.status-badge.needs-information{background:#fff0d5;color:#915f05}.status-badge.ready{background:#daf5df;color:#17652d}.status-badge.generated{background:#dfeeff;color:#1456a0}
@media(max-width:1000px){.report-filters{grid-template-columns:1fr 1fr}.cases-table-wrap{max-height:none}}@media(max-width:650px){.report-filters{grid-template-columns:1fr}.view-tabs{overflow-x:auto;flex-wrap:nowrap}.view-tab{white-space:nowrap}}

.builder-operations-nav{margin-top:-2px;margin-bottom:12px}
