.ts-shell{display:flex;flex-direction:column;gap:15px}
.ts-header{align-items:flex-start}
.ts-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.ts-intro{margin:5px 0 0;color:var(--text3);font-size:11.5px;line-height:1.45}
.ts-summary{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}
.ts-stat{padding:12px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface2)}
.ts-stat strong{display:block;color:var(--text);font-size:21px;line-height:1}
.ts-stat span{display:block;margin-top:6px;color:var(--text3);font-size:9px;text-transform:uppercase;letter-spacing:.05em}
.ts-technician-selector{padding:13px;border:1px solid var(--border);border-radius:var(--rl);background:var(--surface)}
.ts-technician-selector-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.ts-technician-selector-head strong,.ts-technician-selector-head span{display:block}
.ts-technician-selector-head strong{color:var(--text);font-size:12px}
.ts-technician-selector-head span{margin-top:3px;color:var(--text3);font-size:9.5px;line-height:1.4}
.ts-technician-selector-count{flex:0 0 auto;margin:0!important;padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface2);font-size:8.5px!important;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.ts-technician-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px}
.ts-technician-tab{display:flex;align-items:center;gap:9px;min-width:0;padding:9px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface2);color:var(--text2);text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.ts-technician-tab:hover{border-color:rgba(34,197,94,.55);transform:translateY(-1px)}
.ts-technician-tab.is-active{border-color:var(--green);background:rgba(26,122,60,.16);box-shadow:inset 0 0 0 1px rgba(34,197,94,.12)}
.ts-technician-avatar,.ts-technician-context-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:rgba(26,122,60,.18);color:#4ade80;font-size:11px;font-weight:900;letter-spacing:.03em}
.ts-technician-tab.is-active .ts-technician-avatar{background:var(--green);color:#fff}
.ts-technician-tab-copy{display:block;min-width:0}
.ts-technician-tab-copy strong,.ts-technician-tab-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ts-technician-tab-copy strong{color:var(--text);font-size:11px}
.ts-technician-tab-copy small{margin-top:3px;color:var(--text3);font-size:8.5px}
.ts-technician-context{display:flex;align-items:center;gap:10px;padding:11px 13px;border-left:4px solid var(--green);border-radius:var(--r);background:linear-gradient(90deg,rgba(26,122,60,.13),rgba(26,122,60,.03));min-height:58px}
.ts-technician-context strong,.ts-technician-context span{display:block}
.ts-technician-context strong{color:var(--text);font-size:13px}
.ts-technician-context span{margin-top:3px;color:var(--text3);font-size:9.5px}
.ts-control-panel{display:flex;align-items:flex-end;justify-content:space-between;gap:13px;padding:12px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface2)}
.ts-control-group{min-width:0}.ts-control-label{display:block;margin:0 0 7px;color:var(--text3);font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.ts-segmented{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ts-segmented button{height:30px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text3);font:inherit;font-size:9px;font-weight:700;cursor:pointer}
.ts-segmented button:hover{border-color:rgba(34,197,94,.5);color:var(--text)}
.ts-segmented button.is-active{border-color:var(--green);background:rgba(26,122,60,.16);color:#4ade80}
.ts-view-control{flex:0 0 auto}
.ts-calendar-nav{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}
.ts-calendar-nav strong{margin-left:5px;color:var(--text);font-size:11px;text-transform:capitalize}
.ts-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ts-toolbar input,.ts-toolbar select{width:auto;min-width:155px;margin:0;height:36px}
.ts-search{display:flex;align-items:center;gap:7px;min-width:250px;flex:1;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface2)}
.ts-search svg{width:15px;height:15px;color:var(--text3);flex:0 0 auto}
.ts-search input{width:100%;min-width:0;height:auto;padding:0;border:0;background:transparent}
.ts-search input:focus{box-shadow:none}
.ts-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}
.ts-table{width:100%;min-width:1220px;border-collapse:collapse;font-size:11px}
.ts-table th{padding:10px;text-align:left;color:var(--text3);font-size:9px;text-transform:uppercase;letter-spacing:.05em;background:var(--surface2);border-bottom:1px solid var(--border)}
.ts-table td{padding:11px 10px;vertical-align:top;color:var(--text2);border-bottom:1px solid var(--border)}
.ts-table tr:last-child td{border-bottom:0}
.ts-table tr.is-overdue td:first-child{border-left:3px solid var(--red)}
.ts-table td strong{display:block;color:var(--text);font-size:11px}
.ts-table td small{display:block;color:var(--text3);font-size:9px;margin-top:4px}
.ts-moment span,.ts-material span{display:block;color:var(--text3);font-size:9.5px;line-height:1.4;margin-top:3px;white-space:pre-wrap}
.ts-clamp{max-width:260px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;line-height:1.45}
.ts-muted{color:var(--text3)!important}
.ts-sla-list{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:9px}
.ts-table .ts-sla-list{margin-top:0}
.ts-sla{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;border-radius:6px;border:1px solid var(--border);background:var(--surface2);color:var(--text3);font-size:8.5px;white-space:nowrap}
.ts-sla b{font-size:8px;text-transform:uppercase}.ts-sla.is-running{color:#60a5fa;border-color:rgba(59,130,246,.35)}
.ts-sla.is-late{color:#f87171;border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.08)}
.ts-sla.is-paused{color:#fb923c;border-color:rgba(249,115,22,.4)}.ts-sla.is-met{color:#4ade80;border-color:rgba(34,197,94,.35)}
.ts-status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;border:1px solid currentColor;font-size:8.5px;font-weight:800;white-space:nowrap}
.ts-status-registrado{color:#60a5fa;background:rgba(59,130,246,.1)}
.ts-status-agendado{color:#c084fc;background:rgba(168,85,247,.1)}
.ts-status-em_atendimento{color:#fbbf24;background:rgba(245,158,11,.1)}
.ts-status-aguardando_material{color:#fb923c;background:rgba(249,115,22,.1)}
.ts-status-reagendado{color:#22d3ee;background:rgba(6,182,212,.1)}
.ts-status-concluido{color:#4ade80;background:rgba(34,197,94,.1)}
.ts-status-cancelado{color:#94a3b8;background:rgba(100,116,139,.1)}
.ts-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.ts-actions .btn-sm{height:29px;padding:0 8px;font-size:9px}
.ts-actions .ts-delete{color:var(--red);border-color:rgba(239,68,68,.35)}
.ts-actions .ts-os-create{color:#60a5fa;border-color:rgba(59,130,246,.35)}
.ts-actions .ts-os-linked{color:#4ade80;border-color:rgba(34,197,94,.35)}
.ts-cards{display:none}
.ts-empty,.ts-loading{padding:45px 20px;text-align:center;color:var(--text3);font-size:12px;border:1px dashed var(--border);border-radius:var(--r)}
.ts-empty svg{display:block;width:38px;height:38px;margin:0 auto 10px;color:var(--green)}
.ts-empty strong,.ts-empty span{display:block}
.ts-empty strong{color:var(--text2);font-size:13px;margin-bottom:5px}
.ts-load-more{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;color:var(--text3);font-size:9.5px}
.ts-modal{max-width:800px}
.ts-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.ts-form-span{grid-column:1/-1}
.ts-schedule-field.is-hidden{display:none}
.ts-mode-help{align-self:end;min-height:42px;margin:0 0 12px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface2)}
.ts-mode-help strong,.ts-mode-help span{display:block}.ts-mode-help strong{color:var(--text2);font-size:9.5px}.ts-mode-help span{margin-top:3px;color:var(--text3);font-size:8.5px;line-height:1.35}
.ts-form-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:9px 0 2px;padding:9px 0 5px;border-bottom:1px solid var(--border)}
.ts-form-section-title strong{color:var(--text);font-size:11px}.ts-form-section-title span{color:var(--text3);font-size:9px}
.ts-now-actions{display:flex;gap:7px;flex-wrap:wrap;margin:2px 0 7px}
.ts-photo-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.ts-photo{position:relative;width:104px;height:78px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface2)}
.ts-photo img{width:100%;height:100%;object-fit:cover}.ts-photo button{position:absolute;right:4px;top:4px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;font-size:16px;line-height:1;cursor:pointer}
#ts-history-note-wrap.is-required .flabel::after{content:" · obrigatório";color:var(--red)}
.ts-history-head{padding:12px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface2)}
.ts-history-head strong,.ts-history-head span{display:block}
.ts-history-head strong{color:var(--text);font-size:13px}
.ts-history-head span{color:var(--text3);font-size:10px;line-height:1.45;margin-top:4px;white-space:pre-wrap}
.ts-timeline{margin-top:14px}
.ts-timeline-item{position:relative;margin-left:5px;padding:0 0 16px 20px;border-left:1px solid var(--border)}
.ts-timeline-item:last-child{border-left-color:transparent;padding-bottom:0}
.ts-timeline-item::before{content:"";position:absolute;left:-4px;top:3px;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--surface)}
.ts-timeline-item strong{display:block;color:var(--text);font-size:11px}
.ts-timeline-item span{display:block;color:var(--text3);font-size:9.5px;margin-top:3px}
.ts-timeline-item p{margin:6px 0 0;color:var(--text2);font-size:10.5px;line-height:1.5;white-space:pre-wrap}

.ts-calendar{display:grid;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.ts-calendar-week{grid-template-columns:repeat(7,minmax(125px,1fr));overflow-x:auto}
.ts-calendar-month{grid-template-columns:repeat(7,minmax(115px,1fr))}
.ts-calendar-day{min-height:145px;padding:8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}
.ts-calendar-day:nth-child(7n){border-right:0}.ts-calendar-day.is-outside{opacity:.48;background:var(--surface2)}
.ts-calendar-day.is-today{box-shadow:inset 0 0 0 2px rgba(34,197,94,.55)}
.ts-calendar-day header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:var(--text3)}
.ts-calendar-day header span{font-size:8px;text-transform:uppercase}.ts-calendar-day header strong{font-size:12px;color:var(--text)}
.ts-calendar-events{display:flex;flex-direction:column;gap:5px}.ts-calendar-event{width:100%;padding:6px;border:1px solid var(--border);border-left:3px solid #60a5fa;border-radius:7px;background:var(--surface2);color:var(--text2);text-align:left;cursor:pointer;overflow:hidden}
.ts-calendar-event:hover{border-color:var(--green)}.ts-calendar-event.is-overdue{border-left-color:var(--red)}
.ts-calendar-event time,.ts-calendar-event strong,.ts-calendar-event span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ts-calendar-event time{font-size:8px;color:var(--text3)}.ts-calendar-event strong{margin-top:2px;font-size:9.5px;color:var(--text)}.ts-calendar-event span{margin-top:2px;font-size:7.5px;color:var(--text3)}
.ts-calendar-agendado,.ts-calendar-reagendado{border-left-color:#a855f7}.ts-calendar-em_atendimento{border-left-color:#f59e0b}.ts-calendar-aguardando_material{border-left-color:#f97316}.ts-calendar-concluido{border-left-color:#22c55e}.ts-calendar-cancelado{border-left-color:#64748b}
.ts-calendar-more{display:block;padding:3px;color:var(--text3);font-size:8px;text-align:center}

html[data-theme="light"] .ts-status-registrado{color:#2563eb}
html[data-theme="light"] .ts-status-agendado{color:#7c3aed}
html[data-theme="light"] .ts-status-em_atendimento{color:#b45309}
html[data-theme="light"] .ts-status-aguardando_material{color:#c2410c}
html[data-theme="light"] .ts-status-reagendado{color:#0e7490}
html[data-theme="light"] .ts-status-concluido{color:#15803d}
html[data-theme="light"] .ts-technician-avatar,html[data-theme="light"] .ts-technician-context-avatar{color:#15803d;background:#e4f3e9}
html[data-theme="light"] .ts-technician-tab.is-active .ts-technician-avatar{color:#fff;background:var(--green)}

@media(max-width:1050px){
  .ts-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ts-control-panel{align-items:stretch;flex-direction:column}.ts-view-control{flex:auto}
  .ts-calendar{overflow-x:auto}.ts-calendar-month{grid-template-columns:repeat(7,115px)}
}
@media(max-width:700px){
  .ts-header{gap:10px}
  .ts-header,.ts-toolbar{align-items:stretch;flex-direction:column}
  .ts-header-actions,.ts-header .btn-sm{width:100%}.ts-header-actions{display:grid;grid-template-columns:1fr 1fr}.ts-header .btn-sm{height:38px}
  .ts-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ts-technician-selector{padding:11px 0 11px 11px;overflow:hidden}
  .ts-technician-selector-head{padding-right:11px}
  .ts-technician-tabs{display:flex;gap:8px;overflow-x:auto;padding:1px 11px 5px 0;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .ts-technician-tab{flex:0 0 205px;scroll-snap-align:start;min-height:57px}
  .ts-technician-context{align-items:flex-start}
  .ts-toolbar input,.ts-toolbar select,.ts-toolbar>.btn-sm,.ts-search{width:100%;min-width:0}
  .ts-toolbar>.btn-sm{height:36px}
  .ts-control-panel{padding:10px}.ts-segmented{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.ts-segmented button{flex:0 0 auto;height:34px}
  .ts-calendar-nav{flex-wrap:wrap}.ts-calendar-nav strong{flex-basis:100%;margin:4px 0 0}
  .ts-calendar-week{grid-template-columns:repeat(7,125px)}.ts-calendar-month{grid-template-columns:repeat(7,115px)}
  .ts-table-wrap{display:none}
  .ts-cards{display:grid;gap:10px}
  .ts-card{padding:13px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface)}
  .ts-card.is-overdue{border-left:4px solid var(--red)}
  .ts-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
  .ts-card-head>div strong,.ts-card-head>div span{display:block}
  .ts-card-head>div strong{color:var(--text);font-size:13px}
  .ts-card-head>div span{color:var(--text3);font-size:10px;margin-top:3px}
  .ts-card-date{margin-top:9px;color:var(--text3);font-size:9.5px}
  .ts-card-block{margin-top:10px;padding-top:9px;border-top:1px solid var(--border)}
  .ts-card-block b,.ts-card-block span{display:block}
  .ts-card-block b{color:var(--text3);font-size:8.5px;text-transform:uppercase;letter-spacing:.05em}
  .ts-card-block span{color:var(--text2);font-size:11px;line-height:1.5;margin-top:4px;white-space:pre-wrap}
  .ts-card-material span{color:#fb923c}
  .ts-card-reference{margin-top:9px;color:var(--text3);font-size:9.5px}
  .ts-card .ts-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}
  .ts-card .ts-actions .btn-sm{height:35px}
  .ts-form-grid{grid-template-columns:1fr}
  .ts-form-span{grid-column:auto}
  .ts-form-section-title{align-items:flex-start;flex-direction:column}
  .ts-now-actions{display:grid;grid-template-columns:1fr}
}
