.gv-calendar-controls {margin:0 0 20px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:#2d4f37;}
.gv-calendar-controls button,.gv-calendar-controls select,.gv-month-card button {min-height:42px;padding:9px 14px;border:1px solid #57744940;border-radius:10px;background:#f2f5ed;color:#315e42;font:600 13px/1.5 'Montserrat',system-ui,sans-serif;cursor:pointer;}
.gv-calendar-switch {display:flex;gap:6px;}
.gv-calendar-switch button[aria-pressed=true] {background:#315e42;color:white;}
#gv-month-controls {display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
#gv-month-status {width:100%;font-size:13px;color:#52644e;}
#gv-calendar-year {width:100%;max-width:100%;overflow:auto;border-radius:20px;}
.gv-year-inner {min-width:1060px;padding:2px 3px;}
.gv-month-view {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:16px;}
.gv-month-card {padding:22px;border-radius:18px;background:#eef2e9;border:1px solid #55744930;box-shadow:0 3px 12px #243a2710;color:#2d4432;min-width:0;}
.gv-month-card h3 {font:600 23px/1.3 'Playfair Display',Georgia,serif;margin:0 0 16px;overflow-wrap:anywhere;}
.gv-month-card ul {list-style:none;padding:0;margin:0 0 12px;}
.gv-month-card li {padding:8px 10px;border-left:3px solid #5d895b;background:#dee9d7;margin-bottom:8px;font-size:13px;line-height:1.6;}
.gv-month-card li.indoor {border-color:#81769e;background:#e8e4ef;}
.gv-month-card p {font-size:13px;line-height:1.65;margin:10px 0;overflow-wrap:anywhere;}
.gv-month-card details {margin:12px 0;}
.gv-month-card summary {font-size:13px;cursor:pointer;font-weight:600;}
.gv-month-empty {padding:28px;background:#edf2e7;border-radius:16px;line-height:1.7;}
#gv-calendar-month[hidden],#gv-calendar-year[hidden],#gv-month-controls[hidden] {display:none!important;}
@media(max-width:540px){.gv-calendar-controls{gap:10px;}.gv-calendar-switch{width:100%;}.gv-calendar-switch button{flex:1;}#gv-month-controls{width:100%;}#gv-month-select{flex:1;min-width:90px;}#gv-month-now{font-size:11px;padding-inline:8px;}.gv-month-card{padding:18px;}}
