@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*,*:before,*:after{box-sizing:border-box}html{font-size:17px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease;line-height:1.6;background-color:var(--bg-body);background-image:none!important;color:var(--text-primary);min-height:100vh;font-feature-settings:"cv11","ss01"}:root{--bg-body: #f8fafc;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #94a3b8;--text-inverted: #ffffff;--accent-primary: #4f46e5;--accent-primary-hover: #4338ca;--accent-secondary: #e0e7ff;--surface-background: #ffffff;--surface-solid-background: #ffffff;--surface-border: #e2e8f0;--surface-subtle: #f8fafc;--surface-subtle-hover: #f1f5f9;--surface-hover: #f8fafc;--shadow: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04), 0 0 0 1px rgba(0, 0, 0, .02);--shadow-hover: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04), 0 0 0 1px rgba(0, 0, 0, .02);--scroll-thumb: rgba(0, 0, 0, .2);--scroll-thumb-hover: rgba(0, 0, 0, .4);--color-success: #059669;--color-success-bg: #ecfdf5;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-info: #2563eb;--color-info-bg: #eff6ff;--nav-active-color: #4f46e5;--nav-active-bg: #eef2ff}[data-theme=dark]{--bg-body: #0f172a;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-inverted: #0f172a;--accent-primary: #818cf8;--accent-primary-hover: #6366f1;--accent-secondary: #1e1b4b;--surface-background: #1e293b;--surface-solid-background: #1e293b;--surface-border: #334155;--surface-subtle: #0f172a;--surface-subtle-hover: #334155;--surface-hover: #334155;--shadow: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-hover: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 10px 10px -5px rgba(0, 0, 0, .4);--color-success: #34d399;--color-success-bg: rgba(16, 185, 129, .1);--color-warning: #fbbf24;--color-warning-bg: rgba(245, 158, 11, .1);--color-danger: #f87171;--color-danger-bg: rgba(239, 68, 68, .1);--color-info: #60a5fa;--color-info-bg: rgba(59, 130, 246, .1);--nav-active-color: #c7d2fe;--nav-active-bg: rgba(99, 102, 241, .1)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin:0;padding:0;letter-spacing:-.015em}button,a{-webkit-tap-highlight-color:transparent;color:inherit;text-decoration:none}ul,li{list-style:none;padding:0;margin:0}.card{background:var(--surface-background);border-radius:1.25rem;border:1px solid var(--surface-border);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);z-index:1}.app-container{width:100%;height:100vh;display:flex;background-color:var(--bg-body);padding:1rem;gap:1rem;overflow:visible}.main-content{flex:1;display:flex;flex-direction:column;overflow:visible;padding:0;gap:1rem}.main-content>main{flex:1;overflow-y:auto;padding:0 .5rem}.page-container{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:1.5rem}.sidebar{width:80px;background:var(--surface-background);border:1px solid var(--surface-border);border-radius:1.25rem;display:flex;flex-direction:column;height:100%;box-shadow:var(--shadow);z-index:20;overflow:visible}.sidebar-header{display:flex;flex-direction:column;align-items:center;justify-content:center;height:auto;padding:1.5rem 1rem;border-bottom:1px solid var(--surface-border);flex-shrink:0;gap:.75rem}.sidebar-logo svg{color:var(--accent-primary);width:2.5rem;height:2.5rem}.sidebar-title{color:var(--text-primary);font-size:1.1rem;font-weight:800;text-align:center;line-height:1.2;letter-spacing:-.02em}.nav-group{margin-bottom:.5rem}.nav-group-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;cursor:pointer;color:var(--text-secondary);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;transition:color .2s ease}.nav-group-header:hover{color:var(--text-primary);background-color:var(--surface-hover)}.nav-group-title{display:flex;align-items:center;gap:.5rem}.nav-group-toggle-icon{width:1rem;height:1rem;transition:transform .3s ease}.nav-group-content{display:flex;flex-direction:column;gap:.25rem}.sidebar-nav-item{text-decoration:none;margin:0 .5rem;overflow:visible}.sidebar-nav-item a{display:flex;flex-direction:row;align-items:center;justify-content:center;padding:.65rem;font-size:.9rem;font-weight:600;border-radius:.75rem;transition:all .2s ease;color:var(--text-secondary);background:none;border:none;cursor:pointer;width:100%;gap:0;text-align:center;overflow:visible;position:relative}.sidebar-nav-item a:hover{background:var(--accent-secondary);color:var(--accent-primary)}.sidebar-nav-item a.active{background:var(--nav-active-bg);color:var(--nav-active-color);font-weight:700}.sidebar-nav-item a svg{width:1.25rem;height:1.25rem;flex-shrink:0;color:inherit}.sidebar-nav-label{display:none}.header{display:flex;align-items:center;justify-content:flex-end;padding:0 1.5rem;height:4rem;flex-shrink:0;z-index:10;background:var(--surface-background);border:1px solid var(--surface-border);border-radius:1.25rem;box-shadow:var(--shadow)}.header-button{padding:.5rem;background:var(--surface-background);border-radius:9999px;color:var(--text-secondary);border:1px solid var(--surface-border);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}.header-button:hover{background:var(--surface-subtle-hover);color:var(--text-primary)}.header-button svg{width:1.25rem;height:1.25rem}.header-profile-avatar{background:var(--accent-primary);color:var(--text-inverted);width:2.25rem;height:2.25rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.menu-item{display:block;width:100%;text-align:left;padding:.5rem 1rem;font-size:.9rem;color:var(--text-secondary);background:none;border:none;cursor:pointer;font-weight:500}.menu-item:hover{background:var(--surface-subtle-hover);color:var(--text-primary)}.btn{padding:.5rem 1rem;border-radius:.625rem;font-weight:600;transition:all .2s ease;border:1px solid transparent;cursor:pointer;font-size:.9rem;letter-spacing:.01em}.btn:active{transform:translateY(1px)}.btn-primary{background-color:var(--accent-primary);color:var(--text-inverted);border-color:transparent;box-shadow:0 2px 4px #4f46e533}.btn-primary:hover{background-color:var(--accent-primary-hover);box-shadow:0 4px 6px #4f46e54d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background-color:var(--color-danger);color:var(--text-inverted)}.btn-danger:hover{background-color:#b91c1c}.form-label{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.35rem}input,select,textarea{background-color:var(--surface-background);border:1px solid var(--surface-border);color:var(--text-primary);border-radius:.625rem;padding:.6rem .85rem;width:100%;font-size:.95rem;font-family:inherit;transition:all .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-secondary)}::placeholder{color:var(--text-tertiary)}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:1.1rem;height:1.1rem;border:1px solid var(--surface-border);border-radius:.3rem;cursor:pointer;position:relative;transition:all .2s;flex-shrink:0}input[type=checkbox]:hover{border-color:var(--accent-primary)}input[type=checkbox]:checked{background-color:var(--accent-primary);border-color:var(--accent-primary)}input[type=checkbox]:checked:after{content:"✓";position:absolute;color:#fff;font-size:.8rem;font-weight:800;top:50%;left:50%;transform:translate(-50%,-50%)}.badge{padding:.25rem .6rem;font-size:.75rem;font-weight:700;border-radius:.375rem;text-transform:uppercase;letter-spacing:.05em;display:inline-block}.badge-success{background-color:var(--color-success-bg);color:var(--color-success)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background-color:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background-color:var(--color-info-bg);color:var(--color-info)}.badge-paid{background-color:var(--color-success-bg);color:var(--color-success)}.badge-late{background-color:var(--color-danger-bg);color:var(--color-danger)}.badge-pending{background-color:var(--color-warning-bg);color:var(--color-warning)}.badge-new{background-color:var(--color-info-bg);color:var(--color-info)}.badge-approved{background-color:#cffafe;color:#0891b2}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;grid-auto-flow:dense}@media(min-width:768px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.dashboard-grid{grid-template-columns:repeat(6,1fr)}}.rental-overview-layout{display:flex;flex-direction:column;gap:1.5rem;height:100%}@media(min-width:1024px){.rental-overview-layout{display:grid;grid-template-columns:4fr 6fr;align-items:start;height:calc(100vh - 8rem)}}.widget-controls{background-color:var(--surface-subtle);padding:.5rem .75rem;border-bottom:1px solid var(--surface-border);display:flex;justify-content:space-between;align-items:center}.widget-resize-btn{width:1.5rem;height:1.5rem;border-radius:.25rem}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100%;background-color:var(--bg-body);position:fixed;top:0;left:0;z-index:1000}.role-switcher{position:relative;display:flex;align-items:center;justify-content:center;background-color:var(--surface-subtle);border-radius:9999px;padding:.25rem}.role-switcher button{background:none;border:none;color:var(--text-secondary)}.role-switcher-indicator{position:absolute;left:.25rem;top:.25rem;width:calc(50% - .25rem);height:calc(100% - .5rem);background-color:var(--accent-primary);border-radius:9999px;box-shadow:var(--shadow);transform:translate(var(--indicator-pos, 0));transition:transform .3s ease-in-out}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.animate-slide-in-right{animation:slide-in-right .3s ease-out forwards}@keyframes fade-in-up{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-fade-in-up{animation:fade-in-up .3s ease-out forwards}@keyframes pulse{50%{opacity:.5}}.spinner{width:1rem;height:1rem;border-radius:50%;border:2px solid rgba(79,70,229,.2);border-top-color:var(--accent-primary);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-top:.75rem}.calendar-day-header{text-align:center;font-size:.8rem;font-weight:700;color:var(--text-tertiary);padding-bottom:.5rem;text-transform:uppercase}.calendar-day{height:2rem;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;border-radius:.5rem;cursor:pointer;position:relative;color:var(--text-primary);transition:background-color .2s ease,color .2s ease;padding:0}.calendar-day:hover{background-color:var(--surface-subtle-hover)}.calendar-day.not-current-month{color:var(--text-tertiary);opacity:.5}.calendar-day.today{background-color:var(--surface-subtle);font-weight:800;color:var(--accent-primary)}.calendar-day.selected{background-color:var(--accent-primary);color:var(--text-inverted)}.event-dot{width:4px;height:4px;border-radius:50%;background-color:var(--accent-primary);margin-top:2px}.selected .event-dot{background-color:var(--text-inverted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;z-index:50;display:flex;justify-content:center;align-items:center;padding:1rem}.modal-card{background:var(--surface-background);border-radius:1.25rem;box-shadow:var(--shadow);width:100%;max-width:32rem;overflow:hidden}.modal-content{background:var(--surface-background);border-radius:1.25rem;box-shadow:var(--shadow);width:100%;max-width:32rem;padding:1.5rem;position:relative}.modal-footer{background-color:var(--surface-subtle);padding:.75rem 1.5rem;display:flex;justify-content:flex-end;align-items:center;gap:.5rem;border-top:1px solid var(--surface-border)}.consent-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;z-index:100;display:flex;justify-content:center;align-items:center;padding:1rem}.consent-modal-card{background:var(--surface-background);border-radius:1.25rem;box-shadow:var(--shadow);width:100%;max-width:24rem;overflow:hidden}.lessor-stats-bar{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:1.5rem;margin-bottom:1.5rem}.lessor-stat-card{flex:1;min-width:150px;background:var(--surface-background);border:1px solid var(--surface-border);border-radius:1.25rem;padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column}.stat-title{font-size:.875rem;color:var(--text-secondary);font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.025em}.stat-value{font-size:1.875rem;font-weight:800;color:var(--text-primary);line-height:1;letter-spacing:-.025em}.link{color:var(--accent-primary);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.messages-container{height:100%;display:flex;flex-direction:row;background:var(--surface-background)}.folders-panel,.threads-panel,.message-view-panel{display:flex;flex-direction:column;height:100%}.folders-panel{width:240px;flex-shrink:0;border-right:1px solid var(--surface-border);background-color:var(--surface-subtle)}.threads-panel{width:340px;flex-shrink:0;border-right:1px solid var(--surface-border)}.message-view-panel{flex-grow:1}.panel-header{padding:1rem;font-size:1.1rem;font-weight:700;color:var(--text-primary);border-bottom:1px solid var(--surface-border);flex-shrink:0;text-transform:capitalize}.panel-body{overflow-y:auto;flex-grow:1}.new-message-button-container{padding:1rem}.folder-link{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;margin:.25rem 0;font-size:.95rem;font-weight:500;border-radius:.375rem;cursor:pointer;transition:all .2s ease;color:var(--text-secondary)}.folder-link:hover{background-color:var(--surface-hover);color:var(--text-primary)}.folder-link.active{background-color:var(--accent-secondary);color:var(--accent-primary-hover);font-weight:600}.folder-count{font-size:.8rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;background-color:var(--surface-border)}.thread-item{padding:1.25rem;border-bottom:1px solid var(--surface-border);cursor:pointer;transition:background-color .2s ease;position:relative}.thread-item:hover{background-color:var(--surface-hover)}.thread-item.active{background-color:var(--accent-secondary)}.unread-dot{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);width:.5rem;height:.5rem;border-radius:9999px;background-color:var(--accent-primary)}.thread-content{padding-left:.5rem}.thread-header{display:flex;justify-content:space-between;align-items:baseline}.thread-participant{font-weight:600;color:var(--text-primary);font-size:.95rem}.thread-timestamp{font-size:.8rem;color:var(--text-tertiary)}.thread-subject{font-weight:500;color:var(--text-secondary);margin:.25rem 0;font-size:.9rem}.thread-subject.unread{font-weight:700;color:var(--text-primary)}.thread-preview{font-size:.85rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-view-header{padding:1rem 1.5rem;border-bottom:1px solid var(--surface-border);flex-shrink:0}.message-subject{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.message-participants{font-size:.9rem;color:var(--text-secondary)}.message-view-body{flex-grow:1;overflow-y:auto;padding:1.5rem;background-color:var(--surface-subtle)}.message-view-footer{flex-shrink:0;padding:1rem 1.5rem;border-top:1px solid var(--surface-border);background-color:var(--surface-background)}.message-bubble-wrapper{display:flex;flex-direction:column;margin-bottom:1rem;max-width:75%}.message-bubble-wrapper.user{align-items:flex-end;margin-left:auto}.message-bubble-wrapper.other{align-items:flex-start;margin-right:auto}.message-bubble{padding:.75rem 1rem;border-radius:1rem;font-size:.95rem;line-height:1.5;box-shadow:0 1px 2px #0000000d}.message-bubble-wrapper.user .message-bubble{background-color:var(--accent-primary);color:var(--text-inverted);border-bottom-right-radius:.25rem}.message-bubble-wrapper.other .message-bubble{background-color:var(--surface-background);color:var(--text-primary);border:1px solid var(--surface-border);border-bottom-left-radius:.25rem}.message-meta{font-size:.75rem;color:var(--text-tertiary);margin-top:.25rem;padding:0 .25rem}.reply-form{display:flex;gap:.75rem}.reply-input{flex-grow:1;padding:.6rem 1rem;border-radius:9999px;border:1px solid var(--surface-border)}.empty-view{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);text-align:center}.file-browser-container{padding:0;position:relative;height:calc(100vh - 120px);display:flex;overflow:hidden;border:1px solid var(--surface-border);border-radius:1.25rem;box-shadow:var(--shadow);background:var(--surface-background)}.file-tree-panel{width:250px;flex-shrink:0;border-right:1px solid var(--surface-border);background-color:var(--surface-subtle);padding:1rem;overflow-y:auto}.file-grid-panel{flex-grow:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column}.file-tree-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:.375rem;cursor:pointer;color:var(--text-secondary);font-size:.9rem;transition:all .2s ease;-webkit-user-select:none;user-select:none}.file-tree-item:hover{background-color:var(--surface-hover);color:var(--text-primary)}.file-tree-item.active{background-color:var(--accent-secondary);color:var(--accent-primary);font-weight:600}.tree-toggle{width:1rem;height:1rem;display:flex;alignItems:center;justifyContent:center;cursor:pointer;color:var(--text-tertiary);border-radius:.25rem}.tree-toggle:hover{background-color:var(--surface-border);color:var(--text-secondary)}.tree-indent{padding-left:1.25rem}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1.5rem}.file-card{border:1px solid var(--surface-border);border-radius:.75rem;overflow:hidden;cursor:pointer;transition:all .2s ease;background:var(--surface-background);display:flex;flex-direction:column;align-items:center;text-align:center;aspect-ratio:1 / 1.1;position:relative}.file-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--accent-primary)}.file-icon-area{flex:1;width:100%;display:flex;align-items:center;justify-content:center;background-color:var(--surface-subtle);border-bottom:1px solid var(--surface-border);padding:1rem}.file-info-area{padding:.75rem;width:100%}.file-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}.file-meta{font-size:.75rem;color:var(--text-tertiary);margin-top:.25rem}.item-name-btn{background:none;border:none;cursor:pointer;font-weight:600;padding:0;text-align:left;color:var(--text-primary);font-size:.95rem}.item-name-btn:hover{color:var(--accent-primary);text-decoration:underline}.file-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#4f46e50d;border:2px dashed var(--accent-primary);border-radius:.75rem;z-index:10;display:flex;alignItems:center;justifyContent:center;font-size:1.25rem;font-weight:700;color:var(--accent-primary)}.file-browser-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;alignItems:center;gap:1rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--surface-border)}.search-input-wrapper{position:relative;flex-grow:1;min-width:200px;max-width:400px}.search-input-wrapper svg{position:absolute;top:50%;left:.75rem;transform:translateY(-50%);color:var(--text-tertiary);width:1.2rem;height:1.2rem}.search-input-wrapper input{padding-left:2.5rem}.filter-controls{display:flex;gap:.75rem;flex-wrap:wrap}.star-button{background:none;border:none;cursor:pointer;padding:.25rem;color:var(--text-tertiary);border-radius:9999px;display:flex;alignItems:center;justifyContent:center}.star-button:hover{color:#fbbf24;background-color:var(--surface-subtle)}.star-button.starred{color:#f59e0b}.star-button.starred svg{fill:currentColor}.action-menu-dropdown{position:absolute;right:0;top:2rem;z-index:20;padding:.25rem 0;background:var(--surface-background);border-radius:.5rem;border:1px solid var(--surface-border);box-shadow:var(--shadow);width:10rem;animation:fade-in .1s ease-out forwards}.action-menu-item{display:block;width:100%;text-align:left;padding:.5rem 1rem;font-size:.85rem;color:var(--text-secondary);background:none;border:none;cursor:pointer}.action-menu-item:hover{background:var(--surface-hover);color:var(--text-primary)}.breadcrumb-link{background:none;border:none;cursor:pointer;font-weight:500;padding:.25rem;color:var(--text-secondary);font-size:.9rem}.breadcrumb-link:hover{color:var(--accent-primary)}.tenant-account-stats-container{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}@media(min-width:768px){.tenant-account-stats-container{flex-direction:row;justify-content:space-around;alignItems:center;gap:0}.tenant-account-stats-container>div{flex:1}.tenant-account-stats-container>div:not(:first-child){padding-left:1rem;margin-left:1rem;border-left:1px solid var(--surface-border)}}.ledger-summary-card{background-color:var(--surface-subtle);padding:1rem;border-radius:.5rem;text-align:center}.ledger-summary-label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.ledger-summary-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.running-balance{font-weight:600;color:var(--text-primary);font-size:.95rem}.running-balance.negative{color:var(--color-success)}.running-balance.positive{color:var(--color-danger)}.floorplan-container{position:relative;display:grid;grid-template-columns:2fr 1.5fr 1.5fr;grid-template-rows:1.5fr 1fr 1.5fr;grid-template-areas:"living-room kitchen bedroom-1" "living-room bathroom bedroom-1" "living-room office bedroom-2";gap:.25rem;background-color:var(--surface-subtle);padding:.5rem;border-radius:.5rem;aspect-ratio:4 / 3;min-height:300px}.floorplan-room{position:relative;background-color:var(--surface-background);border:1px solid var(--surface-border);border-radius:.25rem;cursor:pointer;transition:background-color .2s,border-color .2s;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;text-align:center;padding:.25rem;color:var(--text-primary)}.floorplan-room:hover{border-color:var(--accent-primary);background-color:var(--surface-hover)}.living-room{grid-area:living-room}.kitchen{grid-area:kitchen}.bedroom-1{grid-area:bedroom-1}.bedroom-2{grid-area:bedroom-2}.bathroom{grid-area:bathroom}.office{grid-area:office}.balcony{grid-area:balcony}.unit-rented{border-color:var(--color-success);background-color:var(--color-success-bg);color:#065f46}.unit-vacant{border-color:var(--surface-border);background-color:var(--surface-background);color:var(--text-secondary)}.unit-listed{border-color:var(--color-info);background-color:var(--color-info-bg);color:#1e40af}.unit-blocked{border-color:var(--color-warning);background-color:var(--color-warning-bg);color:#92400e}.floorplan-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8rem}.legend-item{display:flex;alignItems:center;gap:.5rem}.legend-dot{width:.5rem;height:.5rem;borderRadius:9999px}.floorplan-container.generic-layout{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));grid-template-rows:auto;grid-template-areas:none}.floorplan-container.generic-layout .floorplan-room{grid-area:auto!important}.ticket-marker-container{position:absolute;transform:translate(-50%,-50%);z-index:10;cursor:help}.ticket-marker{width:1rem;height:1rem;background-color:var(--color-danger);border-radius:9999px;border:2px solid white;animation:pulse 1.5s infinite;box-shadow:0 0 0 3px #dc354566}.tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.5rem;width:12rem;background-color:var(--text-primary);color:var(--text-inverted);font-size:.8rem;border-radius:.25rem;padding:.75rem;opacity:0;transition:opacity .3s;pointer-events:none;z-index:20}.tooltip-arrow{position:absolute;width:.5rem;height:.5rem;background-color:var(--text-primary);bottom:-.25rem;left:50%;transform:translate(-50%) rotate(45deg)}.group:hover .tooltip{opacity:1}.profile-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:1024px){.profile-grid{grid-template-columns:repeat(3,1fr)}.profile-grid .lg-col-span-2{grid-column:span 2 / span 2}}.profile-detail-item{display:flex;justify-content:space-between;alignItems:center;padding:.75rem 0;border-bottom:1px solid var(--surface-border)}.floating-chatbot-window{box-shadow:var(--shadow);border-radius:1rem;overflow:hidden;width:calc(100vw - 2.5rem);max-height:70vh}@media(min-width:640px){.floating-chatbot-window{width:24rem;max-width:24rem}}.toast{position:fixed;top:1rem;right:1rem;padding:1.25rem;border-radius:.5rem;box-shadow:var(--shadow-hover);z-index:9999;width:auto;max-width:26rem;color:var(--text-inverted);overflow:hidden}.toast-message{font-size:.95rem;font-weight:500;margin:0}.toast-progress-bar-bg{position:absolute;bottom:0;left:0;width:100%;height:4px;background-color:#ffffff4d}.toast-progress-bar{height:100%;background-color:#ffffffe6}.toast-info{background-color:#374151}.toast-success{background-color:var(--color-success)}.toast-error{background-color:var(--color-danger)}.contacts-grid,.reporting-grid,.properties-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.discover-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:1024px){.discover-grid{grid-template-columns:2fr 1fr}}.discover-filters{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.discover-filter-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:var(--surface-background);border:1px solid var(--surface-border);border-radius:9999px;font-size:.85rem;font-weight:500;color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:background-color .2s}.discover-filter-btn:hover{background-color:var(--surface-subtle)}.discover-card{display:flex;flex-direction:column;border:1px solid var(--surface-border);border-radius:1.25rem;padding:1rem;background-color:var(--surface-background);cursor:pointer;transition:all .2s ease;gap:1rem}@media(min-width:640px){.discover-card{flex-direction:row}}.discover-card:hover{box-shadow:var(--shadow-hover)}.discover-card.selected{border:2px solid var(--accent-primary);box-shadow:var(--shadow)}.discover-card-img{width:100%;aspect-ratio:4/3;background-size:cover;background-position:center;border-radius:.75rem}@media(min-width:640px){.discover-card-img{width:10rem;height:auto}}.discover-action-btn{padding:.5rem 1rem;border-radius:.5rem;font-size:.85rem;font-weight:700;flex:1;min-width:5rem}.discover-action-btn.accept{background-color:#10b9811a;color:var(--color-success)}.discover-action-btn.accept:hover{background-color:#10b98133}.discover-action-btn.decline{background-color:var(--surface-subtle);color:var(--text-secondary)}.discover-action-btn.decline:hover{background-color:var(--surface-border)}.discover-detail-panel{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:1rem;height:fit-content}.discover-nav-btn{width:2rem;height:2rem;border-radius:50%;background-color:#ffffffb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;line-height:1;color:#000}.discover-time-btn{padding:.75rem;border-radius:.5rem;border:1px solid var(--surface-border);background:var(--surface-background);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--text-primary)}.discover-time-btn:hover{border-color:var(--accent-primary)}.discover-time-btn.active{border:2px solid var(--accent-primary);background-color:var(--accent-secondary);color:var(--accent-primary)}.discover-time-btn.dashed{border-style:dashed;border-color:var(--text-tertiary);color:var(--text-secondary)}.discover-time-btn.dashed:hover{border-color:var(--accent-primary);color:var(--accent-primary)}
