:root{--blue:#0485fe;--navy:#0a192f;--navy-soft:#142640;--white:#ffffff;--gray-50:#f6f8fb;--gray-100:#e9eef5;--gray-500:#64748b;--gray-800:#1e293b;--success:#087f5b;--danger:#b42318;--shadow:0 16px 40px rgba(10,25,47,0.08);--page-bg:#f6f8fb;--card-bg:#ffffff;--input-bg:#ffffff;--input-border:#cbd5e1;--sidebar-bg:#0a192f;--sidebar-soft:#142640;--sidebar-text:#ffffff;--sidebar-muted:#93a4ba;--sidebar-link:#c9d5e5;--sidebar-border:#2a3c55;--focus-ring:rgba(4,133,254,0.28);--blue-soft:#edf7ff;--blue-badge-bg:#e8f4ff;--blue-badge-text:#24587f;--success-bg:#e5f8f0;--success-text:#087f5b;--danger-bg:#fff0f0;--danger-text:#9b1c1c;--warning-bg:#fff8dd;--warning-text:#674d00;--warning-border:#f4c95d;--retired-bg:#eef1f4;--retired-text:#5f6670;--login-glow:#dcefff;--on-blue:#ffffff;--on-blue-muted:#eaf5ff;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--font-xs:0.75rem;--font-sm:0.875rem;--font-md:1rem;--font-lg:1.125rem;--font-xl:1.5rem;--line-tight:1.2;--line-normal:1.5;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--control-height-sm:2rem;--control-height-md:2.75rem;--control-height-lg:3.25rem;--choice-control-size:1.25rem;--textarea-height-sm:5rem;--textarea-height-md:8rem;--textarea-height-lg:12rem;--card-padding-compact:1rem;--card-padding-standard:1.5rem;--card-padding-highlight:1.75rem;--card-shadow:0 6px 18px rgba(10,25,47,0.08);--transition-fast:150ms ease}:root[data-theme=dark]{--navy:#eef4fb;--white:#142238;--gray-50:#101b2c;--gray-100:#2a3a51;--gray-500:#aab8ca;--gray-800:#e5edf7;--success:#67d7aa;--danger:#ff938b;--shadow:0 18px 45px rgba(0,0,0,0.28);--page-bg:#0d1726;--card-bg:#142238;--input-bg:#0f1c2e;--input-border:#3a4c64;--sidebar-bg:#081322;--sidebar-soft:#142640;--sidebar-muted:#a6b5c8;--sidebar-link:#d1dbea;--sidebar-border:#2d405a;--focus-ring:rgba(4,133,254,0.42);--blue-soft:#102c47;--blue-badge-bg:#123858;--blue-badge-text:#9bd0ff;--success-bg:#12382f;--success-text:#8be2be;--danger-bg:#442326;--danger-text:#ffaaa4;--warning-bg:#3c321b;--warning-text:#f4d987;--warning-border:#806a2b;--retired-bg:#293444;--retired-text:#c1cad7;--login-glow:#102b46;--card-shadow:0 8px 24px rgba(0,0,0,0.24)}*{box-sizing:border-box}html{min-height:100%;color-scheme:light;-webkit-text-size-adjust:100%}:root[data-theme=dark]{color-scheme:dark}body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--gray-800);background:var(--page-bg);font-size:var(--font-md);line-height:var(--line-normal)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1{margin:0 0 .75rem;font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}h1,h2{color:var(--navy)}h2{margin:0 0 .5rem;font-size:1.1rem}p{line-height:1.55}.eyebrow{color:var(--blue);font-size:.75rem;font-weight:800;letter-spacing:.14em;margin-bottom:.6rem}.lead{font-size:1.05rem;max-width:62rem}.lead,.muted{color:var(--gray-500)}.login-page{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background:radial-gradient(circle at top right,var(--login-glow) 0,var(--page-bg) 38%)}.login-card{width:min(100%,430px);padding:var(--card-padding-highlight);border:1px solid var(--gray-100);border-radius:var(--radius-xl);background:var(--card-bg);box-shadow:var(--shadow)}.login-brand{display:flex;align-items:center;gap:.8rem;margin-bottom:1.5rem;color:var(--navy);font-size:1.25rem;font-weight:850}.login-logo{display:block;width:46px;height:46px;object-fit:contain}.login-card .button{width:100%;height:var(--control-height-lg);min-height:var(--control-height-lg);font-size:var(--font-md)}.stack{display:grid;grid-gap:var(--space-4);gap:var(--space-4);margin-top:var(--space-6)}label{display:grid;grid-gap:var(--space-2);gap:var(--space-2);font-size:var(--font-sm);font-weight:700;line-height:var(--line-tight)}input,label{color:var(--navy)}input{width:100%;height:var(--control-height-md);min-height:var(--control-height-md);padding:0 var(--space-3);border:1px solid var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);font-size:var(--font-md);line-height:var(--line-normal);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}input::placeholder,textarea::placeholder{color:var(--gray-500);opacity:.9}input:focus{outline:3px solid var(--focus-ring);outline-offset:2px;border-color:var(--blue)}select{width:100%;height:var(--control-height-md);min-height:var(--control-height-md);padding:0 2.25rem 0 var(--space-3);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--navy);background:var(--input-bg);font-size:var(--font-md);line-height:var(--line-normal);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}select:focus{outline:3px solid var(--focus-ring);outline-offset:2px;border-color:var(--blue)}textarea{width:100%;min-height:var(--textarea-height-sm);padding:var(--space-3);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--navy);background:var(--input-bg);resize:vertical;line-height:var(--line-normal);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}textarea[rows="4"],textarea[rows="5"]{min-height:var(--textarea-height-md)}textarea[rows="10"],textarea[rows="11"]{min-height:var(--textarea-height-lg)}textarea:focus{outline:3px solid var(--focus-ring);outline-offset:2px;border-color:var(--blue)}input[type=checkbox],input[type=radio]{width:var(--choice-control-size);height:var(--choice-control-size);min-height:var(--choice-control-size);flex:0 0 var(--choice-control-size);padding:0;accent-color:var(--blue)}input[type=file]{padding:var(--space-1) var(--space-2)}input[type=file]::-webkit-file-upload-button{min-height:var(--control-height-sm);margin-right:var(--space-2);border:0;border-radius:var(--radius-sm);padding:0 var(--space-3);color:var(--navy);background:var(--gray-100);cursor:pointer;font:inherit;font-size:var(--font-xs);font-weight:750}input[type=file]::file-selector-button{min-height:var(--control-height-sm);margin-right:var(--space-2);border:0;border-radius:var(--radius-sm);padding:0 var(--space-3);color:var(--navy);background:var(--gray-100);cursor:pointer;font:inherit;font-size:var(--font-xs);font-weight:750}input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58;background:var(--gray-50)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);padding:0 var(--space-4);cursor:pointer;font-size:var(--font-sm);font-weight:750;line-height:1;text-align:center;transition:filter var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.button,.button-md,.button.medium{height:var(--control-height-md);min-height:var(--control-height-md)}.button-sm,.button.small{height:var(--control-height-sm);min-height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--font-xs)}.button-lg,.button.large{height:var(--control-height-lg);min-height:var(--control-height-lg);padding:0 var(--space-6);font-size:var(--font-md)}.button-full,.button.full{width:100%}.button.primary{color:var(--on-blue);background:var(--blue)}.button.secondary{color:var(--navy);background:var(--gray-100)}.button.danger{color:var(--on-blue);background:var(--danger-text)}.button.ghost{border-color:var(--input-border);color:var(--navy);background:transparent}.button:hover{filter:brightness(.96);transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:disabled{cursor:not-allowed;opacity:.45}.button:disabled:hover{filter:none;transform:none}.inline-link{display:inline-flex}.button:focus-visible,.link-button:focus-visible,a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.link-button{min-height:var(--control-height-sm);border:0;padding:0;color:var(--sidebar-link);background:transparent;cursor:pointer;text-align:left}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:1.25rem;color:var(--sidebar-text);background:var(--sidebar-bg)}.brand{display:flex;align-items:center;gap:.75rem;font-size:1.15rem;font-weight:850}.brand-logo{display:block;width:34px;height:34px;flex:0 0 34px;object-fit:contain}.brand-name{line-height:1}.sidebar nav{display:grid;grid-gap:.35rem;gap:.35rem;margin-top:2.5rem}.sidebar nav a{display:flex;min-height:var(--control-height-md);align-items:center;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--sidebar-link);transition:color var(--transition-fast),background var(--transition-fast)}.sidebar nav a:hover{color:var(--sidebar-text);background:var(--sidebar-soft)}.notification-badge{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;margin-left:.4rem;padding:0 .3rem;border-radius:999px;color:#fff;background:var(--danger-text);font-size:.68rem}.sidebar-user{display:grid;grid-gap:.35rem;gap:.35rem;margin-top:auto;padding:1rem .85rem 0;border-top:1px solid var(--sidebar-border)}.sidebar-user small{color:var(--sidebar-muted)}.appearance-control{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:.8rem;padding-bottom:.8rem;border-bottom:1px solid var(--sidebar-border)}.appearance-control label{color:var(--sidebar-muted);font-size:.68rem;letter-spacing:.1em}.appearance-control select{min-height:var(--control-height-sm);padding:0 2rem 0 var(--space-2);border-color:var(--sidebar-border);color:var(--sidebar-text);background:var(--sidebar-soft);font-size:.78rem;font-weight:750}.appearance-control small{min-height:1em;color:var(--sidebar-muted);font-size:.68rem}.content-shell{min-width:0}.content{max-width:1180px;margin:0 auto;padding:3rem}.mobile-header{display:none}.grid.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4);margin-top:var(--space-8)}.card{padding:var(--card-padding-standard);border:1px solid var(--gray-100);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--card-shadow)}.card-compact,.card.compact{padding:var(--card-padding-compact);border-radius:var(--radius-md)}.card-highlight,.card.highlight{padding:var(--card-padding-highlight);border-color:var(--blue)}.card p{color:var(--gray-500)}.grid.cards>a.card{transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.grid.cards>a.card:hover{transform:translateY(-2px);border-color:var(--blue);box-shadow:var(--shadow)}.badge{display:inline-flex;min-height:1.5rem;align-items:center;justify-content:center;padding:0 var(--space-2);border-radius:var(--radius-pill);color:var(--blue-badge-text);background:var(--blue-badge-bg);font-size:.72rem;font-weight:800;line-height:1}.badge.active{color:var(--success-text);background:var(--success-bg)}.badge.inactive{color:var(--danger-text);background:var(--danger-bg)}.alert{padding:var(--space-3) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);line-height:var(--line-normal)}.alert.error{border-color:color-mix(in srgb,var(--danger-text) 35%,transparent);color:var(--danger);background:var(--danger-bg)}.alert.success{border-color:color-mix(in srgb,var(--success-text) 35%,transparent);color:var(--success);background:var(--success-bg)}.alert.warning{border-color:var(--warning-border);color:var(--warning-text);background:var(--warning-bg)}.alert.info{border-color:color-mix(in srgb,var(--blue) 35%,transparent);color:var(--blue-badge-text);background:var(--blue-soft)}.admin-grid{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.5fr);grid-gap:1.25rem;gap:1.25rem;margin-top:2rem;align-items:start}.user-card,.user-list{display:grid;grid-gap:1rem;gap:1rem}.user-card p{margin:.25rem 0 .75rem}.user-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--gray-100)}.contact-actions .button,.owner-editor>summary,.proposal-mini-actions .button,.user-actions .button{min-height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--font-xs)}.inline-form{display:flex;flex:1 1 320px;gap:.5rem}.inline-form input{min-width:160px}.configuration-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin:2rem 0}.section-title{margin-top:2rem}.version-list{display:grid;grid-gap:.65rem;gap:.65rem}.version-row{display:grid;grid-template-columns:1fr auto minmax(220px,auto);grid-gap:1rem;gap:1rem;align-items:center}.version-row span:first-child{display:grid;grid-gap:.25rem;gap:.25rem}.status-active{color:var(--success-text);background:var(--success-bg)}.status-draft{color:var(--blue-badge-text);background:var(--blue-badge-bg)}.status-retired{color:var(--retired-text);background:var(--retired-bg)}.validation-card{display:grid;grid-gap:1rem;gap:1rem;margin:1.5rem 0}.button-row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.issue-list{margin:0;padding-left:1.25rem;color:var(--danger)}.configuration-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;align-items:start}.configuration-card.wide{grid-column:1/-1}.configuration-card pre{overflow-x:auto;padding:.9rem;border-radius:8px;background:var(--gray-50);white-space:pre-wrap;line-height:1.5}.field-help{margin:var(--space-1) 0 var(--space-3);color:var(--gray-500);font-size:.82rem;font-weight:400;line-height:var(--line-normal)}.stack.compact{margin-top:.75rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4);align-items:start}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.page-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.5rem}.filter-bar{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;align-items:end;grid-gap:var(--space-3);gap:var(--space-3);margin:var(--space-6) 0;padding:var(--card-padding-compact);border:1px solid var(--gray-100);border-radius:var(--radius-lg);background:var(--card-bg)}.filter-bar .button{width:auto;min-width:6.5rem;justify-self:start}.proposal-list{display:grid;grid-gap:.75rem;gap:.75rem}.proposal-row{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(110px,.65fr)) minmax(150px,.8fr) minmax(150px,.8fr);grid-gap:1rem;gap:1rem;align-items:center;transition:transform .15s ease,box-shadow .15s ease}.proposal-row:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.proposal-row span{display:grid;grid-gap:.25rem;gap:.25rem}.concept-row small,.proposal-row small{display:block;color:var(--gray-500);font-weight:400}.wizard-shell{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:1.25rem;gap:1.25rem;align-items:start}.wizard-shell.single{grid-template-columns:minmax(0,820px);justify-content:center}.wizard-main{min-width:0}.wizard-progress{display:grid;grid-template-columns:repeat(7,minmax(80px,1fr));grid-gap:.35rem;gap:.35rem;margin:1.5rem 0;overflow-x:auto}.wizard-progress a{display:grid;grid-gap:.4rem;gap:.4rem;padding:.65rem;border-radius:9px;color:var(--gray-500);background:var(--gray-100);font-size:.72rem;font-weight:750}.wizard-progress a span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--card-bg)}.wizard-progress a.current{color:var(--on-blue);background:var(--blue)}.wizard-progress a.current span{color:var(--blue)}.wizard-progress a.done{color:var(--success-text);background:var(--success-bg)}.wizard-form{margin-top:1rem}.wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--gray-100)}.wizard-actions .button{height:var(--control-height-md);min-height:var(--control-height-md)}.wizard-actions .primary{min-width:12rem}.wizard-actions .secondary{min-width:7rem}.wizard-summary{position:-webkit-sticky;position:sticky;top:1.25rem;display:grid;grid-gap:.6rem;gap:.6rem}.wizard-summary p{margin:0}.wizard-summary hr{width:100%;border:0;border-top:1px solid var(--gray-100)}.live-summary{max-height:calc(100vh - 2.5rem);overflow-y:auto;align-content:start}.preview-status{color:var(--blue)}.summary-secondary{font-size:1.15rem}.summary-group{display:grid;grid-gap:.25rem;gap:.25rem;padding-top:.45rem;border-top:1px solid var(--gray-100)}.summary-group>small{font-weight:800;text-transform:uppercase;letter-spacing:.04em}.summary-reasons{margin:0;padding-left:1rem;color:var(--gray-500);font-size:.78rem}.term-picker{display:grid;grid-gap:.5rem;gap:.5rem}.quick-term-buttons{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.4rem;gap:.4rem}.quick-term-buttons button{height:var(--control-height-sm);min-height:var(--control-height-sm);border:1px solid var(--input-border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--navy);padding:0 var(--space-2);cursor:pointer;font-size:var(--font-xs);line-height:1;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.quick-term-buttons button:hover{border-color:var(--blue);background:var(--blue-soft)}.quick-term-buttons button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.quick-term-buttons button.selected{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);font-weight:800}.choice-fieldset{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin:0;padding:var(--card-padding-compact);border:1px solid var(--gray-100);border-radius:var(--radius-md)}.choice-fieldset legend{padding:0 var(--space-1);color:var(--navy);font-size:var(--font-sm);font-weight:800}.summary-price{color:var(--navy);font-size:1.5rem}.check-row{display:flex;grid-template-columns:none;min-height:var(--control-height-sm);align-items:center;gap:var(--space-2);font-weight:650;line-height:var(--line-normal)}.check-row input{width:var(--choice-control-size);height:var(--choice-control-size)}.license-options{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));grid-gap:.6rem;gap:.6rem;overflow-x:auto}.choice-card{display:grid;min-width:120px;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--card-padding-compact);border:1px solid var(--gray-100);border-radius:var(--radius-md);background:var(--card-bg);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.choice-card:hover{border-color:var(--input-border);background:var(--gray-50)}.choice-card input{width:var(--choice-control-size);height:var(--choice-control-size)}.choice-card.selected{border-color:var(--blue);box-shadow:0 0 0 3px var(--focus-ring)}.calculation-strip{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-3);gap:var(--space-3);padding:var(--card-padding-compact);border-radius:var(--radius-md);background:var(--blue-soft)}.calculation-strip span{display:grid;grid-gap:.25rem;gap:.25rem}.area-selector,.module-grid{display:flow-root}.progressive-fields{display:grid;grid-gap:.85rem;gap:.85rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-100)}.progressive-info{padding:1rem;border-radius:10px;background:var(--gray-50)}.progressive-info p{margin:.35rem 0 0}.calculated-info{display:grid;grid-gap:var(--space-1);gap:var(--space-1);align-content:center;min-height:calc(var(--control-height-md) + var(--space-6));padding:var(--space-3);border:1px solid var(--gray-100);border-radius:var(--radius-md);background:var(--gray-50)}.calculated-info>span{color:var(--gray-500);font-size:var(--font-xs);font-weight:750;line-height:var(--line-tight);text-transform:uppercase;letter-spacing:.035em}.calculated-info>strong{color:var(--navy);font-size:var(--font-lg);line-height:var(--line-tight)}.calculated-info>small{color:var(--gray-500);font-size:var(--font-xs);line-height:var(--line-normal)}.calculated-info.highlight{border-color:var(--blue);background:var(--blue-soft)}.calculated-info-pair{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;grid-gap:var(--space-3);gap:var(--space-3)}.calculated-info-pair>.calculated-info{height:100%}.area-choice.collapsed,.module-choice.collapsed{box-shadow:none}.separated-option{padding-top:.85rem;border-top:1px solid var(--gray-100)}.implementation-card{border-left:4px solid var(--blue)}.module-price{display:block;margin:.4rem 0;color:var(--navy);font-size:1.35rem}.area-choice,.module-choice{width:calc((100% - var(--space-3)) / 2);margin:0 0 var(--space-3);box-shadow:none}.area-choice:nth-child(odd),.module-choice:nth-child(odd){float:left;clear:left}.area-choice:nth-child(2n),.module-choice:nth-child(2n){float:right;clear:right}.area-choice small,.module-choice small{color:var(--gray-500)}.toggle-price{display:grid;grid-template-columns:1fr 1fr;align-items:end;grid-gap:.5rem;gap:.5rem;margin:.5rem 0}.result-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;grid-gap:1rem;gap:1rem;margin-top:1.25rem}.result-card{align-self:start;box-shadow:none}.alert-panel,.result-card:first-child{grid-column:1/-1}.alternative-grid,.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));grid-gap:.65rem;gap:.65rem}.metric{display:grid;grid-gap:var(--space-1);gap:var(--space-1);padding:var(--card-padding-compact);border-radius:var(--radius-md);background:var(--gray-50)}.metric span{color:var(--gray-500);font-size:.76rem}.metric.featured{color:var(--on-blue);background:var(--blue)}.metric.featured span{color:var(--on-blue-muted)}.explanation{padding:.8rem;border-left:3px solid var(--blue);background:var(--blue-soft)}.concept-list{display:grid;grid-gap:.2rem;gap:.2rem}.concept-row,.concept-total{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--gray-100)}.concept-total{margin-top:.5rem;border-bottom:0;color:var(--navy);font-size:1.05rem}.configuration-warning{display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--warning-border);border-radius:var(--radius-md);color:var(--warning-text);background:var(--warning-bg)}.configuration-warning p{margin:.25rem 0 0}.emission-status{margin:var(--space-4) 0;padding:var(--space-4);border:1px solid transparent;border-radius:var(--radius-md)}.emission-status.ready{color:var(--success-text);background:var(--success-bg)}.emission-status.blocked{color:var(--danger-text);background:var(--danger-bg)}.emission-status p{margin-bottom:0}.emitted-summary{display:grid;grid-gap:.9rem;gap:.9rem;margin:1rem 0;border-left:5px solid var(--success-text)}.emitted-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.emitted-summary-grid p{display:grid;grid-gap:.3rem;gap:.3rem;margin:0;padding:.85rem;border-radius:9px;background:var(--gray-50)}.emitted-summary-grid span{color:var(--gray-500);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.proposal-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin:1rem 0}.internal-notes{margin:1rem 0}.governance-card{display:grid;grid-gap:1rem;gap:1rem;margin:1rem 0}.governance-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.governance-heading .eyebrow,.governance-heading h2{margin-top:0}.authorization-list,.reviewer-grid{display:grid;grid-gap:.65rem;gap:.65rem}.reviewer-row{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(160px,auto);grid-gap:1rem;gap:1rem;align-items:center;padding:.8rem;border-radius:9px;background:var(--gray-50)}.reviewer-row span:first-child{display:grid;grid-gap:.25rem;gap:.25rem}.reviewer-row small{color:var(--gray-500)}.governance-actions{padding-top:.5rem}.authorization-row{display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(300px,.8fr);grid-gap:1rem;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--gray-100);border-radius:10px}.closure-section,.terminal-card{display:grid;grid-gap:1.25rem;gap:1.25rem;margin:1rem 0}.closure-section{margin-top:2.25rem;box-shadow:none}.closure-section>div:first-child h2{margin-bottom:.25rem;font-size:1.15rem}.closure-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.closure-grid,.closure-option{display:grid;grid-gap:1rem;gap:1rem}.closure-option{padding:1.1rem;border:1px solid var(--gray-100);border-radius:11px;background:var(--gray-50)}.closure-option.won-form{border-top:4px solid var(--blue)}.closure-option.lost-form{border-top:4px solid var(--danger)}.terminal-confirm{padding:.8rem;border-radius:9px;background:var(--card-bg);line-height:1.4}.terminal-card.won{border-left:5px solid var(--success-text)}.terminal-card.lost{border-left:5px solid var(--danger)}.terminal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.terminal-detail-grid p{display:grid;grid-gap:.3rem;gap:.3rem;margin:0;padding:.85rem;border-radius:9px;background:var(--gray-50)}.terminal-detail-grid p.wide{grid-column:1/-1}.terminal-detail-grid span{color:var(--gray-500);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.contract-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--gray-100);border-radius:10px}.contract-row span{display:grid;grid-gap:.3rem;gap:.3rem}.terminal-warning{margin:0;color:var(--gray-500);font-size:.85rem;font-weight:650}.preserve-text{white-space:pre-wrap}.authorization-row p{margin:.35rem 0 0;color:var(--gray-500)}.authorization-form{flex-wrap:nowrap}.history{padding-top:.75rem;border-top:1px solid var(--gray-100)}.history summary{cursor:pointer;color:var(--navy);font-weight:700}.history p{margin:.6rem 0 0;font-size:.86rem}.municipality-filters{grid-template-columns:1.5fr repeat(3,minmax(150px,1fr))}.municipality-list{display:grid;grid-gap:.65rem;gap:.65rem}.municipality-list-header,.municipality-list-row{display:grid;grid-template-columns:1.1fr .9fr 1.35fr .75fr;grid-gap:1rem;gap:1rem;align-items:center}.municipality-list-header{padding:0 .9rem;color:var(--gray-500);font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.municipality-list-row{padding:1rem;border:1px solid var(--gray-100);border-left:4px solid #19915f;border-radius:12px;background:var(--card-bg);box-shadow:0 8px 20px var(--shadow)}.municipality-list-row>div{display:grid;grid-gap:.28rem;gap:.28rem;min-width:0}.municipality-list-row small{color:var(--gray-500)}.municipality-list-label{color:var(--gray-500);font-size:.66rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.municipality-name-link{display:inline-flex;justify-content:space-between;gap:.5rem;align-items:center;color:var(--navy);font-size:1rem;font-weight:800;text-decoration:underline;-webkit-text-decoration-color:var(--blue-soft);text-decoration-color:var(--blue-soft);text-underline-offset:.2rem}.municipality-name-link:hover{color:var(--blue);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.municipality-follow-up-state strong{white-space:nowrap}.follow-up-indicator{display:inline-block;width:.7rem;height:.7rem;margin-right:.45rem;border-radius:50%;vertical-align:middle}.follow-up-indicator.green{background:#19915f}.follow-up-indicator.yellow{background:#e4b51a}.follow-up-indicator.orange{background:#ed7d22}.follow-up-indicator.red{background:#c7372f}.follow-up-indicator.gray{background:#8793a3}.municipality-list-row.follow-up-yellow{border-left-color:#e4b51a}.municipality-list-row.follow-up-orange{border-left-color:#ed7d22}.municipality-list-row.follow-up-red{border-left-color:#c7372f}.municipality-list-row.follow-up-gray{border-left-color:#8793a3}.municipality-detail-grid{display:grid;grid-template-columns:1.3fr .8fr;grid-gap:1rem;gap:1rem;align-items:start}.detail-list{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.65rem;gap:.65rem}.detail-list p{display:grid;grid-gap:.25rem;gap:.25rem;margin:0;padding:.7rem;border-radius:8px;background:var(--gray-50)}.detail-list span{color:var(--gray-500);font-size:.7rem;text-transform:uppercase}.municipality-expiry-warning{justify-content:center;text-align:center}.municipality-quick-actions{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:1rem 0;padding:.8rem 1rem;box-shadow:none}.municipality-quick-actions .eyebrow{margin:0}.active-opportunity{display:grid;grid-template-columns:minmax(190px,.45fr) 1.55fr;grid-gap:1.25rem;gap:1.25rem;align-items:center;margin:1rem 0;border-left:4px solid var(--blue)}.active-opportunity>div:first-child{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.active-opportunity>div:first-child .eyebrow{flex-basis:100%;margin:0}.active-opportunity>div:first-child strong{font-size:1.15rem}.active-opportunity-grid{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));grid-gap:.55rem;gap:.55rem}.active-opportunity-grid p{display:grid;grid-gap:.2rem;gap:.2rem;margin:0;padding:.7rem;border-radius:8px;background:var(--gray-50)}.active-opportunity-grid span{color:var(--gray-500);font-size:.68rem;font-weight:750;text-transform:uppercase}.active-opportunity-grid small{color:var(--gray-500)}.municipality-owner{display:flex;flex-wrap:wrap;gap:.45rem 1rem;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-100)}.municipality-owner>span{color:var(--gray-500);font-size:.76rem;font-weight:750;text-transform:uppercase}.owner-editor{margin-left:auto}.owner-editor>summary{display:inline-flex;list-style:none;cursor:pointer}.owner-editor[open]{flex-basis:100%;margin:.5rem 0 0}.next-action-card h2{margin-bottom:.4rem}.contact-grid,.municipality-section{margin-top:1rem}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.contact-card{display:grid;grid-gap:.85rem;gap:.85rem;padding:1rem;border:1px solid var(--gray-100);border-radius:10px;background:var(--gray-50)}.contact-card-heading{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.contact-card-heading>div{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.contact-card-heading>div:first-child{display:grid;grid-gap:.2rem;gap:.2rem}.contact-card-heading small{color:var(--gray-500)}.badge.principal{color:var(--success-text);background:var(--success-bg);border:1px solid var(--success-text)}.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.55rem;gap:.55rem}.contact-details p{display:grid;grid-gap:.15rem;gap:.15rem;margin:0;overflow-wrap:anywhere}.contact-details span,.contact-notes span{display:block;color:var(--gray-500);font-size:.68rem;font-weight:750;text-transform:uppercase}.contact-notes{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.contact-actions{display:flex;flex-wrap:wrap;gap:.45rem}.contact-actions .button{white-space:nowrap}.contact-editor{padding-top:.75rem;border-top:1px solid var(--gray-100)}.contact-editor>summary{cursor:pointer;color:var(--navy);font-weight:750}.contact-editor>form{margin-top:.75rem}.inactive-contact{opacity:.65}.new-contact{margin-top:1rem}.new-contact>summary{display:inline-flex;list-style:none}.wide-field{grid-column:1/-1}.proposal-mini-row{display:grid;grid-template-columns:1.1fr .55fr .85fr 1fr .75fr auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--gray-100)}.proposal-mini-row>div{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.proposal-mini-row small{color:var(--gray-500)}.proposal-mini-heading{display:grid}.proposal-mini-actions{display:flex!important;flex-wrap:wrap;justify-content:flex-end}.proposal-mini-actions .button{white-space:nowrap}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:120px 1fr;grid-gap:1rem;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--gray-100)}.timeline-item time{color:var(--gray-500);font-size:.8rem}.timeline-item span{display:grid;grid-gap:.2rem;gap:.2rem}.timeline-item small{color:var(--gray-500)}.home-followups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-top:1rem}.task-row{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--gray-100)}.task-row span:first-child{display:grid;grid-gap:.2rem;gap:.2rem}.task-row small{color:var(--gray-500)}.task-row.overdue>span:last-child{color:var(--danger-text);font-weight:750}.follow-up-settings-card{display:grid;grid-gap:1rem;gap:1rem}.settings-version{display:flex;gap:.6rem;align-items:baseline}.settings-version span{color:var(--gray-500);font-size:.76rem;font-weight:750;text-transform:uppercase}.settings-version strong{color:var(--blue);font-size:1.2rem}.follow-up-settings-form{display:grid;grid-gap:1.25rem;gap:1.25rem}.follow-up-settings-form fieldset{margin:0;padding:var(--card-padding-standard);border:1px solid var(--gray-100);border-radius:var(--radius-lg)}.follow-up-settings-form legend{padding:0 var(--space-2);color:var(--navy);font-weight:800}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.75rem;gap:.75rem}.follow-up-setting{display:grid;grid-gap:var(--space-2);gap:var(--space-2);align-content:start;padding:var(--card-padding-compact);border-radius:var(--radius-md);background:var(--gray-50)}.follow-up-setting>span:first-child{color:var(--navy);font-weight:750}.follow-up-setting small{color:var(--gray-500);line-height:1.35}.setting-value{display:flex;gap:.45rem;align-items:center}.setting-value input{width:5.5rem}.follow-up-email-toggle{align-items:flex-start;padding:var(--card-padding-compact);border-radius:var(--radius-md);background:var(--gray-50)}.follow-up-email-toggle span{display:grid;grid-gap:.25rem;gap:.25rem}.settings-submit{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center}.settings-submit p{margin:0}@media (max-width:1100px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:var(--space-4) var(--space-5)}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar nav,.sidebar-user{margin-top:1rem}.content{padding:2rem 1.25rem}.admin-grid,.closure-grid,.configuration-hero,.configuration-sections,.contact-grid,.detail-list,.emitted-summary-grid,.form-grid,.grid.cards,.home-followups,.municipality-detail-grid,.proposal-meta-grid,.result-sections,.terminal-detail-grid,.two-columns,.wizard-shell{grid-template-columns:1fr}.configuration-warning,.page-heading-row{flex-direction:column}.filter-bar,.municipality-filters{grid-template-columns:1fr 1fr}.municipality-list-header{display:none}.municipality-list-row{grid-template-columns:1fr 1fr;align-items:start}.active-opportunity{grid-template-columns:1fr}.active-opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proposal-row{grid-template-columns:1fr 1fr}.proposal-row>span:first-child,.proposal-row>span:last-child{grid-column:1/-1}.wizard-summary{position:static;grid-row:1}.wizard-progress{grid-template-columns:repeat(7,120px)}.area-choice,.area-choice:nth-child(2n),.area-choice:nth-child(odd),.module-choice,.module-choice:nth-child(2n),.module-choice:nth-child(odd){float:none;clear:none;width:100%}.calculated-info-pair,.calculation-strip,.license-options{grid-template-columns:1fr}.alert-panel,.configuration-card.wide,.result-card:first-child{grid-column:auto}.version-row{grid-template-columns:1fr auto}.version-row span:last-child{grid-column:1/-1}.authorization-row,.reviewer-row{grid-template-columns:1fr}.terminal-detail-grid p.wide{grid-column:auto}.contract-row{align-items:stretch;flex-direction:column}.wide-field{grid-column:auto}.proposal-mini-row{grid-template-columns:1fr 1fr;align-items:start}.proposal-mini-actions{justify-content:flex-start}}@media (max-width:640px){h1{font-size:clamp(1.8rem,10vw,2.25rem)}.login-page{padding:var(--space-4)}.login-card{padding:var(--card-padding-standard)}.sidebar{padding:var(--space-4)}.sidebar nav{grid-template-columns:1fr 1fr;gap:var(--space-1)}.sidebar nav a{min-height:var(--control-height-sm);font-size:var(--font-sm)}.content{padding:var(--space-6) var(--space-4)}.page-heading-row{gap:var(--space-4)}.page-heading-row>.button{width:100%}.filter-bar{grid-template-columns:1fr}.filter-bar .button{width:100%}.wizard-actions{align-items:stretch;flex-direction:column-reverse}.wizard-actions .button{width:100%;min-width:0}.button-row{align-items:stretch;flex-direction:column}.button-row>.button,.button-row>form,.button-row>form>.button{width:100%}.inline-form{align-items:stretch;flex-direction:column}.inline-form input{min-width:0}.settings-submit{align-items:stretch;flex-direction:column}.settings-submit .button{width:100%}.active-opportunity-grid,.contact-details,.municipality-filters,.municipality-list-row,.proposal-mini-row{grid-template-columns:1fr}.municipality-quick-actions{align-items:flex-start;flex-direction:column}.municipality-follow-up-state strong{white-space:normal}.timeline-item{grid-template-columns:1fr;gap:.25rem}}