/* 06.10.2026: календарь для полей дат (static/js/datepicker.js, data-datepicker).
   Только токены tokens.css - светлая/тёмная тема без отдельных правил. */

.dp-wrap{position:relative;display:inline-flex;align-items:center;max-width:100%;vertical-align:middle}
.dp-wrap > input.dp-input{padding-right:34px;min-width:0;width:100%}
input.dp-input{font-variant-numeric:tabular-nums}
input.dp-input:not([size]){width:13ch;min-width:13ch}
.dp-wrap > input.dp-input:not([size]){width:calc(10ch + 46px)}
input.dp-input[aria-invalid="true"]{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}
.dp-btn{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:28px;height:28px;padding:0;margin:0;
  display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);
  background:transparent;color:var(--color-text-muted);cursor:pointer;box-shadow:none}
.dp-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}
.dp-btn:focus-visible{outline:var(--ring-width) solid var(--color-focus);outline-offset:0}
.dp-btn[aria-expanded="true"]{color:var(--color-accent)}
.dp-btn:disabled{opacity:.5;cursor:not-allowed}
.dp-btn .material-symbols-outlined{font-size:18px;width:18px;overflow:hidden}

.dp-pop{position:absolute;z-index:1200;width:292px;padding:10px;background:var(--color-surface);
  border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--color-text)}
.dp-pop[hidden]{display:none}
.dp-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.dp-head select{flex:1;min-width:0;height:30px;padding:0 6px;font-size:13px}
.dp-head .dp-year{flex:0 0 78px}
.dp-nav{width:30px;height:30px;padding:0;flex:none;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;box-shadow:none}
.dp-nav:hover{background:var(--color-surface-hover)}
.dp-nav .material-symbols-outlined{font-size:18px}
.dp-grid{width:100%;border-collapse:collapse;table-layout:fixed}
.dp-grid th{font-size:11.5px;font-weight:600;color:var(--color-text-muted);padding:2px 0 6px;text-align:center}
.dp-grid th.dp-we{color:var(--color-danger)}
.dp-grid td{padding:1px;text-align:center}
.dp-day{width:100%;height:34px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);
  font-size:13px;font-variant-numeric:tabular-nums;cursor:pointer;box-shadow:none}
.dp-day:hover{background:var(--color-surface-hover)}
.dp-day:focus-visible{outline:var(--ring-width) solid var(--color-focus);outline-offset:-2px}
.dp-day.dp-we{color:var(--color-danger)}
.dp-day.dp-out{color:var(--color-text-subtle)}
.dp-day.dp-today{box-shadow:inset 0 0 0 1px var(--color-accent);font-weight:600}
.dp-day.dp-in-range{background:var(--color-surface-selected);border-radius:0}
.dp-day.dp-edge{background:var(--color-surface-selected);font-weight:600}
.dp-day.dp-sel,.dp-day.dp-sel:hover{background:var(--color-action);color:var(--color-on-action);font-weight:700;border-radius:var(--radius-sm)}
.dp-day.dp-off{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.dp-foot{display:flex;gap:6px;justify-content:space-between;margin-top:8px;border-top:1px solid var(--color-border);padding-top:8px}
.dp-foot .dp-close{margin-left:auto}

/* телефоны: «шторка» снизу экрана, крупные кнопки */
.dp-pop.dp-sheet{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;border-radius:var(--radius-xl) var(--radius-xl) 0 0;
  padding:14px 14px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgba(0,0,0,.25)}
.dp-pop.dp-sheet .dp-day{height:42px;font-size:15px}
@media (prefers-reduced-motion:no-preference){
  .dp-pop{animation:dp-in var(--dur-fast) var(--ease-out)}
  @keyframes dp-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
}
