/* System-wide date picker (GC / EC) - see static/js/za_dates.js */
.za-date{position:relative;display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box}
.za-date .za-date-field{flex:1 1 auto;min-width:0;width:auto}
.za-date .za-date-btn{flex:0 0 auto;border:1px solid rgba(16,43,92,.18);background:#fff;border-radius:8px;
  height:38px;min-width:38px;cursor:pointer;font-size:15px;line-height:1;padding:0 8px}
.za-date .za-date-btn:hover{border-color:var(--gold-500,#b8922e);background:var(--gold-light,rgba(184,146,46,.10))}
.za-date .za-time-field{flex:0 0 86px;width:86px;box-sizing:border-box;padding:9px 10px;border:1px solid rgba(16,43,92,.18);
  border-radius:8px;font:inherit;background:#fff}
.za-date .za-date-field,.za-date .za-time-field{font:inherit}
.za-date .za-invalid{border-color:var(--danger,#c0392b)!important;box-shadow:0 0 0 3px rgba(192,57,43,.12)!important}
/* the real <input type=date> stays in the form (holds the ISO value) but is not shown */
.za-date .za-native{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;pointer-events:none;border:0;padding:0}
.za-date + .za-date{margin-left:0}
td .za-date,th .za-date{min-width:150px}

.za-cal{position:absolute;z-index:100000;display:none;width:292px;background:#fff;border:1px solid rgba(16,43,92,.14);
  border-radius:14px;box-shadow:0 12px 36px rgba(13,30,61,.22);padding:12px;font-size:13px;color:var(--text-primary,#0d1e3d)}
.za-cal-head{display:flex;align-items:center;gap:6px;margin-bottom:10px}
.za-cal-head select,.za-cal-head input{height:32px;border:1px solid rgba(16,43,92,.18);border-radius:8px;padding:0 8px;font:inherit;background:#fff;box-sizing:border-box}
.za-cal-month{flex:1 1 auto;min-width:0}
.za-cal-year{width:70px}
.za-cal-nav{width:32px;height:32px;border:1px solid rgba(16,43,92,.18);background:#fff;border-radius:8px;cursor:pointer;font-size:18px;line-height:1}
.za-cal-nav:hover,.za-cal-foot button:hover{background:var(--gold-light,rgba(184,146,46,.10));border-color:var(--gold-500,#b8922e)}
.za-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.za-cal-dow{text-align:center;font-size:11px;font-weight:700;color:var(--text-muted,#7b8fb5);padding:4px 0}
.za-cal-day{height:34px;border:1px solid transparent;background:transparent;border-radius:8px;cursor:pointer;font:inherit;color:inherit}
.za-cal-day:hover:not(:disabled){background:var(--gold-light,rgba(184,146,46,.10));border-color:var(--gold-border,rgba(184,146,46,.25))}
.za-cal-day.is-today{border-color:var(--gold-500,#b8922e);font-weight:700}
.za-cal-day.is-selected{background:var(--navy-800,#132750);color:#fff;border-color:var(--navy-800,#132750)}
.za-cal-day:disabled{opacity:.3;cursor:not-allowed}
.za-cal-foot{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(16,43,92,.10)}
.za-cal-foot button{border:1px solid rgba(16,43,92,.18);background:#fff;border-radius:8px;padding:6px 12px;cursor:pointer;font:inherit}
.za-cal-badge{margin-left:auto;font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--gold-600,#9a7820);
  background:var(--gold-light,rgba(184,146,46,.10));border-radius:999px;padding:3px 9px}
