/* Scoped controls: equal 40px heights, equal widths within each functional group. */
.app-date-picker{box-sizing:border-box;width:min(360px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:16px;margin:auto;border:1px solid #d3dfe1;border-radius:16px;background:#fff;color:#294257;font:16px/1.4 system-ui,-apple-system,"PingFang SC",sans-serif;overflow:auto;overscroll-behavior:contain;-webkit-text-size-adjust:100%}
.app-date-picker::backdrop{background:rgba(15,30,40,.42)}
.app-date-picker *{box-sizing:border-box}
.app-date-picker .adp-title{font-size:18px;font-weight:700;margin:0 0 12px}
.app-date-picker button,.app-date-picker input,.app-date-picker select{appearance:none;-webkit-appearance:none;display:block;font:400 16px/1.2 system-ui,-apple-system,"PingFang SC",sans-serif;color:inherit;box-shadow:none;letter-spacing:normal;min-width:0;height:40px;min-height:40px;max-height:40px;border:1px solid #d3dfe1;border-radius:8px;background:#f7f9f9;padding:0 8px;margin:0;text-align:center}
.app-date-picker .adp-month{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1fr) 40px;align-items:center;gap:8px;margin-bottom:12px}
.app-date-picker .adp-month label{position:relative;display:block;min-width:0;height:40px;margin:0}
.app-date-picker .adp-month label span{position:absolute;right:8px;top:0;line-height:40px;pointer-events:none}
.app-date-picker .adp-month input{width:100%;padding:0 24px 0 4px}
.app-date-picker .adp-month input::-webkit-inner-spin-button,.app-date-picker .adp-month input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.app-date-picker .adp-month select{width:100%;padding:0 4px;text-align:center;text-align-last:center}
.app-date-picker .adp-month button{width:40px;padding:0;font-size:24px}
.app-date-picker .adp-week,.app-date-picker .adp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.app-date-picker .adp-week{color:#657e8c;margin-bottom:6px}
.app-date-picker .adp-days button{width:100%;padding:0;border-color:#e5ecef;background:#fff;cursor:pointer}
.app-date-picker .adp-days>span{height:40px}
.app-date-picker .adp-days button[aria-pressed="true"],.app-date-picker [data-confirm]{background:#405e78;color:#fff;border-color:#405e78}
.app-date-picker button:disabled{opacity:.35;cursor:default}
.app-date-picker :focus-visible{outline:2px solid #405e78;outline-offset:2px}
/* Keep selected fill; day focus uses an underline instead of an extra ring. */
.app-date-picker .adp-days button:focus{outline:none;box-shadow:none}
.app-date-picker .adp-days button:focus-visible{text-decoration:underline;text-underline-offset:3px}
.app-date-picker .adp-manual-label{display:block;margin:12px 0 6px;font-size:14px;color:#536d7c}
.app-date-picker [data-manual]{width:100%;text-align:left}
.app-date-picker [data-manual]::placeholder{font-size:13px;color:#657e8c}
.app-date-picker [data-manual][aria-invalid="true"]{border-color:#b23b3b}
.app-date-picker .adp-value{font-size:14px;min-height:20px;margin:8px 0 12px;color:#536d7c}
.app-date-picker .adp-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.app-date-picker .adp-actions button{width:100%;padding:0 8px}
.app-date-picker .adp-actions [data-cancel]{grid-column:2}
.app-date-picker .adp-actions [data-confirm]{grid-column:3}
.app-date-picker [hidden]{display:none!important}
