.set-filters{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:16px;align-items:end}.set-filters label{display:flex;flex-direction:column;gap:8px}.set-filters select{width:100%;min-width:0}.set-filter-actions{display:flex;gap:8px;flex-wrap:wrap}.set-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:20px 0}.set-metrics>div,.odds-grid>div{display:flex;flex-direction:column;gap:8px;min-width:0}.set-metrics strong{font-size:21px;overflow-wrap:anywhere}.set-metrics span,.set-metrics small,.odds-grid small,.odds-grid span{font-size:12px;color:var(--muted,#66776e)}.set-odds{margin-top:20px;padding:18px;border:1px solid #dbe3d8;border-radius:12px;background:#f4f7f1}.odds-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0}.odds-grid strong{font-size:20px;color:var(--primary,#183f34);overflow-wrap:anywhere}.set-odds details{font-size:12px;line-height:1.8}.set-odds summary{cursor:pointer}.odds-notice{font-size:12px;line-height:1.7;margin:12px 0 0;color:#596a60}.set-detail-tickets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.set-detail-tickets .ticket{min-width:0;align-items:start}.set-detail-tickets .ticket>div{min-width:0}.set-score{font-size:14px;margin:10px 0}.set-number-ball{display:inline-flex;border:2px solid transparent;padding:2px;border-radius:50%}.set-number-ball.main-hit{border-color:#143f33}.set-number-ball.bonus-hit{border:2px dashed #ac7818}.set-ticket-balls{gap:5px;flex-wrap:wrap;margin-top:12px}.set-ticket-balls .ball{width:36px;height:36px;font-size:14px}.set-draw{display:flex;flex-wrap:wrap;gap:15px;align-items:center;background:#f4f7f1;padding:16px;border-radius:12px;margin:18px 0}.set-draw small{font-size:12px}.sets-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px}.set-history-panel{margin-bottom:24px}.set-summary-note{font-size:13px;line-height:1.8}.share-group .section-title{flex-wrap:wrap;gap:10px}.share-set-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.share-group .set-odds .odds-grid{grid-template-columns:1fr}.share-group .set-odds strong{font-size:16px}.share-group{min-width:0}.set-detail-panel .audit{overflow-wrap:anywhere}#sets-comparison .set-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#sets-list .button{white-space:nowrap}#sets-message{margin-top:14px}#weekly-set-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
@media(max-width:850px){.set-filters{grid-template-columns:1fr 1fr}.set-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.set-detail-tickets{grid-template-columns:1fr}}
@media(max-width:520px){.set-filters{grid-template-columns:1fr}.set-metrics{gap:16px}.set-metrics strong{font-size:17px}.odds-grid{grid-template-columns:1fr}.set-detail-tickets .ticket{gap:10px;padding:12px}.set-ticket-balls{gap:1px}.set-ticket-balls .ball{width:29px;height:29px;font-size:12px}.set-ticket-balls .set-number-ball{padding:1px}.set-odds{padding:12px}.sets-pager{gap:10px}.share-group .set-odds .table-wrap{max-width:100%}}

/* v1.4: a single private workspace; controls wrap without hiding navigation. */
.weekly-workspace { margin-bottom: 36px; }
.weekly-toolbar { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.weekly-toolbar h2 { margin:0; font-size:20px; }
.weekly-navigation { display:flex; gap:6px; }
.weekly-toolbar #weekly-create { margin-left:auto; }
.workspace-user { display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--muted); max-width:230px; }
.workspace-user select { max-width:100%; min-width:150px; }
#weekly-message { margin:16px 0; overflow-wrap:anywhere; }
.weekly-workspace .ticket-list { max-width:900px; margin:auto; }
#weekly-audit { margin-top:18px; }
#weekly-set-tools { margin-top:14px; }
#sets-data > .panel { margin-top:20px; }
#sets-user { max-width:260px; }
.weekly-toolbar .button:disabled { opacity:.4; cursor:not-allowed; }
@media(max-width:650px) {
  .weekly-toolbar { gap:8px; }
  .workspace-user { flex-basis:100%; max-width:100%; }
  .workspace-user select { width:100%; }
  .weekly-toolbar h2 { font-size:18px; flex:1; }
  .weekly-toolbar #weekly-create { margin-left:auto; }
  .weekly-toolbar .button { padding:9px 10px; }
  .weekly-workspace .ticket-list { margin-top:18px; }
}
