:root{--cream: #FAF7F2;--warm-white: #FFFEFB;--gold: #C49A5A;--gold-light: #E8C98A;--deep: #1C1712;--brown: #3D2F1E;--text: #2E2620;--muted: #7A6E65;--border: #E8E0D4;--green: #4A7C5F;--green-light: #EBF3EE;--ocean: #3A7CA5;--ocean-light: #E8F1F7;--shadow: rgba(28, 23, 18, .08);--red: #C45A5A;--red-light: #F3EBEB;--nav-bg: #1C1712;--nav-text: #FAF7F2;--radius: 12px;--nav-h: 72px;--heading: "Cormorant Garamond", Georgia, serif;--sans: "DM Sans", -apple-system, sans-serif}[data-theme=dark]{--cream: #1A1714;--warm-white: #242018;--gold: #C49A5A;--gold-light: #8A6D3E;--deep: #FAF7F2;--brown: #D4C4A8;--text: #E8E0D4;--muted: #9A8E85;--border: #3D3528;--green: #6BA87F;--green-light: #1E2E24;--ocean: #5A9EC5;--ocean-light: #1A2A34;--shadow: rgba(0, 0, 0, .3);--red: #E07070;--red-light: #2E1E1E;--nav-bg: #0F0D0A;--nav-text: #E8E0D4}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--sans);background:var(--cream);color:var(--text);min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100dvh}.debug-banner{background:#2a2a2a;color:#0f0;font-family:monospace;font-size:10px;text-align:center;padding:2px 8px;flex-shrink:0}.main-content{flex:1;min-height:0;padding-bottom:var(--nav-h);overflow-y:auto;-webkit-overflow-scrolling:touch}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--nav-h);background:var(--nav-bg);display:flex;align-items:center;justify-content:space-around;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;color:#fff6;text-decoration:none;font-size:10px;font-weight:500;font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;transition:color .2s;padding:8px 12px;background:none;border:none;cursor:pointer}.nav-item.active{color:var(--gold)}.nav-icon{width:22px;height:22px}.nav-fab{position:relative;padding:0}.fab-circle{width:48px;height:48px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;margin-top:-20px;box-shadow:0 4px 12px #c49a5a66}.fab-circle svg{width:22px;height:22px;color:var(--deep)}.page{padding:0 0 24px}.page-header{padding:calc(16px + env(safe-area-inset-top,0px)) 20px 14px;display:flex;align-items:center;justify-content:space-between;background:var(--warm-white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.page-brand{display:block;font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}.page-title{font-family:var(--heading);font-size:24px;font-weight:400;color:var(--deep)}.page-subtitle{font-size:13px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 24px;border-radius:var(--radius);font-family:var(--sans);font-size:14px;font-weight:500;border:none;cursor:pointer;transition:all .2s}.btn-primary{background:var(--gold);color:var(--deep)}.btn-primary:active{background:var(--gold-light)}.btn-outline{background:transparent;color:var(--gold);border:1.5px solid var(--gold)}.btn-full{width:100%}.btn-sm{padding:8px 16px;font-size:13px}.btn:disabled{opacity:.5;pointer-events:none}.icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--text);position:relative}.icon-btn svg{width:20px;height:20px}.badge-dot{position:absolute;top:4px;right:4px;min-width:16px;height:16px;border-radius:8px;background:var(--red);color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px}.back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:14px;color:var(--gold);padding:0}.back-btn svg{width:18px;height:18px}.link-btn{background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--gold)}.section{padding:20px 20px 0}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.section-date{font-size:13px;color:var(--muted)}.detail-section{padding:16px 20px 0}.section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:0;margin-bottom:12px}.toggle-chevron{width:18px;height:18px;color:var(--muted);transition:transform .2s}.toggle-chevron.open{transform:rotate(180deg)}.schedule-scroll{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:4px}.schedule-scroll::-webkit-scrollbar{display:none}.schedule-card{min-width:120px;background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:6px;scroll-snap-align:start;cursor:pointer}.schedule-time{font-size:15px;font-weight:600;color:var(--deep)}.schedule-type{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:4px;display:inline-block;width:fit-content}.type-tour{background:var(--gold-light);color:var(--brown)}.type-call{background:var(--ocean-light);color:var(--ocean)}.type-meeting{background:var(--green-light);color:var(--green)}.schedule-name{font-size:13px;color:var(--text)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat-card{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 10px;text-align:center;cursor:pointer;transition:box-shadow .2s}.stat-card:active{box-shadow:0 2px 8px var(--shadow)}.stat-value{display:block;font-size:24px;font-weight:600;color:var(--gold);font-family:var(--heading)}.stat-label{display:block;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:2px}.follow-up-list{display:flex;flex-direction:column;gap:8px}.follow-up-card{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;cursor:pointer;border-left:3px solid transparent}.follow-up-card.urgency-overdue{border-left-color:var(--red)}.follow-up-card.urgency-today{border-left-color:var(--gold)}.follow-up-top{display:flex;align-items:center;gap:12px}.follow-up-info{flex:1;min-width:0}.follow-up-name{display:block;font-size:15px;font-weight:500;color:var(--deep)}.follow-up-summary{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.follow-up-due{font-size:11px;font-weight:600;white-space:nowrap}.due-overdue{color:var(--red)}.due-today{color:var(--gold)}.due-tomorrow{color:var(--muted)}.activity-feed{display:flex;flex-direction:column;gap:10px}.activity-item{display:flex;align-items:center;gap:10px;padding:8px 0}.activity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dot-note{background:var(--gold)}.dot-call{background:var(--ocean)}.dot-tour{background:var(--red)}.dot-status_change{background:var(--green)}.activity-text{flex:1;font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-time{font-size:11px;color:var(--muted);white-space:nowrap}.empty-state{text-align:center;padding:48px 24px}.empty-icon{font-size:40px;margin-bottom:12px;color:var(--muted)}.empty-title{font-family:var(--heading);font-size:20px;font-weight:400;color:var(--deep);margin-bottom:6px}.empty-message{font-size:14px;color:var(--muted);margin-bottom:20px}.empty-inline{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:20px;text-align:center}.empty-inline p{font-size:14px;color:var(--muted);margin-bottom:12px}.avatar,.avatar-sm,.avatar-lg{display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:600;color:#fff;flex-shrink:0}.avatar{width:40px;height:40px;font-size:14px}.avatar-sm{width:32px;height:32px;font-size:11px}.avatar-lg{width:64px;height:64px;font-size:22px}.search-bar{margin:12px 20px;position:relative}.search-bar input{width:100%;padding:12px 16px 12px 40px;border:1px solid var(--border);border-radius:var(--radius);background:var(--warm-white);font-family:var(--sans);font-size:14px;color:var(--text);outline:none}.search-bar input:focus{border-color:var(--gold)}.search-bar input::placeholder{color:var(--muted)}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted)}.search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px}.search-clear svg{width:16px;height:16px;color:var(--muted)}.toggle-bar{display:flex;margin:0 20px 12px;background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.toggle-bar.compact{margin:0}.toggle-btn{flex:1;padding:10px;font-family:var(--sans);font-size:13px;font-weight:500;border:none;background:none;cursor:pointer;color:var(--muted);transition:all .2s}.toggle-btn.active{background:var(--gold);color:var(--deep)}.chip-row{display:flex;gap:8px;padding:0 20px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.chip-row::-webkit-scrollbar{display:none}.chip-wrap{flex-wrap:wrap}.chip{padding:6px 14px;border-radius:20px;font-family:var(--sans);font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--warm-white);color:var(--muted);cursor:pointer;white-space:nowrap;transition:all .2s}.chip-active{background:var(--gold);color:var(--deep);border-color:var(--gold)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb,var(--badge-color) 15%,transparent);color:var(--badge-color)}.status-badge-sm{padding:2px 8px;font-size:10px}.care-badge{display:inline-flex;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.04em;background:var(--border);color:var(--brown)}.leads-list{padding:0 20px}.lead-group{margin-bottom:16px}.lead-group-header{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.lead-group-count{background:var(--border);padding:1px 6px;border-radius:8px;font-size:10px}.lead-card{display:flex;align-items:center;gap:12px;background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px;cursor:pointer}.lead-card-info{flex:1;min-width:0}.lead-card-name{display:block;font-size:15px;font-weight:500;color:var(--deep)}.lead-card-meta{display:block;font-size:12px;color:var(--muted);margin-top:2px}.lead-card-followup{display:block;font-size:11px;font-weight:500;margin-top:4px}.fu-overdue{color:var(--red)}.fu-today{color:var(--gold)}.fu-tomorrow,.fu-upcoming{color:var(--muted)}.chevron{width:16px;height:16px;color:var(--muted);flex-shrink:0}.pipeline-view{display:flex;gap:12px;padding:0 20px 20px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.pipeline-view::-webkit-scrollbar{display:none}.pipeline-column{min-width:160px;flex-shrink:0;scroll-snap-align:start}.pipeline-col-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.pipeline-col-count{background:var(--border);padding:1px 6px;border-radius:8px;font-size:10px}.pipeline-col-cards{display:flex;flex-direction:column;gap:8px}.pipeline-card{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.pipeline-card-name{font-size:13px;font-weight:500;color:var(--deep)}.pipeline-card-type{font-size:11px;color:var(--muted)}.swipeable-wrapper{position:relative;overflow:hidden;border-radius:var(--radius);margin-bottom:8px}.swipeable-actions{position:absolute;right:0;top:0;bottom:0;display:flex}.swipeable-action{width:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:none;cursor:pointer;color:#fff;font-size:10px;font-weight:600}.swipeable-action-icon{font-size:18px}.swipeable-content{position:relative;z-index:1;background:var(--cream)}.detail-header{display:flex;align-items:center;justify-content:space-between}.detail-header-actions{display:flex;align-items:center;gap:8px}.detail-hero{text-align:center;padding:20px 20px 0}.detail-name{font-family:var(--heading);font-size:28px;font-weight:400;color:var(--deep);margin-top:12px}.detail-relationship{font-size:13px;color:var(--muted);margin-top:4px}.contact-actions{display:flex;justify-content:center;gap:16px;padding:16px 20px 0}.contact-actions.compact{justify-content:flex-start;padding:8px 0 0;gap:8px}.contact-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 20px;border-radius:var(--radius);background:var(--warm-white);border:1px solid var(--border);font-family:var(--sans);font-size:12px;font-weight:500;color:var(--gold);text-decoration:none;cursor:pointer}.contact-btn svg{width:18px;height:18px}.contact-btn.sm{padding:6px 12px;font-size:11px;flex-direction:row;gap:4px}.phone-link{display:block;text-align:center;padding:8px;font-size:14px;color:var(--ocean);text-decoration:none}.info-card{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:8px}.info-card.clickable{cursor:pointer}.info-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.info-row+.info-row{border-top:1px solid var(--border)}.info-row-full{flex-direction:column;align-items:flex-start;gap:4px}.info-label{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.info-value{font-size:14px;color:var(--text)}.info-value.bold{font-weight:500;color:var(--deep)}.info-value.muted{font-size:12px;color:var(--muted)}.info-link{font-size:14px;color:var(--ocean);text-decoration:none}.status-dropdown-wrap{position:relative}.status-select-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;background:color-mix(in srgb,var(--badge-color) 15%,transparent);color:var(--badge-color);border:none;cursor:pointer;font-family:var(--sans);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.status-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px var(--shadow);z-index:20;min-width:160px;overflow:hidden}.status-option{display:flex;align-items:center;gap:8px;padding:12px 16px;width:100%;border:none;background:none;cursor:pointer;font-family:var(--sans);font-size:14px;color:var(--text);text-align:left}.status-option:hover{background:var(--cream)}.status-option.current{font-weight:600;color:var(--deep)}.status-dot{width:8px;height:8px;border-radius:50%}.timeline{position:relative;padding-left:24px;margin-top:8px}.timeline:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:1px;background:var(--border)}.timeline-item{display:flex;gap:12px;padding:12px 0;position:relative}.timeline-dot{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;color:#fff;flex-shrink:0;position:absolute;left:-24px;top:14px;z-index:1}.timeline-dot.dot-note{background:var(--gold)}.timeline-dot.dot-call{background:var(--ocean)}.timeline-dot.dot-tour{background:var(--red)}.timeline-dot.dot-status_change{background:var(--green)}.timeline-content{flex:1}.timeline-header{display:flex;justify-content:space-between;align-items:center}.timeline-type{font-size:13px;font-weight:500;color:var(--deep)}.timeline-date{font-size:11px;color:var(--muted)}.timeline-text{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.5}.matched-facilities{display:flex;flex-direction:column;gap:8px}.facility-match-card{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.facility-match-info{display:flex;flex-direction:column;gap:2px}.facility-match-name{font-size:14px;font-weight:500;color:var(--deep)}.facility-match-meta{font-size:12px;color:var(--muted)}.facility-match-tour{font-size:11px;color:var(--ocean)}.match-score{font-size:11px;font-weight:600;color:var(--green);background:var(--green-light);padding:4px 8px;border-radius:6px}.detail-fab-row{display:flex;gap:12px;padding:32px 20px 20px;position:sticky;bottom:var(--nav-h);background:linear-gradient(transparent,var(--cream) 20%)}.facility-list{padding:0 20px;display:flex;flex-direction:column;gap:12px}.facility-card{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:14px;padding:14px;cursor:pointer}.facility-photo{width:72px;height:72px;border-radius:8px;overflow:hidden;flex-shrink:0}.facility-photo img{width:100%;height:100%;object-fit:cover}.facility-photo-placeholder{width:100%;height:100%;background:var(--border);display:flex;align-items:center;justify-content:center}.facility-photo-placeholder svg{width:28px;height:28px;color:var(--muted)}.facility-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.facility-card-name{font-size:15px;font-weight:500;color:var(--deep);margin:0}.facility-card-city{font-size:12px;color:var(--muted)}.facility-card-contact{font-size:12px;color:var(--text)}.facility-card-types{display:flex;gap:4px;flex-wrap:wrap}.facility-card-price{font-size:13px;color:var(--text)}.stars{display:flex;gap:1px}.star{font-size:14px;color:var(--border)}.star-filled{color:var(--gold)}.availability-badge{font-size:11px;font-weight:500}.availability-badge.available{color:var(--green)}.availability-badge.full{color:var(--red)}.facility-hero{padding:20px 20px 0}.facility-address{font-size:13px;color:var(--muted);margin-top:4px}.photo-carousel{position:relative;width:100%;height:200px}.carousel-img{width:100%;height:100%;object-fit:cover}.carousel-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px}.carousel-dot{width:6px;height:6px;border-radius:50%;background:#ffffff80;cursor:pointer}.carousel-dot.active{background:#fff}.amenities-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.amenity-tag{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--green-light);border-radius:6px;font-size:12px;color:var(--green)}.andrea-notes{font-size:14px;color:var(--text);line-height:1.6;font-style:italic}.calendar-list{padding:0 20px}.calendar-day{margin-bottom:16px}.calendar-day-header{display:flex;align-items:center;gap:8px;padding:8px 0}.day-label{font-size:13px;font-weight:600;color:var(--deep)}.day-label.day-today{color:var(--gold)}.day-date{font-size:12px;color:var(--muted)}.tour-card{display:flex;align-items:center;gap:14px;background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px;cursor:pointer}.tour-time{font-size:13px;font-weight:600;color:var(--deep);min-width:64px}.tour-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tour-type{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.tour-lead{font-size:14px;font-weight:500;color:var(--deep)}.tour-facility{font-size:12px;color:var(--muted)}.tour-status{font-size:11px;font-weight:500;padding:3px 8px;border-radius:6px;background:var(--border);color:var(--muted)}.tour-status.status-completed{background:var(--green-light);color:var(--green)}.tour-status.status-confirmed{background:var(--ocean-light);color:var(--ocean)}.month-view{padding:0 20px}.month-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.month-label{font-family:var(--heading);font-size:20px;font-weight:400;color:var(--deep)}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.month-day-header{text-align:center;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--muted);padding:8px 0}.month-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:8px;cursor:pointer}.month-cell.today .month-day-num{background:var(--gold);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}.month-day-num{font-size:14px;color:var(--text)}.month-dots{display:flex;gap:2px}.month-dot{width:4px;height:4px;border-radius:50%}.month-dot.dot-tour{background:var(--gold)}.month-dot.dot-call{background:var(--ocean)}.tour-detail-hero{text-align:center;padding:20px}.tour-type-lg{font-size:10px;font-weight:600;letter-spacing:.12em;color:var(--gold)}.tour-detail-hero h2{font-family:var(--heading);font-size:22px;font-weight:400;color:var(--deep);margin-top:4px}.status-list{display:flex;flex-direction:column;gap:4px;margin-top:8px}.status-radio{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-family:var(--sans);font-size:14px;color:var(--text)}.status-radio.active{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 5%,var(--warm-white))}.radio-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--border)}.radio-dot.filled{border-color:var(--gold);background:var(--gold)}.more-menu{padding:16px 20px;display:flex;flex-direction:column;gap:8px}.more-item{display:flex;align-items:center;gap:14px;background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer}.more-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--gold) 12%,transparent);border-radius:10px}.more-icon svg{width:18px;height:18px;color:var(--gold)}.more-info{flex:1}.more-label{display:block;font-size:15px;font-weight:500;color:var(--deep)}.more-subtitle{display:block;font-size:12px;color:var(--muted)}.more-footer{padding:32px 20px 0;text-align:center}.version-text{font-size:12px;color:var(--muted);margin-top:16px}.settings-section{padding:16px 20px 0}.setting-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.setting-toggle-row+.setting-toggle-row{border-top:1px solid var(--border)}.setting-toggle-row span{font-size:14px;color:var(--text)}.toggle-switch{width:48px;height:28px;border-radius:14px;background:var(--border);border:none;cursor:pointer;position:relative;transition:background .2s}.toggle-switch.on{background:var(--gold)}.toggle-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #00000026}.toggle-switch.on .toggle-knob{transform:translate(20px)}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.setting-row+.setting-row{border-top:1px solid var(--border)}.setting-row.clickable{cursor:pointer}.setting-row span{font-size:14px;color:var(--text)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c171280;z-index:200;animation:fadeIn .2s}.quick-add-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--warm-white);border-radius:20px 20px 0 0;padding:12px 20px calc(20px + env(safe-area-inset-bottom));z-index:201;animation:slideUp .3s ease}.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--border);margin:0 auto 16px}.sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sheet-action{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;background:var(--cream);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--deep)}.sheet-action-icon{width:28px;height:28px;color:var(--gold)}.sheet-action-icon svg{width:100%;height:100%}.sheet-cancel{display:block;width:100%;margin-top:12px;padding:14px;background:none;border:none;font-family:var(--sans);font-size:15px;font-weight:500;color:var(--muted);cursor:pointer;text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c171280;z-index:200}.modal{position:fixed;bottom:0;left:0;right:0;background:var(--warm-white);border-radius:20px 20px 0 0;max-height:85vh;overflow-y:auto;z-index:201;animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--warm-white)}.modal-header h3{font-family:var(--heading);font-size:20px;font-weight:400;color:var(--deep)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:var(--cream);border-radius:50%;cursor:pointer}.modal-close svg{width:16px;height:16px;color:var(--muted)}.modal-body{padding:20px}.form-page{padding:16px 20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--warm-white);font-family:var(--sans);font-size:14px;color:var(--text);outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--muted)}.form-group textarea{resize:vertical}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237A6E65' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-section-title{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--deep);margin:20px 0 12px;padding-top:16px;border-top:1px solid var(--border)}.loading-spinner{display:flex;align-items:center;justify-content:center}.loading-spinner svg{animation:spin 1s linear infinite}.page-loader{display:flex;align-items:center;justify-content:center;height:60vh}.skeleton-card{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:8px}.skeleton-line{height:12px;background:linear-gradient(90deg,var(--border) 25%,var(--cream) 50%,var(--border) 75%);background-size:200% 100%;border-radius:6px;margin-bottom:8px;animation:shimmer 1.5s infinite}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;background:linear-gradient(160deg,var(--deep) 0%,var(--brown) 100%)}.login-card{width:100%;max-width:380px;background:var(--warm-white);border-radius:16px;padding:36px 28px;box-shadow:0 20px 60px #0000004d}.login-brand{text-align:center;margin-bottom:32px}.login-title{font-family:var(--heading);font-size:28px;font-weight:400;color:var(--deep)}.login-logo{max-width:350px;max-height:234px;height:auto;object-fit:contain}.login-subtitle{font-size:13px;color:var(--muted);margin-top:4px}.login-form{display:flex;flex-direction:column;gap:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-header{background:var(--deep);border-bottom:none}.dashboard-header .page-brand{color:var(--gold-light)}.dashboard-header .page-title{color:var(--cream);font-size:20px}.dashboard-header .icon-btn{color:#ffffffb3}.detail-tabs{display:flex;gap:0;padding:0 20px;border-bottom:1px solid var(--border);background:var(--warm-white)}.detail-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:var(--sans);font-size:14px;font-weight:500;color:var(--muted);transition:all .2s}.detail-tab-active{color:var(--deep);border-bottom-color:var(--gold)}.detail-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;font-size:10px;font-weight:700;background:var(--border);color:var(--muted)}.detail-tab-badge-concern{background:var(--red);color:#fff;animation:concernPulse 2s ease-in-out infinite}@keyframes concernPulse{0%,to{box-shadow:0 0 #c45a5a66}50%{box-shadow:0 0 8px 2px #c45a5a4d}}.research-feed{padding:0 20px}.research-feed-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0 12px}.research-feed-meta{font-size:12px;color:var(--muted)}.research-card{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:box-shadow .2s}.research-card-concerning{animation:concernGlow 3s ease-in-out infinite}@keyframes concernGlow{0%,to{box-shadow:0 0 8px #c45a5a33,0 2px 8px var(--shadow)}50%{box-shadow:0 0 16px #c45a5a59,0 2px 8px var(--shadow)}}.research-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.research-card-meta{display:flex;align-items:center;gap:8px}.research-card-source{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.research-card-time{font-size:11px;color:var(--muted)}.research-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0}.research-card-title{font-size:14px;font-weight:500;color:var(--deep);line-height:1.4;margin:0}.research-card-facility,.research-card-service{display:block;font-size:12px;color:var(--muted);margin-top:4px;text-transform:capitalize}.research-card-body{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.research-card-summary{font-size:13px;color:var(--text);line-height:1.6;margin:0 0 8px}.research-card-reason{font-size:12px;color:var(--red);line-height:1.5;margin:0 0 8px;padding:8px;background:var(--red-light);border-radius:6px}.research-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.research-tag{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;background:var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.research-card-actions{display:flex;align-items:center;gap:16px}.research-empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:14px}.research-loading{padding:0 20px}.research-skeleton{height:80px;background:linear-gradient(90deg,var(--border) 25%,var(--cream) 50%,var(--border) 75%);background-size:200% 100%;border-radius:var(--radius);margin-bottom:10px;animation:shimmer 1.5s infinite}.services-list{padding:16px 20px;display:flex;flex-direction:column;gap:8px}.service-card{display:flex;align-items:center;gap:14px;background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;transition:box-shadow .2s}.service-card-concern{border-color:#c45a5a4d;animation:concernGlow 3s ease-in-out infinite}.service-card-left{flex-shrink:0}.service-abbr{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:color-mix(in srgb,var(--gold) 12%,transparent);font-size:13px;font-weight:700;color:var(--gold);letter-spacing:.02em}.service-card-info{flex:1;min-width:0}.service-card-name{font-size:15px;font-weight:500;color:var(--deep);margin:0}.service-card-desc{font-size:12px;color:var(--muted);margin:2px 0 0;line-height:1.4}.service-card-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.service-concern-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--red);color:#fff;font-size:10px;font-weight:700}.service-hero{display:flex;align-items:center;gap:14px;padding:16px 0 8px}.service-hero-abbr{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:color-mix(in srgb,var(--gold) 12%,transparent);font-size:18px;font-weight:700;color:var(--gold);flex-shrink:0}.service-hero-name{font-family:var(--heading);font-size:24px;font-weight:400;color:var(--deep);margin:0}.service-description{font-size:14px;color:var(--text);line-height:1.6;margin:0}.service-facilities-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.service-facility-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.service-facility-name{display:block;font-size:14px;font-weight:500;color:var(--deep)}.service-facility-city{display:block;font-size:12px;color:var(--muted)}.service-facility-price{font-size:13px;color:var(--muted);white-space:nowrap}.note-input-row{display:flex;flex-direction:column;gap:8px;padding:0 20px 16px}.note-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--warm-white);font-family:var(--sans);font-size:14px;color:var(--text);resize:vertical;outline:none}.note-input:focus{border-color:var(--gold)}.notes-list{padding:0 20px;display:flex;flex-direction:column;gap:8px}.note-card{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.note-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.note-author{font-size:12px;font-weight:600;color:var(--deep)}.note-time{font-size:11px;color:var(--muted)}.note-content{font-size:14px;color:var(--text);line-height:1.6;margin:0 0 6px;white-space:pre-wrap}.photos-grid{padding:0 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.photo-thumb{aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;position:relative}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:4px 6px;background:#00000080;color:#fff;font-size:10px;text-align:center}.service-card-contact{font-size:11px;color:var(--gold);margin:2px 0 0}.chat-fab{position:fixed;bottom:calc(var(--nav-h) + 10px + env(safe-area-inset-bottom));right:12px;width:40px;height:40px;border-radius:50%;background:var(--gold);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #c49a5a59;z-index:150;transition:transform .2s}.chat-fab:active{transform:scale(.92)}.chat-fab svg{width:18px;height:18px;color:var(--deep)}.chat-panel{position:fixed;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));right:0;left:0;height:60vh;max-height:500px;background:var(--warm-white);border-radius:20px 20px 0 0;display:flex;flex-direction:column;z-index:160;box-shadow:0 -8px 32px #1c171226;animation:slideUp .3s ease}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.chat-header-info{display:flex;align-items:center;gap:8px}.chat-header-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.chat-header-title{font-size:14px;font-weight:600;color:var(--deep)}.chat-header-close{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px}.chat-messages{flex:1;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch}.chat-msg{display:flex;max-width:85%}.chat-msg-user{align-self:flex-end}.chat-msg-assistant{align-self:flex-start}.chat-msg-bubble{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;word-break:break-word}.chat-msg-user .chat-msg-bubble{background:var(--gold);color:var(--deep);border-bottom-right-radius:4px}.chat-msg-assistant .chat-msg-bubble{background:var(--cream);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-action-btn{display:block;margin-top:8px;padding:6px 12px;background:var(--gold);color:var(--deep);border:none;border-radius:8px;font-family:var(--sans);font-size:12px;font-weight:600;cursor:pointer}.chat-typing{display:flex;gap:4px;padding:12px 16px}.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:chatBounce 1.4s ease-in-out infinite}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chatBounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.chat-input-row{display:flex;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--warm-white);flex-shrink:0}.chat-input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:20px;background:var(--cream);font-family:var(--sans);font-size:14px;color:var(--text);outline:none}.chat-input:focus{border-color:var(--gold)}.chat-send-btn{width:40px;height:40px;border-radius:50%;background:var(--gold);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-send-btn:disabled{opacity:.4}.chat-send-btn svg{width:18px;height:18px;color:var(--deep)}.ai-lookup-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.ai-lookup-bar{display:flex;gap:8px}.ai-lookup-input{flex:1;padding:12px 14px;border:1.5px solid var(--gold);border-radius:8px;background:var(--warm-white);font-family:var(--sans);font-size:14px;color:var(--text);outline:none}.ai-lookup-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c49a5a26}.ai-lookup-btn{padding:12px 20px;background:var(--gold);color:var(--deep);border:none;border-radius:8px;font-family:var(--sans);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.ai-lookup-btn:disabled{opacity:.5}.ai-lookup-note{font-size:11px;color:var(--green);margin-top:8px;line-height:1.4}.ai-results-list{margin-top:10px}.ai-result-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:12px;margin-top:6px;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--warm-white);cursor:pointer;font-family:var(--sans);font-size:13px;color:var(--text);text-align:left;transition:border-color .2s,background .2s}.ai-result-card:hover,.ai-result-card:active{border-color:var(--gold);background:var(--cream)}.ai-result-card strong{font-size:14px;color:var(--deep)}.ai-result-card span{font-size:12px;color:var(--muted)}.ai-badge{display:inline-flex;align-items:center;font-size:9px;font-weight:700;padding:1px 5px;border-radius:4px;margin-left:6px;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;cursor:help}.ai-high{background:var(--green-light);color:var(--green)}.ai-medium{background:#c49a5a26;color:var(--gold)}.ai-low{background:var(--red-light);color:var(--red)}.commission-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 20px 8px}.commission-card{background:var(--warm-white);border:1px solid var(--border);border-left:3px solid;border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:2px}.commission-card-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.commission-card-amount{font-family:var(--heading);font-size:22px;font-weight:400;color:var(--deep)}.commission-card-count{font-size:11px;color:var(--muted)}.commission-list{padding:8px 20px;display:flex;flex-direction:column;gap:8px}.commission-item{background:var(--warm-white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.commission-item-main{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.commission-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.commission-item-lead{font-size:15px;font-weight:500;color:var(--deep)}.commission-item-facility{font-size:12px;color:var(--muted)}.commission-item-date{font-size:11px;color:var(--muted)}.commission-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.commission-item-amount{font-size:16px;font-weight:600;color:var(--deep)}.commission-item-calc{font-size:10px;color:var(--muted)}.commission-status-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:6px}.commission-actions{display:flex;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);align-items:center}.commission-action-btn{background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:12px;font-weight:600;padding:4px 0}.commission-action-btn:disabled{opacity:.4}.commission-paid-date{font-size:11px;color:var(--green);margin-left:auto}.photo-upload-section{margin-top:8px}.photo-drop-zone{width:100%;min-height:80px;justify-content:center}.photo-upload-section.photo-drop-active .photo-drop-zone{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 8%,var(--warm-white))}.photo-drop-uploading .photo-drop-zone{opacity:.6;pointer-events:none}.photo-upload-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;border-radius:var(--radius);background:var(--warm-white);border:1.5px dashed var(--border);cursor:pointer;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--gold);transition:border-color .2s,background .2s}.photo-upload-btn:hover{border-color:var(--gold)}.photo-upload-row{display:flex;gap:8px;align-items:stretch}.photo-upload-row .photo-upload-btn{flex:1}.photo-paste-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 16px;border-radius:var(--radius);background:var(--warm-white);border:1.5px solid var(--border);cursor:pointer;font-family:var(--sans);font-size:12px;font-weight:500;color:var(--gold);transition:border-color .2s,background .2s;min-width:64px}.photo-paste-btn:hover{border-color:var(--gold)}.photo-paste-btn:disabled{opacity:.5;cursor:not-allowed}.photo-manage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.photo-manage-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden}.photo-manage-item img{width:100%;height:100%;object-fit:cover}.photo-is-thumbnail{outline:2px solid var(--gold);outline-offset:-2px}.photo-star-btn{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#00000080;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#ffffff80;font-size:14px;line-height:1}.photo-star-active{color:var(--gold);background:#000000b3}.photo-delete-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#0009;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff}
