.pro-page{background:#f5f6f8;color:#1a1d23;min-height:100vh;font-family:Outfit,-apple-system,sans-serif}.pro-header{background:#fff;border-bottom:1px solid #e2e5ea;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;position:-webkit-sticky;position:sticky;top:0;z-index:100}.pro-logo{font-family:Bebas Neue,sans-serif;font-size:1.3rem;letter-spacing:2px;color:#1a1d23;text-decoration:none}.pro-logo span{color:#ff6b2b}.pro-content{max-width:1300px;margin:0 auto;padding:2rem}.pro-summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1rem;gap:1rem;margin-bottom:2rem}.pro-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.06);border:1px solid #e8eaee}.pro-card-value{font-family:Bebas Neue,sans-serif;font-size:2.8rem;line-height:1;color:#1a1d23}.pro-card-value.orange{color:#ff6b2b}.pro-card-value.green{color:#00b361}.pro-card-value.red{color:#e53935}.pro-card-value.blue{color:#1976d2}.pro-card-label{font-size:.8rem;color:#6b7280;margin-top:.4rem;font-weight:500}.pro-section{margin-bottom:2rem}.pro-section-title{font-family:Bebas Neue,sans-serif;font-size:1.5rem;letter-spacing:1px;color:#1a1d23;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.pro-section-title:before{content:"";width:4px;height:1.2rem;background:#ff6b2b;border-radius:2px}.pro-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:600;padding:.25rem .6rem;border-radius:6px;letter-spacing:.3px}.pro-badge-electrical{background:#fff3e0;color:#e65100}.pro-badge-architectural{background:#e3f2fd;color:#1565c0}.pro-badge-hvac{background:#fce4ec;color:#c62828}.pro-badge-structural{background:#f3e5f5;color:#6a1b9a}.pro-badge-fire{background:#ffebee;color:#b71c1c}.pro-badge-plumbing{background:#e0f2f1;color:#00695c}.pro-badge-unknown{background:#f5f5f5;color:#757575}.pro-table-wrap{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);border:1px solid #e8eaee}.pro-table{width:100%;border-collapse:collapse}.pro-table th{background:#f9fafb;padding:.8rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e8eaee}.pro-table td{padding:.7rem 1rem;font-size:.85rem;color:#374151;border-bottom:1px solid #f3f4f6}.pro-table tr:hover td{background:#f9fafb}.pro-table tr:last-child td{border-bottom:none}.pro-status{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600}.pro-status-ok{color:#00b361}.pro-status-ok:before{content:"";width:8px;height:8px;border-radius:50%;background:#00b361}.pro-status-warn{color:#f59e0b}.pro-status-warn:before{content:"";width:8px;height:8px;border-radius:50%;background:#f59e0b}.pro-status-fail{color:#e53935}.pro-status-fail:before{content:"";width:8px;height:8px;border-radius:50%;background:#e53935}.pro-matrix{display:grid;grid-template-columns:120px repeat(6,1fr);grid-gap:2px;gap:2px;background:#e8eaee;border-radius:12px;overflow:hidden}.pro-matrix-header{background:#f9fafb;padding:.6rem;font-size:.7rem;font-weight:600;color:#6b7280;text-align:center}.pro-matrix-floor{background:#fff;padding:.6rem;font-weight:600;font-size:.85rem;color:#1a1d23}.pro-matrix-cell{padding:.6rem;text-align:center;font-size:.8rem;font-weight:600}.pro-matrix-ok{background:#ecfdf5;color:#00b361}.pro-matrix-missing{background:#fef2f2;color:#e53935}.pro-tree{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px rgba(0,0,0,.06);border:1px solid #e8eaee}.pro-tree-building{font-family:Bebas Neue,sans-serif;font-size:1.2rem;color:#1a1d23;margin-bottom:.8rem;display:flex;align-items:center;gap:.5rem}.pro-tree-floor{margin-left:1.5rem;margin-bottom:.8rem}.pro-tree-floor-label{font-weight:600;font-size:.9rem;color:#374151;margin-bottom:.4rem;padding:.3rem 0;border-bottom:1px solid #f3f4f6}.pro-tree-disc{margin-left:1.5rem;margin-bottom:.5rem}.pro-tree-file{margin-left:1rem;padding:.3rem .5rem;font-size:.8rem;color:#6b7280;display:flex;justify-content:space-between;align-items:center;border-radius:4px}.pro-tree-file:hover{background:#f9fafb}.pro-btn{padding:.6rem 1.2rem;font-size:.85rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:all .15s}.pro-btn-primary{background:#ff6b2b;color:#fff}.pro-btn-primary:hover{background:#e55a1b}.pro-btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.pro-btn-secondary:hover{background:#f9fafb}.pro-btn-success{background:#00b361;color:#fff}.pro-btn-success:hover{background:#009e54}.pro-upload{border:2px dashed #d1d5db;border-radius:16px;padding:3rem 2rem;text-align:center;background:#fff;transition:all .2s;cursor:pointer}.pro-upload:hover{border-color:#ff6b2b;background:#fff8f5}.pro-upload h3{font-size:1.2rem;font-weight:600;color:#1a1d23;margin-bottom:.5rem}.pro-upload p{color:#6b7280;font-size:.9rem}.pro-annotation{display:inline-flex;align-items:center;font-size:.65rem;font-weight:600;padding:.15rem .4rem;border-radius:4px;background:#fff3e0;color:#e65100}.pro-loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:#6b7280;font-size:.9rem}.pro-spinner{width:32px;height:32px;border:3px solid #e8eaee;border-top-color:#ff6b2b;border-radius:50%;animation:pro-spin 1s linear infinite;margin-right:.8rem}@keyframes pro-spin{to{transform:rotate(1turn)}}.pro-error{background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #e53935;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1rem}.pro-error-title{font-weight:600;color:#991b1b;font-size:.9rem;margin-bottom:.25rem}.pro-error-msg{color:#b91c1c;font-size:.85rem}.pro-empty{text-align:center;padding:3rem 2rem;color:#9ca3af}.pro-empty-icon{font-size:2.5rem;margin-bottom:.8rem;opacity:.5}.pro-empty-text{font-size:.9rem;max-width:300px;margin:0 auto}.pro-skeleton{background:linear-gradient(90deg,#e8eaee 25%,#f3f4f6 50%,#e8eaee 75%);background-size:200% 100%;animation:pro-shimmer 1.5s infinite;border-radius:6px}@keyframes pro-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:900px){.pro-summary{grid-template-columns:1fr 1fr}.pro-matrix{grid-template-columns:80px repeat(6,1fr)}.pro-content{padding:1rem}.pro-header{padding:.8rem 1rem}.pro-section-title{font-size:1.2rem}.pro-card{padding:1rem}.pro-card-value{font-size:2rem}.pro-upload{padding:2rem 1rem}.pro-table td,.pro-table th{padding:.5rem .6rem;font-size:.8rem}}@media (max-width:600px){.pro-summary{grid-template-columns:1fr}.pro-content{padding:.75rem}.pro-card-value{font-size:1.8rem}}