.vl-calendar{color:#203328;font-family:system-ui,-apple-system,sans-serif;min-width:0;width:100%;font-size:14px;line-height:1.5}
.vl-calendar *{box-sizing:border-box}
.vl-calendar button,.vl-calendar input,.vl-calendar select{font:inherit}
.vl-calendar button{cursor:pointer}
.vl-calendar button:disabled{opacity:.4;cursor:default}
.vl-calendar button:focus-visible,.vl-calendar summary:focus-visible,.vl-calendar input:focus-visible,.vl-calendar select:focus-visible{outline:3px solid #e7a91c;outline-offset:-3px}
.vl-nav{display:flex;align-items:center;justify-content:space-between;background:#edf6ee;padding:6px;color:#246729}
.vl-nav button{width:40px;min-height:40px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:26px}
.vl-nav strong{font-size:15px}
.vl-week,.vl-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}
.vl-week{padding:8px 0;font-size:11px;color:#637069;background:#fafcf9}
.vl-calendar .vl-day{position:relative;min-width:0;min-height:48px;margin:0;padding:5px 0;border:0;border-top:1px solid #e3eae4;border-right:1px solid #e3eae4;border-radius:0;background:#fff;color:#203328;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.3}
.vl-day span{font-weight:700;font-size:15px}.vl-day small{font-size:10px;color:#64766a}
.vl-calendar .vl-sunday{background:#fff6f4;color:#b43b32}.vl-calendar .vl-outside{opacity:.5;background:#f5f7f5}
.vl-calendar .vl-day[aria-current=date]{box-shadow:inset 0 0 0 2px #2e7d32}
.vl-calendar .vl-day[aria-pressed=true]{background:#e0efdf;color:#1b5e20}
.vl-day.vl-has-holiday:after{content:'';position:absolute;top:3px;right:3px;width:4px;height:4px;border-radius:50%;background:#ce6b22}
.vl-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 8px 2px}
.vl-controls button,.vl-controls select,.vl-controls input{min-height:38px;min-width:0;padding:4px 6px;border:1px solid #cedbce;border-radius:7px;background:#fff;color:#24452a;font-size:12px}
.vl-controls input{width:65px}.vl-controls button[type=submit]{background:#2e7d32;color:white;border-color:#2e7d32}
.vl-calendar .vl-hint{margin:7px 10px 10px;color:#657166;font-size:11px;line-height:1.5}
.vl-details{border-top:1px solid #e3eae4;min-width:0}.vl-details summary{padding:12px;cursor:pointer;font-size:13px;font-weight:600;color:#246729}
.vl-detail{padding:0 12px 10px}.vl-detail dl{display:grid;grid-template-columns:70px minmax(0,1fr);gap:7px;margin:12px 0;font-size:13px}.vl-detail dt{color:#657166}.vl-detail dd{margin:0;overflow-wrap:anywhere}
.vl-calendar .vl-lunar-date{margin:0;color:#246729;font-size:16px;font-weight:700}.vl-calendar .vl-holiday{background:#fff3df;color:#7a4d12;border-radius:8px;padding:8px;font-size:13px}
.lunar-calendar-widget{min-width:0;overflow:hidden;background:#fff;border:1px solid #dfe3ea;border-radius:14px;box-shadow:0 3px 10px #0000000f}
.lunar-calendar-widget>h2{margin:0;padding:14px 16px;background:#2e7d32;color:#fff;font-size:16px;font-weight:700}
.lunar-calendar-link{display:block;padding:10px 16px;color:#2e7d32;font-size:13px;text-align:center;border-top:1px solid #e3eae4;text-decoration:none}
.vl-page{margin:0;background:#f2f6f1;color:#203328;font-family:system-ui,-apple-system,sans-serif}
.vl-page main{max-width:960px;margin:auto;padding:16px 10px}.vl-page h1{font-size:24px;margin:12px 0 4px}.vl-page-intro{font-size:14px;color:#657166;margin:0 0 16px}.vl-page a{color:#246729}
.vl-page .vl-calendar{background:#fff;border:1px solid #dfe3ea;border-radius:14px;overflow:hidden}.vl-page .vl-day{min-height:58px}
.vl-page[data-calendar-embed="1"]{background:#fff}.vl-page[data-calendar-embed="1"] main{padding:0}.vl-page[data-calendar-embed="1"] .vl-calendar{border:0;border-radius:0}
@media(min-width:760px){.vl-page:not([data-calendar-embed="1"]) .vl-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.vl-page:not([data-calendar-embed="1"]) .vl-details{border-top:0;border-left:1px solid #e3eae4}.vl-page .vl-day{min-height:68px}}
/* Ngày âm nằm dưới, lệch nhẹ sang phải so với ngày dương. */
.vl-day small{position:relative;left:5px;margin-top:2px}
.vl-page .vl-home-link{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 15px;border:1px solid #d4e1d3;border-radius:10px;background:#fff;text-decoration:none;font-size:14px;font-weight:600;box-shadow:0 2px 5px #20332808;transition:background .15s,border-color .15s}
.vl-page .vl-home-link:hover{background:#e8f2e6;border-color:#a6c5a4}.vl-home-link:focus-visible{outline:3px solid #e7a91c;outline-offset:3px}
body.vl-modal-open{overflow:hidden}
.vl-dialog{width:calc(100% - 28px);max-width:430px;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #dce7da;border-radius:20px;background:#fff;color:#203328;box-shadow:0 24px 80px #10271640;overscroll-behavior:contain}
.vl-dialog::backdrop{background:#10251cb3;backdrop-filter:blur(3px)}
.vl-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#edf6ee;border-bottom:1px solid #deeadc}
.vl-dialog-header h2{margin:0;font-size:18px;font-weight:700;color:#246729}
.vl-dialog-header button{width:42px;height:42px;flex-shrink:0;border:0;border-radius:50%;background:#fff;color:#246729;font-size:28px;line-height:1}
.vl-dialog .vl-detail{padding:20px 20px 4px}.vl-dialog .vl-lunar-date{font-size:20px}.vl-dialog .vl-detail dl{font-size:15px;grid-template-columns:80px minmax(0,1fr);gap:12px;margin:20px 0}
.vl-dialog form{padding:8px 20px 20px}.vl-dialog-done{width:100%;min-height:44px;border:0;border-radius:10px;background:#2e7d32;color:#fff;font-weight:600}
@media(max-width:759px){.vl-popup-ready .vl-details{display:none}.vl-page main{padding:16px 12px}.vl-page h1{font-size:22px;line-height:1.3;margin-top:18px}.vl-page .vl-controls{padding:12px 10px 4px}.vl-page .vl-controls button,.vl-page .vl-controls select,.vl-page .vl-controls input{min-height:42px}.vl-page .vl-day{min-height:60px}}
@media(min-width:760px){.vl-page main{padding:28px 24px}.vl-page .vl-home-link{margin-bottom:8px}}
