:root{ --brand-dark:#1f4a86; --brand-mid:#3f7cc0; --brand-light:#cfe0f6; --ink:#1f2330; --muted:#4c5e73; --bg:#fff; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; }
*,*::before,*::after{ box-sizing:border-box; }
.r365-mini{max-width:680px;margin:24px auto;border:2px solid var(--brand-light);border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(31,74,134,.06);padding:12px}
.r365-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.r365-head .title{font-weight:900;color:#223a5e}
.r365-cal{background:#fff;border:1px solid var(--brand-light);border-radius:16px;padding:12px}
/* Always one month */
.dp-wrap{display:grid;grid-template-columns:1fr;gap:12px}
.month .mtitle{font-weight:900;color:#2b4269;margin:0 0 6px;text-align:center}
.month .mgrid{display:grid;grid-template-columns:36px repeat(7,1fr);gap:6px}
.mgrid .dow{font-size:12px;font-weight:800;color:#6b7fa0;display:flex;align-items:center;justify-content:center;min-height:40px}
.mgrid .weeknum{font-size:11px;font-weight:700;color:#60708c;display:flex;align-items:center;justify-content:center;border:1px solid #e7eef9;border-radius:12px;min-height:40px}
.mgrid .spacer{visibility:hidden}
.mgrid .day{border:1px solid #e7eef9;background:#fff;border-radius:12px;padding:10px 0;cursor:pointer;font-weight:800;color:#2a3342;display:flex;align-items:center;justify-content:center;text-align:center}
.mgrid .day:hover{background:#f1f6ff}
.mgrid .day.start{background:#083e87;color:#fff;border-color:#083e87}
.mgrid .day.end{background:#1f5ea0;color:#fff;border-color:#1f5ea0}
.mgrid .day.inrange{background:#eaf2ff;border-color:#dbe7ff;color:#1f2330}
.mgrid .day.disabled{opacity:.38;pointer-events:none;filter:grayscale(.2)}
.dp-nav{display:flex;gap:6px}
.dp-nav .nav{border:none;background:#f3f7fe;border:1px solid var(--brand-light);width:34px;height:34px;border-radius:999px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.r365-actions{display:flex;gap:8px;align-items:stretch}.r365-actions .btn{flex:1 1 0;min-width:0;width:auto;white-space:nowrap;text-align:center}

/* Buttons */
.btn{background:#f6f9ff;border:1px solid #e0ecff;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer}
.btn.primary{background:#bfd2ff;border-color:#bfd2ff;color:#0b2e6f}
.btn.primary:hover{background:#a6c2ff;border-color:#a6c2ff}
.btn.mini{font-size:12px;padding:6px 10px;border-radius:999px}

/* Airports (use same style as alt buttons) */
.airports{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;align-items:center}
.airports .label, .alt-links .label{border:1px dashed #cfe0f6;border-radius:999px;padding:6px 10px;font-size:12px;color:#2b4269}
.airports .btn.choice{background:#f6f9ff;border:1px solid #d7e5ff}
.airports .btn.choice.active{background:#1e4a8a;color:#fff;border-color:#1e4a8a}

/* Alt links */
.alt-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;align-items:center}
.alt-links .btn{background:#fff}
.alt-links .alt-1{border:2px solid #2e7d32}   /* green */
.alt-links .alt-2{border:2px solid #1565c0}   /* blue */
.alt-links .alt-3{border:2px solid #ef6c00}   /* orange */

/* Calendar hint for alternative ranges */
.mgrid .day.alt1-hint{ box-shadow: inset 0 0 0 2px #2e7d32; }
.mgrid .day.alt2-hint{ box-shadow: inset 0 0 0 2px #1565c0; }
.mgrid .day.alt3-hint{ box-shadow: inset 0 0 0 2px #ef6c00; }

/* v1.0.5: hard neutralize alt date visuals in calendar grid */
.r365-mini .mgrid .day.alt,
.r365-mini .mgrid .day[class*="-alt"]{
  border:1px solid #e7eef9 !important;
  background:#fff !important;
  box-shadow:none !important;
  outline:0 !important;
}
