.building3d-wrapper{position:relative;width:100%;height:100%;min-height:500px}.building3d-canvas{width:100%;height:100%}.building3d-canvas canvas{display:block;width:100%!important;height:100%!important;border-radius:0}.building3d-hint{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;background:#0f172abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffb3;font-size:12px;padding:7px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.1);pointer-events:none;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}.floor-view{height:100%;overflow-y:auto;padding:20px;background:#0f172a;color:#f1f5f9}.floor-view__header{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}.back-btn{display:flex;align-items:center;gap:6px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:#94a3b8;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .15s;white-space:nowrap;flex-shrink:0}.back-btn:hover{background:#ffffff1f;color:#f1f5f9}.floor-view__title h2{font-size:22px;font-weight:600;color:#f1f5f9;margin-bottom:6px}.floor-view__stats{display:flex;gap:8px;flex-wrap:wrap}.stat{font-size:12px;padding:3px 10px;border-radius:12px}.stat--avail{background:#052e16;color:#4ade80;border:1px solid #166534}.stat--reserved{background:#1c1008;color:#fbbf24;border:1px solid #92400e}.stat--sold{background:#1a0606;color:#f87171;border:1px solid #991b1b}.section-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:#475569;margin-bottom:10px}.floor-view__plan{margin-bottom:24px}.floor-plan-svg{width:100%;height:auto;border:1px solid #1e293b;border-radius:10px;background:#0b1420}.apt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.apt-card{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:0;cursor:pointer;text-align:left;transition:all .2s;overflow:hidden;display:flex;flex-direction:column}.apt-card:hover:not(:disabled){border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 24px #3b82f626}.apt-card:disabled{opacity:.55;cursor:not-allowed}.apt-card--sold{border-color:#7f1d1d}.apt-card--reserved{border-color:#78350f}.apt-plan{position:relative;background:#0f172a;height:90px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;padding:8px;border-bottom:1px solid #334155}.apt-plan__room{border-radius:3px;opacity:.6}.apt-plan__room--living{background:#1e3a5f;grid-column:1 / 3;grid-row:1}.apt-plan__room--bed1{background:#1a2f4a;grid-column:1;grid-row:2}.apt-plan__room--bed2{background:#1a2f4a;display:none}.apt-plan__room--bath{background:#162a40;width:50%;justify-self:end;grid-row:2}.apt-plan__room--kitchen{background:#162a40;display:none}.apt-plan__door{position:absolute;bottom:8px;left:8px;width:12px;height:12px}.apt-plan__door-arc{width:12px;height:12px;border:1.5px solid #475569;border-radius:0 0 0 10px;border-top:none;border-right:none}.apt-status-badge{position:absolute;top:6px;right:6px;font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;color:#fff;letter-spacing:.03em}.apt-info{padding:10px 12px;flex:1}.apt-info__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.apt-unit{font-size:15px;font-weight:600;color:#f1f5f9}.apt-type{font-size:10px;color:#64748b}.apt-info__meta{display:flex;justify-content:space-between;margin-bottom:4px}.apt-area{font-size:12px;color:#94a3b8}.apt-direction{font-size:11px;color:#475569}.apt-info__view{display:flex;align-items:center;gap:4px;font-size:11px;color:#64748b;margin-bottom:6px}.apt-price{font-size:15px;font-weight:700;color:#60a5fa}.apt-unavailable{font-size:12px;color:#64748b;font-style:italic}.apt-cta{padding:8px 12px;background:#3b82f614;border-top:1px solid rgba(59,130,246,.15);font-size:12px;color:#60a5fa;text-align:right}.apt-detail{height:100%;overflow-y:auto;padding:20px;background:#0f172a;color:#f1f5f9}.apt-detail__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.back-btn-detail{background:transparent;border:none;color:#64748b;cursor:pointer;font-size:13px;padding:0;transition:color .15s}.back-btn-detail:hover{color:#94a3b8}.apt-detail__badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;color:#fff;letter-spacing:.04em}.apt-detail__hero{margin-bottom:20px}.apt-detail__unit{font-size:32px;font-weight:700;color:#f8fafc;line-height:1;margin-bottom:4px}.apt-detail__subtitle{font-size:14px;color:#64748b}.apt-detail__plan-section{margin-bottom:20px}.detail-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:#475569;margin-bottom:8px}.room-plan-svg{width:100%;height:auto;border:1px solid #1e293b;border-radius:10px;background:#060d1a}.apt-detail__specs{margin-bottom:20px}.specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.spec-item{background:#1e293b;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}.spec-key{font-size:10px;color:#64748b;text-transform:uppercase;letter-spacing:.06em}.spec-val{font-size:14px;font-weight:500;color:#e2e8f0}.apt-detail__pricing{margin-bottom:20px;background:#1e293b;border:1px solid #334155;border-radius:12px;padding:16px}.price-main{font-size:28px;font-weight:700;color:#60a5fa;margin-bottom:4px}.price-per-m{font-size:13px;color:#64748b;margin-bottom:6px}.price-installment{font-size:12px;color:#22c55e;font-weight:500}.apt-detail__payment{margin-bottom:20px}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pay-method{background:#1e293b;border:1px solid #334155;border-radius:10px;padding:10px 8px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .15s;color:#94a3b8}.pay-method:hover{border-color:#475569}.pay-method--active{border-color:#3b82f6;background:#3b82f614;color:#60a5fa}.pay-method__logo{font-size:16px}.pay-method__label{font-size:12px;font-weight:500}.apt-detail__actions{display:flex;flex-direction:column;gap:8px}.btn-reserve{width:100%;padding:14px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.btn-reserve:hover{background:#1d4ed8}.btn-consult{width:100%;padding:12px;background:transparent;color:#64748b;border:1px solid #334155;border-radius:10px;font-size:13px;cursor:pointer;transition:all .15s}.btn-consult:hover{border-color:#475569;color:#94a3b8}.btn-auth{width:100%;padding:14px;background:transparent;border:1px dashed #3b82f6;color:#60a5fa;border-radius:10px;font-size:14px;cursor:pointer;transition:all .15s}.btn-auth:hover{background:#3b82f614}.apt-unavailable-notice{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:16px}.apt-unavailable-notice p{font-size:13px;color:#64748b;line-height:1.6}.sidebar{background:#0b1120;border-right:1px solid #1e293b;transition:width .25s ease;position:relative;flex-shrink:0;overflow:hidden}.sidebar--open{width:260px}.sidebar--closed{width:32px}.sidebar-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);background:#1e293b;border:1px solid #334155;border-radius:0 6px 6px 0;color:#64748b;width:20px;height:40px;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;z-index:1;transition:color .15s}.sidebar-toggle:hover{color:#94a3b8}.sidebar-content{height:100%;overflow-y:auto;overflow-x:hidden;padding:16px 14px;width:260px}.sidebar-content::-webkit-scrollbar{width:3px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:#334155;border-radius:2px}.sidebar-building{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #1e293b}.sidebar-building__icon{font-size:22px}.sidebar-building__name{font-size:14px;font-weight:600;color:#f1f5f9;margin-bottom:2px}.sidebar-building__addr{font-size:11px;color:#64748b}.sidebar-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:10px}.stat-box{background:#1e293b;border-radius:8px;padding:8px 6px;text-align:center}.stat-box__val{font-size:18px;font-weight:700;margin-bottom:2px}.stat-box__val--avail{color:#4ade80}.stat-box__val--reserved{color:#fbbf24}.stat-box__val--sold{color:#f87171}.stat-box__key{font-size:9px;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.sidebar-revenue{display:flex;justify-content:space-between;align-items:center;background:#3b82f612;border:1px solid rgba(59,130,246,.15);border-radius:8px;padding:8px 12px;margin-bottom:14px}.sidebar-revenue__label{font-size:11px;color:#64748b}.sidebar-revenue__val{font-size:14px;font-weight:600;color:#60a5fa}.sidebar-progress{margin-bottom:18px}.sidebar-progress__bar{height:6px;border-radius:3px;background:#1e293b;display:flex;overflow:hidden;margin-bottom:6px}.sidebar-progress__fill--avail{background:#22c55e;transition:width .4s}.sidebar-progress__fill--reserved{background:#f59e0b;transition:width .4s}.sidebar-progress__fill--sold{background:#ef4444;transition:width .4s}.sidebar-progress__legend{display:flex;justify-content:space-between}.leg{font-size:10px}.leg--avail{color:#22c55e}.leg--reserved{color:#f59e0b}.leg--sold{color:#ef4444}.sidebar-section-title{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:#475569;margin-bottom:8px}.sidebar-floors{margin-bottom:16px}.floor-list{display:flex;flex-direction:column;gap:3px}.floor-bar{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:1px solid transparent;border-radius:6px;padding:5px 6px;cursor:pointer;transition:all .15s}.floor-bar:hover{background:#1e293b;border-color:#334155}.floor-bar--selected{background:#2563eb1f;border-color:#2563eb66}.floor-bar--hovered:not(.floor-bar--selected){background:#60a5fa12;border-color:#60a5fa33}.floor-bar__num{width:22px;font-size:11px;font-weight:500;color:#64748b;text-align:right;flex-shrink:0}.floor-bar--selected .floor-bar__num{color:#60a5fa}.floor-bar__track{flex:1;height:8px;background:#1e293b;border-radius:4px;display:flex;overflow:hidden}.floor-bar__fill{transition:width .3s}.floor-bar__fill--avail{background:#22c55e}.floor-bar__fill--reserved{background:#f59e0b}.floor-bar__fill--sold{background:#ef4444}.floor-bar__count{width:16px;flex-shrink:0}.floor-bar__avail{font-size:10px;color:#4ade80;font-weight:600}.amenity-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b;padding:4px 0}.amenity-dot{width:5px;height:5px;border-radius:50%;background:#334155;flex-shrink:0}.navbar{height:56px;background:#070e1c;border-bottom:1px solid #1e293b;display:flex;align-items:center;justify-content:space-between;padding:0 20px;flex-shrink:0;z-index:10}.navbar-left{display:flex;align-items:center;gap:16px}.navbar-logo{display:flex;align-items:center;gap:8px;text-decoration:none}.navbar-logo__icon{font-size:20px}.navbar-logo__text{font-size:17px;font-weight:700;color:#f1f5f9;letter-spacing:-.02em}.navbar-breadcrumb{display:flex;align-items:center;gap:4px}.breadcrumb-sep{color:#334155;font-size:13px}.breadcrumb-item{background:none;border:none;color:#64748b;font-size:13px;cursor:pointer;padding:2px 4px;border-radius:4px;transition:color .15s}.breadcrumb-item:hover:not(:disabled){color:#94a3b8}.breadcrumb-item--current{color:#e2e8f0;cursor:default}.breadcrumb-item:disabled{cursor:default}.navbar-right{display:flex;align-items:center;gap:10px}.admin-badge{font-size:11px;background:#eab3081f;border:1px solid rgba(234,179,8,.3);color:#fbbf24;padding:3px 10px;border-radius:12px}.navbar-user{display:flex;align-items:center;gap:8px}.user-avatar{width:30px;height:30px;border-radius:50%;background:#2563eb;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.user-name{font-size:13px;color:#94a3b8}.admin-toggle{background:transparent;border:1px solid #334155;border-radius:6px;color:#64748b;padding:4px 7px;cursor:pointer;font-size:14px;transition:all .15s}.admin-toggle:hover{border-color:#f59e0b;color:#fbbf24}.admin-toggle--active{border-color:#f59e0b;color:#fbbf24;background:#eab30814}.btn-login{background:#2563eb;border:none;color:#fff;padding:7px 16px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.btn-login:hover{background:#1d4ed8}.btn-logout{background:transparent;border:1px solid #334155;color:#64748b;padding:5px 12px;border-radius:7px;font-size:12px;cursor:pointer;transition:all .15s}.btn-logout:hover{border-color:#475569;color:#94a3b8}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:#0f172a;border:1px solid #1e293b;border-radius:16px;padding:28px;width:100%;max-width:420px;position:relative;color:#f1f5f9;max-height:90vh;overflow-y:auto}.modal-close{position:absolute;top:16px;right:16px;background:#1e293b;border:none;color:#64748b;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:12px;transition:all .15s}.modal-close:hover{background:#334155;color:#f1f5f9}.modal-logo{font-size:20px;font-weight:700;color:#f1f5f9;margin-bottom:20px;text-align:center}.modal-title{font-size:20px;font-weight:600;margin-bottom:16px}.modal-tabs{display:flex;gap:4px;background:#1e293b;border-radius:10px;padding:4px;margin-bottom:20px}.modal-tab{flex:1;padding:8px;background:transparent;border:none;color:#64748b;border-radius:7px;cursor:pointer;font-size:13px;transition:all .15s}.modal-tab--active{background:#0f172a;color:#f1f5f9;font-weight:500}.modal-form{display:flex;flex-direction:column;gap:12px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:12px;color:#64748b}.form-group input{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:10px 12px;color:#f1f5f9;font-size:14px;outline:none;transition:border-color .15s}.form-group input:focus{border-color:#3b82f6}.form-group input::placeholder{color:#475569}.btn-submit{width:100%;padding:12px;background:#2563eb;border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s;margin-top:4px}.btn-submit:hover{background:#1d4ed8}.btn-back-step{flex:0 0 auto;padding:12px 16px;background:#1e293b;border:1px solid #334155;border-radius:10px;color:#64748b;font-size:14px;cursor:pointer;transition:all .15s;white-space:nowrap}.btn-back-step:hover{color:#94a3b8}.btn-confirm-payment{flex:1;padding:12px;background:#16a34a;border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.btn-confirm-payment:hover{background:#15803d}.modal-demo-btns{text-align:center;border-top:1px solid #1e293b;padding-top:12px;display:flex;flex-direction:column;gap:6px;align-items:center}.modal-demo-btns p{font-size:11px;color:#475569;margin-bottom:4px}.btn-demo{background:#1e293b;border:1px solid #334155;border-radius:8px;color:#94a3b8;padding:7px 16px;cursor:pointer;font-size:13px;width:100%;transition:all .15s}.btn-demo:hover{border-color:#475569;color:#f1f5f9}.payment-modal{max-width:460px}.payment-steps{display:flex;align-items:center;margin-bottom:20px;position:relative}.payment-step{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;position:relative}.payment-step__num{width:26px;height:26px;border-radius:50%;background:#1e293b;border:1px solid #334155;color:#64748b;font-size:12px;display:flex;align-items:center;justify-content:center}.payment-step--done .payment-step__num{background:#166534;border-color:#16a34a;color:#4ade80}.payment-step--active .payment-step__num{border-color:#3b82f6;color:#60a5fa}.payment-step__label{font-size:10px;color:#64748b}.payment-step--active .payment-step__label{color:#94a3b8}.payment-step__line{position:absolute;top:13px;left:62%;width:76%;height:1px;background:#334155}.payment-apt-summary{background:#1e293b;border:1px solid #334155;border-radius:10px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.payment-apt-unit{font-size:15px;font-weight:600;color:#f1f5f9}.payment-apt-meta{font-size:12px;color:#64748b;margin-top:2px}.payment-apt-price{font-size:18px;font-weight:700;color:#60a5fa}.modal-sublabel{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px}.payment-method-btn{width:100%;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:11px 14px;margin-bottom:6px;cursor:pointer;display:flex;align-items:center;gap:12px;text-align:left;transition:all .15s;color:#f1f5f9}.payment-method-btn:hover{border-color:#475569}.payment-method-btn--active{border-color:#3b82f6;background:#2563eb14}.pmb-label{font-size:14px;font-weight:500;margin-bottom:2px}.pmb-desc{font-size:12px;color:#64748b}.payment-method-detail{margin:4px 0}.confirm-rows{margin-bottom:16px}.confirm-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #1e293b;font-size:13px;color:#94a3b8}.confirm-row span:last-child{color:#e2e8f0}.confirm-row--total{border-bottom:none;margin-top:4px;padding-top:12px;font-size:15px;font-weight:600;color:#f1f5f9}.confirm-total{color:#60a5fa!important;font-weight:700}.capitalize{text-transform:capitalize}.success-modal{text-align:center}.success-icon{width:64px;height:64px;border-radius:50%;background:#052e16;border:2px solid #16a34a;color:#4ade80;font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.success-title{font-size:20px;font-weight:600;margin-bottom:10px}.success-message{font-size:14px;color:#94a3b8;line-height:1.6;margin-bottom:12px}.success-ref{font-size:12px;color:#475569;margin-bottom:20px}.admin-panel{position:fixed;top:0;right:0;bottom:0;left:0;background:#070e1c;z-index:50;display:flex;flex-direction:column;color:#f1f5f9;overflow:hidden}.admin-panel__header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #1e293b;flex-shrink:0}.admin-panel__title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600}.admin-icon{font-size:20px;filter:sepia(1) saturate(3) hue-rotate(30deg)}.admin-close{background:transparent;border:1px solid #334155;color:#64748b;padding:7px 14px;border-radius:8px;cursor:pointer;font-size:13px;transition:all .15s}.admin-close:hover{border-color:#475569;color:#f1f5f9}.admin-kpi{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;padding:16px 24px;flex-shrink:0}@media (max-width: 900px){.admin-kpi{grid-template-columns:repeat(3,1fr)}}.kpi-card{border-radius:10px;padding:14px;text-align:center;border:1px solid transparent}.kpi-card--blue{background:#2563eb14;border-color:#2563eb33}.kpi-card--green{background:#16a34a14;border-color:#16a34a33}.kpi-card--yellow{background:#d9770614;border-color:#d9770633}.kpi-card--red{background:#dc262614;border-color:#dc262633}.kpi-card--revenue{background:#60a5fa0f;border-color:#60a5fa26}.kpi-card--potential{background:#94a3b80f;border-color:#94a3b826}.kpi-val{font-size:26px;font-weight:700;margin-bottom:4px;color:#f1f5f9}.kpi-val--sm{font-size:20px}.kpi-key{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.admin-progress{padding:0 24px 16px;flex-shrink:0}.admin-progress__info{display:flex;justify-content:space-between;font-size:12px;color:#64748b;margin-bottom:6px}.admin-progress__bar{height:6px;background:#1e293b;border-radius:3px;overflow:hidden}.admin-progress__fill{height:100%;background:linear-gradient(90deg,#2563eb,#16a34a);border-radius:3px;transition:width .4s}.admin-filters{display:flex;align-items:center;gap:12px;padding:0 24px 14px;flex-shrink:0}.admin-search{background:#1e293b;border:1px solid #334155;border-radius:8px;padding:8px 14px;color:#f1f5f9;font-size:13px;outline:none;width:200px;transition:border-color .15s}.admin-search:focus{border-color:#3b82f6}.admin-search::placeholder{color:#475569}.admin-filter-btns{display:flex;gap:6px}.admin-filter-btn{padding:6px 14px;background:transparent;border:1px solid #334155;border-radius:20px;color:#64748b;font-size:12px;cursor:pointer;transition:all .15s}.admin-filter-btn:hover{border-color:#475569;color:#94a3b8}.admin-filter-btn--active{border-color:#3b82f6;color:#60a5fa;background:#3b82f614}.admin-table-wrap{flex:1;overflow-y:auto;padding:0 24px 24px}.admin-table-wrap::-webkit-scrollbar{width:4px}.admin-table-wrap::-webkit-scrollbar-thumb{background:#334155;border-radius:2px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{text-align:left;padding:10px 12px;color:#475569;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #1e293b;position:sticky;top:0;background:#070e1c}.admin-table td{padding:10px 12px;border-bottom:1px solid #0f172a;color:#94a3b8}.admin-table tr:hover td{background:#0f172a}.apt-unit-cell{font-weight:600;color:#f1f5f9!important}.price-cell{color:#60a5fa!important;font-weight:500}.status-chip{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:500}.status-select{background:#1e293b;border:1px solid #334155;border-radius:6px;color:#94a3b8;padding:5px 8px;font-size:12px;cursor:pointer;outline:none;transition:border-color .15s}.status-select:focus{border-color:#3b82f6}.admin-empty{text-align:center;padding:40px;color:#475569;font-size:14px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep: #070e1c;--bg-dark: #0f172a;--bg-card: #1e293b;--bg-hover: #334155;--border: #1e293b;--border-md: #334155;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-faint: #475569;--blue: #2563eb;--blue-light: #60a5fa;--green: #16a34a;--yellow: #d97706;--red: #dc2626}html,body,#root{height:100%;overflow:hidden}body{font-family:Geist,DM Sans,ui-sans-serif,system-ui,sans-serif;background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-body{flex:1;display:flex;overflow:hidden}.app-main{flex:1;display:flex;overflow:hidden;position:relative}.building-pane{flex:1;min-width:0;transition:flex .35s ease}.building-pane--secondary{flex:0 0 55%}@media (max-width: 768px){.building-pane--secondary{display:none}}.detail-pane{width:380px;flex-shrink:0;border-left:1px solid #1e293b;overflow-y:auto;background:#0f172a}@media (max-width: 768px){.detail-pane{position:fixed;top:56px;right:0;bottom:0;left:0;width:100%;z-index:20}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#334155;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#475569}.building-pane,.detail-pane{transition:all .3s ease}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}
