:root{--ink:#1e3039;--muted:#799098;--line:#e4ecea;--green:#88c276;--teal:#4db6ab;--blue:#2d95d2;--pale:#d5edfc;--bg:#f6faf9;--shadow:0 14px 42px rgba(33,84,91,.07)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Futura,"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}
button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(45,149,210,.45);outline-offset:2px}
.app-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}
.app-shell[hidden]{display:none}
.sidebar{background:#fff;border-right:1px solid #e8efed;display:flex;flex-direction:column;padding:31px 18px 21px;position:sticky;top:0;height:100vh;z-index:2}
.brand{position:relative;display:flex;align-items:center;justify-content:center;width:190px;height:61px;color:#141b1e;text-decoration:none;border:3px solid transparent;border-image:linear-gradient(130deg,#88c276,#4db6ab,#2d95d2) 1;margin:2px 0 44px 5px}
.brand-small{position:absolute;right:4px;top:-11px;padding:0 6px;background:#fff;font-size:8px;letter-spacing:.32em;font-weight:800}
.brand-name{font-family:Micra,Futura,"Avenir Next",Arial,sans-serif;font-size:16px;font-weight:800;letter-spacing:.22em;margin-left:6px}
.sidebar-caption{font-size:10px;font-weight:800;letter-spacing:.22em;color:#a4b4b4;padding:0 16px;margin-bottom:16px}
.nav{display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:transparent;color:#6d8088;display:flex;align-items:center;gap:14px;height:47px;padding:0 15px;text-align:left;border-radius:11px;font-size:14px;font-weight:600}.nav-item:hover{background:#f1f8f6;color:var(--ink)}.nav-item.is-active{background:#eaf7f1;color:#237d73;font-weight:800}.nav-symbol{width:20px;text-align:center;font-size:23px;line-height:1;color:inherit;font-family:Arial,sans-serif;font-weight:400}.grid-symbol{font-size:20px}.nav-count{margin-left:auto;border-radius:100px;background:#e7f5f0;color:#31887c;padding:3px 7px;font-size:11px}.sidebar-bottom{margin-top:auto}.help-card{display:flex;align-items:center;gap:10px;border:1px solid #dcf0eb;background:linear-gradient(130deg,#f2faf4,#ecf8fa);border-radius:13px;padding:13px 10px;margin-bottom:18px}.help-icon{width:30px;height:30px;background:white;color:#3ba6a1;display:grid;place-items:center;border-radius:50%;font-weight:800}.help-card strong,.profile strong{display:block;font-size:12px}.help-card small,.profile small{display:block;color:#8aa0a5;font-size:10px;margin-top:4px}.help-arrow{margin-left:auto;color:#43a9a0}.profile{display:flex;align-items:center;gap:10px;padding:13px 3px;border-top:1px solid #eef2f1}.avatar{background:linear-gradient(140deg,var(--green),var(--blue));color:#fff;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;font-weight:800}.profile-more{margin-left:auto;color:#82969b;font-size:22px}
.nav-message-icon{display:grid;place-items:center}.nav-message-icon svg{display:block;width:22px;height:22px;fill:currentColor}.nav-message-icon .message-icon-lines{fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round}
.nav-label-compact{display:none}
.mobile-more{display:none}
.mobile-narrow-selection{display:none!important}
.sidebar-theme-toggle{display:flex;align-items:center;justify-content:center;gap:9px;min-height:40px;width:100%;margin-top:auto;margin-bottom:14px;border:1px solid #cce2dc;border-radius:999px;background:#f3faf7;color:#317c70;font-size:12px;font-weight:750;box-shadow:0 4px 14px #1d67500d;cursor:pointer}.sidebar-theme-toggle:hover{background:#e8f6ef;border-color:#9dcfbd}.sidebar-theme-toggle:focus-visible{outline:3px solid #52ada766;outline-offset:2px}.sidebar-theme-icon{display:inline-grid;place-items:center;font-size:19px;line-height:1}.sidebar-bottom{margin-top:0}
.page-head h1{margin-bottom:0}
.main{min-width:0}.topbar{height:78px;background:rgba(255,255,255,.78);border-bottom:1px solid #e9f0ef;display:flex;align-items:center;justify-content:space-between;padding:0 34px;backdrop-filter:blur(12px)}.crumbs{font-size:13px;color:#99aaad}.crumbs span{color:#c8d4d5;padding:0 13px}.crumbs strong{color:#485e65;font-weight:700}.top-actions{display:flex;align-items:center;gap:18px}.demo-badge{border:1px solid #d9e9df;background:#f3faf6;color:#477d64;padding:8px 11px;border-radius:100px;font-size:11px;font-weight:700;white-space:nowrap}.demo-badge i,.live-mark i{display:inline-block;width:6px;height:6px;background:#70bb74;border-radius:50%;margin-right:5px}.icon-button{border:1px solid #e4ecea;background:#fff;color:#477880;width:36px;height:36px;border-radius:50%;font-size:19px}.page{padding:29px 34px 44px;max-width:1680px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 25px}.eyebrow{font-size:10px;color:#39a4a7;font-weight:850;letter-spacing:.22em;margin:0 0 9px}h1,h2,h3,p{margin-top:0}h1{font-size:34px;line-height:1.15;letter-spacing:-.045em;margin-bottom:9px;font-weight:750}.page-intro{font-size:14px;color:#81969c;margin:0}.primary-button{border:0;background:linear-gradient(110deg,#78bd83,#48b4ac,#389fd0);color:#fff;display:flex;align-items:center;gap:9px;padding:13px 17px;border-radius:11px;font-size:13px;font-weight:800;box-shadow:0 9px 18px rgba(57,170,153,.2);white-space:nowrap}.primary-button:hover{filter:brightness(.96)}.button-plus{font-size:20px;font-weight:400;line-height:11px}.button-count{background:rgba(255,255,255,.25);border-radius:20px;padding:3px 7px;font-size:11px}
.summary{display:flex;align-items:center;gap:25px;min-height:94px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 24px;margin-bottom:23px;box-shadow:var(--shadow);position:relative;overflow:hidden}.summary::before{content:"";position:absolute;right:-80px;top:-185px;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(114,216,210,.17),transparent 70%);pointer-events:none}.summary-item{display:flex;align-items:center;gap:13px;min-width:170px;position:relative}.summary-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;font-size:22px}.summary-green{background:#edf8eb;color:#65ae72}.summary-blue{background:#edf6fc;color:#60a9d1}.summary-turquoise{background:#eaf8f5;color:#4bb1a9}.summary-label{display:block;color:#8ca0a5;font-size:11px;white-space:nowrap}.summary-item strong{display:block;font-size:19px;margin-top:2px}.summary-divider{height:37px;border-left:1px solid #e7eeec}.summary-note{margin-left:auto;color:#a0b0b1;font-size:11px;white-space:nowrap;position:relative}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:19px;align-items:stretch}.catalog,.detail-panel{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);min-width:0}.catalog{overflow:hidden}.catalog-top{padding:23px 24px 17px}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title h2{font-size:22px;line-height:1.2;margin:0;letter-spacing:-.03em}.live-mark{font-size:11px;color:#6b9e7a;font-weight:700}.building-tabs{display:flex;gap:7px;margin:20px 0 18px;overflow:auto}.building-tab{border:1px solid #e2ece9;background:#fff;color:#698087;min-width:80px;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:700;white-space:nowrap}.building-tab:hover{border-color:#9cdacb}.building-tab.is-active{background:#eaf7f2;border-color:#acdccc;color:#287e71}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:#f7faf9;border:1px solid #edf1ef;border-radius:12px;padding:12px}.filter-field{display:flex;flex-direction:column;gap:7px}.filter-field>span{font-size:10px;color:#87999e;font-weight:700}.input-wrap{height:35px;border:1px solid #e4ece9;border-radius:7px;background:#fff;display:flex;align-items:center;padding:0 8px;gap:5px}.input-wrap span{font-size:21px;color:#90a5a8;line-height:1}.input-wrap input{border:0;background:transparent;outline:0;width:126px;font-size:12px;color:var(--ink)}.room-buttons{display:flex;gap:3px}.room-button{min-width:31px;height:35px;border:1px solid #e4ece9;background:#fff;color:#7b9097;border-radius:7px;font-size:11px;font-weight:700}.room-button.is-active{border-color:#7cc6ad;background:#e4f5ed;color:#25866e}.floor-field select{height:35px;border:1px solid #e4ece9;border-radius:7px;background:#fff;color:#536970;padding:0 8px;font-size:12px;min-width:85px}.reset-button{border:0;background:transparent;color:#52a9ab;font-size:11px;font-weight:700;height:35px;padding:0 3px}.grid-toolbar{display:flex;align-items:center;justify-content:space-between;padding:17px 24px;background:#fff;border-top:1px solid #edf1ef;border-bottom:1px solid #edf1ef}.grid-toolbar strong{font-size:15px;display:block}.grid-toolbar span{font-size:11px;color:#9aabad}.grid-toolbar .grid-count{font-size:11px;color:#2b9978;background:#edf8f1;padding:6px 9px;border-radius:20px;font-weight:700}.grid-scroll{overflow:auto;padding:19px 24px 20px;min-height:470px;max-height:550px}.chessboard{width:max-content;min-width:100%}.board-head,.board-row{display:grid;grid-template-columns:39px repeat(var(--columns),65px);gap:6px}.board-head{margin-bottom:8px}.board-head .corner{grid-column:1}.section-label{text-align:center;color:#536f76;font-size:11px;font-weight:800;padding:4px 0 6px;border-bottom:2px solid #d4e9e6}.board-row{margin-bottom:6px}.floor-number{display:grid;place-items:center;color:#98a9ad;font-size:11px;font-weight:700}.unit-cell{height:44px;border:1px solid #dce4e3;background:#eef1f1;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.12;color:#aebabc;font-size:10px;gap:1px}.unit-cell small{font-size:9px;color:inherit}.unit-cell.available{background:#edf8ef;border-color:#b7e3c1;color:#3c8767;font-weight:800;transition:transform .14s,box-shadow .14s,border-color .14s}.unit-cell.available:hover{transform:translateY(-2px);box-shadow:0 5px 11px #57ae9130;border-color:#62c4a1}.unit-cell.available.active{border:2px solid #37a5a6;background:#e0f5ed}.unit-cell.selected{background:linear-gradient(145deg,#84c88a,#53bcb0);border-color:#5bb59e;color:#fff}.unit-cell.filtered{background:#f7f9f8;border-color:#edf1f0;color:#bcc8c8;cursor:default}.unit-cell.hole{background:transparent;border:0}.legend{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-top:1px solid #eef2f0;padding:15px 24px;color:#84989d;font-size:10px}.legend span{display:flex;align-items:center;gap:6px;white-space:nowrap}.legend i{width:13px;height:13px;border-radius:4px;display:inline-block}.legend-free{background:#e4f6e9;border:1px solid #a8ddb7}.legend-selected{background:linear-gradient(130deg,#88c276,#4db6ab)}.legend-muted{background:#eef1f1;border:1px solid #dce4e3}.legend small{margin-left:auto;color:#aab9ba;font-size:10px}
.detail-panel{padding:21px;display:flex;flex-direction:column;min-height:620px}.panel-top{display:flex;align-items:start;justify-content:space-between}.panel-eyebrow{font-size:10px;color:#8ca2a6;letter-spacing:.16em;font-weight:800}.panel-tag{font-size:10px;color:#278767;background:#e9f8ed;border-radius:20px;padding:5px 8px;font-weight:800}.panel-title{font-size:23px;font-weight:800;margin:10px 0 4px;line-height:1.2}.panel-subtitle{color:#879a9f;font-size:12px;margin-bottom:19px}.plan-visual{height:195px;display:grid;place-items:center;background:#f6faf9;border:1px solid #e7efec;border-radius:11px;overflow:hidden;position:relative}.plan-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 32% 23%,rgba(126,206,153,.12),transparent 55%)}.plan-svg{width:173px;height:145px;position:relative}.plan-caption{position:absolute;bottom:8px;right:9px;font-size:9px;color:#a0b2b3}.property-tags{display:flex;gap:6px;margin:17px 0}.property-tags span{background:#f3f8f7;color:#61818a;padding:5px 8px;border-radius:6px;font-size:10px;font-weight:700}.facts{display:grid;grid-template-columns:1fr 1fr;gap:17px 8px;margin:7px 0 17px}.fact small{display:block;color:#98aaae;font-size:10px;margin-bottom:5px}.fact strong{font-size:14px}.price-row{border-top:1px solid #edf2f0;padding-top:15px;margin-top:auto}.price-row small{color:#93a7a9;font-size:10px}.price-row strong{display:block;font-size:24px;letter-spacing:-.04em;margin:4px 0 15px}.wide-button{width:100%;justify-content:center;background:linear-gradient(110deg,#72c37e,#49b5ab);box-shadow:none}.selection-box{border-top:1px solid #edf2f0;padding-top:16px;margin-top:auto}.selection-box h3{font-size:15px;margin-bottom:5px}.selection-box p{color:#92a6a8;font-size:11px;line-height:1.5;margin-bottom:15px}.selection-empty{display:grid;place-items:center;text-align:center;min-height:260px;color:#9fb2b5}.selection-empty-icon{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(130deg,#e8f7eb,#e4f7f6);color:#6ab9a8;font-size:29px;margin-bottom:16px}.selection-empty strong{color:#435b62;font-size:17px;display:block;margin-bottom:8px}.selection-empty p{font-size:12px;line-height:1.55;max-width:190px}.selection-list{display:flex;flex-direction:column;gap:7px;margin:15px 0}.selection-row{display:flex;align-items:center;justify-content:space-between;background:#f5faf7;border:1px solid #e4f1e9;border-radius:9px;padding:9px}.selection-row strong{font-size:12px}.selection-row small{font-size:10px;color:#7c9a90;display:block;margin-top:3px}.selection-row button{border:0;background:transparent;color:#a3b1b2;font-size:16px}.selection-footer{margin-top:auto}.selection-footer .primary-button{width:100%;justify-content:center}.selection-footer small{display:block;text-align:center;color:#a4b6b6;font-size:10px;margin-top:9px}.back-link{border:0;background:transparent;color:#3fa8a4;font-size:11px;font-weight:800;padding:0;margin:0 0 15px;text-align:left}.toast{position:fixed;right:22px;bottom:22px;padding:12px 16px;border-radius:10px;background:#244e58;color:#fff;font-size:12px;box-shadow:0 12px 25px #0002;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:10;max-width:340px}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1250px){.workspace{grid-template-columns:minmax(0,1fr) 275px}.page{padding:25px 22px}.topbar{padding:0 22px}.summary-note{display:none}.grid-scroll{padding-left:15px;padding-right:15px}.catalog-top{padding-left:18px;padding-right:18px}}
@media(max-width:1050px){.app-shell{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding:20px 11px}.brand{width:47px;height:44px;margin:0 0 45px}.brand-small,.brand-name{display:none}.brand::after{content:"Н";font-size:22px;font-weight:900;color:#3196b4}.sidebar-caption,.nav-item span:not(.nav-symbol),.sidebar-bottom{display:none}.nav-item{justify-content:center;padding:0}.nav-symbol{display:block!important}.workspace{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:1050px){.sidebar-theme-toggle{width:46px;min-height:46px;align-self:center;margin-bottom:0}.sidebar-theme-toggle [data-theme-label]{display:none}}
@media(max-width:1050px){.sidebar .nav-item span.nav-label-full{display:none!important}.sidebar .nav-item span.nav-label-compact{display:block!important}}
@media(max-width:790px){.workspace{grid-template-columns:1fr}.detail-panel{min-height:0}.page-head{align-items:start}.summary{gap:12px;padding:13px}.summary-item{min-width:0;flex:1}.summary-label{white-space:normal}.summary-divider{display:none}.grid-scroll{min-height:0;max-height:none}.detail-panel{display:block}.selection-empty{min-height:160px}}
@media(max-width:610px){.app-shell{display:block;padding-bottom:59px}.sidebar{height:59px;position:fixed;top:auto;bottom:0;left:0;right:0;display:block;padding:5px;border-top:1px solid #e4ecea;border-right:0}.brand,.sidebar-caption,.sidebar-bottom{display:none}.nav{flex-direction:row;justify-content:space-around}.nav-item{height:48px;min-width:47px}.topbar{height:58px;padding:0 16px}.demo-badge{font-size:0;padding:7px}.demo-badge i{margin:0}.top-actions{gap:8px}.page{padding:22px 14px}.page-head{display:block}.page-head .primary-button{margin-top:18px}h1{font-size:29px}.summary{margin-bottom:14px;flex-wrap:wrap}.summary-item{flex-basis:45%}.summary-item:last-of-type{display:none}.section-title h2{font-size:20px}.catalog-top{padding:18px 14px}.filters{gap:9px}.room-buttons{gap:2px}.grid-toolbar{padding:14px}.grid-scroll{padding:14px;overflow-x:auto}.legend{padding:12px 14px}.legend small{display:none}.detail-panel{padding:17px}.board-head,.board-row{grid-template-columns:32px repeat(var(--columns),58px)}.unit-cell{height:42px}}
@media(max-width:610px){.sidebar-theme-toggle{position:fixed;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));z-index:9;width:44px;min-height:44px;margin:0;border-radius:50%;box-shadow:0 5px 18px #102c2b2b}}
.board-empty{min-width:280px;min-height:260px;display:grid;place-items:center;text-align:center;color:#71898b;font-size:14px;padding:24px}
.apartment-price{margin-top:0;padding:16px;border:1px solid #dceee4;border-radius:12px;background:#f5fbf7}
.apartment-price strong{margin:4px 0 5px}
.previous-price,.square-price{display:block;font-size:11px;color:#738e93;line-height:1.5}
.previous-price del{margin-left:4px}
.property-actions{display:grid;gap:8px;margin-top:15px}
.apartment-specs{margin-top:21px}
.apartment-specs h3{font-size:13px;margin:0 0 12px;color:#486b6d}
.apartment-specs .facts{display:block;margin:0 0 20px}
.apartment-specs .fact{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid #e8efeb;padding:9px 0}
.apartment-specs .fact small{flex:1;line-height:1.4;margin:0}
.apartment-specs .fact strong{font-size:12px;line-height:1.4;text-align:right;overflow-wrap:anywhere}
.apartment-features{display:flex;flex-wrap:wrap;gap:7px}
.feature-chip{border:1px solid #dceee4;background:#f3faf6;color:#467966;padding:6px 9px;border-radius:8px;font-size:11px;line-height:1.3}
.board-head{position:sticky;top:0;z-index:2;background:#fff}
.floor-number,.board-head .corner{position:sticky;left:0;z-index:1;background:#fff}
.board-head .corner{z-index:3}
.filter-ranges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;border-top:1px solid #e8efec;padding-top:11px;margin-top:2px}
.filter-extra{width:100%;border-top:1px solid #e8efec;padding-top:10px}
.filter-extra summary{width:max-content;color:#328e91;font-size:12px;font-weight:750;cursor:pointer;list-style-position:inside}
.filter-extra summary:hover{color:#237470}
.filter-extra-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin-top:13px}
.filter-extra-grid .filter-field{min-width:0}
.filter-extra-grid select{height:35px;width:100%;min-width:0;border:1px solid #e4ece9;border-radius:7px;background:#fff;color:#536970;padding:0 8px;font-size:12px}
.filter-pair{display:grid;grid-template-columns:1fr 1fr;gap:5px;min-width:0;margin:0;padding:0;border:0}
.filter-pair legend{padding:0 0 7px;color:#87999e;font-size:10px;font-weight:700}
.filter-pair input{width:100%;min-width:0;height:35px;border:1px solid #e4ece9;border-radius:7px;background:#fff;color:var(--ink);padding:0 8px;font-size:12px;outline:none}
.filter-pair input:focus,.filter-extra-grid select:focus{border-color:#76c5af;box-shadow:0 0 0 3px #8ed8c631}
.building-picker{margin-top:18px;border-top:1px solid #e8efec;padding-top:15px}
.building-picker-label{display:block;font-size:10px;font-weight:800;color:#87999e;text-transform:uppercase;letter-spacing:.12em}
.building-picker .building-tabs{margin:10px 0 14px}
.building-tab{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.building-match-count{min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:inline-grid;place-items:center;background:#58b680;color:#fff;font-size:10px;font-weight:850;line-height:1}
.view-switch{display:flex;gap:5px;width:max-content;max-width:100%;padding:4px;border-radius:10px;background:#f1f6f4;border:1px solid #e2ece8}
.view-button{min-height:36px;padding:0 14px;border:0;border-radius:7px;background:transparent;color:#698087;font-size:12px;font-weight:750;white-space:nowrap}
.view-button.is-active{background:#fff;color:#287e71;box-shadow:0 2px 8px #1c61401b}
.grid-scroll[hidden],.legend[hidden],.apartment-list[hidden]{display:none}
.apartment-list{padding:17px 20px 22px;min-height:300px}
.property-list-items{display:grid;gap:10px}
.property-list-card{display:flex;align-items:center;gap:14px;border:1px solid #dbe8e5;border-radius:12px;background:#fff;padding:11px;min-width:0}
.property-list-card.is-active{border-color:#52b99c;box-shadow:0 0 0 2px #76c5af30}
.property-list-thumb{width:66px;height:66px;flex:0 0 66px;border-radius:9px;background:linear-gradient(135deg,#e4f5e9,#e7f3f4);color:#5daa84;display:flex;flex-direction:column;align-items:center;justify-content:center}
.property-list-thumb span{font-size:24px;line-height:1}.property-list-thumb small{font-size:10px;font-weight:800}
.property-list-thumb{border:0;padding:4px;cursor:pointer;overflow:hidden}
.property-list-thumb img{display:block;width:100%;height:100%;object-fit:contain;background:#fff;border-radius:5px}
.property-list-thumb .plan-fallback{font-size:9px;line-height:1.2;text-align:center;padding:5px}
.plan-fallback[hidden],.property-list-thumb img[hidden],.plan-gallery-item img[hidden]{display:none}
.plan-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 17px}
.plan-gallery-item{min-width:0;border:1px solid #e1ece8;background:#f8fbf9;border-radius:10px;padding:6px;cursor:zoom-in;color:#577a7c}
.plan-gallery-item img{display:block;width:100%;height:145px;object-fit:contain;background:#fff;border-radius:6px}
.plan-gallery-label{display:block;font-size:10px;font-weight:750;margin-top:6px;text-align:center}
.plan-gallery-item .plan-fallback{display:grid;place-items:center;min-height:145px;font-size:11px;text-align:center}
.plan-gallery-item .plan-fallback[hidden]{display:none}
.plan-empty{display:grid;place-items:center;min-height:150px;border:1px solid #e1ece8;background:#f8fbf9;border-radius:10px;color:#8ba1a2;font-size:12px;margin:4px 0 17px}
.plan-overlay[hidden],.plan-overlay-error[hidden]{display:none}
.plan-overlay{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:rgba(13,32,35,.82);padding:18px}
.plan-dialog{width:min(900px,100%);max-height:95dvh;background:#fff;border-radius:14px;padding:14px;display:flex;flex-direction:column;box-shadow:0 25px 70px #0005}
.plan-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:#34575b;font-size:14px}
.plan-dialog-head button{border:0;background:#edf7f3;color:#277e70;border-radius:8px;width:36px;height:36px;font-size:26px;line-height:1}
.plan-dialog img{display:block;max-width:100%;max-height:calc(95dvh - 92px);object-fit:contain;margin:auto}
.plan-dialog img[hidden],.plan-dialog p[hidden]{display:none}
.plan-dialog p{margin:25px;text-align:center;color:#82999d;font-size:13px}
.property-list-info{min-width:0;flex:1}.property-list-title{border:0;background:transparent;padding:0;text-align:left;color:#28454d;font-size:14px;font-weight:800;line-height:1.3;cursor:pointer}
.property-list-title:hover{color:#238e7e;text-decoration:underline}.property-list-info p{font-size:11px;line-height:1.5;color:#81959b;margin:5px 0 0}
.property-list-add{flex:0 0 auto;border:1px solid #a5d8c0;background:#f4fbf6;color:#248568;border-radius:8px;padding:9px 11px;font-size:11px;font-weight:800;white-space:nowrap}
.property-list-add.is-selected{background:#e0f5e8;border-color:#71c89b}.property-list-add:hover{background:#e9f8ee}
.list-empty{padding:45px 18px;text-align:center;color:#789196;font-size:13px;line-height:1.5}
.list-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:17px;color:#81959b;font-size:11px}
.list-pagination button{border:1px solid #dbe8e5;background:#fff;color:#287e71;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:750}
.list-pagination button:disabled{opacity:.45;cursor:default}
@media(max-width:610px){.view-switch{width:100%}.view-button{flex:1}.apartment-list{padding:12px}.property-list-card{flex-wrap:wrap;gap:10px}.property-list-thumb{width:52px;height:52px;flex-basis:52px}.property-list-info{flex-basis:calc(100% - 70px)}.property-list-add{margin-left:auto}.building-picker{margin-top:15px}}
@media(max-width:610px){.filter-extra{grid-column:1/-1}.filter-extra-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.filter-extra-grid select,.filter-pair input{height:44px;font-size:14px}}
@media(max-width:390px){.filter-extra-grid{grid-template-columns:1fr}}
@media(max-width:610px){.filter-ranges{grid-template-columns:1fr;gap:10px}}
.profile{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}
.top-profile-button{border:1px solid #b9dfd0;background:#eef9f2;color:#277e70;border-radius:9px;padding:8px 12px;font-size:12px;font-weight:800}
.auth-backdrop[hidden]{display:none}
.auth-backdrop{position:fixed;inset:0;background:rgba(21,43,48,.52);z-index:20;display:grid;place-items:center;padding:18px}
.auth-dialog{position:relative;background:#fff;border-radius:18px;width:min(100%,430px);max-height:min(90vh,800px);overflow:auto;padding:30px;box-shadow:0 25px 80px #1233}
.auth-dialog h2{font-size:25px;margin:0 0 6px}.auth-intro{color:#7d9298;font-size:13px;line-height:1.5;margin-bottom:20px}
.auth-close{position:absolute;right:18px;top:12px;border:0;background:transparent;color:#8aa0a3;font-size:30px;line-height:1}
.auth-dialog form{display:grid;gap:13px}.auth-field{display:grid;gap:6px}.auth-field span{font-size:12px;color:#657f84;font-weight:700}.auth-field input{height:42px;border:1px solid #dce9e6;border-radius:8px;padding:0 12px;color:var(--ink);background:#fff}
.auth-dialog form+form{border-top:1px solid #e6efec;margin-top:22px;padding-top:19px}.auth-dialog form h3{font-size:15px;margin:0}
.agency-hint{color:#718b8e;font-size:12px;line-height:1.4}.agency-suggestions{display:grid;gap:3px;max-height:175px;overflow:auto;color:#718b8e;font-size:12px}.agency-option{border:1px solid #e2eeeb;border-radius:8px;background:#f8fbfa;color:var(--ink);padding:8px 10px;text-align:left;cursor:pointer;font:inherit}.agency-option:hover,.agency-option:focus-visible{border-color:#4db6ab;background:#eaf8f3}
.agency-current{margin:0;color:#657f84;font-size:13px}
.auth-dialog .primary-button{margin-top:7px;justify-content:center}.auth-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:17px}.auth-links button,.auth-logout{padding:0;border:0;background:transparent;color:#339e9c;font-size:12px;font-weight:700}.auth-message{color:#a2493e;font-size:12px;min-height:20px;margin:15px 0 0}.profile-facts{display:grid;grid-template-columns:85px 1fr;gap:8px 10px;font-size:13px;border:1px solid #e6efec;background:#f8fbfa;border-radius:10px;padding:14px;margin:0 0 20px}.profile-facts dt{color:#88a0a3}.profile-facts dd{margin:0;overflow-wrap:anywhere}.auth-logout{margin-top:18px}
.auth-legal-links{display:grid;gap:7px;border-top:1px solid #e6efec;margin-top:22px;padding-top:15px;font-size:11px;line-height:1.35}.auth-legal-links a,.auth-consents a{color:#248d83;text-decoration:underline;text-underline-offset:2px}.auth-legal-links a:hover,.auth-consents a:hover{color:#166f68}.auth-consents{border:1px solid #dce9e6;border-radius:10px;margin:4px 0 0;padding:12px;display:grid;gap:11px;min-width:0}.auth-consents label{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.4;color:#3d555b}.auth-consents input{flex:none;width:17px;height:17px;margin:0;accent-color:#248d83}.auth-consents small{color:#718b8e;white-space:nowrap}.auth-consents a:focus-visible,.auth-legal-links a:focus-visible{outline:2px solid #248d83;outline-offset:2px;border-radius:2px}
@media(max-width:610px){.auth-dialog{padding:25px 20px;max-height:calc(100vh - 38px)}}

/* Tablet and phone layouts keep the chessboard scrollable inside its card. */
@media(max-width:1050px){
  .sidebar{padding-left:5px;padding-right:5px}
  .brand{margin-left:auto;margin-right:auto}
  .nav-item{height:59px;flex-direction:column;gap:3px;font-size:10px;line-height:1.1}
  .sidebar .nav-item span:not(.nav-symbol){display:block}
  .nav-symbol{height:24px}
  .nav-count{position:absolute;margin:0;top:3px;right:4px;padding:2px 5px;font-size:9px}
  .nav-item{position:relative}
  .workspace{grid-template-columns:minmax(0,1fr) 280px}
  .filter-field{min-width:0}
  .input-wrap input{min-width:0;max-width:100%}
  .building-tabs,.grid-scroll{-webkit-overflow-scrolling:touch}
}
@media(max-width:790px){
  .workspace{grid-template-columns:minmax(0,1fr)}
  .grid-scroll{max-height:460px;overscroll-behavior:contain}
  .detail-panel{scroll-margin-top:12px}
  .board-head,.board-row{grid-template-columns:36px repeat(var(--columns),66px)}
  .unit-cell{min-height:48px}
  .building-tab,.room-button,.floor-field select,.reset-button{min-height:44px}
  .input-wrap,.filter-pair input{height:44px}
}
@media(max-width:610px){
  html,body{max-width:100%;overflow-x:clip}
  .app-shell{padding-bottom:calc(69px + env(safe-area-inset-bottom))}
  .sidebar{height:calc(69px + env(safe-area-inset-bottom));padding:4px 4px env(safe-area-inset-bottom);z-index:8}
  .nav{height:100%;gap:1px}
  .nav-item{flex:1;min-width:0;height:60px;padding:4px 1px;justify-content:center;border-radius:10px;font-size:10px}
  .nav-symbol{font-size:23px;height:25px}
  .nav-count{top:1px;right:2px}
  .topbar{height:58px;gap:8px;padding:0 14px}
  .crumbs{font-size:0;min-width:0}
  .crumbs span{display:none}
  .crumbs strong{font-size:13px;white-space:nowrap}
  .top-actions{gap:7px;flex-shrink:0}
  .top-profile-button,.icon-button{min-height:44px}
  .icon-button{width:44px}
  .page{padding:19px 12px 26px;min-width:0}
  .page-head{margin-bottom:17px}
  .page-head .primary-button{width:100%;justify-content:center;margin-top:15px;min-height:46px}
  .page-intro{line-height:1.4}
  .summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px;margin-bottom:14px}
  .summary-item{flex:initial;min-width:0;gap:8px}
  .summary-item:nth-child(5){grid-column:1 / -1}
  .summary-icon{width:36px;height:36px;flex:0 0 36px;font-size:19px}
  .summary-label{font-size:10px;line-height:1.25}
  .summary-item strong{font-size:16px}
  .catalog-top{padding:16px 13px}
  .section-title{gap:8px}
  .live-mark{font-size:10px;white-space:nowrap}
  .building-tabs{margin:15px 0;scrollbar-width:thin}
  .building-tab{min-width:76px}
  .filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:11px}
  .search-field,.rooms-field,.filter-ranges{grid-column:1 / -1}
  .input-wrap{width:100%}
  .input-wrap input{width:100%;font-size:14px}
  .room-buttons{width:100%;gap:5px}
  .room-button{flex:1;min-width:0;font-size:12px}
  .floor-field select{width:100%}
  .reset-button{justify-self:end;align-self:end;padding:0 8px}
  .filter-ranges{gap:11px;margin-top:0}
  .filter-pair input{font-size:14px}
  .grid-toolbar{gap:10px;padding:13px;align-items:center}
  .grid-toolbar>div{min-width:0}
  .grid-toolbar strong{font-size:14px}
  .grid-toolbar .grid-count{flex:0 0 auto;max-width:45%;text-align:center;white-space:normal;line-height:1.25}
  .grid-scroll{padding:12px;max-height:min(55dvh,440px)}
  .board-head,.board-row{grid-template-columns:32px repeat(var(--columns),68px)}
  .unit-cell{height:48px;min-height:48px}
  .legend{gap:9px;padding:12px 13px}
  .detail-panel{padding:17px}
  .selection-empty{min-height:150px}
  .toast{left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));max-width:none}
  .auth-backdrop{padding:10px;align-items:center}
  .auth-dialog{width:100%;max-height:calc(100dvh - 20px);padding:25px 19px}
  .auth-field input{min-height:46px;font-size:16px}
  .auth-dialog .primary-button{min-height:46px}
}
.clients-actions{display:flex;align-items:center;gap:10px}
.client-apartment{font-size:13px;color:#317c75;background:#eef8f4;border-radius:8px;padding:7px 10px;margin:7px 0}
.client-apartment-label{display:block;font-size:11px;font-weight:700;color:#587d78;margin-bottom:3px}
.client-commission{font-size:14px;font-weight:700;color:#203b40;margin:8px 0}
.property-actions{display:flex;flex-direction:column;gap:8px;width:100%}
.assignment-overlay{position:fixed;inset:0;z-index:1100;background:#173c4288;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.assignment-overlay[hidden]{display:none}
.assignment-dialog{position:relative;width:min(100%,460px);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:18px;padding:30px;box-shadow:0 24px 70px #173c4238}
.assignment-dialog h2{font-size:25px;color:#203b40;margin:8px 0 16px}
.assignment-close{position:absolute;top:15px;right:17px;border:0;background:none;color:#688386;font-size:26px;cursor:pointer}
.assignment-apartment{padding:10px 12px;background:#edf8f2;border-radius:9px;color:#317c75;font-weight:700}
#assignment-form{display:grid;gap:12px}
#assignment-form label{display:grid;gap:6px;color:#4f6d72;font-size:13px;font-weight:700}
#assignment-form input{width:100%;height:44px;border:1px solid #dce8e5;border-radius:9px;padding:0 12px;color:#203b40;font:inherit;font-size:16px}
#assignment-form input:focus{outline:2px solid #65b9a5;outline-offset:1px}
.assignment-other-toggle{display:flex!important;align-items:center;gap:9px;cursor:pointer}
.assignment-other-toggle input{width:18px!important;height:18px!important;accent-color:#55a77e}
.assignment-other-fields{display:grid;gap:12px;padding:14px;border:1px solid #dce8e5;border-radius:12px;background:#f6faf8}
.assignment-other-fields[hidden]{display:none}
.assignment-message{min-height:18px;margin:0;font-size:13px;color:#4f7779}
.assignment-message.is-error{color:#c83944;font-weight:700}
.assignment-legal-links{display:grid;gap:5px;padding:12px 14px;border:1px solid #dce8e5;border-radius:10px;background:#f6faf8;font-size:12px;line-height:1.4;color:#4f6d72}
.assignment-legal-links a{color:#248d83;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.assignment-legal-links a:focus-visible{outline:2px solid #248d83;outline-offset:2px}
.assignment-submit{width:100%;justify-content:center;min-height:45px}
.assignment-submit:disabled{opacity:.65;cursor:wait}
@media(max-width:610px){.clients-actions{width:100%;flex-direction:column;align-items:stretch}.clients-actions .primary-button{margin-top:0;width:100%}.assignment-dialog{padding:24px 18px}.property-actions{width:100%}}
@media(max-width:350px){
  .nav-item{font-size:9px}
  .demo-badge{display:none}
  .summary{grid-template-columns:1fr 1fr}
  .summary-icon{display:none}
}

/* Full-page entry screen; the cabinet remains hidden until a session is verified. */
.auth-hero{display:none}
.auth-screen{display:grid;grid-template-columns:minmax(280px,460px) minmax(320px,430px);justify-content:center;align-items:center;gap:clamp(24px,6vw,100px);padding:32px;background:radial-gradient(circle at 10% 10%,#e4f6e9,transparent 35%),radial-gradient(circle at 90% 90%,#dceff9,transparent 40%),#f6faf9}
.auth-screen .auth-hero{display:flex;flex-direction:column;justify-content:space-between;min-height:440px;max-width:460px}
.auth-brand{display:flex;align-items:center;gap:13px;font-family:Micra,Futura,"Avenir Next",Arial,sans-serif;font-size:20px;font-weight:800;letter-spacing:.14em;color:#233a40}
.auth-brand small{display:block;margin-top:5px;font-family:Futura,"Avenir Next",Arial,sans-serif;font-size:10px;letter-spacing:.25em;color:#5e9392}
.auth-brand-mark{display:grid;place-items:center;width:56px;height:56px;border:3px solid #67bca4;color:#338f95;font-size:28px;border-radius:12px}
.auth-hero h1{font-size:clamp(30px,4vw,48px);line-height:1.08;max-width:430px}
.auth-hero>div:last-child>p:last-child{color:#69888c;font-size:16px;line-height:1.5;max-width:370px}
.auth-screen .auth-dialog{width:100%;max-height:calc(100dvh - 64px);padding:34px;box-shadow:0 20px 60px #276b6b22}
.auth-screen .auth-close{display:none}
.auth-screen .auth-dialog>.eyebrow{margin-bottom:13px}
.auth-screen .auth-dialog h2{font-size:29px}
.auth-screen .auth-field input{min-height:46px;font-size:16px}
.auth-screen .primary-button{min-height:46px}
@media(max-width:760px){
  .auth-screen{grid-template-columns:minmax(0,430px);align-content:center;gap:18px;padding:16px;overflow:auto}
  .auth-screen .auth-hero{min-height:0;gap:18px}
  .auth-screen .auth-hero h1{font-size:25px;margin-bottom:4px}
  .auth-screen .auth-hero>div:last-child>p:last-child{font-size:13px;margin-bottom:0}
  .auth-brand{font-size:16px;gap:9px}
  .auth-brand-mark{width:43px;height:43px;font-size:21px}
  .auth-screen .auth-dialog{max-height:min(66dvh,650px);padding:24px 20px}
}
@media(max-height:690px){
  .auth-screen{align-content:start}
  .auth-screen .auth-hero{gap:8px}
  .auth-screen .auth-hero>div:last-child>p:last-child{display:none}
  .auth-screen .auth-dialog{max-height:calc(100dvh - 115px)}
}
.page[hidden]{display:none}
.clients-page{max-width:1300px}
.page{max-width:1900px}
.clients-page{max-width:1600px}
@media(min-width:1251px){
  .app-shell{grid-template-columns:224px minmax(0,1fr)}
  .brand{width:178px}
  .page{padding-left:28px;padding-right:28px}
  .workspace{grid-template-columns:minmax(0,1fr) clamp(340px,23vw,380px)}
}
@media(min-width:1051px) and (max-width:1250px){
  .app-shell{grid-template-columns:224px minmax(0,1fr)}
  .brand{width:178px}
  .workspace{grid-template-columns:minmax(0,1fr) clamp(300px,25vw,315px)}
}
@media(min-width:791px) and (max-width:1050px){
  .workspace{grid-template-columns:minmax(0,1fr) 300px}
}
.clients-content{background:#fff;border:1px solid #e5eeeb;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px #204e4d0b}
.clients-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:20px 24px;border-bottom:1px solid #edf3f1;color:#657e81}
.clients-summary-item{display:flex;flex-direction:column;gap:5px;min-width:0}
.clients-summary-item small{font-size:11px;color:#8aa19f}
.clients-summary strong{font-size:22px;color:#203b40}
.clients-filters{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(145px,.8fr) repeat(2,minmax(185px,1fr)) auto;gap:12px;align-items:end;padding:17px 24px;border-bottom:1px solid #edf3f1}
.clients-filter-field{display:flex;flex-direction:column;gap:7px;min-width:0;color:#647e81;font-size:12px;font-weight:700}
.clients-filter-field>label{color:inherit}
.clients-filter-field input,.clients-filter-field select{box-sizing:border-box;width:100%;min-width:0;min-height:42px;padding:9px 11px;border:1px solid #d6e7e3;border-radius:9px;background:#fff;color:#203b40;font:inherit;font-size:13px}
.clients-filter-field input:focus-visible,.clients-filter-field select:focus-visible,.clients-filters-reset:focus-visible{outline:2px solid #4db6ab;outline-offset:2px}
.clients-date-trigger{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;padding:9px 11px;border:1px solid #d6e7e3;border-radius:9px;background:#fff;color:#203b40;font:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer}
.clients-date-trigger .clients-date-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clients-date-trigger>span:last-child{color:#4b9b88;font-size:18px;line-height:1}
.clients-date-trigger.is-filtered{border-color:#52b393;background:#f1faf5;color:#28765e}
.clients-date-trigger:focus-visible,.clients-calendar button:focus-visible{outline:2px solid #4db6ab;outline-offset:2px}
.clients-calendar{position:fixed;z-index:1200;box-sizing:border-box;width:340px;padding:16px;border:1px solid #d6e7e3;border-radius:14px;background:#fff;color:#203b40;box-shadow:0 18px 45px #173b3b35;font-size:13px}
.clients-calendar[hidden]{display:none}
.clients-calendar-head,.clients-calendar-month,.clients-calendar-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}
.clients-calendar-head strong{font-size:15px}
.clients-calendar button{font:inherit;cursor:pointer}
.clients-calendar-head button,.clients-calendar-month button{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:22px;line-height:1}
.clients-calendar-head button:hover,.clients-calendar-month button:hover{background:#ebf6f1}
.clients-calendar-modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:12px 0 14px;padding:3px;border-radius:9px;background:#eff6f3}
.clients-calendar-modes button{padding:8px 5px;border:0;border-radius:7px;background:transparent;color:#547a78;font-size:12px;font-weight:700}
.clients-calendar-modes button.is-active{background:#fff;color:#288167;box-shadow:0 1px 5px #183b3b20}
.clients-calendar-month{margin-bottom:8px}
.clients-calendar-weekdays,.clients-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.clients-calendar-weekdays{margin-bottom:3px;color:#78918f;font-size:11px}
.clients-calendar-weekdays span{padding:5px 0}
.clients-calendar-days button,.clients-calendar-days>span{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:8px;background:transparent;color:inherit}
.clients-calendar-days button:hover{background:#e8f5ee}
.clients-calendar-days button.is-selected{background:#3d9b76;color:#fff;font-weight:700}
.clients-calendar-days button.is-in-range{background:#d9f1e3;border-radius:2px}
.clients-calendar-hint{min-height:18px;margin:10px 0 12px;color:#698580;font-size:12px}
.clients-calendar-actions{padding-top:10px;border-top:1px solid #edf3f1}
.clients-calendar-actions button{padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#308569;font-size:12px;font-weight:700}
.clients-calendar-actions button:last-child{background:#e8f5ee}
.clients-filters-reset{min-height:42px;padding:9px 12px;border:1px solid #d6e7e3;border-radius:9px;background:#f7fbfa;color:#357f78;font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.clients-filters-reset:hover{background:#e8f6f0}
@media(max-width:1350px){.clients-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.clients-filters-reset{justify-self:start}}
.clients-list{display:grid;gap:10px;padding:16px 24px}
.clients-empty{padding:55px 16px;text-align:center;color:#698589}
.client-card{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid #dce9e7;border-left-width:4px;border-radius:12px;background:var(--surface,#fff)}
.client-card.is-expiring{border-color:#edb7b0;border-left-width:5px;background:#fff0ee}
.client-card.is-expiring .client-renewal{color:#aa382d}
.client-name{font-size:18px;font-weight:700;color:#203b40;margin:0 0 6px}
.client-name[type="button"]{display:block;padding:0;border:0;background:none;font:inherit;font-size:18px;font-weight:700;color:#203b40;text-align:left;cursor:pointer}
.client-name[type="button"]:hover{text-decoration:underline;text-underline-offset:3px}
.client-name[type="button"]:focus-visible{outline:2px solid #3d9b84;outline-offset:3px;border-radius:3px}
.client-phone{font-size:14px;color:#4e7479;margin:0 0 7px}
.client-meta{font-size:12px;color:#8ba0a3;margin:0}
.client-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-size:12px;color:#6d898e;text-align:right}
.client-status{padding:6px 10px;border-radius:999px;background:#e8f5ef;color:#2e8268;font-weight:700;white-space:nowrap}
.client-card.status-working{border-color:#b7cdc2}.client-card.status-working .client-status{background:#eaf2ee;color:#496c5e}
.client-card.status-booking{border-color:#d7c99f}.client-card.status-booking .client-status{background:#f3efe4;color:#786641}
.client-card.status-closing{border-color:#b9c9da}.client-card.status-closing .client-status{background:#ebf0f6;color:#506b85}
.client-card.status-success{border-color:#a9d0b2}.client-card.status-success .client-status{background:#e8f3e9;color:#3c7050}
.client-card.status-closed{border-color:#c8d0d0}.client-card.status-closed .client-status{background:#eef1f1;color:#617277}
.client-card.status-expired,.client-card.status-duplicate{border-color:#d9bbb5}.client-card.status-expired .client-status,.client-card.status-duplicate .client-status{background:#f5eae7;color:#8a615b}
.client-card.is-expiring{border-color:#edb7b0;border-left-color:#c94b3d}
.client-renewal{color:#217b91;font-weight:600}
.client-demo{color:#91603d;font-weight:700}
.clients-notice{margin:14px 24px 0;padding:10px 13px;border-radius:9px;background:#eaf7f1;color:#276e62;font-size:13px}
.clients-notice.is-error{background:#fff0ed;color:#b34436}
.client-renew-button{border:0;border-radius:9px;background:#4db6ab;color:#fff;font:inherit;font-size:13px;font-weight:700;padding:9px 13px;cursor:pointer}
.client-renew-button:hover{background:#389d92}
.client-renew-button:disabled{opacity:.55;cursor:wait}
.client-drawer-open{overflow:hidden}
.client-drawer-backdrop{position:fixed;inset:0;z-index:80;background:#102b3299;display:flex;justify-content:flex-end}
.client-drawer-backdrop[hidden]{display:none}
.client-drawer{width:min(680px,100vw);height:100%;overflow-y:auto;background:var(--surface,#fff);color:var(--text,#203b40);box-shadow:-12px 0 42px #102c2b30;outline:0}
.client-drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;border-bottom:1px solid var(--border,#dce9e7);background:var(--surface,#fff)}
.client-drawer-head small{font-size:11px;letter-spacing:.13em;color:#4c9a85;font-weight:800}
.client-drawer-head h2{margin:4px 0 0;font-size:25px;line-height:1.2}
.client-drawer-head button{width:38px;height:38px;border:1px solid var(--border,#dce9e7);border-radius:10px;background:transparent;color:inherit;font-size:26px;cursor:pointer}
.client-drawer-content{padding:22px 26px 42px}
.client-drawer-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:18px;color:var(--text-muted,#698589);font-size:13px}
.client-drawer-status.status-booking .client-status{background:#f3efe4;color:#786641}
.client-drawer-status.status-working .client-status{background:#eaf2ee;color:#496c5e}
.client-drawer-status.status-closing .client-status{background:#ebf0f6;color:#506b85}
.client-drawer-status.status-success .client-status{background:#e8f3e9;color:#3c7050}
.client-drawer-status.status-closed .client-status{background:#eef1f1;color:#617277}
.client-drawer-status.status-expired .client-status,.client-drawer-status.status-duplicate .client-status{background:#f5eae7;color:#8a615b}
.client-drawer-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--border,#dce9e7);border:1px solid var(--border,#dce9e7);border-radius:12px;overflow:hidden}
.client-drawer-facts>div{display:grid;gap:4px;min-width:0;padding:13px 15px;background:var(--surface,#fff)}
.client-drawer-facts span{color:var(--text-muted,#698589);font-size:12px}
.client-drawer-facts strong{overflow-wrap:anywhere;font-size:14px}
.client-drawer-phone{color:#258a78;text-decoration:underline;text-underline-offset:2px}
.client-drawer-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border,#dce9e7)}
.client-drawer-section h3{margin:0 0 10px;font-size:18px}
.client-drawer-section p,.client-drawer-event p{color:var(--text-muted,#698589);font-size:13px;line-height:1.5}
.client-drawer-section ul{padding-left:20px;line-height:1.6}
.client-drawer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.client-drawer-actions button,.client-drawer-share button,#client-drawer-prepared button{padding:10px 12px;border:1px solid #9bcfc1;border-radius:9px;background:#eaf6ef;color:#287866;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.client-drawer-share{display:flex;gap:8px}
.client-drawer-share select{min-width:0;flex:1;border:1px solid var(--border,#dce9e7);border-radius:9px;background:var(--surface,#fff);color:inherit;padding:9px;font:inherit}
#client-drawer-prepared{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:10px}
#client-drawer-prepared a,.client-drawer-event a{color:#258a78;font-size:13px}
.client-drawer-notice{padding:10px 12px;border-radius:9px;background:#eaf7f1;color:#276e62;font-size:13px}
.client-drawer-notice.is-error,.client-drawer-error{background:#fff0ed;color:#b34436}
.client-drawer-events{list-style:none;display:grid;gap:0;margin:0;padding:0}
.client-drawer-event{position:relative;padding:0 0 22px 24px;border-left:2px solid #b7ddd0}
.client-drawer-event:last-child{border-left-color:transparent}
.client-drawer-event:before{position:absolute;content:'';left:-6px;top:2px;width:10px;height:10px;border-radius:50%;background:#55a98a}
.client-drawer-event time{display:block;margin-bottom:4px;color:var(--text-muted,#698589);font-size:12px}
.client-drawer-event strong{display:block;font-size:14px}
.client-drawer-event .client-drawer-comment{color:inherit}
@media(max-width:610px){.client-drawer-head{padding:18px}.client-drawer-head h2{font-size:21px}.client-drawer-content{padding:18px}.client-drawer-facts{grid-template-columns:1fr}.client-drawer-share{flex-direction:column}.client-drawer-status{align-items:flex-start;flex-direction:column}}
@media(max-width:610px){
  .clients-content{border-radius:14px}
  .clients-summary{padding:16px;flex-wrap:wrap}
  .clients-filters{grid-template-columns:1fr;padding:14px 16px}
  .clients-filter-field input,.clients-filter-field select{font-size:16px}
  .clients-list{padding:12px 16px}
  .client-card{display:block;padding:16px}
  .client-card.is-expiring{padding:16px}
  .client-card-side{align-items:flex-start;text-align:left;margin-top:13px}
  .clients-notice{margin:12px 16px 0}
}
.compact-profile{display:none}
@media(max-width:1050px){.compact-profile{display:flex}}
@media(max-width:610px){
  .sidebar .nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:center;gap:2px;width:100%;height:100%}
  .sidebar .nav>.nav-item[data-nav="project"],.sidebar .nav>.compact-profile{display:none}
  .sidebar .nav>.nav-item,.mobile-more .mobile-more-trigger{width:100%;min-width:0;max-width:100%;height:59px;padding:4px 0;gap:3px;font-size:10px;line-height:1.15;text-align:center;white-space:nowrap}
  .sidebar .nav>.nav-item>span:not(.nav-symbol),.mobile-more-trigger>span:not(.nav-symbol){max-width:100%;overflow:hidden;text-overflow:clip}
  .mobile-more{display:block;min-width:0}
  .mobile-more .mobile-more-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center}
  .mobile-more-panel{position:fixed;right:10px;bottom:calc(75px + env(safe-area-inset-bottom));z-index:10;width:min(232px,calc(100vw - 20px));padding:6px;background:#fff;border:1px solid #dce9e5;border-radius:14px;box-shadow:0 12px 35px #102c2b30}
  .mobile-more-panel[hidden]{display:none}
  .mobile-more-link{display:flex;align-items:center;gap:12px;width:100%;min-height:47px;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:#385c61;text-align:left;font-size:14px;font-weight:650}
  .mobile-more-link>span{width:22px;font-size:21px;line-height:1;text-align:center}
  .mobile-more-link:hover,.mobile-more-link.is-active{background:#eaf7f1;color:#237d73}
  .sidebar-theme-toggle{right:auto;left:12px}
}
@media(max-width:350px){
  .sidebar .nav{grid-template-columns:repeat(5,minmax(0,1fr))}
  .sidebar .nav>.nav-item[data-nav="selections"]{display:none}
  .mobile-narrow-selection{display:flex!important}
  .sidebar .nav>.nav-item,.mobile-more .mobile-more-trigger{font-size:10px}
}
#assignment-form textarea{width:100%;min-height:82px;resize:vertical;border:1px solid #dce8e5;border-radius:9px;padding:11px 12px;color:#203b40;font:inherit;font-size:16px}
#assignment-form textarea:focus{outline:2px solid #65b9a5;outline-offset:1px}
.selections-page { padding-bottom: 64px; }
.selections-editor, .selection-card, .selections-empty { background: var(--surface, #fff); border: 1px solid var(--border, #dce9e7); border-radius: 18px; padding: 22px; margin: 18px 0; box-shadow: 0 8px 25px rgba(20, 55, 57, .04); }
.selections-editor[hidden], .selections-page[hidden] { display: none !important; }
.selections-editor { display: grid; grid-template-columns: minmax(190px, 1fr) minmax(260px, 2fr); gap: 24px; align-items: end; }
.selections-editor h2, .selection-card h2 { margin: 4px 0 6px; }
.selections-editor p, .selection-card p, .selections-empty { color: var(--text-muted, #6b8588); }
.selections-editor label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.selections-editor-actions { display: flex; gap: 10px; }
.selections-editor-actions input { flex: 1; min-width: 0; padding: 11px 13px; border: 1px solid var(--border, #dce9e7); border-radius: 9px; background: var(--surface, #fff); color: inherit; font: inherit; }
.selections-message { min-height: 22px; color: #168f7c; margin: 8px 0; }
.selections-message.is-error { color: #b83d45; }
.selection-card-heading { display: flex; gap: 20px; justify-content: space-between; align-items: start; }
.selection-version-count { white-space: nowrap; border-radius: 100px; background: #e3f5ef; color: #157e68; padding: 5px 11px; font-size: 12px; }
.selection-current-units { display: grid; gap: 6px; margin-top: 15px; }
.selection-current-unit { display: grid; grid-template-columns: minmax(100px,1fr) auto minmax(125px,auto); gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid var(--border,#dce9e7); border-radius: 9px; font-size: 13px; }
.selection-current-unit strong { text-align: right; white-space: nowrap; }
.selection-unit-status { color: #277d68; }
.selection-unit-status.unavailable { color: var(--text-muted,#6b8588); }
.selection-card-actions, .selection-version { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.selection-card-actions { margin: 18px 0 5px; }
.selection-card-actions button, .selection-version button, .selection-version a { border: 1px solid var(--border, #dce9e7); border-radius: 9px; background: var(--surface, #fff); color: var(--text, #21434a); padding: 9px 12px; font: inherit; font-size: 13px; text-decoration: none; cursor: pointer; }
.selection-card-actions button:hover, .selection-version a:hover, .selection-version button:hover { border-color: #24a98f; color: #12826f; }
.selection-versions { border-top: 1px solid var(--border, #dce9e7); margin-top: 16px; padding-top: 12px; }
.selection-version { padding: 6px 0; }
.selection-version span { margin-right: auto; font-size: 13px; color: var(--text-muted, #6b8588); }
.selection-draft-hint { font-size: 13px; margin-bottom: 0; }
@media (max-width: 760px) { .selections-editor { grid-template-columns: 1fr; } .selections-editor-actions { flex-wrap: wrap; } .selections-editor-actions input { flex-basis: 100%; } .selection-card-heading { flex-wrap: wrap; } .selection-current-unit { grid-template-columns: 1fr auto; } .selection-current-unit strong { grid-column: 1 / -1; text-align: left; } }

/* Let the chessboard use the full width while the apartment panel is closed. */
.workspace.without-detail{grid-template-columns:minmax(0,1fr)}
.detail-panel[hidden],.detail-reopen[hidden]{display:none}
.grid-toolbar-actions,.panel-top-actions{display:flex;align-items:center;gap:8px}
.grid-toolbar-actions{justify-content:flex-end;flex-wrap:wrap}
.detail-reopen,.panel-collapse{border:1px solid #b9dcd1;border-radius:8px;background:#edf8f3;color:#287e71;font-size:11px;font-weight:800;cursor:pointer}
.detail-reopen{padding:8px 11px}
.panel-collapse{padding:5px 8px;white-space:nowrap}
.detail-reopen:hover,.panel-collapse:hover{background:#dff2e9;border-color:#8dceb9}
@media(max-width:610px){.grid-toolbar-actions{gap:6px}.grid-toolbar .grid-count{max-width:none}.detail-reopen{padding:7px 9px}.panel-top-actions{gap:5px}}

.chessboard{--board-floor-width:39px;--apartment-column-width:65px;--section-spacer-width:4px}
.board-head,.board-row{grid-template-columns:var(--board-floor-width) var(--section-columns)}
@media(max-width:790px){.chessboard{--board-floor-width:36px;--apartment-column-width:66px}}
@media(max-width:610px){.chessboard{--board-floor-width:32px;--apartment-column-width:68px}}

.agency-suggestions[hidden]{display:none}
.agency-create-switch{border:1px solid #b9dbd1;border-radius:9px;background:#f1f8f5;color:#287e71;padding:10px 12px;text-align:center;font-size:12px;font-weight:800}
.agency-create-switch:hover:not(:disabled){background:#e3f3eb;border-color:#8fcbb7}
.agency-create-switch:disabled{opacity:.5;cursor:not-allowed}
