.dn-page .dn-cal-controls { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0; }
.dn-page .dn-cal-controls input { width:auto;min-height:44px; }
.dn-page .dn-cal-metrics { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px; }
.dn-page .dn-cal-metrics>div { background:var(--surface-2);border-radius:12px;padding:16px; }
.dn-page .dn-cal-metrics span,.dn-page .dn-cal-metrics strong { display:block; }
.dn-page .dn-cal-metrics span { color:var(--text-2);font-size:.85rem; }
.dn-page .dn-cal-metrics strong { font-size:1.2rem;margin-top:8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.dn-page .dn-cal-grid,.dn-page .dn-cal-weekdays { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px; }
.dn-page .dn-cal-weekdays { text-align:center;color:var(--text-2);padding-bottom:10px;font-size:.85rem; }
.dn-page .dn-cal-day { border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);min-height:88px;min-width:0;padding:8px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;cursor:pointer; }
.dn-page .dn-cal-day strong { font-variant-numeric:tabular-nums; }
.dn-page .dn-cal-day span { font-size:.75rem;line-height:1.4;overflow-wrap:anywhere; }
.dn-page .dn-cal-paid { color:var(--text);background:var(--surface-2);padding:2px 4px;border-radius:4px; }
.dn-page .dn-cal-planned { color:var(--text-2);border-bottom:1px dashed currentColor; }
.dn-page .dn-cal-day[aria-current="date"] strong { text-decoration:underline;text-underline-offset:4px; }
.dn-page .dn-cal-day[aria-pressed="true"] { border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:var(--surface-2); }
.dn-page .dn-cal-day:focus-visible { outline:3px solid var(--brand);outline-offset:2px; }
.dn-page .dn-cal-record { display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--border);border-radius:12px;padding:14px;margin:10px 0; }
.dn-page .dn-cal-record .btn { margin-left:auto;min-height:44px; }
.dn-page .dn-cal-review { border-left:3px solid var(--brand);padding:12px 16px;background:var(--surface-2); }
.dn-page #cal-all { margin-top:24px; }
.dn-page #cal-all summary { cursor:pointer;padding:12px 0;font-weight:600; }
.dn-page #cal-day-title { margin-top:24px; }
@media(max-width:760px){.dn-page .dn-cal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dn-page .dn-cal-day{min-height:76px;padding:5px}.dn-page .dn-cal-grid,.dn-page .dn-cal-weekdays{gap:3px}.dn-page .dn-cal-controls label{width:100%}}
@media(max-width:400px){.dn-page .dn-cal-day span{font-size:.65rem}.dn-page .dn-cal-day{padding:3px}.dn-page .dn-cal-record .btn{width:100%;margin:0}}
