:root{font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#1a1a2e;background-color:#f0f2f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box;margin:0;padding:0}body,.app{min-height:100vh}.page{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.page-header{margin-bottom:2rem}.page-header h1{font-size:1.75rem;font-weight:700;color:#16213e}.page-header p{color:#5a6270;margin-top:.25rem}.back-link{display:inline-block;color:#3a6ea5;text-decoration:none;font-size:.9rem;margin-bottom:.5rem}.back-link:hover{text-decoration:underline}.section{margin-top:2.5rem}.section h2{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:#16213e}.dropzone-section{margin-bottom:1rem}.dropzone{border:2px dashed #b0b8c4;border-radius:12px;padding:3rem 2rem;text-align:center;cursor:pointer;background:#fff;transition:border-color .2s,background .2s}.dropzone:hover,.dropzone--active{border-color:#3a6ea5;background:#f0f6fc}.dropzone--disabled{opacity:.6;cursor:not-allowed}.dropzone-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:8px;background:#e8edf3;color:#3a6ea5;font-weight:700;font-size:.85rem;margin-bottom:1rem}.dropzone-title{font-size:1rem;font-weight:500;color:#16213e}.dropzone-hint{font-size:.85rem;color:#8a919c;margin-top:.25rem}.upload-progress{list-style:none;margin-top:1rem}.upload-progress-item{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:#fff;border-radius:8px;margin-bottom:.5rem;font-size:.9rem}.upload-progress-item--uploading .upload-progress-status{color:#3a6ea5}.upload-progress-item--done .upload-progress-status{color:#2d8a4e}.upload-progress-item--error .upload-progress-status{color:#c0392b}.envolvente-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.envolvente-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000000f}.envolvente-card-info h3{font-size:1rem;font-weight:600}.envolvente-filename{font-size:.85rem;color:#6b7280;margin-top:.15rem}.envolvente-date{font-size:.8rem;color:#9ca3af;margin-top:.15rem}.envolvente-card-actions{display:flex;gap:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;transition:background .15s}.btn--primary{background:#3a6ea5;color:#fff}.btn--primary:hover{background:#2d5a8a}.btn--secondary{background:#e8edf3;color:#16213e}.btn--secondary:hover{background:#d5dce6}.btn--danger{background:#fff;color:#c0392b;border:1px solid #e8b4b0}.btn--danger:hover{background:#fdf0ef}.btn:disabled{opacity:.6;cursor:not-allowed}.edit-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:start}@media(max-width:900px){.edit-layout{grid-template-columns:1fr}}.edit-form{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000000f}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.4rem}.form-group input[type=text],.form-group textarea,.form-group select{width:100%;padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;background:#fff}.form-group textarea{resize:vertical;min-height:4.5rem;font-family:inherit}.form-group select:disabled,.form-group input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3a6ea5;box-shadow:0 0 0 3px #3a6ea526}.form-inline{display:flex;align-items:center;gap:1rem}.form-checkbox{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500;color:#4b5563;cursor:pointer}.form-checkbox input{width:1rem;height:1rem;accent-color:#3a6ea5}.form-input--decimal{width:7rem;flex-shrink:0}.capas-editor{display:flex;flex-direction:column;gap:.75rem}.capas-boundary-label{text-align:center;font-size:.85rem;font-weight:600;color:#374151;letter-spacing:.04em;text-transform:uppercase;margin:.25rem 0}.capas-empty{font-size:.85rem;color:#8a919c;margin-bottom:.25rem}.capa-card{padding:1rem;background:#f8f9fb;border:1px solid #e5e7eb;border-radius:8px}.capa-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.capa-card-title{font-size:.9rem;font-weight:600;color:#374151}.capa-card .form-group{margin-bottom:.75rem}.capa-card .form-group:last-child{margin-bottom:0}.capa-numeric-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.btn--small{padding:.35rem .75rem;font-size:.8rem}.form-static{font-size:.9rem;color:#6b7280}.form-group--placeholder{padding:1rem;background:#f8f9fb;border-radius:8px;border:1px dashed #d1d5db}.placeholder-text{font-size:.85rem;color:#8a919c}.metadata-preview{margin-top:.75rem;padding:.75rem;background:#fff;border-radius:6px;font-size:.8rem;overflow-x:auto}.form-actions{display:flex;align-items:center;gap:1rem}.save-success{color:#2d8a4e;font-size:.85rem}.pdf-preview-section{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000000f}.pdf-preview-section h2{font-size:1rem;font-weight:600;margin-bottom:1rem}.pdf-viewer{width:100%;height:70vh;border:1px solid #e5e7eb;border-radius:8px}.loading{color:#6b7280;font-size:.9rem}.error{color:#c0392b;font-size:.9rem}.empty-state{text-align:center;padding:2rem;background:#fff;border-radius:10px;color:#6b7280}.empty-state-hint{font-size:.85rem;margin-top:.25rem}.envolvente-badge{display:inline-block;margin-left:.5rem;padding:.1rem .45rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#3a6ea5;background:#e8f0fa;border-radius:4px;vertical-align:middle}.revit-file-section .form-hint{font-size:.85rem;color:#8a919c;margin-bottom:.5rem}.revit-file-info{display:flex;flex-direction:column;gap:.5rem}.revit-file-actions{display:flex;flex-wrap:wrap;gap:.5rem}.revit-file-input{display:none}.revit-file-current-label{font-size:.85rem;color:#8a919c}.revit-versions{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e6ec}.revit-versions-title{font-size:.95rem;font-weight:600;color:#16213e;margin-bottom:.75rem}.revit-versions-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.revit-version-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;background:#f7f8fa;border-radius:8px}.revit-version-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.revit-version-filename{font-size:.9rem;font-weight:500;color:#1a1a2e;word-break:break-all}.revit-version-meta{font-size:.8rem;color:#8a919c}.revit-versions-loading{margin-top:1rem}.btn--small{padding:.35rem .75rem;font-size:.85rem;flex-shrink:0}.landing-hero{margin-bottom:3rem}.landing-eyebrow{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#3a6ea5;margin-bottom:.5rem}.landing-hero h1{font-size:2.25rem;font-weight:700;color:#16213e;max-width:28rem}.landing-lead{color:#5a6270;margin-top:1rem;max-width:40rem;font-size:1.1rem;line-height:1.6}.landing-cta{display:inline-block;margin-top:1.5rem;text-decoration:none}.landing-block{margin-bottom:2.5rem;max-width:40rem}.landing-block h2{font-size:1.25rem;font-weight:600;color:#16213e;margin-bottom:.75rem}.landing-block p{color:#5a6270;line-height:1.6;margin-bottom:.75rem}.landing-block--purpose{padding:1.5rem;background:#fff;border-radius:12px;border-left:4px solid #3a6ea5;box-shadow:0 1px 3px #0000000f}.landing-attribution{font-size:.9rem;color:#6b7280;font-style:italic;margin-top:1rem;margin-bottom:0;padding-top:.75rem;border-top:1px solid #e2e6ec}.landing-steps{list-style:none;display:flex;flex-direction:column;gap:1.25rem}.landing-step{display:flex;gap:1rem;align-items:flex-start}.landing-step-number{flex-shrink:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:#3a6ea5;color:#fff;font-weight:700;font-size:.9rem;border-radius:50%}.landing-step h3{font-size:1rem;font-weight:600;color:#16213e;margin-bottom:.25rem}.landing-step p{font-size:.95rem;color:#6b7280;margin-bottom:0}.landing-sections{margin-bottom:2rem}.landing-sections-title{font-size:1.25rem;font-weight:600;color:#16213e;margin-bottom:1rem}.landing-sections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.landing-card{display:flex;flex-direction:column;padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}.landing-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.landing-card h2,.landing-card h3{font-size:1.05rem;font-weight:600;color:#16213e;margin-bottom:.5rem}.landing-card p{font-size:.9rem;color:#6b7280;flex:1;line-height:1.5}.landing-card-action{margin-top:1rem;font-size:.875rem;font-weight:500;color:#3a6ea5}.landing-card--disabled{opacity:.65;cursor:default;position:relative}.landing-card--disabled:hover{box-shadow:0 1px 3px #0000000f;transform:none}.landing-card-badge{display:inline-block;align-self:flex-start;margin-bottom:.75rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;background:#f3f4f6;border-radius:4px}.page-header--with-user{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.user-badge{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.user-badge-avatar{width:32px;height:32px;border-radius:50%}.user-badge-name{font-size:.875rem;color:#16213e;font-weight:500}.user-badge-hint{font-size:.85rem;color:#8a919c;flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#16213e73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-overlay--blocking{z-index:1100}.modal{background:#fff;border-radius:12px;padding:2rem;max-width:400px;width:100%;position:relative;box-shadow:0 8px 32px #00000026}.modal h2{font-size:1.25rem;color:#16213e;margin-bottom:.5rem}.modal-message{color:#5a6270;font-size:.9rem;margin-bottom:1.5rem}.modal-google{display:flex;justify-content:center}.modal-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.5rem;line-height:1;color:#8a919c;cursor:pointer;padding:.25rem}.modal-close:hover{color:#16213e}.audit-history{margin-top:3rem}.audit-list{list-style:none;display:flex;flex-direction:column;gap:1rem}.audit-item{background:#fff;border-radius:8px;padding:1rem 1.25rem;border:1px solid #e2e6ec}.audit-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.audit-user{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.audit-avatar{width:28px;height:28px;border-radius:50%}.audit-user-name{font-weight:600;font-size:.9rem;color:#16213e}.audit-user-email{font-size:.8rem;color:#8a919c}.audit-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.audit-action{font-size:.8rem;font-weight:600;color:#3a6ea5;text-transform:uppercase;letter-spacing:.03em}.audit-date{font-size:.8rem;color:#8a919c}.audit-changes{list-style:none;font-size:.85rem;color:#5a6270;display:flex;flex-direction:column;gap:.35rem}.audit-changes li{word-break:break-word}.audit-change-old{color:#b45309}.audit-change-new{color:#047857}.audit-empty-changes{font-size:.85rem;color:#8a919c}.legal-page .legal-updated{font-size:.9rem;color:#8a919c;margin-top:.25rem}.legal-content{max-width:42rem;margin-bottom:3rem}.legal-content section{margin-bottom:1.75rem}.legal-content h2{font-size:1.1rem;font-weight:600;color:#16213e;margin-bottom:.5rem}.legal-content p,.legal-content li{color:#5a6270;line-height:1.65;margin-bottom:.5rem}.legal-content ul{margin:.5rem 0 .5rem 1.25rem}.legal-content a{color:#3a6ea5}.legal-disclaimer{margin-top:2rem;padding:1rem;background:#f9fafb;border-radius:8px;font-size:.85rem;color:#8a919c;border-left:3px solid #e2e6ec}.app-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid #e2e6ec;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}.app-footer-copy{font-size:.85rem;color:#8a919c}.app-footer-nav{display:flex;gap:1.25rem}.app-footer-nav a{font-size:.85rem;color:#3a6ea5;text-decoration:none}.app-footer-nav a:hover{text-decoration:underline}.terms-checkbox{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:1.25rem;font-size:.85rem;color:#5a6270;line-height:1.5;cursor:pointer}.terms-checkbox input{margin-top:.2rem;flex-shrink:0}.terms-checkbox a{color:#3a6ea5}
