/* Hallmark · component: owner asset date calendar · theme: retained Kachi tokens · signature: real task counts per day · v2.0.0 */
/* Critique: compact filtering, clear empty dates, keyboard and phone operation; no added imagery or motion. */
.asset-calendar{position:relative;flex:0 0 auto;min-width:0}
.asset-calendar-trigger{min-width:164px;min-height:40px;text-align:start;white-space:nowrap;background:var(--color-surface);border:1px solid var(--color-field-edge);border-radius:var(--radius-input);color:var(--color-ink-2);padding:8px 32px 8px 12px}
.asset-calendar-trigger::after{content:'';position:absolute;inset-inline-end:14px;inset-block-start:15px;width:7px;height:7px;border-inline-end:1px solid currentColor;border-block-end:1px solid currentColor;transform:rotate(45deg);pointer-events:none}
.asset-calendar-popup{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;z-index:var(--z-dropdown);width:min(332px,calc(100dvw - 32px));max-width:none;padding:12px;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.asset-calendar-popup[hidden]{display:none}
.asset-calendar-header{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) 32px;gap:4px;align-items:center;margin-block-end:12px}
.asset-calendar-header select{min-width:0;width:100%;min-height:34px;padding:4px 24px 4px 8px;font-size:var(--text-sm);border:1px solid var(--color-rule);border-radius:var(--radius-input);background-color:var(--color-surface);color:var(--color-ink)}
.asset-calendar-nav{min-width:32px;min-height:34px;padding:0;font-size:var(--text-xl);border:0;background:var(--color-paper-2);color:var(--color-ink-2);border-radius:var(--radius-input)}
.asset-calendar-weekdays,.asset-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
.asset-calendar-weekdays{margin-block-end:4px;color:var(--color-muted);font-size:var(--text-xs);text-align:center}
.asset-calendar-cell{min-width:0;min-height:44px}
.asset-calendar-day{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;width:100%;min-height:44px;padding:4px 0;border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-paper-2);color:var(--color-accent);font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:1.1}
.asset-calendar-day small{font-size:10px;line-height:1.1;color:var(--color-accent)}
.asset-calendar-day:disabled{opacity:1;border-color:transparent;background:transparent;color:var(--color-muted);cursor:not-allowed}
.asset-calendar-day.is-today{border-color:var(--color-field-edge)}
.asset-calendar-day.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-ink);font-weight:600}
.asset-calendar-day:not(:disabled):hover,.asset-calendar-nav:not(:disabled):hover{background:var(--color-accent-soft);color:var(--color-accent-hover)}
.asset-calendar-legend{margin:12px 0;color:var(--color-muted);font-size:var(--text-xs);line-height:1.5;overflow-wrap:anywhere}
.asset-calendar-footer{display:flex;align-items:center;gap:8px;border-block-start:1px solid var(--color-rule);padding-block-start:8px}
.asset-calendar-footer button,.asset-history-pagination button{min-height:36px;padding:8px 12px;border:1px solid var(--color-rule);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-ink-2);font-size:var(--text-sm)}
.asset-calendar-footer button:not(:disabled):hover,.asset-history-pagination button:not(:disabled):hover{background:var(--color-paper-2)}
.asset-calendar-footer button:disabled,.asset-calendar-nav:disabled,.asset-history-pagination button:disabled{opacity:.45;cursor:not-allowed}
.asset-calendar button:focus-visible,.asset-calendar select:focus-visible,.asset-history-pagination button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}
.asset-calendar button:active:not(:disabled),.asset-history-pagination button:active:not(:disabled){background:var(--color-accent-soft)}
.asset-history-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-block-start:24px;flex-wrap:wrap}
.asset-history-pagination[hidden]{display:none}
.asset-history-count{color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}
#historyLoadStatus{margin-block:12px;color:var(--color-muted);font-size:var(--text-sm)}
@media(max-width:640px){.asset-calendar{width:100%}.asset-calendar-trigger{width:100%}.asset-calendar-popup{inset-inline-start:0;inset-inline-end:auto}.asset-history-pagination{gap:8px}.asset-history-count{flex-basis:100%;order:-1;text-align:center}}

.asset-heading-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}
.asset-heading-line h1,.asset-heading-line h2{margin:0;text-wrap:balance}
.asset-heading-line .asset-refresh{min-height:36px;padding:8px 12px;white-space:nowrap}
.asset-refresh:disabled{background:var(--color-paper-2);color:var(--color-muted);cursor:progress}
.asset-refresh-status{color:var(--color-muted);font-size:var(--text-xs);line-height:1.5;overflow-wrap:anywhere}
.asset-refresh-status[hidden]{display:none}
@media(max-width:640px){.asset-heading-line{gap:8px}.asset-refresh-status{flex-basis:100%}}
