| @@ -610,8 +610,19 @@ | ||
| 610 | 610 | input:checked + .mxchat-toggle-slider:before { |
| 611 | 611 | transform: translateX(26px); |
| 612 | 612 | } |
| 613 | 613 | |
| 614 | +/* Group-level ACF toggle, mixed state: some fields in the group are excluded. | |
| 615 | + Knob parks mid-track on a washed-out tint of the brand gradient until the | |
| 616 | + owner picks a side (plan bf57e0). */ | |
| 617 | +input:indeterminate + .mxchat-toggle-slider { | |
| 618 | + background: linear-gradient(135deg, #e3b8dd, #b9b6e8); | |
| 619 | +} | |
| 620 | + | |
| 621 | +input:indeterminate + .mxchat-toggle-slider:before { | |
| 622 | + transform: translateX(13px); | |
| 623 | +} | |
| 624 | + | |
| 614 | 625 | .mxchat-toggle-label { |
| 615 | 626 | font-size: 14px; |
| 616 | 627 | color: #333; |
| 617 | 628 | } |
| @@ -1211,8 +1222,12 @@ | ||
| 1211 | 1222 | .rtl input:checked + .mxchat-toggle-slider:before { |
| 1212 | 1223 | transform: translateX(-26px); |
| 1213 | 1224 | } |
| 1214 | 1225 | |
| 1226 | +.rtl input:indeterminate + .mxchat-toggle-slider:before { | |
| 1227 | + transform: translateX(-13px); | |
| 1228 | +} | |
| 1229 | + | |
| 1215 | 1230 | .rtl .mxchat-error-notice { |
| 1216 | 1231 | border-left: none; |
| 1217 | 1232 | border-right: 3px solid #f44336; |
| 1218 | 1233 | } |
| @@ -1417,8 +1432,36 @@ | ||
| 1417 | 1432 | outline: none; |
| 1418 | 1433 | box-shadow: 0 0 0 1px #7873f5; |
| 1419 | 1434 | } |
| 1420 | 1435 | |
| 1436 | +/* Contextual note under the modal filter strip — only rendered for content types | |
| 1437 | + that need one (currently Media). Continues the filter strip's own surface so it | |
| 1438 | + reads as part of it rather than as a banner dropped on top. */ | |
| 1439 | +.mxchat-kb-filter-note { | |
| 1440 | + display: flex; | |
| 1441 | + align-items: center; | |
| 1442 | + gap: 8px; | |
| 1443 | + padding: 10px 20px; | |
| 1444 | + background-color: #f8f9fa; | |
| 1445 | + border-bottom: 1px solid #e5e5e5; | |
| 1446 | + color: #555; | |
| 1447 | + font-size: 13px; | |
| 1448 | + line-height: 1.4; | |
| 1449 | +} | |
| 1450 | + | |
| 1451 | +/* An author-level display value outranks the browser default for [hidden], so the | |
| 1452 | + hidden state has to be restated here or the note would never hide. */ | |
| 1453 | +.mxchat-kb-filter-note[hidden] { | |
| 1454 | + display: none; | |
| 1455 | +} | |
| 1456 | + | |
| 1457 | +.mxchat-kb-filter-note-icon { | |
| 1458 | + width: 16px; | |
| 1459 | + height: 16px; | |
| 1460 | + flex-shrink: 0; | |
| 1461 | + color: #7873f5; | |
| 1462 | +} | |
| 1463 | + | |
| 1421 | 1464 | /* Special style for the "processed" filter */ |
| 1422 | 1465 | #mxchat-kb-processed-filter { |
| 1423 | 1466 | border-left: 3px solid #1e88e5; |
| 1424 | 1467 | } |
| @@ -1436,8 +1479,9 @@ | ||
| 1436 | 1479 | .mxchat-kb-selection-header { |
| 1437 | 1480 | display: flex; |
| 1438 | 1481 | justify-content: space-between; |
| 1439 | 1482 | align-items: center; |
| 1483 | + gap: var(--mxch-spacing-md, 16px); | |
| 1440 | 1484 | padding: 15px 20px; |
| 1441 | 1485 | background-color: #f8f9fa; |
| 1442 | 1486 | border-bottom: 1px solid #eee; |
| 1443 | 1487 | position: sticky; |
| @@ -1493,19 +1537,23 @@ | ||
| 1493 | 1537 | align-items: flex-start; |
| 1494 | 1538 | padding-top: 3px; |
| 1495 | 1539 | } |
| 1496 | 1540 | |
| 1541 | +/* Native control, brand-tinted — identical to the "select all" checkbox above the | |
| 1542 | + list, which carries no custom styling at all and renders correctly. | |
| 1543 | + Do NOT re-add width / height / border / border-radius / background here. WP admin | |
| 1544 | + draws the tick as a 21px dashicon positioned with negative margins for its OWN | |
| 1545 | + default box, so forcing a custom box makes the tick overflow it. That mismatch | |
| 1546 | + shipped for a long time but was invisible while the tick was white-on-white. */ | |
| 1497 | 1547 | .mxchat-kb-content-checkbox input[type="checkbox"] { |
| 1498 | - width: 18px; | |
| 1499 | - height: 18px; | |
| 1500 | - border: 1px solid #8c8f94; | |
| 1501 | - border-radius: 3px; | |
| 1502 | - background: #fff; | |
| 1503 | 1548 | margin: 0; |
| 1549 | + cursor: pointer; | |
| 1550 | + accent-color: var(--mxch-primary, #7873f5); | |
| 1504 | 1551 | } |
| 1505 | 1552 | |
| 1506 | -.mxchat-kb-content-checkbox input[type="checkbox"]:checked { | |
| 1507 | - border-color: #7873f5; | |
| 1553 | +.mxchat-kb-content-checkbox input[type="checkbox"]:focus-visible { | |
| 1554 | + outline: 2px solid var(--mxch-primary, #7873f5); | |
| 1555 | + outline-offset: 2px; | |
| 1508 | 1556 | } |
| 1509 | 1557 | |
| 1510 | 1558 | .mxchat-kb-content-details { |
| 1511 | 1559 | flex: 1; |
| @@ -4059,6 +4107,146 @@ | ||
| 4059 | 4107 | } |
| 4060 | 4108 | @media (max-width: 782px) { |
| 4061 | 4109 | .mxchat-meta-chip-grid { |
| 4062 | 4110 | grid-template-columns: 1fr; |
| 4111 | + } | |
| 4112 | +} | |
| 4113 | + | |
| 4114 | +/* ========================================================================== | |
| 4115 | + Re-import affected entries (plan 89739b) | |
| 4116 | + Layout only. Every colour, radius and space is a shell token; the badges, | |
| 4117 | + notices, progress bar and disclosure are the shell's own. | |
| 4118 | + ========================================================================== */ | |
| 4119 | +.mxch-kb-reimport [hidden] { | |
| 4120 | + display: none; | |
| 4121 | +} | |
| 4122 | +.mxch-kb-reimport-controls { | |
| 4123 | + display: flex; | |
| 4124 | + align-items: flex-end; | |
| 4125 | + flex-wrap: wrap; | |
| 4126 | + gap: var(--mxch-spacing-md); | |
| 4127 | + margin-top: var(--mxch-spacing-lg); | |
| 4128 | +} | |
| 4129 | +.mxch-kb-reimport-controls .mxch-field { | |
| 4130 | + flex: 0 0 220px; | |
| 4131 | + margin-bottom: 0; | |
| 4132 | +} | |
| 4133 | +.mxch-kb-reimport .mxch-btn[disabled] { | |
| 4134 | + opacity: 0.55; | |
| 4135 | + cursor: default; | |
| 4136 | +} | |
| 4137 | +/* Also rewrite edited entries: the toggle beside its label (plan a00ef8) */ | |
| 4138 | +.mxch-kb-reimport-edited { | |
| 4139 | + display: flex; | |
| 4140 | + align-items: flex-start; | |
| 4141 | + gap: var(--mxch-spacing-sm); | |
| 4142 | + margin-top: var(--mxch-spacing-md); | |
| 4143 | +} | |
| 4144 | +.mxch-kb-reimport-edited .toggle-switch { | |
| 4145 | + flex: 0 0 auto; | |
| 4146 | + margin-top: 2px; | |
| 4147 | +} | |
| 4148 | +.mxch-kb-reimport-edited .mxch-field-label { | |
| 4149 | + margin-bottom: 2px; | |
| 4150 | + cursor: pointer; | |
| 4151 | +} | |
| 4152 | +.mxch-kb-reimport-edited .mxch-field-description { | |
| 4153 | + margin: 0; | |
| 4154 | +} | |
| 4155 | +.mxch-kb-reimport-progress, | |
| 4156 | +.mxch-kb-reimport-error { | |
| 4157 | + margin-top: var(--mxch-spacing-lg); | |
| 4158 | +} | |
| 4159 | +.mxch-kb-reimport-progress .mxch-progress-label { | |
| 4160 | + margin-bottom: 0; | |
| 4161 | +} | |
| 4162 | +.mxch-kb-reimport-results { | |
| 4163 | + margin-top: var(--mxch-spacing-lg); | |
| 4164 | + padding-top: var(--mxch-spacing-lg); | |
| 4165 | + border-top: 1px solid var(--mxch-card-border); | |
| 4166 | +} | |
| 4167 | +.mxch-kb-reimport-done { | |
| 4168 | + margin-bottom: var(--mxch-spacing-md); | |
| 4169 | +} | |
| 4170 | +.mxch-kb-reimport-counts { | |
| 4171 | + display: flex; | |
| 4172 | + flex-wrap: wrap; | |
| 4173 | + gap: var(--mxch-spacing-sm); | |
| 4174 | +} | |
| 4175 | +.mxch-kb-reimport-list { | |
| 4176 | + list-style: none; | |
| 4177 | + margin: var(--mxch-spacing-md) 0 0; | |
| 4178 | + padding: 0; | |
| 4179 | + max-height: 336px; | |
| 4180 | + overflow-y: auto; | |
| 4181 | + border: 1px solid var(--mxch-card-border); | |
| 4182 | + border-radius: var(--mxch-radius-md); | |
| 4183 | +} | |
| 4184 | +.mxch-kb-reimport-list li { | |
| 4185 | + display: flex; | |
| 4186 | + align-items: center; | |
| 4187 | + justify-content: space-between; | |
| 4188 | + gap: var(--mxch-spacing-md); | |
| 4189 | + margin: 0; | |
| 4190 | + padding: var(--mxch-spacing-sm) var(--mxch-spacing-md); | |
| 4191 | + border-top: 1px solid var(--mxch-card-border); | |
| 4192 | + font-size: 13px; | |
| 4193 | + line-height: 1.5; | |
| 4194 | +} | |
| 4195 | +.mxch-kb-reimport-list li:first-child { | |
| 4196 | + border-top: 0; | |
| 4197 | +} | |
| 4198 | +.mxch-kb-reimport-source { | |
| 4199 | + min-width: 0; | |
| 4200 | + overflow-wrap: anywhere; | |
| 4201 | + color: var(--mxch-text-primary); | |
| 4202 | +} | |
| 4203 | +.mxch-kb-reimport-note { | |
| 4204 | + display: block; | |
| 4205 | + font-size: 12px; | |
| 4206 | + color: var(--mxch-text-secondary); | |
| 4207 | +} | |
| 4208 | +.mxch-kb-reimport-reasons { | |
| 4209 | + display: flex; | |
| 4210 | + flex-wrap: wrap; | |
| 4211 | + justify-content: flex-end; | |
| 4212 | + gap: var(--mxch-spacing-xs); | |
| 4213 | + flex-shrink: 0; | |
| 4214 | +} | |
| 4215 | +.mxch-kb-reimport-notes { | |
| 4216 | + margin-top: var(--mxch-spacing-sm); | |
| 4217 | + border: 0; | |
| 4218 | + border-radius: 0; | |
| 4219 | +} | |
| 4220 | +.mxch-kb-reimport-notes li { | |
| 4221 | + padding-left: 0; | |
| 4222 | + padding-right: 0; | |
| 4223 | +} | |
| 4224 | +.mxch-kb-reimport-footer { | |
| 4225 | + display: flex; | |
| 4226 | + align-items: center; | |
| 4227 | + flex-wrap: wrap; | |
| 4228 | + gap: var(--mxch-spacing-sm) var(--mxch-spacing-md); | |
| 4229 | +} | |
| 4230 | +.mxch-kb-reimport-footer .mxch-field-hint { | |
| 4231 | + margin-top: 0; | |
| 4232 | +} | |
| 4233 | +@media (max-width: 600px) { | |
| 4234 | + .mxch-kb-reimport-controls .mxch-field { | |
| 4235 | + flex-basis: 100%; | |
| 4236 | + } | |
| 4237 | + .mxch-kb-reimport-controls .mxch-btn { | |
| 4238 | + width: 100%; | |
| 4239 | + justify-content: center; | |
| 4240 | + } | |
| 4241 | + .mxch-kb-reimport-list li { | |
| 4242 | + flex-direction: column; | |
| 4243 | + align-items: flex-start; | |
| 4244 | + gap: var(--mxch-spacing-xs); | |
| 4245 | + } | |
| 4246 | + .mxch-kb-reimport-reasons { | |
| 4247 | + justify-content: flex-start; | |
| 4248 | + } | |
| 4249 | + .mxch-kb-reimport-list { | |
| 4250 | + max-height: 480px; | |
| 4063 | 4251 | } |
| 4064 | 4252 | } |