@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');

:root{
  --ten-teal:#009ac7;
  --ten-dark:#015570;
  --ten-gray:#a8a8aa;
  --ten-light:#f7fafb;
  --ten-text:#2a2f35;
  --ten-lime:#8dc63f;
  --ten-orange:#f47b29;
}

*{box-sizing:border-box}

.tn-app{font-family:'Open Sans', Arial, sans-serif;color:var(--ten-text)}
.tn-app__header{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;background:linear-gradient(180deg,#73AFB6 0%, #E9F3F6 100%);
  border-radius:20px;margin-bottom:14px
}
.tn-brand .tn-logo{font-weight:800;letter-spacing:1px;color:white;background:var(--ten-teal);padding:7px 12px;border-radius:14px;margin-right:10px;display:inline-block}
.tn-brand .tn-sub{color:var(--ten-dark);font-weight:700}

.tn-filters{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 12px}
.tn-filters input, .tn-filters select{
  border:2px solid #e6e9ec; border-radius:16px; padding:9px 12px; background:white; min-height:40px
}
.tn-btn{border:2px solid var(--ten-teal);border-radius:16px;padding:9px 16px;font-weight:700;cursor:pointer;transition:.2s}
.tn-btn--primary{background:var(--ten-teal);color:white}
.tn-btn--primary:hover{filter:brightness(.95)}

.tn-tabs{display:flex;gap:8px;margin:8px 0 12px}
.tn-tab{background:#fff;border:1px solid #e6e9ec;border-radius:14px;padding:8px 12px;font-weight:700;cursor:pointer}
.tn-tab--active{background:var(--ten-teal);color:#fff}
.tn-tabpane{display:none}
.tn-tabpane--active{display:block}

.tn-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}
@media(max-width:1100px){.tn-layout{grid-template-columns:1fr}}

.tn-left, .tn-right{display:flex;flex-direction:column;gap:12px}

.tn-card{background:white;border:1px solid #e6e9ec;border-radius:18px;padding:12px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
#tn-kpi-gauge{min-height:240px}
#tn-calendar, #tn-calendar-standalone{min-height:520px}

.tn-presence{display:flex;gap:6px;flex-wrap:wrap}
.tn-presence .chip{
  background:var(--ten-light); border:1px solid var(--ten-gray); color:#454F57;
  padding:4px 10px; border-radius:999px; font-size:12px; font-weight:600;
}

/* Tabulator overrides */
.tabulator .tabulator-header, .tabulator .tabulator-tableholder{background:white}
.tabulator .tabulator-header .tabulator-col{background:#fff;border-right:1px solid #eee}
.tabulator .tabulator-row{border-bottom:1px solid #f0f0f0}
.tabulator .tabulator-row.tabulator-selected{background:#E9F3F6}
.tabulator .tabulator-cell.editing{outline:2px solid var(--ten-lime)}
.tabulator .ten-progress{height:10px;background:#E9F3F6;border-radius:999px;overflow:hidden}
.tabulator .ten-progress > span{display:block;height:100%;background:var(--ten-teal)}

.fc .fc-button{background:var(--ten-teal);border:none;border-radius:18px;padding:6px 12px}
.fc .fc-button:hover{filter:brightness(.95)}
.fc .fc-event{border:0;border-radius:10px;padding:1px 4px}
.fc .ten-event-sub{background:var(--ten-lime)}
.fc .ten-event-main{background:var(--ten-teal);color:#fff}

/* PRIORIDADE chevrons */
.tn-prio { display:inline-flex; gap:4px; cursor:pointer; user-select:none }
.tn-prio svg { width:18px; height:18px; }
.tn-prio .on { fill: var(--ten-teal); }
.tn-prio .off{ fill: #DDE4E8; }

/* Cronômetro */
.tn-timer { display:flex; gap:6px; align-items:center; flex-wrap:wrap }
.tn-tile { background: #73C8E7; color:#fff; padding:10px 12px; border-radius:8px; text-align:center; min-width:68px }
.tn-tile .num{ display:block; font-weight:800; font-size:18px; line-height:1 }
.tn-tile .lab{ display:block; font-weight:600; font-size:12px; opacity:.95 }
.tn-expander-timer { display:flex; gap:8px; justify-content:flex-end; margin-top:8px }

/* Kanban */
.tn-kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tn-kcol{background:#fff;border:1px solid #e6e9ec;border-radius:14px;min-height:260px;padding:10px}
.tn-khead{font-weight:800;color:#454F57;margin-bottom:6px}
.tn-kdrop{min-height:220px}
.tn-kcard{background:#F8FBFC;border:1px dashed #cfe8f1;border-radius:12px;padding:8px;margin:6px 0;cursor:grab}
.tn-kmeta{font-size:12px;color:#657784;margin-top:4px}

/* Discussions & files */
.tn-disc-form, .tn-file-form{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.tn-disc-item{border-top:1px solid #eee;padding:8px 0}
.tn-file-item{display:flex;justify-content:space-between;border-top:1px solid #eee;padding:8px 0}

/* Reports */
.tn-report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tn-stat{background:#fff;border:1px solid #e6e9ec;border-radius:14px;padding:10px}
