/* =========================================================
   PIT · Plataforma de Inteligência Territorial
   Design system institucional. Carregado depois de style.css.
========================================================= */

:root {
  color-scheme: light;
  --pit-navy: #001b2a;
  --pit-petrol: #006d7a;
  --pit-green: #2e7d32;
  --pit-lime: #8bc34a;
  --pit-slate: #607d8b;
  --pit-mist: #f2f4f7;
  --pit-petrol-700: #005964;
  --pit-petrol-300: #80b6bc;
  --pit-petrol-100: #dff1f2;
  --pit-petrol-050: #eff8f8;
  --pit-green-700: #245f28;
  --pit-green-100: #e7f3e5;
  --pit-ink: #102f3b;
  --pit-text: #294752;
  --pit-muted: #607d8b;
  --pit-border: #d7e0e3;
  --pit-surface: #ffffff;
  --pit-surface-soft: #f7f9fa;
  --pit-success: #2e7d32;
  --pit-warning: #a35f00;
  --pit-danger: #b4233a;
  --pit-info: #006d7a;
  --pit-signal-green: #258249;
  --pit-signal-yellow: #c58a19;
  --pit-signal-red: #c34252;
  --pit-signal-green-bg: #eaf5ed;
  --pit-signal-yellow-bg: #fff5dc;
  --pit-signal-red-bg: #fcecef;
  --pit-radius-sm: 6px;
  --pit-radius-md: 10px;
  --pit-radius-lg: 16px;
  --pit-shadow-sm: 0 2px 8px rgba(0, 27, 42, .07);
  --pit-shadow-soft: 0 8px 24px rgba(0, 27, 42, .08);
  --pit-shadow-md: 0 12px 32px rgba(0, 27, 42, .12);
  --pit-focus: 0 0 0 3px rgba(0, 109, 122, .18);

  /* Aliases para os componentes legados. */
  --ui-bg: var(--pit-mist);
  --ui-surface: var(--pit-surface);
  --ui-surface-soft: var(--pit-surface-soft);
  --ui-surface-tint: var(--pit-petrol-050);
  --ui-border: var(--pit-border);
  --ui-border-strong: #b8c8ce;
  --ui-text: var(--pit-navy);
  --ui-text-soft: var(--pit-text);
  --ui-muted: var(--pit-muted);
  --ui-primary: var(--pit-petrol);
  --ui-primary-hover: var(--pit-petrol-700);
  --ui-primary-soft: var(--pit-petrol-100);
  --ui-green: var(--pit-green);
  --ui-green-soft: var(--pit-green-100);
  --ui-danger: var(--pit-danger);
  --ui-warning: var(--pit-warning);
  --ui-focus: var(--pit-focus);
  --ui-shadow-sm: var(--pit-shadow-sm);
  --ui-shadow: var(--pit-shadow-md);
}

