.portal-date-control{display:flex;align-items:stretch;border:1px solid var(--line,#d8d8d5);background:#fff;min-width:0}
.portal-date-control:focus-within{outline:1px solid #111;outline-offset:1px}
.portal-date-control input{border:0;min-width:0;flex:1;font-variant-numeric:tabular-nums;letter-spacing:.35px}
.portal-date-control input:focus{outline:0}
.portal-date-entry{position:relative;display:flex;flex:1;min-width:0;overflow:hidden}
.portal-date-control .portal-date-entry input,.portal-date-guide{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:14px;line-height:20px;font-variant-numeric:tabular-nums;letter-spacing:.35px;padding:12px 13px}
.portal-date-control .portal-date-entry input{position:relative;z-index:1;width:100%;background:transparent}
.portal-date-entry input::placeholder{color:transparent;opacity:0}
.portal-date-guide{position:absolute;inset:0;display:flex;align-items:center;white-space:pre;overflow:hidden;pointer-events:none;user-select:none;color:#a0a09a}
.portal-date-guide>[data-date-prefix]{visibility:hidden;flex:none}.portal-date-guide>[data-date-suffix]{flex:none}
.portal-date-control>button{display:flex;align-items:center;justify-content:center;min-width:46px;padding:10px;color:#777;background:transparent;border:0;cursor:pointer}
.portal-date-control>button:hover{color:#111;background:#f4f4f1}
.portal-date-control>button:focus-visible{outline:1px solid #111;outline-offset:-4px}
.portal-date-control svg{width:20px;height:20px}
.portal-date-status{align-self:center;flex:none;padding-left:6px;padding-right:4px;color:#a32828;font-size:11px;font-weight:500;white-space:nowrap}.portal-date-status[hidden]{display:none}
dialog.date-picker{width:min(360px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);margin:auto;padding:24px;border:1px solid #d8d8d5;border-radius:2px;background:#fff;color:#111;box-shadow:0 24px 90px #0002;overflow:auto;font-family:inherit;animation:date-picker-in .1s ease-out}
.date-picker::backdrop{background:#0006;backdrop-filter:blur(2px)}
.date-picker-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:22px}
.date-picker-top span{display:block;font-size:9px;letter-spacing:1.3px;color:#777;margin-bottom:8px}
.date-picker-top h2{margin:0;font-size:21px;line-height:1.25;letter-spacing:-.5px;font-weight:500}
.date-picker button{font-family:inherit;cursor:pointer}
.date-picker-close{border:0;background:transparent;font-size:23px;color:#777;padding:0;min-width:32px;min-height:32px;line-height:1;margin:-8px -8px 0 0}
.date-picker-navigation{display:flex;align-items:center;gap:4px;margin-bottom:14px}
.date-picker-navigation>button{border:0;background:transparent;display:flex;align-items:center;justify-content:center;min-width:34px;min-height:38px;padding:6px;color:#888}
.date-picker-navigation>button:hover:not(:disabled){color:#111;background:#f4f4f1}
.date-picker-navigation svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}
.date-picker button:disabled{opacity:.25;cursor:default}
.date-picker-selects{display:flex;gap:8px;flex:1;min-width:0}
.date-picker-selects select,.date-picker-selects input{min-width:0;min-height:38px;border:1px solid #dededb;border-radius:0;background:#fff;color:#111;font:inherit;font-size:12px;padding:8px;line-height:1.3}
.date-picker-selects select:first-child{width:60%;flex:1}
.date-picker-selects select:last-child,.date-picker-selects input{width:78px;flex:none;font-variant-numeric:tabular-nums}
.date-picker table{width:100%;border-spacing:0;border-collapse:collapse;table-layout:fixed}
.date-picker th{font-size:10px;line-height:1.4;font-weight:400;color:#888;padding:5px 0 10px;text-align:center}
.date-picker td{padding:2px 0;text-align:center}
.date-picker td button{display:block;position:relative;min-height:38px;width:100%;padding:0;border:0;border-radius:2px;background:transparent;color:#111;font-size:12px;line-height:1.4;font-variant-numeric:tabular-nums}
.date-picker td button.outside-month{color:#9c9c97}
.date-picker td button:hover:not(:disabled){background:#efefeb;color:#111}
.date-picker td button.selected,.date-picker td button.selected:hover:not(:disabled){background:#111;color:#fff}
.date-picker td button[aria-current=date]::after{content:'';position:absolute;bottom:4px;left:calc(50% - 1.5px);width:3px;height:3px;border-radius:50%;background:currentColor}
.date-picker button:focus-visible,.date-picker select:focus-visible,.date-picker input:focus-visible{outline:1px solid #111;outline-offset:2px;z-index:1}
.date-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #e5e5e1;margin-top:16px;padding-top:12px;font-size:10px;color:#888}
.date-picker-footer button{border:0;background:transparent;color:#444;font-size:11px;padding:9px 0 9px 12px;min-height:36px}
.date-picker-footer button:hover{color:#111;text-decoration:underline}
.date-picker-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes date-picker-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:360px){dialog.date-picker{padding:18px}.date-picker-navigation{gap:0}.date-picker-navigation>button{min-width:28px}.date-picker-selects{gap:5px}.date-picker-selects select,.date-picker-selects input{padding-inline:5px}.date-picker-selects select:last-child,.date-picker-selects input{width:70px}}
@media(prefers-reduced-motion:reduce){dialog.date-picker{animation:none}.date-picker::backdrop{backdrop-filter:none}}
