:root{--primary: #0D7377;--primary-dark: #095456;--primary-light: #14B8A6;--accent: #AAE0FA;--navy: #1E293B;--text-dark: #0F172A;--text: #475569;--text-light: #94A3B8;--bg-light: #F8FAFC;--bg-white: #FFFFFF;--border: #E2E8F0;--success: #059669;--success-bg: #ECFDF5;--error: #C0392B;--warn: #B45309;--radius: .75rem;--radius-lg: 1rem;--shadow: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .1);--font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--transition: .2s ease;--on-primary: #FFFFFF;--primary-tint: #E7F4F4;--border-strong: #94A3B8;--focus: #0D7377;--success-border: #A7F3D0;--warn-bg: #FFFBEB;--warn-border: #FCD34D;--error-bg: #FDF2F1;--error-border: #F1B8B1;--scrim: rgba(15, 23, 42, .55);--ticket-bg: #FFFFFF;--ticket-rule: var(--primary)}*{box-sizing:border-box}html,body{margin:0;padding:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}body{font-family:var(--font);color:var(--text);line-height:1.6;background:var(--bg-light);min-height:100vh;-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;flex-direction:column}.portal-page{flex:1;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem}.portal-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;overflow:hidden}.portal-card--narrow{max-width:440px}.portal-header{background:linear-gradient(135deg,#d0d1d3 0%,var(--accent) 50%,#d0d1d3 100%);padding:1.75rem 1.75rem 1.5rem;text-align:center}.portal-header h1{font-size:1.4rem;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin:0;color:#0b1220}.portal-header__task{margin:.3rem 0 0;font-size:.95rem;font-weight:600;color:#0f172ab8}.portal-body{padding:1.75rem}.section+.section{margin-top:1.5rem}.section-title{margin:0 0 .75rem;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary-dark)}.info{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);padding:.35rem 1rem}.info-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;padding:.55rem 0;flex-wrap:wrap}.info-row+.info-row{border-top:1px solid var(--border)}.info-label{color:var(--text);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;min-width:0;overflow-wrap:anywhere}.info-value{color:var(--text-dark);font-weight:600;font-size:.95rem;text-align:right;min-width:0;overflow-wrap:anywhere}.totals{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.totals-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;padding:.6rem 1rem}.totals-row+.totals-row{border-top:1px solid var(--border)}.totals-label{color:var(--text);font-size:.92rem}.totals-label small{display:block;color:var(--text-light);font-size:.78rem;font-weight:400}.totals-value{color:var(--text-dark);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.totals-row--payable{background:var(--bg-light)}.totals-row--payable .totals-label{font-weight:700;color:var(--text-dark)}.totals-row--payable .totals-value{color:var(--primary-dark);font-size:1.1rem}.lineitems{margin:0}details>summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}.lineitems--cards{list-style:none;padding:0;display:grid;gap:.5rem}.lineitems--table{display:none}.lineitem-card{border:1px solid var(--border);border-radius:var(--radius);padding:.65rem .85rem;background:var(--bg-light)}.lineitem-card__head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem 1rem}.lineitem-card__item{font-weight:700;color:var(--text-dark);overflow-wrap:anywhere}.lineitem-card__fee{color:var(--text-dark);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.lineitem-card__desc{margin:.25rem 0 0;font-size:.85rem;color:var(--text);overflow-wrap:anywhere}@media(min-width:481px){.lineitems--cards{display:none}.lineitems--table{display:table;width:100%;border-collapse:collapse}.lineitems--table th,.lineitems--table td{border:1px solid var(--border);padding:.5rem .75rem;text-align:left;font-size:.9rem;vertical-align:top;overflow-wrap:anywhere}.lineitems--table thead th{background:var(--bg-light);color:var(--text);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.lineitems--table td{color:var(--text-dark)}.lineitems--table .item{width:1%;white-space:nowrap;overflow-wrap:normal}.lineitems--table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}}.radio-group{border:none;margin:0 0 1.25rem;padding:0;display:grid;gap:.5rem}.radio-group legend{padding:0;margin-bottom:.15rem;font-weight:600;color:var(--text-dark);font-size:.9rem}.radio{display:flex;align-items:center;gap:.6rem;font-size:.92rem;color:var(--text-dark);cursor:pointer}.radio input[type=radio]{width:1.15rem;height:1.15rem;accent-color:var(--primary);flex-shrink:0}.terms{background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;font-size:.92rem;color:var(--text-dark)}.terms p{margin:0 0 .7rem}.terms p:last-child{margin-bottom:0}.terms ul{margin:0 0 .7rem;padding-left:1.2rem}.terms li{margin-bottom:.4rem}.draft-flag{margin:.75rem 0 0;font-size:.78rem;color:var(--warn)}.field{display:grid;gap:.35rem;margin-bottom:1rem}.field label{font-weight:600;color:var(--text-dark);font-size:.9rem}.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=number],.field select,.field textarea{width:100%;min-height:2.9rem;padding:.7rem .85rem;border:1px solid var(--border-strong);border-radius:var(--radius);font-family:var(--font);font-size:1rem;color:var(--text-dark);background:var(--bg-white);transition:border-color var(--transition),box-shadow var(--transition)}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2.5rem;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 1.15rem) 50%,calc(100% - .8rem) 50%;background-size:.35rem .35rem;background-repeat:no-repeat}.field input[type=text]:focus,.field input[type=email]:focus,.field input[type=tel]:focus,.field input[type=number]:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0d737726}.field-hint{margin:0;font-size:.82rem;line-height:1.4;color:var(--text)}.input-group{display:flex;align-items:stretch}.input-group__addon{display:inline-flex;align-items:center;padding:0 .8rem;border:1px solid var(--border-strong);border-right:0;border-radius:var(--radius) 0 0 var(--radius);background:var(--bg-light);color:var(--text-dark);font-weight:600;font-variant-numeric:tabular-nums}.input-group input{border-radius:0 var(--radius) var(--radius) 0}.agree{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:1.25rem;font-size:.92rem;color:var(--text-dark);cursor:pointer}.agree input[type=checkbox]{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--primary);flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:2.9rem;padding:.8rem 1rem;border:none;border-radius:var(--radius);background:var(--primary);color:var(--on-primary);font-family:var(--font);font-weight:700;font-size:1rem;cursor:pointer;text-align:center;transition:background var(--transition)}.btn:hover:not(:disabled){background:var(--primary-dark)}.btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn+.btn{margin-top:.6rem}.btn--ghost{background:transparent;color:var(--primary-dark);border:1px solid var(--border-strong)}.btn--ghost:hover:not(:disabled){background:var(--bg-light)}.btn--danger{background:var(--error);color:#fff}.btn--danger:hover:not(:disabled){background:#9c2e22}.linkish{flex:none;min-height:2.75rem;padding:.5rem .75rem;border:none;background:transparent;border-radius:.5rem;color:var(--primary-dark);font:inherit;font-weight:600;font-size:.9rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.linkish:hover{background:#0d73771a}.linkish:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.spinner-sm{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.4);border-top-color:var(--on-primary);border-radius:50%;animation:spin .8s linear infinite;flex:none}.method-panel{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.method-panel--bare{margin-top:0;padding-top:0;border-top:0}.method-panel__title{margin:0 0 .35rem;font-size:1.1rem;font-weight:700;line-height:1.3;color:var(--text-dark)}.method-panel__lede{margin:0 0 1.1rem;font-size:.92rem;color:var(--text)}.panel-enter{animation:panelIn .22s ease-out}@keyframes panelIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.status-msg{min-height:1.25rem;margin:.75rem 0 0;font-size:.92rem;text-align:center;color:var(--error)}.notice{display:flex;gap:.85rem;align-items:flex-start;padding:1rem 1.1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-light)}.notice--success{background:var(--success-bg);border-color:var(--success-border)}.notice--warn{background:var(--warn-bg);border-color:var(--warn-border)}.notice--error{background:var(--error-bg);border-color:var(--error-border)}.notice__icon{flex-shrink:0;color:var(--primary)}.notice--success .notice__icon{color:var(--success)}.notice--warn .notice__icon{color:var(--warn)}.notice--error .notice__icon{color:var(--error)}.notice__title{margin:0 0 .25rem;font-weight:700;color:var(--text-dark)}.notice__body{margin:0;font-size:.92rem;color:var(--text)}.centered{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem}.spinner{width:2.25rem;height:2.25rem;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;margin:0 auto 1rem;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--text)}.reconnect-banner{background:var(--warn);color:#fff;text-align:center;font-size:.85rem;padding:.4rem 1rem}.site-footer{background:var(--navy);padding:1rem;text-align:center}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.4rem}.footer-links a{color:var(--accent);text-decoration:none;font-size:.88rem;font-weight:600}.footer-links a:hover{text-decoration:underline}.footer-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.footer-copyright{color:var(--text-light);font-size:.78rem;margin:0}.trust{display:flex;align-items:center;justify-content:center;gap:.45rem;margin-top:1.25rem;color:var(--text);font-size:.82rem}.trust svg{flex-shrink:0;color:var(--primary)}.text-link{color:var(--primary-dark);font-weight:600;text-underline-offset:2px}.text-link:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}.powered-by{margin-top:.4rem;text-align:center;color:var(--text);font-size:.78rem}.powered-by__brand{color:var(--primary-dark);font-weight:600;text-decoration:none}.powered-by__brand:hover{text-decoration:underline}.powered-by__brand:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px;text-decoration:underline}dialog.confirm{border:none;padding:0;width:min(28rem,calc(100% - 2rem));border-radius:var(--radius-lg);background:var(--bg-white);color:var(--text);box-shadow:var(--shadow-lg)}dialog.confirm::backdrop{background:var(--scrim)}.confirm__inner{padding:1.4rem 1.4rem 1.25rem}.confirm__title{margin:0 0 .5rem;font-size:1.15rem;font-weight:700;color:var(--text-dark)}.confirm__body{margin:0 0 1.2rem;font-size:.95rem}@media(max-width:480px){dialog.confirm{margin:auto 0 0;width:100%;max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.confirm__inner{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px))}}.field textarea{min-height:7.5rem;line-height:1.5;resize:vertical}.field textarea::placeholder,.field input::placeholder{color:var(--text);opacity:.85}.field textarea:disabled,.field input:disabled{background:var(--bg-light);color:var(--text);cursor:not-allowed}.field textarea[aria-invalid=true],.field input[aria-invalid=true]{border-color:var(--error)}.field textarea[aria-invalid=true]:focus,.field input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #c0392b26}.field-error{margin:0;font-size:.85rem;line-height:1.4;font-weight:600;color:var(--error)}.field-unit{display:flex;align-items:center;gap:.6rem}.field-unit input{max-width:7rem}.field-unit__unit{color:var(--text);font-weight:600}.char-count{margin:0;font-size:.78rem;text-align:right;color:var(--text);font-variant-numeric:tabular-nums}.char-count--near{color:var(--warn)}.char-count--over{color:var(--error);font-weight:700}.pq-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.pq-card+.pq-card,.pq-card+.panel,.panel+.pq-card{margin-top:1rem}.pq-card__title{margin:0 0 .75rem;font-size:1.05rem;font-weight:700;line-height:1.3;color:var(--text-dark)}.pq-card__intro{margin:0 0 1rem;font-size:.92rem;color:var(--text)}.pq-question{display:grid;gap:.6rem;padding:.85rem 0}.pq-question:first-child{padding-top:0}.pq-question:last-child{padding-bottom:0}.pq-question+.pq-question{border-top:1px solid var(--border)}.pq-question__text{margin:0;padding:0;font-size:.95rem;font-weight:600;color:var(--text-dark)}@media(min-width:481px){.pq-question--inline{grid-template-columns:1fr auto;align-items:center;column-gap:1rem}}.seg{display:inline-flex;margin:0;padding:3px;gap:3px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-light);min-width:0}.seg__opt{position:relative;flex:1;display:flex}.seg__opt input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.seg__opt span{flex:1;display:flex;align-items:center;justify-content:center;min-width:5rem;min-height:2.75rem;padding:.4rem 1rem;border-radius:calc(var(--radius) - 3px);font-weight:600;font-size:.95rem;color:var(--text-dark);transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.seg__opt:hover input:not(:disabled)+span{background:var(--primary-tint)}.seg__opt input:checked+span{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow)}.seg__opt input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.seg__opt input:disabled{cursor:not-allowed}.seg__opt input:disabled+span{opacity:.6}.seg__opt input:disabled:checked+span{opacity:.75}.seg[aria-invalid=true]{border-color:var(--error)}.check-group{border:none;margin:0;padding:0;display:grid;gap:.25rem;min-width:0}.check{display:flex;align-items:center;gap:.75rem;min-height:2.75rem;padding:.45rem .6rem;border-radius:.5rem;font-size:.95rem;color:var(--text-dark);cursor:pointer}.check:hover{background:var(--bg-light)}.check:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:0}.check input[type=checkbox]{width:1.25rem;height:1.25rem;margin:0;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.check input[type=checkbox]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.check:has(input:disabled){cursor:not-allowed;color:var(--text)}.check:has(input:disabled):hover{background:transparent}@media(min-width:481px){.check-group{grid-template-columns:1fr 1fr;column-gap:.75rem}}.panel{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--transition)}.panel+.panel{margin-top:.75rem}.panel--open{border-color:var(--primary)}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;min-height:2.75rem;padding:.85rem 1.1rem;border:none;background:var(--bg-white);font:inherit;text-align:left;color:var(--text-dark);cursor:pointer;transition:background var(--transition)}.panel__header:hover{background:var(--bg-light)}.panel--open .panel__header{background:var(--primary-tint);border-bottom:1px solid var(--border)}.panel__header:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.panel__title{flex:1;font-weight:700;font-size:.98rem}.panel--open .panel__title{color:var(--primary-dark)}.panel__meta{flex:none;font-size:.82rem;font-weight:600;color:var(--text)}.panel__chevron{flex:none;color:var(--text);transition:transform var(--transition)}.panel--open .panel__chevron{transform:rotate(180deg);color:var(--primary-dark)}.panel__body{padding:.75rem 1.1rem 1rem}.panel__body[hidden]{display:none}.status-strip{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.25rem;padding:.4rem 1rem;background:var(--bg-white);border-bottom:1px solid var(--border);font-size:.85rem;font-weight:600;color:var(--text)}.status-strip svg{flex:none}.status-strip--saving{color:var(--text)}.status-strip--saved{color:var(--success)}.status-strip--error{background:var(--error-bg);border-bottom-color:var(--error-border);color:var(--error)}.status-strip--invalid{background:var(--warn-bg);border-bottom-color:var(--warn-border);color:var(--warn)}.readonly-value{margin:0;padding:.6rem .85rem;background:var(--bg-light);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dark);font-size:.95rem;white-space:pre-wrap;overflow-wrap:anywhere}.readonly-value--empty{color:var(--text);font-style:italic}@media(max-width:380px){.portal-body{padding:1.25rem}.portal-header{padding:1.5rem 1.25rem 1.25rem}}@media(prefers-reduced-motion:reduce){*,.spinner{transition:none!important;animation:none!important}}
