.mp-wrap{max-width:760px;margin:48px auto 120px;padding:0 24px}.mp-card{margin-bottom:40px}.mp-card .demo-form-label{font-size:16px}.mp-field-sub{font-family:var(--ff);font-weight:300;font-size:14px;color:#aaa;margin:-2px 0 2px;line-height:1.4}.mp-card input.mp-date{cursor:pointer;text-align:left;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 256 256'%3E%3Cpath d='M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.mp-date::-webkit-calendar-picker-indicator{display:none}.mp-date::-webkit-date-and-time-value{text-align:left}.mp-days{display:flex;flex-direction:column}.mp-day{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:18px 0;border-top:1px solid #ececec}.mp-day:last-child{border-bottom:1px solid #ececec}.mp-rail{display:flex;flex-direction:column;align-items:stretch;text-align:center}.mp-dayN{font-family:var(--ff);font-weight:400;font-size:11px;color:#999;letter-spacing:.02em;margin-bottom:6px}.mp-datebadge{display:flex;flex-direction:column;align-items:center;background:var(--c2);border-radius:10px;padding:8px 4px 9px}.mp-dow{font-family:var(--ff);font-weight:500;font-size:11px;letter-spacing:.06em;color:var(--c1);text-transform:uppercase}.mp-num{font-family:var(--fh);font-weight:700;font-size:24px;line-height:1.05;color:var(--c1)}.mp-mon{font-family:var(--ff);font-weight:500;font-size:11px;color:var(--c1);text-transform:uppercase;letter-spacing:.04em}.mp-events{display:flex;flex-direction:column;gap:8px;justify-content:center;min-width:0}.mp-gap{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:center}.mp-gap-rail{display:flex;justify-content:center}.mp-gap-line{width:0;height:22px;border-left:2px dotted #dcdcdc}.mp-gap-body{font-family:var(--ff);font-weight:300;font-size:12px;color:#b5b5b5;letter-spacing:.02em}.mp-event{display:flex;flex-direction:column;gap:10px;width:100%;text-align:left;background:#fff;border:1px solid #efefef;border-radius:12px;padding:14px 16px;cursor:pointer;font-family:inherit;transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}.mp-event:hover{box-shadow:0 6px 24px #00000012;border-color:#e4e4e4;transform:translateY(-1px)}.mp-event-title{font-family:var(--ff);font-weight:400;font-size:15px;line-height:1.35;color:var(--c1);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}.mp-event-badge-row{display:flex;justify-content:flex-end}.mp-badge{flex-shrink:0;display:inline-block;font-family:var(--ff);font-weight:500;font-size:11px;letter-spacing:.02em;padding:5px 11px;border-radius:999px;white-space:nowrap;background:var(--c2);color:var(--c1)}.mp-modal-overlay{position:fixed;inset:0;z-index:200;background:#00000052;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .2s ease}.mp-modal-overlay[hidden]{display:none}.mp-modal-overlay.mp-open{opacity:1}.mp-modal{position:relative;background:#fff;border-radius:20px;max-width:460px;width:100%;padding:40px 36px 36px;box-shadow:0 24px 80px #0000002e;transform:translateY(8px) scale(.98);transition:transform .2s ease}.mp-modal-overlay.mp-open .mp-modal{transform:translateY(0) scale(1)}.mp-modal-close{position:absolute;top:16px;right:18px;background:none;border:none;font-size:28px;line-height:1;color:#bbb;cursor:pointer;transition:color .15s}.mp-modal-close:hover{color:var(--c1)}.mp-modal-date{font-family:var(--ff);font-weight:400;font-size:13px;letter-spacing:.04em;color:#888;text-transform:uppercase;margin-bottom:10px}.mp-modal-title{font-family:var(--fh);font-weight:700;font-size:28px;line-height:1.15;color:var(--c1);margin-bottom:14px}.mp-modal .mp-badge{font-size:12px;padding:6px 13px}.mp-modal-desc{font-family:var(--ff);font-weight:300;font-size:15px;line-height:1.7;color:#555;margin-top:18px}@media(max-width:640px){.mp-day,.mp-gap{grid-template-columns:52px 1fr;gap:14px}.mp-num{font-size:22px}}
