.monitor-grid {
  grid-template-columns: minmax(620px, 1fr) 270px;
  gap: 14px;
  height: calc(100vh - 220px);
  min-height: 620px;
}

.vehicle-icon,
.vehicle-cell img {
  object-fit: contain;
  background: transparent;
  filter: drop-shadow(0 3px 5px #0003);
}

.vehicle-icon {
  width: 52px;
  height: 52px;
  border-radius: 0;
}

.vehicle-marker-wrap {
  background: transparent !important;
  border: 0 !important;
}

.vehicle-map-marker {
  position: relative;
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  filter: drop-shadow(0 5px 7px #1b121844);
  background: transparent !important;
  isolation: isolate;
}

.vehicle-map-marker img {
  position: relative;
  z-index: 2;
  width: 46px;
  height: 46px;
  object-fit: contain;
  transform-origin: center;
  transition: transform .7s ease;
}

.vehicle-map-marker span {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 50%;
  transform: translate(-50%,-50%);
  pointer-events: none;
}

.vehicle-map-marker.moving span { background:radial-gradient(circle,#2b9d7040 0 34%,#2b9d7028 35% 54%,#2b9d7000 72%);box-shadow:0 0 16px #2b9d7080;animation:vehicle-aura-pulse 1.8s ease-out infinite }
.vehicle-map-marker.stopped span { background:radial-gradient(circle,#df8f2438 0 36%,#df8f2420 45%,#df8f2400 72%);box-shadow:0 0 14px #df8f2468 }
.vehicle-map-marker.parked span { background:radial-gradient(circle,#60788d32 0 36%,#60788d1d 48%,#60788d00 72%);box-shadow:0 0 12px #60788d55 }
.vehicle-map-marker.offline span { background:radial-gradient(circle,#cf33452f 0 36%,#cf33451a 48%,#cf334500 72%);box-shadow:0 0 12px #cf334550 }
.vehicle-map-marker.simulated span{background:radial-gradient(circle,#7c4dba35 0 36%,#7c4dba1d 48%,#7c4dba00 72%);box-shadow:0 0 13px #7c4dba60;animation:none}
@keyframes vehicle-aura-pulse{0%{opacity:.95;transform:translate(-50%,-50%) scale(.78)}70%{opacity:.42;transform:translate(-50%,-50%) scale(1.18)}100%{opacity:.12;transform:translate(-50%,-50%) scale(1.3)}}

.institutional-brand {
  width: min(620px, 88%);
  height: 120px;
  padding: 12px 18px;
  background: transparent;
}

.institutional-brand img {
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 0 2px #ffffffaa) drop-shadow(0 0 7px #ffffff55);
}

.institutional-brand,.institutional-brand img,.logo>img { background:transparent!important; border:0!important; box-shadow:none!important; }
.logo>img { object-fit:contain!important; filter:drop-shadow(0 0 2px #ffffff88) drop-shadow(0 0 5px #ffffff44); }

.login-shell .brand-panel { align-items:center; text-align:center; padding-top:190px; }
.login-shell .brand-panel > .institutional-brand { top:42px; left:50%; transform:translateX(-50%); width:min(720px,86%); height:155px; justify-content:center; }
.login-shell .institutional-brand img { width:100%; height:100%; object-position:center; }
.login-shell .brand-panel h1 { font-size:56px; margin-bottom:18px; }
.login-shell .brand-panel p { margin-left:auto; margin-right:auto; }

.logo {
  display: block;
  padding: 0 4px 22px;
}
.logo[role="button"] { cursor:pointer; border-radius:10px; transition:background .18s ease; }
.logo[role="button"]:hover { background:#ffffff0d; }
.logo[role="button"]:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.operator-summary { display:grid; grid-template-columns:repeat(3,minmax(150px,1fr)); gap:14px; margin:16px 0; }
.operator-summary article { background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px; }
.operator-summary span,.operator-summary strong { display:block; }
.operator-summary span { color:var(--muted); font-size:12px; }
.operator-summary strong { font-size:26px; margin-top:5px; }
.license-status { display:inline-flex; padding:5px 9px; border-radius:999px; font-size:11px; font-weight:700; }
.license-status.valid { background:#e4f5ed; color:#18734c; }
.license-status.warning { background:#fff0d4; color:#9a5c00; }
.license-status.expired { background:#f8dfdf; color:#a52f2f; }
.operator-profile { display:flex; justify-content:space-between; gap:12px; background:#f7f8f7; border:1px solid var(--line); border-radius:11px; padding:15px; margin:18px 0; }
.operator-profile strong,.operator-profile span { display:block; }
.history-list { display:grid; gap:10px; max-height:260px; overflow:auto; margin-bottom:20px; }
.history-list article { border-left:3px solid var(--wine); background:#fafafa; padding:11px 13px; }
.history-list article strong,.history-list article span { display:block; }
.history-list article span { color:var(--muted); font-size:11px; margin-top:3px; }
.history-list article p { margin:7px 0 0; font-size:12px; }
#license-notification-count { position:absolute; transform:translate(-5px,-8px); background:var(--red); color:#fff; border-radius:10px; min-width:17px; padding:1px 4px; font-size:9px; }
@media(max-width:760px){.operator-summary{grid-template-columns:1fr}.operator-profile{display:block}.operator-profile span{margin-top:6px}}
#palewi-help-button { position:fixed; left:18px; bottom:18px; z-index:1100; display:flex; align-items:center; gap:8px; padding:9px 12px; border-radius:999px; background:#fff; color:var(--wine); border:1px solid #e5d9de; box-shadow:0 8px 25px #35121f28; }
#palewi-help-button span,.palewi-symbol { width:25px; height:25px; border-radius:50%; display:grid; place-items:center; background:var(--wine); color:#fff; font-weight:800; }
#palewi-help-button b { font-size:12px; }
.palewi-help-panel { position:fixed; left:18px; bottom:68px; z-index:1099; width:min(365px,calc(100vw - 36px)); max-height:min(690px,calc(100vh - 90px)); overflow:auto; background:#fff; color:var(--ink); padding:0; border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 65px #2510183d; }
.palewi-help-panel header { height:auto; padding:15px 16px; background:linear-gradient(135deg,var(--wine2),var(--wine)); color:#fff; border:0; justify-content:space-between; }
.palewi-help-panel header>div { display:flex; gap:10px; align-items:center; }
.palewi-help-panel header strong,.palewi-help-panel header small { display:block; }
.palewi-help-panel header small { color:#eadde2; margin-top:2px; }
.palewi-help-panel header button { background:transparent; padding:3px; font-size:22px; }
#palewi-help-body { padding:17px 18px 8px; }
.palewi-context span { color:var(--muted); font-size:11px; }
.palewi-context h3 { margin:5px 0 12px; }
#palewi-help-body ol { padding-left:21px; margin:0; }
#palewi-help-body li { margin:0 0 10px; font-size:13px; line-height:1.45; }
.palewi-privacy { background:#f5f7f6; border-radius:9px; padding:10px; color:#66706c; font-size:11px; line-height:1.45; }
.palewi-actions { display:flex; gap:7px; padding:7px 18px 15px; }
.palewi-actions button { flex:1; font-size:11px; padding:9px; }
#palewi-help-form,.palewi-alexa-help { margin:0 18px 18px; padding:13px; border:1px solid var(--line); border-radius:11px; background:#fafbfa; }
#palewi-help-form label { display:block; font-size:11px; font-weight:700; margin-bottom:10px; }
#palewi-help-form input,#palewi-help-form textarea { width:100%; margin-top:5px; padding:9px; border:1px solid var(--line); border-radius:8px; resize:vertical; }
.palewi-alexa-help p { font-size:12px; line-height:1.5; margin-bottom:0; }
@media(min-width:761px){#palewi-help-button{left:252px}.palewi-help-panel{left:252px}}
aside>nav { gap:7px; overflow-y:auto; padding-right:2px; scrollbar-width:thin; }
.nav-section { border:1px solid #ffffff12; border-radius:10px; overflow:hidden; flex:0 0 auto; }
.nav-section summary { list-style:none; display:flex; align-items:center; gap:9px; padding:11px 12px; color:#d8cbd1; cursor:pointer; user-select:none; }
.nav-section summary::-webkit-details-marker { display:none; }
.nav-section summary:hover,.nav-section[open]>summary { background:#ffffff0c; color:#fff; }
.nav-section summary b { font-size:11px; letter-spacing:.035em; flex:1; }
.nav-section-icon { width:18px; text-align:center; color:#e2c084; }
.nav-chevron { font-size:13px; transition:transform .18s ease; }
.nav-section[open] .nav-chevron { transform:rotate(180deg); }
.nav-section-links { display:flex; flex-direction:column; gap:3px; padding:3px 5px 6px; border-top:1px solid #ffffff0c; }
.nav-section-links button { width:100%; padding:9px 10px 9px 14px; font-size:12px; }
.nav-section-links button.hidden { display:none!important; }

.logo > img {
  width: 100%;
  height: 68px;
  padding: 7px;
  border-radius: 10px;
  object-fit: contain;
  object-position: center;
  background: transparent;
  filter: drop-shadow(0 0 4px #fff) drop-shadow(0 0 9px #ffffffaa);
}

.vehicle-map-marker.moving,
.vehicle-map-marker.stopped,
.vehicle-map-marker.parked,
.vehicle-map-marker.offline { background: transparent !important; color: inherit; }

.logo > div { margin-top: 10px; padding: 0 4px; }
.logo strong { font-size: 11px; letter-spacing: .06em; }
.logo span { font-size: 8px; line-height: 1.3; }

.geofence-layout {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: minmax(520px, 1fr) auto auto;
  gap: 16px;
}
.geofence-map-card { grid-column: 1; grid-row: 1; min-height: 620px; background: white; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: 0 12px 30px #2d233008; }
.geofence-layout > .table-card { grid-column: 1; grid-row: 2; }
.geofence-layout > .geofence-info { grid-column: 1; grid-row: 3; padding: 22px 18px; }
.map-toolbar { height: 64px; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: linear-gradient(90deg,#fff,#faf7f8); }
.map-toolbar strong, .map-toolbar span { display: block; }
.map-toolbar strong { font-size: 14px; }
.map-toolbar span { margin-top: 3px; color: var(--muted); font-size: 10px; }
#geofence-map { height: calc(100% - 64px); min-height: 586px; background: #e9eeeb; }
.geofence-layout .row-actions { justify-content: flex-end; }
.geofence-layout .edit-geofence { background: var(--wine); color: white; }
.geofence-layout .delete-geofence { border: 1px solid #e9bcbc; }
.geofence-popup { min-width: 150px; }
.geofence-popup strong, .geofence-popup span, .geofence-popup small { display: block; }
.geofence-popup span { margin: 4px 0; color: var(--wine); text-transform: capitalize; }
.geofence-popup small { color: var(--muted); }

.geofence-note {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
  padding: 22px;
}

.geofence-note h3 { margin-top: 0; }
.geofence-note p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.geofence-note strong { color: var(--wine); }

.settings-grid {
  display: grid;
  grid-template-columns: minmax(420px, .9fr) minmax(460px, 1.1fr);
  gap: 18px;
}
.parque-grid { display: grid; grid-template-columns: 360px minmax(0,1fr); gap: 18px; align-items: start; }
.parque-grid .settings-card input, .parque-grid .settings-card select { display: block; width: 100%; margin-top: 7px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.unit-list { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; font-weight: 400; }
.route-filters { display: grid; grid-template-columns: 1.4fr 1fr .75fr 1fr .75fr auto; gap: 10px; align-items: end; margin-bottom: 16px; padding: 14px; background: white; border: 1px solid var(--line); border-radius: 13px; }
.route-filters label { color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.route-filters input, .route-filters select { display: block; width: 100%; height: 42px; margin-top: 6px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); }
.route-filters button { height: 42px; }
.route-workspace { display: grid; grid-template-columns: minmax(600px,1fr) 340px; gap: 16px; height: calc(100vh - 270px); min-height: 620px; }
.route-map-card, .route-points-panel { background: white; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.route-map-card { display: flex; flex-direction: column; }
.route-summary { height: 70px; display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--line); background: linear-gradient(90deg,#fff,#faf7f8); }
.route-summary > div { padding: 12px 18px; border-right: 1px solid var(--line); }
.route-summary span, .route-summary strong { display: block; }
.route-summary span { color: var(--muted); font-size: 10px; }
.route-summary strong { margin-top: 4px; font-size: 18px; }
#route-map { flex: 1; min-height: 540px; background: #e9eeeb; }
.route-points-panel { display: flex; flex-direction: column; position: static; z-index: auto; left: auto; width: auto; height: auto; padding: 0; color: var(--ink); transition: none; }
.route-points { overflow: auto; flex: 1; }
.route-point { width: 100%; display: grid; grid-template-columns: 32px 1fr; gap: 10px; padding: 12px 14px; text-align: left; color: var(--ink); background: white; border-radius: 0; border-bottom: 1px solid var(--line); }
.route-point:hover, .route-point.active { background: #f8f1f4; }
.route-sequence { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--wine); color: white; font-size: 9px; font-style: normal; }
.route-point strong, .route-point span, .route-point small { display: block; }
.route-point strong { font-size: 12px; }
.route-point span { margin: 3px 0; color: var(--wine); font-size: 10px; }
.route-point small { color: var(--muted); font-size: 9px; line-height: 1.35; }
.route-empty { padding: 50px 22px; text-align: center; color: var(--muted); font-size: 12px; line-height: 1.6; }
.route-popup { min-width: 220px; }
.route-popup > span, .route-popup > strong, .route-popup > small { display: block; }
.route-popup > span { color: var(--wine); font-size: 10px; font-weight: 700; text-transform: uppercase; }
.route-popup > strong { margin: 4px 0 8px; }
.route-popup dl { display: grid; grid-template-columns: 90px 1fr; margin: 0 0 8px; font-size: 10px; }
.route-popup dt { color: var(--muted); }
.route-popup dd { margin: 0; }
.route-popup small { padding-top: 7px; border-top: 1px solid #eee; color: var(--muted); }
.route-comparison-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.section-heading-row h2{margin:4px 0 5px;font-size:24px}.section-heading-row p{margin:0 0 14px;color:var(--muted)}
.route-comparison-filters{display:grid;grid-template-columns:1fr 1fr .8fr auto;gap:10px;align-items:end;padding:14px;margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:13px}.route-comparison-filters label{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.route-comparison-filters select,.route-comparison-filters input{display:block;width:100%;height:42px;margin-top:6px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.route-comparison-filters button{height:42px}
.route-day-legend{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.route-day-legend span{display:flex;align-items:center;gap:6px;padding:7px 9px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:10px}.route-day-legend i,.comparison-day-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.route-day-legend small{color:var(--muted)}
.route-comparison-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.route-comparison-metrics article{padding:12px 15px;background:#fff;border:1px solid var(--line);border-radius:12px}.route-comparison-metrics span,.route-comparison-metrics strong{display:block}.route-comparison-metrics span{font-size:10px;color:var(--muted)}.route-comparison-metrics strong{margin-top:5px;font-size:18px}
.route-comparison-layout{display:grid;grid-template-columns:minmax(540px,1fr) 390px;min-height:610px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}#route-comparison-map{min-height:610px;background:#e9eeeb}#route-comparison-detail{border-left:1px solid var(--line);overflow:auto}#route-comparison-detail table{width:100%;border-collapse:collapse}#route-comparison-detail th,#route-comparison-detail td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;font-size:10px}#route-comparison-detail td small{display:block;margin-top:3px;color:var(--muted)}.comparison-day-dot{margin-right:7px}.comparison-unit-key{display:flex;gap:16px;padding:14px;border-bottom:1px solid var(--line)}.comparison-unit-key span{display:flex;align-items:center;gap:7px;font-size:11px}.solid-line,.dashed-line{display:inline-block;width:28px;border-top:5px solid var(--wine);border-radius:4px}.dashed-line{border-top-style:dashed;border-color:#287fb8}.coverage-note{margin:12px;padding:12px;border-radius:9px;background:#f7f3f5;color:var(--muted);font-size:10px;line-height:1.5}
@media(max-width:1100px){.route-comparison-layout{grid-template-columns:1fr}.route-comparison-layout #route-comparison-detail{border-left:0;border-top:1px solid var(--line)}.route-comparison-filters{grid-template-columns:1fr 1fr}.route-comparison-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.route-comparison-filters,.route-comparison-metrics{grid-template-columns:1fr}.route-comparison-layout,#route-comparison-map{min-height:460px}.route-day-legend span{font-size:9px}}
.letterhead-builder{display:grid;grid-template-columns:minmax(420px,.8fr) minmax(520px,1.2fr);gap:18px;align-items:start}.letterhead-builder textarea{display:block;width:100%;margin-top:7px;padding:10px;border:1px solid var(--line);border-radius:9px;resize:vertical}.letterhead-slot-grid{display:grid;grid-template-columns:1fr;gap:11px;margin:16px 0}.letterhead-slot-grid label{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafbfa}.letterhead-slot-grid strong,.letterhead-slot-grid small{display:block}.letterhead-slot-grid small{margin-top:5px;color:var(--muted)}.letterhead-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.letterhead-controls select{display:block;width:100%;height:40px;margin-top:5px;border:1px solid var(--line);border-radius:8px;background:#fff}.letterhead-preview-card{padding:14px;background:#dfe3e1;border:1px solid #d2d7d4;border-radius:14px;min-height:640px}.preview-toolbar{display:flex;justify-content:space-between;margin-bottom:12px;padding:4px 6px;color:#49514e}.preview-toolbar span{font-size:11px}.letterhead-pages-preview{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;justify-content:center}.letterhead-sheet{position:relative;width:360px;height:510px;background:#fff;box-shadow:0 8px 22px #26322d28;color:#1f2529;overflow:hidden}.letterhead-pages-preview.landscape .letterhead-sheet{width:510px;height:360px}.letterhead-sheet>header{height:68px;display:grid;grid-template-columns:76px 1fr 76px;align-items:center;padding:8px 14px;border-bottom:1px solid #e9ebea;background:#fff}.letterhead-sheet>header div{display:grid;place-items:center;height:48px;color:#a3aaa7;font-size:9px}.letterhead-sheet>header img{max-width:68px;max-height:48px;object-fit:contain}.letterhead-sheet>header strong{text-align:center;font-size:10px;line-height:1.35}.letterhead-sheet>main{display:block;padding:28px 34px;background:#fff;color:#aab0ad}.letterhead-sheet .document-title{margin-bottom:25px;text-align:center;color:#6d7571;font-size:11px;font-weight:700}.letterhead-sheet>main i{display:block;height:7px;margin:10px 0;background:#edf0ee;border-radius:4px}.letterhead-sheet>main i:nth-of-type(2){width:88%}.letterhead-sheet>main i:nth-of-type(3){width:95%}.letterhead-sheet>main i:nth-of-type(4){width:72%}.letterhead-sheet>main small{position:absolute;right:18px;bottom:38px;font-size:8px}.letterhead-sheet>footer{position:absolute;left:0;right:0;bottom:0;height:40px;text-align:center;background:#fff}.letterhead-sheet>footer b{display:block;height:20px;padding:3px 12px;overflow:hidden;color:#59615e;font-size:7px;font-weight:500}.letterhead-sheet>footer div:first-of-type{height:6px;background:var(--letterhead-stripe)}.letterhead-sheet>footer div:last-of-type{width:66%;height:4px;background:var(--gold)}
@media(max-width:1150px){.letterhead-builder{grid-template-columns:1fr}.letterhead-preview-card{min-height:520px}}@media(max-width:650px){.letterhead-controls{grid-template-columns:1fr}.letterhead-sheet,.letterhead-pages-preview.landscape .letterhead-sheet{width:100%;height:auto;aspect-ratio:210/297}.letterhead-pages-preview.landscape .letterhead-sheet{aspect-ratio:297/210}}

.settings-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 24px;
}

.settings-card h3 { margin: 0 0 18px; }
.settings-card label { display: block; margin: 14px 0; font-size: 12px; font-weight: 600; }
.settings-card input[type="text"], .settings-card input:not([type]) { width: 100%; }
.settings-card input[type="file"] { display: block; width: 100%; margin-top: 7px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; }
.settings-card input[name="display_name"], .settings-card input[name="subtitle"] { display: block; width: 100%; margin-top: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; }
.logo-preview { height: 105px; border: 1px dashed #ccd2cf; border-radius: 11px; background: #f8f9f8; padding: 10px; display: grid; place-items: center; }
.logo-preview img { width: 100%; height: 100%; object-fit: contain; }
.color-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.color-grid input { width: 100%; height: 44px; padding: 3px; border: 1px solid var(--line); border-radius: 8px; background: white; }
.form-message { margin-top: 12px; font-size: 12px; color: var(--wine); }
.row-actions { display: flex; gap: 6px; white-space: nowrap; }
.row-actions button { padding: 7px 10px; font-size: 10px; }
.row-actions .edit-vehicle { background: #eef1f0; color: var(--ink); }
.row-actions .danger { background: #f8e8e8; color: var(--red); }
.nav-group { margin: 18px 13px 5px; color: #d9aabd; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.voucher-metrics { display: grid; grid-template-columns: repeat(3,minmax(160px,1fr)); gap: 14px; margin-bottom: 16px; }
.voucher-metrics article { padding: 18px 20px; background: white; border: 1px solid var(--line); border-radius: 13px; }
.voucher-metrics span,.voucher-metrics strong { display:block; }
.voucher-metrics span { color:var(--muted); font-size:11px; }
.voucher-metrics strong { margin-top:5px; font-size:22px; }
.voucher-search { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:0 0 16px; padding:16px 18px; background:white; border:1px solid var(--line); border-radius:13px; }
.voucher-search label { flex:1; color:var(--wine); font-size:10px; font-weight:800; letter-spacing:.1em; }
.voucher-search input { display:block; width:100%; margin-top:7px; padding:12px 14px; border:1px solid var(--line); border-radius:9px; font-size:14px; letter-spacing:normal; }
.voucher-search span { color:var(--muted); font-size:11px; white-space:nowrap; }
.voucher-actions { flex-wrap:wrap; min-width:190px; }
.voucher-status { display:inline-block; padding:5px 9px; border-radius:99px; font-size:9px; font-weight:700; }
.voucher-status.pending { background:#fff1d8; color:#9a5d00; }
.voucher-status.authorized { background:#dbf4e8; color:#08754b; }
.voucher-status.used { background:#e5edf3; color:#405d73; }
.voucher-status.rejected,.voucher-status.cancelled { background:#f8e4e4; color:#a32929; }
.voucher-status.complete { background:#dbf4e8; color:#08754b; }
.voucher-status.missing { background:#fff1d8; color:#9a5d00; }
#voucher-form textarea { display:block; width:100%; margin-top:7px; padding:11px; border:1px solid var(--line); border-radius:9px; resize:vertical; }
#voucher-form .wide { grid-column:1/-1; }
.internal-area { display:none !important; }
.responsible-display { min-height:70px; padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:#faf7f8; color:var(--muted); }
.responsible-display strong { display:block; margin-top:7px; color:var(--wine); font-size:13px; }
.signature-config { margin:24px 0 16px; padding-top:20px; border-top:1px solid var(--line); }
.signature-config h3 { margin-bottom:4px; }
.signature-config p { margin:0 0 12px; color:var(--muted); font-size:11px; }
.signature-config input { display:block; width:100%; margin-top:7px; padding:12px; border:1px solid var(--line); border-radius:9px; }
.signature-role { margin:12px 0; padding:14px; border:1px solid var(--line); border-radius:11px; background:#fafbfa; }
.signature-role h4 { margin:0 0 8px; color:var(--wine); }
.signature-role label { margin:8px 0; }
.signature-role select { display:block; width:100%; margin-top:6px; padding:11px; border:1px solid var(--line); border-radius:9px; background:white; }
.signature-role input[readonly] { background:#f2f4f3; color:var(--wine); font-weight:700; }
.signature-config { grid-column:1/-1; padding:24px; border:1px solid var(--line); border-radius:14px; background:white; }
.signature-config > h3 { margin:0 0 5px; }
.signature-config > p { margin:0 0 18px; color:var(--muted); font-size:11px; }
.document-config-layout { display:grid; grid-template-columns:minmax(330px,.8fr) minmax(440px,1.2fr); gap:18px; }
.document-editor { padding:16px; border:1px solid var(--line); border-radius:11px; background:#fafbfa; }
.document-editor label { display:block; margin:0 0 11px; font-size:11px; font-weight:700; }
.document-editor input,.document-editor select { display:block; width:100%; margin-top:6px; padding:11px; border:1px solid var(--line); border-radius:9px; background:white; }
.document-responsibility-list { display:grid; gap:9px; max-height:520px; overflow:auto; }
.document-responsibility-list article { display:grid; grid-template-columns:1fr auto; gap:12px; padding:14px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.document-responsibility-list strong,.document-responsibility-list small { display:block; }
.document-responsibility-list small { margin-top:3px; color:var(--muted); font-size:9px; }
.document-responsibility-list dl { display:grid; grid-template-columns:70px 1fr; margin:10px 0 0; font-size:10px; }
.document-responsibility-list dt { color:var(--muted); }.document-responsibility-list dd { margin:0; }
.document-responsibility-list button { align-self:start; padding:7px 10px; font-size:10px; }
@media(max-width:900px){.document-config-layout{grid-template-columns:1fr}}
.report-explanation { margin:0 0 16px; padding:16px 18px; border-left:4px solid var(--wine); border-radius:10px; background:#fff; }
.report-explanation p { margin:5px 0 0; color:var(--muted); font-size:11px; }
#report-visits input { width:110px; padding:8px; border:1px solid var(--line); border-radius:7px; }

.title-actions { display:flex; gap:9px; }
.section-heading { margin:26px 0 12px; font-size:19px; }
.dlyr-grid,.campaign-grid { display:grid; grid-template-columns:minmax(580px,1.2fr) minmax(360px,.8fr); gap:16px; }
.route-preview-card { min-height:430px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:white; }
#dlyr-map,#campaign-map { width:100%; height:430px; }
.route-name-link,.campaign-name-link { padding:0; background:transparent; color:var(--wine); text-align:left; font-weight:800; }
#route-dialog { width:min(980px,94vw); }
#route-dialog form,#campaign-dialog form { max-height:92vh; overflow:auto; }
#route-editor textarea,#campaign-form textarea { display:block; width:100%; margin-top:7px; padding:11px; border:1px solid var(--line); border-radius:9px; resize:vertical; }
.wide { grid-column:1/-1; }
.dialog-intro { color:var(--muted); font-size:12px; }
.weekday-field { display:flex; flex-wrap:wrap; gap:8px 14px; padding:13px; border:1px solid var(--line); border-radius:10px; }
.weekday-field legend { padding:0 7px; font-size:11px; font-weight:800; color:var(--wine); }
.weekday-field label { display:flex; align-items:center; gap:5px; margin:0; font-size:11px; }
.weekday-field input { width:auto; margin:0; }
.draw-help { display:flex; align-items:center; gap:12px; padding:12px; border-radius:10px; background:#faf7f8; }
.draw-help span { flex:1; color:var(--muted); font-size:11px; }
.route-drawing-status { display:flex; align-items:center; gap:18px; margin:12px 0 -4px; padding:10px 14px; border:1px solid #eadbe1; border-radius:12px; background:#fff; color:#6f1837; }
.route-drawing-status span { font-weight:700; }
.route-drawing-status small { margin-left:auto; color:var(--muted); }
.route-endpoint-key { display:inline-flex; align-items:center; gap:5px; color:#445; font-size:11px; font-weight:600!important; }
.route-endpoint-key i { width:10px; height:10px; border-radius:50%; background:#23875b; }
.route-endpoint-key i:nth-of-type(2) { margin-left:6px; background:#ce374d; }
.route-edit-point { background:transparent; border:0; }
.route-edit-point span { display:grid; place-items:center; width:28px; height:28px; border:3px solid #fff; border-radius:50%; background:#f0b429; color:#491023; font-size:11px; font-weight:800; box-shadow:0 2px 8px #330b1c66; cursor:grab; }
.route-edit-point span:active { cursor:grabbing; }
.route-edit-point.start span { background:#23875b; color:white; }
.route-edit-point.finish span { background:#ce374d; color:white; }
.route-edit-point.technical span { width:14px; height:14px; border:2px solid #fff; background:#f0b429; box-shadow:0 1px 5px #330b1c88; }
.route-edit-point.technical:hover span { width:22px; height:22px; margin:-4px; background:#7b173d; }
.route-instructions { max-height:230px; margin-top:12px; padding:14px 16px; overflow:auto; border:1px solid #eadbe1; border-radius:12px; background:#faf8f9; }
.route-instructions h3,.route-instructions p { margin:0 0 8px; }
.route-instructions ol { margin:0; padding-left:25px; }
.route-instructions li { padding:7px 5px; border-bottom:1px solid #eadfe4; }
.route-instructions li strong,.route-instructions li span { display:block; }
.route-instructions li span { margin-top:3px; color:var(--muted); font-size:10px; }
.route-actions { flex-wrap:wrap; min-width:245px; }
.route-total-badge { display:inline-flex; align-items:center; padding:10px 14px; border-radius:99px; background:#f3e8ed; color:#6f1837; font-size:12px; font-weight:800; }
.route-id-badge { display:inline-flex; padding:6px 8px; border-radius:7px; background:#f3e8ed; color:#6f1837; font-size:10px; white-space:nowrap; }
#dlyr-routes-table tr[data-route-row] { cursor:pointer; transition:background .15s,box-shadow .15s; }
#dlyr-routes-table tr[data-route-row]:hover { background:#fbf5f7; }
#dlyr-routes-table tr[data-route-row].selected { background:#f7eaf0; box-shadow:inset 4px 0 #7b173d; }
.dlyr-map-title { display:flex; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid #eadfe4; background:white; }
.dlyr-map-title strong,.dlyr-map-title span { display:block; }
.dlyr-map-title strong { color:#6f1837; font-size:12px; }.dlyr-map-title span{color:var(--muted);font-size:10px;text-align:right}
.route-preview-card #dlyr-map { height:calc(100% - 55px); min-height:430px; }
#view-dlyr .dlyr-grid { display:flex; flex-direction:column; gap:18px; }
#view-dlyr .route-preview-card { order:-1; width:min(1280px,100%); height:auto; min-height:650px; margin:0 auto; }
#view-dlyr .route-preview-card #dlyr-map { width:100%; height:590px; min-height:590px; }
#view-dlyr .dlyr-grid>.table-card { width:100%; }
.dlyr-map-title>div { display:flex; flex-direction:column; justify-content:center; }
.dlyr-map-title label { min-width:390px; color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.dlyr-map-title select { display:block; width:100%; margin-top:5px; padding:11px 38px 11px 12px; border:1px solid #d9cbd1; border-radius:9px; background:white; color:#292529; font-size:12px; font-weight:650; }
@media(max-width:800px){#view-dlyr .route-preview-card{min-height:500px}#view-dlyr .route-preview-card #dlyr-map{height:440px;min-height:440px}.dlyr-map-title{display:block}.dlyr-map-title label{display:block;min-width:0;margin-top:10px}.dlyr-map-title span{text-align:left}}
.logo-size-control { display:flex; align-items:center; gap:10px; margin-top:8px; color:var(--muted); font-size:12px; }
.logo-size-control input { flex:1; }
.automatic-file-title { margin:8px 0; padding:11px 12px; border:1px dashed #c9aebb; border-radius:9px; background:#faf7f8; color:#6f1837; font-weight:700; }
#route-editor-map,#campaign-editor-map { width:100%; height:390px; margin-top:14px; border:1px solid var(--line); border-radius:12px; background:#e9eeeb; }
#route-dialog { width:100vw; max-width:none; height:100vh; max-height:none; margin:0; padding:0; border-radius:0; }
#route-dialog form { width:100%; height:100%; max-width:none; overflow:auto; padding:18px 24px 22px; }
#route-dialog .form-grid { grid-template-columns:1.1fr 1fr 1fr 1fr; gap:9px 14px; }
#route-dialog .weekday-field { grid-column:span 2; }
#route-dialog #route-editor-map { height:55vh; min-height:430px; margin-top:10px; }
#route-dialog .route-instructions { max-height:46vh; }
.route-points-table { overflow:auto; border:1px solid #e7dce1; border-radius:10px; background:white; }
.route-points-table table { min-width:980px; }
.route-points-table th { position:sticky; top:0; z-index:2; background:#6f1837; color:white; }
.route-points-table td { vertical-align:middle; }
.route-points-table td small { display:block; margin-top:4px; color:var(--muted); font-size:9px; }
.route-points-table select { width:100%; min-width:175px; padding:8px; border:1px solid #d8c8cf; border-radius:7px; background:white; }
.route-pin-label { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#7b173d; color:white; }
.route-pin-label.start { background:#23875b; }.route-pin-label.finish { background:#ce374d; }
.route-empty-points { padding:20px; border:1px dashed #ccb6c0; border-radius:9px; text-align:center; color:var(--muted); }
.route-directions-title { margin-top:18px!important; }
#route-dialog .dialog-actions { position:sticky; bottom:-22px; z-index:20; padding:12px 0 8px; background:white; border-top:1px solid #eadfe4; }
.route-point-popup strong,.route-point-popup b,.route-point-popup span { display:block; margin:2px 0; }
.route-point-popup strong { color:#7b173d; }
@media(max-width:900px){#route-dialog .form-grid{grid-template-columns:1fr 1fr}#route-dialog #route-editor-map{height:58vh;min-height:360px}.route-drawing-status{flex-wrap:wrap}.route-drawing-status small{margin-left:0}}
#campaign-dialog { width:min(900px,94vw); }
@media(max-width:1050px){.dlyr-grid,.campaign-grid{grid-template-columns:1fr}.route-preview-card,#dlyr-map,#campaign-map{min-height:360px;height:360px}}

.campaign-filter-bar { display:grid; grid-template-columns:1.5fr repeat(4,1fr) auto; gap:10px; align-items:end; padding:15px; margin-bottom:14px; border:1px solid var(--line); border-radius:13px; background:white; }
.campaign-filter-bar label { color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.campaign-filter-bar input,.campaign-filter-bar select { display:block; width:100%; height:40px; margin-top:6px; padding:0 10px; border:1px solid var(--line); border-radius:8px; background:white; }
.campaign-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:14px; }
.campaign-summary article { padding:16px 18px; border:1px solid var(--line); border-radius:12px; background:white; }
.campaign-summary span,.campaign-summary strong { display:block; }.campaign-summary span{color:var(--muted);font-size:10px}.campaign-summary strong{margin-top:4px;font-size:22px}
.campaign-message-snippet { display:block; max-width:320px; margin-top:7px; color:var(--muted); font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.channel-pill { display:inline-flex; padding:5px 9px; border-radius:99px; font-size:9px; font-weight:800; }.channel-pill.whatsapp{background:#dcf8e8;color:#087a48}.channel-pill.telegram{background:#e2f2fb;color:#1778a8}.channel-pill.sms{background:#efe9f8;color:#68419a}.channel-pill.email{background:#fff0df;color:#a55e0b}
#campaign-dialog { width:min(1180px,96vw); }
.campaign-builder { display:grid; grid-template-columns:minmax(600px,1.35fr) minmax(300px,.65fr); gap:22px; align-items:start; }
.campaign-fields input,.campaign-fields select,.campaign-fields textarea,.campaign-segment input,.campaign-segment select { display:block; width:100%; margin-top:7px; padding:11px; border:1px solid var(--line); border-radius:9px; background:white; }
.message-tools { display:flex; flex-wrap:wrap; gap:6px; margin-top:-7px; }.message-tools button{padding:7px 10px;background:#f3ecef;color:var(--wine);font-size:11px}
.campaign-segment { margin:16px 0; padding:16px; border:1px solid var(--line); border-radius:12px; background:#fafbfa; }.campaign-segment legend{padding:0 8px;color:var(--wine);font-size:12px;font-weight:800}.campaign-segment .check{display:flex;align-items:center;gap:8px;padding-top:24px}.campaign-segment .check input{width:auto;margin:0}
.campaign-phone-column { position:sticky; top:0; padding:18px; border:1px solid var(--line); border-radius:14px; background:#faf8f9; }.campaign-phone-column h3{margin:0}.campaign-phone-column>p{margin:5px 0 16px;color:var(--muted);font-size:10px}
.campaign-phone { position:relative; width:286px; min-height:520px; margin:auto; overflow:hidden; border:9px solid #202224; border-radius:37px; background:#e7ddd4; box-shadow:0 20px 45px #1d11182c; }.phone-speaker{position:absolute;z-index:3;top:8px;left:50%;width:72px;height:18px;transform:translateX(-50%);border-radius:20px;background:#202224}.phone-header{padding:38px 17px 14px;background:#075e54;color:white}.campaign-phone.telegram .phone-header{background:#2589bd}.campaign-phone.sms .phone-header,.campaign-phone.email .phone-header{background:var(--wine)}.phone-header b,.phone-header small{display:block}.phone-header small{margin-top:3px;opacity:.75;font-size:9px}.phone-chat{padding:24px 13px}.phone-bubble{margin-left:18px;padding:10px;border-radius:10px 2px 10px 10px;background:#dcf8c6;box-shadow:0 2px 5px #0002;font-size:11px;line-height:1.45}.campaign-phone.telegram .phone-bubble{background:white}.phone-bubble img{display:block;width:100%;max-height:150px;margin-bottom:9px;border-radius:7px;object-fit:cover}.phone-bubble button{display:block;width:100%;margin-top:10px;padding:8px;background:#ffffff88;color:#08766d;font-size:10px}.phone-bubble>small{display:block;margin-top:6px;text-align:right;color:#728078;font-size:8px}
@media(max-width:1100px){.campaign-filter-bar{grid-template-columns:repeat(3,1fr)}.campaign-builder{grid-template-columns:1fr}.campaign-phone-column{position:static}.campaign-phone{min-height:480px}}

.password-link { margin-top:auto; background:transparent; border:1px solid #ffffff22; color:#d9cbd1; text-align:left; font-size:11px; }
.password-link:hover { background:#ffffff12; color:white; }
.password-link + .aside-foot { margin-top:10px; }
#password-form > label { display:block; margin:14px 0; font-size:12px; font-weight:600; }
#password-form > label input { display:block; width:100%; margin-top:7px; padding:12px; border:1px solid var(--line); border-radius:9px; }
.dialog-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:22px; }
.route-transfer-dialog{width:min(760px,calc(100vw - 28px));padding:0;border:0;border-radius:22px;background:#faf8f9;box-shadow:0 28px 80px #28111b55}.route-transfer-dialog::backdrop{background:#1e0c1480;backdrop-filter:blur(3px)}.route-transfer-dialog form{padding:28px}.route-transfer-dialog h2{margin:5px 0 18px;font-size:30px}.route-transfer-current{display:grid;gap:3px;padding:17px 19px;border-radius:15px;background:linear-gradient(135deg,#5f1231,#861c49);color:#fff}.route-transfer-current span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#f4cfdd}.route-transfer-current strong{font-size:20px}.route-transfer-current small{color:#f9e9ef}.route-transfer-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0 20px}.route-transfer-flow article{display:flex;gap:10px;min-height:90px;padding:13px;border:1px solid #eadde2;border-radius:13px;background:#fff}.route-transfer-flow b{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;background:#f2dce5;color:#74153d}.route-transfer-flow span,.route-transfer-flow strong,.route-transfer-flow small{display:block}.route-transfer-flow strong{font-size:12px}.route-transfer-flow small{margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}.route-transfer-dialog label small{display:block;margin-top:5px;color:var(--muted)}.route-continuation-badge{display:block;width:max-content;margin-top:6px;padding:4px 8px;border-radius:999px;background:#e8f5ef;color:#146b4d;font-size:10px;font-weight:800}
@media(max-width:700px){.route-transfer-dialog form{padding:20px 15px}.route-transfer-dialog h2{font-size:24px}.route-transfer-flow{grid-template-columns:1fr}.route-transfer-flow article{min-height:auto}}
.dialog-footer { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }
.dialog-footer button { min-width:120px; }
.dialog-footer .dialog-cancel { border:1px solid var(--line); background:#f2f4f3; color:var(--ink); }
.geofence-technical { display:none !important; }
.geofence-steps { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:12px; border-radius:10px; background:#f8f1f4; color:var(--wine); font-size:11px; }
.geofence-steps span { display:flex; align-items:center; gap:7px; }
.geofence-steps b { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:var(--wine); color:white; }
#draw-geofence { min-height:48px; border:2px dashed var(--wine); background:#fff; color:var(--wine); font-weight:700; }
.voucher-folio-banner { margin:6px 0 22px; padding:14px; text-align:center; border:1px solid #ead6df; border-radius:12px; background:linear-gradient(135deg,#fbf6f8,#fff); }
.voucher-folio-banner span,.voucher-folio-banner strong,.voucher-folio-banner small { display:block; }
.voucher-folio-banner span { color:var(--muted); font-size:9px; font-weight:800; letter-spacing:.16em; }
.voucher-folio-banner strong { margin:3px 0; color:var(--wine); font-size:28px; letter-spacing:.06em; }
.voucher-folio-banner small,.field-help { color:var(--muted); font-size:9px; }
#voucher-form input[readonly] { background:#f3f5f4; color:#52605a; }
.field-help { display:block; margin-top:5px; line-height:1.35; }
#draw-geofence { display: block; width: 100%; margin-top: 7px; }
.leaflet-draw-tooltip { font-family: 'DM Sans', sans-serif; }
.role-tree { margin: 0; padding: 0; list-style: none; counter-reset: hierarchy; }
.role-tree li { position: relative; margin: 0 0 10px; padding: 13px 14px 13px 48px; border: 1px solid var(--line); border-radius: 10px; background: #fafbfa; }
.role-tree li:before { counter-increment: hierarchy; content: counter(hierarchy); position: absolute; left: 14px; top: 13px; width: 23px; height: 23px; border-radius: 50%; display: grid; place-items: center; background: var(--wine); color: white; font-size: 10px; font-weight: 700; }
.role-tree strong, .role-tree span { display: block; }
.role-tree strong { font-size: 12px; }
.role-tree span { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.4; }

@media (max-width: 1050px) {
  .monitor-grid { grid-template-columns: 1fr; }
  .settings-grid { grid-template-columns: 1fr; }
  .parque-grid { grid-template-columns: 1fr; }
  .geofence-layout { grid-template-columns: 1fr; grid-template-rows: auto; }
  .geofence-map-card, .geofence-layout > .table-card, .geofence-layout > .geofence-info { grid-column: 1; grid-row: auto; }
  .route-workspace { grid-template-columns: 1fr; height: auto; }
  .route-points-panel { max-height: 420px; }
}

@media (max-width: 760px) {
  .monitor-grid { height: 600px; min-height: 0; }
  .geofence-layout { grid-template-columns: 1fr; }
  .route-filters { grid-template-columns: 1fr 1fr; }
  .route-filters label:first-child, .route-filters button { grid-column: 1 / -1; }
}
.citizen-filter-bar{display:grid;grid-template-columns:1.2fr repeat(3,minmax(150px,1fr)) auto auto;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:16px;align-items:end}.citizen-filter-bar label{font-size:11px;font-weight:700;color:var(--muted)}.citizen-filter-bar input,.citizen-filter-bar select{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;margin-top:6px;background:#fff}.citizen-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.citizen-summary article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.citizen-summary span,.citizen-summary strong{display:block}.citizen-summary span{font-size:11px;color:var(--muted)}.citizen-summary strong{font-size:25px;margin-top:4px}.citizen-type{display:inline-block;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:700}.citizen-type.complaint{background:#fae6e6;color:#a52f3b}.citizen-type.suggestion{background:#e5f1f8;color:#276482}.voucher-status.received{background:#f2eaf0;color:var(--wine)}.voucher-status.in_progress{background:#fff1df;color:#9b641b}.voucher-status.resolved{background:#e2f4ea;color:#18784d}.voucher-status.closed{background:#edf0f2;color:#53606a}.citizen-description{max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#citizen-report-dialog textarea,#citizen-followup-dialog textarea{display:block;width:100%;border:1px solid #dfe3e1;border-radius:10px;padding:13px;margin-top:7px;font:inherit}#citizen-followup-dialog form>label{display:block;font-size:12px;font-weight:600;margin:18px 0}#citizen-followup-dialog select{display:block;width:100%;border:1px solid #dfe3e1;border-radius:10px;padding:13px;margin-top:7px}@media(max-width:1000px){.citizen-filter-bar{grid-template-columns:1fr 1fr}.citizen-summary{grid-template-columns:1fr 1fr}}@media(max-width:620px){.citizen-filter-bar,.citizen-summary{grid-template-columns:1fr}}
.user-admin{margin-top:28px;padding-top:26px;border-top:1px solid var(--line)}.user-admin h2{margin:5px 0}.user-filter-bar{display:grid;grid-template-columns:1.2fr repeat(4,1fr) auto;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:16px;align-items:end}.user-filter-bar label{font-size:11px;font-weight:700;color:var(--muted)}.user-filter-bar input,.user-filter-bar select{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;margin-top:6px;background:#fff}.user-permissions{border:1px solid var(--line);border-radius:12px;padding:15px}.user-permissions legend{font-size:12px;font-weight:700;padding:0 6px}.user-permissions #user-permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.user-permissions label{display:flex;align-items:center;gap:7px;font-weight:500}.user-permissions input{width:auto;margin:0}.permission-count{font-size:11px;background:#f3edf0;color:var(--wine);padding:5px 8px;border-radius:20px}.invite-result{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;margin-top:8px}.settings-grid+.user-admin{grid-column:1/-1}@media(max-width:1000px){.user-filter-bar{grid-template-columns:1fr 1fr}.user-permissions #user-permission-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.user-filter-bar,.user-permissions #user-permission-grid{grid-template-columns:1fr}}
.notification-center{position:relative}.notification-center .icon-btn{position:relative;font-size:17px}.notification-center .icon-btn b{position:absolute;right:-7px;top:-8px;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:20px;background:#d42d3f;color:#fff;font-size:10px;line-height:16px;text-align:center;box-shadow:0 3px 9px #8d142c55;animation:notification-pulse 1.8s infinite}.notification-panel{position:absolute;z-index:2000;right:0;top:46px;width:min(390px,88vw);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 22px 60px #2a162133}.notification-heading{padding:15px 17px;border-bottom:1px solid var(--line);background:#fff8fa}.notification-heading strong,.notification-heading span{display:block}.notification-heading strong{color:var(--wine);font-size:14px}.notification-heading span{margin-top:3px;color:var(--muted);font-size:11px}.notification-panel>div:nth-child(2){max-height:330px;overflow:auto}.notification-item{display:block;width:100%;padding:13px 17px;border-bottom:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);text-align:left}.notification-item:hover{background:#fff8fa}.notification-item strong,.notification-item span,.notification-item small{display:block}.notification-item span{margin-top:3px;font-size:11px}.notification-item small{margin-top:4px;color:#a04c25;font-size:10px}.notification-panel>button:last-child{width:calc(100% - 24px);margin:12px}.notification-empty{padding:24px;text-align:center;color:var(--muted);font-size:12px}@keyframes notification-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12);box-shadow:0 0 0 7px #d42d3f18}}
.settings-section-title{margin:34px 0 14px;padding-top:24px;border-top:1px solid var(--line);font-size:22px}.settings-catalog{display:block;margin:0 0 20px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.settings-catalog .title-row{margin-bottom:16px}.settings-catalog .title-row h1{font-size:22px}.settings-catalog .table-card{border-radius:11px}
.camera-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.camera-settings-grid label,.camera-connection-grid label{font-size:12px;font-weight:700;color:var(--muted)}.camera-settings-grid select,.camera-connection-grid input[type="password"]{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}.camera-connection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.camera-connection-grid article{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fafafa}.camera-connection-grid article>strong{display:block;margin-bottom:5px}.camera-connection-grid .camera-state{display:block;margin-bottom:14px;font-size:11px;color:var(--muted)}.camera-connection-grid .camera-state.configured{color:#18794e;font-weight:700}.camera-connection-grid .check{display:flex;align-items:center;gap:7px;margin:12px 0}.camera-connection-grid .check input{margin:0}.camera-settings-actions{display:flex;align-items:center;gap:14px;margin-top:16px}@media(max-width:900px){.camera-connection-grid{grid-template-columns:1fr}.camera-settings-grid{grid-template-columns:1fr}}
.fuel-ticket-check{margin:16px 0;padding:17px;border:1px solid #dfc8d1;border-radius:13px;background:#fff8fa}.fuel-ticket-check h3{margin:0 0 13px;color:var(--wine)}.fuel-ticket-check>div{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fuel-ticket-check label{font-size:12px}.fuel-ticket-check input{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}.fuel-ticket-check small{display:block;margin-top:6px;color:var(--muted)}.fuel-ticket-check p{margin:13px 0 0;font-size:11px;font-weight:700;color:#18794e}@media(max-width:700px){.fuel-ticket-check>div{grid-template-columns:1fr}}
.complement-dialog{width:min(980px,calc(100vw - 30px));max-height:calc(100dvh - 28px);background:#f5f3f4}.complement-dialog #voucher-complement-form{padding:0 26px 24px;max-height:calc(100dvh - 28px);overflow:auto}.complement-dialog-head{position:sticky;z-index:4;top:0;height:auto;margin:0 -26px;padding:22px 26px 17px;background:#fff;border-bottom:1px solid #eadfe4;box-shadow:0 5px 18px #3914210a}.complement-dialog-head h2{margin:4px 0 0;font-size:25px}.complement-dialog-head .dialog-close{position:static;margin-left:auto}.complement-dialog .complement-summary{margin:18px 0;padding:15px 18px;background:linear-gradient(135deg,#5d142f,#7d2145);border:0;color:#fff}.complement-dialog .complement-summary span{color:#f1dfe6}.complement-section{margin:0 0 14px;padding:19px;border:1px solid #e8e1e4;border-radius:15px;background:#fff;box-shadow:0 4px 15px #36121e08}.complement-section-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}.complement-section-title>span{display:grid;place-items:center;width:39px;height:39px;flex:0 0 39px;border-radius:11px;background:#f3e7ec;color:var(--wine);font-size:19px;font-weight:800}.complement-section-title h3,.complement-section-title p{margin:0}.complement-section-title h3{font-size:16px}.complement-section-title p{margin-top:3px;color:var(--muted);font-size:11px}.fuel-section{border-color:#ead2dc;background:linear-gradient(135deg,#fff 45%,#fff7fa)}.scale-section{border-color:#dce7e2;background:linear-gradient(135deg,#fff 45%,#f6fbf8)}.scale-section .complement-section-title>span{background:#e6f2ec;color:#18794e}.complement-fields{display:grid;grid-template-columns:1fr 1.35fr;gap:13px}.complement-fields>label{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12px}.complement-fields strong,.complement-fields small{display:block}.complement-fields input[type="number"]{width:100%;margin:9px 0 5px;padding:13px;border:1px solid #d9dcda;border-radius:9px;font-size:18px;font-weight:700}.complement-fields small{color:var(--muted)}.pretty-upload{position:relative;display:block;padding:15px;border:1px dashed #cbb8c0;border-radius:12px;background:#fff}.pretty-upload strong,.pretty-upload span{display:block}.pretty-upload span{margin:4px 0 12px;color:var(--muted);font-size:11px}.pretty-upload input[type="file"]{width:100%;font-size:11px}.scale-evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.scale-evidence-grid .pretty-upload{padding-top:42px}.scale-evidence-grid .pretty-upload>b{position:absolute;top:13px;left:14px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#18794e;color:#fff;font-size:11px}.collaborator-stamp{margin:13px 0 0;padding:9px 12px;border-radius:8px;background:#eaf5ef;color:#18794e;font-size:11px;font-weight:700}.compact-evidence,.document-evidence{margin:0}.document-evidence .receipt-upload{grid-column:auto}.observations-section textarea{display:block;width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;resize:vertical;font:inherit}.saved-evidence-section{padding:16px 18px;border:1px solid #e1d7db;border-radius:13px;background:#fff}.complement-actions{position:sticky;z-index:4;bottom:-24px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:17px -26px -24px;padding:14px 26px;background:#fffffff5;border-top:1px solid #e3d9dd;backdrop-filter:blur(8px)}.complement-actions .error{margin:0}.complement-actions>div:last-child{display:flex;gap:9px;flex-shrink:0}.complement-actions button{min-width:135px}@media(max-width:760px){.complement-dialog{width:calc(100vw - 10px);max-height:calc(100dvh - 10px)}.complement-dialog #voucher-complement-form{padding:0 12px 16px;max-height:calc(100dvh - 10px)}.complement-dialog-head{margin:0 -12px;padding:17px 14px 13px}.complement-fields,.scale-evidence-grid{grid-template-columns:1fr}.complement-section{padding:15px}.complement-actions{bottom:-16px;display:block;margin:14px -12px -16px;padding:12px}.complement-actions>div:last-child{display:grid;grid-template-columns:1fr 1fr}.complement-actions button{min-width:0}.saved-evidence-section{padding:13px}}
.palewi-access-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-top:28px;padding:22px;border:1px solid #ead6df;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#fff8fa 100%)}.palewi-access-card h2{margin:4px 0 6px}.palewi-access-card p{margin:0;color:var(--muted)}.palewi-access-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--wine);color:#fff;font-size:22px;box-shadow:0 8px 20px #6f183733}.palewi-page-heading{align-items:center}.palewi-settings{margin-top:0}.palewi-settings h2{margin:5px 0}.palewi-invocation{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:16px 18px;border:1px solid #ead6df;border-radius:14px;background:#fff8fa}.palewi-invocation span{font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--muted)}.palewi-invocation strong{font-size:24px;color:var(--wine)}.palewi-invocation small{color:var(--muted)}.palewi-keyword{width:100%;min-width:180px;padding:10px;border:1px solid var(--line);border-radius:9px}@media(max-width:700px){.palewi-access-card{grid-template-columns:auto 1fr}.palewi-access-card button{grid-column:1/-1;width:100%}.palewi-page-heading{align-items:flex-start}.palewi-page-heading button{width:100%}}
.palewi-area-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.palewi-area-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.palewi-card-head{display:flex;justify-content:space-between;gap:12px}.palewi-card-head span,.palewi-card-head strong,.palewi-card-head small{display:block}.palewi-card-head span{font-size:9px;font-weight:800;color:var(--wine);letter-spacing:.12em}.palewi-card-head strong{margin:4px 0;font-size:15px}.palewi-card-head small{color:var(--muted)}.palewi-toggle{font-size:11px;font-weight:700}.palewi-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.palewi-fields label,.palewi-area-card fieldset{font-size:11px;font-weight:700}.palewi-fields input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:9px}.palewi-area-card fieldset{border:1px solid var(--line);border-radius:10px;padding:12px}.palewi-permissions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.palewi-permissions label{font-weight:500}.palewi-pairing-result strong,.palewi-pairing-result span,.palewi-pairing-result small{display:block}.palewi-pairing-result strong{font-size:22px;color:var(--wine)}.palewi-pairing-result span{margin:5px 0}.palewi-pairing-result small{color:var(--muted)}@media(max-width:900px){.palewi-area-list{grid-template-columns:1fr}}@media(max-width:560px){.palewi-fields,.palewi-permissions{grid-template-columns:1fr}}
.audit-filter-bar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto auto;gap:12px;align-items:end;margin-bottom:16px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.audit-filter-bar label{font-size:11px;font-weight:700;color:var(--muted)}.audit-filter-bar select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.audit-filter-bar span{align-self:center;color:var(--muted);font-size:11px;font-weight:700}@media(max-width:760px){.audit-filter-bar{grid-template-columns:1fr 1fr}.audit-filter-bar button,.audit-filter-bar span{width:100%}}@media(max-width:520px){.audit-filter-bar{grid-template-columns:1fr}}
.maintenance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.maintenance-summary article{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.maintenance-summary span,.maintenance-summary strong{display:block}.maintenance-summary span{font-size:11px;color:var(--muted)}.maintenance-summary strong{margin-top:4px;font-size:24px}.maintenance-type{display:inline-block;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:800}.maintenance-type.preventive{background:#e2f4ea;color:#18784d}.maintenance-type.corrective{background:#fff1df;color:#9b641b}.maintenance-type.inspection{background:#e5f1f8;color:#276482}.maintenance-type.emergency{background:#fae6e6;color:#a52f3b}.maintenance-work{display:block;max-width:270px;margin-top:4px;color:var(--muted);white-space:normal;line-height:1.35}@media(max-width:700px){.maintenance-summary{grid-template-columns:1fr}}
.accident-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.accident-summary article{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.accident-summary span,.accident-summary strong{display:block}.accident-summary span{font-size:11px;color:var(--muted)}.accident-summary strong{margin-top:4px;font-size:24px}.policy-summary{grid-column:1/-1;padding:13px;border:1px solid #ead6df;border-radius:10px;background:#fff8fa}.policy-summary strong,.policy-summary span{display:block}.policy-summary strong{color:var(--wine)}.policy-summary span{margin-top:4px;color:var(--muted);font-size:11px}.accident-status{display:inline-block;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:800}.accident-status.reported{background:#f2eaf0;color:var(--wine)}.accident-status.insurance_review{background:#e5f1f8;color:#276482}.accident-status.repair{background:#fff1df;color:#9b641b}.accident-status.legal_followup{background:#fae6e6;color:#a52f3b}.accident-status.closed{background:#e2f4ea;color:#18784d}.accident-description,.injury-warning{display:block;margin-top:4px;font-size:10px}.accident-description{max-width:260px;color:var(--muted);white-space:normal}.injury-warning{font-weight:800;color:#a52f3b}.accident-timeline{max-height:280px;overflow:auto;margin:15px 0;padding-left:15px;border-left:3px solid #ead6df}.accident-timeline article{position:relative;margin:0 0 12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.accident-timeline article:before{content:'';position:absolute;left:-24px;top:16px;width:10px;height:10px;border-radius:50%;background:var(--wine)}.accident-timeline span,.accident-timeline strong{display:block}.accident-timeline span{font-size:9px;color:var(--muted)}.accident-timeline p{margin:6px 0 0;white-space:pre-wrap}.accident-unit-card{padding:13px;border:1px solid var(--line);border-radius:10px;background:#f8f3f5}.accident-unit-card strong,.accident-unit-card span{display:block}.accident-unit-card span{margin-top:4px;font-size:11px;color:var(--muted)}.accident-map-wrap{position:relative}.accident-map-wrap #accident-map{height:280px;border:1px solid var(--line);border-radius:12px}.accident-map-wrap>small{display:block;margin-top:6px;color:var(--muted)}.map-center-pin{position:absolute;z-index:500;left:50%;top:140px;transform:translate(-50%,-100%);font-size:27px;color:var(--wine);pointer-events:none;text-shadow:0 1px 3px #fff}.subsection-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.injured-row{display:grid;grid-template-columns:2fr .7fr 2fr auto;gap:8px;align-items:end;margin-bottom:8px;padding:10px;border:1px solid var(--line);border-radius:10px}.injured-row button{height:42px}.accident-photo-box{padding:15px;border:1px dashed #b895a4;border-radius:12px;background:#fff8fa}.accident-photo-box strong,.accident-photo-box span{display:block}.accident-photo-box span{margin:4px 0 10px;color:var(--muted);font-size:11px}@media(max-width:700px){.accident-summary{grid-template-columns:1fr}.injured-row{grid-template-columns:1fr}.accident-map-wrap #accident-map{height:230px}.map-center-pin{top:115px}}
.municipal-map-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.municipal-map-summary article{padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.municipal-map-summary span,.municipal-map-summary strong{display:block}.municipal-map-summary span{font-size:10px;color:var(--muted)}.municipal-map-summary strong{margin-top:2px;font-size:22px}.municipal-map-layout{height:calc(100vh - 260px);min-height:650px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;grid-template-rows:auto 1fr}.municipal-layers{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:10px 13px;border-bottom:1px solid var(--line);background:#fff}.municipal-layers>strong{color:var(--wine);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.municipal-layers>label{display:flex;align-items:center;gap:5px;padding:7px 9px;margin:0;border:1px solid var(--line);border-radius:20px;background:#fafbfa;font-size:10px;font-weight:700}.municipal-status-filter{margin-left:auto!important;border-radius:9px!important}.municipal-status-filter select{border:0;background:transparent;font-size:10px;outline:none}.municipal-map-canvas{display:grid;grid-template-columns:minmax(0,1fr) 270px;min-height:0;position:relative}#municipal-map{height:100%;min-height:580px}.municipal-detail{padding:18px;overflow:auto;border-left:1px solid var(--line);background:#fafbfa}.municipal-detail h2{margin:5px 0 13px;color:var(--wine)}.municipal-detail p{font-size:11px;line-height:1.55}.municipal-detail dl{margin:18px 0}.municipal-detail dt{margin-top:10px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.municipal-detail dd{margin:3px 0;font-size:11px}.municipal-legend{display:flex;align-items:center;gap:9px;font-size:9px}.municipal-legend span{display:flex;align-items:center;gap:4px}.municipal-legend i{width:9px;height:9px;border-radius:50%}.municipal-legend .red{background:#cf3345}.municipal-legend .orange{background:#df8f24}.municipal-legend .green{background:#21865b}.municipal-legend .blue{background:#2479b5}.municipal-asset-marker span{display:grid;place-items:center;width:30px;height:30px;border:2px solid white;border-radius:50%;background:#273a45;color:#fff;box-shadow:0 3px 9px #0004;font-size:15px}@media(max-width:1050px){.municipal-map-canvas{grid-template-columns:1fr}.municipal-detail{position:absolute;right:12px;top:12px;z-index:700;width:260px;max-height:560px;box-shadow:0 15px 40px #0002}.municipal-map-summary{grid-template-columns:1fr 1fr}.municipal-status-filter{margin-left:0!important}}@media(max-width:700px){.municipal-map-layout{height:auto;display:block}.municipal-map-canvas{display:block}.municipal-layers{align-items:stretch}.municipal-detail{position:static;width:auto;max-height:none;border:0;box-shadow:none}#municipal-map{height:520px;min-height:520px}.municipal-map-summary{grid-template-columns:1fr 1fr}}
.municipal-report-marker{background:transparent;border:0}.municipal-report-marker span{display:grid;place-items:center;width:38px;height:38px;border:3px solid #fff;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:var(--pin-color);box-shadow:0 4px 14px #0006;font-size:18px}.municipal-report-marker span:first-letter{transform:rotate(45deg)}.municipal-report-marker span{line-height:1}.municipal-report-marker span::first-line{transform:rotate(45deg)}.municipal-report-marker b{position:absolute;right:-7px;top:-7px;min-width:20px;height:20px;padding:2px 5px;border:2px solid #fff;border-radius:12px;background:#18232b;color:#fff;text-align:center;font-size:10px}.municipal-pending-list{display:grid;gap:7px}.municipal-pending-list button{display:grid;grid-template-columns:9px 1fr;gap:9px;align-items:center;width:100%;padding:10px;text-align:left;background:#fff;color:var(--ink);border:1px solid var(--line)}.municipal-pending-list button:hover{border-color:var(--wine)}.municipal-pending-list i{width:9px;height:9px;border-radius:50%}.municipal-pending-list strong,.municipal-pending-list small{display:block}.municipal-pending-list small{margin-top:3px;color:var(--muted);font-size:9px}.monitor-fullscreen{display:block!important;position:fixed;inset:0;z-index:5000;padding:12px!important;background:var(--bg);overflow:hidden}.monitor-fullscreen .title-row{margin-bottom:8px;align-items:center}.monitor-fullscreen .title-row h1{font-size:20px;margin:2px 0}.monitor-fullscreen .title-row p{display:none}.monitor-fullscreen .municipal-map-summary{position:absolute;z-index:5100;top:70px;left:24px;grid-template-columns:repeat(4,minmax(105px,1fr));max-width:540px;pointer-events:none}.monitor-fullscreen .municipal-map-summary article{background:#fffffff2;box-shadow:0 4px 18px #0002}.monitor-fullscreen .municipal-map-layout{height:calc(100vh - 68px);min-height:0}.monitor-fullscreen #municipal-map{min-height:0}.monitor-fullscreen .municipal-layers{padding-right:16px}
.municipal-report-marker span{transform:none}
.municipal-back{width:100%;margin-bottom:14px;padding:7px 9px;background:#fff;color:var(--wine);border:1px solid var(--line);font-size:10px}.map-detail-status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:15px;background:color-mix(in srgb,var(--status-color) 14%,white);color:var(--status-color);font-weight:800}.map-detail-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--status-color)}.municipal-vehicle-marker{background:transparent;border:0;text-align:center}.municipal-vehicle-marker img{display:block;width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 3px 4px #0006)}.municipal-vehicle-marker span{display:inline-block;margin-top:-3px;padding:2px 5px;border-radius:7px;background:#2479b5;color:white;font-size:8px;font-weight:800;box-shadow:0 2px 5px #0004}.municipal-vehicle-marker.offline{opacity:.65}
.municipal-legend .purple{background:#7c4dba}.municipal-simulation-toggle{border-color:#cbb9e5!important;background:#f7f1ff!important;color:#633c9c}.municipal-vehicle-marker.simulated img{filter:hue-rotate(45deg) drop-shadow(0 3px 4px #0006)}.municipal-vehicle-marker.simulated span{background:#7c4dba}.municipal-vehicle-marker b{position:absolute;left:4px;top:-8px;padding:2px 4px;border-radius:5px;background:#fff;color:#633c9c;border:1px solid #7c4dba;font-size:6px;letter-spacing:.05em}.simulation-warning{margin:12px 0;padding:9px;border:1px solid #d7c6ec;border-radius:9px;background:#f8f3ff;color:#633c9c;font-size:10px;line-height:1.4}
.monitor-fullscreen{display:grid!important;grid-template-rows:auto auto minmax(0,1fr);gap:6px}.monitor-fullscreen .municipal-map-summary{position:static;z-index:auto;display:flex;gap:6px;width:auto;max-width:none;height:38px;margin:0;pointer-events:auto}.monitor-fullscreen .municipal-map-summary article{display:flex;align-items:center;gap:7px;min-width:0;padding:5px 10px;border-radius:9px;box-shadow:none}.monitor-fullscreen .municipal-map-summary span{font-size:9px;white-space:nowrap}.monitor-fullscreen .municipal-map-summary strong{margin:0;font-size:16px}.monitor-fullscreen .municipal-map-layout{height:auto;min-height:0}.monitor-fullscreen .municipal-map-canvas{grid-template-columns:minmax(0,1fr) 320px}.monitor-fullscreen .municipal-detail{padding:14px}.monitor-fullscreen .municipal-detail h2{font-size:20px}.monitor-fullscreen .municipal-pending-list{gap:5px}.monitor-fullscreen .municipal-pending-list button{padding:8px}

@media(min-width:761px){.app{transition:grid-template-columns .22s ease}.app>aside{width:235px;transition:width .22s ease;padding-left:16px;padding-right:16px}.app.sidebar-collapsed{grid-template-columns:76px 1fr}.app.sidebar-collapsed>aside{width:76px;padding-left:9px;padding-right:9px}.app.sidebar-collapsed .logo>div,.app.sidebar-collapsed .nav-section summary b,.app.sidebar-collapsed .nav-chevron,.app.sidebar-collapsed .nav-section-links button span,.app.sidebar-collapsed .password-link,.app.sidebar-collapsed .aside-foot>div:nth-child(2){display:none}.app.sidebar-collapsed .logo{padding:0 0 20px}.app.sidebar-collapsed .logo>img{height:48px}.app.sidebar-collapsed .nav-section summary{justify-content:center;padding:11px 5px}.app.sidebar-collapsed .nav-section-icon{width:auto}.app.sidebar-collapsed .nav-section-links button{text-align:center;padding:9px 4px}.app.sidebar-collapsed .aside-foot{grid-template-columns:1fr;justify-items:center}.app.sidebar-collapsed .aside-foot #logout{display:none}.app.sidebar-collapsed~#palewi-help-button{left:92px}.app.sidebar-collapsed~.palewi-help-panel{left:92px}#sidebar-collapse{display:inline-grid;place-items:center;width:34px;height:34px;padding:0}}

/* Palewi permanece disponible a la derecha y no tapa la navegación. */
body .app~#palewi-help-button,body .app.sidebar-collapsed~#palewi-help-button{left:auto;right:18px}
body .app~.palewi-help-panel,body .app.sidebar-collapsed~.palewi-help-panel{left:auto;right:18px}
.voucher-folio-preview{padding:0;border:0;background:transparent;color:var(--wine);font-weight:800;text-decoration:underline;text-underline-offset:3px;box-shadow:none;white-space:nowrap}
.voucher-folio-preview:hover{background:transparent;color:var(--wine2)}
.voucher-actions{min-width:235px;flex-wrap:wrap}
@media(max-width:760px){#sidebar-collapse{display:none}}
.route-operation-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.route-operation-summary article{padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff}.route-operation-summary span,.route-operation-summary strong{display:block}.route-operation-summary span{font-size:10px;color:var(--muted)}.route-operation-summary strong{margin-top:4px;font-size:24px}.route-execution-status{display:inline-block;margin-right:6px;padding:5px 8px;border-radius:18px;font-size:9px;font-weight:800}.route-execution-status.active{background:#fff1df;color:#9b641b}.route-execution-status.completed{background:#e2f4ea;color:#18784d}.route-execution-status.scheduled{background:#e5f1f8;color:#276482}#route-start-dialog form>label{display:block;margin:15px 0;font-size:12px;font-weight:700}#route-start-dialog select,#route-start-dialog textarea{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:9px}@media(max-width:700px){.route-operation-summary{grid-template-columns:1fr 1fr}}
.citizen-location-fields{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin-top:4px}.citizen-location-fields>div:first-child span{display:block;margin-top:3px;color:var(--muted);font-size:12px}#citizen-report-map{grid-column:1/-1;height:300px;border:1px solid var(--line);border-radius:12px;overflow:hidden}#citizen-location-status{grid-column:1/-1;color:var(--muted)}
.field-locked{pointer-events:none;background:#f1f3f2!important;color:#4b5550;border-color:#d4dad7!important;font-weight:700}
.attention-metrics,.lighting-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.attention-metrics article,.lighting-summary article{padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}.attention-metrics span,.attention-metrics strong,.lighting-summary span,.lighting-summary strong{display:block}.attention-metrics span,.lighting-summary span{font-size:10px;color:var(--muted)}.attention-metrics strong,.lighting-summary strong{margin-top:4px;font-size:23px}.pothole-technical-file{margin:16px 0;padding:15px;border:1px solid #e2cbd5;border-radius:12px;background:#fff9fb}.pothole-technical-file legend{padding:0 7px;color:var(--wine);font-weight:800}.pothole-technical-file input,.pothole-technical-file select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:8px}.pothole-technical-file>small{display:block;margin-top:8px;color:var(--muted)}.lighting-layout{display:grid;grid-template-columns:minmax(600px,1.35fr) minmax(360px,.65fr);gap:15px}.lighting-layout #lighting-inventory-map{min-height:620px;border:1px solid var(--line);border-radius:14px}#lighting-asset-map{height:300px;margin-top:8px;border:1px solid var(--line);border-radius:12px}#lighting-asset-location{display:block;margin-top:6px;color:var(--muted)}@media(max-width:1000px){.lighting-layout{grid-template-columns:1fr}.lighting-layout #lighting-inventory-map{min-height:440px}}@media(max-width:700px){.attention-metrics,.lighting-summary{grid-template-columns:1fr 1fr}}

/* Adaptación integral para teléfonos. */
@media(max-width:760px){
html,body{width:100%;max-width:100%;overflow-x:hidden}.app{width:100%;min-height:100dvh}.app>aside{top:0;bottom:0;width:min(86vw,310px);height:100dvh;left:min(-86vw,-310px);padding:18px 14px;overflow-y:auto;overscroll-behavior:contain;box-shadow:18px 0 50px #160a1040}.app>aside.open{left:0}.logo{position:sticky;top:-18px;z-index:2;padding:18px 7px;background:var(--wine2)}nav{margin-top:12px}nav button,.nav-section-links button{min-height:44px}main{width:100%;min-width:0}
header{position:sticky;top:0;z-index:850;height:60px;padding:0 12px;gap:9px;box-shadow:0 2px 10px #17201c0c}#menu{display:grid;place-items:center;width:40px;height:40px;font-size:22px}#municipality,#area-name{max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{gap:4px}.header-actions .live-dot,.header-actions>small{display:none}.header-actions .icon-btn{width:40px;height:40px;padding:0}.notification-panel{position:fixed!important;z-index:2000;top:64px!important;right:8px!important;left:8px!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 74px);overflow:auto}
.view,.view.active{width:100%;padding:16px 10px 28px}.title-row{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:16px}.title-row h1{font-size:22px;line-height:1.18;margin:4px 0}.title-row p{font-size:12px;line-height:1.45}.title-row>button,.title-row>.title-actions,.title-row>.row-actions{width:100%}.title-actions,.title-row>.row-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.title-actions button,.title-row>.row-actions button{width:100%;white-space:normal}button{min-height:42px;touch-action:manipulation}input,select,textarea{font-size:16px!important;max-width:100%}
.metrics,.voucher-metrics,.campaign-summary,.maintenance-summary,.accident-summary,.route-operation-summary,.attention-metrics,.lighting-summary,.municipal-map-summary{grid-template-columns:1fr 1fr;gap:8px}.metric,.voucher-metrics article,.campaign-summary article,.maintenance-summary article,.accident-summary article,.route-operation-summary article,.attention-metrics article,.lighting-summary article,.municipal-map-summary article{min-width:0;padding:12px}.metric strong,.voucher-metrics strong,.campaign-summary strong,.maintenance-summary strong,.accident-summary strong,.route-operation-summary strong,.attention-metrics strong,.lighting-summary strong,.municipal-map-summary strong{font-size:19px}
.monitor-grid{display:block;height:auto}.map-card{height:auto}.filters{display:grid;height:auto;grid-template-columns:1fr;gap:7px}.filters input,.filters select{min-height:42px}#map{height:58dvh;min-height:390px}.fleet-panel{display:block;margin-top:12px;max-height:440px}.table-card{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:11px}.table-card table{width:max-content;min-width:720px}.table-card th,.table-card td{padding:11px 12px;vertical-align:top}.row-actions{flex-wrap:wrap;white-space:normal}.row-actions button{min-height:36px}
.route-filters,.campaign-filter-bar{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:11px}.route-filters label:first-child,.campaign-filter-bar label:first-child{grid-column:1/-1}.route-filters button,.campaign-filter-bar button{width:100%}.route-workspace{display:flex;flex-direction:column;height:auto;min-height:0;gap:12px}.route-map-card{height:auto}.route-summary{height:auto;min-height:64px}.route-summary>div{padding:10px 8px}.route-summary strong{font-size:15px}#route-map{height:55dvh;min-height:390px;flex:none}.route-points-panel{height:auto;max-height:420px}.route-points{max-height:350px}
.dlyr-grid,.campaign-grid,.settings-grid,.parque-grid,.document-config-layout,.lighting-layout,.campaign-builder{grid-template-columns:1fr;gap:12px}.route-preview-card,#dlyr-map,#campaign-map{height:52dvh!important;min-height:360px!important}.geofence-layout{display:block}.geofence-map-card{min-height:0;margin-bottom:12px}#geofence-map{height:55dvh;min-height:400px}.map-toolbar{height:auto;min-height:58px;padding:10px;gap:8px}.map-toolbar span{display:none}
.municipal-map-layout{height:auto;min-height:0;border-radius:12px}.municipal-layers{padding:8px;gap:6px}.municipal-layers>strong{width:100%}.municipal-layers>label{flex:1;justify-content:center;min-width:105px}.municipal-status-filter{width:100%}#municipal-map{height:62dvh;min-height:430px}.municipal-detail{max-height:none;padding:14px}.monitor-fullscreen{padding:6px!important;overflow:auto}.monitor-fullscreen .municipal-map-summary{display:grid;height:auto;grid-template-columns:1fr 1fr}.monitor-fullscreen .municipal-map-canvas{display:block}.monitor-fullscreen #municipal-map{height:calc(100dvh - 280px);min-height:400px}.monitor-fullscreen .municipal-detail{position:static;width:auto}
dialog{width:calc(100vw - 12px);max-width:none;max-height:calc(100dvh - 12px);margin:auto;border-radius:14px}dialog form,#route-dialog form,#campaign-dialog form{width:100%;max-height:calc(100dvh - 12px);padding:22px 14px 18px;overflow-y:auto;overscroll-behavior:contain}.dialog-close{z-index:5;width:40px;height:40px;padding:0;border-radius:50%;background:#f4e9ee;color:var(--wine)}.form-grid,.injured-row,.citizen-photo-fields,.citizen-followup-evidence,.evidence-grid,.evidence-list,.palewi-fields,.palewi-permissions{grid-template-columns:1fr}.wide,.policy-summary,.geofence-steps,#voucher-form .wide{grid-column:auto}.dialog-actions,.dialog-footer{display:grid;grid-template-columns:1fr 1fr;margin-top:18px}.dialog-actions button,.dialog-footer button{width:100%;min-width:0}
.campaign-phone{width:min(286px,100%)}.campaign-phone-column{padding:12px}.voucher-search{display:block;padding:12px}.voucher-search span{display:block;margin-top:8px;white-space:normal}.citizen-location-fields{grid-template-columns:1fr}.citizen-location-fields button,#citizen-report-map,#citizen-location-status{grid-column:auto}#citizen-report-map{height:45dvh;min-height:300px}.complement-summary{display:grid;grid-template-columns:1fr 1fr}body .app~#palewi-help-button{right:10px;bottom:10px;max-width:calc(100vw - 20px)}body .app~.palewi-help-panel{right:8px;left:8px;width:auto;max-width:none;bottom:64px;max-height:70dvh}
}
@media(max-width:390px){.metrics,.voucher-metrics,.campaign-summary,.maintenance-summary,.accident-summary,.route-operation-summary,.attention-metrics,.lighting-summary,.municipal-map-summary{grid-template-columns:1fr}.route-filters,.campaign-filter-bar{grid-template-columns:1fr}.route-filters label:first-child,.campaign-filter-bar label:first-child{grid-column:auto}.title-actions,.title-row>.row-actions{grid-template-columns:1fr}.route-summary{grid-template-columns:1fr 1fr}.route-summary>div:last-child{grid-column:1/-1}#municipality{display:none}#area-name{max-width:48vw}}
.collection-week { display:grid; grid-template-columns:repeat(7,1fr); gap:8px; margin-bottom:12px; }
.collection-week button { position:relative; background:#fff; color:var(--ink); border:1px solid var(--line); padding:10px 8px; border-radius:11px; text-align:center; }
.collection-week button span,.collection-week button strong,.collection-week button small { display:block; }
.collection-week button span { font-size:10px; text-transform:uppercase; color:var(--muted); }
.collection-week button strong { font-size:22px; margin:2px 0; }
.collection-week button small { font-size:9px; color:var(--muted); }
.collection-week button.active { background:var(--wine); color:#fff; border-color:var(--wine); }
.collection-week button.active span,.collection-week button.active small { color:#f1dfe7; }
.collection-week button.holiday { box-shadow:inset 0 3px #d79a2c; }
.collection-week button b { position:absolute; top:4px; right:4px; background:#fff0d1; color:#8a5700; border-radius:8px; padding:2px 5px; font-size:7px; }
.collection-holiday { display:flex; gap:12px; align-items:center; background:#fff7e6; border:1px solid #f1d49d; color:#755017; border-radius:10px; padding:10px 13px; margin-bottom:12px; }
.collection-holiday strong,.collection-holiday span { display:block; }
.collection-holiday span { font-size:11px; }
.collection-timebar { display:grid; grid-template-columns:auto 60px minmax(240px,1fr) auto; align-items:center; gap:12px; background:#fff; border:1px solid var(--line); border-radius:12px; padding:11px 13px; margin-bottom:12px; }
.collection-timebar strong { font-size:18px; color:var(--wine); }
.collection-timebar input { width:100%; accent-color:var(--wine); }
.collection-timebar span { font-size:11px; color:var(--muted); }
.collection-master-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.collection-master-summary article{padding:11px 14px;background:#fff;border:1px solid var(--line);border-radius:11px}.collection-master-summary span,.collection-master-summary strong{display:block}.collection-master-summary span{color:var(--muted);font-size:9px;text-transform:uppercase}.collection-master-summary strong{margin-top:4px;font-size:18px}.collection-static-mode #collection-week,.collection-static-mode #collection-holiday,.collection-static-mode .collection-timebar{display:none!important}.collection-static-mode #collection-master-summary{display:grid!important}.collection-static-mode .collection-side{grid-template-columns:1fr}.collection-static-mode .collection-hours{display:none}.collection-static-mode .collection-layout{height:calc(100vh - 255px)}.collection-static-mode .collection-routes article{border-left-color:var(--route-color);cursor:pointer}.collection-static-mode .collection-routes article:hover{background:#f8f3f5}.collection-static-mode .collection-legend{right:12px;left:12px;max-height:92px;overflow:auto;flex-wrap:wrap}.collection-static-mode .collection-legend i{width:13px}.static-route-label{background:transparent!important;border:0!important}.static-route-label span{display:inline-block;transform:translate(-50%,-50%);padding:4px 7px;border:2px solid #fff;border-radius:7px;background:var(--route-color);box-shadow:0 2px 7px #0004;color:#fff;font-size:9px;font-weight:700;white-space:nowrap}.static-route-popup i{display:inline-block;width:11px;height:11px;margin-right:6px;border-radius:50%}.static-route-popup strong,.static-route-popup span,.static-route-popup small{display:block}.static-route-popup strong{margin:4px 0}.static-route-popup span{color:var(--wine);font-size:11px}.static-route-popup small{margin-top:6px;color:var(--muted);line-height:1.5}
.collection-scope-picker{align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;padding:10px 14px;border:1px solid #ead6df;border-radius:12px;background:#fff8fb}.collection-scope-picker>div{display:flex;align-items:center;gap:8px}.collection-scope-picker strong{color:var(--wine)}.collection-scope-picker span{color:var(--muted);font-size:11px}.collection-scope-picker button{white-space:nowrap}.collection-static-mode #collection-scope-picker{display:flex!important}
.collection-route-search{display:flex;align-items:center;gap:8px;color:var(--wine);font-size:10px;font-weight:700;text-transform:uppercase}.collection-route-search input{width:220px;padding:8px 10px;border:1px solid #d9c4cd;border-radius:9px;background:#fff;font-size:12px;text-transform:none}.collection-static-mode.route-search-active .static-route-label{display:block!important}.collection-static-mode.route-search-active .collection-legend{max-height:48px}
.collection-layout { display:grid; grid-template-columns:minmax(500px,1fr) 340px; gap:12px; height:calc(100vh - 330px); min-height:510px; }
.collection-map-card { position:relative; background:#fff; border:1px solid var(--line); border-radius:13px; overflow:hidden; }
.collection-fullscreen { display:grid!important; position:fixed; inset:0; z-index:5000; grid-template-rows:auto auto auto auto auto minmax(0,1fr); gap:7px; padding:10px!important; background:var(--bg); overflow:hidden; }
.collection-fullscreen .title-row { margin:0; align-items:center; }
.collection-fullscreen .title-row h1 { margin:2px 0; font-size:20px; }
.collection-fullscreen .title-row p { display:none; }
.collection-fullscreen .collection-week,.collection-fullscreen .collection-holiday,.collection-fullscreen .collection-timebar { margin:0; }
.collection-fullscreen .collection-master-summary{margin:0;align-self:start}.collection-fullscreen.collection-static-mode{grid-template-rows:auto auto auto minmax(0,1fr)}.collection-fullscreen.collection-static-mode .collection-layout{height:auto;min-height:0}.collection-fullscreen.collection-static-mode .collection-map-card,.collection-fullscreen.collection-static-mode #collection-map{min-height:0;height:100%}
.collection-fullscreen .collection-holiday { padding:7px 11px; }
.collection-fullscreen .collection-layout { height:auto; min-height:0; }
.collection-fullscreen .collection-map-card,.collection-fullscreen #collection-map,.collection-fullscreen .collection-side { height:100%; min-height:0; }
#collection-map { height:100%; min-height:500px; }
.collection-legend { position:absolute; left:12px; bottom:12px; z-index:500; display:flex; gap:10px; background:#fffffff0; border-radius:9px; padding:7px 9px; box-shadow:0 3px 12px #0002; }
.collection-legend span { font-size:9px; display:flex; align-items:center; gap:4px; }
.collection-legend i { width:17px; height:4px; border-radius:4px; background:#aeb5b2; }
.collection-legend i.active { background:var(--wine); }.collection-legend i.done { background:#239b69; }
.collection-side { display:grid; grid-template-columns:68px 1fr; background:#fff; border:1px solid var(--line); border-radius:13px; overflow:hidden; padding:0; color:var(--ink); }
.collection-hours { overflow-y:auto; border-right:1px solid var(--line); padding:8px 5px; }
.collection-hours button { display:flex; align-items:center; width:100%; background:transparent; color:var(--muted); padding:8px 4px; font-size:10px; border-radius:7px; }
.collection-hours button i { height:1px; background:var(--line); flex:1; margin-left:4px; }
.collection-hours button.active { background:#f4e9ed; color:var(--wine); font-weight:700; }
.collection-routes { overflow-y:auto; padding:9px; }
.collection-routes article { border:1px solid var(--line); border-left:4px solid #aeb5b2; border-radius:9px; padding:10px; margin-bottom:8px; }
.collection-routes article.active { border-left-color:var(--route-color); background:#fffbfc; }.collection-routes article.done { border-left-color:#239b69; background:#f3faf7; }
.collection-routes article>div { display:grid; grid-template-columns:9px 1fr; column-gap:7px; }
.collection-routes article>div i { width:8px; height:8px; border-radius:50%; background:var(--route-color); margin-top:4px; grid-row:1/3; }
.collection-routes article strong,.collection-routes article span { display:block; }.collection-routes article strong { font-size:12px; }.collection-routes article span { font-size:9px; color:var(--muted); }
.collection-routes article p { font-size:11px; margin:8px 0 4px; }.collection-routes article progress { width:100%; height:6px; accent-color:var(--route-color); }.collection-routes article.done progress { accent-color:#239b69; }
.collection-routes article small { display:block; font-size:9px; color:var(--muted); margin-top:4px; }
.collection-static-mode .static-route-label{display:none!important}.collection-static-mode .static-route-label.featured{display:block!important;z-index:1000!important}.collection-static-mode .static-route-label.featured span{padding:7px 10px;font-size:11px;box-shadow:0 3px 12px #0006}
.tire-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.tire-summary article{padding:15px;background:#fff;border:1px solid var(--line);border-radius:12px}.tire-summary span,.tire-summary strong{display:block}.tire-summary span{font-size:10px;color:var(--muted);text-transform:uppercase}.tire-summary strong{margin-top:5px;font-size:24px}.tire-status{display:inline-block;padding:5px 8px;border-radius:999px;background:#eef1f3;font-size:10px;font-weight:700}.tire-status.installed{background:#e4f6ee;color:#167c68}.tire-status.stolen,.tire-status.lost{background:#fde9e9;color:#b62e3b}.tire-status.stored{background:#fff3dc;color:#9a610c}.tire-warning{padding:10px;border-radius:9px;background:#fff2d8;color:#7b4d08;font-size:12px}@media(max-width:760px){.tire-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1050px){.collection-layout{grid-template-columns:1fr;height:auto}.collection-map-card,#collection-map{height:520px}.collection-side{height:420px}.collection-timebar{grid-template-columns:auto 55px 1fr}.collection-timebar>span{grid-column:1/-1}.collection-master-summary{grid-template-columns:1fr 1fr}.collection-static-mode .collection-layout{height:auto}}
@media(max-width:760px){.collection-week{grid-template-columns:repeat(4,1fr)}.collection-timebar{grid-template-columns:1fr 60px}.collection-timebar input{grid-column:1/-1}.collection-layout{min-height:0}.collection-map-card,#collection-map{height:450px;min-height:450px}.collection-side{grid-template-columns:58px 1fr}}
@media(max-width:760px){.collection-fullscreen{display:block!important;padding:6px!important;overflow:auto}.collection-fullscreen .collection-layout{height:auto}.collection-fullscreen .collection-map-card,.collection-fullscreen #collection-map{height:calc(100dvh - 330px);min-height:360px}.collection-fullscreen .collection-side{height:360px;margin-top:8px}}
.archive-summary{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:16px}.archive-summary article{background:#fff;border:1px solid var(--line);border-radius:8px;padding:17px}.archive-summary span,.archive-summary strong{display:block}.archive-summary span{font-size:11px;color:var(--muted)}.archive-summary strong{font-size:24px;margin-top:4px}.archive-periods{display:grid;gap:14px}.archive-period{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.archive-period>header{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;padding:16px;border-bottom:1px solid var(--line)}.archive-period>header h3{margin:0 0 4px;font-size:15px}.archive-period>header p{margin:0;color:var(--muted);font-size:12px}.archive-period>header>b{font-size:11px;color:var(--wine)}.archive-month{border-right:1px solid var(--line)}.archive-month span,.archive-month strong{display:block}.archive-month span{font-size:11px;color:var(--wine);font-weight:700}.archive-month strong{font-size:21px}.archive-files{padding:0 16px}.archive-file{display:grid;grid-template-columns:42px 1fr 38px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.archive-file:last-child{border-bottom:0}.archive-file-type{width:38px;height:38px;display:grid;place-items:center;background:#f0e7eb;color:var(--wine);border-radius:7px;font-size:9px;font-weight:800}.archive-file strong,.archive-file span,.archive-file code{display:block}.archive-file strong{font-size:12px}.archive-file span{font-size:10px;color:var(--muted);margin:3px 0}.archive-file code{font-size:9px;color:#59615e;overflow-wrap:anywhere}.archive-file button{width:36px;height:36px;padding:0;font-size:18px}.archive-empty{padding:20px;color:var(--muted);font-size:12px}.archive-dialog-help{color:var(--muted);font-size:12px}.archive-file-picker{border:1px dashed #bcaab1;padding:14px;border-radius:8px;background:#fcfafb}.archive-file-picker strong,.archive-file-picker span{display:block}.archive-file-picker span,.archive-selection{font-size:11px;color:var(--muted);margin:4px 0 10px}.archive-file-picker input{width:100%}.archive-selection{padding:10px;background:#f5f6f5;border-radius:7px}@media(max-width:760px){.archive-summary{grid-template-columns:1fr}.archive-period>header{grid-template-columns:68px 1fr}.archive-period>header>b{grid-column:2}.archive-file{grid-template-columns:36px minmax(0,1fr) 36px}}
.landfill-report-suite{margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,#faf6f8)}.landfill-report-tabs{display:flex;gap:8px;margin:14px 0}.landfill-report-tabs button{background:#eee5e9;color:var(--wine)}.landfill-report-tabs button.active{background:var(--wine);color:#fff}.landfill-report-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0}.landfill-report-metrics article{padding:15px;border:1px solid #eadde3;border-radius:14px;background:#fff}.landfill-report-metrics span,.landfill-report-metrics strong{display:block}.landfill-report-metrics span{font-size:10px;color:var(--muted);text-transform:uppercase}.landfill-report-metrics strong{margin-top:5px;color:var(--wine);font-size:20px}.landfill-report-downloads{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}.landfill-cost-chart{margin-top:16px;padding:20px;border:1px solid #eadde3;border-radius:14px;background:#fff}.landfill-cost-chart h3{margin:0 0 14px}.cost-bar{display:grid;grid-template-columns:100px minmax(100px,1fr) 150px;align-items:center;gap:10px;margin:9px 0;font-size:11px}.cost-bar>i{height:14px;border-radius:10px;background:linear-gradient(90deg,var(--wine) var(--bar),#f0e6ea var(--bar));box-shadow:inset 0 0 0 1px #e3d4da}.cost-bar>strong{text-align:right}.cost-bar small{display:block;color:var(--muted)}@media(max-width:900px){.landfill-report-metrics{grid-template-columns:1fr 1fr}.cost-bar{grid-template-columns:70px 1fr 110px}.landfill-report-suite{padding:14px}}
.tank-config,.tank-measure-grid{border:1px solid #e4d7dc;border-radius:14px;padding:14px;background:#fcf9fa}.tank-config legend,.tank-measure-grid legend{padding:0 7px;color:var(--wine);font-weight:800}.fuel-control-guide{margin:0 0 16px;padding:13px 16px;border-left:4px solid #c99b55;border-radius:10px;background:#fff8e9;color:#5d4a28}.fuel-calibration-summary,.fuel-measurement-preview{margin:12px 0;padding:13px;border:1px solid #dfd0d7;border-radius:12px;background:#faf5f7}.fuel-measurement-preview{color:var(--wine);line-height:1.7}.tank-measure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tank-measure-grid legend{grid-column:1/-1}@media(max-width:700px){.tank-measure-grid{grid-template-columns:1fr}}
.route-endpoint-wrapper{background:transparent!important;border:0!important}.route-endpoint-marker{position:relative;display:flex;align-items:center;gap:5px;width:max-content;filter:drop-shadow(0 3px 5px #0005)}.route-endpoint-marker b{display:grid;place-items:center;width:36px;height:36px;border:3px solid #fff;border-radius:50%;color:#fff;font-size:13px}.route-endpoint-marker span{padding:5px 8px;border:2px solid #fff;border-radius:8px;background:#fff;color:#25312d;font-size:10px;font-weight:800;box-shadow:0 2px 7px #0003}.route-endpoint-marker.start b{background:#239b69}.route-endpoint-marker.finish b{background:#6f1837}.route-endpoint-marker.single b{background:#c99b55}.route-endpoint-badge{display:inline-block;margin-left:8px;padding:2px 6px;border-radius:10px;color:#fff;font-size:8px;font-style:normal;vertical-align:middle}.route-endpoint-badge.start{background:#239b69}.route-endpoint-badge.finish{background:#6f1837}
.vehicle-location-share{display:block;width:100%;margin-top:12px;padding:9px 12px;border-radius:9px;background:linear-gradient(100deg,#651433,#7d2044);color:#fff;font-size:11px;font-weight:800;box-shadow:0 5px 14px #6f18372b}.vehicle-location-share:hover{background:#4c1027}.leaflet-popup-content .vehicle-location-share{min-width:185px}.municipal-detail .vehicle-location-share{margin-top:8px}
.fuel-visual-dashboard{margin:18px 0 22px;padding:22px;border:1px solid #dfd2d8;border-radius:22px;background:radial-gradient(circle at 92% 0,#f2dfe7 0,transparent 32%),linear-gradient(145deg,#fff 0,#fbf7f9 100%);box-shadow:0 18px 48px #4c102018}.fuel-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.fuel-dashboard-head h2{margin:4px 0 0;color:#35101e;font-size:26px}.fuel-chart-filters{display:flex;gap:8px}.fuel-chart-filters select{min-width:170px;border-color:#d9c7cf;background:#fff}.fuel-chart-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.fuel-chart-kpis article{position:relative;overflow:hidden;padding:15px;border:1px solid #e5d8dd;border-radius:16px;background:#fff;box-shadow:0 8px 22px #4110200b}.fuel-chart-kpis article:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#7b173d}.fuel-chart-kpis article.warning:before{background:#dc8a1e}.fuel-chart-kpis article.danger:before{background:#c6354a}.fuel-chart-kpis span,.fuel-chart-kpis strong,.fuel-chart-kpis small{display:block}.fuel-chart-kpis span{font-size:9px;font-weight:800;letter-spacing:.08em;color:#7a6870;text-transform:uppercase}.fuel-chart-kpis strong{margin:5px 0 2px;color:#431326;font-size:22px}.fuel-chart-kpis small{color:#8a7880;font-size:9px}.fuel-chart-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:12px}.fuel-chart-card{min-width:0;padding:18px;border:1px solid #e5d8dd;border-radius:18px;background:#fff;box-shadow:0 10px 28px #4110200d}.fuel-chart-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.fuel-chart-card header span{font-size:9px;font-weight:800;letter-spacing:.12em;color:#a07989}.fuel-chart-card h3{margin:3px 0;color:#3e1726;font-size:15px}.fuel-trend-card{grid-column:span 1}.fuel-legend{display:flex;align-items:center;gap:6px;color:#7a6870;font-size:9px}.fuel-legend i{width:16px;height:3px;border-radius:5px}.fuel-legend .measured{background:#7b173d}.fuel-legend .expected{background:#c99b55}.fuel-trend-card svg{display:block;width:100%;height:235px;overflow:visible}.fuel-trend-card svg .grid{stroke:#eadfe3;stroke-width:1}.fuel-trend-card svg text{fill:#927d85;font-size:9px}.measured-line,.expected-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.measured-line{stroke:#7b173d;stroke-width:4}.expected-line{stroke:#c99b55;stroke-width:3;stroke-dasharray:7 6}.measured-dot{fill:#fff;stroke:#7b173d;stroke-width:3}.fuel-tank-visual{text-align:center}.tank-shell{position:relative;isolation:isolate;display:grid;place-items:center;width:150px;height:150px;margin:4px auto 18px;overflow:hidden;border:8px solid #52152d;border-radius:42% 42% 48% 48%;background:#f2e8ec;box-shadow:inset 0 8px 20px #36101e22,0 12px 30px #52152d20}.tank-fill{position:absolute;z-index:-1;bottom:0;width:100%;height:var(--level);background:linear-gradient(#d6ae55,#b87918);transition:height .5s}.tank-shell b,.tank-shell span{display:block;text-shadow:0 1px 4px #fff}.tank-shell b{font-size:25px;color:#35101e}.tank-shell span{font-size:9px;text-transform:uppercase}.fuel-flow{display:flex;justify-content:center;align-items:center;gap:7px}.fuel-flow div{padding:8px;border-radius:10px;background:#faf5f7}.fuel-flow span,.fuel-flow strong{display:block;font-size:9px}.fuel-flow strong{font-size:13px}.fuel-flow em{color:#b08a96;font-style:normal}.fuel-tank-visual>small{display:block;margin-top:12px;color:#826e76}.variance-row{display:grid;grid-template-columns:75px 1fr 65px;align-items:center;gap:8px;margin:10px 0}.variance-row span,.variance-row strong{font-size:10px}.variance-row span small{display:block;color:#99858d}.variance-row>div{height:10px;border-radius:8px;background:#f0e7ea}.variance-row i{display:block;width:var(--variance);height:100%;border-radius:8px}.variance-row i.over{background:linear-gradient(90deg,#e3a439,#c83e4f)}.variance-row i.under{background:#3ca67a}.variance-row strong{text-align:right}.efficiency-row{display:grid;grid-template-columns:22px 60px 1fr 65px;align-items:center;gap:8px;margin:10px 0}.efficiency-row>b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#f1e6ea;color:#7b173d;font-size:9px}.efficiency-row span,.efficiency-row strong{font-size:10px}.efficiency-row i{height:9px;border-radius:7px;background:linear-gradient(90deg,#7b173d var(--eff),#eee5e9 var(--eff))}.fuel-chart-empty{display:grid;place-items:center;min-height:160px;color:#9a8790;text-align:center}@media(max-width:1100px){.fuel-chart-kpis{grid-template-columns:repeat(3,1fr)}.fuel-chart-grid{grid-template-columns:1fr}}@media(max-width:700px){.fuel-visual-dashboard{padding:14px}.fuel-dashboard-head{align-items:stretch;flex-direction:column}.fuel-chart-filters{flex-direction:column}.fuel-chart-kpis{grid-template-columns:1fr 1fr}.fuel-chart-card{padding:13px}}
.coverage-assignment-note{display:flex;gap:10px;align-items:center;margin:14px 0;padding:14px 18px;border:1px solid #e5c5cf;border-left:5px solid var(--wine);border-radius:12px;background:#fff7f9;color:#374151}.coverage-assignment-note strong{color:var(--wine)}.coverage-assignment-note span{color:var(--muted)}.coverage-filter-actions{display:flex;gap:10px;align-items:end}.coverage-filter-actions button{min-height:48px;white-space:nowrap}
.route-state{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:9px;font-weight:800}.route-state.moving{background:#f4e6ec;color:#6f1837}.route-state.engine-on{background:#fff0d8;color:#9a5b00}.route-state.parked{background:#e7eef4;color:#365a73}.route-state.unknown{background:#eceeed;color:#626967}.route-popup .route-state{white-space:normal;line-height:1.25}
.route-direction-icon{background:transparent!important;border:0!important}.route-direction-icon span{display:grid;place-items:center;width:20px;height:20px;border:2px solid #fff;border-radius:50%;background:#6f1837;color:#fff;font-size:12px;line-height:1;box-shadow:0 2px 6px #0006;transform-origin:center}.route-direction-icon.engine-on span{background:#df8f24}.route-direction-icon.parked span{background:#52708a}.route-direction-icon.unknown span{background:#8b9290}.route-direction-icon:hover span{width:24px;height:24px;margin:-2px;font-size:14px;z-index:1000}
.route-version-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.route-version-status.draft{background:#f1f3f4;color:#58636a}.route-version-status.review{background:#fff2cf;color:#865d00}.route-version-status.authorized{background:#e7f1ff;color:#195d9d}.route-version-status.active{background:#e2f5ec;color:#146b4d}.route-version-status.archived{background:#f3e8ed;color:#765464}.route-version-active td{background:#fbfffd}.route-version-archived{opacity:.67}.route-version-archived:hover{opacity:1}.route-actions{min-width:245px}.route-actions button{white-space:nowrap}
.professional-nav-section{border-radius:13px}.professional-nav-section summary{min-height:52px;padding:12px 13px}.professional-nav-section summary b{font-size:12px;letter-spacing:.01em}.professional-nav-section .nav-section-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#ffffff0c;color:#efd08e;font-size:14px}.professional-nav-section[open] .nav-section-icon{background:#efd08e;color:#5b1230}.nav-section-count{display:grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:#ffffff10;color:#cfbdc5;font-size:9px;font-weight:800}.professional-nav-section[open] .nav-section-count{background:#ffffff18;color:#fff}.professional-nav-section .nav-section-links{gap:2px;padding:5px 7px 9px}.professional-nav-section .nav-section-links button{min-height:39px;padding:8px 10px 8px 13px;border-radius:8px;color:#d9cbd1}.professional-nav-section .nav-section-links button:hover{background:#ffffff0b;color:#fff}.professional-nav-section .nav-section-links button.active{background:linear-gradient(90deg,#ffffff18,#ffffff0d);color:#fff;box-shadow:inset 3px 0 #efd08e}.professional-nav-section .nav-section-links button span{line-height:1.25}
.letterhead-watermark{position:absolute;left:23%;top:28%;width:54%;height:44%;object-fit:contain;pointer-events:none;z-index:0}.letterhead-sheet>header,.letterhead-sheet>main,.letterhead-sheet>footer{position:relative;z-index:1}.report-letterhead-option{min-width:230px;align-self:stretch;display:flex!important;align-items:center;gap:9px;padding:10px 13px!important;border:1px solid #dbcbd1;border-radius:10px;background:#fbf6f8}.report-letterhead-option input{width:20px;height:20px;flex:0 0 auto}.report-letterhead-option small{display:block;color:var(--muted);font-weight:400;line-height:1.25}
.letterhead-sheet>footer{position:absolute;left:0;right:0;bottom:0;height:43px;background:var(--letterhead-stripe);color:#fff;display:flex;align-items:center;justify-content:center;padding:5px 12px 0;box-sizing:border-box;text-align:center}.letterhead-sheet>footer b{display:block;width:100%;height:auto;padding:0;margin:0;color:#fff;text-align:center;white-space:pre-line;overflow-wrap:anywhere;line-height:1.2}.letterhead-sheet>footer div:first-of-type{position:absolute;left:0;right:0;top:0;height:5px;background:#7f6000}.letterhead-sheet>footer div:last-of-type{display:none}
.operational-geofence-pin{border:0!important;background:transparent!important}.operational-geofence-pin i{position:absolute;left:3px;top:2px;display:block;width:18px;height:18px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:#59656c;box-shadow:0 4px 10px #17232b66;transform:rotate(-45deg)}.operational-geofence-pin i:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}.operational-geofence-pin.gasolinera i{background:#a85108}.operational-geofence-pin.relleno_sanitario i,.operational-geofence-pin.tiradero i{background:#216746}.operational-geofence-pin.bodega_limpias i{background:#205a88}.geofence-popup.priority strong{font-size:15px;font-weight:900}.geofence-popup.priority span{font-weight:800}
.vehicle-map-name{position:absolute;z-index:4;left:50%;top:-3px;max-width:82px;padding:2px 6px;border:2px solid #fff;border-radius:8px;background:#24323bee;color:#fff;font-size:9px;font-weight:900;line-height:1.15;white-space:nowrap;box-shadow:0 3px 9px #17232b55;transform:translateX(-50%);pointer-events:none}.municipal-vehicle-marker{position:absolute}.municipal-vehicle-marker span{position:absolute;z-index:3;left:50%;top:-8px;margin:0;transform:translateX(-50%);white-space:nowrap}
.integration-title-actions{display:flex;gap:10px;align-items:center}.integration-dialog{width:min(1050px,96vw);max-height:92vh}.integration-drop{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px dashed #bfaab3;border-radius:14px;background:#fcf8fa;margin:18px 0}.integration-drop input{padding:10px;background:white}.integration-drop span{font-size:12px;color:var(--muted)}.integration-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.integration-summary article{padding:14px;border:1px solid var(--line);border-radius:12px;background:white}.integration-summary span,.integration-summary strong{display:block}.integration-summary span{font-size:11px;color:var(--muted)}.integration-summary strong{font-size:25px}.integration-summary .ready{border-left:4px solid #239b69}.integration-summary .observed{border-left:4px solid #df8f24}.integration-preview{max-height:430px;overflow:auto;border:1px solid var(--line);border-radius:12px}.integration-preview table{width:100%;border-collapse:collapse}.integration-preview th{position:sticky;top:0;background:#f7f8f7;z-index:1}.integration-preview th,.integration-preview td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.integration-state{display:inline-block;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.integration-state.ready{background:#e6f6ef;color:#147a52}.integration-state.observed{background:#fff2de;color:#9b5b08}.integration-state.duplicate{background:#eef0f1;color:#5f686d}@media(max-width:760px){.integration-summary{grid-template-columns:1fr 1fr}.integration-title-actions{flex-direction:column;align-items:stretch}}
.integration-scope-note{grid-column:1/-1;margin:0;padding:11px 14px;border-radius:10px;background:#f8eef2;color:var(--wine);font-size:12px;font-weight:700}
.integration-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:15px 0}.integration-steps span{display:flex;align-items:center;gap:7px;padding:9px;border-radius:10px;background:#f1f2f2;color:#7b8387;font-size:11px;font-weight:700}.integration-steps b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#d9dddf;color:#596267}.integration-steps span.active{background:#f7e9ef;color:var(--wine)}.integration-steps span.active b{background:var(--wine);color:#fff}.integration-report{margin:16px 0;border:1px solid #decbd3;border-radius:14px;overflow:hidden;background:#fff}.integration-report>header{display:flex;justify-content:space-between;gap:15px;padding:14px 17px;background:#f8eef2}.integration-report>header span,.integration-report>header strong{display:block}.integration-report>header span{font-size:9px;letter-spacing:.12em;color:var(--wine);font-weight:800}.integration-report>header strong{margin-top:4px;font-size:13px}.integration-report>header>b{align-self:center;padding:5px 10px;border-radius:999px;background:#e6f6ef;color:#147a52;font-size:10px}.integration-report>div{display:grid;grid-template-columns:repeat(4,1fr)}.integration-report article{padding:14px 16px;border-right:1px solid var(--line)}.integration-report article:last-child{border:0}.integration-report article span,.integration-report article strong{display:block}.integration-report article span{font-size:10px;color:var(--muted)}.integration-report article strong{font-size:15px;margin-top:5px}.integration-report>p{margin:0;padding:11px 16px;border-top:1px solid var(--line);font-size:11px;color:#5f686d}.integration-dialog #integration-confirm{background:#176f4c}.integration-dialog #integration-cancel{color:#8a213f;border-color:#d7b8c4}@media(max-width:760px){.integration-steps,.integration-report>div{grid-template-columns:1fr 1fr}}

/* Historial: filtros y resumen con mayor legibilidad. */
#route-form{padding:20px;gap:16px}
#route-form label{font-size:14px;line-height:1.4;letter-spacing:.025em;color:#526174;min-width:0}
#route-form input,#route-form select{height:54px;min-width:0;margin-top:8px;padding:0 12px;font-size:17px;font-weight:600}
#route-form button{height:54px;font-size:17px;padding:0 20px}
#view-history .route-summary{height:auto;min-height:88px;flex-shrink:0}
#view-history .route-summary>div{padding:16px 18px}
#view-history .route-summary span{font-size:14px;line-height:1.4}
#view-history .route-summary strong{font-size:24px;line-height:1.3;margin-top:5px}
@media(min-width:1101px) and (max-width:1500px){#route-form{grid-template-columns:repeat(3,minmax(0,1fr))}#route-form label:first-child,#route-form button{grid-column:auto}}
@media(max-width:600px){#route-form{padding:14px;gap:12px}#route-form input,#route-form select{font-size:16px}#view-history .route-summary>div{padding:12px 10px}#view-history .route-summary strong{font-size:21px}}
.fuel-history-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:26px 0 14px}.fuel-history-head h2{margin:4px 0}.fuel-history-head p{margin:0;color:#6f7b86}.fuel-history-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.fuel-history-filters select,.fuel-history-filters input{min-height:44px;padding:0 12px;border:1px solid #d9dfe3;border-radius:10px;background:#fff;color:#172638}.fuel-history-filters select{min-width:210px}@media(max-width:900px){.fuel-history-head{display:block}.fuel-history-filters{justify-content:flex-start;margin-top:14px}}
.fuel-history-filters .fuel-export{background:#fff;color:#74183b;border:1px solid #cbaebb}.fuel-history-filters .fuel-export:hover{background:#74183b;color:#fff}.fuel-history-filters .fuel-export:disabled{opacity:.45;cursor:not-allowed}.fuel-history-analysis{margin:22px 0 8px;padding:22px;border:1px solid #e3d5db;border-radius:20px;background:linear-gradient(145deg,#fff 0%,#fff 68%,#f8edf2 100%);box-shadow:0 16px 38px #4911260c}.fuel-history-analysis>header h2{margin:5px 0;color:#351320}.fuel-history-analysis>header p{margin:0;color:#6f7b86}.fuel-history-chart-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;margin-top:18px}.fuel-history-chart-grid article{min-width:0;padding:17px;border:1px solid #eadfe3;border-radius:16px;background:#fff}.fuel-history-chart-grid h3{margin:0;color:#3d1726;font-size:15px}.fuel-history-chart-grid article>p{margin:4px 0 12px;color:#89939b;font-size:10px}.fuel-history-chart-grid svg{display:block;width:100%;height:220px}.fuel-history-chart-grid svg .grid{stroke:#ede3e7;stroke-width:1}.fuel-history-chart-grid svg polyline{fill:none;stroke:#74183b;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.fuel-history-chart-grid svg circle{fill:#fff;stroke:#c99b55;stroke-width:3}.fuel-history-chart-grid svg text{fill:#85737b;font-size:10px}.fuel-impact-bars>div{display:grid;grid-template-columns:88px 1fr 42px;align-items:center;gap:7px;margin:10px 0}.fuel-impact-bars span{overflow:hidden;color:#59656d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.fuel-impact-bars i{height:11px;border-radius:8px;background:linear-gradient(90deg,#74183b var(--bar),#f0e6ea var(--bar))}.fuel-impact-bars.gold i{background:linear-gradient(90deg,#c99b55 var(--bar),#f4eee2 var(--bar))}.fuel-impact-bars.green i{background:linear-gradient(90deg,#318468 var(--bar),#e4f0ec var(--bar))}.fuel-impact-bars strong{text-align:right;color:#3d1726;font-size:10px}@media(max-width:1100px){.fuel-history-chart-grid{grid-template-columns:1fr}.fuel-history-chart-grid article{min-height:260px}}
.fuel-edit-button{display:block;margin-top:7px;padding:6px 11px!important;font-size:10px!important}.fuel-observation{max-width:240px;margin-top:5px;padding:6px 8px;border-radius:8px;background:#f3f5f5;color:#5f686d;white-space:normal!important;line-height:1.3}.fuel-observation.conciliated{background:#e7f5ee;color:#176c4e}.fuel-observation.review{background:#fff0d9;color:#8c5700}.fuel-edit-reason{padding:12px;border:1px solid #d6aeba;border-radius:12px;background:#fff7f9}.fuel-edit-reason.hidden{display:none!important}
.letterhead-style-control{display:grid;gap:7px;margin:14px 0;padding:16px;border:1px solid #ead8df;border-radius:14px;background:#fcf8fa}.letterhead-style-control select{height:46px;padding:0 12px;border:1px solid #d9c7cf;border-radius:10px;background:#fff;font-weight:750;color:#351320}.letterhead-style-control small{color:#6f7b86;line-height:1.45}.letterhead-sheet.executive>header{position:relative;min-height:78px;padding-bottom:16px;align-items:center}.letterhead-sheet.executive>header:after{content:"";position:absolute;left:4%;right:4%;bottom:4px;height:3px;background:#b38a24}.letterhead-sheet.executive>header strong{white-space:pre-line;text-align:center;font-size:13px;line-height:1.35;color:#172638}.letterhead-sheet.executive>footer{border-top:4px solid #b38a24;background:#612030;color:#fff}

/* Compact settings preview, including large uploaded logos. */
#branding-form .logo-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 108px;
  min-height: 0;
  padding: 12px;
  box-sizing: border-box;
  overflow: hidden;
}
#branding-form #logo-preview {
  display: block;
  position: static;
  width: 96px;
  height: 80px;
  max-width: 100%;
  max-height: 80px;
  min-width: 0;
  min-height: 0;
  object-fit: contain;
  flex: 0 1 96px;
  margin: 0;
}
