.gc-compact-period *{box-sizing:border-box}
.gc-compact-period html{color-scheme:light}
.gc-compact-period body{margin:0;background:#f3f7f9;color:#203d43;font:15px/1.55 "Segoe UI",Arial,sans-serif}
.gc-compact-period button,.gc-compact-period input,.gc-compact-period textarea{font:inherit}
.gc-compact-period button,.gc-compact-period a,.gc-compact-period input,.gc-compact-period textarea{touch-action:manipulation}
.gc-compact-period button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid #b8cdd0;border-radius:10px;background:#fff;color:#254b51;cursor:pointer}
.gc-compact-period button:hover:not(:disabled){background:#edf5f6}
.gc-compact-period button:focus-visible,.gc-compact-period a:focus-visible{outline:3px solid #4aa0c4;outline-offset:2px}
.gc-compact-period button:disabled{opacity:.45;cursor:default}
.gc-compact-period [hidden]{display:none!important}
.gc-compact-period h1,.gc-compact-period h2,.gc-compact-period h3,.gc-compact-period p{margin:0}
.gc-compact-period h1{font-size:clamp(28px,4vw,42px);line-height:1.2;margin:8px 0 16px}
.gc-compact-period h2{font-size:25px;line-height:1.3;margin:0 0 8px}
.gc-compact-period h3{font-size:16px}
.gc-compact-period .page-head,.gc-compact-period .page-foot{max-width:1240px;margin:auto;padding:32px 24px}
.gc-compact-period .page-head>p:not(.eyebrow){max-width:850px}
.gc-compact-period .eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#577980}
.gc-compact-period .legend,.gc-compact-period .tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}
.gc-compact-period .legend>span{display:inline-flex;align-items:center;gap:8px;font-size:13px}
.gc-compact-period .dot{display:inline-block;width:18px;height:18px;border-radius:50%;flex:none}
.gc-compact-period .start-dot{background:#087960}
.gc-compact-period .end-dot{background:#256da8}
.gc-compact-period .split-dot{background:linear-gradient(90deg,#087960 50%,#256da8 50%)}
.gc-compact-period .disclaimer{margin-top:16px!important;color:#647d83;font-size:13px}
.gc-compact-period .tools{gap:8px}
.gc-compact-period main{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;max-width:1240px;margin:auto;padding:0 24px 24px}
.gc-compact-period nav{display:flex;flex-direction:column;gap:8px;align-self:start;position:sticky;top:16px}
.gc-compact-period nav>a{padding:14px 16px;text-decoration:none;color:inherit;border:1px solid transparent;border-radius:12px;line-height:1.4}
.gc-compact-period nav>a small{display:block;color:#657c81;font-size:12px;margin-top:4px}
.gc-compact-period nav>a[aria-current=page]{background:#e4f0f1;border-color:#a7c7cb}
.gc-compact-period nav>a:hover{background:#eaf2f4}
.gc-compact-period .variant{min-width:0;background:white;border:1px solid #d2dfe1;border-radius:18px;padding:24px}
.gc-compact-period .description{color:#58737b;max-width:740px;margin-bottom:24px}
.gc-compact-period .demo{background:linear-gradient(145deg,#f6fafb,#eef6f7);border:1px solid #dce7e9;border-radius:14px;padding:24px;min-width:0}
.gc-compact-period .field-label{display:block;margin-bottom:8px;font-size:13px;color:#4c6e75}
.gc-compact-period .range-trigger{width:min(100%,420px);justify-content:space-between;min-height:46px;padding:10px 14px;font-variant-numeric:tabular-nums;box-shadow:0 1px 1px #203d4305}
.gc-compact-period .range-trigger svg,.gc-compact-period .icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.gc-compact-period .calendar-host{margin-top:12px;min-width:0}
.gc-compact-period .calendar-window{width:368px;max-width:100%;background:#fff;border:1px solid #c7d9dc;border-radius:18px;box-shadow:0 12px 26px #1d4b5812,0 2px 6px #1d4b5808;padding:16px;margin:0}
.gc-compact-period .calendar-window.wide{width:720px}
.gc-compact-period .calendar-window.preset-layout{width:640px}
.gc-compact-period .calendar-head{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center;margin-bottom:8px}
.gc-compact-period .calendar-caption{min-width:0;text-align:center;border:0;font-weight:650;font-size:17px;background:transparent;padding:6px 0}
.gc-compact-period .calendar-caption svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}
.gc-compact-period .icon-button{width:44px;padding:0;border:0;background:transparent;border-radius:10px}
.gc-compact-period .endpoint-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.gc-compact-period .endpoint{min-width:0;justify-content:flex-start;align-items:flex-start;flex-direction:column;gap:1px;text-align:left;padding:8px 12px;font-variant-numeric:tabular-nums;min-height:62px;border-color:#d6e2e5}
.gc-compact-period .endpoint small{font-size:12px;color:#5f7a81}
.gc-compact-period .endpoint[data-bound=from]{border-top:3px solid #087960}
.gc-compact-period .endpoint[data-bound=to]{border-top:3px solid #256da8}
.gc-compact-period .endpoint[aria-pressed=true]{background:#f1f8fa;box-shadow:inset 0 0 0 1px #688e99}
.gc-compact-period .months{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.gc-compact-period .wide .months{grid-template-columns:repeat(2,minmax(0,1fr))}
.gc-compact-period .month-title{text-align:center;font-weight:600;margin:2px 0 8px}
.gc-compact-period .weekdays,.gc-compact-period .days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}
.gc-compact-period .weekdays{font-size:11px;color:#789097;text-align:center;line-height:28px}
.gc-compact-period .day,.gc-compact-period .blank{height:44px;min-height:44px;min-width:0}
.gc-compact-period .day{position:relative;isolation:isolate;display:flex;justify-content:center;align-items:center;border:0;border-radius:0;background:transparent;padding:0;color:#294a51;font-variant-numeric:tabular-nums}
.gc-compact-period .day>span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;max-width:100%;border-radius:10px;position:relative;z-index:1;pointer-events:none}
.gc-compact-period .day:hover:not(:disabled)>span{background:#eef5f7}
.gc-compact-period .day.is-between{background:#e6f2f6}
.gc-compact-period .day.is-preview{background:#f0f6f9}
.gc-compact-period .day.is-start{background:linear-gradient(90deg,transparent 50%,#e6f2f6 50%)}
.gc-compact-period .day.is-end{background:linear-gradient(90deg,#e6f2f6 50%,transparent 50%)}
.gc-compact-period .day.is-start>span{background:#087960!important;color:#fff;font-weight:650}
.gc-compact-period .day.is-end>span{background:#256da8!important;color:#fff;font-weight:650}
.gc-compact-period .day.is-single{background:transparent}
.gc-compact-period .day.is-single>span{background:linear-gradient(90deg,#087960 50%,#256da8 50%)!important;color:#fff;font-weight:650}
.gc-compact-period .day[aria-current=date]:not(.is-start):not(.is-end)>span{box-shadow:inset 0 0 0 1px #88abb4}
.gc-compact-period .day:focus-visible{z-index:3;outline:2px solid #276c9a;outline-offset:-2px;border-radius:10px}
.gc-compact-period .day[disabled]{opacity:.3}
.gc-compact-period .calendar-message{min-height:48px;padding-top:10px;color:#607d85;font-size:12px;line-height:1.5}
.gc-compact-period .calendar-message.error{color:#ac4235}
.gc-compact-period .calendar-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #e4ecee;padding-top:12px;margin-top:4px}
.gc-compact-period .calendar-bottom .actions{display:flex;gap:8px}
.gc-compact-period .primary{background:#087960;border-color:#087960;color:white}
.gc-compact-period .primary:hover:not(:disabled){background:#086d58}
.gc-compact-period .quiet{background:transparent;border-color:transparent;color:#53747d;padding-inline:8px}
.gc-compact-period .quick-tests{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.gc-compact-period .quick-tests button{font-size:12px;min-height:36px;padding:6px 10px}
.gc-compact-period .test-label{font-size:12px;color:#738b92;flex-basis:100%}
.gc-compact-period .result{margin-top:16px;font-size:13px;font-variant-numeric:tabular-nums;min-height:42px;color:#59777f}
.gc-compact-period .result strong{display:block;color:#204b55;font-weight:600}
.gc-compact-period .manual{margin-top:12px;font-size:13px}
.gc-compact-period .manual summary{cursor:pointer;min-height:36px;display:flex;align-items:center;gap:8px;color:#4e7882}
.gc-compact-period .manual summary:before{content:'›';font-size:22px;transform:rotate(90deg)}
.gc-compact-period .manual[open] summary:before{transform:rotate(-90deg)}
.gc-compact-period .manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.gc-compact-period .manual label{min-width:0}
.gc-compact-period .manual label>span:first-child{display:block;margin-bottom:8px;color:#426871}
.gc-compact-period .manual input.gc-date-text{height:44px;min-height:44px;width:100%;padding:8px 44px 8px 10px;border:1px solid #a9c7cd;border-radius:9px;background:white;color:#26484f;font-variant-numeric:tabular-nums}
.gc-compact-period .manual input.gc-date-text:focus{outline:2px solid #4aa0c4;outline-offset:2px}
.gc-compact-period .manual .gc-date-button{width:36px;height:36px;padding:7px}
.gc-compact-period .manual-note{margin-top:12px;line-height:1.5;color:#6a838b}
.gc-compact-period .manual-error{min-height:20px;color:#ae4235;font-size:12px;margin-top:8px}
.gc-compact-period .review{margin-top:28px;border-top:1px solid #e1e9eb;padding-top:20px}
.gc-compact-period .review p{font-size:13px;color:#6a838b;margin-bottom:12px}
.gc-compact-period .choices{display:flex;gap:8px;flex-wrap:wrap}
.gc-compact-period .choices button[aria-pressed=true]{background:#e1f0eb;border-color:#409b82}
.gc-compact-period .review details{margin-top:12px}
.gc-compact-period .review summary{font-size:13px;cursor:pointer}
.gc-compact-period .review textarea{display:block;margin-top:8px;width:100%;min-height:72px;padding:10px 12px;border:1px solid #b8cdd0;border-radius:9px;resize:vertical}
.gc-compact-period .review-state{font-size:12px;color:#647f86;margin-top:8px;min-height:19px}
.gc-compact-period .month-select,.gc-compact-period .year-select{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:264px;align-content:start}
.gc-compact-period .month-select button,.gc-compact-period .year-select button{min-height:48px;font-size:13px;border-color:transparent;padding:8px 0}
.gc-compact-period .year-select button[aria-pressed=true],.gc-compact-period .month-select button[aria-pressed=true]{background:#087960;color:white}
.gc-compact-period .year-entry{display:block;width:100%;margin:4px 0 12px;min-height:44px;border:1px solid #a9c7cd;border-radius:8px;padding:8px 12px;font-variant-numeric:tabular-nums}
.gc-compact-period .year-error{color:#ac4235;font-size:12px;min-height:22px}
.gc-compact-period .ribbon .months{max-height:430px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px}
.gc-compact-period .ribbon .month+.month{border-top:1px solid #e4ecee;padding-top:16px}
.gc-compact-period .ribbon .calendar-bottom{position:sticky;bottom:0;background:white}
.gc-compact-period .preset-content{display:grid;grid-template-columns:156px minmax(0,1fr);gap:20px}
.gc-compact-period .presets{display:flex;flex-direction:column;gap:8px;border-right:1px solid #e2ecef;padding-right:16px}
.gc-compact-period .presets button{justify-content:flex-start;padding:8px 10px;white-space:normal;text-align:left;line-height:1.4;border-color:transparent;color:#447786}
.gc-compact-period .presets button:hover{background:#edf5f8}
.gc-compact-period .step-heading{font-size:12px;color:#436f7d;margin-bottom:10px;min-height:19px}
.gc-compact-period .page-foot{font-size:12px;color:#71868d;padding-top:0}
.gc-compact-period .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1060px){.gc-compact-period main{grid-template-columns:190px minmax(0,1fr);gap:16px}
.gc-compact-period .variant{padding:20px}
.gc-compact-period .demo{padding:16px}
.gc-compact-period .wide .months{grid-template-columns:minmax(0,1fr);max-height:500px;overflow:auto;overscroll-behavior:contain}
.gc-compact-period .wide{max-width:368px}
.gc-compact-period .preset-content{grid-template-columns:minmax(0,1fr)}
.gc-compact-period .presets{flex-direction:row;justify-content:center;flex-wrap:wrap;border:0;border-bottom:1px solid #e2ecef;padding:0 0 12px;gap:4px}}
@media(max-width:760px){.gc-compact-period .page-head{padding:24px 16px}
.gc-compact-period .page-head .tools>button{flex:1}
.gc-compact-period main{display:block;padding:0 16px 24px}
.gc-compact-period nav{position:static;display:grid;grid-template-columns:1fr 1fr;margin-bottom:16px;gap:4px}
.gc-compact-period nav>a{padding:10px 12px;font-size:13px}
.gc-compact-period nav>a small{font-size:11px}
.gc-compact-period .variant{padding:20px 16px}
.gc-compact-period .demo{padding:16px}
.gc-compact-period .description{font-size:14px}
.gc-compact-period .calendar-window{margin-inline:auto}
.gc-compact-period .calendar-window.wide,.gc-compact-period .calendar-window.preset-layout{width:368px}
.gc-compact-period .range-trigger{width:100%;font-size:14px}
.gc-compact-period .quick-tests button{min-height:44px}
.gc-compact-period .calendar-bottom{flex-wrap:wrap}
.gc-compact-period .calendar-bottom .actions{margin-left:auto}
.gc-compact-period .manual-grid{grid-template-columns:1fr}
.gc-compact-period .presets button{min-height:44px}
.gc-compact-period .page-foot{padding-inline:16px}}
@media(max-width:440px){.gc-compact-period .variant{padding-inline:12px}
.gc-compact-period .demo{padding:12px}
.gc-compact-period .calendar-host{position:relative}
.gc-compact-period .calendar-window,.gc-compact-period .calendar-window.wide,.gc-compact-period .calendar-window.preset-layout{width:calc(100vw - 2px);max-width:none;position:relative;left:50%;transform:translateX(-50%);padding:4px;border-radius:14px}
.gc-compact-period .calendar-head,.gc-compact-period .endpoint-strip,.gc-compact-period .calendar-message,.gc-compact-period .calendar-bottom,.gc-compact-period .manual,.gc-compact-period .step-heading{margin-inline:8px}
.gc-compact-period .calendar-head{gap:4px}
.gc-compact-period .calendar-caption{font-size:16px}
.gc-compact-period .months{gap:16px}
.gc-compact-period .ribbon .months{padding-right:0;scrollbar-gutter:auto}
.gc-compact-period .calendar-bottom{padding-bottom:8px}
.gc-compact-period .endpoint{padding:8px;min-height:60px}
.gc-compact-period .endpoint b{font-size:14px}
.gc-compact-period .preset-content{gap:8px}
.gc-compact-period .calendar-message{min-height:48px}
.gc-compact-period .calendar-window .calendar-bottom .quiet{font-size:12px}
.gc-compact-period .calendar-window .actions button{padding-inline:10px}
.gc-compact-period .day>span{width:36px}
.gc-compact-period .month-select,.gc-compact-period .year-select,.gc-compact-period .year-entry,.gc-compact-period .year-error{margin-inline:8px}
.gc-compact-period .year-entry{width:calc(100% - 16px)}}
@media(prefers-reduced-motion:no-preference){.gc-compact-period button{transition:background-color .12s,border-color .12s}}
@media(forced-colors:active){.gc-compact-period .day.is-start>span,.gc-compact-period .day.is-end>span{background:Highlight!important;color:HighlightText}
.gc-compact-period .day.is-single>span{border-left:4px solid Highlight;border-right:4px solid CanvasText}
.gc-compact-period .dot{border:1px solid CanvasText}}
.gc-compact-period .variant{--range-start:#215c9f;--range-end:#e9b949;--start-text:#fff;--end-text:#183b49;--range-fill:#eaf1f9}
.gc-compact-period .theme-legend{display:flex;gap:16px;flex-wrap:wrap;margin:-8px 0 20px;color:#59757c;font-size:12px}
.gc-compact-period .theme-legend span{display:inline-flex;align-items:center;gap:8px}
.gc-compact-period .theme-legend i{display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid #34495533}
.gc-compact-period .theme-legend .start-key{background:var(--range-start)}
.gc-compact-period .theme-legend .end-key{background:var(--range-end)}
.gc-compact-period .calendar-window.preset-layout{width:900px}
.gc-compact-period .preset-content{grid-template-columns:128px minmax(0,1fr);gap:16px}
.gc-compact-period .preset-content>.months{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gc-compact-period .presets{padding-right:12px}
.gc-compact-period .presets button{font-size:13px;padding:8px 6px}
.gc-compact-period .calendar-caption{text-transform:capitalize}
.gc-compact-period .day.is-between{background:var(--range-fill)}
.gc-compact-period .day.is-start{background:linear-gradient(90deg,transparent 50%,var(--range-fill) 50%)}
.gc-compact-period .day.is-end{background:linear-gradient(90deg,var(--range-fill) 50%,transparent 50%)}
.gc-compact-period .day.is-start>span{background:var(--range-start)!important;color:var(--start-text)}
.gc-compact-period .day.is-end>span{background:var(--range-end)!important;color:var(--end-text)}
.gc-compact-period .day.is-single{background:transparent}
.gc-compact-period .day.is-single>span{color:#183b49;background:radial-gradient(circle 11px at center,#fff 98%,transparent 100%),linear-gradient(90deg,var(--range-start) 50%,var(--range-end) 50%)!important;box-shadow:0 0 0 1px #183b4912;font-weight:700}
.gc-compact-period .demo{padding:20px}
.gc-compact-period .calendar-message{min-height:36px}
.gc-compact-period .description{margin-bottom:20px}
.gc-compact-period #M02 .preset-content,.gc-compact-period #M03 .preset-content{grid-template-columns:minmax(0,1fr);gap:12px}
.gc-compact-period #M02 .presets,.gc-compact-period #M03 .presets{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap;border:0;padding:0;gap:8px}
.gc-compact-period #M02 .presets{border-bottom:1px solid #e2ecef;padding-bottom:12px}
.gc-compact-period #M03 .presets{border-top:1px solid #e2ecef;padding-top:12px}
.gc-compact-period #M02 .day.is-single>span{background:radial-gradient(circle 11px at center,#fff 98%,transparent 100%),linear-gradient(90deg,var(--range-start) 0 calc(50% - 2px),#fff calc(50% - 2px) calc(50% + 2px),var(--range-end) calc(50% + 2px) 100%)!important}
.gc-compact-period #M03 .day.is-single>span{background:radial-gradient(circle 14px at center,#fff 98%,transparent 100%),linear-gradient(90deg,var(--range-start) 0 calc(50% - 1px),#fff calc(50% - 1px) calc(50% + 1px),var(--range-end) calc(50% + 1px) 100%)!important;box-shadow:0 0 0 1px #203d4340}
.gc-compact-period .page-head>p:not(.eyebrow){max-width:900px}
@media(max-width:1230px){.gc-compact-period #M01 .preset-content{grid-template-columns:minmax(0,1fr);gap:12px}
.gc-compact-period #M01 .presets{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap;border:0;border-bottom:1px solid #e2ecef;padding:0 0 12px;gap:8px}}
@media(max-width:1100px){.gc-compact-period .preset-content>.months{grid-template-columns:minmax(0,1fr);max-height:480px;overflow:auto;overscroll-behavior:contain}
.gc-compact-period .calendar-window.preset-layout{width:368px}
.gc-compact-period .presets button{min-height:44px}
.gc-compact-period .calendar-caption{font-size:16px}}
@media(max-width:440px){.gc-compact-period .calendar-window.preset-layout{width:calc(100vw - 2px)}
.gc-compact-period .demo{padding:12px}
.gc-compact-period .preset-content{gap:8px}
.gc-compact-period .preset-content>.months{scrollbar-gutter:auto}
.gc-compact-period .calendar-message{min-height:48px;margin-top:4px}
.gc-compact-period .presets{margin-inline:8px}
.gc-compact-period .theme-legend{gap:12px}
.gc-compact-period .theme-legend i{width:16px;height:16px}
.gc-compact-period .month-title{text-transform:capitalize}
.gc-compact-period .calendar-caption{font-size:16px}
.gc-compact-period .presets button{font-size:12px;padding:8px}
.gc-compact-period .calendar-bottom{margin-top:8px}}
@media(forced-colors:active){.gc-compact-period .day.is-single>span{color:CanvasText!important;background:Canvas!important;border-left:4px solid Highlight;border-right:4px solid CanvasText;box-shadow:none}}
.gc-compact-period #M02 .calendar-window.preset-layout,.gc-compact-period #M03 .calendar-window.preset-layout{width:720px}
@media(max-width:1100px){.gc-compact-period #M02 .calendar-window.preset-layout,.gc-compact-period #M03 .calendar-window.preset-layout{width:368px}}
@media(max-width:440px){.gc-compact-period #M02 .calendar-window.preset-layout,.gc-compact-period #M03 .calendar-window.preset-layout{width:calc(100vw - 2px)}}
.gc-compact-period body:has(dialog[open]){overflow:hidden}
.gc-compact-period .page-head{max-width:440px;padding:24px 16px 12px}
.gc-compact-period .page-head h1{font-size:25px;margin:6px 0 10px}
.gc-compact-period .page-head>p:not(.eyebrow){font-size:14px}
.gc-compact-period .page-head .tools{margin-top:14px}
.gc-compact-period main{display:block;max-width:440px;padding:0 16px 16px}
.gc-compact-period #variants,.gc-compact-period .theme-legend,.gc-compact-period .variant>h2,.gc-compact-period .variant>.description,.gc-compact-period .review,.gc-compact-period .quick-tests{display:none!important}
.gc-compact-period .variant{padding:0;border:0;border-radius:0;background:transparent}
.gc-compact-period .demo{padding:12px;background:#fff;border:1px solid #d2dfe1;border-radius:12px}
.gc-compact-period .result{margin-top:12px;font-size:12px}
.gc-compact-period .page-foot{max-width:440px;padding:0 16px 16px}
.gc-compact-period .range-trigger{width:100%;font-size:14px}
.gc-compact-period dialog.calendar-host{--ideal-day:34px;--calendar-chrome:222px;--day-height:clamp(24px,calc((var(--available-height,600px) - var(--calendar-chrome)) / 6),var(--ideal-day));--marker-size:clamp(20px,calc(var(--day-height) - 4px),30px);display:none;position:fixed;inset:auto;top:var(--dialog-top,50%);left:var(--dialog-left,50%);transform:translate(-50%,-50%);margin:0;padding:0;width:min(344px,calc(100vw - 16px));max-width:none;max-height:none;height:auto;border:0;border-radius:14px;background:transparent;overflow:visible;color:#203d43}
.gc-compact-period dialog.calendar-host[open]{display:block}
.gc-compact-period dialog.calendar-host::backdrop{background:#203d4326}
.gc-compact-period .gc-period-instance .calendar-window{position:static;left:auto;transform:none;margin:0;padding:10px;width:100%;max-width:none;max-height:none;overflow:visible;border-radius:14px;border:1px solid #b9d0d5;box-shadow:0 12px 34px #173f4d24;background:#fff;font-size:13px;line-height:1.4}
.gc-compact-period .gc-period-instance .calendar-head{grid-template-columns:32px minmax(0,1fr) 32px;gap:4px;min-height:32px;margin:0 0 4px;padding:0}
.gc-compact-period .gc-period-instance .calendar-caption{height:32px;min-height:32px;font-size:15px;line-height:22px;padding:4px;gap:6px}
.gc-compact-period .gc-period-instance .icon-button{width:32px;height:32px;min-height:32px;padding:4px}
.gc-compact-period .gc-period-instance .icon-button svg{width:20px;height:20px}
.gc-compact-period .gc-period-instance .calendar-caption svg{width:14px;height:14px}
.gc-compact-period .gc-period-instance .preset-content{display:block}
.gc-compact-period .gc-period-instance .presets{display:flex;flex-direction:row;justify-content:center;gap:4px;flex-wrap:nowrap;margin:0 0 4px;padding:0 0 4px;border:0;border-bottom:1px solid #e2ecef}
.gc-compact-period .gc-period-instance .presets button{min-width:0;min-height:28px;height:28px;margin:0;padding:4px 7px;font-size:12px;line-height:20px;white-space:nowrap;border:0;border-radius:7px}
.gc-compact-period .gc-period-instance .months{display:block;max-height:none;overflow:visible;padding:0;scrollbar-gutter:auto}
.gc-compact-period .gc-period-instance .month{padding:0;margin:0;border:0;min-width:0}
.gc-compact-period .gc-period-instance .month-title{display:none}
.gc-compact-period .gc-period-instance .weekdays{height:20px;margin:0;line-height:20px;font-size:11px}
.gc-compact-period .gc-period-instance .days{gap:0}
.gc-compact-period .gc-period-instance .day,.gc-compact-period .gc-period-instance .blank{height:var(--day-height);min-height:var(--day-height);margin:0;padding:0;font-size:13px;line-height:1}
.gc-compact-period .gc-period-instance .day>span{width:var(--marker-size);height:var(--marker-size);border-radius:8px}
.gc-compact-period .gc-period-instance .day.is-single>span{color:#183b49;background:radial-gradient(circle calc((var(--marker-size) - 4px) / 2) at center,#fff 98%,transparent 100%),linear-gradient(90deg,var(--range-start) 0 calc(50% - 1px),#fff calc(50% - 1px) calc(50% + 1px),var(--range-end) calc(50% + 1px) 100%)!important;box-shadow:0 0 0 1px #203d4330}
.gc-compact-period .gc-period-instance .calendar-message{min-height:18px;margin:0;padding:4px 0 0;font-size:12px;line-height:18px}
.gc-compact-period .gc-period-instance .calendar-bottom{display:flex;justify-content:space-between;flex-wrap:nowrap;gap:4px;margin:4px 0 0;padding:6px 0 0;border-top:1px solid #e4ecee}
.gc-compact-period .gc-period-instance .calendar-bottom .actions{display:flex;gap:4px;margin-left:auto}
.gc-compact-period .gc-period-instance .calendar-bottom button{min-height:36px;height:36px;padding:6px 9px;font-size:13px;line-height:20px;border-radius:8px}
.gc-compact-period .gc-period-instance .calendar-bottom .quiet{padding-inline:6px}
.gc-compact-period .gc-period-instance .manual{margin:0;font-size:12px}
.gc-compact-period .gc-period-instance .manual summary{min-height:24px;height:24px;line-height:20px;margin:0;padding:2px 0;gap:6px;font-size:12px}
.gc-compact-period .gc-period-instance .manual summary:before{font-size:17px}
.gc-compact-period .gc-period-instance .manual-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.gc-compact-period .gc-period-instance .manual label>span:first-child{font-size:12px;margin-bottom:6px}
.gc-compact-period .gc-period-instance .manual input.gc-date-text{height:38px;min-height:38px;padding:6px 36px 6px 8px;font-size:14px}
.gc-compact-period .gc-period-instance .manual .gc-date-button{right:4px;width:30px;height:30px;min-height:30px;padding:5px}
.gc-compact-period .gc-period-instance .manual .gc-date-button svg{width:20px;height:20px}
.gc-compact-period .gc-period-instance .manual-note{font-size:12px;line-height:1.4;margin-top:8px}
.gc-compact-period .gc-period-instance .manual-error{min-height:16px;font-size:12px;margin-top:4px}
.gc-compact-period .gc-period-instance .calendar-window:has(.manual[open])>.calendar-head,.gc-compact-period .gc-period-instance .calendar-window:has(.manual[open])>.calendar-content,.gc-compact-period .gc-period-instance .calendar-window:has(.manual[open])>.calendar-years,.gc-compact-period .gc-period-instance .calendar-window:has(.manual[open])>.calendar-message{display:none!important}
.gc-compact-period .gc-period-instance .month-select,.gc-compact-period .gc-period-instance .year-select{min-height:0;margin:0;gap:4px;grid-template-columns:repeat(3,minmax(0,1fr))}
.gc-compact-period .gc-period-instance .month-select button,.gc-compact-period .gc-period-instance .year-select button{height:32px;min-height:32px;font-size:12px;padding:4px 2px}
.gc-compact-period .gc-period-instance .year-entry{width:100%;height:34px;min-height:34px;margin:0 0 4px;padding:6px 10px;font-size:15px}
.gc-compact-period .gc-period-instance .year-error{min-height:16px;margin:0;font-size:11px;line-height:16px}
@media(pointer:coarse){.gc-compact-period dialog.calendar-host{--ideal-day:44px}
.gc-compact-period .gc-period-instance .calendar-head{grid-template-columns:40px minmax(0,1fr) 40px;min-height:40px}
.gc-compact-period .gc-period-instance .calendar-caption,.gc-compact-period .gc-period-instance .icon-button{height:40px;min-height:40px}
.gc-compact-period .gc-period-instance .icon-button{width:40px;padding:8px}
.gc-compact-period .gc-period-instance .presets button{min-height:36px;height:36px}
.gc-compact-period .gc-period-instance .calendar-bottom button{min-height:40px;height:40px}
.gc-compact-period .gc-period-instance .manual input.gc-date-text{height:44px;min-height:44px;font-size:16px}
.gc-compact-period .gc-period-instance .manual .gc-date-button{width:36px;height:36px;min-height:36px;padding:8px}}
.gc-compact-period dialog.calendar-host.is-short{--calendar-chrome:166px}
.gc-compact-period .gc-period-instance dialog.is-short .calendar-window{padding:6px}
.gc-compact-period .gc-period-instance dialog.is-short .calendar-head{grid-template-columns:32px minmax(0,1fr) 32px;min-height:32px;margin-bottom:2px}
.gc-compact-period .gc-period-instance dialog.is-short .calendar-caption,.gc-compact-period .gc-period-instance dialog.is-short .icon-button{height:32px;min-height:32px}
.gc-compact-period .gc-period-instance dialog.is-short .icon-button{width:32px;padding:6px}
.gc-compact-period .gc-period-instance dialog.is-short .presets{margin-bottom:2px;padding-bottom:2px}
.gc-compact-period .gc-period-instance dialog.is-short .presets button{height:28px;min-height:28px;padding-block:4px}
.gc-compact-period .gc-period-instance dialog.is-short .weekdays{height:16px;line-height:16px;font-size:10px}
.gc-compact-period .gc-period-instance dialog.is-short .calendar-message:not(.error){display:none}
.gc-compact-period .gc-period-instance dialog.is-short .calendar-message.error{min-height:0;padding-top:2px;font-size:11px;line-height:14px}
.gc-compact-period .gc-period-instance dialog.is-short .manual summary{height:20px;min-height:20px;font-size:11px;padding:0}
.gc-compact-period .gc-period-instance dialog.is-short .calendar-bottom{margin-top:2px;padding-top:4px}
.gc-compact-period .gc-period-instance dialog.is-short .calendar-bottom button{height:32px;min-height:32px;padding:4px 8px;font-size:12px}
.gc-compact-period .gc-period-instance dialog.is-short .day{font-size:12px}
.gc-compact-period .gc-period-instance dialog.is-short .year-entry{height:30px;min-height:30px;font-size:14px}
.gc-compact-period .gc-period-instance dialog.is-short .month-select button,.gc-compact-period .gc-period-instance dialog.is-short .year-select button{height:28px;min-height:28px}
@media(max-width:360px){.gc-compact-period dialog.calendar-host{width:calc(100vw - 2px)}
.gc-compact-period .gc-period-instance .calendar-window{padding-inline:4px}
.gc-compact-period .gc-period-instance .presets button{font-size:11px;padding-inline:6px}}
@media(prefers-reduced-motion:reduce){.gc-compact-period dialog.calendar-host{scroll-behavior:auto}}
@media(forced-colors:active){.gc-compact-period .gc-period-instance .day.is-single>span{background:Canvas!important;color:CanvasText;border-left:3px solid Highlight;border-right:3px solid CanvasText}}
.gc-compact-period .gc-period-instance .calendar-bottom,.gc-compact-period .gc-period-instance .calendar-bottom .actions,.gc-compact-period .gc-period-instance .presets{gap:8px}
.gc-compact-period .gc-period-instance .year-entry,.gc-compact-period .gc-period-instance dialog.is-short .year-entry{font-size:16px}
.gc-compact-period dialog.calendar-host.is-short{--calendar-chrome:190px}
.gc-compact-period .gc-period-instance dialog.is-short .calendar-message{display:block;min-height:16px;padding-top:2px;font-size:11px;line-height:14px}
.gc-compact-period .gc-period-instance dialog.is-short .calendar-message:not(.error){display:block;visibility:hidden}
.gc-compact-period .gc-period-instance dialog.is-short .calendar-message.error{visibility:visible}
.gc-compact-period .gc-period-instance{--range-start:#1b3555;--range-end:#b65c16;--start-text:#ffffff;--end-text:#ffffff;--range-fill:#edf1f6}
.gc-compact-period{box-sizing:border-box;min-width:0;color:#203d43;font:15px/1.55 "Segoe UI",Arial,sans-serif}.gc-compact-period .calendar-bottom .actions>button{flex:none}body.gc-compact-period-open{overflow:hidden}#lab-period-example{display:grid;gap:16px;margin-top:24px;padding-top:24px;border-top:1px solid #dce6e9}#lab-period-example>p{font-size:14px;color:#526a70}
.gc-compact-period{display:contents}.gc-compact-period>.variant,.gc-compact-period .demo{display:contents}.gc-compact-period .field-label,.gc-compact-period .range-trigger,.gc-compact-period .result{display:none}.gc-compact-period .calendar-host{font:15px/1.55 "Segoe UI",Arial,sans-serif}.gc-compact-period .calendar-host button{font:inherit;cursor:pointer}.gc-compact-period .calendar-host button:disabled{cursor:default}.gc-compact-period .calendar-bottom .actions{margin:0;flex-wrap:nowrap;align-items:center}.gc-compact-period .manual summary{border:0;border-radius:0;background:transparent}
