/* 日志日期控件独立使用共享主题；原日期输入负责业务数据，页面日历避免系统弹窗不随网页配色。 */
.log-date-trigger { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; width: 152px; min-height: 40px; padding: 0 10px; border: 1px solid var(--ui-line); border-radius: 11px; color: var(--ui-text); background: transparent; box-shadow: none; font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; transform: none; transition: border-color .12s ease; }
.log-date-trigger svg, .log-date-dialog svg { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
html[data-theme] .log-date-trigger:hover:not(:disabled) { color: var(--ui-text); border-color: var(--ui-primary); background: transparent; box-shadow: none; transform: none; }
.log-date-trigger:focus-visible { outline: 2px solid var(--ui-primary); outline-offset: 2px; }
.log-date-dialog { position: fixed; top: calc(var(--mobile-visual-top, 0px) + var(--mobile-visual-height, 100dvh) / 2); left: 50%; right: auto; bottom: auto; transform: translate(-50%, -50%); width: min(352px, calc(100vw - 24px)); max-height: calc(var(--mobile-visual-height, 100dvh) - 24px); margin: 0; padding: 12px; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--ui-line); border-radius: 18px; color: var(--ui-text); background: var(--ui-surface); box-shadow: var(--ui-shadow-md); font-family: inherit; }
.log-date-dialog:not([open]), .log-date-dialog [hidden] { display: none; }
.log-date-dialog::backdrop { background: rgba(8, 29, 46, .28); }
.log-date-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.log-date-dialog h2 { margin: 0; color: var(--ui-text); font-size: 15px; font-weight: 600; line-height: 1.4; letter-spacing: 0; }
html[data-theme] .log-date-dialog button { min-width: 0; min-height: 40px; padding: 5px; border: 0; border-radius: 9px; color: var(--ui-text); background: transparent; box-shadow: none; font-size: 13px; line-height: 1.4; transform: none; transition: none; }
.log-date-dialog .log-date-icon { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; }
.log-date-navigation { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; align-items: center; margin-bottom: 4px; }
.log-date-dialog .log-date-period { font-weight: 600; }
.log-date-week, .log-date-grid > [role="row"] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; text-align: center; }
.log-date-week { min-height: 28px; align-items: center; color: var(--ui-muted); font-size: 12px; }
.log-date-grid { display: grid; gap: 2px; font-variant-numeric: tabular-nums; }
.log-date-grid .log-date-day[data-other-month="true"] { color: var(--ui-muted); }
html[data-theme] .log-date-grid .log-date-day[aria-selected="true"] { color: #fff; background: var(--ui-primary); font-weight: 600; }
.log-date-day[aria-current="date"] { box-shadow: inset 0 0 0 1px var(--ui-primary); }
html[data-theme] .log-date-dialog button:disabled { color: var(--ui-muted) !important; background: transparent !important; opacity: .45; }
@media (hover: hover) and (pointer: fine) { html[data-theme] .log-date-dialog button:hover:not(:disabled):not([aria-selected="true"]) { background: color-mix(in srgb, var(--ui-text) 7%, transparent); } }
html[data-theme] .log-date-dialog button:active:not(:disabled) { background: color-mix(in srgb, var(--ui-text) 10%, transparent); }
.log-date-dialog button:focus-visible { outline: 2px solid var(--ui-primary); outline-offset: -2px; }
.log-date-year { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; align-items: center; gap: 8px; margin-bottom: 8px; }
.log-date-year label { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; }
.log-date-year input { width: 90px; height: 40px; padding: 4px 8px; border: 1px solid var(--ui-line); border-radius: 9px; color: var(--ui-text); background: var(--ui-surface); font-size: 16px; text-align: center; }
.log-date-month-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.log-date-error { margin: 8px 0 0; color: var(--ui-danger); font-size: 12px; line-height: 1.5; }
.log-date-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--ui-line); }
.log-date-selection { color: var(--ui-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
/* 手机日期标题由相邻 label 提供，按钮本身覆盖整张卡片；电脑沿用原来的单行日期控件。 */
@media (max-width: 900px), (pointer: coarse) and (max-width: 1400px) { .log-date-trigger { width: 108px; min-height: 68px; height: 100%; align-items: end; padding: 28px 8px 10px; font-size: 13px; gap: 5px; border-radius: 15px; } .log-date-trigger svg { width: 16px; height: 18px; } }
@media (max-height: 480px) { .log-date-dialog { padding: 8px; } .log-date-dialog button { min-height: 32px !important; } .log-date-dialog .log-date-icon { height: 32px; } .log-date-week { min-height: 24px; } .log-date-dialog footer { margin-top: 4px; padding-top: 4px; } }
@media (prefers-contrast: more) { .log-date-dialog { border-color: var(--ui-line-strong); } }

/* 手机横屏日历仍保留触控高度，低高度时由对话框内部滚动承载全部日期。 */
@media (max-width:900px),(pointer:coarse) and (max-width:1400px){html[data-theme] .log-date-dialog button{min-height:44px!important}.log-date-dialog .log-date-icon{height:44px}}
