@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";.gantt .grid-background{fill:none}.gantt .grid-header{fill:#fff;stroke:#e0e0e0;stroke-width:1.4}.gantt .grid-row{fill:#fff}.gantt .grid-row:nth-child(2n){fill:#f5f5f5}.gantt .row-line{stroke:#ebeff2}.gantt .tick{stroke:#e0e0e0;stroke-width:.2}.gantt .tick.thick{stroke-width:.4}.gantt .today-highlight{fill:#fcf8e3;opacity:.5}.gantt .arrow{fill:none;stroke:#666;stroke-width:1.4}.gantt .bar{fill:#b8c2cc;stroke:#8d99a6;stroke-width:0;transition:stroke-width .3s ease;-webkit-user-select:none;user-select:none}.gantt .bar-progress{fill:#a3a3ff}.gantt .bar-invalid{fill:transparent;stroke:#8d99a6;stroke-width:1;stroke-dasharray:5}.gantt .bar-invalid~.bar-label{fill:#555}.gantt .bar-label{fill:#fff;dominant-baseline:central;text-anchor:middle;font-size:12px;font-weight:lighter}.gantt .bar-label.big{fill:#555;text-anchor:start}.gantt .handle{fill:#ddd;cursor:ew-resize;opacity:0;visibility:hidden;transition:opacity .3s ease}.gantt .bar-wrapper{cursor:pointer;outline:none}.gantt .bar-wrapper:hover .bar{fill:#a9b5c1}.gantt .bar-wrapper:hover .bar-progress{fill:#8a8aff}.gantt .bar-wrapper:hover .handle{visibility:visible;opacity:1}.gantt .bar-wrapper.active .bar{fill:#a9b5c1}.gantt .bar-wrapper.active .bar-progress{fill:#8a8aff}.gantt .lower-text,.gantt .upper-text{font-size:12px;text-anchor:middle}.gantt .upper-text{fill:#555}.gantt .lower-text{fill:#333}.gantt .hide{display:none}.gantt-container{position:relative;overflow:auto;font-size:12px}.gantt-container .popup-wrapper{position:absolute;top:0;left:0;background:#000c;padding:0;color:#959da5;border-radius:3px}.gantt-container .popup-wrapper .title{border-bottom:3px solid #a3a3ff;padding:10px}.gantt-container .popup-wrapper .subtitle{padding:10px;color:#dfe2e5}.gantt-container .popup-wrapper .pointer{position:absolute;height:5px;margin:0 0 0 -5px;border:5px solid transparent;border-top-color:#000c}:root{--color-primary: #1677ff;--color-primary-hover: #4096ff;--color-primary-active: #0958d9;--color-primary-light: #e6f4ff;--color-secondary: #595959;--color-secondary-light: #f5f5f5;--color-success: #52c41a;--color-warning: #fa8c16;--color-danger: #ff4d4f;--color-info: #1890ff;--color-committente: #722ed1;--color-gc: #13c2c2;--color-professional: #fa541c;--text-primary: rgba(0, 0, 0, .88);--text-secondary: rgba(0, 0, 0, .65);--text-tertiary: rgba(0, 0, 0, .45);--text-disabled: rgba(0, 0, 0, .25);--bg-primary: #ffffff;--bg-secondary: #fafafa;--bg-tertiary: #f5f5f5;--bg-hover: #f0f0f0;--bg-selected: #e6f4ff;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 2px;--radius-base: 6px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-card: 0 2px 8px rgba(0, 0, 0, .09);--transition-fast: all .1s ease;--transition-base: all .2s ease;--transition-slow: all .3s ease}html{font-size:14px;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5715;color:var(--text-primary);background-color:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary);margin-bottom:.5em}h1{font-size:38px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.ant-card{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-card)!important;border:1px solid #f0f0f0!important;transition:var(--transition-base)}.ant-card:hover{box-shadow:var(--shadow-md)!important}.ant-card-head{background-color:var(--bg-primary)!important;border-bottom:1px solid #f0f0f0!important;padding:16px 24px!important}.ant-card-head-title{font-size:16px!important;font-weight:600!important}.ant-btn{border-radius:var(--radius-base)!important;font-weight:500!important;transition:var(--transition-base)!important;height:40px!important;padding:0 16px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important}.ant-btn-primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important;box-shadow:0 2px 4px #1677ff33!important}.ant-btn-primary:hover{background:var(--color-primary-hover)!important;border-color:var(--color-primary-hover)!important;box-shadow:0 4px 8px #1677ff4d!important}.ant-btn-sm{height:32px!important;padding:0 12px!important;font-size:14px!important}.ant-btn-lg{height:48px!important;padding:0 24px!important;font-size:16px!important}.ant-input,.ant-input-number,.ant-select-selector,.ant-picker{border-radius:var(--radius-base)!important;border-color:#d9d9d9!important;transition:var(--transition-base)!important;min-height:40px!important}.ant-input:hover,.ant-input-number:hover,.ant-select-selector:hover,.ant-picker:hover{border-color:var(--color-primary)!important}.ant-input:focus,.ant-input-number:focus,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:var(--color-primary)!important;box-shadow:0 0 0 2px #1677ff1a!important}.ant-table{background:var(--bg-primary)!important;border-radius:var(--radius-md)!important}.ant-table-thead>tr>th{background:var(--bg-tertiary)!important;font-weight:600!important;color:var(--text-primary)!important;border-bottom:2px solid #f0f0f0!important}.ant-table-tbody>tr:hover>td{background:var(--bg-hover)!important}.ant-table-tbody>tr>td{transition:var(--transition-fast)!important}.ant-modal{top:50px!important}.ant-modal-content{border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important}.ant-modal-header{background:var(--bg-primary)!important;border-bottom:1px solid #f0f0f0!important;border-radius:var(--radius-lg) var(--radius-lg) 0 0!important}.ant-modal-title{font-size:18px!important;font-weight:600!important}.ant-tag{border-radius:var(--radius-sm)!important;padding:2px 8px!important;font-size:12px!important;font-weight:500!important;border:none!important}.ant-progress-inner{border-radius:100px!important;background-color:#f0f0f0!important}.ant-progress-bg{border-radius:100px!important}.ant-menu-item-selected{background-color:var(--bg-selected)!important}.ant-menu-item:hover{background-color:var(--bg-hover)!important}.ant-tabs-tab{font-weight:500!important;color:var(--text-secondary)!important}.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--color-primary)!important;font-weight:600!important}.dashboard-card{height:100%;transition:var(--transition-base)}.dashboard-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)!important}.stat-card{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-tertiary) 100%);border-radius:var(--radius-md);padding:var(--spacing-lg)}.metric-value{font-size:32px;font-weight:700;color:var(--text-primary);line-height:1.2}.metric-label{font-size:14px;color:var(--text-secondary);margin-top:var(--spacing-xs)}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:100px;font-size:12px;font-weight:500}.status-badge.success{background-color:#f6ffed;color:var(--color-success);border:1px solid #b7eb8f}.status-badge.warning{background-color:#fff7e6;color:var(--color-warning);border:1px solid #ffd591}.status-badge.danger{background-color:#fff1f0;color:var(--color-danger);border:1px solid #ffb8b3}.status-badge.info{background-color:#e6f7ff;color:var(--color-info);border:1px solid #91d5ff}.user-type-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-base);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.user-type-badge.committente{background:linear-gradient(135deg,#f9f0ff,#efdbff);color:var(--color-committente);border:1px solid #d3adf7}.user-type-badge.gc{background:linear-gradient(135deg,#e6fffb,#b5f5ec);color:var(--color-gc);border:1px solid #87e8de}.user-type-badge.professional{background:linear-gradient(135deg,#fff7e6,#ffe7ba);color:var(--color-professional);border:1px solid #ffbb96}.responsive-grid{display:grid;gap:var(--spacing-md)}@media (min-width: 576px){.responsive-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.responsive-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 992px){.responsive-grid{grid-template-columns:repeat(4,1fr)}}.skeleton-loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8c8c8c}@media print{.ant-layout-sider,.ant-layout-header,.no-print{display:none!important}.ant-layout-content{margin:0!important;padding:0!important}body{background:#fff!important}}.fade-in{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-left{text-align:left!important}.mt-0{margin-top:0!important}.mt-1{margin-top:var(--spacing-xs)!important}.mt-2{margin-top:var(--spacing-sm)!important}.mt-3{margin-top:var(--spacing-md)!important}.mt-4{margin-top:var(--spacing-lg)!important}.mt-5{margin-top:var(--spacing-xl)!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:var(--spacing-xs)!important}.mb-2{margin-bottom:var(--spacing-sm)!important}.mb-3{margin-bottom:var(--spacing-md)!important}.mb-4{margin-bottom:var(--spacing-lg)!important}.mb-5{margin-bottom:var(--spacing-xl)!important}.p-0{padding:0!important}.p-1{padding:var(--spacing-xs)!important}.p-2{padding:var(--spacing-sm)!important}.p-3{padding:var(--spacing-md)!important}.p-4{padding:var(--spacing-lg)!important}.p-5{padding:var(--spacing-xl)!important}.w-100{width:100%!important}.h-100{height:100%!important}.d-none{display:none!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.align-center{align-items:center!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}@media (max-width: 768px){.ant-card-head-title{font-size:14px!important}.ant-table{font-size:12px!important}.ant-btn{height:36px!important;padding:0 12px!important}h1{font-size:28px}h2{font-size:24px}h3{font-size:20px}h4{font-size:18px}h5{font-size:16px}h6{font-size:14px}.metric-value{font-size:24px}.ant-layout-sider{position:fixed!important;height:100vh!important;z-index:1000!important}.mobile-hidden{display:none!important}.mobile-visible{display:block!important}}@media (min-width: 769px) and (max-width: 1024px){.tablet-hidden{display:none!important}.tablet-visible{display:block!important}}@media (prefers-contrast: high){.ant-btn-primary{background:#0050b3!important;border-color:#0050b3!important}.ant-card,.ant-table{border:2px solid #000!important}}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ant-btn:focus-visible,.ant-input:focus-visible,.ant-select:focus-visible{box-shadow:0 0 0 2px #1677ff33!important}.will-change-transform{will-change:transform}.hardware-accelerated{transform:translateZ(0);backface-visibility:hidden}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}
