:root{--gf-primary: #3ad99f;--gf-jungle-green: #28c391;--gf-jungle-dark: #12af7d;--gf-frosted-mint: #e7faf3;--gf-light-frosted-mint: #f4fdfa;--gf-primary-light: #b9eeda;--gf-brand-darker: #062726;--gf-brand-dark-grey: #324b4a;--gf-brand-mint: #f5faf7;--gf-brand-light: #cdfbe4;--gf-fusion-blue: #0054b1;--gf-sapphire-sky: #4f8ddf;--gf-sunstone: #eb5d38;--gf-graphite: #4d4f5c;--gf-steel-smoke: #6e7781;--gf-glaciar-gray: #aab9cb;--gf-silken-gray: #e5e5e5;--gf-polar-mist: #eff2f6;--gf-bg: #fbfbfb;--gf-white: #ffffff;--gf-pearly-white: #f4f4f4;--gf-success: #3ad99f;--gf-success-bg: #e7faf3;--gf-error: #f65335;--gf-error-dark: #e14c31;--gf-error-bg: #ffeeeb;--gf-warning: #ffb641;--gf-warning-dark: #e09f35;--gf-warning-bg: #fff8eb;--gf-info: #4f8ddf;--gf-link: #0054b1;--gf-font: "Source Sans 3", Inter, "DM Sans", system-ui, -apple-system, sans-serif;--gf-space-1: 4px;--gf-space-2: 8px;--gf-space-3: 12px;--gf-space-4: 16px;--gf-space-6: 24px;--gf-space-8: 32px;--gf-space-12: 48px;--gf-space-16: 64px;--gf-radius-sm: 4px;--gf-radius-md: 6px;--gf-radius-lg: 8px;--gf-radius-xlg: 12px;--gf-radius-full: 9999px;--gf-shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--gf-shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--gf-shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--gf-ease: cubic-bezier(.2, 0, 0, 1);--gf-ease-in: cubic-bezier(0, 0, .2, 1);--gf-t: .18s var(--gf-ease);--gf-content-max-width: 1200px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--gf-font);font-weight:400;font-size:16px;color:var(--gf-graphite);background:var(--gf-bg);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4{color:var(--gf-brand-dark-grey);font-weight:600;line-height:1.3}a{color:var(--gf-link);text-decoration:underline}.gf-page{min-height:100%;display:flex;flex-direction:column}.gf-shell{flex:1;width:100%;max-width:760px;margin:0 auto;padding:var(--gf-space-8) var(--gf-space-6) var(--gf-space-16)}.gf-shell-wide{max-width:1140px}.gf-center{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--gf-space-8) var(--gf-space-6)}.gf-topbar{display:flex;align-items:center;gap:var(--gf-space-3);height:76px;padding:0 var(--gf-space-6);border-bottom:1px solid var(--gf-polar-mist);background:var(--gf-white)}.gf-logo{display:flex;align-items:center;text-decoration:none}.gf-logo img{height:36px;width:auto;display:block}.gf-progress{position:sticky;top:0;z-index:5;background:var(--gf-bg);padding:var(--gf-space-3) 0 var(--gf-space-2)}.gf-progress-track{height:6px;border-radius:var(--gf-radius-full);background:var(--gf-polar-mist);overflow:hidden}.gf-progress-bar{height:100%;background:var(--gf-primary);border-radius:var(--gf-radius-full);transition:width .2s var(--gf-ease)}.gf-progress-label{margin-top:var(--gf-space-2);font-size:12px;color:var(--gf-steel-smoke)}.gf-step-title{font-size:28px;font-weight:600;margin:var(--gf-space-2) 0 var(--gf-space-1)}.gf-step-sub{color:var(--gf-steel-smoke);margin:0 0 var(--gf-space-8);font-size:16px}.gf-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;color:var(--gf-jungle-dark)}.gf-field{margin-bottom:var(--gf-space-6)}.gf-label{display:block;font-weight:600;font-size:14px;margin-bottom:var(--gf-space-2);color:var(--gf-graphite)}.gf-label .gf-req{color:var(--gf-error);margin-left:var(--gf-space-1)}.gf-help{font-size:12px;color:var(--gf-steel-smoke);margin:-2px 0 var(--gf-space-2)}.gf-input,.gf-textarea,.gf-select{width:100%;font-family:inherit;font-size:16px;color:var(--gf-graphite);padding:12px 14px;border:1px solid var(--gf-glaciar-gray);border-radius:var(--gf-radius-lg);background:var(--gf-white);transition:border-color var(--gf-t),box-shadow var(--gf-t)}.gf-input::placeholder,.gf-textarea::placeholder{color:var(--gf-glaciar-gray)}.gf-input:focus,.gf-textarea:focus,.gf-select:focus{outline:none;border-color:var(--gf-primary);box-shadow:0 0 0 3px var(--gf-frosted-mint)}.gf-textarea{min-height:96px;resize:vertical}.gf-input-suffix{position:relative}.gf-input-suffix .gf-suffix{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--gf-steel-smoke);font-size:14px;pointer-events:none}.gf-choices{display:grid;gap:var(--gf-space-3)}.gf-choice{display:flex;align-items:center;gap:var(--gf-space-3);width:100%;text-align:left;font-size:16px;color:var(--gf-graphite);padding:14px 16px;border:1px solid var(--gf-silken-gray);border-radius:var(--gf-radius-lg);background:var(--gf-white);cursor:pointer;transition:background var(--gf-t),border-color var(--gf-t)}.gf-choice:hover{background:var(--gf-pearly-white)}.gf-choice.is-selected{border-color:var(--gf-primary);background:var(--gf-frosted-mint)}.gf-choice .gf-radio{width:18px;height:18px;flex:none;border-radius:var(--gf-radius-full);border:1px solid var(--gf-glaciar-gray);position:relative}.gf-choice.is-selected .gf-radio{border-color:var(--gf-primary)}.gf-choice.is-selected .gf-radio:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:var(--gf-radius-full);background:var(--gf-primary)}.gf-choice .gf-choice-icon{width:28px;height:28px;flex:none;object-fit:contain}.gf-toggle{display:inline-flex;border:1px solid var(--gf-glaciar-gray);border-radius:var(--gf-radius-sm);overflow:hidden;background:var(--gf-white)}.gf-toggle button{border:none;background:transparent;font-family:inherit;font-size:14px;font-weight:600;padding:9px 24px;cursor:pointer;color:var(--gf-steel-smoke);transition:background var(--gf-t),color var(--gf-t)}.gf-toggle button.is-on{background:var(--gf-primary);color:var(--gf-white)}.gf-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--gf-space-2);font-family:inherit;font-size:14px;font-weight:600;border:1px solid transparent;border-radius:var(--gf-radius-sm);padding:10px 20px;cursor:pointer;transition:background var(--gf-t),border-color var(--gf-t),color var(--gf-t)}.gf-btn-primary{background:var(--gf-primary);color:var(--gf-white)}.gf-btn-primary:hover{background:var(--gf-jungle-green)}.gf-btn-primary:active{background:var(--gf-jungle-dark)}.gf-btn-primary:disabled{background:var(--gf-polar-mist);color:var(--gf-glaciar-gray);cursor:not-allowed}.gf-btn-ghost{background:transparent;color:var(--gf-graphite);border-color:var(--gf-glaciar-gray)}.gf-btn-ghost:hover{background:var(--gf-pearly-white)}.gf-btn-text{background:transparent;color:var(--gf-jungle-dark);border:none;padding:var(--gf-space-2) var(--gf-space-1);font-weight:600}.gf-btn-text:hover{text-decoration:underline}.gf-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--gf-space-3);margin-top:var(--gf-space-8)}.gf-hint{display:flex;gap:var(--gf-space-2);padding:var(--gf-space-3) var(--gf-space-4);border-radius:var(--gf-radius-md);font-size:14px;margin:var(--gf-space-2) 0}.gf-hint-info{background:var(--gf-frosted-mint);border-left:3px solid var(--gf-primary);color:var(--gf-jungle-dark)}.gf-hint-soft{background:var(--gf-warning-bg);border-left:3px solid var(--gf-warning);color:var(--gf-warning-dark)}.gf-hint-error{background:var(--gf-error-bg);border-left:3px solid var(--gf-error);color:var(--gf-error-dark)}.gf-card{background:var(--gf-white);border:1px solid var(--gf-polar-mist);border-radius:var(--gf-radius-lg);padding:var(--gf-space-6)}.gf-collapse{border:1px solid var(--gf-polar-mist);border-radius:var(--gf-radius-lg);margin:var(--gf-space-6) 0;overflow:hidden;background:var(--gf-white)}.gf-collapse summary{list-style:none;cursor:pointer;padding:var(--gf-space-4);font-weight:600;font-size:14px;color:var(--gf-graphite);display:flex;justify-content:space-between;align-items:center}.gf-collapse summary::-webkit-details-marker{display:none}.gf-collapse summary:after{content:"+";font-size:20px;color:var(--gf-steel-smoke)}.gf-collapse[open] summary:after{content:"–"}.gf-collapse-body{padding:0 var(--gf-space-4) var(--gf-space-4)}.gf-hero{text-align:center;max-width:720px}.gf-hero h1{font-size:36px;margin-bottom:var(--gf-space-2)}.gf-hero p{font-size:16px;color:var(--gf-steel-smoke)}.gf-typecards{display:grid;grid-template-columns:1fr 1fr;gap:var(--gf-space-6);margin-top:var(--gf-space-12);text-align:left}.gf-typecard{background:var(--gf-white);border:1px solid var(--gf-polar-mist);border-radius:var(--gf-radius-xlg);padding:var(--gf-space-8);cursor:pointer;text-decoration:none;color:inherit;transition:border-color var(--gf-t),box-shadow var(--gf-t);display:flex;flex-direction:column}.gf-typecard:hover{border-color:var(--gf-primary);box-shadow:var(--gf-shadow-md)}.gf-typecard-icon{width:48px;height:48px;margin-bottom:var(--gf-space-4);object-fit:contain}.gf-typecard h2{font-size:21px;margin:0 0 var(--gf-space-2)}.gf-typecard p{color:var(--gf-steel-smoke);flex:1;font-size:14px}.gf-typecard .gf-badge{align-self:flex-start;background:var(--gf-frosted-mint);color:var(--gf-jungle-dark);font-size:12px;font-weight:600;padding:var(--gf-space-1) var(--gf-space-3);border-radius:var(--gf-radius-full);margin-bottom:var(--gf-space-4)}.gf-grid-wrap{overflow-x:auto;border:1px solid var(--gf-polar-mist);border-radius:var(--gf-radius-lg);background:var(--gf-white)}table.gf-grid{border-collapse:collapse;width:100%;font-size:14px}table.gf-grid-systems{table-layout:fixed;min-width:720px}table.gf-grid-systems th:nth-child(1),table.gf-grid-systems td:nth-child(1){width:58px}table.gf-grid-systems th:nth-child(3),table.gf-grid-systems td:nth-child(3){width:76px}table.gf-grid-systems th:nth-child(4),table.gf-grid-systems td:nth-child(4){width:130px}table.gf-grid-systems th:nth-child(5),table.gf-grid-systems td:nth-child(5){width:150px}table.gf-grid-systems th:nth-child(6),table.gf-grid-systems td:nth-child(6){width:92px}table.gf-grid-systems th:nth-child(7),table.gf-grid-systems td:nth-child(7){width:140px}table.gf-grid-systems th:nth-child(8),table.gf-grid-systems td:nth-child(8){width:104px}table.gf-grid th,table.gf-grid td{border-bottom:1px solid var(--gf-polar-mist);border-right:1px solid var(--gf-polar-mist);padding:var(--gf-space-1) var(--gf-space-2);text-align:left;white-space:nowrap}table.gf-grid th{background:var(--gf-frosted-mint);color:var(--gf-graphite);font-weight:600;position:sticky;top:0}table.gf-grid tr:hover td{background:var(--gf-light-frosted-mint)}table.gf-grid td.gf-rownum{background:var(--gf-pearly-white);font-weight:600;text-align:center;position:sticky;left:0}table.gf-grid input,table.gf-grid select{width:100%;min-width:0;font-family:inherit;font-size:14px;color:var(--gf-graphite);border:1px solid transparent;background:transparent;padding:6px 8px;border-radius:var(--gf-radius-sm)}table.gf-grid input:focus,table.gf-grid select:focus{outline:none;border-color:var(--gf-primary);background:var(--gf-white)}.gf-grid-req{border-bottom:2px solid var(--gf-sunstone)!important}.gf-col-num input,input.gf-col-num{text-align:right}.gf-col-actions{white-space:nowrap;text-align:center}.gf-autocomplete{position:relative}.gf-suggestions{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);background:var(--gf-white);border:1px solid var(--gf-polar-mist);border-radius:var(--gf-radius-lg);box-shadow:var(--gf-shadow-md);max-height:220px;overflow-y:auto;list-style:none;margin:0;padding:var(--gf-space-1)}.gf-suggestions li{padding:var(--gf-space-2) var(--gf-space-3);border-radius:var(--gf-radius-md);cursor:pointer;font-size:14px}.gf-suggestions li:hover,.gf-suggestions li.is-active{background:var(--gf-frosted-mint)}.gf-consent{display:flex;gap:var(--gf-space-3);align-items:flex-start;background:var(--gf-frosted-mint);border-left:3px solid var(--gf-primary);border-radius:var(--gf-radius-md);padding:var(--gf-space-4);font-size:14px;color:var(--gf-brand-dark-grey);margin:var(--gf-space-2) 0 var(--gf-space-6)}.gf-consent input{margin-top:2px;width:18px;height:18px;accent-color:var(--gf-primary);flex:none}.gf-thanks{text-align:center;max-width:560px}.gf-thanks .gf-check{width:80px;height:80px;border-radius:var(--gf-radius-full);background:var(--gf-frosted-mint);display:flex;align-items:center;justify-content:center;margin:0 auto var(--gf-space-6)}.gf-thanks h1{font-size:28px}.gf-thanks p{font-size:16px;color:var(--gf-steel-smoke)}.gf-chips{display:flex;flex-wrap:wrap;gap:var(--gf-space-2)}.gf-chip{display:inline-flex;align-items:center;gap:var(--gf-space-2);border:1px solid transparent;background:var(--gf-polar-mist);color:var(--gf-graphite);border-radius:var(--gf-radius-full);padding:9px 16px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background var(--gf-t),color var(--gf-t),border-color var(--gf-t)}.gf-chip:hover{background:var(--gf-silken-gray)}.gf-chip.is-selected{background:var(--gf-frosted-mint);border-color:var(--gf-primary);color:var(--gf-jungle-dark)}.gf-chip-icon{width:20px;height:20px;object-fit:contain}.gf-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#06272666;display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--gf-space-4)}.gf-modal{max-width:640px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:var(--gf-shadow-lg)}.gf-toast{position:fixed;right:20px;bottom:20px;z-index:40;width:320px;max-width:calc(100vw - 32px);background:var(--gf-white);border:1px solid var(--gf-polar-mist);border-left:3px solid var(--gf-primary);border-radius:var(--gf-radius-lg);box-shadow:var(--gf-shadow-lg);padding:18px 18px 16px}.gf-toast-min{position:absolute;top:8px;right:8px;width:26px;height:26px;border:none;background:transparent;color:var(--gf-steel-smoke);font-size:20px;line-height:1;border-radius:var(--gf-radius-sm);cursor:pointer}.gf-toast-min:hover{background:var(--gf-pearly-white)}.gf-toast-pill{position:fixed;right:20px;bottom:20px;z-index:40;border:none;background:var(--gf-primary);color:var(--gf-white);font-family:inherit;font-size:14px;font-weight:600;padding:12px 18px;border-radius:var(--gf-radius-full);box-shadow:var(--gf-shadow-md);cursor:pointer;transition:background var(--gf-t)}.gf-toast-pill:hover{background:var(--gf-jungle-green)}@media (max-width: 640px){.gf-toast{right:12px;left:12px;bottom:12px;width:auto}.gf-toast-pill{right:12px;bottom:12px}}.gf-row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--gf-space-4)}.gf-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.5);border-top-color:var(--gf-white);border-radius:50%;animation:gf-spin .7s linear infinite}@keyframes gf-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.gf-typecards,.gf-row2{grid-template-columns:1fr}.gf-hero h1{font-size:28px}.gf-step-title{font-size:23px}}
