@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Urbanist:wght@400;600;700;900&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Space Grotesk,Segoe UI,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{scroll-behavior:smooth}.app-shell{background:#f5f6f8;color:#222}.app-shell,.landing{display:flex;flex-direction:column;min-height:100vh}.landing{background:#f6f8fb;color:#172033}.landing main{display:block}.landing-header{grid-gap:12px;align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-bottom:1px solid #e1e7ef;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;padding:14px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.landing-brand{align-items:center;display:inline-flex;min-width:0;text-decoration:none}.landing-logo{aspect-ratio:3.044/1;height:auto;object-fit:contain;width:clamp(126px,38vw,172px)}.landing-nav{background:#fff;border:1px solid #e1e7ef;border-radius:8px;box-shadow:0 18px 34px #17203321;display:none;font-weight:700;gap:0;grid-column:1/-1;padding:6px;width:100%}.landing-nav.open{display:grid}.landing-mobile-cta,.landing-mobile-login,.landing-nav a{border-radius:6px;color:#172033;min-height:44px;padding:12px 14px;text-decoration:none}.landing-mobile-cta:hover,.landing-mobile-login:hover,.landing-nav a:hover{background:#eef5ff}.landing-actions{display:contents}.landing-actions .landing-cta{display:none}.landing-actions .landing-menu-toggle{grid-column:2;grid-row:1}.landing-login{color:#172033;display:none;font-weight:700;text-decoration:none}.landing-mobile-cta,.landing-mobile-login{align-items:center;display:inline-flex}.landing-mobile-cta{color:#1652f0;font-weight:800}.landing-menu-toggle{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#172033;cursor:pointer;display:inline-flex;font-size:1rem;height:40px;justify-content:center;width:40px}.landing-cta,.landing-primary-button,.landing-secondary-button{align-items:center;border-radius:8px;display:inline-flex;font-weight:800;justify-content:center;min-height:44px;padding:0 14px;text-decoration:none;white-space:nowrap}.landing-cta,.landing-primary-button{background:#1652f0;color:#fff}.landing-cta{font-size:.82rem;min-height:40px;padding:0 12px}.landing-secondary-button{background:#fff;border:1px solid #cbd5e1;color:#172033}.landing-hero{grid-gap:28px;display:grid;gap:28px;padding:48px 16px 56px}.landing-final-cta,.landing-hero-copy,.landing-section{margin:0 auto;width:min(1120px,100%)}.landing-hero-copy{grid-gap:18px;display:grid;gap:18px;justify-items:start}.landing-hero-kicker,.landing-section-kicker{color:#1652f0;font-size:.78rem;font-weight:900;letter-spacing:.08em;margin:0;text-transform:uppercase}.landing-hero h1{font-family:Urbanist,sans-serif;font-size:clamp(2.2rem,11vw,4.9rem);font-weight:700;letter-spacing:0;line-height:.98;margin:0;max-width:760px}.landing-hero-subtitle{color:#45556c;font-size:1.05rem;line-height:1.65;margin:0;max-width:660px}.landing-hero-actions,.landing-trust-row{display:flex;flex-wrap:wrap;gap:10px}.landing-trust-row span{background:#fff;border:1px solid #d9e2ef;border-radius:999px;color:#334155;font-size:.86rem;font-weight:800;padding:8px 12px}.landing-section{grid-gap:24px;display:grid;gap:24px;padding:48px 16px}.landing-faq,.landing-product,.landing-screens{background:#fff}.landing-section-header{grid-gap:10px;display:grid;gap:10px;margin:0 auto;max-width:760px;text-align:center}.landing-section-header.align-left{margin-left:0;text-align:left}.landing-final-cta h2,.landing-section-header h2,.product-content h2{color:#172033;font-size:clamp(1.75rem,7vw,3rem);letter-spacing:0;line-height:1.05;margin:0}.landing-final-cta p,.landing-section-header p,.product-content p{color:#55657a;font-size:1rem;line-height:1.65;margin:0}.landing-audience-grid,.landing-faq-list,.landing-feature-grid{grid-gap:14px;display:grid;gap:14px}.landing-faq-list{justify-content:center}.landing-audience-card,.landing-faq-item,.landing-feature-card{background:#fff;border:1px solid #d9e2ef;border-radius:8px;box-shadow:0 10px 28px #1720330f}.landing-audience-card{grid-gap:10px;align-items:flex-start;display:grid;gap:10px;grid-template-columns:24px minmax(0,1fr);padding:16px}.landing-audience-card i{align-items:center;background:#ecfdf3;border-radius:50%;color:#0f8a48;display:inline-flex;height:24px;justify-content:center;width:24px}.landing-audience-card p,.landing-faq-item p,.landing-feature-card p{color:#55657a;line-height:1.6;margin:0}.landing-feature-card{grid-gap:12px;display:grid;gap:12px;padding:18px}.landing-feature-icon{align-items:center;background:#eef5ff;border-radius:8px;color:#1652f0;display:inline-flex;height:42px;justify-content:center;width:42px}.landing-faq-item h3,.landing-feature-card h3{color:#172033;font-size:1.05rem;line-height:1.25;margin:0}.product-content{grid-gap:28px;align-items:center;display:grid;gap:28px}.product-content-carousel-only{display:block;margin:0 auto;max-width:1040px;width:100%}.product-content>div:first-child{grid-gap:10px;display:grid;gap:10px}.product-image{aspect-ratio:16/9;border:1px solid #d9e2ef;border-radius:8px;box-shadow:0 20px 42px #1720331f;display:block;object-fit:cover;object-position:top center;width:100%}.product-carousel{align-items:center;display:grid;position:relative}.carousel-track{border-radius:8px;overflow:hidden}.carousel-track-inner{display:flex;transition:transform .45s ease;width:100%}.carousel-slide{min-width:100%}.carousel-control{background:#172033d1;border:none;border-radius:8px;color:#fff;cursor:pointer;display:grid;height:36px;place-items:center;position:absolute;top:50%;transform:translateY(-50%);width:36px;z-index:2}.carousel-control:first-of-type{left:8px}.carousel-control:last-of-type{right:8px}.carousel-dots{display:flex;gap:8px;justify-content:center;margin-top:12px}.carousel-dot{background:#b9c7da;border:none;border-radius:999px;cursor:pointer;height:10px;width:10px}.carousel-dot.active{background:#1652f0}.pricing-table-wrap{overflow:visible}.pricing-table{background:#fff;border-collapse:collapse;width:100%}.pricing-feedback{background:#fff;border:1px solid #d9e2ef;border-radius:8px;color:#45556c;font-weight:800;padding:16px;text-align:center}.pricing-table td,.pricing-table th{border-bottom:1px solid #e5ebf3;font-size:14px;padding:14px 16px;text-align:center}.pricing-table td:first-child,.pricing-table th:first-child{color:#172033;font-weight:700;text-align:left}.pricing-table th{background:#172033;color:#fff;font-size:10px;line-height:1.18;padding-left:8px;padding-right:8px;text-transform:uppercase;vertical-align:middle}.pricing-table tr:last-child td{border-bottom:none}.pricing-table .yes{color:#0f8a48;font-weight:800}.pricing-table .no{color:#b42318;font-weight:800}.landing-plans-table{background:#0000;border-radius:0;box-shadow:none;display:block;min-width:0}.landing-plans-table thead{display:none}.landing-plans-table tbody{grid-gap:14px;display:grid;gap:14px}.landing-plans-table tr{background:#fff;border:1px solid #d9e2ef;border-radius:8px;box-shadow:0 10px 28px #17203314;display:grid;overflow:hidden}.landing-plans-table td{align-items:center;border-bottom:1px solid #edf2f7;display:flex;gap:16px;justify-content:space-between;padding:12px 14px;text-align:right}.landing-plans-table td:before{color:#55657a;content:attr(data-label);font-weight:800;text-align:left}.landing-plans-table td:first-child{background:#172033;color:#fff;font-size:1rem}.landing-plans-table td:first-child:before{color:#ffffffbf}.landing-faq-item{grid-gap:8px;display:grid;gap:8px;padding:18px}.landing-final-cta{grid-gap:20px;align-items:start;background:#172033;border-radius:8px;color:#fff;display:grid;gap:20px;margin-bottom:48px;padding:24px 18px}.landing-final-cta h2,.landing-final-cta p{color:#fff}.landing-final-cta .landing-section-kicker{color:#8fb2ff}.pricing-note{color:#64748b;font-size:12px;margin:12px 0 0;text-align:right}.schedule-settings{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}.schedule-settings label{grid-gap:6px;color:#6b7280;display:grid;font-size:12px;gap:6px}@media (min-width:760px){.landing-header{grid-template-columns:auto 1fr auto;padding:18px clamp(24px,4vw,56px)}.landing-nav{align-items:center;background:#0000;border:0;box-shadow:none;display:flex;grid-column:auto;justify-content:center;padding:0}.landing-nav a{min-height:0;padding:8px 6px}.landing-menu-toggle,.landing-mobile-cta,.landing-mobile-login{display:none}.landing-login{display:inline-flex}.landing-actions{align-items:center;display:flex;gap:8px}.landing-cta{font-size:.92rem;min-height:44px;padding:0 16px}.landing-actions .landing-cta{display:inline-flex;grid-column:auto;grid-row:auto;width:auto}.landing-hero{padding:76px clamp(24px,4vw,56px) 88px}.landing-hero-copy{justify-items:center;text-align:center;width:100%}.landing-hero h1,.landing-hero-subtitle{margin-left:auto;margin-right:auto}.landing-section{padding:72px clamp(24px,4vw,56px)}.landing-audience-grid,.landing-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.landing-faq-list{grid-template-columns:repeat(auto-fit,minmax(260px,340px))}.product-content{grid-template-columns:minmax(260px,.75fr) minmax(380px,1.25fr)}.pricing-table-wrap{overflow-x:auto}.landing-plans-table{border-radius:8px;box-shadow:0 14px 34px #17203314;display:table;min-width:1040px;overflow:hidden}.landing-plans-table thead{display:table-header-group}.landing-plans-table tbody{display:table-row-group}.landing-plans-table tr{border:0;border-radius:0;box-shadow:none;display:table-row}.landing-plans-table td{display:table-cell;text-align:center}.landing-plans-table td:before{content:none}.landing-plans-table td:first-child{background:#fff;color:#172033}.landing-final-cta{align-items:center;grid-template-columns:minmax(0,1fr) auto;padding:34px}}@media (min-width:1020px){.landing-audience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.schedule-toggle{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#1f2937;display:inline-flex;font-weight:600;gap:8px;padding:8px 10px}.schedule-toggle.inline{background:#0000;border:none;font-weight:600;padding:0}.finance-settings .schedule-toggle.inline{align-items:center;display:inline-flex;gap:8px}.schedule-toggle input{margin:0}.schedule-settings input{background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:13px;padding:8px 10px}.schedule-settings button{background:#0f172a;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 12px}.schedule-table-wrap{overflow-x:auto;position:relative}.schedule-legend{color:#1f2937;display:flex;flex-wrap:wrap;font-size:12px;gap:16px;margin-bottom:12px}.schedule-legend .legend-item{align-items:center;display:inline-flex;gap:8px}.schedule-legend .legend-line{border-radius:999px;display:inline-block;height:4px;width:32px}.schedule-legend .legend-square{border-radius:3px;display:inline-block;height:14px;width:14px}.schedule-legend .legend-planned{background:#86efac}.schedule-legend .legend-exceeded{background:#fca5a5}.schedule-legend .legend-time{background:#dc2626}.schedule-legend .legend-complete{background:#1e3a8a}.schedule-legend .legend-dependency{border-radius:0;border-top:2px dotted #dc2626;height:0}.schedule-table{background:#fff;border-collapse:collapse;border-radius:12px;box-shadow:0 10px 24px #0f172a14;min-width:720px;overflow:hidden;width:100%}.finance-settings{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}.finance-settings label{grid-gap:6px;color:#6b7280;display:grid;font-size:12px;gap:6px}.finance-settings input,.finance-settings select{background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:13px;padding:8px 10px}.finance-settings select{min-height:38px}.finance-settings button{background:#0f172a;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 12px}.cashflow-filters-box{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 6px 16px #0f172a0f;margin-bottom:16px;padding:10px 12px}.cashflow-filters-toggle{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:2px 0;width:100%}.cashflow-filters-box h3{color:#111827;font-size:13px;font-weight:700;margin:0}.cashflow-filters{margin-bottom:0;margin-top:10px}.cashflow-programming-alert{align-items:center;background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;color:#9f1239;display:inline-flex;font-size:12px;font-weight:600;gap:10px;margin-top:-6px;padding:8px 10px}.cashflow-programming-alert-button{min-height:24px;padding:4px 8px}.cashflow-month-add-inline,.cashflow-month-remove-inline{align-items:center;border-radius:999px;display:inline-flex;height:22px;justify-content:center;padding:0;width:22px}.cashflow-month-remove-inline{color:#991b1b}.finance-table-wrap{overflow-x:auto}.finance-table-shell{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 24px #0f172a14;display:flex;flex-direction:column;height:70vh;max-height:70vh;min-width:0;overflow:hidden;overflow-x:hidden;width:100%}.finance-table-head{border-bottom:1px solid #e5e7eb;display:flex;flex:0 0 auto;min-width:0}.finance-table-fixed-head,.finance-table-fixed-wrap{border-right:1px solid #e5e7eb;flex:0 0 280px;overflow:visible}.finance-table-fixed-head .finance-table,.finance-table-fixed-head .finance-table thead,.finance-table-fixed-head .finance-table thead tr{height:100%}.finance-table-fixed-head .finance-table thead th{background:#f3f4f6;height:100%}.finance-table-scroll-head{flex:1 1 auto;min-width:0;overflow:hidden}.finance-table-scroll-head .finance-table-scroll{min-width:900px}.finance-table-body{align-items:flex-start;display:flex;flex:1 1;height:0;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto}.finance-table-scroll-wrap{flex:1 1 auto;min-height:0;min-width:0;overflow-x:hidden;overflow-y:visible}.finance-table-horizontal-scroll-shell{border-top:1px solid #e5e7eb;display:flex;flex:0 0 auto}.finance-table-fixed-scroll-spacer{background:#fff;border-right:1px solid #e5e7eb;flex:0 0 280px}.finance-table-horizontal-scroll{flex:1 1 auto;height:14px;min-width:0;overflow-x:auto;overflow-y:hidden}.finance-table-horizontal-scroll-content{height:1px}.finance-legend{align-items:center;color:#64748b;display:flex;font-size:12px;gap:8px;margin-bottom:10px}.finance-legend-swatch{background:#fed7aa;border:1px solid #fdba74;border-radius:4px;display:inline-block;height:14px;width:14px}.finance-table{background:#fff;border-collapse:collapse;width:100%}.finance-table-fixed{min-width:280px;width:280px}.finance-table-scroll{min-width:900px}.finance-table td,.finance-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:12px;padding:14px 12px;text-align:center}.finance-table td:last-child,.finance-table th:last-child{border-right:none}.finance-table thead tr:first-child th{background:#f3f4f6}.finance-month-title{align-items:center;display:inline-flex;gap:6px;justify-content:center}.finance-month-add-inline,.finance-month-remove-inline{align-items:center;border-radius:999px;display:inline-flex;height:22px;justify-content:center;padding:0;width:22px}.finance-month-remove-inline{color:#991b1b}.finance-table .is-highlight{background:#fef9c3}.finance-table td.is-physical-schedule{position:static}.finance-table td.is-physical-schedule .finance-input{background:#fed7aa;border-color:#fdba74}.finance-table-fixed td,.finance-table-fixed th{border-right:1px solid #e5e7eb;max-width:280px;min-width:280px!important;text-align:left}.finance-table-scroll td,.finance-table-scroll th{min-width:140px}.finance-table-fixed .finance-row.stage td:first-child{background:#f8fafc}.finance-row.total td{background:#f1f5f9;font-weight:700}.finance-input{border:1px solid #e5e7eb;border-radius:8px;display:block;font-size:12px;margin:0 auto;max-width:120px;padding:6px 8px;text-align:center;width:100%}.finance-input::-webkit-inner-spin-button,.finance-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.finance-input[type=number]{-moz-appearance:textfield}.finance-table td.finance-minimum-cell{position:relative}.finance-minimum-cell-button{background:#0000;border:none;border-radius:0;box-shadow:none;color:#475569;font-size:13px;height:19px;margin:0;min-height:0;padding:0;position:absolute;right:6px;top:6px;width:19px}.finance-service-cell{display:flex;flex-direction:column;gap:4px;padding-left:24px}.finance-service-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.finance-service-cell .service-name{padding-left:0}.finance-service-meta{color:#64748b;display:flex;flex-wrap:wrap;font-size:11px;gap:8px}.finance-diff{color:#dc2626;font-weight:700}.service-status-tag{align-items:center;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;display:inline-flex;font-size:11px;font-weight:700;justify-content:center;line-height:1.2;padding:2px 10px;white-space:nowrap}.service-status-tag.status-nao-iniciado{background:#94a3b8;color:#0f172a}.service-status-tag.status-pronto-para-comecar{background:#0ea5e9;color:#fff}.service-status-tag.status-em-execucao{background:#f59e0b;color:#0f172a}.service-status-tag.status-com-problemas{background:#ef4444;color:#fff}.service-status-tag.status-concluido{background:#22c55e;color:#052e16}.service-board{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:repeat(5,minmax(240px,1fr));overflow-x:auto;padding-bottom:8px}.service-board-column{background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;display:grid;grid-template-rows:auto 1fr;min-height:220px}.service-board-column-drop-target{outline:2px dashed #0f172a;outline-offset:-4px}.service-board-column.status-nao-iniciado{background:#e2e8f0}.service-board-column.status-pronto-para-comecar{background:#bae6fd}.service-board-column.status-em-execucao{background:#fde68a}.service-board-column.status-com-problemas{background:#fecaca}.service-board-column.status-concluido{background:#bbf7d0}.service-board-column-header{align-items:center;border-bottom:1px solid #dbe4ef;color:#0f172a;display:flex;font-size:12px;font-weight:700;gap:8px;justify-content:space-between;padding:10px 12px}.service-board-column-controls{align-items:center;display:inline-flex;gap:8px}.service-board-column-toggle{--exec-org-circle-size:28px;flex:0 0 auto}.service-board-column-list{grid-gap:10px;align-content:start;display:grid;gap:10px;padding:12px}.service-board-empty{background:#fff;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;font-size:12px;padding:12px;text-align:center}.service-board-card{grid-gap:8px;background:#fff;border:1px solid #dbe4ef;border-radius:12px;box-shadow:0 4px 12px #0f172a14;cursor:grab;display:grid;gap:8px;padding:10px}.service-board-card:active{cursor:grabbing}.service-board-card-title{color:#0f172a;font-size:13px;font-weight:700}.service-board-card-title-group{align-items:center;display:inline-flex;gap:8px;min-width:0}.service-board-card-title-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.service-board-card-toggle{--exec-org-circle-size:28px;flex:0 0 auto}.service-board-card-collapsed{gap:6px}.service-board-card-meta{align-items:center;color:#64748b;display:flex;font-size:11px;gap:8px;justify-content:space-between}.service-board-delay-tag{background:#7f1d1d;border-radius:999px;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;white-space:nowrap}.service-board-date-field{grid-gap:4px;display:grid;gap:4px}.service-board-progress{grid-gap:6px;display:grid;gap:6px}.service-board-progress-row{align-items:center;color:#475569;display:flex;font-size:11px;gap:8px;justify-content:space-between}.service-board-progress-track{background:#e2e8f0;border-radius:999px;height:6px;overflow:hidden;width:100%}.service-board-progress-fill{border-radius:999px;height:100%}.service-board-progress-fill.time{background:#dc2626}.service-board-progress-fill.done{background:#1e3a8a}.service-board-date-field span{color:#475569;font-size:11px}.service-board-date-field input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:12px;padding:6px 8px}.service-board-date-field small{color:#64748b;font-size:10px}.cashflow-table-shell{--cashflow-first-col-width:220px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 24px #0f172a14;display:flex;overflow:hidden;width:100%}.cashflow-table-fixed-wrap{flex:0 0 var(--cashflow-first-col-width)}.cashflow-table-scroll-wrap{flex:1 1 auto;overflow-x:auto}.cashflow-table{background:#fff;border-collapse:collapse}.cashflow-table-fixed{min-width:var(--cashflow-first-col-width);width:var(--cashflow-first-col-width)}.cashflow-table-scroll{min-width:900px;width:100%}.cashflow-table td,.cashflow-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:12px;padding:10px 8px}.cashflow-table-fixed td,.cashflow-table-fixed th{max-width:var(--cashflow-first-col-width);min-width:var(--cashflow-first-col-width);text-align:left}.cashflow-table-scroll td,.cashflow-table-scroll th{min-width:120px;text-align:center}.cashflow-table thead .cashflow-head-line-light th{background:#f3f4f6}.cashflow-month,.cashflow-month-cell,.cashflow-table-scroll td.cashflow-col.expense,.cashflow-table-scroll th.cashflow-col.expense{border-right:1px solid #e5e7eb!important;box-shadow:none}.cashflow-table-scroll thead tr:nth-child(2) th.cashflow-col.revenue{border-right:1px solid #e5e7eb!important;box-shadow:none!important}.cashflow-table-scroll thead tr:nth-child(2) th.cashflow-col.expense{border-right:1px solid #e5e7eb!important;box-shadow:none}.cashflow-table-scroll td:last-child,.cashflow-table-scroll th:last-child{border-right:none}.cashflow-first-col,.cashflow-source{align-items:center;display:flex;gap:8px;justify-content:space-between}.cashflow-row.previous td:first-child{background:#f8fafc;font-weight:600}.cashflow-table-fixed thead .cashflow-row.previous th{background:#f8fafc;font-weight:600;text-align:left}.cashflow-subhead-spacer{background:#fff}.cashflow-row.totals td{background:#f1f5f9;font-weight:700}.cashflow-row-summary td,.cashflow-row-summary th{min-height:72px}.cashflow-input{border:1px solid #e5e7eb;border-radius:8px;font-size:12px;max-width:90px;padding:6px 8px;text-align:center;width:100%}.cashflow-input::-webkit-inner-spin-button,.cashflow-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cashflow-input[type=number]{-moz-appearance:textfield}.cashflow-previous-balance-cell{align-items:center;display:inline-flex;gap:8px}.cashflow-previous-edit{color:#0f172a}.cashflow-manual-warning,.cashflow-previous-edit{align-items:center;background:#0000;border:none;cursor:pointer;display:inline-flex;height:24px;justify-content:center;padding:0;width:24px}.cashflow-manual-warning{color:#f59e0b}.cashflow-total-cell{color:#334155;display:flex;flex-direction:column;font-size:11px;gap:4px}.cashflow-month-header{align-items:center;display:flex;flex-direction:column;gap:6px}.cashflow-month-title{justify-content:center}.cashflow-hide,.cashflow-month-title{align-items:center;display:inline-flex;gap:6px}.cashflow-hide{color:#64748b;font-size:11px;font-weight:600}.cashflow-hide input{margin:0}.cashflow-table .is-hidden{opacity:.35}.cashflow-table .is-highlight{background:#fef9c3}.cashflow-expenses{color:#0f172a;margin-left:6px}.cashflow-diff{color:#0f172a;font-weight:700}.cashflow-total.receita{color:#1e3a8a;font-weight:700}.cashflow-total.despesa{color:#dc2626;font-weight:700}.cashflow-diff.positive{color:#1e3a8a}.cashflow-diff.negative{color:#dc2626}.cashflow-diff.zero{color:#0f172a}.cashflow-toolbar{display:flex;gap:8px;justify-content:flex-start;margin-bottom:8px}.cashflow-positive{color:#1e3a8a;font-weight:700}.cashflow-negative{color:#dc2626;font-weight:700}.schedule-table td,.schedule-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:12px;padding:10px 8px;text-align:center}.schedule-table thead tr:first-child th{background:#d1d5db;color:#111827}.schedule-table td:last-child,.schedule-table th:last-child{border-right:none}.schedule-table td:first-child,.schedule-table th:first-child{min-width:220px;text-align:left}.schedule-stage .schedule-cell,.schedule-stage td{background:#f1f5f9}.stage-toggle{background:#0000;border:none;color:#334155;cursor:pointer;margin-right:8px}.schedule-cell{background:#f8fafc;cursor:pointer;position:relative}.schedule-cell.active{background:#93c5fd}.schedule-service .schedule-cell{background:#fff}.schedule-service td{background:#fff;height:30px;padding-bottom:5px;padding-top:5px}.schedule-service td:first-child{text-align:left}.schedule-service-cell{align-items:center;display:inline-flex;gap:6px;padding-left:24px}.schedule-service-cell .progress-status,.schedule-service-cell .service-status-tag{font-size:10px;line-height:1.15;padding:1px 6px}.schedule-service-cell .progress-pill{font-size:10px;min-width:38px;padding:1px 6px}.schedule-dependent-alert{background:#0000;border:none;color:#ca8a04;cursor:pointer;font-size:14px;line-height:1;padding:0}.schedule-dependency-overlay{left:0;overflow:visible;pointer-events:none;position:absolute;top:0;z-index:4}.schedule-dependency-overlay polyline{fill:none;stroke:#dc2626;stroke-width:2;stroke-dasharray:4 4;stroke-linecap:round;stroke-linejoin:round}.predecessors-field{grid-gap:8px;display:grid;gap:8px}.predecessors-field-header{align-items:center;color:#334155;display:flex;font-weight:600;gap:10px;justify-content:space-between}.predecessors-add{align-items:center;display:inline-flex;gap:6px;margin:0}.predecessors-add input{min-width:220px}.predecessors-suggestions{grid-gap:4px;background:#fff;border:1px solid #cbd5e1;border-radius:8px;display:grid;gap:4px;padding:4px}.predecessors-suggestions button{grid-gap:2px;background:#0000;border:none;border-radius:6px;color:#0f172a;cursor:pointer;display:grid;gap:2px;padding:7px 8px;text-align:left;width:100%}.predecessors-suggestions button:hover{background:#f1f5f9}.predecessor-chip small,.predecessors-suggestions small{color:#64748b;font-size:11px}.predecessors-list{display:flex;flex-wrap:wrap;gap:6px}.predecessor-chip{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;display:inline-flex;font-size:12px;gap:6px;padding:4px 8px}.predecessor-chip button{background:#0000;border:none;color:#475569;cursor:pointer;padding:0}.schedule-calendar-button{align-items:center;background:#fff;border:1px solid #cbd5f5;border-radius:999px;color:#1e3a8a;cursor:pointer;display:inline-flex;font-size:10px;height:18px;justify-content:center;padding:0;width:18px}.schedule-date-editor{align-items:flex-end;display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 0 24px}.schedule-date-editor label{grid-gap:3px;color:#475569;display:grid;font-size:10px;gap:3px}.schedule-date-editor input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:11px;padding:5px 7px}.progress-pill{background:#eef2ff;border:1px solid #cbd5f5;border-radius:999px;color:#1e3a8a;cursor:pointer;font-size:11px;font-weight:700;min-width:44px;padding:2px 8px;text-align:center}.progress-pill:hover{background:#e0e7ff}.progress-pill-input{background:#fff;border:1px solid #cbd5e1;color:#0f172a;text-align:center;width:64px}.progress-pill-input,.progress-status{border-radius:999px;font-size:11px;font-weight:700;padding:2px 8px}.progress-status{text-transform:uppercase}.progress-status.is-late{background:#fecaca;color:#7f1d1d}.progress-status.is-on-time{background:#fed7aa;color:#9a3412}.progress-status.is-ahead{background:#bbf7d0;color:#166534}.schedule-service .schedule-cell.active{background:#fff}.schedule-date-fill{background:#86efac}.schedule-date-fill,.schedule-excess-fill{bottom:0;pointer-events:none;position:absolute;top:0}.schedule-excess-fill{background:#fca5a5}.schedule-progress-line{background:#dc2626;top:6px}.schedule-progress-complete,.schedule-progress-line{border-radius:999px;height:4px;left:0;pointer-events:none;position:absolute;z-index:1}.schedule-progress-complete{background:#1e3a8a;top:12px}.schedule-progress-label{background:#ffffffe6;border-radius:999px;color:#1e3a8a;font-size:10px;font-weight:700;padding:1px 6px;pointer-events:none;position:absolute;right:6px;top:10px}.service-name{color:#0f172a;display:inline-block;padding-left:24px}.budget-table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 24px #0f172a14;max-height:70vh;overflow:auto}.budget-table{background:#fff;border-collapse:collapse;min-width:920px;width:100%}.budget-table td,.budget-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:12px;padding:10px 8px;text-align:center}.budget-table td:last-child,.budget-table th:last-child{border-right:none}.budget-table thead tr:first-child th{background:#f1f5f9;position:-webkit-sticky;position:sticky;top:0;z-index:6}.budget-table td:first-child,.budget-table th:first-child{background:#fff;left:0;min-width:260px;position:-webkit-sticky;position:sticky;text-align:left;z-index:5}.budget-table thead tr:first-child th:first-child{background:#f1f5f9;z-index:7}.budget-row.stage td:first-child{background:#f8fafc}.budget-row.service td:first-child{background:#fff}.budget-service-cell{padding-left:24px}.budget-filter{align-items:center;display:flex;justify-content:flex-start}.budget-filter label{grid-gap:6px;align-items:start;color:#64748b;display:grid;font-size:12px;gap:6px}.budget-filter input{border:1px solid #e5e7eb;border-radius:8px;font-size:12px;min-width:220px;padding:6px 10px}.budget-global-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.budget-summary-dashboard{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.budget-summary-card{grid-gap:12px;align-content:start;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 24px #0f172a0f;display:grid;gap:12px;min-height:128px;padding:16px 18px}.budget-summary-card-planned{background:#f8fafc}.budget-summary-card-actual{background:#eff6ff;border-color:#bfdbfe}.budget-summary-card-addition{background:#fef2f2;border-color:#fecaca}.budget-summary-card-suppression{background:#f0fdf4;border-color:#bbf7d0}.budget-summary-card-neutral{background:#f8fafc}.budget-summary-card-title{color:#64748b;font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}.budget-summary-card-value{color:#0f172a;font-size:28px;font-weight:800;line-height:1.12;overflow-wrap:anywhere}.budget-summary-card-actual .budget-summary-card-value{color:#0369a1}.budget-summary-card-addition .budget-summary-card-value{color:#b91c1c}.budget-summary-card-suppression .budget-summary-card-value{color:#15803d}.budget-summary-card-neutral .budget-summary-card-value{color:#475569}.budget-summary-card-detail{grid-gap:2px;color:#475569;display:grid;font-size:12px;font-weight:600;gap:2px;margin-top:auto}.budget-summary-card-detail strong{color:#0f172a;font-size:15px;line-height:1.2;overflow-wrap:anywhere}@media (max-width:900px){.budget-summary-dashboard{grid-template-columns:1fr}}.budget-global-filters .schedule-toggle.inline{align-self:end}.budget-row.resource td:first-child{background:#fff}.budget-service-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.budget-toggle{grid-gap:4px;color:#475569;display:grid;font-size:11px;gap:4px;margin-top:6px}.budget-toggle label{align-items:center;display:inline-flex;gap:6px}.budget-toggle-wrap{align-items:flex-start;display:flex;gap:8px}.budget-mode-info-button{align-items:center;background:#fff;border:1px solid #94a3b8;border-radius:999px;color:#475569;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;height:20px;justify-content:center;line-height:1;margin-top:2px;width:20px}.budget-service-realized{color:#64748b;display:block;font-size:11px;margin-top:4px}.budget-service-realized-line{align-items:center;display:inline-flex;gap:8px;margin-top:4px}.budget-service-realized-line-break{display:flex}.budget-service-realized-line .budget-service-realized{margin-top:0}.budget-service-detail-button{min-height:26px;padding:4px 8px}.budget-service-icon-plain{background:#0000;border:none;box-shadow:none;color:#475569;cursor:pointer;font-size:13px;margin:0;padding:0}.budget-service-realized-diff{margin-top:2px}.budget-service-realized-alert{color:#b91c1c}.budget-toggle input{accent-color:#0f172a}.budget-totals{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.budget-totals>div{grid-gap:2px;display:grid;gap:2px}.budget-total-field{grid-gap:4px;display:grid;gap:4px;justify-items:center}.budget-total-label{color:#64748b;font-size:10px;letter-spacing:.04em;text-transform:uppercase}.service-toggle{align-items:center;display:inline-flex;gap:8px;padding-left:24px}.budget-service-name{padding-left:0}.budget-muted{color:#94a3b8}.resource-name{color:#0f172a;display:inline-block;padding-left:40px}.budget-input{border:1px solid #e5e7eb;border-radius:8px;font-size:12px;max-width:120px;padding:6px 8px;text-align:center;width:100%}.budget-input::-webkit-inner-spin-button,.budget-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.budget-input[type=number]{-moz-appearance:textfield}.budget-input:disabled{background:#f1f5f9;color:#475569}.budget-alert{font-weight:600}.budget-alert.addition{background:#fecaca;color:#7f1d1d}.budget-alert.suppression{background:#bfdbfe;color:#1e3a8a}.app-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:nowrap;justify-content:space-between;min-height:64px;padding:6px 24px}.app-logo{height:auto;max-height:40px;object-fit:contain;width:160px}.header-actions{align-items:center;display:inline-flex;gap:10px;justify-content:flex-end;margin-left:auto}.notifications{position:relative}.notification-button{align-items:center;background:#fff;border:1px solid #d9dee7;border-radius:50%;color:#16a34a;cursor:pointer;display:inline-flex;height:36px;justify-content:center;position:relative;width:36px}.notification-badge{background:#dc2626;border-radius:999px;color:#fff;font-size:11px;height:18px;line-height:18px;min-width:18px;padding:0 5px;position:absolute;right:-6px;text-align:center;top:-6px}.notifications-menu{background:#fff;border:1px solid #d9dee7;border-radius:8px;box-shadow:0 16px 36px #0f172a24;max-height:70vh;overflow:auto;padding:10px;position:absolute;right:0;top:48px;width:min(360px,calc(100vw - 24px));z-index:30}.notification-item,.notifications-menu-header{padding:10px}.notification-item{border-top:1px solid #eef1f5}.notification-item p{color:#4b5563;font-size:13px;line-height:1.4;margin:6px 0 0}.notification-upgrade span{color:#4b5563;font-size:13px;line-height:1.4;margin:0}.notification-actions,.notification-upgrade{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.notification-icon-action{align-items:center;background:#fff;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.notification-icon-action.accept{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.notification-icon-action.accept:hover{background:#d1fae5}.notification-icon-action.reject{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.notification-icon-action.reject:hover{background:#fee2e2}.notification-icon-action:disabled{cursor:not-allowed;opacity:.55}.notification-dismiss-button{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:700;padding:8px 12px}.notification-dismiss-button:hover{background:#e2e8f0}.notification-dismiss-button:disabled{cursor:not-allowed;opacity:.6}.notifications-empty{color:#6b7280;font-size:13px;padding:12px}.login-shell{background:#0f172a;display:grid;min-height:100vh;padding:24px;place-items:center}.login-card{grid-gap:16px;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0f172a40;display:grid;gap:16px;padding:28px;text-align:left;width:min(420px,100%)}.login-logo{aspect-ratio:3.044/1;height:auto;object-fit:contain;width:180px}.login-card h1{font-size:22px;margin:0}.login-card p{color:#6b7280;margin:0}.login-form{grid-gap:12px;display:grid;gap:12px}.login-form label{grid-gap:6px;color:#6b7280;display:grid;font-size:12px;gap:6px}.login-form input{border:1px solid #e5e7eb;border-radius:10px;font-size:14px;padding:10px 12px}.login-form button{background:linear-gradient(135deg,#0f172a,#1e293b);border:none;border-radius:10px;box-shadow:0 10px 18px #0f172a33;color:#fff;cursor:pointer;font-weight:600;padding:12px 16px;transition:transform .15s ease,box-shadow .15s ease}.login-form button:hover{box-shadow:0 14px 22px #0f172a40;transform:translateY(-1px)}.login-form button:active{box-shadow:0 8px 16px #0f172a2e;transform:translateY(0)}.auth-hint{color:#94a3b8;font-size:12px}.auth-link:disabled,.google-button:disabled,.login-form button:disabled{cursor:not-allowed;opacity:.6}.google-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 18px #0f172a14;color:#111827;cursor:pointer;display:flex;font-weight:600;gap:10px;justify-content:center;padding:12px 16px;transition:transform .15s ease,box-shadow .15s ease}.google-button:hover{box-shadow:0 14px 22px #0f172a1f;transform:translateY(-1px)}.google-button:active{box-shadow:0 8px 16px #0f172a14;transform:translateY(0)}.google-icon{align-items:center;display:inline-flex;height:18px;justify-content:center;width:18px}.google-icon svg{display:block;height:18px;width:18px}.auth-link{background:#0000;border:none;color:#0f172a;cursor:pointer;font-weight:600;padding:0;text-align:left;text-decoration:underline;-webkit-text-decoration-color:#0f172a4d;text-decoration-color:#0f172a4d}.login-actions{display:flex;flex-direction:column;gap:10px}.form-success{background:#dcfce7;border:1px solid #bbf7d0;border-radius:12px;color:#166534;font-size:13px;padding:10px 14px}.brand{align-items:center;display:flex;gap:12px;min-width:0}.brand-logo{aspect-ratio:3.044/1;height:auto;object-fit:contain;padding:12px 0;width:208px}.brand-title{font-size:18px;font-weight:600;letter-spacing:.2px}.profile{align-items:center;display:flex;gap:12px;margin-left:auto;position:relative}.profile-button{background:#0000;border:none;cursor:pointer;padding:0}.profile-avatar{background:linear-gradient(135deg,#0ea5e9,#22c55e);border-radius:50%;color:#fff;display:grid;font-size:12px;font-weight:600;height:36px;place-items:center;width:36px}.profile-menu{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 24px #0f172a1f;padding:8px;position:absolute;right:0;top:52px;width:200px;z-index:10}.profile-info,.profile-menu{grid-gap:4px;display:grid;gap:4px}.profile-info{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:8px 10px}.profile-info-name{color:#0f172a;font-size:13px;font-weight:600}.profile-info-email,.profile-info-login{color:#64748b;font-size:12px;word-break:break-word}.profile-menu-item{background:#0000;border:none;border-radius:8px;color:#111827;cursor:pointer;font-size:14px;padding:10px 12px;text-align:left}.profile-menu-plan-item{align-items:center;display:flex;gap:8px;justify-content:space-between}.profile-plan-badge{background:#e8f3ff;border:1px solid #bfdbfe;border-radius:999px;color:#165a9f;flex:0 1 auto;font-size:11px;font-weight:800;max-width:96px;overflow:hidden;padding:2px 7px;text-overflow:ellipsis;white-space:nowrap}.profile-menu-item:hover{background:#f3f4f6}.profile-menu-item:disabled{cursor:wait;opacity:.6}.profile-menu-item-toggle.active{background:#e2e8f0;font-weight:700}.profile-menu-item.danger{color:#dc2626}.profile-section{grid-gap:4px;display:grid;gap:4px;padding:8px 2px 2px}.profile-section-title{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.06em;padding:0 10px;text-transform:uppercase}.profile-menu-feedback{background:#fff1f2;border:1px solid #fecdd3;border-radius:10px;color:#9f1239;font-size:12px;padding:8px 10px}.app-body{grid-gap:0;display:grid;flex:1 1;gap:0;grid-template-columns:240px 1fr;min-height:0;transition:grid-template-columns .2s ease}.app-body.menu-collapsed{grid-template-columns:64px 1fr}.app-body.manage-open{grid-template-columns:240px 2px 220px 1fr}.app-body.menu-collapsed.manage-open{grid-template-columns:64px 2px 220px 1fr}.app-body.manage-open.manage-collapsed{grid-template-columns:240px 2px 64px 1fr}.app-body.menu-collapsed.manage-open.manage-collapsed{grid-template-columns:64px 2px 64px 1fr}.menu-spacer{background:#1e293b;width:2px}.app-menu{background:#0f172a;color:#e2e8f0;padding:24px 18px}.menu-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.menu-title{color:#94a3b8;font-size:12px;letter-spacing:1px;margin:0;text-transform:uppercase}.menu-toggle{align-items:center;background:#0b1220;border:1px solid #1e293b;border-radius:10px;color:#94a3b8;cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.app-body.menu-collapsed .app-menu:not(.manage-menu) .menu-title{display:none}.app-body.menu-collapsed .app-menu{padding:16px 10px}.app-body.menu-collapsed .menu-header{justify-content:center}.menu-list{grid-gap:10px;display:grid;gap:10px;list-style:none;margin:0;padding:0}.menu-item{align-items:center;background:#0000;border-radius:10px;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:10px 12px}.menu-item.active,.menu-item:hover{background:#1e293b}.menu-item.has-submenu:hover{background:#0000}.menu-item.has-submenu:hover>.menu-item-label{background:#0000;padding:0}.submenu-item:hover{background:#ffffff0f}.menu-item i{font-size:16px;text-align:center;width:18px}.menu-item.has-submenu{align-items:flex-start;flex-direction:column}.menu-item-label{align-items:center;display:flex;gap:12px}.submenu-list{grid-gap:6px;display:grid;gap:6px;list-style:none;margin:0;padding:6px 0 0 20px;width:100%}.submenu-item{align-items:center;border-radius:10px;color:#e2e8f0;cursor:pointer;display:flex;max-width:100%;padding:6px 10px}.app-menu:not(.manage-menu) .submenu-item{box-sizing:border-box;margin-left:20px;width:calc(100% - 20px)}.app-menu:not(.manage-menu) .submenu-list{padding-left:0}.submenu-item.active{background:#ffffff14}.submenu-item.active:hover{background:#ffffff0f}.app-menu:not(.manage-menu) .submenu-item:hover{background:#ffffff05}.app-menu:not(.manage-menu) .submenu-item.active{background:#ffffff08}.app-menu:not(.manage-menu) .submenu-item.active:hover{background:#ffffff05}.app-menu:not(.manage-menu) .menu-item.has-submenu.active:hover{background:#1b2535}.submenu-item.disabled{cursor:default;opacity:.5}.app-body.manage-collapsed .manage-menu .submenu-list,.app-body.menu-collapsed .app-menu:not(.manage-menu) .menu-text,.app-body.menu-collapsed .app-menu:not(.manage-menu) .submenu-list{display:none}.app-body.menu-collapsed .app-menu:not(.manage-menu) .menu-item{justify-content:center}.app-body.manage-collapsed .manage-menu .menu-text{display:none}.app-body.manage-collapsed .manage-menu .menu-item{justify-content:center}.app-body.manage-collapsed .manage-menu .menu-title{display:none}.manage-menu .menu-title{color:#94a3b8}.app-content{overflow:auto;padding:32px}.manage-context{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;color:#0f172a;font-size:14px;font-weight:600;margin-bottom:16px;padding:10px 14px}.content-card{background:#fff;border-radius:16px;box-shadow:0 10px 24px #0f172a14;padding:24px}.content-card h1{margin-top:0}.kanban,.obras{grid-gap:24px;background:#fff;border-radius:16px;box-shadow:0 10px 24px #0f172a14;display:grid;gap:24px;padding:24px}.obras-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.obras-header h1{margin:0 0 6px}.obras-header p{color:#6b7280;margin:0}.obras-table{grid-gap:10px;display:grid;gap:10px}.admin-panel-header{align-items:end;gap:16px}.admin-users-filter{grid-gap:6px;color:#64748b;display:grid;font-size:12px;gap:6px;min-width:min(320px,100%)}.admin-users-filters{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:18px}.admin-users-filter input,.admin-users-filter select{background:#fff;border:1px solid #dbe2ea;border-radius:10px;font-size:14px;padding:10px 12px}.obras-empty{border:1px dashed #cbd5f5;border-radius:12px;color:#64748b}.obras-empty,.obras-row{background:#f8fafc;font-size:14px;padding:12px 14px}.obras-row{grid-gap:12px;align-items:center;border:1px solid #e5e7eb;border-radius:12px;display:grid;gap:12px;grid-template-columns:80px 180px 1fr 110px}.obras-list-table .obras-row{grid-template-columns:80px minmax(150px,.8fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(220px,1.2fr) 110px}.admin-users-table .obras-row{align-items:center;gap:16px;grid-template-columns:minmax(240px,2fr) minmax(180px,1fr) minmax(160px,1fr) minmax(180px,1fr) auto}.table-sort-button{background:#0000;border:0;color:inherit;cursor:pointer;font:inherit;font-weight:700;padding:0;text-align:left}.admin-user-row{min-height:74px}.admin-user-identity{grid-gap:4px;display:grid;gap:4px}.admin-user-identity strong{color:#0f172a}.admin-user-identity small{color:#64748b;font-size:12px;word-break:break-word}.admin-role-badges{display:flex;flex-wrap:wrap;gap:8px}.admin-role-badge,.profile-chip-button{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;min-height:34px;padding:0 12px}.admin-role-badge.admin{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.profile-chip-button{cursor:pointer}.profile-chip-button.danger{background:#fff1f2;border-color:#fecaca;color:#b91c1c}.profile-chip-button:disabled{cursor:wait;opacity:.7}.admin-user-form-grid{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-form-grid>label,.admin-user-profiles-fieldset{min-height:100%}.admin-user-form-grid>label{grid-gap:6px;display:grid;gap:6px}.admin-user-form-grid>label input,.admin-user-form-grid>label select{min-height:42px}.admin-user-profiles-fieldset{grid-gap:10px;align-content:start;background:#fff;border:1px solid #dbe2ea;border-radius:12px;display:grid;gap:10px;margin:0;padding:12px 14px 14px}.admin-user-profiles-fieldset legend{font-weight:600;padding:0 6px}.admin-user-profiles-list{grid-gap:10px;display:grid;gap:10px}.admin-user-profile-option{align-items:center;display:inline-flex;gap:10px;line-height:1.2;min-height:42px;padding:0 2px}.admin-user-profile-option input[type=checkbox]{flex:0 0 auto;height:16px;margin:0;width:16px}.admin-user-profile-option span{align-items:center;display:inline-flex;min-height:16px}.admin-elements-table .obras-row{align-items:center;gap:16px;grid-template-columns:minmax(220px,1.1fr) minmax(220px,1fr) minmax(320px,1.4fr) auto}.admin-element-row{line-height:1.35;min-height:0;padding-bottom:10px;padding-top:10px}.admin-floor-types-table .obras-row,.admin-room-types-table .obras-row,.admin-wall-finishes-table .obras-row{align-items:center;gap:16px;grid-template-columns:minmax(220px,.8fr) minmax(320px,1.5fr) auto}.admin-plans-table .obras-row{align-items:center;gap:12px;grid-template-columns:minmax(160px,1fr) minmax(150px,.8fr) minmax(130px,.7fr) 80px minmax(150px,.8fr) minmax(120px,.7fr) minmax(130px,.7fr) minmax(100px,.6fr) 110px auto}.admin-floor-type-row,.admin-plan-row,.admin-room-type-row,.admin-wall-finish-row{line-height:1.35;min-height:0;padding-bottom:10px;padding-top:10px}.admin-floor-type-description,.admin-room-type-description,.admin-wall-finish-description{color:#475569}.floor-type-modal,.wall-finish-modal{max-width:760px;width:min(760px,calc(100vw - 48px))}.spec-page{padding-bottom:40px}.spec-header{align-items:flex-start;gap:16px}.spec-save-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.spec-save-state{color:#64748b;font-size:.9rem;min-width:120px;text-align:right}.spec-entity-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.spec-entity-save{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1d4ed8;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;justify-content:center;justify-self:flex-end;min-height:36px;padding:8px 12px}.spec-entity-save:hover{background:#dbeafe;border-color:#93c5fd}.spec-floor-save{margin:0 0 12px auto}.spec-save-state.error{color:#b91c1c}.spec-floor-strip{align-items:stretch;display:flex;gap:16px;overflow-x:auto;padding:4px 0 12px;scroll-snap-type:x proximity}.spec-floor-block{background:#fff;border:1px solid #dbe4ee;border-radius:8px;box-shadow:0 12px 26px #0f172a0f;flex:0 0 min(520px,86vw);min-height:230px;padding:18px;position:relative;scroll-snap-align:start}.spec-card-remove,.spec-room-remove{align-items:center;background:#fff5f5;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;cursor:pointer;display:inline-flex;height:30px;justify-content:center;position:absolute;right:10px;top:10px;width:30px}.spec-floor-name{color:#0f172a;font-weight:700;margin:14px 0 10px}.spec-floor-summary{grid-gap:6px;background:#0000;border:0;color:#0f172a;cursor:pointer;display:grid;gap:6px;padding:6px 38px 14px 0;text-align:left;width:100%}.spec-floor-summary strong{font-size:1.05rem}.spec-entity-badge{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;color:#475569;display:inline-flex;font-size:.72rem;font-weight:700;line-height:1.2;margin-left:8px;padding:2px 7px;text-transform:uppercase;white-space:nowrap}.spec-floor-summary span{color:#64748b;font-size:.9rem}.spec-form-grid,.spec-room-editor-header{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.spec-floor-form-grid{align-items:end;grid-template-columns:220px 114px}.spec-floor-form-grid>label{min-width:0}.spec-floor-form-grid>label:first-child{min-width:220px;width:220px}.spec-floor-form-grid>label:nth-child(2){min-width:114px;width:114px}.spec-floor-form-grid>label:first-child input,.spec-floor-form-grid>label:nth-child(2) input{box-sizing:border-box;max-width:100%;min-width:100%;width:100%}.spec-floor-form-grid .spec-field-full{width:min(680px,100%)}.spec-floor-form-grid .spec-field-full textarea{box-sizing:border-box}.spec-room-form-grid{grid-template-columns:minmax(220px,1.1fr) minmax(220px,1.1fr) calc(7ch + 24px) minmax(120px,.7fr)}.spec-finish-form-grid{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) calc(7ch + 24px)}.spec-element-form-grid{grid-template-columns:minmax(260px,1fr) minmax(120px,.4fr)}.spec-field-full{grid-column:1/-1}.spec-detail-card label,.spec-form-grid label,.spec-room-canvas-body>label,.spec-room-editor label,.spec-room-editor-header label{color:#334155;display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:6px}.spec-detail-card input,.spec-detail-card select,.spec-detail-card textarea,.spec-form-grid input,.spec-form-grid select,.spec-form-grid textarea,.spec-references input,.spec-room-canvas-body>label textarea,.spec-room-editor textarea,.spec-room-editor-header input,.spec-room-editor-header select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;font:inherit;padding:10px 11px;width:100%}.spec-size-label{max-width:100%;white-space:nowrap;width:-webkit-max-content;width:max-content}.spec-size-input{max-width:calc(7ch + 24px);min-width:calc(7ch + 24px);width:calc(7ch + 24px)}.spec-field-label{display:block}.spec-choice-row{align-items:center;display:flex;gap:8px}.spec-choice-row select{flex:1 1 auto;max-width:none;min-width:0;width:auto}.spec-choice-row input{flex:0 0 180px;max-width:180px;min-width:180px;width:180px}.spec-room-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}.spec-add-floor,.spec-add-tile,.spec-room-tile{align-items:center;background:#f8fafc;border:1px solid #dbe4ee;border-radius:8px;color:#0f172a;cursor:pointer;display:flex;justify-content:center;min-height:104px;text-align:center}.spec-room-tile{font-weight:700;padding:0;position:relative}.spec-room-tile-main{align-items:center;background:#0000;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;justify-content:center;min-height:102px;padding:30px 10px 12px;width:100%}.spec-room-tile-main>span{align-items:center;display:inline-flex;flex-wrap:wrap;gap:6px;justify-content:center}.spec-room-tile-main .spec-entity-badge{font-size:.62rem;margin-left:0}.spec-room-tile.active{background:#eff6ff;border-color:#2563eb}.spec-room-remove{font-size:.75rem;height:24px;right:6px;top:6px;width:24px}.spec-add-floor,.spec-add-tile{background:#fff;border-style:dashed;color:#2563eb}.spec-add-floor{flex:0 0 86px;font-size:1.35rem;min-height:230px}.spec-room-edit-list{grid-gap:16px;display:grid;gap:16px;margin-top:18px}.spec-room-edit-list h2{color:#0f172a;font-size:1.15rem;margin:0}.spec-room-editor{grid-gap:14px;background:#fff;border:1px solid #dbe4ee;border-radius:8px;display:grid;gap:14px;padding:16px}.spec-room-canvas{grid-gap:18px;display:grid;gap:18px}.spec-room-canvas-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between}.spec-room-canvas-header h1{color:#0f172a;font-size:1.45rem;margin:8px 0 4px}.spec-room-canvas-header p{color:#64748b;margin:0}.spec-room-canvas-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.spec-link-button{align-items:center;background:#0000;border:0;color:#2563eb;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;gap:8px;padding:0}.spec-primary-button,.spec-secondary-button{border:0;border-radius:8px;cursor:pointer;font-weight:700;min-height:40px;padding:0 16px}.spec-primary-button{background:#0f172a;color:#fff}.spec-secondary-button{background:#e2e8f0;color:#0f172a}.spec-room-canvas-body{grid-gap:12px;display:grid;gap:12px}.spec-room-canvas-form-grid{align-items:end;grid-template-columns:206px 122px 114px 109px}.spec-room-canvas-form-grid:has(.spec-choice-row input){grid-template-columns:206px 310px 114px 109px}.spec-room-canvas-form-grid>label{min-width:0}.spec-room-canvas-form-grid input,.spec-room-canvas-form-grid select{box-sizing:border-box}.spec-room-canvas-form-grid>label:first-child{min-width:206px;width:206px}.spec-room-canvas-form-grid>label:nth-child(2){min-width:122px;width:122px}.spec-room-canvas-form-grid:has(.spec-choice-row input)>label:nth-child(2){min-width:310px;width:310px}.spec-room-canvas-form-grid>label:nth-child(3){min-width:114px;width:114px}.spec-room-canvas-form-grid>label:nth-child(4){min-width:109px;width:109px}.spec-room-canvas-form-grid>label:first-child input,.spec-room-canvas-form-grid>label:nth-child(2) select,.spec-room-canvas-form-grid>label:nth-child(3) input{max-width:100%;min-width:100%;width:100%}.spec-room-canvas-form-grid>label:nth-child(2) .spec-choice-row select{flex:0 0 122px;max-width:122px;min-width:122px;width:122px}.spec-room-canvas-form-grid:has(.spec-choice-row input)>label:nth-child(2) .spec-choice-row select{flex-basis:122px}.spec-room-canvas-form-grid>label:nth-child(4) input{max-width:100%;min-width:100%;width:100%}.spec-finish-item-canvas-form-grid{align-items:end;grid-template-columns:150px 220px 114px}.spec-finish-item-canvas-form-grid:has(.spec-choice-row input){grid-template-columns:150px 408px 114px}.spec-finish-item-canvas-form-grid input,.spec-finish-item-canvas-form-grid select{box-sizing:border-box}.spec-finish-item-canvas-form-grid>label{min-width:0}.spec-finish-item-canvas-form-grid>label:first-child{min-width:150px;width:150px}.spec-finish-item-canvas-form-grid>label:nth-child(2){min-width:220px;width:220px}.spec-finish-item-canvas-form-grid:has(.spec-choice-row input)>label:nth-child(2){min-width:408px;width:408px}.spec-finish-item-canvas-form-grid>label:nth-child(3){min-width:114px;width:114px}.spec-finish-item-canvas-form-grid>label:first-child input,.spec-finish-item-canvas-form-grid>label:nth-child(2) select,.spec-finish-item-canvas-form-grid>label:nth-child(3) input{max-width:100%;min-width:100%;width:100%}.spec-finish-item-canvas-form-grid>label:nth-child(2) .spec-choice-row select{flex:0 0 220px;max-width:220px;min-width:220px;width:220px}.spec-element-item-canvas-form-grid{align-items:end;grid-template-columns:260px 112px}.spec-element-item-canvas-form-grid:has(.spec-choice-row input){grid-template-columns:448px 112px}.spec-element-item-canvas-form-grid input,.spec-element-item-canvas-form-grid select{box-sizing:border-box}.spec-element-item-canvas-form-grid>label{min-width:0}.spec-element-item-canvas-form-grid>label:first-child{min-width:260px;width:260px}.spec-element-item-canvas-form-grid:has(.spec-choice-row input)>label:first-child{min-width:448px;width:448px}.spec-element-item-canvas-form-grid>label:nth-child(2){min-width:112px;width:112px}.spec-element-item-canvas-form-grid>label:first-child select,.spec-element-item-canvas-form-grid>label:nth-child(2) input{max-width:100%;min-width:100%;width:100%}.spec-element-item-canvas-form-grid>label:first-child .spec-choice-row select{flex:0 0 260px;max-width:260px;min-width:260px;width:260px}.spec-element-characteristics{grid-gap:10px;display:grid;gap:10px}.spec-element-characteristics h2{color:#0f172a;font-size:1rem;margin:0}.spec-element-characteristics-grid{align-items:end;grid-template-columns:repeat(auto-fit,minmax(180px,240px))}.spec-element-characteristics-grid input{box-sizing:border-box}.spec-modal{max-height:calc(100vh - 48px);overflow-y:auto;width:min(920px,calc(100vw - 32px))}.spec-modal-floor{width:min(720px,calc(100vw - 32px))}.spec-modal-room{width:min(1040px,calc(100vw - 32px))}.spec-modal-element,.spec-modal-finish{width:min(840px,calc(100vw - 32px))}.spec-modal-body{grid-gap:12px;display:grid;gap:12px;padding:0}.spec-modal-body>label{color:#334155;display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:6px}.spec-modal-body textarea{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;font:inherit;padding:10px 11px;width:100%}.spec-modal-section{grid-gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:12px;padding:12px}.spec-modal-section-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.spec-modal-section-header h3{color:#0f172a;font-size:1rem;margin:0}.spec-collapse{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.spec-collapse summary{align-items:center;color:#0f172a;cursor:pointer;display:flex;font-weight:700;gap:12px;justify-content:space-between;padding:12px 14px}.spec-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));padding:0 12px 12px}.spec-card-grid,.spec-detail-card{grid-gap:12px;display:grid;gap:12px}.spec-detail-card{background:#fff;border:1px solid #dbe4ee;border-radius:8px;padding:14px;position:relative}.spec-summary-card{min-height:96px}.spec-summary-card-main{grid-gap:6px;background:#0000;border:0;color:#0f172a;cursor:pointer;display:grid;gap:6px;min-height:68px;padding:0 36px 0 0;text-align:left;width:100%}.spec-summary-card-main span{color:#2563eb;font-size:.85rem;font-weight:700}.spec-card-content{grid-gap:4px;display:grid;gap:4px;min-width:0}.spec-card-content small{color:#64748b;font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spec-empty-inline{padding:12px}.spec-links,.spec-references{grid-gap:8px;display:grid;gap:8px}.spec-references{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.spec-references legend{color:#334155;font-size:.9rem;font-weight:700;padding:0 6px}.spec-link-add{background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#2563eb;cursor:pointer;justify-self:flex-start;padding:8px 10px}.spec-link-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 40px 40px}.spec-link-row input{box-sizing:border-box;min-width:0}.spec-link-row .icon-button{border-radius:8px;height:40px;justify-content:center;padding:0;width:40px}.spec-link-row .spec-link-open{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.spec-link-row .spec-link-open:disabled{background:#f8fafc;border-color:#e2e8f0;color:#94a3b8;cursor:not-allowed}@media (max-width:760px){.spec-header{flex-direction:column}.spec-save-actions{justify-content:space-between;width:100%}.spec-save-state{text-align:left}.spec-floor-block{flex-basis:88vw;padding:14px}.spec-card-grid{grid-template-columns:1fr}.spec-room-canvas-header{flex-direction:column}.spec-room-canvas-actions{justify-content:stretch;width:100%}.spec-room-canvas-actions button{flex:1 1 140px}.spec-element-form-grid,.spec-element-item-canvas-form-grid,.spec-finish-form-grid,.spec-finish-item-canvas-form-grid,.spec-floor-form-grid,.spec-room-canvas-form-grid,.spec-room-form-grid{grid-template-columns:1fr}.spec-finish-item-canvas-form-grid>label,.spec-finish-item-canvas-form-grid>label:first-child,.spec-finish-item-canvas-form-grid>label:nth-child(2),.spec-finish-item-canvas-form-grid>label:nth-child(3),.spec-floor-form-grid .spec-field-full,.spec-floor-form-grid>label,.spec-floor-form-grid>label:first-child,.spec-floor-form-grid>label:nth-child(2),.spec-room-canvas-form-grid>label,.spec-room-canvas-form-grid>label:first-child,.spec-room-canvas-form-grid>label:nth-child(2),.spec-room-canvas-form-grid>label:nth-child(3),.spec-room-canvas-form-grid>label:nth-child(4){min-width:0;width:100%}.spec-element-item-canvas-form-grid:has(.spec-choice-row input)>label:first-child,.spec-element-item-canvas-form-grid>label,.spec-element-item-canvas-form-grid>label:first-child,.spec-element-item-canvas-form-grid>label:nth-child(2){min-width:0;width:100%}.spec-element-item-canvas-form-grid>label:first-child .spec-choice-row select{flex:1 1 auto;max-width:none;min-width:0;width:auto}.spec-element-characteristics-grid{grid-template-columns:1fr}}.subscription-plan-modal{max-width:880px;width:min(880px,calc(100vw - 48px))}.floor-type-form-grid,.wall-finish-form-grid{grid-template-columns:1fr}.subscription-plan-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.floor-type-description-field textarea,.wall-finish-description-field textarea{background:#fff;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;font-size:14px;min-height:128px;padding:12px 14px;resize:vertical;width:100%}.element-modal{grid-template-rows:auto 1fr;height:min(92vh,900px);max-height:min(92vh,900px);max-width:920px;overflow:hidden;width:min(920px,calc(100vw - 48px))}.element-form-grid{grid-template-columns:1fr}.element-form-name{grid-column:1}.element-material-list{grid-gap:10px;display:grid;gap:10px}.element-material-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:1fr auto}.element-inline-field,.element-table-field{grid-gap:6px;color:#64748b;display:grid;font-size:12px;font-weight:600;gap:6px}.element-inline-field input,.element-table-field input,.element-table-field select{background:#fff;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;font-size:14px;padding:12px 14px;width:100%}.element-characteristics-list{grid-gap:12px;display:grid;gap:12px}.element-characteristic-card{grid-gap:14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;display:grid;gap:14px;padding:16px}.element-characteristic-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.element-characteristic-card-header strong{color:#0f172a;font-size:14px}.element-characteristic-fields{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.element-data-type-radios{display:flex;flex-wrap:wrap;gap:10px 14px;padding:2px 0 4px}.element-data-type-radio{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:999px;color:#334155;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;line-height:1.2;padding:6px 10px}.element-data-type-radio input{accent-color:#0f172a;margin:0}@media (max-width:900px){.element-characteristic-fields{grid-template-columns:1fr}}.element-modal .invoice-form{min-height:0;overflow:auto;padding-right:4px}.element-modal .modal-actions,.element-modal .modal-header{background:#fff;position:-webkit-sticky;position:sticky;z-index:1}.element-modal .modal-header{padding-bottom:4px;top:0}.element-modal .modal-actions{bottom:0;padding-top:12px}.obras-row.draggable{cursor:grab}.obras-row.draggable:active{cursor:grabbing}.drag-cell{align-items:center;color:#334155;display:inline-flex;font-weight:600;gap:8px}.drag-handle{color:#94a3b8;font-size:14px}.obras-row.parallel{background:#eaf2ff;border-color:#c7ddff}.parallel-toggle{align-items:center;display:inline-flex;height:18px;position:relative;width:34px}.parallel-toggle input{height:0;opacity:0;width:0}.parallel-toggle .toggle-ui{background:#cbd5f5;border-radius:999px;height:18px;position:relative;transition:background .2s ease;width:34px}.parallel-toggle .toggle-ui:after{background:#fff;border-radius:50%;box-shadow:0 2px 6px #0f172a33;content:"";height:14px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:14px}.parallel-toggle input:checked+.toggle-ui{background:#3b82f6}.parallel-toggle input:checked+.toggle-ui:after{transform:translateX(16px)}.parallel-toggle input:disabled+.toggle-ui{background:#e2e8f0}.obras-head{background:#eef2f7;color:#475569;font-weight:600}.obras-actions{display:flex;gap:8px;justify-content:flex-end}.obras-actions button{background:#fff;border:none;border-radius:10px;box-shadow:0 6px 16px #0f172a14;color:#000;cursor:pointer;height:36px;width:36px}.obra-shared-status-button{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;cursor:pointer;font-size:12px;font-weight:700;padding:5px 10px;width:-webkit-fit-content;width:fit-content}.obra-shared-status-button:hover{background:#dbeafe}.home-access-button i{font-size:20px}.home-access-button{background:#0000;border:none;border-radius:0;box-shadow:none;color:#0f172a;cursor:pointer;height:auto;padding:0;width:auto}.obra-detail{grid-gap:16px;display:grid;gap:16px}.obra-detail-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.obra-detail-header h2{font-size:18px;margin:0 0 6px}.obra-detail-header p{color:#6b7280;margin:0}.obra-metadata{color:#475569;display:flex;flex-wrap:wrap;font-size:14px;gap:12px 20px}.obra-total{color:#0f172a;font-size:15px;font-weight:600;margin-top:-6px}.etapas{grid-gap:16px;display:grid;gap:16px}.etapas-header{display:flex;flex-direction:column;gap:10px}.etapa-toolbar{display:flex;flex-wrap:wrap;gap:12px}.etapa-toolbar input{border:1px solid #e5e7eb;border-radius:10px;flex:1 1;font-size:13px;min-width:220px;padding:8px 10px}.etapa-toolbar button{align-items:center;background:#0f172a;border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;height:40px;justify-content:center;width:40px}.etapa-modal-form,.etapa-modal-form .form-row{grid-gap:12px;display:grid;gap:12px}.etapa-modal-form .form-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.etapa-modal-form label{grid-gap:6px;color:#6b7280;display:grid;font-size:12px;gap:6px}.etapa-modal-form input,.etapa-modal-form select{border:1px solid #e5e7eb;border-radius:10px;font-size:14px;padding:10px 12px}.etapa-modal-form select{background:#fff}.etapa-form,.orcamento-form,.trabalho-form{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.etapa-form input,.orcamento-form input,.orcamento-form select,.trabalho-form input{border:1px solid #e5e7eb;border-radius:10px;font-size:13px;padding:8px 10px}.orcamento-form label{grid-gap:6px;display:grid;gap:6px}.orcamento-form-quantity-input{min-width:120px;width:50%}.etapa-actions button,.etapa-form button,.orcamento-form button,.orcamento-meta button,.trabalho-actions button,.trabalho-form button{background:#0f172a;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:8px 12px}.etapa-actions button.danger,.orcamento-meta button,.trabalho-actions button.danger{background:#fee2e2;color:#b91c1c}.orcamento-meta .icon-button{background:#fff;border:1px solid #cbd5f5;box-shadow:0 6px 16px #0f172a14;color:#000}.orcamento-meta .icon-button.danger{border-color:#cbd5f5;color:#000}.etapas-list{grid-gap:12px;display:grid;gap:12px;list-style:none;margin:0;padding:0}.etapa-card{background:#f8fafc}.etapa-card,.etapa-item{grid-gap:12px;border:1px solid #e5e7eb;border-radius:14px;display:grid;gap:12px;padding:14px}.etapa-item{background:#fff}.etapa-info p{color:#6b7280;font-size:13px;margin:6px 0 0}.etapa-notes{color:#475569;font-size:12px;margin-top:6px}.etapa-attachments{display:flex;gap:8px;margin-top:6px}.etapa-attachments a{color:#2563eb;font-size:12px;text-decoration:none}.etapa-attachments a:hover{text-decoration:underline}.etapa-actions{display:flex;flex-wrap:wrap;gap:10px}.etapa-edit,.orcamento-edit,.trabalho-edit{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:10px}.etapa-edit input,.orcamento-edit input,.orcamento-edit select,.trabalho-edit input{border:1px solid #e5e7eb;border-radius:10px;font-size:13px;padding:8px 10px}.etapa-edit button,.orcamento-edit button,.trabalho-edit button{background:#0f172a;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:8px 12px}.trabalhos{grid-gap:12px;display:grid;gap:12px}.trabalhos-list{grid-gap:10px;display:grid;gap:10px}.trabalho-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px}.trabalho-card summary{align-items:center;cursor:pointer;display:flex;gap:12px;justify-content:space-between}.trabalho-card summary div span{color:#6b7280;display:block;font-size:12px}.trabalho-total{color:#0f172a;font-weight:600}.trabalho-actions{display:flex;gap:8px}.orcamento{margin-top:10px}.orcamento,.orcamento-toolbar{grid-gap:12px;display:grid;gap:12px}.orcamento-toolbar .kanban-add{justify-self:start;width:auto}.orcamento-list{grid-gap:8px;display:grid;gap:8px}.orcamento-section-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.orcamento-section-header h2{margin:0}.orcamento-section-header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.service-resource-title-row{align-items:center;display:inline-flex;gap:10px}.budget-service-actions,.budget-stage-title{align-items:center;display:inline-flex;gap:8px}.budget-warning-indicator{align-items:center;color:#d97706;display:inline-flex;justify-content:center}.budget-missing-filter{align-items:center;color:#475569;display:inline-flex;font-size:12px;gap:8px}.service-resource-summary{grid-gap:4px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;color:#475569;display:grid;font-size:12px;gap:4px;padding:10px 12px}.service-resource-summary-line{align-items:center;display:inline-flex;gap:8px}.service-resource-summary-alert{color:#b91c1c}.orcamento-table-wrap{overflow-x:auto}.orcamento-table{background:#fff;border-collapse:collapse;border-radius:12px;box-shadow:0 10px 24px #0f172a14;min-width:980px;overflow:hidden;width:100%}.orcamento-table td,.orcamento-table th{border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;font-size:12px;padding:10px 8px;text-align:center;vertical-align:middle}.orcamento-table td:last-child,.orcamento-table th:last-child{border-right:none}.orcamento-table td:first-child,.orcamento-table th:first-child{min-width:140px;text-align:left}.orcamento-table th.actions-col{text-align:right}.orcamento-input{border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:12px;max-width:100%;min-width:0;padding:6px 8px;text-align:center;width:100%}.orcamento-input-sinapi-overridden{background:#fef3c7;border-color:#f59e0b}.orcamento-input[type=text]{text-align:left}.orcamento-item{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:10px;justify-content:space-between;padding:8px 10px}.orcamento-item span{color:#6b7280;display:block;font-size:12px}.orcamento-meta{align-items:center;display:flex;gap:10px}.modal-large{width:min(720px,100%)}.supplier-modal{width:min(1180px,calc(100vw - 48px))}.sinapi-composition-modal,.sinapi-insumo-modal{width:min(1380px,calc(100vw - 32px))}.org-resource-modal{width:min(1280px,calc(100vw - 48px))}.supplier-form{gap:16px}.supplier-row-main{grid-template-columns:minmax(360px,2.2fr) minmax(220px,1fr)}.supplier-row-contact{align-items:end;grid-template-columns:minmax(180px,240px) minmax(220px,1fr)}.supplier-row-phone{align-items:end;grid-template-columns:minmax(220px,1fr) minmax(120px,160px)}.supplier-form .supplier-row-address{align-items:end;grid-template-columns:minmax(160px,220px) minmax(240px,1fr)}.supplier-form .form-row>label{min-width:0}.supplier-form .supplier-row-location{align-items:end;column-gap:12px;grid-template-columns:120px 1fr 64px!important}.supplier-form .supplier-row-location>label{min-width:0}.supplier-form .supplier-city input{max-width:320px;min-width:0;width:320px}.supplier-form .supplier-city{justify-self:start;padding-left:16px}.supplier-zipcode input{width:110px}.supplier-city input{width:100%}.supplier-state{justify-self:end}.supplier-state select{width:64px}.supplier-type-options{align-items:center;display:inline-flex;gap:16px;margin-top:6px}.supplier-type-option{align-items:center;color:#475569;display:inline-flex;font-size:13px;gap:8px}.supplier-whatsapp{justify-self:start}.supplier-whatsapp .checkbox-inline{align-items:center;color:#1f2937;display:inline-flex;font-weight:600;gap:8px}.supplier-whatsapp .checkbox-inline input{margin:0}.supplier-doc,.supplier-name{grid-gap:6px;display:grid;gap:6px}@media (max-width:900px){.supplier-modal{width:min(940px,100%)}.supplier-form .supplier-row-address,.supplier-row-contact,.supplier-row-location,.supplier-row-main{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.obra-form{grid-gap:24px;display:grid;gap:24px}.obra-grid{grid-gap:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.obra-grid label{grid-gap:6px;color:#64748b;display:grid;font-size:12px;font-weight:600;gap:6px}.obra-grid input,.obra-grid select,.obra-grid textarea{background:#fff;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;font-size:14px;padding:12px 14px;width:100%}.obra-grid input[readonly]{background:#f8fafc;color:#475569;cursor:default}.obra-full{grid-column:1/-1}.floors-section{grid-gap:16px;display:grid;gap:16px}.floor-card{grid-gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;display:grid;gap:12px;padding:16px;transition:transform .2s ease,opacity .2s ease}@media (max-width:900px){.obra-grid{grid-template-columns:1fr;padding:14px}}.floor-?rea-input label{grid-gap:6px;color:#6b7280;display:grid;font-size:12px;gap:6px}.floor-?rea-input input{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-sizing:border-box;font-size:13px;padding:8px 10px;width:100%}.floor-desc-input label{grid-gap:6px;color:#6b7280;display:grid;font-size:12px;gap:6px}.floor-desc-input input{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-sizing:border-box;font-size:13px;padding:8px 10px;width:100%}.floor-?rea{align-items:center;color:#475569;display:flex;font-size:13px;gap:8px}.floor-?rea strong{color:#0f172a}.floor-desc{align-items:center;color:#475569;display:flex;font-size:13px;gap:8px}.floor-desc strong{color:#0f172a}.floor-header{align-items:center;display:flex;justify-content:space-between}.floor-header h3{font-size:14px;margin:0}.floor-actions{align-items:center;display:flex;gap:8px}.floor-count{color:#475569;display:inline-block;font-size:13px;margin-left:12px}.floor-toggle{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#475569}.floor-remove,.floor-toggle{cursor:pointer;height:36px;width:36px}.floor-remove{background:#fee2e2;border:1px solid #fecaca;border-radius:10px;color:#b91c1c}.floor-remove:disabled{cursor:not-allowed;opacity:.5}.floor-add{background:#0f172a;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:8px 12px}.floor-card.collapsed{padding-bottom:6px}.room-table{grid-gap:8px;display:grid;gap:8px}.room-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:1.3fr 1fr 1fr 40px}.room-head{color:#6b7280;font-size:12px}.room-row input,.room-row select{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-sizing:border-box;font-size:13px;padding:8px 10px;width:100%}.room-remove{background:#fee2e2;border:none;border-radius:10px;color:#b91c1c;cursor:pointer;height:36px;width:36px}.room-empty{background:#f8fafc;border:1px dashed #cbd5f5;border-radius:10px;color:#94a3b8;font-size:13px;padding:10px}.kanban-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.kanban-header h1{margin:0 0 6px}.kanban-header p{color:#6b7280;margin:0}.kanban-form{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:1fr}.kanban-form label{grid-gap:6px;color:#6b7280;display:grid;font-size:12px;gap:6px}.kanban-form input{background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;padding:10px 12px}.kanban-form button{background:#0ea5e9}.kanban-add,.kanban-form button{border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px}.kanban-add{background:#0f172a}.kanban-columns{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(5,minmax(220px,1fr));overflow-x:auto;padding-bottom:8px}.kanban-column{grid-gap:12px;align-content:start;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;display:grid;gap:12px;min-height:260px;padding:12px}.kanban-column-header{align-items:center;display:flex;font-size:14px;justify-content:space-between}.kanban-column-header h2{font-size:14px;font-weight:600;margin:0}.kanban-count{background:#e2e8f0;border-radius:999px;color:#475569;font-size:12px;padding:2px 8px}.kanban-cards{grid-gap:10px;display:grid;gap:10px}.kanban-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 6px 16px #0f172a14;cursor:grab;padding:12px}.kanban-card h3{font-size:15px;margin:0 0 8px}.kanban-card p{color:#4b5563;font-size:13px;margin:0 0 6px}.modal-backdrop{background:#0f172a8c;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:20}.modal{grid-gap:16px;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0f172a2e;display:grid;gap:16px;max-height:90vh;overflow:auto;padding:20px;width:min(520px,100%)}.modal.org-resource-modal{width:min(980px,100%)}.modal.element-modal{max-width:920px;width:min(920px,calc(100vw - 48px))}.modal-backdrop.nested{z-index:30}.modal-header{align-items:center;display:flex;justify-content:space-between}.modal-header h2{font-size:18px;margin:0}.modal-close{background:#f3f4f6;border:none;border-radius:10px;color:#475569;cursor:pointer;height:36px;width:36px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.info-message-backdrop{z-index:1100}.info-message-modal{grid-gap:14px;display:grid;gap:14px;grid-template-columns:auto 1fr;max-width:460px;padding:22px}.info-message-icon{background:#dbeafe;border-radius:999px;color:#1d4ed8;display:grid;font-size:18px;height:38px;place-items:center;width:38px}.info-message-content{grid-gap:12px;display:grid;gap:12px}.info-message-header{align-items:flex-start;margin:0}.info-message-header h2{margin:0}.info-message-content p{color:#334155;line-height:1.5;margin:0;white-space:pre-line}.info-message-actions{margin-top:4px}.modal-actions button{border:none;border-radius:10px;cursor:pointer;font-weight:600;height:40px;min-width:120px}.modal-actions button[type=submit]{background:#0f172a;color:#fff}.modal-actions .danger{background:#fee2e2;color:#000}.modal-secondary{background:#e2e8f0;color:#0f172a}.form-errors{grid-gap:4px;background:#fee2e2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;display:grid;font-size:13px;gap:4px;padding:10px 14px}.form-errors p{margin:0}.mercado-pago-settings-panel,.subscription-payments-panel,.subscription-upgrade-panel{gap:18px}.subscription-cancel-box,.subscription-current-summary{align-items:center;background:#fff;border:1px solid #d8e0ea;border-radius:8px;display:flex;justify-content:space-between;padding:16px}.subscription-current-summary{gap:14px;justify-content:flex-start}.subscription-current-summary span{color:#5f6f84}.subscription-alert{background:#fff4e5;border:1px solid #f1b866;border-radius:8px;color:#7a4a06;font-weight:700;padding:14px 16px}.app-subscription-alert{margin-bottom:16px}.subscription-upgrade-table .obras-row{gap:12px;grid-template-columns:minmax(160px,1.1fr) minmax(120px,.75fr) minmax(105px,.65fr) 76px minmax(145px,.85fr) minmax(110px,.7fr) minmax(125px,.75fr) minmax(95px,.65fr) minmax(105px,.65fr) minmax(112px,.7fr)}.subscription-upgrade-table .obras-head{font-size:.78rem;line-height:1.25}.subscription-action-button{min-width:112px}.plan-current-badge{background:#e8f3ff;border:1px solid #9bc8f5;border-radius:999px;color:#165a9f;display:inline-flex;font-size:.75rem;font-weight:800;margin-top:4px;padding:3px 8px;width:-webkit-fit-content;width:fit-content}.subscription-cancel-box{align-items:flex-start;gap:16px}.subscription-cancel-box p{color:#5f6f84;margin:6px 0 0}.modal-secondary.danger{border-color:#d9534f;color:#b42318}.mercado-pago-settings-form{background:#fff;border:1px solid #d8e0ea;border-radius:8px;padding:18px}.subscription-payments-table .obras-row{grid-template-columns:minmax(150px,1fr) minmax(170px,1.2fr) minmax(110px,.8fr) minmax(120px,.8fr) minmax(120px,.8fr) minmax(118px,.75fr) minmax(150px,1fr) minmax(100px,.7fr)}.admin-payments-user-filter{min-width:min(420px,100%)}.subscription-payment-origin{border-radius:999px;display:inline-flex;font-size:.75rem;font-weight:800;line-height:1;padding:6px 10px;width:-webkit-fit-content;width:fit-content}.subscription-payment-origin.manual{background:#fff4e5;border:1px solid #f1b866;color:#7a4a06}.subscription-payment-origin.integration{background:#e8f3ff;border:1px solid #9bc8f5;color:#165a9f}.subscription-manual-payment-form-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.subscription-manual-payment-note{grid-column:1/-1}.subscription-manual-payment-note textarea{min-height:110px;resize:vertical}@media (max-width:900px){.app-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.app-menu{order:1}.app-content{order:2}}@media (max-width:640px){.app-body{grid-template-columns:1fr;grid-template-rows:auto 1fr}.app-menu{padding:12px 16px}.menu-list{gap:8px;grid-auto-columns:1fr;grid-auto-flow:column}.menu-item{justify-content:center}.menu-text{display:none}.app-content{padding:20px}.admin-panel-header{align-items:stretch}.admin-users-filter{min-width:0}.admin-user-form-grid,.admin-users-filters{grid-template-columns:1fr}.kanban{padding:18px}.kanban-form{grid-template-columns:1fr}.kanban-columns{grid-template-columns:repeat(5,minmax(200px,1fr))}.obra-grid{grid-template-columns:1fr}.obra-full{grid-column:span 1}.obras-row{gap:6px}.admin-elements-table .obras-row,.admin-users-table .obras-row,.obras-row{grid-template-columns:1fr}.obras-actions{justify-content:flex-start}.room-row{grid-template-columns:1fr}.obra-metadata{flex-direction:column}}.auth-toggle{align-items:center;background:#0000;border:none;color:#0f172a;cursor:pointer;display:inline-flex;font-weight:600;gap:6px;padding:0;text-align:left}.auth-toggle:after{content:"?";font-size:14px;opacity:.7;transition:transform .15s ease,opacity .15s ease}.auth-toggle:hover:after{opacity:1;transform:translateX(3px)}.obra-manage-layout{grid-gap:20px;align-items:stretch;display:grid;gap:20px;grid-template-columns:220px 1fr}.obra-sidebar{grid-gap:10px;background:#0f172a;border-radius:14px;color:#e2e8f0;display:grid;gap:10px;height:100%;min-height:100%;padding:24px 18px}.obra-sidebar .menu-title{color:#94a3b8}.obra-manage-content{grid-gap:16px;display:grid;gap:16px}.obras-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.icon-button{align-items:center;background:#fff;border:1px solid #cbd5f5;border-radius:12px;color:#000;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:8px 12px}.icon-button.danger{border-color:#fca5a5;color:#000}.icon-button.round{border-radius:999px;height:40px;justify-content:center;padding:8px;width:40px}.exec-org-chart{grid-gap:18px;display:grid;gap:18px}.exec-org-root{display:flex;justify-content:center}.exec-org-node{background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 4px 10px #0f172a0d;color:#0f172a;padding:10px 12px}:root{--exec-org-circle-size:32px}.exec-org-node-header{align-items:center;display:flex;gap:8px;justify-content:space-between}.exec-org-node-controls{align-items:center;display:inline-flex;gap:6px}.exec-org-collapse-toggle{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;display:inline-flex;height:32px;height:var(--exec-org-circle-size);justify-content:center;width:32px;width:var(--exec-org-circle-size)}.exec-org-node.root{background:#0f172a;border-color:#0f172a;color:#fff;min-width:260px;text-align:center}.exec-org-node.etapa{background:#e2e8f0;border-color:#cbd5e1}.exec-org-node.service{background:#fff}.exec-org-node.service.empty{color:#64748b;font-style:italic}.exec-org-node-label{display:block;font-size:12px;margin-bottom:4px;opacity:.78}.exec-org-service-header.expanded{align-items:stretch;flex-direction:column-reverse}.exec-org-service-header.expanded .exec-org-actions{align-self:flex-end}.exec-org-actions{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:999px;display:inline-flex;justify-content:flex-end;padding:2px}.exec-org-actions-list{align-items:center;display:inline-flex;gap:6px;max-width:0;opacity:0;overflow:hidden;transition:max-width .2s ease,opacity .2s ease,margin .2s ease}.exec-org-actions.open .exec-org-actions-list{margin-right:6px;max-width:140px;opacity:1}.exec-org-action-button,.exec-org-actions-toggle{align-items:center;background:#0000;border:none;border-radius:999px;color:#0f172a;cursor:pointer;display:inline-flex;height:32px;height:var(--exec-org-circle-size);justify-content:center;width:32px;width:var(--exec-org-circle-size)}.exec-org-node.root .exec-org-actions{background:#ffffff26;border-color:#ffffff73}.exec-org-node.root .exec-org-collapse-toggle{background:#ffffff26;border-color:#ffffff73;color:#fff}.exec-org-node.root .exec-org-action-button,.exec-org-node.root .exec-org-actions-toggle{color:#fff}.exec-org-action-button.danger{color:#b91c1c}.exec-org-etapas{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.exec-org-etapa-column{grid-gap:10px;display:grid;gap:10px}.exec-org-add-column{align-content:start}.exec-org-add-button{background:#f8fafc;border:1px dashed #94a3b8;border-radius:12px;color:#0f172a;cursor:pointer;font-size:16px;min-height:48px}.exec-org-services{grid-gap:8px;border-left:2px dashed #cbd5e1;display:grid;gap:8px;padding-left:10px}.exec-org-add-service{background:#f8fafc;border:1px dashed #94a3b8;border-radius:10px;color:#0f172a;cursor:pointer;min-height:36px}.supplier-phone-cell{align-items:center;display:inline-flex;gap:10px}.supplier-phone{display:inline-block;min-width:140px}.whatsapp-link{align-items:center;display:inline-flex;justify-content:center}.whatsapp-icon{display:block;height:26px;width:26px}.suppliers-table .obras-row{grid-template-columns:2fr 1fr 1.2fr 140px}.etapa-inline{align-items:center;color:#475569;display:flex;flex-wrap:wrap;gap:16px;margin:6px 0 0}.obras-row.obras-row-3{grid-template-columns:80px 1fr 140px}.obras-row.obras-row-servicos{grid-template-columns:1.1fr 1.1fr .8fr 1.2fr 160px}.obras-row.obras-row-servicos-modal{grid-template-columns:1.4fr 1.1fr .9fr}.obras-row.obras-row-servicos-modal select{background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:13px;padding:6px 8px}.servico-with-action{align-items:center;display:inline-flex;gap:8px}.obras-row.status-nao-iniciado{background:#e2e8f0}.obras-row.status-pronto-para-comecar{background:#bae6fd}.obras-row.status-em-execucao{background:#fde68a}.obras-row.status-com-problemas{background:#fecaca}.obras-row.status-concluido{background:#bbf7d0}.legend-dot.status-nao-iniciado{background:#94a3b8}.legend-dot.status-pronto-para-comecar{background:#0ea5e9}.legend-dot.status-em-execucao{background:#f59e0b}.legend-dot.status-com-problemas{background:#ef4444}.legend-dot.status-concluido{background:#22c55e}.journey-columns{align-items:flex-start;display:flex;gap:16px;overflow-x:auto;padding-bottom:6px}.obras-journey-list{grid-gap:18px;display:grid;gap:18px}.obra-journey-item{grid-gap:12px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;display:grid;gap:12px;padding:14px}.obra-journey-item-header h2{color:#0f172a;font-size:18px;margin:0}.obra-journey-item-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.obra-journey-title-row{align-items:center;display:inline-flex;gap:8px}.home-journey-toggle{margin-right:0}.journey-column{grid-gap:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:14px;box-sizing:border-box;display:grid;gap:10px;min-width:220px;overflow:hidden;padding:12px}.journey-column-header{color:#0f172a;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.journey-column-list{grid-gap:10px;display:grid;gap:10px}.journey-column-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 10px #0f172a0f;box-sizing:border-box;cursor:pointer;padding:10px 12px;text-align:left;transition:background-color .2s ease;width:100%}.journey-column-card:hover{border-color:#cbd5f5}.journey-legend{align-items:center;color:#475569;display:flex;flex-wrap:wrap;font-size:13px;gap:12px}.journey-legend span{align-items:center;display:inline-flex;gap:6px}.legend-dot{border:1px solid #cbd5e1;border-radius:999px;display:inline-block;height:12px;width:12px}.journey-modal-body{grid-gap:14px;display:grid;gap:14px}.journey-modal-header{align-items:center;display:flex;gap:12px}.obra-manage-layout.menu-collapsed{grid-template-columns:64px 1fr}.obra-manage-layout.menu-collapsed .menu-text,.obra-manage-layout.menu-collapsed .menu-title{display:none}.obra-manage-layout.menu-collapsed .obra-sidebar{padding:16px 10px}.obra-manage-layout.menu-collapsed .menu-header,.obra-manage-layout.menu-collapsed .menu-item{justify-content:center}@media (max-width:900px){.obra-manage-layout{grid-template-columns:1fr}.obra-sidebar{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.invoices-table .obras-row{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,2fr) minmax(0,.9fr) minmax(90px,.6fr) 120px}.invoices-table .obras-row>span{min-width:0}.payments-table .obras-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,.7fr) minmax(70px,.5fr) minmax(0,.7fr) minmax(0,.7fr) 120px}.payments-table .obras-row>span{min-width:0}.installments-table .obras-row{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,.8fr) 100px}.installments-table .obras-row>span{min-width:0}.installments-filters,.invoice-filters,.payment-filters{grid-gap:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px;padding:12px}.invoice-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.installments-filters label,.invoice-filters label,.payment-filters label{grid-gap:6px;color:#64748b;display:grid;font-size:12px;font-weight:600;gap:6px}.installments-filters input,.installments-filters select,.invoice-filters input,.invoice-filters select,.payment-filters input,.payment-filters select{background:#fff;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.installments-filters label.filter-inline{align-items:center;align-self:stretch;color:#0f172a;display:flex;font-size:13px;font-weight:600;gap:8px;height:auto;padding:18px 0 0}.filter-inline input[type=checkbox]{border-radius:4px;flex:0 0 auto;height:16px;margin:0;padding:0;width:16px}.filter-inline span{line-height:1}.sort-button{background:#0000;border:none;color:#0f172a;cursor:pointer;font-weight:600;padding:0;text-align:left}.sort-button:hover{text-decoration:underline}.sort-arrow{color:#94a3b8;font-size:11px;margin-left:6px}@media (max-width:900px){.installments-filters{grid-template-columns:1fr}}.status-tag{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;padding:4px 10px}.status-tag.open{background:#ffedd5;color:#c2410c}.status-tag.paid{background:#dcfce7;color:#15803d}.status-tag.overdue{background:#fef3c7;color:#b45309;margin-left:6px}.invoice-modal .invoice-form{display:flex;flex-direction:column;gap:24px}.payment-modal{--payment-gap:14px;--payment-value-width:calc(15ch + 28px);--payment-date-width:calc(22ch + 28px);--payment-supplier-width:calc(40ch + 28px);--payment-installments-width:calc(20ch + 28px);--payment-description-width:calc(50ch + 28px);--payment-content-width:calc(var(--payment-value-width)*4 + var(--payment-gap)*3);display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 32px);overflow:hidden;overflow-x:hidden;width:min(calc(var(--payment-content-width) + 72px),calc(100vw - 32px))}.payment-modal .invoice-form{flex:1 1 auto;min-width:0;overflow-x:hidden;overflow-y:auto;padding-right:4px;width:100%}.payment-modal .modal-header{border-bottom:none;box-sizing:border-box;max-width:var(--payment-content-width);width:100%}.payment-modal .modal-actions,.payment-modal .modal-header{background:#0000;margin:0;padding:0;position:static;z-index:auto}.payment-modal .modal-actions{border-top:none}.payment-grid{box-sizing:border-box;grid-template-columns:minmax(0,1fr);justify-content:stretch;max-width:var(--payment-content-width);row-gap:16px}.payment-grid,.payment-grid-row{align-items:start;min-width:0;width:100%}.payment-grid-row{display:flex;gap:var(--payment-gap);justify-content:space-between}.payment-grid-row-middle,.payment-grid-row-top{width:100%}.payment-grid .payment-field-width-10,.payment-grid .payment-field-width-12,.payment-grid .payment-field-width-15,.payment-grid .payment-field-width-20,.payment-grid .payment-field-width-22,.payment-grid .payment-field-width-40,.payment-grid .payment-field-width-50{width:auto}.payment-grid .payment-field-width-10{width:calc(10ch + 28px)}.payment-grid .payment-field-width-12{width:calc(12ch + 28px)}.payment-grid .payment-field-width-15{width:var(--payment-value-width)}.payment-grid .payment-field-width-22{width:var(--payment-date-width)}.payment-grid .payment-field-width-20{width:var(--payment-installments-width)}.payment-grid .payment-field-width-40{width:var(--payment-supplier-width)}.payment-grid .payment-field-width-50{width:var(--payment-description-width)}.payment-grid .payment-field-width-10 .supplier-picker-button,.payment-grid .payment-field-width-10>input,.payment-grid .payment-field-width-10>textarea,.payment-grid .payment-field-width-12 .supplier-picker-button,.payment-grid .payment-field-width-12>input,.payment-grid .payment-field-width-12>textarea,.payment-grid .payment-field-width-15 .supplier-picker-button,.payment-grid .payment-field-width-15>input,.payment-grid .payment-field-width-15>textarea,.payment-grid .payment-field-width-20 .supplier-picker-button,.payment-grid .payment-field-width-20>input,.payment-grid .payment-field-width-20>textarea,.payment-grid .payment-field-width-22 .supplier-picker-button,.payment-grid .payment-field-width-22>input,.payment-grid .payment-field-width-22>textarea,.payment-grid .payment-field-width-40 .supplier-picker-button,.payment-grid .payment-field-width-40>input,.payment-grid .payment-field-width-40>textarea,.payment-grid .payment-field-width-50 .supplier-picker-button,.payment-grid .payment-field-width-50>input,.payment-grid .payment-field-width-50>textarea{width:100%}.payment-field-description textarea{line-height:1.4;min-height:76px;overflow-y:auto;resize:vertical}.payment-values-row{grid-column-gap:var(--payment-gap);grid-row-gap:0;align-items:start;column-gap:var(--payment-gap);display:grid;grid-column:1/-1;grid-row:4;grid-template-columns:repeat(4,var(--payment-value-width));justify-content:start;max-width:var(--payment-content-width);min-width:0;row-gap:0;width:100%}.payment-values-row label{width:var(--payment-value-width)}.payment-field-supplier{grid-column:1}.payment-field-paid-at{margin-left:auto}.payment-field-installments{grid-column:1}.payment-field-due-date{margin-left:auto}.payment-field-description{grid-column:1}.modal.note-modal{width:min(820px,96vw)}.modal.note-modal .invoice-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.modal.note-modal .note-field-supplier{grid-column:1}.modal.note-modal .note-field-document-number{grid-column:2}.modal.note-modal .note-field-date,.modal.note-modal .note-field-document-type{grid-column:1}.modal.note-modal .note-field-value{grid-column:2}.modal.note-modal .note-field-observation{grid-column:1/-1}.modal.note-modal .supplier-picker-button{padding:10px 12px}.invoice-grid{grid-gap:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px}.invoice-grid label{grid-gap:6px;color:#64748b;display:grid;font-size:12px;font-weight:600;gap:6px}.invoice-grid input,.invoice-grid select,.invoice-grid textarea{background:#fff;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;font-size:14px;padding:12px 14px;width:100%}.supplier-picker{align-items:center;display:flex;gap:8px}.picker-inline{display:flex}.supplier-picker-button{background:#fff;border:1px solid #e2e8f0;border-radius:12px;color:#0f172a;flex:1 1;font-size:14px;padding:12px 14px;text-align:left}.supplier-picker-modal{max-width:560px;width:min(90vw,560px)}.supplier-picker-body{display:flex;flex-direction:column;gap:14px;padding:0 24px 24px}.supplier-picker-filter input{background:#fff;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;color:#0f172a;font-size:14px;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;width:100%}.supplier-picker-filter input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.supplier-picker-list{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto}.supplier-picker-item{align-items:flex-start;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:12px 14px;text-align:left;width:100%}.supplier-picker-item:hover{background:#eef2ff;border-color:#c7d2fe}.supplier-picker-checkbox-item{grid-column-gap:10px;column-gap:10px;display:grid;grid-template-columns:auto 1fr}.supplier-picker-checkbox-item.selected{background:#eef2ff;border-color:#818cf8}.supplier-picker-checkbox{align-items:flex-start;display:flex;padding-top:2px}.supplier-picker-checkbox input{height:16px;width:16px}.supplier-picker-meta{color:#64748b;font-size:12px}.invoice-description,.invoice-supplier{grid-column:1/-1}.service-accounts-modal{width:min(980px,100%)}.finance-minimum-modal{width:min(720px,100%)}.finance-minimum-body{padding:0 24px 24px}.finance-minimum-message{align-items:flex-start;color:#1f2937;display:flex;gap:12px;justify-content:space-between}.finance-minimum-message p{line-height:1.5;margin:0}.finance-minimum-detail-button{flex:0 0 auto}.service-accounts-modal-body{grid-gap:12px;display:grid;gap:12px;padding:0 24px 24px}.service-accounts-table .obras-row{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) minmax(0,2fr) minmax(0,.8fr)}.service-accounts-table .obras-row>span{min-width:0}.finance-minimum-table .obras-row{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1.8fr) minmax(0,.8fr) minmax(0,.7fr)}.service-accounts-notes{white-space:normal;word-break:break-word}.invoice-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;display:flex;flex-direction:column;gap:12px;padding:16px}.invoice-attachment-upload{align-items:center;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;color:#0f172a;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;justify-content:center;overflow:hidden;position:relative}.invoice-attachment-upload input{cursor:pointer;inset:0;opacity:0;position:absolute}.invoice-attachment-upload span{padding:10px 14px}.invoice-attachments-list{grid-gap:10px;display:grid;gap:10px}.invoice-attachment-chip{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.invoice-attachment-chip-info{grid-gap:2px;display:grid;gap:2px}.invoice-attachment-chip-info strong{color:#0f172a;font-size:14px}.invoice-attachment-chip-info span{color:#64748b;font-size:12px}.invoice-attachments-modal{width:min(1100px,96vw)}.invoice-attachments-body{grid-gap:16px;display:grid;gap:16px;padding:0 24px 24px}.invoice-attachments-summary{grid-gap:4px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:4px;padding:14px 16px}.invoice-attachments-summary strong{color:#0f172a}.invoice-attachments-summary span{color:#64748b;font-size:13px}.invoice-attachment-preview{grid-gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;display:grid;gap:12px;padding:16px}.invoice-attachment-preview-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.invoice-attachment-preview-header div{grid-gap:2px;display:grid;gap:2px}.invoice-attachment-preview-header strong{color:#0f172a}.invoice-attachment-preview-header span{color:#64748b;font-size:12px}.invoice-attachment-preview-header a{color:#2563eb;font-size:13px;font-weight:600}.invoice-attachment-image{background:#f8fafc;border-radius:12px;max-height:70vh;object-fit:contain;width:100%}.invoice-attachment-frame{background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-height:70vh;width:100%}.invoice-section-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.invoice-allocation-title{display:flex;flex-direction:column;gap:2px}.invoice-allocation-title h4{color:#0f172a;font-size:15px;margin:0}.invoice-allocation-subtitle{color:#64748b;font-size:12px}.invoice-table{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.invoice-table table{border-collapse:collapse;width:100%}.invoice-table td,.invoice-table th{border-bottom:1px solid #e2e8f0;font-size:13px;padding:10px 12px;text-align:left}.invoice-table th{background:#f1f5f9;color:#0f172a;font-weight:600}.invoice-table tbody tr:last-child td{border-bottom:none}.invoice-table input,.invoice-table select{min-width:120px;width:100%}.payment-modal .invoice-table{-webkit-overflow-scrolling:touch;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;width:100%}.payment-modal .invoice-section{min-width:0}.payment-modal .invoice-section,.payment-modal .modal-actions{box-sizing:border-box;max-width:var(--payment-content-width);width:100%}.payment-modal .invoice-table table{min-width:calc(96ch + 200px)}.payment-modal .invoice-table td:first-child,.payment-modal .invoice-table th:first-child{width:24ch}.payment-modal .invoice-table td:nth-child(2),.payment-modal .invoice-table th:nth-child(2){width:7ch}.payment-modal .invoice-table td:nth-child(3),.payment-modal .invoice-table td:nth-child(4),.payment-modal .invoice-table td:nth-child(5),.payment-modal .invoice-table td:nth-child(6),.payment-modal .invoice-table td:nth-child(7),.payment-modal .invoice-table th:nth-child(3),.payment-modal .invoice-table th:nth-child(4),.payment-modal .invoice-table th:nth-child(5),.payment-modal .invoice-table th:nth-child(6),.payment-modal .invoice-table th:nth-child(7){width:13ch}.payment-allocation-input{-webkit-appearance:textfield;appearance:textfield;background:#fff;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;color:#0f172a;font-size:14px;line-height:1.2;min-width:calc(15ch + 24px);padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.payment-modal .invoice-table td,.payment-modal .invoice-table th{font-size:12px;padding:8px 10px}.payment-allocation-text{color:#0f172a;display:inline-block;font-size:12px;white-space:nowrap}.payment-allocation-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.payment-allocation-input:disabled{background:#f8fafc;border-color:#e2e8f0;color:#64748b;cursor:not-allowed}.invoice-allocation-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:12px}.invoice-allocation-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.invoice-allocation-header label{flex:1 1}.invoice-diff{color:#b45309;font-size:13px;font-weight:600}.invoice-diff.ok{color:#15803d}.invoice-diff.error{color:#b91c1c}.invoice-diff.total{align-self:flex-end}.payment-allocation-hint{color:#475569;font-size:13px}.payment-allocation-hint-error{color:#b91c1c;font-weight:600}.invoice-draft-tag{align-items:center;background:#ffedd5;border-radius:999px;color:#c2410c;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;padding:4px 8px;text-transform:lowercase}@media (max-width:900px){.invoice-filters,.invoice-grid,.payment-filters{grid-template-columns:1fr}.payment-modal{max-height:calc(100vh - 16px);width:min(100vw - 16px,100%)}.payment-grid{grid-template-columns:1fr;justify-content:stretch;width:100%}.payment-grid-row,.payment-grid-row-middle,.payment-grid-row-top{flex-direction:column;justify-content:flex-start}.payment-field-description,.payment-field-due-date,.payment-field-installments,.payment-field-paid-at,.payment-field-supplier{grid-column:1;grid-row:auto;margin-left:0}.payment-values-row{grid-column:1;grid-row:auto;grid-template-columns:1fr;width:100%}.payment-values-row label{width:100%}.payment-field-description,.payment-field-due-date,.payment-field-fine,.payment-field-installment-sum,.payment-field-installments,.payment-field-interest,.payment-field-invoice-number,.payment-field-paid-at,.payment-field-principal,.payment-field-supplier{grid-column:1}.invoice-attachment-chip,.invoice-attachment-preview-header{align-items:stretch;flex-direction:column}.modal.note-modal .note-field-date,.modal.note-modal .note-field-document-number,.modal.note-modal .note-field-document-type,.modal.note-modal .note-field-observation,.modal.note-modal .note-field-supplier,.modal.note-modal .note-field-value{grid-column:1}.invoices-table .obras-row{gap:6px;grid-template-columns:1fr}.invoice-table td,.invoice-table th{font-size:12px}}.sinapi-file-input{display:none}.sinapi-panel-shell{display:flex;flex-direction:column;gap:24px}.sinapi-analytical-section,.sinapi-entry-detail,.sinapi-header-actions,.sinapi-search-form,.sinapi-section-header,.sinapi-variant-list{display:flex;gap:12px}.sinapi-search-form,.sinapi-section-header{align-items:flex-end;justify-content:space-between}.sinapi-analytical-section,.sinapi-entry-detail,.sinapi-header-actions,.sinapi-variant-list{flex-direction:column}.sinapi-competencies-table .obras-row{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr) auto}.sinapi-competence-main,.sinapi-competence-summary,.sinapi-result-main{display:flex;flex-direction:column;gap:4px}.sinapi-competence-main small,.sinapi-competence-summary small,.sinapi-entry-meta span,.sinapi-result-main small,.sinapi-uf-item small,.sinapi-variant-card header span{color:#64748b}.sinapi-search-form label{display:flex;flex:1 1;flex-direction:column;gap:6px}.sinapi-analytical-table,.sinapi-results-table,.sinapi-variant-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.sinapi-result-row{background:#fff;border:none;cursor:pointer;text-align:left;width:100%}.sinapi-result-row.active{background:#eff6ff}.sinapi-entry-detail{min-height:100%}.sinapi-analytical-header,.sinapi-entry-detail-header,.sinapi-entry-meta,.sinapi-variant-card header{display:flex;gap:12px;justify-content:space-between}.sinapi-entry-detail-header{align-items:flex-start}.sinapi-analytical-header h4,.sinapi-entry-detail-header h3,.sinapi-variant-card h4{margin:0}.sinapi-entry-type{color:#2563eb;font-size:12px;font-weight:700;letter-spacing:.08em;margin:0 0 4px;text-transform:uppercase}.sinapi-entry-meta{flex-wrap:wrap}.sinapi-variant-card{padding:16px}.sinapi-uf-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.sinapi-uf-item{background:#f8fafc;border-radius:12px;display:flex;flex-direction:column;gap:2px;padding:10px 12px}.sinapi-analytical-table .obras-row{grid-template-columns:minmax(0,.8fr) minmax(0,.8fr) minmax(0,2fr) minmax(0,.8fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1fr)}.sinapi-workspace{background:linear-gradient(180deg,#eff6ffbf,#fffffff5),#fff;border:1px solid #dbe4f0;border-radius:24px;display:flex;flex-direction:column;gap:16px;padding:24px}.sinapi-breadcrumb,.sinapi-column-header,.sinapi-item-inspector-grid,.sinapi-workspace-header{display:flex;gap:12px}.sinapi-column-header,.sinapi-workspace-header{align-items:center;justify-content:space-between}.sinapi-column-header h3,.sinapi-item-inspector h3,.sinapi-workspace-header h2{margin:0}.sinapi-breadcrumb{flex-wrap:wrap;justify-content:flex-end}.sinapi-breadcrumb span{background:#e2e8f0;border-radius:999px;color:#475569;font-size:12px;font-weight:600;padding:8px 12px}.sinapi-breadcrumb span.active{background:#dbeafe;color:#1d4ed8}.sinapi-explorer-columns{grid-gap:16px;display:grid;gap:16px;grid-template-columns:280px 320px minmax(360px,1.1fr) minmax(280px,.95fr) minmax(260px,.8fr);overflow-x:auto;padding-bottom:6px}.sinapi-column{background:#ffffffeb;border:1px solid #dbe4f0;border-radius:20px;box-shadow:0 14px 32px #0f172a0d;display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px}.sinapi-column-header span{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sinapi-column-scroll{display:flex;flex-direction:column;gap:10px;max-height:72vh;min-height:320px;overflow-y:auto;padding-right:4px}.sinapi-item-inspector,.sinapi-nav-card{background:#f8fafc;border:1px solid #dbe4f0;border-radius:16px;display:flex;flex-direction:column;gap:6px;padding:14px}.sinapi-nav-card{cursor:pointer;text-align:left;width:100%}.sinapi-nav-card:hover{background:#eff6ff;border-color:#93c5fd}.sinapi-nav-card.active{background:linear-gradient(180deg,#eff6ff,#dbeafe);border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb14}.sinapi-item-inspector p,.sinapi-nav-card p{color:#334155;line-height:1.45;margin:0}.sinapi-panel-empty{align-items:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;display:flex;justify-content:center;min-height:180px;padding:24px;text-align:center}.sinapi-search-compact{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}.sinapi-search-compact .kanban-add{width:100%}.sinapi-column-detail .sinapi-column-scroll,.sinapi-column-item-detail .sinapi-column-scroll{overflow-y:auto}.sinapi-item-inspector-grid{flex-wrap:wrap}.sinapi-item-inspector-grid>div{display:flex;flex-direction:column;gap:4px;min-width:120px}.sinapi-item-inspector-grid strong{color:#64748b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}@media (max-width:900px){.sinapi-analytical-header,.sinapi-entry-detail-header,.sinapi-search-form,.sinapi-section-header,.sinapi-variant-card header,.sinapi-workspace-header{align-items:stretch;flex-direction:column}.sinapi-analytical-table .obras-row,.sinapi-competencies-table .obras-row,.sinapi-explorer-columns{grid-template-columns:1fr}.sinapi-column-scroll{max-height:none}}.sinapi-browser-shell{display:flex;flex-direction:column;gap:16px}.sinapi-browser-header h1,.sinapi-browser-header p{margin-top:8px}.sinapi-browser-filters{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,1.8fr) minmax(160px,.6fr) minmax(220px,.8fr) auto}.sinapi-browser-filters-compact{grid-template-columns:minmax(0,1fr) auto}.sinapi-browser-filters label{color:#64748b;display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:6px}.sinapi-browser-filters input,.sinapi-browser-filters select,.sinapi-modal-filters select{background:#fff;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;color:#0f172a;font-size:14px;padding:12px 14px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;width:100%}.sinapi-browser-filters input:focus,.sinapi-browser-filters select:focus,.sinapi-modal-filters select:focus{border-color:#93c5fd;box-shadow:0 0 0 4px #93c5fd47;outline:none}.sinapi-search-button{align-self:end;height:44px;min-width:44px;width:44px}.sinapi-composition-table-wrap{overflow-x:auto}.sinapi-insumo-table-wrap{overflow-x:auto;width:100%}.sinapi-composition-picker-table{min-width:1120px}.sinapi-insumo-picker-table{min-width:1220px}.sinapi-composition-picker-table .selection-col{min-width:28px;padding-left:6px;padding-right:6px;text-align:center;width:28px}.sinapi-composition-picker-table td:first-child,.sinapi-composition-picker-table th:first-child{min-width:28px;text-align:center;width:28px}.sinapi-composition-picker-table .selection-col input[type=radio]{margin:0}.sinapi-insumo-picker-table .selection-col{padding-left:6px;padding-right:6px}.sinapi-insumo-picker-table .selection-col,.sinapi-insumo-picker-table td:first-child,.sinapi-insumo-picker-table th:first-child{min-width:28px;text-align:center;width:28px}.sinapi-insumo-picker-table .selection-col input[type=radio]{margin:0}.sinapi-insumo-toolbar{align-items:end;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}.sinapi-insumo-search-field{flex:0 1 360px;min-width:260px}.sinapi-insumo-picker-extra-action{margin:0}.sinapi-inline-action-button{background:#0f172a;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;min-height:44px;padding:8px 12px}.budget-custom-insumo-modal{width:min(640px,100%)}.budget-custom-insumo-form{grid-gap:16px;display:grid;gap:16px;padding:0 24px 24px}.budget-custom-insumo-form label{grid-gap:6px;color:#475569;display:grid;font-size:13px;font-weight:600;gap:6px}.budget-custom-insumo-form input{background:#fff;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;color:#0f172a;font-size:14px;padding:12px 14px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;width:100%}.budget-custom-insumo-form input:focus{border-color:#93c5fd;box-shadow:0 0 0 4px #93c5fd47;outline:none}.sinapi-browser-table .obras-row{grid-template-columns:minmax(0,.7fr) minmax(0,2.4fr) minmax(0,.7fr) minmax(0,.7fr) minmax(0,.8fr)}.sinapi-browser-row-button{background:#fff;border:none;cursor:pointer;text-align:left;width:100%}.sinapi-browser-row-button:hover{background:#eff6ff}.sinapi-composition-modal,.sinapi-insumo-modal{width:min(1360px,100%)}.sinapi-composition-modal-body{display:flex;flex-direction:column;gap:16px;padding:0 24px 24px}.sinapi-composition-summary-card{grid-gap:16px;background:#f8fafc;border:1px solid #dbe4f0;border-radius:16px;display:grid;gap:16px;padding:16px}.sinapi-modal-filters{align-items:end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.sinapi-modal-filters label{grid-gap:6px;color:#64748b;display:grid;font-size:12px;font-weight:600;gap:6px;min-width:140px}.sinapi-modal-regime{grid-gap:4px;color:#475569;display:grid;gap:4px}@media (max-width:900px){.sinapi-browser-filters,.sinapi-browser-table .obras-row{grid-template-columns:1fr}}.obra-third-party-tag{align-items:center;background:#eff6ff;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:12px;font-weight:600;gap:6px;margin-top:4px;padding:4px 10px}.manage-context .obra-third-party-tag{margin-left:12px;margin-top:0}.obra-share-modal{width:min(560px,100%)}.obra-share-summary{grid-gap:10px;background:#f8fafc;border:1px solid #dbe4f0;border-radius:16px;color:#334155;display:grid;font-size:14px;gap:10px;padding:16px}.obra-share-modal .invoice-form{grid-gap:16px;display:grid;gap:16px}.obra-share-modal label{grid-gap:6px;color:#475569;display:grid;font-size:13px;font-weight:600;gap:6px}.obra-share-modal input,.obra-share-modal select{background:#fff;border:1px solid #d1d5db;border-radius:12px;box-sizing:border-box;color:#0f172a;font-size:14px;padding:12px 14px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;width:100%}.obra-share-modal input:focus,.obra-share-modal select:focus{border-color:#93c5fd;box-shadow:0 0 0 4px #93c5fd47;outline:none}.share-search-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr 42px}.share-search-button{align-items:center;background:#16a34a;border:1px solid #16a34a;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;height:42px;justify-content:center;width:42px}.share-search-button i{color:#fff}.share-search-button:disabled{cursor:not-allowed;opacity:.65}.share-search-button:disabled i{color:#fff;opacity:1}.modal-actions .share-submit-button:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed;opacity:1}.share-limit-error{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.share-limit-error p{margin:0}.share-upgrade-button{background:#2563eb;border:1px solid #2563eb;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:700;padding:8px 14px;width:-webkit-fit-content;width:fit-content}.share-upgrade-button:hover{background:#1d4ed8;border-color:#1d4ed8}.share-list,.share-target-card{grid-gap:8px;background:#fff;border:1px solid #dbe4f0;border-radius:8px;display:grid;gap:8px;padding:12px}.share-list-item small,.share-target-card small,.share-target-card span{color:#64748b;font-size:12px}.share-list-item{grid-gap:10px;align-items:center;border-top:1px solid #eef2f7;display:grid;gap:10px;grid-template-columns:1fr auto;padding-top:8px}.share-list-item span{grid-gap:2px;display:grid;gap:2px}.share-stop-button{align-items:center;background:#fff;border:none;border-radius:10px;color:#ef4444;cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.share-stop-button:hover:not(:disabled){background:#fee2e2}.share-stop-button:disabled{cursor:not-allowed;opacity:.55}.obra-share-invite-card{grid-gap:20px;background:#fff;border:1px solid #dbe4f0;border-radius:20px;box-shadow:0 18px 50px #0f172a14;display:grid;gap:20px;padding:24px}.obra-share-invite-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.obra-share-invite-grid>div{grid-gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;display:grid;gap:6px;padding:16px}.obra-share-invite-label{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}@media (max-width:720px){.obra-share-invite-grid{grid-template-columns:1fr}.manage-context .obra-third-party-tag{display:flex;margin-left:0;margin-top:8px}}.marketplace-panel{display:flex;flex-direction:column;gap:18px}.marketplace-header{align-items:flex-end}.marketplace-header-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.marketplace-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.marketplace-add-card,.marketplace-card{background:#fff;border:1px solid #d9e2ec;border-radius:8px;min-height:390px;overflow:hidden}.marketplace-add-card{align-items:center;color:#2563eb;cursor:pointer;display:flex;flex-direction:column;font-weight:700;gap:10px;justify-content:center}.marketplace-add-card i{background:#e8f1ff;border-radius:50%;display:grid;font-size:1.5rem;height:54px;place-items:center;width:54px}.marketplace-card{box-shadow:0 12px 28px #0f172a14;contain:layout paint;display:flex;flex-direction:column}.marketplace-card-open{background:#0000;border:0;color:inherit;cursor:pointer;display:flex;flex:1 1;flex-direction:column;min-width:0;padding:0;text-align:left;width:100%}.marketplace-card-image{background:#eef2f7;color:#64748b;display:grid;flex:0 0 190px;font-size:2rem;height:190px;max-height:190px;overflow:hidden;place-items:center;position:relative;width:100%}.marketplace-card-image img{display:block;height:100%;max-width:none;min-height:100%;min-width:100%;object-fit:cover;object-position:center;width:100%}.marketplace-carousel-button{background:#0f172ac2;border:0;border-radius:50%;color:#fff;cursor:pointer;display:grid;height:34px;place-items:center;position:absolute;top:50%;transform:translateY(-50%);width:34px;z-index:3}.marketplace-carousel-button.previous{left:10px}.marketplace-carousel-button.next{right:10px}.marketplace-carousel-dots{bottom:10px;display:flex;gap:6px;left:50%;position:absolute;transform:translateX(-50%);z-index:3}.marketplace-carousel-dots button{background:#ffffff9e;border:0;border-radius:50%;cursor:pointer;height:8px;padding:0;width:8px}.marketplace-carousel-dots button.active{background:#fff}.marketplace-card-image span{background:#0f172a;border-radius:6px;color:#fff;font-size:.75rem;font-weight:700;left:12px;padding:5px 9px;position:absolute;top:12px}.marketplace-card-body{background:#fff;display:flex;flex:1 0 auto;flex-direction:column;gap:8px;min-width:0;padding:14px;position:relative;z-index:1}.marketplace-card-body strong{color:#0f172a;font-size:1.02rem}.marketplace-card-body p,.marketplace-card-body small{color:#64748b;margin:0;overflow-wrap:anywhere}.marketplace-card-price{color:#047857;font-size:1.1rem;font-weight:800}.marketplace-card-specs{display:flex;flex-wrap:wrap;gap:7px}.marketplace-card-specs span{background:#f8fafc;border:1px solid #dbe4ee;border-radius:6px;color:#334155;font-size:.78rem;padding:5px 8px}.marketplace-card-costs{color:#475569;display:flex;flex-wrap:wrap;font-size:.82rem;gap:7px}.marketplace-card-costs span{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:6px;padding:5px 8px}.marketplace-card-private{border-top:1px solid #e5edf5;display:flex;flex-direction:column;gap:10px;padding:10px}.marketplace-url-copy{align-items:stretch;display:flex;gap:8px}.marketplace-url-copy input{flex:1 1;min-width:0}.marketplace-contact-item a,.marketplace-contact-item button,.marketplace-url-copy button{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#0f172a;cursor:pointer;display:inline-flex;justify-content:center;min-height:38px;min-width:38px;text-decoration:none;width:38px}.marketplace-contact-item .marketplace-whatsapp-link{background:#0000;border:0;border-radius:0;color:#16a34a;font-size:1.35rem}.marketplace-copy-label{color:#334155;display:flex;flex-direction:column;font-weight:600;gap:6px}.marketplace-form{display:flex;flex-direction:column;gap:16px}.obras-title-with-help{align-items:center;display:flex;gap:10px}.green-help-button{background:#16a34a;border:0;border-radius:50%;box-shadow:0 5px 12px #16a34a2e;color:#fff;cursor:pointer;display:inline-grid;flex:0 0 auto;font-size:12px;height:22px;place-items:center;width:22px}.green-help-button:hover{background:#15803d}.organization-info-modal{max-height:calc(100vh - 40px);width:min(980px,calc(100vw - 32px))}.organization-info-image{background:#f8fafc;border:1px solid #d9e2ec;border-radius:8px;max-height:calc(100vh - 150px);object-fit:contain;width:100%}.marketplace-config-grid,.marketplace-listing-grid{align-items:end}.marketplace-photo-field{grid-row:span 2}.marketplace-photo-control{align-items:center;display:flex;gap:14px}.marketplace-photo-preview{background:#f8fafc;border:1px solid #d9e2ec;border-radius:50%;color:#64748b;display:grid;flex:0 0 auto;height:86px;overflow:hidden;place-items:center;width:86px}.marketplace-photo-preview img{height:100%;object-fit:cover;width:100%}.marketplace-listing-grid .wide-field{grid-column:1/-1}.marketplace-image-order{display:flex;flex-direction:column;gap:10px}.marketplace-image-order-header{display:flex;flex-direction:column;gap:3px}.marketplace-image-order-header strong{color:#0f172a;font-size:14px}.marketplace-image-order-header small{color:#64748b;font-size:12px}.marketplace-image-strip{display:flex;flex-wrap:wrap;gap:12px}.marketplace-image-chip{background:#f8fafc;border:1px solid #d9e2ec;border-radius:8px;color:#64748b;cursor:grab;display:grid;height:92px;overflow:hidden;place-items:center;position:relative;transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease;width:132px}.marketplace-image-chip.dragging{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb2e;opacity:.72}.marketplace-image-chip img{height:100%;object-fit:cover;width:100%}.marketplace-image-chip>i{font-size:26px}.marketplace-image-position{border-radius:999px;font-weight:700;left:6px;line-height:1;min-width:24px;place-items:center}.marketplace-image-drag-handle,.marketplace-image-position{background:#0f172ac7;color:#fff;display:grid;font-size:12px;height:24px;position:absolute;top:6px}.marketplace-image-drag-handle{border-radius:50%;place-items:center;right:6px;width:24px}.marketplace-image-chip-actions{bottom:6px;display:flex;gap:5px;justify-content:flex-end;left:6px;position:absolute;right:6px}.marketplace-image-chip-actions button{background:#0f172ad1;border:0;border-radius:50%;color:#fff;cursor:pointer;height:26px;width:26px}.marketplace-image-chip-actions button:disabled{cursor:not-allowed;opacity:.45}.public-marketplace{background:#f5f7fb;color:#0f172a;min-height:100vh;padding:28px}.public-marketplace-brand{align-items:center;color:#0f172a;display:inline-flex;font-weight:800;gap:10px;letter-spacing:0;text-decoration:none}.public-marketplace-brand img{height:70px;object-fit:contain;width:70px}.public-marketplace-brand span{font-size:1.05rem}.public-marketplace-header{grid-gap:24px;align-items:end;background:#fff;border:1px solid #dbe4ee;border-radius:8px;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(280px,420px);margin:0 auto 24px;max-width:1160px;padding:24px}.public-marketplace-header-link{color:inherit;cursor:pointer;text-decoration:none}.public-marketplace-header-link:focus-visible{outline:3px solid #2563eb59;outline-offset:3px}.public-marketplace-title-block{align-items:center;display:flex;gap:20px;min-width:0}.public-marketplace-profile-photo{background:#f1f5f9;border:1px solid #dbe4ee;border-radius:50%;color:#64748b;display:grid;flex:0 0 104px;font-size:2.4rem;height:104px;overflow:hidden;place-items:center;width:104px}.public-marketplace-profile-photo img{height:100%;object-fit:cover;width:100%}.public-marketplace-title-copy{min-width:0}.public-listing-summary h1,.public-marketplace-header h1{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:0;margin:0 0 8px}.public-listing-summary p,.public-marketplace-header p{color:#475569;font-size:1.05rem;margin:0}.marketplace-contact-list{display:flex;flex-direction:column;gap:8px}.marketplace-contact-item{grid-gap:8px;align-items:center;color:#334155;display:grid;gap:8px;grid-template-columns:22px minmax(0,1fr) auto}.marketplace-contact-item span{overflow-wrap:anywhere}.public-marketplace-grid{margin:0 auto;max-width:1160px}.public-listing-description,.public-listing-hero{background:#fff;border:1px solid #dbe4ee;border-radius:8px;margin:0 auto 22px;max-width:1160px}.public-listing-hero{overflow:hidden}.public-listing-content{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.public-listing-carousel{background:#e2e8f0;display:flex;flex-direction:column;gap:8px;min-width:0;padding:6px}.public-listing-main-image,.public-listing-placeholder{aspect-ratio:4/3;background:#cbd5e1;display:block;overflow:hidden;position:relative;width:100%}.public-listing-main-image{background:#0f172a}.public-listing-main-image img{display:block;height:100%;object-fit:contain;object-position:center;width:100%}.public-listing-thumbs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(76px,1fr))}.public-listing-thumbs button{background:#cbd5e1;border:2px solid #0000;border-radius:6px;cursor:pointer;height:68px;overflow:hidden;padding:0}.public-listing-thumbs button.active{border-color:#2563eb}.public-listing-thumbs img{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.public-listing-placeholder{color:#64748b;display:grid;font-size:3rem;place-items:center}.public-listing-summary{display:flex;flex-direction:column;gap:16px;padding:24px}.public-listing-summary strong{color:#047857;font-size:1.55rem}.public-listing-location{color:#475569;display:block;font-size:.95rem;font-weight:700;margin-top:-8px}.marketplace-back-link{color:#2563eb;font-weight:700;text-decoration:none}.public-listing-costs{color:#475569;display:flex;flex-wrap:wrap;gap:10px}.public-listing-description{padding:24px}.public-listing-description p{color:#334155;line-height:1.7;white-space:pre-wrap}.public-marketplace-footer-brand{align-items:center;background:#fff;border:1px solid #dbe4ee;border-radius:8px;display:flex;justify-content:center;margin:22px auto 0;max-width:1160px;padding:24px}.marketplace-disclaimer{color:#64748b;font-size:.88rem;margin:12px auto 0;max-width:1160px;text-align:center}.public-marketplace-empty,.public-marketplace-loading{display:grid;place-items:center}@media (max-width:820px){.public-marketplace{padding:14px}.public-listing-content,.public-marketplace-header{grid-template-columns:1fr}.public-marketplace-title-block{align-items:flex-start}.public-marketplace-profile-photo{flex-basis:88px;height:88px;width:88px}.public-listing-thumbs{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}}
/*# sourceMappingURL=main.1b1b14a6.css.map*/