body.obras-equipe-page { background:#f4f7fb; color:#17345f; }
.obras-equipe-page .pm-batch-badge { border:1px solid #c8d9ef; background:#eaf1fb; color:#17447f; }
.obras-equipe-page .pm-batch-banner { border-left-color:#e2212b; background:#edf4fc; color:#17345f; }
.preview-watermark { position:sticky; top:0; z-index:1000; padding:6px 12px; background:#fff6de; color:#6a4e0b; text-align:center; font-size:12px; font-weight:750; }
body.obras-equipe-page .topbar { height:92px; justify-content:flex-start; padding:0 clamp(18px,4vw,56px); background:#123a72; }
body.obras-equipe-page .topbar .brand { left:clamp(18px,4vw,56px); transform:translateY(-50%); justify-content:flex-start; gap:12px; }
body.obras-equipe-page .topbar .brand-mark { width:96px; height:56px; background-size:contain; background-position:left center; }
body.obras-equipe-page .topbar .brand > span:last-child { display:inline; color:#fff; font-size:15px; font-weight:750; }
body.obras-equipe-page .back-link { right:clamp(18px,4vw,56px); left:auto; }
body.obras-equipe-page .page-shell { max-width:1280px; padding:32px clamp(16px,3vw,36px) 60px; }
body.obras-equipe-page .hero { max-width:none; margin:6px 0 20px; padding:0; }
body.obras-equipe-page .hero h1 { color:#153a70; font-size:clamp(30px,3.6vw,42px); letter-spacing:-.035em; }
body.obras-equipe-page .hero p:not(.eyebrow) { max-width:740px; margin-top:7px; font-size:15px; line-height:1.55; }
body.obras-equipe-page .eyebrow { color:#456a9c; }
.obras-team-tabs { display:flex; gap:8px; overflow-x:auto; margin:0 0 18px; padding:4px 2px 9px; border-bottom:1px solid #dbe4ef; scrollbar-width:thin; }
.obras-team-tabs [role="tab"] { flex:0 0 auto; min-height:44px; padding:10px 17px; border:1px solid #d2deec; border-radius:9px; background:#fff; color:#315477; font-family:inherit; font-size:14px; font-weight:700; line-height:1.3; cursor:pointer; }
.obras-team-tabs [role="tab"][aria-selected="true"] { border-color:#123a72; background:#123a72; color:#fff; box-shadow:0 2px 5px #123a721c; }
.obras-team-tabs [role="tab"]:focus-visible,.obras-equipe-page button:focus-visible,.obras-equipe-page a:focus-visible { outline:3px solid #e2212b; outline-offset:2px; }
.obras-team-panel[hidden] { display:none !important; }
.obras-equipe-page .obras-team-panel > .step-card { margin:0 0 16px !important; padding:clamp(18px,2.2vw,28px); border:1px solid #d8e1ed; border-radius:13px; box-shadow:0 3px 12px #1e3d6410; }
.obras-equipe-page .section-heading { align-items:flex-start; gap:12px; margin-bottom:20px; }
.obras-equipe-page .section-heading h2,.obras-equipe-page .budget-heading h2 { color:#183c71; font-size:21px; }
.obras-equipe-page .section-heading p { max-width:760px; line-height:1.5; }
.obras-equipe-page .step { flex:0 0 30px; width:30px; height:30px; border-radius:9px; background:#e9f0fa; color:#17447f; }
.obras-equipe-page label,.obras-equipe-page fieldset { color:#29476c; font-size:13px; }
.obras-equipe-page input,.obras-equipe-page select,.obras-equipe-page textarea { min-height:46px; border-color:#cbd7e5; border-radius:8px; background:#fff; color:#17345f; }
.obras-equipe-page input:focus,.obras-equipe-page select:focus,.obras-equipe-page textarea:focus { border-color:#386ba8; box-shadow:0 0 0 3px #386ba81a; }
.obras-equipe-page .calculate-button { min-height:48px; border:1px solid #123a72; border-radius:9px; background:#123a72; color:#fff; font-weight:750; }
.obras-equipe-page .calculate-button:hover { background:#1a4b8a; }
.obras-equipe-page .secondary-button,.obras-equipe-page .table-action { min-height:42px; border-radius:8px; }
.obras-equipe-page .employee-delete-action,.obras-equipe-page .remove-opening { color:#a21d28; }
.obras-equipe-page .result-section,.obras-equipe-page .labor-filter-panel { border-color:#dbe4ef; border-radius:10px; background:#f7f9fc; }
.obras-equipe-page .labor-summary-grid { grid-template-columns:minmax(170px,1.5fr) repeat(4,minmax(78px,.65fr)) minmax(160px,1fr); gap:10px; }
.obras-equipe-page .material-table { overflow-x:auto; }
.obras-equipe-page .daily-expense-chart { display:grid; gap:12px; }
.obras-equipe-page footer { color:#60738d; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) { display:grid !important; grid-template-columns:repeat(12,minmax(0,1fr)); align-items:start; gap:9px 11px; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) > label { display:block; grid-column:span 3; min-width:0; margin:0; font-size:.84rem; line-height:1.25; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) > label > b { display:inline; margin-left:2px; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) > label > select,
.obras-equipe-page .pm-batch #workForm:not([hidden]) > label > input { display:block; box-sizing:border-box; width:100%; min-width:0; min-height:40px; margin-top:4px; padding:6px 9px; font-size:.9rem; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) > label > .input-unit { display:block; width:100%; margin-top:4px; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) > label > .input-unit > input { margin-top:0; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workProject),
.obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workEmployee),
.obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workService),
.obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workStage) { grid-column:span 6; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workOvertimeHours) small { display:block; margin-top:3px; font-size:11px; line-height:1.25; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) .editable-option-field { display:flex; align-items:center; gap:5px; width:100%; margin-top:4px; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) .editable-option-field input { box-sizing:border-box; min-width:0; min-height:40px; margin:0; flex:1 1 auto; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) .editable-option-field button { flex:0 0 38px; min-height:38px; padding:4px; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) > #m2Preview { grid-column:1 / -1; margin:2px 0 0; padding:10px 12px; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) > #clearWorkDraft { grid-column:span 3; justify-self:start; width:min(100%,220px); min-height:40px; }
.obras-equipe-page .pm-batch #workForm:not([hidden]) > button[type="submit"] { grid-column:span 4; justify-self:end; width:min(100%,320px); min-height:44px; margin-left:auto; padding:9px 14px; }
@media (max-width:760px) {
  body.obras-equipe-page .topbar { height:76px; padding:0 14px; }
  body.obras-equipe-page .topbar .brand { left:14px; gap:7px; }
  body.obras-equipe-page .topbar .brand-mark { width:68px; height:42px; }
  body.obras-equipe-page .topbar .brand > span:last-child { font-size:13px; }
  body.obras-equipe-page .back-link { right:14px; font-size:12px; }
  body.obras-equipe-page .page-shell { padding:22px 12px 40px; }
  body.obras-equipe-page .hero { margin-bottom:15px; }
  body.obras-equipe-page .hero p:not(.eyebrow) { font-size:14px; }
  .obras-team-tabs { gap:6px; margin-bottom:12px; }
  .obras-team-tabs [role="tab"] { min-height:44px; padding:9px 13px; font-size:13px; }
  .obras-equipe-page .obras-team-panel > .step-card { padding:16px 14px; }
  .obras-equipe-page .form-grid { grid-template-columns:minmax(0,1fr); gap:13px; }
  .obras-equipe-page .labor-summary-grid { grid-template-columns:minmax(130px,1fr) repeat(2,minmax(72px,.8fr)); min-width:560px; }
  .obras-equipe-page .labor-filter-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .obras-equipe-page .weekly-modal-card { width:min(100% - 20px,620px); padding:16px; }
  .obras-equipe-page .pm-batch #workForm:not([hidden]) { grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px 8px; }
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workProject),
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workEmployee),
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workDate),
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workDays),
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workOvertimeHours),
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workPaid),
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workService),
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#workStage),
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#plasterArea),
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#plasterRate),
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#constructionArea),
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > label:has(#constructionRate) { grid-column:span 3; }
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > #clearWorkDraft,
  .obras-equipe-page .pm-batch #workForm:not([hidden]) > button[type="submit"] { grid-column:span 3; width:100%; }
}

.obras-equipe-page .labor-summary-grid[hidden] { display:none !important; }
.obras-equipe-page .labor-summary-card .obras-content-count { margin:12px 0 6px; }
@media print { .obras-equipe-page .labor-summary-grid[hidden] { display:grid !important; } .obras-equipe-page .obras-content-pager { display:none !important; } .obras-equipe-page .labor-summary-card .obras-content-count { font-size:0; } .obras-equipe-page .labor-summary-card .obras-content-count::after { content:attr(data-total); font-size:12pt; } }
