:root{color:#17212f;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f5f7fb}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;min-height:46px;border:1px solid #cfd8e6;border-radius:8px;padding:10px 12px;background:#fff;color:#17212f}input:disabled,select:disabled,textarea:disabled{background:#edf1f7;color:#667085}label{display:grid;gap:8px;font-weight:650;color:#344054}h1,h2,p{margin-top:0}.app-shell{min-height:100vh;padding-bottom:112px}.topbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#fff;border-bottom:1px solid #e3e8f2}.brand{font-weight:800;letter-spacing:0;color:#174f86}.brand.large{font-size:28px}.subtitle{margin-top:2px;font-size:13px;color:#667085}.user-chip{max-width:48vw;padding:8px 10px;border-radius:8px;background:#eef5ff;color:#174f86;font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px 12px;background:#fff;border-bottom:1px solid #e3e8f2}.content{width:min(960px,100%);margin:0 auto;padding:16px 12px 32px}.login-page{min-height:100vh;display:grid;place-items:center;padding:18px}.login-card{width:min(420px,100%);display:grid;gap:18px;padding:24px;background:#fff;border:1px solid #e3e8f2;border-radius:8px;box-shadow:0 18px 45px #17212f14}.page-stack{display:grid;gap:16px}.page-heading{display:grid;gap:6px}.page-heading h1{margin-bottom:0;font-size:26px;line-height:1.18}.page-heading p{margin-bottom:0;color:#667085}.card-list{display:grid;gap:12px}.work-card{display:grid;gap:14px;padding:16px;background:#fff;border:1px solid #dde5f0;border-radius:8px;box-shadow:0 8px 24px #17212f0d}.work-card.compact{gap:10px}.work-card h2{margin-bottom:0;font-size:20px;line-height:1.25}.text-left{text-align:left}.muted{color:#667085}.scenario-list{margin:0;padding-left:20px;color:#344054}.card-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.address{margin-bottom:0;font-size:17px;font-weight:700}.meta-grid,.form-grid,.photo-grid{display:grid;gap:10px}.meta-grid{color:#667085;font-size:14px}.form-grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.button-row,.button-grid{display:flex;flex-wrap:wrap;gap:10px}.button-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.stack-small{display:grid;gap:8px;min-width:220px}.button{min-height:46px;border:1px solid transparent;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:750;transition:background .18s ease,transform .18s ease,border-color .18s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.55}.button.primary{background:#1f5f9f;color:#fff}.button.primary:hover:not(:disabled){background:#174f86}.button.secondary{background:#eef5ff;color:#174f86;border-color:#b7d4f5}.button.ghost{background:#fff;color:#174f86;border-color:#cfd8e6}.button.danger{background:#c63d46;color:#fff}.button.full{width:100%}.status-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:8px;background:#f0f2f5;color:#475467;font-size:13px;font-weight:800;white-space:nowrap}.status-ok{background:#e8f6ef;color:#146c43}.status-warning{background:#fff4d6;color:#8a5a00}.status-danger{background:#ffe8ea;color:#9f1f2b}.status-blue{background:#eef5ff;color:#174f86}.info-box,.error-box,.empty-state{padding:12px 14px;border-radius:8px;background:#eef5ff;color:#174f86;border:1px solid #b7d4f5}.error-box{background:#fff1f2;color:#9f1f2b;border-color:#ffc7cc}.empty-state{background:#fff;color:#667085;border-color:#dde5f0}.compact-list{display:grid;gap:8px}.compact-list-row{display:grid;gap:4px;padding:10px 0;border-bottom:1px solid #e3e8f2}.compact-list-row:last-child{border-bottom:0}.compact-list-row span{color:#667085;font-size:14px}.progress-bar{height:12px;overflow:hidden;background:#dbe5f1;border-radius:8px}.progress-bar>div{height:100%;background:#1f5f9f;border-radius:inherit}.apartment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.apartment-tile{display:grid;gap:6px;min-height:82px;padding:12px;text-align:left;background:#f9fbfe;border:1px solid #dde5f0;border-radius:8px;color:#17212f}.apartment-tile span{color:#667085;font-size:13px}.equipment-box{display:grid;gap:6px;padding:12px;border:1px solid #dde5f0;border-radius:8px;background:#f9fbfe;color:#475467}.result-line{padding:10px 12px;border-radius:8px;background:#f9fbfe;color:#174f86;font-weight:800}.log-line{padding:8px 0;border-bottom:1px solid #e3e8f2;color:#475467}.sos-panel{position:fixed;left:12px;right:12px;bottom:12px;z-index:4;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;width:min(936px,calc(100% - 24px));margin:0 auto;padding:10px;background:#fff;border:1px solid #dde5f0;border-radius:8px;box-shadow:0 12px 36px #17212f1f}.sos-button{width:100%}.call-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 14px;border-radius:8px;background:#fff1f2;color:#9f1f2b;font-weight:800;text-decoration:none}.admin-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);background:#f5f7fb}.admin-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;padding:20px 16px;background:#fff;border-right:1px solid #e3e8f2}.admin-brand{padding:4px 6px 14px;border-bottom:1px solid #e3e8f2}.admin-nav{display:grid;gap:8px}.admin-nav-item{min-height:42px;border:1px solid transparent;border-radius:8px;padding:10px 12px;background:transparent;color:#344054;cursor:pointer;font-weight:750;text-align:left;transition:background .18s ease,color .18s ease,border-color .18s ease}.admin-nav-item:hover,.admin-nav-item.active{background:#eef5ff;color:#174f86;border-color:#b7d4f5}.admin-nav-item.logout{margin-top:12px;color:#9f1f2b}.admin-main{min-width:0;display:grid;grid-template-rows:auto 1fr}.admin-topbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;background:#fffffff0;border-bottom:1px solid #e3e8f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.admin-topbar h1{margin:0;font-size:24px;line-height:1.2}.admin-eyebrow{margin-bottom:4px;color:#667085;font-size:13px;font-weight:800;text-transform:uppercase}.admin-content{width:min(1280px,100%);padding:24px}.admin-page{display:grid;gap:18px}.admin-page-head{display:grid;gap:6px}.admin-page-head.with-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.admin-page-head h2{margin:0;font-size:28px;line-height:1.2}.admin-page-head p{margin:0;color:#667085}.admin-card{display:grid;gap:16px;padding:18px;background:#fff;border:1px solid #dde5f0;border-radius:8px;box-shadow:0 10px 30px #17212f0d}.clickable-card{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.clickable-card:hover{transform:translateY(-2px);border-color:#b7d4f5;box-shadow:0 16px 38px #17212f14}.admin-card-head{display:grid;gap:4px}.admin-card-head h2,.admin-card h3{margin:0}.admin-card-head h2{font-size:19px}.admin-card h3{font-size:16px}.admin-card-head p,.admin-card p{margin:0;color:#667085}.admin-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-metric{color:#174f86;font-size:38px;line-height:1;font-weight:850}.metric-list{display:grid;gap:8px}.metric-list strong{color:#174f86;font-size:24px;line-height:1.2}.metric-list span{color:#475467;font-size:15px}.admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-form.inline-form{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-form-wide{grid-column:1 / -1}.admin-form-actions{display:flex;align-items:end;gap:10px}.admin-filter-row{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.admin-filter-row label{min-width:260px}.admin-check{display:flex;align-items:center;gap:10px;align-self:end;min-height:46px;padding:10px 12px;border:1px solid #cfd8e6;border-radius:8px;background:#fff}.admin-check input{width:18px;min-height:18px;margin:0}.admin-details-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-details-grid div{display:grid;gap:4px;padding:12px;background:#f9fbfe;border:1px solid #e3e8f2;border-radius:8px}.admin-details-grid span{color:#667085;font-size:13px}.admin-table-wrap{overflow-x:auto;border:1px solid #e3e8f2;border-radius:8px}.admin-table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}.admin-table th,.admin-table td{padding:10px 12px;border-bottom:1px solid #e3e8f2;color:#344054;font-size:14px;text-align:left;vertical-align:top}.admin-table th{background:#f8fafd;color:#475467;font-weight:850;white-space:nowrap}.admin-table tr:last-child td{border-bottom:0}.client-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr);background:#f5f7fb}.client-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;padding:20px 16px;background:#fff;border-right:1px solid #e3e8f2}.client-brand{padding:4px 6px 14px;border-bottom:1px solid #e3e8f2}.client-nav{display:grid;gap:8px}.client-nav-item{min-height:42px;border:1px solid transparent;border-radius:8px;padding:10px 12px;background:transparent;color:#344054;cursor:pointer;font-weight:750;text-align:left;transition:background .18s ease,color .18s ease,border-color .18s ease}.client-nav-item:hover,.client-nav-item.active{background:#eef5ff;color:#174f86;border-color:#b7d4f5}.client-nav-item.logout{margin-top:12px;color:#9f1f2b}.client-main{min-width:0;display:grid;grid-template-rows:auto 1fr}.client-topbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;background:#fffffff0;border-bottom:1px solid #e3e8f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.client-topbar h1{margin:0;font-size:24px;line-height:1.2}.client-eyebrow{margin-bottom:4px;color:#667085;font-size:13px;font-weight:800;text-transform:uppercase}.client-content{width:min(1280px,100%);padding:24px}.client-page{display:grid;gap:18px}.client-page-head{display:grid;gap:6px}.client-page-head.with-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.client-page-head h2{margin:0;font-size:28px;line-height:1.2}.client-page-head p{margin:0;color:#667085}.client-card{display:grid;gap:16px;padding:18px;background:#fff;border:1px solid #dde5f0;border-radius:8px;box-shadow:0 10px 30px #17212f0d}.client-card-head{display:grid;gap:4px}.client-card-head h2{margin:0;font-size:19px}.client-card-head p,.client-card p{margin:0;color:#667085}.client-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.client-metric-grid.small{grid-template-columns:repeat(4,minmax(0,1fr))}.client-metric{color:#174f86;font-size:38px;line-height:1;font-weight:850}.client-details-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.client-details-grid div{display:grid;gap:4px;padding:12px;background:#f9fbfe;border:1px solid #e3e8f2;border-radius:8px}.client-details-grid span{color:#667085;font-size:13px}.client-filter-row{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.client-filter-row label{min-width:260px}.client-check{display:flex;align-items:center;gap:10px;min-height:46px;padding:10px 12px;border:1px solid #cfd8e6;border-radius:8px;background:#fff}.client-check input{width:18px;min-height:18px;margin:0}.client-table-wrap{overflow-x:auto;border:1px solid #e3e8f2;border-radius:8px}.client-table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}.client-table th,.client-table td{padding:10px 12px;border-bottom:1px solid #e3e8f2;color:#344054;font-size:14px;text-align:left;vertical-align:top}.client-table th{background:#f8fafd;color:#475467;font-weight:850;white-space:nowrap}.client-table tr:last-child td{border-bottom:0}.client-badge-row{display:flex;flex-wrap:wrap;gap:6px}.client-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:8px;background:#eef5ff;color:#174f86;font-size:13px;font-weight:800}.filter-pills,.tab-row{display:flex;flex-wrap:wrap;gap:8px}.filter-pill,.tab-button{min-height:40px;border:1px solid #cfd8e6;border-radius:8px;padding:8px 12px;background:#fff;color:#174f86;cursor:pointer;font-weight:800;transition:background .18s ease,border-color .18s ease,transform .18s ease}.filter-pill:hover,.tab-button:hover{transform:translateY(-1px);border-color:#b7d4f5}.filter-pill.active,.tab-button.active{background:#eef5ff;border-color:#b7d4f5}.apartment-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.apartment-card{display:grid;gap:6px;min-height:110px;padding:14px;border:1px solid #dde5f0;border-radius:8px;background:#f9fbfe;color:#17212f;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.apartment-card:hover{transform:translateY(-1px);border-color:#b7d4f5;box-shadow:0 10px 24px #17212f0f}.apartment-card strong{font-size:18px;color:#174f86}.apartment-card span{font-weight:800;color:#146c43}.apartment-card small{color:#667085;line-height:1.35}.apartment-card.warning span{color:#8a5a00}.apartment-card.danger span{color:#9f1f2b}.apartment-detail-grid,.mobile-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.apartment-detail-grid div,.mobile-summary-grid div{display:grid;gap:4px;padding:12px;border:1px solid #e3e8f2;border-radius:8px;background:#f9fbfe}.apartment-detail-grid span,.mobile-summary-grid span{color:#667085;font-size:13px}.apartment-detail-grid strong,.mobile-summary-grid strong{color:#17212f}.section-subtitle{color:#17212f;font-weight:850}.document-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.document-status-card{display:grid;gap:5px;min-height:76px;padding:12px;border:1px solid #e3e8f2;border-radius:8px;background:#f9fbfe;color:#344054}.document-status-card strong{color:#174f86}.document-status-card span{color:#667085;font-size:14px}.step-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.step-strip span{min-height:42px;padding:9px 10px;border:1px solid #dde5f0;border-radius:8px;background:#fff;color:#174f86;font-size:13px;font-weight:800}@media(max-width:640px){.topbar{align-items:flex-start}.nav-row{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid,.photo-grid,.button-grid{grid-template-columns:1fr}.button-row,.card-topline{display:grid}.sos-panel,.apartment-detail-grid,.mobile-summary-grid,.step-strip{grid-template-columns:1fr}}@media(max-width:920px){.admin-shell,.client-shell{grid-template-columns:1fr}.admin-sidebar,.client-sidebar{position:static;height:auto;padding:14px 12px;border-right:0;border-bottom:1px solid #e3e8f2}.admin-nav,.client-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-topbar,.admin-content,.client-topbar,.client-content{padding:16px 12px}.admin-page-head.with-actions,.admin-filter-row,.client-page-head.with-actions,.client-filter-row{display:grid}.admin-metric-grid,.admin-form,.admin-form.inline-form,.admin-details-grid,.client-metric-grid,.client-metric-grid.small,.client-details-grid{grid-template-columns:1fr}.admin-form-actions,.admin-filter-row label,.client-filter-row label{width:100%;min-width:0}}html{background:#eaf0f7}body{overflow-x:hidden;background:radial-gradient(circle at top,rgba(31,95,159,.08),transparent 240px),#eaf0f7}#root{min-height:100vh}.app-shell,.admin-shell,.client-shell{width:min(100%,430px);min-height:100vh;margin:0 auto;display:block;position:relative;background:#f4f7fb;box-shadow:0 24px 70px #17212f24}.topbar,.admin-topbar,.client-topbar{position:sticky;top:0;z-index:5;min-height:72px;padding:14px 16px 12px;border-bottom:1px solid rgba(207,216,230,.8);background:#fffffff0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar h1,.admin-topbar h1,.client-topbar h1{margin:0;color:#17212f;font-size:22px;letter-spacing:0}.brand,.admin-eyebrow,.client-eyebrow{color:#1f5f9f;font-size:12px;font-weight:850;letter-spacing:0;text-transform:none}.subtitle{color:#667085;font-size:13px;font-weight:650}.user-chip{border:0;border-radius:8px;background:#eef5ff}.content,.admin-content,.client-content{width:100%;padding:16px 14px 112px}.admin-main,.client-main{display:contents}.admin-sidebar,.client-sidebar{display:none}.nav-row,.admin-nav,.client-nav{position:fixed;left:50%;bottom:0;z-index:8;width:min(100%,430px);transform:translate(-50%);display:flex;gap:6px;overflow-x:auto;padding:9px 10px calc(9px + env(safe-area-inset-bottom));border-top:1px solid rgba(207,216,230,.9);background:#fffffff5;box-shadow:0 -16px 40px #17212f14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.nav-row .button,.admin-nav-item,.client-nav-item{min-width:76px;min-height:48px;display:grid;place-items:center;border:0;border-radius:8px;padding:7px 8px;background:transparent;color:#667085;font-size:12px;line-height:1.15;text-align:center;white-space:normal}.admin-nav-item.active,.client-nav-item.active,.nav-row .button:hover,.admin-nav-item:hover,.client-nav-item:hover{background:#eef5ff;color:#1f5f9f;transform:none}.admin-nav-item.logout,.client-nav-item.logout{color:#9f1f2b;margin-top:0}.login-page{min-height:100vh;align-items:start;padding:42px 16px 24px;background:#f4f7fb}.login-card{gap:16px;border-color:#cfd8e6cc;border-radius:8px;padding:20px;box-shadow:0 18px 45px #17212f17}.login-brand-mark{width:54px;height:54px;display:grid;place-items:center;border-radius:8px;background:#1f5f9f;color:#fff;font-weight:900}.login-heading{display:grid;gap:5px}.login-heading h1{margin:0;font-size:25px;line-height:1.12}.login-heading p{margin:0;color:#667085}.test-role-strip{display:grid;gap:8px}.test-role-strip button{min-height:38px;border:1px solid #dde5f0;border-radius:8px;background:#f8fbff;color:#1f5f9f;font-weight:800}.client-page,.admin-page,.page-stack{gap:14px}.mobile-hero{display:grid;gap:6px;padding:18px;border:1px solid #dde5f0;border-radius:8px;background:#fff;box-shadow:0 12px 30px #17212f0f}.mobile-hero.compact{padding:16px}.mobile-hero span{color:#667085;font-size:13px;font-weight:800}.mobile-hero h2{margin:0;color:#17212f;font-size:28px;line-height:1.08}.mobile-hero p{margin:0;color:#667085}.client-card,.admin-card,.work-card{border-color:#cfd8e6e6;border-radius:8px;padding:15px;box-shadow:0 12px 30px #17212f0e}.client-card-head h2,.admin-card-head h2,.work-card h2{font-size:18px}.metric-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-tile-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-tile{min-height:92px;display:grid;align-content:space-between;gap:10px;padding:13px;border:1px solid #dde5f0;border-radius:8px;background:#fff;color:#17212f;text-align:left;box-shadow:0 8px 20px #17212f0a}.metric-tile.static{cursor:default}.metric-tile span{color:#667085;font-size:13px;font-weight:750}.metric-tile strong{color:#1f5f9f;font-size:27px;line-height:1}.metric-tile.warning strong{color:#b56b00}.metric-tile.danger strong{color:#c63d46}.insight-list{display:grid;gap:8px}.insight-list button,.building-work-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dde5f0;border-radius:8px;padding:12px;background:#f9fbfe;color:#17212f;text-align:left}.insight-list span,.building-work-card span{color:#667085;font-size:13px}.insight-list strong{color:#1f5f9f}.building-card-list{display:grid;gap:10px}.building-work-card.large{align-items:flex-start}.building-work-card div{display:grid;gap:5px;min-width:0}.building-work-card strong{color:#17212f;font-size:16px}.building-work-card i,.status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:8px;padding:5px 9px;font-style:normal;font-size:12px;font-weight:850;white-space:nowrap}.tone-ok,.status-chip.ok,.status-chip.status-ok{background:#e8f6ef;color:#146c43}.tone-blue,.status-chip.blue{background:#eef5ff;color:#1f5f9f}.tone-danger,.status-chip.danger{background:#ffe8ea;color:#9f1f2b}.status-chip.warning,.tone-warning{background:#fff4d6;color:#8a5a00}.status-chip-row{display:flex;flex-wrap:wrap;gap:8px}.data-card-list{display:grid;gap:10px}.data-card{display:grid;gap:9px;padding:12px;border:1px solid #dde5f0;border-radius:8px;background:#f9fbfe}.data-card-row{display:grid;gap:3px}.data-card-row span{color:#667085;font-size:12px;font-weight:750}.data-card-row strong{min-width:0;color:#17212f;font-size:14px;font-weight:750;overflow-wrap:anywhere}.client-details-grid,.admin-details-grid,.apartment-detail-grid,.mobile-summary-grid,.form-grid,.photo-grid,.document-status-grid{grid-template-columns:1fr}.photo-preview-grid div{min-height:82px;display:grid;place-items:center;border:1px dashed #cfd8e6;border-radius:8px;background:#f8fbff;color:#667085;font-size:12px;font-weight:800;text-align:center}.document-status-card{border:1px solid #dde5f0;border-radius:8px;text-align:left}button.document-status-card{cursor:pointer}.filter-pills,.tab-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.filter-pill,.tab-button{flex:0 0 auto;min-height:36px;border-radius:8px}.apartment-card-grid{grid-template-columns:1fr}.apartment-card{min-height:82px;border-radius:8px}.apartment-card.active{border-color:#1f5f9f;box-shadow:0 0 0 2px #1f5f9f1f}.progress-bar.compact{height:8px}.sos-panel{bottom:76px;left:50%;right:auto;width:min(calc(100% - 24px),406px);transform:translate(-50%)}@media(min-width:700px){.app-shell,.admin-shell,.client-shell{margin-top:18px;margin-bottom:18px;border-radius:8px;overflow:hidden}}.admin-nav-item.mobile-secondary,.client-nav-item.mobile-secondary,.nav-label-desktop{display:none}.nav-label-mobile{display:inline}@media(min-width:921px){body{background:#f5f7fb}.admin-shell,.client-shell{width:100%;max-width:none;min-height:100vh;margin:0;display:grid;grid-template-columns:264px minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"nav topbar" "nav content";border-radius:0;overflow:visible;box-shadow:none;background:#f5f7fb}.admin-shell{grid-template-columns:270px minmax(0,1fr)}.admin-topbar,.client-topbar{grid-area:topbar;min-height:76px;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e6ecf5;background:#fffffff0;box-shadow:none}.admin-topbar h1,.client-topbar h1{font-size:30px}.admin-content,.client-content{grid-area:content;width:min(1240px,100%);padding:26px 32px 52px}.admin-nav,.client-nav{grid-area:nav;position:sticky;top:0;left:auto;bottom:auto;width:auto;height:100vh;transform:none;display:flex;flex-direction:column;gap:8px;overflow:auto;padding:24px 16px;border-top:0;border-right:1px solid #e6ecf5;background:#fff;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.admin-nav:before{content:"Цифровая платформа ДВК";display:block;margin:0 6px 12px;color:#071b3a;font-size:17px;font-weight:850}.client-nav:before{content:"Кабинет управляющей компании";display:block;margin:0 6px 12px;color:#071b3a;font-size:17px;font-weight:850}.admin-nav-item,.client-nav-item,.admin-nav-item.mobile-secondary,.client-nav-item.mobile-secondary{min-width:0;width:100%;min-height:44px;display:flex;align-items:center;justify-content:flex-start;border:1px solid transparent;padding:10px 12px;color:#344054;font-size:14px;font-weight:800;line-height:1.25;text-align:left}.admin-nav-item.active,.client-nav-item.active,.admin-nav-item:hover,.client-nav-item:hover{border-color:#d4e5ff;background:#eef5ff;color:#0a6bff}.admin-nav-item.logout,.client-nav-item.logout{margin-top:auto;color:#9f1f2b}.nav-label-mobile{display:none}.nav-label-desktop{display:inline}.mobile-hero{padding:22px}.mobile-hero h2{font-size:32px}.client-page,.admin-page,.page-stack{gap:18px}.admin-metric-grid,.client-metric-grid,.metric-tile-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-metric-grid{gap:14px}.metric-tile{min-height:98px}.client-card,.admin-card,.work-card{padding:18px}.building-card-list,.data-card-list,.document-status-grid,.apartment-card-grid,.client-details-grid,.admin-details-grid,.apartment-detail-grid,.mobile-summary-grid,.form-grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.button-row{display:flex}.filter-pills,.tab-row{flex-wrap:wrap;overflow:visible}.app-shell{width:min(100%,430px);margin-top:18px;margin-bottom:18px}}@media(min-width:1180px){.building-card-list,.data-card-list,.document-status-grid,.apartment-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}:root{color:#071b3a;background:#f5f7fb;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Inter,Segoe UI,sans-serif}html,body,#root{min-height:100%}html{background:#f5f7fb}body{overflow-x:hidden;background:#f5f7fb;color:#071b3a}button,input,select,textarea{letter-spacing:0}button{border:0}input,select,textarea{min-height:44px;border:1px solid #dce5f2;border-radius:14px;background:#fff;color:#101828;box-shadow:inset 0 1px #10182805}.button{min-height:42px;border-radius:14px;padding:10px 14px;box-shadow:none}.button.primary{background:#006dff}.button.secondary,.button.ghost{border-color:#dce5f2;background:#eef5ff;color:#0a6bff}.mobile-shell,.web-cabinet-shell{width:min(100%,430px);min-height:100vh;margin:0 auto;background:#f8faff;color:#071b3a}.mobile-shell{position:relative;padding-bottom:92px}.mobile-header{position:sticky;top:0;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px;background:#f8fafff0;border-bottom:1px solid rgba(230,236,245,.86);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-header-main{min-width:0;display:flex;align-items:center;gap:10px}.mobile-header h1{margin:0;color:#071b3a;font-size:24px;line-height:1.08;font-weight:850}.mobile-header p,.mobile-eyebrow{display:block;margin:3px 0 0;color:#667085;font-size:13px;line-height:1.25;font-weight:650}.mobile-header-actions{min-width:0;display:flex;flex:0 0 auto;gap:8px}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid #e6ecf5;border-radius:13px;background:#fff;color:#0a6bff;font-size:19px;font-weight:800;box-shadow:0 8px 22px #1018280f}.icon-button.small{width:32px;height:32px;border-radius:11px;font-size:14px}.user-chip.apple{max-width:148px;border:1px solid #e6ecf5;border-radius:999px;background:#fff;color:#071b3a;box-shadow:0 8px 22px #1018280f}.web-user-actions{min-width:0;display:flex;align-items:center;gap:10px}.logout-chip{min-height:38px;padding:9px 14px;border:1px solid #dce5f2;border-radius:999px;background:#fff;color:#0a6bff;font-size:13px;font-weight:820;box-shadow:0 8px 22px #1018280f}.logout-chip:hover{background:#eef5ff}.mobile-content,.web-content,.content{width:100%;max-width:none;padding:14px 14px 100px}.client-page,.admin-page,.page-stack{display:grid;gap:14px}.web-content>.client-page>.mobile-header,.web-content>.admin-page>.mobile-header,.content>.page-stack>.mobile-header{position:static;margin:-2px 0 0;border:1px solid #e6ecf5;border-radius:20px;background:#fff;box-shadow:0 14px 34px #10182812}.mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:20;width:min(100%,430px);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 10px max(8px,env(safe-area-inset-bottom));border-top:1px solid rgba(230,236,245,.88);background:#fffffff0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 -12px 30px #10182814}.mobile-bottom-nav button{min-width:0;min-height:56px;display:grid;place-items:center;gap:3px;border-radius:16px;background:transparent;color:#667085;font-size:11px;font-weight:760}.mobile-bottom-nav button.active{background:#eef5ff;color:#006dff}.nav-dot{width:20px;height:5px;border-radius:999px;background:currentColor;opacity:.32}.mobile-bottom-nav button.active .nav-dot{opacity:1}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.metric-mini,.metric-tile{min-width:0;min-height:76px;display:grid;align-content:space-between;gap:7px;padding:11px 9px;border:1px solid #e6ecf5;border-radius:18px;background:#fff;color:#071b3a;text-align:left;box-shadow:0 10px 26px #1018280f}.metric-mini span,.metric-tile span{min-width:0;max-width:100%;color:#667085;font-size:11px;line-height:1.15;font-weight:720;overflow-wrap:anywhere}.metric-mini strong,.metric-tile strong{min-width:0;max-width:100%;color:#006dff;font-size:21px;line-height:1;font-weight:880;overflow-wrap:anywhere}.metric-mini.tone-ok strong,.metric-tile.tone-ok strong,.metric-tile.ok strong{color:#12b76a}.metric-mini.tone-warning strong,.metric-tile.tone-warning strong,.metric-tile.warning strong{color:#ff8a00}.metric-mini.tone-danger strong,.metric-tile.tone-danger strong,.metric-tile.danger strong{color:#f04438}.section-card,.client-card,.admin-card,.work-card,.data-card{display:grid;gap:13px;border:1px solid #e6ecf5;border-radius:20px;padding:15px;background:#fff;color:#071b3a;text-align:left;box-shadow:0 14px 34px #10182811}button.section-card,button.client-card,button.admin-card,button.work-card{width:100%}.section-card-head,.client-card-head,.admin-card-head{display:grid;gap:3px}.section-card-head h2,.client-card-head h2,.admin-card-head h2,.work-card h2,.page-heading h1,.page-heading h2{margin:0;color:#071b3a;font-size:17px;line-height:1.18;font-weight:850}.section-card-head p,.client-card-head p,.admin-card-head p,.work-card p,.page-heading p{margin:0;color:#667085;font-size:13px;line-height:1.35}.apple-list,.building-stack,.document-list,.web-object-list{display:grid;gap:9px}.list-row,.document-row{width:100%;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:10px;padding:11px;border:1px solid #e6ecf5;border-radius:16px;background:#f8faff;color:#071b3a;text-align:left}.row-icon,.document-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#eef5ff;color:#006dff;font-size:11px;font-weight:900}.row-icon.tone-ok{background:#e8f8f0;color:#12b76a}.row-icon.tone-warning{background:#fff3e6;color:#ff8a00}.row-icon.tone-danger{background:#ffecea;color:#f04438}.row-copy{min-width:0;display:grid;gap:2px}.row-copy strong,.building-card-copy strong{min-width:0;color:#101828;font-size:14px;line-height:1.22;font-weight:820;overflow-wrap:anywhere}.row-copy small,.building-card-copy small{min-width:0;color:#667085;font-size:12px;line-height:1.25;overflow-wrap:anywhere}.row-value{color:#071b3a;font-size:14px;font-weight:850;white-space:nowrap}.row-arrow{color:#98a2b3;font-size:22px;line-height:1;font-weight:700}.status-pill,.status-chip,.building-work-card i{min-height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 9px;font-size:11px;line-height:1;font-style:normal;font-weight:850;white-space:nowrap}.status-pill.tone-blue,.status-chip.blue,.tone-blue{background:#eef5ff;color:#006dff}.status-pill.tone-ok,.status-chip.ok,.tone-ok{background:#e8f8f0;color:#12b76a}.status-pill.tone-warning,.status-chip.warning,.tone-warning{background:#fff3e6;color:#ff8a00}.status-pill.tone-danger,.status-chip.danger,.tone-danger{background:#ffecea;color:#f04438}.status-pill.tone-neutral{background:#f2f4f7;color:#667085}.progress-line,.progress-bar{height:7px;overflow:hidden;border-radius:999px;background:#e6ecf5}.progress-line div,.progress-bar div{height:100%;border-radius:inherit;background:#006dff}.building-card{width:100%;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid #e6ecf5;border-radius:18px;background:#fff;color:#071b3a;text-align:left;box-shadow:0 10px 26px #1018280e}.building-illustration{width:48px;height:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:9px;border-radius:15px;background:#eef5ff}.building-illustration i{border-radius:4px;background:#006dff;opacity:.82}.building-card-copy,.building-card-side{min-width:0;display:grid;gap:5px}.building-card-side{justify-items:end}.document-row{grid-template-columns:auto minmax(0,1fr) auto}.document-actions{display:flex;gap:7px}.readiness-row,.status-chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.problem-summary-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.problem-summary-item{min-height:64px;display:grid;align-content:space-between;gap:6px;padding:11px;border-radius:16px;background:#fff;border:1px solid #e6ecf5;box-shadow:0 10px 26px #1018280e}.problem-summary-item span{color:#667085;font-size:12px;font-weight:750}.problem-summary-item strong{color:#006dff;font-size:21px}.problem-summary-item.tone-warning strong{color:#ff8a00}.problem-summary-item.tone-danger strong{color:#f04438}.filter-pills,.tab-row{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding-bottom:2px}.filter-pill,.tab-button{flex:0 0 auto;min-height:36px;border:1px solid #dce5f2;border-radius:999px;padding:8px 12px;background:#fff;color:#667085;font-size:12px;font-weight:780}.filter-pill.active,.tab-button.active{border-color:#0a6bff;background:#eef5ff;color:#006dff}.data-card-list,.document-status-grid,.apartment-card-grid,.building-card-list,.card-list{display:grid;grid-template-columns:1fr;gap:9px}.data-card-row{display:grid;gap:2px;padding:9px 0;border-bottom:1px solid #e6ecf5}.data-card-row:last-child{border-bottom:0}.data-card-row span{color:#667085;font-size:11px;font-weight:760}.data-card-row strong{color:#101828;font-size:13px;font-weight:780}.apartment-card,.document-status-card,.building-work-card{width:100%;min-width:0;border:1px solid #e6ecf5;border-radius:16px;background:#f8faff;box-shadow:none}.apartment-detail-grid,.client-details-grid,.admin-details-grid,.mobile-summary-grid,.form-grid,.photo-grid{grid-template-columns:1fr;gap:9px}.apartment-detail-grid>div,.client-details-grid>div,.admin-details-grid>div,.mobile-summary-grid>div,.meta-grid>span,.equipment-box{display:grid;gap:3px;padding:10px;border:1px solid #e6ecf5;border-radius:14px;background:#f8faff}.apartment-detail-grid span,.client-details-grid span,.admin-details-grid span,.mobile-summary-grid span,.meta-grid span{color:#667085;font-size:12px;font-weight:730}.apartment-detail-grid strong,.client-details-grid strong,.admin-details-grid strong,.mobile-summary-grid strong{color:#101828;font-size:14px}.photo-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo-preview-grid div{min-height:74px;border:1px solid #dce5f2;border-radius:16px;background:#eef5ff;color:#0a6bff}.section-subtitle{color:#071b3a;font-size:14px;font-weight:840}.login-page{min-height:100vh;display:grid;place-items:center;padding:18px;background:#f5f7fb}.login-card{width:min(100%,430px);gap:15px;border:1px solid #e6ecf5;border-radius:24px;padding:20px;background:#fff;box-shadow:0 24px 60px #1018281a}.login-brand-mark{width:58px;height:58px;border-radius:18px;background:#006dff;box-shadow:0 14px 32px #006dff3d}.login-heading h1{color:#071b3a;font-size:25px}.role-login-selector{display:grid;gap:8px}.role-login-selector button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e6ecf5;border-radius:16px;background:#f8faff;color:#071b3a;text-align:left}.role-login-copy{min-width:0;display:grid;gap:2px}.role-login-copy strong{font-size:14px;font-weight:850}.role-login-selector small,.role-login-email{min-width:0;color:#667085;font-size:11px;overflow-wrap:anywhere}.role-login-email{flex:0 1 auto;text-align:right}.login-current-user{display:grid;gap:8px;padding:12px;border:1px solid #dce5f2;border-radius:18px;background:#f8faff}.login-current-user span{color:#667085;font-size:12px;font-weight:680}.login-current-user strong{color:#071b3a;font-size:14px}.web-sidebar-light,.web-header{display:none}@media(min-width:700px){.mobile-shell{margin-top:22px;margin-bottom:22px;overflow:hidden;border:1px solid #e6ecf5;border-radius:28px;box-shadow:0 24px 70px #1018281f}.specialist-shell .mobile-bottom-nav{border-radius:0 0 28px 28px}}@media(min-width:960px){.web-cabinet-shell{width:100%;max-width:none;min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"sidebar header" "sidebar content";background:#f5f7fb}.web-cabinet-shell>.mobile-header,.web-cabinet-shell>.mobile-bottom-nav{display:none}.web-sidebar-light{grid-area:sidebar;position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto 1fr;gap:18px;padding:22px 14px;border-right:1px solid #e6ecf5;background:#ffffffdb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-brand{display:grid;gap:7px;padding:8px 8px 14px}.sidebar-brand span{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:#006dff;color:#fff;font-weight:900;box-shadow:0 14px 32px #006dff33}.sidebar-brand strong{color:#071b3a;font-size:14px}.web-sidebar-light nav{display:grid;align-content:start;gap:7px}.web-sidebar-light button{min-height:42px;border-radius:14px;padding:10px 12px;background:transparent;color:#667085;font-size:13px;font-weight:780;text-align:left}.web-sidebar-light button.active,.web-sidebar-light button:hover{background:#eef5ff;color:#006dff}.web-header{grid-area:header;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;border-bottom:1px solid #e6ecf5;background:#ffffffb8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.web-header h1{margin:0;color:#071b3a;font-size:25px;line-height:1.12}.web-header p{margin:3px 0 0;color:#667085;font-size:13px;font-weight:650}.web-content{grid-area:content;width:min(1120px,100%);padding:24px 28px 56px}.admin-page,.client-page,.page-stack{gap:16px}.metric-strip,.web-metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-mini,.metric-tile{min-height:88px;padding:14px}.section-card,.client-card,.admin-card,.work-card{padding:18px}.data-card-list,.document-status-grid,.building-card-list,.document-list{grid-template-columns:repeat(2,minmax(0,1fr))}.building-stack,.apple-list{gap:10px}.apartment-detail-grid,.client-details-grid,.admin-details-grid,.mobile-summary-grid,.form-grid,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-summary-card{grid-template-columns:repeat(3,minmax(0,1fr))}.specialist-shell{width:min(100%,430px);max-width:430px}}@media(max-width:430px){.mobile-shell,.web-cabinet-shell{width:100%}.mobile-header h1{font-size:22px}.metric-mini,.metric-tile{min-height:72px;padding:10px 8px}.metric-mini strong,.metric-tile strong{font-size:19px}}
