:root{--palette-blue:#22577a;--palette-teal:#38a3a5;--palette-mint:#57cc99;--palette-green:#80ed99;--palette-pale:#c7f9cc}*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}.va-offline-banner{background:var(--palette-blue);color:#fff;align-items:center;gap:8px;padding:8px 16px;font-size:13px;line-height:1.35;display:flex}.va-offline-banner svg{flex-shrink:0}:root[data-theme=dark] .va-offline-banner{border-bottom:1px solid var(--border);background:#0f2733}.sheet-overlay{z-index:50;background:#08101480;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-panel{background:var(--surface);width:100%;max-width:480px;max-height:85vh;color:var(--text);padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));border-top-left-radius:20px;border-top-right-radius:20px;overflow-y:auto}.sheet-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sheet-header h2{margin:0;font-size:18px}.sheet-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1}.sheet-lede{color:var(--text-muted);margin:0 0 16px;font-size:13px}.sheet-loading{color:var(--text-muted);font-size:14px}.sheet-error{color:#c0392b;margin:0 0 16px;font-size:13px}.sheet-field{flex-direction:column;flex:1;gap:6px;min-width:0;margin-bottom:14px;display:flex}.sheet-field label{font-size:13px;font-weight:600}.sheet-field input,.sheet-field select,.sheet-field textarea{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);resize:vertical;border-radius:10px;padding:10px 12px}.sheet-field input:focus,.sheet-field select:focus,.sheet-field textarea:focus{outline:2px solid var(--palette-teal);outline-offset:-1px}.sheet-row{gap:12px;display:flex}.sheet-checkboxes{flex-direction:column;gap:8px;margin-bottom:16px;font-size:14px;display:flex}.sheet-checkboxes label{align-items:center;gap:8px;display:flex}.sheet-pref-table{grid-template-columns:1fr auto auto;align-items:center;gap:10px 20px;margin-bottom:16px;font-size:14px;display:grid}.sheet-pref-table-header{color:var(--text-muted);text-align:center;font-size:12px;font-weight:600}.sheet-pref-table input[type=checkbox]{margin:0 auto;display:block}.sheet-submit{width:100%;font:inherit;background:var(--palette-teal);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:12px;font-weight:600}.sheet-submit:disabled{opacity:.6;cursor:default}.sheet-secondary,.sheet-danger{width:100%;font:inherit;cursor:pointer;border-radius:10px;margin-top:10px;padding:12px;font-weight:600}.sheet-secondary-icon{justify-content:center;align-items:center;gap:8px;display:flex}.sheet-hint{color:var(--text-muted);text-align:center;margin:6px 2px 0;font-size:12px}.sheet-secondary{background:var(--bg);border:1px solid var(--border);color:var(--text)}.sheet-danger{color:#c0392b;background:0 0;border:1px solid #c0392b}.sheet-secondary:disabled,.sheet-danger:disabled{opacity:.6;cursor:default}.sheet-interest-options{flex-direction:column;gap:8px;display:flex}.sheet-interest-option{font:inherit;text-align:left;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:10px;padding:12px 14px}.sheet-interest-option:disabled{opacity:.6;cursor:default}.sheet-interest-option-active{border-color:var(--palette-teal);border-width:1.5px;font-weight:600}.sheet-participant-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.sheet-participant-check{flex:1;align-items:center;gap:8px;font-size:14px;display:flex}.sheet-participant-share{width:56px;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:6px 8px}.sheet-dependent-chips{flex-wrap:wrap;gap:6px;width:100%;margin-top:4px;display:flex}.sheet-dependent-chip{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px}.sheet-dependent-chip-active{border-color:var(--palette-teal);color:var(--palette-teal);font-weight:600}.va-home-card{margin-bottom:14px}.va-home-count{color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700}.va-home-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.va-home-row:last-of-type{border-bottom:none}.va-home-role-icon{width:20px;height:20px;color:var(--palette-mint);flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}.va-home-main{min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:0}.va-home-titleline{justify-content:space-between;gap:10px;font-size:15px;display:flex}.va-home-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.va-home-meta{color:var(--text-muted);align-items:center;gap:6px;min-width:0;margin-top:3px;font-size:12px;display:flex}.va-home-metatext{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.va-home-due{border:1px solid var(--border);border-radius:999px;flex-shrink:0;padding:0 7px}.va-home-due-overdue{color:#fff;background:#b3261e;border-color:#b3261e;font-weight:600}.va-home-chev{color:var(--text-muted);flex-shrink:0;margin-top:2px}.va-home-seeall{font:inherit;color:var(--palette-mint);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:4px 0 0;font-size:13px;font-weight:600}.va-home-empty{text-align:center;padding:56px 16px}.va-home-empty-mark{margin-bottom:10px;font-size:34px}.va-home-empty h2{margin:0 0 6px;font-size:18px}.va-home-empty p{max-width:320px;color:var(--text-muted);margin:0 auto 18px;font-size:14px;line-height:1.5}:root[data-theme=light] .va-shell{--bg:#f7f9f8;--surface:#fff;--text:#16232b;--text-muted:#5b6b73;--border:#e4e9e7}:root[data-theme=dark] .va-shell{--bg:#0d1b24;--surface:#16303e;--text:#eef6f4;--text-muted:#9db3ba;--border:#234355}.va-shell{background:var(--bg);max-width:480px;min-height:100vh;color:var(--text);flex-direction:column;margin:0 auto;padding-bottom:88px;display:flex;position:relative}.va-header{background:var(--palette-blue);color:#fff;border-bottom-right-radius:24px;border-bottom-left-radius:24px;padding:20px 20px 28px}.va-header-top{justify-content:space-between;align-items:center;display:flex}.va-eyebrow{text-transform:uppercase;letter-spacing:.08em;opacity:.75;font-size:12px}.va-avatars{display:flex}.va-header-icons{gap:4px;display:flex}.va-icon-btn{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:flex;position:relative}.va-icon-btn:hover{background:#ffffff38}.va-notification-badge{background:var(--palette-green);border:1.5px solid var(--palette-blue);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.va-avatar{border:2px solid var(--palette-blue);color:#08202c;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin-left:-8px;font-size:11px;font-weight:600;display:flex}.va-header h1{margin:12px 0 4px;font-size:24px}.va-header-global h1{margin:4px 0 0}.va-back{color:#fff;opacity:.85;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:13px;display:flex}.va-subtitle{opacity:.85;margin:0;font-size:14px}button.va-subtitle-edit{color:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.va-content{flex-direction:column;gap:14px;padding:16px;display:flex}.va-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px}.va-card h2{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;font-size:14px}.va-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.va-itinerary-row{align-items:center;gap:12px;padding:8px 0;display:flex}.va-day-pill{background:var(--palette-pale);color:#0f3b2e;border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:11px;font-weight:700}.va-entry-title{font-size:14px;font-weight:600}.va-entry-time{color:var(--text-muted);font-size:12px}.va-progress{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.va-progress-bar{background:var(--palette-mint);border-radius:999px;height:100%}.va-stat{color:var(--text-muted);margin:8px 0 0;font-size:13px}.va-settlement-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.va-settlement-row:last-child{border-bottom:none}.va-amount{color:var(--palette-teal);font-weight:700}.va-list-card{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;justify-content:space-between;align-items:center;display:flex}.va-list-card:not(.va-card){background:0 0;border:none;padding:0}.va-sortable-row{align-items:stretch;gap:4px;margin-bottom:8px;display:flex}.va-sortable-row:last-child{margin-bottom:0}.va-sortable-row .va-list-card{background:0 0;border:none;flex:1;padding:0}.va-drag-handle{touch-action:none;cursor:grab;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:0 6px;display:flex}.va-adventure-card{border-color:var(--palette-teal);border-width:1.5px}.va-adventure-card .va-day-pill{background:var(--palette-teal);color:#fff}.va-empty-copy{color:var(--text-muted);text-align:center;padding:24px 8px;font-size:14px}.va-card .va-empty-copy{text-align:left;padding:0}.va-wtd-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.va-day-pill:where(button){cursor:pointer;font:inherit;border:none}.va-icon-btn-sm{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.va-fab{background:var(--palette-teal);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;display:flex;position:fixed;bottom:90px;right:max(20px,50vw - 220px);box-shadow:0 10px 20px #38a3a566}.va-bottom-nav{background:var(--surface);border-top:1px solid var(--border);width:100%;max-width:480px;padding:6px max(14px, env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.va-bottom-nav button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-direction:column;flex:1;align-items:center;gap:2px;margin:0 1px;padding:4px 2px;font-size:10px;display:flex}.va-nav-icon{font-size:18px}.va-bottom-nav button.va-nav-active{background:color-mix(in srgb, var(--palette-teal) 15%, transparent);color:var(--palette-teal);font-weight:600}.va-segmented{background:var(--border);border-radius:10px;gap:3px;margin-bottom:12px;padding:3px;display:flex}.va-segmented button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px;font-size:13px;font-weight:600}.va-segmented button.va-segment-active{background:var(--palette-teal);color:#fff;box-shadow:0 1px 3px #00000026}.va-task-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;display:flex}.va-task-row:last-child{border-bottom:none}.va-task-check{width:20px;height:20px;accent-color:var(--palette-teal);flex-shrink:0}.va-task-main{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;padding:0}.va-task-title-done{color:var(--text-muted);text-decoration:line-through}.va-task-assignee{color:#08202c;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;font-weight:600;display:flex}.va-card-header-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.va-card-header-row h2{margin:0}.va-need-header{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 0 4px;display:flex}.va-member-chips{gap:8px;margin-bottom:10px;display:flex;overflow-x:auto}.va-member-chip{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.va-member-chip-active{border-color:var(--palette-teal);color:var(--palette-teal)}.va-wtd-card{margin-bottom:8px}.va-wtd-card:last-child{margin-bottom:0}.va-wtd-header-row{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.va-wtd-expanded{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;display:flex}.va-wtd-interest-list{flex-direction:column;gap:8px;display:flex}.va-wtd-interest-row{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}:root[data-theme=light] .auth-shell{--bg:#f7f9f8;--surface:#fff;--text:#16232b;--text-muted:#5b6b73;--border:#e4e9e7}:root[data-theme=dark] .auth-shell{--bg:#0d1b24;--surface:#16303e;--text:#eef6f4;--text-muted:#9db3ba;--border:#234355}.auth-shell{background:var(--bg);max-width:480px;min-height:100vh;color:var(--text);flex-direction:column;justify-content:center;margin:0 auto;padding:24px;display:flex}.auth-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px;font-size:12px}.auth-card h1{margin:0 0 6px;font-size:22px}.auth-lede{color:var(--text-muted);margin:0 0 20px;font-size:14px}.auth-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.auth-field label{font-size:13px;font-weight:600}.auth-field input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;padding:10px 12px}.auth-field input:focus{outline:2px solid var(--palette-teal);outline-offset:-1px}.auth-submit{width:100%;font:inherit;background:var(--palette-teal);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:12px;font-weight:600}.auth-submit:disabled{opacity:.6;cursor:default}.auth-error{color:#c0392b;margin:0 0 16px;font-size:13px}.auth-success{color:var(--palette-teal);margin:0 0 16px;font-size:13px}.auth-links{text-align:center;margin-top:16px;font-size:13px}.auth-links button{color:var(--palette-teal);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.ptr-indicator{color:var(--palette-teal);justify-content:center;align-items:center;font-size:22px;display:flex;overflow:hidden}.ptr-spin{animation:.8s linear infinite ptr-rotate}@keyframes ptr-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
