:root{--bg:#f5f6fe;--bg-elevated:#ffffff;--ink:#0d0d1f;--ink-soft:#23233f;--muted:#5a5e7a;--line:rgba(46,47,227,0.15);--accent:#2e2fe3;--accent-hover:#2323b8;--accent-soft:#e6e7fc;--ink-surface:#ffffff;--ink-surface-2:#f5f6fe;--danger:#ed1c24;--cta:#ed1c24;--cta-hover:#b30f16;--cta-soft:#fde8e9;--warn:#b30f16;--radius:16px;--radius-lg:20px;--radius-pill:999px;--shadow:0 8px 28px rgba(13,13,31,0.06);--shadow-soft:0 4px 20px rgba(13,13,31,0.05);--shadow-sheet:0 -12px 40px rgba(13,13,31,0.12);--font-ui:var(--font-manrope),"Segoe UI","Helvetica Neue",Arial,sans-serif;--font-display:var(--font-manrope),"Segoe UI","Helvetica Neue",Arial,sans-serif;--ease-out:cubic-bezier(0.22,1,0.36,1);--mobile-bottom-nav-row-height:52px;--mobile-bottom-nav-pad-y:12px;--mobile-bottom-nav-height:calc((2 * var(--mobile-bottom-nav-row-height)) + var(--mobile-bottom-nav-pad-y) + 1px);--mobile-bottom-nav-offset:env(safe-area-inset-bottom,0px);--z-base:1;--z-sticky:2;--z-dropdown:40;--z-drawer:50;--z-sheet-backdrop:55;--z-sheet:60;--z-modal-backdrop:70;--z-modal:71;--z-modal-nested-backdrop:80;--z-modal-nested:81;--z-popover:85;--z-toast:90;--z-lightbox:95;--stage-new:#2e2fe3;--stage-contacted:#6b6ef0;--stage-qualified:#2323b8;--stage-viewing:#ed1c24;--stage-negotiation:#f0565c;--stage-won:#17178c;--stage-lost:#b30f16;--chart-track:#c9ccf5;--chart-plan:#23233f;--chart-fact:#2e2fe3;--chart-free:#6b6ef0;--chart-reserved:#f0565c;--chart-sold:#1e9e5a;--chart-income:#2e2fe3;--chart-expense:#ed1c24;--chart-net:#2323b8;--chart-allocated:#8a8ef5;--chart-remaining:#f5a3a6}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-ui);color:var(--ink);background-color:var(--bg);background-image:radial-gradient(ellipse at top left,rgba(46,47,227,.1),transparent 42%),radial-gradient(ellipse at bottom right,rgba(46,47,227,.05),transparent 48%),linear-gradient(180deg,#f7f8fe 0,var(--bg) 100%);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(46,47,227,.35);outline-offset:2px}.brand-display{font-weight:800}.brand-display,h1{font-family:var(--font-ui);letter-spacing:-.02em}h1{font-weight:700}.app-shell{display:grid;grid-template-columns:208px 1fr;height:100vh;height:100dvh;min-height:100vh;overflow:hidden}.sidebar{background:var(--bg-elevated);color:var(--ink);padding:16px 12px;display:flex;flex-direction:column;gap:12px;border-right:1px solid var(--line);box-shadow:var(--shadow-soft);height:100%;min-height:0;overflow:hidden;position:-webkit-sticky;position:sticky;top:0}.sidebar .nav{flex:1 1 auto;min-height:0;overflow-y:auto}.brand{display:flex;flex-direction:column;gap:6px}.brand span{display:block;font-family:var(--font-ui);font-size:.72rem;color:var(--muted);font-weight:500;margin-top:0;letter-spacing:0}.brand-logo{display:block;width:100%;height:auto;max-width:200px}.brand-logo--sidebar{max-width:152px}.brand-logo--topbar{max-width:148px;height:24px}.brand-logo--login{max-width:min(280px,100%);margin-bottom:8px}.brand-logo--drawer{max-width:168px;margin-bottom:4px}.nav a{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:10px;color:var(--muted);margin-bottom:2px;font-size:.9rem;line-height:1.25;transition:background .16s var(--ease-out),color .16s var(--ease-out)}.nav a:hover{color:var(--ink)}.nav a.active,.nav a:hover{background:var(--accent-soft)}.nav a.active{color:var(--accent-hover);font-weight:600}.nav-icon{width:18px;height:18px;flex:0 0 18px;display:block;opacity:.88}.bottom-nav a.active .nav-icon,.drawer-link.active .nav-icon,.nav a.active .nav-icon{opacity:1;color:var(--accent-hover)}.main{padding:20px 24px 40px;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.card.padded{padding:16px}.btn{border:none;border-radius:var(--radius-pill);padding:11px 18px;cursor:pointer;background:var(--accent);color:white;font-weight:600;transition:background .16s var(--ease-out),transform .16s var(--ease-out),box-shadow .16s var(--ease-out)}.btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 6px 18px rgba(46,47,227,.25)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--accent-soft);color:var(--accent-hover)}.btn.secondary:hover:not(:disabled){background:#d3d5fa;box-shadow:none}.btn.danger{background:var(--danger)}.btn.cta{background:var(--cta);color:white}.btn.cta:hover:not(:disabled){background:var(--cta-hover)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.input,.select,.textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 14px;background:white;transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out)}.input:focus,.select:focus,.textarea:focus{border-color:rgba(46,47,227,.45);box-shadow:0 0 0 3px rgba(46,47,227,.1);outline:none}.textarea{min-height:80px;resize:vertical}.label{display:block;font-size:.82rem;color:var(--muted);margin-bottom:6px}.field{margin-bottom:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.segmented{display:inline-flex;gap:2px;padding:3px;background:var(--accent-soft);border:1px solid var(--line);border-radius:999px}.segmented .tab{border:none;background:transparent;color:var(--muted)}.segmented .tab.active{background:var(--bg-elevated);color:var(--accent-hover);box-shadow:var(--shadow-soft)}.tab{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:white;cursor:pointer;transition:background .16s var(--ease-out),color .16s var(--ease-out)}.tab.active{background:var(--accent);border-color:var(--accent);color:white}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:.92rem}.table th{color:var(--muted);font-weight:600;background:var(--accent-soft)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:600;color:white}.filters{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;padding:12px;margin-bottom:12px}.filters-toggle{display:none;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:10px 4px;border:none;background:transparent;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}.filters-badge{color:var(--accent-hover);font-weight:750}.filters-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.filters-actions{display:flex;flex-wrap:wrap;gap:8px}.filters-actions .btn{min-height:44px}.tab-label-short{display:none}.fund-mode-tabs{flex-wrap:wrap}.show-mobile{display:none!important}.mobile-card-list{gap:8px;padding:4px}.mobile-card,.mobile-card-list{display:flex;flex-direction:column}.mobile-card{gap:4px;width:100%;text-align:left;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg-elevated);color:inherit;font:inherit;cursor:pointer;min-height:44px}.mobile-card:active{background:var(--accent-soft)}.mobile-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.mobile-card-meta{font-size:.82rem}.mobile-card-price{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.entrance-pager{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.entrance-chip{flex:1 1 auto;min-height:40px;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:var(--bg);font:inherit;font-size:.8rem;font-weight:650;color:var(--muted);cursor:pointer}.entrance-chip.active{background:var(--accent-soft);color:var(--accent-hover);border-color:rgba(46,47,227,.35)}.panel-layout{display:grid;grid-template-columns:1fr 380px;grid-gap:16px;gap:16px;align-items:start}.side-panel{position:-webkit-sticky;position:sticky;top:16px;padding:16px;max-height:calc(100vh - 40px);overflow:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.muted{color:var(--muted)}.error{color:var(--danger)}.sidebar-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);flex-shrink:0}.sidebar-user{font-size:.85rem;margin-bottom:8px;color:var(--muted)}.sidebar-logout{color:var(--ink)!important;border-color:var(--line)!important;border-radius:var(--radius-pill)!important}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 18% 12%,rgba(46,47,227,.16),transparent 42%),radial-gradient(ellipse at 88% 88%,rgba(46,47,227,.08),transparent 48%),linear-gradient(180deg,#f7f8fe 0,var(--bg) 100%)}.login-shell{width:min(440px,100%);display:grid;grid-template-columns:1fr;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--bg-elevated);box-shadow:var(--shadow)}.login-brand{padding:32px 28px 8px;color:var(--ink);display:flex;flex-direction:column;justify-content:flex-start;gap:10px;background:transparent}.login-brand h1{margin:0;font-size:clamp(1.8rem,4vw,2.2rem);color:var(--ink);line-height:1.1}.login-brand p{margin:0;max-width:36ch;color:var(--muted);font-size:.95rem;line-height:1.45}.login-card{width:100%;padding:16px 28px 32px;border:none;border-radius:0;box-shadow:none;background:transparent}.login-card h2{margin:0 0 6px;font-family:var(--font-ui);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--accent-hover)}.complex-list{display:grid;grid-gap:8px;gap:8px}.complex-item{text-align:left;width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:#fff;cursor:pointer;transition:border-color .16s var(--ease-out),background .16s var(--ease-out),box-shadow .16s var(--ease-out)}.complex-item:hover{border-color:rgba(46,47,227,.45);background:var(--accent-soft);box-shadow:var(--shadow-soft)}.complex-item strong{display:block;font-size:1rem}.select-modal{width:min(480px,100%);padding:28px 24px;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow)}.select-modal h2{margin:0;font-family:var(--font-ui);font-size:1.45rem;font-weight:700;letter-spacing:-.02em;color:var(--accent-hover)}.modal-backdrop{position:fixed;inset:0;background:rgba(8,22,12,.28);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-backdrop--nested{z-index:var(--z-modal-nested-backdrop)}.modal{width:min(520px,100%);max-height:calc(100dvh - 40px);margin:auto;padding:22px;background:white;border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow);animation:sheetIn .22s var(--ease-out);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;position:relative;z-index:var(--z-modal)}.modal-backdrop--nested .modal{z-index:var(--z-modal-nested)}@keyframes sheetIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes unitSheetIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.chess-wrap{overflow:auto;padding:12px 12px 16px;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 18px),transparent)}.chess-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;left:0;min-width:min(100%,520px)}.chess-legend{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.chess-legend-item{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;font-size:.78rem;color:var(--muted);font-weight:600;white-space:nowrap;padding:4px 10px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--line);background:color-mix(in srgb,var(--cell-bg,#2e2fe3) var(--tint,12%),#ffffff);border-color:color-mix(in srgb,var(--cell-bg,#2e2fe3) 45%,#ffffff)}.chess-legend-item.status-free{--tint:10%}.chess-legend-item.status-reserved{--tint:12%}.chess-legend-item.status-sold{--tint:22%}.chess-legend-item.status-not-for-sale{--tint:35%}.chess-legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.chess-stats{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:.82rem;color:var(--muted)}.chess-stats strong{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chess-stats-sep{opacity:.45}.chess-building{margin-bottom:22px}.chess-building-title{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.chess-block,.chess-entrance{margin-bottom:16px}.chess-block-title{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;font-weight:700;font-size:.95rem;color:var(--ink)}.chess-block-sub{font-weight:500;font-size:.78rem;opacity:.6}.chess-block-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.entrance-header{position:-webkit-sticky;position:sticky;top:8px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding:8px 10px;border-radius:14px;background:var(--accent-soft);border:1px solid var(--line);font-size:.85rem;font-weight:700;color:var(--ink);min-width:max-content}.entrance-free{font-weight:600;font-size:.78rem;color:var(--accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chess-grid{display:grid;grid-gap:6px;gap:6px;min-width:max-content}.chess-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(68px,1fr);grid-gap:6px;gap:6px;align-items:stretch}.floor-label{position:-webkit-sticky;position:sticky;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;padding:6px 4px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--line);color:var(--ink);box-shadow:1px 0 0 rgba(46,47,227,.05)}.floor-num{font-size:.9rem;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.floor-unit{font-size:.65rem;text-transform:lowercase}.entrance-label,.floor-unit{color:var(--muted);font-weight:600}.entrance-label{font-size:.78rem;min-width:48px}.chess-cell{--cell-bg:var(--accent);--tint:12%;min-height:52px;border-radius:10px;border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.6);color:var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:center;cursor:pointer;font-size:.78rem;font-weight:700;position:relative;padding:6px 4px;background:color-mix(in srgb,var(--cell-bg) var(--tint),#ffffff);border-color:color-mix(in srgb,var(--cell-bg) 45%,#ffffff);transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out),background .16s var(--ease-out);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chess-cell.status-free{--tint:10%}.chess-cell.status-reserved{--tint:12%}.chess-cell.status-sold{--tint:22%}.chess-cell.status-not-for-sale{--tint:35%}.chess-cell:hover{transform:translateY(-1px) scale(1.02);background:color-mix(in srgb,var(--cell-bg) calc(var(--tint) + 10%),#ffffff);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 0 0 2px rgba(46,47,227,.35);z-index:5}.chess-cell.selected{box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 0 0 3px var(--cta),0 0 0 6px rgba(237,28,36,.25);z-index:2}.chess-cell.locked{outline:1.5px dashed rgba(13,13,31,.45);outline-offset:-3px}.chess-cell.dimmed{background:linear-gradient(180deg,#ffffff,#eef0fa);color:var(--muted)}.chess-cell.dimmed .chess-cell-num,.chess-cell.dimmed .chess-plus-m2,.chess-cell.dimmed .chess-plus-meta,.chess-cell.dimmed .chess-plus-num,.chess-cell.dimmed .chess-plus-price{opacity:.82}.chess-cell.status-free{filter:none}.chess-cell.dimmed.status-sold{background:color-mix(in srgb,var(--cell-bg) var(--tint),#ffffff);color:var(--ink)}.chess-cell.dimmed.status-sold .chess-cell-num,.chess-cell.dimmed.status-sold .chess-plus-m2,.chess-cell.dimmed.status-sold .chess-plus-meta,.chess-cell.dimmed.status-sold .chess-plus-num,.chess-cell.dimmed.status-sold .chess-plus-price{opacity:1}.chess-tip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,4px);min-width:168px;padding:8px 10px;border-radius:10px;background:#ffffff;border:1px solid var(--line);border-left:5px solid var(--cell-bg);box-shadow:var(--shadow);color:var(--ink);font-size:.74rem;font-weight:600;line-height:1.45;text-align:left;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s var(--ease-out),transform .14s var(--ease-out),visibility .14s;z-index:30}.chess-tip .chess-tip-status{color:var(--cell-bg);font-weight:750}.chess-cell:focus-visible .chess-tip,.chess-cell:hover .chess-tip{opacity:1;visibility:visible;transform:translate(-50%)}.chess-cell-num{font-size:.86rem;letter-spacing:.01em}.chess-lock-badge{position:absolute;top:3px;right:3px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border-radius:999px;background:rgba(8,22,12,.72);color:#fff;line-height:0}.chess-lock-icon{display:block;flex-shrink:0}.chess-viewer-badge{position:absolute;top:4px;left:4px;width:8px;height:8px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 2px rgba(255,255,255,.85);z-index:2}.presence-banner{color:#1d4ed8;background:rgba(37,99,235,.08);border-radius:8px;padding:6px 10px}.fund-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid rgba(15,23,42,.08)}.chess-cell.plus{min-height:102px;min-width:118px;align-items:flex-start;padding:10px 10px 8px;font-weight:600;gap:2px}.chess-plus-num{font-size:.92rem;font-weight:750;line-height:1.15}.chess-plus-meta,.chess-plus-num{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chess-plus-meta{font-size:.72rem;font-weight:600;opacity:.88;padding:2px 6px;border-radius:999px;background:var(--accent-soft);margin-top:2px}.chess-plus-price{margin-top:auto;padding-top:6px;font-size:.88rem;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chess-plus-m2,.chess-plus-price{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chess-plus-m2{font-size:.68rem;font-weight:600;opacity:.85}.placeholder-box{border:1px dashed var(--line);border-radius:16px;padding:18px;text-align:center;color:var(--muted);background:var(--accent-soft);margin-top:10px}.toast{position:fixed;right:20px;bottom:20px;background:var(--ink);color:white;padding:12px 16px;border-radius:16px;z-index:var(--z-toast);max-width:360px;box-shadow:var(--shadow)}.mobile-topbar-actions{display:flex;align-items:center;gap:6px}.brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.brand-row .brand-logo--sidebar{flex:1 1;min-width:0}.notif-bell-wrap{position:relative;flex-shrink:0}.notif-bell-btn{position:relative;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink);border-radius:10px;width:36px;height:36px;display:inline-flex;cursor:pointer}.notif-badge,.notif-bell-btn{align-items:center;justify-content:center}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;display:flex}.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:min(360px,86vw);background:var(--bg-elevated);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:var(--z-popover);overflow:hidden}.notif-dropdown-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}.notif-dropdown-actions{display:flex;gap:4px}.notif-empty{padding:16px;margin:0}.notif-list{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto}.notif-item{width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--line)}.notif-item.is-unread{background:var(--accent-soft)}.notif-item-title{font-weight:650;font-size:.88rem}.notif-item-msg{font-size:.82rem;color:var(--muted);margin-top:2px}.notif-item-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px;font-size:.75rem}.badge.notif-prio--LOW{background:#90a4ae;color:#fff}.badge.notif-prio--NORMAL{background:#546e7a;color:#fff}.badge.notif-prio--HIGH{background:#ef6c00;color:#fff}.badge.notif-prio--URGENT{background:#c62828;color:#fff}.notif-toast{cursor:pointer}.notif-page-list{list-style:none;margin:0;padding:0}.notif-page-list li.is-unread{background:var(--accent-soft)}.notif-page-item{width:100%;text-align:left;border:0;background:transparent;padding:14px 16px;border-bottom:1px solid var(--line);cursor:pointer}.mobile-only{display:none!important}.desktop-only{display:flex}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.unit-sheet-placeholder{display:block}.sheet-backdrop{display:none}.tabs-scroll{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:2px}.tabs-scroll .tab{flex:0 0 auto;white-space:nowrap}.unit-sheet-handle{width:36px;height:4px;border-radius:999px;background:rgba(46,47,227,.28);margin:0 auto 10px}.unit-sheet-chrome-row{display:flex;justify-content:space-between;align-items:center;gap:8px}@media (max-width:960px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.app-shell{grid-template-columns:1fr;padding-bottom:var(--mobile-bottom-nav-offset);min-height:100vh;min-height:100dvh}.app-shell,.main{height:auto;overflow:visible}.main{padding:12px 12px 24px;min-width:0}.mobile-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-dropdown);display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--bg-elevated);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:var(--shadow-soft)}.mobile-topbar-brand{min-width:0;display:flex;flex-direction:column;gap:2px}.mobile-topbar-brand strong{font-size:1rem;line-height:1.2}.mobile-topbar-complex{font-size:.72rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70vw}.menu-toggle{flex-shrink:0;width:40px;height:40px;border:1px solid var(--line);border-radius:14px;background:var(--accent-soft);color:var(--accent-hover);font-size:1.15rem;cursor:pointer}.drawer-overlay{position:fixed;inset:0;background:rgba(8,22,12,.28);z-index:calc(var(--z-drawer) - 5);display:block!important}.mobile-drawer{position:fixed;top:0;right:0;width:min(300px,86vw);height:100%;background:var(--bg-elevated);color:var(--ink);z-index:var(--z-drawer);padding:20px 16px;display:flex!important;flex-direction:column;gap:10px;transform:translateX(105%);transition:transform .28s var(--ease-out);box-shadow:-8px 0 28px rgba(8,22,12,.12);pointer-events:none;border-left:1px solid var(--line)}.mobile-drawer.open{transform:translateX(0);pointer-events:auto}.drawer-user{font-weight:600;font-size:1rem}.drawer-complex{margin:0 0 8px;color:var(--muted)!important;font-size:.85rem}.drawer-nav{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.drawer-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--bg);color:var(--ink);margin-bottom:0}.drawer-link.active{background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.drawer-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px}.drawer-logout{width:100%;background:transparent;color:var(--ink)!important;border:1px solid var(--line);border-radius:var(--radius-pill)}.drawer-logout:hover{background:var(--accent-soft)}.topbar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:12px}.topbar h1{font-size:1.25rem}.show-mobile{display:block!important}.entrance-pager.show-mobile,.mobile-card-list.show-mobile,.show-mobile.entrance-pager,.show-mobile.mobile-card-list{display:flex!important}.show-mobile.btn,.show-mobile.unit-sheet-handle,button.show-mobile{display:block!important}.btn.show-mobile,button.show-mobile.btn{display:inline-flex!important}.hide-mobile{display:none!important}.fund-mode-tabs.segmented{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;width:100%;overflow:visible}.fund-mode-tabs .tab{width:100%;min-height:44px;white-space:normal;text-align:center;padding:10px 8px}.fund-mode-tabs .tab-label-full{display:none}.fund-mode-tabs .tab-label-short{display:inline}.filters-panel{padding:8px 12px}.filters-toggle{display:flex!important}.filters-body{display:none}.filters-panel.open .filters-body{display:block}.filters-grid{grid-template-columns:1fr 1fr;gap:6px}.filters-actions{margin-top:8px}.filters-actions .btn{flex:1 1 auto}.filters-grid .input,.filters-grid .select{padding:8px 10px;font-size:.9rem}.panel-layout{grid-template-columns:1fr;gap:0}.unit-sheet-placeholder{display:none!important}.sheet-backdrop{display:block;position:fixed;inset:0;background:rgba(8,22,12,.28);z-index:var(--z-sheet-backdrop)}.side-panel.unit-sheet{position:fixed;left:0;right:0;top:max(12px,env(safe-area-inset-top,0px));bottom:var(--mobile-bottom-nav-offset);max-height:none;height:auto;z-index:var(--z-sheet);border-radius:16px 16px 0 0;box-shadow:var(--shadow-sheet);padding:10px 14px calc(16px + env(safe-area-inset-bottom, 0px));animation:unitSheetIn .24s var(--ease-out);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.unit-sheet-chrome{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;flex-direction:column;gap:8px;margin:-10px -14px 10px;padding:10px 14px;background:var(--bg-elevated);border-bottom:1px solid var(--line)}.unit-sheet-chrome-row{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px}.unit-sheet-chrome .btn.ghost{min-width:44px;min-height:44px;flex-shrink:0}.panel-layout>.side-panel:not(.unit-sheet){position:static;max-height:none;margin-top:12px}.table td,.table th{padding:8px 10px;font-size:.82rem}.chess-wrap{padding:10px 10px 14px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-webkit-mask-image:none;mask-image:none;overscroll-behavior-x:contain}.chess-toolbar{flex-direction:column;align-items:stretch;gap:8px;min-width:0}.chess-legend{margin:0 -2px;padding:0 2px 4px;flex-wrap:wrap;overflow-x:visible}.chess-legend-item{font-size:.72rem;padding:4px 7px}.chess-stats{font-size:.78rem}.chess-grid{min-width:max-content;width:max-content}.chess-row{grid-auto-columns:minmax(56px,max-content);gap:5px;width:max-content}.chess-cell{min-height:46px;min-width:56px;font-size:.74rem;border-radius:8px}.chess-cell-num{font-size:.8rem}.chess-cell.plus{min-height:72px;min-width:72px;padding:6px}.chess-plus-num{font-size:.72rem}.chess-plus-meta{font-size:.62rem;padding:1px 4px}.chess-plus-price{font-size:.66rem;padding-top:4px;letter-spacing:-.02em}.chess-plus-m2{display:none}.floor-label{min-width:36px;padding:4px 2px}.floor-num{font-size:.8rem}.entrance-header{font-size:.8rem;padding:7px 9px;min-width:0;width:100%}.modal-backdrop{padding:max(8px,env(safe-area-inset-top,0px)) 8px 0;align-items:flex-end;z-index:var(--z-modal-backdrop)}.modal-backdrop--nested{z-index:var(--z-modal-nested-backdrop)}.modal{width:100%;max-height:calc(100dvh - max(12px, env(safe-area-inset-top, 0px)) - var(--mobile-bottom-nav-offset));margin:0;overflow-y:auto;border-radius:14px 14px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0}.toast{left:12px;right:12px;bottom:calc(var(--mobile-bottom-nav-offset) + 12px);max-width:none}.placeholder-box{padding:12px;font-size:.85rem}.admin-grid,.grid-2{grid-template-columns:1fr}.login-page{padding:16px}.topbar .input{max-width:none!important;width:100%}.unit-sheet-handle{display:block!important;margin-left:auto;margin-right:auto}.tabs-scroll.segmented{width:100%}.tabs-scroll.segmented .tab{flex:1 1 auto}.login-shell{grid-template-columns:1fr}.login-brand{padding:28px 22px 8px;min-height:auto}.login-brand h1{font-size:1.8rem}.brand-logo--login{max-width:220px}.login-card{padding:12px 20px 28px}}.visual-ref-card{position:relative;overflow:hidden;padding:0}.visual-ref,.visual-ref-card{min-height:calc(100dvh - 140px)}.visual-ref{display:flex;flex-direction:column}.visual-ref-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px}.visual-schematic-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--bg-elevated);color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.01em}.visual-interior-label{font-size:.82rem;font-weight:650;color:var(--ink);background:rgba(255,255,255,.92);border-radius:var(--radius-pill);padding:8px 12px}.visual-ref-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(200px,.5fr) minmax(220px,.55fr);grid-gap:0;gap:0;flex:1 1;min-height:520px}.visual-ref-scene-wrap{position:relative;min-height:480px;border-right:1px solid var(--line);background:#cfe6f5}.visual-ref-scene-wrap.is-expanded{position:fixed;inset:0;z-index:var(--z-lightbox);min-height:100dvh;border:none;border-radius:0;background:#cfe6f5}.visual-ref--evening .visual-ref-scene-wrap.is-expanded{background:#1a2740}.visual-ref-scene-wrap.is-expanded .visual-ref-canvas{inset:0}.visual-ref-scene-wrap.is-expanded .visual-floor-overlay,.visual-ref-scene-wrap.is-expanded .visual-floor-strip{z-index:4}.visual-ref--evening .visual-ref-scene-wrap{background:#1a2740}.visual-ref-scene-bar{position:absolute;top:12px;left:12px;z-index:3;display:flex;gap:8px;align-items:center}.visual-ref-scene-bar .btn.ghost{padding:8px 14px}.visual-ref-scene-bar .btn.ghost,.visual-ref-scene-bar .select{background:rgba(255,255,255,.92);border-radius:var(--radius-pill)}.visual-ref-scene-bar .select{padding:8px 12px;width:auto}.visual-ref-canvas{position:absolute;inset:0}.visual-ref-canvas .visual-plan3d{width:100%;height:100%;min-height:100%}.visual-scene-loading{display:grid;place-items:center;height:100%;color:var(--muted);font-weight:600}.visual-floor-overlay{left:12px;top:auto;z-index:2;min-width:160px;max-width:min(200px,calc(100% - 80px));max-height:min(42%,220px);padding:8px 10px 10px;background:rgba(255,255,255,.95);pointer-events:auto}.visual-floor-overlay,.visual-floor-strip{position:absolute;bottom:12px;transform:none;overflow-y:auto;border-radius:14px;box-shadow:var(--shadow);border:1px solid var(--line)}.visual-floor-strip{right:10px;top:56px;z-index:3;display:flex;flex-direction:column;gap:4px;max-height:none;padding:6px;background:rgba(255,255,255,.92);-webkit-overflow-scrolling:touch}.visual-floor-strip-btn{flex-shrink:0;width:44px;min-height:44px;padding:0;border:none;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-size:.9rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer}.visual-floor-strip-btn:focus-visible,.visual-floor-strip-btn:hover{background:rgba(46,47,227,.1);outline:none}.visual-floor-strip-btn.active{background:var(--accent);color:#fff}.visual-floor-overlay-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.visual-floor-overlay-head strong{display:block;font-size:1.05rem;margin:0}.visual-floor-overlay-close{flex-shrink:0;min-width:36px;min-height:36px;padding:0;border-radius:var(--radius-pill);background:transparent}.visual-floor-overlay-row{display:flex;justify-content:space-between;gap:16px;font-size:.85rem;color:var(--muted);padding:2px 0}.visual-floor-overlay-row span:last-child{color:var(--ink);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.visual-unit-list{display:flex;flex-direction:column;gap:8px;padding:12px;overflow-y:auto;max-height:calc(100dvh - 160px);border-right:1px solid var(--line);background:var(--bg-elevated)}.visual-list-empty{padding:16px 8px;margin:0;font-size:.9rem}.visual-unit-card{display:flex;flex-direction:column;gap:4px;width:100%;padding:12px 14px;border:none;border-radius:12px;color:#fff;text-align:left;cursor:pointer;font:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.2);transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out)}.visual-unit-card:hover{transform:translateY(-1px);filter:brightness(1.05)}.visual-unit-card.selected{box-shadow:0 0 0 3px rgba(255,255,255,.9),0 0 0 5px rgba(46,47,227,.45)}.visual-unit-card-top{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;font-weight:600;opacity:.95;white-space:nowrap}.visual-unit-card-price{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.25}.visual-unit-card-meta{font-size:.75rem;opacity:.9;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.visual-unit-card-lock{font-size:.7rem;opacity:.95;margin-top:2px}.visual-detail{display:flex;flex-direction:column;padding:12px;min-height:0;background:var(--bg-elevated)}.visual-detail-toolbar{display:flex;gap:8px;align-items:flex-end;margin-bottom:12px}.visual-detail-group{flex:1 1;margin:0}.visual-detail-more{flex-shrink:0;white-space:nowrap}.visual-detail-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px}.visual-detail-title h3{margin:0;font-size:1.1rem}.visual-detail-status{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted);font-weight:600}.visual-detail-status-dot{width:8px;height:8px;border-radius:50%}.visual-detail-plan{flex:1 1;min-height:180px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.visual-detail-3d-hint{display:flex;flex-direction:column;height:100%;min-height:180px}.visual-detail-3d-hint>p{margin:0;padding:10px 12px;font-size:.8rem;color:var(--muted);border-bottom:1px solid var(--line)}.visual-detail-3d-hint .unit-model-preview{flex:1 1;margin-top:0;border:none;border-radius:0}.visual-plan2d{width:100%;height:100%;min-height:180px;display:grid;place-items:center;padding:8px}.visual-plan2d-svg{width:100%;max-width:280px;height:auto}.visual-plan3d{width:100%;height:220px}.visual-plan3d--static{pointer-events:none}.unit-model-loading{display:grid;place-items:center;min-height:140px;color:var(--muted);font-size:.85rem}.unit-model-preview{display:block;width:100%;margin-top:12px;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#eef4f0;cursor:pointer;text-align:left;font:inherit;color:inherit}.unit-model-preview:focus-visible,.unit-model-preview:hover{border-color:rgba(46,47,227,.45);box-shadow:0 0 0 3px rgba(46,47,227,.1);outline:none}.unit-model-preview-stage{height:160px;pointer-events:none}.unit-model-preview-stage .visual-plan3d{height:160px}.unit-model-preview-hint{display:block;padding:8px 12px;font-size:.78rem;font-weight:650;color:var(--muted);background:var(--bg-elevated);border-top:1px solid var(--line)}.visual-detail-plan .unit-model-preview{margin-top:0;height:100%;min-height:180px;display:flex;flex-direction:column}.visual-detail-plan .unit-model-preview-stage{flex:1 1;height:auto;min-height:160px}.visual-detail-plan .unit-model-preview-stage .visual-plan3d{height:100%;min-height:160px}.unit-model-lightbox{position:fixed;inset:0;z-index:var(--z-lightbox);background:rgba(8,22,12,.45);display:flex;align-items:stretch;justify-content:center;padding:max(12px,env(safe-area-inset-top,0px)) 12px max(12px,env(safe-area-inset-bottom,0px))}.unit-model-lightbox-panel{width:min(960px,100%);background:var(--bg-elevated);border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden}.unit-model-lightbox-chrome{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);min-height:48px}.unit-model-lightbox-chrome .btn.ghost{min-width:44px;min-height:44px}.unit-model-lightbox-stage{flex:1 1;min-height:min(70dvh,560px);background:#dfe9e3}.unit-model-lightbox-stage .visual-plan3d{height:100%;min-height:min(70dvh,560px)}.unit-model-lightbox-stage--plan{display:grid;place-items:center;padding:16px;background:#fff;min-height:min(50dvh,420px)}.unit-model-lightbox-stage--plan .visual-plan2d{width:100%;max-width:480px;min-height:280px}.unit-model-lightbox-tip{margin:0;padding:8px 12px 12px;font-size:.78rem}.visual-scene-expand{margin-left:auto;background:rgba(255,255,255,.92);border-radius:var(--radius-pill);min-width:44px;min-height:44px}.unit-model-lightbox-panel--scene{width:min(1100px,100%)}.unit-model-lightbox-stage--scene{position:relative;min-height:min(78dvh,720px);background:#cfe6f5}.unit-model-lightbox-stage--scene>*{position:absolute;inset:0}@media (max-width:960px){.unit-model-lightbox{padding:max(8px,env(safe-area-inset-top,0px)) 0 0}.unit-model-lightbox-panel{width:100%;border-radius:16px 16px 0 0;max-height:100%}.unit-model-lightbox-stage,.unit-model-lightbox-stage .visual-plan3d{min-height:55dvh}.unit-model-lightbox-stage--scene{min-height:70dvh}}.visual-detail-toggle{margin:12px auto 0;align-self:center}.visual-detail-price{margin-top:14px;padding:14px 16px;border-radius:12px;background:#08160c;color:#fff}.visual-detail-price strong{display:block;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.visual-detail-price span{display:block;margin-top:4px;font-size:.78rem;opacity:.75;white-space:nowrap}.visual-ref-card>.side-panel.unit-sheet{position:fixed;right:16px;top:80px;bottom:16px;width:min(380px,92vw);z-index:var(--z-sheet);max-height:none;overflow:auto}@media (max-width:1100px){.visual-ref-layout{grid-template-columns:1fr 220px}.visual-detail{grid-column:1/-1;border-top:1px solid var(--line)}.visual-unit-list{max-height:420px}}@media (max-width:960px){.visual-ref-card{min-height:auto;padding-bottom:4px}.visual-ref{min-height:auto}.visual-ref-layout{grid-template-columns:1fr;min-height:auto}.visual-ref-scene-wrap{min-height:min(48vh,420px);border-right:none;border-bottom:1px solid var(--line)}.visual-floor-strip{top:auto;right:8px;left:8px;bottom:calc(var(--mobile-bottom-nav-offset) + 24px);flex-direction:row;flex-wrap:nowrap;max-height:none;overflow-x:auto;overflow-y:hidden;gap:4px;padding:6px}.visual-floor-strip-btn{width:40px;min-width:40px;min-height:40px}.visual-floor-overlay{left:8px;right:auto;bottom:calc(var(--mobile-bottom-nav-offset) + 72px);max-width:min(180px,calc(100% - 24px));max-height:36%;padding:8px 10px}.visual-unit-list{max-height:220px;border-right:none;border-bottom:1px solid var(--line)}.visual-ref-card>.side-panel.unit-sheet{left:0;right:0;top:max(12px,env(safe-area-inset-top,0px));bottom:var(--mobile-bottom-nav-offset);width:100%;max-height:none;border-radius:20px 20px 0 0}}.leads-page{display:flex;flex-direction:column;gap:14px;min-height:0}.leads-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.leads-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.leads-counters{display:flex;flex-wrap:wrap;gap:10px 18px;padding:10px 14px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius,16px);font-size:.9rem;color:var(--muted)}.leads-counters strong{color:var(--ink);font-weight:700}.leads-stats{margin-bottom:14px}.leads-stats .dash-section-head{margin-bottom:4px}.leads-stats-kpis{margin-bottom:16px}.leads-stats-kpis .dash-kpi-label{display:flex;align-items:center;gap:6px}.leads-stats-charts{display:grid;grid-template-columns:1.15fr 1fr;grid-gap:20px;gap:20px;align-items:start}.leads-stats-subhead{margin:0 0 10px;font-size:.95rem;font-weight:600}.leads-stats-bar-row .dash-bar-label{font-size:.82rem}.leads-stats-donut{width:160px;height:160px}@media (min-width:801px){.leads-stats-donut{width:180px;height:180px}}.leads-toolbar{grid-template-columns:minmax(160px,1.4fr) repeat(3,minmax(120px,1fr));align-items:end;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius,16px)}.leads-toolbar,.leads-toolbar .field{margin-bottom:0}.flash,.leads-flash{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--line);font-size:.9rem}.leads-state{text-align:center;padding:28px 16px}.leads-kanban{display:flex;gap:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:12px;align-items:flex-start}.leads-column{flex:0 0 260px;width:260px;min-height:280px;max-height:calc(100vh - 280px);display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-radius:16px;transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out)}.leads-column.is-drop{border-color:rgba(46,47,227,.55);box-shadow:0 0 0 3px rgba(46,47,227,.1)}.leads-column-head{display:flex;align-items:center;gap:8px;padding:12px 12px 8px;position:-webkit-sticky;position:sticky;top:0;background:var(--bg);border-radius:16px 16px 0 0;z-index:1}.leads-stage-dot,.leads-stage-pip{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted)}.leads-stage-pip{width:7px;height:7px;margin-top:5px}.badge.stage--NEW,.stage-pip--NEW{background:var(--stage-new)}.badge.stage--CONTACTED,.stage-pip--CONTACTED{background:var(--stage-contacted)}.badge.stage--QUALIFIED,.stage-pip--QUALIFIED{background:var(--stage-qualified)}.badge.stage--VIEWING,.stage-pip--VIEWING{background:var(--stage-viewing)}.badge.stage--NEGOTIATION,.stage-pip--NEGOTIATION{background:var(--stage-negotiation)}.badge.stage--WON,.stage-pip--WON{background:var(--stage-won)}.badge.stage--LOST,.stage-pip--LOST{background:var(--stage-lost)}.badge.stage--CONTACTED,.badge.stage--LOST,.badge.stage--NEGOTIATION,.badge.stage--NEW,.badge.stage--QUALIFIED,.badge.stage--VIEWING,.badge.stage--WON{color:#fff}.leads-column-count{margin-left:auto;font-size:.8rem}.leads-column-body{flex:1 1;overflow-y:auto;padding:4px 10px 12px;display:flex;flex-direction:column;gap:8px;min-height:0}.leads-column-empty{padding:20px 8px;text-align:center;font-size:.85rem}.leads-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;padding:10px 11px;cursor:-webkit-grab;cursor:grab;box-shadow:var(--shadow-soft);transition:transform .12s var(--ease-out),box-shadow .12s var(--ease-out)}.leads-card:active{cursor:-webkit-grabbing;cursor:grabbing}.leads-card:hover{box-shadow:0 4px 14px rgba(28,48,36,.1)}.leads-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}.leads-card-top strong{font-size:.95rem;line-height:1.25}.leads-card-line{font-size:.8rem;line-height:1.35}.leads-card-comment{margin-top:6px;font-size:.78rem;color:var(--muted);line-height:1.35}.leads-card-badge{display:inline-flex;margin-top:8px;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--accent-soft);color:var(--accent-hover)}.leads-sort{background:none;border:none;padding:0;color:inherit;font:inherit;font-weight:600;cursor:pointer}.leads-modal{max-width:520px;width:min(520px,100%)}.leads-confirm{max-width:420px;width:min(420px,100%)}.leads-detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 16px;gap:12px 16px;font-size:.92rem}.leads-detail-grid .muted{display:block;font-size:.78rem;margin-bottom:2px}.leads-client-box{margin-top:14px;padding:12px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--line);font-size:.92rem}.leads-client-link{display:inline-block;margin-top:6px;font-size:.85rem;color:var(--accent-hover)}.leads-modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}@media (max-width:900px){.leads-stats-charts{grid-template-columns:1fr}.leads-toolbar{grid-template-columns:1fr 1fr}.leads-column{flex-basis:240px;width:240px;max-height:calc(100vh - 320px)}.leads-detail-grid{grid-template-columns:1fr}}@media (max-width:640px){.leads-toolbar{grid-template-columns:1fr}.leads-header-actions{width:100%}.leads-header-actions .btn.primary,.leads-header-actions .segmented{flex:1 1}}.cp-profile{display:flex;flex-direction:column;gap:14px}.cp-profile-nav{display:flex;align-items:center;gap:8px}.cp-profile-header.card{padding:16px}.cp-profile-header .leads-counters{margin-top:14px}.cp-profile-header-main{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}.cp-profile-actions{display:flex;flex-wrap:wrap;gap:8px}.cp-summary{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}.cp-summary strong{color:var(--ink)}.cp-source a{color:var(--accent-hover)}.cp-source-box{font-size:.95rem}.badge.cp-count{background:var(--accent-soft);color:var(--accent-hover)}.badge.sched-paid{background:var(--accent);color:#fff}.badge.sched-overdue{background:var(--danger);color:#fff}.badge.sched-pending{background:var(--warn);color:#fff}.cp-empty,.cp-overview>.card{padding:16px}.cp-dl{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 16px;gap:12px 16px;margin:0}.cp-dl dt{font-size:.78rem;color:var(--muted);margin:0 0 2px}.cp-dl dd{margin:0;font-size:.95rem}.cp-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.cp-timeline li{display:flex;gap:12px;position:relative}.cp-timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);margin-top:6px;flex-shrink:0}.cp-timeline-title{font-weight:600;margin-bottom:2px}@media (max-width:700px){.cp-dl,.cp-overview{grid-template-columns:1fr}}.deal-wizard{max-width:560px;width:min(560px,100%)}.deal-wizard-steps{display:flex;gap:6px;margin-bottom:14px}.deal-wizard-pip{flex:1 1;height:4px;border-radius:999px;background:var(--line)}.deal-wizard-pip.active{background:var(--accent)}.deal-wizard-forms{display:grid;grid-gap:8px;gap:8px}.deal-wizard-form-opt{text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg-elevated);cursor:pointer;font:inherit}.deal-wizard-form-opt.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.deal-wizard-total{margin-top:8px;padding:12px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--line);line-height:1.5}.deal-wizard-confirm{display:grid;grid-gap:10px;gap:10px;font-size:.95rem}.deal-wizard-confirm .muted{display:block;font-size:.78rem;margin-bottom:2px}.dash-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:12px;gap:12px;align-items:end;margin-bottom:16px}.dash-filters .field{margin-bottom:0}.dash-filters .dash-filter-actions{display:flex;align-items:end;gap:8px}.dash-section{margin-bottom:20px}.dash-section h2{margin:0 0 10px;font-size:1.1rem}.dash-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.dash-section-head h2,.dash-section-head h3{margin:0;font-size:1.1rem}.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px}.dash-kpi{padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow-soft)}.dash-kpi-label{font-size:.5625rem;color:var(--muted);margin-bottom:4px}.dash-kpi-value{font-size:.8625rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-kpi-hint{font-size:.54rem;margin-top:4px;color:var(--muted)}.dash-note{margin:0 0 10px;font-size:.82rem}.dash-funnel{display:flex;flex-direction:column;gap:8px}.chart-bar-row,.dash-bar-row{display:grid;grid-template-columns:110px 1fr 40px;grid-gap:8px;gap:8px;align-items:center;font-size:.85rem}.chart-bar-track,.dash-bar-track{height:14px;background:var(--chart-track);border-radius:4px;overflow:hidden;display:flex;gap:2px}.chart-bar-fill,.dash-bar-fill{height:100%;background:var(--chart-fact);border-radius:4px;min-width:0}.chart-bar-fill--fact,.dash-bar-fill--won{background:var(--chart-fact)}.dash-bar-fill--lost{background:var(--stage-lost)}.chart-bar-fill--plan{background:var(--chart-plan)}.dash-bar-count{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-period-chart{display:flex;gap:8px;align-items:flex-end;min-height:140px;overflow-x:auto;padding-bottom:4px}.dash-period-col{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:56px;flex:1 1;height:140px;justify-content:flex-end}.dash-period-bar{width:100%;max-width:36px;background:var(--chart-fact);border-radius:4px 4px 0 0;min-height:4px}.dash-period-label{font-size:.65rem;color:var(--muted)}.dash-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.dash-inv-bar{display:flex;height:16px;border-radius:6px;overflow:hidden;background:var(--chart-track);margin-bottom:12px}.dash-inv-chart{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.dash-inv-donut{position:relative;width:148px;height:148px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px #fff,0 0 0 4px rgba(8,22,12,.18)}@media (min-width:801px){.dash-inv-donut{width:220px;height:220px}.dash-inv-donut-hole{inset:30%}.dash-inv-donut-hole strong{font-size:1.45rem}}.dash-inv-donut-hole{position:absolute;inset:28%;border-radius:50%;background:var(--bg-elevated);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.1}.dash-inv-donut-hole strong{font-size:1.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-inv-donut-hole span{font-size:.7rem;color:var(--muted)}.dash-inv-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;flex:0 1 auto;width:max-content;max-width:100%}.dash-inv-legend li{display:grid;grid-template-columns:12px max-content auto auto;grid-gap:8px 10px;gap:8px 10px;align-items:center;font-size:.9rem}.dash-inv-legend strong{min-width:2.5ch}.dash-inv-legend .muted,.dash-inv-legend strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.dash-inv-legend .muted{min-width:3.5ch}.dash-inv-swatch{width:14px;height:14px;border-radius:3px;display:block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.dash-inv-free{background:var(--chart-free)}.dash-inv-res{background:var(--chart-reserved)}.dash-inv-sold{background:var(--chart-sold)}.dash-money-chart{display:flex;flex-direction:column;gap:10px}.dash-money-row{display:grid;grid-template-columns:108px 1fr minmax(96px,max-content);grid-gap:10px;gap:10px;align-items:center;font-size:.82rem}.dash-money-label{color:var(--muted);white-space:nowrap}.dash-money-track{height:14px;background:var(--chart-track);border-radius:5px;overflow:hidden;min-width:0}.dash-money-fill{height:100%;border-radius:5px;min-width:0;background:var(--chart-fact)}.dash-money-fill--income{background:var(--chart-income)}.dash-money-fill--expense{background:var(--chart-expense)}.dash-money-fill--balance,.dash-money-fill--net{background:var(--chart-net)}.dash-money-fill--allocated{background:var(--chart-allocated)}.dash-money-fill--remaining{background:var(--chart-remaining)}.dash-money-value{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.02em;text-align:right;font-size:.78rem}.finance-create-row{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:14px}.finance-create-row .field{margin-bottom:0;min-width:140px;flex:1 1}.finance-create-row .field--narrow{flex:0 0 120px;min-width:100px}.badge.doc-DRAFT{background:var(--muted);color:#fff}.badge.doc-POSTED{background:var(--accent);color:#fff}.badge.doc-CANCELLED{background:var(--danger);color:#fff}@media (max-width:800px){.dash-two-col{grid-template-columns:1fr}.chart-bar-row,.dash-bar-row{grid-template-columns:90px 1fr 36px}.dash-money-row{grid-template-columns:92px 1fr;grid-template-rows:auto auto;gap:4px 8px}.dash-money-value{grid-column:1/-1;text-align:left;padding-left:0}.dash-filters{grid-template-columns:1fr 1fr}}.task-related-link{color:var(--accent-hover);text-decoration:underline;text-underline-offset:2px}.task-row-overdue td{background:rgba(198,40,40,.04)}.badge.task-status--TODO{background:#55587a;color:#fff}.badge.task-status--IN_PROGRESS{background:#2e2fe3;color:#fff}.badge.task-status--DONE{background:#2323b8;color:#fff}.badge.task-status--CANCELLED{background:#9e9e9e;color:#fff}.badge.task-prio--LOW{background:#90a4ae;color:#fff}.badge.task-prio--NORMAL{background:#546e7a;color:#fff}.badge.task-prio--HIGH{background:#ef6c00;color:#fff}.badge.task-prio--URGENT{background:#c62828;color:#fff}.entity-tasks{border-top:1px solid var(--line);padding-top:12px}.entity-tasks-form{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.entity-tasks-form-row{display:flex;flex-wrap:wrap;gap:8px}.entity-tasks-form-row .input,.entity-tasks-form-row .select{flex:1 1;min-width:120px}.entity-tasks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.entity-tasks-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.88rem}.entity-tasks-list li strong{flex:1 1;min-width:120px}.global-search{position:relative;margin:10px 0 4px}.global-search input{width:100%;padding:8px 10px;border:1px solid #d8dce3;border-radius:8px;font-size:13px;background:#fff}.global-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:60vh;overflow:auto;background:#fff;border:1px solid #d8dce3;border-radius:10px;box-shadow:0 10px 30px rgba(16,24,40,.14);z-index:60;padding:6px}.global-search-empty{padding:10px;font-size:13px;color:#667085}.global-search-group-label{padding:8px 8px 4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#667085}.global-search-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;padding:7px 8px;border:0;border-radius:7px;background:transparent;cursor:pointer}.global-search-item:hover{background:#f2f4f7}.global-search-item-title{font-size:13px;color:#101828}.global-search-item-sub{font-size:12px;color:#667085}.visual-inline-details{display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 140px);overflow-y:auto;min-width:0}.visual-inline-details-back{align-self:flex-start}.visual-inline-details #visual-details-slot .side-panel.unit-sheet,.visual-inline-details #visual-details-slot>.card.side-panel.unit-sheet{position:static!important;inset:auto!important;width:auto!important;max-height:none!important;height:auto!important;transform:none!important;box-shadow:none;border-radius:12px;z-index:auto;margin:0}@media (min-width:1101px){.visual-ref-layout{grid-template-columns:minmax(0,1fr) 162px clamp(300px,calc((100vw - 1440px) * .5 + 380px),380px)}}.visual-ref-layout .visual-unit-list{padding:8px 6px;gap:6px}.visual-ref-layout .visual-unit-card{padding:8px 10px;gap:2px;min-width:0}.visual-unit-card-num{font-size:1.15rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}.visual-ref-layout .visual-unit-card-meta,.visual-ref-layout .visual-unit-card-price{white-space:normal;overflow-wrap:anywhere}.visual-ref-layout .visual-unit-card-price{font-size:.95rem;font-weight:700}.visual-ref-layout.is-expanded{position:fixed;inset:0;z-index:var(--z-lightbox);min-height:100dvh;height:100dvh;grid-template-columns:minmax(0,1fr) 162px 380px!important;background:var(--bg-elevated,#fff)}.visual-ref-layout.is-expanded>.visual-ref-scene-wrap.is-expanded{position:relative;inset:auto;z-index:auto;min-height:0;height:100dvh}.visual-ref-layout.is-expanded .visual-detail,.visual-ref-layout.is-expanded .visual-inline-details,.visual-ref-layout.is-expanded .visual-unit-list{max-height:100dvh;overflow-y:auto}.visual-ref-layout.is-expanded.fs-panel-collapsed{grid-template-columns:minmax(0,1fr) 0 0!important}.visual-ref-layout.is-expanded.fs-panel-collapsed>:not(.visual-ref-scene-wrap){display:none}.visual-fs-panel-toggle{margin-left:6px}@media (max-width:960px){.visual-ref-layout.is-expanded{grid-template-columns:1fr!important;overflow-y:auto}.visual-ref-layout.is-expanded>.visual-ref-scene-wrap.is-expanded{height:70dvh}}.chess-tip.chess-tip--floating{top:0;left:0;transform:none;opacity:1;visibility:visible;transition:none;z-index:40}.soon-badge{align-self:center;padding:4px 12px;border-radius:999px;background:#2E2FE3;color:#fff;font-size:.8rem;font-weight:600}.soon-intro{margin-bottom:14px;max-width:760px}.soon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px}.soon-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:16px;border:1px dashed var(--line);background:var(--bg-elevated);opacity:.72;cursor:not-allowed}.soon-card-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:.8rem;color:#2E2FE3;background:rgba(46,47,227,.08)}.soon-card-body p{margin:4px 0 0;font-size:.88rem}.soon-card .btn{margin-top:auto;align-self:flex-start}.task-col-dot--TODO{background:rgba(46,47,227,.35)}.task-col-dot--IN_PROGRESS{background:rgba(46,47,227,.65)}.task-col-dot--DONE{background:#2E2FE3}.task-col-dot--CANCELLED{background:rgba(46,47,227,.15)}.task-card-due.is-overdue{color:#ED1C24;font-weight:600}.task-card.is-overdue{border-left:3px solid #ed1c24}.task-card-prio{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid rgba(46,47,227,.35);color:#2E2FE3;white-space:nowrap}.task-card-prio--HIGH{background:rgba(46,47,227,.1)}.task-card-prio--URGENT{border-color:#ED1C24;background:#ED1C24;color:#fff}.task-card-prio--LOW{border-color:var(--line);color:var(--muted)}.task-card-link{color:#2E2FE3;text-decoration:none}.task-card-link:hover{text-decoration:underline}.k3d-floor-label{transform:translateX(-60%);padding:4px 10px;border-radius:999px;background:#2E2FE3;color:#fff;font-size:12px;box-shadow:0 2px 8px rgba(46,47,227,.3)}.k3d-floor-label,.k3d-unit-label{font-weight:700;white-space:nowrap}.k3d-unit-label{padding:2px 7px;border-radius:8px;border:1.5px solid #2e2fe3;background:rgba(255,255,255,.92);font-size:11px;transition:opacity .15s ease-out}.k3d-unit-label.is-selected{background:#fff;border-color:#FF7A00!important;color:#FF7A00!important;box-shadow:0 0 0 2px rgba(255,122,0,.3)}@media (max-width:960px){body,html{height:auto;min-height:100%;overflow-x:hidden;overflow-y:visible}.main{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px))}.mobile-topbar{padding-top:max(10px,env(safe-area-inset-top,0px))}.leads-column{max-height:none}.leads-column-body{overflow-y:visible}}.visual-floor-overlay-compact{display:none}@media (max-width:767px){.visual-ref-layout>*{min-width:0;max-width:100%}.visual-ref-scene-wrap:not(.is-expanded) .visual-floor-strip{max-width:100%}.visual-ref-scene-wrap:not(.is-expanded){display:flex;flex-direction:column;min-height:0;background:#fff}.visual-ref-scene-wrap:not(.is-expanded) .visual-ref-canvas{position:relative;inset:auto;height:58vh;min-height:320px;background:#cfe6f5}.visual-ref-scene-wrap:not(.is-expanded) .visual-ref-canvas>div{height:100%!important}.visual-ref-scene-bar{top:8px;left:8px;gap:6px}.visual-ref-scene-bar .btn.ghost{padding:6px 10px;font-size:13px}.k3d-cut-toggle{top:50px!important;left:8px!important;font-size:11px!important;padding:3px 6px!important}.visual-ref-scene-wrap:not(.is-expanded) .visual-floor-strip{position:relative;inset:auto;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:6px;padding:8px;margin:0;border-radius:0;border:none;border-top:1px solid var(--line);box-shadow:none;background:#fff;scroll-snap-type:x proximity;touch-action:pan-x}.visual-ref-scene-wrap:not(.is-expanded) .visual-floor-strip-btn{width:48px;min-width:48px;min-height:44px;border:1px solid var(--line);scroll-snap-align:center}.visual-ref-scene-wrap:not(.is-expanded) .visual-floor-strip-btn.active{border-color:var(--accent)}.visual-ref-scene-wrap:not(.is-expanded) .visual-floor-overlay{position:static;max-width:none;min-width:0;max-height:none;margin:0;padding:4px 8px 4px 12px;border-radius:0;border:none;border-top:1px solid var(--line);box-shadow:none}.visual-ref-scene-wrap:not(.is-expanded) .visual-floor-overlay-head,.visual-ref-scene-wrap:not(.is-expanded) .visual-floor-overlay-row{display:none}.visual-ref-scene-wrap:not(.is-expanded) .visual-floor-overlay-compact{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden}.visual-floor-overlay-compact>span{overflow:hidden;text-overflow:ellipsis}}.floor-plan2d-wrap{display:flex;flex-direction:column;gap:6px;padding:8px 0;min-width:0}.floor-plan2d-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.floor-plan2d-head .muted{font-size:12px}.floor-plan2d-fs-btn{margin-left:auto;padding:2px 8px}.floor-plan2d{position:relative}.floor-plan2d--loading{padding:24px 8px;color:#888;font-size:13px}.floor-plan2d-viewport{position:relative;width:100%;overflow:hidden;border:1px solid #e3e6ef;border-radius:10px;background:#fff;touch-action:none;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.floor-plan2d-viewport:active{cursor:-webkit-grabbing;cursor:grabbing}.floor-plan2d-stage{position:absolute;inset:0;transform-origin:0 0}.floor-plan2d-stage img{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none}.floor-plan2d-spot{position:absolute;min-width:26px;height:26px;padding:0 5px;border-radius:13px;background:rgba(46,47,227,.85);color:#fff;font:600 11px/22px system-ui,sans-serif;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.3);transition:background .12s}.floor-plan2d-spot.is-hover,.floor-plan2d-spot:hover{background:#00B8D9}.floor-plan2d-spot.is-selected{background:#FF7A00;z-index:2}.floor-plan2d-zoom{position:absolute;right:8px;bottom:8px;z-index:3;display:inline-flex;align-items:stretch;gap:0;padding:0;background:rgba(255,255,255,.96);border:1px solid #d9dcf0;border-radius:10px;box-shadow:0 2px 8px rgba(20,22,80,.12);overflow:hidden}.floor-plan2d-zoom .btn,.floor-plan2d-zoom .btn.ghost{flex:0 0 auto;box-sizing:border-box;width:auto;min-width:34px;height:32px;margin:0;padding:0 10px;border:0;border-radius:0;background:transparent;box-shadow:none;font:600 14px/32px system-ui,sans-serif;color:#2E2FE3}.floor-plan2d-zoom .btn+.btn{border-left:1px solid #e3e6ef}.floor-plan2d-zoom .btn:hover{background:#eef0ff}.floor-plan2d-hint{font-size:11px;margin:0}.floor-plan2d-modal{position:fixed;inset:0;z-index:1000;background:rgba(10,12,40,.72);display:flex;align-items:center;justify-content:center;padding:16px}.floor-plan2d-modal-inner{background:#fff;border-radius:14px;padding:10px;width:min(1400px,100%);height:min(92vh,100%);display:flex;flex-direction:column;gap:8px}.floor-plan2d--full{flex:1 1;min-height:0;display:flex;align-items:center;justify-content:center}@media (max-width:760px){.floor-plan2d-modal{padding:0}.floor-plan2d-modal-inner{border-radius:0;height:100%}.floor-plan2d-spot{min-width:22px;height:22px;font-size:10px;line-height:18px}}.k3d-block-pin{position:relative;padding:4px 10px;border-radius:999px;border:2px solid #fff;background:#2E2FE3;color:#fff;font:600 12px/16px system-ui,sans-serif;white-space:nowrap;cursor:pointer;box-shadow:0 2px 8px rgba(20,22,80,.35);transition:background .12s,transform .12s}.k3d-block-pin:after{content:"";position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);border:5px solid transparent;border-top:6px solid #fff}.k3d-block-pin.is-hover,.k3d-block-pin:hover{background:#00B8D9;transform:scale(1.06)}.k3d-block-pin.is-selected{background:#FF7A00}@media (max-width:760px){.k3d-block-pin{padding:3px 8px;font-size:11px}}.page-sticky{position:-webkit-sticky;position:sticky;top:-20px;z-index:40;margin:-20px -24px 14px;padding:20px 24px 10px;background:var(--bg);box-shadow:0 6px 14px -12px rgba(13,13,31,.35)}.page-sticky .topbar{margin-bottom:10px}.page-sticky .filters{margin-bottom:0}@media (min-width:961px){.panel-layout>.side-panel{top:max(16px,calc(var(--page-sticky-h, 0px) - 8px));max-height:calc(100vh - max(40px, calc(var(--page-sticky-h, 0px) + 4px)))}}@media (max-width:960px){.page-sticky{position:static;margin:0 0 12px;padding:0;background:none;box-shadow:none}.dash-filters{flex-wrap:wrap}.dash-filters .dash-f-date,.dash-filters .dash-f-group,.dash-filters .field{flex:1 1 45%}.dash-filters .dash-f-author{flex:1 1 100%}}.input.input-invalid,.input[aria-invalid=true]{border-color:#ed1c24;box-shadow:0 0 0 2px rgba(237,28,36,.15)}.dash-filters{display:flex;flex-wrap:nowrap;align-items:flex-end;gap:10px;padding:10px 12px;margin-bottom:0}.dash-filters .field{flex:1 1 140px;min-width:0}.dash-filters .dash-f-date{flex:0 0 150px}.dash-filters .dash-f-group{flex:0 0 130px}.dash-filters .dash-f-author{flex:2 1 340px}.dash-author-row{display:flex;gap:6px}.dash-author-row>*{flex:1 1;min-width:0}.dash-filters .dash-filter-actions{flex:0 0 auto}.dash-range-error{margin:6px 4px 0;color:#c8141b;font-size:.82rem;font-weight:600}@media (min-width:961px){.fund-filters{padding:10px 12px}.fund-filters .filters-body{display:flex;flex-wrap:nowrap;align-items:center;gap:8px}.fund-filters .filters-grid{display:flex;flex:1 1 auto;flex-wrap:nowrap;gap:8px;min-width:0}.fund-filters .filters-grid>*{flex:1 1 120px;min-width:0}.fund-filters .filters-grid>.ff-xs{flex:0.6 1 70px}.fund-filters .filters-grid>.ff-sm{flex:0.8 1 90px}.fund-filters .filters-grid>select{flex:1.3 1 130px}.fund-filters .filters-actions{flex:0 0 auto;flex-wrap:nowrap}.fund-filters .filters-actions .btn{min-height:40px}.fund-filters .input,.fund-filters .select{min-height:40px;padding-left:10px;padding-right:10px}}.chess-density{margin:0}.chess-density .tab{padding:6px 12px;font-size:.8rem}.chess-dense-num,.chess-dense-price,.entrance-word-short{display:none}@media (min-width:961px){.chess-wrap.chess-dense{overflow:visible;-webkit-mask-image:none;mask-image:none;padding:10px 12px 14px}.chess-dense .chess-toolbar{margin-bottom:10px;padding-bottom:8px}.chess-dense .chess-building{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:14px}.chess-dense .chess-building-title{flex:0 0 100%;margin:0;padding-bottom:6px;font-size:.95rem}.chess-dense .chess-block{margin:0}.chess-dense .chess-block-title{display:none}.chess-dense .chess-block-row{flex-wrap:nowrap;gap:6px}.chess-dense .chess-entrance{margin:0}.chess-dense .entrance-header{position:static;min-width:0;margin-bottom:4px;padding:3px 6px;border-radius:8px;font-size:.72rem;gap:6px}.chess-dense .entrance-word{display:none}.chess-dense .entrance-word-short{display:inline}.chess-dense .entrance-free{font-size:.68rem}.chess-dense .entrance-free-word{display:none}.chess-dense .chess-grid{gap:2px;min-width:0}.chess-dense .chess-row{grid-auto-columns:var(--dense-cell,30px);gap:2px}.chess-dense .floor-label{position:static;min-width:0;width:var(--dense-cell,30px);padding:0;height:var(--dense-cell-h,30px);border-radius:6px;box-shadow:none}.chess-dense .floor-num{font-size:.7rem}.chess-dense .floor-unit{display:none}.chess-dense .chess-cell,.chess-dense .chess-cell.plus{min-height:0;min-width:0;width:var(--dense-cell,30px);height:var(--dense-cell-h,30px);padding:0;border-radius:6px;align-items:center;justify-content:center;gap:0;font-size:.66rem;font-weight:700;line-height:1.05}.chess-dense .chess-cell.status-free{--tint:16%}.chess-dense .chess-cell.status-reserved{--tint:32%}.chess-dense .chess-cell.status-sold{--tint:36%}.chess-dense .chess-cell.status-not-for-sale{--tint:40%}.chess-dense .chess-cell:hover{transform:scale(1.18)}.chess-dense .chess-cell.selected{box-shadow:0 0 0 2px var(--cta),0 0 0 4px rgba(237,28,36,.25)}.chess-dense .chess-cell-num,.chess-dense .chess-plus-m2,.chess-dense .chess-plus-meta,.chess-dense .chess-plus-num,.chess-dense .chess-plus-price{display:none}.chess-dense .chess-dense-num{display:block;max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap}.chess-dense .chess-dense-num.long{font-size:.5rem;letter-spacing:-.02em;white-space:normal;word-break:break-all}.chess-dense .chess-dense-price{display:block;font-size:.5rem;font-weight:600;opacity:.8}.chess-wrap.chess-dense{--dense-cell-h:36px}.chess-dense.chess-dense-plus{--dense-cell:33px;--dense-cell-h:42px}.chess-dense .chess-lock-badge{top:-4px;right:-4px;width:12px;height:12px}.chess-dense .chess-lock-icon{width:8px;height:8px}.chess-dense .chess-viewer-badge{top:2px;left:2px;width:5px;height:5px}.chess-dense .chess-tip{top:auto;bottom:calc(100% + 6px)}}.floor-plan2d-spot{min-width:0;width:18px;height:18px;padding:0;border-radius:50%;border:2px solid #fff;background:var(--spot-bg,#2E2FE3);font-size:0;line-height:0;box-shadow:0 1px 4px rgba(0,0,0,.35);transition:box-shadow .12s,width .12s,height .12s}.floor-plan2d-spot.is-hover,.floor-plan2d-spot:hover{background:var(--spot-bg,#2E2FE3);box-shadow:0 0 0 3px #00B8D9,0 1px 6px rgba(0,0,0,.35);z-index:3}.floor-plan2d-spot.is-selected{background:var(--spot-bg,#2E2FE3);width:22px;height:22px;box-shadow:0 0 0 3px #FF7A00,0 0 0 6px rgba(255,122,0,.3);z-index:4}.floor-plan2d--full .floor-plan2d-spot{width:22px;height:22px}.floor-plan2d--full .floor-plan2d-spot.is-selected{width:26px;height:26px}@media (max-width:760px){.floor-plan2d-spot{min-width:0;width:16px;height:16px;font-size:0;line-height:0}.floor-plan2d-spot.is-selected{width:20px;height:20px}}.table td.num,.table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.table tbody tr.is-active td{background:var(--accent-soft)}.pager{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}.role-pill,.status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.4;white-space:nowrap}.status-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-pill.is-on{background:#e3f5eb;color:#157a45}.status-pill.is-off{background:#f3f3f6;color:#7a7d93}.role-pill{background:var(--accent-soft);color:var(--accent-hover);border:1px solid rgba(46,47,227,.18)}.role-pill--ADMIN{background:#2e2fe3;color:#fff;border-color:#2e2fe3}.role-pill--SALES_HEAD{background:#fff1e0;color:#a35400;border-color:#f5d3a8}.role-pill--SALES_MANAGER{background:#eef0ff;color:#2e2fe3;border-color:#d6d9fb}.form-grid{display:grid;grid-gap:12px;gap:12px}.form-grid>label{display:grid;grid-gap:6px;gap:6px;font-size:.82rem;color:var(--muted)}.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid>label>input:not([type=checkbox]),.form-grid>label>select{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 14px;background:#fff;font:inherit;color:var(--ink)}.form-grid fieldset legend{font-size:.82rem;color:var(--muted);padding:0 4px}.card.form-grid{padding:18px}.emp-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr)) auto;grid-gap:8px;gap:8px;padding:10px;align-items:center}.emp-filters .input,.emp-filters .select{padding:9px 12px;border-radius:12px}.emp-list{padding:0;overflow:hidden}.emp-table td{vertical-align:middle}.emp-row{cursor:pointer}.emp-row:hover td{background:#f7f8ff}.emp-person{display:flex;align-items:center;gap:10px;min-width:0}.emp-person a{color:var(--ink)}.emp-sub{font-size:.8rem}.emp-avatar{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;background:#eef0ff;color:#2e2fe3}.emp-avatar--ADMIN{background:#2e2fe3;color:#fff}.emp-avatar--SALES_HEAD{background:#fff1e0;color:#a35400}.emp-footnote{font-size:.8rem;margin:0;padding:10px 12px}.emp-card{text-decoration:none}.emp-card-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem}.emp-card-stats{font-size:.8rem}.emp-head{align-items:flex-start}.emp-person--lg .emp-avatar{width:52px;height:52px;font-size:1.05rem}.emp-chips{align-items:center;margin-top:6px}.emp-actions,.emp-chips{display:flex;gap:8px;flex-wrap:wrap}.emp-actions{justify-content:flex-end}.emp-tabs{display:inline-flex;margin:0}.emp-overview{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);grid-gap:12px;gap:12px;align-items:start}.emp-section-title{margin:0 0 12px;font-size:1rem}.emp-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.emp-section-head .emp-section-title{margin:0}.emp-mini-btn{padding:4px 10px;font-size:.82rem;min-height:0}.contract-fields,.emp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 24px;gap:0 24px}.contract-fields>div,.emp-fields>div{padding:9px 0;border-bottom:1px solid var(--line);font-size:.92rem;min-width:0;overflow-wrap:anywhere}.contract-fields>div>.muted,.emp-fields .muted{display:block;font-size:.76rem;margin-bottom:3px}.emp-cx-list{display:flex;flex-wrap:wrap;gap:6px}.emp-cx-chip{padding:5px 10px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--line);font-size:.85rem}.emp-tab-card{padding:0;overflow:hidden}.emp-tab-card>p.muted:first-child{padding:14px 12px 0;margin:0}.contract-summary,.emp-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:10px;gap:10px}.contract-summary>div,.emp-kpi-grid>div{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--line)}.contract-summary span,.emp-kpi-grid span{font-size:.76rem;color:var(--muted)}.emp-kpi-grid strong{font-size:1.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.contract-summary strong{font-size:1rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.contract-summary>div.is-danger{background:#fdecec;border-color:#f5c2c4}.contract-summary>div.is-danger strong{color:#b30f16}.emp-modal{width:min(480px,100%)}.emp-check-list{display:grid;grid-gap:6px;gap:6px;max-height:50vh;overflow-y:auto;margin-bottom:4px}.emp-check{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.emp-check:has(input:checked){background:var(--accent-soft);border-color:rgba(46,47,227,.35)}.emp-check input{width:16px;height:16px;accent-color:#2e2fe3}.contracts-registry{padding:0;overflow:hidden}.contracts-registry .mobile-card-list{padding:8px}.contract-modal-backdrop{padding:24px}.modal.contract-modal{width:min(1120px,100%);max-height:calc(100dvh - 48px);padding:0;display:flex;flex-direction:column}.contract-modal-body{padding:20px 24px 0}.contract-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.contract-modal-x{padding:6px 10px}.contract-fields-wide{grid-column:1/-1}.contract-section-title{margin:20px 0 10px;font-size:1rem}.contract-sched-table .table td{vertical-align:middle}.contract-sched-table .table .input{padding:6px 10px;border-radius:10px;min-width:120px}.contract-sched-edit{display:grid;grid-template-columns:minmax(180px,260px) 1fr auto;grid-gap:12px;gap:12px;align-items:end;padding:12px;margin-bottom:10px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--line)}.pay-state{font-size:.82rem;font-weight:600;white-space:nowrap}.pay-state--PAID{color:#157a45}.pay-state--PARTIAL{color:#a35400}.pay-state--OVERDUE{color:#b30f16}.pay-state--UNPAID,.pay-state--UPCOMING{color:var(--muted)}.contract-two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.contract-pay-form{display:grid;grid-template-columns:140px 1fr auto;grid-gap:8px;gap:8px}.contract-pay-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.contract-pay-list>li{padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:.9rem}.contract-modal-actions{position:-webkit-sticky;position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:8px;margin:20px -24px 0;padding:12px 24px;background:#fff;border-top:1px solid var(--line);z-index:2}@media (max-width:1200px){.emp-filters{grid-template-columns:1fr 1fr 1fr}.emp-filters>.input{grid-column:1/-1}}@media (max-width:960px){.emp-filters{grid-template-columns:1fr 1fr}.contract-two-col,.emp-overview{grid-template-columns:1fr}.emp-actions{justify-content:flex-start}.emp-actions .btn{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 8px)}.emp-tabs{display:flex;scrollbar-width:none}.emp-tabs::-webkit-scrollbar{display:none}.emp-list .mobile-card-list{padding:8px}.emp-tab-card .table-wrap{overflow-x:auto}.modal-backdrop.contract-modal-backdrop{padding:0;align-items:stretch}.modal.contract-modal{width:100%;max-height:none;height:100dvh;border-radius:0;padding:0;border:0}.contract-modal-body{padding:calc(14px + env(safe-area-inset-top, 0px)) 14px 0}.contract-modal-head{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:#fff;margin:calc(-14px - env(safe-area-inset-top, 0px)) -14px 12px;padding:calc(14px + env(safe-area-inset-top, 0px)) 14px 10px;border-bottom:1px solid var(--line)}.contract-modal-head h2{font-size:1.15rem}.contract-fields{grid-template-columns:1fr}.contract-summary{grid-template-columns:1fr 1fr}.contract-pay-form,.contract-sched-edit{grid-template-columns:1fr}.contract-modal-actions{margin:16px -14px 0;padding:10px 14px calc(10px + env(safe-area-inset-bottom, 0px))}.contract-modal-actions .btn{flex:1 1 auto}.contract-modal-actions>span{display:none}}@media (max-width:520px){.emp-fields{grid-template-columns:1fr}}@media print{body:has(.contract-modal-backdrop)>:not(.contract-modal-backdrop){display:none!important}.contract-modal-backdrop{position:static!important;background:none!important;padding:0!important;display:block!important}.modal.contract-modal{max-height:none!important;height:auto!important;box-shadow:none!important;border:0!important;width:100%!important;overflow:visible!important;animation:none!important}.contract-modal-actions,.contract-modal-body .btn,.contract-modal-x,.contract-pay-form{display:none!important}}@media (max-width:960px){.app-shell{align-content:start}}.notif-dropdown.notif-dropdown--floating{position:fixed;right:auto;z-index:1300;display:flex;flex-direction:column;overflow:hidden}.notif-dropdown--floating .notif-dropdown-head{flex-shrink:0}.notif-dropdown--floating .notif-list{max-height:none;flex:1 1 auto;min-height:0;overflow-y:auto}.notif-dropdown--floating .notif-item{display:block;color:var(--ink);font:inherit}.notif-dropdown--floating .notif-item:hover{background:var(--accent-soft)}.notif-dropdown--floating .notif-item-msg{overflow-wrap:anywhere}.notif-dropdown--floating .notif-dropdown-actions .btn{padding:4px 10px;min-height:0;font-size:.8rem}@media (max-width:960px){.notif-dropdown.notif-dropdown--floating{width:auto;right:8px}}.visual-plan2d-img{display:block;max-width:100%;width:auto;height:auto;max-height:min(56vh,520px);object-fit:contain;margin:0 auto;background:#fff}.unit-model-preview-stage .visual-plan2d{height:100%;min-height:0;padding:6px;overflow:hidden}.unit-model-preview-stage .visual-plan2d-img{max-height:148px}.unit-model-preview-stage .visual-plan2d-note{display:none}.unit-model-lightbox-stage--plan .visual-plan2d-img{max-height:76vh}@media (min-width:961px){.main.main--registry{padding-bottom:16px}.table-wrap.registry-fit{overflow:auto;overscroll-behavior:contain}.table-wrap.registry-fit>table>thead>tr>th{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:linear-gradient(var(--accent-soft),var(--accent-soft)),var(--bg-elevated);box-shadow:inset 0 -1px 0 var(--line)}}.finance-create-row .field--cp{flex:1.4 1 220px}.cp-select{position:relative}.cp-select .input{width:100%;padding-right:30px}.cp-select-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:.85rem;padding:4px}.cp-select-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;list-style:none;margin:0;padding:4px;max-height:280px;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.cp-select-option{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.88rem;padding:7px 10px;border-radius:8px;cursor:pointer}.cp-select-option .muted{font-size:.75rem}.cp-select-option.is-active{background:var(--accent-soft)}.cp-select-option.is-selected{font-weight:650}.cp-select-empty{padding:8px 10px;font-size:.85rem}.comment-cell{display:inline-flex;align-items:center;gap:6px;min-width:140px}.comment-cell .input{min-width:160px;padding:4px 8px}.comment-cell .btn{padding:2px 8px;min-height:0}.comment-cell-edit{opacity:.55}.comment-cell-edit:hover{opacity:1}.finance-create-row .field--comment{min-width:200px;flex:1 1 200px}.automations-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:12px}.automations-stat{padding:10px 12px;min-width:0}.automations-stat-label{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.automations-stat-value{font-size:22px;font-weight:600;line-height:1.2}.automations-filters{display:grid;grid-template-columns:minmax(200px,1.6fr) repeat(4,minmax(140px,1fr));grid-gap:8px;gap:8px;margin-bottom:12px;align-items:center}.automations-filters .input,.automations-filters .select{width:100%;min-width:0}.automations-table-card{padding:0;overflow:hidden}.automations-table-card .table-wrap{overflow:auto}@media (max-width:1200px){.automations-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.automations-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.automations-filters .input{grid-column:1/-1}}@media (max-width:960px){.automations-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.automations-filters{grid-template-columns:1fr}}.admin-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin:0 0 16px}.admin-tile{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:var(--radius-lg,14px);border:1px solid var(--line,#e3e6f0);background:#fff;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}.admin-tile:hover{border-color:var(--accent,#3b3bdb);box-shadow:0 4px 14px rgba(40,40,120,.08)}.admin-tile .muted{font-size:12px}.admin-scroll-list{list-style:none;margin:0;padding:0;max-height:320px;overflow:auto;border:1px solid var(--line,#e3e6f0);border-radius:10px}.admin-scroll-list li{display:flex;justify-content:space-between;gap:8px;padding:6px 10px;font-size:13px;border-bottom:1px solid var(--line,#eef0f6)}.admin-scroll-list li:last-child{border-bottom:0}.admin-unit-picker{margin-top:8px;max-height:260px;overflow:auto;border:1px solid var(--line,#e3e6f0);border-radius:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:4px;gap:4px;padding:6px}.admin-unit-opt{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid transparent;border-radius:8px;background:transparent;cursor:pointer;font:inherit;font-size:13px;text-align:left}.admin-unit-opt.active,.admin-unit-opt:hover{background:var(--accent-soft,#eef0ff)}.admin-unit-opt.active{border-color:var(--accent,#3b3bdb)}.admin-unit-status{margin-left:auto;font-size:11px}.admin-nav{display:flex;gap:8px;flex-wrap:wrap}.admin-subpage form{max-width:640px!important}.admin-subpage input[type=file]{font-size:13px}.admin-item-list{list-style:none;margin:0;padding:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:10px;gap:10px;max-height:60vh;overflow:auto}.admin-item-list>li{margin:0!important;padding:10px 12px!important;border:1px solid var(--line,#e3e6f0)!important;border-radius:10px;background:#fff;font-size:13px}.admin-item-actions,.admin-item-list>li>.btn{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.admin-item-list .btn{padding:4px 10px;font-size:12px;min-height:0}@media (max-width:1200px){.admin-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.admin-tiles{grid-template-columns:1fr}}.chess-skeleton{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;padding:6px 0}.chess-skeleton-block{height:260px;border-radius:12px;background:linear-gradient(90deg,rgba(46,47,227,.05),rgba(46,47,227,.11),rgba(46,47,227,.05));background-size:200% 100%;animation:chessSkel 1.2s ease-in-out infinite}@keyframes chessSkel{0%{background-position:100% 0}to{background-position:-100% 0}}.chess-dense .floor-label,.floor-label{background:#1F2A5C;color:#fff;border:none}.floor-label .floor-num,.floor-label .floor-unit{color:#fff}.chess-dense .entrance-header,.entrance-header{background:#2E2FE3;color:#fff;border:none}.entrance-header *,.entrance-header .entrance-free{color:#fff}@media (min-width:961px){.chess-wrap.chess-dense{--dense-cell:40px;--dense-cell-h:44px}.chess-dense.chess-dense-plus{--dense-cell:46px;--dense-cell-h:54px}.chess-dense .chess-cell,.chess-dense .chess-cell.plus{font-size:.8rem}.chess-dense .chess-dense-num.long{font-size:.62rem}.chess-dense .chess-dense-price{font-size:.6rem}.chess-dense .entrance-header,.chess-dense .floor-num{font-size:.8rem}.chess-dense .chess-building{display:grid;grid-template-columns:repeat(var(--chess-cols,4),max-content);justify-content:start;grid-gap:16px 18px;gap:16px 18px}.chess-dense .chess-building-title{grid-column:1/-1}.chess-skeleton{grid-template-columns:repeat(4,1fr)}.chess-dense.chess-dense-plus{--dense-cell:42px;--dense-cell-h:52px}.chess-dense.chess-dense-plus .chess-building{display:flex;flex-wrap:wrap}.chess-dense.chess-dense-plus .chess-building-title{flex:0 0 100%}}.deal-auto-discount{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;padding:10px 12px;margin-bottom:12px;border-radius:12px;background:rgba(46,47,227,.06);border:1px solid rgba(46,47,227,.18)}.deal-auto-discount>div{display:flex;flex-direction:column;gap:2px;font-size:13px}.deal-auto-discount .muted{font-size:11px}@media (max-width:700px){.deal-auto-discount{grid-template-columns:1fr 1fr}}.discount-tiers-card .input,.discount-tiers-card .select{min-width:0;max-width:200px}.discount-tiers-actions{display:flex;gap:6px}@media (min-width:961px){.chess-wrap.chess-dense{--dense-cell:56px;--dense-cell-h:62px}.chess-dense.chess-dense-plus{--dense-cell:60px;--dense-cell-h:74px}.chess-dense .chess-cell,.chess-dense .chess-cell.plus{font-size:1.05rem}.chess-dense .chess-dense-num.long{font-size:.82rem}.chess-dense .chess-cell.plus small,.chess-dense .chess-dense-price{font-size:.78rem}.chess-dense .floor-num{font-size:1rem}.chess-dense .entrance-header{font-size:.95rem}.chess-dense .chess-building{gap:16px 14px}}@media (min-width:961px){.panel-layout:has(.chess-dense):has(>.unit-sheet-placeholder){grid-template-columns:minmax(0,1fr)}.panel-layout:has(.chess-dense)>.unit-sheet-placeholder{display:none}}.contract-status-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.contract-status-badge.st-DRAFT{background:#eef2f7;color:#475569}.contract-status-badge.st-ON_SIGNING{background:#fff4d6;color:#92600a}.contract-status-badge.st-SIGNED{background:#dcfce7;color:#166534}.contract-status-badge.st-TERMINATED{background:#fee2e2;color:#991b1b}.contract-steps{display:flex;gap:6px;flex-wrap:wrap}.contract-step{padding:4px 10px;border-radius:6px;background:#f1f5f9;color:#64748b;font-size:.8rem}.contract-step.is-done{background:#dbeafe;color:#1e40af;font-weight:600}.contract-step.is-off{opacity:.5;text-decoration:line-through}.contract-step.is-terminated{background:#fee2e2;color:#991b1b;font-weight:600}.contract-file-row{display:flex;justify-content:space-between;gap:8px;align-items:center;border:1px solid rgba(15,23,42,.08);border-radius:8px;padding:8px 10px;flex-wrap:wrap}.reservation-until{padding:8px 12px;border-radius:8px;background:#f8fafc;border:1px solid rgba(15,23,42,.08)}.reservation-until.is-expired{background:#fff1f2;border-color:#fecdd3}.perm-matrix{width:100%;border-collapse:collapse}.perm-matrix td,.perm-matrix th{padding:6px 10px;border-bottom:1px solid rgba(15,23,42,.06);text-align:left}.perm-matrix td.c,.perm-matrix th.c{text-align:center}.help-page{max-width:980px}.help-page h2{margin-top:28px}.help-page .help-steps li{margin:4px 0}.help-page .help-card{border:1px solid rgba(15,23,42,.08);border-radius:10px;padding:14px 18px;margin:12px 0;background:#fff}.help-toc{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.help-toc a{padding:4px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;text-decoration:none;font-size:.85rem}.admin-tiles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;max-width:100%}.admin-tile,.admin-tiles{min-width:0;box-sizing:border-box}.admin-tile{overflow:hidden}.admin-tile .muted,.admin-tile strong{overflow-wrap:anywhere}.admin-subpage-head{margin:0 0 14px}.admin-subpage-head h1{margin:0 0 4px}.admin-subpage-head p{margin:0}.admin-subpage{display:grid;grid-gap:14px;gap:14px;padding:20px 24px!important;min-width:0;box-sizing:border-box}.admin-subpage .admin-nav{padding-bottom:12px;border-bottom:1px solid var(--line,#e3e6f0)}.admin-section-title{margin:4px 0 0;font-size:15px}.admin-subpage form.admin-upload-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:10px;gap:10px;max-width:none!important;align-items:center;padding:14px;border:1px solid var(--line,#e3e6f0);border-radius:12px;background:rgba(46,47,227,.02)}.admin-upload-form>.input,.admin-upload-form>.select{width:100%;min-width:0;box-sizing:border-box}.admin-upload-form>.admin-file{grid-column:1/-1}.admin-upload-form>button[type=submit]{grid-column:1/-1;justify-self:start;min-width:200px}.admin-upload-form>p,.admin-upload-form>ul{grid-column:1/-1}.admin-file{font-size:13px;color:var(--muted,#6b6f85);max-width:100%}.admin-file::-webkit-file-upload-button{margin-right:10px;padding:8px 14px;border:0;border-radius:999px;cursor:pointer;background:rgba(46,47,227,.1);color:var(--accent,#2e2fe3);font:inherit;font-weight:500}.admin-file::file-selector-button{margin-right:10px;padding:8px 14px;border:0;border-radius:999px;cursor:pointer;background:rgba(46,47,227,.1);color:var(--accent,#2e2fe3);font:inherit;font-weight:500}.admin-filter-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.admin-filter-row>.select{width:auto;min-width:180px;flex:0 1 220px}.admin-item-list:empty{display:none}.admin-item-list>li{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.admin-pager{display:flex;gap:8px;align-items:center}.admin-preview-box{height:360px;border:1px solid var(--line,#e3e6f0);border-radius:12px;overflow:hidden}@media (max-width:640px){.admin-subpage{padding:14px!important}.admin-upload-form>button[type=submit]{justify-self:stretch;min-width:0}.admin-filter-row>.btn,.admin-filter-row>.select{flex:1 1 100%}.admin-item-list{grid-template-columns:1fr!important}}.help-v2{max-width:1120px}.help-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.help-toolbar .input{flex:1 1 320px;min-width:0}.help-v2 .help-toc{margin:0 0 14px}.help-v2 .help-section{padding:0!important;margin-bottom:12px;overflow:hidden;scroll-margin-top:16px}.help-section-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;background:none;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.help-section-head>span:first-child{display:flex;flex-direction:column;gap:2px}.help-section-head strong{font-size:17px}.help-section-head .muted{font-size:13px}.help-chevron{width:30px;height:30px;flex:none;border-radius:999px;display:grid;place-items:center;background:rgba(46,47,227,.08);color:var(--accent,#2e2fe3);font-size:18px}.help-section-body{padding:0 20px 18px;border-top:1px solid var(--line,#e3e6f0)}.help-scenario h3{margin:18px 0 6px;font-size:15px}.help-steps{margin:0;padding-left:22px;line-height:1.55}.help-steps li{margin:3px 0}.help-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:12px;gap:12px;margin-top:10px}.help-shots figure{margin:0;border:1px solid var(--line,#e3e6f0);border-radius:12px;overflow:hidden;cursor:zoom-in;background:#fff}.help-shots img{display:block;width:100%;height:auto}.help-shots figcaption{padding:6px 10px;font-size:12px;color:var(--muted,#6b6f85);border-top:1px solid var(--line,#e3e6f0)}.help-faq{margin-top:16px;padding:12px 14px;border-radius:12px;background:rgba(46,47,227,.04)}.help-faq h3{margin:0 0 6px;font-size:14px}.help-faq details{padding:6px 0;border-top:1px solid var(--line,#e3e6f0)}.help-faq details:first-of-type{border-top:0}.help-faq summary{cursor:pointer;font-weight:500}.help-faq p{margin:6px 0 0 16px;color:var(--muted,#555)}.help-zoom{position:fixed;inset:0;z-index:1000;background:rgba(15,18,40,.75);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;cursor:zoom-out}.help-zoom img{max-width:96vw;max-height:86vh;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.4)}.help-zoom p{color:#fff;font-size:13px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b6f80' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px}.select[multiple]{background-image:none;padding-right:14px}.form-grid select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236b6f80' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.reservation-until-input{width:auto;padding:6px 10px;border-radius:10px}.automation-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px 16px;gap:14px 16px;align-items:start}.automation-form>*{grid-column:1/-1;min-width:0}.automation-form>.field{grid-column:auto;margin-bottom:0}.automation-form .input,.automation-form .select{border-color:rgba(46,47,227,.28)}.automation-cond-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(0,2fr) auto;grid-gap:8px;gap:8px;align-items:center;margin-bottom:8px}.automation-cond-row>.btn{padding:8px 12px}.automation-action-card{margin-bottom:10px;padding:12px}.automation-action-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;grid-gap:8px;gap:8px;align-items:center;margin-bottom:10px}.automation-action-card .field{margin-bottom:10px}@media (max-width:760px){.automation-form{grid-template-columns:1fr}.automation-cond-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.automation-cond-row>:first-child{grid-column:1/-1}.automation-action-head{grid-template-columns:minmax(0,1fr) auto auto}.automation-action-head>:first-child{grid-column:1/-1}}.admin-perm-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:16px;gap:16px;margin-top:16px}#permissions{min-width:0;overflow-x:auto}@media (max-width:760px){.admin-perm-grid{grid-template-columns:1fr}.automation-action-head{display:flex;flex-wrap:wrap}.automation-action-head>:first-child{flex:1 1 100%}.dash-filters{flex-wrap:wrap}.dash-filters .dash-f-date,.dash-filters .dash-f-group,.dash-filters .field{flex:1 1 45%;min-width:0}.dash-filters .dash-f-author,.dash-filters .dash-filter-actions{flex:1 1 100%}}.automation-form-card{padding:24px 28px}.automation-form-card h2{margin-bottom:18px}.automation-form{gap:18px 20px}.automation-form .label{margin-bottom:8px;font-weight:500}.automation-form .input,.automation-form .select,.automation-form .textarea{padding:12px 16px;min-height:46px}.automation-form .select{padding-right:40px}.automation-form .textarea,.automation-form textarea.input{min-height:88px}.automation-action-card{padding:18px 20px;margin-bottom:12px;box-shadow:none}.automation-action-card .field{margin-bottom:14px}.automation-action-card .field:last-child{margin-bottom:0}.automation-cond-row{gap:10px;margin-bottom:10px}@media (max-width:760px){.automation-form-card{padding:16px}.automation-action-card{padding:14px}}.tasks-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.tasks-bulk-check{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer}.tasks-del-btn{color:var(--danger,#c62828)}.chess-cell.dimmed.status-sold,.chess-cell.status-sold,.chess-dense .chess-cell.status-sold,.chess-legend-item.status-sold{background:repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0 6px,transparent 6px 12px),color-mix(in srgb,var(--cell-bg) 88%,#000000);border-color:color-mix(in srgb,var(--cell-bg) 70%,#000000);color:#ffffff}.chess-cell.status-sold:hover{background:repeating-linear-gradient(135deg,rgba(255,255,255,.16) 0 6px,transparent 6px 12px),color-mix(in srgb,var(--cell-bg) 100%,#000000)}.chess-cell.status-sold *,.chess-cell.status-sold .chess-cell-num,.chess-cell.status-sold .chess-plus-m2,.chess-cell.status-sold .chess-plus-meta,.chess-cell.status-sold .chess-plus-num,.chess-cell.status-sold .chess-plus-price{color:#ffffff!important;opacity:1}.floor-plan2d--full .floor-plan2d-spot,.floor-plan2d-spot{width:46px;height:46px;min-width:0;padding:0;border-radius:50%;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#fff;font-size:0;line-height:1;text-align:center;overflow:hidden}.floor-plan2d--full .floor-plan2d-spot.is-selected,.floor-plan2d-spot.is-selected{width:52px;height:52px}.floor-plan2d-spot-num{font:700 13px/1 system-ui,sans-serif;text-shadow:0 1px 2px rgba(0,0,0,.35)}.floor-plan2d-spot-st{font:600 8px/1 system-ui,sans-serif;text-transform:lowercase;opacity:.95;text-shadow:0 1px 2px rgba(0,0,0,.35);white-space:nowrap}@media (max-width:760px){.floor-plan2d-spot{width:38px;height:38px}.floor-plan2d-spot-num{font-size:11px}.floor-plan2d-spot-st{font-size:7px}}.badge,.role-pill,.status-pill{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:24px;padding:3px 10px;border-radius:999px;font-size:.76rem;font-weight:600;line-height:1.2;white-space:nowrap;text-align:center;vertical-align:middle;flex-shrink:0;max-width:none}td:has(>.badge),td:has(>.role-pill),td:has(>.status-pill),td:has(>span>.badge){white-space:nowrap;width:1%}@media (max-width:760px){.badge,.role-pill,.status-pill{min-height:22px;padding:2px 8px;font-size:.72rem}}.btn.task-title-btn{border-radius:10px;text-align:left;justify-content:flex-start;padding:6px 10px;line-height:1.3;white-space:normal;min-width:160px;height:auto}