:root{--navy:#0b1f4b;--navy-2:#123567;--gold:#c9a84c;--teal:#167d83;--purple:#654a9b;--green:#3f7d55;--white:#fff;--light:#f5f6fa;--ink:#303846;--muted:#687386;--line:#d9e0ea;--danger:#9f2d2d;--danger-bg:#fff2f2;--focus:#2377d1;--shadow:0 14px 42px rgba(11,31,75,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--light);color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:1000;background:var(--gold);color:var(--navy);padding:.75rem 1rem;font-weight:700}.skip-link:focus{top:1rem}.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}
.app-header{min-height:78px;background:var(--navy);border-bottom:4px solid var(--gold);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px 28px;position:sticky;top:0;z-index:20;box-shadow:0 3px 18px rgba(0,0,0,.18)}.brand{font-weight:800;letter-spacing:.12em;font-size:.82rem;color:var(--gold)}.product-name{font:700 1.35rem Georgia,'Times New Roman',serif}.product-name span{font:600 .75rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;margin-left:.5rem;background:rgba(255,255,255,.12);padding:.25rem .45rem;border-radius:3px}.header-actions,.record-actions,.dialog-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.save-state{font-size:.85rem;color:#dce5f2}.confidentiality{background:#fff8e6;border-bottom:1px solid #e7d498;color:#5e4b16;padding:10px 28px;font-size:.9rem}
.app-shell{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:calc(100vh - 126px)}.directory{background:#fff;border-right:1px solid var(--line);padding:24px 18px;position:sticky;top:126px;height:calc(100vh - 126px);overflow:auto}.directory-heading,.section-heading,.record-header,.assessment-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.eyebrow{margin:0 0 .25rem;color:var(--teal);font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;color:var(--navy);line-height:1.18;margin-top:0}h1{font-size:1.65rem;margin-bottom:1rem}h2{font-size:2rem;margin-bottom:.45rem}h3{font-size:1.35rem;margin-bottom:.6rem}h4{font-size:1.05rem;margin-bottom:.3rem}.search,.field input,.field select,.field textarea,.inline-field select,#confirmationText{width:100%;border:1px solid #aeb9c8;border-radius:6px;background:#fff;color:var(--ink);padding:.7rem .75rem}.search{margin:.5rem 0 .75rem}.search:focus,.field input:focus,.field select:focus,.field textarea:focus,.inline-field select:focus,#confirmationText:focus,button:focus-visible{outline:3px solid rgba(35,119,209,.3);outline-offset:2px;border-color:var(--focus)}.directory-filters{display:flex;gap:.35rem;border-bottom:1px solid var(--line);padding-bottom:.75rem}.filter-button{background:transparent;border:0;color:var(--muted);padding:.4rem .55rem;border-radius:4px;font-weight:700}.filter-button.active{background:#eaf1f8;color:var(--navy)}.record-list{padding-top:.75rem}.record-card{width:100%;border:1px solid var(--line);border-left:4px solid transparent;border-radius:7px;background:#fff;text-align:left;padding:.8rem;margin-bottom:.55rem;color:var(--ink)}.record-card:hover{border-color:#aab8ca}.record-card.selected{border-left-color:var(--gold);background:#fbf8ed}.record-card strong{display:block;color:var(--navy)}.record-card small{display:block;color:var(--muted);margin-top:.2rem}.empty-list{padding:1rem .25rem;color:var(--muted);font-size:.9rem}
.workspace{min-width:0;padding:28px}.empty-state{max-width:650px;margin:10vh auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:48px;box-shadow:var(--shadow)}.empty-mark{width:82px;height:82px;display:grid;place-items:center;margin:0 auto 1.2rem;border:2px solid var(--gold);border-radius:50%;background:var(--navy);color:#fff;font:700 1rem Georgia,serif}.empty-state p:not(.eyebrow){color:var(--muted);max-width:520px;margin:0 auto 1.5rem}.editor{max-width:1180px;margin:auto}.record-header{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;padding:24px;border-radius:10px 10px 0 0;border-bottom:5px solid var(--gold)}.record-header h2{color:#fff}.metadata{margin:0;color:#dce5f2;font-size:.86rem}.completion-strip{display:grid;grid-template-columns:auto minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:.8rem;background:#fff;padding:14px 20px;border:1px solid var(--line);border-top:0}.completion-strip div{display:flex;gap:.45rem;align-items:center}.completion-strip span{color:var(--muted);font-size:.85rem}.completion-strip strong{color:var(--navy)}progress{width:100%;accent-color:var(--teal)}
.tabs{display:flex;gap:0;background:#fff;border:1px solid var(--line);border-top:0;overflow-x:auto}.tab{flex:1;min-width:135px;border:0;border-bottom:3px solid transparent;background:#fff;padding:.9rem .75rem;color:var(--muted);font-weight:700}.tab.active{color:var(--navy);border-bottom-color:var(--gold);background:#fbfcfe}.tab-panel{background:#fff;border:1px solid var(--line);border-top:0;padding:28px;min-height:420px}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.form-section:last-child{border-bottom:0}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}.field{min-width:0}.field.full{grid-column:1/-1}.field label,.inline-field{display:block;color:var(--navy);font-weight:700;font-size:.9rem;margin-bottom:.35rem}.field .required{color:var(--danger)}.field textarea{min-height:110px;resize:vertical}.field-hint{display:block;color:var(--muted);font-size:.78rem;margin-top:.25rem}.field-error{display:block;color:var(--danger);font-size:.82rem;font-weight:700;margin-top:.25rem}.invalid{border-color:var(--danger)!important;background:var(--danger-bg)!important}.button{border:1px solid transparent;border-radius:6px;padding:.65rem .9rem;font-weight:700}.button-primary{background:var(--navy);color:#fff}.button-primary:hover{background:var(--navy-2)}.button-gold{background:var(--gold);color:var(--navy)}.button-secondary{background:#fff;border-color:#9aa8ba;color:var(--navy)}.button-danger{background:var(--danger);color:#fff}.record-header .button-secondary{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}.record-header .button-danger{background:#fff;color:var(--danger)}
.validation-summary{border:2px solid var(--danger);background:var(--danger-bg);padding:1rem 1.25rem;margin:1rem 0;border-radius:7px}.validation-summary h3{color:var(--danger);margin-bottom:.4rem}.validation-summary ul{margin:.3rem 0}.contact-card{border:1px solid var(--line);border-top:4px solid var(--purple);border-radius:8px;padding:18px;margin:1rem 0;background:#fbfcfe}.contact-card-head{display:flex;justify-content:space-between;gap:1rem}.remove-contact{background:transparent;border:0;color:var(--danger);font-weight:700}.assessment-intro{border-bottom:1px solid var(--line);padding-bottom:1.25rem;margin-bottom:1.25rem}.inline-field{min-width:185px}.category{border:1px solid var(--line);border-radius:8px;margin:0 0 1rem;overflow:hidden}.category summary{list-style:none;display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;background:#f7f9fc;color:var(--navy);font-weight:700;cursor:pointer}.category summary::-webkit-details-marker{display:none}.category summary:after{content:'+';color:var(--teal);font-size:1.2rem}.category[open] summary:after{content:'−'}.category-progress{font:600 .78rem Arial,sans-serif;color:var(--muted);margin-left:auto}.question{padding:1rem 1.1rem;border-top:1px solid var(--line)}.question legend{font-weight:700;color:var(--navy);padding:0}.question-number{color:var(--teal);margin-right:.35rem}.option-grid{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-top:.7rem}.option-grid label{display:flex;gap:.4rem;align-items:flex-start;font-size:.9rem}.question-notes{margin-top:.75rem}.question-notes summary{display:inline;padding:0;background:transparent;color:var(--teal);font:700 .84rem Arial,sans-serif}.question-notes summary:after{content:''}.question-notes textarea{width:100%;min-height:80px;margin-top:.5rem;border:1px solid #aeb9c8;border-radius:6px;padding:.65rem;resize:vertical}.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.notes-grid .field textarea{min-height:140px}dialog{border:0;border-radius:10px;padding:0;box-shadow:0 24px 80px rgba(0,0,0,.3);max-width:520px;width:calc(100% - 2rem)}dialog::backdrop{background:rgba(7,23,53,.68)}.dialog-card{padding:24px}.dialog-actions{justify-content:flex-end;margin-top:1.2rem}.toast{position:fixed;right:1rem;bottom:1rem;z-index:50;background:var(--navy);color:#fff;border-left:5px solid var(--gold);padding:.85rem 1rem;border-radius:6px;box-shadow:var(--shadow);max-width:360px}.noscript{background:var(--danger);color:#fff;padding:1rem;text-align:center}
@media(max-width:980px){.app-shell{grid-template-columns:260px minmax(0,1fr)}.workspace{padding:18px}.field-grid,.notes-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.completion-strip{grid-template-columns:auto 1fr}.record-header{flex-direction:column}.record-actions{width:100%}}
@media(max-width:720px){.app-header{position:static;padding:12px 16px}.product-name span{display:block;margin:.25rem 0 0;width:max-content}.confidentiality{padding:10px 16px}.app-shell{display:block}.directory{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:18px 14px}.record-list{max-height:250px;overflow:auto}.workspace{padding:12px}.empty-state{margin:2rem auto;padding:30px 20px}.tab-panel{padding:18px 14px}.record-header{padding:20px 16px}.completion-strip{padding:12px;gap:.5rem}.assessment-intro,.section-heading{flex-direction:column}.inline-field{width:100%}.header-actions .save-state{display:none}}
@media(max-width:480px){.app-header{align-items:flex-start}.header-actions{justify-content:flex-end}.button{padding:.58rem .68rem}.record-actions .button{flex:1}.completion-strip{grid-template-columns:1fr}.completion-strip div{justify-content:space-between}.category summary{padding:.85rem}.question{padding:.9rem}.option-grid{display:grid;grid-template-columns:1fr}.notes-grid{display:block}.notes-grid .field{margin-bottom:1rem}}
@media print{body{background:#fff}.app-header,.confidentiality,.directory,.tabs,.record-actions,.header-actions,.button,.question-notes summary{display:none!important}.app-shell{display:block}.workspace{padding:0}.tab-panel[hidden]{display:block}.tab-panel{border:0;page-break-before:always}.record-header{background:#fff;color:var(--ink);border:0}.record-header h2{color:var(--navy)}.metadata{color:var(--ink)}}
.reset-all{width:100%;margin-top:1rem;padding:.55rem;background:transparent;border:0;color:var(--danger);font-weight:700;text-decoration:underline}
.indicator-grid,.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.indicator-card,.service-card,.proposal-box{border:1px solid var(--line);border-radius:8px;padding:1rem;background:#fbfcfe}.indicator-card strong,.service-card strong{color:var(--navy)}.score{font:700 1.6rem Georgia,serif;color:var(--teal)}.badge{display:inline-block;padding:.2rem .5rem;border-radius:999px;background:#eaf1f8;color:var(--navy);font-size:.76rem;font-weight:700}.flag{background:#fff3cd;color:#694f00}.recommendation-banner{border-left:5px solid var(--gold);background:#fff8e6;padding:1rem;margin:1rem 0}.explanation{font-size:.86rem;color:var(--muted)}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.approval-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
@media(max-width:720px){.indicator-grid,.service-grid,.check-list{grid-template-columns:1fr}}
.approval-gates{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:1rem;padding:1rem;background:#f5f6fa;border:1px solid var(--line);border-radius:8px;margin-bottom:1.25rem}.approval-gates label,.approval-gates div>label{display:block;color:var(--navy);font-weight:700;font-size:.88rem}.approval-gates select{width:100%;padding:.6rem;border:1px solid #aeb9c8;border-radius:6px;background:#fff}.check-control{display:flex!important;gap:.5rem;align-items:center}.doc-config{border:1px solid var(--line);border-radius:8px;margin:1rem 0}.doc-config>summary{cursor:pointer;padding:1rem;background:#f7f9fc;color:var(--navy);font-weight:700}.doc-config>.field-grid{padding:1rem}.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.document-card{border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:8px;padding:1rem;background:#fff}.document-card.internal-doc{border-top-color:var(--purple)}.document-card h4{margin:.65rem 0 1rem}.client-panel{padding:0}.client-preview{background:#fff}.client-hero{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;padding:3rem 2rem;border-bottom:6px solid var(--gold)}.client-hero h1{color:#fff;font-size:2.5rem}.client-hero .eyebrow{color:var(--gold)}.client-lock{padding:3rem;text-align:center;background:#fff8e6}.client-preview>.document-head{display:none}.client-preview>.document-section{padding:1.5rem 2rem;border-bottom:1px solid var(--line)}.review-downloads{padding:2rem;background:#f5f6fa}.link-row{display:grid;grid-template-columns:90px minmax(160px,.7fr) minmax(240px,1.4fr) 130px;gap:.7rem;align-items:center;margin:.7rem 0}.link-row input{width:100%;padding:.65rem;border:1px solid #aeb9c8;border-radius:6px}.link-row a{color:var(--navy);font-weight:700;margin-right:.5rem}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.document-section table{width:100%;border-collapse:collapse}.document-section th,.document-section td{border:1px solid var(--line);padding:.65rem;text-align:left;vertical-align:top}.document-section th{background:#f5f6fa;width:30%}
@media(max-width:900px){.approval-gates,.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.link-row{grid-template-columns:90px 1fr}.link-row input:nth-of-type(2){grid-column:1/-1}}
@media(max-width:600px){.approval-gates,.document-grid,.signature-grid{grid-template-columns:1fr}.link-row{grid-template-columns:1fr}.link-row input:nth-of-type(2){grid-column:auto}.client-hero{padding:2rem 1rem}.client-preview>.document-section,.review-downloads{padding:1rem}}
@media print{#documentsPanel{display:none!important}.client-panel{display:block!important}.client-hero{background:#fff;color:var(--ink);padding:0;border-bottom:4px solid var(--gold)}.client-hero h1{color:var(--navy)}.review-downloads button,.review-downloads input,.review-downloads label{display:none!important}.link-row{display:block}.client-lock{display:none}}
.download-notice{border-left:5px solid var(--teal);background:#eef8f8;padding:1rem;margin-bottom:1.5rem}.download-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.download-card{border:1px solid var(--line);border-radius:8px;padding:1rem;background:#fbfcfe;display:flex;flex-direction:column;align-items:flex-start}.download-card h4{font:700 .95rem Arial,sans-serif;overflow-wrap:anywhere;flex:1}.package-button{margin:0 0 2rem}.complete-package{border:2px solid var(--gold);background:#fff8e6;border-radius:9px;padding:1.25rem}.complete-package .package-button{margin:0}
@media(max-width:900px){.download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.download-grid{grid-template-columns:1fr}}
@media print{#downloadsPanel{display:none!important}}
