.kpis{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px}.kpis article,.filters,.panel,.chart-panel{background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 10px #173e6610}.kpis span{color:#64748b}.kpis b{display:block;font-size:28px;color:#174775;margin-top:4px}.filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(165px,1.15fr) repeat(5,minmax(115px,1fr)) auto;gap:7px;margin:12px 0;position:relative;z-index:5}.filters input,.filters select,textarea,.multi-button{padding:9px;border:1px solid #cbd5e1;border-radius:7px;min-width:0;background:#fff;font:inherit}.filters button,.pager button,#saveNote{border:0;background:#1a73ad;color:#fff;border-radius:7px;padding:9px 13px}.multi{position:relative}.multi-button{width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.multi-button:after{content:'⌄';float:right}.multi-menu{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:230px;max-height:310px;overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:9px;box-shadow:0 12px 28px #173e6630;padding:8px}.multi.open .multi-menu{display:block}.multi-tools{display:flex;gap:6px;padding-bottom:7px;border-bottom:1px solid #e5e7eb}.multi-tools button{padding:5px 9px;font-size:12px}.team-option{display:flex;gap:8px;align-items:center;padding:7px 4px;cursor:pointer}.team-option:hover{background:#f3f7fb}.charts{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-bottom:12px}.chart-panel{min-height:285px}.chart-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.chart-title h3{margin:0;color:#14213d}.chart-title>span{color:#64748b;font-size:12px}.legend{display:flex;gap:12px;font-size:12px}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}.legend .inc,.bar.inc{background:#2478b5}.legend .srv,.bar.srv{background:#10a37f}.team-chart{display:flex;align-items:flex-end;gap:12px;height:340px;border-bottom:1px solid #cbd5e1;padding:18px 6px 0;}.team-group{flex:1;min-width:48px;height:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px;position:relative;padding-bottom:27px}.bar{width:min(32px,42%);min-height:2px;border-radius:5px 5px 0 0;position:relative}.bar-value{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:11px;color:#334155}.team-label{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:11px;white-space:nowrap;color:#475569}.queue-chart{display:grid;gap:8px}.queue-row{display:grid;grid-template-columns:minmax(110px,36%) 1fr 35px;align-items:center;gap:8px;font-size:12px}.queue-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-track{height:18px;background:#edf2f7;border-radius:5px;overflow:hidden}.queue-fill{height:100%;background:#2478b5;border-radius:5px}.queue-row.other .queue-fill{background:#6b7f93}.title{display:flex;justify-content:space-between;align-items:center}.tablewrap{overflow:auto;max-height:650px}table{width:100%;border-collapse:collapse;font-size:12px}th{position:sticky;top:0;background:#eaf1f7;padding:8px;text-align:left;white-space:nowrap}td{padding:8px;border-bottom:1px solid #e8edf3;vertical-align:top}tr:hover{background:#f7fbff}.action{border:0;background:#e5eff8;color:#174775;padding:5px 7px;border-radius:6px}.jira-link{color:#0b66a3;font-weight:700;text-decoration:none}.pager{display:flex;justify-content:center;gap:14px;align-items:center;margin-top:12px}.error{color:#b42318;font-weight:600;margin-bottom:8px}dialog{width:min(700px,92vw);border:0;border-radius:14px;padding:20px}.modalhead{display:flex;justify-content:space-between}.modalhead button{border:0;background:none;font-size:26px}.note{background:#f4f7fa;padding:12px;border-radius:8px;margin:8px 0}.note small{display:block;color:#64748b;margin-top:5px}textarea{width:100%;min-height:90px;margin:12px 0}@media(max-width:1250px){.filters{grid-template-columns:repeat(4,1fr)}.kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.charts{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.kpis{grid-template-columns:repeat(2,1fr)}}
/* V1.14 - filtros clicáveis */
.kpi-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,outline-color .15s ease;outline:2px solid transparent}
.kpi-clickable:hover,.kpi-clickable:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px #173e6628;outline-color:#2478b5}
.kpi-clickable.filter-active{outline-color:#174775;background:#eef6fc}
.team-chart .bar{border:0;padding:0;cursor:pointer;overflow:visible}
.team-chart .bar:hover,.team-chart .bar:focus-visible,.team-chart .bar.filter-active{filter:brightness(.88);outline:3px solid #f59e0b;outline-offset:2px}
.queue-row.queue-filter{width:100%;border:0;background:transparent;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}
.queue-row.queue-filter:hover .queue-track,.queue-row.queue-filter:focus-visible .queue-track,.queue-row.queue-filter.filter-active .queue-track{outline:3px solid #f59e0b;outline-offset:2px}


/* V1.16 - Top 10 JIRA, exportação e ordenação */
.charts-three{grid-template-columns:1fr 1fr 1fr}
.jira-chart{display:grid;gap:8px}
.jira-row{display:grid;grid-template-columns:90px 1fr 34px;gap:8px;align-items:center;width:100%;border:0;background:transparent;padding:2px 0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.jira-track{height:18px;background:#edf2f7;border-radius:5px;overflow:hidden}
.jira-fill{display:block;height:100%;background:#635bff;border-radius:5px}
.jira-row:hover .jira-track,.jira-row:focus-visible .jira-track,.jira-row.filter-active .jira-track{outline:3px solid #f59e0b;outline-offset:2px}
.detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.detail-actions button{border:0;background:#1a73ad;color:#fff;border-radius:7px;padding:8px 12px;cursor:pointer}
.detail-actions button:hover{background:#155f91}
th.sortable{cursor:pointer;user-select:none}
th.sortable:hover,th.sort-active{background:#d8e8f4;color:#174775}
.sort-icon{font-size:10px;color:#174775}
@media(max-width:1250px){.charts-three{grid-template-columns:1fr 1fr}.charts-three .chart-panel:last-child{grid-column:1/-1}}
@media(max-width:850px){.charts-three{grid-template-columns:1fr}.charts-three .chart-panel:last-child{grid-column:auto}}

/* =====================================================
   V1.16.1 - Correcao das barras Cases por fila
   ===================================================== */
.queue-chart {
    display: grid;
    gap: 8px;
}

.queue-row,
.queue-row.queue-filter {
    display: grid;
    grid-template-columns: minmax(140px, 36%) 1fr 40px;
    align-items: center;
    gap: 10px;
    width: 100%;
    border: 0;
    background: transparent;
    padding: 2px 0;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.queue-track,
.jira-track {
    display: block;
    width: 100%;
    min-width: 120px;
    height: 18px;
    background: #edf2f7;
    border-radius: 5px;
    overflow: hidden;
}

.queue-fill,
.jira-fill {
    display: block;
    height: 100%;
    min-width: 4px;
    border-radius: 5px;
}

.queue-fill {
    background: #2478b5;
}

.jira-fill {
    background: #635bff;
}

.queue-row.other .queue-fill {
    background: #6b7f93;
}

.queue-row.queue-filter:hover .queue-track,
.queue-row.queue-filter:focus-visible .queue-track,
.queue-row.queue-filter.filter-active .queue-track {
    outline: 3px solid #f59e0b;
    outline-offset: 2px;
}

.jira-row:hover .jira-track,
.jira-row:focus-visible .jira-track,
.jira-row.filter-active .jira-track {
    outline: 3px solid #f59e0b;
    outline-offset: 2px;
}


/* =====================================================
   V2 - Visual inspirado na identidade publica Glintt Life
   ===================================================== */
:root{
  --life-orange:#f26a21;
  --life-orange-dark:#c94f12;
  --life-orange-soft:#fff1e8;
  --life-ink:#1d2433;
  --life-muted:#667085;
  --life-bg:#f7f7f8;
  --life-card:#ffffff;
  --life-line:#e7e7ea;
  --life-green:#1f9d78;
  --life-purple:#6d5bd0;
  --life-shadow:0 12px 32px rgba(29,36,51,.08);
}
body{background:linear-gradient(180deg,#fafafa 0,#f4f5f7 100%);color:var(--life-ink)}
.page{padding:22px 24px 30px}
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;background:linear-gradient(115deg,#fff 0,#fff8f3 62%,#ffe6d5 100%);border:1px solid #f4d9c8;border-radius:20px;padding:24px 26px;margin-bottom:16px;box-shadow:var(--life-shadow);position:relative;overflow:hidden}
.dashboard-hero:after{content:'';position:absolute;right:-45px;top:-70px;width:220px;height:220px;border:38px solid rgba(242,106,33,.10);border-radius:50%}
.dashboard-hero .eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--life-orange)}
.dashboard-hero h1{margin:5px 0 4px;font-size:28px;letter-spacing:-.03em}
.dashboard-hero p{margin:0;color:var(--life-muted)}
.import-meta{position:relative;z-index:1;display:grid;min-width:250px;padding:14px 16px;background:rgba(255,255,255,.80);border:1px solid #f2d7c7;border-radius:14px}
.import-meta span,.import-meta small{color:var(--life-muted);font-size:12px}.import-meta strong{font-size:16px;margin:3px 0;color:var(--life-ink)}
.kpis{gap:12px}.kpis article{border:1px solid var(--life-line);border-top:4px solid var(--kpi,#b8bcc5);border-radius:16px;box-shadow:0 6px 18px rgba(29,36,51,.06);padding:16px;position:relative;overflow:hidden}.kpis article:after{content:'';position:absolute;width:56px;height:56px;border-radius:50%;right:-18px;top:-18px;background:color-mix(in srgb,var(--kpi,#b8bcc5) 16%,transparent)}
.kpis b{color:var(--life-ink);font-size:30px}.kpi-total{--kpi:var(--life-orange)}.kpi-inc{--kpi:#e6503c}.kpi-srv{--kpi:var(--life-green)}.kpi-note{--kpi:#f3a712}.kpi-neutral{--kpi:#8a94a6}.kpi-age{--kpi:var(--life-purple)}
.kpi-clickable:hover,.kpi-clickable:focus-visible{transform:translateY(-3px);box-shadow:0 14px 28px rgba(29,36,51,.12);outline-color:var(--kpi,var(--life-orange))}.kpi-clickable.filter-active{outline-color:var(--kpi,var(--life-orange));background:color-mix(in srgb,var(--kpi,var(--life-orange)) 7%,white)}
.filters,.panel,.chart-panel{border:1px solid var(--life-line);border-radius:16px;box-shadow:0 8px 24px rgba(29,36,51,.06)}
.filters{padding:12px;background:rgba(255,255,255,.94)}.filters input,.filters select,.multi-button{border-color:#d9dce2;border-radius:10px;min-height:40px}.filters input:focus,.filters select:focus,.multi-button:focus-visible{outline:3px solid rgba(242,106,33,.18);border-color:var(--life-orange)}
.filters button,.pager button,#saveNote{background:var(--life-orange);border-radius:10px;font-weight:700}.filters button:hover,.pager button:hover,#saveNote:hover{background:var(--life-orange-dark)}
.chart-panel{padding:18px;min-height:420px}.chart-title h3{font-size:16px}.chart-title>span{color:var(--life-muted)}
.legend .inc,.bar.inc{background:linear-gradient(180deg,#f58245,#e6503c)}.legend .srv,.bar.srv{background:linear-gradient(180deg,#42ba91,#1f9d78)}
.bar{border-radius:8px 8px 2px 2px;box-shadow:0 5px 12px rgba(29,36,51,.12)}
.queue-fill{background:linear-gradient(90deg,var(--life-orange),#ff9a5c)}.queue-row.other .queue-fill{background:linear-gradient(90deg,#9298a5,#b8bdc7)}
.jira-fill{background:linear-gradient(90deg,var(--life-purple),#9285e5)}
.queue-track,.jira-track{background:#f0f1f3;border:1px solid #e5e7eb}
.title h2{font-size:19px}.detail-actions{gap:9px}.detail-actions .export-btn{border-radius:10px;padding:9px 13px;font-weight:800;box-shadow:0 5px 12px rgba(29,36,51,.10)}.export-excel{background:#18794e!important}.export-pdf{background:#c53b32!important}.export-excel:hover{background:#11653f!important}.export-pdf:hover{background:#a92f28!important}
.tablewrap{border:1px solid var(--life-line);border-radius:12px}th{background:#262b36;color:#fff;padding:11px 9px}th.sortable:hover,th.sort-active{background:var(--life-orange);color:#fff}.sort-icon{color:#fff}td{padding:10px 9px}tbody tr:nth-child(even){background:#fafafa}tbody tr:hover{background:var(--life-orange-soft)}
.action{background:var(--life-orange-soft);color:var(--life-orange-dark);font-weight:700}.jira-link{color:var(--life-purple)}
.pager button:disabled{opacity:.42;cursor:not-allowed}
dialog{border:1px solid var(--life-line);box-shadow:0 26px 70px rgba(29,36,51,.24)}
@media(max-width:900px){.dashboard-hero{align-items:flex-start;flex-direction:column}.import-meta{width:100%;min-width:0}}


/* V2.1 - Rebuild estável e gráfico mensal */
.month-section{margin:0 0 12px}.month-panel{min-height:250px}.month-panel .chart-title>div{display:grid;gap:3px}.month-panel .chart-title span{font-size:12px;color:var(--life-muted,#667085)}
.month-chart{display:flex;align-items:flex-end;gap:8px;min-height:190px;padding:18px 8px 0;border-bottom:1px solid var(--life-line,#e7e7ea);overflow-x:auto}
.month-item{display:grid;grid-template-rows:20px 150px 24px;align-items:end;justify-items:center;min-width:54px;height:190px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0 3px;border-radius:8px}
.month-item:hover,.month-item:focus-visible,.month-item.filter-active{background:var(--life-orange-soft,#fff1e8);outline:2px solid var(--life-orange,#f26a21);outline-offset:1px}
.month-value{font-size:11px;font-weight:800;color:var(--life-ink,#1d2433)}.month-bar-wrap{height:150px;width:30px;display:flex;align-items:flex-end}.month-bar{display:block;width:100%;min-height:5px;border-radius:8px 8px 2px 2px;background:linear-gradient(180deg,#42ba91,#1f9d78);box-shadow:0 5px 12px rgba(29,36,51,.14)}.month-label{font-size:11px;white-space:nowrap;color:var(--life-muted,#667085)}
.clear-month{border:1px solid #f3c7ae;background:#fff;color:var(--life-orange-dark,#c94f12);border-radius:9px;padding:7px 10px;font-weight:700;cursor:pointer}#saveNote:disabled{opacity:.65;cursor:wait}@media(max-width:850px){.month-item{min-width:48px}.month-chart{gap:5px}}

/* =====================================================
   V2.3 - Graficos superiores compactos e alinhados
   ===================================================== */
.charts-three{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}

/* Altura compacta, suficiente para 8 linhas e sem area vazia excessiva */
.charts-three > .chart-panel{
  box-sizing:border-box;
  height:320px;
  min-height:320px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.charts-three > .chart-panel > .chart-title{
  flex:0 0 auto;
  margin-bottom:10px;
}

.charts-three .team-chart,
.charts-three .queue-chart,
.charts-three .jira-chart{
  flex:1 1 auto;
  min-height:0;
}

/* O grafico por equipa usa exatamente a altura util dos outros paineis */
.charts-three .team-chart{
  height:auto;
  display:flex;
  align-items:flex-end;
  justify-content:space-around;
  gap:10px;
  padding:38px 6px 22px;
  border-bottom:1px solid #cbd5e1;
  overflow:visible;
}

.charts-three .team-group{
  flex:1 1 0;
  min-width:44px;
  height:100%;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:5px;
  position:relative;
  padding-bottom:27px;
}

.charts-three .team-group .bar{
  max-height:100%;
}

/* Oito linhas compactas, mas ainda legiveis e clicaveis */
.charts-three .queue-chart,
.charts-three .jira-chart{
  display:grid;
  align-content:start;
  gap:6px;
  overflow:hidden;
}

.charts-three .queue-row,
.charts-three .jira-row{
  min-height:22px;
  padding:1px 0;
}

.charts-three .queue-track,
.charts-three .jira-track{
  height:16px;
}

@media(max-width:1250px){
  .charts-three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .charts-three > .chart-panel:last-child{grid-column:1/-1}
}

@media(max-width:850px){
  .charts-three{grid-template-columns:1fr}
  .charts-three > .chart-panel,
  .charts-three > .chart-panel:last-child{
    grid-column:auto;
    height:320px;
    min-height:320px;
  }
}
/* FIM V2.3 - Graficos superiores compactos e alinhados */




/* V2.6.3 - Cabecalho ultra compacto */
.page{padding:14px 20px 24px}
.dashboard-hero{
  gap:14px;
  padding:10px 18px;
  margin-bottom:8px;
  min-height:72px;
  border-radius:16px;
}
.dashboard-hero .eyebrow{
  font-size:9px;
  letter-spacing:.14em;
}
.dashboard-hero h1{
  margin:1px 0;
  font-size:24px;
  line-height:1.02;
}
.dashboard-hero p{
  font-size:13px;
  line-height:1.15;
}
.dashboard-hero:after{
  width:170px;
  height:170px;
  border-width:26px;
  top:-75px;
  right:-50px;
}
.import-meta{
  min-width:220px;
  padding:8px 12px;
}
.import-meta strong{
  font-size:14px;
}
.kpis{gap:10px}
.kpis article{padding:12px}

/* =====================================================
   V2.6.4 - Capsulas de multisselecao no grafico Equipas
   ===================================================== */
.charts-three .team-group{
  padding-bottom:34px;
}
.team-capsule{
  position:absolute;
  left:50%;
  bottom:2px;
  transform:translateX(-50%);
  width:max-content;
  max-width:92px;
  min-height:24px;
  padding:4px 9px;
  border:1px solid #d7dbe2;
  border-radius:999px;
  background:#f7f8fa;
  color:#475569;
  font:inherit;
  font-size:10px;
  font-weight:700;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  cursor:pointer;
  box-shadow:0 2px 6px rgba(29,36,51,.08);
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.team-capsule:hover,.team-capsule:focus-visible{
  color:var(--life-orange-dark,#c94f12);
  border-color:var(--life-orange,#f26a21);
  background:var(--life-orange-soft,#fff1e8);
  outline:2px solid rgba(242,106,33,.20);
  outline-offset:1px;
  transform:translateX(-50%) translateY(-1px);
}
.team-capsule.filter-active{
  color:#fff;
  border-color:var(--life-orange,#f26a21);
  background:var(--life-orange,#f26a21);
  box-shadow:0 5px 12px rgba(242,106,33,.28);
}
.team-capsule.filter-partial{
  color:var(--life-orange-dark,#c94f12);
  border-color:var(--life-orange,#f26a21);
  background:linear-gradient(90deg,var(--life-orange-soft,#fff1e8) 50%,#fff 50%);
}
/* FIM V2.6.4 */

/* =====================================================
   V2.7 - Filtros por coluna na tabela Cases detalhados
   ===================================================== */

#detailsPanel thead tr:first-child th{
    top:0;
    z-index:3;
}

#detailsPanel .column-filter-row th{
    top:35px;
    z-index:3;
    background:#343a47;
    padding:5px 4px;
}

/* NAV Code */
#detailsPanel .column-filter-row th:nth-child(3){
    min-width:90px !important;
    width:90px !important;
}

#detailsPanel .column-filter-row th:nth-child(3) input{
    display:block !important;
    width:100% !important;
    min-width:80px !important;
    visibility:visible !important;
}

.column-filter{
    width:100%;
    min-width:0;
    height:27px;
    padding:4px 7px;
    border:1px solid #5b6270;
    border-radius:6px;
    background:#fff;
    color:#1d2433;
    font:inherit;
    font-size:11px;
    outline:none;
}

.column-filter::placeholder{
    color:#8590a2;
}

.column-filter:focus{
    border-color:var(--life-orange,#f26a21);
    box-shadow:0 0 0 2px rgba(242,106,33,.22);
}

.clear-column-filters{
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    margin:auto;
    border:0;
    border-radius:7px;
    background:var(--life-orange,#f26a21);
    color:#fff;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
}

.clear-column-filters:hover,
.clear-column-filters:focus-visible{
    background:var(--life-orange-dark,#c94f12);
    outline:2px solid #ffc7a8;
}

/* FIM V2.7 */







/* =====================================================
   V2.7.3 - Grafico mensal sem scroll vertical
   ===================================================== */
.month-panel{
  min-height:290px;
  height:auto;
  overflow:hidden;
}
.month-chart{
  box-sizing:border-box;
  height:210px;
  min-height:210px;
  overflow-x:auto;
  overflow-y:hidden;
}
/* FIM V2.7.3 */






/* =====================================================
   V2.7.7 - Layout definitivo Cases detalhados
   ===================================================== */
#detailsPanel,
#detailsPanel .tablewrap{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
#detailsPanel .tablewrap{
  overflow-x:hidden !important;
}
#detailsPanel table{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  table-layout:auto !important;
  border-collapse:collapse;
}
#detailsPanel th,
#detailsPanel td{
  box-sizing:border-box;
}
/* 96% de dados + 4% de Acao = 100%, incluindo padding */
#detailsPanel th:nth-child(1),#detailsPanel td:nth-child(1){min-width:130px}
#detailsPanel th:nth-child(2),#detailsPanel td:nth-child(2){min-width:80px}
#detailsPanel th:nth-child(3),#detailsPanel td:nth-child(3){width:120px !important;min-width:120px !important;max-width:120px !important;}
#detailsPanel .column-filter-row th:nth-child(3){display:table-cell !important;width:120px !important;min-width:120px !important;max-width:120px !important;}
#detailsPanel .column-filter-row th:nth-child(3) input{display:block !important;visibility:visible !important;opacity:1 !important;width:100% !important;height:27px !important;}
#detailsPanel th:nth-child(4),#detailsPanel td:nth-child(4){min-width:180px}
#detailsPanel th:nth-child(5),#detailsPanel td:nth-child(5){min-width:140px}
#detailsPanel th:nth-child(6),#detailsPanel td:nth-child(6){min-width:90px}
#detailsPanel th:nth-child(7),#detailsPanel td:nth-child(7){min-width:160px}
#detailsPanel th:nth-child(8),#detailsPanel td:nth-child(8){min-width:90px}
#detailsPanel th:nth-child(9),#detailsPanel td:nth-child(9){min-width:140px}
#detailsPanel th:nth-child(10),#detailsPanel td:nth-child(10){min-width:90px}
#detailsPanel th:nth-child(11),#detailsPanel td:nth-child(11){min-width:300px}
#detailsPanel th:nth-child(12),#detailsPanel td:nth-child(12){min-width:52px}
#detailsPanel td.ultima-nota{
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.35;
  color:#334155;
}
#detailsPanel td:not(:nth-child(11)){
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#detailsPanel th.action-heading{
  display:table-cell !important;
  background:#262b36 !important;
  color:#fff;
  text-align:center;
}
#detailsPanel .column-filter-row th.action-filter-cell{
  display:table-cell !important;
  background:#343a47 !important;
  padding:5px 4px;
}
#detailsPanel td.note-action-cell{
  display:table-cell !important;
  text-align:center;
  vertical-align:middle;
  padding:6px 4px;
}
#detailsPanel .note-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  min-width:30px;
  height:30px;
  min-height:30px;
  margin:0 auto;
  padding:0;
  border:1px solid var(--life-orange,#f26a21);
  border-radius:50%;
  background:var(--life-orange-soft,#fff1e8);
  color:var(--life-orange-dark,#c94f12);
  font:inherit;
  font-size:0;
  cursor:pointer;
}
#detailsPanel .note-action::before{
  content:'✎';
  font-size:15px;
  line-height:1;
}
#detailsPanel .note-action:hover,
#detailsPanel .note-action:focus-visible{
  background:var(--life-orange,#f26a21);
  color:#fff;
  outline:2px solid rgba(242,106,33,.22);
  outline-offset:1px;
}
/* FIM V2.7.7 */
/* =====================================================
   V2.7.8 - Alinhamento final da coluna Nota
   ===================================================== */

#detailsPanel .tablewrap{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable;
    padding-right:6px;
}

#detailsPanel th.action-heading{
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    text-align:center;
    background:#262b36 !important;
    color:#fff !important;
}

#detailsPanel .action-filter-cell{
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    background:#343a47 !important;
}

#detailsPanel td.note-action-cell{
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    text-align:center;
    vertical-align:middle;
    padding:4px !important;
}

#detailsPanel .note-action{
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:center;
}

#detailsPanel th:last-child,
#detailsPanel td:last-child{
    border-right:0;
}

/* FIM V2.7.8 */

/* =====================================================
   V2.7.9 - Valor da barra superior sempre visível
   ===================================================== */

.team-chart{
    overflow:visible !important;
}

.team-group{
    overflow:visible !important;
}

.bar{
    overflow:visible !important;
}

.bar-value{
    top:-26px !important;
    z-index:20;
    font-weight:700;
    white-space:nowrap;
}

/* =====================================
   Resize independente da ordenação
   ===================================== */

#detailsPanel th{
    position:relative;
}

.resize-handle{
    position:absolute;
    top:0;
    right:0;
    width:8px;
    height:100%;
    cursor:col-resize;
    z-index:50;
}

.resize-handle:hover{
    background:rgba(242,106,33,.35);
}

body.resizing-column{
    cursor:col-resize !important;
    user-select:none !important;
}

body.resizing-column *{
    cursor:col-resize !important;
}

/* =====================================================
   V2.8 - Colunas redimensionaveis, alinhadas e independentes
   ===================================================== */
#detailsPanel .tablewrap{
  overflow-x:auto !important;
  overflow-y:auto !important;
}
#detailsPanel table{
  width:100% !important;
  min-width:1180px !important;
  max-width:none !important;
  table-layout:fixed !important;
}
#detailsPanel col:nth-child(1){width:130px}
#detailsPanel col:nth-child(2){width:90px}
#detailsPanel col:nth-child(3){width:90px}
#detailsPanel col:nth-child(4){width:180px}
#detailsPanel col:nth-child(5){width:140px}
#detailsPanel col:nth-child(6){width:90px}
#detailsPanel col:nth-child(7){width:160px}
#detailsPanel col:nth-child(8){width:90px}
#detailsPanel col:nth-child(9){width:140px}
#detailsPanel col:nth-child(10){width:100px}
#detailsPanel col:nth-child(11){width:300px}
#detailsPanel col:nth-child(12){width:52px}
#detailsPanel th,
#detailsPanel td{
  min-width:0 !important;
  max-width:none !important;
}
#detailsPanel .column-filter-row th:nth-child(3){
  width:auto !important;
  min-width:0 !important;
}
#detailsPanel .column-filter-row th:nth-child(3) input,
#detailsPanel .column-filter{
  display:block !important;
  visibility:visible !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
}
#detailsPanel thead tr:first-child th{
  position:sticky;
  top:0;
  z-index:4;
  padding-right:12px;
}
#detailsPanel .column-filter-row th{
  position:sticky;
  top:35px;
  z-index:3;
}
#detailsPanel .resize-handle{
  position:absolute;
  top:0;
  right:-4px;
  width:8px;
  height:100%;
  cursor:col-resize;
  z-index:20;
  touch-action:none;
}
#detailsPanel .resize-handle:hover,
#detailsPanel .resize-handle.resizing{
  background:rgba(242,106,33,.55);
}
body.resizing-column,
body.resizing-column *{
  cursor:col-resize !important;
  user-select:none !important;
}
/* A coluna de acao fica fixa e nao e redimensionavel. */
#detailsPanel th.action-heading,
#detailsPanel .action-filter-cell,
#detailsPanel td.note-action-cell{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}

#deleteNoteOverlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.55);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:9999;
}

#deleteNoteOverlay[hidden]{
    display:none;
}

.delete-note-popup{
    background:#fff;
    width:320px;
    padding:20px;
    border-radius:12px;
    box-shadow:0 10px 40px rgba(0,0,0,.25);
}

.delete-buttons{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:15px;
}

.note-edit,
.note-delete{
    border:0;
    background:none;
    cursor:pointer;
    font-size:18px;
    padding:4px;
}

.case-link{
    color:inherit;
    text-decoration:none;
}

.case-link:hover{
    text-decoration:underline;
    color:#f26a21;
}

/* FIM V2.8 */

/* V2.9 - alinhamento definitivo das colunas */
#detailsPanel .tablewrap{overflow-x:auto!important;overflow-y:auto!important}
#detailsPanel #casesTable{width:100%!important;min-width:1772px!important;table-layout:fixed!important}
#detailsPanel #casesTable col:nth-child(1){width:170px!important}
#detailsPanel #casesTable col:nth-child(2){width:145px!important}
#detailsPanel #casesTable col:nth-child(3){width:100px!important}
#detailsPanel #casesTable col:nth-child(4){width:240px!important}
#detailsPanel #casesTable col:nth-child(5){width:160px!important}
#detailsPanel #casesTable col:nth-child(6){width:110px!important}
#detailsPanel #casesTable col:nth-child(7){width:260px!important}
#detailsPanel #casesTable col:nth-child(8){width:105px!important}
#detailsPanel #casesTable col:nth-child(9){width:150px!important}
#detailsPanel #casesTable col:nth-child(10){width:120px!important}
#detailsPanel #casesTable col:nth-child(11){width:360px!important}
#detailsPanel #casesTable col:nth-child(12){width:52px!important}
#detailsPanel #casesTable th,#detailsPanel #casesTable td{min-width:0!important;max-width:none!important;box-sizing:border-box}
#detailsPanel #casesTable td:not(.ultima-nota){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#detailsPanel #casesTable td.ultima-nota{white-space:normal;overflow-wrap:anywhere;line-height:1.35}
#detailsPanel #casesTable .empty-cases{text-align:center;padding:24px;color:#667085}

/* V2.9.1 - colunas dashboard geral e equipas */
#detailsPanel .tablewrap{overflow:auto!important}
#detailsPanel #casesTable{min-width:1772px!important;width:100%!important;table-layout:fixed!important}
#detailsPanel #casesTable col:nth-child(1){width:170px!important}
#detailsPanel #casesTable col:nth-child(2){width:145px!important}
#detailsPanel #casesTable col:nth-child(3){width:100px!important}
#detailsPanel #casesTable col:nth-child(4){width:240px!important}
#detailsPanel #casesTable col:nth-child(5){width:160px!important}
#detailsPanel #casesTable col:nth-child(6){width:110px!important}
#detailsPanel #casesTable col:nth-child(7){width:260px!important}
#detailsPanel #casesTable col:nth-child(8){width:105px!important}
#detailsPanel #casesTable col:nth-child(9){width:150px!important}
#detailsPanel #casesTable col:nth-child(10){width:120px!important}
#detailsPanel #casesTable col:nth-child(11){width:360px!important}
#detailsPanel #casesTable col:nth-child(12){width:52px!important}
