:root{--navy:#0c2340;--navy-2:#153557;--accent:#1a80e0;--accent-light:#e8f2fc;--bg:#f7f9fc;--card-bg:#fff;--border:#e2e6ed;--text:#1a1a2e;--muted:#5a6275;--success:#1a6e2e;--success-bg:#edf7ef;--error:#b91c1c;--warn:#92400e;--radius:10px;--radius-lg:16px;--admin-shell:#14141f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.85em}.block{display:block}.app-shell{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.top-nav{background:var(--navy);color:#fff;z-index:100;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.top-nav .brand{color:#fff;flex-direction:column;line-height:1.15;text-decoration:none;display:inline-flex}.top-nav .brand .brand-name{letter-spacing:-.01em;align-items:center;font-size:1.05rem;font-weight:700;display:inline-flex}.top-nav .brand .brand-sub{letter-spacing:.08em;text-transform:uppercase;color:#93c5fd;font-size:.62rem;font-weight:600}.top-nav nav{align-items:center;gap:1rem;display:flex}.top-nav .nav-link{color:#ffffffbf;font-size:.9rem;text-decoration:none;transition:color .15s}.top-nav .nav-link:hover{color:#fff}.top-nav .muted{color:#b8c6db}.link-btn{color:#ffffffbf;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.link-btn.danger{color:#ff8a80}.company-name-btn{color:var(--navy);font-weight:700;text-decoration:none}.company-name-btn:hover{text-decoration:underline}.admin-shell{--accent:#7c3aed;--accent-light:#efe7fd;--bg:#f5f2fb}.admin-shell .top-nav{background:var(--admin-shell);border-bottom:2px solid var(--accent)}.admin-pill{background:var(--accent);color:#fff;letter-spacing:.1em;text-transform:uppercase;vertical-align:middle;border-radius:20px;align-items:center;gap:.25rem;margin-left:.55rem;padding:3px 10px;font-size:.65rem;font-weight:800;display:inline-flex}.eyebrow{background:var(--accent-light);color:var(--navy-2);letter-spacing:.08em;text-transform:uppercase;border-radius:20px;margin-bottom:.5rem;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-block}.app-main{flex:1;padding:2rem 1.5rem 4rem}.page{max-width:980px;margin:0 auto}.page.narrow{max-width:720px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.page-header h1{margin:0 0 .25rem}.btn{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text);background:#fff;padding:.55rem 1rem;font-size:.9rem;text-decoration:none;display:inline-block}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.small{padding:.35rem .7rem;font-size:.8rem}.btn.danger{background:var(--error);color:#fff;border-color:var(--error)}.btn:disabled,.btn.disabled{opacity:.55;cursor:not-allowed}span.btn.disabled{display:inline-block}.btn-row{flex-wrap:wrap;gap:.5rem;display:flex}.auth-page{background:linear-gradient(160deg, var(--navy) 0%, #1a3d6b 100%);justify-content:center;align-items:center;min-height:calc(100vh - 60px);margin:-2rem -1.5rem -4rem;padding:3rem 1.5rem;display:flex}.idle-lock-overlay{z-index:1000;background:linear-gradient(160deg, var(--navy) 0%, #1a3d6b 100%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-card{background:var(--card-bg);border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:var(--radius-lg);flex-direction:column;gap:.85rem;width:100%;max-width:380px;padding:2.25rem 2rem;display:flex;box-shadow:0 20px 45px #0c234059}.auth-eyebrow{align-self:flex-start}.auth-card h1{color:var(--navy);margin:0;font-size:1.5rem}.auth-card label{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600;display:flex}.auth-card input{font-weight:400}.auth-card>button[type=submit]{width:100%;margin-top:.25rem}input,textarea,select{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:6px;padding:.55rem .6rem;font-family:inherit;font-size:.95rem}input:disabled,textarea:disabled,select:disabled{color:#667;background:#f1f3f6}.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1rem;display:grid}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);flex-direction:column;gap:.4rem;padding:1rem;text-decoration:none;display:flex}.card h3{margin:0}.empty-state{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;margin-top:1rem;padding:2rem}.badge{background:var(--accent-light);color:var(--navy-2);border-radius:999px;width:fit-content;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.stacked-form{flex-direction:column;gap:1.25rem;display:flex}fieldset{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);padding:1rem 1.25rem 1.25rem;scroll-margin-top:80px}legend{padding:0 .4rem;font-weight:700}.danger-zone{border-color:var(--error);background:#fff5f5;margin-top:1.25rem}.danger-zone legend{color:var(--error)}.danger-zone-delete{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.stacked-form label,.form-section label{flex-direction:column;gap:.3rem;margin-bottom:.75rem;font-size:.9rem;font-weight:600;display:flex}.field-grid{grid-template-columns:1fr 1fr;gap:0 1.25rem;display:grid}.field.span-2{grid-column:1/-1}.checkbox-row{align-items:center;gap:.5rem;flex-direction:row!important;font-weight:400!important;display:flex!important}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.4rem;margin-bottom:.75rem;display:grid}.radio-row{flex-wrap:wrap;gap:1rem;display:flex}.radio-inline{align-items:center;gap:.35rem;flex-direction:row!important;font-weight:400!important;display:flex!important}.matrix-table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.85rem}.matrix-table th,.matrix-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.5rem}.matrix-table ul{margin:0;padding-left:1.1rem}.form-section{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1.25rem 1.5rem}.form-section h2{margin-top:0}.control-question{border-top:1px solid var(--border);padding:1.25rem 0}.control-question:first-of-type{border-top:none}.control-question h3{align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.control-question.optional{opacity:.9}.tag{text-transform:uppercase;border-radius:4px;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.tag.mandatory{color:var(--error);background:#fdecea}.control-text{margin-bottom:.65rem}.label-strong{margin:0 0 .25rem;font-size:.85rem;font-weight:700}.pre-wrap{white-space:pre-line;color:#33404d;margin:0;font-size:.9rem}.response-label{margin-top:.75rem}.evidence-uploader{margin-top:.35rem}.evidence-list{flex-direction:column;gap:.25rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.evidence-list li{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.review-control{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:.6rem;margin:.5rem 0 1.25rem;padding-top:.5rem;display:flex}.review-status{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.review-status-pending{color:var(--muted);background:#eef0f4}.review-status-approved{background:var(--success-bg);color:var(--success)}.review-status-rejected{color:var(--error);background:#fdecea}.review-reason-label{flex-direction:column;gap:.25rem;width:100%;margin-top:.35rem;font-size:.85rem;font-weight:600;display:flex}.ai-suggestion{border-radius:var(--radius);border:1px dashed var(--border);background:#f7f8fb;width:100%;margin-top:.35rem;padding:.5rem .7rem}.ai-suggestion-badge{letter-spacing:.02em;background:var(--accent-light);color:var(--navy-2);white-space:nowrap;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:700}.ai-suggestion-sufficient .ai-suggestion-badge{background:var(--success-bg);color:var(--success)}.ai-suggestion-insufficient .ai-suggestion-badge,.ai-suggestion-error .ai-suggestion-badge{color:var(--error);background:#fdecea}.ai-suggestion-needs_more_info .ai-suggestion-badge{color:var(--warn);background:#fdf3e3}.ai-suggestion-detail{margin-top:.4rem}.ai-suggestion-detail ul{margin:.3rem 0;padding-left:1.2rem}.ai-help-btn{background:var(--accent-light);color:var(--navy-2);cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:.3rem;margin-left:.5rem;padding:.15rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.ai-help-btn:hover{border-color:var(--accent)}.ai-help-overlay{z-index:500;background:#0c101c8c;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.ai-help-modal{background:var(--card-bg);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:560px;max-height:min(80vh,640px);display:flex;box-shadow:0 20px 60px #0000004d}.ai-help-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.ai-help-modal-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 .2rem;font-size:.68rem;font-weight:700}.ai-help-modal-question{margin:0;font-weight:700}.ai-help-modal-body{flex-direction:column;flex:1;gap:.6rem;padding:1rem 1.25rem;display:flex;overflow-y:auto}.ai-help-msg{border-radius:var(--radius);white-space:pre-wrap;max-width:90%;padding:.55rem .8rem;font-size:.9rem;line-height:1.45}.ai-help-msg-assistant{background:var(--accent-light);color:var(--text);align-self:flex-start}.ai-help-msg-user{background:var(--navy);color:#fff;align-self:flex-end}.ai-help-msg-loading{color:var(--muted);font-style:italic}.ai-help-disclaimer{margin:.25rem 0 0;padding:0 1.25rem}.ai-help-input-row{align-items:flex-end;gap:.5rem;padding:.75rem 1.25rem 1rem;display:flex}.ai-help-input-row textarea{resize:none;flex:1}.review-reason-label textarea{font-weight:400}.rejection-preview-list{margin:.5rem 0 0;padding-left:1.2rem}.rejection-preview-list li{margin-bottom:.25rem}.review-progress{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;padding:.9rem 1rem}.review-progress-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.review-progress-head strong{color:var(--navy);font-size:1.1rem}.review-progress-bar{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.review-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .25s}.review-progress p{margin:.5rem 0 0}.mini-progress{align-items:center;gap:.5rem;min-width:90px;display:flex}.mini-progress-bar{background:var(--border);border-radius:999px;flex-shrink:0;width:60px;height:6px;overflow:hidden}.mini-progress-fill{background:var(--accent);border-radius:999px;height:100%}.sticky-actions{border:1px solid var(--border);border-radius:var(--radius);background:#fff;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 12px #0000000f}.status-badge{white-space:nowrap;border-radius:999px;padding:.2rem .7rem;font-size:.75rem;font-weight:700;display:inline-block}.status-draft{color:#475467;background:#eef0f3}.status-submitted{background:var(--accent-light);color:var(--navy-2)}.status-under_review{color:var(--warn);background:#fef3c7}.status-changes_requested{color:var(--error);background:#fdecea}.status-approved{background:var(--success-bg);color:var(--success)}.alert{border-radius:var(--radius);margin-bottom:1rem;padding:.65rem 1rem;font-size:.9rem}.alert.error{color:var(--error);background:#fdecea}.alert.success{background:var(--success-bg);color:var(--success)}.alert.info{background:var(--accent-light);color:var(--navy-2)}.alert.warning{color:var(--warn);background:#fef3c7}.table-wrap{overflow-x:auto}table{border-collapse:collapse;background:var(--card-bg);border-radius:var(--radius);width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .8rem;font-size:.9rem}th{text-transform:uppercase;color:var(--muted);background:#f8fafc;font-size:.8rem}.filter-row{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.chip{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:.3rem .8rem;font-size:.8rem}.chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.admin-panel{background:#fbfcfe}.admin-comments{border-top:1px solid var(--border);margin-top:1rem;padding-top:.75rem}.comment{border-radius:var(--radius);background:#f8fafc;margin-bottom:.5rem;padding:.6rem .8rem}.comment p{margin:0 0 .25rem}.readonly-list{grid-template-columns:1fr 1fr;gap:.5rem 1.5rem;margin:0 0 1rem;display:grid}.readonly-list dt{color:var(--muted);font-size:.8rem;font-weight:700}.readonly-list dd{margin:0}.page-loading{text-align:center;padding:3rem}@media (width<=640px){.field-grid,.readonly-list{grid-template-columns:1fr}}.guide-page fieldset{background:0 0;border:none;padding:0}.guide-page legend{margin-bottom:.5rem;padding:0;font-size:1.1rem}.progress-bar{background:var(--border);border-radius:999px;height:6px;margin-bottom:1.25rem;overflow:hidden}.progress-bar-fill{background:var(--accent);height:100%;transition:width .2s}.guide-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1rem;padding:1.5rem}.radio-option{border-bottom:1px solid var(--border);align-items:flex-start;gap:.6rem;padding:.6rem 0;flex-direction:row!important;font-weight:400!important;display:flex!important}.radio-option:last-child{border-bottom:none}.radio-option input{margin-top:.2rem}.result-banner{background:var(--accent-light);border-radius:var(--radius);margin-bottom:1rem;padding:1.25rem}.result-banner h2{color:var(--navy-2);margin:.25rem 0 .5rem}.matrix-details{margin-bottom:1.5rem}.guide-cta{margin-top:1.25rem}.checklist{flex-direction:column;gap:.9rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.checklist li{border-bottom:1px solid var(--border);padding-bottom:.75rem}.checklist-item-title{align-items:center;gap:.6rem;display:flex}.checklist.optional li{border-bottom:none;padding-bottom:0}@media print{.top-nav,.no-print{display:none!important}.app-main{padding:0}.guide-card,.form-section{box-shadow:none;border:none}}.supply-chain-row{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:.75rem 1rem}.config-needed{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.config-needed-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:560px;padding:2rem}.config-needed-card h1{color:var(--error);margin-top:0;font-size:1.3rem}.config-needed-card code{background:#f1f3f6;border-radius:4px;padding:.1rem .4rem;font-size:.9em}.config-needed-card ul,.config-needed-card ol{padding-left:1.3rem}.config-needed-card li{margin-bottom:.4rem}.trust-page{max-width:760px}.trust-hero{background:linear-gradient(160deg, var(--navy) 0%, #1a3d6b 100%);color:#fff;border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:2.25rem 2rem}.trust-hero .eyebrow{color:#fff;background:#ffffff26}.trust-hero h1{color:#fff;margin:.3rem 0 .15rem}.trust-hero .trust-company{color:var(--accent-light);margin:0 0 .6rem;font-size:1.05rem;font-weight:600}.trust-hero .badge{margin:.3rem 0 .6rem}.trust-hero p,.trust-hero a{color:#ffffffd9}.trust-hero a{color:#cfe6fc}.trust-section{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:1.25rem;padding:1.5rem 1.75rem}.trust-section h2{margin-top:0;font-size:1.1rem}.trust-cert-grid{gap:.75rem;margin-top:.75rem;display:grid}.trust-cert-row{border-radius:var(--radius);background:#f7f9fc;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .8rem;display:flex}.trust-cert-label{min-width:200px;font-weight:600}.trust-custom-fields{gap:.6rem;margin:.75rem 0 0;display:grid}.trust-custom-field{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.4rem;padding:.5rem 0;display:flex}.trust-custom-field:last-child{border-bottom:none}.trust-custom-field dt{min-width:160px;font-weight:600}.trust-custom-field dd{color:var(--muted);margin:0}.trust-footer{text-align:center;margin-top:2rem}.activity-log{gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.activity-log li{border-radius:var(--radius);background:#f7f9fc;padding:.6rem .8rem}.activity-log li p{margin:.2rem 0 0}.activity-log-detail{color:var(--muted);font-size:.9rem}.internal-notes,.bulk-send-bar{border-left:4px solid var(--accent)}.due-soon-list{gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.due-soon-list li{border-radius:var(--radius);background:#f7f9fc;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem .8rem;display:flex}.resource-list{gap:.9rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.resource-list li p{margin:.15rem 0 0}.admin-invite-banner{text-align:center;border-radius:0;margin:0}.status-badge{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:700;display:inline-block}.status-badge.tone-success{background:var(--success-bg);color:var(--success)}.status-badge.tone-info{background:var(--accent-light);color:var(--navy-2)}.status-badge.tone-warning{color:var(--warn);background:#fef3c7}.status-badge.tone-error{color:var(--error);background:#fdecea}.service-finder{margin-top:.5rem}.service-selected-list{border-radius:var(--radius);background:#f7f9fc;margin-bottom:.75rem;padding:.75rem .9rem}.service-results{border:1px solid var(--border);border-radius:var(--radius);max-height:420px;margin:.75rem 0 0;padding:0;list-style:none;overflow-y:auto}.service-result{border-bottom:1px solid var(--border);padding:.55rem .8rem}.service-result:last-child{border-bottom:none}.service-result.selected{background:var(--accent-light)}.service-result .checkbox-row{align-items:flex-start}.journey-product-picker{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.journey-product-picker label{flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600;display:flex}.journey-overall-progress{margin-bottom:1.5rem}.journey-stages{flex-direction:column;gap:.75rem;display:flex}.journey-stage{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.journey-stage.open{border-color:var(--accent)}.journey-stage-header{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:.9rem;padding:1rem 1.25rem;display:flex}.journey-stage-num{background:var(--accent-light);width:2rem;height:2rem;color:var(--navy-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.journey-stage.open .journey-stage-num{background:var(--accent);color:#fff}.journey-stage-heading{flex-direction:column;flex:1;gap:.1rem;display:flex}.journey-stage-question{color:var(--navy);font-weight:700}.journey-stage-title{color:var(--text-muted,#5b6472);font-size:.85rem}.journey-stage-body{border-top:1px solid var(--border);padding:1rem 1.25rem 1.25rem}.journey-item-list{flex-direction:column;gap:.65rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.journey-item{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.65rem;display:flex}.journey-item:last-child{border-bottom:none;padding-bottom:0}.journey-item-disabled{opacity:.5}.journey-item-disabled .checkbox-row,.journey-item-disabled input[type=checkbox]{cursor:not-allowed}.journey-locked-notice{background:var(--accent-light,#eef4ff);border:1px solid var(--border);color:var(--muted,#5a6472);border-radius:6px;margin:0 0 .75rem;padding:.6rem .85rem;font-size:.85rem}.journey-item-link{white-space:nowrap;flex-shrink:0;font-size:.85rem;font-weight:600}.journey-help-cta{color:var(--navy-2);background:var(--accent-light);border-radius:var(--radius);padding:.4rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}
