.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.date-fields label{margin:0}
.date-fields input[type="date"]{width:100%;height:52px;padding:0 14px;border:1px solid #cfd4dc;border-radius:12px;background:#fff;color:var(--text);font:inherit;font-size:1rem;outline:none}
.date-fields input[type="date"]:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--soft)}
.dual-calendar{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0 16px}
.calendar-month{border:1px solid #e3e8ef;border-radius:16px;padding:14px;background:#fff;min-width:0}
.calendar-month h3{text-align:center;margin:0 0 12px;text-transform:capitalize;font-size:1rem}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.cal-grid>b{font-size:.75rem;color:#687386;padding:5px 0;font-weight:700}
.cal-day{width:100%;aspect-ratio:1;border:0;border-radius:9px;background:#f5f7fa;color:#202735;cursor:pointer;font:inherit;font-size:.88rem;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}
.cal-day:hover{transform:translateY(-1px);box-shadow:0 2px 7px rgba(30,41,59,.12)}
.cal-day.weekend{background:#f2f3f5;color:#6d7480}
.cal-day.holiday{background:#fff0f0;color:#b42318;font-weight:650}
.cal-day.transfer{background:#eaf7ef;color:#18794e;font-weight:800}
.cal-day.in-range{background:#e8f1ff;color:#1e4f96}
.cal-day.selected{background:#2563eb;color:#fff;font-weight:800;box-shadow:0 0 0 2px rgba(37,99,235,.15)}
.cal-day.selected:hover{background:#2563eb}
.cal-nav{position:absolute;z-index:2;top:8px;width:36px;height:36px;border:0;border-radius:10px;background:#f5f7fa;color:#263246;font-size:25px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cal-nav:hover{background:#e8edf5}
.cal-prev{left:8px}.cal-next{right:8px}
.calendar-legend{display:flex;flex-wrap:wrap;gap:9px 16px;margin:0 0 12px;font-size:.8rem;color:#596273}
.calendar-legend span{display:flex;align-items:center;gap:6px}
.calendar-legend i{width:12px;height:12px;border-radius:4px;background:#f5f7fa;border:1px solid #e3e8ef;flex:0 0 auto}
.calendar-legend .lg-weekend{background:#f2f3f5}.calendar-legend .lg-holiday{background:#fff0f0}.calendar-legend .lg-transfer{background:#eaf7ef}
.calendar-source-note{margin:0 0 18px;color:#6b7280;font-size:.78rem;line-height:1.5}
.calendar-source-note a{color:var(--accent);font-weight:700;text-decoration:none}.calendar-source-note a:hover{text-decoration:underline}
.days-results{grid-template-columns:1fr!important;margin-top:20px}
.days-results>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.days-results>div:last-child{border-bottom:0}
.days-results>div span{margin-right:8px}.days-results>div strong{white-space:nowrap;font-size:1.08rem}
.days-calculator-layout .result-card{position:sticky;top:92px}
@media(max-width:760px){
  .date-fields,.dual-calendar{grid-template-columns:1fr}
  .calendar-month:nth-of-type(2){display:none}
  .days-calculator-layout .result-card{position:static}
  .cal-day{font-size:.94rem}
}
@media(max-width:390px){
  .calendar-month{padding:10px}
  .cal-grid{gap:3px}
  .cal-day{border-radius:8px;font-size:.86rem}
}
