/* Modern School date controls: native ISO values, Thai presentation. */
.ms-datepicker{position:relative;display:block;width:100%;min-width:0;font:inherit;color:var(--text,#193759)}
.ms-datepicker input.ms-datepicker-native{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;max-height:1px!important;padding:0!important;margin:0!important;border:0!important;opacity:0!important;clip-path:inset(50%)!important;pointer-events:none!important;overflow:hidden!important}
.ms-datepicker input.ms-datepicker-input{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:42px;margin:0;padding:9px 44px 9px 12px!important;border:1px solid var(--border,#cedbed);border-radius:9px;background:var(--surface,#fff);color:var(--ink,#102f57);font:inherit;font-weight:400;line-height:1.5;transition:border-color .15s,box-shadow .15s}
.ms-datepicker .ms-datepicker-input::placeholder{color:var(--muted,#73849a);font-size:.9em}
.ms-datepicker .ms-datepicker-input:focus{outline:0;border-color:var(--primary,#064db8);box-shadow:0 0 0 3px var(--primary-soft,#e8f1ff)}
.ms-datepicker .ms-datepicker-input[aria-invalid=true]{border-color:var(--danger,#bf3043)}
.ms-datepicker .ms-datepicker-trigger{position:absolute;inset:3px 3px 3px auto;display:grid;place-items:center;width:36px;min-width:36px;padding:0;border:0;border-radius:7px;color:var(--primary,#064db8);background:transparent;cursor:pointer}
.ms-datepicker-trigger svg{width:19px;height:19px}
.ms-datepicker .ms-datepicker-trigger:hover{background:var(--primary-soft,#e8f1ff)}
.ms-datepicker .ms-datepicker-trigger:focus-visible{outline:2px solid var(--primary,#064db8);outline-offset:0}
.ms-datepicker.is-disabled{opacity:.6}
.ms-datepicker.is-disabled .ms-datepicker-input,.ms-datepicker.is-readonly .ms-datepicker-input{background:#f1f5fa}
.ms-datepicker .ms-datepicker-trigger:disabled{cursor:default;color:#91a1b6}
.cms-filters>.ms-datepicker{flex:1 1 160px}
.cms-actions>.ms-datepicker{width:auto;flex:1 1 180px}
.ms-date-popup{position:fixed;z-index:10010;box-sizing:border-box;width:348px;max-width:calc(100vw - 24px);padding:16px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--border,#ccdaeb);border-radius:16px;color:var(--ink,#102f57);background:var(--surface,#fff);box-shadow:0 18px 60px #0928542b,0 4px 12px #09285414;font-family:inherit;font-size:13px;line-height:1.5;text-align:left;isolation:isolate}
.ms-date-popup[hidden]{display:none!important}
.ms-date-popup *{box-sizing:border-box}
.ms-date-popup button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;font:inherit;line-height:1.3;cursor:pointer;touch-action:manipulation}
.ms-date-popup button:hover:not(:disabled){background:var(--primary-soft,#e8f1ff);color:var(--primary,#064db8)}
.ms-date-popup button:focus-visible,.ms-date-popup input:focus-visible,.ms-date-popup select:focus-visible{outline:2px solid var(--primary,#064db8);outline-offset:2px}
.ms-date-popup button:disabled{color:#a9b4c3;cursor:not-allowed;opacity:.65}
.ms-date-popup input,.ms-date-popup select{min-width:0;min-height:36px;padding:6px 8px;border:1px solid var(--border,#ccdaeb);border-radius:8px;background:var(--surface,#fff);color:inherit;font:inherit}
.ms-date-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px;font-size:15px;font-weight:700;border-bottom:1px solid var(--border,#e3eaf3)}
.ms-date-heading button{min-width:32px;min-height:32px;font-size:22px;color:var(--muted,#76869d)}
.ms-date-navigation{display:grid;grid-template-columns:30px minmax(0,1fr) 80px 30px;gap:6px;align-items:center;margin-top:12px}
.ms-date-navigation>button{padding:0;font-size:24px}
.ms-date-navigation select{width:100%;font-size:12px}
.ms-date-navigation input{width:100%;font-variant-numeric:tabular-nums}
.ms-date-era{display:flex;justify-content:flex-end;gap:2px;margin-top:8px}
.ms-date-era button{min-height:27px;padding:4px 9px;font-size:11px}
.ms-date-era button[aria-pressed=true]{background:var(--primary-soft,#e8f1ff);color:var(--primary,#064db8);font-weight:700}
.ms-date-caption{margin:4px 0 10px;font-size:12px;font-weight:600;color:var(--muted,#6d7f96)}
.ms-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.ms-date-weekday{text-align:center;padding:5px 0;color:var(--muted,#74859b);font-size:11px;font-weight:600}
.ms-date-grid button{width:100%;height:38px;min-height:38px;padding:0;font-variant-numeric:tabular-nums;font-size:13px}
.ms-date-grid button.is-outside{color:var(--muted,#8796ab);opacity:.6}
.ms-date-grid button.is-today{border-color:var(--primary,#064db8);font-weight:700}
.ms-date-grid button.is-in-range{background:var(--primary-soft,#e8f1ff);border-radius:4px}
.ms-date-popup button.is-selected,.ms-date-popup button.is-selected:hover:not(:disabled){border-color:var(--primary,#064db8);border-radius:9px;background:var(--primary,#064db8);color:#fff;opacity:1;font-weight:700}
.ms-date-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}
.ms-date-months button{font-size:11px;min-height:42px;padding:6px 4px;border-color:var(--border,#e3eaf3)}
.ms-date-popup .ms-date-time{display:grid;gap:6px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--border,#e3eaf3);font-weight:600}
.ms-date-time input{width:100%;font-size:15px}
.ms-date-message{margin:8px 0 0;color:var(--danger,#a52c3f);font-size:11px;overflow-wrap:anywhere}
.ms-date-message:empty{display:none}
.ms-date-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border,#e3eaf3)}
.ms-date-footer button{font-size:12px}
.ms-date-popup .ms-date-primary{background:var(--primary,#064db8);color:#fff}
.ms-date-popup .ms-date-primary:hover:not(:disabled){background:var(--navy,#07376e);color:#fff}
@media(max-width:600px){.cms-filters>.ms-datepicker{flex-basis:100%}.ms-datepicker input.ms-datepicker-input{min-height:44px;font-size:16px}.ms-date-popup{padding:14px}.ms-date-grid button{height:40px;min-height:40px}.ms-date-footer button{min-height:42px}}
@media(prefers-reduced-motion:reduce){.ms-datepicker input.ms-datepicker-input{transition:none}}
@media(forced-colors:active){.ms-date-popup button.is-selected{outline:2px solid Highlight}.ms-datepicker input.ms-datepicker-native{forced-color-adjust:none}}
@media print{.ms-datepicker-trigger,.ms-date-popup{display:none!important}.ms-datepicker input.ms-datepicker-input{border:0;box-shadow:none}}
