/* ITF Nederland – WSC. Colours in one place: change these to the house style. */
.itfnl {
	--itfnl-navy: #000000;
	--itfnl-red: #dc4c3c;
	--itfnl-bg: #f5f6f9;
	--itfnl-line: #e3e6ec;
	--itfnl-muted: #5b6475;
	--itfnl-star: #d9a03f;
	--lv1: #fbebeb; --lv1b: #c0504d;
	--lv2: #f9eeda; --lv2b: #d9a03f;
	--lv3: #e5f4e4; --lv3b: #6aa84f;
	--lv4: #d3ead2; --lv4b: #2e7d32;
	max-width: 1280px;
}
.itfnl-bar { display: flex; align-items: center; gap: 14px; background: #000; color: #fff; margin: 10px 0 0; padding: 14px 20px; min-height: 44px; }
.itfnl-brand { font-size: 20px; letter-spacing: .5px; text-transform: uppercase; }
.itfnl-bar-sub { font-size: 12px; text-transform: uppercase; letter-spacing: .6px; opacity: .75; border-left: 1px solid #555; padding-left: 14px; }
.itfnl-logo { margin-left: auto; height: 48px; width: 48px; border-radius: 50%; background: #fff; object-fit: contain; }
.itfnl-belt { height: 10px; margin-bottom: 18px; background: linear-gradient(90deg,
	#f5dc55 0 12%, #3b5fa8 12% 13.5%, #000 13.5% 19%, #fff 19% 27%, #dc4c3c 27% 30.5%,
	#48a85a 30.5% 35%, #3b5fa8 35% 56%, #fff 56% 60.5%, #dc4c3c 60.5% 66.5%, #000 66.5% 100%); border-bottom: 1px solid #ddd; }
.itfnl-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 12px; }
.itfnl-head h1 { margin: 0; padding: 0; font-size: 28px; line-height: 1.25; font-weight: 600; color: #000; }
.itfnl-head-actions .button { margin-left: 4px; }
.itfnl-sub { color: var(--itfnl-muted); margin: -4px 0 14px; font-size: 14px; }
.itfnl-card { background: #fff; border: 1px solid var(--itfnl-line); border-radius: 8px; padding: 16px 18px; margin: 0 0 16px; }
.itfnl-card h2 { margin: 0 0 12px; font-size: 16px; color: var(--itfnl-navy); }
.itfnl-card h2 .itfnl-muted { font-weight: 400; font-size: 13px; margin-left: 6px; }
.itfnl-narrow { max-width: 640px; }
.itfnl-muted { color: var(--itfnl-muted); }
.itfnl-warn { color: #8a5a00; background: #fff6e0; padding: 8px 10px; border-radius: 6px; }
.itfnl-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.itfnl-grid2 > .itfnl-card { margin: 0 0 16px; }
@media (max-width: 960px) { .itfnl-grid2 { grid-template-columns: 1fr; } }
.itfnl-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
@media (max-width: 782px) { .itfnl-tiles { grid-template-columns: repeat(2, 1fr); } }
.itfnl-tile { background: #fff; border: 1px solid var(--itfnl-line); border-left: 4px solid var(--itfnl-red); border-radius: 8px; padding: 14px 16px; }
.itfnl-tile b { display: block; font-size: 26px; color: var(--itfnl-navy); }
.itfnl-tile span { color: var(--itfnl-muted); }
.itfnl-steps li { margin-bottom: 6px; }
.itfnl-table td, .itfnl-table th { vertical-align: top; }
.itfnl-scroll { overflow-x: auto; }
.itfnl-entries select, .itfnl-entries textarea, .itfnl-entries input[type=text] { max-width: 190px; width: 100%; }
.itfnl-entries textarea { margin-top: 6px; font-size: 12px; }
.itfnl-mini { max-width: 60px !important; min-height: 26px !important; padding: 0 20px 0 6px !important; }
.itfnl-center { text-align: center; }
.itfnl-check { font-weight: 600; white-space: nowrap; }
.itfnl-inline { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.itfnl-badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 12px; background: #eceef2; color: #3c4353; margin: 2px 2px 2px 0; }
.itfnl-badge.ok { background: #e3f3e1; color: #22662a; }
.itfnl-badge.warn { background: #fff1d6; color: #8a5a00; }
.itfnl-badge.blue { background: #e4ebf8; color: #1f3f7a; }
.itfnl-stars { color: var(--itfnl-star); letter-spacing: 1px; }
.itfnl-stars-off { color: #cdd1d9; letter-spacing: 1px; }
.itfnl-danger { color: #b32d2e !important; border-color: #b32d2e !important; }
.itfnl-danger-link { color: #b32d2e !important; margin-top: 8px; }
.itfnl-search { margin: 0 0 12px; display: flex; gap: 6px; }
.itfnl-search input[type=search] { width: 320px; max-width: 100%; }
.itfnl-warnings { margin: 0 0 8px 18px; list-style: disc; }
.itfnl-report { padding: 8px; }

/* JP: referee cards */
.itfnl-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.itfnl-ref { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border: 1px solid var(--itfnl-line); border-radius: 8px; text-decoration: none; color: #1d2433; background: #fff; }
.itfnl-ref:hover, .itfnl-ref:focus { border-color: var(--itfnl-navy); box-shadow: 0 1px 4px rgba(0,0,0,.08); color: #1d2433; }
.itfnl-ref.mine { border-left: 4px solid var(--itfnl-red); }
.itfnl-ref.ingediend { background: #f6fbf5; }
.itfnl-ref-name { font-weight: 600; font-size: 15px; }
.itfnl-ref-meta { color: var(--itfnl-muted); font-size: 13px; }

/* JP: assessment form */
.itfnl-assess fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.itfnl-crit { padding: 12px 0; border-top: 1px solid var(--itfnl-line); }
.itfnl-crit:first-of-type { border-top: 0; }
.itfnl-crit-title { font-weight: 600; margin-bottom: 8px; font-size: 14px; }
.itfnl-opts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
@media (max-width: 900px) { .itfnl-opts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .itfnl-opts { grid-template-columns: 1fr; } }
.itfnl-opt { cursor: pointer; display: block; }
.itfnl-opt input { position: absolute; opacity: 0; pointer-events: none; }
.itfnl-opt-box { display: flex; flex-direction: column; gap: 4px; height: 100%; box-sizing: border-box; padding: 10px 12px; border-radius: 8px; border: 2px solid transparent; font-size: 13px; line-height: 1.35; }
.itfnl-opt-head { font-weight: 700; }
.lv1 .itfnl-opt-box { background: var(--lv1); }
.lv2 .itfnl-opt-box { background: var(--lv2); }
.lv3 .itfnl-opt-box { background: var(--lv3); }
.lv4 .itfnl-opt-box { background: var(--lv4); }
.itfnl-opt input:focus-visible + .itfnl-opt-box { outline: 2px solid var(--itfnl-navy); outline-offset: 2px; }
.lv1 input:checked + .itfnl-opt-box { border-color: var(--lv1b); box-shadow: 0 0 0 1px var(--lv1b); }
.lv2 input:checked + .itfnl-opt-box { border-color: var(--lv2b); box-shadow: 0 0 0 1px var(--lv2b); }
.lv3 input:checked + .itfnl-opt-box { border-color: var(--lv3b); box-shadow: 0 0 0 1px var(--lv3b); }
.lv4 input:checked + .itfnl-opt-box { border-color: var(--lv4b); box-shadow: 0 0 0 1px var(--lv4b); }
.itfnl-opt input:checked + .itfnl-opt-box .itfnl-opt-head::after { content: "  ✓"; }
.itfnl-radio { display: inline-block; margin: 6px 14px 4px 0; }
.itfnl-actions { position: sticky; bottom: 0; background: var(--itfnl-bg); padding: 10px 0; display: flex; gap: 8px; flex-wrap: wrap; }

/* referee history */
.itfnl-history { border-top: 1px solid var(--itfnl-line); padding: 10px 0; }
.itfnl-history:first-of-type { border-top: 0; }
.itfnl-history-head { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 6px; }
.itfnl-mini-table td { padding: 2px 14px 2px 0; }

/* fields */
.itfnl-fields { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: flex-end; margin-bottom: 8px; }
.itfnl-field-count input { width: 80px; }
.itfnl-field select { min-width: 170px; }
/* assessments in the WSC table */
.itfnl-assess-cell { min-width: 280px; }
.itfnl-assess-row { border: 1px solid var(--itfnl-line); border-radius: 6px; padding: 6px 8px; margin-bottom: 6px; background: #fafafa; }
.itfnl-assess-actions { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; margin-top: 4px; font-size: 13px; }
.itfnl-approve { font-weight: 600; color: #22662a; }
.itfnl-small { max-width: 170px !important; min-height: 28px !important; font-size: 13px !important; }
.itfnl-add-jp { margin-top: 2px; }
/* JP */
.itfnl-h3 { font-size: 14px; margin: 14px 0 8px; text-transform: uppercase; letter-spacing: .4px; color: #333; }
.itfnl-details { margin-top: 14px; border-top: 1px solid var(--itfnl-line); padding-top: 10px; }
.itfnl-details summary { cursor: pointer; font-weight: 600; padding: 6px 0; }
.itfnl-details[open] summary { margin-bottom: 8px; }
.itfnl-addref select { max-width: 100%; }
/* close */
.itfnl-checklist { padding: 10px 14px; border-radius: 6px; margin-bottom: 12px; }
.itfnl-checklist.warn { background: #fff6e0; color: #6b4a00; }
.itfnl-checklist.ok { background: #e6f4e4; color: #22662a; font-weight: 600; }
.itfnl-checklist ul { margin: 6px 0 0 18px; list-style: disc; }
.itfnl-confirm { font-weight: 600; }
.itfnl-history-assess { margin: 6px 0 10px 12px; padding-left: 10px; border-left: 3px solid var(--itfnl-line); }
.itfnl-brand { white-space: nowrap; }
@media (max-width: 600px) { .itfnl-bar-sub { display: none; } .itfnl-brand { font-size: 17px; } .itfnl-head h1 { font-size: 22px; } .itfnl-bar { padding: 10px 14px; } .itfnl-logo { height: 40px; width: 40px; } }

/* planning */
.itfnl-fields-table { margin: 8px 0 10px; }
.itfnl-fields-table select { max-width: 100%; }
.itfnl-dan-row { background: #fff8e5 !important; }
.itfnl-badge.dan, .itfnl-type-badge.type-a1, .itfnl-type-badge.type-a2 { background: #000; color: #f5dc55; font-weight: 700; }
.itfnl-type-badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 12px; background: #eceef2; color: #333; margin-left: 6px; text-transform: uppercase; letter-spacing: .3px; }
.itfnl-type-badge.type-blauw { background: #e4ebf8; color: #1f3f7a; }
.itfnl-type-badge.type-power { background: #fdeaea; color: #8a1f17; }
.itfnl-plan-actions { margin-bottom: 8px; }
.itfnl-plan-actions .itfnl-muted { flex: 1 1 400px; font-size: 13px; }
.itfnl-legend { font-size: 13px; margin: 6px 0 12px; color: #555; }
.itfnl-plan-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.itfnl-plan-field { border: 1px solid #ddd; border-top: 4px solid #000; border-radius: 6px; padding: 10px 12px; background: #fff; }
.itfnl-plan-field.type-a1, .itfnl-plan-field.type-a2 { border-top-color: #f5dc55; background: #fffdf3; box-shadow: inset 0 0 0 1px #f0d97a; }
.itfnl-plan-field.type-blauw { border-top-color: #3b5fa8; }
.itfnl-plan-field.type-power { border-top-color: #dc4c3c; }
.itfnl-plan-head { margin-bottom: 6px; }
.itfnl-small-text { font-size: 12px; }
.itfnl-plan-ok { color: #22662a; font-weight: 600; font-size: 13px; margin: 4px 0 6px; }
.itfnl-plan-issues { margin: 4px 0 8px; padding: 0; list-style: none; }
.itfnl-plan-issues li { margin: 2px 0; }
.itfnl-plan-people { margin: 0; padding: 0; list-style: none; }
.itfnl-plan-people li { padding: 5px 6px; border-top: 1px solid #eee; font-size: 13px; display: flex; flex-wrap: wrap; gap: 2px 6px; align-items: baseline; }
.itfnl-plan-people li.bad { background: #fdecea; }
.itfnl-plan-people li.warn { background: #fff6e0; }
.itfnl-role { display: inline-block; min-width: 26px; text-align: center; font-weight: 700; font-size: 11px; background: #000; color: #fff; border-radius: 3px; padding: 1px 4px; }
.itfnl-plan-name { font-weight: 600; }
.itfnl-plan-meta { color: #666; font-size: 12px; width: 100%; padding-left: 32px; }
.itfnl-flag { display: inline-block; font-size: 12px; border-radius: 3px; padding: 1px 6px; }
.itfnl-flag.bad { background: #dc4c3c; color: #fff; }
.itfnl-flag.warn { background: #f5c400; color: #1a1a1a; }
.itfnl-plan-people .itfnl-flag { margin-left: 32px; }
.itfnl-lock { display: block; margin-top: 4px; font-size: 12px; }

.itfnl-prev { border-left: 4px solid #3b5fa8; }
.itfnl-prev-tag { display: inline-block; align-self: flex-start; font-size: 11px; font-weight: 700; background: #3b5fa8; color: #fff; border-radius: 3px; padding: 1px 6px; margin-top: 2px; }
.itfnl-hs { background: #000; color: #fff; padding: 8px 12px; border-radius: 6px; margin-top: 12px; }

/* ===== 0.8: tabs ===== */
.itfnl-tabs { display: flex; gap: 4px; flex-wrap: wrap; margin: 0 0 14px; border-bottom: 2px solid #e3e3e3; }
.itfnl-tabs a { padding: 10px 14px; text-decoration: none; color: #333; font-weight: 600; border-bottom: 3px solid transparent; margin-bottom: -2px; }
.itfnl-tabs a.active { color: #000; border-bottom-color: #dc4c3c; }
@media (max-width: 782px) { .itfnl-tabs { flex-wrap: nowrap; overflow-x: auto; } .itfnl-tabs a { white-space: nowrap; } }

/* training badges */
.itfnl-tb, .itfnl-lic { display: inline-block; font-size: 12px; font-weight: 700; border-radius: 10px; padding: 2px 9px; white-space: nowrap; }
.itfnl-tb.sm, .itfnl-lic.sm { font-size: 11px; padding: 1px 7px; }
.itfnl-tb.tb-d { background: #f5dc55; color: #3a3000; }
.itfnl-tb.tb-c { background: #3b5fa8; color: #fff; }
.itfnl-tb.tb-b { background: #48a85a; color: #fff; }
.itfnl-lic { background: #eceef2; color: #333; font-weight: 600; }

/* board */
.itfnl-board.busy { opacity: .6; pointer-events: none; }
.itfnl-board-cols { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; align-items: start; }
.itfnl-bcol { background: #fafafa; border: 1px solid #ddd; border-top: 4px solid #000; border-radius: 6px; padding: 8px; }
.itfnl-bcol.type-a1, .itfnl-bcol.type-a2 { border-top-color: #f5dc55; background: #fffdf3; }
.itfnl-bcol.type-blauw { border-top-color: #3b5fa8; }
.itfnl-bcol.type-power { border-top-color: #dc4c3c; }
.itfnl-bcol.type-none { border-top-color: #999; background: #f4f4f4; }
.itfnl-bcol.type-hs { border-top-color: #000; background: #f1f1f1; }
.itfnl-bcol header { display: flex; flex-wrap: wrap; gap: 4px 6px; align-items: center; margin-bottom: 6px; }
.itfnl-bcount { margin-left: auto; background: #000; color: #fff; border-radius: 10px; font-size: 11px; padding: 1px 7px; }
.itfnl-bcol > .itfnl-flag { display: block; margin: 2px 0; }
.itfnl-dz { min-height: 34px; border: 1px dashed transparent; border-radius: 6px; padding: 2px; margin-top: 6px; transition: background .1s; }
.itfnl-board.is-open .itfnl-dz { border-color: #ddd; }
.itfnl-dz.over { background: #e8f3ea; border-color: #48a85a; border-style: solid; }
.itfnl-dz-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; color: #666; padding: 2px 4px; display: flex; justify-content: space-between; }
.itfnl-bcard { background: #fff; border: 1px solid #ddd; border-left: 4px solid #ccc; border-radius: 5px; padding: 5px 7px; margin: 4px 0; font-size: 13px; cursor: grab; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.itfnl-bcard.train-d { border-left-color: #f5dc55; }
.itfnl-bcard.train-c { border-left-color: #3b5fa8; }
.itfnl-bcard.train-b { border-left-color: #48a85a; }
.itfnl-bcard.bad { background: #fdecea; }
.itfnl-bcard.warn { background: #fff8e5; }
.itfnl-bcard.dragging { opacity: .35; }
.itfnl-ghost { position: fixed; z-index: 100000; pointer-events: none; box-shadow: 0 8px 20px rgba(0,0,0,.25); transform: rotate(1.5deg); cursor: grabbing; }
.itfnl-bcard-top { display: flex; align-items: center; gap: 4px; }
.itfnl-bname { font-weight: 700; flex: 1; }
.itfnl-more { background: none; border: 0; font-size: 18px; line-height: 1; cursor: pointer; padding: 0 4px; color: #555; }
.itfnl-bmeta { color: #555; font-size: 12px; margin-top: 2px; }
.itfnl-bcard .itfnl-flag { display: block; margin-top: 3px; font-size: 11px; }
.itfnl-bpanel { margin-top: 6px; padding-top: 6px; border-top: 1px solid #eee; display: flex; flex-direction: column; gap: 4px; cursor: default; }
.itfnl-bpanel select { max-width: 100%; }

/* assessment overview */
.itfnl-legend-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.itfnl-count-chip { text-decoration: none; padding: 8px 12px; border-radius: 6px; background: #fff; border: 1px solid #ddd; color: #333; }
.itfnl-count-chip b { font-size: 18px; margin-right: 4px; }
.itfnl-count-chip.wait { border-color: #f5c400; background: #fff8e0; }
.itfnl-count-chip.todo { border-color: #ccc; }
.itfnl-count-chip.done { border-color: #48a85a; background: #eef7ef; }
.itfnl-group-title { font-size: 17px; margin: 18px 0 8px; }
.itfnl-assess-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.itfnl-acard { background: #fff; border: 1px solid #ddd; border-left: 5px solid #ccc; border-radius: 8px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.itfnl-acard.train-d { border-left-color: #f5dc55; }
.itfnl-acard.train-c { border-left-color: #3b5fa8; }
.itfnl-acard.train-b { border-left-color: #48a85a; }
.itfnl-acard-head { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; }
.itfnl-acard-name { font-weight: 700; font-size: 16px; color: #000; text-decoration: none; }
.itfnl-arow { background: #fafafa; border: 1px solid #eee; border-radius: 6px; padding: 8px; }
.itfnl-arow-main { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.itfnl-arow-actions { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin-top: 6px; font-size: 13px; }
.itfnl-acard-foot { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; border-top: 1px solid #eee; padding-top: 8px; font-size: 13px; }
.itfnl-acard-foot textarea { width: 100%; }

/* referee list */
.itfnl-filter { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.itfnl-filter a { padding: 6px 12px; border-radius: 16px; border: 1px solid #ccc; text-decoration: none; color: #333; background: #fff; font-size: 13px; font-weight: 600; }
.itfnl-filter a.active { background: #000; color: #fff; border-color: #000; }
tr.itfnl-row-train-d td:first-child { box-shadow: inset 5px 0 0 #f5dc55; }
tr.itfnl-row-train-c td:first-child { box-shadow: inset 5px 0 0 #3b5fa8; }
tr.itfnl-row-train-b td:first-child { box-shadow: inset 5px 0 0 #48a85a; }

.itfnl-ref.train-d { border-left-color: #f5dc55 !important; }
.itfnl-ref.train-c { border-left-color: #3b5fa8 !important; }
.itfnl-ref.train-b { border-left-color: #48a85a !important; }
.itfnl-ref.mine { border-left-width: 6px; }

.itfnl-user-actions form { display: inline-block; margin: 0 8px 4px 0; }
.itfnl-inline-form { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin: 0; }
.itfnl-inline-form select { max-width: 160px; }

.itfnl-crit-note { margin: 8px 0 2px; }
.itfnl-crit-note summary { cursor: pointer; color: #3b5fa8; font-weight: 600; font-size: 14px; padding: 4px 0; list-style: none; }
.itfnl-crit-note summary::-webkit-details-marker { display: none; }
.itfnl-crit-note summary::before { content: '＋ '; }
.itfnl-crit-note[open] summary::before { content: '－ '; }
.itfnl-crit-note textarea { margin-top: 4px; width: 100%; box-sizing: border-box; }
.itfnl-prev-note { margin: 6px 0 0; font-size: 13px; color: #555; font-style: italic; }
.itfnl-stage-badge { display: inline-block; font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 10px; background: #fff; color: #333; border: 1.5px solid #999; white-space: nowrap; vertical-align: middle; }
.itfnl-bcard .itfnl-stage-badge { font-size: 10px; padding: 0 5px; }
.itfnl-badges { display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end; align-items: center; }

.itfnl-req-wrap { overflow-x: auto; }
.itfnl-req-table { border-collapse: collapse; width: 100%; font-size: 14px; }
.itfnl-req-table th, .itfnl-req-table td { border-bottom: 1px solid #e6e6e6; padding: 6px; text-align: left; vertical-align: middle; }
.itfnl-req-table td { white-space: nowrap; }
.itfnl-req-table input[type=number] { width: 52px; }
.itfnl-req-table select { width: auto; min-width: 54px; }
@media (max-width: 700px) {
	.itfnl-req-table thead { display: none; }
	.itfnl-req-table, .itfnl-req-table tbody, .itfnl-req-table tr { display: block; }
	.itfnl-req-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px; border: 1px solid #e3e3e3; border-radius: 8px; padding: 8px; margin-bottom: 10px; }
	.itfnl-req-table tr th { grid-column: 1 / -1; border: 0; padding: 0 0 4px; }
	.itfnl-req-table td { border: 0; padding: 2px 0; }
	.itfnl-req-table td::before { display: block; font-size: 11px; font-weight: 700; color: #777; }
	.itfnl-req-table td:nth-of-type(1)::before { content: 'JP'; }
	.itfnl-req-table td:nth-of-type(2)::before { content: 'CR'; }
	.itfnl-req-table td:nth-of-type(3)::before { content: 'JM'; }
	.itfnl-req-table td:nth-of-type(4)::before { content: 'R'; }
}
@media (max-width: 700px) {
	.itfnl-req-table tr { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.itfnl-req-table td { display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }
	.itfnl-req-table td::before { flex-basis: 100%; }
	.itfnl-req-table td input[type=number] { width: 48px; flex: 0 0 48px; box-sizing: border-box; }
	.itfnl-req-table td select { flex: 1 1 0; min-width: 0; width: auto; box-sizing: border-box; }
}

.itfnl-crit-note summary { display: inline-block; border: 1.5px dashed #3b5fa8; border-radius: 6px; padding: 7px 12px; background: #f3f6fc; margin-top: 4px; }
.itfnl-crit-note[open] summary { border-style: solid; }
.itfnl-version { text-align: center; color: #999; font-size: 12px; padding: 18px 0 90px; }
.itfnl-delete-box { margin-top: 18px; padding-top: 12px; border-top: 1px dashed #ddd; }

.itfnl-top { color: #d4a017; font-size: 1.05em; }
.itfnl-share-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 4px 0 12px; padding: 10px 12px; background: #f6f7f9; border-radius: 8px; }
.itfnl-share-url { flex: 1 1 260px; min-width: 0; font-size: 13px; }

.itfnl-step { margin: 0 0 8px; font-size: 16px; }
.itfnl-hs-step { padding: 12px; border-radius: 8px; margin-bottom: 12px; border: 2px solid #e3e3e3; }
.itfnl-hs-step.todo { border-color: #dc4c3c; background: #fff6f5; }
.itfnl-hs-step.done { border-color: #48a85a; background: #f3faf4; }
.itfnl-hs-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.itfnl-hs-chip { display: inline-flex; gap: 6px; align-items: center; background: #fff; border: 1px solid #ccc; border-radius: 16px; padding: 4px 10px; margin: 0; }
.itfnl-hs-step .itfnl-inline-form select { max-width: 100%; flex: 1 1 220px; }
.itfnl-plan-actions .itfnl-step { flex-basis: 100%; }

.itfnl-top-toggle { display: inline; margin: 0 4px 0 0; }
.itfnl-top-toggle button { background: none; border: 0; padding: 0 2px; font-size: 20px; line-height: 1; cursor: pointer; color: #bbb; vertical-align: -2px; }
.itfnl-top-toggle button.on { color: #d4a017; }
.itfnl-top-toggle button:hover { color: #d4a017; }
.itfnl-jp-hint { background: #fff6e0; border-left: 4px solid #e8a33a; padding: 8px 10px; font-size: 14px; margin: 8px 0; }
.itfnl-test-bar { margin: 0 0 12px; padding: 8px 12px; border: 1px dashed #b9a6e0; background: #f8f5ff; border-radius: 8px; }
.itfnl-test-bar summary { cursor: pointer; font-weight: 600; }
.itfnl-test-pw { background: #fff; border: 2px solid #48a85a; border-radius: 6px; padding: 8px 10px; }

.itfnl-bpanel[hidden] { display: none !important; }
.itfnl-bcard.pressing { transform: scale(.97); box-shadow: 0 0 0 2px #3b5fa8; transition: transform .25s; }
body.itfnl-dragging { -webkit-user-select: none; user-select: none; }
