.km-er-calendar{max-width:1440px}.km-calendar-view{min-width:0}.km-calendar-month-panel{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.3fr);align-items:center;gap:20px}.km-calendar-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.km-calendar-nav h2{margin:0;text-align:center;font-size:21px}.km-calendar-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 13px;border:1px solid #bfd3c5;border-radius:10px;background:#fff;color:#075326!important;font-weight:800;text-decoration:none!important}.km-calendar-summary{display:flex;align-items:center;justify-content:flex-end;gap:0;margin:0}.km-calendar-summary>div{display:flex;align-items:baseline;gap:5px;padding:2px 13px;border-left:1px solid #dce6df}.km-calendar-summary dt{color:#65766d;font-size:12px;font-weight:700}.km-calendar-summary dd{margin:0;color:#173427;font-size:17px;font-weight:900;white-space:nowrap}.km-calendar-summary .is-attention dd{color:#a94c00}.km-calendar-undated[open]>summary{border-bottom:1px solid #edcf9d}.km-calendar-undated__list{display:grid;gap:8px;padding:12px}.km-calendar-undated__list article{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:12px;padding:10px;border-radius:10px;background:#fff}.km-calendar-undated__list article>div,.km-calendar-undated__list label{display:grid;gap:3px}.km-calendar-undated__list span{color:#68776f;font-size:13px}.km-calendar-undated__list form{display:flex;align-items:end;gap:8px}.km-calendar-undated__list input{min-height:42px;padding:6px 9px;border:1px solid #bccdc2;border-radius:8px}.km-calendar-workspace{grid-template-columns:minmax(0,2.15fr) minmax(310px,1fr)}.km-calendar-board{padding:12px}.km-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.km-calendar-weekday{padding:7px 3px;color:#54685e;font-size:12px;font-weight:800;text-align:center}.km-calendar-weekday.is-sun{color:#a12626}.km-calendar-weekday.is-sat{color:#275e9b}.km-calendar-day{position:relative;display:flex;min-width:0;height:112px;flex-direction:column;align-items:stretch;padding:7px;border:1px solid #dfe8e2;border-radius:9px;background:#fff;color:#173427;text-align:left;cursor:pointer;overflow:hidden}.km-calendar-day:hover{border-color:#7fae8e;background:#f6faf7}.km-calendar-day.is-empty{border-color:transparent;background:#f7f9f8}.km-calendar-day.is-today:after{content:"今日";position:absolute;top:6px;right:6px;padding:2px 5px;border-radius:999px;background:#075326;color:#fff;font-size:9px;font-weight:800}.km-calendar-day.is-selected{border:2px solid #075326;background:#eef8f1;box-shadow:0 0 0 2px rgba(7,83,38,.12)}.km-calendar-day.is-sun .km-calendar-day__number,.km-calendar-day.is-holiday .km-calendar-day__number{color:#b12929}.km-calendar-day.is-sat .km-calendar-day__number{color:#275e9b}.km-calendar-day__number{font-weight:900}.km-calendar-day small{display:block;overflow:hidden;margin-top:1px;color:#a12626;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.km-calendar-events{display:grid;gap:3px;min-width:0;margin-top:5px}.km-calendar-events>span{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px;min-width:0;padding:3px 4px;border-radius:5px;background:#e8f4eb;color:#174a2c;font-size:10px;font-weight:700;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.km-calendar-events>span i{padding:1px 3px;border-radius:3px;background:#075326;color:#fff;font-size:8px;font-style:normal}.km-calendar-events>span.is-expiry{background:#fff0da;color:#7f4300}.km-calendar-events>span.is-expiry i{background:#d96c08}.km-calendar-events>span.is-expiry.is-expired{background:#fde9e7;color:#922828}.km-calendar-events>span.is-expiry.is-expired i{background:#b32d2d}.km-calendar-events>span.is-expiry.is-used{background:#ecefed;color:#526159}.km-calendar-events>span.is-expiry.is-used i{background:#69736e}.km-calendar-events>span.is-memo{background:#f7efdf;color:#66502d}.km-calendar-events>span.is-memo i{background:#8d7448}.km-calendar-events b{color:#52665b;font-size:10px}.is-mobile-more{display:none}.km-calendar-detail{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto}.km-calendar-detail>h2{margin:0 0 12px;font-size:20px}.km-calendar-detail>h3{margin:18px 0 8px;padding-top:12px;border-top:1px solid #e3eae5;color:#304d3d;font-size:14px}.km-calendar-detail-list,.km-calendar-expiry-list,.km-calendar-memo-list{display:grid;gap:9px}.km-calendar-detail-list article{padding:11px;border-left:4px solid #075326;border-radius:9px;background:#f3f8f5}.km-calendar-detail-list p{margin:4px 0;color:#5b6c63;font-size:13px}.km-calendar-detail-list a{display:inline-flex;margin-top:5px;color:#075326;font-size:13px;font-weight:800}.km-calendar-expiry{display:grid;gap:9px;padding:11px;border:1px solid #edc17d;border-radius:10px;background:#fffaf1}.km-calendar-expiry.is-expired{border-color:#e1aaa5;background:#fff5f4}.km-calendar-expiry.is-used{border-color:#ccd3cf;background:#f2f4f3}.km-calendar-expiry__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.km-calendar-expiry__head span{flex:none;padding:3px 7px;border-radius:999px;background:#fff0d5;color:#7f4300;font-size:11px;font-weight:800}.km-calendar-expiry.is-expired .km-calendar-expiry__head span{background:#fde3e0;color:#962626}.km-calendar-expiry.is-used .km-calendar-expiry__head span{background:#e2e5e3;color:#53605a}.km-calendar-expiry p{margin:4px 0;font-size:12px}.km-calendar-expiry__notify{color:#8b510f}.km-calendar-expiry__actions,.km-calendar-memo__actions{display:flex;gap:6px;flex-wrap:wrap}.km-calendar-expiry__actions button,.km-calendar-memo__actions button{min-height:38px;padding:5px 10px;border:1px solid #bdcfc3;border-radius:8px;background:#fff;color:#075326;font-weight:800;cursor:pointer}.km-calendar-expiry__actions button:first-child{border-color:#075326;background:#075326;color:#fff}.km-calendar-expiry__actions button:last-child,.km-calendar-memo__actions button:last-child{border-color:#d8abab;color:#a12626}.km-calendar-memo{padding:10px;border-radius:9px;background:#f8f0e2}.km-calendar-memo p{margin:5px 0;color:#625840;font-size:13px}.km-calendar-add-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.km-calendar-add-actions button{min-height:44px;border-radius:9px;font-weight:800;cursor:pointer}.km-calendar-add-expiry{grid-column:1;border:1px solid #c75c00;background:#d96c08;color:#fff}.km-calendar-add-memo{grid-column:2;border:1px solid #aac5b3;background:#fff;color:#075326}.km-calendar-message{margin-top:8px;color:#a12626;font-weight:800}.km-calendar-memo-form,.km-calendar-expiry-form{display:grid;gap:12px;margin-top:12px;padding:13px;border:1px solid #d6e2da;border-radius:12px;background:#f8fbf9}.km-calendar-memo-form label,.km-calendar-expiry-form label{display:grid;gap:5px;color:#314e3e;font-size:13px;font-weight:800}.km-calendar-memo-form :is(input,textarea),.km-calendar-expiry-form :is(input,select,textarea){width:100%;min-height:42px;padding:8px 10px;border:1px solid #b9cbbf;border-radius:8px;background:#fff;font:inherit}.km-calendar-expiry-form textarea,.km-calendar-memo-form textarea{min-height:82px}.km-calendar-form-section{display:grid;gap:11px;padding:0;border:0}.km-calendar-form-section legend{margin-bottom:8px;font-weight:900}.km-calendar-expiry-notify{padding:12px;border:1px solid #e5cda6;border-radius:10px;background:#fffaf0}.km-calendar-expiry-notify>label{display:flex;grid-template-columns:auto 1fr;align-items:center}.km-calendar-expiry-notify>label input{width:auto;min-height:0}.km-calendar-expiry-notify__offsets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.km-calendar-notify-off-hint{padding:9px;border-radius:8px;background:#fff0d8;color:#8a4700;font-size:12px}.km-calendar-notify-off-hint button{margin-top:6px;border:0;background:none;color:#8a4700;font-weight:800;text-decoration:underline;cursor:pointer}.km-calendar-deadlines{margin-top:2px}.km-calendar-deadlines__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.km-calendar-deadlines__header h2{margin:0 0 8px}.km-calendar-deadline-counts{display:flex;gap:6px;flex-wrap:wrap}.km-calendar-notify-summary{display:flex;align-items:center;gap:10px;white-space:nowrap}.km-calendar-deadline-list{display:grid;gap:7px}.km-calendar-deadline-row{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:13px;padding:11px;border:1px solid #e3e9e5;border-left:4px solid #d96c08;border-radius:10px}.km-calendar-deadline-row.is-expired{border-left-color:#b32d2d;background:#fffafa}.km-calendar-deadline-row__date{display:grid;gap:2px}.km-calendar-deadline-row__date strong{color:#a64e00;font-size:13px}.km-calendar-deadline-row.is-expired .km-calendar-deadline-row__date strong{color:#a12626}.km-calendar-deadline-row__date time{font-size:13px}.km-calendar-deadline-row__main{display:grid;min-width:0;gap:3px}.km-calendar-deadline-row__main>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.km-calendar-deadline-row__main span,.km-calendar-deadline-row__main small{color:#607168}.km-calendar-deadline-row__actions{display:flex;gap:7px}.km-calendar-notify-settings{margin-top:16px}.km-calendar-notify-form{display:grid;gap:8px}.km-calendar-notify-form p{margin:0}.km-calendar-notify-toggle>span{margin-right:auto;font-weight:900}.km-calendar-notify-toggle strong{min-width:28px;color:#075326}.km-calendar-notify-actions{display:flex;margin-top:5px}.km-calendar-notify-message{min-height:1.4em;color:#075326;font-weight:800}.km-calendar-notify-message.is-error{color:#a12626}.km-calendar-notify-admin{margin-top:12px;border-top:1px solid #ead9bc}.km-calendar-notify-admin summary{min-height:44px;font-weight:800;cursor:pointer}.km-calendar-notify-admin dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0}.km-calendar-notify-admin dl>div{padding:8px;border-radius:7px;background:#fff}.km-calendar-notify-admin dt{font-size:11px;color:#65736a}.km-calendar-notify-admin dd{margin:3px 0 0;font-size:12px;font-weight:800}
@media(max-width:1023px){.km-calendar-month-panel{grid-template-columns:1fr;gap:10px}.km-calendar-summary{justify-content:center}.km-calendar-workspace{grid-template-columns:1fr}.km-calendar-detail{position:static;max-height:none;overflow:visible}.km-calendar-day{height:90px;padding:5px}.km-calendar-events>span:nth-of-type(n+2){display:none}.is-pc-more{display:none}.is-mobile-more{display:block}.km-calendar-notify-admin dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.km-er-calendar{padding-left:5px;padding-right:5px}.km-calendar-month-panel{padding:11px}.km-calendar-nav{gap:5px}.km-calendar-nav h2{font-size:18px}.km-calendar-nav a{min-height:44px;padding:0 10px}.km-calendar-summary{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.km-calendar-summary>div{justify-content:center;padding:4px 6px;border-left:0}.km-calendar-summary>div:nth-child(4){grid-column:1/-1;border-top:1px solid #e4eae6}.km-calendar-summary dt{font-size:11px}.km-calendar-summary dd{font-size:14px}.km-calendar-undated__list article{grid-template-columns:1fr}.km-calendar-undated__list form{align-items:stretch;flex-direction:column}.km-calendar-board{padding:5px}.km-calendar-grid{gap:2px}.km-calendar-weekday{padding:5px 1px}.km-calendar-day{height:72px;padding:4px 3px;border-radius:6px}.km-calendar-day.is-today:after{content:"";top:5px;right:5px;width:6px;height:6px;padding:0}.km-calendar-day small{display:none}.km-calendar-events{margin-top:2px}.km-calendar-events>span{display:block;padding:2px 3px;font-size:9px;overflow:hidden;text-overflow:ellipsis}.km-calendar-events>span i{display:block;width:max-content;margin-bottom:1px}.km-calendar-events b{font-size:9px}.km-calendar-add-actions{grid-template-columns:1fr}.km-calendar-add-expiry,.km-calendar-add-memo{grid-column:1}.km-calendar-add-expiry{grid-row:1}.km-calendar-expiry__actions{display:grid;grid-template-columns:1fr 1fr}.km-calendar-expiry__actions button:first-child{grid-column:1/-1}.km-calendar-expiry-notify__offsets{grid-template-columns:1fr}.km-calendar-deadlines__header{align-items:stretch;flex-direction:column}.km-calendar-notify-summary{justify-content:space-between}.km-calendar-deadline-row{grid-template-columns:1fr;gap:7px}.km-calendar-deadline-row__main>strong{white-space:normal}.km-calendar-deadline-row__actions{display:grid;grid-template-columns:1fr}.km-calendar-deadline-row__actions button{width:100%;min-height:44px}.km-calendar-notify-admin dl{grid-template-columns:1fr}.km-member-settings-panel{padding:12px}}
.km-calendar-deadline-group{display:grid;gap:8px}.km-calendar-deadline-group+.km-calendar-deadline-group{margin-top:18px;padding-top:16px;border-top:1px solid #e2e9e4}.km-calendar-deadline-group>h3{margin:0;font-size:16px}.km-calendar-deadline-group--expired>h3{color:#9d2525}.km-calendar-deadline-group--upcoming>h3{color:#894900}.km-calendar-deadline-more{margin:0;color:#66766d;font-size:13px;font-weight:800}
.km-calendar-summary dt{white-space:nowrap}.km-calendar-summary.is-empty>div{border-left:0}.km-calendar-summary.is-empty dt{color:#53665b;font-size:14px}.km-calendar-back{display:none}@media(max-width:1023px){.km-calendar-back{display:inline-flex;align-items:center;min-height:44px;margin:0 0 12px;padding:7px 10px;border:0;background:transparent;color:#075326;font-weight:800;text-decoration:underline;cursor:pointer}}@media(max-width:600px){.km-calendar-summary.is-empty{display:flex}.km-calendar-summary.is-empty>div{padding:4px 6px}}
.km-calendar-dialog-open{overflow:hidden}
.km-calendar-dialog{width:min(680px,100%)!important;max-height:min(90vh,calc(100dvh - 48px))!important}
@media(max-width:767px){.km-calendar-dialog{width:100%!important;height:100dvh!important;max-height:100dvh!important}.km-calendar-dialog__footer{position:sticky;z-index:1;bottom:0}}
.km-calendar-dialog-overlay{position:fixed;z-index:99999;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(16,34,24,.55)}.km-calendar-dialog{display:flex;flex-direction:column;width:min(700px,100%);max-height:calc(100dvh - 48px);overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.28)}.km-calendar-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #e1e9e3}.km-calendar-dialog__header h2{margin:0;font-size:20px}.km-calendar-dialog__header button{width:44px;height:44px;border:0;border-radius:50%;background:#edf4ef;color:#173427;font-size:28px;line-height:1;cursor:pointer}.km-calendar-dialog .km-calendar-expiry-form{display:flex;min-height:0;flex:1;flex-direction:column;gap:0;margin:0;padding:0;border:0;background:#fff}.km-calendar-dialog__body{display:grid;gap:16px;overflow:auto;padding:20px}.km-calendar-dialog__body label{display:grid;gap:6px;color:#314e3e;font-weight:800}.km-calendar-dialog__body :is(input,select,textarea){box-sizing:border-box;width:100%;min-height:46px;padding:9px 11px;border:1px solid #b9cbbf;border-radius:9px;background:#fff;font:inherit}.km-calendar-dialog__footer{padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #e1e9e3;background:#fff}.km-calendar-dialog__footer button{width:100%;min-height:48px;border:1px solid #075326;border-radius:10px;background:#075326;color:#fff;font:inherit;font-weight:900;cursor:pointer}.km-calendar-dialog__footer button:disabled{opacity:.6;cursor:wait}.km-calendar-recent-benefits{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border-radius:12px;background:#f1f8f3}.km-calendar-recent-benefits h3{width:100%;margin:0 0 2px;font-size:15px}.km-calendar-recent-benefit,.km-calendar-recent-more,.km-calendar-company-change,.km-calendar-balance button{min-height:44px;padding:8px 12px;border:1px solid #9ab9a3;border-radius:9px;background:#fff;color:#075326;font:inherit;font-weight:800;cursor:pointer}.km-calendar-recent-more{width:100%;border:0;background:transparent;text-decoration:underline}.km-calendar-company-selected{padding:13px;border-radius:11px;background:#f1f8f3}.km-calendar-company-selected p{margin:0 0 9px;font-weight:900}.km-calendar-company-search select{margin-top:8px}.km-calendar-company-result{margin:6px 0 0;color:#53665b;font-size:14px}.km-calendar-offer-contact{color:#075326;font-size:13px;font-weight:800}.km-calendar-balance{display:grid;gap:9px}.km-calendar-balance>button{justify-self:start}.km-calendar-balance__choices{display:grid;gap:9px;padding:14px;border:1px solid #d9e5dc;border-radius:11px;background:#f8fbf9}.km-calendar-balance__choices p{margin:0;font-weight:900}.km-calendar-balance-stop{justify-self:start;border:0!important;background:transparent!important;text-decoration:underline}.km-calendar-supplement,.km-calendar-details{border:1px solid #d9e5dc;border-radius:10px;padding:0 13px}.km-calendar-supplement summary,.km-calendar-details summary{min-height:46px;display:flex;align-items:center;color:#075326;font-weight:900;cursor:pointer}.km-calendar-supplement label,.km-calendar-details label{padding-bottom:13px}.km-calendar-details fieldset{margin:0 0 13px}@media(max-width:767px){.km-calendar-dialog-overlay{align-items:flex-end;padding:0}.km-calendar-dialog{width:100%;height:min(100dvh,100vh);max-height:none;border-radius:18px 18px 0 0}.km-calendar-dialog__header{padding:14px 16px}.km-calendar-dialog__body{padding:16px}.km-calendar-dialog__footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.km-calendar-recent-benefit{width:100%;text-align:left}.km-calendar-dialog__body textarea{min-height:88px}}
.km-calendar-dialog-message:not(:empty){margin:12px 20px 0;padding:9px 11px;border:1px solid #e1aaa5;border-radius:8px;background:#fff5f4;color:#962626;font-size:13px;font-weight:700}
.km-calendar-balance{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px;border:1px solid #d9e5dc;border-radius:11px;background:#f8fbf9}.km-calendar-balance h3,.km-calendar-balance__help{grid-column:1/-1;margin:0}.km-calendar-balance h3{font-size:15px}.km-calendar-balance__help{color:#5f7167;font-size:12px}.km-calendar-balance input:disabled{background:#edf2ef;color:#77827c}.km-calendar-unit-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px}.km-calendar-usage-form{display:grid;gap:12px;margin-top:12px;padding:13px;border:1px solid #d6e2da;border-radius:12px;background:#f8fbf9}.km-calendar-usage-form>label,.km-calendar-use-partial label{display:grid;gap:5px;color:#314e3e;font-size:13px;font-weight:800}.km-calendar-usage-form input{width:100%;min-height:42px;padding:8px 10px;border:1px solid #b9cbbf;border-radius:8px;background:#fff;font:inherit}.km-calendar-use-options button.is-selected{border-color:#075326;background:#e4f2e9;color:#064820;box-shadow:0 0 0 1px #075326}.km-calendar-usage-form>p{margin:0;color:#5f7167;font-size:13px}.km-calendar-usage-actions{display:flex;gap:8px;flex-wrap:wrap}.km-calendar-usage-actions button{min-height:42px;padding:7px 13px;border:1px solid #9ab9a3;border-radius:9px;background:#fff;color:#075326;font-weight:800;cursor:pointer}.km-calendar-usage-actions button[type=submit]{border-color:#075326;background:#075326;color:#fff}.km-calendar-message span{display:block;margin-bottom:5px}.km-calendar-review-cta{display:inline-flex;min-height:40px;align-items:center;margin-top:3px;padding:0 13px;border:1px solid #8eb39a;border-radius:999px;background:#f2f8f4;color:#075326!important;text-decoration:none!important}@media(max-width:600px){.km-calendar-balance{grid-template-columns:1fr}.km-calendar-balance h3,.km-calendar-balance__help{grid-column:1}.km-calendar-usage-actions{display:grid}.km-calendar-usage-actions button{width:100%}}

/* 1.14.17 form hierarchy */
.km-calendar-dialog__header button:hover,.km-calendar-dialog__header button:focus-visible{background:#dfece3;outline:2px solid #075326;outline-offset:2px}.km-calendar-dialog__footer{box-shadow:0 -8px 20px rgba(22,55,35,.06)}.km-calendar-form-section{padding:16px;border:1px solid #dce8df;border-radius:13px;background:#fcfdfc}.km-calendar-form-section:before{content:"基本情報";display:block;padding-left:10px;border-left:3px solid #dc7414;color:#173427;font-weight:900}.km-calendar-company-lock,.km-calendar-balance__locked{display:grid;grid-column:1/-1;gap:4px;padding:14px;border:1px solid #d8e4dc;border-radius:11px;background:#f1f5f2}.km-calendar-company-lock span,.km-calendar-balance__locked span{color:#65756c;font-size:12px;font-weight:800}.km-calendar-company-lock strong,.km-calendar-balance__locked strong{color:#173427;font-size:16px}.km-calendar-company-lock p,.km-calendar-balance__locked p{max-width:42ch;margin:3px 0 0;color:#53665b;font-size:13px;line-height:1.65}.km-calendar-balance:before{content:"残額・残枚数";grid-column:1/-1;padding-left:9px;border-left:3px solid #dc7414;color:#173427;font-size:15px;font-weight:900}.km-calendar-balance>h3{display:none}.km-calendar-supplement:before,.km-calendar-details:before{display:block;margin:12px 0 0;color:#65756c;font-size:11px;font-weight:900;letter-spacing:.08em}.km-calendar-supplement:before{content:"追加情報"}.km-calendar-details:before{content:"詳細・通知"}
.km-calendar-use-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;border:0}.km-calendar-use-options legend{grid-column:1/-1;margin-bottom:1px;color:#314e3e;font-size:13px;font-weight:900}.km-calendar-use-options label{position:relative;display:block;cursor:pointer}.km-calendar-use-options input{position:absolute;top:50%;left:14px;width:18px!important;min-height:18px!important;transform:translateY(-50%)}.km-calendar-use-options label>span{display:flex;min-height:48px;align-items:center;padding:9px 12px 9px 42px;border:1px solid #b9cbbf;border-radius:10px;background:#fff;color:#214b35;font-weight:800}.km-calendar-use-options input:checked+span{border-color:#075326;background:#e8f4ec;box-shadow:0 0 0 1px #075326}.km-calendar-use-options input:focus-visible+span{outline:3px solid #8bc9a5;outline-offset:2px}.km-calendar-use-options.is-invalid label>span{border-color:#bd3838}.km-calendar-use-partial{padding:12px;border:1px solid #dce4df;border-radius:10px;background:#f0f2f1}.km-calendar-use-partial.is-enabled{border-color:#c9dfd1;background:#f5faf7}.km-calendar-use-partial input:disabled{background:#e3e7e4;color:#7b8780;cursor:not-allowed}.km-calendar-use-hint{margin:6px 0 0!important;color:#65756c!important;font-size:12px!important}.km-calendar-use-error{min-height:1.4em;margin:5px 0 0!important;color:#a12626!important;font-size:13px!important;font-weight:800}.km-calendar-use-partial input[aria-invalid=true]{border-color:#bd3838;box-shadow:0 0 0 1px #bd3838}
.km-calendar-next-step-overlay{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(16,34,24,.55)}.km-calendar-next-step{position:relative;width:min(460px,100%);padding:28px;border-radius:16px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.28)}.km-calendar-next-step h2{margin:0;color:#173427;font-size:21px}.km-calendar-next-step p{margin:9px 0 20px;color:#53665b;line-height:1.7}.km-calendar-next-step__close{position:absolute;top:10px;right:10px;width:42px;height:42px;border:0;border-radius:50%;background:#f0f4f1;color:#173427;font-size:25px;cursor:pointer}.km-calendar-next-step__close:hover,.km-calendar-next-step__close:focus-visible{background:#e1ece4;outline:2px solid #075326}.km-calendar-next-step__actions{display:flex;align-items:center;gap:10px}.km-calendar-next-step__actions a,.km-calendar-next-step__actions button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:8px 16px;border-radius:9px;font:inherit;font-weight:900;cursor:pointer}.km-calendar-next-step__actions a{border:1px solid #d96c08;background:#d96c08;color:#fff!important;text-decoration:none!important}.km-calendar-next-step__actions button{border:1px solid #b8c9be;background:#fff;color:#075326}
@media(max-width:600px){.km-calendar-use-options{grid-template-columns:1fr}.km-calendar-use-options legend{grid-column:1}.km-calendar-next-step-overlay{align-items:flex-end;padding:12px}.km-calendar-next-step{padding:26px 20px 20px}.km-calendar-next-step__actions{align-items:stretch;flex-direction:column}.km-calendar-next-step__actions a,.km-calendar-next-step__actions button{width:100%}}

/* 1.14.23 image-assisted expiry entry */
.km-calendar-ai{display:grid;gap:11px;padding:16px;border:1px solid #d4e3d9;border-radius:13px;background:#f5faf7}.km-calendar-ai h3,.km-calendar-ai p{margin:0}.km-calendar-ai h3{padding-left:10px;border-left:3px solid #dc7414;color:#173427;font-size:16px}.km-calendar-ai>p{color:#53665b;font-size:13px;line-height:1.65}.km-calendar-ai-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.km-calendar-ai-actions label,.km-calendar-ai-analyze,.km-calendar-ai-output button{display:flex;min-height:44px;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #8ead99;border-radius:9px;background:#fff;color:#075326;font:inherit;font-weight:900;cursor:pointer}.km-calendar-ai-analyze{width:100%;border-color:#075326;background:#075326;color:#fff}.km-calendar-ai-analyze:disabled{opacity:.55;cursor:not-allowed}.km-calendar-ai-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.km-calendar-ai-previews:empty{display:none}.km-calendar-ai-preview{min-width:0;padding:6px;border:1px solid #d6e3da;border-radius:9px;background:#fff}.km-calendar-ai-preview img{display:block;width:100%;height:90px;object-fit:cover;border-radius:6px}.km-calendar-ai-preview button{width:100%;min-height:40px;margin-top:5px;border:1px solid #d7b0b0;border-radius:7px;background:#fff5f5;color:#972929;font-weight:800;cursor:pointer}.km-calendar-ai-privacy{padding:10px;border-radius:8px;background:#edf2ef}.km-calendar-ai-status{min-height:1.4em;font-weight:800}.km-calendar-ai-status.is-success{color:#075326}.km-calendar-ai-status.is-error,.km-calendar-ai-warning{color:#962626!important}.km-calendar-ai.is-loading{opacity:.82}.km-calendar-ai-output{display:grid;gap:9px}.km-calendar-ai-output:empty{display:none}.km-calendar-ai-output fieldset{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:11px;border:1px solid #e5cda6;border-radius:9px;background:#fffaf0}.km-calendar-ai-output legend{width:100%;padding:0 3px;font-size:13px;font-weight:900}.km-calendar-ai-output button:disabled{opacity:.5;cursor:not-allowed}.km-calendar-ai-debug{font-size:12px}.km-calendar-ai-debug summary{min-height:44px;cursor:pointer;font-weight:800}.km-calendar-ai-debug pre{max-width:100%;overflow:auto;padding:9px;border-radius:7px;background:#17241c;color:#fff;white-space:pre-wrap}
@media(max-width:600px){.km-calendar-ai-actions{grid-template-columns:1fr}.km-calendar-ai-actions label{width:100%}.km-calendar-ai-preview img{height:76px}.km-calendar-ai-output fieldset{display:grid}.km-calendar-ai-output button{width:100%}}
.km-calendar-ai-benchmark{padding:11px;border:1px dashed #8ead99;border-radius:9px;background:#fff}.km-calendar-ai-benchmark>summary{min-height:32px;cursor:pointer;font-weight:900}.km-calendar-ai-benchmark>button{width:100%;min-height:44px;margin-top:8px;border:1px solid #385a92;border-radius:9px;background:#eef4ff;color:#173968;font-weight:900;cursor:pointer}.km-calendar-ai-benchmark>button:disabled{opacity:.55}.km-calendar-ai-benchmark-output{display:grid;gap:10px;margin-top:10px}.km-calendar-ai-benchmark-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.km-calendar-ai-benchmark-card{min-width:0;padding:10px;border:1px solid #d6e3da;border-radius:8px}.km-calendar-ai-benchmark-card h4{margin:0 0 8px}.km-calendar-ai-benchmark-card dl{display:grid;grid-template-columns:minmax(100px,.6fr) minmax(0,1.4fr);gap:4px 8px;margin:0}.km-calendar-ai-benchmark-card dt{font-weight:800}.km-calendar-ai-benchmark-card dd{min-width:0;margin:0;overflow-wrap:anywhere}.km-calendar-ai-benchmark-metrics{margin-top:9px!important;overflow-wrap:anywhere;font-size:12px!important}@media(max-width:600px){.km-calendar-ai-benchmark-grid{grid-template-columns:1fr}}

/* 1.14.32 explicit balance management mode */
.km-calendar-balance__modes{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0}.km-calendar-balance__modes legend{grid-column:1/-1;margin:0 0 1px;color:#314e3e;font-size:13px;font-weight:900}.km-calendar-balance__modes label{position:relative;display:block;cursor:pointer}.km-calendar-balance__modes input{position:absolute;width:1px!important;height:1px;min-height:1px!important;opacity:0}.km-calendar-balance__modes span{display:flex;min-height:46px;align-items:center;justify-content:center;padding:8px;border:1px solid #9ab9a3;border-radius:9px;background:#fff;color:#075326;text-align:center;font-weight:900}.km-calendar-balance__modes input:checked+span{border-color:#075326;background:#e4f2e9;box-shadow:0 0 0 1px #075326}.km-calendar-balance__modes input:focus-visible+span{outline:3px solid #8bc9a5;outline-offset:2px}@media(max-width:600px){.km-calendar-balance__modes{grid-template-columns:1fr}.km-calendar-balance__modes legend{grid-column:1}.km-calendar-balance__modes span{justify-content:flex-start;padding-left:14px}}

/* 1.14.35 register modal UI */
.km-calendar-dialog{width:min(720px,100%)!important}.km-calendar-dialog__header{flex:none;padding:10px 16px}.km-calendar-dialog__header h2{font-size:19px}.km-calendar-dialog__body{gap:0;padding:0 20px 28px}.km-calendar-dialog__body>*{padding-block:16px}.km-calendar-dialog__body>*+*{border-top:1px solid #e2e9e4}.km-calendar-dialog__footer{flex:none;padding:11px 20px calc(11px + env(safe-area-inset-bottom));box-shadow:0 -5px 16px rgba(22,55,35,.05)}
.km-calendar-form-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;padding:18px 0;border:0;border-radius:0;background:#fff}.km-calendar-form-section:before{grid-column:1/-1;margin-bottom:1px}.km-calendar-form-section>legend+.km-calendar-company-selected,.km-calendar-form-section>legend+.km-calendar-company-lock,.km-calendar-company-search,.km-calendar-balance,.km-calendar-form-section>.km-calendar-offer-contact{grid-column:1/-1}.km-calendar-company-selected{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;background:#f1f7f3}.km-calendar-company-selected p{margin:0}.km-calendar-company-selected .km-calendar-company-change{min-height:40px;padding:6px 11px}.km-calendar-company-lock,.km-calendar-balance__locked{padding:11px;border:0;border-radius:8px}.km-calendar-offer-contact{justify-self:start;color:#486657;font-size:12px;font-weight:700}
.km-calendar-balance{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:4px;padding:18px 0 0;border:0;border-top:1px solid #e2e9e4;border-radius:0;background:#fff}.km-calendar-balance:before{padding-left:9px}.km-calendar-balance__modes{gap:7px}.km-calendar-balance__modes legend{margin-bottom:2px}.km-calendar-balance__modes span{min-height:44px}.km-calendar-balance__help{min-height:1.4em}.km-calendar-balance>[hidden]{display:none!important}
.km-calendar-supplement,.km-calendar-details{padding:0;border:0;border-radius:0}.km-calendar-supplement:before,.km-calendar-details:before{display:none}.km-calendar-supplement summary,.km-calendar-details summary{min-height:50px}.km-calendar-supplement[open],.km-calendar-details[open]{padding-bottom:16px}.km-calendar-details fieldset{border-radius:8px}
.km-calendar-ai{display:grid;gap:8px;padding:16px 0;border:0;border-radius:0;background:#fff}.km-calendar-ai-disclosure{padding:0;border:0}.km-calendar-ai-disclosure summary{display:flex;min-height:48px;align-items:center;gap:10px;padding-left:10px;border-left:3px solid #dc7414;color:#173427;font-weight:900;cursor:pointer}.km-calendar-ai-disclosure summary span{margin-right:auto}.km-calendar-ai-disclosure summary strong,.km-calendar-ai-disclosure summary em{display:none}.km-calendar-ai-disclosure summary em{color:#075326;font-size:13px;font-style:normal;text-decoration:underline}.km-calendar-ai-content{display:grid;gap:10px;padding-top:10px}.km-calendar-ai-content>p{margin:0;color:#53665b;font-size:13px;line-height:1.55}.km-calendar-ai.is-complete{padding-block:9px}.km-calendar-ai.is-complete .km-calendar-ai-disclosure summary strong,.km-calendar-ai.is-complete .km-calendar-ai-disclosure summary em{display:inline}.km-calendar-ai.is-complete .km-calendar-ai-disclosure summary strong{color:#075326;font-size:13px}.km-calendar-ai.is-complete>.km-calendar-ai-status{margin:0 0 0 13px;font-size:13px}.km-calendar-ai-status:empty{display:none}.km-calendar-ai-admin{margin-top:3px;border-top:1px solid #e7ece8;font-size:12px}.km-calendar-ai-admin>summary{display:flex;min-height:44px;align-items:center;color:#65756c;font-weight:800;cursor:pointer}.km-calendar-ai-admin-usage:empty{display:none}.km-calendar-ai-benchmark{padding:10px 0;border:0;border-radius:0;background:#fff}.km-calendar-ai-benchmark>strong{display:block}.km-calendar-ai-debug>strong{display:block;margin-top:8px}.km-calendar-ai-debug pre{margin-bottom:8px}
.km-calendar-recent-benefits{padding:12px 0;border-radius:0;background:#fff}.km-calendar-recent-benefits h3{font-size:14px}
@media(max-width:767px){.km-calendar-dialog__header{padding:8px 12px}.km-calendar-dialog__body{padding:0 16px 24px}.km-calendar-dialog__body>*{padding-block:14px}.km-calendar-dialog__footer{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.km-calendar-form-section{grid-template-columns:1fr;gap:11px}.km-calendar-form-section>*{grid-column:1}.km-calendar-balance{grid-template-columns:1fr}.km-calendar-balance>*{grid-column:1}.km-calendar-ai-disclosure summary{flex-wrap:wrap;gap:4px 8px}.km-calendar-ai-disclosure summary span{width:100%}.km-calendar-ai.is-complete .km-calendar-ai-disclosure summary span{width:auto}.km-calendar-ai-actions{grid-template-columns:1fr 1fr}.km-calendar-recent-benefit{width:auto}.km-calendar-company-selected{grid-template-columns:minmax(0,1fr) auto}}
@media(max-width:390px){.km-calendar-dialog__body{padding-inline:14px}.km-calendar-balance__modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.km-calendar-balance__modes legend{grid-column:1/-1}.km-calendar-balance__modes span{justify-content:center;padding:6px 3px;font-size:13px}.km-calendar-ai-actions{grid-template-columns:1fr}.km-calendar-ai.is-complete .km-calendar-ai-disclosure summary span{width:100%}.km-calendar-company-selected{grid-template-columns:1fr}.km-calendar-company-selected .km-calendar-company-change{justify-self:start}}

/* Design System v1, intentionally scoped to the benefit registration page. */
.km-benefit-register-page{--km-primary:#004a1c;--km-primary-hover:#003b16;--km-primary-soft:#eaf4ed;--km-background:#f7f8f7;--km-surface:#fff;--km-text:#222522;--km-muted:#66706a;--km-border:#e2e5e3;--km-success:#16803a;--km-warning:#b54708;--km-error:#d92d20;max-width:none;padding:0 16px 48px;background:var(--km-background);color:var(--km-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:16px;line-height:1.6;overflow-x:clip}
.km-benefit-register-shell{width:min(720px,100%);margin:0 auto}.km-benefit-register-back{display:inline-flex;align-items:center;min-height:44px;margin:16px 0 8px;color:var(--km-primary)!important;font-size:14px;font-weight:600;text-decoration:none!important}.km-benefit-register-header{margin:0 0 24px}.km-benefit-register-header h1{margin:0 0 8px;font-size:32px;line-height:1.35;font-weight:700}.km-benefit-register-header p{margin:0;color:var(--km-muted)}
.km-benefit-register-mount{min-width:0}.km-benefit-register-page .km-calendar-expiry-form{display:flex;min-width:0;flex-direction:column;gap:0;margin:0;border:1px solid var(--km-border);border-radius:8px;background:var(--km-surface);box-shadow:0 1px 3px rgba(0,0,0,.06)}.km-benefit-register-page .km-calendar-dialog__body{display:grid;gap:0;overflow:visible;padding:0 24px}.km-benefit-register-page .km-calendar-dialog__body>*{padding-block:24px;border-bottom:1px solid var(--km-border)}
.km-benefit-register-page :is(input,select,textarea){box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--km-border);border-radius:8px;background:var(--km-surface);color:var(--km-text);font:inherit}.km-benefit-register-page :is(input,select,textarea):focus-visible{border-color:var(--km-primary);outline:3px solid rgba(0,74,28,.15);outline-offset:1px}.km-benefit-register-page label,.km-benefit-register-page legend{font-size:14px;font-weight:600}
.km-benefit-register-page .km-calendar-ai{padding-top:24px}.km-benefit-register-page .km-calendar-ai-disclosure{border:0}.km-benefit-register-page .km-calendar-ai-disclosure>summary{min-height:44px;padding:0;color:var(--km-text);font-size:20px;font-weight:700}.km-benefit-register-page .km-calendar-ai-content{margin-top:16px;padding:24px;border:2px dashed #9fb8a8;border-radius:8px;background:var(--km-primary-soft);text-align:center}.km-benefit-register-page .km-calendar-ai-content>p:first-child{margin:0 0 16px;color:var(--km-muted)}.km-benefit-register-page .km-calendar-ai-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.km-benefit-register-page .km-calendar-ai-actions label{display:flex;min-height:52px;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--km-primary);border-radius:8px;background:var(--km-primary);color:#fff;cursor:pointer}.km-benefit-register-page .km-calendar-ai-analyze{width:100%;min-height:48px;margin-top:16px;border:1px solid var(--km-primary);border-radius:8px;background:var(--km-primary);color:#fff;font:inherit;font-weight:700}.km-benefit-register-page .km-calendar-ai-analyze:disabled{opacity:.55}.km-benefit-register-page .km-calendar-manual-start{width:100%;min-height:48px;margin-top:12px;border:1px solid var(--km-primary);border-radius:8px;background:#fff;color:var(--km-primary);font:inherit;font-weight:700}.km-benefit-register-page .km-calendar-ai-privacy{margin:16px 0 0!important;color:var(--km-muted);font-size:14px;text-align:left}.km-benefit-register-page .km-calendar-ai-status.is-success{display:grid;gap:2px;margin:16px 0 0;padding:12px 16px;border-radius:8px;background:var(--km-primary-soft);color:var(--km-primary)}.km-benefit-register-page .km-calendar-ai-status.is-success strong,.km-benefit-register-page .km-calendar-ai-status.is-success span{font-size:14px}.km-benefit-register-page .km-calendar-ai-status.is-error{color:var(--km-error)}
.km-benefit-register-page .km-calendar-form-section{grid-template-columns:1fr;gap:16px;padding:24px 0}.km-benefit-register-page .km-calendar-form-section:before{content:"基本情報";margin:0 0 4px;padding:0;border:0;font-size:20px;font-weight:700}.km-benefit-register-page .km-calendar-form-section>*{grid-column:1}.km-benefit-register-page .km-calendar-balance:before{content:"管理方法";border:0;padding:0;font-size:18px;font-weight:600}.km-benefit-register-page .km-calendar-balance__modes{gap:8px}.km-benefit-register-page .km-calendar-balance__modes label span{min-height:48px}.km-benefit-register-page .km-calendar-supplement,.km-benefit-register-page .km-calendar-details{border:0;border-bottom:1px solid var(--km-border);border-radius:0}.km-benefit-register-page :is(.km-calendar-supplement,.km-calendar-details)>summary{min-height:48px;color:var(--km-primary);font-size:16px}.km-benefit-register-page .km-calendar-expiry-notify{border-color:var(--km-border);background:var(--km-background)}
.km-benefit-notify-preview{display:grid!important;grid-template-columns:1fr auto;gap:2px 12px;align-items:center}.km-benefit-notify-preview span{font-size:14px;font-weight:600}.km-benefit-notify-preview strong{grid-column:1;color:var(--km-muted);font-size:14px;font-weight:400}.km-benefit-notify-preview button{grid-column:2;grid-row:1/3;min-width:88px;min-height:44px;border:0;background:transparent;color:var(--km-primary);font:inherit;font-size:14px;font-weight:600;text-decoration:underline}.km-benefit-register-page .km-calendar-dialog__footer{position:sticky;z-index:5;bottom:0;padding:12px 24px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--km-border);background:rgba(255,255,255,.96);box-shadow:0 -1px 3px rgba(0,0,0,.06)}.km-benefit-register-page .km-calendar-dialog__footer button{width:100%;min-height:52px;border:1px solid var(--km-primary);border-radius:8px;background:var(--km-primary);color:#fff;font:inherit;font-weight:700}.km-benefit-register-page .km-calendar-dialog__footer button:hover{background:var(--km-primary-hover)}.km-benefit-register-page .km-calendar-dialog-message{min-height:0;color:var(--km-error);font-weight:600}.km-benefit-register-page .km-calendar-dialog-message:not(:empty){padding:12px 16px;border:1px solid #f2aaa5;border-radius:8px;background:#fff5f4}
@media(max-width:767px){.km-benefit-register-page{padding-inline:16px}.km-benefit-register-page .km-member-tabs{margin-inline:-16px}.km-benefit-register-header h1{font-size:24px}.km-benefit-register-page .km-calendar-expiry-form{margin-inline:-16px;border-right:0;border-left:0;border-radius:0}.km-benefit-register-page .km-calendar-dialog__body{padding:0 16px}.km-benefit-register-page .km-calendar-dialog__body>*{padding-block:24px}.km-benefit-register-page .km-calendar-ai-content{padding:20px 16px}.km-benefit-register-page .km-calendar-ai-actions{grid-template-columns:1fr}.km-benefit-register-page .km-calendar-dialog__footer{padding-inline:16px}.km-benefit-register-page .km-calendar-balance__modes{grid-template-columns:1fr}.km-benefit-register-page .km-calendar-balance__modes legend{grid-column:1}.km-benefit-register-page .km-calendar-balance__modes span{justify-content:flex-start;padding-inline:12px;font-size:14px}}
@media(max-height:560px) and (hover:none){.km-benefit-register-page .km-calendar-dialog__footer{position:static}}
.km-benefit-register-page .km-calendar-ai-actions{grid-template-columns:1fr}.km-benefit-register-page .km-calendar-ai-picker{width:100%;min-height:52px}.km-benefit-register-page .km-calendar-manual-choice{display:grid;gap:8px;margin-top:12px}.km-benefit-register-page .km-calendar-manual-choice>span{color:var(--km-muted);font-size:14px}.km-benefit-register-page .km-calendar-manual-choice .km-calendar-manual-start{margin-top:0}.km-benefit-register-page .km-calendar-balance__modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;border:0;background:transparent}.km-benefit-register-page .km-calendar-balance__modes legend{grid-column:1/-1}.km-benefit-register-page .km-calendar-balance__modes label{min-width:0}.km-benefit-register-page .km-calendar-balance__modes label span{display:flex;min-height:48px;align-items:center;justify-content:center;padding:6px 4px;border:1px solid var(--km-border);border-radius:8px;background:#fff;color:var(--km-text);font-size:14px;font-weight:600;line-height:1.3;text-align:center}.km-benefit-register-page .km-calendar-balance__modes input:checked+span{border-color:var(--km-primary);background:var(--km-primary-soft);color:var(--km-primary);font-weight:700}.km-benefit-register-page .km-calendar-balance__modes input:checked+span:before{content:"✓";margin-right:3px}.km-benefit-register-page .km-calendar-dialog__footer[hidden]{display:none}.km-benefit-register-page .km-calendar-dialog__footer button:disabled{border-color:#b8c2bb;background:#b8c2bb;color:#fff;opacity:1;cursor:not-allowed}@media(max-width:359px){.km-benefit-register-page .km-calendar-balance__modes{grid-template-columns:1fr}.km-benefit-register-page .km-calendar-balance__modes legend{grid-column:1}.km-benefit-register-page .km-calendar-balance__modes label span{justify-content:flex-start;padding-inline:12px}}
@media(max-width:767px){.km-benefit-register-page .km-calendar-balance__modes{grid-template-columns:repeat(2,minmax(0,1fr))}.km-benefit-register-page .km-calendar-balance__modes legend,.km-benefit-register-page .km-calendar-balance__modes label:last-child{grid-column:1/-1}.km-benefit-register-page .km-benefit-notify-preview{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.km-benefit-register-page .km-benefit-notify-preview span{grid-column:1/-1;grid-row:1;min-width:0}.km-benefit-register-page .km-benefit-notify-preview strong{grid-column:1;grid-row:2;min-width:0}.km-benefit-register-page .km-benefit-notify-preview button{grid-column:2;grid-row:2}}
.km-benefit-register-page .km-calendar-recent-benefits{display:block;min-width:0;max-width:100%;box-sizing:border-box}
.km-benefit-register-page .km-calendar-recent-toggle{display:flex;width:100%;min-height:44px;align-items:center;justify-content:space-between;gap:12px;padding:0;border:0;background:transparent;color:var(--km-text);font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer}
.km-benefit-register-page .km-calendar-recent-toggle-icon{flex:none;color:var(--km-muted);font-size:12px}
.km-benefit-register-page .km-calendar-recent-content{display:flex;min-width:0;max-width:100%;flex-wrap:wrap;gap:8px;padding-top:8px}
.km-benefit-register-page .km-calendar-recent-item{display:flex;min-width:0;max-width:100%;align-items:center;border:1px solid var(--km-border);border-radius:9px;background:#fff}
.km-benefit-register-page .km-calendar-recent-benefit{box-sizing:border-box;min-width:0;min-height:44px;padding:8px 4px 8px 12px;border:0;background:transparent;color:var(--km-primary);font:inherit;font-weight:800;text-align:left;overflow-wrap:anywhere;cursor:pointer}
.km-benefit-register-page .km-calendar-recent-company-name{overflow-wrap:anywhere}
.km-benefit-register-page .km-calendar-recent-company-code{white-space:nowrap;font-size:.9em}
.km-benefit-register-page .km-calendar-recent-dismiss{display:grid;flex:none;width:44px;height:44px;min-height:44px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--km-muted);cursor:pointer}
.km-benefit-register-page .km-calendar-recent-dismiss-icon{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--km-border);border-radius:50%;font-family:inherit;font-size:16px;font-weight:700;line-height:1}
.km-benefit-register-page .km-calendar-recent-dismiss:is(:hover,:focus-visible) .km-calendar-recent-dismiss-icon{background:var(--km-primary-soft);color:var(--km-text)}
.km-benefit-register-page .km-calendar-recent-dismiss:focus-visible{outline:2px solid var(--km-border);outline-offset:1px}
.km-benefit-register-page .km-calendar-recent-more{box-sizing:border-box;min-height:44px}
.km-benefit-register-page .km-calendar-recent-benefits.is-collapsed .km-calendar-recent-content{display:none}
@media(max-width:767px){.km-benefit-register-page .km-calendar-recent-benefits.is-collapsed{padding:4px 10px}.km-benefit-register-page .km-calendar-dialog__body>.km-calendar-recent-benefits.is-collapsed{padding-block:0}.km-benefit-register-page .km-calendar-recent-content>*{max-width:100%}.km-benefit-register-page .km-calendar-recent-item{width:100%}.km-benefit-register-page .km-calendar-recent-benefit{flex:1;white-space:normal}.km-benefit-register-page .km-calendar-recent-more{width:auto}}

/* UI-2.1 deadline management hierarchy */
.km-calendar-deadlines{min-width:0;margin:0 0 16px}.km-calendar-deadlines__header{align-items:flex-start}.km-calendar-deadlines__header h2{margin:0}.km-calendar-deadlines__intro{margin:3px 0 12px;color:#607168;font-size:13px}.km-calendar-deadline-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;max-width:680px}.km-calendar-deadline-summary>div{min-width:0;padding:10px 12px;border:1px solid #dfe8e2;border-radius:9px;background:#f7faf8}.km-calendar-deadline-summary dt{color:#52665b;font-size:12px;font-weight:800}.km-calendar-deadline-summary dd{margin:1px 0 0;color:#173427;font-size:25px;font-weight:900;line-height:1.15}.km-calendar-deadline-summary dd span{margin-left:3px;font-size:13px}.km-calendar-deadline-summary .is-expired{border-color:#ead2cf;background:#fff8f7}.km-calendar-deadline-summary .is-expired dd{color:#9d3030}.km-calendar-deadline-summary .is-soon{border-color:#ecdcbf;background:#fffbf4}.km-calendar-deadline-summary .is-soon dd{color:#8a510e}.km-calendar-deadlines__list-heading{margin:17px 0 9px;color:#173427;font-size:17px}.km-calendar-deadline-list{gap:0;border-top:1px solid #e3e9e5}.km-calendar-deadline-row{grid-template-columns:minmax(0,1fr) minmax(115px,auto) minmax(75px,auto) auto;gap:16px;padding:12px 10px;border:0;border-bottom:1px solid #e3e9e5;border-left:4px solid #cbd7cf;border-radius:0;background:#fff}.km-calendar-deadline-row.is-expired{border-left-color:#bd7771;background:#fffafa}.km-calendar-deadline-row.is-soon{border-left-color:#d7a34c;background:#fffdf9}.km-calendar-deadline-row.is-later{border-left-color:#a8b8ad}.km-calendar-deadline-row__main{grid-column:1;grid-row:1}.km-calendar-deadline-row__main>strong{font-size:15px}.km-calendar-deadline-row__main span{font-size:13px}.km-calendar-deadline-row__date{grid-column:2;grid-row:1}.km-calendar-deadline-row__date strong{color:#52665b}.km-calendar-deadline-row.is-expired .km-calendar-deadline-row__date strong{color:#9d3030}.km-calendar-deadline-row.is-soon .km-calendar-deadline-row__date strong{color:#8a510e}.km-calendar-deadline-row__date span{color:#52665b;font-size:12px;font-weight:800}.km-calendar-deadline-row__status{grid-column:3;grid-row:1;color:#40574a;font-size:13px;font-weight:800}.km-calendar-deadline-row__actions{grid-column:4;grid-row:1}.km-calendar-deadline-row__actions button{min-height:44px}.km-calendar-notify-summary{padding-top:4px}
@media(max-width:700px){.km-calendar-deadlines{padding:14px 12px}.km-calendar-deadlines__header{gap:10px}.km-calendar-deadlines__header>div:first-child{min-width:0;flex:1}.km-calendar-deadlines__header h2{font-size:20px}.km-calendar-deadline-summary{gap:5px}.km-calendar-deadline-summary>div{padding:8px 7px}.km-calendar-deadline-summary dt{font-size:11px}.km-calendar-deadline-summary dd{font-size:22px}.km-calendar-notify-summary{align-items:flex-end;flex-direction:column;gap:6px;font-size:12px}.km-calendar-deadline-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:12px 8px}.km-calendar-deadline-row__main{grid-column:1/-1;grid-row:1}.km-calendar-deadline-row__main>strong{white-space:normal}.km-calendar-deadline-row__date{grid-column:1;grid-row:2;display:flex;align-items:baseline;gap:7px}.km-calendar-deadline-row__date strong{font-size:12px}.km-calendar-deadline-row__date time,.km-calendar-deadline-row__date span{font-size:12px}.km-calendar-deadline-row__status{grid-column:2;grid-row:2;justify-self:end}.km-calendar-deadline-row__actions{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:1fr 1fr;margin-top:4px}.km-calendar-deadline-row__actions button{min-height:44px}.km-calendar-deadlines__list-heading{margin-top:15px}}
@media(max-width:380px){.km-calendar-deadlines__header{flex-direction:column}.km-calendar-notify-summary{width:100%;align-items:center;flex-direction:row;justify-content:space-between}.km-calendar-deadline-summary{width:100%}.km-calendar-deadline-summary dd{font-size:20px}}

/* UI-2.1.1 deadline management density and alignment */
.km-calendar-deadlines{padding:18px 20px;overflow:hidden}
.km-calendar-deadlines__header{align-items:center;gap:16px;margin:0 0 12px}
.km-calendar-deadlines__title{min-width:0}
.km-calendar-deadlines__header h2{font-size:21px;line-height:1.25}
.km-calendar-deadlines__intro{margin:2px 0 0}
.km-calendar-notify-summary{flex:none;align-self:center;padding:0;font-size:13px}
.km-calendar-deadline-summary{width:100%;max-width:none;gap:0;margin:0 0 2px;border-block:1px solid #e3e9e5}
.km-calendar-deadline-summary>div{display:flex;min-height:58px;flex-direction:row-reverse;align-items:center;justify-content:center;gap:10px;padding:7px 10px;border:0;border-right:1px solid #e3e9e5;border-radius:0;background:transparent}
.km-calendar-deadline-summary>div:last-child{border-right:0}
.km-calendar-deadline-summary dt{font-size:12px;font-weight:700}
.km-calendar-deadline-summary dd{margin:0;font-size:27px;line-height:1}
.km-calendar-deadline-summary .is-expired dd{color:#a34c48}
.km-calendar-deadline-summary .is-soon dd{color:#96611d}
.km-calendar-deadline-summary .is-later dd{color:#075326}
.km-calendar-deadline-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.km-calendar-deadline-summary .is-undated dd{color:#a76b16}
.km-calendar-deadlines__list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.km-calendar-deadlines__list-toolbar .km-calendar-deadlines__list-heading{margin:13px 0 6px}
.km-calendar-usage-filter{display:flex;gap:3px;padding:3px;border:1px solid #dce5df;border-radius:9px;background:#f6f8f6}
.km-calendar-usage-filter button{min-height:36px;padding:5px 10px;border:0;border-radius:6px;background:transparent;color:#496052;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}
.km-calendar-usage-filter button[aria-pressed="true"]{background:#e7f3ea;color:#075326}
.km-calendar-deadline-row.is-undated{border-left-color:#d5a24e;background:#fffdf8}
.km-calendar-deadline-row.is-undated .km-calendar-deadline-row__date strong{color:#91601c}
.km-calendar-deadline-row[hidden]{display:none}
.km-calendar-deadlines__list-heading{margin:13px 0 6px;font-size:16px}
.km-calendar-deadline-list{grid-template-columns:minmax(0,1fr);min-width:0}
.km-calendar-deadline-row{grid-template-columns:minmax(220px,1.6fr) minmax(130px,.7fr) minmax(100px,.5fr) auto;gap:14px;min-height:70px;padding:9px 10px;border-left-width:3px}
.km-calendar-deadline-row__main{min-width:0}
.km-calendar-deadline-row__main>strong{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.3;overflow-wrap:anywhere}
.km-calendar-deadline-row__main span{line-height:1.3}
.km-calendar-deadline-row__date{grid-template-columns:1fr;align-content:center;gap:1px}
.km-calendar-deadline-row__date time{font-weight:800}
.km-calendar-deadline-row__status{justify-self:start;padding:5px 8px;border-left:2px solid #cbd7cf;border-radius:3px;background:#f3f6f4;color:#40574a;line-height:1.2;white-space:nowrap}
.km-calendar-deadline-row__actions{justify-content:flex-end;gap:6px}
.km-calendar-deadline-row__actions button{min-height:44px;padding-inline:12px;white-space:nowrap}
@media(max-width:900px) and (min-width:701px){.km-calendar-deadline-row{grid-template-columns:minmax(180px,1.4fr) minmax(115px,.7fr) minmax(95px,.5fr) auto;gap:9px;padding-inline:8px}.km-calendar-deadline-row__actions button{padding-inline:9px}}
@media(max-width:700px){
  .km-calendar-deadlines{padding:14px 12px;overflow:hidden}
  .km-calendar-deadlines__header{flex-direction:row;align-items:center;gap:8px;margin-bottom:8px}
  .km-calendar-deadlines__header>div:first-child{flex:1}
  .km-calendar-deadlines__header h2{font-size:20px}
  .km-calendar-notify-summary{align-items:center;flex-direction:row;gap:7px;padding:0;font-size:12px}
  .km-calendar-deadline-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
  .km-calendar-deadline-summary>div{min-height:52px;flex-direction:column-reverse;gap:3px;padding:6px 3px}
  .km-calendar-deadline-summary dt{font-size:12px;white-space:nowrap}
  .km-calendar-deadline-summary dd{font-size:22px}
  .km-calendar-deadline-summary dd span{font-size:12px}
  .km-calendar-deadlines__list-heading{margin:11px 0 5px;font-size:15px}
  .km-calendar-deadlines__list-toolbar{align-items:flex-start;flex-direction:column;gap:6px}
  .km-calendar-usage-filter{width:100%;gap:3px}
  .km-calendar-usage-filter button{flex:1;min-width:0;min-height:44px;padding-inline:4px;font-size:12px}
  .km-calendar-deadline-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;min-height:0;padding:10px 8px}
  .km-calendar-deadline-row__main{grid-column:1/-1;grid-row:1;gap:2px}
  .km-calendar-deadline-row__main>strong{font-size:15px;white-space:normal;overflow-wrap:anywhere}
  .km-calendar-deadline-row__main span{font-size:13px;overflow-wrap:anywhere}
  .km-calendar-deadline-row__date{grid-column:1;grid-row:2;display:flex;align-items:baseline;gap:6px;min-width:0}
  .km-calendar-deadline-row__date strong,.km-calendar-deadline-row__date time,.km-calendar-deadline-row__date span{font-size:13px}
  .km-calendar-deadline-row__status{grid-column:2;grid-row:2;justify-self:start;padding:4px 7px;font-size:12px}
  .km-calendar-deadline-row__actions{grid-column:1/-1;grid-row:3;display:flex;gap:7px;margin-top:1px}
  .km-calendar-deadline-row__actions button{flex:1;min-width:0;min-height:44px}
}
@media(max-width:380px){
  .km-calendar-deadlines__header{flex-wrap:wrap;flex-direction:row}
  .km-calendar-deadlines__title{flex-basis:100%}
  .km-calendar-notify-summary{width:100%;justify-content:flex-end}
  .km-calendar-deadline-summary dd{font-size:20px}
}
.km-calendar-month-section{margin-top:28px;padding:18px;border:1px solid #e1e9e3;border-radius:14px;background:#fbfdfb}
.km-calendar-month-section__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.km-calendar-month-section__header h2{margin:0;color:#31513d;font-size:18px}
.km-calendar-month-section__header p{margin:4px 0 0;color:#68776f;font-size:13px}
.km-calendar-month-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:5px 10px;border:1px solid #d5e1d8;border-radius:8px;background:#fff;color:#31513d;font-size:13px;font-weight:700;cursor:pointer}
.km-calendar-month-content[hidden]{display:none!important}
.km-calendar-month-panel{grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr);gap:14px;padding:12px;background:#fff}
.km-calendar-summary{justify-content:flex-end}
.km-calendar-summary>div{padding:2px 9px}
.km-calendar-summary dt{font-size:11px}
.km-calendar-summary dd{font-size:15px}
.km-calendar-undated{margin:0 0 12px}
@media(max-width:700px){
  .km-calendar-month-section{margin-top:24px;padding:12px}
  .km-calendar-month-section__header{margin-bottom:0}
  .km-calendar-month-section__header h2{font-size:17px}
  .km-calendar-month-toggle{flex:none;min-width:44px}
  .km-calendar-month-panel{grid-template-columns:1fr}
  .km-calendar-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;justify-content:stretch}
  .km-calendar-summary>div{justify-content:center;gap:3px;padding:4px 3px;border-left:1px solid #e3eae5}
  .km-calendar-summary>div:first-child,.km-calendar-summary>div:nth-child(4){border-left:0}
  .km-calendar-summary dt{font-size:10px;white-space:normal;text-align:center}
  .km-calendar-summary dd{font-size:13px}
  .km-calendar-summary.is-empty{display:flex}
}
