.restriction-drawer { min-height:100dvh; display:flex; flex-direction:column; background:var(--color-bg); }
.restriction-drawer .overlay-heading { padding:22px 26px; background:var(--color-bg); }
.restriction-drawer .overlay-heading .eyebrow { letter-spacing:1.6px; }
.restriction-drawer .overlay-heading .icon-button { flex:none; width:42px; height:42px; border:1px solid var(--color-border); border-radius:50%; }
.editor-form[data-kind=player-block] { background:var(--color-bg); }
.restriction-drawer .editor-form { flex:1; display:flex; flex-direction:column; }
.editor-form[data-kind=player-block] > .overlay-body { flex:1; padding:22px 26px 28px; }
.editor-form[data-kind=player-block] > .overlay-footer { justify-content:space-between; gap:12px; padding:14px 26px; }
.editor-form[data-kind=player-block] > .overlay-footer .button { min-height:44px; }
.editor-form[data-kind=player-block]:has(.restriction-trigger[aria-expanded=true]) > .overlay-footer { display:none; }
.restriction-editor { display:grid; gap:20px; min-width:0; }
.restriction-editor [hidden] { display:none !important; }
.restriction-context { display:flex; align-items:center; gap:12px; padding:12px; background:var(--color-soft); border:1px solid var(--color-border); border-radius:10px; }
.restriction-context-icon { display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:8px; color:var(--color-primary); background:var(--color-surface); }
.restriction-context strong { font-size:13px; }
.restriction-context p { margin-top:3px; color:var(--color-muted); font-size:12px; line-height:1.5; }
.restriction-editor .editor-field label,.restriction-range legend { color:var(--color-text); font-size:13px; font-weight:600; }
.restriction-editor textarea { min-height:68px; resize:vertical; }
.restriction-range { min-width:0; margin:0; padding:12px 14px 10px; border:1px solid var(--color-border); border-radius:12px; background:var(--color-surface); }
.restriction-range legend { margin-left:-4px; padding:0 4px; }
.restriction-range > .field-help { margin:0 0 12px; color:var(--color-muted); }
.restriction-native { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.restriction-trigger { display:flex; align-items:center; gap:10px; width:100%; min-height:48px; padding:10px 12px; border:1px solid var(--color-border); border-radius:8px; background:var(--color-soft); color:var(--color-primary); font:600 13px/1.4 var(--font-body); text-align:left; }
.restriction-trigger:hover,.restriction-trigger[aria-expanded=true] { border-color:var(--color-primary); }
.restriction-trigger[aria-invalid=true] { border-color:var(--color-danger); }
.restriction-trigger > span { flex:1; }
.restriction-trigger .icon:last-child { width:16px; height:16px; transition:transform .16s ease; }
.restriction-trigger[aria-expanded=true] .icon:last-child { transform:rotate(180deg); }
.restriction-manual { min-height:44px; padding:0 2px; }
.restriction-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:10px 0 0; }
.restriction-summary > div { padding:8px 10px; border:1px solid var(--color-border); border-radius:8px; background:var(--color-bg); overflow-wrap:anywhere; }
.restriction-summary dt { color:var(--color-muted); font-size:var(--font-size-label); }
.restriction-summary dd { margin:4px 0 0; font-size:12px; font-weight:600; line-height:1.5; }
.restriction-range [role=alert] { margin-top:8px; }

/* Keep the calendar inside the editor's scrolling area. */
.restriction-picker .daterangepicker { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; width:100%; max-width:none; margin:8px 0 0; padding:12px; box-shadow:none; scroll-margin-block:80px 12px; }
.restriction-trigger[aria-expanded=true] + .restriction-picker .daterangepicker { display:grid !important; }
.restriction-picker .daterangepicker::before,.restriction-picker .daterangepicker::after,.restriction-picker .ranges,.restriction-picker .drp-selected { display:none; }
.restriction-picker-hint { grid-column:1/-1; margin:0 0 6px; color:var(--color-muted); font-size:12px; line-height:1.5; }
.restriction-picker .daterangepicker .drp-calendar { float:none; width:100%; max-width:none; padding:0 0 8px; }
.restriction-picker .drp-calendar .calendar-table { padding:0; border:0; }
.restriction-picker .calendar-table th,.restriction-picker .calendar-table td { width:calc(100% / 7); min-width:0; height:30px; }
.restriction-picker .calendar-table th.month { width:auto; color:var(--color-primary); }
.restriction-picker .calendar-table td.disabled { cursor:default; text-decoration:none; }
.restriction-picker .calendar-table :is(td,th):focus-visible { outline:2px solid var(--color-primary); outline-offset:-2px; }
.restriction-time-label { margin:5px 0 0; text-align:center; color:var(--color-muted); font-size:var(--font-size-label); font-weight:600; line-height:1.5; }
.restriction-picker .daterangepicker .calendar-time { display:flex; align-items:center; justify-content:center; gap:4px; margin:4px 0 0; }
.restriction-picker .calendar-time select { width:auto; min-width:44px; min-height:38px; margin:0; padding:4px 2px; font:500 13px var(--font-body); background:var(--color-surface); border:1px solid var(--color-border); }
.restriction-picker .calendar-time select:focus-visible { outline:2px solid var(--color-primary); outline-offset:1px; }
.restriction-picker .daterangepicker .drp-buttons { display:flex; flex-wrap:wrap; justify-content:flex-end; grid-column:1/-1; gap:8px; padding:10px 0 0; }
.restriction-picker .torneo-picker-button { min-height:40px; }

@media(max-width:768px) {
  .restriction-drawer .overlay-heading { padding:14px 16px; }
  .editor-form[data-kind=player-block] > .overlay-body { padding:16px 14px 20px; }
  .editor-form[data-kind=player-block] > .overlay-footer { padding:12px 14px; }
  .restriction-editor { gap:14px; }
  .restriction-editor textarea { font-size:16px; }
}
@media(max-width:560px) {
  .restriction-picker .daterangepicker { gap:0 6px; padding:8px; }
  .restriction-picker .daterangepicker .drp-calendar { display:contents; }
  .restriction-picker .left .calendar-table { grid-column:1/-1; }
  .restriction-picker .right .calendar-table { display:none; }
  .restriction-picker .restriction-time-label { grid-row:3; }
  .restriction-picker .calendar-time { grid-row:4; padding-bottom:8px; }
  .restriction-picker .calendar-table th,.restriction-picker .calendar-table td { height:32px; }
  .restriction-picker .calendar-time select { min-width:0; font-size:16px; }
}
@media(max-width:520px) {
  .restriction-range { padding-inline:6px; }
  .restriction-native { gap:8px; }
  #restriction-fields input:is(.date-picker-input,[type=datetime-local]) {
    --picker-icon:none;
    padding-inline:4px;
    font-size:clamp(12px,3.6vw,16px);
  }
}
@media(max-width:360px) {
  .restriction-picker .daterangepicker .calendar-time { gap:2px; }
  .restriction-picker .calendar-time select { padding-inline:1px; font-size:13px; }
}
