*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}ul{list-style:none}a{color:inherit;text-decoration:none}:root{--bg:#fff;--bg-alt:#f7f7f8;--bg-deep:#f0f0f2;--text:#0a0a0a;--text-dim:#6b6b70;--text-faint:#9d9da3;--border:#00000017;--border-s:#00000026;--card:#fff;--card-shadow:0 1px 3px #0000000a, 0 4px 16px #0000000d;--card-hover:0 2px 8px #0000000f, 0 8px 28px #00000014;--accent:#0a0a0a;--status-new:#7c3aed;--status-new-bg:#7c3aed17;--status-sched:#ff69b4;--status-sched-bg:#ff69b421;--status-hold:#f97316;--status-hold-bg:#f973161a;--status-pending:#0a0a0a;--status-pending-bg:#0a0a0a14;--status-complete:#16a34a;--status-complete-bg:#16a34a14;--emergency:#dc2626;--emergency-bg:#dc262614;--font:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--r-s:8px;--r-m:12px;--r-l:18px;--r-pill:999px;--ease:cubic-bezier(.4,0,.2,1);--t:.16s var(--ease)}body{font-family:var(--font);background:var(--bg-alt);color:var(--text);-webkit-font-smoothing:antialiased}.login-view{background:radial-gradient(circle at 20% 10%, #00000006 0%, transparent 45%), radial-gradient(circle at 85% 90%, #00000006 0%, transparent 45%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-l);width:100%;max-width:380px;box-shadow:var(--card-shadow);padding:40px 32px 32px}.login-mark{width:40px;height:40px;margin-bottom:14px}.login-wordmark{letter-spacing:-.02em;margin-bottom:4px;font-size:20px;font-weight:700}.login-wordmark span{color:var(--text-faint);font-weight:500}.login-sub{color:var(--text-dim);margin-bottom:28px;font-size:13.5px}.field{margin-bottom:16px}.field label{letter-spacing:.02em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field input,.field select{border:1px solid var(--border-s);border-radius:var(--r-s);background:var(--bg);width:100%;transition:border-color var(--t);padding:11px 12px;font-size:14.5px}.field input:focus,.field select:focus{border-color:var(--text);outline:none}.btn-primary{background:var(--text);color:#fff;border-radius:var(--r-s);width:100%;transition:opacity var(--t);margin-top:6px;padding:12px;font-size:14.5px;font-weight:600}.btn-primary:hover{opacity:.85}.login-hint{color:var(--text-faint);text-align:center;margin-top:18px;font-size:12px}.login-error{background:var(--emergency-bg);color:var(--emergency);border-radius:var(--r-s);margin-bottom:14px;padding:10px 12px;font-size:13px;font-weight:600}.app{flex-direction:column;min-height:100vh;display:none}.app.is-active{display:flex}.header{background:var(--bg);border-bottom:1px solid var(--border);z-index:20;flex-shrink:0;align-items:center;gap:16px;height:60px;padding:0 20px;display:flex;position:sticky;top:0}.nav-toggle{border-radius:var(--r-s);width:34px;height:34px;transition:background var(--t);justify-content:center;align-items:center;display:flex}.nav-toggle:hover{background:var(--bg-deep)}.nav-toggle svg{width:18px;height:18px}.header-wordmark{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.header-mark{width:22px;height:22px}.header-divider{background:var(--border-s);width:1px;height:20px}.header-page-name{color:var(--text-dim);font-size:14px;font-weight:600}.header-spacer{flex:1}.property-switcher-wrap{position:relative}.property-switcher{border:1px solid var(--border-s);border-radius:var(--r-s);cursor:pointer;transition:border-color var(--t);align-items:center;gap:6px;padding:7px 10px;font-size:13px;font-weight:500;display:flex}.property-switcher:hover{border-color:var(--text-faint)}.property-switcher svg{width:13px;height:13px;color:var(--text-faint)}.property-switcher-wrap.is-locked .property-switcher{cursor:default}.property-switcher-wrap.is-locked .property-switcher:hover{border-color:var(--border-s)}.property-switcher-wrap.is-locked .property-switcher svg{display:none}.property-switcher-menu{background:var(--card);border:1px solid var(--border);border-radius:var(--r-m);width:260px;box-shadow:var(--card-hover);z-index:30;max-height:360px;padding:6px;display:none;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.property-switcher-menu.is-open{display:block}.property-switcher-menu button{text-align:left;border-radius:var(--r-s);width:100%;transition:background var(--t);justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.property-switcher-menu button:hover{background:var(--bg-alt)}.property-switcher-menu button.is-selected{font-weight:700}.property-switcher-menu button.is-selected:after{content:"✓"}.property-switcher-menu .switcher-region-label{font-weight:700}.property-switcher-menu .switcher-complex-item{color:var(--text-dim);padding-left:22px;font-weight:500}.property-switcher-menu .switcher-divider{background:var(--border);height:1px;margin:6px 2px}.header-account{border-left:1px solid var(--border);cursor:pointer;align-items:center;gap:9px;padding-left:12px;display:flex;position:relative}.avatar{background:var(--text);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.account-menu{background:var(--card);border:1px solid var(--border);border-radius:var(--r-m);box-shadow:var(--card-hover);z-index:30;min-width:180px;padding:6px;display:none;position:absolute;top:calc(100% + 8px);right:0}.account-menu-header{border-bottom:1px solid var(--border);margin-bottom:4px;padding:8px 10px 10px;line-height:1.3}.account-name{font-size:14px;font-weight:700}.account-role{color:var(--text-dim);margin-top:1px;font-size:12px}.account-menu.is-open{display:block}.account-menu button{text-align:left;border-radius:var(--r-s);width:100%;transition:background var(--t);padding:9px 10px;font-size:13.5px;font-weight:500}.account-menu button:hover{background:var(--bg-alt)}.nav-strip-wrap{max-height:0;transition:max-height .22s var(--ease);background:var(--bg);z-index:19;border-bottom:1px solid #0000;flex-shrink:0;position:sticky;top:60px;overflow:hidden}.nav-strip-wrap.is-open{border-bottom-color:var(--border);max-height:100px}.nav-strip{gap:6px;padding:12px 20px;display:flex;overflow-x:auto}.nav-item{border-radius:var(--r-m);width:92px;transition:background var(--t);flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:10px 8px;display:flex}.nav-item:hover{background:var(--bg-alt)}.nav-item.is-active{background:var(--bg-deep)}.nav-item svg{width:19px;height:19px}.nav-item span{white-space:nowrap;font-size:11.5px;font-weight:600}.page{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:22px 20px 60px}.page-hidden{display:none}.placeholder-page{text-align:center;color:var(--text-dim);flex-direction:column;justify-content:center;align-items:center;padding:100px 24px;display:flex}.placeholder-icon{border-radius:var(--r-l);background:var(--bg-deep);justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:18px;display:flex}.placeholder-icon svg{width:24px;height:24px;color:var(--text-faint)}.placeholder-page h2{color:var(--text);margin-bottom:6px;font-size:18px;font-weight:700}.placeholder-page p{max-width:360px;font-size:13.5px}.placeholder-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--r-pill);margin-top:16px;padding:5px 12px;font-size:11px;font-weight:700}.stats-strip{grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:20px;display:grid}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-m);cursor:pointer;transition:border-color var(--t), box-shadow var(--t), background var(--t);padding:14px 16px}.stat-card:hover{border-color:var(--text-faint)}.stat-card.is-selected{border-color:var(--accent,var(--text));box-shadow:inset 0 0 0 1px var(--accent,var(--text));background:var(--bg-alt)}.stat-card.is-selected .stat-value{color:var(--accent,var(--text));transition:color var(--t)}.stat-value{letter-spacing:-.02em;transition:color var(--t);font-size:22px;font-weight:700}.stat-label{color:var(--text-dim);margin-top:2px;font-size:11.5px;font-weight:600}.empty-state a{color:var(--text);font-weight:600;text-decoration:underline}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.search-box{flex:1;min-width:220px;max-width:320px;position:relative}.search-box svg{width:14px;height:14px;color:var(--text-faint);position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search-box input{border:1px solid var(--border-s);border-radius:var(--r-s);background:var(--card);width:100%;padding:9px 12px 9px 32px;font-size:13.5px}.search-box input:focus{border-color:var(--text);outline:none}.view-toggle{border:1px solid var(--border-s);border-radius:var(--r-s);display:flex;overflow:hidden}.view-toggle button{color:var(--text-dim);transition:background var(--t), color var(--t);padding:8px 14px;font-size:13px;font-weight:600}.view-toggle button.is-active{background:var(--text);color:#fff}.toolbar-spacer{flex:1}.ticket-table-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--r-l);overflow:hidden}.ticket-table{border-collapse:collapse;width:100%}.ticket-table thead th{text-align:left;letter-spacing:.03em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding:12px 16px;font-size:11px;font-weight:700}.ticket-row td{border-bottom:1px solid var(--border);vertical-align:middle;padding:13px 16px;font-size:13.5px}.ticket-row:last-child td{border-bottom:none}.ticket-row{cursor:pointer;transition:background var(--t)}.ticket-row:hover{background:var(--bg-alt)}.ticket-row.is-emergency{background:var(--emergency-bg)}.ticket-row.is-emergency:hover{background:#dc26261f}.ticket-id{color:var(--text-dim);font-size:12.5px;font-weight:700}.ticket-unit{font-weight:600}.ticket-tenant{color:var(--text-dim)}.chip{border-radius:var(--r-pill);background:var(--bg-deep);color:var(--text-dim);align-items:center;padding:4px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-emergency{border-radius:var(--r-pill);background:var(--emergency-bg);color:var(--emergency);align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.status-tag{border-radius:var(--r-pill);align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.status-tag:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-new{background:var(--status-new-bg);color:var(--status-new)}.status-scheduled{background:var(--status-sched-bg);color:var(--status-sched)}.status-onhold{background:var(--status-hold-bg);color:var(--status-hold)}.status-pending{background:var(--status-pending-bg);color:var(--status-pending)}.status-complete{background:var(--status-complete-bg);color:var(--status-complete)}.status-emergency{background:var(--emergency-bg);color:var(--emergency)}.aging-tag{color:var(--text-faint);font-size:11.5px}.empty-state{text-align:center;color:var(--text-faint);padding:60px 24px;font-size:13.5px}.calendar-view{background:var(--card);border:1px solid var(--border);border-radius:var(--r-l);padding:18px 20px 20px}.calendar-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.calendar-month-label{min-width:140px;font-size:15px;font-weight:700}.calendar-nav-btn{border:1px solid var(--border-s);border-radius:var(--r-s);width:28px;height:28px;transition:background var(--t), border-color var(--t);justify-content:center;align-items:center;display:flex}.calendar-nav-btn:hover{background:var(--bg-alt);border-color:var(--text-faint)}.calendar-nav-btn svg{width:14px;height:14px}.calendar-today-btn{border:1px solid var(--border-s);border-radius:var(--r-s);color:var(--text-dim);transition:border-color var(--t), color var(--t);margin-left:auto;padding:6px 12px;font-size:12.5px;font-weight:600}.calendar-today-btn:hover{border-color:var(--text);color:var(--text)}.calendar-weekdays{grid-template-columns:repeat(7,1fr);padding:0 2px 8px;display:grid}.calendar-weekdays span{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);text-align:center;font-size:10.5px;font-weight:700}.calendar-grid{flex-direction:column;gap:4px;display:flex}.calendar-week{position:relative}.calendar-week-cells{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-cell{border:1px solid var(--border);border-radius:var(--r-s);cursor:pointer;height:84px;transition:border-color var(--t), background var(--t);flex-direction:column;padding:6px;display:flex;overflow:hidden}.calendar-cell:hover{border-color:var(--text-faint);background:var(--bg-alt)}.calendar-cell.is-outside{background:var(--bg-alt);border-color:#0000}.calendar-cell.is-outside .calendar-day-num{color:var(--text-faint)}.calendar-day-num{height:19px;color:var(--text-dim);flex-shrink:0;align-items:center;font-size:12px;font-weight:600;display:flex}.calendar-cell.is-today .calendar-day-num span{background:var(--text);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:19px;height:19px;display:inline-flex}.calendar-cell-body{flex-direction:column;flex:1;gap:3px;display:flex;overflow:hidden}.calendar-week-bars{pointer-events:none;z-index:1;grid-template-columns:repeat(7,1fr);grid-auto-rows:14px;gap:2px 4px;display:grid;position:absolute;top:28px;left:0;right:0}.calendar-bar{pointer-events:auto;color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:4px;align-items:center;min-width:0;padding:0 5px;font-size:9.5px;font-weight:700;display:flex;overflow:hidden}.calendar-bar.is-cont-start{border-top-left-radius:0;border-bottom-left-radius:0}.calendar-bar.is-cont-end{border-top-right-radius:0;border-bottom-right-radius:0}.calendar-event{background:var(--bg-alt);color:var(--text);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:background var(--t);border-radius:5px;align-items:center;gap:4px;padding:2px 5px;font-size:10.5px;font-weight:600;display:flex;overflow:hidden}.calendar-event:hover{background:var(--bg-deep)}.calendar-event.is-maintenance{cursor:default}.calendar-event.is-maintenance:hover{background:var(--bg-alt)}.calendar-event-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.calendar-event-more{color:var(--text-faint);padding:1px 5px;font-size:10px;font-weight:600}.calendar-legend{border-top:1px solid var(--border);flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:14px;display:flex}.legend-item{color:var(--text-dim);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.legend-item i{border-radius:50%;width:8px;height:8px;display:inline-block}.legend-maint-dot{background:var(--text-faint)}.day-modal{background:var(--bg);border-radius:var(--r-l);z-index:42;opacity:0;pointer-events:none;width:360px;max-width:90vw;max-height:80vh;transition:opacity .2s var(--ease), transform .2s var(--ease);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.96);box-shadow:0 12px 48px #0000002e}.day-modal.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}.day-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.day-modal-title{font-size:15px;font-weight:700}.day-modal-body{padding:10px 12px 16px;overflow-y:auto}.day-modal-event{border-radius:var(--r-s);cursor:pointer;transition:background var(--t);align-items:center;gap:9px;padding:10px;display:flex}.day-modal-event:hover{background:var(--bg-alt)}.day-modal-event.is-maintenance{cursor:default}.day-modal-event.is-maintenance:hover{background:0 0}.day-modal-event-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.day-modal-event-label{font-size:13.5px;font-weight:600}.day-modal-empty{text-align:center;color:var(--text-faint);padding:24px 10px;font-size:13px}.overlay{opacity:0;pointer-events:none;transition:opacity var(--t);z-index:60;background:#0a0a0a52;position:fixed;inset:0}.overlay.is-open{opacity:1;pointer-events:auto}.detail-panel{background:var(--bg);border-radius:var(--r-l);opacity:0;pointer-events:none;width:480px;max-width:92vw;max-height:86vh;transition:opacity .2s var(--ease), transform .2s var(--ease);z-index:61;flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)scale(.96);box-shadow:0 24px 64px #0000003d,0 4px 16px #00000014}.detail-panel.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}.detail-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:10px;padding:18px 20px;display:flex}.detail-header-id{color:var(--text-faint);margin-bottom:4px;font-size:12px;font-weight:700}.detail-header-title{font-size:16px;font-weight:700}.detail-close{border-radius:var(--r-s);width:30px;height:30px;transition:background var(--t);flex-shrink:0;justify-content:center;align-items:center;display:flex}.detail-close:hover{background:var(--bg-deep)}.detail-close svg{width:15px;height:15px}.detail-body{flex:1;padding:18px 20px 32px;overflow-y:auto}.detail-section{margin-bottom:22px}.detail-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;font-size:11px;font-weight:700}.detail-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:7px 0;font-size:13.5px;display:flex}.detail-row:last-child{border-bottom:none}.detail-row-label{color:var(--text-dim)}.detail-row-value{text-align:right;font-weight:600}.detail-desc{color:var(--text);background:var(--bg-alt);border-radius:var(--r-m);padding:12px 14px;font-size:13.5px;line-height:1.55}.photo-row{gap:8px;margin-top:10px;display:flex}.photo-thumb{border-radius:var(--r-s);background:var(--bg-deep);width:64px;height:64px;color:var(--text-faint);justify-content:center;align-items:center;display:flex}.photo-thumb svg{width:20px;height:20px}.warning-banner{background:var(--emergency-bg);color:var(--emergency);border-radius:var(--r-s);align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.warning-banner svg{flex-shrink:0;width:16px;height:16px}.note-banner{background:var(--bg-alt);border-radius:var(--r-s);color:var(--text-dim);margin-bottom:10px;padding:9px 12px;font-size:12.5px}.action-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.action-btn{border:1px solid var(--border-s);border-radius:var(--r-m);text-align:left;transition:border-color var(--t), background var(--t);padding:12px 10px}.action-btn:hover{border-color:var(--text);background:var(--bg-alt)}.action-btn-label{margin-bottom:2px;font-size:12.5px;font-weight:700;display:block}.action-btn-sub{color:var(--text-dim);font-size:11px}.copy-link{color:var(--text-dim);align-items:center;gap:5px;margin-top:6px;font-size:12px;font-weight:600;display:inline-flex}.copy-link svg{width:12px;height:12px}.loading-overlay{background:var(--bg);z-index:100;opacity:1;transition:opacity .26s var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-overlay:not(.is-active){opacity:0;pointer-events:none}.logo-spin{width:84px;height:84px;position:relative}.logo-spin img{width:100%;height:100%;position:absolute;inset:0}.spin-buoy{animation:1.6s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.properties-page{max-width:1100px;margin:0 auto;padding:22px 20px 60px}.prop-breadcrumb{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:18px;font-size:13.5px;display:flex}.prop-breadcrumb button{color:var(--text-dim);transition:color var(--t);font-weight:600}.prop-breadcrumb button:hover{color:var(--text);text-decoration:underline}.prop-breadcrumb .crumb-current{color:var(--text);font-weight:700}.prop-breadcrumb .crumb-sep{color:var(--text-faint)}.prop-section-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text-faint);margin:22px 0 10px;font-size:12px;font-weight:700}.prop-section-title:first-child{margin-top:0}.prop-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.prop-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-m);cursor:pointer;transition:border-color var(--t), box-shadow var(--t);padding:16px}.prop-card:hover{border-color:var(--text-faint);box-shadow:var(--card-hover)}.prop-card-title{margin-bottom:3px;font-size:14.5px;font-weight:700}.prop-card-sub{color:var(--text-dim);font-size:12.5px}.prop-list{background:var(--card);border:1px solid var(--border);border-radius:var(--r-l);overflow:hidden}.prop-row{border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--t);align-items:center;gap:12px;padding:13px 16px;display:flex}.prop-row:last-child{border-bottom:none}.prop-row:hover{background:var(--bg-alt)}.prop-row.is-uncatalogued{cursor:default}.prop-row.is-uncatalogued:hover{background:0 0}.prop-row-main{flex:1;min-width:0}.prop-row-title{font-size:13.5px;font-weight:700}.prop-row-sub{color:var(--text-dim);margin-top:1px;font-size:12px}.prop-row-meta{color:var(--text-faint);flex-shrink:0;font-size:12px}.prop-row-chevron{width:14px;height:14px;color:var(--text-faint);flex-shrink:0}.prop-add-row{border:1px dashed var(--border-s);border-radius:var(--r-m);cursor:pointer;transition:border-color var(--t), color var(--t), background var(--t);box-sizing:border-box;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:8px;padding:13px 16px;font-size:13px;font-weight:600;display:flex;color:#333!important;background:#fff!important}.prop-add-row:hover{border-color:var(--text);color:var(--text);background:var(--bg-alt)}.prop-add-row svg{width:14px;height:14px}.prop-tabs{align-self:center;margin-bottom:14px;margin-left:auto;margin-right:auto}.prop-room-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:8px;display:grid}.prop-room-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-m);cursor:pointer;transition:border-color var(--t), box-shadow var(--t);padding:14px}.prop-room-card:hover{border-color:var(--text-faint);box-shadow:var(--card-hover)}.prop-room-card-title{margin-bottom:5px;font-size:13.5px;font-weight:700}.prop-room-card-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.occupancy-chip{background:var(--bg-deep);color:var(--text-dim)}.occupancy-chip.is-vacant{color:var(--text-faint)}.occupancy-chip.is-turnover{color:#856404;background:#fff3cd}.units-stats-bar{background:var(--bg-card);border:1px solid var(--border-s);border-radius:var(--r);align-items:center;gap:0;margin-bottom:14px;padding:14px 20px;display:flex}.units-stat{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.units-stat-value{color:var(--text);font-size:22px;font-weight:800;line-height:1}.units-stat-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:600}.units-stat-divider{background:var(--border-s);flex-shrink:0;width:1px;height:32px}.amenity-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-bottom:16px;display:grid}.amenity-card{text-align:center;background:var(--bg-card);border:1.5px solid var(--border-s);border-radius:var(--r);cursor:pointer;transition:border-color var(--t), box-shadow var(--t), transform var(--t);flex-direction:column;align-items:center;gap:8px;padding:20px 12px 16px;display:flex}.amenity-card:hover{border-color:var(--text-faint);box-shadow:var(--card-hover);transform:translateY(-1px)}.amenity-card.is-active{border-color:var(--text);box-shadow:0 0 0 3px #1111110f}.amenity-card-icon{background:var(--bg-deep);width:52px;height:52px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-bottom:2px;display:flex}.amenity-card.is-active .amenity-card-icon{background:var(--text);color:#fff}.amenity-card-name{color:var(--text);font-size:13px;font-weight:700;line-height:1.3}.amenity-card-type{color:var(--text-dim);font-size:11.5px;line-height:1}.amenity-card-service{color:var(--text-faint);font-size:11px;line-height:1}.rooms-floor-header{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:16px 0 8px;font-size:11px;font-weight:700}.amenity-detail-icon{background:var(--bg-deep);width:44px;height:44px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.add-form-field{margin-bottom:14px}.add-form-field label{letter-spacing:.02em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.add-form-field input{border:1px solid var(--border-s);border-radius:var(--r-s);background:var(--bg);width:100%;padding:10px 11px;font-size:13.5px}.add-form-field input:focus{border-color:var(--text);outline:none}.chip-select{flex-wrap:wrap;gap:6px;display:flex}.chip-select button{border-radius:var(--r-pill);border:1px solid var(--border-s);color:var(--text-dim);transition:border-color var(--t), background var(--t), color var(--t);padding:6px 12px;font-size:12.5px;font-weight:600}.chip-select button:hover{border-color:var(--text-faint)}.chip-select button.is-selected{background:var(--text);border-color:var(--text);color:#fff}.add-form-submit{background:var(--text);color:#fff;border-radius:var(--r-s);width:100%;transition:opacity var(--t);margin-top:4px;padding:11px;font-size:13.5px;font-weight:700}.add-form-submit:hover{opacity:.85}.add-form-submit:disabled{opacity:.4;cursor:not-allowed}.add-form-submit.is-secondary{background:var(--bg-deep);color:var(--text);flex:none;width:auto;padding-left:20px;padding-right:20px}.action-form-buttons{gap:8px;margin-top:10px;display:flex}.action-form-buttons .add-form-submit{margin-top:0}.action-form-buttons .add-form-submit:not(.is-secondary){flex:1}.sms-bubble{background:var(--bg-alt);border-radius:var(--r-m);margin-bottom:8px;padding:10px 12px}.sms-bubble:last-child{margin-bottom:0}.sms-bubble-to{color:var(--text-faint);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:10.5px;font-weight:700}.sms-bubble-text{color:var(--text);font-size:13px;font-style:italic;line-height:1.5}.mini-row{border-radius:var(--r-s);cursor:pointer;transition:background var(--t);justify-content:space-between;align-items:center;gap:10px;margin:0 -8px;padding:9px 8px;display:flex}.mini-row:hover{background:var(--bg-alt)}.mini-row-title{font-size:13.5px;font-weight:600}.mini-row-sub{color:var(--text-dim);margin-top:1px;font-size:12px}.report-section{margin-bottom:30px}.report-section:last-child{margin-bottom:0}.report-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-l);padding:18px 20px}.report-tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.report-tile{background:var(--card);border:1px solid var(--border);border-radius:var(--r-m);padding:16px}.report-tile-value{letter-spacing:-.02em;font-size:26px;font-weight:700}.report-tile-label{color:var(--text-dim);margin-top:3px;font-size:12px;font-weight:600}.report-tile-meta{color:var(--text-faint);margin-top:4px;font-size:11px}.report-tile.is-empty .report-tile-value{color:var(--text-faint)}.report-hero{background:var(--card);border:1px solid var(--border);border-radius:var(--r-l);flex-wrap:wrap;align-items:baseline;gap:12px;padding:22px 24px;display:flex}.report-hero-value{letter-spacing:-.03em;font-size:40px;font-weight:700}.report-hero-unit{color:var(--text-dim);font-size:15px;font-weight:600}.report-hero-meta{color:var(--text-faint);width:100%;margin-top:2px;font-size:12.5px}.bar-list{flex-direction:column;gap:11px;display:flex}.bar-list-row{grid-template-columns:120px 1fr 32px;align-items:center;gap:10px;display:grid}.bar-list-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.bar-list-track{background:var(--bg-deep);border-radius:var(--r-pill);height:10px;overflow:hidden}.bar-list-fill{background:var(--text);border-radius:var(--r-pill);height:100%;transition:width .4s var(--ease)}.bar-list-count{color:var(--text-dim);text-align:right;font-size:12.5px;font-weight:700}.stacked-chart{align-items:flex-end;gap:10px;height:132px;padding-top:8px;display:flex}.stacked-chart-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:7px;height:100%;display:flex}.stacked-chart-bars{background:var(--bg-deep);border-radius:4px 4px 0 0;flex-direction:column;width:100%;max-width:30px;display:flex;overflow:hidden}.stacked-chart-seg.is-standard{background:var(--text-faint)}.stacked-chart-seg.is-emergency{background:var(--emergency)}.stacked-chart-daylabel{color:var(--text-faint);font-size:10.5px;font-weight:600}.chart-legend{border-top:1px solid var(--border);gap:16px;margin-top:14px;padding-top:12px;display:flex}.chart-legend-item{color:var(--text-dim);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.chart-legend-item i{border-radius:2px;width:9px;height:9px;display:inline-block}.perf-table{border-collapse:collapse;width:100%}.perf-table th{text-align:left;letter-spacing:.03em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding:9px 12px;font-size:11px;font-weight:700}.perf-table td{border-bottom:1px solid var(--border);padding:11px 12px;font-size:13.5px}.perf-table tr:last-child td{border-bottom:none}.perf-table td:not(:first-child){color:var(--text-dim)}.prop-empty{color:var(--text-dim);padding:12px 0 8px;font-size:13.5px}.crumb-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:500}.crumb-btn:hover{color:var(--text)}.prop-inline-form{background:var(--bg-alt);border:1.5px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;margin-top:12px;padding:16px;display:flex}.prop-inline-input{border:1.5px solid var(--border);background:var(--bg);color:var(--text);box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-size:14px}.prop-inline-input:focus{border-color:var(--accent)}.prop-inline-error{color:var(--status-new);font-size:12px}.prop-field-label{color:var(--text-dim);letter-spacing:.02em;margin-bottom:6px;font-size:12px;font-weight:600}.prop-input{border:1.5px solid var(--border);background:var(--bg);color:var(--text);box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:14px}.prop-input:focus{border-color:var(--accent)}.prop-textarea{resize:vertical;min-height:80px}.prop-inline-actions{gap:8px;display:flex}.btn-save{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:12px 26px;font-size:14.5px;font-weight:700}.btn-save:disabled{opacity:.6;cursor:default}.btn-cancel{border:1.5px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:8px;padding:8px 14px;font-size:13px}.btn-cancel:hover{border-color:var(--text-dim);color:var(--text)}.prop-row{cursor:pointer}.prop-row.is-selected{background:var(--bg-alt);border-radius:8px}.prop-detail-panel{border:1.5px solid var(--border);background:var(--bg);border-radius:12px;margin-top:16px;overflow:hidden}.prop-detail-header{border-bottom:1px solid var(--border);background:var(--bg-alt);justify-content:space-between;align-items:flex-start;padding:16px 18px;display:flex}.prop-detail-title{color:var(--text);font-size:16px;font-weight:700}.prop-detail-sub{color:var(--text-dim);margin-top:2px;font-size:13px}.prop-detail-close{cursor:pointer;color:var(--text-dim);background:0 0;border:none;align-items:center;padding:2px;display:flex}.prop-detail-close:hover{color:var(--text)}.prop-detail-section{border-bottom:1px solid var(--border);padding:14px 18px}.prop-detail-section:last-child{border-bottom:none}.prop-detail-section-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;font-size:11px;font-weight:700}.prop-detail-row{justify-content:space-between;padding:4px 0;font-size:13.5px;display:flex}.prop-detail-row span:first-child{color:var(--text-dim)}.prop-detail-row span:last-child{color:var(--text);font-weight:500}.prop-detail-notes{color:var(--text-dim);font-size:13.5px;line-height:1.5}.prop-detail-qr-note{color:var(--text-dim);margin-bottom:16px;font-size:12.5px}.qr-wrap{flex-direction:column;align-items:center;gap:12px;display:flex}.qr-code-box{border:1.5px solid var(--border);background:#fff;border-radius:12px;padding:12px;display:inline-flex}.qr-label{color:var(--text-dim);letter-spacing:.02em;font-size:12px;font-weight:600}.qr-actions{gap:8px;display:flex}.qr-btn{border:1.5px solid var(--border);background:var(--bg);color:var(--text-dim);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:600;display:flex}.qr-btn:hover{border-color:var(--accent);color:var(--accent)}.qr-trigger-btn{border:1.5px solid var(--border);background:var(--bg);color:var(--text-dim);cursor:pointer;border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.qr-trigger-btn:hover{border-color:var(--accent);color:var(--accent)}.btn-new-ticket{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.btn-new-ticket:hover{opacity:.88}.ticket-context-banner{background:var(--bg-alt);border:1px solid var(--border);color:var(--text-dim);border-radius:8px;align-items:center;gap:6px;margin-bottom:4px;padding:8px 12px;font-size:12.5px;font-weight:500;display:flex}.ticket-priority-pill--low.is-active{color:#2e7d32;background:#e8f5e9;border-color:#4caf50}.ticket-priority-pill--medium.is-active{color:#856404;background:#fff8e1;border-color:#ffc107}.ticket-priority-pill--high.is-active{color:#e65100;background:#fff3e0;border-color:#ff9800}.ticket-priority-pill--urgent.is-active{color:#b71c1c;background:#fdecea;border-color:#f44336}.prop-modal--qr{max-width:360px}.prop-page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.prop-edit-toggle{border:1.5px solid var(--border-s);border-radius:var(--r-pill);color:var(--text-dim);background:var(--bg);cursor:pointer;transition:border-color var(--t), background var(--t), color var(--t);white-space:nowrap;flex-shrink:0;padding:7px 16px;font-size:13px;font-weight:600}.prop-edit-toggle:hover{border-color:var(--text-faint);color:var(--text)}.prop-edit-toggle.is-active{background:var(--text);border-color:var(--text);color:#fff}.prop-region-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.prop-region-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-l);cursor:pointer;transition:border-color var(--t), box-shadow var(--t);padding:20px 20px 16px;position:relative}.prop-region-card:hover{border-color:var(--text-faint);box-shadow:var(--card-hover)}.prop-region-edit-btn{border-radius:var(--r-s);background:var(--bg-alt);border:1px solid var(--border-s);width:28px;height:28px;color:var(--text-dim);transition:background var(--t), border-color var(--t), color var(--t);justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:12px}.prop-region-edit-btn:hover{background:var(--bg-deep);border-color:var(--text-faint);color:var(--text)}.prop-region-card-name{letter-spacing:-.01em;color:var(--text);margin-bottom:3px;font-size:16px;font-weight:700}.prop-region-card-location{color:var(--text-dim);margin-bottom:16px;font-size:12.5px}.prop-region-card-stats{border-top:1px solid var(--border);align-items:center;gap:12px;padding-top:14px;display:flex}.prop-region-stat{flex-direction:column;gap:2px;display:flex}.prop-region-stat-value{letter-spacing:-.02em;color:var(--text);font-size:20px;font-weight:700;line-height:1}.prop-region-stat-label{color:var(--text-faint);font-size:11px;font-weight:600}.prop-region-stat-divider{background:var(--border);flex-shrink:0;width:1px;height:32px}.prop-region-card-cta{color:var(--text-faint);transition:color var(--t);margin-top:12px;font-size:11.5px;font-weight:600}.prop-region-card:hover .prop-region-card-cta{color:var(--text)}.prop-region-add-card{border:2px dashed var(--border-s);border-radius:var(--r-l);color:var(--text-dim);cursor:pointer;transition:border-color var(--t), color var(--t), background var(--t);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:120px;padding:28px 20px;font-size:13.5px;font-weight:600;display:flex}.prop-region-add-card:hover{border-color:var(--text-faint);color:var(--text);background:var(--bg-alt)}.prop-region-add-card svg{width:18px;height:18px}.prop-modal-overlay{z-index:60;animation:fadeIn .16s var(--ease) both;background:#00000061;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.prop-modal{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-l);width:100%;max-width:400px;max-height:88vh;animation:modalIn .18s var(--ease) both;flex-direction:column;display:flex;box-shadow:0 20px 60px #00000038}@keyframes modalIn{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.prop-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 20px 16px;display:flex}.prop-modal-title{letter-spacing:-.01em;font-size:15px;font-weight:700}.prop-modal-body{flex:1;padding:18px 20px;overflow-y:auto}.prop-modal-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.prop-search-wrap{align-items:center;margin-bottom:16px;display:flex;position:relative}.prop-search-wrap>svg{color:var(--text-faint);pointer-events:none;position:absolute;left:11px}.prop-search-input{border:1.5px solid var(--border-s);border-radius:var(--r-pill);background:var(--bg);width:100%;max-width:360px;color:var(--text);transition:border-color var(--t);outline:none;padding:9px 36px;font-size:13.5px}.prop-search-input:focus{border-color:var(--text-faint)}.prop-search-clear{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:11px;line-height:1;position:absolute;right:calc(100% - 352px)}.prop-search-clear:hover{color:var(--text)}.prop-property-type-row{align-items:center;gap:8px;display:flex}.prop-property-icon{border-radius:var(--r-s);background:var(--bg-alt);border:1px solid var(--border);width:32px;height:32px;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;display:flex}.prop-property-type-label{color:var(--text-faint);font-size:11.5px;font-weight:600}.prop-pill-icon{align-items:center;gap:5px;display:flex}.prop-pill-select{flex-wrap:wrap;gap:6px;display:flex}.prop-pill{border-radius:var(--r-pill);border:1.5px solid var(--border-s);color:var(--text-dim);background:var(--bg);cursor:pointer;transition:border-color var(--t), background var(--t), color var(--t);padding:6px 14px;font-size:13px;font-weight:600}.prop-pill:hover{border-color:var(--text-faint);color:var(--text)}.prop-pill.is-active{background:var(--text);border-color:var(--text);color:#fff}.prop-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;padding:14px 20px 18px;display:flex}.btn-delete{border:1.5px solid var(--border-s);color:var(--emergency);cursor:pointer;transition:background var(--t), border-color var(--t);background:0 0;border-radius:8px;margin-right:auto;padding:8px 14px;font-size:13px;font-weight:600}.btn-delete:hover{background:var(--emergency-bg);border-color:var(--emergency)}.prop-modal-confirm{flex-wrap:wrap;align-items:center;gap:8px;margin-right:auto;display:flex}.prop-modal-confirm span{color:var(--emergency);font-size:13px;font-weight:600}.btn-delete-confirm{background:var(--emergency);color:#fff;cursor:pointer;transition:opacity var(--t);border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600}.btn-delete-confirm:hover{opacity:.85}.btn-delete-confirm:disabled{opacity:.5;cursor:not-allowed}@media (max-width:980px){.stats-strip{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.stats-strip{grid-template-columns:repeat(2,1fr)}.header-wordmark,.header-divider,.ticket-table thead{display:none}}.assistant-bar{z-index:50;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed;bottom:22px;left:0;right:0}.assistant-bar-inner{pointer-events:auto;background:var(--card);border-radius:var(--r-pill);align-items:center;gap:4px;width:100%;max-width:560px;height:52px;padding:0 6px 0 16px;display:flex;box-shadow:0 6px 24px #00000024,0 1px 4px #0000000f}.assistant-bar-toggle{width:26px;height:26px;color:var(--text-faint);transition:background var(--t);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.assistant-bar-toggle:hover{background:var(--bg-deep);color:var(--text)}.assistant-bar-input{height:100%;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:0 4px;font-size:13.5px}.assistant-bar-input:disabled{opacity:.6}.assistant-bar-send{background:var(--text);width:38px;height:38px;color:var(--bg);transition:opacity var(--t);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.assistant-bar-send:hover{opacity:.85}.assistant-bar-send.is-stop{background:var(--emergency)}.assistant-bar-unhide{pointer-events:auto;border-radius:var(--r-pill);background:var(--card);border:1px solid var(--border-s);color:var(--text-dim);align-items:center;gap:6px;padding:10px 16px;font-size:12.5px;font-weight:600;display:flex;box-shadow:0 6px 24px #00000024,0 1px 4px #0000000f}.assistant-bar-unhide:hover{color:var(--text)}.assistant-bubble-wrap{z-index:51;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed;bottom:86px;left:0;right:0}.assistant-bubble{pointer-events:auto;background:var(--card);border-radius:var(--r-l);width:100%;max-width:420px;position:relative;box-shadow:0 10px 32px #00000029,0 2px 8px #0000000f}.assistant-bubble:after{content:"";background:var(--card);border-radius:3px;width:14px;height:14px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.assistant-bubble-close{width:22px;height:22px;color:var(--text-faint);z-index:1;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.assistant-bubble-close:hover{background:var(--bg-deep);color:var(--text)}.assistant-bubble-response{color:var(--text);padding:4px;font-size:13.5px;line-height:1.5}.assistant-bubble .assistant-log{max-height:50vh;padding:16px}.assistant-log{flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto}.assistant-log-line{border-radius:var(--r-s);max-width:92%;padding:7px 10px;font-size:13px;line-height:1.45}.assistant-log-error{background:var(--emergency-bg);color:var(--emergency);align-self:flex-start}.assistant-log-thinking{color:var(--text-faint);align-self:flex-start;font-size:12.5px;font-style:italic}.assistant-log-step{color:var(--text-dim);align-items:center;gap:8px;padding:5px 4px;font-size:12px;display:flex}.assistant-log-step-dot{background:var(--bg-deep);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;display:flex}.assistant-log-step.is-done .assistant-log-step-dot{color:#16a34a;background:#16a34a1f}.assistant-log-step.is-denied .assistant-log-step-dot{background:var(--bg-deep);color:var(--text-faint)}.assistant-log-step.is-error .assistant-log-step-dot{background:var(--emergency-bg);color:var(--emergency)}.assistant-approval{border:1.5px solid var(--border-s);border-radius:var(--r-s);padding:10px}.assistant-approval-text{margin-bottom:8px;font-size:13px;font-weight:600}.assistant-approval-actions{gap:6px;display:flex}.assistant-approval-actions button{border-radius:var(--r-s);background:var(--text);color:var(--bg);flex:1;padding:6px 10px;font-size:12.5px;font-weight:700}.assistant-approval-actions button.is-deny{background:var(--bg-deep);color:var(--text-dim)}@media (max-width:640px){.assistant-bubble-wrap{padding:0 8px}}.today-hero{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.today-hero-greeting{letter-spacing:-.01em;font-size:26px;font-weight:700}.home-refresh{width:32px;height:32px;color:var(--text-faint);transition:background var(--t), color var(--t);border-radius:50%;justify-content:center;align-items:center;display:flex}.home-refresh:hover{background:var(--bg-deep);color:var(--text)}.home-refresh:disabled{opacity:.5;cursor:default}.home-empty{color:var(--text-faint);padding:24px 0;font-size:14px}.today-stats{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.today-stat-chip{border-radius:var(--r-pill);background:var(--bg-deep);color:var(--text-dim);cursor:pointer;transition:border-color var(--t), transform var(--t);border:1px solid #0000;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:600;display:flex}.today-stat-chip:hover{border-color:var(--border-s);transform:translateY(-1px)}.today-stat-chip-count{color:var(--text);font-weight:800}.today-featured{text-align:left;background:var(--card);border:3px solid var(--border-s);border-radius:var(--r-l);cursor:pointer;width:100%;transition:box-shadow var(--t), transform var(--t);margin-bottom:24px;padding:20px 22px;display:block}.today-featured:hover{box-shadow:var(--card-hover);transform:translate(2px)}.today-featured-label{letter-spacing:.05em;text-transform:uppercase;margin-bottom:9px;font-size:11px;font-weight:700}.today-featured-headline{letter-spacing:-.01em;margin-bottom:6px;font-size:19px;font-weight:800}.today-featured-detail{color:var(--text-dim);margin-bottom:16px;font-size:13.5px;line-height:1.5}.today-featured-actions{align-items:center;gap:14px;display:flex}.today-featured-cta{color:var(--text);align-items:center;gap:5px;font-size:13px;font-weight:700;display:inline-flex}.today-featured-ai-btn{border-radius:var(--r-s);border:1.5px solid var(--text);background:var(--text);color:var(--bg);cursor:pointer;padding:8px 14px;font-size:12.5px;font-weight:700}.today-featured-ai-btn:hover{opacity:.85}.today-section{margin-bottom:24px}.today-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);margin-bottom:10px;font-size:11.5px;font-weight:700}.today-section-empty{color:var(--text-faint);padding:2px 0 4px;font-size:13px}.today-list{flex-direction:column;gap:10px;display:flex}.today-item{background:var(--card);border:3px solid var(--border-s);border-radius:var(--r-m);transition:box-shadow var(--t);align-items:center;gap:8px;display:flex}.today-item.is-selected{box-shadow:0 0 0 2px var(--text) inset}.today-item-check{cursor:pointer;width:15px;height:15px;accent-color:var(--text);flex-shrink:0;margin-left:14px}.today-item-body{text-align:left;transition:transform var(--t);flex:1;align-items:flex-start;gap:12px;padding:16px 16px 16px 14px;display:flex}.today-item:hover{box-shadow:var(--card-hover)}.today-item:hover .today-item-body{transform:translate(2px)}.today-item-dot{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.today-item-dot svg{width:14px;height:14px}.today-timeline{flex-direction:column;display:flex}.today-timeline-row{gap:12px;display:flex}.today-timeline-time{text-align:right;width:64px;color:var(--text-dim);flex-shrink:0;padding-top:13px;font-size:11.5px;font-weight:700}.today-timeline-rail{flex-direction:column;flex-shrink:0;align-items:center;width:10px;display:flex}.today-timeline-dot{width:10px;height:10px;box-shadow:0 0 0 3px var(--card);border-radius:50%;flex-shrink:0;margin-top:14px}.today-timeline-line{background:var(--border);flex:1;width:2px;min-height:12px;margin:2px 0}.today-timeline-card{text-align:left;background:var(--card);border:3px solid var(--border-s);border-radius:var(--r-m);cursor:pointer;transition:box-shadow var(--t), transform var(--t);flex:1;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:11px 14px;display:flex}.today-timeline-card:hover{box-shadow:var(--card-hover);transform:translate(2px)}.today-item-headline{margin-bottom:3px;font-size:14.5px;font-weight:700}.today-item-detail{color:var(--text-dim);font-size:12.5px;line-height:1.4}.today-item-insight{color:var(--text-dim);margin-top:4px;font-size:12.5px;line-height:1.4}.today-item-chevron{width:16px;height:16px;color:var(--text-faint);flex-shrink:0;align-self:center;margin-left:auto}.today-ai-bar{background:var(--text);color:#fff;border-radius:var(--r-m);justify-content:space-between;align-items:center;gap:12px;max-width:640px;margin-top:8px;padding:12px 12px 12px 18px;font-size:13px;font-weight:600;display:flex;position:sticky;bottom:20px;box-shadow:0 8px 24px #0000002e}.today-ai-bar button{color:var(--text);border-radius:var(--r-s);cursor:pointer;background:#fff;border:none;padding:9px 16px;font-size:13px;font-weight:700}.properties-page.today-page{max-width:720px}@media (max-width:900px){.today-layout{grid-template-columns:1fr}.today-rail{position:static}}.tenant-group-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.tenant-group-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-m);cursor:pointer;transition:box-shadow var(--t), transform var(--t);padding:16px;position:relative}.tenant-group-card:hover{box-shadow:var(--card-hover);transform:translateY(-1px)}.tenant-group-avatars{margin-bottom:12px;display:flex}.tenant-group-avatar{color:#fff;border:2px solid var(--card);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;margin-left:-10px;font-size:12px;font-weight:700;display:flex}.tenant-group-avatar:first-child{margin-left:0}.tenant-group-avatar-more{background:var(--bg-deep);color:var(--text-dim)}.tenant-group-title{margin-bottom:2px;font-size:14.5px;font-weight:700}.tenant-group-sub{color:var(--text-faint);margin-bottom:8px;font-size:12px}.tenant-group-count{color:var(--text-dim);font-size:12px;font-weight:600}.tenant-group-lease-badge{border-radius:var(--r-pill);color:#d97706;background:#d977061a;margin-top:8px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.assistant-status-card{z-index:52;background:var(--card);border:1px solid var(--border);border-radius:var(--r-m);width:300px;max-width:calc(100vw - 28px);max-height:46vh;position:fixed;bottom:86px;right:16px;overflow-y:auto;box-shadow:0 10px 32px #00000029,0 2px 8px #0000000f}.assistant-status-card-header{background:var(--card);border-bottom:1px solid var(--border);color:var(--text-faint);justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;font-weight:700;display:flex;position:sticky;top:0}.assistant-status-card-header button{width:20px;height:20px;color:var(--text-faint);border-radius:50%;justify-content:center;align-items:center;display:flex}.assistant-status-card-header button:hover{background:var(--bg-deep);color:var(--text)}.chats-page{border:1px solid var(--border);border-radius:var(--r-l);background:var(--card);height:calc(100vh - 200px);min-height:480px;display:flex;overflow:hidden}.chats-list{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:300px;display:flex;overflow-y:auto}.chats-list-header{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);flex-shrink:0;padding:14px 16px;font-size:11.5px;font-weight:700}.chats-list-item{text-align:left;border-bottom:1px solid var(--border);cursor:pointer;width:100%;transition:background var(--t);padding:12px 16px;display:block;position:relative}.chats-list-item:hover{background:var(--bg-alt)}.chats-list-item.is-selected{background:var(--bg-deep)}.chats-list-item-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.chats-list-item-name{font-size:13.5px;font-weight:700}.chats-list-item-time{color:var(--text-faint);flex-shrink:0;font-size:11px}.chats-list-item-preview{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;padding-right:20px;font-size:12.5px;overflow:hidden}.chats-unread-dot{background:var(--emergency);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9.5px;font-weight:700;display:flex;position:absolute;top:14px;right:14px}.chats-thread{flex-direction:column;flex:1;min-width:0;display:flex}.chats-thread-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:14px 18px}.chats-thread-name{font-size:14.5px;font-weight:700}.chats-thread-phone{color:var(--text-faint);margin-top:1px;font-size:12px}.chats-thread-body{flex-direction:column;flex:1;gap:10px;padding:16px 18px;display:flex;overflow-y:auto}.chats-bubble-row{flex-direction:column;max-width:70%;display:flex}.chats-bubble-row.is-outbound{align-self:flex-end;align-items:flex-end}.chats-bubble-row.is-inbound{align-self:flex-start;align-items:flex-start}.chats-bubble{border-radius:var(--r-m);white-space:pre-wrap;word-break:break-word;padding:9px 13px;font-size:13.5px;line-height:1.4}.chats-bubble-row.is-outbound .chats-bubble{background:var(--text);color:var(--bg)}.chats-bubble-row.is-inbound .chats-bubble{background:var(--bg-alt);color:var(--text)}.chats-bubble-time{color:var(--text-faint);margin-top:3px;padding:0 2px;font-size:10.5px}.chats-draft-chip{border:1.5px solid var(--border-s);border-radius:var(--r-s);background:var(--bg-alt);margin:0 16px 10px;padding:10px 12px}.chats-draft-chip-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin-bottom:4px;font-size:11px;font-weight:700}.chats-draft-chip-text{color:var(--text);font-size:13.5px;line-height:1.4}.chats-draft-chip-actions{gap:10px;margin-top:8px;display:flex}.chats-draft-chip-actions button{cursor:pointer;color:var(--text);background:0 0;border:none;padding:4px 0;font-size:12.5px;font-weight:700}.chats-draft-chip-actions button.is-dismiss{color:var(--text-faint);font-weight:600}.chats-compose{border-top:1px solid var(--border);flex-shrink:0;align-items:flex-end;gap:10px;padding:12px 16px;display:flex}.chats-compose textarea{resize:none;border:1.5px solid var(--border-s);border-radius:var(--r-s);background:var(--bg);min-height:20px;max-height:100px;color:var(--text);outline:none;flex:1;padding:9px 12px;font-family:inherit;font-size:13.5px}.chats-compose button{border-radius:var(--r-s);background:var(--text);color:var(--bg);cursor:pointer;border:none;flex-shrink:0;padding:9px 16px;font-size:13px;font-weight:700}.chats-compose button:disabled{opacity:.5;cursor:not-allowed}.chats-send-error{color:var(--emergency);padding:0 16px 10px;font-size:12.5px}.chats-empty{color:var(--text-faint);text-align:center;padding:24px 16px;font-size:13.5px}
