/* Una selección del parque, presentada en cuatro vistas excluyentes. */
.app-shell.inventory-workspace-active .main-column > .content { flex-direction: column; gap: 8px; overflow: hidden; }
.app-shell.inventory-workspace-active :is(#parkView, #mapView, #parkTreeView) { flex: 1 1 0; height: auto; width: 100%; min-width: 0; min-height: 0; }
.park-view-switcher { display: flex; flex: 0 0 auto; gap: 5px; align-items: center; padding: 3px; border: 1px solid #596475; border-radius: 11px; background: rgba(22, 27, 36, .85); }
.park-view-switcher > button { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 6px 15px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #d6e0ef; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.park-view-switcher > button[aria-selected="true"] { background: #43546f; border-color: #a3b8d6; color: #fff; }
.park-view-switcher > button:hover { background: #344155; color: #fff; }
.park-view-switcher > button:focus-visible { outline: 2px solid #dbe8ff; outline-offset: 1px; }
.park-view-switcher svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.park-selection-hint { margin-left: auto; padding: 0 10px; color: #c0cddd; font-size: 10px; }
.park-filter-disclosure { display: none; }
.app-shell .app-header .park-supply-summary { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; grid-column: 1 / -1; grid-row: 3; padding: 2px 0 0; }
.park-supply-chip { display: inline-flex; gap: 6px; align-items: center; padding: 3px 8px; border: 1px solid #687d99; border-radius: 7px; background: rgba(33, 43, 58, .85); color: #dce6f6; font-size: 10px; line-height: 1.2; }
.park-supply-chip strong { color: #fff; font-size: 12px; }
.park-supply-chip.is-empty { background: rgba(24, 29, 37, .7); border-color: #566375; }
.park-supply-chip .table-supply-symbol { background: #c6d9f7; width: 9px; height: 9px; flex-basis: 9px; }
.app-shell.inventory-workspace-active .app-header .topbar-actions { grid-template-rows: auto auto auto; }
.app-shell.inventory-workspace-active #mapView { display: flex; }
.app-shell.inventory-workspace-active #mapView .map-canvas-panel { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; width: 100%; height: 100%; min-height: 0; min-width: 0; overflow: hidden; }
.park-map-overview { display: flex; gap: 8px 18px; flex-wrap: wrap; align-items: center; padding: 9px 12px; border-bottom: 1px solid #566375; background: rgba(22, 29, 39, .9); }
.park-map-overview > div { display: flex; flex: 1; flex-wrap: wrap; gap: 8px 18px; }
.park-map-overview > div > span { color: #cbd7e8; font-size: 11px; }
.park-map-overview strong { color: #fff; font-size: 15px; margin-left: 5px; }
.park-map-overview .button { min-height: 29px; padding: 4px 8px; font-size: 10px; }
.park-map-overview #mapCount { width: 100%; margin: 0; color: #c3d0e2; font-size: 10px; }
.app-shell.inventory-workspace-active #inventoryMap { width: 100%; min-width: 0; min-height: 0; height: 100%; max-height: none; }
.app-shell.inventory-workspace-active #mapView .map-legend-body { display: flex; flex-wrap: wrap; gap: 5px 18px; padding: 7px 10px; background: rgba(22, 28, 37, .92); border-top: 1px solid #566375; }
.app-shell.inventory-workspace-active #mapView .legend-group { display: flex; flex-wrap: wrap; gap: 5px 13px; }
.app-shell.inventory-workspace-active #mapView .legend-group > span { font-size: 10px; }
.app-shell.inventory-workspace-active #mapView .map-layer-hint { flex-basis: 100%; color: #b9c8dd; font-size: 9px; }
.app-shell.inventory-workspace-active #parkTreeView { display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; }
.park-tree-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 11px 14px; border-bottom: 1px solid #566375; background: rgba(24, 30, 40, .85); }
.park-tree-toolbar > div { margin-right: auto; }
.park-tree-toolbar h2 { margin: 0 0 3px; color: #f1f6ff; font-size: 15px; }
.park-tree-toolbar p { margin: 0; color: #c1cee0; font-size: 10px; }
.park-tree-toolbar label { display: flex; align-items: center; gap: 7px; color: #d2dded; font-size: 10px; }
.park-tree-toolbar select { width: auto; max-width: 310px; min-height: 31px; padding: 5px 8px; font-size: 11px; background: #263247; color: #f2f7ff; border-color: #8197b7; }
.park-tree-toolbar .button { min-height: 31px; padding: 5px 9px; font-size: 10px; }
.park-tree-canvas { min-width: 0; min-height: 0; overflow: auto; padding: 16px 20px 24px; overscroll-behavior: contain; }
.park-tree-root { display: grid; justify-items: center; width: max-content; min-width: 220px; margin: 0 auto 27px; padding: 10px 25px; border: 1px solid #b5c9e8; border-radius: 12px; background: #354960; color: #eaf2ff; box-shadow: 0 5px 20px #0a10154d; position: relative; }
.park-tree-root strong { color: #fff; font-size: 30px; line-height: 1.1; }
.park-tree-root span { font-size: 11px; }
.park-tree-root small { font-size: 10px; color: #c6d7ec; margin-top: 4px; }
.park-tree-root::after { content: ""; position: absolute; top: 100%; left: 50%; height: 15px; border-left: 1px solid #91a8c9; }
.park-tree-branches { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 18px 14px; align-items: start; position: relative; }
.park-tree-branches::before { content: ""; position: absolute; top: -12px; left: 10%; right: 10%; border-top: 1px solid #91a8c9; }
.park-tree-branches:has(> .park-tree-group:only-child)::before { display: none; }
.park-tree-group { position: relative; min-width: 0; border: 1px solid #596e8a; border-radius: 9px; background: rgba(23, 31, 44, .94); color: #e2ebf8; }
.park-tree-branches > .park-tree-group::before { content: ""; position: absolute; bottom: 100%; left: 50%; height: 12px; border-left: 1px solid #91a8c9; }
.park-tree-group summary { display: flex; gap: 7px; align-items: center; min-height: 39px; padding: 7px 10px; cursor: pointer; list-style: none; color: #e8f0ff; font-size: 11px; }
.park-tree-group summary::-webkit-details-marker { display: none; }
.park-tree-group summary::before { content: "›"; color: #b8cef0; font-size: 20px; line-height: 15px; transform-origin: center; }
.park-tree-group[open] > summary::before { transform: rotate(90deg); }
.park-tree-group summary:hover { background: #394963; border-radius: 8px; }
.park-tree-label { min-width: 0; overflow-wrap: anywhere; }
.park-tree-label strong { display: block; color: #f3f7ff; font-size: 12px; }
.park-tree-label small { display: block; margin-top: 2px; color: #c1cee1; font-size: 10px; }
.park-tree-count { margin-left: auto; flex: 0 0 auto; padding: 3px 8px; border-radius: 6px; background: #465e80; color: #fff; font-size: 13px; font-weight: 800; }
.park-tree-children { display: grid; gap: 6px; padding: 4px 7px 8px 17px; border-left: 1px solid #657f9f; margin-left: 12px; }
.park-tree-group .park-tree-group { background: rgba(33, 43, 58, .8); border-color: #4e627f; }
.park-tree-product { display: flex; gap: 8px; align-items: center; width: 100%; padding: 8px 10px; border: 1px solid #627a9b; border-radius: 7px; background: #2b3a51; color: #f1f5ff; text-align: left; font: inherit; font-size: 11px; cursor: pointer; }
.park-tree-product:hover { background: #455d7f; }
.park-tree-product span { display: block; color: #ccd9eb; font-size: 10px; margin-top: 3px; }
.park-tree-empty { padding: 36px 20px; text-align: center; color: #d1dded; }
@media (max-width: 1100px) { .park-tree-branches { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); } }
@media (max-width: 760px) {
  .app-shell.inventory-workspace-active .park-filter-disclosure { display: inline-flex; align-items: center; gap: 5px; margin-top: 4px; padding: 4px 7px; border: 1px solid #879ebf; border-radius: 7px; background: #2a394f; color: #e9f2ff; font: inherit; font-size: 10px; cursor: pointer; }
  .park-filter-disclosure svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.6; }
  .app-shell.inventory-workspace-active.park-filters-collapsed .header-inventory-controls { display: none; }
  .app-shell.inventory-workspace-active.park-filters-collapsed .header-workspace-controls { padding: 0; }
  .park-selection-hint { display: none; }
  .park-view-switcher > button { flex: 1; justify-content: center; padding: 5px 7px; gap: 5px; font-size: 11px; }
  .app-shell .app-header .park-supply-summary { width: 100%; justify-content: flex-start; gap: 4px; }
  .park-supply-chip { padding: 3px 6px; gap: 4px; font-size: 9px; }
  .park-tree-toolbar { gap: 5px; padding: 6px; flex-wrap: nowrap; }
  .park-tree-toolbar > div { display: none; }
  .park-tree-toolbar label { flex: 1; min-width: 0; }
  .park-tree-toolbar label > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .app-shell #parkTreeView .park-tree-toolbar select { max-width: none; width: 100%; height: 32px; min-height: 32px; font-size: 10px; padding: 4px 7px; }
  .app-shell #parkTreeView .park-tree-toolbar .button { width: 32px; height: 32px; flex: 0 0 32px; font-size: 0; padding: 0; }
  #expandParkTree::after { content: "+"; font-size: 20px; }
  #collapseParkTree::after { content: "−"; font-size: 20px; }
  .park-tree-root { grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 10px; min-width: 0; width: max-content; max-width: 100%; padding: 8px 12px; }
  .park-tree-root strong { grid-row: 1 / 3; font-size: 26px; }
  .park-tree-root span { font-size: 10px; }
  .park-tree-root small { font-size: 9px; margin-top: 2px; }
  .park-tree-canvas { padding: 12px 10px 20px; }
  .park-tree-branches { grid-template-columns: minmax(0, 1fr); }
  .park-map-overview { padding: 7px; gap: 6px; }
  .park-map-overview > div { gap: 5px 12px; }
  .park-map-overview > div > span { font-size: 10px; }
  .park-map-overview #mapCount { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .app-shell.inventory-workspace-active #mapView .map-layer-hint { display: none; }
  .app-shell.inventory-workspace-active #mapView .legend-group > span { font-size: 9px; }
  .app-shell.inventory-workspace-active #mapView .legend-group:not(.legend-statuses) > span { font-size: 0; }
  .app-shell.inventory-workspace-active #mapView .legend-group:not(.legend-statuses) > span b { font-size: 9px; }
}
.app-shell .sidebar .sidebar-footer,
.app-shell:is(.inventory-workspace-active, .map-workspace-active) .sidebar .sidebar-footer { display: flex; flex-direction: column; align-items: stretch; gap: 7px; }
.app-shell .sidebar .sidebar-footer .profile-block { margin-bottom: 0; }
.app-shell .sidebar .sidebar-footer .profile-switcher { display: grid; gap: 4px; margin: 0; }
.app-shell .sidebar .sidebar-footer .profile-switcher[hidden] { display: none; }
.app-shell .sidebar .sidebar-footer .profile-switcher > span { color: #dce2ee; font-size: 10px; font-weight: 700; }
.app-shell .sidebar .sidebar-footer .profile-switcher select { width: 100%; max-width: 100%; min-height: 34px; margin: 0; border: 1px solid #8795ad; background: #2c3340; color: #fff; font-size: 11px; }
.app-shell .sidebar .sidebar-footer .profile-switcher select:hover { border-color: #bac8de; }
.app-shell .sidebar .sidebar-footer .profile-switcher option { background: #252b35; color: #fff; }
.app-shell .sidebar .sidebar-footer #logoutButton { width: 100%; font-size: 11px; }
.ccc-absence-badge{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;color:#ffe297!important;font-size:10px!important;font-weight:750;line-height:1.4;white-space:nowrap;background:#2d261b;border:1px solid #80642e;border-radius:5px;padding:1px 5px;vertical-align:middle}.ccc-absence-badge b{color:#20180a!important;background:#ffd15b;border-radius:50%;width:12px;height:12px;flex-shrink:0;text-align:center;line-height:12px;font-size:10px!important}.inventory-table td .ccc-absence-badge{margin-left:5px}

/* LC / LE: alertas independientes, con excepciones legibles y sin halos. */
.ccc-limit-indicators{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;vertical-align:middle;margin-left:5px}
.ccc-limit-badge{position:relative;display:inline-flex;align-items:center;width:max-content;max-width:none;white-space:nowrap;border:1px solid #8c6d2e;border-radius:5px;padding:1px 5px;background:#302719;color:#ffe297!important;font:750 10px/1.4 system-ui,sans-serif!important}
.ccc-limit-badge.is-exempt{background:#162e24;border-color:#39835e;color:#83efad!important}
.ccc-limit-badge[data-tip]:is(:hover,:focus-visible)::after{content:attr(data-tip);position:absolute;z-index:1500;left:0;top:calc(100% + 5px);width:240px;max-width:70vw;white-space:normal;background:#202733;color:#f4f7fc;border:1px solid #8390a5;border-radius:7px;padding:8px;font:500 11px/1.45 system-ui,sans-serif;box-shadow:0 4px 16px #0008;pointer-events:none}
.ccc-limit-badge:focus-visible{outline:2px solid #fff;outline-offset:2px}


.ccc-limit-manage{display:block;margin:8px;font-size:11px}
.ccc-limit-dialog{width:min(580px,94vw);max-height:90dvh;padding:0;background:#202733!important;color:#f4f7fc!important;border:1px solid #657186;border-radius:16px}
.ccc-limit-dialog form{display:flex;flex-direction:column;max-height:88dvh}
.ccc-limit-dialog .dialog-heading,.ccc-limit-dialog .dialog-actions{flex:none;background:#242c39!important;padding:16px;gap:10px}
.ccc-limit-dialog :is(h2,p,label,legend,summary,strong,small){color:#edf3fc!important}
.ccc-limit-dialog .field-help{color:#cad5e6!important;font-size:12px;line-height:1.5}
.ccc-limit-body{overflow:auto;padding:16px;display:grid;gap:14px}
.ccc-limit-choice{border:1px solid #6b7990;border-radius:9px;margin:0 0 12px;padding:12px;display:grid;gap:10px}
.ccc-limit-dialog :is(input,textarea,select){background:#141c28!important;color:#fff!important;border:1px solid #8190a7!important;border-radius:7px;width:100%;padding:9px;font:inherit;box-sizing:border-box;color-scheme:dark}
.ccc-limit-dialog option{background:#141c28;color:#fff}
.ccc-limit-dialog label{display:grid;gap:6px;font-size:12px}.ccc-limit-dialog [hidden]{display:none!important}
.ccc-limit-history{border-top:1px solid #536079;padding:10px 0;font-size:11px;overflow-wrap:anywhere}.ccc-limit-history p{margin:5px 0}.ccc-limit-history small{font-size:11px}
.ccc-limit-dialog .form-error{color:#ffd6d6!important;background:#471e2c!important;padding:10px;border:1px solid #d68492}

/* Indicadores con columna propia: nunca sobre la serie, dirección o marcadores. */
.inventory-table :is(th,td)[data-column="indicadores"]{width:208px!important;min-width:208px!important;max-width:none!important;box-sizing:border-box;white-space:normal;overflow:visible;position:static!important}
.inventory-table th[data-column="indicadores"]{position:sticky!important;top:0;padding:8px 12px!important}
.point-indicator-content{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;min-width:0;line-height:1.4}
.point-indicator-content .ccc-limit-indicators{margin:0;gap:4px;flex-wrap:wrap}
.inventory-table td[data-column="indicadores"] .ccc-absence-badge{margin:0;max-width:none}
#detailDialog .detail-heading-indicators .point-indicator-content{gap:4px 6px;margin-top:3px}
#detailDialog .detail-heading-indicators .ccc-limit-manage{display:inline-flex;margin:0;min-height:24px;padding:3px 6px;font-size:10px}
#detailDialog .detail-heading-indicators .ccc-absence-badge{max-width:none}

/* El encabezado recorta decoraciones; allí se usa el tooltip nativo accesible. */
#detailDialog .detail-heading-indicators .ccc-limit-badge[data-tip]::after{display:none!important}
