.ks-calendar-board{--kscal-red:#b42318;--kscal-blue:#175cd3;--kscal-ink:#1d2939;--kscal-muted:#667085;--kscal-line:#d0d5dd;--kscal-soft:#f7f9fb;--kscal-primary:var(--ks-primary-strong,#315f81);width:100%;min-width:0;color:var(--kscal-ink);font-family:var(--ks-font-body,Arial,sans-serif)}
.ks-calendar-board *{box-sizing:border-box}.ks-calendar-board a{color:inherit}.ks-calendar-board .ks-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}.ks-calendar-board :focus-visible{outline:3px solid var(--kscal-primary);outline-offset:3px}
.ks-calendar-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 24px;padding:26px 28px;border:1px solid #dbe3e8;border-radius:16px;background:linear-gradient(135deg,#f9fbfc,#eef4f7)}.ks-calendar-page-header__eyebrow{margin:0 0 5px;color:var(--kscal-primary);font-size:.78rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.ks-calendar-page-header h3{margin:0;font-family:var(--ks-font-heading);font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.25}.ks-calendar-page-header p:last-child{margin:8px 0 0;color:var(--kscal-muted)}
.ks-calendar-primary-button,.ks-calendar-secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 15px;border:1px solid var(--kscal-primary);border-radius:9px;background:var(--kscal-primary);color:#fff!important;font-weight:800;text-decoration:none;white-space:nowrap}.ks-calendar-secondary-button{min-height:40px;background:#fff;color:var(--kscal-primary)!important}.ks-calendar-primary-button:hover{filter:brightness(.92)}.ks-calendar-secondary-button:hover{background:#eef4f7}.ks-calendar-primary-button svg,.ks-calendar-secondary-button svg{width:14px;height:14px}
.ks-calendar-categories{margin:0 0 18px}.ks-calendar-categories ul{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.ks-calendar-categories li{margin:0}.ks-calendar-categories a{display:inline-flex;min-height:38px;align-items:center;padding:7px 12px;border:1px solid var(--kscal-line);border-radius:19px;background:#fff;font-size:.87rem;font-weight:700;text-decoration:none}.ks-calendar-categories a.is-active,.ks-calendar-categories a[aria-current="page"]{border-color:var(--kscal-primary);background:var(--kscal-primary);color:#fff}
.ks-calendar-view-tabs{display:flex;gap:6px;margin-bottom:18px;padding:4px;border-radius:11px;background:#eef2f5;width:max-content;max-width:100%}.ks-calendar-view-tabs a{display:inline-flex;min-height:38px;align-items:center;padding:7px 14px;border-radius:8px;font-weight:800;text-decoration:none}.ks-calendar-view-tabs a[aria-current="page"]{background:#fff;color:var(--kscal-primary);box-shadow:0 2px 8px rgba(24,39,50,.08)}
.ks-calendar-month,.ks-calendar-agenda,.ks-calendar-selected{min-width:0}.ks-calendar-month{padding:24px;border:1px solid var(--kscal-line);border-radius:16px;background:#fff}.ks-calendar-toolbar{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:10px;margin-bottom:18px}.ks-calendar-toolbar__button{display:grid;width:46px;height:46px;place-items:center;border:1px solid var(--kscal-line);border-radius:10px;background:#fff;text-decoration:none}.ks-calendar-toolbar__button:hover{border-color:#98a2b3;background:var(--kscal-soft)}.ks-calendar-toolbar__button svg{width:16px;height:16px}.ks-calendar-toolbar__title{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0}.ks-calendar-toolbar__title h3,.ks-calendar-toolbar--agenda h3{margin:0;font-size:1.3rem;text-align:center}.ks-calendar-toolbar__title>a{padding:5px 9px;border-radius:7px;background:#eef4f7;color:var(--kscal-primary);font-size:.78rem;font-weight:850;text-decoration:none}.ks-calendar-month-picker input{width:44px;height:34px;padding:0;border:0;background:transparent;color:transparent;cursor:pointer}.ks-calendar-month-picker input::-webkit-calendar-picker-indicator{width:22px;height:22px;cursor:pointer;opacity:.8}
.ks-calendar-board table.ks-calendar-grid{display:table!important;width:100%!important;min-width:100%!important;max-width:100%!important;margin:0!important;table-layout:fixed;border-collapse:separate;border-spacing:5px}.ks-calendar-board .ks-calendar-grid th,.ks-calendar-board .ks-calendar-grid td{width:14.285714%;min-width:0;max-width:none}.ks-calendar-grid th{height:38px;padding:0;color:#475467;font-size:.84rem;font-weight:850;text-align:center}.ks-calendar-grid th.is-sunday{color:var(--kscal-red)}.ks-calendar-grid th.is-saturday{color:var(--kscal-blue)}.ks-calendar-day{position:relative;height:128px;padding:0;vertical-align:top}.ks-calendar-day::before{position:absolute;inset:0;z-index:0;border:1px solid #e4e7ec;border-radius:11px;background:#fbfcfd;content:""}.ks-calendar-day.is-selected::before{border:2px solid var(--kscal-primary);background:#fff}.ks-calendar-day.is-outside{opacity:.42}.ks-calendar-day__date{position:relative;z-index:1;display:flex;min-height:42px;align-items:flex-start;justify-content:space-between;gap:5px;padding:8px 9px 4px;text-decoration:none}.ks-calendar-day__date:hover .ks-calendar-day__number{text-decoration:underline;text-underline-offset:3px}.ks-calendar-day__number{display:grid;min-width:27px;height:27px;place-items:center;border-radius:50%;font-weight:850}.ks-calendar-day.is-today .ks-calendar-day__number{background:var(--kscal-primary);color:#fff}.ks-calendar-day.is-red-day .ks-calendar-day__number,.ks-calendar-day.is-red-day .ks-calendar-day__holiday{color:var(--kscal-red)}.ks-calendar-day.is-today.is-red-day .ks-calendar-day__number{color:#fff}.ks-calendar-day.is-blue-day .ks-calendar-day__number{color:var(--kscal-blue)}.ks-calendar-day__holiday{display:-webkit-box;min-width:0;overflow:hidden;color:var(--kscal-red);font-size:.68rem;font-weight:800;line-height:1.2;text-align:right;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ks-calendar-day__events{position:relative;z-index:1;display:grid;gap:3px;margin:0;padding:0 7px;list-style:none}.ks-calendar-day__events li{min-width:0;margin:0}.ks-calendar-day__events a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px;padding:4px 6px;border-radius:5px;background:#eef4f7;font-size:.72rem;line-height:1.25;text-decoration:none}.ks-calendar-day__events a:hover{background:#dfeaf0}.ks-calendar-day__events a span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ks-calendar-day__event-time{color:var(--kscal-primary);font-weight:850}.ks-calendar-day__more{position:relative;z-index:1;display:block;margin:3px 9px;color:var(--kscal-muted);font-size:.68rem;font-weight:750;text-decoration:none}.ks-calendar-day__mobile-count{display:none}
.ks-calendar-agenda{padding:24px;border:1px solid var(--kscal-line);border-radius:16px;background:#fff}.ks-calendar-toolbar--agenda{margin-bottom:8px}.ks-calendar-agenda__list{display:grid}.ks-calendar-agenda-day{display:grid;grid-template-columns:130px minmax(0,1fr);gap:18px;padding:20px 0;border-top:1px solid #eaecf0}.ks-calendar-agenda-day:first-child{border-top:0}.ks-calendar-agenda-day h4{margin:0;font-size:1rem}.ks-calendar-agenda-day h4.is-red-day{color:var(--kscal-red)}.ks-calendar-agenda-day h4.is-blue-day{color:var(--kscal-blue)}.ks-calendar-agenda-day ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.ks-calendar-agenda-day li{margin:0}.ks-calendar-agenda-day a{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border-radius:9px;background:var(--kscal-soft);text-decoration:none}.ks-calendar-agenda-day a:hover{background:#eef3f6}.ks-calendar-agenda-day span{color:var(--kscal-primary);font-size:.82rem;font-weight:800}.ks-calendar-agenda-day strong{min-width:0;overflow-wrap:anywhere}.ks-calendar-agenda-day em{color:var(--kscal-muted);font-size:.82rem;font-style:normal}
.ks-calendar-selected{margin-top:22px;padding:24px;border:1px solid var(--kscal-line);border-radius:16px;background:#fff}.ks-calendar-selected>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.ks-calendar-selected h3{margin:0;font-size:1.2rem}.ks-calendar-selected header p{margin:6px 0 0;color:var(--kscal-red);font-weight:750}.ks-calendar-selected__events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.ks-calendar-selected__events li{margin:0}.ks-calendar-selected__events a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;height:100%;padding:15px;border:1px solid #e4e7ec;border-radius:11px;background:var(--kscal-soft);text-decoration:none}.ks-calendar-selected__events a:hover{border-color:#98a2b3;background:#fff}.ks-calendar-selected__time{grid-row:1/span 3;color:var(--kscal-primary);font-size:.82rem;font-weight:850}.ks-calendar-selected__range,.ks-calendar-selected__location{color:var(--kscal-muted);font-size:.8rem}.ks-calendar-selected__location{display:flex;align-items:center;gap:5px}.ks-calendar-selected__location svg{width:11px;height:11px}.ks-calendar-empty{margin:0;padding:26px;border-radius:11px;background:var(--kscal-soft);color:var(--kscal-muted);text-align:center}.ks-calendar-empty p{margin:0 0 8px}.ks-calendar-empty a{font-weight:800}

.ks-calendar-write{margin:0}.ks-calendar-write__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;padding:24px 26px;border-radius:16px;background:linear-gradient(135deg,#f8fafb,#eef4f7)}.ks-calendar-write__heading p{margin:0 0 5px;color:var(--kscal-primary);font-size:.78rem;font-weight:850;letter-spacing:.12em}.ks-calendar-write__heading h3{margin:0;font-size:1.65rem}.ks-calendar-write__heading span{display:block;margin-top:7px;color:var(--kscal-muted)}.ks-calendar-form-card{display:grid;grid-template-columns:minmax(0,2fr) minmax(190px,1fr) minmax(190px,1fr);gap:18px;margin:0 0 18px;padding:22px;border:1px solid var(--kscal-line);border-radius:14px;background:#fff}.ks-calendar-field{display:grid;align-content:start;gap:7px;min-width:0}.ks-calendar-field--title{grid-column:auto}.ks-calendar-field label,.ks-calendar-form-card legend{font-weight:850}.ks-calendar-field input,.ks-calendar-field select,.ks-calendar-write-author input,.ks-calendar-write-meta input{width:100%;min-width:0;height:44px;padding:9px 11px;border:1px solid #98a2b3;border-radius:8px;background:#fff;color:var(--kscal-ink);font:inherit}.ks-calendar-field input:focus,.ks-calendar-field select:focus,.ks-calendar-write-author input:focus,.ks-calendar-write-meta input:focus{border-color:var(--kscal-primary);outline:3px solid color-mix(in srgb,var(--kscal-primary) 25%,transparent);outline-offset:1px}.ks-calendar-optional{margin-left:5px;color:var(--kscal-muted);font-size:.75rem;font-weight:600}.ks-calendar-schedule-fields{display:block}.ks-calendar-schedule-fields legend{float:left;width:100%;margin:0 0 18px;padding:0;font-size:1.05rem}.ks-calendar-schedule-fields::after{display:block;clear:both;content:""}.ks-calendar-date-row,.ks-calendar-time-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ks-calendar-all-day{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 8px;margin:18px 0}.ks-calendar-all-day input{width:20px;height:20px;margin:0}.ks-calendar-all-day label{font-weight:850}.ks-calendar-all-day p{grid-column:2;margin:0;color:var(--kscal-muted);font-size:.8rem}.ks-calendar-time-row[hidden]{display:none!important}.ks-calendar-field--location{margin-top:18px}.ks-calendar-form-error{margin:16px 0 0;padding:12px;border:1px solid #fda29b;border-radius:8px;background:#fef3f2;color:#912018;font-weight:750}.ks-calendar-form-card h4{grid-column:1/-1;margin:0}.ks-calendar-extra-field{grid-column:1/-1}.ks-calendar-extra-field label{display:grid;gap:7px}.ks-calendar-extra-field label>span{font-weight:800}.ks-calendar-extra-field em{margin-right:6px;color:var(--kscal-red);font-size:.75rem;font-style:normal}.ks-calendar-editor{margin:0 0 18px;padding:22px;border:1px solid var(--kscal-line);border-radius:14px;background:#fff}.ks-calendar-editor h4{margin:0 0 14px;font-size:1.05rem}.ks-calendar-write-footer{display:grid;gap:18px;padding:22px;border:1px solid var(--kscal-line);border-radius:14px;background:#fff}.ks-calendar-write-options{display:flex;flex-wrap:wrap;align-items:center;gap:7px 14px}.ks-calendar-write-options input{width:18px;height:18px}.ks-calendar-write-author,.ks-calendar-write-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ks-calendar-write-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.ks-calendar-write-author label,.ks-calendar-write-meta label{display:grid;gap:7px;font-weight:800}.ks-calendar-submit-area{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.ks-calendar-submit-area .btn,.ks-calendar-submit-area .btn_insert{display:inline-flex;min-height:43px;align-items:center;justify-content:center;gap:6px;padding:8px 15px;border:1px solid #98a2b3;border-radius:8px;background:#fff;color:var(--kscal-ink);font-weight:800;text-decoration:none;cursor:pointer}.ks-calendar-submit-area .btn_insert{border-color:var(--kscal-primary);background:var(--kscal-primary);color:#fff}

.ks-calendar-read{padding:0!important;border:0!important}.ks-calendar-read__header{padding:28px!important;border:1px solid var(--kscal-line)!important;border-radius:16px;background:linear-gradient(135deg,#fbfcfd,#f0f5f7)}.ks-calendar-read__category{margin:0 0 7px;color:var(--kscal-primary);font-size:.82rem;font-weight:850}.ks-calendar-read__header h3{margin:0!important;padding:0!important;border:0!important;font-size:clamp(1.55rem,3vw,2.15rem)!important}.ks-calendar-read__header h3 a{text-decoration:none}.ks-calendar-read__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 0}.ks-calendar-read__summary div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 9px;align-items:start;padding:13px;border-radius:10px;background:#fff}.ks-calendar-read__summary dt{display:flex;align-items:center;gap:6px;color:var(--kscal-muted);font-size:.77rem;font-weight:800}.ks-calendar-read__summary dt svg{width:13px;height:13px}.ks-calendar-read__summary dd{grid-column:2;margin:0;font-weight:800}.ks-calendar-read__header .meta{margin:18px 0 0!important;padding:14px 0 0!important;border-top:1px solid #dbe3e8!important}.ks-calendar-read__body{min-height:180px;margin:24px 0;padding:28px!important;border:1px solid #e4e7ec;border-radius:14px;background:#fff}.ks-calendar-read__footer{padding:0!important}.ks-calendar-read__buttons{display:flex!important;flex-wrap:wrap;justify-content:flex-end;gap:7px}.ks-calendar-read__buttons .btn{float:none!important;margin:0!important}
@media(max-width:900px){.ks-calendar-day{height:106px}.ks-calendar-day__events li:nth-child(n+3){display:none}.ks-calendar-day__more{display:none}.ks-calendar-selected__events{grid-template-columns:1fr}.ks-calendar-form-card{grid-template-columns:1fr 1fr}.ks-calendar-field--title{grid-column:1/-1}.ks-calendar-read__summary{grid-template-columns:1fr 1fr}.ks-calendar-agenda-day a{grid-template-columns:90px minmax(0,1fr)}.ks-calendar-agenda-day em{grid-column:2}}
@media(max-width:680px){.ks-calendar-page-header,.ks-calendar-write__heading{align-items:flex-start;flex-direction:column;padding:20px}.ks-calendar-month,.ks-calendar-agenda,.ks-calendar-selected{width:100%;min-width:0;padding:16px;border-radius:12px}.ks-calendar-month{overflow:hidden}.ks-calendar-view-tabs{width:100%}.ks-calendar-view-tabs a{flex:1;justify-content:center}.ks-calendar-toolbar{grid-template-columns:42px minmax(0,1fr) 42px}.ks-calendar-toolbar__button{width:42px;height:42px}.ks-calendar-toolbar__title{gap:5px}.ks-calendar-month-picker{display:none}.ks-calendar-grid{border-spacing:2px}.ks-calendar-grid th{height:28px;font-size:0}.ks-calendar-grid th::first-letter{font-size:.78rem}.ks-calendar-day{height:58px}.ks-calendar-day::before{border-radius:8px}.ks-calendar-day__date{height:100%;min-height:58px;align-items:flex-start;padding:5px}.ks-calendar-day__holiday,.ks-calendar-day__events,.ks-calendar-day__more{display:none}.ks-calendar-day__mobile-count{position:absolute;right:4px;bottom:4px;z-index:2;display:grid;min-width:17px;height:17px;place-items:center;padding:0 4px;border-radius:9px;background:var(--kscal-primary);color:#fff;font-size:.62rem;font-weight:850}.ks-calendar-day__number{min-width:24px;height:24px}.ks-calendar-agenda-day{grid-template-columns:1fr;gap:8px}.ks-calendar-agenda-day a{grid-template-columns:1fr;gap:4px}.ks-calendar-agenda-day em{grid-column:auto}.ks-calendar-selected>header{align-items:flex-start;flex-direction:column}.ks-calendar-form-card,.ks-calendar-date-row,.ks-calendar-time-row,.ks-calendar-write-author,.ks-calendar-write-meta{grid-template-columns:1fr}.ks-calendar-field--title{grid-column:auto}.ks-calendar-read__summary{grid-template-columns:1fr}.ks-calendar-read__body{padding:18px!important}.ks-calendar-write-options{align-items:flex-start;flex-direction:column}.ks-calendar-submit-area{justify-content:stretch}.ks-calendar-submit-area .btn,.ks-calendar-submit-area .btn_insert{flex:1}}
@media(forced-colors:active){.ks-calendar-day::before,.ks-calendar-month,.ks-calendar-agenda,.ks-calendar-selected,.ks-calendar-form-card,.ks-calendar-editor{border:1px solid CanvasText}.ks-calendar-day.is-selected::before{outline:3px solid Highlight}.ks-calendar-primary-button,.ks-calendar-day__mobile-count{background:Highlight;color:HighlightText}}
@media(prefers-reduced-motion:reduce){.ks-calendar-board *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.ks-calendar-write .ks-calendar-schedule-fields{
	display:block;
	min-inline-size:0;
	padding:22px;
	overflow:visible;
}
.ks-calendar-write .ks-calendar-schedule-fields>legend{
	float:none;
	width:auto;
	max-width:100%;
	margin:0;
	padding:0 8px;
	font-size:1.08rem;
	font-weight:850;
	line-height:1.45;
}
.ks-calendar-schedule-help{
	margin:0 0 18px;
	color:var(--kscal-muted);
	font-size:.88rem;
	line-height:1.6;
}
.ks-calendar-write .ks-calendar-date-row,
.ks-calendar-write .ks-calendar-time-row{
	display:grid;
	grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);
	align-items:end;
	gap:12px;
	width:100%;
	min-width:0;
}
.ks-calendar-write .ks-calendar-date-separator{
	display:grid;
	min-height:48px;
	place-items:center;
	color:var(--kscal-muted);
	font-size:1.15rem;
	font-weight:800;
}
.ks-calendar-write .ks-calendar-field label{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:7px;
	line-height:1.35;
}
.ks-calendar-write .ks-calendar-field input[type="date"],
.ks-calendar-write .ks-calendar-field input[type="time"]{
	display:block;
	inline-size:100%;
	min-inline-size:0;
	max-inline-size:none;
	height:48px;
	appearance:auto;
	-webkit-appearance:auto;
}
.ks-calendar-required,
.ks-calendar-optional{
	display:inline-flex;
	min-height:20px;
	align-items:center;
	justify-content:center;
	padding:2px 7px;
	border-radius:999px;
	font-size:.72rem;
	font-weight:800;
	line-height:1;
}
.ks-calendar-required{
	background:#fef3f2;
	color:#912018;
}
.ks-calendar-optional{
	margin-left:0;
	background:#f2f4f7;
	color:#475467;
}
.ks-calendar-write .ks-calendar-all-day{
	display:flex;
	align-items:flex-start;
	gap:12px;
	margin:20px 0 0;
	padding:15px 16px;
	border:1px solid #dbe3e8;
	border-radius:11px;
	background:#f8fafb;
}
.ks-calendar-write .ks-calendar-all-day input[type="checkbox"]{
	flex:0 0 auto;
	width:22px;
	height:22px;
	margin:1px 0 0;
	accent-color:var(--kscal-primary);
}
.ks-calendar-write .ks-calendar-all-day>div{
	display:grid;
	gap:4px;
	min-width:0;
}
.ks-calendar-write .ks-calendar-all-day label{
	font-weight:850;
	line-height:1.35;
	cursor:pointer;
}
.ks-calendar-write .ks-calendar-all-day p{
	grid-column:auto;
	margin:0;
	color:var(--kscal-muted);
	font-size:.82rem;
	line-height:1.5;
}
.ks-calendar-write .ks-calendar-time-row{
	margin-top:18px;
	padding-top:18px;
	border-top:1px solid #eaecf0;
}
.ks-calendar-write .ks-calendar-time-row[hidden]{display:none!important}
.ks-calendar-write .ks-calendar-field--location{
	margin-top:20px;
}
.ks-calendar-write .ks-calendar-field--location input{
	height:48px;
}

@media(max-width:680px){
	.ks-calendar-write .ks-calendar-schedule-fields{padding:18px 16px}
	.ks-calendar-write .ks-calendar-date-row,
	.ks-calendar-write .ks-calendar-time-row{grid-template-columns:minmax(0,1fr);gap:14px}
	.ks-calendar-write .ks-calendar-date-separator{display:none}
	.ks-calendar-write .ks-calendar-all-day{padding:14px}
}

@media(max-width:680px){
  .ks-calendar-toolbar__title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:center;gap:8px}
  .ks-calendar-toolbar__title h3{min-width:0;font-size:1.15rem;line-height:1.3;white-space:nowrap}
  .ks-calendar-toolbar__title>a{display:inline-flex;flex:0 0 auto;min-width:48px;min-height:40px;align-items:center;justify-content:center;padding:6px 10px;white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb}
}

/* KCMS 0.1.102: 사용자 다크모드 일정 게시판 전체 화면 보정 */
@media screen {
  html[data-ks-color-scheme="dark"] .ks-calendar-board {
    --kscal-red:#ff8a80;
    --kscal-blue:#8ab4ff;
    --kscal-ink:var(--ks-text,#f1f4f6);
    --kscal-muted:var(--ks-muted,#b9c2ca);
    --kscal-line:var(--ks-line,#46515b);
    --kscal-soft:var(--ks-surface-alt,#20272d);
    --kscal-primary:var(--ks-primary-dark,#91b9dc);
    color:var(--kscal-ink);
  }

  html[data-ks-color-scheme="dark"] .ks-calendar-page-header,
  html[data-ks-color-scheme="dark"] .ks-calendar-write__heading,
  html[data-ks-color-scheme="dark"] .ks-calendar-read__header {
    border-color:var(--kscal-line) !important;
    background:linear-gradient(135deg,var(--ks-surface-raised,#262e35),var(--ks-surface-alt,#20272d)) !important;
    color:var(--kscal-ink) !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-page-header p:last-child,
  html[data-ks-color-scheme="dark"] .ks-calendar-write__heading span,
  html[data-ks-color-scheme="dark"] .ks-calendar-schedule-help,
  html[data-ks-color-scheme="dark"] .ks-calendar-all-day p,
  html[data-ks-color-scheme="dark"] .ks-calendar-read__summary dt,
  html[data-ks-color-scheme="dark"] .ks-calendar-read__header .meta {
    color:var(--kscal-muted) !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-page-header h3,
  html[data-ks-color-scheme="dark"] .ks-calendar-write__heading h3,
  html[data-ks-color-scheme="dark"] .ks-calendar-read__header h3,
  html[data-ks-color-scheme="dark"] .ks-calendar-form-card h4,
  html[data-ks-color-scheme="dark"] .ks-calendar-editor h4,
  html[data-ks-color-scheme="dark"] .ks-calendar-selected h3,
  html[data-ks-color-scheme="dark"] .ks-calendar-toolbar h3 {
    color:var(--kscal-ink) !important;
  }

  html[data-ks-color-scheme="dark"] .ks-calendar-categories a,
  html[data-ks-color-scheme="dark"] .ks-calendar-view-tabs,
  html[data-ks-color-scheme="dark"] .ks-calendar-view-tabs a,
  html[data-ks-color-scheme="dark"] .ks-calendar-toolbar__button,
  html[data-ks-color-scheme="dark"] .ks-calendar-secondary-button,
  html[data-ks-color-scheme="dark"] .ks-calendar-submit-area .btn {
    border-color:var(--kscal-line) !important;
    background:var(--ks-surface-raised,#262e35) !important;
    color:var(--kscal-ink) !important;
    box-shadow:none !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-view-tabs a[aria-current="page"],
  html[data-ks-color-scheme="dark"] .ks-calendar-categories a.is-active,
  html[data-ks-color-scheme="dark"] .ks-calendar-categories a[aria-current="page"] {
    border-color:var(--kscal-primary) !important;
    background:color-mix(in srgb,var(--kscal-primary) 20%,var(--ks-surface-raised,#262e35)) !important;
    color:#f7fbff !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-toolbar__button:hover,
  html[data-ks-color-scheme="dark"] .ks-calendar-secondary-button:hover,
  html[data-ks-color-scheme="dark"] .ks-calendar-submit-area .btn:hover {
    border-color:var(--kscal-primary) !important;
    background:var(--ks-surface-alt,#20272d) !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-toolbar__title>a {
    background:color-mix(in srgb,var(--kscal-primary) 18%,var(--ks-surface-alt,#20272d)) !important;
    color:#f7fbff !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-month-picker input {
    border:0 !important;
    background:transparent !important;
    color-scheme:dark;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-month-picker input::-webkit-calendar-picker-indicator {
    filter:invert(1);
  }

  html[data-ks-color-scheme="dark"] .ks-calendar-month,
  html[data-ks-color-scheme="dark"] .ks-calendar-agenda,
  html[data-ks-color-scheme="dark"] .ks-calendar-selected,
  html[data-ks-color-scheme="dark"] .ks-calendar-form-card,
  html[data-ks-color-scheme="dark"] .ks-calendar-editor,
  html[data-ks-color-scheme="dark"] .ks-calendar-write-footer,
  html[data-ks-color-scheme="dark"] .ks-calendar-read__body {
    border-color:var(--kscal-line) !important;
    background:var(--ks-surface,#1d2329) !important;
    color:var(--kscal-ink) !important;
  }

  html[data-ks-color-scheme="dark"] .ks-calendar-grid th {
    color:var(--kscal-ink) !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-day::before {
    border-color:var(--kscal-line) !important;
    background:var(--ks-surface-alt,#20272d) !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-day.is-selected::before {
    border-color:var(--kscal-primary) !important;
    background:color-mix(in srgb,var(--kscal-primary) 10%,var(--ks-surface-raised,#262e35)) !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-day.is-outside::before {
    background:#171c21 !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-day.is-outside {
    opacity:.66;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-day__date,
  html[data-ks-color-scheme="dark"] .ks-calendar-day__number {
    color:var(--kscal-ink);
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-day__events a,
  html[data-ks-color-scheme="dark"] .ks-calendar-agenda-day a,
  html[data-ks-color-scheme="dark"] .ks-calendar-selected__events a {
    border-color:var(--kscal-line) !important;
    background:var(--ks-surface-raised,#262e35) !important;
    color:var(--kscal-ink) !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-day__events a:hover,
  html[data-ks-color-scheme="dark"] .ks-calendar-agenda-day a:hover,
  html[data-ks-color-scheme="dark"] .ks-calendar-selected__events a:hover {
    border-color:var(--kscal-primary) !important;
    background:#2c3740 !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-agenda-day,
  html[data-ks-color-scheme="dark"] .ks-calendar-time-row,
  html[data-ks-color-scheme="dark"] .ks-calendar-read__header .meta {
    border-color:var(--kscal-line) !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-empty {
    background:var(--ks-surface-alt,#20272d) !important;
    color:var(--kscal-muted) !important;
  }

  html[data-ks-color-scheme="dark"] .ks-calendar-write .ks-calendar-schedule-fields,
  html[data-ks-color-scheme="dark"] .ks-calendar-write .ks-calendar-all-day {
    border-color:var(--kscal-line) !important;
    background:var(--ks-surface-alt,#20272d) !important;
    color:var(--kscal-ink) !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-write label,
  html[data-ks-color-scheme="dark"] .ks-calendar-write legend,
  html[data-ks-color-scheme="dark"] .ks-calendar-write-options,
  html[data-ks-color-scheme="dark"] .ks-calendar-write-author label,
  html[data-ks-color-scheme="dark"] .ks-calendar-write-meta label {
    color:var(--kscal-ink) !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-write input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]),
  html[data-ks-color-scheme="dark"] .ks-calendar-write select,
  html[data-ks-color-scheme="dark"] .ks-calendar-write textarea {
    border-color:var(--ks-control-border,#596671) !important;
    background:var(--ks-control-bg,#20272d) !important;
    color:var(--kscal-ink) !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-write input[readonly],
  html[data-ks-color-scheme="dark"] .ks-calendar-write input:disabled,
  html[data-ks-color-scheme="dark"] .ks-calendar-write select:disabled,
  html[data-ks-color-scheme="dark"] .ks-calendar-write textarea:disabled {
    background:#303942 !important;
    color:#d8dee3 !important;
    opacity:1;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-required {
    background:#4a2424 !important;
    color:#ffb4ad !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-optional {
    background:#303942 !important;
    color:#d5dde3 !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-form-error {
    border-color:#c85d55 !important;
    background:#4a2424 !important;
    color:#ffd4cf !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-submit-area .btn_insert,
  html[data-ks-color-scheme="dark"] .ks-calendar-primary-button {
    border-color:var(--ks-primary-strong,#547d9e) !important;
    background:var(--ks-primary-strong,#547d9e) !important;
    color:#fff !important;
  }

  html[data-ks-color-scheme="dark"] .ks-calendar-read__summary div,
  html[data-ks-color-scheme="dark"] .ks-calendar-files,
  html[data-ks-color-scheme="dark"] .ks-calendar-tags {
    border-color:var(--kscal-line) !important;
    background:var(--ks-surface-raised,#262e35) !important;
    color:var(--kscal-ink) !important;
  }

  html[data-ks-color-scheme="dark"] .ks-calendar-editor .xpress-editor,
  html[data-ks-color-scheme="dark"] .ks-calendar-editor .cke,
  html[data-ks-color-scheme="dark"] .ks-calendar-editor .cke_inner,
  html[data-ks-color-scheme="dark"] .ks-calendar-editor .cke_top,
  html[data-ks-color-scheme="dark"] .ks-calendar-editor .cke_bottom,
  html[data-ks-color-scheme="dark"] .ks-calendar-editor .xefu-container {
    border-color:var(--kscal-line) !important;
    background:#252b31 !important;
    color:var(--kscal-ink) !important;
  }
  html[data-ks-color-scheme="dark"] .ks-calendar-editor .cke_toolgroup,
  html[data-ks-color-scheme="dark"] .ks-calendar-editor .cke_combo_button,
  html[data-ks-color-scheme="dark"] .ks-calendar-editor .xefu-btn {
    border-color:#596671 !important;
    background:#343b42 !important;
    color:#f1f4f6 !important;
  }
}
