._button_ba484_1{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--touch-target);padding:0 var(--sp-4);border:1px solid transparent;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--fs-base);font-weight:var(--fw-bold);line-height:var(--lh-tight);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}._button_ba484_1:focus-visible{outline:none;box-shadow:var(--focus-ring)}._button_ba484_1:disabled{cursor:not-allowed;opacity:.55}._primary_ba484_31{background:var(--brand);color:var(--bg-soft)}._primary_ba484_31:hover:not(:disabled){background:var(--brand-dark)}._primary_ba484_31:active:not(:disabled){background:var(--brand-dark)}._secondary_ba484_42{background:var(--bg-soft);color:var(--brand);border-color:var(--line)}._secondary_ba484_42:hover:not(:disabled){border-color:var(--brand)}._secondary_ba484_42:active:not(:disabled){background:var(--bg)}._ghost_ba484_54{background:transparent;color:var(--brand)}._ghost_ba484_54:hover:not(:disabled){background:var(--bg)}._danger_ba484_62{background:var(--danger);color:var(--bg-soft)}._danger_ba484_62:hover:not(:disabled){background:var(--status-escalated);filter:brightness(.92)}._loading_ba484_71{pointer-events:none}._dimmedLabel_ba484_75{opacity:.75}._spinner_ba484_79{width:var(--sp-4);height:var(--sp-4);border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-pill);animation:_uiButtonSpin_ba484_1 .7s linear infinite}@keyframes _uiButtonSpin_ba484_1{to{transform:rotate(360deg)}}._banner_tmf8k_6{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:linear-gradient(135deg,var(--demo-chrome),var(--demo-chrome-2));color:var(--demo-chrome-ink)}@media (min-width: 1024px){._banner_tmf8k_6{margin-left:var(--app-sidebar-width, 224px)}}._disclosure_tmf8k_22{margin:0;font-size:var(--fs-xs);line-height:var(--lh-normal)}._eyebrow_tmf8k_28{font-weight:var(--fw-bold);letter-spacing:.12em}._promise_tmf8k_33{margin:0;font-size:var(--fs-sm);line-height:var(--lh-normal);max-width:68ch}._promiseLead_tmf8k_40{font-weight:var(--fw-medium)}._expiry_tmf8k_44{margin:0;font-size:var(--fs-xs);line-height:var(--lh-normal);color:var(--demo-chrome-ink-soft)}._expiryNormal_tmf8k_54{color:var(--demo-chrome-ink)}._expiryUrgent_tmf8k_60{color:var(--demo-chrome-ink);font-weight:var(--fw-medium);border-left:3px solid var(--warning);padding-left:var(--sp-3)}._inlineButton_tmf8k_70{display:inline-flex;align-items:center;min-height:var(--touch-target);padding:0 var(--sp-2);border:0;background:none;color:inherit;font:inherit;font-weight:var(--fw-medium);text-decoration:underline;cursor:pointer}._inlineButton_tmf8k_70:hover{background:none;color:var(--demo-chrome-ink)}._inlineButton_tmf8k_70:focus-visible{outline:2px solid var(--demo-chrome-ink);outline-offset:2px;border-radius:var(--radius-sm)}._saveBlock_tmf8k_95{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--demo-chrome-line);border-radius:var(--radius-md);background:var(--demo-chrome-fill);max-width:48ch}._fieldLabel_tmf8k_106{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--fs-sm);font-weight:var(--fw-medium)}._fieldLabel_tmf8k_106 input{min-height:var(--touch-target);padding:0 var(--sp-3);border:1px solid var(--demo-chrome-line);border-radius:var(--radius-sm);background:var(--demo-chrome-fill);color:inherit;font-size:var(--fs-base)}._fieldLabel_tmf8k_106 input::placeholder{color:var(--demo-chrome-ink-soft)}._optIn_tmf8k_128{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--touch-target);font-size:var(--fs-sm);font-weight:var(--fw-normal);cursor:pointer}._optIn_tmf8k_128 input{width:var(--sp-5);height:var(--sp-5)}._note_tmf8k_143{margin:0;font-size:var(--fs-xs);line-height:var(--lh-normal);color:var(--demo-chrome-ink-soft)}._note_tmf8k_143 a{display:inline-flex;align-items:center;min-height:var(--touch-target);padding:0 var(--sp-1);color:inherit}._note_tmf8k_143 a:focus-visible{outline:2px solid var(--demo-chrome-ink);outline-offset:2px;border-radius:var(--radius-sm)}._optionsPanel_tmf8k_166{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-4);border:1px solid var(--demo-chrome-line);border-radius:var(--radius-md);background:var(--demo-chrome-fill);max-width:48ch}._option_tmf8k_166{display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start}._optionNote_tmf8k_184{margin:0;font-size:var(--fs-xs);color:var(--demo-chrome-ink-soft)}._onChrome_tmf8k_195{background:var(--demo-chrome-fill);border-color:var(--demo-chrome-line);color:var(--demo-chrome-ink)}._onChrome_tmf8k_195:hover:not(:disabled){background:var(--demo-chrome-fill-strong);border-color:var(--demo-chrome-line);color:var(--demo-chrome-ink)}._fullWidth_tmf8k_207{width:100%;justify-content:center}._controls_tmf8k_212{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}._grow_tmf8k_221{flex:1 1 auto;justify-content:center}._extra_tmf8k_226{display:flex;flex-direction:column;gap:var(--sp-2)}@media (min-width: 560px){._fullWidth_tmf8k_207{width:auto}._grow_tmf8k_221{flex:0 0 auto}}@media (min-width: 900px){._banner_tmf8k_6{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"disclosure actions" "promise    actions" "extra      extra";align-items:start;column-gap:var(--sp-5)}._disclosure_tmf8k_22{grid-area:disclosure}._promise_tmf8k_33{grid-area:promise}._controls_tmf8k_212{grid-area:actions;justify-content:flex-end}._extra_tmf8k_226{grid-area:extra}}:root{--brand: #0e6e64;--brand-2: #17a394;--brand-dark: #0a4f48;--accent-gold: #d9a441;--accent-gold-light: #f2ce8f;--bg: #f5f4ee;--bg-soft: #ffffff;--ink: #171b18;--ink-soft: #565d56;--ink-faint: #8b9088;--line: #dedcd0;--status-resolved: #1f9d57;--status-progress: #2f6fed;--status-review: #e08600;--status-escalated: #d5432f;--success: #1f9d57;--success-soft: #e7f6ee;--info: #2f6fed;--info-soft: #eaf1fe;--warning: #e08600;--warning-soft: #fdf3e4;--danger: #d5432f;--danger-soft: #fdecea;--mascot-leaf: #3e9b6b;--mascot-leaf-dark: #2c7a52;--mascot-trunk: #8a6240;--mascot-trunk-dark: #6e4c30;--mascot-owl: #b98a5a;--mascot-owl-dark: #966c41;--mascot-owl-belly: #f0e3cf;--mascot-cheek: #f0a8a0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--fs-xs: 12px;--fs-sm: 14px;--fs-base: 16px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 36px;--fs-display: 48px;--lh-tight: 1.15;--lh-normal: 1.5;--fw-normal: 450;--fw-medium: 600;--fw-bold: 700;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 26px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .06);--shadow-2: 0 4px 16px rgba(0, 0, 0, .08);--focus-ring: 0 0 0 3px rgba(23, 163, 148, .45);--demo-chrome: #7a3a17;--demo-chrome-2: #875e24;--demo-chrome-ink: #fff6ea;--demo-chrome-fill: rgba(0, 0, 0, .22);--demo-chrome-fill-strong: rgba(0, 0, 0, .34);--demo-chrome-line: rgba(255, 255, 255, .32);--demo-chrome-ink-soft: rgba(255, 246, 234, .92);--session-chrome: #10201d;--session-chrome-2: #1c3631;--session-chrome-ink: #f2fbf9;--session-chrome-ink-soft: #a8e6da;--session-chrome-fill: rgba(255, 255, 255, .1);--session-chrome-fill-strong: rgba(255, 255, 255, .2);--session-chrome-line: rgba(255, 255, 255, .34);--transition-fast: .14s ease-out;--touch-target: 44px}:root{color-scheme:light;--bg: #f5f4ee;--bg-soft: #ffffff;--ink: #171b18;--ink-soft: #565d56;--ink-faint: #8b9088;--brand: #0e6e64;--brand-2: #17a394;--brand-dark: #0a4f48;--line: #dedcd0;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 26px;--font-body: "Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace}*{box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;background:radial-gradient(circle at 12% 15%,rgba(23,163,148,.09) 0%,transparent 25%),radial-gradient(circle at 90% 0%,rgba(14,110,100,.07) 0%,transparent 30%),var(--bg);color:var(--ink);font-family:var(--font-body)}h1,h2,h3{font-weight:640;letter-spacing:-.015em;text-wrap:balance}a{color:var(--brand);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}.link-button{background:none;border:none;padding:0;color:var(--brand);font-weight:600;font-size:inherit;font-family:inherit;cursor:pointer}.link-button:hover{text-decoration:underline}button{border:0;cursor:pointer;border-radius:10px;background:var(--brand);color:#fff;padding:.6rem .9rem;font-weight:700}button:hover{background:#0a4f48}.session-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;background:linear-gradient(135deg,var(--session-chrome) 0%,var(--session-chrome-2) 100%);color:var(--session-chrome-ink);border-bottom:1px solid rgba(255,255,255,.08)}.session-banner .btn-secondary{min-height:var(--touch-target);color:var(--session-chrome-ink);background:var(--session-chrome-fill);border-color:var(--session-chrome-line)}.session-banner .btn-secondary:hover{background:var(--session-chrome-fill-strong);border-color:var(--session-chrome-ink)}.session-user-group,.session-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.session-pill{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;background:#ffffff17;border:1px solid rgba(255,255,255,.14);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--session-chrome-ink-soft)}.session-user-group strong{letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.session-status{font-size:.76rem;letter-spacing:.09em;color:#9fe0d2;opacity:.85}.role-select{margin-left:.25rem;padding:.45rem .6rem;border-radius:8px;border:1px solid #7b6f62;background:#fff;color:#2f2318;font-weight:600}.shell{max-width:1100px;margin:0 auto;padding:1rem}.hero{border-radius:16px;padding:1.2rem;color:#fff;background:linear-gradient(135deg,#0a3d38,#17a394);box-shadow:0 20px 40px #00000026}.hero h1{margin:0;letter-spacing:.02em}.nav{display:flex;gap:.6rem;margin:1rem 0;flex-wrap:wrap}.nav-link{text-decoration:none;color:var(--ink-soft);padding:.5rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--bg-soft)}.nav-link.active{color:#fff;border-color:transparent;background:linear-gradient(110deg,var(--brand),var(--brand-2))}.grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.metric,.card{background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:1rem}.overview-panel{margin-top:1.5rem}.section-heading-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-heading-row h2{margin:.35rem 0 0}.status-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.4rem .8rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#0e6e641a;color:var(--brand)}.status-chip.success{background:#22c55e1f;color:#15803d}.profile-grid,.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.info-box,.mini-stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem}.info-box span,.mini-stat span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:.3rem}.info-box strong,.mini-stat strong{font-size:1.05rem;color:var(--ink)}.info-box.accent{background:linear-gradient(135deg,#e7f5f2,#fbfefd);border-color:#0e6e644d}.history-panel,.upcoming-panel{margin-top:1.2rem;background:#ffffffb3;border:1px solid var(--line);border-radius:12px;padding:1rem}.priority-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-top:1rem}.priority-card{display:grid;gap:.35rem;padding:1rem;border-radius:12px;background:#fff;border:1px solid var(--line)}.priority-card span{color:var(--ink-soft);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.priority-card strong{color:var(--ink);font-size:1.05rem}.priority-card small{color:var(--ink-soft)}.priority-card.danger{border-left:4px solid #ef4444;background:linear-gradient(135deg,#fff5f5,#fff)}.priority-card.warning{border-left:4px solid #f59e0b;background:linear-gradient(135deg,#fffaf0,#fff)}.history-status.subtle{background:#0e6e6414;color:var(--brand)}.history-panel h3,.upcoming-panel h3{margin:0 0 .8rem}.history-list{display:grid;gap:.65rem}.history-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px dashed var(--line);padding-bottom:.6rem}.history-item:last-child{border-bottom:none;padding-bottom:0}.history-item p{margin:.2rem 0 0;color:var(--ink-soft);font-size:.8rem}.history-status{display:inline-flex;padding:.35rem .6rem;border-radius:999px;background:#f3f4f6;color:var(--ink);font-size:.7rem;font-weight:700}.next-action-box{margin-top:1rem;padding:1rem;border-radius:12px;background:linear-gradient(135deg,#f3faf9,#fff);border:1px solid rgba(14,110,100,.2)}.next-action-box p{margin:.5rem 0 0;color:var(--ink);line-height:1.6}.mini-stat.warning{border-left:4px solid #f59e0b}.mini-stat.info{border-left:4px solid #3b82f6}.mini-stat.success{border-left:4px solid #22c55e}.mini-stat.danger{border-left:4px solid #ef4444}.upcoming-panel ul{margin:0;padding-left:1.1rem}.upcoming-panel li{line-height:1.7;color:var(--ink-soft)}.metric h3,.card h2,.card h3{margin:0 0 .5rem}.split{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.list-item{width:100%;text-align:left;display:grid;gap:.2rem;margin-bottom:.5rem;background:#fff;color:var(--ink);border:1px solid var(--line)}.list-item.active{border:2px solid var(--brand)}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.error{color:#8f2309;background:#ffdace;padding:.8rem;border-radius:8px}.explain{margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--line)}.audit-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px dashed var(--line)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at top left,rgba(23,163,148,.14),transparent 25%),radial-gradient(circle at bottom right,rgba(14,110,100,.15),transparent 28%),var(--bg)}.login-shell{width:min(1180px,100%);display:grid;grid-template-columns:minmax(280px,.95fr) minmax(380px,1.05fr);gap:1.2rem;align-items:stretch}.login-brand-panel{display:grid;align-content:space-between;gap:1.25rem;padding:2rem;border-radius:24px;color:#fff8ef;background:linear-gradient(145deg,#0e1311f7,#0a4f48e6),radial-gradient(circle at top right,rgba(23,163,148,.32),transparent 36%);box-shadow:0 28px 54px #0a141238}.login-brand-panel h1{margin:.35rem 0 .75rem;font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.05}.login-brand-panel p{margin:0;max-width:34rem;color:#fff8efd1;line-height:1.6}.login-brand-highlights{display:grid;gap:.85rem}.login-brand-highlights div{padding:1rem 1rem 1rem 1.05rem;border-radius:16px;background:#ffffff14;border:1px solid rgba(255,255,255,.12)}.login-brand-highlights strong{display:block;margin-bottom:.3rem;color:#fff6ea}.login-brand-highlights span{display:block;color:#fff8efc2;line-height:1.45}.login-card{width:100%;padding:1.6rem;border-radius:24px;box-shadow:0 26px 48px #0a14121a}.auth-form-stack{display:grid;gap:.9rem;margin-top:.9rem}.login-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;color:var(--brand);font-weight:700}.login-header h1{margin:.35rem 0 0;font-size:clamp(2rem,3vw,2.8rem)}.login-header h2{margin:.35rem 0 0;font-size:clamp(1.7rem,2.4vw,2.2rem)}.login-subtitle{margin:0 0 1.2rem;color:var(--ink-soft);line-height:1.6}.portal-tabs{display:inline-flex;flex-wrap:wrap;gap:.5rem;padding:.35rem;background:#f7efe6;border:1px solid var(--line);border-radius:999px;max-width:100%}.tab{background:transparent;color:var(--ink-soft);border:none;border-radius:999px;padding:.6rem 1rem;font-weight:700;text-transform:capitalize}.tab.active{background:linear-gradient(110deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 6px 12px #0e6e6433}.resident-grid,.user-list{display:grid;gap:.8rem}.account-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.resident-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:1rem}.user-card{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;text-align:left;transition:all .2s ease}.user-card:hover,.user-card.selected{border-color:var(--brand);box-shadow:0 8px 16px #0e6e641f;transform:translateY(-2px)}.user-card strong{font-size:1.05rem}.user-card span,.user-card small{color:var(--ink-soft)}.account-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .55rem;background:#0e6e6414;color:var(--brand);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.vendor-card{position:relative;overflow:hidden}.vendor-rating{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700}.vendor-rating strong{font-size:.95rem}.vendor-rating span{color:inherit}.vendor-rating.success{background:#22c55e1f;color:#15803d}.vendor-rating.info{background:#3b82f61f;color:#1d4ed8}.vendor-rating.warning{background:#f59e0b24;color:#b45309}.login-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin:0 0 1rem}.login-summary-card{padding:.9rem 1rem;border-radius:14px;border:1px solid var(--line);background:linear-gradient(135deg,#f5fbfa,#fff)}.login-summary-card span{display:block;font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}.login-summary-card strong{display:block;margin-top:.35rem;color:var(--ink);font-size:1.2rem}.field-label input,.field-label select,.field-label textarea{width:100%;padding:.8rem .9rem;border:1px solid var(--line);border-radius:12px;font-size:1rem;color:var(--ink);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.field-label input:focus,.field-label select:focus,.field-label textarea:focus{outline:none;border-color:#0e6e6473;box-shadow:0 0 0 3px #0e6e641f}.login-summary-grid{margin-bottom:1rem}.address-autocomplete{position:relative;flex:1}.address-autocomplete input{width:100%}.address-suggestions{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;margin:0;padding:.3rem;list-style:none;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 12px 28px #0a141224;max-height:220px;overflow-y:auto}.address-suggestions li{padding:.55rem .65rem;border-radius:8px;font-size:.92rem;color:var(--ink);cursor:pointer}.address-suggestions li:hover{background:#0e6e641a}.login-preview-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 1.05rem;margin-bottom:1rem;border-radius:18px;border:1px solid rgba(14,110,100,.12);background:linear-gradient(135deg,#fffaf3f5,#fff)}.login-preview-card h3{margin:.3rem 0 .4rem}.login-preview-card p{margin:0;color:var(--ink-soft)}.login-preview-meta{display:grid;gap:.35rem;justify-items:end;text-align:right;color:var(--ink-soft)}.login-preview-meta strong{color:var(--ink)}.login-card .user-card{min-height:158px}.login-card .user-card small:last-child{margin-top:auto}.login-card .vendor-card{background:linear-gradient(135deg,#fff,#f5fbfa)}.user-card small{line-height:1.4}.field-label{display:grid;gap:.35rem;font-weight:600;margin:.7rem 0 1rem}.field-label input{width:100%;padding:.8rem .9rem;border:1px solid var(--line);border-radius:10px;font-size:1rem;color:var(--ink);background:#fff}.login-button{width:100%;margin-top:.5rem}@media (max-width: 980px){.login-shell{grid-template-columns:1fr}.login-shell .login-brand-panel{order:1}.login-shell .login-card{order:2}}.portal-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.4rem;background:linear-gradient(135deg,#fff8f0,#fff);margin-top:1rem}.portal-summary h2{margin:.45rem 0 0;font-size:clamp(1.4rem,2vw,2rem)}.portal-actions{display:flex;flex-wrap:wrap;gap:.7rem}@media (max-width: 720px){.login-header,.portal-summary{flex-direction:column;align-items:flex-start}.login-preview-card{grid-template-columns:1fr}.login-preview-meta{justify-items:start;text-align:left}.session-banner{flex-direction:column;align-items:flex-start}}@media (max-width: 860px){.split{grid-template-columns:1fr}}.role-switcher{position:relative}.role-switch-btn{padding:.5rem 1rem;background:linear-gradient(110deg,var(--brand),var(--brand-2));color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:.5rem;font-weight:700;white-space:nowrap;transition:all .2s ease}.role-switch-btn:hover{background:linear-gradient(110deg,#0a4f48,#17a394);transform:translateY(-2px)}.dropdown-indicator{font-size:.6rem;display:inline-block;transition:transform .2s ease}.dropdown-menu{position:absolute;top:calc(100% + .5rem);right:0;background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 25px #00000026;z-index:1000;min-width:200px;overflow:hidden}.dropdown-item{width:100%;padding:.8rem 1rem;background:transparent;color:var(--ink);border:none;border-radius:0;text-align:left;font-weight:500;cursor:pointer;display:block;transition:all .15s ease;font-size:.95rem}.dropdown-item:hover{background:linear-gradient(110deg,var(--brand),var(--brand-2));color:#fff}.dropdown-item.active{background:var(--brand);color:#fff;font-weight:700}.dropdown-item.logout{color:#8f2309;border-top:1px solid var(--line);margin-top:.5rem;padding-top:.8rem}.dropdown-item.logout:hover{background:#ffdace;color:#8f2309}.dropdown-menu hr{margin:0;border:none;height:1px;background:var(--line)}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog-container{background:var(--bg-soft);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.tour-dialog{max-width:440px}body.tour-open [data-demo-banner]{position:relative;z-index:2001}.tour-step-body{color:var(--ink-soft);line-height:1.6;margin:0 0 1.2rem}.tour-progress{display:flex;gap:.4rem;margin-bottom:1.2rem}.tour-dot{width:8px;height:8px;border-radius:999px;background:var(--line)}.tour-dot.active{background:var(--brand);width:20px;transition:width .2s ease}.dialog-header{padding:2rem;border-bottom:2px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#eef7f5 0%,var(--bg-soft) 100%)}.dialog-header h2{margin:0;color:var(--ink);font-size:1.5rem}.dialog-header.success{background:linear-gradient(135deg,#d1fae5,#ecfdf5);border-bottom-color:#22c55e}.dialog-close{background:transparent;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink-soft);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.dialog-close:hover{background:#0000001a;color:var(--ink)}.dialog-body{padding:2rem}.violation-section{margin-bottom:2rem;padding:1rem;background:#fff9e6;border-left:4px solid #f97316;border-radius:8px}.violation-section h3{margin:0 0 .5rem;color:var(--ink);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.violation-text{margin:0;color:var(--ink);font-size:1.1rem;line-height:1.6}.cost-breakdown{margin-bottom:2rem;padding:1.5rem;background:#f0f9ff;border-radius:12px;border:1px solid #bfdbfe}.cost-breakdown h3{margin:0 0 1rem;color:var(--ink);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.cost-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;border-bottom:1px solid rgba(0,0,0,.08);font-size:.95rem}.cost-item:last-child{border-bottom:none}.cost-item.total{font-weight:700;font-size:1.1rem;padding-top:1rem;border-top:2px solid rgba(0,0,0,.1);margin-top:.5rem;color:var(--brand)}.cost-value{font-weight:600;color:#1f2937}.deposit-section{margin-bottom:2rem;padding:1.5rem;background:#fef3c7;border-radius:12px;border:2px solid #fbbf24}.deposit-section h3{margin:0 0 .5rem;color:var(--ink);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.deposit-note{margin:.5rem 0 1rem;font-size:.85rem;color:var(--ink-soft);line-height:1.5}.deposit-box{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.deposit-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--line);font-weight:500}.deposit-item:last-child{border-bottom:none;background:#f0fdf4}.deposit-amount{font-size:1.3rem;font-weight:700;color:var(--brand)}.refund-badge{background:linear-gradient(110deg,#22c55e,#16a34a);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.85rem;font-weight:600}.terms-section{margin-bottom:2rem;padding:1rem;background:#f5f3ff;border-radius:8px;border-left:4px solid #8b5cf6}.terms-section h3{margin:0 0 1rem;color:var(--ink);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.terms-section ul{margin:0;padding-left:1.5rem}.terms-section li{margin:.5rem 0;color:var(--ink-soft);line-height:1.6}.success-message{text-align:center;padding:2rem 1rem;margin-bottom:2rem}.success-icon{font-size:4rem;margin-bottom:1rem;display:block}.success-message h3{margin:0;color:#16a34a;font-size:1.3rem}.confirmation-details{background:#f0fdf4;border:2px solid #22c55e;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem 0;border-bottom:1px solid rgba(34,197,94,.1);font-size:.95rem}.detail-item:last-child{border-bottom:none}.detail-value{font-weight:700;color:#16a34a;font-size:1.1rem}.next-steps{background:#dbeafe;border:1px solid #93c5fd;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.next-steps h4{margin:0 0 1rem;color:#1e40af;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.next-steps ol{margin:0;padding-left:1.5rem}.next-steps li{margin:.8rem 0;color:#1e40af;line-height:1.6}.deposit-refund-info{background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.deposit-refund-info h4{margin:0 0 .8rem;color:var(--ink);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em}.deposit-refund-info p{margin:0 0 1rem;color:var(--ink-soft);line-height:1.6;font-size:.9rem}.deposit-refund-info ul{margin:0;padding-left:1.5rem}.deposit-refund-info li{margin:.5rem 0;color:var(--ink-soft);font-size:.9rem}.dialog-footer{display:flex;gap:1rem;justify-content:flex-end}.btn-cancel{padding:.8rem 1.5rem;background:transparent;color:var(--ink);border:2px solid var(--line);border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.btn-cancel:hover{background:var(--bg);border-color:var(--ink-soft)}.btn-accept{padding:.8rem 1.5rem;background:linear-gradient(110deg,var(--brand),var(--brand-2));color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease}.btn-accept:hover{background:linear-gradient(110deg,#0a4f48,#17a394);transform:translateY(-2px);box-shadow:0 8px 16px #0e6e644d}button{transition:all .2s ease}button:active{transform:scale(.98)}.btn-primary{background:linear-gradient(110deg,var(--brand),var(--brand-2));color:#fff;padding:.7rem 1.2rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.95rem}.btn-primary:hover{background:linear-gradient(110deg,#0a4f48,#17a394);box-shadow:0 6px 12px #0e6e6433}.btn-secondary{background:transparent;color:var(--ink);border:2px solid var(--line);padding:.6rem 1.2rem;border-radius:8px;cursor:pointer;font-weight:600;font-size:.95rem}.btn-secondary:hover{background:var(--bg);border-color:var(--ink-soft)}.btn-success{background:linear-gradient(110deg,#22c55e,#16a34a);color:#fff;padding:.7rem 1.2rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.95rem}.btn-success:hover{background:linear-gradient(110deg,#16a34a,#15803d);box-shadow:0 6px 12px #22c55e33}.btn-warning{background:linear-gradient(110deg,#f97316,#ea580c);color:#fff;padding:.7rem 1.2rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.95rem}.btn-warning:hover{background:linear-gradient(110deg,#ea580c,#dc2626);box-shadow:0 6px 12px #f9731633}.btn-danger{background:linear-gradient(110deg,#ef4444,#b91c1c);color:#fff;padding:.6rem 1.1rem;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem}.btn-danger:hover{background:linear-gradient(110deg,#dc2626,#991b1b);box-shadow:0 6px 12px #dc262640}.btn-sm{padding:.4rem .8rem;font-size:.8rem}.status-chip.inactive{background:#ef44441f;color:#b91c1c}.status-chip.override{background:#f973161f;color:#c2410c}.card{background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:1rem;box-shadow:0 2px 8px #0000000d;transition:all .2s ease}.card:hover{box-shadow:0 8px 16px #0000001a;border-color:var(--brand)}.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.actions button{flex:1;min-width:150px;padding:.8rem 1rem;font-size:.9rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease}.actions button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.hero{border-radius:16px;padding:2rem;color:#fff;background:linear-gradient(135deg,#0a3d38,#17a394);box-shadow:0 12px 32px #00000026;margin-bottom:1.5rem}.hero h1{margin:0 0 .5rem;letter-spacing:.02em;font-size:2rem}.hero p{margin:0;opacity:.95;font-size:1rem}.nav{display:flex;gap:.8rem;margin:1.5rem 0;flex-wrap:wrap}.nav-link{text-decoration:none;color:var(--ink-soft);padding:.6rem 1rem;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);transition:all .2s ease;font-weight:500;font-size:.9rem}.nav-link:hover{border-color:var(--brand);color:var(--brand);background:#fff}.nav-link.active{color:#fff;border-color:transparent;background:linear-gradient(110deg,var(--brand),var(--brand-2));box-shadow:0 4px 12px #0e6e6433}.metric{background:linear-gradient(135deg,var(--bg-soft) 0%,#eef7f5 100%);border:1px solid var(--line);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.metric:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a;border-color:var(--brand)}.metric h3{margin:0 0 .8rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft)}.metric p{margin:0;font-size:1.8rem;font-weight:700;color:var(--brand)}.error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;padding:1rem;border-radius:12px;border-left:4px solid #dc2626;font-weight:500;margin-bottom:1rem;box-shadow:0 4px 12px #dc26261a}.success{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#15803d;padding:1rem;border-radius:12px;border-left:4px solid #22c55e;font-weight:500;margin-bottom:1rem;box-shadow:0 4px 12px #22c55e1a}.landing-page{min-height:100vh;background:var(--bg)}.landing-banner{position:relative;isolation:isolate;overflow:hidden;display:flex;justify-content:center;padding:3.2rem 1.5rem 3.6rem;background:linear-gradient(150deg,#0a1f1c,#0e6e64 55%,#17a394);box-shadow:0 18px 40px #091a1747}.landing-banner-decor{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.landing-banner-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;max-width:620px;text-align:center;color:#fff8ef}.landing-banner-logo{width:76px;height:76px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.3))}.landing-banner-wordmark{margin:.7rem 0 0;font-family:var(--font-mono);font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#fff8efb8}.landing-banner-tagline{margin:.15rem 0 .3rem;font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.08;letter-spacing:-.01em;text-wrap:balance}.landing-banner-tagline em{font-style:normal;background:linear-gradient(120deg,var(--accent-gold-light),var(--accent-gold));background-clip:text;-webkit-background-clip:text;color:transparent}.landing-banner-sub{margin:0;max-width:460px;color:#fff8efd9;font-size:1.02rem;line-height:1.55}.landing-banner-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;margin-top:.9rem}.landing-banner-badge{display:inline-flex;align-items:center;padding:.45rem .95rem;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);font-size:.8rem;font-weight:600;color:#fff8ef}.landing-body{width:min(720px,100%);margin:0 auto;padding:2.2rem 1.5rem 3.5rem;display:grid;gap:1.4rem}.landing-cta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem}.landing-cta-card{display:flex;flex-direction:column;gap:.3rem;padding:1.15rem 1.2rem;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--bg-soft);text-decoration:none;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.landing-cta-card:hover{border-color:var(--brand);box-shadow:0 10px 22px #0e6e641f;transform:translateY(-2px)}.landing-cta-card-featured{border-color:var(--accent-gold)}.landing-cta-card-featured:hover{border-color:var(--accent-gold);box-shadow:0 10px 22px #d9a4412e}.landing-cta-card-featured strong{background:linear-gradient(120deg,var(--accent-gold-light),var(--accent-gold));background-clip:text;-webkit-background-clip:text;color:transparent}.landing-cta-eyebrow{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.landing-cta-card strong{font-size:1.05rem;color:var(--brand-dark)}.landing-cta-desc{font-size:.86rem;color:var(--ink-soft);line-height:1.45}@media (max-width: 860px){.landing-cta-grid{grid-template-columns:1fr}}.role-shell{width:min(920px,100%);display:flex;flex-direction:column;gap:1.75rem}.role-intro h1{margin:.35rem 0 .5rem;font-size:clamp(1.9rem,3.4vw,2.6rem);letter-spacing:-.01em}.role-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media (max-width: 960px){.role-choice-grid{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.role-choice-grid{grid-template-columns:1fr}}.role-choice-card{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.6rem 1.6rem 1.8rem;border-radius:var(--radius-xl);border:1px solid var(--line);background:var(--bg-soft);text-decoration:none;color:var(--ink);box-shadow:0 2px 8px #171b180a;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.role-choice-card:hover{border-color:var(--brand);box-shadow:0 16px 32px #0e6e6424;transform:translateY(-3px)}.role-choice-meta{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brand)}.role-choice-card strong{font-size:1.35rem;letter-spacing:-.01em}.role-choice-desc{color:var(--ink-soft);line-height:1.55;font-size:.95rem}.role-choice-arrow{position:absolute;top:1.5rem;right:1.5rem;color:var(--ink-faint);font-size:1.2rem;transition:transform .15s ease,color .15s ease}.role-choice-card:hover .role-choice-arrow{color:var(--brand);transform:translate(3px)}.role-footer{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;color:var(--ink-soft);font-size:.92rem}.role-back-link{display:inline-block;margin-bottom:.9rem;font-size:.85rem;color:#fff8efc7;text-decoration:none}.role-back-link:hover{color:#fff8ef}.coming-soon-card{width:min(480px,100%);margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:2.6rem 2.2rem;border-radius:var(--radius-xl)}.coming-soon-card h1{margin:.2rem 0 0;font-size:1.6rem;letter-spacing:-.01em}.coming-soon-card .login-subtitle{margin:0 0 .6rem}.brand-mark{display:inline-flex;align-items:center;gap:.5rem}.brand-mark-icon{display:block;object-fit:contain}.brand-mark-md .brand-mark-icon{width:28px;height:28px}.brand-mark-sm .brand-mark-icon{width:20px;height:20px}.brand-mark-word{font-family:var(--font-body);font-weight:700;letter-spacing:-.01em;text-transform:none;color:inherit}.brand-mark-md .brand-mark-word{font-size:1.05rem}.brand-mark-sm .brand-mark-word{font-size:.88rem}.revision-footer{position:fixed;right:.75rem;bottom:.6rem;z-index:500;padding:.25rem .6rem;border:1px solid var(--line);border-radius:999px;background:var(--bg-soft);color:var(--ink-faint);font-family:var(--font-mono);font-size:.72rem;line-height:1;cursor:pointer;opacity:.55;transition:opacity .15s ease,color .15s ease,border-color .15s ease}.revision-footer:hover{opacity:1;color:var(--ink-soft);border-color:var(--brand-2)}.revision-history-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.revision-history-item{padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}.revision-history-item.active{border-color:var(--brand-2);background:#17a39414}.revision-history-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.revision-history-sha{font-family:var(--font-mono);font-size:.85rem;font-weight:600;color:var(--ink)}.revision-history-message{margin:.3rem 0 0;color:var(--ink);font-size:.92rem;line-height:1.4}.revision-history-date{display:block;margin-top:.3rem;color:var(--ink-faint);font-size:.78rem}.legal-footer{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:1.5rem 1rem 2.5rem;color:var(--ink-faint);font-size:.82rem}.legal-footer a{color:var(--ink-faint);text-decoration:none}.legal-footer a:hover{color:var(--brand-2);text-decoration:underline}.legal-page{max-width:780px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.legal-page h2{font-size:1.15rem}.legal-page code{background:var(--bg-soft);padding:.1rem .35rem;border-radius:4px;font-family:var(--font-mono);font-size:.88em}.app-content{padding-bottom:calc(var(--touch-target) + var(--sp-7))}@media (min-width: 1024px){.app-content{margin-left:var(--app-sidebar-width, 224px);padding-bottom:var(--sp-6)}}.app-content main{margin-top:var(--sp-5)}@media (min-width: 1024px){.session-banner{margin-left:var(--app-sidebar-width, 224px)}}@media (max-width: 1023px){.revision-footer{bottom:calc(var(--touch-target) + var(--sp-5) + env(safe-area-inset-bottom,0px));z-index:35}}.roster-row{flex-wrap:wrap}.roster-row-main{flex:1 1 240px;min-width:0}.roster-row-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2);margin-top:var(--sp-1)}.roster-row-fields input{min-width:0}.roster-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-1)}.roster-row-side button{min-height:var(--touch-target)}.roster-row-note{font-size:var(--fs-xs);color:var(--ink-soft)}.roster-row-confirm{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.roster-add-row{display:grid;grid-template-columns:2fr 1fr 1.5fr 1.5fr;gap:var(--sp-2);margin-bottom:var(--sp-2)}.roster-add-row input{min-width:0}@media (max-width: 640px){.roster-row-fields,.roster-add-row{grid-template-columns:1fr}.roster-row-side{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;width:100%}}.wizard-stepper{display:flex;gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap}.wizard-step{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--touch-target);padding:0 var(--sp-4);border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--bg-soft);color:var(--ink-soft);font-weight:var(--fw-medium);font-size:var(--fs-sm)}.wizard-step.current{background:var(--brand);border-color:var(--brand);color:var(--bg-soft)}.wizard-step:disabled{opacity:.5;cursor:not-allowed}.wizard-step-number{display:inline-flex;align-items:center;justify-content:center;width:var(--sp-5);height:var(--sp-5);border-radius:var(--radius-pill);background:var(--bg);color:var(--ink);font-weight:var(--fw-bold);font-size:var(--fs-xs)}.wizard-step.current .wizard-step-number{background:#fff3;color:var(--bg-soft)}.field-helper{display:block;margin-top:var(--sp-1);font-size:var(--fs-sm);font-weight:var(--fw-normal);color:var(--ink-soft)}.geo-form-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-2);margin-bottom:var(--sp-2)}@media (min-width: 560px){.geo-form-grid{grid-template-columns:2fr 1.3fr 1fr}.geo-form-grid.two-col{grid-template-columns:2fr 1fr}}
