*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}img{max-width:100%;display:block}@media (hover:none),(pointer:coarse){input,textarea,select{font-size:16px!important}}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:#1472ff;--status-new-bg:#1472ff17;--status-sched:#ff69b4;--status-sched-bg:#ff69b421;--status-hold:#f97316;--status-hold-bg:#f973161a;--status-pending:#7c3aed;--status-pending-bg:#7c3aed17;--status-closeout:#eab308;--status-closeout-bg:#eab30824;--status-complete:#16a34a;--status-complete-bg:#16a34a14;--status-cancelled:#6b7280;--status-cancelled-bg:#6b72801a;--emergency:#dc2626;--emergency-bg:#dc262614;--occupied:var(--status-complete);--occupied-bg:var(--status-complete-bg);--turnover:var(--status-pending);--turnover-bg:var(--status-pending-bg);--lease-attention:var(--status-hold);--lease-attention-bg:var(--status-hold-bg);--moving-in:var(--turnover);--moving-in-bg:var(--turnover-bg);--moving-out:var(--lease-attention);--moving-out-bg:var(--lease-attention-bg);--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{width:100%;max-width:380px}.login-brand{width:240px;height:auto;margin:0 auto 32px;display:block}.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}@media (hover:hover) and (pointer:fine){.btn-primary:hover{opacity:.85}}.login-card .btn-primary{background:#1472ff}.btn-primary-label{justify-content:center;align-items:center;gap:8px;display:inline-flex}.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}.app-lower{flex-direction:column;flex:1;min-height:0;display:flex}.app-body{flex-direction:column;flex:1;min-width:0;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}.header-wordmark{letter-spacing:-.01em;white-space:nowrap;border-radius:var(--r-s);cursor:pointer;transition:background var(--t);align-items:center;gap:8px;margin-left:-6px;padding:4px 6px;font-size:16px;font-weight:700;display:flex}@media (hover:hover) and (pointer:fine){.header-wordmark:hover{background:var(--bg-deep)}}.header-mark{width:38px;height:38px}.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}@media (hover:hover) and (pointer:fine){.property-switcher:hover{border-color:var(--text-faint)}}.property-switcher svg{width:13px;height:13px;color:var(--text-faint)}.property-switcher-pin{flex-shrink:0}.property-switcher-wrap.is-locked .property-switcher{cursor:default}@media (hover:hover) and (pointer:fine){.property-switcher-wrap.is-locked .property-switcher:hover{border-color:var(--border-s)}}.property-switcher-wrap.is-locked .property-switcher-chevron{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}@media (hover:hover) and (pointer:fine){.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{color:#fff;background:#1472ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.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}@media (hover:hover) and (pointer:fine){.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}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.header,.nav-strip-wrap{-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#ffffffb8}}.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}@media (hover:hover) and (pointer:fine){.nav-item:hover{background:var(--bg-alt)}}.nav-item.is-active{background:var(--status-new-bg);color:var(--status-new)}.nav-item svg{width:19px;height:19px}.nav-item .nav-item-label{white-space:nowrap;font-size:11.5px;font-weight:600}.nav-item-icon{display:inline-flex;position:relative}.nav-item-icon.has-new:after{content:"";background:var(--emergency);border:1.5px solid var(--card);border-radius:50%;width:7px;height:7px;position:absolute;top:-2px;right:-2px}@keyframes nav-ping-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nav-item-icon.is-pulsing svg{animation:.55s nav-ping-spin}.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}@media (hover:hover) and (pointer:fine){.stat-card:hover{border-color:color-mix(in srgb, var(--accent,var(--text-faint)) 55%, var(--card))}}.stat-card.is-selected{border-color:var(--accent,var(--text));box-shadow:inset 0 0 0 1px var(--accent,var(--text));background:var(--card)}.stat-card.is-selected .stat-value,.stat-card.is-selected .stat-label{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);transition:color var(--t);margin-top:2px;font-size:11.5px;font-weight:600}@keyframes stat-flash{0%{color:var(--accent,#1472ff);transform:scale(1.18)}to{transform:scale(1)}}.stat-value.is-flash{animation:.7s stat-flash;display:inline-block}.stats-strip-sm{gap:8px;max-width:460px;margin:0 auto 14px}.stat-card.is-sm{padding:10px 13px}.stat-card.is-sm .stat-value{font-size:18px}.stat-card.is-sm .stat-label{margin-top:1px;font-size:10.5px}.stat-card.is-alarm{background:var(--card);border-color:#dc262659;animation:2.2s ease-in-out infinite stat-alarm-pulse}@keyframes stat-alarm-pulse{0%,to{box-shadow:0 0 #dc26262e}50%{box-shadow:0 0 0 4px #dc262600}}.stat-card.is-emergency-selected{border-color:var(--emergency);box-shadow:inset 0 0 0 1.5px var(--emergency);animation:none}.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;line-height:16px}.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{color:#fff;background:#1472ff}@media (max-width:640px){.vendor-add-btn{justify-content:center;align-items:center;width:100%;display:flex}}.prop-tab-swap-btn{border:1px solid var(--border-s);border-radius:var(--r-pill);color:var(--text-dim);background:var(--card);cursor:pointer;transition:border-color var(--t), color var(--t);align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}@media (hover:hover) and (pointer:fine){.prop-tab-swap-btn:hover{color:#1472ff;border-color:#1472ff}}.prop-tab-swap-btn svg{width:13px;height:13px}.toolbar-spacer{flex:1}.ticket-table-wrap{background:var(--bg-alt);border-radius:var(--r-l);border-top-left-radius:0;border-top-right-radius:0;overflow:hidden}.ticket-table{border-collapse:separate;border-spacing:0 10px;width:100%}.ticket-table thead th{text-align:left;padding:8px 6px}.ticket-table thead th:first-child{padding-left:0}.ticket-table thead th:last-child{padding-right:0}.ticket-sort-pill{letter-spacing:.03em;text-transform:uppercase;border-radius:var(--r-s);border:1px solid var(--border-s);background:var(--card);width:100%;color:var(--text-faint);cursor:pointer;transition:border-color var(--t), background var(--t), color var(--t);justify-content:space-between;align-items:center;gap:6px;padding:9px 10px;font-size:11px;font-weight:700;line-height:16px;display:flex}@media (hover:hover) and (pointer:fine){.ticket-sort-pill:hover{border-color:#1472ff}}.ticket-sort-pill.is-active{color:#1472ff;border-color:#1472ff}.ticket-row td{vertical-align:middle;background:var(--card);transition:background var(--t);border-top:2px solid #0000;border-bottom:2px solid #0000;padding:13px 16px;font-size:13.5px}.ticket-row td:first-child{border-top-left-radius:var(--r-m);border-bottom-left-radius:var(--r-m);border-left:2px solid #0000}.ticket-row td:last-child{border-top-right-radius:var(--r-m);border-bottom-right-radius:var(--r-m);border-right:2px solid #0000}.ticket-row{cursor:pointer}.ticket-issue{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.ticket-issue-sub{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;overflow:hidden}@media (hover:hover) and (pointer:fine){.ticket-row:hover td{background:var(--row-tint,var(--bg-alt))}}.ticket-row.status-new td{border-color:var(--status-new)}.ticket-row.status-scheduled td{border-color:var(--status-sched)}.ticket-row.status-onhold td{border-color:var(--status-hold)}.ticket-row.status-pending td{border-color:var(--status-pending)}.ticket-row.status-closeout td{border-color:var(--status-closeout)}.ticket-row.status-complete td{border-color:var(--status-complete)}.ticket-row.status-cancelled td{border-color:var(--status-cancelled)}.ticket-row.status-emergency td,.ticket-row.is-emergency td{border-color:var(--emergency)}@media (hover:hover) and (pointer:fine){.ticket-row.is-emergency:hover td{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)}.rent-table-wrap{background:var(--bg-alt);border-radius:var(--r-l);overflow:hidden}.rent-table{border-collapse:separate;border-spacing:0 10px;width:100%}.rent-table thead th{text-align:left;padding:8px 6px}.rent-table thead th:first-child{padding-left:0}.rent-table thead th:last-child{padding-right:0}.rent-row td{vertical-align:middle;background:var(--card);transition:background var(--t);border-top:2px solid #0000;border-bottom:2px solid #0000;padding:13px 16px;font-size:13.5px}.rent-row td:first-child{border-top-left-radius:var(--r-m);border-bottom-left-radius:var(--r-m);border-left:2px solid #0000}.rent-row td:last-child{border-top-right-radius:var(--r-m);border-bottom-right-radius:var(--r-m);border-right:2px solid #0000}@media (hover:hover) and (pointer:fine){.rent-row:hover td{background:var(--row-tint,var(--bg-alt))}}.rent-row.rent-overdue td{border-color:var(--emergency)}.rent-row.rent-not_paid td{border-color:var(--status-hold)}.rent-row.rent-not_due td{border-color:var(--status-sched)}.rent-row.rent-no_rent td{border-color:var(--status-pending)}.rent-row.rent-paid_advance td{border-color:var(--status-closeout)}.rent-row.rent-paid td{border-color:var(--status-complete)}.doc-table-wrap{background:var(--bg-alt);border-radius:var(--r-l);border-top-left-radius:0;border-top-right-radius:0;overflow:hidden}.doc-table{border-collapse:separate;border-spacing:0 10px;width:100%}.doc-table thead th{text-align:left;padding:8px 6px}.doc-table thead th:first-child{padding-left:0}.doc-table thead th:last-child{padding-right:0}.doc-row{cursor:pointer}.doc-row td{vertical-align:middle;background:var(--card);transition:background var(--t);border-top:2px solid #0000;border-bottom:2px solid #0000;padding:13px 16px;font-size:13.5px}.doc-row td:first-child{border-top-left-radius:var(--r-m);border-bottom-left-radius:var(--r-m);border-left:2px solid #0000}.doc-row td:last-child{border-top-right-radius:var(--r-m);border-bottom-right-radius:var(--r-m);border-right:2px solid #0000}@media (hover:hover) and (pointer:fine){.doc-row:hover td{background:var(--bg-alt)}}.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);white-space:nowrap;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-closeout{background:var(--status-closeout-bg);color:var(--status-closeout)}.status-complete{background:var(--status-complete-bg);color:var(--status-complete)}.status-cancelled{background:var(--status-cancelled-bg);color:var(--status-cancelled)}.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-header-spacer{flex:1}.calendar-month-nav{align-items:center;gap:10px;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}@media (hover:hover) and (pointer:fine){.calendar-nav-btn:hover{border-color:#1472ff}}.calendar-nav-btn svg{width:14px;height:14px}.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}@media (hover:hover) and (pointer:fine){.calendar-cell:hover{border-color:#1472ff}}.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(--status-new);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}@media (hover:hover) and (pointer:fine){.calendar-event:hover{background:var(--bg-deep)}}.calendar-event.is-maintenance{cursor:default}@media (hover:hover) and (pointer:fine){.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)}.calendar-agenda{display:none}@media (max-width:700px){.calendar-grid-wrap{display:none}.calendar-agenda{flex-direction:column;display:flex}.calendar-header{flex-wrap:wrap;justify-content:center;row-gap:8px}.calendar-header-spacer{display:none}.calendar-month-nav{justify-content:center;width:100%}.calendar-month-label{min-width:0}}.calendar-agenda-row{border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--t);align-items:center;gap:14px;padding:10px 2px;display:flex}.calendar-agenda-row:last-child{border-bottom:none}@media (hover:hover) and (pointer:fine){.calendar-agenda-row:hover{background:var(--bg-alt)}}.calendar-agenda-date{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:36px;display:flex}.calendar-agenda-weekday{letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:700}.calendar-agenda-num{color:var(--text);font-size:15px;font-weight:700}.calendar-agenda-row.is-today .calendar-agenda-num{background:var(--status-new);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.calendar-agenda-items{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.calendar-agenda-item{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:12.5px;display:flex;overflow:hidden}.calendar-agenda-item i{border-radius:50%;flex-shrink:0;width:7px;height:7px}.calendar-agenda-more{color:var(--text-faint);font-size:11px;font-weight:600}.calendar-agenda-empty{color:var(--text-faint);font-size:12px}.day-modal{background:var(--bg);border-radius:var(--r-l);z-index:61;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}@media (hover:hover) and (pointer:fine){.day-modal-event:hover{background:var(--bg-alt)}}.day-modal-event.is-maintenance{cursor:default}@media (hover:hover) and (pointer:fine){.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-panel-lg{width:600px}.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}@media (hover:hover) and (pointer:fine){.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-panel-lg .detail-body{scrollbar-width:none}.detail-panel-lg .detail-body::-webkit-scrollbar{display:none}.detail-footer{border-top:1px solid var(--border);background:var(--bg);flex-direction:column;flex-shrink:0;gap:8px;padding:14px 20px;display:flex}.detail-footer-action{border-radius:var(--r-s);color:#fff;cursor:pointer;width:100%;transition:opacity var(--t);background:#1472ff;justify-content:center;align-items:center;gap:8px;padding:11px;font-size:13.5px;font-weight:700;display:flex}@media (hover:hover) and (pointer:fine){.detail-footer-action:hover{opacity:.88}}.detail-footer-action-secondary{background:var(--card);color:#1472ff;border:1.5px solid #1472ff}.detail-footer-status{border-radius:var(--r-s);background:var(--status-complete-bg);width:100%;color:var(--status-complete);justify-content:center;align-items:center;gap:6px;padding:11px;font-size:12.5px;font-weight:700;display:flex}.quick-action-btn{border-radius:var(--r-m);border:1.5px solid var(--border-s);background:var(--bg);color:var(--text-dim);text-align:center;cursor:pointer;transition:border-color var(--t), background var(--t), transform var(--t);flex-direction:column;align-items:center;gap:7px;padding:14px 10px;font-size:12px;font-weight:600;display:flex}@media (hover:hover) and (pointer:fine){.quick-action-btn:hover{border-color:var(--qa-color,#1472ff);background:color-mix(in srgb, var(--qa-color,#1472ff) 8%, var(--bg));transform:translateY(-1px)}}.quick-action-delete{border-radius:var(--r-m);border:1.5px solid var(--border-s);background:var(--bg);color:var(--emergency);cursor:pointer;transition:border-color var(--t), background var(--t);justify-content:center;align-items:center;gap:6px;padding:10px;font-size:12.5px;font-weight:600;display:flex}@media (hover:hover) and (pointer:fine){.quick-action-delete:hover{border-color:var(--emergency);background:var(--emergency-bg)}}.quick-action-complete{border-radius:var(--r-m);border:1.5px solid var(--border-s);background:var(--bg);color:var(--status-complete);cursor:pointer;transition:border-color var(--t), background var(--t);justify-content:center;align-items:center;gap:6px;padding:10px;font-size:12.5px;font-weight:600;display:flex}@media (hover:hover) and (pointer:fine){.quick-action-complete:hover{border-color:var(--status-complete);background:var(--status-complete-bg)}}.quick-action-status{border-radius:var(--r-m);border:1.5px solid var(--border-s);background:var(--bg);cursor:pointer;transition:border-color var(--t), background var(--t);justify-content:center;align-items:center;gap:6px;padding:10px;font-size:12.5px;font-weight:600;display:flex}@media (hover:hover) and (pointer:fine){.quick-action-status:hover{background:#1472ff14;border-color:#1472ff}}.quick-action-back{color:var(--text-dim);cursor:pointer;transition:color var(--t);background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0;font-size:12.5px;font-weight:600;display:flex}@media (hover:hover) and (pointer:fine){.quick-action-back:hover{color:#1472ff}}.quick-action-confirm{border-radius:var(--r-m);color:#fff;transition:opacity var(--t);border:none;padding:10px;font-size:13.5px;font-weight:700}@media (hover:hover) and (pointer:fine){.quick-action-confirm:not(:disabled):hover{opacity:.88}}.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}@media (hover:hover) and (pointer:fine){.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:45;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{perspective:420px;width:84px;height:84px;position:relative}.logo-spin img{width:100%;height:100%;position:absolute;inset:0}.spin-mark{animation:1.3s ease-in-out infinite flip}@keyframes flip{0%{transform:rotateX(0)}to{transform:rotateX(360deg)}}.properties-page{max-width:1100px;margin:0 auto;padding:22px 20px 60px}.prop-back-btn{border-radius:var(--r-s);color:#1472ff;cursor:pointer;width:38px;height:38px;transition:background var(--t), border-color var(--t), color var(--t);background:#fff;border:1.5px solid #1472ff;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (hover:hover) and (pointer:fine){.prop-back-btn:hover{color:#fff;background:#1472ff;border-color:#1472ff}}.prop-back-btn svg{width:19px;height:19px}.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}@media (hover:hover) and (pointer:fine){.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}@media (hover:hover) and (pointer:fine){.prop-row:hover{background:var(--bg-alt)}}.prop-row.is-uncatalogued{cursor:default}@media (hover:hover) and (pointer:fine){.prop-row.is-uncatalogued:hover{background:0 0}}.prop-row-main{flex:1;min-width:0}.prop-row-title{white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:700;overflow:hidden}.prop-row-sub{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:12px;overflow:hidden}@media (max-width:640px){.prop-row-title{font-size:12px}.prop-row-sub{font-size:11px}}.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}@media (hover:hover) and (pointer:fine){.prop-add-row:hover{border-color:var(--text);color:var(--text);background:var(--bg-alt)}}.prop-add-row svg{width:14px;height:14px}.prop-add-row-blue{border-color:#1472ff59;color:#1472ff!important}@media (hover:hover) and (pointer:fine){.prop-add-row-blue:hover{background:var(--status-new-bg);border-color:#1472ff;color:#1472ff!important}}.prop-add-row-solid-blue{border:1px solid #1472ff;color:#fff!important;background:#1472ff!important}@media (hover:hover) and (pointer:fine){.prop-add-row-solid-blue:hover{border-color:#0e5fd8;color:#fff!important;background:#0e5fd8!important}}.tenant-hdr-btn{border-radius:var(--r-s);border:1.5px solid var(--border-s);background:var(--card);color:var(--text-dim);cursor:pointer;transition:background var(--t), border-color var(--t), color var(--t);align-items:center;gap:8px;padding:8px 14px;font-size:12.5px;font-weight:700;display:inline-flex}@media (hover:hover) and (pointer:fine){.tenant-hdr-btn:hover{color:#fff;background:#1472ff;border-color:#1472ff}}.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}@media (hover:hover) and (pointer:fine){.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-occupied{background:var(--occupied-bg);color:var(--occupied)}.occupancy-chip.is-vacant{color:var(--text-faint)}.occupancy-chip.is-moving-in{background:var(--moving-in-bg);color:var(--moving-in)}.occupancy-chip.is-moving-out{background:var(--moving-out-bg);color:var(--moving-out)}.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-m);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}.deposit-room-badge{border-radius:var(--r-pill);background:var(--emergency);color:#fff;border:2px solid var(--card);justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.deposit-room-badge-clean{background:var(--status-complete)}@media (hover:hover) and (pointer:fine){.amenity-card:hover{box-shadow:var(--card-hover);border-color:#1472ff;transform:translateY(-1px)}.amenity-card:hover .amenity-card-icon,.amenity-card:hover .amenity-card-name{color:#1472ff}}.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}.amenity-card-photo{border-radius:50%;flex-shrink:0;width:52px;height:52px;margin-bottom:2px;position:relative;overflow:hidden}.amenity-card-photo img{object-fit:cover;width:100%;height:100%;transition:filter var(--t)}.amenity-card-photo-overlay{text-align:center;color:#fff;opacity:0;transition:opacity var(--t);background:#00000073;justify-content:center;align-items:center;padding:4px;font-size:9.5px;font-weight:700;line-height:1.2;display:flex;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.amenity-card:hover .amenity-card-photo img{filter:blur(2px)}.amenity-card:hover .amenity-card-photo-overlay{opacity:1}}.photo-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.photo-gallery-item{border-radius:var(--r-m);border:1.5px solid var(--border-s);overflow:hidden}.photo-gallery-photo{aspect-ratio:1;object-fit:cover;cursor:zoom-in;width:100%;display:block}.photo-gallery-info{padding:8px 10px}.photo-gallery-room{color:var(--text-faint);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:700}.photo-gallery-note{color:var(--text);margin-top:2px;font-size:12.5px;font-weight:600}.photo-gallery-meta{justify-content:space-between;align-items:baseline;margin-top:4px;display:flex}.photo-gallery-cost{color:var(--emergency);font-size:12px;font-weight:700}.photo-gallery-date{color:var(--text-faint);font-size:11px}.room-photo-count-badge{border-radius:var(--r-pill);background:var(--text);color:#fff;border:2px solid var(--card);justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.space-floor-tabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.space-floor-tab{border-radius:var(--r-pill);border:1.5px solid var(--border-s);background:var(--card);color:var(--text-dim);cursor:pointer;transition:background var(--t), border-color var(--t), color var(--t);padding:7px 16px;font-size:12.5px;font-weight:700}@media (hover:hover) and (pointer:fine){.space-floor-tab:hover{border-color:var(--text-faint);color:var(--text)}}.space-floor-tab.is-active{background:var(--status-new);border-color:var(--status-new);color:#fff}.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}@media (hover:hover) and (pointer:fine){.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}@media (hover:hover) and (pointer:fine){.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}@media (hover:hover) and (pointer:fine){.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-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-l);padding:18px 20px}.reports-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px;display:grid}.reports-grid-donut,.reports-grid-2,.reports-grid-source{gap:14px;margin-bottom:14px;display:grid}.reports-grid-donut{grid-template-columns:1fr 300px}.reports-grid-2{grid-template-columns:1fr 1fr}.reports-grid-source{grid-template-columns:220px 1fr}@media (max-width:860px){.reports-grid-donut,.reports-grid-2,.reports-grid-source{grid-template-columns:1fr}}.reports-table-wrap{overflow-x:auto}.prop-empty{color:var(--text-dim);padding:12px 0 8px;font-size:13.5px}.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}@media (hover:hover) and (pointer:fine){.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}@media (hover:hover) and (pointer:fine){.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}.btn-blue{border-radius:var(--r-m);background:var(--status-new);color:#fff;cursor:pointer;transition:opacity var(--t);box-sizing:border-box;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:11px 16px;font-size:13px;font-weight:700;display:flex}@media (hover:hover) and (pointer:fine){.btn-blue:hover{opacity:.85}}.btn-outline-sm{border:1.5px solid var(--border-s);border-radius:var(--r-m);background:var(--card);color:var(--text-dim);cursor:pointer;transition:border-color var(--t), color var(--t);box-sizing:border-box;justify-content:center;align-items:center;gap:6px;width:100%;padding:11px 16px;font-size:13px;font-weight:700;display:flex}.btn-outline-sm:active{color:#1472ff;border-color:#1472ff}@media (hover:hover) and (pointer:fine){.btn-outline-sm:hover{color:#1472ff;border-color:#1472ff}}.btn-outline-blue{border-radius:var(--r-s);color:#1472ff;cursor:pointer;transition:background var(--t), color var(--t);background:#fff;border:1.5px solid #1472ff;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:13.5px;font-weight:700;text-decoration:none;display:inline-flex}.btn-outline-blue:active{color:#fff;background:#1472ff}@media (hover:hover) and (pointer:fine){.btn-outline-blue:hover{color:#fff;background:#1472ff}}.btn-outline-blue:disabled{border-color:var(--border-s);color:var(--text-faint);cursor:not-allowed;background:#fff}@media (hover:hover) and (pointer:fine){.btn-outline-blue:disabled:hover{color:var(--text-faint);background:#fff}}.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}@media (hover:hover) and (pointer:fine){.qr-btn:hover{border-color:var(--accent);color:var(--accent)}}.qr-trigger-btn{background:var(--bg);color:#1472ff;cursor:pointer;transition:background var(--t), color var(--t);border:1.5px solid #1472ff;border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}@media (hover:hover) and (pointer:fine){.qr-trigger-btn:hover{color:#fff;background:#1472ff}}.prop-modal--qr{max-width:360px}.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--urgent.is-active{color:#b71c1c;background:#fdecea;border-color:#f44336}.prop-dropdown-menu{z-index:60;background:var(--bg);border:1.5px solid var(--border-s);border-radius:var(--r-s);min-width:160px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 6px 20px #0000001f}.prop-dropdown-menu button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:10px 14px;font-size:13px;font-weight:600;display:block}@media (hover:hover) and (pointer:fine){.prop-dropdown-menu button:hover{background:var(--bg-alt)}}.prop-dropdown-menu button+button{border-top:1px solid var(--border)}.prop-page-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.prop-page-title{text-align:center;min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:20px;font-weight:700;overflow:hidden}.prop-page-title-group{flex:1;justify-content:center;align-items:center;gap:14px;min-width:0;display:flex}.prop-page-title-photo{flex-shrink:0;width:52px;height:52px}.prop-page-title-text{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:20px;font-weight:700;overflow:hidden}@media (max-width:640px){.prop-back-btn,.prop-edit-toggle,.prop-header-icon-btn{width:32px;height:32px}.prop-back-btn svg{width:16px;height:16px}.prop-page-title,.prop-page-title-text{font-size:16px}.prop-page-title-photo{width:40px;height:40px}.prop-page-title-group{gap:10px}}.unit-status-stack{flex-direction:column;align-items:stretch;gap:6px;width:100%;display:flex}.unit-status-box{text-align:center;border-radius:var(--r-s);background:var(--bg-deep);color:var(--text-dim);padding:7px 10px;font-size:12px;font-weight:700;display:block}.unit-status-box.is-occupied{background:var(--occupied-bg);color:var(--occupied)}.unit-status-box.is-vacant{color:var(--text-faint)}.unit-status-box.is-moving-in{background:var(--moving-in-bg);color:var(--moving-in)}.unit-status-box.is-moving-out{background:var(--moving-out-bg);color:var(--moving-out)}.unit-status-box.is-new{background:var(--status-new-bg);color:var(--status-new)}.unit-status-box.is-warning{background:var(--lease-attention-bg);color:var(--lease-attention)}.unit-status-box.is-overdue{background:var(--emergency-bg);color:var(--emergency)}.unit-status-box.is-unknown{background:var(--bg-deep);color:var(--text-faint)}.prop-edit-toggle{border-radius:var(--r-s);color:#1472ff;cursor:pointer;width:38px;height:38px;transition:opacity var(--t), background var(--t), border-color var(--t), color var(--t);background:#fff;border:1.5px solid #1472ff;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (hover:hover) and (pointer:fine){.prop-edit-toggle:hover{color:#fff;background:#1472ff;border-color:#1472ff}}.prop-edit-toggle.is-active{color:#fff;background:#1472ff;border-color:#1472ff}@media (hover:hover) and (pointer:fine){.prop-edit-toggle.is-active:hover{opacity:.85}}.prop-region-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}@media (min-width:901px){.prop-region-grid--fixed3{grid-template-columns:repeat(3,1fr)}}.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}@media (hover:hover) and (pointer:fine){.prop-region-card:hover{box-shadow:var(--card-hover);border-color:#1472ff}}.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}@media (hover:hover) and (pointer:fine){.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-occupancy{border-radius:var(--r-pill);background:var(--bg-deep);height:6px;margin-top:12px;display:flex;overflow:hidden}.prop-region-occupancy-seg{height:100%}.prop-region-occupancy-legend{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.prop-region-occupancy-legend-item{color:var(--text-dim);align-items:center;gap:5px;font-size:11px;font-weight:600;display:flex}.prop-region-occupancy-legend-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.prop-region-card-cta{color:var(--text-faint);transition:color var(--t);margin-top:12px;font-size:11.5px;font-weight:600}@media (hover:hover) and (pointer:fine){.prop-region-card:hover .prop-region-card-cta{color:#1472ff}}.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}@media (hover:hover) and (pointer:fine){.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:62;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}.prop-modal--wide{max-width:560px}@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)}@media (hover:hover) and (pointer:fine){.prop-search-clear:hover{color:var(--text)}}.prop-header-icon-btn{border-radius:var(--r-s);color:#1472ff;cursor:pointer;width:38px;height:38px;transition:background var(--t), border-color var(--t), color var(--t);background:#fff;border:1.5px solid #1472ff;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (hover:hover) and (pointer:fine){.prop-header-icon-btn:hover{color:#fff;background:#1472ff;border-color:#1472ff}}.prop-header-search-active{border:1.5px solid var(--border-s);border-radius:var(--r-pill);background:var(--bg);width:100%;color:var(--text-faint);align-items:center;gap:10px;padding:9px 14px;display:flex}.prop-header-search-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px}.prop-header-search-cancel{color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}@media (hover:hover) and (pointer:fine){.prop-header-search-cancel: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}@media (hover:hover) and (pointer:fine){.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}@media (hover:hover) and (pointer:fine){.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}@media (hover:hover) and (pointer:fine){.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-divider,.ticket-table thead{display:none}.ticket-table,.ticket-table tbody{width:100%;display:block}.ticket-table{padding-top:10px;margin-top:0!important}.ticket-table tr.ticket-row{box-sizing:border-box;background:var(--card);border-radius:var(--r-m);border:2px solid #0000;align-items:center;gap:10px;margin:0 0 10px;padding:11px 12px;display:flex}.ticket-table tr.ticket-row td{padding:0;display:block;background:0 0!important;border:none!important;border-radius:0!important}.ticket-table tr.ticket-row td:first-child{flex:1;min-width:0;max-width:none!important}.ticket-table tr.ticket-row td:nth-child(4){flex-shrink:0}.ticket-table tr.ticket-row td:nth-child(2),.ticket-table tr.ticket-row td:nth-child(3),.ticket-table tr.ticket-row td:nth-child(5),.ticket-table tr.ticket-row td:nth-child(6){display:none}.ticket-table tr.ticket-row.status-new{border-color:var(--status-new)}.ticket-table tr.ticket-row.status-scheduled{border-color:var(--status-sched)}.ticket-table tr.ticket-row.status-onhold{border-color:var(--status-hold)}.ticket-table tr.ticket-row.status-pending{border-color:var(--status-pending)}.ticket-table tr.ticket-row.status-closeout{border-color:var(--status-closeout)}.ticket-table tr.ticket-row.status-complete{border-color:var(--status-complete)}.ticket-table tr.ticket-row.status-cancelled{border-color:var(--status-cancelled)}.ticket-table tr.ticket-row.status-emergency,.ticket-table tr.ticket-row.is-emergency{border-color:var(--emergency)}.ticket-issue{font-size:13px}.ticket-issue-sub{font-size:11px}.rent-table thead{display:none}.rent-table{table-layout:fixed}.rent-table td:nth-child(2),.rent-table td:nth-child(3),.rent-table td:nth-child(4){display:none}.rent-table td:first-child{width:40%}.rent-table td:nth-child(5),.rent-table td:nth-child(6){width:30%}.doc-table thead{display:none}.doc-table{table-layout:fixed}.doc-table td:nth-child(2){display:none}.doc-table td:first-child{width:60%;max-width:none!important}.doc-table td:nth-child(3){width:40%}}.assistant-bar{left:0;right:0;bottom:calc(var(--kb-gap,22px) + var(--kb-inset,0px));transition:bottom .16s var(--ease);z-index:9502;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed}.assistant-bar-inner{pointer-events:auto;box-sizing:border-box;background:var(--card);width:100%;max-width:560px;min-height:52px;transition:border-radius .12s var(--ease), max-width .2s var(--ease), min-height .2s var(--ease), padding .2s var(--ease);border-radius:26px;align-items:flex-end;gap:4px;padding:7px 6px 7px 16px;animation:.48s cubic-bezier(.34,1.56,.64,1) both assistant-bar-enter,1.1s ease-out .42s 2 assistant-bar-pulse;display:flex;overflow:hidden;box-shadow:0 6px 24px #00000024,0 1px 4px #0000000f}@keyframes assistant-bar-enter{0%{opacity:0;transform:translateY(26px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes assistant-bar-pulse{0%{box-shadow:0 6px 24px #00000024,0 1px 4px #0000000f,0 0 #1472ff73}70%{box-shadow:0 6px 24px #00000024,0 1px 4px #0000000f,0 0 0 16px #1472ff00}to{box-shadow:0 6px 24px #00000024,0 1px 4px #0000000f,0 0 #1472ff00}}.assistant-bar-inner.is-attention{animation:.48s cubic-bezier(.34,1.56,.64,1) both assistant-bar-enter,1.1s ease-out .42s 2 assistant-bar-pulse,1.1s ease-out 2 assistant-bar-attention;box-shadow:0 6px 24px #00000024,0 1px 4px #0000000f,0 0 0 1.5px #1472ff}@keyframes assistant-bar-attention{0%{box-shadow:0 6px 24px #00000024,0 1px 4px #0000000f,0 0 0 1.5px #1472ff,0 0 #1472ff73}70%{box-shadow:0 6px 24px #00000024,0 1px 4px #0000000f,0 0 0 1.5px #1472ff,0 0 0 16px #1472ff00}to{box-shadow:0 6px 24px #00000024,0 1px 4px #0000000f,0 0 0 1.5px #1472ff,0 0 #1472ff00}}@media (prefers-reduced-motion:reduce){.assistant-bar-inner,.assistant-bar-inner.is-attention{animation:none}}.assistant-bar-inner.is-recording{padding-left:6px;padding-right:6px}.assistant-bar-toggle.is-cancel{background:var(--bg-deep);color:var(--text-dim)}@media (hover:hover) and (pointer:fine){.assistant-bar-toggle.is-cancel:hover{background:var(--border-s);color:var(--text)}}.assistant-bar-inner.is-collapsed{border-radius:999px;justify-content:center;align-items:center;max-width:108px;min-height:36px;padding:0 14px}.assistant-bar-toggle{width:38px;height:38px;color:var(--text-faint);transition:background var(--t);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (hover:hover) and (pointer:fine){.assistant-bar-toggle:hover{background:var(--bg-deep);color:var(--text)}.assistant-bar-mic:hover{color:#1472ff}}.assistant-bar-input{box-sizing:border-box;max-height:158px;color:var(--text);resize:none;background:0 0;border:none;outline:none;flex:1;padding:9px 4px;font-family:inherit;font-size:13.5px;line-height:20px;overflow-y:hidden}.assistant-bar-input:disabled{opacity:.6}.assistant-bar-input::placeholder{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.assistant-bar-input.has-suggestion::placeholder{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.assistant-bar-tab-hint{cursor:pointer;transition:color var(--t), border-color var(--t);border:1px solid var(--border-s);color:var(--text-faint);background:0 0;border-radius:5px;flex-shrink:0;align-self:center;padding:2px 6px;font-family:inherit;font-size:10.5px;font-weight:600;line-height:14px}@media (hover:hover) and (pointer:fine){.assistant-bar-tab-hint:hover{color:#1472ff;border-color:#1472ff}}.assistant-bar-send{color:#fff;width:38px;height:38px;transition:opacity var(--t);background:#1472ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (hover:hover) and (pointer:fine){.assistant-bar-send:hover{opacity:.85}}.assistant-bar-send.is-stop{color:#fff;background:#1472ff}.assistant-bar-collapsed-label{width:100%;height:100%;color:var(--text-dim);white-space:nowrap;cursor:pointer;transition:color var(--t);background:0 0;border:none;justify-content:center;align-items:center;gap:6px;font-size:12.5px;font-weight:600;animation:1.1s ease-out .42s 2 assistant-bar-label-pulse;display:flex}@keyframes assistant-bar-label-pulse{0%,to{color:var(--text-dim)}50%{color:#1472ff}}@media (prefers-reduced-motion:reduce){.assistant-bar-collapsed-label{animation:none}}@media (hover:hover) and (pointer:fine){.assistant-bar-collapsed-label:hover{color:#1472ff}}.assistant-panel{--drag-x:0px;--drag-y:0px;left:50%;bottom:calc(var(--kb-gap,22px) + 58px + var(--kb-inset,0px));z-index:9501;box-sizing:border-box;width:min(560px,100vw - 32px);max-height:min(75vh, calc(100vh - 136px - var(--kb-inset,0px)));background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-l);transform:translate(calc(-50% + var(--drag-x)), var(--drag-y));transition:border-color var(--t), box-shadow .16s var(--ease), transform .3s cubic-bezier(.34, 1.2, .64, 1), opacity .16s var(--ease);cursor:grab;flex-direction:column;display:flex;position:fixed;box-shadow:0 10px 32px #00000029,0 2px 8px #0000000f}@media (min-width:900px){.assistant-panel.is-left,.assistant-panel.is-right{width:clamp(320px,33vw,460px);max-height:calc(100vh - 194px);transform:translate(var(--drag-x), var(--drag-y));top:104px;bottom:auto}.assistant-panel.is-left{left:16px}.assistant-panel.is-right{left:auto;right:16px}.assistant-panel.is-left.is-hidden,.assistant-panel.is-right.is-hidden{transform:translate(var(--drag-x), calc(var(--drag-y) + 10px)) scale(.98)}}.assistant-panel.is-loading{border-color:#1472ff}.assistant-panel.is-hidden{opacity:0;pointer-events:none;transform:translate(calc(-50% + var(--drag-x)), calc(var(--drag-y) + 10px)) scale(.98)}.assistant-panel.is-dragging{z-index:9503;cursor:grabbing;-webkit-user-select:none;user-select:none;transition:border-color var(--t), box-shadow .16s var(--ease);box-shadow:0 18px 48px #00000038,0 4px 12px #00000014}.assistant-panel.is-flip{transition:none}.assistant-panel.is-settle{transition:border-color var(--t), box-shadow .16s var(--ease), transform .2s cubic-bezier(.2, .8, .2, 1), opacity .16s var(--ease)}.assistant-panel textarea,.assistant-panel input{cursor:text}.assistant-panel button,.assistant-panel label{cursor:pointer}.assistant-panel-tag{border-radius:var(--r-pill);background:var(--card);color:#1472ff;touch-action:none;-webkit-user-select:none;user-select:none;transition:opacity .3s var(--ease);border:1.5px solid #1472ff;padding:3px 10px;font-size:11.5px;font-weight:700;line-height:16px;position:absolute;bottom:calc(100% + 6px);left:10px;box-shadow:0 2px 8px #00000014}.assistant-panel-tag.is-loading{animation:1.2s ease-in-out infinite assistant-panel-tag-pulse}@keyframes assistant-panel-tag-pulse{0%,to{opacity:1}50%{opacity:.45}}.assistant-panel-actions{transition:opacity .14s var(--ease);gap:6px;padding-bottom:6px;display:flex;position:absolute;bottom:100%;right:10px}.assistant-panel-actions button{background:var(--card);width:24px;height:24px;color:var(--text-dim);transition:color var(--t);border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #0000001f}.assistant-panel-actions button.is-done{color:#1472ff}@media (hover:hover) and (pointer:fine){.assistant-panel:not(:hover) .assistant-panel-actions{opacity:0;pointer-events:none}.assistant-panel-actions button:hover{color:var(--text)}.assistant-panel:not(:hover):not(.is-dragging) .assistant-panel-tag.is-idle{opacity:0}}@media (prefers-reduced-motion:reduce){.assistant-panel{transition:border-color var(--t)}.assistant-panel-tag.is-loading{animation:none}}.assistant-panel .assistant-log{scrollbar-width:none;min-height:0;padding:14px 16px 16px}.assistant-panel .assistant-log::-webkit-scrollbar{display:none}.assistant-panel-ghost{z-index:9500;box-sizing:border-box;border-radius:var(--r-l);pointer-events:none;background:#1472ff0f;border:2px dashed #1472ff;width:min(560px,100vw - 32px);max-height:min(75vh,100vh - 136px);position:fixed;bottom:80px;left:50%;transform:translate(-50%)}@media (min-width:900px){.assistant-panel-ghost.is-left,.assistant-panel-ghost.is-right{width:clamp(320px,33vw,460px);max-height:calc(100vh - 194px);top:104px;bottom:auto;transform:none}.assistant-panel-ghost.is-left{left:16px}.assistant-panel-ghost.is-right{left:auto;right:16px}}.assistant-bubble-response{color:var(--text);padding:4px;font-size:13.5px;line-height:1.5}.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-thinking{align-items:center;gap:8px;padding:4px;display:flex}.assistant-thinking-mark{width:22px;height:22px}.assistant-thinking span{color:var(--text-faint);font-size:12.5px;font-style:italic}.assistant-thinking-centered{justify-content:center;padding:14px 4px}.assistant-thinking-centered .assistant-thinking-mark{width:44px;height:44px}.assistant-launch-pill{background:var(--card,#fff);color:#1472ff;white-space:nowrap;text-overflow:ellipsis;border:1px solid #1472ff47;border-radius:999px;max-width:min(420px,86vw);padding:5px 13px;font-size:12.5px;font-weight:600;animation:.22s ease-out both assistant-pill-in,1.6s ease-in-out .22s infinite assistant-pill-pulse;display:inline-block;overflow:hidden;box-shadow:0 4px 14px #1472ff1f}@keyframes assistant-pill-in{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:none}}@keyframes assistant-pill-pulse{0%,to{opacity:1}50%{opacity:.55}}.assistant-fs-working{align-items:center;gap:8px;padding:4px;display:flex}@media (prefers-reduced-motion:reduce){.assistant-launch-pill{animation:none}}.assistant-launch{left:0;right:0;bottom:calc(var(--kb-gap,22px) + var(--kb-inset,0px) + 66px);z-index:9501;pointer-events:none;flex-direction:column;align-items:center;gap:8px;animation:.42s cubic-bezier(.2,.9,.3,1.25) both assistant-launch-rise;display:flex;position:fixed}.assistant-launch-mark{filter:drop-shadow(0 4px 10px #1472ff40);width:46px;height:46px}@keyframes assistant-launch-rise{0%{opacity:0;transform:translateY(54px)scale(.35)}60%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.assistant-launch{animation:none}}.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-upload-card{border:2px solid #1472ff}.assistant-approval-text{margin-bottom:8px;font-size:13px;font-weight:600}.assistant-approval-edit{resize:vertical;border:1px solid var(--border-s);border-radius:var(--r-s);width:100%;color:var(--text);background:var(--card);margin-bottom:8px;padding:8px 10px;font-family:inherit;font-size:13px}.assistant-approval-edit:focus{border-color:#1472ff;outline:none}.assistant-approval-actions{flex-wrap:wrap;gap:6px;display:flex}.assistant-approval-actions button{border-radius:var(--r-s);color:#fff;background:#1472ff;border:1px solid #0000;flex:1;min-width:120px;padding:6px 10px;font-size:12.5px;font-weight:700}.assistant-approval-actions button:disabled{opacity:.5;cursor:not-allowed}.assistant-approval-actions button.is-deny{background:var(--card);border-color:var(--border-s);color:var(--text-dim)}.assistant-upload-btn{border-radius:var(--r-pill);color:#fff;cursor:pointer;background:#1472ff;justify-content:center;align-items:center;padding:6px 14px;font-size:12.5px;font-weight:700;display:inline-flex}.assistant-bar-expand{width:38px;height:38px;color:var(--text-faint);transition:background var(--t), color var(--t);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (hover:hover) and (pointer:fine){.assistant-bar-expand:hover{background:var(--bg-deep);color:#1472ff}}.assistant-fullscreen{top:0;left:0;right:0;bottom:var(--kb-inset,0px);z-index:9495;background:var(--bg);flex-direction:column;display:flex;position:fixed}.assistant-fullscreen-speaker{z-index:1;position:absolute;top:14px;right:62px}.assistant-fullscreen-speaker button{width:34px;height:34px;color:var(--text-dim);background:var(--bg);transition:background var(--t);border-radius:50%;justify-content:center;align-items:center;display:flex}.assistant-fullscreen-speaker button.is-on,.assistant-panel-actions button.is-on{color:#1472ff}.assistant-fullscreen-close{z-index:1;width:34px;height:34px;color:var(--text-dim);background:var(--bg);transition:background var(--t);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;right:20px}@media (hover:hover) and (pointer:fine){.assistant-fullscreen-close:hover{background:var(--bg-deep)}}.assistant-fullscreen-body{flex-direction:column;flex:1;gap:10px;width:100%;max-width:720px;margin:0 auto;padding:60px 20px 120px;display:flex;overflow-y:auto}.assistant-fullscreen-empty{color:#1472ff;letter-spacing:-.01em;text-align:center;padding:40px 0;font-size:22px;font-weight:700}.assistant-fs-msg{border-radius:var(--r-m);white-space:pre-wrap;max-width:80%;padding:10px 14px;font-size:13.5px;line-height:1.5}.assistant-fs-msg.is-user{color:#fff;background:#1472ff;align-self:flex-end}.assistant-fs-msg.is-assistant{background:var(--bg-deep);color:var(--text);align-self:flex-start}.assistant-fs-msg.is-error{background:var(--emergency-bg);color:var(--emergency);align-self:flex-start;font-weight:600}.home-empty{color:var(--text-faint);padding:24px 0;font-size:14px}.today-unit-search{width:100%;margin-bottom:20px;position:relative}.today-unit-search>svg{width:16px;height:16px;color:var(--text-faint);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.today-unit-search>input{box-sizing:border-box;border:1.5px solid var(--border-s);border-radius:var(--r-m);background:var(--card);width:100%;color:var(--text);padding:13px 16px 13px 40px;font-size:14.5px}.today-unit-search>input:focus{border-color:#1472ff;outline:none}.today-unit-search-results{z-index:30;background:var(--bg);border:1.5px solid var(--border-s);border-radius:var(--r-m);max-height:320px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 20px #0000001f}.today-unit-search-result{cursor:pointer;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;font-size:13.5px;display:flex}.today-unit-search-result:last-child{border-bottom:none}@media (hover:hover) and (pointer:fine){.today-unit-search-result:hover{background:var(--bg-deep)}}.today-unit-search-result-unit{color:var(--text);font-weight:700}.today-unit-search-result-complex{color:var(--text-faint);font-size:12.5px}.today-unit-search-empty{color:var(--text-faint);padding:14px 16px;font-size:13px}.page-loading{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:64px 0;display:flex}.page-loading-mark{width:72px;height:72px}.page-loading-text{color:var(--text-faint);font-size:15px;font-weight:500}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-pulse{background:linear-gradient(90deg, var(--bg-deep) 25%, var(--border) 37%, var(--bg-deep) 63%);border-radius:var(--r-s);background-size:300% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-line{height:13px}.skeleton-circle{border-radius:50%;flex-shrink:0}.list-skeleton{flex-direction:column;gap:10px;padding:4px 0;display:flex}.list-skeleton-row{background:var(--card);border:1px solid var(--border);border-radius:var(--r-m);align-items:center;gap:14px;padding:14px 16px;display:flex}.list-skeleton-avatar{width:38px;height:38px}.list-skeleton-lines{flex-direction:column;flex:1;gap:8px;display:flex}.list-skeleton-lines .skeleton-line:first-child{width:60%}.list-skeleton-lines .skeleton-line:last-child{width:35%}.list-skeleton-trailing{border-radius:var(--r-pill);width:64px;height:22px}.detail-skeleton{padding:4px 0}.detail-skeleton-title{width:45%;height:22px;margin-bottom:10px}.detail-skeleton-subtitle{width:30%;height:14px;margin-bottom:22px}.detail-skeleton-tabs{gap:10px;margin-bottom:20px;display:flex}.detail-skeleton-tab{border-radius:var(--r-pill);width:84px;height:30px}.detail-skeleton-section-title{width:120px;height:14px;margin-bottom:14px}.detail-skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:26px;display:grid}.detail-skeleton-card{border-radius:var(--r-m);height:72px}.today-stats{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;margin:-4px 0 20px;padding-top:4px;display:flex;overflow-x:auto}.today-stats::-webkit-scrollbar{display:none}.today-stat-chip{border-radius:var(--r-pill);background:var(--bg-deep);color:var(--text-dim);cursor:pointer;white-space:nowrap;transition:border-color var(--t), transform var(--t);border:1px solid #0000;flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:600;display:flex}@media (hover:hover) and (pointer:fine){.today-stat-chip:hover{border-color:var(--border-s);transform:translateY(-1px)}}.today-stat-chip-count{color:#1472ff;font-weight:800}.today-stat-chip.is-alarm{border-color:#dc262659;animation:2.2s ease-in-out infinite stat-alarm-pulse}.today-card-actions-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.today-columns{grid-template-columns:1fr 1fr;align-items:start;gap:32px;display:grid}.today-feed{flex-direction:column;gap:10px;display:flex}.today-feed-row{background:var(--card);border:1.5px solid var(--border-s);border-radius:var(--r-m);cursor:pointer;transition:box-shadow var(--t), border-color var(--t);align-items:stretch;gap:14px;padding:14px 16px;display:flex}@media (hover:hover) and (pointer:fine){.today-feed-row:hover{box-shadow:var(--card-hover);border-color:var(--border)}}.today-feed-row-bar{border-radius:2px;flex-shrink:0;width:4px}.today-feed-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.today-feed-row-text{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.today-feed-row-headline{letter-spacing:-.01em;font-size:14.5px;font-weight:800}.today-feed-row-detail{color:var(--text-dim);font-size:13px;line-height:1.5}.today-feed-row-highlight{color:#1472ff}.today-quick{cursor:default;flex-direction:column;gap:7px;display:flex}.today-quick-form{flex-direction:column;gap:8px;max-width:420px;display:flex}.today-pick-search{box-sizing:border-box;border:1px solid var(--border-s);border-radius:var(--r-s);background:var(--card);width:100%;color:var(--text);font:inherit;padding:8px 10px;font-size:13.5px}.today-pick-search:focus{border-color:#1472ff;outline:none}.today-pick-list{border:1px solid var(--border);border-radius:var(--r-s);flex-direction:column;max-height:240px;display:flex;overflow-y:auto}.today-pick-group{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding:6px 10px 4px;font-size:11px;font-weight:700}.today-pick-row{border:none;border-top:1px solid var(--border);text-align:left;cursor:pointer;font:inherit;color:var(--text);background:0 0;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 10px;display:flex}.today-pick-group+.today-pick-row,.today-pick-list>.today-pick-row:first-child{border-top:none}.today-pick-row:hover:not(:disabled){background:#1472ff0f}.today-pick-name{font-size:13.5px;font-weight:600}.today-pick-meta{color:var(--text-dim);white-space:nowrap;font-size:12px}.today-pick-check{border:1.5px solid var(--border-s);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:800;display:inline-flex}.today-pick-row{justify-content:flex-start}.today-pick-row .today-pick-meta{margin-left:auto}.today-pick-row.is-selected{background:#1472ff0f}.today-pick-row.is-selected .today-pick-check{background:#1472ff;border-color:#1472ff}.today-send-step{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:8px;font-size:11.5px;font-weight:700}.offer-list{flex-direction:column;gap:8px;display:flex}.offer-row{border:1px solid var(--border);border-radius:var(--r-s);background:var(--card);flex-direction:column;gap:7px;padding:9px 11px;display:flex}.offer-row-main{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.offer-row-name{color:var(--text);font-size:13.5px;font-weight:700}.offer-row-when{color:#1472ff;font-size:13px;font-weight:600}.offer-row-kind{color:var(--status-pending);background:var(--status-pending-bg);border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:700}.offer-row-amount{color:var(--text-dim);font-size:13px;font-weight:700}.offer-row-actions{flex-wrap:wrap;gap:6px;display:flex}.offer-waiting{color:var(--text-dim);font-size:12.5px}.today-pick-empty{color:var(--text-dim);padding:10px;font-size:13px}.today-flash{border-radius:var(--r-s);background:var(--status-complete-bg);color:var(--status-complete);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:9px 14px;font-size:13.5px;font-weight:600;display:flex}.today-flash-btn{border-radius:var(--r-s);color:#fff;font:inherit;cursor:pointer;background:#1472ff;border:none;flex-shrink:0;padding:5px 11px;font-size:12.5px;font-weight:700}.today-notice-warn{border-radius:var(--r-s);color:var(--text);background:#1472ff0d;border:1px solid #1472ff59;padding:8px 10px;font-size:12.5px;font-weight:600;line-height:1.45}.today-send-modal{padding:16px}.today-feed-row-time{color:var(--text-faint);white-space:nowrap;flex-shrink:0;padding-top:2px;font-size:11.5px;font-weight:600}.today-feed-row-expand{opacity:0;grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .2s,opacity .16s,margin-top .2s;display:grid}.today-feed-row-expand-inner{flex-direction:column;gap:7px;min-height:0;display:flex;overflow:hidden}.today-feed-row.is-expanded .today-feed-row-expand{opacity:1;grid-template-rows:1fr;margin-top:5px}@media (hover:hover) and (pointer:fine){.today-feed-row:hover .today-feed-row-expand{opacity:1;grid-template-rows:1fr;margin-top:5px}}.today-feed-row.is-collapsed .today-feed-row-expand{opacity:0;grid-template-rows:0fr;margin-top:0}@media (max-width:600px){.today-feed-row{flex-wrap:wrap}.today-feed-row-time{order:-1;width:100%}}.show-more-btn{text-align:center;border:1.5px dashed var(--border-s);border-radius:var(--r-m);width:100%;color:var(--text-faint);cursor:pointer;transition:border-color var(--t), color var(--t);background:0 0;margin-top:10px;padding:10px;font-size:12.5px;font-weight:700;display:block}@media (hover:hover) and (pointer:fine){.show-more-btn:hover{color:#1472ff;border-color:#1472ff}}a.today-card-btn{align-items:center;text-decoration:none;display:inline-flex}.today-card-btn{border-radius:var(--r-s);background:var(--card);color:#1472ff;cursor:pointer;transition:border-color var(--t), color var(--t), background var(--t), opacity var(--t);border:1.5px solid #1472ff;padding:8px 14px;font-size:12.5px;font-weight:700}@media (hover:hover) and (pointer:fine){.today-card-btn:hover{background:#1472ff14}}.today-card-btn:active{color:#fff;background:#1472ff}.today-card-btn-primary{color:#fff;background:#1472ff;border-color:#1472ff}@media (hover:hover) and (pointer:fine){.today-card-btn-primary:hover{opacity:1;color:#fff;background:#1472ff;border-color:#1472ff}}@media (max-width:860px){.today-columns{grid-template-columns:1fr;gap:0}}.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:inset 0 0 0 2px #1472ff}.today-item-check{cursor:pointer;accent-color:#1472ff;flex-shrink:0;width:15px;height:15px;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}@media (hover:hover) and (pointer:fine){.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}@media (hover:hover) and (pointer:fine){.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,.today-item-insight{color:var(--text-dim);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{z-index:40;color:#fff;border-radius:var(--r-pill);background:#1472ff;align-items:center;gap:8px;padding:6px 6px 6px 14px;font-size:13px;font-weight:600;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 24px #1472ff52}.today-ai-bar-count{background:#fff3;border-radius:50%;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:800;display:flex}.today-ai-bar button{color:#1472ff;border-radius:var(--r-pill);cursor:pointer;background:#fff;border:none;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:700;display:inline-flex}@media (max-width:900px){.today-layout{grid-template-columns:1fr}.today-rail{position:static}}.turnover-list{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.turnover-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-m);padding:14px 16px}.turnover-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.turnover-card-title{color:var(--text);font-size:13.5px;font-weight:700}.turnover-card-badges{flex-wrap:wrap;gap:6px;display:flex}.turnover-cancel-link{cursor:pointer;color:var(--text-faint);transition:color var(--t);background:0 0;border:none;padding:0;font-size:11.5px;font-weight:700;text-decoration:underline}.turnover-cancel-link:active{color:#1472ff}@media (hover:hover) and (pointer:fine){.turnover-cancel-link:hover{color:#1472ff}}.turnover-status-chip{border-radius:var(--r-pill);text-transform:capitalize;white-space:nowrap;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:700}.turnover-status-scheduled{background:var(--bg-deep);color:var(--text-dim)}.turnover-status-in_progress{background:var(--status-new-bg);color:var(--status-new)}.turnover-status-signed{background:var(--status-complete-bg);color:var(--status-complete)}.turnover-status-awaiting{background:var(--status-hold-bg);color:var(--status-hold)}.turnover-status-pending{background:var(--bg-deep);color:var(--text-dim)}.turnover-status-started{background:var(--status-new-bg);color:var(--status-new)}.turnover-status-critical{background:var(--emergency-bg);color:var(--emergency)}.turnover-card-meta{color:var(--text-dim);margin-bottom:10px;font-size:12px}.turnover-card-actions{flex-wrap:wrap;gap:6px;display:flex}.turnover-action-btn{border-radius:var(--r-s);border:1.5px solid var(--border-s);background:var(--card);color:var(--text-dim);cursor:pointer;white-space:nowrap;transition:border-color var(--t), color var(--t);padding:6px 12px;font-size:12px;font-weight:700}@media (hover:hover) and (pointer:fine){.turnover-action-btn:hover{border-color:var(--text-faint);color:var(--text)}}.turnover-action-btn:disabled{opacity:.6;cursor:not-allowed}.turnover-action-complete{background:var(--status-complete-bg);color:var(--status-complete);border:none}.turnover-widget-btn{text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:var(--r-m);width:100%;transition:border-color var(--t), box-shadow var(--t);padding:14px 16px;display:block}@media (hover:hover) and (pointer:fine){.turnover-widget-btn:hover{box-shadow:var(--card-hover);border-color:#1472ff}}.turnover-widget-meta{color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;font-size:11.5px;display:flex}.turnover-progress-track{border-radius:var(--r-pill);background:var(--bg-deep);width:100%;height:7px;margin-top:8px;overflow:hidden}.turnover-progress-fill{border-radius:var(--r-pill);background:#1472ff;height:100%;transition:width .2s}.turnover-progress-fill.is-complete{background:var(--status-complete)}.turnover-progress-fill.is-warning{background:var(--status-hold)}.turnover-menu-section{margin-bottom:20px}.turnover-menu-section-row{justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.reminder-row{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:flex-start;gap:10px;padding:9px 0;font-size:12.5px;display:flex}.reminder-row:last-child{border-bottom:none}.reminder-row-tag{text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);margin-bottom:2px;font-size:10px;font-weight:700}.reminder-row-remove{color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:16px;line-height:1}@media (hover:hover) and (pointer:fine){.reminder-row-remove:hover{color:var(--emergency)}}.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}@media (hover:hover) and (pointer:fine){.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}.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;justify-content:space-between;align-items:center;padding:14px 16px;font-size:11.5px;font-weight:700;display:flex}.chats-new-btn{border-radius:var(--r-pill);color:#fff;letter-spacing:normal;text-transform:none;cursor:pointer;background:#1472ff;padding:5px 10px;font-size:11px;font-weight:700}@media (hover:hover) and (pointer:fine){.chats-new-btn:hover{opacity:.88}}.chats-new-phone-input{width:100%;color:var(--text);background:0 0;border:none;outline:none;font-size:14.5px;font-weight:700}.chats-new-phone-input::placeholder{color:var(--text-faint);font-weight:500}.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}@media (hover:hover) and (pointer:fine){.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-kind-badge{border-radius:var(--r-pill);letter-spacing:.02em;vertical-align:middle;margin-left:6px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.chats-kind-badge.is-staff{color:#1472ff;background:#1472ff1f}.chats-kind-badge.is-vendor{color:#7c3aed;background:#7c3aed1f}.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}.floor-pin-menu-row{border-radius:var(--r-s);text-align:left;width:100%;transition:background var(--t);align-items:center;gap:10px;padding:8px;display:flex}@media (hover:hover) and (pointer:fine){.floor-pin-menu-row:hover{background:var(--bg-alt)}}.floor-pin.is-loading{animation:1s ease-out infinite floor-pin-loading}@keyframes floor-pin-loading{0%{box-shadow:0 1px 4px #00000059, 0 0 0 0 color-mix(in srgb, var(--pin-color,#1472ff) 55%, transparent);opacity:1}50%{opacity:.7}to{box-shadow:0 1px 4px #00000059, 0 0 0 12px color-mix(in srgb, var(--pin-color,#1472ff) 0%, transparent);opacity:1}}@media (prefers-reduced-motion:reduce){.floor-pin.is-loading{opacity:.6;animation:none}}.assistant-waveform{flex:1;justify-content:flex-end;align-items:center;gap:3px;min-width:0;height:38px;padding:0 6px;display:flex;overflow:hidden}.assistant-waveform span{background:#1472ff;border-radius:2px;flex-shrink:0;width:3px;min-height:4px;transition:height 60ms linear}.assistant-waveform-status{color:#1472ff;flex:1;justify-content:center;align-items:center;min-width:0;height:38px;font-size:13px;font-weight:600;animation:1.2s ease-in-out infinite assistant-bar-label-pulse;display:flex}.assistant-fullscreen-waveform{border:1px solid var(--border-s);border-radius:var(--r-m);background:var(--card);flex:1;min-width:0;min-height:44px;padding:3px 8px;display:flex}.jl-picker{flex-direction:column;gap:10px;display:flex}.jl-picker-title{color:var(--text);font-size:13.5px;font-weight:700}.jl-picker-loading,.jl-picker-hint{color:var(--text-dim);font-size:12.5px;line-height:1.45}.jl-picker-primary{border-radius:var(--r-m);color:#fff;text-overflow:ellipsis;white-space:nowrap;width:100%;transition:opacity var(--t);background:#1472ff;padding:11px 14px;font-size:13px;font-weight:700;overflow:hidden}.jl-picker-primary:disabled{opacity:.75;cursor:default}.jl-picker-label{color:var(--text-faint);margin-top:2px;font-size:12px;font-weight:700}.jl-picker-row{flex-wrap:wrap;gap:8px;display:flex}.jl-picker-row button{border-radius:var(--r-m);border:1.5px solid var(--border-s);background:var(--card);min-width:84px;color:var(--text-dim);transition:border-color var(--t), color var(--t);flex:1 1 0;padding:10px;font-size:13px;font-weight:700}@media (hover:hover) and (pointer:fine){.jl-picker-primary:not(:disabled):hover{opacity:.88}.jl-picker-row button:hover{color:#1472ff;border-color:#1472ff}}.jl-picker-done{color:var(--status-complete);font-size:12.5px;font-weight:600}.jl-picker-error{color:var(--emergency);background:var(--emergency-bg);border-radius:var(--r-m);padding:8px 10px;font-size:12.5px}.jl-picker-finish{border:1.5px solid var(--border);color:var(--text-dim);background:0 0;border-radius:8px;align-self:flex-end;padding:8px 14px;font-size:13px}@media (hover:hover) and (pointer:fine){.jl-picker-finish:hover{border-color:var(--text-dim);color:var(--text)}}.assistant-approval .jl-picker{gap:8px}.assistant-approval .jl-picker-primary{border-radius:var(--r-s);padding:7px 10px;font-size:12.5px}.assistant-approval .jl-picker-row button{border-radius:var(--r-s);padding:6px 10px;font-size:12.5px}.assistant-approval .jl-picker-title{font-size:13px}.send-picker-overlay{z-index:1400;animation:fadeIn .16s var(--ease) both;background:#00000061;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.send-picker-dialog{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-l);width:100%;max-width:420px;animation:modalIn .18s var(--ease) both;padding:20px;box-shadow:0 20px 60px #00000038}.msg-draft{flex-direction:column;gap:8px;display:flex}.msg-draft-subject,.msg-draft-body{box-sizing:border-box;border:1px solid var(--border-s);border-radius:var(--r-s);width:100%;font:inherit;color:var(--text);background:var(--card);outline:none;padding:8px 10px;font-size:13px}.msg-draft-subject{font-weight:600}.msg-draft-body{resize:vertical;line-height:1.45}.msg-draft-subject:focus,.msg-draft-body:focus{border-color:#1472ff}.msg-draft .jl-picker{margin-top:4px}.assignee-card{border-radius:var(--r-m);background:var(--card);border:1.5px solid #1472ff;flex-direction:column;gap:12px;padding:14px;display:flex}.assignee-card-head{align-items:flex-start;gap:12px;display:flex}.assignee-card-avatar{color:#fff;background:#1472ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:13.5px;font-weight:700;display:flex;position:relative}.assignee-card-avatar>svg{width:20px;height:20px}.assignee-card-badge{color:#1472ff;width:18px;height:18px;box-shadow:0 0 0 2px var(--card), 0 1px 3px #0000002e;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-3px;right:-3px}.assignee-card-badge svg{width:11px;height:11px}.assignee-card-who{flex:1;min-width:0}.assignee-card-name{color:var(--text);font-size:15px;font-weight:700;line-height:1.25}.assignee-card-role{color:var(--text-dim);margin-top:1px;font-size:12.5px}.assignee-card-status{align-items:center;gap:6px;margin-top:5px;font-size:12.5px;font-weight:600;display:flex}.assignee-card-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.assignee-card-unassign{color:var(--text-faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:11.5px;font-weight:600;text-decoration:underline}.assignee-card-unassign:disabled{cursor:not-allowed}.assignee-card-actions{align-items:stretch;gap:8px;display:flex}.assignee-card-btn{border-radius:var(--r-m);color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;min-width:0;transition:opacity var(--t);background:#1472ff;border:none;flex:1 1 0;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:13px;font-weight:700;text-decoration:none;display:flex;overflow:hidden}.assignee-card-btn svg{flex-shrink:0;width:15px;height:15px}.assignee-card-btn:disabled{opacity:.55;cursor:not-allowed}.assignee-card-btn.is-icon{background:var(--card);color:#1472ff;width:42px;transition:background var(--t), color var(--t);border:1.5px solid #1472ff;flex:none;padding:8.5px 0}.assignee-card-btn.is-icon:active,.assignee-card-btn.is-icon[aria-expanded=true]{color:#fff;opacity:1;background:#1472ff}@media (hover:hover) and (pointer:fine){.assignee-card-btn.is-icon:not(:disabled):hover{color:#fff;opacity:1;background:#1472ff}.assignee-card-btn:not(:disabled):hover{opacity:.88}}.assignee-card-more{display:flex;position:relative}.assignee-card-menu{z-index:5;background:var(--card);border:1px solid var(--border);border-radius:var(--r-m);flex-direction:column;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #00000029}.assignee-card-menu button{text-align:left;border-radius:var(--r-s);color:var(--text);transition:background var(--t);padding:8px 10px;font-size:13px;font-weight:600}@media (hover:hover) and (pointer:fine){.assignee-card-menu button:hover{background:var(--bg-alt)}}.assignee-card-menu-note{color:var(--text-dim);padding:8px 10px;font-size:12.5px}.assignee-card-note{color:var(--text-dim);font-size:12.5px;line-height:1.45}.assignee-card-done{color:var(--status-complete);font-size:12.5px;font-weight:600}.assignee-card-time{border-radius:var(--r-s);background:#1472ff0f;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.assignee-card-time-head{color:var(--text);font-size:13px;line-height:1.4}.assignee-card-time-head strong{font-weight:700}.assignee-card-time-note{color:var(--text-dim);font-size:12.5px;font-style:italic;line-height:1.4}.assignee-card-time-actions{gap:8px;display:flex}.assignee-card-time-actions .assignee-card-btn{padding:8px;font-size:12.5px}.assignee-card-btn.is-outline{background:var(--card);color:#1472ff;border:1.5px solid #1472ff;padding:6.5px 8px}@media (hover:hover) and (pointer:fine){.assignee-card-btn.is-outline:not(:disabled):hover{opacity:1;color:#fff;background:#1472ff}}.assignee-card-time-link{color:#1472ff;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12.5px;font-weight:600}.tenant-strip{border:1px solid var(--border);border-radius:var(--r-s);background:var(--bg);align-items:flex-start;gap:10px;margin-top:8px;padding:8px 10px;display:flex}.tenant-strip.is-behind{background:#1472ff0d;border-color:#1472ff59}.tenant-strip-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tenant-strip-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:10.5px;font-weight:700}.tenant-strip-text{color:var(--text-dim);font-size:12.5px;font-weight:600;line-height:1.4}.tenant-strip-behind{color:#1472ff;font-size:12px;font-weight:600}.tenant-strip-btn{border-radius:var(--r-s);border:1px solid var(--border-s);background:var(--card);color:#1472ff;font:inherit;cursor:pointer;flex-shrink:0;padding:5px 10px;font-size:12px;font-weight:700}.tenant-strip.is-behind .tenant-strip-btn{color:#fff;background:#1472ff;border-color:#1472ff}.tenant-strip-add{flex-direction:column;gap:6px;margin-top:4px;display:flex}.tenant-strip-picks{flex-wrap:wrap;gap:6px;display:flex}.tenant-strip-pick{border:1px solid var(--border-s);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:600}.tenant-strip-pick:hover:not(:disabled){color:#1472ff;border-color:#1472ff}.tenant-strip-check{color:var(--text-dim);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.tenant-strip-error{color:var(--emergency);font-size:12px}@media (max-width:640px){.tenant-strip{flex-direction:column;align-items:stretch;gap:8px}.tenant-strip-btn{width:100%;padding:9px 10px;font-size:13px}.detail-panel-lg .detail-header{position:relative}.detail-panel-lg .detail-header>div:first-child{flex:100%;min-width:0}.detail-panel-lg .detail-header>div:last-child{position:absolute;top:18px;right:20px}.detail-panel-lg .detail-header-id,.detail-panel-lg .detail-header-title{padding-right:76px}}.job-timeline{margin-top:10px}.job-timeline-toggle{font:inherit;color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:700}.job-timeline-list{border-left:2px solid var(--border);flex-direction:column;gap:6px;margin:8px 0 0;padding:0 0 0 10px;list-style:none;display:flex}.job-timeline-item{gap:10px;font-size:12.5px;line-height:1.4;display:flex}.job-timeline-item.is-hold .job-timeline-detail{color:var(--status-hold);font-weight:600}.job-timeline-date{width:46px;color:var(--text-faint);flex-shrink:0;font-weight:600}.job-timeline-detail{color:var(--text)}.assignee-offers{color:var(--text-dim);margin-top:8px;font-size:12.5px;line-height:1.5}.assignee-offers-name{font:inherit;color:#1472ff;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.assignee-offers-name:hover{text-decoration:underline}.assignee-card-propose{flex-direction:column;gap:8px;display:flex}.assignee-card-propose-row{gap:8px;display:flex}.assignee-card-propose input,.assignee-card-propose textarea{box-sizing:border-box;border:1px solid var(--border-s);border-radius:var(--r-s);min-width:0;font:inherit;color:var(--text);background:var(--card);padding:7px 9px;font-size:13px}.assignee-card-propose-row input{flex:1}.assignee-card-propose textarea{resize:vertical;width:100%}.assignee-card-propose-windows{gap:6px;display:flex}.assignee-card-propose-windows button{border-radius:var(--r-s);border:1.5px solid var(--border-s);background:var(--card);color:var(--text-dim);flex:1;padding:6px 4px;font-size:12.5px;font-weight:600}.window-hours{margin-top:1px;font-size:11.5px;font-weight:700;display:block}.assignee-card-propose-windows button.is-active{color:#1472ff;background:#1472ff0f;border-color:#1472ff}.sz-banners{top:calc(env(safe-area-inset-top,0px) + 68px);z-index:9700;pointer-events:none;flex-direction:column;gap:8px;width:min(440px,100vw - 24px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.sz-banner{pointer-events:auto;background:var(--card);border-radius:var(--r-m);border:1.5px solid #1472ff;align-items:flex-start;gap:4px;animation:.26s cubic-bezier(.34,1.3,.64,1) both sz-banner-in;display:flex;box-shadow:0 12px 32px #00000029,0 2px 6px #0000000f}.sz-banner.is-urgent{border-color:var(--status-hold)}.sz-banner.is-leaving{animation:sz-banner-out .2s var(--ease) both}@keyframes sz-banner-in{0%{opacity:0;transform:translateY(-12px)scale(.98)}to{opacity:1;transform:none}}@keyframes sz-banner-out{to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.sz-banner,.sz-banner.is-leaving{animation:none}}.sz-banner-main{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:flex-start;gap:10px;min-width:0;padding:11px 4px 11px 12px;display:flex}.sz-banner-icon{border-radius:7px;flex-shrink:0;width:28px;height:28px}.sz-banner-text{flex-direction:column;gap:2px;min-width:0;display:flex}.sz-banner-title{color:var(--text);font-size:13.5px;font-weight:700}.sz-banner-body{color:var(--text-dim);font-size:12.5px;line-height:1.4}.sz-banner-close{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:6px 6px 0 0;display:flex}@media (hover:hover) and (pointer:fine){.sz-banner-close:hover{background:var(--bg-deep);color:var(--text)}}.sz-setting-row{justify-content:space-between;align-items:flex-start;gap:16px;padding:4px 0 14px;display:flex}.sz-setting-row+.sz-setting-row{border-top:1px solid var(--border);padding-top:14px}.sz-setting-title{color:var(--text);font-size:14px;font-weight:700}.sz-setting-sub{color:var(--text-dim);max-width:46ch;margin-top:3px;font-size:12.5px;line-height:1.45}.sz-toggle{background:var(--border-s);cursor:pointer;width:44px;height:26px;transition:background var(--t);border:none;border-radius:999px;flex-shrink:0;padding:0;position:relative}.sz-toggle.is-on{background:#1472ff}.sz-toggle:disabled{opacity:.45;cursor:not-allowed}.sz-toggle-knob{width:20px;height:20px;transition:transform .18s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.sz-toggle.is-on .sz-toggle-knob{transform:translate(18px)}.assistant-speaking{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:1;justify-content:center;align-items:center;min-width:0;height:38px;padding:0;display:flex}.speaking-dots{align-items:center;gap:6px;height:32px;display:flex}.speaking-dots span{background:#1472ff;border-radius:999px;width:7px;height:8px;transition:height 60ms linear;box-shadow:0 0 10px #1472ff4d}