/* Governança de Dados Públicos */
.module-view[data-module-view="admin"].governance-mode>.admin-user-summary,.module-view[data-module-view="admin"].governance-mode>.admin-users-card{display:none!important}.module-view[data-module-view="admin"].governance-mode>.admin-nav-card,.module-view[data-module-view="admin"].governance-mode>.admin-tool-card{grid-column:1/-1!important;grid-row:auto!important}
.data-governance-layer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.data-governance-layer-card{min-height:96px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px;border:1px solid var(--pit-border);border-radius:var(--pit-radius-md);color:var(--pit-text);background:var(--pit-surface);text-align:left;cursor:pointer}.data-governance-layer-card:hover,.data-governance-layer-card.active{border-color:var(--pit-petrol);box-shadow:var(--pit-focus)}.data-governance-layer-card>.material-symbols-outlined{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;color:var(--pit-petrol);background:var(--pit-petrol-100)}.data-governance-layer-card>span:nth-child(2){min-width:0;display:grid;gap:3px}.data-governance-layer-card small,.data-governance-layer-card em{color:var(--pit-muted);font-size:9px}.data-governance-layer-card strong{color:var(--pit-navy);font-size:13px}.data-governance-layer-card em{font-style:normal}
.governance-status{display:inline-flex;padding:5px 8px;border-radius:999px;color:var(--pit-warning);background:var(--pit-signal-yellow-bg);font-size:9px;font-weight:800}.governance-status.active{color:var(--pit-success);background:var(--pit-signal-green-bg)}.governance-status.suspended,.governance-status.deprecated{color:var(--pit-danger);background:var(--pit-signal-red-bg)}
.governance-layer-detail,.governance-schools{display:grid;gap:14px;margin-top:14px;padding:18px;border:1px solid var(--pit-border);border-radius:var(--pit-radius-lg);background:var(--pit-surface);box-shadow:var(--pit-shadow-sm)}.governance-layer-detail>header,.governance-schools>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.governance-layer-detail h3,.governance-schools h3{margin:3px 0 0;color:var(--pit-navy);font-size:17px}.governance-layer-detail header small,.governance-schools header small{color:var(--pit-petrol);font-size:9px;font-weight:800;text-transform:uppercase}.governance-metadata{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.governance-metadata>span{min-width:0;display:grid;gap:4px;padding:10px;border-radius:8px;background:var(--pit-surface-soft)}.governance-metadata small{color:var(--pit-muted);font-size:8px}.governance-metadata strong{overflow:hidden;color:var(--pit-ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.governance-criteria{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.governance-criteria>span{display:flex;align-items:center;gap:7px;padding:8px;border-radius:7px;font-size:10px}.governance-criteria .met{color:var(--pit-success);background:var(--pit-signal-green-bg)}.governance-criteria .pending{color:var(--pit-warning);background:var(--pit-signal-yellow-bg)}.governance-criteria .material-symbols-outlined{font-size:16px}.governance-actions button,.governance-schools>header button{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border:1px solid var(--pit-border);border-radius:7px;color:var(--pit-petrol);background:var(--pit-surface);cursor:pointer}.governance-actions button.primary{color:#fff;border-color:var(--pit-petrol);background:var(--pit-petrol)}
.governance-history{border-top:1px solid var(--pit-border);padding-top:10px}.governance-history summary{color:var(--pit-petrol);font-size:10px;font-weight:800;cursor:pointer}.governance-history>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:9px 0;border-bottom:1px solid var(--pit-border)}.governance-history strong{font-size:10px}.governance-history small,.governance-history p{color:var(--pit-muted);font-size:9px}.governance-history p{grid-column:1/-1;margin:0}.governance-history b{font-size:9px}
.governance-school-filters{display:grid;grid-template-columns:minmax(240px,1fr) minmax(200px,.4fr);gap:9px}.governance-school-filters input,.governance-school-filters select,.data-governance-dialog input,.data-governance-dialog select,.data-governance-dialog textarea{width:100%;padding:9px;border:1px solid var(--pit-border);border-radius:7px;color:var(--pit-ink);background:var(--pit-surface);font:inherit}.governance-school-table{overflow:auto;border:1px solid var(--pit-border);border-radius:9px}.governance-school-head,.governance-school-row{min-width:1040px;display:grid;grid-template-columns:minmax(190px,1.2fr) 145px minmax(180px,1fr) 150px 170px 140px;gap:10px;align-items:center;padding:9px 11px}.governance-school-head{color:var(--pit-muted);background:var(--pit-surface-soft);font-size:8px;font-weight:800;text-transform:uppercase}.governance-school-row{min-height:62px;border-top:1px solid var(--pit-border);font-size:9px}.governance-school-row.missing{background:var(--pit-signal-yellow-bg)}.governance-school-row>span{min-width:0;display:grid;gap:3px}.governance-school-row strong,.governance-school-row b{overflow:hidden;color:var(--pit-ink);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.governance-school-row small{color:var(--pit-muted);font-size:8px}.governance-row-actions{display:flex!important;flex-direction:row;justify-content:flex-end}.governance-row-actions button{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--pit-border);border-radius:6px;color:var(--pit-petrol);background:var(--pit-surface);cursor:pointer}.governance-row-actions .material-symbols-outlined{font-size:15px}.governance-pagination{display:flex;align-items:center;justify-content:center;gap:12px}.governance-pagination button{padding:7px 10px;border:1px solid var(--pit-border);border-radius:6px;color:var(--pit-petrol);background:var(--pit-surface)}.governance-pagination span{color:var(--pit-muted);font-size:9px}
.data-governance-dialog{width:min(620px,calc(100vw - 24px));border:1px solid var(--pit-border);border-radius:var(--pit-radius-lg);color:var(--pit-text);background:var(--pit-surface);box-shadow:var(--pit-shadow-md)}.data-governance-dialog-body{display:grid;gap:12px;padding:16px}.data-governance-dialog-body label{display:grid;gap:5px;color:var(--pit-text);font-size:10px;font-weight:700}.data-governance-dialog-body textarea{min-height:92px;resize:vertical}.governance-map-checklist{display:grid;grid-template-columns:1fr 1fr;gap:6px}.governance-map-checklist label{display:flex;align-items:center;gap:7px;padding:7px;border-radius:6px;background:var(--pit-surface-soft)}.governance-map-checklist input{width:16px}.governance-dialog-history{display:grid;gap:8px}.governance-dialog-history>div{padding:10px;border:1px solid var(--pit-border);border-radius:7px}.governance-dialog-history small{display:block;color:var(--pit-muted);font-size:8px}.governance-dialog-history p{margin:5px 0 0;font-size:10px}.governance-map-instructions{display:grid;gap:9px}.governance-map-instructions>b{padding:8px;border-radius:6px;color:var(--pit-petrol);background:var(--pit-petrol-100);font-family:monospace}.data-governance-dialog[open]:not([open][aria-modal="true"]){position:fixed;z-index:1200;right:18px;bottom:18px;margin:0}
body[data-theme="dark"] .data-governance-layer-card,body[data-theme="dark"] .governance-layer-detail,body[data-theme="dark"] .governance-schools,body[data-theme="dark"] .data-governance-dialog{color:#dbe8ec;border-color:#35505a;background:#102b36}body[data-theme="dark"] .data-governance-layer-card strong,body[data-theme="dark"] .governance-layer-detail h3,body[data-theme="dark"] .governance-schools h3,body[data-theme="dark"] .governance-metadata strong,body[data-theme="dark"] .governance-school-row strong,body[data-theme="dark"] .governance-school-row b{color:#f1f7f8}body[data-theme="dark"] .governance-metadata>span,body[data-theme="dark"] .governance-school-head,body[data-theme="dark"] .governance-map-checklist label{background:#183945}
@media(max-width:900px){.data-governance-layer-grid{grid-template-columns:1fr}.governance-metadata{grid-template-columns:repeat(3,minmax(0,1fr))}.governance-criteria{grid-template-columns:1fr}.governance-school-filters{grid-template-columns:1fr}.governance-map-checklist{grid-template-columns:1fr}}
@media(max-width:620px){.governance-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.governance-layer-detail,.governance-schools{padding:12px}.data-governance-layer-card{grid-template-columns:auto minmax(0,1fr)}.data-governance-layer-card>b{grid-column:2}.data-governance-dialog[open]:not([open][aria-modal="true"]){right:8px;bottom:8px;width:calc(100vw - 16px)}}

/* Governança de Dados — layout institucional PIT */
.pit-governance-center{display:grid;gap:16px;color:var(--pit-text);font-size:16px;line-height:1.5}
.governance-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#083049,#0f6470);box-shadow:0 12px 28px rgba(8,47,73,.16)}
.governance-hero>.material-symbols-outlined{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;color:#c8e66c;background:rgba(255,255,255,.1);font-size:30px}.governance-hero h2{margin:2px 0 5px;color:#fff;font-size:24px;line-height:1.2}.governance-hero p{margin:0;color:rgba(255,255,255,.86);font-size:16px}.governance-hero small,.governance-hero-updated span{font-size:14px;font-weight:700}.governance-hero-updated{display:grid;gap:4px;text-align:right}.governance-hero-updated button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;padding:0 14px;border:1px solid rgba(255,255,255,.38);border-radius:9px;color:#fff;background:rgba(255,255,255,.08);font:inherit;font-weight:700;cursor:pointer}
.pit-governance-center .admin-tool-loading,.pit-governance-center .admin-tool-error{min-height:120px;display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;border:1px solid var(--pit-border);border-radius:12px;background:var(--pit-surface);font-size:16px}.pit-governance-center .admin-tool-error{flex-direction:column;align-items:flex-start;color:var(--pit-danger)}.pit-governance-center .admin-tool-error span{color:var(--pit-text)}.pit-governance-center .admin-tool-error button{min-height:48px;padding:0 16px;border:1px solid var(--pit-border);border-radius:8px;color:var(--pit-petrol);background:var(--pit-surface);font:inherit;font-weight:700;cursor:pointer}
.data-governance-layer-grid{gap:14px;margin:0}.data-governance-layer-card{min-height:112px;padding:16px;border-radius:12px;font:inherit}.data-governance-layer-card small,.data-governance-layer-card em{font-size:14px;line-height:1.4}.data-governance-layer-card strong{font-size:17px;line-height:1.35}.data-governance-layer-card>.material-symbols-outlined{width:48px;height:48px;font-size:26px}.governance-status{padding:6px 10px;font-size:14px;line-height:1.3;text-align:center}
.governance-layer-detail,.governance-schools{gap:16px;margin-top:0;padding:20px}.governance-layer-detail h3,.governance-schools h3{font-size:20px}.governance-layer-detail header small,.governance-schools header small{font-size:14px}.governance-metadata{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.governance-metadata>span{min-height:76px;padding:12px}.governance-metadata small{font-size:14px}.governance-metadata strong{font-size:16px}.governance-criteria{gap:10px}.governance-criteria>span{min-height:48px;padding:10px 12px;font-size:16px}.governance-criteria .material-symbols-outlined{font-size:22px}.governance-actions button,.governance-schools>header button{min-height:48px;padding:0 14px;font:inherit;font-size:16px;font-weight:700}
.governance-history{padding-top:14px}.governance-history summary{min-height:48px;display:flex;align-items:center;font-size:16px}.governance-history>div{padding:12px 0}.governance-history strong,.governance-history b{font-size:16px}.governance-history small,.governance-history p{font-size:14px}
.governance-school-filters{gap:12px}.governance-school-filters input,.governance-school-filters select,.data-governance-dialog input,.data-governance-dialog select{min-height:48px;padding:0 12px;font-size:16px}.data-governance-dialog textarea{padding:12px;font-size:16px}.governance-school-table{border-radius:10px}.governance-school-head,.governance-school-row{padding:12px 14px}.governance-school-head{font-size:14px}.governance-school-row{min-height:76px;font-size:16px}.governance-school-row strong,.governance-school-row b{font-size:16px}.governance-school-row small{font-size:14px}.governance-row-actions{gap:6px}.governance-row-actions button{width:48px;height:48px;border-radius:8px}.governance-row-actions .material-symbols-outlined{font-size:22px}.governance-pagination{flex-wrap:wrap}.governance-pagination button{min-height:48px;padding:0 16px;font:inherit;font-weight:700;cursor:pointer}.governance-pagination span{font-size:14px}
.data-governance-dialog{font-size:16px}.data-governance-dialog-body{gap:16px;padding:20px}.data-governance-dialog-body label{gap:7px;font-size:14px}.data-governance-dialog-body p{font-size:16px}.governance-map-checklist{gap:9px}.governance-map-checklist label{min-height:48px;padding:10px 12px;font-size:16px}.governance-map-checklist input{width:20px;height:20px}.governance-dialog-history>div{padding:12px}.governance-dialog-history small{font-size:14px}.governance-dialog-history p{font-size:16px}.governance-map-instructions>b{padding:12px;font-size:16px}.data-governance-dialog .user-dialog-footer button,.data-governance-dialog .dialog-actions button{min-height:48px;font-size:16px}
.pit-governance-center button:focus-visible,.pit-governance-center input:focus-visible,.pit-governance-center select:focus-visible,.pit-governance-center summary:focus-visible,.data-governance-dialog button:focus-visible,.data-governance-dialog input:focus-visible,.data-governance-dialog select:focus-visible,.data-governance-dialog textarea:focus-visible{outline:3px solid var(--pit-focus-color,#2d8cff);outline-offset:2px}
body[data-theme="dark"] .governance-hero{background:linear-gradient(135deg,#071f30,#0b4e59)}body[data-theme="dark"] .pit-governance-center .admin-tool-loading,body[data-theme="dark"] .pit-governance-center .admin-tool-error,body[data-theme="dark"] .governance-row-actions button{color:#dbe8ec;border-color:#35505a;background:#102b36}body[data-theme="dark"] .governance-school-row.missing{background:#3b351c}
@media(max-width:820px){.governance-hero{grid-template-columns:auto minmax(0,1fr);padding:16px}.governance-hero-updated{grid-column:1/-1;text-align:left}.governance-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}.governance-layer-detail>header,.governance-schools>header{align-items:flex-start;flex-direction:column}.governance-school-table{overflow:visible;border:0}.governance-school-head{display:none}.governance-school-row{min-width:0;display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px;padding:14px;border:1px solid var(--pit-border);border-radius:11px;background:var(--pit-surface)}.governance-school-row>span{gap:4px;white-space:normal}.governance-school-row>span::before{color:var(--pit-muted);font-size:14px;font-weight:800;text-transform:uppercase}.governance-school-row>span:nth-child(1)::before{content:"Registro"}.governance-school-row>span:nth-child(2)::before{content:"Tipo e situação"}.governance-school-row>span:nth-child(3)::before{content:"Endereço"}.governance-school-row>span:nth-child(4)::before{content:"Geometria"}.governance-school-row>span:nth-child(5)::before{content:"Validação"}.governance-school-row>span:nth-child(6)::before{content:"Ações"}.governance-school-row strong,.governance-school-row b{overflow:visible;text-overflow:clip;white-space:normal}.governance-row-actions{justify-content:flex-start}}
@media(max-width:480px){.governance-hero h2{font-size:21px}.governance-layer-detail,.governance-schools{padding:14px}.governance-metadata{grid-template-columns:1fr}.data-governance-layer-card{grid-template-columns:auto minmax(0,1fr)}.data-governance-layer-card>b{grid-column:1/-1;justify-self:start}.governance-actions{display:grid}.governance-actions button,.governance-schools>header button{width:100%;justify-content:center}.data-governance-dialog{width:calc(100vw - 16px)}.data-governance-dialog-body{padding:14px}}

/* Fluxos Administrativos — layout institucional PIT */
.pit-workflow-center{display:grid;gap:16px;color:var(--ui-text,var(--pit-text));font-size:16px;line-height:1.5}.workflow-pit-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#083049,#0f6470);box-shadow:0 12px 28px rgba(8,47,73,.16)}.workflow-pit-hero>.material-symbols-outlined{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;color:#c8e66c;background:rgba(255,255,255,.1);font-size:30px}.workflow-pit-hero h2{margin:2px 0 5px;color:#fff;font-size:24px;line-height:1.2}.workflow-pit-hero p{margin:0;color:rgba(255,255,255,.86);font-size:16px}.workflow-pit-hero small,.workflow-pit-updated span{font-size:14px;font-weight:700}.workflow-pit-updated{display:grid;gap:4px;text-align:right}.workflow-pit-updated button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;padding:0 14px;border:1px solid rgba(255,255,255,.38);border-radius:9px;color:#fff;background:rgba(255,255,255,.08);font:inherit;font-weight:700;cursor:pointer}
.workflow-pit-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--ui-border,var(--pit-border));border-radius:12px;background:var(--ui-surface,var(--pit-surface))}.workflow-pit-section-heading>div{display:grid;gap:3px}.workflow-pit-section-heading small{color:var(--ui-primary,var(--pit-petrol));font-size:14px;font-weight:800;text-transform:uppercase}.workflow-pit-section-heading h3{margin:0;color:var(--ui-text,var(--pit-text));font-size:20px}.workflow-pit-section-heading p{margin:0;color:var(--ui-text-soft,var(--pit-muted));font-size:16px}.workflow-pit-section-heading button,.pit-workflow-center .admin-tool-error button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:1px solid var(--ui-primary,var(--pit-petrol));border-radius:8px;color:#fff;background:var(--ui-primary,var(--pit-petrol));font:inherit;font-weight:750;cursor:pointer}
.workflow-pit-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;background:transparent}.workflow-pit-stats>div{min-height:92px;display:grid;align-content:center;gap:3px;padding:14px;border:1px solid var(--ui-border,var(--pit-border));border-radius:11px;background:var(--ui-surface,var(--pit-surface));text-align:left}.workflow-pit-stats>div:last-child{border-right:1px solid var(--ui-border,var(--pit-border))}.workflow-pit-stats strong{color:var(--ui-text,var(--pit-text));font-size:26px}.workflow-pit-stats span{color:var(--ui-text-soft,var(--pit-muted));font-size:14px;text-transform:none}
.admin-workflow-list{display:grid;gap:12px}.pit-workflow-center .admin-workflow-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;border:1px solid var(--ui-border,var(--pit-border));border-radius:12px;color:var(--ui-text,var(--pit-text));background:var(--ui-surface,var(--pit-surface));box-shadow:var(--pit-shadow-sm)}.pit-workflow-center .admin-workflow-card>div:first-child{gap:4px}.pit-workflow-center .admin-workflow-card small{color:var(--ui-primary,var(--pit-petrol));font-size:14px;font-weight:800;text-transform:uppercase}.pit-workflow-center .admin-workflow-card strong{color:var(--ui-text,var(--pit-text));font-size:18px}.pit-workflow-center .admin-workflow-card>div:first-child>span{color:var(--ui-text-soft,var(--pit-muted));font-size:14px}.pit-workflow-center .admin-workflow-actions{justify-content:flex-end}.pit-workflow-center .admin-workflow-actions button,.pit-workflow-center .admin-workflow-actions .status-active,.pit-workflow-center .admin-workflow-actions .status-inactive{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border-color:var(--ui-border,var(--pit-border));border-radius:8px;color:var(--ui-text,var(--pit-text));background:var(--ui-surface-soft,var(--pit-surface-soft));font-size:14px;font-weight:700}.pit-workflow-center .admin-workflow-actions .status-active{color:#166534;border-color:#bbf7d0;background:#f0fdf4}.pit-workflow-center .admin-workflow-actions .status-inactive{color:#9f1239;border-color:#fecdd3;background:#fff1f2;opacity:1}.pit-workflow-center .admin-workflow-actions button.danger{color:#b42318}.pit-workflow-center .admin-workflow-actions .material-symbols-outlined{font-size:20px}
.pit-workflow-center .admin-empty{min-height:150px;display:grid;place-items:center;align-content:center;gap:6px;padding:24px;border:1px dashed var(--ui-border,var(--pit-border));border-radius:12px;color:var(--ui-text-soft,var(--pit-muted));background:var(--ui-surface-soft,var(--pit-surface-soft));text-align:center}.pit-workflow-center .admin-empty>.material-symbols-outlined{font-size:34px;color:var(--ui-primary,var(--pit-petrol))}.pit-workflow-center .admin-empty strong{color:var(--ui-text,var(--pit-text));font-size:18px}.pit-workflow-center .admin-empty p{margin:0;font-size:16px}.pit-workflow-center .admin-tool-loading,.pit-workflow-center .admin-tool-error{min-height:120px;display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;border:1px solid var(--ui-border,var(--pit-border));border-radius:12px;background:var(--ui-surface,var(--pit-surface));font-size:16px}.pit-workflow-center .admin-tool-error{flex-direction:column;align-items:flex-start;color:var(--pit-danger)}.pit-workflow-center .admin-tool-error span{color:var(--ui-text,var(--pit-text))}
.pit-workflow-center .admin-tool-actions button{min-height:48px;padding:0 16px;border-radius:8px;font:inherit;font-size:16px;font-weight:700}.pit-workflow-center .workflow-form{gap:16px;padding:18px;border:1px solid var(--ui-border,var(--pit-border));border-radius:12px;background:var(--ui-surface,var(--pit-surface))}.pit-workflow-center .workflow-form-grid,.pit-workflow-center .workflow-step-grid{gap:14px}.pit-workflow-center .workflow-form label,.pit-workflow-center .workflow-step-grid label{gap:7px;color:var(--ui-text,var(--pit-text));font-size:14px;font-weight:700}.pit-workflow-center .workflow-form :is(input,select,textarea),.pit-workflow-center .workflow-step-grid :is(input,select,textarea){min-height:48px;padding:10px 12px;border-color:var(--ui-border,var(--pit-border));color:var(--ui-text,var(--pit-text));background:var(--ui-surface,var(--pit-surface));font-size:16px}.pit-workflow-center .workflow-condition-editor{padding:16px!important}.pit-workflow-center .workflow-condition-editor legend{font-size:14px}.pit-workflow-center .workflow-condition-editor>small{font-size:14px}.pit-workflow-center .workflow-step-grid .workflow-notify-toggle{min-height:48px;font-size:16px}.pit-workflow-center .workflow-step-grid .workflow-notify-toggle input{width:20px;height:20px}.pit-workflow-center .workflow-step-grid .workflow-notify-toggle span{font-size:14px}.pit-workflow-center .workflow-steps-section{gap:14px;padding:16px;border-color:var(--ui-border,var(--pit-border));border-radius:11px;background:var(--ui-surface-soft,var(--pit-surface-soft))}.pit-workflow-center .project-card-header h2,.pit-workflow-center .project-card-header h3{color:var(--ui-text,var(--pit-text));font-size:18px}.pit-workflow-center .project-card-header span,.pit-workflow-center .project-card-header small{color:var(--ui-text-soft,var(--pit-muted));font-size:14px}.pit-workflow-center .project-card-header button{min-height:48px;padding:0 14px;font-size:14px}.pit-workflow-center .workflow-step-row{gap:14px;padding:16px;border-color:var(--ui-border,var(--pit-border));border-radius:10px;background:var(--ui-surface,var(--pit-surface))}
.pit-workflow-center .workflow-map-toolbar{padding:16px;border-color:var(--ui-border,var(--pit-border));background:var(--ui-surface-soft,var(--pit-surface-soft))}.pit-workflow-center .workflow-map-toolbar label span{font-size:14px}.pit-workflow-center .workflow-map-toolbar select,.pit-workflow-center .workflow-map-toolbar button{min-height:48px;font-size:16px}.pit-workflow-center .workflow-map-toolbar b{font-size:14px}.pit-workflow-center .workflow-map-layout{grid-template-columns:minmax(0,1fr) 390px}.pit-workflow-center .workflow-map-meta{flex-wrap:wrap;padding:14px}.pit-workflow-center .workflow-map-meta span{padding:6px 10px;font-size:14px}.pit-workflow-center .workflow-map-stage-index{gap:8px;padding:12px 14px}.pit-workflow-center .workflow-map-stage-index button{min-height:48px;padding:6px 11px;font-size:14px}.pit-workflow-center .workflow-map-stage-index button b{width:26px;height:26px;font-size:12px}.pit-workflow-center .workflow-map-node{width:220px;min-height:112px;padding:14px}.pit-workflow-center .workflow-map-node-icon{flex-basis:44px;height:44px}.pit-workflow-center .workflow-map-node small{font-size:14px}.pit-workflow-center .workflow-map-node strong{font-size:16px}.pit-workflow-center .workflow-map-node em{font-size:14px}.pit-workflow-center .workflow-map-hint{padding:0 14px 14px;font-size:14px}.pit-workflow-center .workflow-map-detail{padding:18px;gap:16px}.pit-workflow-center .workflow-map-detail header small{font-size:14px}.pit-workflow-center .workflow-map-detail h3{font-size:19px}.pit-workflow-center .workflow-map-detail>p,.pit-workflow-center .workflow-map-instructions p{font-size:16px}.pit-workflow-center .workflow-map-detail dl div{padding:10px 0;font-size:14px}.pit-workflow-center .workflow-map-fields>strong,.pit-workflow-center .workflow-map-instructions>strong{font-size:14px}.pit-workflow-center .workflow-map-fields span{min-height:44px;padding:10px;font-size:14px}.pit-workflow-center .workflow-map-condition strong{font-size:14px}.pit-workflow-center .workflow-map-condition p,.pit-workflow-center .workflow-map-condition small{font-size:14px!important}.pit-workflow-center .workflow-map-auto-sync{min-height:48px;padding:10px 12px}.pit-workflow-center .workflow-map-auto-sync strong,.pit-workflow-center .workflow-map-auto-sync small{font-size:14px}.pit-workflow-center .workflow-map-inline-editor label>span,.pit-workflow-center .workflow-map-inline-editor legend{font-size:14px}.pit-workflow-center .workflow-map-inline-editor :is(input,select,textarea){min-height:48px;padding:10px 11px;font-size:16px}.pit-workflow-center .workflow-map-editor-actions button{min-height:48px;padding:0 11px;font-size:14px}.pit-workflow-center .workflow-map-editor-check input{width:20px;min-height:20px}
.pit-workflow-center :is(button,input,select,textarea,[tabindex],summary):focus-visible{outline:3px solid var(--pit-focus-color,#2d8cff);outline-offset:2px}
body[data-theme="dark"] .workflow-pit-hero{background:linear-gradient(135deg,#071f30,#0b4e59)}body[data-theme="dark"] .pit-workflow-center .admin-workflow-actions .status-active{color:#86efac;border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.14)}body[data-theme="dark"] .pit-workflow-center .admin-workflow-actions .status-inactive{color:#fda4af;border-color:rgba(244,63,94,.35);background:rgba(244,63,94,.14)}
@media(max-width:1050px){.pit-workflow-center .workflow-map-layout{grid-template-columns:1fr}.pit-workflow-center .workflow-map-detail{grid-template-columns:repeat(2,minmax(0,1fr))}.pit-workflow-center .workflow-map-detail header,.pit-workflow-center .workflow-map-detail>p{grid-column:1/-1}}
@media(max-width:820px){.workflow-pit-hero{grid-template-columns:auto minmax(0,1fr);padding:16px}.workflow-pit-updated{grid-column:1/-1;text-align:left}.workflow-pit-section-heading{align-items:stretch;flex-direction:column}.workflow-pit-section-heading button{width:100%}.workflow-pit-stats{grid-template-columns:1fr}.pit-workflow-center .admin-workflow-card{grid-template-columns:1fr}.pit-workflow-center .admin-workflow-actions{justify-content:flex-start}.pit-workflow-center .workflow-form-grid,.pit-workflow-center .workflow-step-grid,.pit-workflow-center .workflow-condition-editor>div,.pit-workflow-center .workflow-map-editor-grid{grid-template-columns:1fr}.pit-workflow-center .workflow-map-toolbar{align-items:stretch;flex-direction:column}.pit-workflow-center .workflow-map-toolbar label{min-width:0}.pit-workflow-center .workflow-map-toolbar-actions{justify-content:flex-start}.pit-workflow-center .workflow-map-layout{display:block}.pit-workflow-center .workflow-map-detail{grid-template-columns:1fr;margin-top:12px}.pit-workflow-center .workflow-map-detail>*{grid-column:1!important}.pit-workflow-center .workflow-map-auto-sync{align-items:flex-start;flex-wrap:wrap}.pit-workflow-center .workflow-map-auto-sync small{width:100%;margin-left:24px}}
@media(max-width:480px){.workflow-pit-hero h2{font-size:21px}.pit-workflow-center .admin-workflow-actions{display:grid;grid-template-columns:1fr 1fr}.pit-workflow-center .admin-workflow-actions>span{grid-column:1/-1}.pit-workflow-center .admin-workflow-actions button{width:100%}.pit-workflow-center .workflow-form{padding:14px}.pit-workflow-center .workflow-map-toolbar-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pit-workflow-center .workflow-map-toolbar-actions button{width:100%}.pit-workflow-center .workflow-map-toolbar-actions b{align-self:center}.pit-workflow-center .workflow-map-node{width:200px}}

/* Navegação administrativa e inventário de licenças PIT */
.app.admin-workspace .admin-nav-card{padding:18px;border:1px solid var(--ui-border,var(--pit-border));border-radius:12px;background:var(--ui-surface,var(--pit-surface));box-shadow:var(--pit-shadow-sm)}.app.admin-workspace .admin-nav-card h2{margin:0 0 12px;color:var(--ui-text,var(--pit-text));font-size:20px}.app.admin-workspace .admin-nav-card .module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.app.admin-workspace .admin-nav-card .module-grid button{min-height:56px;display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:8px 12px;border:1px solid var(--ui-border,var(--pit-border));border-radius:9px;color:var(--ui-text-soft,var(--pit-muted));background:var(--ui-surface-soft,var(--pit-surface-soft));font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer}.app.admin-workspace .admin-nav-card .module-grid button>.material-symbols-outlined{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:var(--ui-primary,var(--pit-petrol));background:color-mix(in srgb,var(--ui-primary,var(--pit-petrol)) 10%,transparent);font-size:20px}.app.admin-workspace .admin-nav-card .module-grid button:hover,.app.admin-workspace .admin-nav-card .module-grid button.active,.app.admin-workspace .admin-nav-card .module-grid button[aria-current="page"]{color:var(--ui-primary,var(--pit-petrol));border-color:var(--ui-primary,var(--pit-petrol));background:color-mix(in srgb,var(--ui-primary,var(--pit-petrol)) 6%,var(--ui-surface,var(--pit-surface)))}.app.admin-workspace .admin-nav-card .module-grid button:focus-visible{outline:3px solid var(--pit-focus-color,#2d8cff);outline-offset:2px}
.pit-licenses-center{display:grid;gap:16px;color:var(--ui-text,var(--pit-text));font-size:16px;line-height:1.5}.licenses-pit-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#083049,#0f6470);box-shadow:0 12px 28px rgba(8,47,73,.16)}.licenses-pit-hero>.material-symbols-outlined{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;color:#c8e66c;background:rgba(255,255,255,.1);font-size:30px}.licenses-pit-hero h2{margin:2px 0 5px;color:#fff;font-size:24px;line-height:1.2}.licenses-pit-hero p{margin:0;color:rgba(255,255,255,.86);font-size:16px}.licenses-pit-hero small,.licenses-pit-updated span{font-size:14px;font-weight:700}.licenses-pit-updated{display:grid;gap:4px;text-align:right}.licenses-pit-updated button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;padding:0 14px;border:1px solid rgba(255,255,255,.38);border-radius:9px;color:#fff;background:rgba(255,255,255,.08);font:inherit;font-weight:700;cursor:pointer}
.licenses-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.licenses-summary>div{min-height:92px;display:grid;align-content:center;gap:3px;padding:14px;border:1px solid var(--ui-border,var(--pit-border));border-radius:11px;background:var(--ui-surface,var(--pit-surface))}.licenses-summary strong{color:var(--ui-text,var(--pit-text));font-size:24px}.licenses-summary span{color:var(--ui-text-soft,var(--pit-muted));font-size:14px}.licenses-component-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.licenses-component-card{display:grid;gap:14px;padding:18px;border:1px solid var(--ui-border,var(--pit-border));border-radius:12px;background:var(--ui-surface,var(--pit-surface));box-shadow:var(--pit-shadow-sm)}.licenses-component-card>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px}.licenses-component-card>header>.material-symbols-outlined{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;color:var(--ui-primary,var(--pit-petrol));background:color-mix(in srgb,var(--ui-primary,var(--pit-petrol)) 10%,transparent);font-size:24px}.licenses-component-card header small{color:var(--ui-primary,var(--pit-petrol));font-size:14px;font-weight:800;text-transform:uppercase}.licenses-component-card h3{margin:2px 0 0;color:var(--ui-text,var(--pit-text));font-size:19px}.licenses-component-card header b{padding:6px 9px;border-radius:999px;color:#166534;background:#dcfce7;font-size:14px}.licenses-component-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.licenses-component-card dl>div{min-width:0;display:grid;gap:3px;padding:11px;border-radius:8px;background:var(--ui-surface-soft,var(--pit-surface-soft))}.licenses-component-card dt{color:var(--ui-text-soft,var(--pit-muted));font-size:14px}.licenses-component-card dd{margin:0;overflow-wrap:anywhere;color:var(--ui-text,var(--pit-text));font-size:16px;font-weight:700}.licenses-component-card p{margin:0;color:var(--ui-text-soft,var(--pit-muted));font-size:16px}.licenses-governance-note{display:flex;align-items:flex-start;gap:11px;padding:16px;border:1px solid color-mix(in srgb,var(--ui-primary,var(--pit-petrol)) 25%,var(--ui-border,var(--pit-border)));border-radius:11px;color:var(--ui-text,var(--pit-text));background:color-mix(in srgb,var(--ui-primary,var(--pit-petrol)) 6%,var(--ui-surface,var(--pit-surface)))}.licenses-governance-note>.material-symbols-outlined{color:var(--ui-primary,var(--pit-petrol))}.licenses-governance-note p{margin:3px 0 0;color:var(--ui-text-soft,var(--pit-muted));font-size:14px}.pit-licenses-center button:focus-visible{outline:3px solid var(--pit-focus-color,#2d8cff);outline-offset:2px}
.app.admin-workspace .admin-access-denied{min-height:260px;display:grid;place-items:center;align-content:center;gap:8px;padding:24px;border:1px solid var(--ui-border,var(--pit-border));border-radius:12px;color:var(--ui-text-soft,var(--pit-muted));background:var(--ui-surface,var(--pit-surface));font-size:16px;text-align:center}.app.admin-workspace .admin-access-denied>.material-symbols-outlined{font-size:38px;color:var(--pit-danger)}.app.admin-workspace .admin-access-denied strong{color:var(--ui-text,var(--pit-text));font-size:20px}.app.admin-workspace .admin-access-denied p{margin:0}.app.admin-workspace .admin-access-denied button{min-height:48px;margin-top:8px;padding:0 16px;border:1px solid var(--ui-primary,var(--pit-petrol));border-radius:8px;color:#fff;background:var(--ui-primary,var(--pit-petrol));font:inherit;font-weight:700;cursor:pointer}
body[data-theme="dark"] .licenses-pit-hero{background:linear-gradient(135deg,#071f30,#0b4e59)}body[data-theme="dark"] .licenses-component-card header b{color:#86efac;background:rgba(34,197,94,.14)}
@media(max-width:820px){.app.admin-workspace .admin-nav-card{padding:14px}.app.admin-workspace .admin-nav-card .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.licenses-pit-hero{grid-template-columns:auto minmax(0,1fr);padding:16px}.licenses-pit-updated{grid-column:1/-1;text-align:left}.licenses-summary,.licenses-component-grid{grid-template-columns:1fr}}
@media(max-width:480px){.app.admin-workspace .admin-nav-card .module-grid{grid-template-columns:1fr}.licenses-pit-hero h2{font-size:21px}.licenses-component-card{padding:14px}.licenses-component-card dl{grid-template-columns:1fr}}

html, body, button, input, select, textarea {
  font-family: Montserrat, "Segoe UI Variable", "Segoe UI", sans-serif;
}
body { color:var(--pit-text); background:var(--pit-mist); }
h1, h2, h3, h4, h5, h6, strong { color:var(--pit-navy); }
h1, h2, h3 { letter-spacing:-.025em; }
small, .module-muted, .project-section-note { color:var(--pit-muted); }
::selection { color:#fff; background:var(--pit-petrol); }

/* Ícones lineares com peso e caixa óptica consistentes. */
.material-symbols-outlined {
  font-family:"Material Symbols Outlined";
  font-variation-settings:"FILL" 0, "wght" 500, "GRAD" 0, "opsz" 24;
  line-height:1;
  letter-spacing:normal;
}
button:hover > .material-symbols-outlined {
  font-variation-settings:"FILL" 0, "wght" 600, "GRAD" 0, "opsz" 24;
}

/* Navegação institucional. */
.platform-rail, .sidebar, body[data-theme] .platform-rail {
  color:#c4d1d5;
  background:var(--pit-navy);
  border-color:rgba(255,255,255,.1);
  box-shadow:6px 0 24px rgba(0,27,42,.18);
}
.logo.platform-module-btn {
  padding:5px;
  border:1px solid rgba(255,255,255,.16);
  background:#fff;
}
.logo.platform-module-btn img { display:block; width:100%; height:100%; object-fit:contain; }
.platform-module-btn { color:#a8bdc4; border-radius:var(--pit-radius-md); }
.platform-module-btn:hover { color:#fff; background:rgba(0,109,122,.42); }
.platform-module-btn.active {
  color:#fff;
  border-left-color:var(--pit-lime);
  background:linear-gradient(145deg,var(--pit-petrol),var(--pit-green));
  box-shadow:0 6px 16px rgba(0,0,0,.24);
}
.platform-module-btn[data-module="inspections"] { --module-accent:var(--pit-green); }
.platform-module-btn[data-module="analytics"] { --module-accent:var(--pit-petrol); }
.platform-module-btn[data-module="layers"] { --module-accent:var(--pit-lime); }
.platform-module-btn[data-module="admin"] { --module-accent:var(--pit-slate); }
.platform-module-btn:not(.active):hover { border-left-color:var(--module-accent,var(--pit-petrol)); }
.rail-account { border-color:rgba(255,255,255,.1); }
.rail-account button { color:#a8bdc4; }
.rail-account button:hover { color:#fff; background:rgba(255,255,255,.08); }
#user-menu-button { color:var(--pit-navy); background:var(--pit-lime); }
#institutional-context { max-width:190px; min-width:120px; height:34px; border:1px solid var(--ui-border,#dbe3ec); border-radius:8px; padding:0 8px; color:var(--ui-text,#172033); background:var(--ui-surface,#fff); font-size:11px; }

/* Superfícies e componentes. */
.platform-panel-header {
  background:rgba(255,255,255,.96);
  border-color:var(--pit-border);
  box-shadow:0 1px 0 rgba(0,27,42,.04);
}
.platform-panel-header span, .admin-section-eyebrow, .login-eyebrow { color:var(--pit-petrol); }
.metric-card, .module-card, .card, .analytics-card, .project-card,
.admin-tool-card, .inspection-list-card, .inspection-review-card {
  border-color:var(--pit-border);
  border-radius:var(--pit-radius-md);
  background:var(--pit-surface);
  box-shadow:var(--pit-shadow-sm);
}
.metric-card:hover, .project-card:hover {
  border-color:#a8c6ca;
  box-shadow:0 8px 22px rgba(0,27,42,.1);
}
.metric-card > .material-symbols-outlined,
.admin-tool-header > .material-symbols-outlined {
  color:var(--pit-petrol);
  background:var(--pit-petrol-100);
}

/* Grafismo de dados e conexões da identidade. */
.profile-dashboard-hero {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 86% 28%,rgba(139,195,74,.18),transparent 25%),
    linear-gradient(135deg,var(--pit-navy),#003d4b 62%,#17643c);
}
.profile-dashboard-hero::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  pointer-events:none;
  background-image:radial-gradient(circle,rgba(255,255,255,.9) 1px,transparent 1.5px);
  background-size:30px 30px;
  mask-image:linear-gradient(90deg,transparent 35%,#000);
}
.profile-dashboard-hero :is(h1,p,small) { position:relative; color:#fff; }
.profile-dashboard-badge { position:relative; color:var(--pit-navy); background:var(--pit-lime); }

/* Campos, ações e estados. */
input, select, textarea { color:var(--pit-navy); border-color:var(--ui-border-strong); background:#fff; }
input:focus, select:focus, textarea:focus { border-color:var(--pit-petrol); box-shadow:var(--pit-focus); }
input[type="checkbox"], input[type="radio"] { accent-color:var(--pit-petrol); }
.login-submit, .user-dialog footer button[type="submit"] {
  color:#fff;
  border-color:var(--pit-petrol);
  background:linear-gradient(135deg,var(--pit-petrol),var(--pit-green));
  box-shadow:0 8px 20px rgba(0,109,122,.2);
}
.login-submit:hover, .user-dialog footer button[type="submit"]:hover {
  background:linear-gradient(135deg,var(--pit-petrol-700),var(--pit-green-700));
}
.layer-chips button.active, .inspection-quick-filters button.active,
.module-view[data-module-view="admin"] .module-grid button.active {
  color:var(--pit-petrol-700);
  border-color:#8fbdc2;
  background:var(--pit-petrol-100);
}

/* Autenticação. */
.login-brand { width:auto; height:auto; }
.login-brand-logo { display:block; width:min(300px,60vw); height:auto; }
.login-screen {
  color:var(--pit-text);
  background:
    linear-gradient(90deg,rgba(0,27,42,.035) 1px,transparent 1px),
    linear-gradient(rgba(0,27,42,.035) 1px,transparent 1px),
    radial-gradient(circle at 13% 20%,rgba(0,109,122,.14),transparent 30%),
    radial-gradient(circle at 87% 78%,rgba(139,195,74,.13),transparent 31%),
    var(--pit-mist);
  background-size:38px 38px,38px 38px,auto,auto,auto;
}
.login-screen::after {
  content:"";
  position:absolute;
  right:-8vw;
  bottom:-20vh;
  width:52vw;
  height:70vh;
  border:1px solid rgba(0,109,122,.12);
  transform:rotate(-18deg);
  pointer-events:none;
  background:linear-gradient(135deg,transparent 48%,rgba(0,109,122,.05) 48% 52%,transparent 52%);
}
.login-brand, .login-content, .login-screen footer { position:relative; z-index:1; }
.login-intro h1 { color:var(--pit-navy); font-weight:800; letter-spacing:-.045em; }
.login-intro h1 em { color:var(--pit-petrol); }
.login-intro p, .login-card-heading p, .login-status, .login-options { color:var(--pit-text); }
.login-status span { background:var(--pit-lime); box-shadow:0 0 0 5px rgba(139,195,74,.16); }
.login-card {
  border-color:var(--pit-border);
  border-top:4px solid var(--pit-petrol);
  border-radius:var(--pit-radius-lg);
  background:rgba(255,255,255,.95);
  box-shadow:0 28px 72px rgba(0,27,42,.15);
}
.login-card-heading > .material-symbols-outlined { color:var(--pit-green); background:var(--pit-green-100); }
.login-field > div { border-color:var(--pit-border); background:var(--pit-surface-soft); }
.login-options button { color:var(--pit-petrol); }
.login-register { color:var(--pit-text); border-color:var(--pit-border); background:#fff; }
.login-register:hover { color:var(--pit-petrol); border-color:var(--pit-petrol); background:var(--pit-petrol-050); }

.login-error, .user-form-error { color:var(--pit-danger); }
.login-error.success, .user-form-error.success { color:var(--pit-success); }
.network-status { border-color:#d59a3d; color:#fff4d6; background:#5f3900; }
.notification-module-button b { border-color:var(--pit-navy); background:var(--pit-danger); }

/* Semáforo informativo: superfície translúcida, nunca preenchimento sólido. */
button[data-signal] {
  --signal-color:var(--pit-petrol);
  --signal-text:var(--pit-petrol-700);
  --signal-tint:rgba(0,109,122,.09);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:var(--signal-text);
  border:1px solid color-mix(in srgb,var(--signal-color) 38%,#fff);
  background:linear-gradient(135deg,color-mix(in srgb,var(--signal-color) 12%,#fff),rgba(255,255,255,.88));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 4px 12px color-mix(in srgb,var(--signal-color) 12%,transparent);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
button[data-signal]::before {
  content:"";
  width:8px;
  height:8px;
  flex:0 0 auto;
  border:2px solid rgba(255,255,255,.9);
  border-radius:50%;
  background:var(--signal-color);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--signal-color) 16%,transparent),0 0 10px color-mix(in srgb,var(--signal-color) 32%,transparent);
}
button[data-signal]::after {
  content:"";
  position:absolute;
  z-index:-1;
  top:-28px;
  right:-14px;
  width:58px;
  height:58px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--signal-color) 14%,transparent),transparent 68%);
  pointer-events:none;
}
button[data-signal="green"] {
  --signal-color:var(--pit-signal-green);
  --signal-text:#17643c;
  --signal-tint:rgba(37,130,73,.09);
}
button[data-signal="yellow"] {
  --signal-color:var(--pit-signal-yellow);
  --signal-text:#77510c;
  --signal-tint:rgba(197,138,25,.10);
}
button[data-signal="red"] {
  --signal-color:var(--pit-signal-red);
  --signal-text:#8f2635;
  --signal-tint:rgba(195,66,82,.09);
}
button[data-signal]:hover {
  color:var(--signal-text);
  border-color:color-mix(in srgb,var(--signal-color) 62%,#fff);
  background:linear-gradient(135deg,color-mix(in srgb,var(--signal-color) 18%,#fff),#fff);
  box-shadow:inset 0 1px 0 #fff,0 7px 18px color-mix(in srgb,var(--signal-color) 20%,transparent);
  transform:translateY(-1px);
}
button[data-signal]:focus-visible { outline:2px solid var(--signal-color); outline-offset:3px; }

/* =========================================================
   Dashboard · visão executiva territorial
========================================================= */
.module-view[data-module-view="dashboard"].active {
  width:min(1460px,100%);
  color:var(--pit-text);
}
.app.dashboard-workspace {
  --gw-bg:var(--pit-mist);
  --gw-surface:var(--pit-surface);
  --gw-surface-2:var(--pit-surface-soft);
  --gw-border:var(--pit-border);
  --gw-text:var(--pit-navy);
  --gw-muted:var(--pit-muted);
  --gw-primary:var(--pit-petrol);
  --gw-accent:var(--pit-green);
  --gw-hover:var(--pit-petrol-050);
  --gw-shadow:var(--pit-shadow-md);
  --dashboard-font-eyebrow:11px;
  --dashboard-font-meta:11px;
  --dashboard-font-body:12px;
  --dashboard-font-title:17px;
}
.app.dashboard-workspace .profile-dashboard { gap:18px; }

.app.dashboard-workspace .profile-dashboard-hero {
  min-height:148px;
  padding:28px 30px;
  border:1px solid rgba(139,195,74,.24);
  border-radius:var(--pit-radius-lg);
  box-shadow:0 18px 38px rgba(0,27,42,.18);
  isolation:isolate;
}
.profile-dashboard-hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  right:-36px;
  bottom:-115px;
  width:270px;
  height:270px;
  border:1px solid rgba(139,195,74,.28);
  border-radius:44% 56% 63% 37%;
  background:rgba(0,109,122,.22);
  transform:rotate(25deg);
}
.profile-dashboard-hero > div { position:relative; z-index:1; gap:8px; }
.app.dashboard-workspace .profile-dashboard-hero small {
  color:#a9d85e;
  font-size:var(--dashboard-font-eyebrow);
  font-weight:800;
  letter-spacing:.14em;
}
.app.dashboard-workspace .profile-dashboard-hero h1 {
  color:#fff;
  font-size:clamp(27px,3vw,38px);
  font-weight:750;
  line-height:1.12;
}
.app.dashboard-workspace .profile-dashboard-hero p {
  max-width:720px;
  color:#c7d7dc;
  font-size:14px;
  line-height:1.55;
}
.app.dashboard-workspace .profile-dashboard-badge {
  z-index:1;
  padding:10px 15px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  font-size:11px;
  font-weight:750;
  letter-spacing:.035em;
  backdrop-filter:blur(8px);
}

.profile-dashboard-loading {
  color:var(--pit-muted);
  border:1px dashed var(--pit-border);
  border-radius:var(--pit-radius-lg);
  background:var(--pit-surface);
  font-size:12px;
}
.profile-dashboard-loading .material-symbols-outlined { color:var(--pit-petrol); }

.app.dashboard-workspace .profile-dashboard-cards {
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px;
  margin-bottom:18px;
}
.app.dashboard-workspace .profile-dashboard-card {
  --card-color:var(--pit-petrol);
  --card-tint:var(--pit-petrol-050);
  position:relative;
  min-height:104px;
  gap:13px;
  overflow:hidden;
  padding:17px 18px;
  border:1px solid color-mix(in srgb,var(--card-color) 20%,var(--pit-border));
  border-radius:var(--pit-radius-md);
  background:linear-gradient(145deg,var(--card-tint),#fff 64%);
  box-shadow:var(--pit-shadow-sm);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.app.dashboard-workspace .profile-dashboard-card::after {
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:42px;
  height:4px;
  border-radius:0 0 0 6px;
  background:var(--card-color);
}
.app.dashboard-workspace .profile-dashboard-card:hover {
  border-color:color-mix(in srgb,var(--card-color) 40%,var(--pit-border));
  box-shadow:0 10px 24px rgba(0,27,42,.1);
  transform:translateY(-2px);
}
.profile-dashboard-card.blue { --card-color:var(--pit-petrol); --card-tint:var(--pit-petrol-050); }
.profile-dashboard-card.amber { --card-color:#6b8f2a; --card-tint:#f4f8eb; }
.profile-dashboard-card.orange { --card-color:var(--pit-warning); --card-tint:#fff8e9; }
.profile-dashboard-card.red { --card-color:var(--pit-danger); --card-tint:#fff4f5; }
.profile-dashboard-card.green { --card-color:var(--pit-green); --card-tint:#f0f7ef; }
.profile-dashboard-card.violet { --card-color:var(--pit-navy); --card-tint:#eff3f4; }
.profile-dashboard-card.slate { --card-color:var(--pit-slate); --card-tint:#f1f5f6; }
.app.dashboard-workspace .profile-dashboard-card > .material-symbols-outlined {
  width:46px;
  height:46px;
  color:var(--card-color);
  border:1px solid color-mix(in srgb,var(--card-color) 16%,transparent);
  border-radius:12px;
  background:color-mix(in srgb,var(--card-color) 9%,#fff);
  font-size:23px;
}
.app.dashboard-workspace .profile-dashboard-card > div { gap:5px; }
.app.dashboard-workspace .profile-dashboard-card small {
  color:var(--pit-muted);
  font-size:11px;
  font-weight:650;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.app.dashboard-workspace .profile-dashboard-card strong {
  color:var(--pit-navy);
  font-size:27px;
  font-weight:750;
}
.app.dashboard-workspace .profile-dashboard-card.textual strong {
  max-width:100%;
  overflow-wrap:anywhere;
  color:var(--pit-ink);
  font-size:clamp(15px,1.25vw,18px);
  font-weight:700;
  line-height:1.28;
  white-space:normal;
}

.app.dashboard-workspace .profile-dashboard-layout { gap:16px; }
.app.dashboard-workspace .profile-dashboard-panel {
  border:1px solid var(--pit-border);
  border-radius:var(--pit-radius-lg);
  background:var(--pit-surface);
  box-shadow:var(--pit-shadow-sm);
}
.app.dashboard-workspace .profile-dashboard-panel > header {
  min-height:76px;
  padding:16px 19px;
  border-bottom:1px solid var(--pit-border);
  background:linear-gradient(180deg,#fff,var(--pit-surface-soft));
}
.app.dashboard-workspace .profile-dashboard-panel header > div { gap:4px; }
.app.dashboard-workspace .profile-dashboard-panel header small {
  color:var(--pit-petrol);
  font-size:var(--dashboard-font-eyebrow);
  font-weight:800;
  letter-spacing:.12em;
}
.app.dashboard-workspace .profile-dashboard-panel h2 {
  color:var(--pit-navy);
  font-size:var(--dashboard-font-title);
  font-weight:700;
}
.profile-dashboard-panel header > .material-symbols-outlined {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  color:var(--pit-petrol);
  border-radius:10px;
  background:var(--pit-petrol-100);
  font-size:20px;
}
.profile-dashboard-panel header button,
.profile-dashboard-action button {
  min-height:34px;
  padding:7px 11px;
  border:1px solid #9bc5c9;
  border-radius:var(--pit-radius-sm);
  color:var(--pit-petrol-700);
  background:var(--pit-petrol-050);
  font-size:11px;
  font-weight:750;
}
.profile-dashboard-panel header button:hover,
.profile-dashboard-action button:hover { color:#fff; border-color:var(--pit-petrol); background:var(--pit-petrol); }
.app.dashboard-workspace .profile-dashboard-action button[data-signal]:hover {
  color:var(--signal-text);
  border-color:color-mix(in srgb,var(--signal-color) 62%,#fff);
  background:linear-gradient(135deg,color-mix(in srgb,var(--signal-color) 18%,#fff),#fff);
}

.profile-dashboard-actions > div,
.profile-dashboard-movements > div,
.profile-dashboard-notifications > div { padding:6px 17px; }
.app.dashboard-workspace .profile-dashboard-action,
.app.dashboard-workspace .profile-dashboard-movement,
.app.dashboard-workspace .profile-dashboard-notification {
  gap:11px;
  padding:13px 0;
  border-color:#e2e9eb;
}
.app.dashboard-workspace .profile-dashboard-action strong,
.app.dashboard-workspace .profile-dashboard-notification strong,
.app.dashboard-workspace .profile-dashboard-movement strong {
  color:var(--pit-navy);
  font-size:13px;
  font-weight:700;
}
.app.dashboard-workspace .profile-dashboard-action small,
.app.dashboard-workspace .profile-dashboard-notification p,
.app.dashboard-workspace .profile-dashboard-movement p {
  color:var(--pit-text);
  font-size:var(--dashboard-font-body);
  line-height:1.5;
}
.app.dashboard-workspace .profile-dashboard-movement small,
.app.dashboard-workspace .profile-dashboard-notification small {
  color:var(--pit-muted);
  font-size:var(--dashboard-font-meta);
  line-height:1.45;
}
.app.dashboard-workspace .profile-dashboard-priority {
  min-width:54px;
  padding:5px 7px;
  color:var(--pit-text);
  background:#edf2f3;
  font-size:11px;
  text-align:center;
}
.profile-dashboard-priority.overdue { color:#8f1d31; background:#fde8ec; }
.profile-dashboard-priority.today,
.profile-dashboard-priority.urgente { color:#704400; background:#fff0cf; }
.profile-dashboard-priority.alta { color:#8f1d31; background:#fde8ec; }
.profile-dashboard-priority.media { color:#704400; background:#fff0cf; }
.profile-dashboard-priority.baixa { color:#245f28; background:#e7f3e5; }
.profile-dashboard-movement > i {
  width:9px;
  height:9px;
  margin-top:4px;
  background:var(--pit-lime);
  box-shadow:0 0 0 4px rgba(139,195,74,.15);
}

.app.dashboard-workspace .profile-dashboard-chart-grid { gap:22px; padding:18px 20px 21px; }
.app.dashboard-workspace .profile-dashboard-chart { gap:11px; }
.app.dashboard-workspace .profile-dashboard-chart h3 {
  color:var(--pit-navy);
  font-size:13px;
  font-weight:700;
}
.app.dashboard-workspace .profile-dashboard-chart > div {
  grid-template-columns:120px minmax(60px,1fr) 32px;
  gap:9px;
}
.app.dashboard-workspace .profile-dashboard-chart > div > span,
.app.dashboard-workspace .profile-dashboard-chart > div > strong {
  color:var(--pit-text);
  font-size:11px;
  line-height:1.35;
}
.profile-dashboard-chart i { height:8px; background:#e8eef0; }
.profile-dashboard-chart i > b { background:var(--pit-petrol); }
.profile-dashboard-chart i > b.amber { background:#779c34; }
.profile-dashboard-chart i > b.green { background:var(--pit-green); }
.profile-dashboard-chart i > b.violet { background:var(--pit-navy); }

.app.dashboard-workspace .profile-dashboard-notification > .material-symbols-outlined {
  width:36px;
  height:36px;
  color:var(--pit-petrol);
  border-radius:10px;
  background:var(--pit-petrol-100);
  font-size:18px;
}
.app.dashboard-workspace .profile-dashboard-notifications { grid-column:1/-1; }
.app.dashboard-workspace .profile-dashboard-notifications > div {
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  column-gap:22px;
}
.profile-dashboard-notification.unread strong::after { background:var(--pit-lime); box-shadow:0 0 0 2px var(--pit-green-100); }
.profile-dashboard-empty { color:var(--pit-muted); font-size:12px; line-height:1.5; }
.profile-dashboard-empty .material-symbols-outlined { color:#8aa0a8; }

.app.dashboard-workspace .profile-dashboard-shortcuts {
  gap:9px;
  margin-top:16px;
  padding:14px;
  border:1px solid var(--pit-border);
  border-radius:var(--pit-radius-md);
  background:#edf3f4;
}
.app.dashboard-workspace .profile-dashboard-shortcuts button {
  min-height:42px;
  gap:8px;
  padding:9px 13px;
  color:var(--pit-navy);
  border:1px solid var(--pit-border);
  border-radius:8px;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,27,42,.04);
  font-size:11px;
}
.profile-dashboard-shortcuts button .material-symbols-outlined { color:var(--pit-petrol); font-size:18px; }
.profile-dashboard-shortcuts button:hover {
  color:var(--pit-petrol-700);
  border-color:#8fbdc2;
  background:var(--pit-petrol-050);
}

/* Central de notificações aberta a partir do Dashboard. */
.app.dashboard-workspace .workflow-notification-bell {
  color:var(--pit-muted);
  border-color:var(--pit-border);
  background:var(--pit-surface-soft);
}
.app.dashboard-workspace .workflow-notification-bell:hover,
.app.dashboard-workspace .workflow-notification-bell[aria-expanded="true"] {
  color:var(--pit-petrol);
  border-color:var(--pit-petrol);
  background:var(--pit-petrol-050);
}
.app.dashboard-workspace .workflow-notification-bell > b { background:var(--pit-danger); }
.app.dashboard-workspace .workflow-notification-panel {
  color:var(--pit-text);
  border-color:var(--pit-border);
  border-radius:var(--pit-radius-lg);
  background:#fff;
  box-shadow:0 24px 60px rgba(0,27,42,.22);
}
.app.dashboard-workspace .workflow-notification-panel > header { background:var(--pit-surface-soft); }
.app.dashboard-workspace .workflow-notification-panel > header small { color:var(--pit-petrol); }
.app.dashboard-workspace .workflow-notification-panel > header small { font-size:10px; }
.app.dashboard-workspace .workflow-notification-panel > header strong { font-size:14px; }
.app.dashboard-workspace .workflow-notification-panel > header button {
  color:var(--pit-petrol);
  border-color:#a8c9cc;
  background:var(--pit-petrol-050);
  font-size:10px;
}
.app.dashboard-workspace .workflow-notification-item.unread { background:var(--pit-petrol-050); }
.app.dashboard-workspace .workflow-notification-item > button:first-child > .material-symbols-outlined {
  color:var(--pit-petrol);
  background:var(--pit-petrol-100);
}
.app.dashboard-workspace .workflow-notification-item i {
  color:var(--pit-green-700);
  background:var(--pit-green-100);
  font-size:10px;
}
.app.dashboard-workspace .workflow-notification-item strong { font-size:12px; }
.app.dashboard-workspace .workflow-notification-item p { font-size:11px; line-height:1.5; }
.app.dashboard-workspace .workflow-notification-item small { font-size:10px; }

/* =========================================================
   Projetos · seleção primeiro, configuração sob demanda
========================================================= */
.app.projects-workspace {
  --gw-bg:var(--pit-mist);
  --gw-surface:var(--pit-surface);
  --gw-surface-2:var(--pit-surface-soft);
  --gw-border:var(--pit-border);
  --gw-text:var(--pit-navy);
  --gw-muted:var(--pit-muted);
  --gw-primary:var(--pit-petrol);
  --gw-hover:var(--pit-petrol-050);
  --gw-shadow:var(--pit-shadow-md);
}
.app.projects-workspace .module-view[data-module-view="projects"].active { display:grid; gap:16px; }
.app.projects-workspace .projects-overview {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  gap:12px;
}
.app.projects-workspace .project-hero {
  min-height:126px;
  padding:22px 24px;
  border:1px solid rgba(0,109,122,.22);
  border-radius:var(--pit-radius-lg);
  background:
    radial-gradient(circle at 92% 16%,rgba(139,195,74,.14),transparent 30%),
    linear-gradient(135deg,#fff,var(--pit-petrol-050));
  box-shadow:var(--pit-shadow-sm);
}
.app.projects-workspace .project-hero::before { background:linear-gradient(var(--pit-petrol),var(--pit-green)); }
.app.projects-workspace .project-hero::after { background:radial-gradient(circle,rgba(0,109,122,.15),transparent 68%); }
.app.projects-workspace .project-hero > span {
  color:var(--pit-petrol);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.app.projects-workspace .project-hero > strong {
  margin:6px 0;
  color:var(--pit-navy);
  font-size:26px;
  font-weight:750;
}
.app.projects-workspace .project-hero > small { color:var(--pit-text); font-size:12px; line-height:1.5; }
.project-summary-line {
  display:flex;
  flex-wrap:wrap;
  gap:7px 18px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(0,109,122,.13);
}
.app.projects-workspace .project-summary-line > span {
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  color:var(--pit-muted);
  font-size:11px;
}
.project-summary-line b { color:var(--pit-navy); font-size:13px; }
.projects-primary-actions {
  width:190px;
  display:grid;
  align-content:center;
  gap:9px;
  padding:15px;
  border:1px solid var(--pit-border);
  border-radius:var(--pit-radius-lg);
  background:#fff;
  box-shadow:var(--pit-shadow-sm);
}
.projects-primary-actions button,
.project-editor-actions > button,
.project-view-actions button {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 13px;
  border:1px solid var(--pit-border);
  border-radius:8px;
  color:var(--pit-text);
  background:#fff;
  font-size:11px;
  font-weight:750;
  cursor:pointer;
}
.projects-primary-actions button.primary,
.project-editor-actions > button.primary,
.project-view-actions button.primary,
.app.projects-workspace .project-layer-actions button.primary {
  color:#fff;
  border-color:var(--pit-petrol);
  background:linear-gradient(135deg,var(--pit-petrol),var(--pit-green));
  box-shadow:0 7px 16px rgba(0,109,122,.18);
}
.projects-primary-actions .material-symbols-outlined,
.project-editor-actions .material-symbols-outlined { font-size:18px; }

.app.projects-workspace .project-catalog-card { padding:18px; }
.app.projects-workspace .project-card-header { margin-bottom:14px; }
.app.projects-workspace .project-card-header h2 { color:var(--pit-navy); font-size:17px; }
.app.projects-workspace .project-section-note { color:var(--pit-muted); font-size:11px; line-height:1.45; }
.app.projects-workspace .project-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.app.projects-workspace .project-item {
  position:relative;
  min-height:112px;
  display:flex;
  align-items:stretch;
  gap:0;
  overflow:hidden;
  padding:0;
  border:1px solid var(--pit-border);
  border-radius:var(--pit-radius-md);
  color:var(--pit-text);
  background:#fff;
  box-shadow:0 3px 10px rgba(0,27,42,.04);
  cursor:default;
  transform:none;
}
.app.projects-workspace .project-item:hover {
  border-color:#9bc1c5;
  background:#fff;
  box-shadow:0 8px 20px rgba(0,27,42,.08);
  transform:none;
}
.app.projects-workspace .project-item.active {
  border:2px solid var(--pit-petrol);
  background:linear-gradient(135deg,var(--pit-petrol-050),#fff 70%);
  box-shadow:0 0 0 3px rgba(0,109,122,.09);
}
.project-select {
  min-width:0;
  flex:1;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:start;
  gap:11px;
  padding:14px 9px 14px 14px;
  border:0;
  color:inherit;
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.app.projects-workspace .project-avatar {
  width:42px;
  height:42px;
  color:var(--pit-petrol)!important;
  border-color:#b8d5d7;
  border-radius:10px;
  background:var(--pit-petrol-100);
  font-size:12px!important;
}
.app.projects-workspace .project-content { display:grid; gap:6px; }
.app.projects-workspace .project-title { color:var(--pit-navy); font-size:13px; font-weight:750; }
.app.projects-workspace .project-description {
  display:-webkit-box;
  overflow:hidden;
  color:var(--pit-text);
  font-size:11px;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.app.projects-workspace .project-status {
  color:var(--pit-muted);
  border-color:var(--pit-border);
  background:var(--pit-surface-soft);
  font-size:8px;
}
.app.projects-workspace .project-status.active {
  color:var(--pit-green-700);
  border-color:#a9cfae;
  background:var(--pit-green-100);
}
.app.projects-workspace .project-meta { gap:5px; }
.app.projects-workspace .project-meta span {
  padding:3px 6px;
  color:var(--pit-petrol-700);
  border-color:var(--pit-border);
  border-radius:999px;
  background:var(--pit-petrol-050);
  font-size:8px;
}
.project-configure {
  width:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  margin:10px 10px 10px 0;
  border:1px solid var(--pit-border);
  border-radius:9px;
  color:var(--pit-muted);
  background:var(--pit-surface-soft);
  cursor:pointer;
}
.project-configure:hover { color:var(--pit-petrol); border-color:#92bcc0; background:var(--pit-petrol-050); }
.project-configure .material-symbols-outlined { font-size:19px; }

.project-config-panel {
  overflow:hidden;
  border:1px solid var(--pit-border);
  border-radius:var(--pit-radius-lg);
  background:#fff;
  box-shadow:var(--pit-shadow-md);
}
.project-config-panel[hidden],
.project-config-view[hidden] { display:none!important; }
.project-config-header {
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:17px 20px;
  border-bottom:1px solid var(--pit-border);
  background:linear-gradient(135deg,var(--pit-navy),#003d4b);
}
.project-config-header > div { display:grid; gap:3px; }
.project-config-header small { color:#a9d85e; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.project-config-header h2 { color:#fff; font-size:19px; }
.project-config-header .project-editor-mode { color:#d8e6e9!important; border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.08); }
#project-config-close {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;
  color:#fff;
  background:rgba(255,255,255,.08);
  cursor:pointer;
}
.project-config-tabs {
  display:flex;
  gap:4px;
  overflow-x:auto;
  padding:9px 12px;
  border-bottom:1px solid var(--pit-border);
  background:var(--pit-surface-soft);
}
.project-config-tabs button {
  min-height:38px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px 12px;
  border:1px solid transparent;
  border-radius:8px;
  color:var(--pit-muted);
  background:transparent;
  font-size:10px;
  font-weight:750;
  white-space:nowrap;
  cursor:pointer;
}
.project-config-tabs button.active {
  color:var(--pit-petrol-700);
  border-color:#a9cacc;
  background:#fff;
  box-shadow:0 2px 7px rgba(0,27,42,.06);
}
.project-config-tabs .material-symbols-outlined { font-size:17px; }
.project-config-view { padding:16px; }
.app.projects-workspace .project-config-view .module-card { margin:0; padding:18px; box-shadow:none; }
.app.projects-workspace .project-form { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.app.projects-workspace .project-form label:nth-child(2) { grid-column:1/-1; }
.app.projects-workspace .project-form label > span,
.app.projects-workspace .project-layer-search > span { color:var(--pit-text); font-size:11px; font-weight:650; }
.project-editor-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid var(--pit-border);
}
.project-danger-menu { position:relative; }
.project-danger-menu summary {
  min-height:38px;
  display:flex;
  align-items:center;
  padding:8px 11px;
  border:1px solid var(--pit-border);
  border-radius:8px;
  color:var(--pit-muted);
  background:var(--pit-surface-soft);
  font-size:10px;
  font-weight:700;
  list-style:none;
  cursor:pointer;
}
.project-danger-menu summary::-webkit-details-marker { display:none; }
.project-danger-menu button {
  position:absolute;
  z-index:5;
  left:0;
  bottom:44px;
  min-width:170px;
  min-height:38px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px 11px;
  border:1px solid #e6aab2;
  border-radius:8px;
  color:#98293a;
  background:#fff5f6;
  box-shadow:var(--pit-shadow-md);
  font-size:10px;
  font-weight:750;
  cursor:pointer;
}
.app.projects-workspace .project-layer-list { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:430px; }
.app.projects-workspace .project-layer-option { border-radius:9px; }
.app.projects-workspace .project-layer-option.selected {
  border-color:#95c39c;
  background:var(--pit-green-100);
}
.project-view-settings {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
}
.project-view-settings > .material-symbols-outlined {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:var(--pit-petrol);
  border-radius:12px;
  background:var(--pit-petrol-100);
}
.project-view-settings h2 { color:var(--pit-navy); font-size:16px; }
.project-view-settings p { margin-top:5px; color:var(--pit-text); font-size:11px; line-height:1.5; }
.project-view-actions { display:flex; gap:8px; }

/* =========================================================
   Fiscalizações · operação clara, legível e sem peso visual
========================================================= */
.app.inspection-workspace {
  --gw-bg:var(--pit-mist);
  --gw-surface:var(--pit-surface);
  --gw-surface-2:var(--pit-surface-soft);
  --gw-border:var(--pit-border);
  --gw-text:var(--pit-navy);
  --gw-muted:var(--pit-muted);
  --gw-primary:var(--pit-petrol);
  --gw-accent:var(--pit-green);
  --gw-hover:var(--pit-petrol-050);
  --gw-shadow:var(--pit-shadow-md);
  --inspection-font-body:16px;
  --inspection-font-help:14px;
  --inspection-text:#294752;
  --inspection-muted:#48616c;
}
.app.inspection-workspace .module-view[data-module-view="inspections"] {
  gap:16px;
  color:var(--pit-text);
  font-size:var(--inspection-font-body);
}
.app.inspection-workspace .inspection-profile-dashboard { gap:18px; }
.inspection-profile-dashboard.inspection-domain-hidden { display:none!important; }

/* Cabeçalho de domínio compartilhado com Regulação Urbana. */
.app.inspection-workspace .inspection-domain-header {
  margin:0;
  padding:16px 18px;
  color:var(--inspection-text);
  border:1px solid var(--pit-border);
  border-left:4px solid var(--pit-petrol);
  border-radius:8px;
  background:#fff;
  box-shadow:0 3px 10px rgba(0,27,42,.05);
}
.app.inspection-workspace .inspection-domain-header small {
  color:var(--pit-petrol);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}
.app.inspection-workspace .inspection-domain-header h2 {
  color:var(--pit-navy);
  font-size:18px;
  font-weight:700;
}
.app.inspection-workspace .inspection-domain-header p {
  color:var(--inspection-muted);
  font-size:12px;
  line-height:1.5;
}
.app.inspection-workspace .inspection-domain-tools {
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:9px;
}
.app.inspection-workspace .inspection-offline-package-button {
  min-height:48px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 12px;
  border:1px solid var(--pit-petrol-300);
  border-radius:10px;
  color:var(--pit-petrol-700);
  background:linear-gradient(145deg,var(--pit-petrol-050),#fff);
  box-shadow:var(--pit-shadow-sm);
  cursor:pointer;
}
.app.inspection-workspace .inspection-offline-package-button:hover {
  border-color:var(--pit-petrol);
  background:linear-gradient(145deg,var(--pit-petrol-100),#fff);
  transform:translateY(-1px);
}
.app.inspection-workspace .inspection-offline-package-button > .material-symbols-outlined {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:#fff;
  border-radius:9px;
  background:linear-gradient(145deg,var(--pit-petrol),var(--pit-green));
  font-size:20px;
}
.app.inspection-workspace .inspection-offline-package-button > span:last-child { display:grid; gap:2px; text-align:left; }
.app.inspection-workspace .inspection-offline-package-button strong { color:var(--pit-navy); font-size:11px; white-space:nowrap; }
.app.inspection-workspace .inspection-offline-package-button small { color:var(--pit-petrol-700); font-size:9px; white-space:nowrap; }
.app.inspection-workspace .works-domain-switch button {
  min-height:42px;
  color:var(--inspection-text);
  border-color:var(--pit-border);
  background:var(--pit-surface-soft);
  font-size:11px;
  font-weight:750;
}
.app.inspection-workspace .works-domain-switch button.active {
  color:#fff;
  border-color:var(--pit-petrol);
  background:var(--pit-petrol);
}
.app.inspection-workspace .works-inspection-center { gap:12px; margin:0; }
.app.inspection-workspace .works-profile-panel {
  padding:16px;
  color:var(--inspection-text);
  border-color:var(--pit-border);
  border-radius:8px;
  background:#fff;
  box-shadow:0 3px 10px rgba(0,27,42,.05);
}
.app.inspection-workspace .works-profile-panel h3 { color:var(--pit-navy); font-size:16px; }
.app.inspection-workspace .works-profile-panel small { color:var(--pit-petrol); font-size:10px; }
.app.inspection-workspace .works-kpis span {
  color:var(--inspection-muted);
  border-color:var(--pit-border);
  background:var(--pit-surface-soft);
  font-size:11px;
}
.app.inspection-workspace .works-kpis b { color:var(--pit-navy); }

/* Cabeçalhos e contexto do perfil. */
.app.inspection-workspace .inspection-profile-header,
.app.inspection-workspace .inspection-ops-hero {
  padding:22px 24px;
  color:var(--pit-text);
  border:1px solid rgba(0,109,122,.22);
  border-radius:var(--pit-radius-lg);
  background:
    radial-gradient(circle at 90% 10%,rgba(139,195,74,.13),transparent 30%),
    linear-gradient(135deg,#fff,var(--pit-petrol-050));
  box-shadow:var(--pit-shadow-sm);
}
.app.inspection-workspace .inspection-profile-header small,
.app.inspection-workspace .inspection-ops-identity small,
.app.inspection-workspace .inspection-profile-section-heading small {
  color:var(--pit-petrol);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
}
.app.inspection-workspace .inspection-profile-header h1,
.app.inspection-workspace .inspection-ops-identity h1 {
  color:var(--pit-navy);
  font-size:28px;
  font-weight:750;
  line-height:1.18;
}
.app.inspection-workspace .inspection-profile-header p,
.app.inspection-workspace .inspection-ops-identity p {
  color:var(--inspection-text);
  font-size:14px;
  line-height:1.55;
}
.app.inspection-workspace .inspection-profile-header p strong { color:var(--pit-petrol-700); }
.app.inspection-workspace .inspection-profile-status {
  color:var(--pit-green-700);
  border-color:#a7cdae!important;
  background:linear-gradient(135deg,var(--pit-green-100),#fff)!important;
  font-size:11px;
}

/* Padrão dos painéis: docs/PADRAO_PAINEIS_FISCALIZACAO.md */
/* Ações principais: cor como sinal, não como massa. */
.app.inspection-workspace .inspection-main-actions {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.app.inspection-workspace .inspection-action-tile,
.app.inspection-workspace .inspection-action-tile.primary,
.app.inspection-workspace .inspection-action-tile.manager-action {
  min-height:104px!important;
  padding:17px!important;
  color:var(--pit-navy);
  border:1px solid var(--pit-border);
  border-left:4px solid var(--pit-petrol);
  border-radius:var(--pit-radius-md);
  background:linear-gradient(135deg,var(--pit-petrol-050),#fff 68%);
  box-shadow:0 3px 10px rgba(0,27,42,.055);
}
.app.inspection-workspace .inspection-action-tile.primary {
  border-left-color:var(--pit-green);
  background:linear-gradient(135deg,var(--pit-green-100),#fff 68%);
}
.app.inspection-workspace .inspection-action-tile.manager-action {
  border-left-color:var(--pit-lime);
  background:linear-gradient(135deg,#f1f7e8,#fff 68%);
}
.app.inspection-workspace .inspection-action-tile:hover {
  border-color:#92bdc1;
  border-left-color:var(--pit-petrol);
  background:linear-gradient(135deg,var(--pit-petrol-100),#fff 72%);
  box-shadow:0 9px 21px rgba(0,27,42,.09);
}
.app.inspection-workspace .inspection-action-tile > .material-symbols-outlined {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:var(--pit-petrol);
  border-radius:12px;
  background:rgba(0,109,122,.10);
  font-size:25px;
}
.app.inspection-workspace .inspection-action-tile.primary > .material-symbols-outlined { color:var(--pit-green); background:rgba(46,125,50,.10); }
.app.inspection-workspace .inspection-action-tile strong { color:var(--pit-navy); font-size:16px; line-height:1.3; }
.app.inspection-workspace .inspection-action-tile small {
  color:var(--pit-text)!important;
  font-size:14px!important;
  line-height:1.5;
  opacity:1;
}

/* Alertas mantêm semântica, com menor saturação. */
.app.inspection-workspace .inspection-urgent-alerts {
  gap:11px;
  padding:17px;
  color:#604514;
  border:1px solid #e4c77d!important;
  border-left:4px solid var(--pit-signal-yellow)!important;
  border-radius:var(--pit-radius-md);
  background:linear-gradient(135deg,#fff8e8,#fff)!important;
  box-shadow:none;
}
.app.inspection-workspace .inspection-urgent-alerts h2,
.app.inspection-workspace .inspection-profile-section-heading h2 {
  color:var(--pit-navy);
  font-size:18px;
  font-weight:700;
}
.app.inspection-workspace .inspection-urgent-alerts > div > :is(span,button) {
  min-height:68px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:4px 12px;
  padding:12px 14px;
  color:#5f4a20!important;
  border:1px solid #ead8aa!important;
  border-radius:9px;
  background:rgba(255,255,255,.88)!important;
  font-family:inherit;
  font-size:14px;
  line-height:1.4;
  text-align:left;
}
.app.inspection-workspace .inspection-urgent-alerts > div > button { cursor:pointer; }
.app.inspection-workspace .inspection-urgent-alerts > div > button:hover {
  border-color:#caa95d!important;
  background:#fff!important;
  box-shadow:0 5px 14px rgba(96,69,20,.10);
}
.app.inspection-workspace .inspection-urgent-alerts > div > button:focus-visible {
  outline:3px solid rgba(0,109,122,.28);
  outline-offset:2px;
}
.app.inspection-workspace .inspection-urgent-alerts > div > button > strong { grid-row:1 / span 2; }
.app.inspection-workspace .inspection-urgent-alerts > div > button > span { color:var(--pit-navy); font-weight:700; }
.app.inspection-workspace .inspection-urgent-alerts > div > button > small { color:#775c24; font-size:13px; font-weight:700; }
.app.inspection-workspace .inspection-urgent-alerts > div strong {
  color:#8a5907!important;
  font-size:23px;
  line-height:1;
}
.app.inspection-workspace .inspection-profile-section-heading { padding-top:2px; }

/* Indicadores e resumos. */
.app.inspection-workspace .inspection-manager-summary,
.app.inspection-workspace .inspection-ops-kpis { gap:9px; }
.app.inspection-workspace .inspection-manager-summary > span,
.app.inspection-workspace .inspection-ops-kpis article,
.app.inspection-workspace .inspection-analyst-home > div,
.app.inspection-workspace .inspection-analyst-home article,
.app.inspection-workspace .inspection-fiscal-queue-metrics button,
.app.inspection-workspace .inspection-metrics > div {
  color:var(--pit-text);
  border:1px solid var(--pit-border);
  border-radius:var(--pit-radius-md);
  background:#fff;
  box-shadow:0 2px 8px rgba(0,27,42,.045);
}
.app.inspection-workspace .inspection-ops-kpis article {
  min-height:82px;
  padding:13px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--kpi,var(--pit-petrol)) 6%,#fff),#fff);
}
.app.inspection-workspace .inspection-ops-kpis article > .material-symbols-outlined {
  width:38px;
  height:38px;
  color:var(--kpi,var(--pit-petrol));
  background:color-mix(in srgb,var(--kpi,var(--pit-petrol)) 10%,#fff);
}
.app.inspection-workspace .inspection-ops-kpis .kpi-active { --kpi:var(--pit-petrol); }
.app.inspection-workspace .inspection-ops-kpis .kpi-field { --kpi:var(--pit-slate); }
.app.inspection-workspace .inspection-ops-kpis .kpi-overdue { --kpi:var(--pit-danger); }
.app.inspection-workspace .inspection-ops-kpis .kpi-success { --kpi:var(--pit-green); }
.app.inspection-workspace .inspection-ops-kpis .kpi-draft { --kpi:var(--pit-warning); }
.app.inspection-workspace .inspection-ops-kpis .kpi-sync { --kpi:var(--pit-navy); }
.app.inspection-workspace .inspection-ops-kpis small,
.app.inspection-workspace .inspection-analyst-home small,
.app.inspection-workspace .inspection-metrics span {
  color:var(--inspection-muted);
  font-size:11px;
  font-weight:700;
  line-height:1.35;
}
.app.inspection-workspace .inspection-ops-kpis strong,
.app.inspection-workspace .inspection-manager-summary strong,
.app.inspection-workspace .inspection-analyst-home strong,
.app.inspection-workspace .inspection-metrics strong { color:var(--pit-navy); }
.app.inspection-workspace .inspection-ops-kpis strong { font-size:23px; }
.app.inspection-workspace .inspection-ops-kpis em {
  color:var(--inspection-muted);
  font-size:11px;
  line-height:1.35;
}
.app.inspection-workspace .inspection-analyst-home article.warning strong { color:#8a5907; }
.app.inspection-workspace .inspection-analyst-home article.danger strong { color:var(--pit-danger); }

/* Cards de ação secundária. */
.app.inspection-workspace .inspection-action-grid { gap:10px; }
.app.inspection-workspace .inspection-action-grid article {
  min-height:158px;
  padding:16px;
  color:var(--pit-text);
  border:1px solid color-mix(in srgb,var(--action) 20%,var(--pit-border));
  border-radius:var(--pit-radius-md);
  background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--action) 8%,transparent),transparent 44%),#fff;
  box-shadow:0 3px 10px rgba(0,27,42,.05);
}
.app.inspection-workspace .inspection-action-grid .action-demand { --action:var(--pit-slate); }
.app.inspection-workspace .inspection-action-grid .action-environmental { --action:var(--pit-green); }
.app.inspection-workspace .inspection-action-grid .action-general { --action:var(--pit-petrol); }
.app.inspection-workspace .inspection-action-grid .action-route { --action:var(--pit-warning); }
.app.inspection-workspace .inspection-action-grid h2 { color:var(--pit-navy); font-size:15px; }
.app.inspection-workspace .inspection-action-grid p { color:var(--pit-text); font-size:12px; line-height:1.55; }
.app.inspection-workspace .inspection-action-grid button {
  min-height:38px;
  color:color-mix(in srgb,var(--action) 78%,var(--pit-navy));
  border-color:color-mix(in srgb,var(--action) 28%,var(--pit-border));
  background:color-mix(in srgb,var(--action) 8%,#fff);
  font-size:11px;
}

/* Filtros e navegação de estágios. */
.app.inspection-workspace .inspection-filter-console,
.app.inspection-workspace .inspection-dashboard-toolbar {
  color:var(--pit-text);
  border:1px solid var(--pit-border);
  border-radius:var(--pit-radius-md);
  background:rgba(255,255,255,.97);
  box-shadow:0 5px 16px rgba(0,27,42,.07);
}
.app.inspection-workspace .inspection-filter-heading strong { color:var(--pit-navy); font-size:13px; }
.app.inspection-workspace .inspection-filter-heading .material-symbols-outlined { color:var(--pit-petrol); }
.app.inspection-workspace .inspection-filter-console label > span,
.app.inspection-workspace .inspection-dashboard-toolbar label > span { color:var(--inspection-text); font-size:11px; font-weight:650; }
.app.inspection-workspace .inspection-filter-console input,
.app.inspection-workspace .inspection-filter-console select,
.app.inspection-workspace .inspection-dashboard-toolbar input,
.app.inspection-workspace .inspection-dashboard-toolbar select {
  color:var(--pit-navy);
  border-color:var(--ui-border-strong);
  background:#fff;
  font-size:12px;
}
.app.inspection-workspace .inspection-quick-filters button,
.app.inspection-workspace .inspection-stage-tabs button {
  color:var(--pit-text);
  border-color:var(--pit-border);
  background:#fff;
  font-size:11px;
}
.app.inspection-workspace .inspection-quick-filters button.active,
.app.inspection-workspace .inspection-stage-tabs button:hover {
  color:var(--pit-petrol-700);
  border-color:#94bec2;
  background:var(--pit-petrol-050);
}
.app.inspection-workspace .inspection-stage-tabs button b { background:var(--pit-petrol); }

/* Cards operacionais: contraste explícito em todos os níveis. */
.app.inspection-workspace .inspection-review-card,
.app.inspection-workspace .inspection-demand-list-card,
.app.inspection-workspace .inspection-fiscal-return-card,
.app.inspection-workspace .inspection-operation-card,
.app.inspection-workspace .inspection-demand-item,
.app.inspection-workspace .inspection-record-card,
.app.inspection-workspace .dirty-lot-card {
  color:var(--pit-text);
  border-color:var(--pit-border)!important;
  border-radius:var(--pit-radius-md);
  background:#fff!important;
  box-shadow:0 3px 10px rgba(0,27,42,.055);
}
.app.inspection-workspace .inspection-operation-card:hover,
.app.inspection-workspace .inspection-demand-item:hover,
.app.inspection-workspace .inspection-record-card:hover {
  border-color:#9fc5c8!important;
  background:var(--pit-petrol-050)!important;
}
.app.inspection-workspace :is(.inspection-operation-main,.inspection-demand-item,.inspection-record-card,.inspection-review-card) h3,
.app.inspection-workspace :is(.inspection-operation-main,.inspection-demand-item,.inspection-record-card,.inspection-review-card) strong {
  color:var(--pit-navy);
}
.app.inspection-workspace .inspection-operation-main > div > strong,
.app.inspection-workspace .inspection-demand-item > strong,
.app.inspection-workspace .inspection-record-card > div > strong { font-size:13px; line-height:1.4; }
.app.inspection-workspace .inspection-operation-main h3,
.app.inspection-workspace .inspection-demand-item h3,
.app.inspection-workspace .inspection-record-card h3 { font-size:17px; line-height:1.4; }
.app.inspection-workspace .inspection-demand-item > p,
.app.inspection-workspace .inspection-operation-card p,
.app.inspection-workspace .inspection-record-card p { color:var(--inspection-text); font-size:12px; line-height:1.55; }
.app.inspection-workspace .inspection-demand-item small,
.app.inspection-workspace .inspection-operation-card small,
.app.inspection-workspace .inspection-record-card small,
.app.inspection-workspace .inspection-record-heading time,
.app.inspection-workspace .inspection-record-evidence span {
  color:var(--inspection-muted)!important;
  font-size:12px!important;
  line-height:1.45;
}
.app.inspection-workspace .inspection-demand-item-heading b,
.app.inspection-workspace .inspection-record-heading b {
  padding:4px 6px;
  color:var(--pit-petrol-700);
  border-radius:999px;
  background:var(--pit-petrol-100);
  font-size:10px;
}
.app.inspection-workspace .inspection-operation-icon,
.app.inspection-workspace .inspection-record-icon {
  color:var(--pit-petrol);
  background:var(--pit-petrol-100);
}
.app.inspection-workspace .inspection-record-evidence span.ready { color:var(--pit-green-700)!important; }

/* Meio Ambiente usa a mesma anatomia dos processos de Regulação Urbana. */
.app.inspection-workspace .inspection-demand-list-card {
  padding:16px;
  border-radius:8px;
}
.app.inspection-workspace .inspection-operation-card {
  gap:11px;
  padding:14px;
  border-left:4px solid var(--pit-slate)!important;
  border-radius:8px;
}
.app.inspection-workspace .inspection-operation-card.priority-baixa { border-left-color:var(--pit-green)!important; }
.app.inspection-workspace .inspection-operation-card.priority-media { border-left-color:var(--pit-petrol)!important; }
.app.inspection-workspace .inspection-operation-card.priority-alta { border-left-color:var(--pit-warning)!important; }
.app.inspection-workspace .inspection-operation-card.priority-urgente,
.app.inspection-workspace .inspection-operation-card.is-overdue { border-left-color:var(--pit-danger)!important; }
.app.inspection-workspace .inspection-operation-main {
  display:grid;
  gap:8px;
}
.app.inspection-workspace .inspection-operation-main > div { align-items:center; }
.app.inspection-workspace .inspection-demand-item-heading { flex-wrap:wrap; gap:6px; }
.app.inspection-workspace .inspection-os-number {
  color:var(--pit-petrol-700);
  font-size:13px;
  font-weight:800;
  letter-spacing:.02em;
}
.app.inspection-workspace .inspection-status,
.app.inspection-workspace .environmental-process-status {
  min-height:27px;
  padding:4px 8px;
  font-size:13px!important;
  line-height:1.2;
  letter-spacing:0;
  text-transform:none;
}
.app.inspection-workspace .environmental-process-status {
  color:var(--pit-petrol-700);
  border-color:#9bc5c9!important;
  background:var(--pit-petrol-050)!important;
}
.app.inspection-workspace .environmental-process-status:is(.status-regular_closed,.status-regularized_closed,.status-closed) {
  color:var(--pit-green-700)!important;
  border-color:#a7cdae!important;
  background:var(--pit-green-100)!important;
}
.app.inspection-workspace .environmental-process-status:is(.status-direct_infraction,.status-infraction_issued,.status-not_regularized,.status-deadline_expired) {
  color:#8f2635!important;
  border-color:#e4aab3!important;
  background:#fff2f4!important;
}
.app.inspection-workspace .environmental-process-status:is(.status-irregular_notification_pending,.status-notification_issued,.status-external_system_pending,.status-awaiting_delivery_receipt,.status-awaiting_regularization,.status-return_pending) {
  color:#77510c!important;
  border-color:#e2c37f!important;
  background:#fff8e8!important;
}
.app.inspection-workspace .inspection-operation-summary {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0;
}
.app.inspection-workspace .inspection-operation-summary > span {
  min-height:0;
  gap:3px;
  padding:0;
  color:var(--pit-navy);
  border:0;
  border-radius:0;
  background:transparent;
  font-size:14px;
  line-height:1.4;
}
.app.inspection-workspace .inspection-operation-summary b {
  color:var(--inspection-muted);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
.app.inspection-workspace .environmental-deadline-counter {
  width:max-content;
  margin-top:3px;
  color:#77510c!important;
  font-size:13px!important;
  text-transform:none;
}
.app.inspection-workspace .environmental-deadline-counter.expired { color:var(--pit-danger)!important; }
.app.inspection-workspace .inspection-demand-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  margin-top:0;
  padding-top:11px;
  border-top:1px solid var(--pit-border);
}
.app.inspection-workspace .inspection-next-action-copy {
  display:grid;
  gap:2px;
  margin-right:auto;
}
.app.inspection-workspace .inspection-next-action-copy small {
  color:var(--inspection-muted)!important;
  font-size:12px!important;
  font-weight:800;
  text-transform:uppercase;
}
.app.inspection-workspace .inspection-next-action-copy strong { color:var(--pit-navy); font-size:15px; }
.app.inspection-workspace .inspection-demand-actions > .inspection-card-primary,
.app.inspection-workspace .inspection-card-more-actions > summary {
  width:auto;
  min-width:140px;
  min-height:48px;
  padding:0 12px;
  border-radius:7px;
  font-size:14px;
}
.app.inspection-workspace .inspection-demand-actions > .inspection-card-primary {
  color:#fff;
  border-color:var(--pit-petrol);
  background:var(--pit-petrol);
}
.app.inspection-workspace .inspection-demand-actions > .inspection-card-primary.environmental-action {
  color:#fff;
  border-color:var(--pit-petrol);
  background:var(--pit-petrol);
}
.app.inspection-workspace .inspection-card-more-actions { min-width:140px; font-size:14px; }

/* A mesma anatomia e legibilidade para os processos de Regulação Urbana. */
.app.inspection-workspace .works-process-card {
  gap:14px;
  padding:16px;
  color:var(--pit-text);
  border-color:var(--pit-border);
  border-left-color:var(--pit-slate);
  border-radius:var(--pit-radius-md);
  background:#fff;
  box-shadow:0 3px 10px rgba(0,27,42,.055);
}
.app.inspection-workspace .works-process-card.is-overdue { border-left-color:var(--pit-danger); }
.app.inspection-workspace .works-process-card header small { color:var(--pit-petrol-700); font-size:13px; }
.app.inspection-workspace .works-process-card header strong { margin-top:4px; color:var(--pit-navy); font-size:17px; line-height:1.4; }
.app.inspection-workspace .works-process-card header > span { padding:6px 10px; font-size:13px; }
.app.inspection-workspace .works-process-card.is-overdue header > span { color:#842029; background:#fbeaec; }
.app.inspection-workspace .works-process-card dl { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.app.inspection-workspace .works-process-card dt { color:var(--inspection-muted); font-size:12px; }
.app.inspection-workspace .works-process-card dd { margin-top:4px; color:var(--pit-navy); font-size:14px; line-height:1.45; }
.app.inspection-workspace .works-next-action {
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 13px;
  border:1px solid var(--pit-border);
  border-radius:9px;
  background:var(--pit-petrol-050);
}
.app.inspection-workspace .works-next-action > .material-symbols-outlined { color:var(--pit-petrol); font-size:24px; }
.app.inspection-workspace .works-next-action div { display:grid; gap:2px; }
.app.inspection-workspace .works-next-action small { color:var(--inspection-muted); font-size:12px; font-weight:800; text-transform:uppercase; }
.app.inspection-workspace .works-next-action strong { color:var(--pit-navy); font-size:15px; }
.app.inspection-workspace .works-process-card footer button { min-height:48px; padding:0 16px; font-size:14px; font-weight:700; }
.app.inspection-workspace .inspection-card-more-actions > summary {
  color:var(--pit-text);
  border-color:var(--pit-border);
  background:var(--pit-surface-soft);
}
.app.inspection-workspace .inspection-card-more-actions > div {
  border-color:var(--pit-border);
  background:#fff;
  box-shadow:0 14px 30px rgba(0,27,42,.14);
}
.app.inspection-workspace .inspection-card-more-actions > div button {
  min-height:44px;
  color:var(--pit-text);
  border-color:var(--pit-border);
  background:var(--pit-surface-soft);
  font-size:14px;
}

/* Revisão gerencial · mesma anatomia do painel de Regulação Urbana. */
.app.inspection-workspace .inspection-review-card:has(> #inspection-review-list) {
  overflow:visible;
  display:grid;
  gap:16px;
  padding:16px;
  border:1px solid var(--pit-border)!important;
  border-radius:8px;
  background:#fff!important;
  box-shadow:none;
}
.app.inspection-workspace .inspection-review-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid var(--pit-border);
}
.app.inspection-workspace .inspection-review-header > div { display:grid; gap:4px; }
.app.inspection-workspace .inspection-review-header > div > small {
  color:var(--pit-petrol-700)!important;
  font-size:13px!important;
  font-weight:800;
  text-transform:uppercase;
}
.app.inspection-workspace #inspection-review-title {
  margin:0;
  color:var(--pit-navy);
  font-size:20px;
  font-weight:700;
}
.app.inspection-workspace #inspection-review-note {
  margin:0;
  color:var(--inspection-text);
  font-size:15px;
  line-height:1.5;
}
.app.inspection-workspace .inspection-review-count {
  min-width:82px;
  min-height:62px;
  display:grid;
  place-items:center;
  gap:1px;
  padding:8px 12px;
  color:var(--pit-petrol-700);
  border:1px solid #9fc7ca;
  border-radius:9px;
  background:var(--pit-petrol-050);
}
.app.inspection-workspace .inspection-review-count strong { color:var(--pit-navy); font-size:24px; line-height:1; }
.app.inspection-workspace .inspection-review-count small { color:var(--inspection-muted); font-size:12px; font-weight:700; }
.app.inspection-workspace #inspection-review-list {
  display:grid;
  gap:14px;
}
.app.inspection-workspace #inspection-review-list .inspection-review-group {
  display:grid;
  gap:12px;
  margin:0;
  padding:14px;
  border:1px solid var(--pit-border)!important;
  border-radius:8px;
  background:var(--pit-surface-soft)!important;
}
.app.inspection-workspace #inspection-review-list .inspection-review-group > header {
  min-height:42px;
  display:flex;
  align-items:center;
  gap:10px;
  padding-bottom:10px;
  border-bottom:1px solid var(--pit-border);
}
.app.inspection-workspace #inspection-review-list .inspection-review-group > header .material-symbols-outlined { color:var(--pit-petrol); font-size:24px; }
.app.inspection-workspace #inspection-review-list .inspection-review-group > header strong { flex:1; color:var(--pit-navy); font-size:16px; }
.app.inspection-workspace #inspection-review-list .inspection-review-group > header b {
  min-width:32px;
  min-height:32px;
  display:grid;
  place-items:center;
  color:#fff;
  border-radius:999px;
  background:var(--pit-petrol);
  font-size:14px;
}
.app.inspection-workspace #inspection-review-list article {
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:16px;
  border:1px solid var(--pit-border)!important;
  border-left:4px solid var(--pit-petrol)!important;
  border-radius:8px;
  background:#fff;
  box-shadow:0 3px 10px rgba(0,27,42,.05);
}
.app.inspection-workspace #inspection-review-list article > div:first-child {
  min-width:0;
  display:grid;
  gap:5px;
}
.app.inspection-workspace #inspection-review-list article > div:first-child > span {
  color:var(--pit-petrol-700);
  font-size:13px;
  font-weight:800;
}
.app.inspection-workspace #inspection-review-list article strong {
  color:var(--pit-navy);
  font-size:17px;
  line-height:1.4;
  white-space:normal;
}
.app.inspection-workspace #inspection-review-list article small {
  color:var(--inspection-muted);
  font-size:14px;
  line-height:1.5;
}
.app.inspection-workspace #inspection-review-list .inspection-empty {
  color:var(--inspection-muted);
  background:transparent;
}
.app.inspection-workspace #inspection-review-list .inspection-empty .material-symbols-outlined { color:var(--pit-petrol); }
.app.inspection-workspace #inspection-review-list .inspection-review-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.app.inspection-workspace #inspection-review-list .inspection-review-actions > button {
  min-height:48px;
  padding:0 16px;
  color:var(--pit-text);
  border-color:var(--pit-border);
  background:#fff;
  font-size:14px;
  font-weight:700;
}
.app.inspection-workspace #inspection-review-list .inspection-review-actions > button.approve {
  color:#fff;
  border-color:var(--pit-petrol);
  background:var(--pit-petrol);
}

@media(max-width:820px) {
  .app.inspection-workspace .inspection-domain-header { align-items:flex-start; flex-direction:column; }
  .app.inspection-workspace .inspection-domain-tools { width:100%; align-items:stretch; flex-direction:column; }
  .app.inspection-workspace .works-domain-switch { width:100%; }
  .app.inspection-workspace .works-domain-switch button { flex:1; }
  .app.inspection-workspace .inspection-offline-package-button { width:100%; justify-content:center; }
  .app.inspection-workspace .inspection-operation-summary { grid-template-columns:1fr; gap:9px; }
  .app.inspection-workspace .inspection-demand-actions { display:grid; grid-template-columns:1fr; }
  .app.inspection-workspace .inspection-next-action-copy { margin-right:0; }
  .app.inspection-workspace .inspection-demand-actions > .inspection-card-primary,
  .app.inspection-workspace .inspection-card-more-actions { width:100%; }
  .app.inspection-workspace .works-process-card dl { grid-template-columns:1fr; }
  .app.inspection-workspace .works-process-card footer { align-items:stretch; }
  .app.inspection-workspace .works-process-card footer button { width:100%; }
  .app.inspection-workspace .inspection-review-header { align-items:stretch; flex-direction:column; }
  .app.inspection-workspace .inspection-review-count { width:100%; min-height:56px; grid-template-columns:auto auto; justify-content:center; gap:8px; }
  .app.inspection-workspace #inspection-review-list article { grid-template-columns:1fr; }
  .app.inspection-workspace #inspection-review-list .inspection-review-actions { align-items:stretch; flex-direction:column; }
  .app.inspection-workspace #inspection-review-list .inspection-review-actions > button,
  .app.inspection-workspace #inspection-review-list .inspection-review-actions > .inspection-card-more-actions { width:100%; }
}

/* Seções administrativas recolhíveis. */
.app.inspection-workspace .inspection-collapsible-section,
.app.inspection-workspace .inspection-admin-secretariat-shell {
  color:var(--pit-text);
  border-color:var(--pit-border);
  background:var(--pit-surface-soft);
  box-shadow:none;
}
.app.inspection-workspace .inspection-collapsible-section > summary {
  color:var(--pit-navy);
  font-size:13px;
}
.app.inspection-workspace .inspection-collapsible-section > summary .material-symbols-outlined { color:var(--pit-petrol); }
.app.inspection-workspace .inspection-admin-domain-tabs button,
.app.inspection-workspace .inspection-admin-secretariat-tabs button {
  color:var(--pit-text);
  border-color:var(--pit-border);
  background:#fff;
  font-size:11px;
}
.app.inspection-workspace .inspection-admin-domain-tabs button.active,
.app.inspection-workspace .inspection-admin-secretariat-tabs button.active {
  color:#fff;
  border-color:var(--pit-petrol);
  background:linear-gradient(135deg,var(--pit-petrol),var(--pit-green));
}

@media(max-width:820px) {
  .app.inspection-workspace { --inspection-font-body:16px; --inspection-font-help:14px; }
  .app.inspection-workspace .inspection-main-actions { grid-template-columns:1fr; }
  .app.inspection-workspace .inspection-profile-header,
  .app.inspection-workspace .inspection-ops-hero { padding:18px; }
  .app.inspection-workspace .inspection-profile-header h1,
  .app.inspection-workspace .inspection-ops-identity h1 { font-size:24px; }
  .app.inspection-workspace .inspection-action-tile { min-height:92px!important; }
  .app.inspection-workspace .inspection-ops-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Relatórios reutilizam a anatomia visual dos painéis de fiscalização. */
.app.reports-workspace {
  --gw-bg:var(--pit-mist);
  --gw-surface:var(--pit-surface);
  --gw-surface-2:var(--pit-surface-soft);
  --gw-border:var(--pit-border);
  --gw-text:var(--pit-navy);
  --gw-muted:var(--pit-muted);
  --gw-primary:var(--pit-petrol);
  --inspection-font-body:16px;
  --inspection-font-help:14px;
  grid-template-columns:66px minmax(720px,64vw) minmax(220px,1fr);
}
.app.reports-workspace.panel-open { grid-template-columns:66px minmax(720px,64vw) minmax(220px,1fr); }
.app.reports-workspace .platform-panel {
  position:relative;
  inset:auto;
  width:auto;
  min-width:0;
  opacity:1;
  transform:none;
  border-right:0;
  box-shadow:none;
}
.app.reports-workspace .platform-panel-body { padding:14px 16px 32px; }
.app.reports-workspace .module-view[data-module-view="reports"].active { width:100%; margin:0; }
.app.reports-workspace .module-view[data-module-view="reports"] { gap:18px; color:var(--pit-text); font-size:var(--inspection-font-body); }
.app.reports-workspace .inspection-profile-dashboard { gap:18px; }
.app.reports-workspace .reports-certificate-content { display:grid; gap:18px; }
.app.reports-workspace .reports-certificate-content[hidden] { display:none!important; }
.app.reports-workspace .inspection-profile-header {
  padding:22px 24px;
  border:1px solid rgba(0,109,122,.22);
  border-radius:var(--pit-radius-lg);
  background:radial-gradient(circle at 90% 10%,rgba(139,195,74,.13),transparent 30%),linear-gradient(135deg,#fff,var(--pit-petrol-050));
  box-shadow:var(--pit-shadow-sm);
}
.app.reports-workspace .inspection-profile-header small,
.app.reports-workspace .inspection-profile-section-heading small { color:var(--pit-petrol); font-size:11px; font-weight:800; letter-spacing:.1em; }
.app.reports-workspace .inspection-profile-header h1 { color:var(--pit-navy); font-size:28px; font-weight:750; }
.app.reports-workspace .inspection-profile-header p { color:#294752; font-size:14px; line-height:1.55; }
.app.reports-workspace .inspection-profile-status { color:var(--pit-green-700); border-color:#a7cdae; background:linear-gradient(135deg,var(--pit-green-100),#fff); font-size:11px; }
.app.reports-workspace .inspection-main-actions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.app.reports-workspace .inspection-action-tile,
.app.reports-workspace .inspection-action-tile.primary {
  min-height:104px!important;
  padding:17px!important;
  color:var(--pit-navy);
  border:1px solid var(--pit-border);
  border-left:4px solid var(--pit-petrol);
  border-radius:var(--pit-radius-md);
  background:linear-gradient(135deg,var(--pit-petrol-050),#fff 68%);
  box-shadow:0 3px 10px rgba(0,27,42,.055);
}
.app.reports-workspace .inspection-action-tile.primary { border-left-color:var(--pit-green); background:linear-gradient(135deg,var(--pit-green-100),#fff 68%); }
.app.reports-workspace .inspection-action-tile:hover { border-color:var(--pit-petrol-300); border-left-color:var(--pit-petrol); background:linear-gradient(135deg,var(--pit-petrol-100),#fff 72%); box-shadow:0 9px 21px rgba(0,27,42,.09); }
.app.reports-workspace .inspection-action-tile:focus-visible,
.app.reports-workspace :is(.confrontation-search button,.confrontation-primary,.reports-export-button):focus-visible { outline:3px solid rgba(0,109,122,.28); outline-offset:3px; }
.app.reports-workspace .inspection-action-tile > .material-symbols-outlined { width:44px; height:44px; display:grid; place-items:center; flex:0 0 auto; color:var(--pit-petrol); border-radius:12px; background:rgba(0,109,122,.10); font-size:25px; }
.app.reports-workspace .inspection-action-tile.primary > .material-symbols-outlined { color:var(--pit-green); background:rgba(46,125,50,.10); }
.app.reports-workspace .inspection-action-tile strong { color:var(--pit-navy); font-size:16px; line-height:1.3; }
.app.reports-workspace .inspection-action-tile small { color:var(--pit-text)!important; font-size:14px!important; line-height:1.5; opacity:1; }
.app.reports-workspace .inspection-profile-section-heading h2 { color:var(--pit-navy); font-size:18px; font-weight:700; }
.app.reports-workspace .inspection-collapsible-section { color:var(--pit-text); border-color:var(--pit-border); background:var(--pit-surface-soft); box-shadow:none; }
.app.reports-workspace .inspection-collapsible-section > summary { color:var(--pit-navy); font-size:13px; }
.app.reports-workspace .inspection-collapsible-section > summary .material-symbols-outlined { color:var(--pit-petrol); }
.app.reports-workspace .reports-work-card { border-color:var(--pit-border); background:#fff; box-shadow:var(--pit-shadow-sm); }
.app.reports-workspace .report-hero { border-color:var(--pit-petrol-300); background:linear-gradient(135deg,var(--pit-petrol-050),var(--pit-green-100)); }
.app.reports-workspace .report-hero > .material-symbols-outlined { color:#fff; background:linear-gradient(145deg,var(--pit-petrol),var(--pit-green)); }
.app.reports-workspace .report-hero h2,
.app.reports-workspace .confrontation-step strong,
.app.reports-workspace .confrontation-selected-lot strong { color:var(--pit-navy); }
.app.reports-workspace .report-hero :is(p,small),
.app.reports-workspace .confrontation-step small,
.app.reports-workspace .confrontation-selected-lot small { color:var(--pit-muted); font-size:14px; }
.app.reports-workspace .confrontation-search label,
.app.reports-workspace .confrontation-admin-fields label { color:var(--pit-text); font-size:14px; }
.app.reports-workspace :is(.confrontation-search input,.confrontation-search button,.confrontation-type-field select,.confrontation-admin-fields input,.confrontation-primary) { min-height:48px; font-size:14px; }
.app.reports-workspace :is(.confrontation-search button,.confrontation-primary,.reports-export-button) {
  color:#fff;
  border-color:var(--pit-petrol);
  background:var(--pit-petrol);
}
.app.reports-workspace :is(.confrontation-search button,.confrontation-primary,.reports-export-button):hover {
  color:#fff;
  border-color:var(--pit-petrol-700);
  background:var(--pit-petrol-700);
}
.app.reports-workspace .confrontation-result { color:var(--pit-text); border-color:var(--pit-border); background:var(--pit-surface); }
.app.reports-workspace .confrontation-result:hover { color:var(--pit-navy); border-color:var(--pit-petrol-300); background:var(--pit-petrol-050); }
.app.reports-workspace .reports-secondary-note { margin:0; color:var(--pit-muted); font-size:14px; line-height:1.5; }
.app.reports-workspace .reports-export-button { min-height:48px; justify-self:start; display:inline-flex; align-items:center; gap:8px; }

#confrontation-dialog :is(#confrontation-dialog-close,#confrontation-done) { color:var(--pit-text); border-color:var(--pit-border); background:var(--pit-surface-soft); }
#confrontation-dialog :is(#confrontation-dialog-close,#confrontation-done):hover { color:var(--pit-navy); border-color:var(--pit-petrol-300); background:var(--pit-petrol-050); }
#confrontation-dialog #confrontation-print { color:#fff; border-color:var(--pit-petrol); background:var(--pit-petrol); }
#confrontation-dialog #confrontation-print:hover { border-color:var(--pit-petrol-700); background:var(--pit-petrol-700); }
#confrontation-dialog button:focus-visible { outline:3px solid rgba(0,109,122,.28); outline-offset:3px; }

@media(max-width:820px) {
  .app.reports-workspace .inspection-main-actions { grid-template-columns:1fr; }
  .app.reports-workspace .inspection-profile-header { padding:18px; }
  .app.reports-workspace .inspection-profile-header h1 { font-size:24px; }
  .app.reports-workspace .inspection-action-tile { min-height:92px!important; }
}

@media(max-width:900px) {
  .app.projects-workspace .projects-overview { grid-template-columns:1fr; }
  .projects-primary-actions { width:auto; grid-template-columns:1fr 1fr; }
  .app.projects-workspace .project-list { grid-template-columns:1fr; }
  .project-view-settings { grid-template-columns:48px minmax(0,1fr); }
  .project-view-actions { grid-column:1/-1; justify-content:flex-end; }
}
@media(max-width:620px) {
  .projects-primary-actions { grid-template-columns:1fr; }
  .app.projects-workspace .project-form,
  .app.projects-workspace .project-layer-list { grid-template-columns:1fr; }
  .project-editor-actions { align-items:stretch; flex-direction:column-reverse; }
  .project-editor-actions > button,
  .project-danger-menu,
  .project-danger-menu summary { width:100%; }
  .project-view-actions { flex-direction:column; }
  .project-view-actions button { width:100%; }
}

@media (max-width:680px) {
  .app.dashboard-workspace {
    --dashboard-font-eyebrow:10px;
    --dashboard-font-meta:10px;
    --dashboard-font-body:11px;
    --dashboard-font-title:16px;
  }
  .app.dashboard-workspace .profile-dashboard-hero { min-height:0; padding:22px; }
  .app.dashboard-workspace .profile-dashboard-hero h1 { font-size:27px; }
  .app.dashboard-workspace .profile-dashboard-cards { grid-template-columns:1fr; }
  .app.dashboard-workspace .profile-dashboard-card { min-height:94px; }
  .app.dashboard-workspace .profile-dashboard-chart > div { grid-template-columns:90px minmax(50px,1fr) 28px; }
  .app.dashboard-workspace .profile-dashboard-shortcuts { grid-template-columns:1fr; }
  .app.dashboard-workspace .profile-dashboard-notifications > div { grid-template-columns:1fr; }
}

@media (max-width:720px) {
  .login-brand-logo { width:min(250px,72vw); }
  .login-screen::after { width:90vw; opacity:.7; }
  .profile-dashboard-hero::before { opacity:.1; }
}

/* Meu Trabalho · caixa operacional no padrão PIT. */
.module-view[data-module-view="work_inbox"] {
  --inbox-text:#294752;
  --inbox-muted:#536b75;
  color:var(--inbox-text);
}
:is(.module-view[data-module-view="work_inbox"],.module-view[data-module-view="inspection_records"]) .my-work-tabs button {
  position:relative;
  min-height:76px;
  overflow:hidden;
  border-color:var(--pit-border);
  border-radius:14px;
  color:var(--pit-text);
  background:linear-gradient(145deg,#fff,var(--pit-surface-soft));
  box-shadow:var(--pit-shadow-soft);
}
:is(.module-view[data-module-view="work_inbox"],.module-view[data-module-view="inspection_records"]) .my-work-tabs button::before {
  position:absolute; inset:0 auto 0 0; width:4px;
  background:linear-gradient(var(--pit-petrol),var(--pit-lime));
  opacity:0; content:"";
}
:is(.module-view[data-module-view="work_inbox"],.module-view[data-module-view="inspection_records"]) .my-work-tabs button > .material-symbols-outlined {
  color:var(--pit-petrol);
  background:linear-gradient(145deg,var(--pit-petrol-100),#fff);
}
:is(.module-view[data-module-view="work_inbox"],.module-view[data-module-view="inspection_records"]) .my-work-tabs strong { color:var(--pit-navy); font-size:14px; }
:is(.module-view[data-module-view="work_inbox"],.module-view[data-module-view="inspection_records"]) .my-work-tabs small { color:var(--inbox-muted,var(--pit-muted)); font-size:11px; line-height:1.35; }
:is(.module-view[data-module-view="work_inbox"],.module-view[data-module-view="inspection_records"]) .my-work-tabs b {
  color:var(--pit-petrol); background:var(--pit-petrol-100); font-size:12px;
}
:is(.module-view[data-module-view="work_inbox"],.module-view[data-module-view="inspection_records"]) .my-work-tabs button:hover { border-color:var(--pit-petrol-300); }
:is(.module-view[data-module-view="work_inbox"],.module-view[data-module-view="inspection_records"]) .my-work-tabs button.active {
  padding:11px 14px;
  border:1px solid var(--pit-petrol-300);
  background:linear-gradient(135deg,var(--pit-petrol-050),#fff 62%,var(--pit-green-100));
  box-shadow:0 0 0 3px rgba(0,109,122,.08),var(--pit-shadow-soft);
}
:is(.module-view[data-module-view="work_inbox"],.module-view[data-module-view="inspection_records"]) .my-work-tabs button.active::before { opacity:1; }

.module-view[data-module-view="work_inbox"] .work-inbox-hero {
  position:relative; overflow:hidden; padding:24px;
  border-color:var(--pit-border); border-radius:16px;
  background:radial-gradient(circle at 92% 12%,rgba(139,195,74,.16),transparent 30%),linear-gradient(135deg,#fff,var(--pit-petrol-050));
  box-shadow:var(--pit-shadow-soft);
}
.module-view[data-module-view="work_inbox"] .work-inbox-hero::before {
  position:absolute; inset:0 auto 0 0; width:5px;
  background:linear-gradient(var(--pit-petrol),var(--pit-green)); content:"";
}
.module-view[data-module-view="work_inbox"] .work-inbox-hero > div > .material-symbols-outlined {
  width:52px; height:52px; color:var(--pit-petrol);
  background:linear-gradient(145deg,var(--pit-petrol-100),#fff); font-size:27px;
}
.module-view[data-module-view="work_inbox"] .work-inbox-hero small { color:var(--pit-petrol); font-size:10px; letter-spacing:.08em; }
.module-view[data-module-view="work_inbox"] .work-inbox-hero h2 { color:var(--pit-navy); font-size:24px; letter-spacing:-.02em; }
.module-view[data-module-view="work_inbox"] .work-inbox-hero p { color:var(--inbox-muted); font-size:13px; line-height:1.5; }
.module-view[data-module-view="work_inbox"] .work-inbox-hero button {
  min-height:42px; border-color:var(--pit-petrol-300); color:var(--pit-petrol);
  background:rgba(255,255,255,.82); font-size:11px;
}

.module-view[data-module-view="work_inbox"] .work-inbox-summary { gap:12px; margin:16px 0; }
.module-view[data-module-view="work_inbox"] .work-inbox-summary-card {
  --inbox-tone:var(--pit-petrol); position:relative; min-height:86px; overflow:hidden;
  padding:16px; border-color:color-mix(in srgb,var(--inbox-tone) 25%,var(--pit-border)); border-radius:14px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--inbox-tone) 8%,#fff),#fff 72%);
  box-shadow:var(--pit-shadow-soft);
}
.module-view[data-module-view="work_inbox"] .work-inbox-summary-card::after {
  position:absolute; top:-22px; right:-22px; width:68px; height:68px;
  border-radius:50%; background:color-mix(in srgb,var(--inbox-tone) 9%,transparent); content:"";
}
.module-view[data-module-view="work_inbox"] .work-inbox-summary-card.amber { --inbox-tone:var(--pit-signal-yellow); }
.module-view[data-module-view="work_inbox"] .work-inbox-summary-card.red { --inbox-tone:var(--pit-signal-red); }
.module-view[data-module-view="work_inbox"] .work-inbox-summary-card.purple { --inbox-tone:var(--pit-slate); }
.module-view[data-module-view="work_inbox"] .work-inbox-summary-card.green { --inbox-tone:var(--pit-signal-green); }
.module-view[data-module-view="work_inbox"] .work-inbox-summary-card > .material-symbols-outlined { width:40px; height:40px; font-size:21px; }
.module-view[data-module-view="work_inbox"] .work-inbox-summary-card small { color:var(--inbox-muted); font-size:10px; line-height:1.35; }
.module-view[data-module-view="work_inbox"] .work-inbox-summary-card strong { color:var(--pit-navy); font-size:24px; }
.module-view[data-module-view="work_inbox"] .work-inbox-summary-card.active { padding:15px; border:2px solid var(--inbox-tone); }

.module-view[data-module-view="work_inbox"] .work-inbox-card {
  border:1px solid var(--pit-border); border-radius:14px; background:#fff; box-shadow:var(--pit-shadow-soft);
}
.module-view[data-module-view="work_inbox"] .work-inbox-toolbar { gap:10px; padding:16px; border-color:var(--pit-border); }
.module-view[data-module-view="work_inbox"] .work-inbox-toolbar input,
.module-view[data-module-view="work_inbox"] .work-inbox-toolbar select {
  height:42px; border-color:var(--pit-border); border-radius:9px;
  color:var(--pit-text); background:var(--pit-surface-soft); font-size:12px;
}
.module-view[data-module-view="work_inbox"] .work-inbox-toolbar label > .material-symbols-outlined { top:12px; color:var(--pit-petrol); }
.module-view[data-module-view="work_inbox"] .work-inbox-toolbar input:focus,
.module-view[data-module-view="work_inbox"] .work-inbox-toolbar select:focus { border-color:var(--pit-petrol); box-shadow:0 0 0 3px rgba(0,109,122,.11); }
.module-view[data-module-view="work_inbox"] .work-inbox-results-bar { min-height:64px; border-color:var(--pit-border); background:var(--pit-petrol-050); }
.module-view[data-module-view="work_inbox"] .work-inbox-results-bar strong { color:var(--pit-navy); font-size:14px; }
.module-view[data-module-view="work_inbox"] .work-inbox-results-bar small { color:var(--inbox-muted); font-size:11px; }
.module-view[data-module-view="work_inbox"] .work-inbox-results-bar button { min-height:40px; border-color:var(--pit-petrol-300); color:var(--pit-petrol); font-size:11px; }
.module-view[data-module-view="work_inbox"] .work-inbox-table-head {
  min-height:44px; padding-inline:16px; border-color:var(--pit-border);
  color:var(--inbox-muted); background:var(--pit-surface-soft); font-size:10px; letter-spacing:.035em;
}
.module-view[data-module-view="work_inbox"] .work-inbox-row {
  min-height:78px; padding:12px 16px; border-bottom-color:var(--pit-border); border-left-width:5px;
  color:var(--pit-text); background:#fff;
}
.module-view[data-module-view="work_inbox"] .work-inbox-row:hover { background:var(--pit-petrol-050); }
.module-view[data-module-view="work_inbox"] .work-inbox-row > span > strong { color:var(--pit-navy); font-size:13px; line-height:1.35; }
.module-view[data-module-view="work_inbox"] .work-inbox-row small { color:var(--inbox-muted); font-size:11px; line-height:1.35; }
.module-view[data-module-view="work_inbox"] .work-inbox-status,
.module-view[data-module-view="work_inbox"] .work-inbox-priority { padding:6px 9px; font-size:10px; font-weight:750; }
.module-view[data-module-view="work_inbox"] .work-inbox-priority.normal,
.module-view[data-module-view="work_inbox"] .work-inbox-priority.media { color:var(--pit-petrol); background:var(--pit-petrol-100); }
.module-view[data-module-view="work_inbox"] .work-inbox-priority.baixa { color:var(--pit-green-700); background:var(--pit-green-100); }
.module-view[data-module-view="work_inbox"] .work-inbox-priority.alta { color:#775900; background:var(--pit-signal-yellow-bg); }
.module-view[data-module-view="work_inbox"] .work-inbox-priority.urgente { color:#9f1d20; background:var(--pit-signal-red-bg); }
.module-view[data-module-view="work_inbox"] .work-inbox-deadline.vencida { color:var(--pit-signal-red)!important; }
.module-view[data-module-view="work_inbox"] .work-inbox-deadline.vence_hoje { color:#8a6500!important; }
.module-view[data-module-view="work_inbox"] .work-inbox-deadline.no_prazo { color:var(--pit-signal-green)!important; }
.module-view[data-module-view="work_inbox"] .work-inbox-row:has(.work-inbox-deadline.vencida) { border-left-color:var(--pit-signal-red); background:linear-gradient(90deg,var(--pit-signal-red-bg),#fff 18%); }
.module-view[data-module-view="work_inbox"] .work-inbox-row:has(.work-inbox-deadline.vence_hoje) { border-left-color:var(--pit-signal-yellow); background:linear-gradient(90deg,var(--pit-signal-yellow-bg),#fff 18%); }
.module-view[data-module-view="work_inbox"] .work-inbox-row:has(.work-inbox-deadline.no_prazo) { border-left-color:var(--pit-signal-green); background:linear-gradient(90deg,var(--pit-signal-green-bg),#fff 18%); }
.module-view[data-module-view="work_inbox"] .work-inbox-row > button { min-height:40px; border-color:var(--pit-petrol-300); color:var(--pit-petrol); font-size:11px; }
.module-view[data-module-view="work_inbox"] .work-inbox-row > button:hover { color:#fff; background:var(--pit-petrol); }
.module-view[data-module-view="work_inbox"] .work-inbox-empty { color:var(--inbox-muted); }
.module-view[data-module-view="work_inbox"] .work-inbox-empty > .material-symbols-outlined { color:var(--pit-petrol); }
.module-view[data-module-view="work_inbox"] .work-inbox-empty strong { color:var(--pit-navy); font-size:14px; }
.module-view[data-module-view="work_inbox"] .work-inbox-empty small { font-size:11px; }

.work-inbox-detail-dialog { border:1px solid var(--pit-border); border-radius:16px; color:var(--pit-text); background:#fff; box-shadow:0 24px 70px rgba(0,27,42,.25); }
.work-inbox-detail-dialog .work-inbox-detail-summary > div { padding:13px; border-color:var(--pit-border); border-radius:10px; background:linear-gradient(145deg,var(--pit-petrol-050),#fff); }
.work-inbox-detail-dialog .work-inbox-detail-summary small { color:var(--pit-petrol); font-size:9px; font-weight:750; letter-spacing:.04em; }
.work-inbox-detail-dialog .work-inbox-detail-summary strong { color:var(--pit-navy); font-size:12px; line-height:1.4; }
.work-inbox-detail-dialog .work-inbox-mini-timeline { padding:15px; border-color:var(--pit-border); border-radius:12px; background:var(--pit-surface-soft); }
.work-inbox-detail-dialog .work-inbox-mini-timeline > header > strong { color:var(--pit-navy); font-size:14px; }
.work-inbox-detail-dialog .work-inbox-mini-timeline > header button { min-height:36px; border-color:var(--pit-petrol-300); color:var(--pit-petrol); background:#fff; font-size:10px; }
.work-inbox-detail-dialog .work-inbox-mini-timeline article { grid-template-columns:12px 1fr; gap:10px; border-color:var(--pit-border); }
.work-inbox-detail-dialog .work-inbox-mini-timeline article > i { width:10px; height:10px; background:linear-gradient(135deg,var(--pit-petrol),var(--pit-lime)); box-shadow:0 0 0 4px var(--pit-petrol-100); }
.work-inbox-detail-dialog .work-inbox-mini-timeline article strong { color:var(--pit-navy); font-size:12px; }
.work-inbox-detail-dialog .work-inbox-mini-timeline p { color:var(--pit-text); font-size:11px; line-height:1.45; }
.work-inbox-detail-dialog .work-inbox-mini-timeline small { color:var(--pit-muted); font-size:10px; }

@media(max-width:820px) {
  .module-view[data-module-view="work_inbox"] .work-inbox-hero { align-items:stretch; flex-direction:column; }
  .module-view[data-module-view="work_inbox"] .work-inbox-hero button { width:max-content; }
  .module-view[data-module-view="work_inbox"] .work-inbox-row { padding:14px; }
}
@media(max-width:620px) {
  .module-view[data-module-view="work_inbox"] .work-inbox-hero { padding:20px; }
  .module-view[data-module-view="work_inbox"] .work-inbox-hero h2 { font-size:21px; }
  .module-view[data-module-view="work_inbox"] .work-inbox-summary-card { min-height:80px; padding:13px; }
  .module-view[data-module-view="work_inbox"] .work-inbox-summary-card strong { font-size:21px; }
  .module-view[data-module-view="work_inbox"] .work-inbox-toolbar { grid-template-columns:1fr; }
  .module-view[data-module-view="work_inbox"] .work-inbox-toolbar label { grid-column:auto; }
  .module-view[data-module-view="work_inbox"] .work-inbox-results-bar { align-items:flex-start; flex-direction:column; }
  .work-inbox-detail-dialog .work-inbox-detail-summary { grid-template-columns:1fr; }
}

/* Navegação responsiva PIT · tablets preservam a barra lateral. */
@media(min-width:600px) and (max-width:1100px) {
  :root { --pit-tablet-rail:82px; }
  .app { grid-template-columns:var(--pit-tablet-rail) 0 minmax(0,1fr)!important; }
  .app.panel-open { grid-template-columns:var(--pit-tablet-rail) minmax(320px,390px) minmax(0,1fr)!important; }
  .app.inspection-workspace,
  .app.inspection-workspace.panel-open,
  .app.analytics-workspace,
  .app.analytics-workspace.panel-open,
  .app.dashboard-workspace,
  .app.dashboard-workspace.panel-open,
  .app.projects-workspace,
  .app.projects-workspace.panel-open {
    grid-template-columns:var(--pit-tablet-rail) minmax(600px,68vw) minmax(0,1fr)!important;
  }
  .app.admin-workspace,
  .app.admin-workspace.panel-open {
    grid-template-columns:var(--pit-tablet-rail) minmax(0,1fr) 0!important;
  }
  .platform-rail,
  .platform-rail:hover,
  .sidebar,
  body[data-theme] .platform-rail {
    position:relative!important;
    inset:auto!important;
    z-index:60!important;
    width:var(--pit-tablet-rail)!important;
    min-width:var(--pit-tablet-rail)!important;
    height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-top:0;
    border-right:1px solid rgba(255,255,255,.1);
    box-shadow:6px 0 24px rgba(0,27,42,.18);
  }
  .platform-rail .sidebar-top {
    display:flex!important;
    flex:0 0 auto;
    padding:10px 8px 8px!important;
  }
  .platform-menu {
    width:100%!important;
    height:auto!important;
    min-height:0;
    display:flex!important;
    flex:1 1 auto;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:4px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    padding:5px 8px 12px!important;
    scroll-snap-type:none;
    scrollbar-width:thin;
    scrollbar-color:rgba(139,195,74,.38) transparent;
  }
  .platform-menu .platform-module-btn,
  .platform-menu .platform-module-btn:nth-child(n) {
    width:66px!important;
    min-width:66px!important;
    height:54px!important;
    display:grid!important;
    grid-template-rows:25px auto;
    align-content:center;
    flex:0 0 54px!important;
    padding:4px 2px;
    border-left:3px solid transparent;
    border-bottom:0;
  }
  .platform-menu .platform-module-btn::after {
    content:attr(aria-label);
    overflow:hidden;
    width:58px;
    color:currentColor;
    font-size:8px;
    font-weight:700;
    line-height:1.15;
    text-align:center;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .platform-menu .platform-module-btn.active {
    border-left-color:var(--pit-lime);
    border-bottom-color:transparent;
  }
  .rail-account {
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    display:grid!important;
    flex:0 0 auto;
    justify-items:center;
    gap:5px;
    padding:8px 0 10px!important;
    border-top:1px solid rgba(255,255,255,.1);
    border-left:0;
    background:transparent;
  }
  .rail-account button { width:42px; height:42px; }
  #map { bottom:0!important; }
  .map-statusbar { bottom:12px!important; }
  .map-tool-extensions { top:calc(var(--gw-topbar) + 61px); bottom:auto; }
}

@media(min-width:600px) and (max-width:820px) {
  .app,
  .app.panel-open,
  .app.inspection-workspace,
  .app.inspection-workspace.panel-open,
  .app.analytics-workspace,
  .app.analytics-workspace.panel-open,
  .app.dashboard-workspace,
  .app.dashboard-workspace.panel-open,
  .app.projects-workspace,
  .app.projects-workspace.panel-open {
    grid-template-columns:var(--pit-tablet-rail) minmax(0,1fr)!important;
  }
  .app.inspection-workspace .platform-panel,
  .app.analytics-workspace .platform-panel,
  .app.dashboard-workspace .platform-panel,
  .app.projects-workspace .platform-panel {
    position:absolute!important;
    inset:0 0 0 var(--pit-tablet-rail)!important;
    z-index:35!important;
    width:auto!important;
    min-width:0!important;
    height:100dvh!important;
  }
  .app.inspection-workspace .map-container,
  .app.analytics-workspace .map-container,
  .app.dashboard-workspace .map-container,
  .app.projects-workspace .map-container { grid-column:2!important; }
}

/* Celulares usam navegação inferior para aproveitar a largura útil. */
@media(max-width:599px) {
  :root { --pit-mobile-rail:68px; }
  .app,
  .app.panel-open,
  .app.admin-workspace,
  .app.admin-workspace.panel-open,
  .app.inspection-workspace,
  .app.inspection-workspace.panel-open,
  .app.analytics-workspace,
  .app.analytics-workspace.panel-open,
  .app.dashboard-workspace,
  .app.dashboard-workspace.panel-open,
  .app.projects-workspace,
  .app.projects-workspace.panel-open {
    grid-template-columns:minmax(0,1fr)!important;
  }
  .platform-rail,
  .platform-rail:hover,
  .sidebar,
  body[data-theme] .platform-rail {
    position:fixed!important;
    inset:auto 0 0!important;
    z-index:60!important;
    width:100%!important;
    min-width:100%!important;
    height:var(--pit-mobile-rail)!important;
    display:block!important;
    overflow:hidden;
    border-top:1px solid rgba(255,255,255,.14);
    border-right:0;
    background:rgba(0,27,42,.98);
    box-shadow:0 -8px 24px rgba(0,27,42,.2);
    backdrop-filter:blur(14px);
  }
  .platform-rail .sidebar-top { display:none!important; }
  .platform-menu {
    width:calc(100% - 108px);
    height:var(--pit-mobile-rail)!important;
    display:flex!important;
    align-items:center;
    justify-content:flex-start!important;
    gap:5px;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:7px 9px!important;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    scrollbar-color:rgba(139,195,74,.42) transparent;
  }
  .platform-menu .platform-module-btn,
  .platform-menu .platform-module-btn:nth-child(n) {
    width:50px!important;
    min-width:50px!important;
    height:50px!important;
    display:grid!important;
    flex:0 0 50px;
    border-left:0;
    border-bottom:3px solid transparent;
    scroll-snap-align:start;
  }
  .platform-menu .platform-module-btn.active { border-bottom-color:var(--pit-lime); }
  .platform-menu .platform-module-btn .material-symbols-outlined { font-size:23px; }
  .rail-account {
    position:absolute;
    inset:0 5px 0 auto;
    width:102px;
    height:var(--pit-mobile-rail);
    display:flex!important;
    align-items:center;
    justify-content:flex-end;
    gap:3px;
    padding:7px 3px;
    border-top:0;
    border-left:1px solid rgba(255,255,255,.12);
    background:linear-gradient(90deg,rgba(0,27,42,.8),var(--pit-navy) 20%);
  }
  .rail-account button { width:43px; height:43px; flex:0 0 43px; }
  .platform-panel,
  .app.inspection-workspace .platform-panel,
  .app.analytics-workspace .platform-panel,
  .app.dashboard-workspace .platform-panel,
  .app.projects-workspace .platform-panel,
  .app.admin-workspace .platform-panel {
    position:fixed!important;
    inset:0 0 var(--pit-mobile-rail) 0!important;
    z-index:50!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    border-right:0;
    transform:translateY(12px)!important;
  }
  .app.panel-open .platform-panel {
    opacity:1;
    pointer-events:auto;
    transform:translateY(0)!important;
  }
  .app:not(.panel-open) .platform-panel { opacity:0; pointer-events:none; }
  .platform-panel-body {
    height:calc(100dvh - 68px - var(--pit-mobile-rail))!important;
    padding:14px!important;
    overscroll-behavior:contain;
  }
  .map-container,
  .app.inspection-workspace .map-container { grid-column:1!important; }
  #map { bottom:var(--pit-mobile-rail)!important; }
  .map-statusbar { bottom:calc(var(--pit-mobile-rail) + 7px)!important; }
  .map-tool-extensions { bottom:calc(var(--pit-mobile-rail) + 12px); }
}

/* O layout responsivo nunca deve reexibir módulos bloqueados pelo perfil. */
.platform-menu .platform-module-btn:is(.access-hidden,[hidden]) { display:none!important; }

@media(max-width:520px) {
  :root { --pit-mobile-rail:64px; }
  .platform-menu { width:calc(100% - 58px); padding-inline:6px!important; }
  .rail-account { width:56px; }
  .rail-account #user-menu-button { display:none; }
  .platform-panel-header { padding-inline:12px; }
  .platform-panel-header h1 { max-width:52vw; overflow:hidden; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
}

/* Central de conteúdo offline. */
.inspection-action-tile.offline-action {
  color:var(--pit-petrol-700)!important;
  border-color:var(--pit-petrol-300)!important;
  background:linear-gradient(145deg,var(--pit-petrol-050),#fff)!important;
}
.offline-center-dialog { width:min(760px,calc(100vw - 28px)); border:1px solid var(--pit-border); border-radius:16px; }
.offline-center-body { display:grid; gap:13px; max-height:68vh; overflow:auto; padding:2px; }
.offline-readiness,
.offline-package-card,
.offline-progress { border:1px solid var(--pit-border); border-radius:13px; background:#fff; }
.offline-readiness { display:flex; align-items:center; gap:12px; padding:15px; color:#765a0d; background:var(--pit-signal-yellow-bg); }
.offline-readiness.ready { color:var(--pit-green-700); border-color:#afd2b5; background:var(--pit-signal-green-bg); }
.offline-readiness > .material-symbols-outlined { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; background:rgba(255,255,255,.76); font-size:24px; }
.offline-readiness > div,
.offline-package-card > header > div { display:grid; gap:3px; }
.offline-readiness strong,
.offline-package-card strong { color:var(--pit-navy); font-size:13px; }
.offline-readiness small,
.offline-package-card small { color:var(--pit-text); font-size:11px; line-height:1.45; }
.offline-package-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:15px; box-shadow:var(--pit-shadow-sm); }
.offline-package-card > header { grid-column:1/-1; display:flex; align-items:flex-start; gap:10px; }
.offline-package-card > header > .material-symbols-outlined { width:39px; height:39px; display:grid; place-items:center; flex:0 0 auto; color:var(--pit-petrol); border-radius:10px; background:var(--pit-petrol-100); }
.offline-package-card button { min-height:42px; display:flex; align-items:center; justify-content:center; gap:7px; padding:0 13px; border:1px solid var(--pit-petrol-300); border-radius:9px; color:var(--pit-petrol-700); background:var(--pit-petrol-050); font-size:11px; font-weight:750; }
.offline-package-card button.primary { color:#fff; border-color:var(--pit-petrol); background:linear-gradient(135deg,var(--pit-petrol),var(--pit-green)); }
.offline-package-meta { color:var(--pit-muted); font-size:11px; line-height:1.45; }
.offline-tile-options { grid-column:1/-1; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:9px; }
.offline-tile-options label { display:grid; gap:5px; color:var(--pit-text); font-size:10px; font-weight:700; }
.offline-tile-options :is(select,input) { width:100%; min-height:40px; padding:0 9px; border:1px solid var(--pit-border); border-radius:8px; color:var(--pit-navy); background:var(--pit-surface-soft); font-size:12px; }
.offline-progress { display:grid; grid-template-columns:8px minmax(0,1fr); gap:12px; overflow:hidden; padding:14px; }
.offline-progress[hidden] { display:none; }
.offline-progress > span { border-radius:999px; background:linear-gradient(var(--pit-petrol),var(--pit-lime)); }
.offline-progress > div { display:grid; gap:5px; }
.offline-progress strong { color:var(--pit-navy); font-size:12px; }
.offline-progress small { color:var(--pit-muted); font-size:10px; }
.offline-progress progress { width:100%; height:8px; accent-color:var(--pit-petrol); }
.offline-center-note { margin:0; padding:11px 13px; border-radius:9px; color:var(--pit-text); background:var(--pit-surface-soft); font-size:10px; line-height:1.5; }
.offline-center-dialog footer .danger { color:#9f1d20; border-color:#e2b6bc; background:var(--pit-signal-red-bg); }
html.is-offline .network-status { border-color:rgba(139,195,74,.45); color:#e8f5d6; background:rgba(0,55,63,.97); }

@media(max-width:620px) {
  .offline-center-dialog { width:100vw; max-width:none; height:100dvh; max-height:none; border-radius:0; }
  .offline-center-dialog > form { max-height:100dvh; }
  .offline-center-body { max-height:calc(100dvh - 150px); }
  .offline-package-card { grid-template-columns:1fr; }
  .offline-package-card > button { width:100%; }
  .offline-tile-options { grid-template-columns:1fr 1fr; }
  .offline-tile-options label:first-child { grid-column:1/-1; }
}

/* APK em tablet · gaveta lateral independente do breakpoint do WebView. */
.native-menu-toggle,
.native-menu-backdrop { display:none; }

@media(max-width:900px) {
  html.pit-native-app .native-menu-toggle {
    position:fixed;
    top:max(12px,env(safe-area-inset-top));
    left:12px;
    z-index:140;
    min-width:62px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:0 11px;
    color:#fff;
    border:1px solid rgba(255,255,255,.2);
    border-radius:12px;
    background:linear-gradient(145deg,var(--pit-petrol),var(--pit-green));
    box-shadow:0 8px 22px rgba(0,27,42,.3);
  }
  html.pit-native-app .native-menu-toggle .material-symbols-outlined { font-size:23px; }
  html.pit-native-app .native-menu-toggle strong { color:#fff; font-size:10px; }
  html.pit-native-app .native-menu-backdrop {
    position:fixed;
    inset:0;
    z-index:125;
    width:100%;
    height:100%;
    display:block;
    opacity:0;
    pointer-events:none;
    border:0;
    background:rgba(0,27,42,.46);
    backdrop-filter:blur(2px);
    transition:opacity .2s ease;
  }
  html.pit-native-app.pit-native-menu-open .native-menu-backdrop { opacity:1; pointer-events:auto; }
  html.pit-native-app .app,
  html.pit-native-app .app.panel-open,
  html.pit-native-app .app.admin-workspace,
  html.pit-native-app .app.admin-workspace.panel-open,
  html.pit-native-app .app.inspection-workspace,
  html.pit-native-app .app.inspection-workspace.panel-open,
  html.pit-native-app .app.analytics-workspace,
  html.pit-native-app .app.analytics-workspace.panel-open,
  html.pit-native-app .app.dashboard-workspace,
  html.pit-native-app .app.dashboard-workspace.panel-open,
  html.pit-native-app .app.projects-workspace,
  html.pit-native-app .app.projects-workspace.panel-open {
    grid-template-columns:minmax(0,1fr)!important;
  }
  html.pit-native-app .platform-rail,
  html.pit-native-app .platform-rail:hover,
  html.pit-native-app .sidebar,
  html.pit-native-app body[data-theme] .platform-rail {
    position:fixed!important;
    inset:0 auto 0 0!important;
    z-index:130!important;
    width:min(280px,86vw)!important;
    min-width:min(280px,86vw)!important;
    height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-top:0;
    border-right:1px solid rgba(255,255,255,.15);
    background:var(--pit-navy);
    box-shadow:14px 0 34px rgba(0,27,42,.32);
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
  }
  html.pit-native-app.pit-native-menu-open .platform-rail,
  html.pit-native-app.pit-native-menu-open .sidebar { transform:translateX(0)!important; }
  html.pit-native-app .platform-rail .sidebar-top {
    min-height:72px;
    display:flex!important;
    align-items:center;
    justify-content:flex-end;
    flex:0 0 auto;
    padding:10px 14px!important;
  }
  html.pit-native-app .platform-rail .logo.platform-module-btn { width:48px!important; min-width:48px!important; height:48px!important; }
  html.pit-native-app .platform-menu {
    width:100%!important;
    height:auto!important;
    min-height:0;
    display:flex!important;
    flex:1 1 auto;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:3px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    padding:7px 10px 12px!important;
    scroll-snap-type:none;
  }
  html.pit-native-app .platform-menu .platform-module-btn,
  html.pit-native-app .platform-menu .platform-module-btn:nth-child(n) {
    width:100%!important;
    min-width:0!important;
    height:48px!important;
    display:flex!important;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    flex:0 0 48px!important;
    padding:0 14px!important;
    border-left:3px solid transparent;
    border-bottom:0;
  }
  html.pit-native-app .platform-menu .platform-module-btn::after {
    content:attr(aria-label);
    overflow:hidden;
    width:auto;
    color:currentColor;
    font-size:12px;
    font-weight:650;
    line-height:1.2;
    text-align:left;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html.pit-native-app .platform-menu .platform-module-btn:is(.access-hidden,[hidden]) { display:none!important; }
  html.pit-native-app .rail-account {
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    display:flex!important;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex:0 0 auto;
    padding:10px 14px max(12px,env(safe-area-inset-bottom))!important;
    border-top:1px solid rgba(255,255,255,.12);
    border-left:0;
    background:rgba(0,27,42,.96);
  }
  html.pit-native-app .rail-account button { width:42px; height:42px; flex:0 0 42px; }
  html.pit-native-app .app:not(.inspection-workspace) .platform-panel,
  html.pit-native-app .app.inspection-workspace .platform-panel,
  html.pit-native-app .app.analytics-workspace .platform-panel,
  html.pit-native-app .app.dashboard-workspace .platform-panel,
  html.pit-native-app .app.projects-workspace .platform-panel,
  html.pit-native-app .app.admin-workspace .platform-panel {
    position:fixed!important;
    inset:0!important;
    z-index:50!important;
    width:100%!important;
    min-width:0!important;
    height:100dvh!important;
  }
  html.pit-native-app .app.panel-open .platform-panel { opacity:1!important; pointer-events:auto!important; transform:none!important; }
  html.pit-native-app .app:not(.panel-open) .platform-panel { opacity:0!important; pointer-events:none!important; }
  html.pit-native-app .platform-panel-header { padding-left:86px!important; }
  html.pit-native-app .platform-panel-body { height:calc(100dvh - 68px)!important; padding-bottom:20px!important; }
  html.pit-native-app .map-container,
  html.pit-native-app .app.inspection-workspace .map-container { grid-column:1!important; }
  html.pit-native-app #map { bottom:0!important; }
  html.pit-native-app .map-statusbar { bottom:12px!important; }
  html.pit-native-app .map-tool-extensions { bottom:12px; }
}

/* No tablet em largura confortável, Fiscalizações mantém formulário e mapa lado a lado. */
@media(min-width:700px) and (max-width:1200px) {
  html.pit-native-app .app.inspection-workspace,
  html.pit-native-app .app.inspection-workspace.panel-open,
  html.pit-native-app .app.inspection-workspace.map-collapsed,
  html.pit-native-app .app.inspection-workspace.map-collapsed.panel-open {
    grid-template-columns:minmax(360px,52vw) minmax(0,1fr)!important;
  }
  html.pit-native-app .app.inspection-workspace .platform-panel {
    position:relative!important;
    inset:auto!important;
    grid-column:1!important;
    grid-row:1!important;
    width:auto!important;
    height:100dvh!important;
  }
  html.pit-native-app .app.inspection-workspace .map-container {
    grid-column:2!important;
    grid-row:1!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  html.pit-native-app .app.inspection-workspace .workspace-map-toggle { display:none!important; }
}

/* APK para tablet · rail permanente, inclusive quando o WebView reporta largura reduzida. */
@media(min-width:480px) and (max-width:1200px) {
  html.pit-native-app { --pit-native-rail:92px; }
  html.pit-native-app .native-menu-toggle,
  html.pit-native-app .native-menu-backdrop { display:none!important; }
  html.pit-native-app .app,
  html.pit-native-app .app.panel-open,
  html.pit-native-app .app.admin-workspace,
  html.pit-native-app .app.admin-workspace.panel-open,
  html.pit-native-app .app.analytics-workspace,
  html.pit-native-app .app.analytics-workspace.panel-open,
  html.pit-native-app .app.dashboard-workspace,
  html.pit-native-app .app.dashboard-workspace.panel-open,
  html.pit-native-app .app.projects-workspace,
  html.pit-native-app .app.projects-workspace.panel-open {
    box-sizing:border-box;
    grid-template-columns:minmax(0,1fr)!important;
    padding-left:var(--pit-native-rail);
  }
  html.pit-native-app .platform-rail,
  html.pit-native-app .platform-rail:hover,
  html.pit-native-app .sidebar,
  html.pit-native-app body[data-theme] .platform-rail,
  html.pit-native-app.pit-native-menu-open .platform-rail,
  html.pit-native-app.pit-native-menu-open .sidebar {
    position:fixed!important;
    inset:0 auto 0 0!important;
    z-index:130!important;
    width:var(--pit-native-rail)!important;
    min-width:var(--pit-native-rail)!important;
    height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    transform:none!important;
  }
  html.pit-native-app .platform-rail .sidebar-top {
    min-height:68px;
    display:flex!important;
    align-items:center;
    justify-content:center;
    padding:8px!important;
  }
  html.pit-native-app .platform-rail .logo.platform-module-btn {
    width:52px!important;
    min-width:52px!important;
    height:52px!important;
  }
  html.pit-native-app .platform-menu {
    width:100%!important;
    align-items:center!important;
    padding:5px 7px 10px!important;
  }
  html.pit-native-app .platform-menu .platform-module-btn,
  html.pit-native-app .platform-menu .platform-module-btn:nth-child(n) {
    width:76px!important;
    min-width:76px!important;
    height:58px!important;
    display:grid!important;
    grid-template-rows:27px auto;
    place-items:center;
    align-content:center;
    gap:2px;
    flex:0 0 58px!important;
    padding:4px 2px!important;
  }
  html.pit-native-app .platform-menu .platform-module-btn::after {
    width:70px;
    font-size:9px;
    font-weight:700;
    line-height:1.15;
    text-align:center;
  }
  html.pit-native-app .platform-menu .platform-module-btn:is(.access-hidden,[hidden]) { display:none!important; }
  html.pit-native-app .rail-account {
    width:100%!important;
    display:grid!important;
    justify-items:center;
    gap:5px;
    padding:8px 0 max(10px,env(safe-area-inset-bottom))!important;
  }
  html.pit-native-app .app:not(.inspection-workspace) .platform-panel,
  html.pit-native-app .app.analytics-workspace .platform-panel,
  html.pit-native-app .app.dashboard-workspace .platform-panel,
  html.pit-native-app .app.projects-workspace .platform-panel,
  html.pit-native-app .app.admin-workspace .platform-panel {
    position:fixed!important;
    inset:0 0 0 var(--pit-native-rail)!important;
    width:auto!important;
    height:100dvh!important;
  }
  html.pit-native-app .platform-panel-header { padding-left:16px!important; }
}

@media(min-width:700px) and (max-width:1200px) {
  html.pit-native-app .app.inspection-workspace,
  html.pit-native-app .app.inspection-workspace.panel-open,
  html.pit-native-app .app.inspection-workspace.map-collapsed,
  html.pit-native-app .app.inspection-workspace.map-collapsed.panel-open {
    box-sizing:border-box;
    grid-template-columns:minmax(360px,52vw) minmax(0,1fr)!important;
    padding-left:var(--pit-native-rail);
  }
}

@media(min-width:480px) and (max-width:699px) {
  html.pit-native-app .app.inspection-workspace,
  html.pit-native-app .app.inspection-workspace.panel-open {
    box-sizing:border-box;
    grid-template-columns:minmax(0,1fr)!important;
    padding-left:var(--pit-native-rail);
  }
  html.pit-native-app .app.inspection-workspace .platform-panel {
    position:fixed!important;
    inset:0 0 0 var(--pit-native-rail)!important;
    width:auto!important;
    height:100dvh!important;
  }
  html.pit-native-app .app.inspection-workspace .map-container { grid-column:1!important; }
}

/* Relatórios mantêm a mesma largura útil do workspace de Fiscalizações. */
@media(min-width:600px) and (max-width:1100px) {
  .app.reports-workspace,
  .app.reports-workspace.panel-open {
    grid-template-columns:var(--pit-tablet-rail) minmax(600px,68vw) minmax(0,1fr)!important;
  }
}

@media(min-width:600px) and (max-width:820px) {
  .app.reports-workspace,
  .app.reports-workspace.panel-open { grid-template-columns:var(--pit-tablet-rail) minmax(0,1fr)!important; }
  .app.reports-workspace .platform-panel {
    position:absolute!important;
    inset:0 0 0 var(--pit-tablet-rail)!important;
    width:auto!important;
    min-width:0!important;
    height:100dvh!important;
  }
}

@media(min-width:700px) and (max-width:1200px) {
  html.pit-native-app .app.reports-workspace,
  html.pit-native-app .app.reports-workspace.panel-open {
    box-sizing:border-box;
    grid-template-columns:minmax(360px,52vw) minmax(0,1fr)!important;
    padding-left:var(--pit-native-rail);
  }
}

@media(min-width:480px) and (max-width:699px) {
  html.pit-native-app .app.reports-workspace,
  html.pit-native-app .app.reports-workspace.panel-open {
    box-sizing:border-box;
    grid-template-columns:minmax(0,1fr)!important;
    padding-left:var(--pit-native-rail);
  }
  html.pit-native-app .app.reports-workspace .platform-panel {
    position:fixed!important;
    inset:0 0 0 var(--pit-native-rail)!important;
    width:auto!important;
    height:100dvh!important;
  }
}

/* Catálogo temático de camadas · componentes e tokens oficiais PIT. */
.module-view[data-module-view="layers"] {
  --layer-catalog-surface:var(--pit-surface);
  --layer-catalog-surface-soft:var(--pit-surface-soft);
  --layer-catalog-border:var(--pit-border);
  --layer-catalog-text:var(--pit-navy);
  --layer-catalog-muted:var(--pit-muted);
  --layer-catalog-primary:var(--pit-petrol);
}
.module-view[data-module-view="layers"] .layer-tools {
  border-color:var(--layer-catalog-border);
  background:var(--pit-mist);
}
.module-view[data-module-view="layers"] .layer-summary-panel div {
  border-color:var(--layer-catalog-border);
  border-radius:var(--pit-radius-md);
  background:var(--layer-catalog-surface);
  box-shadow:var(--pit-shadow-sm);
}
.module-view[data-module-view="layers"] .layer-summary-panel strong { color:var(--layer-catalog-text); }
.module-view[data-module-view="layers"] .layer-summary-panel span,
.module-view[data-module-view="layers"] .layer-filter > span { color:var(--layer-catalog-muted); }
.module-view[data-module-view="layers"] .layer-filter input {
  min-height:40px;
  color:var(--layer-catalog-text);
  border-color:var(--layer-catalog-border);
  border-radius:var(--pit-radius-md);
  background:var(--layer-catalog-surface);
}
.module-view[data-module-view="layers"] .layer-filter input:focus { border-color:var(--layer-catalog-primary); box-shadow:var(--pit-focus); }
.module-view[data-module-view="layers"] .layer-chips button {
  color:var(--pit-text);
  border-color:var(--layer-catalog-border);
  background:var(--layer-catalog-surface);
}
.module-view[data-module-view="layers"] .layer-chips button.active {
  color:var(--pit-petrol-700);
  border-color:var(--pit-petrol-300);
  background:var(--pit-petrol-100);
}
.module-view[data-module-view="layers"] .layers-list { scrollbar-color:var(--pit-petrol-300) var(--pit-surface-soft); }
.module-view[data-module-view="layers"] .layer-catalog { display:grid; gap:10px; }
.module-view[data-module-view="layers"] .layer-catalog-node { min-width:0; }
.module-view[data-module-view="layers"] .layer-catalog-section {
  overflow:hidden;
  border:1px solid var(--layer-catalog-border);
  border-radius:var(--pit-radius-md);
  background:var(--layer-catalog-surface);
  box-shadow:var(--pit-shadow-sm);
}
.module-view[data-module-view="layers"] .layer-catalog-toggle {
  width:100%; min-height:42px; display:grid; grid-template-columns:20px 24px minmax(0,1fr) auto; align-items:center; gap:7px;
  padding:8px 10px; padding-left:calc(10px + var(--catalog-indent,0px));
  border:0; border-radius:var(--pit-radius-sm); color:var(--layer-catalog-text); background:transparent;
  font:inherit; font-size:11px; font-weight:750; text-align:left; cursor:pointer;
}
.module-view[data-module-view="layers"] .layer-catalog-section > .layer-catalog-toggle {
  min-height:48px; border-radius:0; color:var(--pit-petrol-700); background:var(--pit-petrol-050);
  font-size:10px; font-weight:850; letter-spacing:.055em; text-transform:uppercase;
}
.module-view[data-module-view="layers"] .layer-catalog-toggle:hover { background:var(--pit-petrol-050); }
.module-view[data-module-view="layers"] .layer-catalog-toggle:focus-visible,
.module-view[data-module-view="layers"] .layer-item:focus-visible,
.module-view[data-module-view="layers"] .layer-item button:focus-visible,
.module-view[data-module-view="layers"] .layer-item input:focus-visible { outline:2px solid var(--layer-catalog-primary); outline-offset:2px; }
.module-view[data-module-view="layers"] .layer-catalog-toggle small {
  min-width:20px; padding:2px 6px; border-radius:999px; color:var(--layer-catalog-muted); background:var(--layer-catalog-surface-soft); text-align:center;
}
.module-view[data-module-view="layers"] .layer-catalog-icon { color:var(--layer-catalog-primary); font-size:19px; }
.module-view[data-module-view="layers"] .layer-catalog-chevron { color:var(--layer-catalog-muted); font-size:19px; transition:transform .16s ease; }
.module-view[data-module-view="layers"] .layer-catalog-toggle[aria-expanded="true"] .layer-catalog-chevron { transform:rotate(90deg); }
.module-view[data-module-view="layers"] .layer-catalog-children { display:grid; gap:6px; padding:6px 8px 9px; }
.module-view[data-module-view="layers"] .layer-catalog-children[hidden] { display:none; }
.module-view[data-module-view="layers"] .layer-catalog-group > .layer-catalog-children { padding:2px 0 4px 12px; }
.module-view[data-module-view="layers"] .layer-catalog-empty {
  padding:12px; color:var(--layer-catalog-muted); border:1px dashed var(--layer-catalog-border); border-radius:var(--pit-radius-sm);
  background:var(--layer-catalog-surface-soft); font-size:11px; line-height:1.45;
}
.module-view[data-module-view="layers"] .layer-card {
  padding:8px; color:var(--layer-catalog-text); border-color:var(--layer-catalog-border); border-radius:var(--pit-radius-md);
  background:var(--layer-catalog-surface); box-shadow:none;
}
.module-view[data-module-view="layers"] .layer-card:hover,
.module-view[data-module-view="layers"] .layer-card.active { border-color:var(--pit-petrol-300); background:var(--pit-petrol-050); }
.module-view[data-module-view="layers"] .layer-card .layer-item { color:var(--layer-catalog-text); }
.module-view[data-module-view="layers"] .layer-name { overflow-wrap:anywhere; white-space:normal; line-height:1.3; }
.module-view[data-module-view="layers"] .layer-tags span { color:var(--layer-catalog-muted); border-color:var(--layer-catalog-border); background:var(--layer-catalog-surface-soft); }
.module-view[data-module-view="layers"] :is(.layer-action-btn,.layer-order-btn) { color:var(--pit-text); border-color:var(--layer-catalog-border); background:var(--layer-catalog-surface-soft); }
.module-view[data-module-view="layers"] .layer-settings { border-color:var(--layer-catalog-border); }
.module-view[data-module-view="layers"] .layer-settings span { color:var(--layer-catalog-muted); }
.module-view[data-module-view="layers"] .layer-settings :is(input,select) { color:var(--layer-catalog-text); border-color:var(--layer-catalog-border); background:var(--layer-catalog-surface); }
.module-view[data-module-view="layers"] .layers-controls { border-color:var(--layer-catalog-border); background:var(--pit-mist); }

body[data-theme="dark"] .module-view[data-module-view="layers"] {
  --layer-catalog-surface:var(--gw-surface,#121b28);
  --layer-catalog-surface-soft:var(--gw-surface-2,#151f2d);
  --layer-catalog-border:var(--gw-border,#2a394b);
  --layer-catalog-text:var(--gw-text,#e7eef7);
  --layer-catalog-muted:var(--gw-muted,#95a6ba);
  --layer-catalog-primary:var(--gw-primary,#54a2ff);
}
body[data-theme="dark"] .module-view[data-module-view="layers"] :is(.layer-tools,.layers-controls) { background:var(--gw-bg,#0b111b); }
body[data-theme="dark"] .module-view[data-module-view="layers"] .layer-catalog-section > .layer-catalog-toggle,
body[data-theme="dark"] .module-view[data-module-view="layers"] :is(.layer-catalog-toggle:hover,.layer-card:hover,.layer-card.active) { color:var(--layer-catalog-text); background:var(--gw-hover,#1c3047); }

@media(max-width:900px) {
  .module-view[data-module-view="layers"] .layer-catalog-toggle { min-height:44px; }
  .module-view[data-module-view="layers"] :is(.layer-action-btn,.layer-order-btn,.layer-favorite-btn) { width:30px; height:30px; }
}

/* Barra lateral recolhível PIT · navegador desktop. */
.platform-module-label,
.rail-account-label,
.sidebar-collapse-toggle { display:none; }

@media(min-width:1101px) {
  html:not(.pit-native-app) .app.sidebar-expanded:not(.panel-open) {
    grid-template-columns:244px 0 minmax(0,1fr)!important;
  }
  html:not(.pit-native-app) .app.sidebar-expanded.panel-open {
    grid-template-columns:244px minmax(320px,390px) minmax(0,1fr)!important;
  }
  html:not(.pit-native-app) .app.sidebar-expanded:is(
    .inspection-workspace,
    .analytics-workspace,
    .dashboard-workspace,
    .projects-workspace,
    .reports-workspace,
    .account-workspace,
    .integrations-workspace,
    .sinter-workspace
  ) {
    grid-template-columns:244px minmax(720px,64vw) minmax(0,1fr)!important;
  }
  html:not(.pit-native-app) .app.sidebar-expanded.inspection-workspace.map-collapsed {
    grid-template-columns:244px minmax(0,1fr) 0!important;
  }
  html:not(.pit-native-app) .app.sidebar-expanded.admin-workspace {
    grid-template-columns:244px minmax(0,1fr) 0!important;
  }

  html:not(.pit-native-app) .platform-rail,
  html:not(.pit-native-app) .platform-rail:hover,
  html:not(.pit-native-app) body[data-theme] .platform-rail {
    transition:width .22s ease,min-width .22s ease,box-shadow .22s ease;
  }
  html:not(.pit-native-app) .app.sidebar-expanded .platform-rail,
  html:not(.pit-native-app) .app.sidebar-expanded .platform-rail:hover,
  html:not(.pit-native-app) body[data-theme] .app.sidebar-expanded .platform-rail {
    width:244px!important;
    min-width:244px!important;
    box-shadow:9px 0 28px rgba(0,27,42,.22);
  }

  html:not(.pit-native-app) .platform-rail .sidebar-top {
    flex:0 0 auto;
  }
  html:not(.pit-native-app) .platform-menu {
    min-height:0;
    flex:1 1 auto;
  }
  html:not(.pit-native-app) .platform-menu .platform-module-btn {
    min-height:48px;
    flex:0 0 48px;
  }
  html:not(.pit-native-app) .app.sidebar-expanded .platform-rail .sidebar-top {
    justify-content:flex-start;
    padding:10px 8px 8px!important;
  }
  html:not(.pit-native-app) .app.sidebar-expanded .platform-menu {
    align-items:stretch;
    padding-inline:8px;
  }

  html:not(.pit-native-app) .app.sidebar-expanded .platform-module-btn {
    width:100%!important;
    min-width:0;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    padding:0 12px;
    overflow:hidden;
    white-space:nowrap;
  }
  html:not(.pit-native-app) .app.sidebar-expanded .platform-menu .platform-module-btn {
    flex:0 0 48px;
  }
  html:not(.pit-native-app) .app.sidebar-expanded .platform-module-btn > .material-symbols-outlined {
    width:24px;
    flex:0 0 24px;
    text-align:center;
  }
  html:not(.pit-native-app) .app.sidebar-expanded .platform-module-label,
  html:not(.pit-native-app) .app.sidebar-expanded .rail-account-label {
    min-width:0;
    display:block;
    overflow:hidden;
    font-size:14px;
    font-weight:700;
    line-height:1.25;
    text-align:left;
    text-overflow:ellipsis;
    white-space:nowrap;
    animation:pit-sidebar-label-in .18s .06s both;
  }
  html:not(.pit-native-app) .app.sidebar-expanded .logo.platform-module-btn {
    width:calc(100% - 16px)!important;
    height:50px;
    margin-inline:8px;
    color:var(--pit-navy);
    border-left-color:var(--pit-lime);
    background:#fff;
  }
  html:not(.pit-native-app) .app.sidebar-expanded .logo.platform-module-btn img {
    width:34px;
    height:34px;
    flex:0 0 34px;
  }

  html:not(.pit-native-app) .sidebar-collapse-toggle {
    width:46px;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    flex:0 0 48px;
    margin:2px auto 7px;
    padding:0 11px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:var(--pit-radius-md);
    color:#a8bdc4;
    background:rgba(255,255,255,.035);
    font:inherit;
    cursor:pointer;
    transition:width .22s ease,color .18s ease,background .18s ease,border-color .18s ease;
  }
  html:not(.pit-native-app) .sidebar-collapse-toggle:hover {
    color:#fff;
    border-color:rgba(139,195,74,.5);
    background:rgba(0,109,122,.42);
  }
  html:not(.pit-native-app) .sidebar-collapse-toggle:focus-visible,
  html:not(.pit-native-app) .platform-rail .platform-module-btn:focus-visible,
  html:not(.pit-native-app) .platform-rail .rail-account button:focus-visible {
    outline:3px solid var(--pit-lime);
    outline-offset:2px;
  }
  html:not(.pit-native-app) .app.sidebar-expanded .sidebar-collapse-toggle {
    width:calc(100% - 16px);
    justify-content:flex-start;
    margin-inline:8px;
  }
  html:not(.pit-native-app) .app.sidebar-expanded .sidebar-collapse-toggle .material-symbols-outlined {
    width:24px;
    flex:0 0 24px;
    text-align:center;
  }

  html:not(.pit-native-app) .app.sidebar-expanded .notification-module-button b {
    top:50%;
    right:10px;
    transform:translateY(-50%);
    border-color:var(--pit-navy);
  }
  html:not(.pit-native-app) .app.sidebar-expanded .notification-module-button .platform-module-label {
    padding-right:26px;
  }

  html:not(.pit-native-app) .app.sidebar-expanded .rail-account {
    width:100%;
    justify-items:stretch;
    gap:6px;
    padding:9px 8px 12px;
  }
  html:not(.pit-native-app) .app.sidebar-expanded .rail-account button {
    width:100%;
    min-width:0;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:12px;
    padding:0 12px;
    border-radius:var(--pit-radius-md);
  }
  html:not(.pit-native-app) .app:not(.sidebar-expanded) .rail-account button {
    width:46px;
    height:46px;
  }
  html:not(.pit-native-app) .app.sidebar-expanded #user-menu-button {
    color:var(--pit-navy);
  }
  html:not(.pit-native-app) .app.sidebar-expanded #rail-user-avatar {
    width:26px;
    flex:0 0 26px;
    text-align:center;
  }
  html:not(.pit-native-app) .app.sidebar-expanded #institutional-context:not([hidden]) {
    width:100%;
    max-width:none;
    min-width:0;
    height:42px;
    display:block;
    font-size:12px;
  }
}

@keyframes pit-sidebar-label-in {
  from { opacity:0; transform:translateX(-5px); }
  to { opacity:1; transform:translateX(0); }
}

@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after {
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
  }
}

/* =========================================================
   Mapa PIT · barra de comandos e catálogo flutuante
   ========================================================= */
.map-command-bar.toolbar {
  position:absolute;
  top:16px;
  left:50%;
  z-index:28;
  min-height:58px;
  display:flex;
  align-items:center;
  gap:0;
  max-width:calc(100% - 230px);
  overflow:hidden;
  padding:0;
  color:var(--pit-navy);
  border:1px solid rgba(0,109,122,.22);
  border-radius:var(--pit-radius-lg);
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 34px rgba(0,27,42,.16),0 2px 7px rgba(0,27,42,.07);
  backdrop-filter:blur(22px) saturate(145%);
  transform:translateX(-50%);
  transition:border-color .18s ease,box-shadow .18s ease,max-width .24s cubic-bezier(.2,.8,.2,1);
}
.map-command-bar.toolbar:hover,
.map-command-bar.toolbar.is-expanded {
  border-color:var(--pit-petrol-300);
  box-shadow:0 14px 36px rgba(0,27,42,.2),0 0 0 3px rgba(0,109,122,.08);
}
.map-command-toggle {
  min-width:176px;
  min-height:58px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 20px;
  align-items:center;
  gap:8px;
  padding:7px 9px 7px 8px;
  border:0;
  color:var(--pit-navy);
  background:transparent;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.map-command-toggle-icon {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:var(--pit-navy);
  background:linear-gradient(135deg,var(--pit-lime),#b7db69);
  box-shadow:inset 0 0 0 1px rgba(0,27,42,.08);
}
.map-command-toggle-icon .material-symbols-outlined { font-size:22px; }
.map-command-toggle-copy { min-width:0; display:grid; gap:1px; }
.map-command-toggle-copy small {
  color:var(--pit-petrol);
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}
.map-command-toggle-copy strong { overflow:hidden; color:var(--pit-navy); font-size:12px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.map-command-toggle-chevron { color:var(--pit-muted); font-size:20px; transition:transform .2s ease; }
.map-command-bar.is-expanded .map-command-toggle-chevron { transform:rotate(180deg); }
.map-command-divider {
  width:0;
  height:32px;
  flex:0 0 auto;
  opacity:0;
  background:var(--pit-border);
  transition:width .18s ease,margin .18s ease,opacity .14s ease;
}
.map-command-bar.is-expanded .map-command-divider { width:1px; margin-right:6px; opacity:1; }
.map-command-actions {
  max-width:0;
  display:flex;
  align-items:center;
  gap:3px;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  transform:translateX(-8px);
  transition:max-width .24s cubic-bezier(.2,.8,.2,1),opacity .16s ease,transform .2s ease,visibility 0s linear .24s;
}
.map-command-bar.is-expanded .map-command-actions {
  max-width:620px;
  padding-right:8px;
  opacity:1;
  visibility:visible;
  transform:translateX(0);
  transition:max-width .24s cubic-bezier(.2,.8,.2,1),opacity .2s ease .04s,transform .2s ease .04s,visibility 0s;
}
.map-command-bar.toolbar .tool-btn {
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 11px;
  border:0;
  border-radius:10px;
  color:var(--pit-text);
  background:transparent;
  font:inherit;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
  cursor:pointer;
  transition:color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.map-command-bar.toolbar .tool-btn .material-symbols-outlined { font-size:21px; }
.map-command-bar.toolbar .tool-btn:hover {
  color:var(--pit-petrol-700);
  background:var(--pit-petrol-050);
  transform:translateY(-1px);
}
.map-command-bar.toolbar .tool-btn.active,
.map-command-bar.toolbar .map-geolocation-button.active {
  color:#fff;
  background:linear-gradient(135deg,var(--pit-petrol),var(--pit-green));
  box-shadow:0 7px 16px rgba(0,109,122,.24);
}
.map-command-bar.toolbar .map-clear-button:hover { color:var(--pit-danger); background:var(--pit-signal-red-bg); }
.map-command-bar.toolbar .tool-btn:focus-visible,
.map-command-toggle:focus-visible,
.map-orthophoto-swipe-panel button:focus-visible,
.map-orthophoto-swipe-panel select:focus-visible,
.map-orthophoto-swipe-divider:focus-visible,
.map-layers-toggle:focus-visible,
.map-layers-panel button:focus-visible,
.map-layers-panel input:focus-visible,
.map-layers-panel select:focus-visible,
.map-layers-panel summary:focus-visible {
  outline:3px solid var(--pit-lime);
  outline-offset:2px;
}

.map-orthophoto-swipe-panel {
  position:absolute;
  top:84px;
  left:50%;
  z-index:30;
  width:min(460px,calc(100% - 32px));
  overflow:hidden;
  border:1px solid rgba(0,109,122,.25);
  border-radius:18px;
  color:var(--pit-text);
  background:rgba(255,255,255,.98);
  box-shadow:0 22px 54px rgba(0,27,42,.23),0 4px 14px rgba(0,27,42,.1);
  backdrop-filter:blur(22px) saturate(145%);
  transform:translateX(-50%);
  animation:pit-map-layers-in .2s cubic-bezier(.2,.8,.2,1);
}
.map-orthophoto-swipe-panel[hidden] { display:none!important; }
.map-orthophoto-swipe-panel > header {
  min-height:70px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  color:#fff;
  background:linear-gradient(135deg,var(--pit-navy),var(--pit-petrol-700));
}
.map-orthophoto-swipe-panel > header > .material-symbols-outlined {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:var(--pit-navy);
  background:var(--pit-lime);
  font-size:23px;
}
.map-orthophoto-swipe-panel > header div { min-width:0; display:grid; gap:2px; }
.map-orthophoto-swipe-panel > header small { color:#b9dce0; font-size:14px; font-weight:750; }
.map-orthophoto-swipe-panel > header h2 { margin:0; color:#fff; font-size:19px; line-height:1.2; }
.map-orthophoto-swipe-panel > header button {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:11px;
  color:#fff;
  background:rgba(255,255,255,.1);
  cursor:pointer;
}
.map-orthophoto-swipe-content { display:grid; gap:13px; padding:14px; }
.map-orthophoto-swipe-content > p {
  margin:0;
  padding:10px 12px;
  border:1px solid var(--pit-border);
  border-radius:11px;
  color:var(--pit-text);
  background:var(--pit-petrol-050);
  font-size:14px;
  line-height:1.4;
}
.map-orthophoto-swipe-content > p.is-warning { border-color:#e5c66b; background:var(--pit-signal-yellow-bg); }
.map-orthophoto-swipe-selectors { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.map-orthophoto-swipe-selectors label { min-width:0; display:grid; gap:6px; }
.map-orthophoto-swipe-selectors label > span { color:var(--pit-text); font-size:14px; font-weight:750; }
.map-orthophoto-swipe-selectors select {
  width:100%;
  min-height:48px;
  padding:0 38px 0 11px;
  border:1px solid var(--pit-border);
  border-radius:10px;
  color:var(--pit-text);
  background:var(--pit-surface);
  font:inherit;
  font-size:14px;
}
.map-orthophoto-swipe-selectors select:disabled { cursor:not-allowed; opacity:.72; }
.map-orthophoto-swipe-actions { display:flex; justify-content:flex-end; }
.map-orthophoto-swipe-actions button {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 16px;
  border:0;
  border-radius:11px;
  color:#fff;
  background:linear-gradient(135deg,var(--pit-petrol),var(--pit-green));
  font:inherit;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}
.map-orthophoto-swipe-actions button:disabled { color:var(--pit-muted); background:var(--pit-mist); cursor:not-allowed; }
.map-orthophoto-swipe-actions button[hidden] { display:none!important; }

.map-orthophoto-swipe-overlay {
  position:absolute;
  inset:0;
  z-index:24;
  overflow:hidden;
  pointer-events:none;
}
.map-orthophoto-swipe-overlay[hidden] { display:none!important; }
.map-orthophoto-swipe-side {
  position:absolute;
  top:92px;
  max-width:calc(50% - 28px);
  overflow:hidden;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:999px;
  color:#fff;
  background:rgba(0,27,42,.78);
  box-shadow:0 5px 16px rgba(0,27,42,.24);
  font-size:14px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.map-orthophoto-swipe-left-label { left:16px; }
.map-orthophoto-swipe-right-label { right:16px; }
.map-orthophoto-swipe-divider {
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:48px;
  pointer-events:auto;
  touch-action:none;
  cursor:ew-resize;
  transform:translateX(-50%);
}
.map-orthophoto-swipe-divider::before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:3px;
  background:#fff;
  box-shadow:0 0 0 1px rgba(0,27,42,.45),0 0 12px rgba(0,27,42,.32);
  transform:translateX(-50%);
}
.map-orthophoto-swipe-handle {
  position:absolute;
  top:50%;
  left:50%;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:3px solid #fff;
  border-radius:50%;
  color:#fff;
  background:var(--pit-petrol);
  box-shadow:0 8px 22px rgba(0,27,42,.35);
  transform:translate(-50%,-50%);
}
.map-orthophoto-swipe-handle .material-symbols-outlined { font-size:25px; }

.map-layers-toggle {
  position:absolute;
  top:16px;
  right:16px;
  z-index:32;
  min-width:176px;
  min-height:58px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto 20px;
  align-items:center;
  gap:8px;
  padding:7px 10px 7px 8px;
  border:1px solid rgba(0,109,122,.24);
  border-radius:var(--pit-radius-lg);
  color:var(--pit-navy);
  background:rgba(255,255,255,.97);
  box-shadow:0 12px 34px rgba(0,27,42,.16),0 2px 7px rgba(0,27,42,.07);
  backdrop-filter:blur(22px) saturate(145%);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.map-layers-toggle:hover,
.map-layers-toggle.active {
  border-color:var(--pit-petrol-300);
  box-shadow:0 14px 36px rgba(0,27,42,.2),0 0 0 3px rgba(0,109,122,.08);
  transform:translateY(-1px);
}
.map-layers-toggle.access-hidden { display:none!important; }
.map-layers-toggle-icon {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,var(--pit-navy),var(--pit-petrol));
}
.map-layers-toggle-icon .material-symbols-outlined { font-size:22px; }
.map-layers-toggle-copy { min-width:0; display:grid; gap:1px; }
.map-layers-toggle-copy small {
  color:var(--pit-petrol);
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}
.map-layers-toggle-copy strong { overflow:hidden; color:var(--pit-navy); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.map-layers-toggle-count {
  min-width:25px;
  height:25px;
  display:grid;
  place-items:center;
  padding:0 6px;
  border-radius:999px;
  color:var(--pit-navy);
  background:var(--pit-lime);
  font-size:10px;
  font-weight:850;
}
.map-layers-toggle-chevron { color:var(--pit-muted); font-size:20px; transition:transform .18s ease; }
.map-layers-toggle.active .map-layers-toggle-chevron { transform:rotate(180deg); }

.map-layers-panel {
  position:absolute;
  top:84px;
  right:16px;
  bottom:16px;
  z-index:31;
  width:min(430px,calc(100% - 32px));
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid rgba(0,109,122,.25);
  border-radius:20px;
  color:var(--pit-text);
  background:var(--pit-mist);
  box-shadow:0 24px 64px rgba(0,27,42,.25),0 5px 16px rgba(0,27,42,.1);
  animation:pit-map-layers-in .2s cubic-bezier(.2,.8,.2,1);
}
.map-layers-panel[hidden] { display:none!important; }
@keyframes pit-map-layers-in {
  from { opacity:0; transform:translateY(-8px) scale(.985); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
.map-layers-panel-header {
  position:relative;
  min-height:92px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 44px;
  align-items:center;
  gap:12px;
  padding:15px 14px 15px 16px;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 82% 10%,rgba(139,195,74,.22),transparent 34%),
    linear-gradient(135deg,var(--pit-navy),#003d4b 62%,var(--pit-petrol));
}
.map-layers-panel-header::after {
  position:absolute;
  inset:auto 0 0;
  height:3px;
  background:linear-gradient(90deg,var(--pit-lime),var(--pit-green),var(--pit-petrol));
  content:"";
}
.map-layers-panel-icon {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  color:var(--pit-lime);
  background:rgba(255,255,255,.09);
  font-size:27px;
}
.map-layers-panel-header > div { min-width:0; display:grid; gap:2px; }
.map-layers-panel-header small { color:#b9dce0; font-size:9px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.map-layers-panel-header h2 { margin:0; color:#fff; font-size:18px; line-height:1.25; }
.map-layers-panel-header p { margin:1px 0 0; overflow:hidden; color:#d7e7e9; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.map-layers-panel-header button {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  color:#fff;
  background:rgba(255,255,255,.08);
  cursor:pointer;
}
.map-layers-panel-header button:hover { background:rgba(255,255,255,.16); }
.map-layers-panel-header button .material-symbols-outlined { font-size:22px; }

.map-layers-panel .map-layers-view.module-view[data-module-view="layers"] {
  min-height:0;
  display:flex!important;
  flex-direction:column;
  overflow:hidden;
  color:var(--pit-text);
  background:var(--pit-mist);
  animation:none;
}
.map-layers-panel .map-layers-view .layer-tools {
  position:relative;
  top:auto;
  z-index:2;
  flex:0 0 auto;
  margin:0;
  padding:13px 14px 12px;
  border-bottom:1px solid var(--pit-border);
  background:rgba(247,249,250,.97);
  box-shadow:0 5px 14px rgba(0,27,42,.055);
  backdrop-filter:blur(16px);
}
.map-layers-panel .layer-summary-panel { gap:7px; margin-bottom:11px; }
.map-layers-panel .layer-summary-panel > div {
  min-width:0;
  min-height:56px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border:1px solid var(--pit-border);
  border-radius:11px;
  background:var(--pit-surface);
  box-shadow:var(--pit-shadow-sm);
}
.map-layers-panel .layer-summary-panel > div > .material-symbols-outlined {
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  color:var(--pit-petrol);
  background:var(--pit-petrol-100);
  font-size:17px;
}
.map-layers-panel .layer-summary-panel > div:nth-child(2) > .material-symbols-outlined { color:var(--pit-green-700); background:var(--pit-green-100); }
.map-layers-panel .layer-summary-panel > div:nth-child(3) > .material-symbols-outlined { color:#876300; background:var(--pit-signal-yellow-bg); }
.map-layers-panel .layer-summary-panel > div > span:last-child { min-width:0; display:grid; gap:1px; }
.map-layers-panel .layer-summary-panel strong { color:var(--pit-navy); font-size:17px; line-height:1; }
.map-layers-panel .layer-summary-panel small { color:var(--pit-muted); font-size:9px; font-weight:700; }
.map-layers-panel .layer-filter { display:grid; gap:6px; margin-bottom:9px; }
.map-layers-panel .layer-filter > span:first-child { color:var(--pit-text); font-size:10px; font-weight:750; }
.map-layers-panel .layer-filter-control { position:relative; display:block; }
.map-layers-panel .layer-filter-control > .material-symbols-outlined {
  position:absolute;
  top:50%;
  left:11px;
  z-index:1;
  color:var(--pit-petrol);
  font-size:19px;
  transform:translateY(-50%);
  pointer-events:none;
}
.map-layers-panel .layer-filter-control input {
  width:100%;
  min-height:42px;
  padding:0 12px 0 38px;
  border:1px solid var(--pit-border);
  border-radius:10px;
  color:var(--pit-navy);
  background:var(--pit-surface);
  font:inherit;
  font-size:12px;
  outline:0;
}
.map-layers-panel .layer-filter-control input:focus { border-color:var(--pit-petrol); box-shadow:var(--pit-focus); }
.map-layers-panel .layer-chips { gap:5px; }
.map-layers-panel .layer-chips button {
  min-height:32px;
  padding:5px 9px;
  border:1px solid var(--pit-border);
  border-radius:999px;
  color:var(--pit-text);
  background:var(--pit-surface);
  font:inherit;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.map-layers-panel .layer-chips button:hover,
.map-layers-panel .layer-chips button.active {
  color:var(--pit-petrol-700);
  border-color:var(--pit-petrol-300);
  background:var(--pit-petrol-100);
}
.layer-format-filters { margin-top:8px; border:1px solid var(--pit-border); border-radius:10px; background:var(--pit-surface); }
.layer-format-filters summary {
  min-height:38px;
  display:grid;
  grid-template-columns:19px minmax(0,1fr) 19px;
  align-items:center;
  gap:7px;
  padding:0 10px;
  color:var(--pit-text);
  font-size:10px;
  font-weight:750;
  list-style:none;
  cursor:pointer;
}
.layer-format-filters summary::-webkit-details-marker { display:none; }
.layer-format-filters summary > .material-symbols-outlined { color:var(--pit-petrol); font-size:18px; }
.layer-format-filters .layer-format-chevron { color:var(--pit-muted); transition:transform .16s ease; }
.layer-format-filters[open] .layer-format-chevron { transform:rotate(180deg); }
.layer-format-filters > .layer-chips { padding:0 9px 9px; }

.map-layers-panel .layers-list {
  min-height:0;
  flex:1 1 auto;
  overflow-y:auto;
  padding:12px 10px 14px 12px;
  color:var(--pit-text);
  background:var(--pit-mist);
  scrollbar-width:thin;
  scrollbar-color:var(--pit-petrol-300) transparent;
}
.map-layers-panel .layers-list::-webkit-scrollbar { width:7px; }
.map-layers-panel .layers-list::-webkit-scrollbar-track { background:transparent; }
.map-layers-panel .layers-list::-webkit-scrollbar-thumb { border-radius:999px; background:var(--pit-petrol-300); }
.map-layers-panel .layer-catalog { gap:9px; }
.map-layers-panel .layer-catalog-section { border-radius:12px; box-shadow:0 4px 12px rgba(0,27,42,.055); }
.map-layers-panel .layer-catalog-section > .layer-catalog-toggle { min-height:50px; }
.map-layers-panel .layer-card {
  overflow:hidden;
  padding:0;
  border:1px solid var(--layer-catalog-border,var(--pit-border));
  border-radius:12px;
  background:var(--layer-catalog-surface,var(--pit-surface));
  box-shadow:0 3px 10px rgba(0,27,42,.045);
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.map-layers-panel .layer-card:hover {
  border-color:var(--pit-petrol-300);
  background:var(--layer-catalog-surface,var(--pit-surface));
  box-shadow:0 8px 20px rgba(0,27,42,.09);
  transform:translateY(-1px);
}
.map-layers-panel .layer-card.active {
  border-color:var(--pit-petrol);
  background:var(--pit-petrol-050);
  box-shadow:inset 3px 0 var(--pit-petrol),0 5px 14px rgba(0,27,42,.07);
}
.map-layers-panel .layer-card-row {
  min-height:72px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:10px 9px 10px 10px;
}
.map-layers-panel .layer-visibility-control {
  position:relative;
  width:38px;
  height:30px;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.map-layers-panel .layer-visibility-control input { position:absolute; width:1px; height:1px; opacity:0; }
.map-layers-panel .layer-visibility-switch {
  position:relative;
  width:34px;
  height:20px;
  border-radius:999px;
  background:#becbd0;
  box-shadow:inset 0 0 0 1px rgba(0,27,42,.08);
  transition:background .16s ease;
}
.map-layers-panel .layer-visibility-switch::after {
  position:absolute;
  top:3px;
  left:3px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 5px rgba(0,27,42,.24);
  transition:transform .16s ease;
  content:"";
}
.map-layers-panel .layer-visibility-control input:checked + .layer-visibility-switch { background:var(--pit-petrol); }
.map-layers-panel .layer-visibility-control input:checked + .layer-visibility-switch::after { transform:translateX(14px); }
.map-layers-panel .layer-visibility-control input:focus-visible + .layer-visibility-switch { outline:3px solid var(--pit-lime); outline-offset:2px; }
.map-layers-panel .layer-select-btn.layer-item,
.map-layers-panel .layer-select-btn.layer-item:hover {
  min-width:0;
  min-height:48px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0;
  border:0;
  border-radius:8px;
  color:var(--layer-catalog-text,var(--pit-navy));
  background:transparent;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transform:none;
}
.map-layers-panel .layer-select-btn:hover .layer-name { color:var(--pit-petrol-700); }
.map-layers-panel .layer-legend-swatch {
  width:22px;
  height:22px;
  border-width:2px;
  border-radius:7px;
  box-shadow:0 0 0 3px rgba(0,27,42,.035);
}
.map-layers-panel .layer-name {
  color:var(--layer-catalog-text,var(--pit-navy));
  font-size:12px;
  font-weight:750;
  line-height:1.35;
  text-decoration:none;
  transition:color .16s ease;
}
.map-layers-panel .layer-card.disabled .layer-name { color:var(--layer-catalog-muted,var(--pit-muted)); text-decoration:none; opacity:.78; }
.map-layers-panel .layer-tags { gap:4px; margin-top:5px; }
.map-layers-panel .layer-tags span {
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:3px 5px;
  border:1px solid var(--layer-catalog-border,var(--pit-border));
  border-radius:6px;
  color:var(--layer-catalog-muted,var(--pit-muted));
  background:var(--layer-catalog-surface-soft,var(--pit-surface-soft));
  font-size:8px;
  font-weight:650;
  line-height:1.1;
}
.map-layers-panel .layer-tags .layer-visibility-tag.is-visible { color:var(--pit-green-700); border-color:#b9d8bc; background:var(--pit-green-100); }
.map-layers-panel .layer-tags .layer-visibility-tag.is-hidden { color:var(--pit-muted); }
.map-layers-panel .layer-visibility-tag .material-symbols-outlined { font-size:12px; }
.map-layers-panel .layer-card-actions { display:flex; align-items:center; gap:4px; }
.map-layers-panel :is(.layer-favorite-btn,.layer-action-btn,.layer-order-btn) {
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--layer-catalog-border,var(--pit-border));
  border-radius:9px;
  color:var(--pit-text);
  background:var(--layer-catalog-surface-soft,var(--pit-surface-soft));
  font-size:0;
  cursor:pointer;
}
.map-layers-panel :is(.layer-action-btn,.layer-order-btn)::before { content:none!important; }
.map-layers-panel :is(.layer-favorite-btn,.layer-action-btn,.layer-order-btn) .material-symbols-outlined { font-size:18px; }
.map-layers-panel .layer-favorite-btn.active { color:#946d00; border-color:#e0c66e; background:var(--pit-signal-yellow-bg); }
.map-layers-panel :is(.layer-favorite-btn,.layer-action-btn,.layer-order-btn):hover { color:#fff; border-color:var(--pit-petrol); background:var(--pit-petrol); }
.map-layers-panel .layer-settings {
  gap:11px;
  margin:0;
  padding:12px;
  border-top:1px solid var(--layer-catalog-border,var(--pit-border));
  border-radius:0;
  background:var(--layer-catalog-surface-soft,var(--pit-surface-soft));
}
.map-layers-panel .layer-settings-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.map-layers-panel .layer-settings-heading > span:first-child { display:grid; gap:2px; }
.map-layers-panel .layer-settings-heading strong { color:var(--layer-catalog-text,var(--pit-navy)); font-size:11px; }
.map-layers-panel .layer-settings-heading small { color:var(--layer-catalog-muted,var(--pit-muted)); font-size:8px; }
.map-layers-panel .layer-order-controls { display:flex; gap:4px; }
.map-layers-panel .layer-settings label > span { color:var(--layer-catalog-muted,var(--pit-muted)); font-size:10px; font-weight:700; }
.map-layers-panel .layer-settings :is(input,select) { min-height:40px; border-radius:8px; font-size:11px; }
.map-layers-panel .layers-controls {
  flex:0 0 auto;
  margin:0;
  padding:11px 14px 13px;
  border-top:1px solid var(--pit-border);
  background:rgba(247,249,250,.98);
}
.map-layers-panel .layers-controls .btn-secondary {
  width:100%;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 13px;
  border:1px solid var(--pit-petrol);
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg,var(--pit-petrol),var(--pit-green));
  box-shadow:0 7px 15px rgba(0,109,122,.18);
  font:inherit;
  font-size:11px;
  font-weight:750;
  cursor:pointer;
}
.map-layers-panel .layers-controls .btn-secondary:hover { background:linear-gradient(135deg,var(--pit-petrol-700),var(--pit-green-700)); }
.map-layers-panel .layers-controls .material-symbols-outlined { font-size:19px; }

/* Subpainéis das ferramentas seguem a mesma superfície institucional. */
.measure-panel,
.search-panel {
  top:84px;
  left:50%;
  z-index:27;
  border:1px solid rgba(0,109,122,.22);
  border-radius:14px;
  color:var(--pit-text);
  background:rgba(255,255,255,.97);
  box-shadow:var(--pit-shadow-md);
  backdrop-filter:blur(20px) saturate(140%);
  transform:translateX(-50%);
}
.measure-panel { padding:7px; }
.measure-btn {
  min-height:40px;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:9px;
  color:var(--pit-text);
  background:transparent;
  font:inherit;
  font-size:11px;
  font-weight:700;
}
.measure-btn:hover,
.measure-btn.active { color:#fff; border-color:var(--pit-petrol); background:var(--pit-petrol); }
.search-panel { width:min(640px,calc(100% - 32px)); padding:10px; }
.search-panel .search-results { min-height:0; flex:1 1 auto; }
.search-row :is(select,input,button) {
  min-height:42px;
  border-color:var(--pit-border);
  border-radius:9px;
  color:var(--pit-navy);
  background:var(--pit-surface);
  font:inherit;
  font-size:11px;
}
.search-row button { color:#fff; border-color:var(--pit-petrol); background:var(--pit-petrol); font-weight:750; }

/* Busca e consulta cartográfica ocupam áreas independentes do mapa. */
@media(min-width:1101px) {
  body.map-search-active.map-info-open .map-container .search-panel {
    left:16px;
    width:min(640px,calc(100% - 480px));
    transform:none;
  }
}
@media(max-width:1100px) {
  body.map-search-active.map-info-open .map-container .search-panel {
    bottom:calc(min(42dvh,320px) + 22px);
    max-height:none;
  }
  body.map-search-active.map-info-open .popup.pit-feature-popup {
    top:auto;
    bottom:10px;
    max-height:min(42dvh,320px);
  }
  body.map-search-active.map-info-open .pit-feature-popup .panel-content {
    max-height:calc(min(42dvh,320px) - 106px);
  }
}
.map-geolocation-status {
  top:84px;
  z-index:26;
  color:var(--pit-text);
  border-color:var(--pit-border);
  background:rgba(255,255,255,.97);
  box-shadow:var(--pit-shadow-soft);
}

body[data-theme="dark"] .map-command-bar.toolbar,
body[data-theme="dark"] .map-layers-toggle,
body[data-theme="dark"] :is(.measure-panel,.search-panel,.map-geolocation-status) {
  color:#dbe8ec;
  border-color:#35505a;
  background:rgba(16,43,54,.96);
  box-shadow:0 16px 40px rgba(0,0,0,.34);
}
body[data-theme="dark"] .map-command-toggle-copy strong,
body[data-theme="dark"] .map-layers-toggle-copy strong { color:#f1f7f8; }
body[data-theme="dark"] .map-command-divider { background:#35505a; }
body[data-theme="dark"] .map-command-bar.toolbar .tool-btn { color:#c2d5db; }
body[data-theme="dark"] .map-command-bar.toolbar .tool-btn:hover { color:#fff; background:#183945; }
body[data-theme="dark"] .map-layers-toggle-copy small,
body[data-theme="dark"] .map-command-toggle-copy small { color:#8fcbd0; }
body[data-theme="dark"] :is(.map-layers-toggle-chevron,.map-command-toggle-chevron) { color:#9db5bc; }
body[data-theme="dark"] .map-layers-panel { color:#dbe8ec; border-color:#35505a; background:#0b2029; }
body[data-theme="dark"] .map-layers-panel .map-layers-view.module-view[data-module-view="layers"],
body[data-theme="dark"] .map-layers-panel .layers-list { color:#dbe8ec; background:#0b2029; }
body[data-theme="dark"] .map-layers-panel .map-layers-view .layer-tools,
body[data-theme="dark"] .map-layers-panel .layers-controls { border-color:#35505a; background:rgba(12,34,43,.97); }
body[data-theme="dark"] .map-layers-panel .layer-summary-panel > div,
body[data-theme="dark"] .map-layers-panel .layer-filter-control input,
body[data-theme="dark"] .map-layers-panel .layer-chips button,
body[data-theme="dark"] .layer-format-filters { color:#e7f1f3; border-color:#35505a; background:#102b36; }
body[data-theme="dark"] .map-layers-panel .layer-summary-panel strong,
body[data-theme="dark"] .map-layers-panel .layer-filter > span:first-child { color:#f1f7f8; }
body[data-theme="dark"] .map-layers-panel .layer-summary-panel small,
body[data-theme="dark"] .layer-format-filters summary { color:#a9bec4; }
body[data-theme="dark"] .map-layers-panel .layer-card.active { background:#153741; }
body[data-theme="dark"] .search-row :is(select,input) { color:#e7f1f3; border-color:#35505a; background:#102b36; }
body[data-theme="dark"] .map-orthophoto-swipe-panel { color:#dbe8ec; border-color:#35505a; background:rgba(11,32,41,.98); }
body[data-theme="dark"] .map-orthophoto-swipe-content > p,
body[data-theme="dark"] .map-orthophoto-swipe-selectors select { color:#e7f1f3; border-color:#35505a; background:#102b36; }
body[data-theme="dark"] .map-orthophoto-swipe-selectors label > span { color:#f1f7f8; }
body[data-theme="dark"] .map-orthophoto-swipe-content > p.is-warning { color:#f8e8ac; border-color:#806b2f; background:#3c3217; }

@media(max-width:1180px) {
  .map-command-bar.toolbar { max-width:calc(100% - 210px); }
}
@media(max-width:980px) {
  .map-command-toggle { min-width:108px; grid-template-columns:40px 20px; }
  .map-command-toggle-copy { display:none; }
  .map-command-bar.toolbar .tool-label { display:none; }
  .map-command-bar.toolbar .tool-btn { width:44px; padding:0; }
  .map-layers-toggle { min-width:148px; }
}
@media(max-width:760px) {
  .map-command-bar.toolbar {
    top:max(10px,env(safe-area-inset-top));
    left:10px;
    max-width:calc(100% - 126px);
    min-height:54px;
    overflow:hidden;
    padding:0;
    transform:none;
  }
  .map-command-toggle { min-width:104px; min-height:54px; grid-template-columns:38px 18px; padding:6px 8px; }
  .map-command-toggle-icon { width:38px; height:38px; }
  .map-command-actions { flex:0 1 auto; overflow-x:auto; scrollbar-width:none; }
  .map-command-actions::-webkit-scrollbar { display:none; }
  .map-layers-toggle {
    top:max(10px,env(safe-area-inset-top));
    right:10px;
    min-width:106px;
    min-height:54px;
    grid-template-columns:38px auto 18px;
    gap:6px;
    padding:6px 8px;
  }
  .map-layers-toggle-copy { display:none; }
  .map-layers-toggle-icon { width:38px; height:38px; }
  .map-layers-panel {
    top:calc(max(10px,env(safe-area-inset-top)) + 64px);
    right:10px;
    bottom:calc(68px + env(safe-area-inset-bottom));
    width:calc(100% - 20px);
    border-radius:18px;
  }
  .map-orthophoto-swipe-panel {
    top:calc(max(10px,env(safe-area-inset-top)) + 64px);
    right:10px;
    left:10px;
    width:auto;
    transform:none;
  }
  .map-orthophoto-swipe-side { top:calc(max(10px,env(safe-area-inset-top)) + 74px); }
  .map-layers-panel-header { min-height:82px; padding-block:12px; }
  .map-layers-panel .map-layers-view .layer-tools { padding:11px 12px 10px; }
  .map-layers-panel .layers-list { padding:10px; }
  .measure-panel,
  .search-panel {
    top:calc(max(10px,env(safe-area-inset-top)) + 64px);
    max-width:calc(100% - 20px);
  }
  .map-geolocation-status {
    top:calc(max(10px,env(safe-area-inset-top)) + 64px);
    left:10px;
    max-width:calc(100% - 136px);
    transform:none;
  }
}
@media(max-width:520px) {
  .map-command-bar.toolbar { max-width:calc(100% - 20px); }
  .map-layers-toggle { top:calc(max(10px,env(safe-area-inset-top)) + 62px); }
  .map-layers-panel { top:calc(max(10px,env(safe-area-inset-top)) + 124px); }
  .map-orthophoto-swipe-panel { top:calc(max(10px,env(safe-area-inset-top)) + 124px); }
  .map-orthophoto-swipe-selectors { grid-template-columns:1fr; }
  .map-orthophoto-swipe-actions button { width:100%; }
  .map-orthophoto-swipe-side { top:calc(max(10px,env(safe-area-inset-top)) + 134px); }
  .map-layers-panel-header { grid-template-columns:42px minmax(0,1fr) 42px; gap:9px; }
  .map-layers-panel-icon { width:42px; height:42px; font-size:23px; }
  .map-layers-panel-header p { display:none; }
  .map-layers-panel .layer-summary-panel > div { min-height:50px; padding:6px; }
  .map-layers-panel .layer-summary-panel > div > .material-symbols-outlined { display:none; }
  .map-layers-panel .layer-summary-panel strong { font-size:16px; }
  .map-layers-panel .layer-card-row { grid-template-columns:36px minmax(0,1fr) auto; }
  .map-layers-panel .layer-card-actions { flex-direction:column; }
  .map-layers-panel :is(.layer-favorite-btn,.layer-action-btn,.layer-order-btn) { width:32px; height:32px; flex-basis:32px; }
  .measure-panel,
  .search-panel { top:calc(max(10px,env(safe-area-inset-top)) + 124px); }
  .map-geolocation-status { top:calc(max(10px,env(safe-area-inset-top)) + 124px); max-width:calc(100% - 20px); }
}
@media(max-height:690px) and (min-width:521px) {
  .map-layers-panel { top:76px; bottom:10px; }
  .map-layers-panel-header { min-height:76px; padding-block:10px; }
  .map-layers-panel-header p { display:none; }
  .map-layers-panel .map-layers-view .layer-tools { padding-block:9px; }
  .map-layers-panel .layer-summary-panel { margin-bottom:8px; }
  .layer-format-filters { margin-top:6px; }
}
@media(prefers-reduced-motion:reduce) {
  .map-layers-panel { animation:none; }
  .map-orthophoto-swipe-panel { animation:none; }
  .map-command-bar.toolbar .tool-btn,
  .map-command-toggle-chevron,
  .map-layers-toggle,
  .map-layers-toggle-chevron,
  .map-layers-panel .layer-card,
  .map-orthophoto-swipe-divider { transition:none; }
}
