:root{color-scheme:light;--bg-canvas: #f3efe5;--bg-panel: rgba(255, 252, 247, .88);--bg-panel-strong: #fffdf8;--bg-accent: #173f37;--bg-accent-soft: #d8ebe4;--bg-muted: #ece4d7;--border-soft: rgba(23, 63, 55, .12);--border-strong: rgba(23, 63, 55, .22);--text-strong: #17322d;--text-body: #34524b;--text-muted: #6a8079;--tone-critical: #b04a3a;--tone-attention: #2c6fb3;--tone-success: #29704d;--shadow-soft: 0 18px 40px rgba(28, 45, 40, .08);--shadow-card: 0 10px 24px rgba(23, 50, 45, .08);--radius-xl: 28px;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px;--font-display: "Segoe UI Variable Display", "Aptos Display", "Trebuchet MS", sans-serif;--font-body: "Segoe UI Variable Text", "Aptos", "Trebuchet MS", sans-serif}*{box-sizing:border-box}html{font-family:var(--font-body);height:100%;height:100dvh;overflow:hidden;background:radial-gradient(circle at top right,rgba(33,116,96,.16),transparent 28%),radial-gradient(circle at left center,rgba(198,143,88,.16),transparent 26%),linear-gradient(180deg,#f8f4eb 0%,var(--bg-canvas) 100%)}body{margin:0;height:100%;overflow-x:hidden;overflow-y:auto;color:var(--text-body);-webkit-overflow-scrolling:touch;padding-top:env(safe-area-inset-top,0px)}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100%}.page-shell{width:min(1480px,calc(100% - 32px));margin:0 auto;padding:24px 0 48px}.app-header,.panel,.hero-panel,.source-card,.timeline-group,.schedule-stack>button,.route-stop,.detail-card,.calendar-day-panel,.calendar-date-agenda-list>button,.calendar-year-card,.menu-flyout,.auth-panel{background:var(--bg-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft)}.app-header{position:static;display:flex;align-items:center;gap:18px;padding:16px 20px;border-radius:24px;margin-bottom:20px}.app-header-brand,.menu-flyout-header>div,.panel-header-row>div,.calendar-date-agenda-header>div,.detail-header>div{display:grid;gap:4px}.app-header-title,.menu-flyout-title{margin:0;font:700 clamp(1.25rem,1.2rem + .35vw,1.65rem) / 1.1 var(--font-display);color:var(--text-strong)}.app-header-subtitle,.muted-text,.hint-text,.legend-inline,.menu-flyout-hint,.calendar-item-subtitle{margin:0;color:var(--text-muted)}.eyebrow,.filter-block-label,.event-list-label{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:700;color:var(--text-muted)}.menu-shell{position:relative}.menu-button{display:inline-grid;gap:5px;align-content:center;justify-items:center;inline-size:44px;block-size:44px;padding:0;border-radius:999px;border:1px solid var(--border-soft);background:var(--bg-panel-strong);box-shadow:var(--shadow-card);color:var(--text-strong);flex:0 0 auto}.menu-button span{display:block;inline-size:18px;block-size:2px;border-radius:999px;background:currentColor;transition:transform .14s ease,opacity .14s ease}.menu-button.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-button.is-open span:nth-child(2){opacity:0}.menu-button.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menu-flyout{position:fixed;inset:0 auto 0 0;width:min(320px,calc(100vw - 56px));min-height:100vh;border-radius:0 24px 24px 0;padding:18px 16px 16px;z-index:30;display:grid;grid-template-rows:auto 1fr auto;align-content:start;gap:14px;opacity:0;transform:translate(-100%);pointer-events:none;visibility:hidden;overflow-y:auto;border-inline-end:1px solid rgba(23,63,55,.12);box-shadow:22px 0 42px #12231f24;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.menu-flyout.is-open{opacity:1;transform:translate(0);pointer-events:auto;visibility:visible}.menu-scrim{position:fixed;inset:0;background:#1525212e;border:0;z-index:25}.menu-flyout-header,.menu-flyout-footer,.menu-flyout-nav{display:grid;gap:10px}.menu-flyout-footer{padding-top:12px;border-top:1px solid rgba(23,63,55,.08)}.menu-flyout-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:4px 2px 12px;border-bottom:1px solid rgba(23,63,55,.08)}.menu-flyout-nav{align-content:start}.menu-flyout-account-button{width:100%;border:1px solid rgba(0,0,0,.08);border-radius:18px;background:#ffffffe0;padding:0;text-align:left;transition:border-color .2s ease,background .2s ease,transform .2s ease}.menu-flyout-account-button:hover,.menu-flyout-account-button:focus-visible,.menu-flyout-account-button.is-active{border-color:#aa592c4d;background:#aa592c14;transform:translateY(-1px)}.menu-flyout-item{width:100%;text-align:left;padding:12px 13px;border-radius:12px;border:1px solid var(--border-soft);background:#ffffffb8;color:var(--text-strong);display:grid;gap:2px;box-shadow:none}.menu-flyout-item.is-active{background:linear-gradient(135deg,#d8ebe4f2,#ffffffd1);border-color:#173f3738;box-shadow:inset 3px 0 0 var(--bg-accent)}.menu-flyout-item-secondary,.ghost-button{background:transparent}.menu-flyout-item-secondary{margin-top:4px;background:#ffffff85}.menu-flyout-item-compact{padding:8px 12px;display:flex;align-items:center;gap:8px}.menu-flyout-icon{flex-shrink:0;opacity:.7}.menu-flyout-close,.ghost-button{display:inline-grid;place-items:center;border:1px solid var(--border-soft);color:var(--text-body);border-radius:999px;padding:10px 14px}.menu-flyout-close{inline-size:36px;block-size:36px;padding:0;font-size:1.05rem;line-height:1;background:var(--bg-panel-strong)}.menu-flyout-label{font-size:.95rem;line-height:1.2}.menu-flyout-hint{font-size:.8rem;line-height:1.3}.menu-flyout-account{display:grid;gap:4px;padding:2px 2px 6px}.menu-flyout-account-name,.menu-flyout-account-detail{margin:0;color:var(--text-strong)}.menu-flyout-account-name{font-weight:700;line-height:1.2}.menu-flyout-account-detail{font-size:.82rem;color:var(--text-muted);line-height:1.3;word-break:break-word}.menu-flyout-version{font-size:.7rem;color:var(--text-muted);opacity:.6;margin:4px 0 0}.hero-panel{border-radius:var(--radius-xl);padding:24px;margin-bottom:20px}.today-toggle{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 0 0}.today-filter-toggle{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:#ffffff73;backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);color:var(--text-muted);cursor:pointer;box-shadow:0 1px 4px #0000000f,inset 0 1px #ffffffb3;transition:background .2s ease,color .2s ease,border-color .2s ease}.today-filter-toggle.is-active,.today-filter-toggle.has-filter{background:var(--bg-accent);color:#fff;border-color:var(--bg-accent);box-shadow:0 1px 4px #0000001f}.today-toggle-inner{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:#ffffff73;backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);border:1px solid rgba(255,255,255,.55);box-shadow:0 1px 4px #0000000f,inset 0 1px #ffffffb3}.today-toggle-inner .toggle-chip{border:none;padding:8px 22px;font-size:.85rem;font-weight:600;border-radius:999px;background:transparent;color:var(--text-muted);transition:background .2s ease,color .2s ease,box-shadow .2s ease}.today-toggle-inner .toggle-chip.is-active{background:#ffffffd9;color:var(--text-strong);box-shadow:0 1px 3px #0000001a,0 0 0 .5px #0000000a}.today-toggle-inner .toggle-chip:not(.is-active):hover{background:#ffffff59;transform:none;box-shadow:none}.today-hero{text-align:center;padding:28px 20px 20px}.today-hero-count{font-size:3.5rem;font-weight:800;line-height:1;color:var(--bg-accent, #14332c);margin:0}.today-hero-label{font-size:1rem;color:var(--text-muted);margin:6px 0 0;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.swipe-container{position:relative;overflow:hidden;border-radius:var(--radius-xl)}.swipe-action{position:absolute;inset:0;display:flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem;padding:0 24px;color:#fff}.swipe-action-right{justify-content:flex-start;background:#2e7d32}.swipe-action-left{justify-content:flex-end;background:#3a3a3a}.swipe-action-msg{opacity:.3;transition:opacity .15s ease}.task-note-input-row{display:flex;gap:8px;padding:10px 14px;background:var(--bg-panel, #f5f7f6);border-radius:var(--radius-md, 8px);border:1px solid var(--border-soft, #d3dbd9);margin-top:4px}.task-note-input{flex:1;padding:8px 14px;border-radius:999px;border:1px solid var(--border-soft, #d3dbd9);background:var(--bg-page, #f5f7f6);color:var(--text-body, #2c3e3a);font-size:.875rem;outline:none}.task-note-input::placeholder{color:var(--text-muted, #7a8a84)}.task-note-input:focus{border-color:var(--accent, #14332c);box-shadow:0 0 0 2px #14332c1a}.task-note-send{background:var(--accent, #14332c);border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;flex-shrink:0;transition:opacity .15s}.task-note-send:disabled{opacity:.3;cursor:default}.task-notes-list{display:flex;flex-direction:column;gap:6px;padding:8px 0 4px}.task-note-bubble{display:flex;align-items:baseline;gap:8px;font-size:.82rem;color:var(--text-body, #2c3e3a);padding:6px 12px;background:#fff9;border-radius:var(--radius-md, 8px);border:1px solid var(--border-soft, #d3dbd9)}.task-note-author{font-weight:700;color:var(--accent, #14332c);flex-shrink:0}.task-note-msg{flex:1;min-width:0}.task-note-time{font-size:.72rem;color:var(--text-muted, #7a8a84);flex-shrink:0}.swipe-card-inner{position:relative;z-index:1;touch-action:pan-y}.swipe-card-inner>.schedule-card{margin:0}.swipe-overlay{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xl);font-size:1.1rem;font-weight:800;letter-spacing:.04em;animation:swipe-fade-in .3s ease forwards;pointer-events:none}@keyframes swipe-fade-in{0%{opacity:0}to{opacity:1}}.swipe-overlay-done{background:#2e7d322e;color:#2e7d32}.swipe-overlay-issue{background:#e68c002e;color:#e68c00}.swipe-done .swipe-card-inner>.schedule-card{opacity:.45}.swipe-issue .swipe-card-inner>.schedule-card{opacity:.65}.swipe-desktop-actions{display:flex;gap:8px;padding:4px 0 0}.swipe-desktop-btn{padding:6px 14px;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid var(--border-soft);background:var(--bg-panel-strong);color:var(--text-body);transition:background .15s ease,color .15s ease}.swipe-desktop-done:hover{background:#2e7d321f;color:#2e7d32;border-color:#2e7d324d}.swipe-desktop-issue:hover{background:#e68c001f;color:#e68c00;border-color:#e68c004d}.swipe-desktop-clear{color:var(--text-body);font-weight:600;border-color:var(--accent);opacity:1;position:relative;z-index:5}.swipe-desktop-clear:hover{background:var(--accent);color:#fff}.swipe-desktop-photo{display:inline-flex;align-items:center;gap:4px;position:relative;z-index:5}.swipe-desktop-photo:hover{background:#173f3714;border-color:var(--border-strong)}.task-photo-row{display:flex;align-items:center;gap:8px;padding-top:2px}.task-photo-count{font-size:.78rem;color:var(--text-muted);font-weight:600}.task-photo-gallery{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px}.task-photo-thumb{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--border-soft);flex-shrink:0}.task-photo-thumb img{width:100%;height:100%;object-fit:cover;cursor:pointer}.task-photo-remove{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:999px;border:none;background:#0000008c;color:#fff;font-size:.78rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}@media(hover:none)and (pointer:coarse){.swipe-desktop-actions{display:none}.swipe-desktop-actions.swipe-clear-row{display:flex}}.calendar-nav-button{min-width:36px;padding:6px 10px;font-size:1.2rem;line-height:1;flex-shrink:0}.hero-stats,.hero-stats-row,.panel-header-row,.schedule-controls,.route-toolbar,.calendar-toolbar,.calendar-view-toolbar,.filter-row,.detail-grid,.schedule-metrics-row,.schedule-card-actions,.source-actions,.source-chip-group,.timeline-group-header,.calendar-day-panel-header,.calendar-date-agenda-top,.route-stop-time-grid{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.stays-toggle-header{cursor:pointer;border:none;background:none;padding:0;width:100%;text-align:left;-webkit-tap-highlight-color:transparent}.stays-toggle-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .2s ease}.stays-toggle-chevron.is-open{transform:rotate(180deg)}.panel-header-row{justify-content:space-between;align-items:center;flex-wrap:nowrap}.config-actions{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;min-width:0}.config-actions .secondary-button{white-space:nowrap;flex:0 0 auto}.plan-status-row{display:flex;align-items:center;gap:24px;padding:14px 0}.lang-select{padding:10px 14px;border-radius:10px;border:1px solid var(--border-soft);background:var(--bg-panel-strong);color:var(--text-body);font-size:.95rem;outline:none;min-width:160px}.lang-select:focus{border-color:var(--accent, #4fc3f7)}.user-search-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--bg-panel-strong);border:1px solid var(--border-soft);border-radius:10px;box-shadow:0 8px 24px #12231f26;margin-top:4px;max-height:240px;overflow-y:auto}.user-search-option{display:flex;flex-direction:column;width:100%;padding:10px 14px;border:none;background:none;text-align:left;cursor:pointer;color:var(--text-body);gap:2px}.user-search-option:hover{background:#173f370f}.user-search-name{font-weight:600;font-size:.9rem}.user-search-email{font-size:.8rem;color:var(--text-muted)}.user-search-hint{padding:10px 14px;font-size:.85rem;color:var(--text-muted);margin:0}.plan-status-label{font-size:.9rem;font-weight:600;color:var(--text-muted);min-width:60px}.plan-status-value{font-size:.95rem;font-weight:700;color:var(--text-strong)}.hero-stats-row>*,.detail-grid>*,.route-stop-time-item,.source-meta-grid>*,.calendar-year-card-metrics>*{flex:1 1 140px}.workspace-stack{display:grid;gap:20px}.workspace-stack.today-stack{grid-template-columns:1fr;max-width:600px;margin-left:auto;margin-right:auto;width:100%}.config-header-stack{display:grid;gap:12px;margin-bottom:8px}.schedule-column{display:grid;gap:20px}.panel{border-radius:var(--radius-xl);padding:22px}.config-panel-inner,.schedule-panel,.route-panel,.detail-panel,.auth-panel{min-width:0}.primary-button,.secondary-button,.toggle-group button,.stay-row,.route-stop,.source-card,.schedule-stack>button,.calendar-item-list button,.calendar-date-agenda-list>button{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .14s ease}.primary-button,.secondary-button,.link-button,.toggle-group button{border-radius:999px;padding:10px 18px;border:1px solid var(--border-strong)}.primary-button{background:var(--bg-accent);color:#f8f7f3}.secondary-button,.toggle-group button,.link-button{background:var(--bg-panel-strong);color:var(--text-strong)}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.menu-flyout-item:hover,.toggle-group button:hover,.stay-row:hover,.schedule-stack>button:hover,.calendar-item-list button:hover,.calendar-date-agenda-list>button:hover{transform:translateY(-1px);box-shadow:var(--shadow-card)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.schedule-controls{gap:14px 12px}.toggle-group{display:inline-flex;flex-wrap:wrap;gap:8px}.toggle-chip.is-active,.toggle-group button[aria-pressed=true],.menu-flyout-item[aria-current=page]{background:var(--bg-accent);border-color:#173f3766;color:#f8f7f3;box-shadow:inset 0 0 0 1px #ffffff14}.priority-filter-block,.calendar-view,.calendar-day,.calendar-date-agenda,.schedule-card{display:grid;gap:12px}.priority-filter-block{gap:10px}.source-form,.source-list,.timeline-groups,.schedule-stack,.route-stop-list,.calendar-date-agenda-list,.stay-list,.calendar-item-list,.detail-card,.empty-state,.config-subsection{display:grid;gap:16px}.source-list{align-content:start}.source-form label,.account-form label,.inline-field,.source-address-editor,.checkbox-row{display:grid;gap:8px}.account-form{display:grid;gap:16px}.checkbox-row{grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:6px 0}.checkbox-row input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;width:18px;height:18px;margin:0;padding:0;border-radius:4px;border:1px solid var(--border-strong);background:var(--bg-panel-strong);accent-color:var(--bg-accent);justify-self:start;flex:0 0 auto}.checkbox-row span{line-height:1.35}.two-up-fields,.source-meta-grid,.detail-grid,.calendar-grid-year{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.three-up-fields{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}input,select,textarea{width:100%;border-radius:var(--radius-md);border:1px solid var(--border-soft);background:#ffffffd6;color:var(--text-strong);padding:8px 10px;font-size:16px}input[type=color]{appearance:none;-webkit-appearance:none;min-block-size:52px;padding:6px;border-radius:999px;background:#ffffffeb;cursor:pointer;overflow:hidden}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:0;border-radius:999px}input[type=color]::-moz-color-swatch{border:0;border-radius:999px}textarea{min-height:120px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid rgba(44,111,179,.35);outline-offset:2px}.source-card,.timeline-group,.route-stop,.detail-card,.calendar-year-card,.calendar-day-panel,.schedule-stack>button,.schedule-card,.calendar-date-agenda-list>button{border-radius:var(--radius-lg);padding:16px 18px}.source-card,.schedule-stack>button,.schedule-card,.stay-row,.calendar-item-list button,.calendar-date-agenda-list>button{text-align:left;border:1px solid var(--border-soft)}.source-card,.timeline-group,.stay-row,.schedule-card,.calendar-item,.calendar-year-card{border-inline-start:4px solid var(--source-accent, rgba(23, 63, 55, .18))}.schedule-card{background:#ffffffd6;box-shadow:var(--shadow-card);cursor:pointer}.schedule-card.is-selected{border-color:#173f3752;box-shadow:0 0 0 3px #173f3714,var(--shadow-card)}.task-tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.task-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--border-soft);background:#ffffffb3;color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s ease,border-color .12s ease,color .12s ease}.task-tag.is-active{background:var(--bg-accent-soft);border-color:#173f3740;color:var(--bg-accent)}.task-assign-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:relative}.task-assign-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1px dashed var(--border-strong);background:none;color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.task-assignee-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border-radius:999px;background:var(--bg-accent-soft);color:var(--bg-accent);font-size:.78rem;font-weight:600}.task-assignee-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--bg-accent);color:#fff;font-size:.7rem;font-weight:700}.task-assign-clear{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;border:none;background:#b04a3a1a;color:var(--tone-critical);font-size:.85rem;cursor:pointer;padding:0}.task-assign-dropdown{position:absolute;top:100%;left:0;z-index:10;margin-top:4px;min-width:200px;max-height:200px;overflow-y:auto;padding:4px;border-radius:var(--radius-lg);background:var(--bg-panel-strong);border:1px solid var(--border-soft);box-shadow:0 8px 24px #12231f26;display:flex;flex-direction:column;gap:2px}.task-assign-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:var(--radius-md);background:none;color:var(--text-strong);font-size:.82rem;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.task-assign-option:active{background:#173f370f}.source-card-header,.schedule-card-top,.detail-header,.calendar-year-card-header,.calendar-day-header,.route-stop,.calendar-date-agenda-top{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.source-color{inline-size:12px;block-size:12px;border-radius:999px;box-shadow:0 0 0 3px #173f3714}.large-dot{inline-size:16px;block-size:16px}.priority-pill,.night-pill,.priority-banner-chip,.calendar-count{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:700}.priority-pill,.calendar-count{background:#173f3717;color:var(--text-strong)}.tone-critical,.priority-banner-chip.tone-critical{background:#b04a3a1f;color:var(--tone-critical)}.tone-attention,.priority-banner-chip.tone-attention{background:#2c6fb31f;color:var(--tone-attention)}.tone-calm,.priority-banner-chip.tone-calm{background:#29704d1f;color:var(--tone-success)}.priority-banner{display:grid;gap:10px;padding:16px 18px;border-radius:var(--radius-lg);background:linear-gradient(135deg,#173f3714,#2c6fb314);border:1px solid var(--border-soft)}.priority-banner-legend{display:flex;gap:8px;flex-wrap:wrap}.error-banner,.error-inline,.top-banner-error,.config-transfer-message{color:var(--tone-critical)}.success-banner{margin:0;padding:12px 14px;background:#29704d14;border:1px solid rgba(41,112,77,.16);border-radius:var(--radius-md);color:var(--tone-success)}.error-banner{margin:0;padding:12px 14px;background:#b04a3a14;border:1px solid rgba(176,74,58,.14);border-radius:var(--radius-md)}.empty-state{place-items:center;text-align:center;min-height:140px;padding:24px;border-radius:var(--radius-lg);border:1px dashed var(--border-strong);background:#ffffff7a}.schedule-date,.stay-title{margin:0;color:var(--text-strong);font-weight:700}.schedule-note,.hero-copy,.auth-copy{margin:0;line-height:1.55}.calendar-surface,.calendar-scroll-shell{min-width:0}.calendar-scroll-shell{overflow-x:auto;padding-bottom:4px}.calendar-view{gap:16px}.calendar-view-toolbar{align-items:center;justify-content:space-between}.calendar-filter-toggle{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--border-soft);border-radius:999px;background:var(--bg-panel-strong);color:var(--text-body);cursor:pointer;transition:background .12s ease,color .12s ease}.calendar-filter-toggle.is-active{background:var(--bg-accent);color:#fff;border-color:var(--bg-accent)}.filter-flyup-backdrop{position:fixed;inset:0;background:#1c2d2840;z-index:1000;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .15s ease}.filter-flyup{background:var(--bg-panel-strong);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:20px 24px 32px;width:100%;max-width:480px;max-height:70vh;overflow-y:auto;animation:slideUp .2s ease;box-shadow:0 -8px 32px #1c2d281f;border:1px solid var(--border-soft);border-bottom:none}.filter-flyup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.filter-flyup-header h3{margin:0;font-size:1.1rem}.filter-flyup-section{margin-bottom:16px}.filter-flyup-label{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 8px}.filter-flyup-section select{width:100%;padding:10px 12px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-size:.95rem;background:var(--bg-panel);color:var(--text-body)}.filter-flyup-list{list-style:none;margin:0;padding:0}.filter-flyup-option{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--border-soft);font-size:.95rem;cursor:pointer}.filter-flyup-list li:last-child .filter-flyup-option{border-bottom:none}.filter-flyup-option input[type=checkbox]{width:20px;height:20px;accent-color:var(--bg-accent);cursor:pointer}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.calendar-filter-panel{display:flex;flex-wrap:wrap;gap:10px;padding:10px 0}.calendar-grid,.calendar-grid-year{display:grid;gap:4px}.calendar-grid-month{grid-template-columns:repeat(7,minmax(0,1fr));min-width:700px}.calendar-grid-week{grid-template-columns:repeat(7,minmax(110px,1fr));min-width:760px}.calendar-grid-year{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.calendar-weekday,.calendar-day-header,.calendar-year-card-header,.calendar-date-agenda-header{color:var(--text-strong)}.calendar-weekday{padding:6px 8px;text-align:center;font-size:.82rem;font-weight:700;color:var(--text-muted)}.calendar-grid-month>div:nth-child(n+8),.calendar-grid-week>div,.calendar-year-card,.calendar-day-panel,.calendar-date-agenda{min-width:0}.calendar-grid-month>.calendar-weekday+div,.calendar-grid-month>div:nth-child(n+8),.calendar-grid-week>div,.calendar-date-agenda,.calendar-day-panel{border-radius:var(--radius-lg)}.calendar-grid-month>div:nth-child(n+8),.calendar-grid-week>div,.calendar-day-panel,.calendar-date-agenda{background:#ffffffc2;border:1px solid var(--border-soft);padding:8px}.calendar-day{align-content:start;min-height:110px;box-shadow:inset 0 1px #ffffff8c}.calendar-day.is-selected,.calendar-year-card.is-selected{border-color:#173f3747;box-shadow:0 0 0 3px #173f3714,var(--shadow-card);background:linear-gradient(180deg,#ecf7f1e6,#ffffffdb)}.calendar-day.is-muted{opacity:.4;background:#f0ede680}.calendar-day.is-muted .calendar-day-label{color:var(--text-muted);font-weight:500;border-color:transparent;background:transparent;box-shadow:none}.calendar-day.is-today{background:linear-gradient(180deg,#ecf7f199,#ffffffdb)}.calendar-day.is-today .calendar-day-label{background:var(--bg-accent);color:#fff;border-radius:999px}.calendar-day-header-vertical{align-items:stretch}.calendar-day-label{display:inline-flex;align-items:center;justify-content:center;min-inline-size:34px;min-block-size:34px;padding:6px 10px;border:none;background:transparent;color:var(--text-strong);font-size:1rem;font-weight:800;cursor:pointer}.calendar-day-label-week{display:grid;justify-items:start;gap:2px;inline-size:100%;text-align:left}.calendar-day-label-weekday{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.calendar-day-label-date{font-size:1rem;font-weight:700;color:var(--text-strong)}.calendar-day-label-date-compact{display:none}.calendar-item-list,.calendar-item-list-week,.calendar-date-agenda-list{gap:4px}.month-banner-list{align-content:start;min-height:54px}.calendar-item-list button,.calendar-date-agenda-list>button,.stay-row{border-radius:var(--radius-md);background:#ffffffe6;padding:8px 10px}.calendar-item{position:relative;overflow:hidden;display:grid;gap:4px;align-content:start;border-width:1px;border-style:solid;text-align:left;box-shadow:inset 0 1px #ffffff94}.calendar-item.month-banner{padding:5px 8px;min-height:28px;font-size:.78rem}.calendar-item.full-banner{padding:12px 14px;min-height:64px}.calendar-item.tone-critical,.schedule-card.tone-critical{background:linear-gradient(135deg,#b04a3a29,#ffffffeb);border-color:#b04a3a38;color:var(--text-strong)}.calendar-item.tone-attention,.schedule-card.tone-attention{background:linear-gradient(135deg,#2c6fb329,#ffffffeb);border-color:#2c6fb338;color:var(--text-strong)}.calendar-item.tone-calm,.schedule-card.tone-calm{background:linear-gradient(135deg,#29704d29,#ffffffeb);border-color:#29704d38;color:var(--text-strong)}.calendar-more-items{margin:0;padding-inline:4px;font-size:.82rem;font-weight:700;color:var(--text-muted)}.route-mode-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.route-mode-toggle{display:inline-flex;border:1px solid var(--border-soft);border-radius:var(--radius-md, 8px);overflow:hidden}.route-mode-button{padding:8px 20px;font-size:.85rem;font-weight:600;border:none;cursor:pointer;background:var(--bg-panel-strong);color:var(--text-body);transition:background .15s,color .15s;white-space:nowrap}.route-mode-button:disabled{opacity:.5;cursor:not-allowed}.route-mode-button.is-active{background:var(--accent);color:#fff}.route-mode-button+.route-mode-button{border-left:1px solid var(--border-soft)}.route-summary-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;padding:14px 16px;border-radius:var(--radius-md, 8px);background:var(--bg-panel);border:1px solid var(--border-soft)}.route-summary-stat{display:flex;flex-direction:column;gap:2px;text-align:center}.route-summary-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.route-summary-stat strong{font-size:1.1rem;color:var(--text-strong)}.route-leg-indicator{display:flex;align-items:center;gap:8px;padding:4px 0 4px 18px}.route-leg-line{width:2px;height:18px;background:var(--border-soft);border-radius:1px}.route-leg-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.route-stop-card{display:grid;grid-template-columns:1fr;gap:0;width:100%;text-align:left;cursor:pointer;background:none;border:none;padding:0;font:inherit;color:inherit}.route-stop-reorder{display:flex;gap:6px;margin-top:8px}.route-reorder-button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-soft);border-radius:var(--radius-md, 8px);background:var(--bg-panel);color:var(--text-muted);font-size:1rem;cursor:pointer;transition:background .15s,color .15s}.route-reorder-button:hover:not(:disabled){background:var(--accent);color:#fff}.route-reorder-button:disabled{opacity:.3;cursor:not-allowed}.route-week-strip{display:flex;align-items:center;gap:6px}.route-week-days{display:flex;gap:4px;flex:1;justify-content:space-between}.route-week-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:var(--radius-md, 8px);border:1px solid transparent;background:none;cursor:pointer;font:inherit;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s;position:relative}.route-week-day:hover{background:var(--bg-panel);border-color:var(--border-soft)}.route-week-day.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.route-week-day.is-today:not(.is-active){border-color:var(--accent)}.route-week-day-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.route-week-day-num{font-size:1rem;font-weight:700}.route-week-day-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.6}.route-week-day.is-active .route-week-day-dot{opacity:1}.route-start-field{min-width:200px}.route-start-input-row{display:flex;gap:6px;align-items:center}.route-start-input-row input{flex:1;min-width:0}.route-locate-button{flex-shrink:0;padding:6px 10px;font-size:1rem;line-height:1}.route-stop{display:grid;grid-template-columns:1fr;gap:0;cursor:pointer}.route-stop-summary{display:grid;gap:2px}.route-stop-summary-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.route-stop-summary-row h3{margin:0}.route-stop-address{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-stop-details{display:grid;gap:14px;padding-top:14px;margin-top:14px;border-top:1px solid var(--border-soft)}.route-stop-order,.calendar-item-title,.menu-flyout-label{margin:0;color:var(--text-strong);font-weight:700}.route-stop-aside{display:grid;gap:10px;min-width:180px}.route-stop-time-grid,.calendar-year-card-metrics{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.auth-shell{display:grid;place-items:center;min-height:100vh;padding:20px}.auth-panel{width:min(440px,100%);padding:36px 32px;border-radius:var(--radius-xl);background:var(--bg-panel-strong);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft)}.auth-login-header{text-align:center;margin-bottom:28px}.auth-login-header h1{margin:0 0 6px;font:700 1.6rem / 1.15 var(--font-display);color:var(--text-strong)}.auth-login-body{display:flex;flex-direction:column;gap:16px}.auth-login-button{width:100%;padding:12px 18px;font-size:.95rem}.auth-divider{display:flex;align-items:center;gap:12px;margin:4px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-soft)}.auth-divider span{font-size:.82rem;color:var(--text-muted);white-space:nowrap}.auth-social-stack{display:flex;flex-direction:column;gap:10px}.auth-social-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 18px;font-size:.92rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s,border-color .15s}.auth-social-icon{flex-shrink:0}.social-auth-google{border-color:#db443738;background:#ffffffe6}.social-auth-google:hover{background:#db443714}.social-auth-facebook{border-color:#1877f238;background:#ffffffe6}.social-auth-facebook:hover{background:#1877f214}.social-auth-microsoft{border-color:#0078d438;background:#ffffffe6}.social-auth-microsoft:hover{background:#0078d414}.auth-signup-panel{width:min(480px,100%)}.auth-signup-form{display:flex;flex-direction:column;gap:12px}.auth-signup-fields{display:flex;flex-direction:column;gap:10px}.auth-account-type-fieldset{border:none;margin:0;padding:0}.auth-account-type-fieldset legend{font-size:.85rem;font-weight:600;color:var(--text-body);margin-bottom:8px}.auth-account-type-options{display:flex;gap:12px;flex-wrap:wrap}.auth-radio-label{display:flex;align-items:center;gap:6px;font-size:.9rem;cursor:pointer}.auth-radio-label input[type=radio]{width:16px;height:16px;accent-color:var(--accent-primary, #3a8c6e);cursor:pointer}.auth-login-footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-soft);text-align:center}.pwa-guide-overlay{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:24px;background:#17322d80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:wizardFadeIn .2s ease-out}.pwa-guide-panel{width:min(380px,100%);padding:24px;border-radius:var(--radius-xl);background:var(--bg-panel-strong);border:1px solid var(--border-soft);box-shadow:0 24px 64px #17322d33;animation:wizardSlideUp .25s ease-out}.pwa-guide-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.pwa-guide-header h2{margin:0;font-size:1.2rem}.pwa-guide-steps{margin:16px 0;padding-left:20px;display:flex;flex-direction:column;gap:10px;font-size:.92rem;line-height:1.5;color:var(--text-body)}.pwa-guide-icon{font-size:1.1rem;vertical-align:middle}.pwa-guide-dismiss{width:100%;margin-top:8px}.link-inline{background:none;border:none;color:var(--bg-accent);font:inherit;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.link-inline:hover{color:var(--text-strong)}@media(min-width:1080px){.workspace-stack{grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);align-items:start}.workspace-stack.full-width-stack,.workspace-stack.today-stack{grid-template-columns:1fr}.workspace-stack.today-stack{max-width:600px;margin-left:auto;margin-right:auto}.workspace-stack.full-width-stack>*,.workspace-stack.today-stack>*{grid-column:1 / -1}.config-panel-inner{grid-column:1 / -1}}@media(max-width:1079px){.panel-header-row{align-items:center}.config-actions{justify-content:flex-start}.auth-portal-hero{grid-template-columns:1fr}}@media(max-width:760px){.page-shell{width:min(100%,calc(100% - 20px));padding-top:16px;overflow-x:hidden}.app-header,.panel,.hero-panel,.source-card,.timeline-group,.schedule-card,.route-stop,.detail-card,.auth-panel{padding:16px;border-radius:20px;overflow:hidden}.workspace-stack{min-width:0;overflow:hidden}.property-list{padding:8px}.property-list-card{padding:12px;gap:10px}.property-list-info h3{font-size:.92rem}.auth-portal-shell{padding:18px}.auth-portal-actions{flex-direction:column;align-items:stretch}.route-stop{grid-template-columns:1fr}.schedule-panel{overflow:hidden}.schedule-controls{flex-direction:column;align-items:stretch}.panel-header-row{gap:8px}.priority-filter-block{min-width:0;overflow:hidden}.toggle-group{flex-wrap:wrap}.toggle-group button,.toggle-chip{font-size:.82rem;padding:8px 12px}.calendar-toolbar{flex-wrap:nowrap;align-items:center;justify-content:center;text-align:center}.calendar-toolbar .secondary-button{width:auto;text-align:center}.filter-row,.inline-field{width:100%}.inline-field select{flex:1}.menu-flyout{width:min(286px,calc(100vw - 34px));border-radius:0 20px 20px 0;padding:16px 12px 14px}.calendar-scroll-shell{overflow-x:hidden}.calendar-grid-month{min-width:0;gap:4px}.calendar-grid-week{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;gap:4px}.calendar-grid-month>div:nth-child(n+8),.calendar-grid-week>div{padding:6px}.calendar-day{min-height:54px;gap:4px;overflow:hidden}.calendar-day-month{aspect-ratio:1 / 1}.calendar-day-label{min-inline-size:24px;min-block-size:24px;padding:3px 6px;font-size:.78rem}.calendar-day-label-week{gap:1px}.calendar-day-label-weekday{font-size:.62rem;letter-spacing:.06em}.calendar-day-label-date{font-size:.82rem}.calendar-day-label-date-full{display:none}.calendar-day-label-date-compact{display:block}.calendar-day-week{aspect-ratio:auto;overflow:hidden}.calendar-weekday-week{display:none}.calendar-weekday{padding:4px 2px;font-size:.68rem}.calendar-item{overflow:hidden}.calendar-item.month-banner{padding:0;min-height:4px;height:4px;border-radius:2px;border:none;box-shadow:none}.calendar-item.month-banner .calendar-item-title{display:none}.calendar-item.full-banner{padding:3px 4px;min-height:0}.calendar-item-title{font-size:.65rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.calendar-item-subtitle{font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.calendar-item-list,.calendar-item-list-week{gap:2px}.calendar-item-list button,.calendar-date-agenda-list>button{padding:4px}.month-banner-list{min-height:0;gap:2px}.month-banner-list .calendar-item.month-banner{width:100%}.calendar-more-items{font-size:.6rem;padding-inline:2px}.calendar-item.month-banner.tone-critical{background:#b04a3ab3;border-color:#b04a3ab3}.calendar-item.month-banner.tone-attention{background:#2c6fb3b3;border-color:#2c6fb3b3}.calendar-item.month-banner.tone-calm{background:#29704d80;border-color:#29704d80}}.admin-member-list{display:flex;flex-direction:column;gap:12px}.admin-member-row{display:grid;grid-template-columns:1fr auto;gap:10px 16px;align-items:center;padding:12px 14px;background:var(--surface-card, #ffffff);border:1px solid var(--border-subtle, #e2e2e2);border-radius:10px}.admin-member-info{min-width:0}.admin-member-name{font-weight:600;font-size:.95rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-member-email{font-size:.82rem;color:var(--text-muted, #777);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-member-controls{display:flex;gap:8px;align-items:center}.admin-member-controls select{padding:4px 8px;border-radius:6px;border:1px solid var(--border-subtle, #ccc);font-size:.82rem;background:var(--surface-input, #fff)}.admin-role-badge{display:inline-block;font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:6px;text-transform:capitalize}.admin-role-badge.owner{background:var(--accent-surface, #e8f0fe);color:var(--accent-text, #1a56db)}.admin-member-meta{grid-column:1 / -1;display:flex;gap:16px;flex-wrap:wrap;padding-top:4px;border-top:1px solid var(--border-subtle, #eee);margin-top:4px}.source-meta-item{display:flex;gap:6px;font-size:.8rem;color:var(--text-muted, #777)}.source-meta-item span{color:var(--text-muted, #999)}.source-meta-item strong{color:var(--text-body, #333);font-weight:600}.danger-button{padding:4px 12px;font-size:.82rem;font-weight:600;border:1px solid #d32f2f;color:#d32f2f;background:transparent;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.danger-button:hover{background:#d32f2f;color:#fff}.manual-events-section{display:flex;flex-direction:column;gap:10px}.manual-event-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-muted);border-radius:var(--radius-sm)}.manual-event-row{display:flex;gap:8px}.manual-event-row>label,.manual-event-row>input,.manual-event-row>select{flex:1;min-width:0}.manual-sms-paste{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-muted);border-radius:var(--radius-sm)}.manual-events-list{display:flex;flex-direction:column;gap:4px}.manual-event-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.manual-event-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.manual-event-inline-add{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--bg-muted);border-radius:var(--radius-sm)}.manual-event-inline-add input,.manual-event-inline-add select{flex:1;min-width:0}@media(max-width:600px){.manual-event-row{flex-direction:column}.source-form,.config-panel-inner{overflow:hidden;min-width:0}.source-form label,.source-form .three-up-fields,.source-form .two-up-fields,.source-form .source-meta-grid{min-width:0}.three-up-fields,.two-up-fields,.source-meta-grid,.detail-grid{grid-template-columns:1fr}.source-form input,.source-form select,.source-form textarea{min-width:0;max-width:100%}.config-actions{flex-wrap:wrap}.config-actions .secondary-button{font-size:.82rem;padding:8px 12px}}.wizard-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#17322d73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:wizardFadeIn .2s ease-out}@keyframes wizardFadeIn{0%{opacity:0}to{opacity:1}}.wizard-panel{width:min(520px,100%);max-height:90vh;overflow-y:auto;padding:28px 28px 20px;border-radius:var(--radius-xl);background:var(--bg-panel-strong);border:1px solid var(--border-soft);box-shadow:0 24px 64px #17322d33;animation:wizardSlideUp .25s ease-out}@keyframes wizardSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.wizard-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.wizard-header h2{margin:0;font-size:1.25rem}.wizard-progress{height:4px;border-radius:2px;background:var(--bg-muted);margin-bottom:20px;overflow:hidden}.wizard-progress-bar{height:100%;border-radius:2px;background:var(--bg-accent);transition:width .3s ease}.wizard-body{display:flex;flex-direction:column;gap:14px;min-height:120px}.wizard-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wizard-option{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:var(--radius-lg);border:2px solid var(--border-soft);background:var(--bg-panel);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.wizard-option:hover{border-color:var(--border-strong)}.wizard-option.is-selected{border-color:var(--bg-accent);background:var(--bg-accent-soft)}.wizard-option-title{font-weight:700;font-size:.92rem;color:var(--text-strong)}.wizard-option-desc{font-size:.8rem;color:var(--text-muted);line-height:1.35}.wizard-footer{display:flex;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-soft)}.menu-flyout-item-add{border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.menu-flyout-item-add .menu-flyout-label{color:var(--bg-accent);font-weight:700}@media(max-width:480px){.wizard-option-grid{grid-template-columns:1fr}.wizard-overlay{align-items:flex-start;padding-top:24px}.wizard-panel{padding:20px 18px 16px;max-height:calc(100vh - 48px)}}.more-menu-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:#17322d73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:wizardFadeIn .15s ease-out}.more-menu-panel{position:relative;z-index:1;width:min(340px,100%);padding:24px 20px 16px;border-radius:var(--radius-xl);background:var(--bg-panel-strong);border:1px solid var(--border-soft);box-shadow:0 24px 64px #17322d33;animation:wizardSlideUp .2s ease-out}.more-menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.more-menu-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;border:none;border-radius:14px;background:none;color:var(--text-body);font-size:.75rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s ease}.more-menu-item:active{background:#173f370f}.more-menu-icon{display:flex;align-items:center;justify-content:center;line-height:1;color:var(--text-strong)}.more-menu-version{margin:12px 0 0;text-align:center;font-size:.7rem;color:var(--text-muted)}.bottom-nav{position:fixed;inset:auto 0 0;z-index:20;display:flex;justify-content:space-around;align-items:stretch;background:var(--bg-panel-strong, #f5f0eb);border-top:1px solid rgba(23,63,55,.1);padding:4px 0;padding-bottom:env(safe-area-inset-bottom,4px);box-shadow:0 -2px 12px #12231f14}.property-list{display:flex;flex-direction:column;gap:12px;padding:16px;min-width:0;overflow:hidden}.property-list-card .source-color{width:8px;height:48px;border-radius:4px;flex-shrink:0}.property-list-info{min-width:0;overflow:hidden;flex:1 1 0%}.property-list-info h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary, #12231f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-list-info .muted-text{margin:2px 0 0;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-list-meta{margin:4px 0 0;font-size:.75rem;color:var(--text-muted, #6e7a77)}.property-list-address{word-wrap:break-word;overflow-wrap:break-word;white-space:normal}.property-list-card{display:flex;align-items:center;gap:14px;background:var(--bg-panel, #faf7f4);border-radius:14px;padding:16px;box-shadow:0 1px 4px #12231f0f;border:1px solid rgba(23,63,55,.08);position:relative;min-width:0;max-width:100%}.property-menu-anchor{position:relative;margin-left:auto;flex-shrink:0}.property-menu-trigger{border:none;background:none;font-size:1.4rem;color:var(--text-muted, #6e7a77);padding:4px 8px;cursor:pointer;-webkit-tap-highlight-color:transparent;line-height:1;letter-spacing:2px}.property-menu-popover{position:absolute;right:0;top:100%;z-index:30;min-width:150px;background:var(--bg-panel-strong, #fffdf8);border:1px solid var(--border-soft);border-radius:12px;box-shadow:0 8px 24px #12231f24;padding:6px 0;animation:wizardFadeIn .15s ease-out}.property-menu-option{display:block;width:100%;padding:10px 16px;border:none;background:none;text-align:left;font-size:.9rem;color:var(--text-body, #34524b);cursor:pointer;-webkit-tap-highlight-color:transparent}.property-menu-option:active{background:#173f370f}.property-menu-option-danger{color:var(--tone-critical, #b04a3a)}.property-cleaners-section{margin-top:8px}.property-cleaners-section .eyebrow{margin-bottom:4px}.property-cleaners-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;min-height:20px}.property-cleaner-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-panel-strong, #fffdf8);border:1px solid var(--border-soft, rgba(23, 63, 55, .12));border-radius:20px;padding:4px 10px 4px 4px;font-size:.82rem;color:var(--text-body, #34524b)}.property-cleaner-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent, #173f37);color:#fff;font-size:.72rem;font-weight:600}.property-cleaner-remove{border:none;background:none;padding:0 2px;font-size:.9rem;color:var(--text-muted, #6e7a77);cursor:pointer;line-height:1}.property-cleaner-remove:hover{color:var(--tone-critical, #b04a3a)}.property-cleaner-select{width:100%;max-width:300px;padding:8px 12px;font-size:.85rem;border:1px solid var(--border-soft, rgba(23, 63, 55, .12));border-radius:10px;background:var(--bg-panel, #faf7f4);color:var(--text-body, #34524b)}.wizard-cleaners{margin-top:12px}.property-card-cleaners{display:flex;align-items:center;gap:4px;margin-top:6px;flex-wrap:wrap}.property-card-cleaner-chip{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent, #173f37);color:#fff;font-size:.65rem;font-weight:600}.property-card-cleaner-names{font-size:.75rem;color:var(--text-muted, #6e7a77);margin-left:4px}.task-assign-group-label{display:block;padding:6px 12px 2px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #6e7a77)}.task-assign-option--property{border-left:3px solid var(--accent, #173f37)}.fab{position:fixed;right:20px;bottom:calc(72px + env(safe-area-inset-bottom,4px));width:56px;height:56px;border-radius:50%;border:none;background:var(--accent, #173f37);color:#fff;font-size:1.8rem;font-weight:300;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #173f3759;cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:15;transition:transform .12s ease,box-shadow .12s ease}.fab:active{transform:scale(.92);box-shadow:0 2px 8px #173f3740}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 4px;border:none;background:none;color:var(--text-muted, #6e7a77);font-size:.65rem;font-weight:600;letter-spacing:.02em;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .12s ease}.bottom-nav-item svg{width:22px;height:22px}.bottom-nav-item.is-active{color:var(--bg-accent, #14332c)}.bottom-nav-item:active{opacity:.7}.nav-badge-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e53935;margin-left:4px;vertical-align:middle}.nav-badge-dot--icon{position:absolute;top:-2px;right:-4px;margin-left:0;border:2px solid var(--bg-base, #fff);width:10px;height:10px}.page-shell{padding-bottom:calc(72px + env(safe-area-inset-bottom,4px))}.menu-button{display:none}.owner-report-select-row{margin-bottom:16px}.owner-report-select{width:100%;max-width:360px;padding:10px 12px;border-radius:10px;border:1px solid var(--border-soft, #d3dbd9);background:var(--bg-card, #fff);font-size:.95rem;color:var(--text-body, #34524b)}.owner-report-list{display:flex;flex-direction:column;gap:16px}.owner-report-card{background:var(--bg-card, #fff);border:1px solid var(--border-soft, #d3dbd9);border-radius:14px;padding:16px}.owner-report-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.owner-report-card-label{font-weight:600;font-size:.95rem;color:var(--text-heading, #14332c)}.owner-report-status{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 10px;border-radius:999px;background:var(--border-soft, #d3dbd9);color:var(--text-body, #34524b)}.owner-report-status--done{background:#d3f5e0;color:#1a6b3a}.owner-report-status--in_progress{background:#fef3cd;color:#856404}.owner-report-status--pending{background:#e8eaf0;color:#4a5568}.owner-report-meta{font-size:.8rem;color:var(--text-muted, #6e7a77);margin-bottom:12px}.owner-report-section{margin-top:12px}.owner-report-section h4{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #6e7a77);margin:0 0 6px}.owner-report-notes{display:flex;flex-direction:column;gap:6px}.owner-report-note{display:flex;gap:6px;align-items:baseline;font-size:.88rem}.owner-report-note-author{font-weight:600;color:var(--text-heading, #14332c);white-space:nowrap}.owner-report-note-msg{color:var(--text-body, #34524b);flex:1}.owner-report-note-time{font-size:.75rem;color:var(--text-muted, #6e7a77);white-space:nowrap}.owner-report-photos{display:flex;gap:8px;flex-wrap:wrap}.owner-report-photo-thumb{width:80px;height:80px;border-radius:10px;overflow:hidden;border:1px solid var(--border-soft, #d3dbd9);flex-shrink:0}.owner-report-photo-thumb img{width:100%;height:100%;object-fit:cover;cursor:pointer}.owner-report-empty{font-size:.85rem;color:var(--text-muted, #6e7a77);margin:0}.cr-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.cr-modal{background:var(--bg-card, #fff);border-radius:14px;width:100%;max-width:460px;max-height:85vh;overflow-y:auto;padding:20px;box-shadow:0 12px 40px #00000040}.cr-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cr-modal-header h3{margin:0;font-size:1.15rem}.cr-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted, #6e7a77);padding:0 4px;line-height:1}.cr-label{display:block;margin-bottom:14px}.cr-label>span{display:block;font-size:.8rem;font-weight:600;margin-bottom:6px;color:var(--text-secondary, #4b5563)}.cr-select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border-soft, #d3dbd9);background:var(--bg-page, #f5f7f6);font-size:.9rem}.cr-textarea{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border-soft, #d3dbd9);background:var(--bg-page, #f5f7f6);font-size:.9rem;resize:vertical;font-family:inherit}.cr-condition-chips,.cr-supply-chips{display:flex;flex-wrap:wrap;gap:6px}.cr-chip{padding:5px 12px;border-radius:9999px;border:1px solid var(--border-soft, #d3dbd9);background:var(--bg-page, #f5f7f6);font-size:.8rem;cursor:pointer;transition:background .15s,border-color .15s}.cr-chip:hover{border-color:var(--accent-primary, #3a8c6e)}.cr-chip.is-active{background:var(--accent-primary, #3a8c6e);color:#fff;border-color:var(--accent-primary, #3a8c6e)}.cr-chip--condition.is-active{background:var(--accent-primary, #3a8c6e)}.cr-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.detail-task-actions{display:flex;flex-direction:column;gap:10px;margin:12px 0;padding:12px;background:var(--bg-page, #f5f7f6);border-radius:10px}.detail-task-actions .swipe-desktop-actions,.detail-task-actions .task-assign-row,.detail-task-actions .task-photo-row{margin:0}.detail-notes-section{display:flex;flex-direction:column;gap:6px}.detail-status-badge{display:inline-block;font-size:.8rem;font-weight:600;padding:4px 12px;border-radius:9999px}.detail-status-badge--done{background:var(--accent-success, #16a34a);color:#fff}.detail-status-badge--issue{background:var(--accent-error, #dc2626);color:#fff}.cr-report-list{display:flex;flex-direction:column;gap:8px}.cr-report-item{padding:10px 12px;border-radius:8px;border-left:3px solid var(--border-soft, #d3dbd9);background:var(--bg-page, #f5f7f6)}.cr-report-item--issue{border-left-color:var(--accent-error, #dc2626)}.cr-report-item--done{border-left-color:var(--accent-success, #16a34a)}.cr-report-header{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem}.cr-report-badge{font-size:.7rem;font-weight:600;padding:1px 8px;border-radius:9999px;text-transform:uppercase}.cr-report-badge--issue{background:var(--accent-error, #dc2626);color:#fff}.cr-report-badge--done{background:var(--accent-success, #16a34a);color:#fff}.cr-report-category{font-weight:600;text-transform:capitalize}.cr-report-condition{padding:1px 8px;border-radius:9999px;background:var(--bg-card, #fff);border:1px solid var(--border-soft, #d3dbd9);font-size:.72rem;text-transform:capitalize}.cr-report-by,.cr-report-time{color:var(--text-muted, #6e7a77)}.cr-report-desc{margin:6px 0 0;font-size:.85rem;line-height:1.5}.cr-report-supplies{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px}.cr-report-supplies-label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #4b5563)}.cr-supply-tag{display:inline-block;font-size:.72rem;padding:1px 8px;border-radius:9999px;background:var(--accent-warning, #f59e0b);color:#1a1a1a;font-weight:500}.rev-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px;border-bottom:1px solid var(--border-soft, #d3dbd9);padding-bottom:8px}.rev-tab{padding:6px 14px;border:1px solid var(--border-soft, #d3dbd9);border-radius:999px;background:transparent;font-size:.82rem;font-weight:600;color:var(--text-muted, #6e7a77);cursor:pointer;transition:all .12s ease}.rev-tab.is-active{background:var(--bg-accent, #173f37);border-color:var(--bg-accent, #173f37);color:#fff}.rev-section{margin-bottom:24px}.rev-section-header h3{font-size:1rem;font-weight:700;color:var(--text-heading, #14332c);margin:0 0 4px}.rev-section-desc{font-size:.85rem;color:var(--text-muted, #6e7a77);margin:0 0 12px}.rev-table-wrap{overflow-x:auto;margin-bottom:12px}.rev-table{width:100%;border-collapse:collapse;font-size:.85rem}.rev-table th{text-align:left;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #6e7a77);padding:6px 10px;border-bottom:2px solid var(--border-soft, #d3dbd9);white-space:nowrap}.rev-table td{padding:8px 10px;border-bottom:1px solid var(--border-soft, #d3dbd9);color:var(--text-body, #34524b);vertical-align:top}.rev-table tbody tr:hover{background:#173f3708}.rev-nowrap{white-space:nowrap}.rev-config-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;font-size:.78rem}.rev-badge{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 8px;border-radius:999px;background:var(--bg-muted, #ece4d7);color:var(--text-body, #34524b)}.rev-badge--low{background:#e8eaf0;color:#4a5568}.rev-badge--medium{background:#fef3cd;color:#856404}.rev-badge--high{background:#fee2e2;color:#b04a3a}.rev-badge--extreme{background:#dc2626;color:#fff}.rev-delete{border:none;background:none;color:var(--tone-critical, #b04a3a);font-size:1.1rem;cursor:pointer;padding:2px 6px;border-radius:6px;line-height:1}.rev-delete:hover{background:#b04a3a1a}.rev-add-form{margin-top:8px}.rev-add-btn{font-size:.85rem;font-weight:600;color:var(--bg-accent, #173f37);cursor:pointer;list-style:none;padding:8px 0}.rev-add-btn::-webkit-details-marker{display:none}.rev-form-grid{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0;align-items:flex-end}.rev-form-grid input,.rev-form-grid select,.rev-form-grid textarea{padding:8px 10px;border:1px solid var(--border-soft, #d3dbd9);border-radius:8px;font-size:.88rem;min-width:140px;flex:1 1 140px;max-width:220px}.rev-form-grid textarea{max-width:300px;min-height:52px;resize:vertical}.rev-form-grid .primary-button{flex:0 0 auto}.role-legend{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--surface-alt, #f8f8f8);border-radius:10px;margin-bottom:16px}.role-legend--collapsible{animation:wizardFadeIn .15s ease-out}.role-info-trigger-row{margin-bottom:12px}.role-info-trigger{display:inline-flex;align-items:center;gap:6px;border:none;background:none;font-size:.82rem;color:var(--text-muted, #6e7a77);cursor:pointer;padding:4px 0}.role-info-trigger:hover{color:var(--accent, #173f37)}.role-legend-item{display:flex;align-items:center;gap:10px}.role-legend-desc{font-size:.82rem;color:var(--text-muted, #888)}.info-tooltip-anchor{position:relative;display:inline-flex;align-items:center}.info-tooltip-icon{color:var(--text-muted, #6e7a77);cursor:help}.info-tooltip-text{display:none;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);white-space:normal;width:260px;padding:10px 14px;font-size:.78rem;line-height:1.4;color:#fff;background:var(--accent, #173f37);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:50;pointer-events:none}.info-tooltip-anchor:hover .info-tooltip-text{display:block}.role-badge--owner{background:#fef3c7!important;color:#92400e!important}.role-badge--admin{background:#dbeafe!important;color:#1d4ed8!important}.role-badge--identity_admin{background:#fce7f3!important;color:#9d174d!important}.role-badge--cleaner_admin{background:#e0e7ff!important;color:#4338ca!important}.role-badge--member{background:#e8e8e8!important;color:#555!important}.um-panel-tabs{display:flex;gap:0;margin-bottom:16px;border-radius:10px;overflow:hidden;border:1px solid var(--border-subtle, #e0e0e0)}.um-panel-tab{flex:1;padding:10px 18px;font-size:.95rem;font-weight:600;border:none;background:var(--card-bg, #fff);color:var(--text-secondary, #666);cursor:pointer;transition:background .15s,color .15s}.um-panel-tab.is-active{background:var(--accent-primary, #2563eb);color:#fff}.um-panel-tab:hover:not(.is-active){background:var(--bg-hover, #f3f4f6)}.um-sys-details{display:flex;flex-wrap:wrap;gap:6px 16px;margin:6px 0 8px}.um-sys-detail{font-size:.8rem;color:var(--text-muted, #888)}.um-sys-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle, #e8e8e8)}.um-action-small{font-size:.8rem!important;padding:4px 14px!important}.um-action-danger{color:var(--accent-error, #dc2626)!important;border-color:var(--accent-error, #dc2626)!important}.um-action-danger:hover{background:var(--accent-error, #dc2626)!important;color:#fff!important}.um-password-reset-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;width:100%}.um-password-input{flex:1;min-width:140px;padding:5px 10px;border-radius:6px;border:1px solid var(--border-subtle, #ccc);font-size:.85rem}.um-disabled-badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:10px;font-size:.7rem;font-weight:600;background:var(--accent-error, #dc2626);color:#fff;vertical-align:middle}.um-card-disabled{opacity:.7;border-left:3px solid var(--accent-error, #dc2626)}.um-card-pending{border-left:3px solid var(--accent-warning, #f59e0b);opacity:.85}.um-invite-badge{display:inline-block;font-size:.65rem;font-weight:600;padding:1px 7px;border-radius:9999px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em}.um-invite-badge--pending{background:var(--accent-warning, #f59e0b);color:#1a1a1a}.um-invite-badge--accepted{background:var(--accent-success, #16a34a);color:#fff}.um-toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.um-filter-tabs{display:flex;flex-wrap:wrap;gap:6px}.um-filter-tab{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:16px;border:1px solid var(--border, #ddd);background:var(--surface, #fff);font-size:.82rem;font-weight:500;cursor:pointer;color:var(--text-muted, #666);transition:background .15s,border-color .15s}.um-filter-tab.is-active{background:var(--accent-bg, #e8f0fe);border-color:var(--accent, #4285f4);color:var(--accent, #4285f4)}.um-filter-count{display:inline-block;min-width:18px;height:18px;line-height:18px;text-align:center;border-radius:9px;background:var(--border, #e0e0e0);font-size:.72rem;font-weight:600}.um-filter-tab.is-active .um-filter-count{background:var(--accent, #4285f4);color:#fff}.um-search-input{width:100%;padding:8px 12px;border:1px solid var(--border, #ddd);border-radius:8px;font-size:.9rem;background:var(--surface, #fff);box-sizing:border-box}.um-member-grid{display:flex;flex-direction:column;gap:10px}.um-member-card{padding:14px 16px;background:var(--surface, #fff);border:1px solid var(--border, #e0e0e0);border-radius:10px;display:flex;flex-direction:column;gap:8px}.um-member-card-top{display:flex;align-items:center;gap:12px}.um-avatar{width:38px;height:38px;border-radius:50%;background:var(--accent-bg, #e8f0fe);color:var(--accent, #4285f4);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;flex-shrink:0}.um-member-identity{min-width:0;flex:1}.um-member-name{margin:0;font-weight:600;font-size:.95rem}.um-member-email{margin:0;font-size:.82rem;color:var(--text-muted, #888);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-member-card-role{display:flex;align-items:center}.um-role-select{padding:4px 8px;border-radius:6px;border:1px solid var(--border, #ddd);font-size:.85rem;background:var(--surface, #fff)}.um-member-card-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.78rem;color:var(--text-muted, #aaa)}.um-remove-btn{align-self:flex-start;padding:4px 12px;font-size:.8rem;border-radius:6px;border:1px solid #b91c1c;background:transparent;color:#b91c1c;cursor:pointer;font-weight:500}.um-remove-btn:hover{background:#fee2e2}.invoice-form{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--surface-alt, #f8f8f8);border-radius:10px;margin-bottom:16px}.invoice-form label span{display:block;font-size:.82rem;font-weight:500;margin-bottom:4px;color:var(--text-muted, #666)}.invoice-form input,.invoice-form select,.invoice-form textarea{width:100%;padding:8px 10px;border:1px solid var(--border, #ddd);border-radius:8px;font-size:.95rem;background:var(--surface, #fff);box-sizing:border-box}.form-actions{display:flex;gap:8px;margin-top:4px}.invoice-list{display:flex;flex-direction:column;gap:12px}.invoice-card{padding:14px 16px;background:var(--surface, #fff);border:1px solid var(--border, #e0e0e0);border-radius:10px}.swipe-container>.swipe-card-inner>.invoice-card{margin:0;border-radius:0;border:none}.inv-swipe-send{background:#1d4ed8}.inv-swipe-delete{background:#b91c1c}.invoice-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.invoice-card-amount{font-size:1.3rem;font-weight:700}.invoice-status{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.invoice-status--draft{background:#e8e8e8;color:#666}.invoice-status--sent{background:#dbeafe;color:#1d4ed8}.invoice-status--paid{background:#dcfce7;color:#15803d}.invoice-status--overdue{background:#fee2e2;color:#b91c1c}.invoice-status--accepted{background:#dcfce7;color:#15803d}.invoice-status--declined{background:#fee2e2;color:#b91c1c}.invoice-status--active{background:#dbeafe;color:#1d4ed8}.invoice-status--completed{background:#dcfce7;color:#15803d}.invoice-status--cancelled{background:#e8e8e8;color:#666}.invoice-status--expired{background:#fef9c3;color:#a16207}.invoice-status--archived{background:#f3f4f6;color:#9ca3af}.invoice-card-desc{margin:0 0 6px;font-size:.92rem;color:var(--text-primary, #333)}.invoice-card-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.82rem;color:var(--text-muted, #888);margin-bottom:4px}.invoice-card-notes{margin:6px 0 0;font-size:.85rem;color:var(--text-muted, #888);font-style:italic}.invoice-card-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.btn-small{padding:4px 12px;font-size:.8rem;border-radius:6px;border:1px solid var(--border, #ccc);background:var(--surface, #fff);cursor:pointer;font-weight:500}.btn-small:hover{background:#f0f0f0}.btn-success{border-color:#15803d;color:#15803d}.btn-success:hover{background:#dcfce7}.btn-warning{border-color:#b45309;color:#b45309}.btn-warning:hover{background:#fef3c7}.btn-danger{border-color:#b91c1c;color:#b91c1c}.btn-danger:hover{background:#fee2e2}.referral-subtitle{margin:0 0 12px;font-size:.88rem;color:var(--text-muted, #7a8a84)}.referral-form{margin-bottom:14px}.referral-form label span{display:block;font-size:.82rem;font-weight:600;margin-bottom:4px;color:var(--text-body, #2c3e3a)}.referral-form input{width:100%;padding:10px 14px;border-radius:8px;border:1px solid var(--border-soft, #d3dbd9);background:var(--bg-page, #f5f7f6);font-size:.9rem;color:var(--text-body, #2c3e3a);outline:none;box-sizing:border-box}.referral-form input:focus{border-color:var(--accent, #14332c);box-shadow:0 0 0 2px #14332c1a}.referral-form input::placeholder{color:var(--text-muted, #7a8a84)}.referral-actions{display:flex;flex-wrap:wrap;gap:8px}.referral-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:10px;border:1px solid var(--border-soft, #d3dbd9);background:var(--surface, #fff);color:var(--text-body, #2c3e3a);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;flex:1;justify-content:center;min-width:0}.referral-btn:hover{background:var(--bg-panel, #f5f7f6)}.referral-btn svg{flex-shrink:0}.referral-btn--email:hover{border-color:#1d4ed8;color:#1d4ed8}.referral-btn--sms:hover{border-color:#15803d;color:#15803d}.referral-btn--copy:hover{border-color:var(--accent, #14332c);color:var(--accent, #14332c)}.referral-btn--share:hover{border-color:#7c3aed;color:#7c3aed}.referral-btn:disabled{opacity:.5;pointer-events:none}.referral-stats{display:flex;gap:1rem;margin-bottom:1rem}.referral-stat{flex:1;text-align:center;padding:.75rem .5rem;background:var(--surface-raised, #f7f7f7);border-radius:10px}.referral-stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--accent, #14332c);line-height:1}.referral-stat-label{display:block;font-size:.75rem;color:var(--text-secondary, #6b7280);margin-top:.25rem}.btn-secondary{padding:8px 16px;font-size:.9rem;border-radius:8px;border:1px solid var(--border, #ccc);background:var(--surface, #fff);cursor:pointer}.invoice-summary{margin-top:20px}.admin-glass{position:relative}.admin-glass>.panel,.admin-glass>section>.panel{background:#ffffff73;backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);border:1px solid rgba(255,255,255,.55);box-shadow:0 8px 32px #173f3714,inset 0 1px #fff9,inset 0 -1px #173f370a;border-radius:var(--radius-xl)}.admin-glass .um-panel-tabs{background:#ffffff59;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 16px #173f370f,inset 0 1px #ffffff80;border-radius:14px;overflow:hidden}.admin-glass .um-panel-tab{background:transparent;color:var(--text-muted);border:none;position:relative;transition:background .25s ease,color .25s ease}.admin-glass .um-panel-tab.is-active{background:#fff9;color:var(--text-strong);box-shadow:0 2px 8px #173f371a}.admin-glass .um-panel-tab:hover:not(.is-active){background:#ffffff40}.admin-glass .admin-member-row{background:#fff6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);box-shadow:0 2px 8px #173f370d,inset 0 1px #fff6;border-radius:12px;transition:transform .2s ease,box-shadow .2s ease}.admin-glass .admin-member-row:hover{transform:translateY(-1px);box-shadow:0 4px 16px #173f371a,inset 0 1px #ffffff80}.admin-glass .admin-role-badge{background:#ffffff80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.4);border-radius:8px}.admin-glass .role-badge--owner{background:#173f371f;color:var(--bg-accent)}.admin-glass .role-badge--admin{background:#2c6fb31f;color:var(--tone-attention)}.admin-glass .role-badge--identity_admin{background:#805ad51f;color:#6b46c1}.admin-glass .role-badge--cleaner_admin{background:#29704d1f;color:var(--tone-success)}.admin-glass .role-badge--member{background:#6a80791f;color:var(--text-muted)}.admin-glass .config-subsection{background:#fff3;border-radius:var(--radius-md);padding:16px;border:1px solid rgba(255,255,255,.3)}.admin-glass .hero-stats .metric-card,.admin-glass .hero-stats-row .metric-card{background:#ffffff59;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.45);box-shadow:0 2px 8px #173f370d}.admin-glass .role-legend{background:#ffffff40;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-sm);padding:12px}.admin-glass input,.admin-glass select,.admin-glass textarea{background:#ffffff80;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.admin-glass input:focus,.admin-glass select:focus,.admin-glass textarea:focus{border-color:#173f374d;box-shadow:0 0 0 3px #173f3714}.today-add-task-fab{position:fixed;bottom:88px;right:20px;width:52px;height:52px;border-radius:50%;border:none;background:var(--bg-accent);color:#fff;font-size:1.6rem;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #173f374d;cursor:pointer;z-index:90;transition:transform .2s ease,box-shadow .2s ease}.today-add-task-fab:hover{transform:scale(1.08);box-shadow:0 8px 28px #173f3766}.today-add-task-fab:active{transform:scale(.95)}.add-task-overlay{position:fixed;inset:0;background:#00000059;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;display:flex;align-items:flex-end;justify-content:center}.add-task-sheet{background:var(--bg-panel-strong);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;padding:24px 20px 32px;box-shadow:0 -8px 40px #173f3726;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.add-task-sheet header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.add-task-sheet header h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-strong)}.add-task-close{background:none;border:none;font-size:1.4rem;color:var(--text-muted);padding:4px;cursor:pointer}.add-task-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.add-task-preset{padding:8px 14px;border-radius:999px;border:1px solid var(--border-soft);background:var(--bg-muted);color:var(--text-body);font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.add-task-preset:hover{background:var(--bg-accent-soft);border-color:var(--bg-accent)}.add-task-preset.is-selected{background:var(--bg-accent);color:#fff;border-color:var(--bg-accent)}.add-task-form{display:flex;flex-direction:column;gap:12px}.add-task-form label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;font-weight:600;color:var(--text-strong)}.add-task-form input,.add-task-form select{padding:10px 12px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-size:.95rem;background:#fff}.add-task-form .two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.add-task-submit{margin-top:8px;padding:12px;border:none;border-radius:999px;background:var(--bg-accent);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s}.add-task-submit:disabled{opacity:.5;cursor:not-allowed}.add-task-submit:not(:disabled):hover{opacity:.9}.glass-tab-switcher{display:flex;gap:0;margin-bottom:18px;padding:3px;border-radius:14px;background:#173f370f;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 2px #173f370f,0 2px 8px #173f370a}.glass-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:none;border-radius:11px;background:transparent;color:var(--text-muted);font-size:.92rem;font-weight:600;cursor:pointer;transition:all .22s ease;position:relative}.glass-tab.is-active{background:#ffffffbf;color:var(--text-strong);box-shadow:0 2px 10px #173f371a,inset 0 1px #fffc;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4)}.glass-tab:not(.is-active):hover{background:#ffffff4d;color:var(--text-body)}.glass-tab svg{opacity:.7;transition:opacity .2s}.glass-tab.is-active svg{opacity:1}.schedule-card.manual-task-card{border-left:4px solid var(--bg-accent)}.manual-task-badge{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:6px;background:var(--bg-accent-soft);color:var(--bg-accent);text-transform:uppercase;letter-spacing:.03em}
