.jw-calendar-page {background:#f3f7f7}
.jw-calendar-hero {padding:76px 0 64px;color:#d9eee9;background:radial-gradient(circle at 82% 12%,rgba(87,220,192,.25),transparent 31%),linear-gradient(132deg,#062f2b,#07564c 68%,#0b6e60)}
.jw-calendar-hero-grid {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);align-items:end;gap:60px}
.jw-calendar-hero h1 {max-width:820px;margin:0 0 18px;color:#fff;font-size:clamp(3rem,6vw,5.55rem);line-height:.96;letter-spacing:-.06em}
.jw-calendar-hero p {max-width:770px;margin:0;color:#c3ddd7;font-size:clamp(1.05rem,1.8vw,1.28rem);line-height:1.65}
.jw-calendar-hero-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}
.jw-calendar-ghost {display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#e4f4f1;background:rgba(255,255,255,.06);font-weight:800;padding:.72rem 1.2rem}
.jw-calendar-ghost:hover {border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.12)}
.jw-calendar-summary {display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(255,255,255,.16);box-shadow:0 24px 60px rgba(0,25,22,.18)}
.jw-calendar-summary>div {padding:19px 20px;background:rgba(5,48,43,.74)}
.jw-calendar-summary>div:nth-child(3) {grid-column:1/-1}
.jw-calendar-summary span,.jw-calendar-summary strong {display:block}
.jw-calendar-summary span {color:#96beb5;font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.jw-calendar-summary strong {margin-top:5px;color:#fff;font-size:1.3rem}
.jw-calendar-summary small {grid-column:1/-1;display:flex;align-items:center;gap:7px;padding:12px 18px;color:#b8d4ce;background:rgba(4,39,35,.84);font-size:.72rem}

.jw-calendar-body {padding:56px 0 76px}
.jw-calendar-toolbar {display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:25px}
.jw-calendar-kicker {color:#07826f;font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.jw-calendar-toolbar h2 {margin:6px 0 5px;font-size:clamp(1.9rem,3vw,2.7rem);letter-spacing:-.045em}
.jw-calendar-toolbar p {max-width:700px;margin:0;color:#64716f;font-size:.88rem}
.jw-calendar-filters {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.jw-calendar-filters a {display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #d4dfe0;border-radius:999px;color:#4d5b58;background:#fff;font-size:.75rem;font-weight:850;text-decoration:none}
.jw-calendar-filters a span {min-width:22px;padding:2px 6px;border-radius:999px;background:#edf2f2;color:#64716f;font-size:.65rem;text-align:center}
.jw-calendar-filters a:hover,.jw-calendar-filters a.active {border-color:#78cdbd;color:#006e5d;background:#e7f7f3}
.jw-calendar-filters a.active span {color:#fff;background:#078d78}
.jw-calendar-layout {display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;gap:24px}
.jw-calendar-days {position:sticky;top:158px;overflow:hidden;border:1px solid #d7e1e2;border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(22,49,45,.05)}
.jw-calendar-days-head {display:flex;align-items:center;gap:9px;padding:17px 18px;border-bottom:1px solid #dce5e5;color:#153c37;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.jw-calendar-days-head i {color:#008c77}
.jw-calendar-days nav {display:grid;padding:8px}
.jw-calendar-days nav a {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:10px;color:#485653;font-size:.78rem;font-weight:750;text-decoration:none}
.jw-calendar-days nav a:hover {color:#006f5e;background:#edf8f6}
.jw-calendar-days nav b {display:grid;min-width:24px;height:24px;place-items:center;border-radius:999px;color:#087865;background:#dff4ef;font-size:.66rem}
.jw-calendar-risk-note {display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;margin:8px;padding:13px;border-radius:13px;color:#66501d;background:#fff7e4}
.jw-calendar-risk-note i {color:#c27b00;font-size:1rem}
.jw-calendar-risk-note p {margin:0;font-size:.67rem;line-height:1.55}
.jw-calendar-risk-note strong {display:block;margin-bottom:3px;color:#7e5605}
.jw-calendar-agenda {display:grid;gap:16px}
.jw-calendar-day {scroll-margin-top:158px;overflow:hidden;border:1px solid #d5e0e1;border-radius:22px;background:#fff;box-shadow:0 13px 38px rgba(22,49,45,.045)}
.jw-calendar-day>header {display:flex;align-items:center;gap:14px;padding:17px 20px;border-bottom:1px solid #dce5e5;background:linear-gradient(90deg,#ecf8f5,#f8fbfa)}
.jw-calendar-date-tile {display:grid;width:50px;overflow:hidden;border:1px solid #9ad6ca;border-radius:12px;background:#fff;text-align:center}
.jw-calendar-date-tile span {padding:4px;color:#fff;background:#078d78;font-size:.58rem;font-weight:900;letter-spacing:.08em}
.jw-calendar-date-tile strong {padding:4px;color:#16423c;font-size:1.15rem}
.jw-calendar-day>header h3 {margin:0;font-size:1.1rem;letter-spacing:-.02em}
.jw-calendar-day>header p {margin:3px 0 0;color:#6a7775;font-size:.72rem}
.jw-calendar-event-list {padding:0 20px}
.jw-calendar-event {position:relative;display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:18px;align-items:start;padding:19px 0;border-bottom:1px solid #dce5e5}
.jw-calendar-event:last-child {border-bottom:0}
.jw-calendar-event::before {position:absolute;left:-20px;top:19px;bottom:19px;width:3px;border-radius:0 3px 3px 0;background:#90cfc3;content:""}
.jw-calendar-event.impact-high::before {background:#d92d45}.jw-calendar-event.impact-medium::before {background:#d38a00}
.jw-calendar-time {padding-top:2px}.jw-calendar-time strong,.jw-calendar-time span {display:block}.jw-calendar-time strong {font-size:.83rem}.jw-calendar-time span {margin-top:2px;color:#7a8583;font-size:.62rem;font-weight:800;letter-spacing:.08em}
.jw-calendar-event-title {display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.jw-calendar-event-title h4 {margin:0;font-size:.96rem;letter-spacing:-.012em}
.jw-calendar-event-title>span {padding:3px 7px;border-radius:999px;color:#63706e;background:#eef3f3;font-size:.62rem;font-weight:750}
.jw-calendar-values {display:flex;flex-wrap:wrap;gap:20px;margin-top:10px}
.jw-calendar-values>div {min-width:74px}.jw-calendar-values span,.jw-calendar-values strong {display:block}
.jw-calendar-values span {color:#75817f;font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.jw-calendar-values strong {margin-top:2px;color:#27312f;font-size:.83rem}
.jw-calendar-values .actual strong {color:#007c68}
.jw-calendar-awaiting {margin:8px 0 0;color:#798482;font-size:.7rem}
.jw-calendar-impact {min-width:64px;padding:5px 8px;border:1px solid #aadbcf;border-radius:999px;color:#087966;background:#e8f7f3;font-size:.61rem;font-weight:900;text-align:center}
.impact-high .jw-calendar-impact {border-color:#f1b3bd;color:#ba243b;background:#fdebed}.impact-medium .jw-calendar-impact {border-color:#efd49f;color:#9b6500;background:#fff5e1}
.jw-calendar-disclosure {display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;margin:22px 0 0;padding:15px 18px;border:1px solid #d7e1e2;border-radius:15px;color:#61706d;background:#edf3f3}
.jw-calendar-disclosure i {color:#087f6d}.jw-calendar-disclosure p {margin:0;font-size:.72rem;line-height:1.55}
.jw-calendar-empty {padding:64px 24px;border:1px dashed #b7c9c7;border-radius:23px;background:#fff;text-align:center}
.jw-calendar-empty i {display:grid;width:54px;height:54px;margin:0 auto 15px;place-items:center;border-radius:16px;color:#078b76;background:#dff4ef;font-size:1.3rem}
.jw-calendar-empty h2 {font-size:1.35rem}.jw-calendar-empty p {color:#677572}.jw-calendar-empty a {font-weight:800}

@media (max-width:991.98px) {
    .jw-calendar-hero-grid {grid-template-columns:1fr;gap:34px}.jw-calendar-summary {max-width:560px}
    .jw-calendar-toolbar {align-items:flex-start;flex-direction:column}.jw-calendar-filters {justify-content:flex-start}
    .jw-calendar-layout {grid-template-columns:1fr}.jw-calendar-days {position:static}.jw-calendar-days nav {display:flex;overflow-x:auto;scrollbar-width:none}.jw-calendar-days nav::-webkit-scrollbar {display:none}.jw-calendar-days nav a {flex:0 0 auto;min-width:130px}.jw-calendar-risk-note {display:none}
}
@media (max-width:575.98px) {
    .jw-calendar-hero {padding:48px 0 42px}.jw-calendar-hero h1 {font-size:2.65rem}.jw-calendar-hero-actions {align-items:stretch;flex-direction:column}.jw-calendar-hero-actions .btn {justify-content:center;width:100%}
    .jw-calendar-summary>div {padding:15px}.jw-calendar-body {padding:38px 0 52px}.jw-calendar-toolbar {gap:18px}.jw-calendar-filters {display:grid;grid-template-columns:1fr 1fr;width:100%}.jw-calendar-filters a {justify-content:space-between}
    .jw-calendar-day>header {padding:14px}.jw-calendar-event-list {padding:0 14px}.jw-calendar-event {grid-template-columns:67px minmax(0,1fr);gap:11px;padding:16px 0}.jw-calendar-event::before {left:-14px}.jw-calendar-impact {grid-column:2;grid-row:2;justify-self:start}.jw-calendar-values {gap:13px}.jw-calendar-values>div {min-width:62px}.jw-calendar-event-title {align-items:flex-start;flex-direction:column;gap:4px}
}
