/* Field help uses native details disclosure, so click, Enter and Space share
   one accessible state. The opened note floats without moving form controls. */
.boyce-field-help { position:relative; display:inline-block; width:24px; height:24px; margin:0; padding:0; vertical-align:middle; color:#626b75; font:14px/1.5 'DM Sans',Arial,sans-serif; text-align:left; box-sizing:border-box; }
.boyce-field-help > summary { display:grid; place-items:center; width:22px; height:22px; min-height:22px; margin:0; padding:0; color:#000; background:transparent!important; border:0; border-radius:50%; box-shadow:none; font:600 14px/1 'DM Sans',Arial,sans-serif; list-style:none; cursor:pointer; box-sizing:border-box; }
.boyce-field-help > summary::-webkit-details-marker { display:none; }
.boyce-field-help > summary:hover,.boyce-field-help[open] > summary { color:#000; }
.boyce-field-help > summary:hover > span,.boyce-field-help[open] > summary > span { background:#c8c8c8; }
.boyce-field-help > summary:focus-visible { outline:3px solid #3d517d; outline-offset:3px; }
.boyce-field-help > .boyce-field-help__content { position:absolute; z-index:300; top:calc(100% + 8px); left:0; display:block; width:min(320px,calc(100vw - 48px)); max-width:calc(100vw - 48px); margin:0; padding:14px 16px; color:#343b43; background:#fff; border:1px solid #c4cdc5; border-radius:7px; box-shadow:0 8px 28px #17202c26; font:400 14px/1.6 'DM Sans',Arial,sans-serif; letter-spacing:normal; text-transform:none; white-space:normal; overflow-wrap:anywhere; box-sizing:border-box; }
.boyce-field-help:not([open]) > .boyce-field-help__content { display:none; }
.boyce-field-help-label { display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px; }
.boyce-field-help-row { display:flex; align-items:center; gap:8px; margin:0; }
/* Chrome exposes closed details through ::details-content. Hover and keyboard
   focus reveal the same note used by persistent native click disclosure. */
.boyce-field-help:is(:hover,:focus-within,[open])::details-content { content-visibility:visible; }
.boyce-field-help:is(:hover,:focus-within,[open]) > .boyce-field-help__content { display:block; }
.boyce-field-help__content::before { content:''; position:absolute; left:0; right:0; top:-10px; height:10px; }
/* Scoped anchors keep each floating note attached to its own circle while
   escaping modal/card scrolling. Clamp the complete note into the viewport;
   inline flipping alone can still leave a wide note outside a narrow dialog. */
@supports (anchor-name:--boyce-help) and (anchor-scope:--boyce-help) {
  .boyce-field-help { anchor-scope:--boyce-help; }
  .boyce-field-help > summary { anchor-name:--boyce-help; }
  .boyce-field-help > .boyce-field-help__content { position:fixed; position-anchor:--boyce-help; inset:auto; top:anchor(bottom); left:clamp(24px,anchor(left,24px),calc(100vw - min(320px,calc(100vw - 48px)) - 24px)); margin-top:8px; position-try-fallbacks:flip-block; }
}
/* Scale the visible circle and i to 80%, keeping the existing disclosure target
   and keyboard focus indicator separate from the decorative border. */
.boyce-field-help > summary > span { display:grid; place-items:center; width:17.6px; height:17.6px; border:0; border-radius:50%; background:#d9d9d9; color:#000; font:600 11.2px/1 'DM Sans',Arial,sans-serif; }
.boyce-record-panel:has(.boyce-field-help),.boyce-people-card:has(.boyce-field-help) { overflow:visible; }
@supports not ((anchor-name:--boyce-help) and (anchor-scope:--boyce-help)) {
  .boyce-field-help > .boyce-field-help__content { position:fixed; inset:auto 24px 24px; width:auto; max-width:calc(100vw - 48px); }
}
/* Escape dismisses a note even while its circle remains under the pointer. */
.boyce-field-help[data-boyce-help-dismissed] > .boyce-field-help__content { display:none !important; }
.boyce-field-help[data-boyce-help-dismissed]::details-content { content-visibility:hidden; }
/* Keep a circle beside its category title even when that title wraps. */
.boyce-field-help-label { flex-wrap:nowrap; max-width:100%; }
.boyce-field-help-label > :is(h1,h2,h3,h4,h5,h6) { margin:0; min-width:0; }
.boyce-field-help-label > .boyce-field-help { flex:0 0 24px; }
/* Use the same UI typeface for the client task symbol instead of an SVG-drawn
   letter, preserving the original image slot and 18px task-context button. */
[data-boyce-client-theme] .client-task-detail .task-manager-detail-title .task-manager-title-info > button > img.icon { width:11.2px; height:11.2px; visibility:hidden; }
[data-boyce-client-theme] .client-task-detail .task-manager-detail-title .task-manager-title-info > button::before { content:'i'; position:absolute; top:50%; left:50%; display:grid; place-items:center; width:11.2px; height:11.2px; border:0; border-radius:50%; background:#d9d9d9; color:#000; font:600 7.1273px/1 'DM Sans',Arial,sans-serif; transform:translate(-50%,-50%); pointer-events:none; }
[data-boyce-client-theme] .client-task-detail .task-manager-detail-title .task-manager-title-info > button:is(:hover,:focus-visible)::before { background:#c8c8c8; }
