.toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.toast{pointer-events:auto;background:#fff;border-radius:8px;align-items:center;gap:12px;min-width:300px;max-width:400px;padding:16px 20px;animation:.3s ease-out slideIn;display:flex;box-shadow:0 4px 12px #00000026}.toast.hiding{animation:.3s ease-out forwards slideOut}@keyframes slideIn{0%{opacity:0;transform:translate(calc(100% + 16px))}to{opacity:1;transform:translate(0)}}@keyframes slideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(400px)}}.toast-icon{flex-shrink:0;font-size:24px}.toast.success .toast-icon{color:#10b981}.toast.error .toast-icon{color:#ef4444}.toast.info .toast-icon{color:#3b82f6}.toast-content{flex:1}.toast-title{color:var(--text-primary);margin:0 0 4px;font-size:14px;font-weight:600}.toast-message{color:var(--text-secondary);margin:0;font-size:14px}.toast-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:20px;display:flex}.toast-close:hover{background:#0000000d}.app-modal-overlay{z-index:9999;background:#00000073;justify-content:center;align-items:center;padding:16px;animation:.15s app-modal-fade-in;display:flex;position:fixed;inset:0}@keyframes app-modal-fade-in{0%{opacity:0}to{opacity:1}}.app-modal{background:var(--bg-white);border-radius:12px;width:100%;max-width:400px;animation:.15s app-modal-slide-in;overflow:hidden;box-shadow:0 8px 40px #0000002e}@keyframes app-modal-slide-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.app-modal-header{align-items:center;gap:12px;padding:20px 20px 0;display:flex}.app-modal-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:700;display:flex}.app-modal-icon.alert{color:#d97706;background:#fef3c7}.app-modal-icon.confirm{color:#2563eb;background:#dbeafe}.app-modal-icon.danger{color:#dc2626;background:#fee2e2}.app-modal-title{color:var(--text-primary);margin:0;font-size:15px;font-weight:700}.app-modal-message{color:var(--text-secondary);white-space:pre-line;margin:0;padding:12px 20px 0;font-size:13.5px;line-height:1.55}.app-modal-actions{justify-content:flex-end;gap:8px;padding:20px;display:flex}.login-container{background:linear-gradient(145deg,#1b1f6e 0%,#006fb4 65%,#2bb5e8 100%);justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.login-card{background:var(--bg-white);border-radius:12px;width:100%;max-width:400px;overflow:hidden;box-shadow:0 16px 48px #00000047}.login-header{background:linear-gradient(145deg,#1b1f6e 0%,#22276b 100%);justify-content:center;align-items:center;padding:32px 24px;display:flex}.logo-container{justify-content:center;align-items:center;display:flex}.login-logo-img{width:180px;height:auto;display:block}.login-form{padding:28px 24px 24px}.login-form .form-group{margin-bottom:18px}.login-form .form-label{letter-spacing:.6px;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px;font-size:12px;font-weight:600}.login-form .form-input{border:1.5px solid var(--border-color);border-radius:8px;height:48px;padding:0 14px;font-size:16px;transition:border-color .2s,box-shadow .2s}.login-form .form-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #2bb5e826}.btn-block{letter-spacing:.3px;border-radius:8px;width:100%;height:48px;margin-top:8px;font-size:15px;font-weight:600}.error-message{color:#b91c1c;text-align:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.login-footer{background-color:var(--bg-main);text-align:center;border-top:1px solid var(--border-color);padding:14px 24px}.login-footer p{color:var(--text-secondary);margin:0;font-size:12px}@media (width>=480px){.login-container{padding:24px}.login-card{border-radius:16px}.login-header{padding:40px 32px}.login-logo-img{width:210px}.login-form{padding:36px 32px 28px}}.dashboard{max-width:1400px;margin:0 auto}.page-header h1{color:var(--text-primary);margin:0;font-size:28px;font-weight:600}.dashboard-filter-toggle{color:#0891b2;background:#f0f9ff;border:1.5px solid #bae6fd;border-radius:8px;align-items:center;gap:6px;height:40px;padding:0 14px;font-size:18px;transition:background .2s,border-color .2s;display:inline-flex;position:relative}.dashboard-filter-toggle:hover,.dashboard-filter-toggle.has-active{color:#006064;background:#e0f7fa;border-color:#00acc1}.date-range-group{gap:12px;display:flex}.date-range-group .form-group{flex:1;margin-bottom:0}.filters-card{margin-bottom:24px;display:none}.filters-card.filters-open{display:block}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:24px;display:grid}.metric-card{background:var(--bg-white);border-radius:12px;align-items:center;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 8px #00000014}.metric-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #0000001f}.metric-icon{border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;display:flex}.metric-content{flex-direction:column;flex:1;display:flex}.metric-label{color:var(--text-secondary);margin-bottom:4px;font-size:13px;font-weight:500}.metric-value{color:var(--text-primary);font-size:26px;font-weight:700}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:24px;display:grid}.chart-card,.financial-summary{padding:24px}.financial-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:20px;display:grid}.financial-item{flex-direction:column;gap:8px;display:flex}.financial-label{color:var(--text-secondary);font-size:14px;font-weight:500}.financial-value{color:var(--text-primary);align-items:center;gap:8px;font-size:22px;font-weight:700;display:flex}.financial-value.positive{color:var(--success)}.financial-value.negative{color:var(--error)}@media (width<=768px){.metrics-grid,.charts-grid,.financial-grid,.filters-grid{grid-template-columns:1fr}.date-range-group{flex-direction:column;gap:0;width:100%;min-width:0}.date-range-group .form-group{width:100%;min-width:0;margin-bottom:16px}.date-range-group .form-input{box-sizing:border-box;width:100%;min-width:0}.page-header h1{font-size:22px}}.scroll-hint-wrap{position:relative}.scroll-hint-inner{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;overflow-x:auto}.scroll-hint-btn{z-index:20;border:1px solid var(--border-color);cursor:pointer;width:30px;height:30px;color:var(--text-primary);background:#fff;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:15px;transition:background .15s,color .15s,box-shadow .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0000002e}.scroll-hint-btn:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 12px #00b8d459}.scroll-hint-left{left:-15px}.scroll-hint-right{right:-15px}.scroll-hint-wrap.tabs-wrap .scroll-hint-left{left:0}.scroll-hint-wrap.tabs-wrap .scroll-hint-right{right:0}@media (width<=768px){.scroll-hint-left{left:2px}.scroll-hint-right{right:2px}}.projects-page{max-width:1400px;margin:0 auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header-actions{align-items:center;gap:8px;display:flex}.page-header-actions .mobile-filter-toggle{color:#0891b2;background:#f0f9ff;border:1.5px solid #bae6fd;border-radius:8px;justify-content:center;align-items:center;height:40px;padding:0 12px;font-size:18px;transition:background .2s,border-color .2s;display:none;position:relative}.page-header-actions .mobile-filter-toggle:hover,.page-header-actions .mobile-filter-toggle.has-active{color:#006064;background:#e0f7fa;border-color:#00acc1}.filter-active-dot{background:#f59e0b;border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.filters-section{flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:20px;display:flex}.search-box{border:1px solid var(--border-color);background:#fff;border-radius:6px;flex:1;align-items:center;gap:8px;min-width:300px;padding:0 12px;transition:border-color .2s;display:flex}.search-box:focus-within{border-color:var(--primary-color)}.search-icon{color:var(--text-secondary);pointer-events:none;flex-shrink:0;font-size:18px}.search-input{appearance:none;background:0 0;flex:1;min-width:0;padding:10px 0;font-size:14px;box-shadow:none!important;border:none!important;outline:none!important}.search-input:focus,.search-input:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.filter-group{align-items:center;gap:8px;display:flex}.filter-icon{color:var(--text-secondary);font-size:18px}.filter-select{border:1px solid var(--border-color);cursor:pointer;border-radius:6px;padding:10px 12px;font-size:14px}.filter-select:focus{border-color:var(--primary-color);outline:none}td.positive{color:var(--success);font-weight:600}td.negative{color:var(--error);font-weight:600}.empty-state{text-align:center;color:var(--text-secondary);padding:60px 20px}.modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.clickable-row{cursor:pointer}.status-badge-select{cursor:pointer;background-image:none;border:1px solid #0000;border-radius:12px;min-width:120px;padding:4px 10px;font-size:12px;font-weight:600}.status-badge-select:focus{outline:none;box-shadow:0 0 0 2px #0000001a}.status-badge-select.badge-orcamento{color:#856404;background-color:#fff3cd;border-color:#ffc10733}.status-badge-select.badge-aprovado{color:#6a1b9a;background-color:#ede7f6;border-color:#9c27b033}.status-badge-select.badge-andamento{color:#004085;background-color:#cce5ff;border-color:#2196f333}.status-badge-select.badge-finalizado{color:#155724;background-color:#d4edda;border-color:#4caf5033}.btn-icon{cursor:pointer;width:32px;height:32px;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:inline-flex}.btn-icon:hover{background:var(--background-secondary);transform:translateY(-1px)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#d32f2f;transform:translateY(-1px)}.modal-delete{max-width:500px}.modal-body{padding:20px 0}.delete-warning{text-align:center}.delete-icon{color:var(--error);margin-bottom:16px;font-size:48px}.delete-message{color:var(--text-secondary);margin-bottom:12px;font-size:16px}.delete-project-name{background:var(--background-secondary);border-radius:8px;margin:16px 0;padding:16px;font-size:18px}.delete-project-name strong{color:var(--text-primary);font-size:20px}.delete-location{color:var(--text-secondary);font-size:14px}.delete-warning-text{color:var(--error);border-left:3px solid var(--error);background:#ffebee;border-radius:6px;margin-top:16px;padding:12px;font-size:14px}@media (width<=768px){.page-header{flex-direction:row;align-items:center}.page-header-actions .mobile-filter-toggle{display:inline-flex}.filters-section{flex-direction:column;gap:10px;display:none}.filters-section.filters-open{display:flex}.search-box{min-width:unset;width:100%}table{min-width:600px}.modal-delete{max-width:calc(100vw - 32px)}}@media (width<=480px){.page-header h1{font-size:20px}.btn{padding:8px 14px;font-size:13px}}.tab-navigation{border-bottom:2px solid var(--border-color);gap:8px;margin-bottom:24px;display:flex}.tab-button{cursor:pointer;color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-2px;padding:12px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.tab-button:hover{color:var(--primary-color);background:var(--hover-bg)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-icon{align-items:center;font-size:16px;display:flex}.tab-nav-wrap{margin-bottom:24px;position:relative}.tab-nav-wrap .scroll-hint-wrap,.tab-nav-wrap .tab-navigation{margin-bottom:0}.tab-nav-wrap .scroll-hint-left{top:50%;left:0}.tab-nav-wrap .scroll-hint-right{top:50%;right:0}@media (width<=768px){.tab-button{padding:10px 14px;font-size:13px}}.pdf-loader-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pdf-loader-modal{background:#fff;border-radius:12px;width:90%;max-width:500px;padding:40px;animation:.3s ease-out pdf-loader-fade-in;box-shadow:0 10px 40px #0000004d}@keyframes pdf-loader-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.pdf-loader-content{text-align:center}.pdf-loader-spinner{border:4px solid #f3f3f3;border-top-color:#2196f3;border-radius:50%;width:60px;height:60px;margin:0 auto 20px;animation:1s linear infinite pdf-loader-spin}@keyframes pdf-loader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pdf-loader-title{color:#333;margin:0 0 10px;font-size:24px;font-weight:600}.pdf-loader-employee{color:#2196f3;margin:0 0 15px;font-size:16px;font-weight:500}.pdf-loader-status{color:#666;min-height:20px;margin:0 0 25px;font-size:14px}.pdf-loader-progress-container{margin:25px 0}.pdf-loader-progress-bar{background:#e0e0e0;border-radius:4px;width:100%;height:8px;margin-bottom:10px;overflow:hidden}.pdf-loader-progress-fill{background:linear-gradient(90deg,#2196f3,#1976d2);border-radius:4px;height:100%;transition:width .3s ease-out}.pdf-loader-counter{color:#666;margin:0;font-size:14px;font-weight:500}.pdf-loader-warning{color:#999;margin:20px 0 0;font-size:12px;font-style:italic}.rdo-tab{padding:0}.rdo-loading{text-align:center;color:var(--text-secondary);padding:40px}.rdo-config-card{background:var(--bg-white);border:1px solid var(--border-color);border-radius:8px;margin-bottom:16px;overflow:hidden}.rdo-config-toggle{cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.rdo-config-toggle:hover{background:var(--bg-gray)}.rdo-config-body{border-top:1px solid var(--border-color);flex-direction:column;gap:12px;padding:16px;display:flex}.rdo-config-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.rdo-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.rdo-list-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.rdo-count{background:var(--primary-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-left:6px;font-size:11px;font-weight:700;display:inline-flex}.rdo-list-actions{align-items:center;gap:8px;display:flex}.rdo-table-wrap{border:1px solid var(--border-color);border-radius:8px;overflow-x:auto}.rdo-table{border-collapse:collapse;width:100%;font-size:13px}.rdo-table th{background:var(--bg-gray);text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap;padding:10px 12px;font-size:11px;font-weight:600}.rdo-table td{border-top:1px solid var(--border-color);vertical-align:middle;padding:10px 12px}.rdo-table tbody tr:nth-child(2n) td{background:#f7f8fa}.rdo-table tbody tr:nth-child(odd) td{background:#fff}.rdo-table tr:hover td{background:#e8f7fa!important}.rdo-row-actions{align-items:center;gap:4px;display:flex}.rdo-empty{text-align:center;color:var(--text-secondary);border:1px dashed var(--border-color);border-radius:8px;padding:40px;font-size:14px}.rdo-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:flex-start;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.rdo-modal{background:var(--bg-white);border-radius:12px;flex-direction:column;width:100%;max-width:780px;max-height:calc(100vh - 40px);display:flex;box-shadow:0 8px 32px #0003}.rdo-modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;font-size:16px;font-weight:700;display:flex}.rdo-modal-body{flex-direction:column;flex:1;gap:20px;padding:20px;display:flex;overflow-y:auto}.rdo-modal-footer{border-top:1px solid var(--border-color);flex-shrink:0;justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.rdo-section{flex-direction:column;gap:10px;display:flex}.rdo-section-title{color:var(--text-primary);border-bottom:2px solid var(--primary-color);margin:0;padding-bottom:6px;font-size:13px;font-weight:700}.rdo-optional{color:var(--text-secondary);font-size:11px;font-weight:400}.rdo-field{flex-direction:column;gap:4px;display:flex}.rdo-field label{color:var(--text-secondary);font-size:12px;font-weight:600}.rdo-field input,.rdo-field select,.rdo-field textarea{border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-primary);box-sizing:border-box;border-radius:6px;width:100%;padding:8px 10px;font-size:13px}.rdo-clima-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.rdo-sub-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.rdo-clima-row{gap:8px;display:flex}.rdo-clima-row select{border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-primary);border-radius:6px;flex:1;padding:8px 10px;font-size:13px}.rdo-labor-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rdo-labor-role{border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-primary);border-radius:6px;flex:2;min-width:120px;padding:8px 10px;font-size:13px}.rdo-labor-qty{border:1px solid var(--border-color);text-align:center;border-radius:6px;width:64px;padding:8px 10px;font-size:13px}.rdo-labor-type{border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-primary);border-radius:6px;flex:1.5;min-width:110px;padding:8px 10px;font-size:13px}.rdo-activity-card{background:var(--bg-gray);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.rdo-activity-row1{align-items:center;gap:8px;display:flex}.rdo-act-name{border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-primary);border-radius:6px;flex:1;padding:8px 10px;font-size:13px}.rdo-activity-row2{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.rdo-field-inline{flex-direction:column;gap:3px;display:flex}.rdo-field-inline label{color:var(--text-secondary);white-space:nowrap;font-size:10px;font-weight:600}.rdo-field-inline input,.rdo-field-inline select{border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-primary);box-sizing:border-box;border-radius:6px;min-width:70px;max-width:120px;padding:6px 8px;font-size:12px}.rdo-input-readonly{color:var(--text-secondary);cursor:default;min-width:60px;max-width:80px;background:var(--bg-gray)!important}.rdo-no-services{color:var(--text-secondary);background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;margin:0;padding:10px 14px;font-size:13px}.rdo-progress-badge{flex-direction:column;gap:4px;min-width:160px;display:flex}.rdo-progress-badge label{color:var(--text-secondary);white-space:nowrap;font-size:10px;font-weight:600}.rdo-progress-display{align-items:center;gap:6px;display:flex}.rdo-progress-bar-wrap{background:var(--border-color);border-radius:4px;flex:1;min-width:60px;height:8px;overflow:hidden}.rdo-progress-bar-fill{border-radius:4px;height:100%;transition:width .3s}.rdo-progress-pct{text-align:right;min-width:34px;font-size:13px;font-weight:700}.rdo-progress-status{color:var(--text-secondary);white-space:nowrap;font-size:10px}.rdo-add-btn{border:1px dashed var(--primary-color);color:var(--primary-color);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;width:fit-content;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.rdo-add-btn:hover{background:#0080800f}.rdo-tags{flex-wrap:wrap;gap:6px;display:flex}.rdo-tag{border:1px solid var(--border-color);background:var(--bg-white);cursor:pointer;color:var(--text-secondary);border-radius:20px;padding:4px 10px;font-size:12px;transition:all .15s}.rdo-tag-active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.rdo-occurrences{border:1px solid var(--border-color);resize:vertical;background:var(--bg-white);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:6px;padding:10px;font-family:inherit;font-size:13px}.rdo-photo-btns{flex-wrap:wrap;gap:8px;display:flex}.rdo-camera-btn{display:none}@media (hover:none) and (pointer:coarse){.rdo-camera-btn{display:inline-flex}}.rdo-photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:8px;display:grid}.rdo-photo-item{aspect-ratio:4/3;border:1px solid var(--border-color);border-radius:6px;position:relative;overflow:hidden}.rdo-photo-item img{object-fit:cover;width:100%;height:100%}.rdo-photo-remove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.rdo-pdf-overlay{z-index:2000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rdo-pdf-msg{background:#fff;border-radius:8px;padding:20px 32px;font-size:15px;font-weight:600}@media (width<=768px){.rdo-config-grid,.rdo-clima-grid{grid-template-columns:1fr}.rdo-activity-row2{gap:6px}.rdo-field-inline input,.rdo-field-inline select{min-width:60px}.rdo-modal{border-radius:12px 12px 0 0;max-height:95vh;margin:0}.rdo-modal-overlay{align-items:flex-end;padding:0}.rdo-table th,.rdo-table td{padding:8px;font-size:12px}}@media (width<=480px){.rdo-config-grid{grid-template-columns:1fr}.rdo-labor-row{flex-wrap:wrap}.rdo-labor-role,.rdo-labor-type{flex:100%}}.project-details{max-width:1400px;margin:0 auto}.details-header{justify-content:space-between;margin-bottom:24px;display:flex}.project-info-simple{margin-bottom:24px;padding:24px 30px}.project-info-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.project-info-simple h2{color:var(--text-primary);margin:0 0 8px;font-size:28px;font-weight:700}.project-location{color:var(--text-secondary);margin:0;font-size:16px}.project-dates{align-items:flex-start;gap:16px;display:flex}.date-input-group{flex-direction:column;gap:4px;display:flex}.date-input-group label{color:var(--text-secondary);text-transform:uppercase;font-size:12px;font-weight:600}.date-input{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);border-radius:6px;width:100%;min-width:150px;padding:8px 12px;font-size:14px}.date-input:focus{border-color:var(--primary-color);outline:none}.summary-chart-container{grid-template-columns:1fr 1.5fr;gap:20px;margin-bottom:24px;display:grid}.financial-summary-compact{flex-direction:column;gap:14px;padding:20px;display:flex}.summary-compact-item{flex-direction:column;gap:4px;display:flex}.summary-compact-label{letter-spacing:.5px;color:var(--text-secondary);text-transform:uppercase;font-size:10px;font-weight:600}.summary-compact-value{font-size:18px;font-weight:700}.summary-compact-value.budget{color:#4caf50}.summary-compact-value.expected{color:#ffc107}.summary-compact-value.actual{color:#f44336}.summary-compact-value.profit{color:#4caf50}.summary-compact-value.loss{color:#f44336}.status-selector-compact{border-top:1px solid var(--border-color);flex-direction:column;gap:6px;margin-top:6px;padding-top:14px;display:flex}.status-compact-label{letter-spacing:.5px;color:var(--text-secondary);text-transform:uppercase;font-size:10px;font-weight:600}.chart-section-compact{padding:20px}.chart-title{color:var(--text-primary);margin:0 0 16px;font-size:14px;font-weight:600}.status-select-detail{cursor:pointer;appearance:none;background-position:right 12px center;background-repeat:no-repeat;background-size:14px;border:none;border-radius:12px;padding:8px 32px 8px 16px;font-size:14px;font-weight:500;transition:all .2s}.status-select-detail.badge-orcamento{color:#856404;background-color:#fff3cd}.status-select-detail.badge-aprovado{color:#6a1b9a;background-color:#ede7f6}.status-select-detail.badge-andamento{color:#004085;background-color:#cce5ff}.status-select-detail.badge-finalizado{color:#155724;background-color:#d4edda}.status-select-detail:hover{opacity:.85;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.status-select-detail:focus{outline:none;box-shadow:0 0 0 3px #0000001a}.status-select-detail option{color:var(--text-primary);background-color:#fff;padding:10px}.chart-section{margin-bottom:24px;padding:24px}.add-item-section{text-align:center;margin-bottom:24px;padding:20px}.category-section{margin-bottom:24px;padding:24px}.category-title{color:var(--text-primary);border-bottom:2px solid var(--primary-color);margin:0 0 20px;padding-bottom:12px;font-size:18px;font-weight:600}.empty-category{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:14px}.action-buttons{justify-content:center;gap:8px;display:flex}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px;font-size:16px;transition:background-color .2s}.icon-btn.edit{color:var(--info)}.icon-btn.edit:hover{background-color:#2196f31a}.icon-btn.delete:hover{background-color:#f443361a}.total-row{background-color:#f5f5f5;font-weight:600}.total-row td{border-top:2px solid var(--border-color);padding:16px}@media (width<=768px){.details-header{flex-direction:column;gap:12px}.summary-chart-container{grid-template-columns:1fr}.project-info-simple{padding:20px}.project-info-header{flex-direction:column;gap:16px}.project-dates{flex-flow:wrap;gap:12px;width:100%}.date-input-group{flex:1;min-width:130px}.date-input{min-width:unset;font-size:13px}.financial-summary-compact,.chart-section-compact,.category-section{padding:16px}table{min-width:600px}}.employees-section{padding:20px}.add-employee-form{align-items:center;gap:12px;margin-bottom:24px;display:flex}.add-employee-form select{flex:1}.employees-list{flex-direction:column;gap:12px;display:flex}.employee-item{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;padding:16px;display:flex}.employee-info{align-items:center;gap:16px;display:flex}.employee-photo{background:var(--card-bg);border:2px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex;overflow:hidden}.employee-photo img{object-fit:cover;width:100%;height:100%}.employee-photo svg{width:24px;height:24px;color:var(--text-secondary)}.employee-details{flex-direction:column;gap:4px;display:flex}.employee-details strong{color:var(--text-primary);font-size:16px}.employee-details span{color:var(--text-secondary);font-size:14px}.add-employee-form-extended{grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:center;gap:12px;margin-bottom:24px;display:grid}.employee-item-extended{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:16px;margin-bottom:16px;padding:20px;display:flex}.employee-header{justify-content:space-between;align-items:center;display:flex}.employee-work-info{background:var(--hover-bg);border-radius:6px;grid-template-columns:repeat(3,1fr);gap:16px;padding:16px;display:grid}.work-info-item{flex-direction:column;gap:4px;display:flex}.work-info-item label{color:var(--text-secondary);text-transform:uppercase;font-size:12px;font-weight:600}.work-info-item span{color:var(--text-primary);font-size:14px}.date-input-small{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);border-radius:4px;padding:6px 8px;font-size:14px}.date-input-small:focus{border-color:var(--primary-color);outline:none}.employee-costs-summary{border:1px solid var(--border-color);background:#f8f9fa;border-radius:6px;padding:16px}.employee-costs-summary h4{color:var(--text-primary);margin:0 0 12px;font-size:14px;font-weight:600}.costs-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.cost-item{flex-direction:column;gap:4px;display:flex}.cost-label{color:var(--text-secondary);font-size:12px}.cost-value{color:var(--text-primary);font-size:16px;font-weight:600}.document-upload-section{padding:20px}.documents-list{flex-direction:column;gap:12px;margin-top:20px;display:flex}.document-item{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:6px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.document-item span{color:var(--text-primary);flex:1;font-size:14px}.doc-actions{align-items:center;gap:8px;display:flex}@media (width<=768px){.project-info-header{flex-direction:column;gap:16px}.project-dates{flex-direction:column;gap:12px;width:100%}.date-input{width:100%}.add-employee-form{flex-direction:column;align-items:stretch}.add-employee-form-extended,.employee-work-info,.costs-grid{grid-template-columns:1fr}.employee-item{flex-direction:column;align-items:flex-start;gap:12px}.employee-header{width:100%}.document-item{flex-direction:column;align-items:flex-start;gap:12px}.doc-actions{justify-content:space-between;width:100%}.form-row{grid-template-columns:1fr}}.info-box{color:#1976d2;background:#e3f2fd;border:1px solid #90caf9;border-radius:6px;margin-top:8px;padding:12px 16px;font-size:14px}.svc-type-details{border:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;overflow:hidden}.svc-type-summary{cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none;background:#f8fafc;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;font-weight:600;list-style:none;display:flex}.svc-type-summary::-webkit-details-marker{display:none}.svc-type-summary:after{content:"▾";color:var(--text-secondary);font-size:12px;transition:transform .15s}.svc-type-details[open] .svc-type-summary{border-bottom:1px solid var(--border-color)}.svc-type-details[open] .svc-type-summary:after{transform:rotate(-180deg)}.svc-type-count{background:var(--primary-color);color:#fff;border-radius:10px;margin-left:8px;margin-right:auto;padding:1px 7px;font-size:11px;font-weight:700}.svc-type-list{flex-direction:column;gap:2px;max-height:200px;padding:6px 8px;display:flex;overflow-y:auto}.svc-type-row{border-radius:6px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:14px;display:flex}.svc-type-row:hover{background:#f1f5f9}.svc-section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;font-size:11px;font-weight:700}.project-global-progress{max-width:280px;margin-top:10px}.project-global-progress-label{color:var(--text-secondary);justify-content:space-between;margin-bottom:5px;font-size:12px;display:flex}.project-global-progress-pct{color:var(--primary-color);font-weight:700}.project-global-progress-track{background:#e0e0e0;border-radius:4px;height:7px;overflow:hidden}.project-global-progress-fill{background:var(--primary-color);border-radius:4px;height:100%;transition:width .4s}.subservice-toggle-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:3px 10px;font-size:.78rem;transition:background .15s,color .15s}.subservice-toggle-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.subservice-expand-row td{border-bottom:none;padding:0!important}.subservice-expand-content{background:var(--bg-secondary,#f8f9fa);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:14px 20px}.subservice-table{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:.85rem}.subservice-table thead th{background:var(--card-bg,#fff);text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:5px 10px;font-size:.72rem;font-weight:700}.subservice-table tbody td{border-bottom:1px solid var(--border-color,#f0f0f0);padding:6px 10px}.subservice-table tbody tr:last-child td{border-bottom:none}.subservice-inline-form{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.subservice-inline-form .form-input{flex:1;min-width:140px;max-width:260px;padding:6px 10px;font-size:.85rem}.subservice-inline-form .btn{white-space:nowrap;padding:6px 16px;font-size:.82rem}.summary-compact-sub{color:var(--text-secondary);margin-top:2px;font-size:.78rem}.nf-form-row{border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:20px;display:flex}.nf-form-row .form-group{margin:0}.nf-valor-receber-card{background:var(--bg-secondary,#f4f6f8);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;gap:4px;margin-bottom:20px;padding:16px 20px;display:flex}.nf-vr-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.72rem;font-weight:700}.nf-vr-value{font-size:1.5rem;font-weight:700}.nf-vr-value.pos{color:var(--primary-color,#00b8d4)}.nf-vr-value.neg{color:#dc2626}.nf-vr-sub{color:var(--text-secondary);font-size:.8rem}.contract-fields-row{flex-wrap:wrap;gap:16px;margin-bottom:24px;display:flex}.contract-field-group{flex-direction:column;flex:1;gap:6px;min-width:200px;display:flex}.contract-field-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:12px;font-weight:600}.contract-field-group input{border:1px solid var(--border-color);background:var(--input-bg);color:var(--text-primary);border-radius:6px;padding:8px 12px;font-size:14px}.contract-field-group input:read-only{opacity:.7;cursor:default}.contacts-section{border-top:1px solid var(--border-color);margin-top:24px;padding-top:20px}.contact-form-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.contact-form-row input{border:1px solid var(--border-color);background:var(--input-bg);min-width:160px;color:var(--text-primary);border-radius:6px;flex:1;padding:8px 12px;font-size:14px}.contacts-list{flex-direction:column;gap:8px;display:flex}.contact-item{background:var(--bg-secondary);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.contact-info{flex-direction:column;gap:2px;display:flex}.contact-nome{color:var(--text-primary);font-size:14px;font-weight:600}.contact-tel{color:var(--text-secondary);font-size:13px}.contact-actions{align-items:center;gap:8px;display:flex}.employee-modal{border-radius:14px;flex-direction:column;width:95vw;max-width:620px;max-height:92vh;padding:0;display:flex;overflow:hidden}.employee-modal .modal-header{background:linear-gradient(135deg,#1b2a4a 0%,#243554 100%);flex-shrink:0;margin-bottom:0;padding:18px 24px}.employee-modal .modal-title{color:#fff;font-size:17px;font-weight:600}.employee-modal .close-btn{color:#ffffffb3;font-size:22px;line-height:1;transition:color .15s}.employee-modal .close-btn:hover{color:#fff}.employee-modal .tab-navigation{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;gap:0;margin-bottom:0;padding:0 24px}.employee-modal .tab-button{color:#64748b;border-bottom:2px solid #0000;border-radius:0;gap:7px;margin-bottom:-1px;padding:13px 18px;font-size:13px;font-weight:500}.employee-modal .tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color);background:0 0}.employee-modal .tab-button:hover{color:var(--primary-color);background:#00b8d40d}.employee-modal form{flex-direction:column;flex:1;min-height:0;display:flex}.tab-content{flex:1;padding:24px;overflow-y:auto}.photo-upload-section{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;align-items:center;gap:16px;margin-bottom:22px;padding:14px 16px;display:flex}.photo-preview{background:#e2e8f0;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001a}.photo-preview img{object-fit:cover;width:100%;height:100%}.photo-preview svg{color:#94a3b8;font-size:26px}.photo-upload-info{flex:1;min-width:0}.photo-upload-info p{color:#94a3b8;margin-bottom:8px;font-size:12px}.btn-photo{color:#374151;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;align-items:center;gap:6px;padding:7px 13px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-photo:hover{border-color:var(--primary-color);color:var(--primary-color);background:#f0fdff}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row .form-group,.form-group{margin-bottom:16px}.form-label{color:#64748b;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.form-label:after{content:none!important}.form-input{color:#1e293b;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px #00b8d41f}.radio-group{flex-wrap:wrap;gap:10px;display:flex}.radio-label{cursor:pointer;color:#475569;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;flex:1;align-items:center;gap:8px;min-width:110px;padding:9px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.radio-label:has(input:checked){border-color:var(--primary-color);color:#006064;background:#e0f7fa}.radio-label input[type=radio]{accent-color:var(--primary-color);flex-shrink:0;width:15px;height:15px}.active-checkbox-row{margin-top:6px}.modal-actions{background:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 24px;display:flex}.documents-tab{padding:20px 24px}.empty-state{text-align:center;color:#94a3b8;padding:48px 24px;font-size:14px}.document-section{background:#fafafa;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;padding:14px 16px}.document-section h4{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:12px;font-weight:700}.btn-upload{color:#374151;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:7px;align-items:center;gap:6px;margin-bottom:10px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-upload:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.btn-upload:disabled{opacity:.45;cursor:not-allowed}.document-list{flex-direction:column;gap:8px;display:flex}.employee-modal .document-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:row;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.employee-modal .doc-left{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.employee-modal .doc-name{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:13px;font-weight:500;overflow:hidden}.employee-modal .doc-meta{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.employee-modal .doc-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.employee-modal .doc-field-label{flex-direction:column;gap:2px;display:flex}.employee-modal .doc-field-label span{color:#64748b;text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:600}.employee-modal .doc-input{border:1px solid #e2e8f0;border-radius:6px;width:130px;padding:4px 8px;font-size:12px}.employee-modal .doc-input:focus{border-color:var(--primary-color);outline:none}.employee-modal .doc-reminder-toggle{cursor:pointer;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;transition:all .15s;display:inline-flex}.employee-modal .doc-reminder-toggle:has(input:checked){background:#f0fdf4;border-color:#4caf50}.employee-modal .doc-reminder-toggle input[type=checkbox]{accent-color:#4caf50;flex-shrink:0;width:14px;height:14px}.employee-modal .doc-reminder-label{color:#64748b;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.employee-modal .doc-reminder-toggle:has(input:checked) .doc-reminder-label{color:#166534}.icon-btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:all .15s;display:inline-flex}.icon-btn.view{color:#1976d2;background:#e8f4fd}.icon-btn.view:hover{color:#fff;background:#1976d2}.icon-btn.download{color:#2e7d32;background:#e8f5e9}.icon-btn.download:hover{color:#fff;background:#2e7d32}.icon-btn.replace{color:#f57c00;background:#fff8e1}.icon-btn.replace:hover{color:#fff;background:#f57c00}.icon-btn.delete{color:#d32f2f;background:#fff0f0}.icon-btn.delete:hover{color:#fff;background:#d32f2f}.nrs-section{background:#fafafa;border:1px solid #e2e8f0;border-radius:10px;margin:16px 0;padding:14px 16px}.nrs-section h3{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:12px;font-weight:700}.additional-nr-wrapper{margin-bottom:12px}.btn-remove-nr{color:#d32f2f;cursor:pointer;background:#fff0f0;border:1px solid #fca5a5;border-radius:6px;align-items:center;gap:5px;margin-top:6px;padding:4px 10px;font-size:12px;transition:all .15s;display:inline-flex}.btn-remove-nr:hover{color:#fff;background:#d32f2f}.add-nr-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.add-nr-form .form-input{max-width:180px}.link-cadastrar-cargo{color:var(--primary-color);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:12px;font-weight:500;transition:opacity .15s;display:inline-block}.link-cadastrar-cargo:hover{opacity:.75;text-decoration:underline}.cargo-modal-overlay{z-index:1100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cargo-modal{background:#fff;border-radius:12px;width:90vw;max-width:380px;overflow:hidden;box-shadow:0 20px 60px #00000040}.cargo-modal-header{color:#fff;background:linear-gradient(135deg,#1b2a4a,#243554);justify-content:space-between;align-items:center;padding:16px 20px;font-size:15px;font-weight:600;display:flex}.cargo-modal-header .close-btn{color:#ffffffb3;cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1}.cargo-modal-header .close-btn:hover{color:#fff}.cargo-modal-body{flex-direction:column;gap:12px;padding:20px;display:flex}.cargo-modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.fin-salary-block{border:1px solid var(--border-color);background:#f8fafc;border-radius:10px;margin-bottom:24px;padding:20px}.fin-salary-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0 0 12px;font-size:.78rem;font-weight:700}.fin-salary-row{align-items:center;gap:8px;display:flex}.fin-salary-prefix{color:var(--text-secondary);font-size:1rem;font-weight:600}.fin-salary-input{max-width:180px}@media (width<=520px){.employee-modal{border-radius:0;width:100vw;max-width:100vw;max-height:100dvh}.form-row{grid-template-columns:1fr}.tab-content,.employee-modal .modal-header{padding:16px}.employee-modal .tab-navigation{padding:0 16px}.modal-actions{padding:12px 16px}.radio-group{flex-direction:column}.employee-modal .document-item{flex-direction:column;gap:8px}.employee-modal .doc-left,.employee-modal .doc-meta,.employee-modal .doc-input{width:100%}.employee-modal .doc-actions{justify-content:flex-end;width:100%}}.fin-verbas-override{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.fin-verbas-override summary{cursor:pointer;background:var(--bg-secondary,#f4f6f8);color:var(--text-secondary);-webkit-user-select:none;user-select:none;padding:10px 14px;font-size:.82rem;font-weight:600}.fin-verbas-grid{grid-template-columns:1fr 1fr;gap:16px;padding:14px;display:grid}@media (width<=480px){.fin-verbas-grid{grid-template-columns:1fr}}.fin-verbas-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0 0 8px;font-size:.7rem;font-weight:700}.fin-verba-toggle{cursor:pointer;color:var(--text-primary);align-items:center;gap:7px;padding:4px 0;font-size:.83rem;display:flex}.fin-verba-toggle.fin-modified{color:var(--primary-color,#00b8d4)}.fin-override-dot{background:var(--primary-color,#00b8d4);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-left:auto;font-size:.7rem;font-weight:700;display:inline-flex}.fin-verbas-hint{color:var(--text-secondary);border-top:1px solid var(--border-color);margin:0;padding:8px 14px 12px;font-size:.75rem}.employees-page{max-width:1400px;margin:0 auto}.emp-row-selected td{background:#e8f7fa!important}.emp-selected-count{color:var(--primary-color);font-weight:600}.emp-search-box{border:1px solid var(--border-color);background:#fff;border-radius:8px;align-items:center;gap:8px;max-width:420px;margin-bottom:20px;padding:0 12px;transition:border-color .2s;display:flex}.emp-search-box:focus-within{border-color:var(--primary-color)}.emp-search-icon{color:var(--text-secondary);pointer-events:none;flex-shrink:0;font-size:17px}.emp-search-input{background:0 0;flex:1;min-width:0;padding:10px 0;font-size:14px;box-shadow:none!important;border:none!important;outline:none!important}.emp-search-input:focus,.emp-search-input:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.type-badge{white-space:nowrap;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.type-badge.registered{color:#1565c0;background:#e3f2fd}.type-badge.temporary{color:#e65100;background:#fff3e0}.status-dot{align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.status-dot:before{content:"";border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot.active{color:#155724}.status-dot.active:before{background:#4caf50}.status-dot.inactive{color:#721c24}.status-dot.inactive:before{background:#f44336}.action-buttons{gap:6px;display:flex}.btn-icon-edit{cursor:pointer;color:#2e7d32;background:#e8f5e9;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;transition:all .15s;display:inline-flex}.btn-icon-edit:hover{color:#fff;background:#4caf50}.btn-icon-danger{cursor:pointer;width:30px;height:30px;color:var(--error);background:#fff0f0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:inline-flex}.btn-icon-danger:hover{background:var(--error);color:#fff}.empty-cell{text-align:center;color:var(--text-secondary);cursor:default;padding:60px 20px}.page-btn{border:1px solid var(--border-color);min-width:34px;height:34px;color:var(--text-primary);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.emp-active-projects{justify-content:center;align-items:center;display:inline-flex;position:relative}.emp-active-badge{background:var(--primary-color);color:#fff;cursor:default;-webkit-user-select:none;user-select:none;border-radius:13px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 8px;font-size:13px;font-weight:700;display:inline-flex}.emp-active-badge.zero{color:#9e9e9e;background:#e0e0e0}.emp-projects-tooltip{color:#fff;z-index:9999;pointer-events:none;white-space:nowrap;background:#1b2a4a;border-radius:8px;min-width:180px;max-width:280px;padding:8px 12px;font-size:12px;box-shadow:0 4px 16px #00000040}.emp-projects-tooltip:after{content:"";border:6px solid #0000;border-top-color:#1b2a4a;position:absolute;top:100%;left:50%;transform:translate(-50%)}.emp-tooltip-item{text-overflow:ellipsis;padding:2px 0;overflow:hidden}@media (width<=768px){.table-container{overflow-x:auto}table{min-width:600px}.emp-search-box{max-width:unset;width:100%}}@media (width<=480px){.employees-page h1{font-size:20px}}.calendar-page{max-width:1200px;margin:0 auto;padding:24px}.calendar-container{margin-bottom:32px;padding:24px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.calendar-title{color:#1976d2;text-align:center;flex:1;margin:0;font-size:24px;font-weight:700}.calendar-nav-btn{cursor:pointer;color:var(--text-primary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:8px;font-size:24px;transition:background .2s;display:flex}.calendar-nav-btn:hover{background:var(--hover-bg)}.calendar-grid{background:var(--border-color);border:1px solid var(--border-color);border-radius:8px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-weekday{color:#fff;text-align:center;background:#1976d2;padding:12px;font-size:14px;font-weight:600}.calendar-day{background:#fff;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:8px;min-height:80px;padding:8px;transition:background .2s;display:flex;position:relative}.calendar-day.empty{background:#f5f5f5}.day-number{color:#333;z-index:1;font-size:18px;font-weight:600}.project-indicators{flex:1;gap:3px;width:100%;display:flex}.project-indicator{color:#fff;text-shadow:0 1px 2px #0000004d;cursor:help;border-radius:4px;flex:1;justify-content:center;align-items:center;min-width:8px;font-size:10px;font-weight:600;transition:transform .2s;display:flex}.project-indicator:hover{transform:scale(1.05)}.project-indicator.extra{opacity:.7;background-image:repeating-linear-gradient(45deg,#0000,#0000 3px,#ffffff38 3px 6px)}.calendar-legend{border-top:1px solid var(--border-color);margin-top:24px;padding-top:24px}.calendar-legend h4{color:var(--text-primary);margin:0 0 12px;font-size:14px;font-weight:600}.legend-items{flex-wrap:wrap;gap:16px;display:flex}.legend-item{align-items:center;gap:8px;display:flex}.legend-color{border:1px solid #0000001a;border-radius:3px;width:24px;height:16px}.legend-item span{color:var(--text-primary);font-size:13px}.legend-markers{flex-wrap:wrap;gap:16px;margin-top:12px;display:flex}.legend-marker-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.legend-marker-badge{background:var(--secondary-color);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:flex}.table-color-indicator{border:1px solid #0000001a;border-radius:4px;width:20px;height:20px}.projects-list-container{padding:24px}.projects-list-title{color:var(--text-primary);margin:0 0 20px;font-size:20px;font-weight:600}.clickable-row{cursor:pointer;transition:background .2s}.clickable-row:hover{background:var(--hover-bg)}.badge-orcamento{color:#1976d2;background:#e3f2fd}.badge-aprovado{color:#6a1b9a;background:#ede7f6}.badge-em_andamento{color:#f57c00;background:#fff3e0}.badge-finalizado{color:#388e3c;background:#e8f5e9}.empty-message{text-align:center;color:var(--text-secondary);padding:40px 20px;font-size:14px}@media (width<=768px){.calendar-page,.calendar-container{padding:16px}.calendar-title{font-size:20px}.calendar-day{min-height:60px;padding:4px}.day-number{font-size:14px}.calendar-weekday{padding:8px 4px;font-size:12px}.table-container{overflow-x:auto}table{min-width:600px}}.admin-page{max-width:1200px;margin:0 auto}.lembretes-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}@media (width<=768px){.lembretes-grid{grid-template-columns:1fr}}.folha-config-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}@media (width<=768px){.folha-config-grid{grid-template-columns:1fr}.folha-config-grid .card[style*="1 / -1"]{grid-column:1}}.tag-list{flex-wrap:wrap;gap:8px;min-height:38px;padding:8px 0 12px;display:flex}.tag-chip{background:var(--primary-color);color:#fff;-webkit-user-select:none;user-select:none;border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-flex}.tag-chip-remove{color:#fff;cursor:pointer;opacity:0;background:#ffffff40;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;margin-left:2px;padding:0;font-size:13px;line-height:1;transition:opacity .15s,background .15s;display:inline-flex}.tag-chip:hover .tag-chip-remove{opacity:1}.tag-chip-remove:hover{background:#ffffff80}.tag-empty{color:var(--text-secondary);padding:6px 0;font-size:13px;font-style:italic}.tag-input-row{align-items:center;gap:8px;display:flex}.tag-input-row .form-input{max-width:120px}.tag-hint{color:var(--text-secondary);margin-top:8px;font-size:12px;display:block}.role-badge{border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.role-badge.super-admin{color:#6a1b9a;background-color:#e1bee7}.role-badge.admin{color:#e64a19;background-color:#ffccbc}.role-badge.manager{color:#0277bd;background-color:#b3e5fc}.role-badge.viewer{color:#2e7d32;background-color:#c8e6c9}.status-badge{border-radius:12px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.status-badge.active{color:#2e7d32;background-color:#c8e6c9}.status-badge.inactive{color:#c62828;background-color:#ffcdd2}.icon-btn.deactivate{color:var(--error)}.icon-btn.deactivate:hover{background-color:#f443361a}.icon-btn.activate{color:var(--success)}.icon-btn.activate:hover{background-color:#4caf501a}.icon-btn.view{color:var(--info)}.icon-btn.view:hover:not(:disabled){background-color:#2196f31a}.icon-btn.download{color:var(--success)}.icon-btn.download:hover:not(:disabled){background-color:#4caf501a}.icon-btn.replace{color:#ff9800}.icon-btn.replace:hover:not(:disabled){background-color:#ff98001a}.icon-btn.delete{color:var(--error)}.icon-btn.delete:hover:not(:disabled){background-color:#f443361a}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.checkbox-label{cursor:pointer;align-items:center;gap:8px;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px}.checkbox-label span{color:var(--text-primary);font-size:14px;font-weight:500}.tab-content{padding:20px 0}.documentation-tab{flex-direction:column;gap:24px;display:flex}.admin-page .document-section{border:1px solid var(--border-color);background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 4px #0000000f}.admin-page .section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-page .section-header h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:600}.admin-page .document-list{flex-direction:column;gap:12px;display:flex}.admin-page .document-item{border:1px solid var(--border-color);background:#fff;border-radius:8px;flex-direction:row;align-items:center;gap:12px;padding:12px 14px;display:flex}.admin-page .doc-info{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.admin-page .doc-name{color:var(--text-primary);white-space:nowrap;flex-shrink:0;width:auto;font-size:14px;font-weight:600}.admin-page .doc-field-label{flex-direction:column;gap:2px;display:flex}.admin-page .doc-field-label span{color:#64748b;text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:600}.admin-page .doc-meta{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.admin-page .doc-actions{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.admin-page .doc-reminder-toggle{cursor:pointer;border:1px solid var(--border-color);white-space:nowrap;background:#f8fafc;border-radius:6px;align-items:center;gap:6px;padding:4px 8px;transition:all .15s;display:inline-flex}.admin-page .doc-reminder-toggle:has(input:checked){background:#f0fdf4;border-color:#4caf50}.admin-page .doc-reminder-toggle input[type=checkbox]{accent-color:#4caf50;flex-shrink:0;width:14px;height:14px}.admin-page .doc-reminder-label{color:#64748b;text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.admin-page .doc-reminder-toggle:has(input:checked) .doc-reminder-label{color:#166534}.doc-expiry-badge{color:#64748b;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;padding:2px 10px;font-size:11px;font-weight:600}.doc-expiry-badge.expired{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.financeiro-group-settings{flex-wrap:wrap;align-items:center;gap:12px;padding:6px 0 8px 2px;display:flex}.admin-page .doc-input{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-primary);border-radius:4px;padding:6px 10px;font-size:12px}.admin-page .doc-input:focus{border-color:var(--primary-color);outline:none}.admin-page .empty-message{color:var(--text-secondary);text-align:center;padding:20px;font-size:14px}.admin-page .doc-name-input-wrapper{align-items:center;gap:8px;display:flex}.admin-page .doc-name-input-wrapper .form-input{border:1px solid var(--border-color);border-radius:4px;min-width:250px;padding:8px 12px;font-size:14px}@media (width<=768px){.admin-page .section-header{flex-direction:column;align-items:flex-start;gap:12px}.admin-page .document-item{flex-direction:column;align-items:flex-start}.admin-page .doc-info,.admin-page .doc-meta{width:100%}.admin-page .doc-actions{justify-content:flex-end;width:100%}.admin-page .doc-input{width:100%}.admin-page .doc-name-input-wrapper{flex-direction:column;align-items:stretch;width:100%}.admin-page .doc-name-input-wrapper .form-input{width:100%;min-width:auto}.admin-page .doc-name-input-wrapper .btn{width:100%}}.financeiro-group{background:#fafbfc;border:1px solid #e8ecf0;border-radius:10px;margin-bottom:12px;padding:14px 16px}.financeiro-group-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.financeiro-group-name{color:#1b2a4a;font-size:14px;font-weight:600}.financeiro-group-actions{flex-wrap:wrap;gap:8px;display:flex}.financeiro-month-group{margin-bottom:6px}.financeiro-files-toggle{cursor:pointer;background:0 0;border:1px solid #e8ecf0;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:6px 10px;transition:background .15s;display:flex}.financeiro-files-toggle:hover{background:#f0f4f8}.financeiro-month-label{color:#64748b;text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:700}.financeiro-toggle-info{color:#94a3b8;font-size:11px}.financeiro-arquivos-body{border-left:2px solid #e8ecf0;margin-top:6px;padding-left:8px}.financeiro-month-toggle{background:#f8fafc;margin-top:4px}.financeiro-pagination{justify-content:center;align-items:center;gap:8px;margin-top:6px;display:flex}.financeiro-page-info{color:#64748b;font-size:12px}.financeiro-files{flex-direction:column;gap:4px;display:flex}.financeiro-file-item{background:#fff;border:1px solid #e8ecf0;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:13px;display:flex}.financeiro-add-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.financeiro-add-form .form-input{flex:1;min-width:160px}@media (width<=768px){.financeiro-group-header{flex-direction:column;align-items:flex-start}.financeiro-add-form{flex-direction:column;align-items:stretch}.financeiro-add-form .form-input{width:100%}}.permissions-panel{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;margin-bottom:16px;padding:16px}.permissions-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 12px;font-size:13px;font-weight:700}.perm-row{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.perm-check{color:var(--text-primary);cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-size:13px;display:flex}.perm-check input[type=checkbox]{cursor:pointer;width:14px;height:14px}.perm-section{border-top:1px solid var(--border-color);margin-top:10px;padding-top:10px}.perm-section summary{cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none;padding:4px 0;font-size:13px;font-weight:600}.perm-section-body{padding:10px 0 4px 4px}.perm-abas-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:12px}.perm-abas-table th,.perm-abas-table td{border:1px solid var(--border-color);text-align:center;color:var(--text-primary);padding:5px 8px}.perm-abas-table th{background:var(--bg-primary);text-transform:uppercase;font-size:11px;font-weight:600}.perm-abas-table td:first-child{text-align:left;white-space:nowrap}.perm-fin-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.perm-fin-label{color:var(--text-secondary);min-width:130px;font-size:12px;font-weight:600}.financeiro-page{max-width:1200px;margin:0 auto}.fin-tab-content{background:var(--bg-white);border:1px solid var(--border-color);border-radius:8px;margin-top:16px;padding:20px;box-shadow:0 1px 4px #0000000f}.fin-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.fin-search-wrap{flex:1;min-width:200px;position:relative}.fin-search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.fin-search{border:1px solid var(--border-color);background:var(--bg-white);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:6px;padding:8px 12px 8px 34px;font-size:14px}.fin-search:focus{border-color:var(--primary-color);outline:none}.fin-select{border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:8px 12px;font-size:14px}.lanc-filters{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.lanc-filters .fin-select{flex:1;min-width:140px}.fin-table-wrap{border:1px solid var(--border-color);border-radius:6px;overflow-x:auto}.fin-table{border-collapse:collapse;background:var(--bg-white);width:100%;font-size:14px}.fin-table th{text-align:left;border-bottom:2px solid var(--border-color);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;background:#f8fafc;padding:10px 12px;font-size:12px;font-weight:600}.fin-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.fin-table th.sortable:hover{color:var(--primary-color)}.sort-arrow{margin-left:4px}.fin-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;background:var(--bg-white);padding:10px 12px}.fin-table tr:last-child td{border-bottom:none}.fin-table tr:hover td{background:#f8fafc}.fin-empty{text-align:center;color:var(--text-secondary);padding:32px;font-size:14px}.fin-badge{white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.fin-badge-pendente{color:#e65100;background:#fff8e1}.fin-badge-pago,.fin-badge-recebido{color:#2e7d32;background:#c8e6c9}.fin-badge-vencido{color:#c62828;background:#ffcdd2}.fin-type-badge{white-space:nowrap;border-radius:12px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.fin-type-badge.payable{color:#c62828;background:#ffcdd2}.fin-type-badge.receivable{color:#2e7d32;background:#c8e6c9}.fin-actions{align-items:center;gap:4px;display:flex}.icon-btn.settle{color:var(--success)}.icon-btn.settle:hover{background-color:#4caf501a}.icon-btn.undo{color:#ff9800}.icon-btn.undo:hover{background-color:#ff98001a}.fin-pagination{justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.fin-page-info{color:var(--text-secondary);font-size:13px}.fin-report-type-selector{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.fin-type-btn{border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:8px 18px;font-size:14px;font-weight:500;transition:all .15s}.fin-type-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.fin-report-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.fin-report-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.fin-filter-toggle-btn{border:1px solid var(--border-color);background:var(--bg-white);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:none}.fin-filter-toggle-btn.active{border-color:var(--primary-color);color:var(--primary-color);background:#e0f7fa}.fin-date-input{border:1px solid var(--border-color);background:var(--bg-white);color:var(--text-primary);border-radius:6px;padding:8px 12px;font-size:14px}.fin-range-sep{color:var(--text-secondary);font-size:13px}.fin-report-cards{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.fin-report-card{border:1px solid var(--border-color);background:var(--bg-white);border-radius:8px;flex-direction:column;flex:1;gap:6px;min-width:140px;padding:16px;display:flex}.fin-rc-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:600}.fin-rc-value{color:var(--text-primary);font-size:18px;font-weight:700}.fin-report-card.payable{border-left:3px solid #ef5350}.fin-report-card.receivable{border-left:3px solid #4caf50}.fin-report-card.settled-pay{border-left:3px solid #ff7043}.fin-report-card.settled-recv{border-left:3px solid #26a69a}.fin-report-card.saldo.pos{border-left:3px solid #4caf50}.fin-report-card.saldo.neg{border-left:3px solid #ef5350}.fin-chart-wrap{background:var(--bg-white);border:1px solid var(--border-color);border-radius:8px;margin-bottom:24px;padding:16px}.fin-recurring-section{border-bottom:2px dashed var(--border-color);margin-bottom:28px;padding-bottom:24px}.fin-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.fin-section-title{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;display:flex}.fin-section-title svg{color:var(--primary-color)}.fin-badge-today{color:#e65100;background:#fff3e0}.fin-badge-soon{color:#f57f17;background:#fff8e1}.fin-badge-upcoming{color:#2e7d32;background:#e8f5e9}.fin-last-paid-date{color:var(--text-secondary);font-size:11px}.fin-never-paid{color:var(--text-secondary);font-size:12px;font-style:italic}.fin-pay-info{border:1px solid var(--border-color);background:#f8fafc;border-radius:6px;flex-direction:column;gap:4px;margin-bottom:16px;padding:12px 14px;display:flex}.fin-pay-desc{color:var(--text-primary);font-size:15px;font-weight:600}.fin-pay-due{color:var(--text-secondary);font-size:13px}.fin-add-category-link{color:var(--primary-color);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:0;font-size:12px;font-weight:500;text-decoration:underline;display:inline-block}.fin-add-category-link:hover{opacity:.75}.fin-settled-warning{color:#e65100;background:#fff8e1;border:1px solid #ffd54f;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px}.fin-form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.fin-cat-section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px;font-size:11px;font-weight:700}.fin-cat-details{border:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;overflow:hidden}.fin-cat-summary{cursor:pointer;color:var(--text-primary);-webkit-user-select:none;user-select:none;background:#f8fafc;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;font-weight:600;list-style:none;display:flex}.fin-cat-summary::-webkit-details-marker{display:none}.fin-cat-summary:after{content:"▾";color:var(--text-secondary);font-size:12px;transition:transform .15s}.fin-cat-details[open] .fin-cat-summary{border-bottom:1px solid var(--border-color)}.fin-cat-details[open] .fin-cat-summary:after{transform:rotate(-180deg)}.fin-cat-count{background:var(--primary-color);color:#fff;border-radius:10px;margin-left:8px;margin-right:auto;padding:1px 7px;font-size:11px;font-weight:700}.fin-cat-list{flex-direction:column;gap:2px;max-height:200px;padding:6px 8px;display:flex;overflow-y:auto}.fin-cat-row{border-radius:6px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:14px;display:flex}.fin-cat-row:hover{background:#f1f5f9}@media (width<=768px){.fin-report-cards{flex-direction:column}.fin-report-card{min-width:auto}.fin-toolbar{flex-direction:column;align-items:stretch}.fin-form-row{grid-template-columns:1fr}.fin-report-type-selector{flex-wrap:wrap}.fin-filter-toggle-btn{display:flex}.fin-report-filters{display:none}.fin-report-filters.open{flex-direction:column;align-items:stretch;display:flex}.fin-report-filters .fin-select,.fin-report-filters .fin-date-input{width:100%}.lanc-filters{flex-direction:column;gap:8px}.lanc-filters .fin-select{width:100%}}.ponto-modal-content{background:var(--bg-white);border-radius:12px;flex-direction:column;width:95vw;max-width:1000px;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.ponto-modal-header{border-bottom:1px solid var(--border-color,#e0e0e0);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:20px 24px 12px;display:flex}.ponto-modal-title{color:var(--text-primary);margin:0 0 2px;font-size:1.25rem;font-weight:700}.ponto-modal-subtitle{color:var(--text-secondary);margin:0;font-size:.85rem}.ponto-modal-body{flex:1;padding:20px 24px;overflow-y:auto}.ponto-mes-nav{align-items:center;gap:12px;margin-bottom:16px;display:flex}.ponto-mes-label{color:var(--text-primary);text-align:center;min-width:180px;font-size:1rem;font-weight:600}.mes-picker-trigger{cursor:pointer;background:0 0;border:none}.mes-picker-trigger:hover{color:var(--primary-color,#00b8d4)}.ponto-nav-btn{border:1px solid var(--border-color,#e0e0e0);background:var(--bg-white,#fff);width:32px;height:32px;color:var(--text-primary,#212121);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.ponto-nav-btn:hover:not(:disabled){border-color:var(--primary-color,#00b8d4);color:var(--primary-color,#00b8d4);background:#e0f7fa}.ponto-nav-btn:disabled{opacity:.35;cursor:not-allowed}.ponto-config-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.ponto-config-section{background:#f8f9fa;border-radius:8px;padding:16px}.ponto-section-title{color:var(--primary-color,#00b8d4);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px;font-size:.85rem;font-weight:600}.ponto-jornada-grid{gap:8px;display:grid}.ponto-jornada-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.ponto-jornada-row label{color:var(--text-primary);min-width:80px;font-size:.875rem}.ponto-time-input{border:1px solid var(--border-color,#e0e0e0);width:100px;color:var(--text-primary);background:var(--bg-white);border-radius:6px;padding:5px 8px;font-size:.875rem}.ponto-time-input:focus{border-color:var(--primary-color,#00b8d4);outline:none;box-shadow:0 0 0 2px #00b8d426}.ponto-perc-grid{gap:8px;display:grid}.ponto-perc-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.ponto-perc-row label{color:var(--text-primary);font-size:.875rem}.ponto-perc-input-wrap{align-items:center;gap:6px;display:flex}.ponto-perc-input-wrap span{color:var(--text-secondary);font-size:.875rem}.ponto-number-input{border:1px solid var(--border-color,#e0e0e0);width:70px;color:var(--text-primary);background:var(--bg-white);text-align:right;border-radius:6px;padding:5px 8px;font-size:.875rem}.ponto-number-input:focus{border-color:var(--primary-color,#00b8d4);outline:none;box-shadow:0 0 0 2px #00b8d426}.ponto-noturno-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ponto-noturno-row label{color:var(--text-secondary);font-size:.875rem}.ponto-valor-hora-row{align-items:center;gap:8px;margin-top:6px;display:flex}.ponto-valor-prefix{color:var(--text-secondary);font-size:.9rem;font-weight:600}.ponto-valor-hora-input{width:120px}.ponto-config-actions{grid-column:1/-1;justify-content:flex-end;padding-top:8px;display:flex}.ponto-tab-actions{grid-column:1/-1;justify-content:flex-end;margin-bottom:14px;display:flex}.ponto-cartao-table-wrap{border:1px solid var(--border-color,#e0e0e0);border-radius:8px;overflow-x:auto}.ponto-cartao-table{border-collapse:collapse;width:100%;font-size:.85rem}.ponto-cartao-table th{background:var(--primary-color,#00b8d4);color:#fff;text-align:left;white-space:nowrap;padding:10px 12px;font-weight:600}.ponto-cartao-table td{vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:6px 8px}.ponto-row-rest{color:#c0392b;background:#fff0f0}.ponto-row-rest td{color:#c0392b}.ponto-data-cell{white-space:nowrap;min-width:120px;font-weight:500}.ponto-tipo-select{border:1px solid var(--border-color,#e0e0e0);color:var(--text-primary);background:var(--bg-white);cursor:pointer;border-radius:6px;padding:4px 6px;font-size:.8rem}.ponto-tipo-select:focus{border-color:var(--primary-color,#00b8d4);outline:none}.ponto-time-input-sm{border:1px solid var(--border-color,#e0e0e0);width:90px;color:var(--text-primary);background:var(--bg-white);border-radius:6px;padding:4px 6px;font-size:.8rem}.ponto-time-input-sm:focus{border-color:var(--primary-color,#00b8d4);outline:none}.ponto-time-input-sm:disabled{color:#bbb;cursor:not-allowed;background:#f5f5f5}.ponto-obs-input{border:1px solid var(--border-color,#e0e0e0);width:100%;min-width:120px;color:var(--text-primary);background:var(--bg-white);border-radius:6px;padding:4px 8px;font-size:.8rem}.ponto-obs-input:focus{border-color:var(--primary-color,#00b8d4);outline:none}.ponto-cartao-actions{justify-content:flex-end;margin-top:16px;display:flex}.ponto-save-dropdown-wrap{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ponto-save-dropdown{position:relative}.ponto-save-main{align-items:center;gap:4px;display:flex}.ponto-save-backdrop{z-index:9;position:fixed;inset:0}.ponto-save-menu{z-index:10;border:1px solid var(--border-color,#e0e0e0);background:#fff;border-radius:10px;min-width:170px;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 6px 24px #00000021}.ponto-save-menu button{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:11px 16px;font-size:.88rem;transition:background .12s;display:flex}.ponto-save-menu button:hover{background:#f5f5f5}.ponto-valor-total{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:8px;justify-content:space-between;align-items:center;margin-top:14px;padding:12px 16px;display:flex}.ponto-valor-total span{color:#2e7d32;font-size:.9rem}.ponto-valor-total strong{color:#1b5e20;font-size:1.05rem}.ponto-resumo-table-wrap{border:1px solid var(--border-color,#e0e0e0);border-radius:8px;margin-bottom:20px;overflow-x:auto}.ponto-resumo-table{border-collapse:collapse;width:100%;font-size:.85rem}.ponto-resumo-table th{background:var(--primary-color,#00b8d4);color:#fff;text-align:center;white-space:nowrap;padding:10px 12px;font-weight:600}.ponto-resumo-table th:first-child{text-align:left}.ponto-resumo-table td{text-align:center;border-bottom:1px solid #f0f0f0;padding:7px 12px}.ponto-resumo-table td:first-child{text-align:left}.ponto-total-row td{background:#f0f0f0;border-top:2px solid #ddd;font-weight:700}.ponto-extras-resumo{background:#f8f9fa;border-radius:8px;padding:16px}.ponto-no-extras{color:#c0392b;margin:8px 0 0;font-size:.875rem}.ponto-extras-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:.875rem}.ponto-extras-table th{background:var(--primary-color,#00b8d4);color:#fff;text-align:center;padding:8px 12px;font-weight:600}.ponto-extras-table th:first-child{text-align:left}.ponto-extras-table td{text-align:center;border-bottom:1px solid #e0e0e0;padding:7px 12px}.ponto-extras-table td:first-child{text-align:left}.ponto-dias-folga-grid{gap:8px;margin-top:4px;display:grid}.ponto-check-label{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:flex}.ponto-check-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color,#00b8d4);cursor:pointer;flex-shrink:0}.ponto-loading{justify-content:center;padding:40px;display:flex}@media (width<=700px){.ponto-config-grid{grid-template-columns:1fr}.ponto-modal-content{border-radius:14px;width:100%;max-width:100%;max-height:88dvh}.ponto-modal-header{padding:10px 14px 8px}.ponto-modal-title{font-size:.95rem}.ponto-modal-subtitle{font-size:.75rem}.ponto-modal-body{padding:10px;overflow-x:hidden}.ponto-mes-nav{gap:6px;margin-bottom:10px}.ponto-mes-label{min-width:120px;font-size:.85rem}.ponto-cartao-table-wrap{-webkit-overflow-scrolling:touch;border-radius:6px;max-height:52vh;overflow:auto}.ponto-cartao-table{min-width:500px;font-size:.75rem}.ponto-cartao-table th{padding:8px;font-size:.72rem}.ponto-cartao-table td{padding:5px 7px}.ponto-data-cell{min-width:90px;font-size:.75rem}.ponto-time-input-sm{width:64px;padding:3px 5px;font-size:.75rem}.ponto-tipo-select{padding:3px 5px;font-size:.72rem}.ponto-obs-input{min-width:70px;font-size:.75rem}.ponto-tab-actions{margin-bottom:8px}.ponto-cartao-actions{margin-top:10px}.ponto-save-dropdown-wrap{gap:6px}.ponto-valor-total{flex-direction:column;align-items:flex-start;gap:2px;margin-top:10px;padding:10px 12px}.ponto-resumo-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.ponto-resumo-table{min-width:380px;font-size:.75rem}.ponto-resumo-table th,.ponto-resumo-table td{padding:6px 8px}.ponto-config-section{padding:12px}.ponto-time-input{width:80px}.ponto-number-input{width:60px}}.ponto-page{padding:24px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-header-left{flex-direction:column;gap:4px;display:flex}.page-title{color:var(--text-primary);align-items:center;gap:8px;margin:0;font-size:1.5rem;font-weight:700;display:flex}.page-title-icon{color:var(--primary-color,#00b8d4)}.page-subtitle{color:var(--text-secondary);margin:0;font-size:.875rem}.ponto-header-controls{align-items:center;gap:12px;display:flex}.ponto-mes-nav-page{background:var(--bg-white);border:1px solid var(--border-color,#e0e0e0);border-radius:8px;align-items:center;gap:8px;padding:4px 8px;display:flex}.ponto-mes-label-sm{color:var(--text-primary);text-align:center;min-width:160px;font-size:.9rem;font-weight:600}.btn-icon-sm{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px 6px;display:flex}.btn-icon-sm:hover:not(:disabled){background:var(--bg-main,#f5f5f5);color:var(--primary-color,#00b8d4)}.btn-icon-sm:disabled{opacity:.4;cursor:not-allowed}.mes-picker-trigger{cursor:pointer;color:var(--text-primary,#212121);background:0 0;border:none;border-radius:6px;padding:2px 6px;font-weight:600;transition:background .15s}.mes-picker-trigger:hover{background:var(--bg-main,#f5f5f5);color:var(--primary-color,#00b8d4)}.mes-picker-dropdown{z-index:100;border:1px solid var(--border-color,#e0e0e0);background:#fff;border-radius:12px;min-width:220px;padding:12px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000024}.mes-picker-year span{color:var(--text-primary,#212121);font-size:.95rem;font-weight:700}.mes-picker-year button{cursor:pointer;color:var(--text-secondary,#757575);background:0 0;border:none;border-radius:6px;align-items:center;padding:4px 8px;transition:background .15s;display:flex}.mes-picker-year button:hover:not(:disabled){color:var(--primary-color,#00b8d4);background:#f0f0f0}.mes-picker-month{cursor:pointer;color:var(--text-primary,#212121);text-align:center;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 4px;font-size:.82rem;font-weight:500;transition:all .15s}.mes-picker-month:hover:not(:disabled){border-color:var(--border-color,#e0e0e0);background:#f0f0f0}.ponto-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.ponto-count{color:var(--text-secondary);margin-left:auto;font-size:.875rem}.ponto-search-box{background:var(--bg-white);border:1px solid var(--border-color,#e0e0e0);border-radius:8px;align-items:center;gap:8px;min-width:260px;padding:0 12px;transition:border-color .2s;display:flex}.ponto-search-box:focus-within{border-color:var(--primary-color,#00b8d4)}.ponto-search-icon{color:var(--text-secondary);pointer-events:none;flex-shrink:0;font-size:17px}.ponto-search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:10px 0;font-size:14px}.th-sort:hover{background-color:#ebebeb}.sort-icon{vertical-align:middle;margin-left:4px;font-size:12px;display:inline-block}.sort-icon.muted{color:#bbb}.sort-icon.active{color:var(--primary-color,#00b8d4)}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 4px 4px;display:flex}.pagination-info{color:var(--text-secondary);font-size:13px}.pagination-controls{align-items:center;gap:4px;display:flex}.page-btn{border:1px solid var(--border-color,#e0e0e0);background:var(--bg-white,#fff);min-width:34px;height:34px;color:var(--text-primary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.page-btn:hover:not(:disabled):not(.active){background:#f0f0f0}.page-btn.active{background:var(--primary-color,#00b8d4);color:#fff;border-color:var(--primary-color,#00b8d4)}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-ellipsis{color:var(--text-secondary);padding:0 4px;font-size:14px}.ponto-emp-nome{align-items:center;gap:6px;font-weight:500;display:flex}.th-check,.td-check{text-align:center;width:36px;padding:0 4px}.badge-tipo{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.7rem;font-weight:700;display:inline-flex}.badge-r{color:#fff;background:#1565c0}.badge-t{color:#fff;background:#e65100}.ponto-legenda{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:10px;padding:0 4px;font-size:.8rem;display:flex}.ponto-center{text-align:center}.ponto-zero{color:#ccc}.ponto-empty{text-align:center;color:var(--text-secondary);padding:40px}.btn-sm{padding:5px 12px;font-size:.8rem}.badge-info{color:#1565c0;background:#e3f2fd}.badge-warning{color:#e65100;background:#fff3e0}.ponto-loading-page{justify-content:center;padding:60px;display:flex}@media (width<=600px){.ponto-page{padding:16px}.page-header{flex-direction:column}.ponto-mes-label-sm{min-width:120px}}.folha-modal-content{flex-direction:column;width:95vw;max-width:860px;max-height:90vh;display:flex}.folha-modal-sub{color:var(--text-secondary);margin:2px 0 0;font-size:.8rem}.folha-tab-body{flex:1;padding:20px;overflow-y:auto}.folha-status-bar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:14px;display:flex}.folha-status-badge{border-radius:20px;align-items:center;gap:5px;padding:4px 12px;font-size:.78rem;font-weight:600;display:inline-flex}.folha-status-badge.fechada{color:#15803d;background:#dcfce7}.folha-status-badge.pendente{color:#6b7280;background:#f3f4f6}.folha-status-actions{flex-wrap:wrap;gap:8px;display:flex}.folha-recalc-msg{color:var(--text-secondary);padding:12px 0;font-size:.85rem}.folha-verbas-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}@media (width<=640px){.folha-verbas-grid{grid-template-columns:1fr}}.folha-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0 0 8px;font-size:.72rem;font-weight:700}.folha-verba-table{border-collapse:collapse;width:100%;font-size:.85rem}.folha-verba-table thead th{background:var(--bg-secondary,#f4f6f8);text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding:6px 8px;font-size:.72rem;font-weight:700}.folha-verba-table tbody td{border-bottom:1px solid var(--border-color,#f0f0f0);vertical-align:middle;padding:7px 8px}.folha-verba-table tbody tr:last-child td{border-bottom:none}.folha-verba-table td.ref{width:100px;color:var(--text-secondary);font-size:.78rem}.folha-verba-table td.val{text-align:right;white-space:nowrap;font-weight:500}.folha-verba-table td.provento{color:#16a34a}.folha-verba-table td.desconto{color:#dc2626}.folha-verba-table td.destaque{color:var(--primary-color,#00b8d4);font-weight:700}.folha-verba-table tr.total-row td{background:var(--bg-secondary,#f4f6f8);border-top:2px solid var(--border-color);font-weight:600}.folha-verba-table tr.total-row.destaque td{background:#e0f7fa}.total-label{text-align:right;color:var(--text-primary)}.folha-empty{text-align:center;color:var(--text-secondary);padding:12px}.folha-totais-row{gap:12px;margin-top:4px;display:flex}.folha-total-box{background:var(--bg-secondary,#f4f6f8);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;flex:1;gap:4px;padding:10px 14px;display:flex}.folha-total-box.destaque{background:var(--primary-color,#00b8d4);border-color:var(--primary-color,#00b8d4)}.folha-total-box.destaque .ftb-label,.folha-total-box.destaque .ftb-val{color:#fff}.ftb-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-size:.7rem;font-weight:700}.ftb-val{color:var(--text-primary);font-size:.95rem;font-weight:700}.folha-verbas-override{border:1px solid var(--border-color);border-radius:8px;margin-top:20px;overflow:hidden}.folha-verbas-override summary{cursor:pointer;background:var(--bg-secondary,#f4f6f8);color:var(--text-secondary);-webkit-user-select:none;user-select:none;padding:10px 14px;font-size:.82rem;font-weight:600}.folha-verbas-inner-tabs{border-bottom:1px solid var(--border-color);background:var(--bg-secondary,#f4f6f8);display:flex}.folha-verbas-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 20px;font-size:.82rem;font-weight:600;transition:color .15s,border-color .15s}.folha-verbas-tab:hover{color:var(--text-primary)}.folha-verbas-tab.active{color:var(--primary-color,#00b8d4);border-bottom-color:var(--primary-color,#00b8d4);background:var(--card-bg,#fff)}.folha-override-grid{grid-template-columns:1fr 1fr;gap:16px;padding:14px;display:grid}@media (width<=520px){.folha-override-grid{grid-template-columns:1fr}}.folha-verba-toggle{cursor:pointer;color:var(--text-primary);align-items:center;gap:8px;padding:5px 0;font-size:.84rem;display:flex}.folha-verba-toggle.modified{color:var(--primary-color,#00b8d4)}.folha-override-badge{background:var(--primary-color,#00b8d4);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-left:auto;display:inline-flex}.folha-subinput-block{margin-top:5px;margin-bottom:2px;margin-left:24px}.folha-subinput-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.folha-subinput-label{color:var(--text-secondary);white-space:nowrap;font-size:.8rem}.folha-subinput-hint{color:var(--text-secondary);font-size:.75rem;font-style:italic}.fin-timeline{padding:0 4px}.fin-timeline-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0 0 16px;font-size:.78rem;font-weight:700}.fin-timeline-list{flex-direction:column;padding-left:28px;display:flex;position:relative}.fin-timeline-list:before{content:"";background:var(--border-color,#e0e0e0);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:6px}.fin-timeline-item{align-items:center;gap:10px;padding:8px 0;display:flex;position:relative}.fin-tl-dot{background:#cbd5e1;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:14px;height:14px;position:absolute;left:-28px;box-shadow:0 0 0 1.5px #cbd5e1}.fin-timeline-item.fin-current .fin-tl-dot{background:var(--primary-color,#00b8d4);box-shadow:0 0 0 1.5px var(--primary-color,#00b8d4)}.fin-tl-text{color:var(--text-secondary);font-size:.88rem}.fin-timeline-item.fin-current .fin-tl-text{color:var(--text-primary)}.fin-timeline-item.fin-current .fin-tl-text strong{color:var(--primary-color,#00b8d4)}.fin-tl-delete{cursor:pointer;color:#cbd5e1;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;margin-left:auto;padding:4px 6px;transition:color .15s,background .15s;display:flex}.fin-tl-delete:hover{color:#ef4444;background:#fee2e2}.folha-ferias-header,.folha-rescisao-header{flex-wrap:wrap;align-items:flex-end;gap:20px;margin-bottom:4px;display:flex}.folha-fgts-info{color:#92400e;background:#fef9c3;border:1px solid #fde68a;border-radius:8px;flex-wrap:wrap;gap:20px;margin-top:12px;padding:10px 14px;font-size:.84rem;display:flex}.folha-page{max-width:1300px;margin:0 auto}.folha-toolbar{background:var(--card-bg,#fff);border:1px solid var(--border-color);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;display:flex}.folha-month-nav{align-items:center;gap:6px;display:flex}.month-nav-btn{border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);background:0 0;border-radius:6px;align-items:center;padding:4px 8px;transition:background .15s;display:flex}.month-nav-btn:hover{background:var(--hover-bg,#f0f4f8)}.month-label{text-align:center;cursor:pointer;min-width:120px;color:var(--text-primary);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:.95rem;font-weight:600}.month-label:hover{background:var(--hover-bg,#f0f4f8)}.mes-picker-wrap{position:relative}.mes-picker-trigger{justify-content:center;align-items:center;display:inline-flex}.mes-picker-backdrop{z-index:99;position:fixed;inset:0}.mes-picker-dropdown{z-index:100;background:var(--card-bg,#fff);border:1px solid var(--border-color);border-radius:10px;min-width:220px;padding:12px;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000001f}.mes-picker-year{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.mes-picker-year span{font-size:.95rem;font-weight:700}.mes-picker-year button{border:1px solid var(--border-color);cursor:pointer;color:var(--text-primary);background:0 0;border-radius:6px;align-items:center;padding:3px 8px;display:flex}.mes-picker-year button:hover:not(:disabled){background:var(--hover-bg,#f0f4f8)}.mes-picker-year button:disabled{opacity:.35;cursor:not-allowed}.mes-picker-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.mes-picker-month{cursor:pointer;color:var(--text-primary);text-align:center;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 4px;font-size:.82rem;transition:background .15s,border-color .15s}.mes-picker-month:hover:not(:disabled){background:var(--hover-bg,#f0f4f8);border-color:var(--border-color)}.mes-picker-month.selected{background:var(--primary-color,#00b8d4);color:#fff;border-color:var(--primary-color,#00b8d4);font-weight:600}.mes-picker-month:disabled{opacity:.3;cursor:not-allowed}.folha-search-wrap{flex:1;min-width:180px;position:relative}.folha-search-icon{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.folha-search{border:1px solid var(--border-color);background:var(--input-bg,#fff);width:100%;color:var(--text-primary);border-radius:8px;padding:7px 10px 7px 32px;font-size:.88rem}.folha-search:focus{border-color:var(--primary-color,#00b8d4);outline:none}.folha-filter-group{background:var(--bg-secondary,#f4f6f8);border-radius:8px;gap:4px;padding:3px;display:flex}.folha-filter-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:.82rem;transition:background .15s,color .15s}.folha-filter-btn.active{background:var(--card-bg,#fff);color:var(--primary-color,#00b8d4);font-weight:600;box-shadow:0 1px 3px #00000014}.folha-filter-select{max-width:200px;font-size:.88rem}.folha-total-chip{background:var(--primary-color,#00b8d4);color:#fff;white-space:nowrap;border-radius:20px;padding:5px 14px;font-size:.82rem}.folha-total-chip strong{font-size:.88rem}.folha-gerar-wrap{position:relative}.folha-gerar-btn{align-items:center;gap:6px;display:flex}.folha-gerar-menu{background:var(--card-bg,#fff);border:1px solid var(--border-color);z-index:100;border-radius:10px;min-width:220px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 4px 20px #0000001f}.folha-gerar-menu button{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:11px 16px;font-size:.88rem;transition:background .15s;display:flex}.folha-gerar-menu button:hover{background:var(--hover-bg,#f0f4f8)}.emp-nome{font-weight:500}.emp-tipo-badge{vertical-align:middle;border-radius:4px;margin-left:6px;padding:1px 5px;font-size:.7rem;font-weight:700;display:inline-block}.emp-tipo-badge.registrado{color:#1d4ed8;background:#dbeafe}.emp-tipo-badge.temporario{color:#b45309;background:#fef3c7}.val-provento{color:#16a34a;font-weight:500}.val-desconto{color:#dc2626;font-weight:500}.val-liquido{color:var(--primary-color,#00b8d4);font-weight:700}.folha-status{border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.folha-status.fechada{color:#15803d;background:#dcfce7}.folha-status.pendente{color:#6b7280;background:#f3f4f6}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sort:hover{color:var(--primary-color,#00b8d4)}.th-sort svg{vertical-align:middle;margin-left:4px}.folha-select-modal{max-width:480px}.folha-select-list{flex-direction:column;gap:10px;max-height:360px;padding:16px 20px;display:flex;overflow-y:auto}.folha-select-all{border-bottom:1px solid var(--border-color);margin-bottom:2px;padding-bottom:10px;font-weight:600}.notifications-modal{background:var(--bg-white);border-radius:12px;flex-direction:column;width:90%;max-width:500px;max-height:80vh;display:flex;box-shadow:0 20px 60px #0000004d}.modal-header-actions{align-items:center;gap:12px;display:flex}.mark-all-btn{color:var(--primary-color);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:background-color .2s}.mark-all-btn:hover{background-color:#00b8d41a}.notifications-list{flex:1;overflow-y:auto}.notification-item{border-bottom:1px solid var(--border-color);cursor:pointer;align-items:flex-start;gap:12px;padding:16px 24px;transition:background-color .2s;display:flex;position:relative}.notification-item:hover{background-color:var(--bg-main)}.notification-item.unread{background-color:#00b8d40d}.notification-icon{flex-shrink:0;margin-top:2px;font-size:24px}.notification-icon.error{color:var(--error)}.notification-icon.success{color:var(--success)}.notification-icon.info{color:var(--info)}.notification-content{flex:1;min-width:0}.notification-message{color:var(--text-primary);margin:0 0 6px;font-size:14px;line-height:1.5}.notification-time{color:var(--text-secondary);font-size:12px}.unread-dot{background-color:var(--primary-color);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:8px}.no-notifications{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.no-notifications-icon{opacity:.5;margin-bottom:16px;font-size:48px}.no-notifications p{margin:0;font-size:16px}.layout{background:var(--bg-main);min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border-color);z-index:100;background:#fff;flex-direction:column;width:260px;transition:width .3s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;box-shadow:4px 0 16px #0000000f}.sidebar.collapsed{width:72px}.sidebar-logo{border-bottom:1px solid var(--border-color);justify-content:center;align-items:center;min-height:76px;padding:20px 24px;display:flex}.sidebar.collapsed .sidebar-logo{min-height:64px;padding:14px 10px}.logo-full-img{object-fit:contain;width:100%;max-width:150px;height:auto}.logo-icon-img{object-fit:contain;width:38px;height:38px}.sidebar-nav{flex:1;padding:16px 0;overflow:hidden auto}.nav-section-label{letter-spacing:1.5px;color:#94a3b8;white-space:nowrap;padding:16px 24px 8px;font-size:10px;font-weight:700;display:block}.nav-item{color:#64748b;white-space:nowrap;border-left:3px solid #0000;align-items:center;gap:14px;margin:2px 0;padding:12px 24px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:14px}.nav-item:hover{color:var(--brand-navy);background:#f0f7ff;border-left-color:#2bb5e866}.nav-item.active{color:var(--brand-navy);border-left-color:var(--brand-navy);background:#1b1f6e12;font-weight:600}.nav-icon{flex-shrink:0;font-size:18px}.nav-label{flex:1}.main-content{flex-direction:column;flex:1;min-width:0;min-height:100vh;margin-left:260px;transition:margin-left .3s;display:flex;overflow-x:hidden}.main-content.expanded{margin-left:72px}.top-header{background:var(--bg-header);z-index:90;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0;box-shadow:0 2px 12px #1b1f6e59}.header-left{align-items:center;gap:20px;display:flex}.menu-toggle{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;transition:background .2s;display:flex}.menu-toggle:hover{background:#ffffff26}.header-user{flex-direction:column;display:flex}.header-user-name{color:#f1f5f9;font-size:14px;font-weight:600;line-height:1.2}.header-user-role{color:#94a3b8;font-size:11px;line-height:1.2}.header-breadcrumb{align-items:center;gap:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.breadcrumb-root{color:#64748b;letter-spacing:.5px;font-size:13px;font-weight:500}.breadcrumb-sep{color:#475569;font-size:13px}.breadcrumb-current{color:#cbd5e1;font-size:13px;font-weight:600}.header-right{align-items:center;gap:8px;display:flex}@keyframes bell-attention{0%,60%,to{transform:rotate(0)scale(1)}10%{transform:rotate(-14deg)scale(1.12)}20%{transform:rotate(14deg)scale(1.12)}30%{transform:rotate(-10deg)scale(1.06)}40%{transform:rotate(10deg)scale(1.06)}50%{transform:rotate(-4deg)}}@keyframes bell-glow{0%,to{box-shadow:0 0 #fbbf248c}50%{box-shadow:0 0 0 7px #fbbf2400}}.notification-btn{color:#e2e8f0;cursor:pointer;background:#ffffff14;border:none;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;transition:background .2s,color .2s;display:flex;position:relative}.notification-btn:hover{background:#ffffff26}.notification-btn.needs-permission{color:#fbbf24;background:#fbbf2426;animation:2.8s ease-in-out infinite bell-attention,2.8s ease-in-out infinite bell-glow}.notification-btn.needs-permission:hover{background:#fbbf2440}.notification-badge{color:#fff;text-align:center;background:#ef4444;border-radius:10px;min-width:16px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.4;position:absolute;top:4px;right:4px}.notification-badge.permission-badge{background:#f59e0b;min-width:14px;padding:1px 4px;font-size:10px}.logout-btn{color:#e2e8f0;cursor:pointer;white-space:nowrap;background:#ffffff14;border:none;border-radius:8px;align-items:center;gap:6px;height:38px;padding:0 14px;font-size:14px;font-weight:500;transition:background .2s;display:flex}.logout-btn svg{font-size:16px}.logout-btn:hover{color:#fca5a5;background:#ef444440}.page-content{flex:1;padding:28px}.sidebar-backdrop{display:none}@media (width<=768px){.sidebar{z-index:1000;transition:transform .25s,width .25s;transform:translate(-100%);width:240px!important}.sidebar.mobile-open{transform:translate(0)}.sidebar.mobile-open .nav-item{justify-content:flex-start;gap:14px;padding:12px 24px}.sidebar-backdrop{z-index:999;background:#00000073;display:block;position:fixed;inset:0}.main-content{width:100%;margin-left:0!important}.main-content.expanded{margin-left:0!important}.header-breadcrumb{display:none}.page-content{padding:16px}.logout-btn span{display:none}.logout-btn{padding:0 10px}}*{box-sizing:border-box;margin:0;padding:0}:root{--brand-navy:#1b1f6e;--brand-sky:#2bb5e8;--brand-teal:#3ec9a3;--brand-ocean:#006fb4;--brand-white:#f8fafc;--primary-color:#2bb5e8;--primary-dark:#006fb4;--primary-light:#3ec9a3;--secondary-color:#1b1f6e;--bg-main:#f8fafc;--bg-white:#fff;--bg-sidebar:#1b1f6e;--bg-header:#1b1f6e;--text-primary:#1a1a2e;--text-secondary:#6b7280;--border-color:#e5e7eb;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--status-orcamento:#f59e0b;--status-andamento:#3b82f6;--status-finalizado:#22c55e;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-lg:0 12px 40px #00000024}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-main);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{min-height:100vh}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}select:required,input:required,textarea:required{box-shadow:none}select:required:after,input:required:after,textarea:required:after{content:none!important;display:none!important}label:has(+select:required):after{content:none!important;display:none!important}label:has(+input:required):after{content:none!important;display:none!important}label:has(+textarea:required):after{content:none!important;display:none!important}a{color:inherit;text-decoration:none}.container{max-width:1400px;margin:0 auto;padding:0 20px}.btn{border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s;display:inline-flex}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 8px #2bb5e84d}.btn-secondary{background-color:var(--text-secondary);color:#fff}.btn-secondary:hover{background-color:#616161}.btn-danger{background-color:var(--error);color:#fff}.btn-danger:hover{background-color:#d32f2f}.btn-success{color:#fff;background-color:#4caf50}.btn-success:hover{background-color:#388e3c;transform:translateY(-2px);box-shadow:0 4px 8px #4caf504d}.card{background:var(--bg-white);border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.card-header{color:var(--text-primary);margin-bottom:16px;font-size:18px;font-weight:600}.form-group{margin-bottom:16px}.form-label{color:var(--text-primary);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-label:after{content:none!important;display:none!important}.form-input{border:1px solid var(--border-color);border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .3s}.form-input:after,.form-input:before{content:none!important;display:none!important}.form-input:focus{border-color:var(--primary-color);outline:none}.checkbox-label{cursor:pointer;color:#475569;align-items:center;gap:8px;padding:6px 0;font-size:13px;font-weight:500;transition:color .15s;display:inline-flex}.checkbox-label:has(input:checked){color:#166534}.checkbox-label input[type=checkbox]{accent-color:#4caf50;flex-shrink:0;width:16px;height:16px}.badge{border-radius:12px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.badge-orcamento{color:#856404;background-color:#fff3cd}.badge-aprovado{color:#6a1b9a;background-color:#ede7f6}.badge-andamento{color:#004085;background-color:#cce5ff}.badge-finalizado{color:#155724;background-color:#d4edda}.table-container{background:var(--bg-white);border-radius:8px;overflow-x:auto;box-shadow:0 2px 4px #0000001a}table{border-collapse:collapse;width:100%}thead{background-color:var(--bg-main)}th{text-align:left;color:var(--text-secondary);text-transform:uppercase;padding:12px 16px;font-size:13px;font-weight:600}td{border-bottom:1px solid var(--border-color);padding:12px 16px;font-size:14px}tbody tr{cursor:pointer;transition:background-color .2s}tbody tr:hover{background-color:#f0f7ff}.modal-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-white);border-radius:14px;flex-direction:column;width:100%;max-width:560px;max-height:92vh;padding:0;display:flex;overflow-y:auto;box-shadow:0 24px 64px #0003}.modal-header{background:linear-gradient(135deg,#1b1f6e 0%,#22276b 100%);border-radius:14px 14px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-title{color:#fff;font-size:16px;font-weight:600}.close-btn,.modal-close{color:#ffffffb3;cursor:pointer;background:0 0;border:none;padding:0;font-size:22px;line-height:1;transition:color .15s}.close-btn:hover,.modal-close:hover{color:#fff}.modal-content form,.modal-content .modal-body,.modal-content .modal-form{flex:1;padding:24px}.modal-content .modal-actions{border-top:1px solid var(--border-color);background:#f8fafc;border-radius:0 0 14px 14px;margin-top:0;padding:14px 24px}.toast{background:var(--bg-white);z-index:1001;border-radius:8px;width:calc(100vw - 32px);max-width:380px;padding:16px 20px;animation:.3s slideIn;position:fixed;bottom:20px;right:16px;box-shadow:0 4px 12px #00000026}.loading{justify-content:center;align-items:center;padding:40px;display:flex}.spinner{border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
