.home-page{display:grid;gap:18px}.home-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.home-widgets{display:grid;gap:14px;grid-template-columns:minmax(280px,1.45fr) repeat(3,minmax(220px,1fr))}.home-main-widget{grid-row:span 2;min-height:320px}.home-productivity{align-items:center;display:flex;gap:20px;justify-content:space-between;margin-top:22px}.home-productivity strong{color:var(--text);display:block;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:0;line-height:1}.home-note,.home-productivity span{color:var(--muted);display:block;font-size:.88rem;margin-top:8px}.home-donut{align-items:center;aspect-ratio:1;background:radial-gradient(circle at center,var(--surface) 0 58%,transparent 59%),conic-gradient(var(--accent) var(--home-progress),var(--border) 0);border-radius:50%;display:grid;justify-items:center;min-width:138px;place-content:center}.home-donut b{color:var(--text);font-size:1.15rem}.home-donut span{color:var(--muted);font-size:.74rem;margin-top:2px}.home-progress{background:var(--border);border-radius:999px;height:9px;margin-top:24px;overflow:hidden}.home-progress span{background:linear-gradient(90deg,var(--accent),var(--accent-strong));display:block;height:100%}.home-summary-card{min-height:150px}.home-summary-card.unavailable{border-style:dashed}.home-summary-value{color:var(--text);font-size:1.45rem;font-weight:800;letter-spacing:0;line-height:1.15;margin:18px 0 12px}.home-chart-row{display:grid;gap:10px}.home-chart-toggle{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;display:inline-flex;gap:4px;justify-self:end;padding:4px}.home-chart-toggle button{background:transparent;border:0;border-radius:999px;color:var(--muted);cursor:pointer;font-weight:700;min-height:32px;padding:0 14px}.home-chart-toggle button.active{background:var(--accent);color:var(--accent-ink)}.home-chart-card{min-height:350px}.home-workspace{display:grid;gap:14px;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr)}.home-ranking-list,.home-today-list{display:grid;gap:10px;margin-top:16px}.home-ranking-row,.home-today-row{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:grid;gap:12px;padding:12px}.home-ranking-row{grid-template-columns:42px minmax(120px,1fr) auto}.home-ranking-row .rank{color:var(--accent);font-weight:900}.home-ranking-row strong,.home-today-meta strong{color:var(--text)}.home-today-row{grid-template-columns:minmax(180px,1fr) auto}.home-ranking-row b,.home-today-row b{color:var(--text);display:block}.home-today-row span{color:var(--muted);display:block;font-size:.85rem}.home-today-meta{align-items:flex-end;display:grid;gap:3px;justify-items:end}@media (max-width:1180px){.home-widgets,.home-workspace{grid-template-columns:1fr 1fr}.home-main-widget{grid-column:1/-1;grid-row:auto}}@media (max-width:760px){.home-actions,.home-productivity{align-items:stretch;flex-direction:column}.home-widgets,.home-workspace{grid-template-columns:1fr}.home-chart-toggle{justify-self:stretch}.home-chart-toggle button{flex:1}.home-ranking-row,.home-today-row{grid-template-columns:1fr}.home-today-meta{align-items:start;justify-items:start}}@media print{.home-actions,.home-chart-toggle,.sidebar,.topbar{display:none!important}.app,.main,.page{display:block!important;margin:0!important;padding:0!important}.panel-card{-moz-column-break-inside:avoid;break-inside:avoid;box-shadow:none!important}}.operational-map-page{display:grid;gap:16px}.map-filters{align-items:end;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.map-filters label{display:grid;gap:6px;min-width:160px}.map-filters span{color:var(--muted);font-size:.78rem;font-weight:700}.map-gap-notice{align-items:center;background:color-mix(in srgb,var(--warning) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--warning) 35%,var(--border));border-radius:8px;color:var(--text);display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 12px}.map-gap-notice span{color:var(--muted)}.operational-map-layout{display:grid;gap:14px;grid-template-columns:minmax(420px,1fr) minmax(310px,.34fr)}.operational-map-shell{min-height:680px;padding:10px;position:relative}.map-legend{align-items:center;display:flex;flex-wrap:wrap;gap:8px 14px;padding:4px 6px 12px}.map-legend span{align-items:center;color:var(--muted);display:inline-flex;font-size:.82rem;font-weight:700;gap:6px}.map-legend i,.map-list-dot{border-radius:999px;display:inline-block;height:10px;width:10px}.map-legend .base-dot{background:var(--text);border-radius:3px;transform:rotate(45deg)}.operational-map-canvas,.operational-map-empty{border:1px solid var(--border);border-radius:8px;min-height:610px;overflow:hidden}.operational-map-empty{align-items:center;color:var(--muted);display:grid;justify-items:center}.map-marker-work-order{background:var(--marker-color);border:3px solid #fff;border-radius:999px 999px 999px 4px;box-shadow:0 10px 24px rgba(15,23,42,.28);cursor:pointer;height:22px;transform:rotate(-45deg);width:22px}.map-marker-work-order:after{background:#fff;border-radius:999px;content:"";height:6px;left:5px;position:absolute;top:5px;width:6px}.map-marker-base{background:var(--text);border:3px solid var(--surface);border-radius:4px;box-shadow:0 10px 24px rgba(15,23,42,.28);height:24px;transform:rotate(45deg);width:24px}.map-popup{display:grid;gap:3px;min-width:180px}.map-popup strong{color:var(--text)}.map-popup span{color:var(--muted);font-size:.82rem}.map-floating-popup{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 18px 44px rgba(15,23,42,.18);display:grid;gap:4px;left:28px;max-width:280px;padding:12px;position:absolute;top:74px;z-index:2}.map-floating-popup b,.map-floating-popup strong{color:var(--text)}.map-floating-popup span{color:var(--muted);font-size:.84rem}.operational-map-side{display:grid;gap:14px}.map-detail-card,.map-list-card{min-height:0}.map-status-pill{border:1px solid;border-radius:999px;font-size:.74rem;font-weight:800;padding:6px 10px}.map-detail-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:18px}.map-metric{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;display:grid;gap:4px;padding:10px}.map-metric span{color:var(--muted);font-size:.76rem;font-weight:700}.map-metric b{color:var(--text);line-height:1.2}.map-work-order-list{display:grid;gap:8px;margin-top:14px;max-height:410px;overflow:auto}.map-work-order-list button{align-items:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;display:grid;gap:10px;grid-template-columns:12px minmax(120px,1fr) auto;padding:10px;text-align:left}.map-work-order-list button.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}.map-work-order-list b,.map-work-order-list small{display:block}.map-work-order-list small{color:var(--muted);margin-top:2px}.map-work-order-list strong{color:var(--text);white-space:nowrap}@media (max-width:1120px){.operational-map-layout{grid-template-columns:1fr}.operational-map-shell{min-height:560px}.operational-map-canvas,.operational-map-empty{min-height:500px}}@media (max-width:760px){.map-filters{justify-content:stretch}.map-filters label{min-width:100%}.map-detail-grid,.map-work-order-list button{grid-template-columns:1fr}}.projects-page{display:grid;gap:16px}.projects-notice{background:color-mix(in srgb,var(--positive) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--positive) 38%,var(--border));border-radius:var(--radius);color:var(--text);font-weight:850;padding:12px 14px}.projects-filters{align-items:end;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:14px}.projects-search{display:grid;gap:7px;max-width:420px;position:relative;width:min(100%,420px)}.projects-search span{color:var(--muted);font-size:12px;font-weight:850}.projects-search svg{bottom:13px;color:var(--muted);left:12px;position:absolute}.projects-search input{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;color:var(--text);height:42px;padding:0 12px 0 36px}.project-filter-chip:focus-visible,.project-modal button:focus-visible,.project-row:focus-visible,.projects-search input:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 32%,transparent);outline-offset:2px}.projects-status-filter{display:flex;flex-wrap:wrap;gap:8px}.project-filter-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;color:var(--text);cursor:pointer;font-size:12px;font-weight:850;min-height:36px;padding:0 12px}.project-filter-chip.active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 42%,var(--border));color:var(--accent)}.projects-table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:auto}.projects-table{border-collapse:separate;border-spacing:0;min-width:1180px;width:100%}.projects-table caption{height:1px;overflow:hidden;position:absolute;width:1px}.projects-table td,.projects-table th{border-bottom:1px solid var(--border);font-size:13px;padding:14px;text-align:left;vertical-align:middle}.projects-table th{background:var(--surface-3);color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.projects-table tr:last-child td{border-bottom:0}.project-row{cursor:pointer}.project-row:focus-visible td,.project-row:hover td{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.project-budget strong,.project-row strong{color:var(--text);display:block;line-height:1.25}.project-budget span,.project-meta{color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:6px;margin-top:5px}.project-status-badge{border:1px solid var(--border);border-radius:999px;display:inline-flex;font-size:11px;font-weight:900;letter-spacing:.06em;padding:6px 10px;text-transform:uppercase;white-space:nowrap}.project-status-badge.pre_cadastro{background:var(--surface-2);color:var(--muted)}.project-status-badge.planejamento{background:var(--amber-bg);border-color:color-mix(in srgb,var(--warning) 35%,var(--border));color:var(--warning)}.project-status-badge.em_execucao{background:var(--green-50);border-color:color-mix(in srgb,var(--positive) 35%,var(--border));color:var(--positive)}.project-status-badge.paralisada{background:color-mix(in srgb,var(--negative) 10%,var(--surface));border-color:color-mix(in srgb,var(--negative) 35%,var(--border));color:var(--negative)}.project-status-badge.concluida{background:var(--blue-bg);border-color:color-mix(in srgb,var(--blue) 35%,var(--border));color:var(--blue)}.project-deadline{display:block;font-size:12px;font-weight:800;margin-top:5px}.project-deadline.ok{color:var(--positive)}.project-deadline.risk{color:var(--negative)}.project-deadline.warning{color:var(--warning)}.project-deadline.muted{color:var(--muted)}.project-budget{min-width:150px}.project-progress{display:grid;gap:7px;min-width:150px}.project-progress span{color:var(--text);font-family:var(--font-mono);font-size:12px;font-weight:900}.project-progress-bar{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.project-progress-bar i{background:linear-gradient(90deg,var(--green-500),var(--accent));border-radius:inherit;display:block;height:100%}.project-modal-backdrop{align-items:center;background:rgba(15,23,42,.48);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:50}.project-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 28px 80px rgba(15,23,42,.32);display:grid;gap:18px;max-width:560px;padding:22px;width:min(100%,560px)}.project-modal h2{font-family:var(--font-display);font-size:24px;letter-spacing:0;margin:12px 0 6px}.project-modal p{color:var(--muted);margin:0}.project-modal dl{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.project-modal dt{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.project-modal dd{font-weight:850;margin:3px 0 0}@media (max-width:820px){.projects-filters{align-items:stretch}.projects-search{max-width:none}.project-modal dl{grid-template-columns:1fr}}.project-modal-premium{animation:project-modal-in .16s ease-out;max-height:min(92vh,920px);max-width:1120px;overflow:hidden;padding:0;width:min(96vw,1120px)}.project-modal-footer,.project-modal-head{align-items:center;display:flex;gap:16px;justify-content:space-between;padding:18px 22px}.project-modal-head{border-bottom:1px solid var(--border)}.project-modal-head h2{margin:8px 0 4px}.project-modal-footer span,.project-modal-head p,.project-panel-head span{color:var(--muted);font-size:12px}.project-modal-chips,.project-modal-footer div,.project-switches{display:flex;flex-wrap:wrap;gap:8px}.project-soft-chip{color:var(--muted);font-size:11px;padding:6px 10px}.project-modal-close,.project-soft-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;font-weight:850}.project-modal-close{color:var(--text);cursor:pointer;min-height:36px;padding:0 14px}.project-modal-tabs{border-bottom:1px solid var(--border);display:flex;gap:4px;overflow-x:auto;padding:0 16px}.project-modal-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);cursor:pointer;font-weight:900;min-height:48px;padding:0 12px;white-space:nowrap}.project-modal-tabs button.active{border-color:var(--accent);color:var(--text)}.project-modal-tabs span{background:var(--surface-3);border-radius:999px;font-size:10px;margin-left:6px;padding:2px 6px}.project-modal-body{display:grid;gap:16px;max-height:calc(92vh - 190px);overflow:auto;padding:18px 22px}.project-tab-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.project-kpis{display:grid;gap:12px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.project-form-panel,.project-kpi-card,.project-modal-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px}.project-kpi-card{display:grid;gap:7px;min-height:128px}.project-files-icon,.project-kpi-card svg{color:var(--accent)}.project-field span,.project-kpi-card span,.project-metric span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.project-kpi-card b,.project-metric b{color:var(--text);font-variant-numeric:tabular-nums}.project-field small,.project-kpi-card small,.project-timeline small{color:var(--muted);font-size:12px}.project-kpi-ring-card{align-items:center;justify-items:center;text-align:center}.project-ring{align-items:center;background:conic-gradient(var(--accent) var(--project-progress),var(--surface-3) 0);border-radius:999px;display:grid;height:72px;position:relative;width:72px}.project-ring:after{background:var(--surface-2);border-radius:inherit;content:"";inset:8px;position:absolute}.project-ring b{position:relative;z-index:1}.project-form-panel,.project-modal-panel.wide{grid-column:1/-1}.project-form-panel h3,.project-modal-panel h3{margin:0 0 10px}.project-form-panel p,.project-modal-panel p{color:var(--muted);line-height:1.55;margin:0}.project-metric{border-top:1px solid var(--border);display:grid;gap:3px;padding:10px 0 0}.project-panel-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.project-timeline{display:grid;gap:14px;list-style:none;margin:0;padding:0}.project-timeline li{display:grid;gap:12px;grid-template-columns:18px minmax(0,1fr)}.project-timeline i{background:var(--surface-3);border:2px solid var(--border-strong);border-radius:999px;height:16px;margin-top:2px;width:16px}.project-timeline li.done i{background:var(--positive);border-color:var(--positive)}.project-timeline b,.project-timeline small,.project-timeline span{display:block}.project-timeline span{color:var(--text);font-family:var(--font-mono);font-size:12px;margin-top:2px}.project-os-list{display:grid;gap:10px}.project-os-list article{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto auto;padding:12px}.project-os-list span,.project-tab-empty{color:var(--muted)}.project-text-link{color:var(--accent);font-size:12px;font-weight:900}.project-modal-panel.disabled,.project-tab-empty{align-items:center;display:grid;justify-items:center;min-height:180px;text-align:center}.project-billing-list{display:grid;gap:12px}.project-billing-intro{color:var(--muted);font-size:13px;line-height:1.5;margin:0}.project-billing-document{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px}.project-billing-document header{align-items:start;display:flex;gap:16px;justify-content:space-between}.project-billing-document h3{margin:8px 0 0;overflow-wrap:anywhere}.project-billing-document header>b{font-family:var(--font-mono);white-space:nowrap}.project-billing-document dl{display:grid;gap:0;margin:14px 0 0}.project-billing-document dl>div{border-top:1px solid var(--border);display:grid;gap:14px;grid-template-columns:minmax(150px,.75fr) minmax(0,1fr);padding:9px 0}.project-billing-document dt{color:var(--muted);font-size:12px}.project-billing-document dd{margin:0;overflow-wrap:anywhere;text-align:right}.project-skeleton{display:grid;gap:10px}.project-skeleton i{animation:project-skeleton 1.2s ease-in-out infinite;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));border-radius:10px;display:block;height:42px}.project-modal-premium a:focus-visible,.project-modal-premium button:focus-visible,.project-modal-premium input:focus-visible,.project-modal-premium select:focus-visible,.project-modal-premium textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 32%,transparent);outline-offset:2px}@keyframes project-modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes project-skeleton{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.project-modal-premium,.project-skeleton i{animation:none}}.project-services-tab,.project-work-orders-tab{display:grid;gap:16px;padding:4px 0}.project-services-header,.work-orders-subtab-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.project-services-header h3,.work-orders-subtab-header h3{font-size:16px;font-weight:850;margin:0}.project-services-header p,.work-orders-subtab-header p{color:var(--muted);font-size:12px;margin:2px 0 0}.project-services-kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.project-service-kpi{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius,12px);display:flex;flex-direction:column;gap:4px;padding:12px 16px}.project-service-kpi span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.project-service-kpi strong{font-family:var(--font-mono);font-size:18px;font-weight:900}.project-services-empty,.project-work-orders-empty{align-items:center;background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius,12px);display:flex;flex-direction:column;gap:10px;justify-content:center;padding:36px 20px;text-align:center}.project-services-empty p,.project-work-orders-empty p{color:var(--muted);font-size:13px;margin:0}.project-services-table-wrap{border:1px solid var(--border);border-radius:var(--radius,12px);max-height:480px;max-width:100%;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.od-detail-table,.od-selected-services-table,.project-services-table{border-collapse:separate;border-spacing:0;min-width:780px;width:100%}.od-detail-table td,.od-detail-table th,.od-selected-services-table td,.od-selected-services-table th,.project-services-table td,.project-services-table th{border-bottom:1px solid var(--border);font-size:12px;padding:10px 12px;vertical-align:middle}.od-detail-table th,.od-selected-services-table th,.project-services-table th{background:var(--surface-3);color:var(--muted);font-weight:800;position:sticky;top:0;z-index:2}.od-detail-table tbody tr:hover,.od-selected-services-table tbody tr:hover,.project-services-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.service-desc-cell{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:normal}.muted-cell{color:var(--muted);font-size:11px}.photo-toggle-btn{align-items:center;border-radius:999px;cursor:pointer;display:inline-flex;font-size:11px;font-weight:800;gap:6px;padding:4px 10px;transition:all .15s ease}.photo-toggle-btn.active{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.4);color:#10b981}.photo-toggle-btn.inactive{background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.photo-toggle-btn:hover{opacity:.85}.photo-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;gap:4px;padding:3px 8px}.photo-badge.foto-sim{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.35);color:#10b981}.photo-badge.foto-nao{background:var(--surface-3);border:1px solid var(--border);color:var(--muted)}.amber-badge{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.35);border-radius:999px;display:inline-flex;font-size:11px;gap:4px;padding:3px 8px}.amber-badge,.amber-pill{color:#d97706;font-weight:800}.amber-pill{background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.4);border-radius:999px;font-size:10px;padding:2px 6px}.service-add-modal{max-width:600px;width:min(94vw,600px)}.service-modal-form{display:grid;gap:16px;padding:16px 22px 22px}.service-field-group{display:grid;gap:6px;position:relative}.service-field-label{display:flex;justify-content:space-between;font-size:12px;font-weight:700}.service-search-container{position:relative}.service-search-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius,10px);color:var(--text);font-size:13px;height:42px;padding:0 12px;width:100%}.service-search-clear{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:11px;font-weight:700;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.service-typeahead-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius,10px);box-shadow:0 12px 28px rgba(0,0,0,.28);left:0;max-height:240px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.service-typeahead-item{border-bottom:1px solid var(--border);cursor:pointer;display:grid;gap:2px;padding:8px 12px;transition:background .12s ease}.service-typeahead-item:last-child{border-bottom:none}.service-typeahead-item:hover{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.typeahead-code{color:var(--accent);font-size:11px;font-weight:800}.typeahead-desc{font-size:12px;line-height:1.3}.typeahead-us{color:var(--muted);font-size:11px}.service-selected-card{background:color-mix(in srgb,var(--accent) 6%,var(--surface-2));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));display:flex;justify-content:space-between;align-items:center;padding:10px 14px}.selected-code{color:var(--accent);font-weight:850;margin-right:8px}.selected-desc{font-size:13px}.selected-meta{font-size:12px;white-space:nowrap}.service-field-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}.service-field{display:grid;gap:6px;font-size:12px;font-weight:700}.service-field input{color:var(--text)}.service-field input,.service-readonly-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius,10px);font-size:14px;height:40px;padding:0 12px}.service-photo-toggle-section,.service-readonly-box{align-items:center;display:flex}.service-photo-toggle-section{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius,10px);gap:16px;justify-content:space-between;padding:12px 16px}.photo-toggle-text{display:grid;gap:4px}.photo-toggle-title{align-items:center;display:flex;gap:8px;font-size:13px;font-weight:800}.photo-toggle-desc{color:var(--muted);font-size:11px;line-height:1.35;margin:0}.switch-container{cursor:pointer;display:inline-block;height:24px;position:relative;width:44px;flex-shrink:0}.switch-container input{height:0;opacity:0;width:0}.switch-slider{background-color:var(--surface-3);border:1px solid var(--border);border-radius:999px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.2s}.switch-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:16px;left:3px;position:absolute;transition:.2s;width:16px}.switch-container input:checked+.switch-slider{background-color:#10b981;border-color:#10b981}.switch-container input:checked+.switch-slider:before{transform:translateX(20px)}.service-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.project-work-orders-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}.project-work-order-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius,12px);cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:14px 16px;text-align:left;transition:all .14s ease;width:100%}.project-work-order-card:hover{border-color:var(--accent);box-shadow:var(--shadow-soft,0 4px 12px rgba(0,0,0,.12));transform:translateY(-1px)}.project-work-order-card-header{align-items:center;display:flex;justify-content:space-between;width:100%}.od-card-code{font-family:var(--font-mono);font-size:14px;font-weight:850}.od-card-badges{display:flex;gap:6px}.project-work-order-card-body{display:grid;gap:6px;font-size:12px}.od-card-row{display:flex;justify-content:space-between;gap:8px}.od-card-label{color:var(--muted)}.od-card-val{font-weight:600;text-align:right}.project-work-order-card-footer{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;margin-top:4px;padding-top:8px}.od-detail-modal{display:flex;flex-direction:column;max-height:min(92vh,880px);max-width:820px;overflow:hidden;width:min(94vw,820px)}.od-detail-modal .project-modal-head{border-bottom:1px solid var(--border);flex-shrink:0;padding:20px 24px 16px}.od-detail-modal .project-modal-body{flex:1;max-height:none;min-height:0;overflow-x:hidden;overflow-y:auto;padding:20px 24px 36px}.od-detail-modal .project-modal-footer{border-top:1px solid var(--border);flex-shrink:0;padding:16px 24px}.od-detail-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.od-detail-meta-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius,12px);padding:16px}.od-info-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.od-info-item{display:flex;flex-direction:column;gap:3px}.od-info-label{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.od-info-val{font-size:13px;font-weight:700}.od-geo-link{color:var(--accent);text-decoration:underline}.od-edit-form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.od-edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.od-services-section{display:grid;gap:12px}.od-detail-footer,.od-services-header{align-items:center;display:flex;justify-content:space-between}.od-detail-footer{border-top:1px solid var(--border);padding:16px 22px}.od-simplified-wizard{max-height:min(92vh,900px);max-width:860px;overflow-y:auto;width:min(96vw,860px)}.od-wizard-body{display:grid;gap:20px;padding:18px 22px}.od-wizard-step{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius,12px);display:grid;gap:14px;padding:16px}.od-step-head{gap:10px}.od-step-badge,.od-step-head{align-items:center;display:flex}.od-step-badge{background:var(--accent);border-radius:50%;color:#fff;font-size:12px;font-weight:900;height:24px;justify-content:center;width:24px}.od-step-head h3{font-size:15px;font-weight:850;margin:0}.od-selected-project-card{align-items:center;background:color-mix(in srgb,var(--accent) 6%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:var(--radius,10px);display:flex;justify-content:space-between;padding:12px 16px}.od-project-picker{display:grid;gap:8px}.od-project-options-list{border:1px solid var(--border);border-radius:var(--radius,10px);display:grid;max-height:180px;overflow-y:auto}.od-project-option{align-items:center;border-bottom:1px solid var(--border);cursor:pointer;display:flex;gap:12px;padding:8px 12px;transition:background .12s ease}.od-project-option:last-child{border-bottom:none}.od-project-option:hover{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.od-opt-desc{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.od-field-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.od-type-cards{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.od-type-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius,10px);cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px;transition:all .14s ease}.od-type-card.selected,.od-type-card:hover{border-color:var(--accent)}.od-type-card.selected{background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.od-type-card.amber-card.selected{background:rgba(245,158,11,.1);border-color:#f59e0b}.od-type-card.purple-card.selected{background:rgba(147,51,234,.1);border-color:#9333ea}.od-card-title-row{align-items:center;display:flex;justify-content:space-between}.od-type-card b{font-size:13px}.od-type-card p{color:var(--muted);font-size:11px;line-height:1.35;margin:0}.od-cod-alert-box{align-items:flex-start;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.35);border-radius:var(--radius,10px);color:#b45309;display:flex;gap:10px;padding:12px 14px}.od-cod-alert-box p{font-size:12px;line-height:1.4;margin:2px 0 0}.od-coords-row{align-items:flex-end;display:grid;gap:10px;grid-template-columns:1fr 1fr auto}.od-services-source-toggle{display:flex;gap:8px}.od-source-btn{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--muted);cursor:pointer;font-size:11px;font-weight:800;padding:6px 14px;transition:all .12s ease}.od-source-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.od-wizard-footer{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 22px}.od-wizard-summary{display:flex;flex-direction:column;gap:2px}.od-wizard-summary span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.od-wizard-summary strong{font-family:var(--font-mono);font-size:16px;font-weight:900}.project-field{font-size:12px;font-weight:700}.project-field input,.project-field select,.project-field textarea{border-radius:var(--radius,10px);font-size:13px;min-height:38px;padding:0 10px}.service-selected-card{background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:var(--radius,10px);box-shadow:0 2px 8px rgba(0,0,0,.04);display:grid;gap:12px;margin-top:10px;padding:14px 16px;transition:border-color .15s ease}.service-selected-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.service-selected-info{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:10px;min-width:0}.service-code-badge{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:6px;color:var(--accent);font-weight:800;padding:2px 8px}.service-selected-desc{color:var(--text);flex:1;font-size:13px;font-weight:600;line-height:1.4;min-width:180px}.service-selected-unit{color:var(--muted);font-size:12px;white-space:nowrap}.service-clear-btn{align-items:center;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:12px;height:26px;justify-content:center;transition:all .12s ease;width:26px}.service-clear-btn:hover{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.3);color:#ef4444}.service-selected-controls{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:10px 14px}.service-qty-field{align-items:center;display:flex;gap:8px}.service-qty-field label{color:var(--text);font-size:12px;font-weight:600;white-space:nowrap}.service-qty-input{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;font-weight:700;height:34px;padding:0 8px;text-align:right;width:80px}.service-qty-input:focus{border-color:var(--accent);outline:none}.service-subtotal-box{align-items:baseline;display:flex;gap:6px}.service-subtotal-box .subtotal-label{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.service-subtotal-box .subtotal-value{color:var(--text);font-size:14px}.photo-toggle-pill{align-items:center;border-radius:999px;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:6px;height:34px;padding:0 14px;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.photo-toggle-pill.active{background:rgba(16,185,129,.14);border:1px solid rgba(16,185,129,.45);color:#10b981}.photo-toggle-pill.active:hover{background:rgba(16,185,129,.22)}.photo-toggle-pill.inactive{background:var(--surface);border:1px solid var(--border);color:var(--muted)}.photo-toggle-pill.inactive:hover{background:var(--surface-3);color:var(--text)}.add-scope-btn{height:34px;padding:0 16px;white-space:nowrap}@media (max-width:920px){.project-kpis,.project-os-list article,.project-tab-grid{grid-template-columns:1fr}.project-modal-footer,.project-modal-head{align-items:stretch;flex-direction:column}}@media (max-width:520px){.project-billing-document dl>div,.project-billing-document header{grid-template-columns:1fr}.project-billing-document header{display:grid}.project-billing-document dd{text-align:left}}.complement-requests-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg,12px);margin-top:14px;overflow:hidden;padding:16px}.complement-requests-header{border-bottom:1px solid var(--border);justify-content:space-between;padding-bottom:14px}.complement-header-title-wrap,.complement-requests-header{align-items:center;display:flex;gap:12px}.complement-icon-pill{align-items:center;background:rgba(245,158,11,.12);border-radius:var(--r-md,8px);color:#d97706;display:flex;height:34px;justify-content:center;width:34px}.complement-title{color:var(--text);font-size:14.5px;font-weight:750;margin:0}.complement-subtitle{color:var(--text-muted);font-size:12px;margin:2px 0 0}.complement-pending-badge{align-items:center;background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.3);border-radius:999px;color:#b45309;display:inline-flex;font-size:11.5px;font-weight:750;gap:6px;padding:3px 10px;white-space:nowrap}.complement-badge-dot{background:#f59e0b;border-radius:50%;height:6px;width:6px}.complement-all-reviewed-badge{align-items:center;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);border-radius:999px;color:#059669;display:inline-flex;font-size:11px;font-weight:700;gap:4px;padding:2px 9px}.complement-empty-state{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:8px;justify-content:center;padding:28px 16px;text-align:center}.complement-empty-state svg{color:#10b981}.complement-loading-spinner{border-radius:50%;border:2px solid var(--border);border-top-color:var(--primary,#0284c7);height:20px;width:20px;animation:spin-cw .7s linear infinite}.complement-error-box{align-items:center;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:var(--r-md,8px);color:#dc2626;display:flex;font-size:12.5px;gap:10px;padding:10px 14px}.complement-cards-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}.complement-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md,10px);display:flex;flex-direction:column;gap:10px;padding:14px 16px;transition:border-color .15s ease}.complement-card.status-pendente{border-left:4px solid #f59e0b}.complement-card.status-aprovado{border-left:4px solid #10b981}.complement-card.status-rejeitado{border-left:4px solid #ef4444}.complement-card-top{align-items:center;display:flex;justify-content:space-between}.complement-type-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.complement-type-pill{background:var(--surface);border:1px solid var(--border);color:var(--text);font-weight:700}.complement-status-badge,.complement-type-pill{border-radius:999px;font-size:11px;padding:2px 8px}.complement-status-badge{font-weight:750}.complement-status-badge.badge-pending{background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.3);color:#d97706}.complement-status-badge.badge-approved{background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.3);color:#059669}.complement-status-badge.badge-rejected{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25);color:#dc2626}.complement-date{color:var(--text-soft);font-size:11px}.complement-service-highlight{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md,8px);display:flex;gap:12px;padding:8px 12px}.service-code-badge{background:var(--surface-3);border-radius:var(--r-sm,6px);color:var(--text);font-size:12px;padding:4px 8px}.service-details{display:flex;flex:1;flex-direction:column;gap:2px}.service-desc{color:var(--text);font-size:12px;font-weight:600}.service-us{font-size:11px}.complement-text-body{display:flex;flex-direction:column;gap:6px}.complement-detail-row{display:flex;flex-direction:column;gap:2px}.detail-label{color:var(--text-soft);font-size:10.5px;font-weight:750;text-transform:uppercase}.detail-value{color:var(--text);font-size:12.5px;line-height:1.45;margin:0}.italic-text{font-style:italic}.complement-feedback{align-items:center;border-radius:var(--r-sm,6px);display:flex;font-size:12px;gap:6px;padding:6px 10px}.complement-feedback.success{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.25);color:#059669}.complement-feedback.error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);color:#dc2626}.complement-actions-wrap{border-top:1px dashed var(--border);margin-top:4px;padding-top:10px}.complement-action-buttons{display:flex;gap:8px}.btn-outline-danger{background:transparent;border:1px solid rgba(239,68,68,.4);color:#dc2626}.btn-outline-danger:hover{background:rgba(239,68,68,.08)}.complement-rejection-form{display:flex;flex-direction:column;gap:8px}.rejection-label{display:flex;flex-direction:column;gap:4px}.rejection-label span{color:var(--text-muted);font-size:11.5px;font-weight:600}.rejection-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm,6px);color:var(--text);font-size:12px;outline:none;padding:6px 10px}.rejection-input:focus{border-color:#ef4444}.rejection-buttons{display:flex;gap:8px}.project-form-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.project-field{display:grid;gap:6px}.project-field.wide{grid-column:span 2}.project-field input,.project-field select,.project-field textarea{background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);min-height:40px;padding:9px 10px}.project-field textarea{resize:vertical}.project-field em,.project-form-alert{color:var(--negative);font-size:12px;font-style:normal;font-weight:800}.project-form-alert{background:color-mix(in srgb,var(--negative) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--negative) 34%,var(--border));border-radius:10px;display:grid;gap:4px;margin-bottom:12px;padding:10px}.project-switches{margin-top:14px}.project-switches label{align-items:center;color:var(--text);display:inline-flex;font-weight:800;gap:8px}@media (max-width:920px){.project-form-grid{grid-template-columns:1fr}.project-field.wide{grid-column:span 1}}.project-files-panel{display:grid;gap:14px}.project-files-head{align-items:center;display:flex;gap:14px;justify-content:space-between}.project-files-head h3{margin-bottom:4px}.project-file-main span,.project-files-head p,.project-files-readonly{color:var(--muted);font-size:12px}.project-file-input{display:none}.project-files-list,.project-files-skeleton{display:grid;gap:10px}.project-file-row{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:grid;gap:12px;grid-template-columns:46px minmax(0,1fr) auto;min-height:68px;padding:12px;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.project-file-row:hover{border-color:color-mix(in srgb,var(--accent) 20%,var(--border));transform:translateY(-1px)}.project-file-type{align-items:center;border-radius:10px;display:inline-flex;font-size:10px;font-weight:950;height:42px;justify-content:center;letter-spacing:.06em;width:42px}.project-file-type.pdf{background:color-mix(in srgb,var(--negative) 12%,var(--surface));color:var(--negative)}.project-file-type.sheet{background:color-mix(in srgb,var(--positive) 12%,var(--surface));color:var(--positive)}.project-file-type.zip{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent)}.project-file-type.image{background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--blue)}.project-file-type.doc,.project-file-type.file{background:var(--surface-3);color:var(--text)}.project-file-main{display:grid;gap:4px;min-width:0}.project-file-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-file-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end}.project-file-action{min-height:34px;min-width:34px}.project-file-action.danger{color:var(--negative)}.project-file-confirm{align-items:center;background:color-mix(in srgb,var(--negative) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--negative) 28%,var(--border));border-radius:999px;display:flex;gap:4px;padding:4px}.project-file-confirm button{background:transparent;border:0;border-radius:999px;color:var(--text);cursor:pointer;font-size:11px;font-weight:900;min-height:26px;padding:0 9px}.project-file-confirm button:first-child{background:var(--negative);color:#fff}.project-upload-progress{background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:12px;display:grid;gap:9px;overflow:hidden;padding:12px;position:relative}.project-upload-progress div{align-items:center;display:grid;gap:8px;grid-template-columns:auto minmax(0,1fr) auto}.project-upload-progress span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-upload-progress b{color:var(--accent);font-family:var(--font-mono);font-size:12px}.project-upload-progress>i{background:var(--accent);border-radius:999px;display:block;height:5px;transition:width .14s ease}.project-files-state{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--muted);display:grid;gap:8px;justify-items:center;min-height:190px;padding:24px;text-align:center}.project-files-state svg{color:var(--accent)}.project-files-state b{color:var(--text)}.project-files-state.error{border-color:color-mix(in srgb,var(--negative) 28%,var(--border))}.project-files-skeleton i{animation:project-skeleton 1.2s ease-in-out infinite;background:linear-gradient(90deg,var(--surface),var(--surface-3),var(--surface));border-radius:12px;display:block;height:68px}.project-file-row button:focus-visible,.project-files-panel .btn:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 32%,transparent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.project-file-row,.project-files-skeleton i,.project-upload-progress>i{animation:none;transition:none}}@media (max-width:720px){.project-file-actions,.project-files-head{align-items:stretch;flex-direction:column}.project-file-row{grid-template-columns:42px minmax(0,1fr)}.project-file-actions{grid-column:1/-1}}.project-stages-wrapper{display:grid;gap:16px}.stages-header-card{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:16px}.stages-header-card h3{font-family:var(--font-display);font-size:18px;margin:4px 0 0}.stages-header-card .sub-text{color:var(--text-soft);font-size:13px;margin:4px 0 0}.stages-summary-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 16px}.summary-metric span{color:var(--text-soft);display:block;font-size:11px;font-weight:850;text-transform:uppercase}.summary-metric b{display:block;font-family:var(--font-display);font-size:18px;margin-top:2px}.stage-row-card,.stages-card-stack{display:grid;gap:12px}.stage-row-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px}.stage-main-header{align-items:center;display:flex;gap:12px}.stage-seq-badge{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);display:flex;font-family:var(--font-display);font-size:14px;font-weight:850;height:36px;justify-content:center;width:36px}.stage-title-wrap{display:grid;flex:1;gap:2px}.stage-title-wrap h4{font-family:var(--font-display);font-size:16px;margin:0}.stage-us-tag{color:var(--color-brand,#15803d);font-size:12px;font-weight:850}.stage-actions{align-items:center;display:flex;gap:8px}.stage-teams-container{background:var(--surface-2);border-radius:var(--radius-sm);display:grid;gap:8px;padding:10px 12px}.teams-label{color:var(--text-soft);font-size:11px;font-weight:850;text-transform:uppercase}.no-teams-note{color:var(--text-soft);font-size:12px;font-style:italic}.allocated-teams-pills{display:flex;flex-wrap:wrap;gap:8px}.stage-team-badge{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;gap:8px;padding:6px 10px}.stage-team-badge .team-info b{display:block;font-size:12px}.stage-team-badge .team-info small{color:var(--text-soft);display:block;font-size:11px}.empty-stages-card{align-items:center;border:1px dashed var(--border);border-radius:var(--radius-md);gap:6px;padding:28px;text-align:center}.empty-stages-card,.stage-alloc-modal,.stage-form-modal{background:var(--surface);display:flex;flex-direction:column}.stage-alloc-modal,.stage-form-modal{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px rgba(0,0,0,.2);max-height:90vh;max-width:540px;width:94%}.stage-alloc-summary{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);display:grid;gap:2px;margin-bottom:12px;padding:10px 12px}@media (max-width:600px){.stages-header-card{flex-direction:column;align-items:stretch;gap:12px}.stages-summary-bar{grid-template-columns:1fr}.stage-main-header{flex-wrap:wrap}}.team-organogram-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:16px;padding:16px}.organogram-header{align-items:center;display:flex;justify-content:space-between}.organogram-header h3{font-family:var(--font-display);font-size:18px;margin:4px 0 0}.organogram-header .sub-text{color:var(--text-soft);font-size:13px;margin:4px 0 0}.organogram-teams-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.organogram-team-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:12px;padding:14px}.team-card-head{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding-bottom:8px}.team-name-wrap{align-items:center;display:flex;gap:8px}.team-name-wrap h4{font-family:var(--font-display);font-size:16px;margin:0}.team-name-wrap small{display:block}.members-count,.team-name-wrap small{color:var(--text-soft);font-size:11px}.members-count{font-weight:850;text-transform:uppercase}.team-members-stack{display:grid;gap:8px}.member-organogram-item{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;gap:10px;justify-content:space-between;padding:10px 12px;transition:border-color .15s ease}.member-organogram-item.selected{border-color:var(--color-brand,#15803d);box-shadow:0 0 0 1px var(--color-brand,#15803d)}.member-organogram-item.inactive-member{opacity:.75}.member-main-details{display:grid;flex:1;gap:3px}.member-name-row{align-items:center;display:flex;gap:8px}.member-name-row b{font-size:13px}.member-role-badge{color:var(--text-muted);font-size:11px;font-weight:800}.member-dates-meta{color:var(--text-soft);display:flex;flex-wrap:wrap;gap:10px;font-size:11px}.btn-view-prod{font-size:11px;font-weight:850;white-space:nowrap}.empty-team-members{color:var(--text-soft);font-size:12px;font-style:italic;padding:8px 0;text-align:center}.member-alloc-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px rgba(0,0,0,.2);display:flex;flex-direction:column;max-height:90vh;max-width:540px;width:94%}.checkbox-field{align-items:center;display:flex;flex-direction:row;gap:8px;margin-top:4px}@media (max-width:900px){.organogram-teams-grid{grid-template-columns:1fr}}@media (max-width:600px){.organogram-header{flex-direction:column;align-items:stretch;gap:12px}.member-organogram-item{flex-direction:column;align-items:stretch;gap:8px}.btn-view-prod{width:100%}}.teams-member-productivity-section{margin-top:12px}.member-productivity-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 6px -1px rgba(0,0,0,.05);display:grid;gap:16px;padding:16px}.productivity-card-head{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding-bottom:10px}.productivity-card-head h4{font-family:var(--font-display);font-size:18px;margin:4px 0 2px}.member-highlight-name{color:var(--color-brand,#15803d);font-family:var(--font-display);font-size:16px;font-weight:850}.productivity-card-body{display:grid;gap:14px}.productivity-total-banner{align-items:center;background:var(--surface-2);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:14px 18px}.total-main span{color:var(--text-soft);display:block;font-size:11px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.total-main b{color:var(--color-brand,#15803d);display:block;font-family:var(--font-display);font-size:24px;line-height:1.1;margin-top:4px}.period-badge{text-align:right}.period-badge span{color:var(--text-soft);display:block;font-size:11px;font-weight:850;text-transform:uppercase}.period-badge small{color:var(--text-muted);display:block;font-size:12px;margin-top:2px}.dual-attribution-alert{align-items:flex-start;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-sm);color:#166534;display:flex;font-size:13px;gap:12px;padding:12px 14px}.dual-attribution-alert strong{display:block;margin-bottom:2px}.dual-attribution-alert p{line-height:1.4;margin:0}.teams-breakdown-section h5{font-family:var(--font-display);font-size:15px;margin:0 0 10px}.teams-history-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.team-history-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);display:grid;gap:8px;padding:12px 14px}.history-team-header{align-items:center;display:flex;gap:6px}.history-team-header b{font-size:13px}.history-metrics-row{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.hist-metric span{color:var(--text-soft);display:block;font-size:11px;font-weight:850;text-transform:uppercase}.hist-metric b{display:block;font-family:var(--font-display);font-size:16px;margin-top:2px}.hist-metric.highlight b{color:var(--color-brand,#15803d)}.member-productivity-empty{align-items:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:6px;padding:24px;text-align:center}@media (max-width:600px){.productivity-total-banner{flex-direction:column;align-items:flex-start;gap:10px}.period-badge{text-align:left}.teams-history-grid{grid-template-columns:1fr}}.planning-page{display:grid;gap:18px}.planning-backlog header,.planning-grid-head,.planning-period-actions,.planning-shell,.planning-view-switch{align-items:center;display:flex;gap:8px}.planning-view-switch{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px}.planning-view-button{background:transparent;border:0;border-radius:999px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:900;min-height:32px;padding:0 12px}.planning-view-button.active{background:var(--accent);color:#fff}.planning-shell{align-items:flex-start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(280px,340px)}.planning-calendar-area{min-width:0}.planning-backlog,.planning-day-card,.planning-month-card,.planning-skeleton,.planning-state,.planning-week-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.planning-day-card{overflow:auto}.planning-day-grid{display:grid;grid-template-columns:var(--planning-columns);min-width:900px}.planning-grid-head{border-bottom:1px solid var(--border);border-left:1px solid var(--border);flex-direction:column;min-height:64px;padding:12px}.planning-grid-head:first-child{border-left:0}.planning-backlog h2,.planning-grid-head strong,.planning-month-day header b,.planning-week-day header b{color:var(--text)}.planning-backlog header span,.planning-backlog-item p,.planning-grid-head span,.planning-mini-empty,.planning-schedule-card p,.planning-schedule-summary p,.planning-state span,.planning-week-day header span{color:var(--muted);font-size:12px}.planning-time-axis{border-right:1px solid var(--border);color:var(--muted);display:grid;font-family:var(--font-mono);font-size:11px;grid-template-rows:repeat(12,48px);padding-top:2px}.planning-time-axis span{border-top:1px solid var(--border);padding:6px 8px 0 0;text-align:right}.planning-lane{border-right:1px solid var(--border);display:grid;grid-template-rows:repeat(12,48px);min-height:576px;position:relative}.planning-lane>.planning-dropzone{border-top:1px solid var(--border)}.planning-backlog-item,.planning-schedule-card,.planning-schedule-summary{border:1px solid var(--border);border-left:5px solid var(--accent);border-radius:12px;display:grid;gap:6px;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.planning-schedule-card{background:color-mix(in srgb,var(--surface-2) 92%,var(--accent));left:8px;overflow:hidden;padding:9px;position:absolute;right:8px}.planning-backlog-item:hover,.planning-schedule-card:hover,.planning-schedule-summary:hover{border-color:color-mix(in srgb,var(--accent) 34%,var(--border));transform:translateY(-1px)}.planning-backlog-item footer,.planning-schedule-card footer,.planning-schedule-card header,.planning-schedule-summary div,.planning-schedule-summary footer{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0}.planning-backlog-item strong,.planning-month-pill span,.planning-schedule-card strong,.planning-schedule-summary strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.planning-backlog-item span,.planning-schedule-card b,.planning-schedule-summary b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-schedule-card i,.planning-schedule-card span,.planning-schedule-summary i,.planning-schedule-summary span{font-size:10px}.planning-schedule-card i,.planning-schedule-summary i{background:var(--surface-3);border-radius:999px;color:var(--text);font-style:normal;font-weight:900;padding:4px 7px}.planning-schedule-card.risk,.planning-schedule-summary.risk{border-top-color:color-mix(in srgb,var(--negative) 32%,var(--border))}.planning-schedule-card.warning,.planning-schedule-summary.warning{border-top-color:color-mix(in srgb,var(--amber) 36%,var(--border))}.planning-week-grid{display:grid;gap:12px;grid-template-columns:repeat(7,minmax(180px,1fr));overflow-x:auto}.planning-week-day{display:grid;gap:10px;min-height:320px;padding:12px}.planning-backlog header,.planning-month-day header,.planning-week-day header{align-items:center;display:flex;justify-content:space-between}.planning-backlog-item,.planning-schedule-summary{background:var(--surface-2);padding:10px}.planning-backlog-item.emerald,.planning-month-pill.emerald,.planning-schedule-card.emerald,.planning-schedule-summary.emerald{border-left-color:var(--positive)}.planning-backlog-item.blue,.planning-month-pill.blue,.planning-schedule-card.blue,.planning-schedule-summary.blue{border-left-color:var(--blue)}.planning-backlog-item.amber,.planning-month-pill.amber,.planning-schedule-card.amber,.planning-schedule-summary.amber{border-left-color:var(--amber)}.planning-backlog-item.violet,.planning-month-pill.violet,.planning-schedule-card.violet,.planning-schedule-summary.violet{border-left-color:#7c3aed}.planning-backlog-item.rose,.planning-month-pill.rose,.planning-schedule-card.rose,.planning-schedule-summary.rose{border-left-color:#be123c}.planning-backlog-item.kind-desligamento,.planning-month-pill.kind-desligamento,.planning-schedule-card.kind-desligamento,.planning-schedule-summary.kind-desligamento{border-left-color:#ea580c!important;background:color-mix(in srgb,var(--surface-2) 82%,#ea580c)}.planning-backlog-item.kind-retrabalho,.planning-month-pill.kind-retrabalho,.planning-schedule-card.kind-retrabalho,.planning-schedule-summary.kind-retrabalho{border-left-color:#9333ea!important;background:color-mix(in srgb,var(--surface-2) 82%,#9333ea)}.planning-backlog-item.kind-implantacao,.planning-month-pill.kind-implantacao,.planning-schedule-card.kind-implantacao,.planning-schedule-summary.kind-implantacao{border-left-color:#2563eb!important;background:color-mix(in srgb,var(--surface-2) 82%,#2563eb)}.kind-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;line-height:1}.kind-badge.kind-desligamento{background:#ffedd5;color:#c2410c;border:1px solid #fdba74}.kind-badge.kind-retrabalho{background:#f3e8ff;color:#6b21a8;border:1px solid #d8b4fe}.kind-badge.kind-implantacao{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.planning-backlog-item:focus-visible,.planning-page button:focus-visible,.planning-schedule-card:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 32%,transparent);outline-offset:2px}.planning-month-card{overflow:hidden}.planning-month-grid,.planning-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr))}.planning-month-weekdays span{background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.planning-month-day,.planning-month-weekdays span{border-bottom:1px solid var(--border);padding:10px}.planning-month-day{border-right:1px solid var(--border);display:grid;gap:8px;min-height:132px}.planning-month-day.outside{opacity:.48}.planning-month-pill{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;color:var(--text);cursor:default;display:flex;font-size:11px;gap:6px;margin-bottom:5px;max-width:100%;min-height:26px;padding:0 7px}.planning-backlog{display:grid;gap:12px;padding:14px;position:sticky;top:14px}.planning-backlog-search{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius,8px);display:flex;gap:8px;padding:6px 10px;position:relative;transition:border-color .15s ease,box-shadow .15s ease}.planning-backlog-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.planning-backlog-search svg{color:var(--muted);flex-shrink:0}.planning-backlog-search input{background:transparent;border:none;color:var(--text);flex:1;font-size:12px;min-width:0;outline:none;padding:0}.planning-backlog-search input::-moz-placeholder{color:var(--muted);font-size:12px}.planning-backlog-search input::placeholder{color:var(--muted);font-size:12px}.planning-backlog-search-clear{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--muted);cursor:pointer;display:inline-flex;font-size:11px;height:20px;justify-content:center;padding:0;transition:all .12s ease;width:20px}.planning-backlog-search-clear:hover{background:var(--surface-3);color:var(--text)}.planning-backlog-list{display:grid;gap:10px}.planning-backlog-item footer{color:var(--muted);font-size:11px}.planning-backlog-item b{color:var(--text);font-size:11px}.planning-mini-empty,.planning-state{align-items:center;display:grid;justify-items:center;min-height:110px;padding:18px;text-align:center}.planning-state{gap:8px;min-height:240px}.planning-state svg{color:var(--accent)}.planning-state.error{border-color:color-mix(in srgb,var(--negative) 28%,var(--border))}.planning-skeleton{display:grid;gap:12px;grid-template-columns:1.4fr 1fr 1fr;padding:16px}.planning-skeleton i{animation:project-skeleton 1.2s ease-in-out infinite;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));border-radius:12px;display:block;height:72px}.planning-skeleton i:first-child{grid-column:1/-1;height:180px}@media (prefers-reduced-motion:reduce){.planning-backlog-item,.planning-schedule-card,.planning-schedule-summary,.planning-skeleton i{animation:none;transition:none}}@media (max-width:1100px){.planning-shell{grid-template-columns:1fr}.planning-backlog{position:static}.planning-month-grid,.planning-month-weekdays,.planning-week-grid{grid-template-columns:repeat(7,minmax(160px,1fr))}}@media (max-width:760px){.planning-period-actions,.planning-view-switch{flex-wrap:wrap}.planning-skeleton{grid-template-columns:1fr}}.planning-side-panel{display:grid;gap:14px}.planning-shell.is-mutating{cursor:progress}.planning-shell.is-readonly .planning-drag-hint,.planning-shell.is-readonly .planning-remove-btn{display:none}.planning-dropzone{border-top:1px solid var(--border);min-height:48px;position:relative;transition:background-color .14s ease,box-shadow .14s ease}.planning-dropzone.is-over{background:color-mix(in srgb,var(--accent) 10%,transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 42%,transparent)}.planning-dropzone.is-disabled{pointer-events:none}.planning-month-team-list,.planning-week-team-list{display:grid;gap:8px}.planning-month-team-slot,.planning-week-team-slot{background:color-mix(in srgb,var(--surface-2) 82%,transparent);border:1px dashed var(--border);border-radius:10px;display:grid;gap:7px;min-height:42px;padding:7px}.planning-grid-head em,.planning-month-team-slot>span,.planning-week-team-slot em,.planning-week-team-slot>span{background:var(--surface-3);border-radius:999px;color:var(--muted);font-size:10px;font-style:normal;font-weight:900;justify-self:start;padding:3px 7px;text-transform:uppercase}.planning-grid-head.over-capacity,.planning-month-team-slot.over-capacity,.planning-week-team-slot.over-capacity{border-color:color-mix(in srgb,var(--negative) 42%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--negative) 18%,transparent)}.planning-grid-head.over-capacity em,.planning-week-team-slot.over-capacity em{background:color-mix(in srgb,var(--negative) 12%,var(--surface));color:var(--negative)}.planning-backlog-item.is-draggable,.planning-month-pill.is-draggable,.planning-schedule-card.is-draggable,.planning-schedule-summary.is-draggable{cursor:grab}.planning-backlog-item.is-dragging,.planning-month-pill.is-dragging,.planning-schedule-card.is-dragging,.planning-schedule-summary.is-dragging{opacity:.72;z-index:8}.planning-backlog-drop{border:1px dashed transparent;border-radius:12px;display:grid;gap:10px;min-height:110px;transition:background-color .14s ease,border-color .14s ease}.planning-backlog-drop.is-over{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 42%,var(--border))}.planning-drag-hint{color:var(--accent);font-size:11px;font-style:normal;font-weight:900}.planning-remove-btn,.planning-remove-mini{background:color-mix(in srgb,var(--negative) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--negative) 22%,var(--border));border-radius:999px;color:var(--negative);cursor:pointer;font-size:10px;font-weight:900;justify-self:end;min-height:24px;padding:0 8px}.planning-remove-mini{margin-left:auto;max-width:72px;overflow:hidden;text-overflow:ellipsis}.planning-toast{background:color-mix(in srgb,var(--negative) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--negative) 28%,var(--border));border-radius:12px;color:var(--negative);font-weight:800;padding:12px 14px}@media (prefers-reduced-motion:reduce){.planning-backlog-drop,.planning-dropzone{transition:none}}.planning-projection{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:grid;gap:12px;padding:14px}.planning-projection header{align-items:center;display:flex;justify-content:space-between}.planning-projection h2{color:var(--text);margin:0 0 4px}.planning-projection header span,.planning-projection label span,.planning-projection-empty{color:var(--muted);font-size:12px}.planning-projection label{display:grid;gap:6px}.planning-projection select{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;color:var(--text);min-height:38px;padding:0 10px}.planning-projection-body{display:grid;gap:12px}.planning-projection-kpis{display:grid;gap:10px;grid-template-columns:1fr 1fr}.planning-projection-kpis div{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;display:grid;gap:5px;padding:10px}.planning-projection-kpis span{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.planning-projection-kpis b,.planning-projection-meter span{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.planning-projection-meter{display:grid;gap:8px}.planning-projection-meter div{align-items:center;display:flex;justify-content:space-between}.planning-projection-meter i{background:var(--surface-3);border-radius:999px;display:block;height:9px;overflow:hidden}.planning-projection-meter i span{background:var(--accent);display:block;height:100%}.planning-projection-state{border-radius:999px;font-size:10px;padding:4px 8px;text-transform:uppercase}.planning-projection-state.risk{background:color-mix(in srgb,var(--negative) 10%,var(--surface));color:var(--negative)}.planning-projection-state.ok{background:color-mix(in srgb,var(--positive) 12%,var(--surface));color:var(--positive)}.planning-projection-state.strong{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.planning-projection-skeleton{display:grid;gap:8px}.planning-projection-skeleton i{animation:project-skeleton 1.2s ease-in-out infinite;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));border-radius:10px;display:block;height:42px}.planning-projection-empty{display:grid;gap:8px;justify-items:start}.planning-page{--planning-focus:color-mix(in srgb,var(--accent) 38%,transparent)}.planning-day-card.is-empty,.planning-month-card.is-empty,.planning-week-grid.is-empty{position:relative}.planning-day-card.is-empty:after,.planning-month-card.is-empty:after,.planning-week-grid.is-empty:after{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,transparent),transparent 58%),color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:14px;box-shadow:var(--shadow-soft);color:var(--muted);content:attr(data-empty-label);display:flex;font-size:12px;font-weight:900;gap:8px;left:50%;letter-spacing:0;min-height:44px;padding:0 16px;pointer-events:none;position:absolute;text-align:center;top:18px;transform:translateX(-50%);z-index:4}.planning-month-card.is-empty:after,.planning-week-grid.is-empty:after{top:12px}.planning-backlog-drop.is-over,.planning-dropzone.is-over{animation:planning-drop-pulse .7s ease-out}.planning-dropzone.is-over:after{background:var(--accent);border-radius:999px;color:#fff;content:"Soltar aqui";font-size:10px;font-weight:900;left:50%;padding:4px 8px;pointer-events:none;position:absolute;top:6px;transform:translateX(-50%);white-space:nowrap;z-index:5}.planning-backlog-drop.is-over{outline:2px solid color-mix(in srgb,var(--accent) 24%,transparent);outline-offset:3px}.planning-backlog-drop.is-over:after{align-self:start;background:var(--accent);border-radius:999px;color:#fff;content:"Devolver ao backlog";font-size:10px;font-weight:900;justify-self:center;margin-top:6px;padding:4px 8px;pointer-events:none;position:absolute;z-index:5}.planning-backlog-drop.is-disabled,.planning-dropzone.is-disabled{cursor:not-allowed}.planning-drag-preview{background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-left:5px solid var(--accent);border-radius:14px;box-shadow:0 18px 42px color-mix(in srgb,var(--text) 18%,transparent);color:var(--text);display:grid;gap:5px;max-width:280px;min-width:220px;padding:11px 12px;transform:rotate(-1deg)}.planning-backlog-item p,.planning-drag-preview small,.planning-drag-preview strong,.planning-projection-kpis b,.planning-projection-meter span,.planning-schedule-card p,.planning-schedule-summary p{font-variant-numeric:tabular-nums}.planning-drag-preview small,.planning-drag-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-drag-preview small{color:var(--muted);font-size:11px}.planning-drag-preview.emerald{border-left-color:var(--positive)}.planning-drag-preview.blue{border-left-color:var(--blue)}.planning-drag-preview.amber{border-left-color:var(--amber)}.planning-drag-preview.violet{border-left-color:#7c3aed}.planning-drag-preview.rose{border-left-color:#be123c}.planning-mini-empty{background:radial-gradient(circle at top,color-mix(in srgb,var(--accent) 10%,transparent),transparent 42%),color-mix(in srgb,var(--surface-2) 72%,transparent);border:1px dashed color-mix(in srgb,var(--accent) 18%,var(--border));border-radius:12px;font-weight:800}.planning-backlog-item,.planning-month-pill,.planning-schedule-card,.planning-schedule-summary{will-change:transform}.planning-backlog-item.is-dragging,.planning-month-pill.is-dragging,.planning-schedule-card.is-dragging,.planning-schedule-summary.is-dragging{box-shadow:0 16px 32px color-mix(in srgb,var(--text) 14%,transparent);opacity:.36}.planning-month-pill{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planning-backlog-item:focus-visible,.planning-month-pill:focus-visible,.planning-page button:focus-visible,.planning-page select:focus-visible,.planning-schedule-card:focus-visible,.planning-schedule-summary:focus-visible{outline:3px solid var(--planning-focus);outline-offset:3px}.planning-remove-btn:hover:not(:disabled),.planning-remove-mini:hover:not(:disabled){background:color-mix(in srgb,var(--negative) 16%,var(--surface));border-color:color-mix(in srgb,var(--negative) 38%,var(--border))}@keyframes planning-drop-pulse{0%{box-shadow:inset 0 0 0 0 color-mix(in srgb,var(--accent) 48%,transparent)}to{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--accent) 0,transparent)}}@media (max-width:760px){.planning-shell{gap:12px}.planning-side-panel{grid-template-columns:1fr}.planning-day-grid{min-width:760px}.planning-month-grid,.planning-month-weekdays,.planning-week-grid{grid-template-columns:repeat(7,minmax(132px,1fr))}.planning-backlog,.planning-projection{padding:12px}}@media (prefers-reduced-motion:reduce){.planning-backlog-drop.is-over,.planning-dropzone.is-over{animation:none}.planning-backlog-item,.planning-drag-preview,.planning-month-pill,.planning-schedule-card,.planning-schedule-summary{transition:none;transform:none;will-change:auto}}.projects-filter-skeleton,.projects-head-skeleton,.projects-skeleton-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:grid;gap:12px;padding:16px}.projects-head-skeleton{grid-template-columns:minmax(220px,1fr) 120px 140px}.projects-filter-skeleton{grid-template-columns:minmax(260px,420px) repeat(2,110px)}.projects-filter-skeleton i,.projects-head-skeleton i,.projects-skeleton-table i{animation:project-skeleton 1.2s ease-in-out infinite;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));border-radius:10px;display:block;height:36px}.projects-skeleton-table div{display:grid;gap:14px;grid-template-columns:minmax(260px,1.4fr) 180px 130px 150px}.projects-empty-state{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);color:var(--muted);display:grid;gap:8px;justify-items:center;min-height:230px;padding:28px;text-align:center}.projects-empty-state svg{color:var(--accent);opacity:.75}.projects-empty-state b{color:var(--text);font-size:16px}.projects-empty-state.error{border-color:color-mix(in srgb,var(--negative) 32%,var(--border))}.projects-table td:nth-child(5),.projects-table td:nth-child(6),.projects-table td:nth-child(7),.projects-table th:nth-child(5),.projects-table th:nth-child(6),.projects-table th:nth-child(7){text-align:right}.projects-table td:nth-child(5) .project-meta,.projects-table td:nth-child(6) .project-meta{justify-content:flex-end}.project-budget,.project-progress{justify-items:end;margin-left:auto}.project-progress-bar{width:min(130px,100%)}.project-filter-chip,.project-modal-close,.project-modal-tabs button,.project-row td,.project-text-link,.wo-action-btn,.wo-chip,.wo-table-link{transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}.project-row:hover td{border-color:color-mix(in srgb,var(--accent) 18%,var(--border))}.project-filter-chip:hover,.project-modal-close:hover,.project-modal-tabs button:hover,.wo-action-btn:not(:disabled):hover{transform:translateY(-1px)}.project-filter-chip:active,.project-modal-close:active,.project-modal-tabs button:active,.wo-action-btn:not(:disabled):active{transform:translateY(0)}.project-text-link{text-underline-offset:3px}.project-text-link:hover{text-decoration:underline}.project-status-badge,.wo-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:900;letter-spacing:.06em;min-height:28px;padding:6px 10px;text-transform:uppercase}.wo-chip.ok{background:var(--green-50);border-color:color-mix(in srgb,var(--positive) 35%,var(--border));color:var(--positive)}.wo-chip.risk{background:color-mix(in srgb,var(--negative) 10%,var(--surface));border-color:color-mix(in srgb,var(--negative) 35%,var(--border));color:var(--negative)}.project-field-money,.project-field-us{position:relative}.project-field-money:before,.project-field-us:after{color:var(--muted);font-family:var(--font-mono);font-size:12px;font-weight:900;pointer-events:none;position:absolute;top:34px}.project-field-money:before{content:"R$";left:11px}.project-field-money input{padding-left:36px}.project-field-us:after{content:"US";right:11px}.project-field-us input{padding-right:40px}.project-field input:hover,.project-field select:hover,.project-field textarea:hover,.wo-inline-field input:hover,.wo-inline-field select:hover,.wo-search input:hover{border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}.wo-action-btn:focus-visible,.wo-inline-field input:focus-visible,.wo-inline-field select:focus-visible,.wo-row-actions input:focus-visible,.wo-search input:focus-visible,.wo-table-link:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 32%,transparent);outline-offset:2px}.project-modal-body>.project-modal-panel,.project-modal-body>.project-tab-grid{animation:project-tab-in .14s ease-out}@keyframes project-tab-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.project-modal-body>.project-modal-panel,.project-modal-body>.project-tab-grid,.projects-filter-skeleton i,.projects-head-skeleton i,.projects-skeleton-table i{animation:none}}@media (max-width:820px){.projects-filter-skeleton,.projects-head-skeleton,.projects-skeleton-table div{grid-template-columns:1fr}.project-modal-body{padding:14px}}.shell-action-btn{align-items:center;background:var(--forest-800);border-radius:999px;color:#fff;display:inline-flex;font-size:12px;font-weight:850;gap:8px;height:40px;padding:0 16px;white-space:nowrap}.shell-action-btn:hover{background:var(--forest-700);box-shadow:var(--shadow-md)}.entry-modal-backdrop{align-items:center;background:rgba(7,13,9,.52);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:50}.entry-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:grid;gap:18px;max-height:min(760px,calc(100vh - 40px));max-width:720px;overflow:auto;padding:22px;width:min(720px,100%)}.entry-modal-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.entry-modal h2{font-family:var(--font-display);font-size:30px;font-weight:800;letter-spacing:0;line-height:1;margin:4px 0 0}.modal-eyebrow{color:var(--text-soft);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.entry-modal-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.entry-modal .field{display:grid;gap:6px}.entry-modal .field>span{color:var(--text-soft);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.entry-modal .span-2{grid-column:span 2}.entry-suggestion{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 180px;padding:14px}.entry-suggestion b{display:block;font-family:var(--font-display);font-size:20px;font-weight:780;line-height:1.08;margin-top:8px}.entry-suggestion p{color:var(--text-muted);font-size:13px;margin:6px 0 0}.entry-suggestion.muted{color:var(--text-soft);display:block;font-weight:750}.entry-suggestion.pending{background:var(--amber-bg);grid-template-columns:1fr}.modal-accept-btn{align-items:center;background:var(--green-700);border-radius:var(--radius-md);color:#fff;display:inline-flex;font-size:18px;font-weight:900;height:58px;justify-content:center;width:100%}.modal-accept-btn:hover{background:var(--forest-800)}.modal-total{color:var(--text);font-family:var(--font-display);font-size:28px;font-weight:820;text-align:right}.modal-message{border-radius:var(--radius-md);font-size:13px;font-weight:800;padding:10px 12px}.modal-message.ok{background:var(--green-50);color:var(--green-700)}.modal-message.error{background:var(--red-bg);color:var(--red)}.entry-modal-actions{align-items:center;display:flex;gap:12px;justify-content:flex-end}@media (max-width:1160px){.topbar-right .shell-action-btn{padding:0 12px}.topbar-right .shell-action-btn svg{margin:0}}@media (max-width:820px){.entry-modal-backdrop{align-items:stretch;padding:12px}.entry-modal{max-height:calc(100vh - 24px)}.entry-modal-grid,.entry-suggestion{grid-template-columns:1fr}.entry-modal .span-2{grid-column:span 1}.entry-modal-actions{align-items:stretch;flex-direction:column-reverse}.entry-modal-actions .accept-btn{width:100%}}@media (max-width:680px){.shell-action-btn{border-radius:50%;padding:0;width:40px}.shell-action-btn svg{margin:auto}.shell-action-btn{font-size:0;gap:0}}