*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #F0F4F8;--surface: #FFFFFF;--surface-2: #F8FAFC;--border: #E2E8F0;--text: #1E2A3A;--muted: #64748B;--accent: #3B82F6;--accent-d: #1D4ED8;--accent-bg: #EFF6FF;--green: #10B981;--green-bg: #D1FAE5;--purple: #8B5CF6;--purple-bg: #EDE9FE;--red: #EF4444;--red-bg: #FEE2E2;--yellow: #F59E0B;--yellow-bg: #FEF3C7;--radius: 10px;--shadow: 0 1px 3px rgba(0,0,0,.07), 0 4px 16px rgba(0,0,0,.05);--nav-w: 220px;--topbar-h: 56px}body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideInRight{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes slideUpModal{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeInUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}table{width:100%;border-collapse:collapse;font-size:.875rem}th{text-align:left;padding:.65rem 1rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:2px solid var(--border);white-space:nowrap}td{padding:.75rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface-2)}input,select,textarea{font-family:inherit;font-size:.875rem;color:var(--text)}input:focus,select:focus,textarea:focus{outline:none}button{font-family:inherit;cursor:pointer}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);animation:fadeInUp .25s ease}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.25rem 1.4rem;display:flex;align-items:center;gap:1rem;box-shadow:var(--shadow)}.hero-banner{background:linear-gradient(135deg,#2563eb,#1d4ed8 55%,#1e40af);border-radius:18px;color:#fff;padding:2rem 2.25rem;box-shadow:0 12px 32px #1d4ed840}.building-card{transition:transform .12s ease,box-shadow .12s ease}.building-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px #00000017}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:8px;font-size:.85rem;font-weight:500;border:1px solid var(--border);background:var(--surface);color:var(--text)}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-d)}.field{display:flex;flex-direction:column;gap:.3rem}.field label{font-size:.78rem;font-weight:600;color:var(--muted)}.field input,.field select,.field textarea{padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}@media (max-width: 768px){:root{--nav-w: 100%}.app-main{padding:1rem .9rem!important}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:480px}}
