/* 날짜 계산기 — 공통 도구 스타일에 없는 것만 정의한다. */

.dt-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.dt-inline { display: flex; gap: .5rem; align-items: center; }
.dt-inline .input-tool { flex: 1 1 auto; min-width: 0; }
.dt-inline .btn-tool { flex: 0 0 auto; width: auto; white-space: nowrap; } /* 공통 모바일 규칙의 전폭 버튼이 입력칸 옆에서 카드 밖으로 밀려났다 */

.dt-shift-row { display: flex; gap: .5rem; }
.dt-shift-row .input-tool { flex: 1 1 auto; min-width: 0; text-align: right; font-variant-numeric: tabular-nums; }
.dt-shift-row .select-tool { flex: 0 0 auto; width: auto; }
.dt-quick { display: flex; flex-wrap: wrap; gap: .375rem; margin-top: .5rem; }

.dt-main {
    display: flex; flex-direction: column; align-items: center; gap: .25rem;
    margin-top: var(--spacing-md, 1rem);
    padding: var(--spacing-lg, 1.5rem) var(--spacing-md, 1rem);
    border: 1px solid var(--border-color, #e5e8ed);
    border-radius: var(--radius-md, 8px);
    background: var(--primary-soft, #eef3fd);
    text-align: center;
}
.dt-main-value {
    font-size: 1.6rem; font-weight: 700; line-height: 1.3;
    color: var(--primary-strong, #2c56b8);
    word-break: keep-all; font-variant-numeric: tabular-nums;
}
.dt-main-sub { font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }

.dt-stats { margin-top: var(--spacing-md, 1rem); }
.dt-alert { margin-top: var(--spacing-md, 1rem); }
.dt-hint { margin: .75rem 0 0; font-size: var(--text-ui-sm, .8125rem); color: var(--text-muted, #626977); }

@media (max-width: 768px) {
    .dt-row { grid-template-columns: minmax(0, 1fr); }
    .dt-main-value { font-size: 1.3rem; }
}
