/* Personal Kanban board (templates/tool-kanban.php). Site tokens come from refine.css. */
.fc-kb {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 16px 8px;
	color: var(--fc-ink, #1d2433);
	box-sizing: border-box;
}
.fc-kb *, .fc-kb *::before, .fc-kb *::after { box-sizing: border-box; }
.fc-kb [hidden] { display: none !important; }
.fc-kb-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fc-kb-intro { text-align: center; max-width: 780px; margin: 0 auto 24px; }
.fc-kb-intro h1 { font-size: var(--fc-h1, 2.6rem); line-height: 1.1; margin: 0 0 12px; }
.fc-kb-lead { font-size: var(--fc-lead, 1.15rem); color: var(--fc-ink-2, #4b5563); margin: 0; }

/* buttons */
.fc-kb .fc-kb-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	min-height: 40px; padding: 8px 16px; border-radius: 8px;
	border: 1px solid var(--fc-line, #e6e8ee); background: #fff; color: var(--fc-ink, #1d2433);
	font: inherit; font-size: 15px; line-height: 1.2; cursor: pointer; text-decoration: none;
}
.fc-kb .fc-kb-btn:hover { border-color: #c9ced8; background: var(--fc-soft, #f4f6fa); }
.fc-kb .fc-kb-btn-primary { background: #c8322f; border-color: #c8322f; color: #fff; }
.fc-kb .fc-kb-btn-primary:hover { background: #a92926; border-color: #a92926; color: #fff; }
.fc-kb .fc-kb-btn-danger { color: #b42318; }
.fc-kb .fc-kb-btn-link { border-color: transparent; background: transparent; text-decoration: underline; }
.fc-kb .fc-kb-btn-inline {
	border: 0; background: none; padding: 0; font: inherit; color: #c8322f; text-decoration: underline; cursor: pointer;
}
.fc-kb button:focus-visible, .fc-kb a:focus-visible, .fc-kb input:focus-visible, .fc-kb select:focus-visible {
	outline: 2px solid var(--fc-check, #3b9ae1); outline-offset: 2px;
}

/* add form */
.fc-kb-add { display: flex; flex-wrap: wrap; gap: 8px; max-width: 780px; margin: 0 auto 8px; }
.fc-kb-add input[type="text"] {
	flex: 1 1 280px; min-height: 44px; padding: 10px 14px; font-size: 16px;
	border: 1px solid #cfd4dc; border-radius: 8px; background: #fff;
}
.fc-kb-add select {
	flex: 0 0 auto; min-height: 44px; padding: 8px 10px; font-size: 15px;
	border: 1px solid #cfd4dc; border-radius: 8px; background: #fff;
}
.fc-kb-add .fc-kb-btn { min-height: 44px; }
.fc-kb-example-hint { max-width: 780px; margin: 0 auto 20px; font-size: 14px; color: #5b6270; }

/* board */
.fc-kb-board {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: start;
}
.fc-kb-col {
	min-height: 260px; padding: 12px 12px 8px; border-radius: var(--fc-radius-sm, 10px);
	background: var(--fc-soft, #f4f6fa); border: 1px solid var(--fc-line, #e6e8ee); border-top: 4px solid #9aa1ad;
}
.fc-kb-col-todo { border-top-color: #6b7280; }
.fc-kb-col-next { border-top-color: #23689f; }
.fc-kb-col-doing { border-top-color: #c8322f; }
.fc-kb-col-done { border-top-color: #2f855a; }
.fc-kb-col.is-over { outline: 2px dashed var(--fc-check, #3b9ae1); outline-offset: -6px; }
.fc-kb-col.is-over-limit { background: #fdeeed; border-color: #f3b9b4; }
.fc-kb-col-head { display: flex; align-items: center; gap: 8px; }
.fc-kb-col h2 { font-size: 18px; margin: 0; }
.fc-kb-count {
	margin-left: auto; min-width: 26px; padding: 1px 8px; border-radius: 999px; background: #fff;
	color: var(--fc-ink-2, #4b5563); font-size: 13px; font-weight: 600; text-align: center; white-space: nowrap;
}
.fc-kb-col.is-over-limit .fc-kb-count { background: #b42318; color: #fff; }
.fc-kb-limit { display: flex; align-items: center; gap: 6px; margin: 6px 0 8px; font-size: 13px; color: var(--fc-ink-2, #4b5563); }
.fc-kb-limit select { padding: 2px 4px; font-size: 13px; border: 1px solid #d7dbe2; border-radius: 6px; background: #fff; }
.fc-kb-col-done .fc-kb-col-head { margin-bottom: 8px; }
.fc-kb-over { margin: 0 0 8px; font-size: 13px; font-weight: 600; color: #b42318; }
.fc-kb-empty { margin: 6px 0; font-size: 14px; color: #5b6270; }

/* cards */
.fc-kb-list { list-style: none; margin: 0; padding: 0; min-height: 8px; }
.fc-kb-card {
	display: flex; flex-wrap: wrap; align-items: center; column-gap: 6px;
	margin: 0 0 8px; padding: 8px 8px 6px 10px; background: #fff; border-radius: 8px;
	border: 1px solid rgba(16, 24, 40, .08); box-shadow: 0 1px 2px rgba(16, 24, 40, .05); cursor: grab;
}
.fc-kb-card.is-dragging { opacity: .5; }
.fc-kb-card.is-drop-before { box-shadow: 0 -3px 0 var(--fc-check, #3b9ae1); }
.fc-kb-card-text { flex: 1 1 90px; min-width: 0; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
.fc-kb-col-done .fc-kb-card-text { color: var(--fc-muted, #6b7280); text-decoration: line-through; }
.fc-kb-card-tools { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: 4px; margin-left: auto; }
.fc-kb-card:has(.fc-kb-focus) .fc-kb-card-tools { flex: 1 1 100%; margin-top: 6px; }
.fc-kb-move {
	min-height: 32px; padding: 4px 8px; font: inherit; font-size: 13px; cursor: pointer;
	border: 1px solid #d7dbe2; border-radius: 6px; background: #fff; color: var(--fc-ink-2, #4b5563);
}
.fc-kb-move:hover, .fc-kb-move[aria-expanded="true"] { border-color: #aeb4bf; background: var(--fc-soft, #f4f6fa); }
.fc-kb-del {
	width: 34px; height: 34px; border: 0; border-radius: 6px; background: transparent;
	font-size: 20px; line-height: 1; color: var(--fc-muted, #6b7280); cursor: pointer;
}
.fc-kb-del:hover { background: #fdeeed; color: #b42318; }
.fc-kb a.fc-kb-focus {
	margin-right: auto; font-size: 13px; font-weight: 600; color: #fff; background: #c8322f; border-radius: 6px;
	padding: 6px 10px; text-decoration: none; white-space: nowrap;
}
.fc-kb a.fc-kb-focus:hover { background: #a92926; }
.fc-kb-edit {
	width: 100%; min-height: 38px; padding: 6px 8px; font: inherit; font-size: 15px;
	border: 1px solid var(--fc-check, #3b9ae1); border-radius: 6px;
}

/* move menu */
.fc-kb-menu {
	position: absolute; z-index: 50; min-width: 170px; padding: 4px; border-radius: 8px;
	background: #fff; border: 1px solid #d7dbe2; box-shadow: var(--fc-shadow-lg, 0 12px 32px rgba(16,24,40,.15));
}
.fc-kb-menu button {
	display: block; width: 100%; padding: 8px 12px; border: 0; border-radius: 6px; background: none;
	font: inherit; font-size: 14px; text-align: left; color: var(--fc-ink, #1d2433); cursor: pointer;
}
.fc-kb-menu button:hover, .fc-kb-menu button:focus { background: var(--fc-soft, #f4f6fa); outline: none; }
.fc-kb-menu button:focus-visible { box-shadow: inset 0 0 0 2px var(--fc-check, #3b9ae1); }

/* toolbar + toast */
.fc-kb-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0 8px; }
.fc-kb-status {
	position: fixed; z-index: 100; left: 16px; right: 16px; bottom: 20px; margin: 0 auto;
	width: fit-content; max-width: 560px; padding: 10px 16px; border-radius: 10px;
	background: #1d2433; color: #fff; font-size: 15px; box-shadow: 0 8px 24px rgba(16, 24, 40, .25);
}
.fc-kb-status:empty { padding: 0; box-shadow: none; opacity: 0; pointer-events: none; }
.fc-kb .fc-kb-status .fc-kb-undo { min-height: 0; padding: 0 4px; color: #ffd2cc; font-weight: 600; }
.fc-kb .fc-kb-status .fc-kb-undo:hover { background: transparent; color: #fff; }
.fc-kb-print-foot { display: none; }
.fc-kb-noscript { padding: 12px; background: var(--fc-soft, #f4f6fa); border-radius: 8px; }

/* call to action and guide */
.fc-kb-cta {
	max-width: 780px; margin: 40px auto; padding: 24px; border-radius: var(--fc-radius, 16px); background: var(--fc-soft, #f4f6fa);
}
.fc-kb-cta h2, .fc-kb-guide h2 { font-size: 26px; margin: 0 0 10px; }
.fc-kb-cta p { margin: 0 0 12px; color: var(--fc-ink-2, #4b5563); }
.fc-kb-cta-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.fc-kb-cta-note { font-size: 14px; }
.fc-kb-guide { max-width: 780px; margin: 0 auto 24px; font-size: 17px; line-height: 1.65; }
.fc-kb-guide h2 { margin-top: 32px; }
.fc-kb-guide ol { padding-left: 1.3em; }
.fc-kb-guide li { margin-bottom: 8px; }
.fc-kb a { color: #c8322f; }
.fc-kb a.fc-kb-btn { color: var(--fc-ink, #1d2433); }
.fc-kb a.fc-kb-btn-primary { color: #fff; }

@media screen and (max-width: 980px) {
	.fc-kb-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 600px) {
	.fc-kb { padding-bottom: 72px; }
	.fc-kb-board { grid-template-columns: minmax(0, 1fr); }
	.fc-kb-col { min-height: 0; }
	.fc-kb-add select, .fc-kb-add .fc-kb-btn { flex: 1 1 140px; }
	.fc-kb-status { bottom: 84px; }
}

/* print (button or Ctrl+P): the board without the site around it */
@media print {
	.site-header, #mobile-header, #site-navigation, #generate-slideout-menu, .site-footer, .fc-footer,
	.generate-back-to-top, .gb-container-884117c2, .fc-tool-faq, .fc-kb-lead, .fc-kb-add, .fc-kb-example-hint, .fc-kb-toolbar, .fc-kb-status,
	.fc-kb-cta, .fc-kb-guide, .fc-kb-menu, .fc-kb-limit, .fc-kb-empty, .fc-kb-card-tools, .fc-kb-over, .fc-kb-noscript { display: none !important; }
	body { background: #fff !important; background-image: none !important; }
	.fc-kb { padding: 0; max-width: none; }
	.fc-kb-intro { margin: 0 0 12pt; }
	.fc-kb-intro h1 { font-size: 20pt; }
	.fc-kb-board { grid-template-columns: repeat(4, 1fr); gap: 8pt; }
	.fc-kb-col { min-height: 300pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.fc-kb-card { box-shadow: none; break-inside: avoid; }
	.fc-kb-print-foot { display: block; margin-top: 10pt; font-size: 9pt; color: #6b7280; text-align: center; }
}

/* The theme styles every button:hover/:focus white on dark slate (0,1,1); keep the small task controls readable. */
.fc-kb .fc-kb-move, .fc-kb .fc-kb-move:hover, .fc-kb .fc-kb-move:focus, .fc-kb .fc-kb-move[aria-expanded="true"] {
	color: var(--fc-ink-2, #4b5563); background: #fff;
}
.fc-kb .fc-kb-move:hover, .fc-kb .fc-kb-move[aria-expanded="true"] { background: var(--fc-soft, #f4f6fa); border-color: #aeb4bf; }
.fc-kb .fc-kb-del, .fc-kb .fc-kb-del:focus { color: var(--fc-muted, #6b7280); background: transparent; }
.fc-kb .fc-kb-del:hover { color: #b42318; background: #fdeeed; }
.fc-kb .fc-kb-menu button, .fc-kb .fc-kb-menu button:focus { color: var(--fc-ink, #1d2433); background: none; }
.fc-kb .fc-kb-menu button:hover, .fc-kb .fc-kb-menu button:focus { background: var(--fc-soft, #f4f6fa); }
.fc-kb .fc-kb-btn-inline:hover, .fc-kb .fc-kb-btn-inline:focus { color: #c8322f; background: none; }
.fc-kb .fc-kb-btn:focus { color: var(--fc-ink, #1d2433); background: #fff; }
.fc-kb .fc-kb-btn-primary:focus { color: #fff; background: #c8322f; }
.fc-kb .fc-kb-btn-link:focus { background: transparent; }
.fc-kb .fc-kb-status .fc-kb-undo:focus { color: #fff; background: transparent; }
.fc-kb .fc-kb-btn:focus:hover { background: var(--fc-soft, #f4f6fa); }
.fc-kb .fc-kb-btn-primary:focus:hover { background: #a92926; }
