body{background:#f5f5f7;color:#111;font-family:Inter,sans-serif}.td-availability-card{background:#fff;border:1px solid #e5e5e5;border-radius:16px;margin:40px auto;max-width:920px;padding:32px}.td-top-bar{align-items:flex-start;display:flex;gap:32px;justify-content:space-between;margin-bottom:32px}.td-top-bar h2{font-size:24px;font-weight:600;margin:0}.group-label{color:#6b7280;font-size:14px;margin-top:6px}.month-filter-wrapper select{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:8px 14px}.month-block{margin-bottom:48px}.month-heading{color:#111;font-size:18px;font-weight:600;margin-bottom:18px}.event-card{background:#fff;border:1px solid #e5e5e5;border-radius:14px;padding:22px}.event-card,.event-header{margin-bottom:20px}.event-title{font-size:16px;font-weight:600}.event-location{color:#6b7280;font-size:13px;margin-top:4px}.event-contact{color:#6b7280;font-size:13px;margin-top:8px}.event-contact a{color:#111;font-weight:500;text-decoration:underline}.event-date-row{align-items:start;border-top:1px solid #f1f1f1;display:grid;gap:20px;grid-template-columns:160px 280px 1fr;padding:14px 0}.event-date-row:first-child{border-top:none}.date-label{font-size:14px;font-weight:500}.availability-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;padding:8px 12px;width:100%}.availability-select:disabled{background:#f3f4f6;color:#6b7280}.assignment-section{margin-top:4px}.assignment-title{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.4px;margin-bottom:6px;text-transform:uppercase}.assignment-badge{background:#fff;border:1px solid #d1d5db;border-radius:10px;color:#111;font-size:14px;margin-bottom:8px;padding:10px 14px}.assignment-badge.assigned{border-color:#ffa022}.assignment-section.empty .no-assignment-msg{color:#6b7280;font-size:14px;padding:6px 0}.save-availability-btn{background:#ffa022;border:none;border-radius:8px;color:#000;cursor:pointer;font-weight:600;margin-top:16px;padding:12px 20px}.save-availability-btn:hover{opacity:.9}.save-availability-btn:disabled{cursor:not-allowed;opacity:.6}.edit-availability-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;margin-top:16px;padding:12px 18px}.availability-badge{background:#f3f4f6;border-radius:6px;color:#111;display:inline-block;font-weight:600;margin-bottom:12px;padding:6px 10px}@media (max-width:768px){.td-top-bar{align-items:flex-start;flex-direction:column;gap:16px}.calendar-utility-btn{align-self:flex-start}.filter-row{width:100%}.event-date-row{gap:10px;grid-template-columns:1fr}}.status-dot{background-color:#ffa022;border-radius:50%;display:inline-block;height:10px;margin-right:6px;vertical-align:middle;width:10px}.group-selector{background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;padding:6px 10px}.add-to-calendar-btn{background:none;border:none;color:#ffa022;cursor:pointer;font:inherit;padding:0;text-decoration:underline}.add-to-calendar-btn:hover{opacity:.8}.loading-state{color:#555;font-weight:500;padding:20px;text-align:center}.offer-actions{gap:8px;margin-top:8px}.offer-btn{background:#fff;border:1px solid #e5e5e5;border-radius:6px;color:#111;cursor:pointer;font-size:12px;padding:6px 10px}.offer-btn.accept{background:#ffa022;border:none;color:#000}.offer-btn.reject{background:#f3f4f6;border:1px solid #d1d5db;color:#111}.event-assignment-offer{background:#fff;border:1px solid #ffa022;border-radius:12px;margin-top:28px;padding:20px}.offer-header{color:#555;font-size:14px;font-weight:600;letter-spacing:.4px;margin-bottom:14px;text-transform:uppercase}.offer-games{line-height:1.5;margin-bottom:16px}.offer-game-line{margin-bottom:6px}.offer-actions{display:flex;gap:12px}.offer-main-btn{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:10px 16px}.offer-main-btn.accept-all{background:#ffa022;color:#000}.offer-main-btn.decline-all{background:#e5e5e5;color:#111}.offer-status.accepted{color:#000;font-weight:600}.offer-status.declined{color:#555;font-weight:600}.assignment-empty-state{background:#fafafa;border:1px solid #e5e5e5;border-radius:12px;margin-top:24px;padding:20px}.assignment-empty-state .assignment-title{color:#6b7280;font-size:12px;font-weight:600;margin-bottom:8px;text-transform:uppercase}.assignment-empty-state .no-assignment-msg{color:#6b7280;font-size:14px}.event-assignment-offer{margin-top:24px}.offer-status{border-radius:8px;display:inline-block;font-size:14px;font-weight:600;margin-top:10px;padding:10px 14px}.offer-status.accepted{background:#e6f6ec;border:1px solid #bbf7d0;color:#15803d}.offer-status.rejected{background:#f3f4f6;border:1px solid #e5e7eb;color:#6b7280}.td-top-left{max-width:720px}.filter-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.calendar-utility-btn{align-self:flex-start;background:transparent;border-radius:8px;color:#ffa022;font-size:14px;font-weight:500;padding:8px 14px;text-decoration:none;transition:background .2s ease;white-space:nowrap}.calendar-utility-btn:hover{background:#000}.availability-help-link{color:#ffa022;cursor:pointer;display:inline-block;font-size:14px;margin-top:10px;text-decoration:underline}.availability-help-modal{align-items:center;background:rgba(0,0,0,.45);display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.availability-help-content{background:#fff;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.25);font-family:Inter,sans-serif;max-width:520px;padding:28px;width:90%}.availability-help-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.availability-help-close{cursor:pointer;font-size:24px}.availability-help-section{margin-bottom:24px}.availability-help-section h4{font-size:16px;margin-bottom:10px}.availability-help-section ol{margin-bottom:10px;padding-left:20px}.availability-help-section li{margin-bottom:6px}.availability-tip{background:#f7f7f7;border-radius:6px;color:#666;font-size:13px;padding:8px 10px}.orange{color:#ffa022}.gray{color:#6b7280}.hidden{display:none}.availability-steps{list-style:none;margin-top:10px;padding-left:0}.availability-steps li{line-height:1.45;margin-bottom:8px;padding-left:28px;position:relative}.availability-steps li:before{color:#16a34a;content:"✓";font-size:16px;font-weight:600;left:0;position:absolute;top:0}