/* Quiet, readable calendar inspired by the supplied monthly timeline. */
/* Fade only edges with off-screen content; no overlay blocks touch/clicks. */
.db-guide .calendar-scroll{--calendar-edge-width:38px;--calendar-left-fade:0px;--calendar-right-fade:0px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--calendar-left-fade),#000 calc(100% - var(--calendar-right-fade)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--calendar-left-fade),#000 calc(100% - var(--calendar-right-fade)),transparent 100%)}
.db-guide .calendar-scroll.has-more-left{--calendar-left-fade:var(--calendar-edge-width)}
.db-guide .calendar-scroll.has-more-right{--calendar-right-fade:var(--calendar-edge-width)}
@media(max-width:540px){.db-guide .calendar-scroll{--calendar-edge-width:28px}}
.db-guide .calendar .calendar-months{width:100%}
.db-guide .calendar .calendar-months li{flex:1 0 166px;width:auto}
@media(max-width:540px){.db-guide .calendar .calendar-months li{flex-basis:144px}}
.db-guide .schedule-summary .intake-status[data-state="closed"]{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #85423b;border-radius:6px;background:#85423b;color:#fff;font-size:12px;font-weight:750;line-height:1.4;white-space:nowrap}
.db-guide .schedule-summary .status-icon{display:block;flex:none}
.db-guide .schedule-summary .schedule-action strong{color:#85423b;font-weight:750}
.db-guide .test-notice{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;background:#f5f2eb;border:1px solid #e6ddcb;border-radius:8px;padding:12px 16px;margin:-8px 0 26px;color:#746347;font-size:12px;line-height:1.8}.db-guide .test-notice b{font-weight:650}.db-guide .test-notice span{flex:1;min-width:220px}
.db-guide .overview{background:#fff;color:#253930;border:1px solid #dce3de;border-radius:18px;padding:28px 30px 18px;box-shadow:0 4px 22px #243d3005;overflow:hidden}
.db-guide .overview-top{padding:0}.db-guide .overview .round-label{border:0;padding:0;color:#3b6555;font-size:12px;font-weight:650;letter-spacing:1.6px}.db-guide .overview .data-date{color:#79837d;font-size:11px}
.db-guide .overview-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:20px 0 22px}
.db-guide .overview-heading>div:first-child{min-width:0;flex:1}.db-guide .overview-heading p{margin:0 0 7px;max-width:100%;color:#6a776f;font-size:13px}.db-guide .overview-heading h2{font-size:27px;line-height:1.45;letter-spacing:-1px;font-weight:700;color:#25332c;word-break:keep-all}
.db-guide .countdown-block{flex:none;text-align:right}.db-guide .countdown-block strong{display:block;font-size:54px;letter-spacing:-2px;font-weight:700;line-height:1.1;color:#244c3d;font-variant-numeric:tabular-nums}.db-guide .countdown-block small{display:block;color:#7b867f;font-size:10px;margin-top:9px}
.db-guide .schedule-summary{display:flex;align-items:flex-start;gap:11px;margin:0 0 25px}.db-guide .schedule-summary .intake-status{flex:none;color:#58635d;background:#f1f3f0;border:1px solid #e1e5df;font-size:11px;padding:3px 7px}.db-guide .schedule-summary .schedule-action{color:#737e76;font-size:12px;line-height:1.8;padding-top:1px;max-width:none}
.db-guide .calendar{border-top:1px solid #e3e8e3;padding-top:23px}
.db-guide .calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.db-guide .calendar-heading h3{font-size:14px;font-weight:600;color:#4e6255}.db-guide .calendar-legend{display:flex;gap:12px;font-size:11px;color:#7b877e}.db-guide .calendar-legend span{white-space:nowrap}
.db-guide .calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0 13px}.db-guide .calendar-toolbar p{font-size:11px;color:#7c887f}.db-guide .calendar-toolbar>div{display:flex;align-items:center;gap:7px;flex:none}.db-guide .calendar-toolbar button{background:white;border:0;color:#345443;font:inherit;cursor:pointer}.db-guide #calendar-today{font-size:11px;font-weight:600;padding:9px 7px}.db-guide .calendar-toolbar .calendar-arrow{border:1px solid #dbe2dc;width:34px;height:34px;border-radius:50%;font-size:22px;display:grid;place-items:center;line-height:1}.db-guide .calendar-toolbar button:disabled{opacity:.4;cursor:default}.db-guide .calendar-toolbar button:hover{background:#f1f6f1}
.db-guide .calendar-scroll{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b7c9bc #f3f6f3;padding-bottom:10px;touch-action:pan-x pan-y}
.db-guide .calendar-months{display:flex;list-style:none;margin:0;padding:10px 0 0;width:max-content;min-width:100%}
.db-guide .calendar-months li{flex:0 0 166px;width:166px;position:relative;scroll-snap-align:start;padding:0 4px}
.db-guide .calendar-months li:before{content:'';position:absolute;left:0;right:0;top:32px;height:1px;background:#d7e2d9;z-index:1;pointer-events:none}
.db-guide .month-card{display:flex;align-items:center;flex-direction:column;position:relative;border:1px solid transparent;border-radius:12px;background:transparent;width:100%;min-height:232px;padding:12px 10px 13px;text-align:center;cursor:pointer;color:#324c3c;font:inherit}
.db-guide .month-card:hover{background:#f7faf6}.db-guide .month-card[aria-pressed=true]{border-color:#bed2c4;background:#f7faf7}.db-guide .month-card.is-current{background:#edf5ef;border-color:#b3cdbb}
.db-guide .month-node{border:2px solid #638e72;border-radius:50%;width:37px;height:37px;background:#fff;display:grid;place-items:center;font-size:19px;color:#fff;position:relative;z-index:2;margin-bottom:12px;box-sizing:border-box}
.db-guide .is-current .month-node{background:#294f3e;border-color:#294f3e;box-shadow:0 0 0 6px #dce9e0;color:white}.db-guide .is-past:not(.is-empty) .month-node{background:#7c877e;border-color:#7c877e}.db-guide .is-empty:not(.is-current) .month-node{border-color:#cbd5cd;background:#fff}
.db-guide .month-card>strong{font-size:21px;line-height:1.5;font-weight:650}.db-guide .month-date{margin-top:12px;font-size:12px;color:#738177;min-height:20px}.db-guide .month-card>b{font-size:14px;line-height:1.6;margin-top:4px;font-weight:600;word-break:keep-all}.db-guide .month-card>b.month-empty{font-size:12px;font-weight:400;color:#869189}.db-guide .month-card>small{font-size:11px;color:#849086;margin-top:6px}.db-guide .month-current-label{display:block;margin-top:auto;padding-top:16px;min-height:34px;font-size:11px;font-weight:650;color:#3c654a}.db-guide .is-past{color:#6b776d}
.db-guide .calendar-detail{display:flex;align-items:flex-start;gap:20px;border-top:1px solid #e5ebe5;margin-top:12px;padding:17px 0 0;color:#56675a;font-size:12px;line-height:1.8}.db-guide .calendar-detail>strong{flex:none;font-size:12px}.db-guide .calendar-detail>div{flex:1;min-width:0}.db-guide .calendar-detail p{color:#7b877d}.db-guide .calendar-detail a{display:flex;align-items:center;gap:14px;padding:0 0 9px}.db-guide .calendar-detail a>span{font-variant-numeric:tabular-nums;color:#6f8276}.db-guide .calendar-detail a>b{font-weight:600}.db-guide .calendar-detail a>small{margin-left:auto;white-space:nowrap;font-size:10px;color:#7b897e}
.db-guide .calendar-pending{font-size:10px;color:#849087;line-height:1.9;margin-top:14px}.db-guide .schedule-foot{border-color:#e4e9e3;color:#8a948b;font-size:10px}.db-guide .schedule-foot a{color:#51725a}
.db-guide .calendar [hidden]{display:none!important}
@media(max-width:1100px){.db-guide .overview{padding:25px 24px 18px}.db-guide .overview-heading h2{font-size:24px}.db-guide .countdown-block strong{font-size:46px}.db-guide .calendar-legend{gap:7px;font-size:10px}}
@media(max-width:540px){.db-guide .overview{padding:22px 18px 16px;border-radius:14px}.db-guide .overview .data-date{font-size:9px}.db-guide .overview .round-label{font-size:11px;letter-spacing:1px}.db-guide .overview-heading{align-items:flex-start;gap:12px;margin:20px 0}.db-guide .overview-heading h2{font-size:21px;line-height:1.5;letter-spacing:-.6px}.db-guide .overview-heading p{font-size:11px;line-height:1.8}.db-guide .countdown-block{padding-top:4px}.db-guide .countdown-block strong{font-size:35px;letter-spacing:-1px}.db-guide .countdown-block small{font-size:9px;max-width:92px;line-height:1.6}.db-guide .schedule-summary{flex-direction:column;gap:7px;margin-bottom:20px}.db-guide .schedule-summary .schedule-action{font-size:11px}.db-guide .calendar{padding-top:20px}.db-guide .calendar-heading{align-items:flex-start;flex-direction:column;gap:9px}.db-guide .calendar-heading h3{font-size:13px}.db-guide .calendar-toolbar{gap:8px;align-items:center;margin-top:15px}.db-guide .calendar-toolbar p{font-size:10px;max-width:120px;line-height:1.8}.db-guide .calendar-toolbar>div{gap:5px}.db-guide #calendar-today{font-size:10px;padding:8px 4px}.db-guide .calendar-toolbar .calendar-arrow{width:30px;height:30px;font-size:20px}.db-guide .calendar-months li{width:144px;flex-basis:144px}.db-guide .month-card{min-height:218px;padding-left:7px;padding-right:7px}.db-guide .month-card>strong{font-size:19px}.db-guide .month-card>b{font-size:13px}.db-guide .calendar-detail{gap:12px;font-size:11px}.db-guide .calendar-detail a{flex-wrap:wrap;gap:4px 10px}.db-guide .calendar-detail a>small{margin-left:0}.db-guide .calendar-pending{font-size:10px}}
