
.ts-wrap{max-width:980px;margin:16px auto;padding:0 10px;box-sizing:border-box;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.ts-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-start}
.ts-actions-top{margin-bottom:10px}
.ts-actions-bottom{margin-top:10px}
.ts-btn{border:1px solid #1f2937;background:#fff;color:#111827;padding:10px 12px;line-height:1;cursor:pointer;border-radius:0}
.ts-btn:hover{filter:brightness(0.98)}
.ts-btn:active{transform:translateY(1px)}
.ts-btn-add{background:#16a34a;border-color:#0f7a35;color:#fff}
.ts-btn-undo{background:#e5e7eb;border-color:#9ca3af}
.ts-btn-secondary{background:#f3f4f6;border-color:#9ca3af}
.ts-btn-reset{background:#f59e0b;border-color:#b45309;color:#111827}
.ts-btn-icon{padding:8px 10px}

.ts-serve{margin-left:auto;display:flex;gap:6px;align-items:center}
.ts-serve-label{font-size:12px;color:#374151;margin-right:4px}
.ts-chip{border:1px solid #111827;background:#fff;color:#111827;padding:8px 10px;cursor:pointer;border-radius:0}
.ts-chip.is-active{background:#fde047;border-color:#a16207;box-shadow:0 0 0 2px rgba(161,98,7,.25)}

.ts-board{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #111827;border-radius:0;margin:0}
.ts-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:0}
.ts-table th,.ts-table td{border:1px solid #111827;padding:10px 8px;text-align:center;vertical-align:middle}
.ts-th-name{width:240px;text-align:left}
.ts-name{text-align:left;font-weight:600}
.ts-td,.ts-pts{font-variant-numeric:tabular-nums}
.ts-pts{font-weight:700}
.ts-hint{padding:8px 10px;font-size:12px;color:#374151;border-top:1px solid #111827}
.ts-hint:empty{display:none}

.ts-modal{position:fixed;inset:0;z-index:9999}
.ts-modal[hidden]{display:none}
.ts-modal-backdrop{position:absolute;inset:0;background:rgba(255,255,255,.75)}
.ts-modal-dialog{position:relative;z-index:2;max-width:560px;width:92vw;max-height:62vh;overflow:hidden;background:#fff;border:1px solid #111827;border-radius:0;margin:8vh auto 0;display:flex;flex-direction:column}
.ts-modal-head,.ts-modal-foot{padding:10px 12px;border-bottom:1px solid #111827;display:flex;align-items:center;gap:10px}
.ts-modal-foot{border-bottom:none;border-top:1px solid #111827;justify-content:flex-end}
.ts-modal-title{font-weight:700}
.ts-modal-body{padding:10px 12px;overflow:auto}
.ts-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ts-grid-compact{grid-template-columns:1fr 1fr}
.ts-field{display:flex;flex-direction:column;gap:4px;font-size:12px}
.ts-field input,.ts-field select{border:1px solid #111827;padding:8px 10px;border-radius:0}
.ts-field-inline{flex-direction:row;align-items:center;justify-content:space-between;border:1px solid #111827;padding:8px 10px}
.ts-field-inline span{font-size:12px}
.ts-field-inline input{width:18px;height:18px}
.ts-field-full{grid-column:1 / -1}
.ts-divider{height:1px;background:#111827;margin:10px 0}
.ts-details summary{cursor:pointer;font-weight:600}
.ts-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}

/* Manual resume form layout */
.ts-form{display:block;padding-top:8px}
.ts-line{display:block;margin:0 0 10px}
.ts-line-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ts-preset textarea{border:1px solid #b45309;padding:8px 10px;border-radius:0;background:rgba(245,158,11,0.12);color:#111827}

@media (max-width:768px){
  .ts-actions{gap:6px}
  .ts-btn{padding:10px 10px}
  .ts-serve{width:100%;margin-left:0;justify-content:flex-start}
  .ts-modal-dialog{margin-top:6vh;max-height:72vh}
  .ts-grid,.ts-grid-compact{grid-template-columns:1fr}
  .ts-line-2{grid-template-columns:1fr}
}


/* Highlight current set column */
.ts-table th.is-current-set, .ts-table td.is-current-set{background:rgba(59,130,246,0.12);font-weight:700;} 


/* Fullscreen: keep white background (avoid default black) */
.ts-wrap:fullscreen{background:#fff; padding:16px;}
.ts-wrap:fullscreen .ts-board{background:#fff;}

.ts-input{border:1px solid #9ca3af;padding:10px 12px;background:#fff;color:#111827}
.ts-input-preset{background:rgba(245,158,11,0.12); border-color:#b45309}
.ts-btn-preset{background:#f59e0b;border-color:#b45309;color:#111827}


/* Responsive mobile */
@media (max-width: 600px){
  .ts-wrap{margin:10px 8px}
  .ts-actions{gap:6px}
  .ts-btn{padding:10px 10px;font-size:14px}
  .ts-btn-icon{padding:8px 10px}
  .ts-serve{width:100%;margin-left:0;justify-content:flex-start}
  .ts-serve-label{margin-right:6px}
  .ts-chip{padding:8px 10px;font-size:14px}
  .ts-table th,.ts-table td{padding:8px 6px;font-size:14px}
  .ts-th-name{width:auto;min-width:120px;max-width:45vw}
  .ts-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media (max-width: 420px){
  .ts-table th,.ts-table td{padding:7px 5px;font-size:13px}
  .ts-btn{flex:1 1 auto}
}


@media (max-width:600px){
  .ts-wrap{margin:10px auto;padding:0 6px}
  .ts-th, .ts-td{padding:8px 6px;font-size:14px}
  .ts-th-name, .ts-td-name{width:42vw;max-width:42vw}
  .ts-th-set, .ts-td-set{width:52px}
  .ts-th-points, .ts-td-points{width:60px}
  .ts-actions-top{gap:6px}
  .ts-btn{padding:10px 8px;font-size:14px}
}


/* Click-to-add point */
.ts-name, .ts-pts{cursor:pointer}
.ts-name:hover, .ts-pts:hover{background:#f2f2f2}

/* Action bar below the table */
.ts-actions-score{margin-top:10px}
