/* Bone Flow #048 Table CSS / Package 1.0.32 / Runtime 1.0.16 */
:root{color-scheme:dark;font-family:Meiryo,"Yu Gothic",system-ui,sans-serif;--bg:#07111d;--panel:#151e2e;--card:#081827;--line:#294761;--text:#eef6ff;--muted:#a9bdd0;--blue:#55aaff;--green:#4be06b;--red:#ff5468;--orange:#f5a623;--cyan:#3dd8ff}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.55}.bf-page{width:min(1480px,calc(100% - 32px));margin:18px auto 56px}.bf-header,.bf-panel{background:var(--panel);border:1px solid #34465f;border-radius:12px;padding:20px;margin-bottom:16px}.bf-header h1{margin:0 0 8px;font-size:28px;letter-spacing:.01em}.bf-version-line{margin:0 0 14px;color:#c7d8e8;font-size:15px}.bf-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:10px 0}.bf-actions button,.bf-actions a,.bf-button{appearance:none;background:#142a40;color:#eef8ff;border:1px solid #3f6689;border-radius:7px;padding:8px 13px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.bf-actions button:hover,.bf-actions a:hover,.bf-button:hover{border-color:#61c8ff;background:#18334d}.bf-actions .primary{background:#103b58;border-color:#38baf8}.bf-actions .danger{border-color:#c96571;color:#ffd4d9}.bf-actions button:disabled{opacity:.45;cursor:not-allowed}.bf-dependency-line{margin-top:12px;color:#b8cee2}.bf-dependency-line a{color:#69c9ff;text-decoration:none;font-weight:700}.bf-dependency-line a:hover{text-decoration:underline}.bf-callout{margin-top:12px;background:#0a2032;border-left:3px solid #42bff8;border-radius:6px;padding:10px 13px;color:#cfe1ef}.bf-panel>h2{font-size:23px;margin:0 0 14px}.bf-panel>p{color:#c2d3e2}.bf-usage-grid{display:grid;grid-template-columns:minmax(390px,.88fr) minmax(470px,1.12fr);gap:14px}@media(max-width:980px){.bf-usage-grid{grid-template-columns:1fr}}.bf-card{background:var(--card);border:1px solid #31516b;border-radius:10px;padding:16px;min-width:0}.bf-card h3{margin:0 0 12px;font-size:17px}.bf-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px}.bf-control-grid label{display:grid;gap:5px;color:#c6d8e7;font-size:13px;min-width:0}.bf-control-grid input,.bf-control-grid select{width:100%;min-width:0;background:#07131f;color:#f4f9ff;border:1px solid #3b5d78;border-radius:6px;padding:8px 9px;font:inherit}.bf-control-grid .wide{grid-column:1/-1}.bf-check{display:flex!important;align-items:center;gap:8px!important}.bf-check input{width:auto!important}.bf-color-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:end}.bf-color-trigger{width:48px;height:38px;padding:4px;background:#142a40;border:1px solid #3f6689;border-radius:7px;cursor:pointer}.bf-color-swatch{display:block;width:100%;height:100%;border-radius:4px;border:1px solid #8096a8;background:#111}.bf-preview-stage{min-height:190px;display:grid;place-items:center;border:1px dashed #41637e;border-radius:9px;background:linear-gradient(135deg,#07131f,#0d2236);padding:22px}.bf-preview-stage input{min-width:min(360px,100%);max-width:100%;padding:11px;border:1px solid #4e7695;border-radius:7px}.bf-summary{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin:14px 0 0}.bf-summary dt{color:#9fb7ca}.bf-summary dd{margin:0;min-width:0;font-family:Consolas,monospace;overflow-wrap:anywhere}.bf-dependency-grid{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:8px;margin-top:14px}@media(max-width:1200px){.bf-dependency-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}}@media(max-width:760px){.bf-dependency-grid{grid-template-columns:1fr}}.bf-dep{background:#081827;border:1px solid #31516b;border-radius:8px;padding:9px 10px;min-width:0}.bf-dep strong{display:block;font-size:14px;overflow-wrap:anywhere}.bf-dep span{display:block;color:#9fb8cc;font-size:12px;margin-top:3px}.bf-dep.ok{border-color:#278f65}.bf-dep.fail{border-color:#c65360}.bf-joint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bf-joint-card.is-wide{grid-column:1/-1}@media(max-width:900px){.bf-joint-grid{grid-template-columns:1fr}.bf-joint-card.is-wide{grid-column:auto}}.bf-flow{position:relative;min-height:188px;border:1px solid #31516b;border-radius:9px;background:#061523;display:flex;align-items:center;justify-content:space-around;gap:54px;padding:34px 58px;overflow:hidden}.bf-joint-card:not(.is-wide) .bf-flow{min-height:152px;padding:28px 38px;gap:44px}.bf-flow svg,.bf-delivery-stage svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.bf-flow .joint-line-layer,.bf-delivery-stage .joint-line-layer{z-index:1}.bf-node{position:relative;z-index:2;min-width:130px;max-width:190px;padding:13px 14px;text-align:center;border-radius:8px;border:1px solid #5a7d98;background:#10243a;color:#f1f8ff;line-height:1.2}.bf-node.source{border-color:#4c9be0}.bf-node.text{border-color:#3dd7b4}.bf-node.target{border-color:#ad8df5}.bf-node::before,.bf-node::after{content:"";position:absolute;top:50%;width:8px;height:8px;border-radius:50%;background:#a5e2ff;border:2px solid #06101a;transform:translateY(-50%)}.bf-node::before{left:-6px}.bf-node::after{right:-6px}.bf-flow .joint-marker-layer,.bf-delivery-stage .joint-marker-layer{z-index:3}.bf-joint-diagnostics{display:grid;gap:8px;margin-top:10px}.bf-joint-card.is-wide .bf-joint-diagnostics{grid-template-columns:repeat(2,minmax(0,1fr))}.bf-joint-diag-group{min-width:0;border:1px solid #244158;border-radius:7px;overflow:hidden}.bf-joint-diag-group h4{margin:0;padding:7px 10px;background:#0b1c2b;color:#a7ddff;font-size:12px}.bf-joint-diag-row{display:grid;grid-template-columns:minmax(118px,.85fr) minmax(0,1.15fr);gap:10px;padding:5px 9px;border-top:1px solid #19354b;font:12px/1.35 Consolas,monospace;min-width:0}.bf-joint-diag-row span{color:#c0d5e7;min-width:0}.bf-joint-diag-row strong{display:block;min-width:0;text-align:right;color:#f1f7fd;overflow-wrap:anywhere;word-break:break-word}.bf-joint-diag-row strong.error{color:#ff97a2}.bf-joint-diag-row strong.warning{color:#ffd18a}@media(max-width:560px){.bf-joint-diag-row{grid-template-columns:1fr}.bf-joint-diag-row strong{text-align:left}}.bf-joint-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;color:#bed2e2;font-size:13px}.bf-joint-legend span{display:inline-flex;align-items:center;gap:7px}.bf-joint-legend i{width:38px;height:4px;border-radius:99px;display:inline-block}.bf-joint-legend .in{background:var(--blue)}.bf-joint-legend .out{background:var(--green)}.bf-joint-legend .mismatch{background:var(--orange)}.bf-joint-legend .error{background:var(--red)}.bf-delivery-stage{position:relative;min-height:180px;border:1px solid #31516b;border-radius:9px;background:#061523;display:flex;align-items:center;justify-content:space-between;padding:36px 110px;overflow:hidden}.bf-statebar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0}@media(max-width:700px){.bf-statebar{grid-template-columns:repeat(2,1fr)}}.bf-stat{background:#07131f;border:1px solid #2d4c65;border-radius:8px;padding:8px;text-align:center;color:#a8bdcf}.bf-stat b{display:block;margin-top:4px;font-size:17px;color:#f0f7fe;overflow-wrap:anywhere}.status-notrun{color:#aebcc8!important}.status-pass{color:#75e7a9!important}.status-fail{color:#ff8c98!important}.bf-log{white-space:pre-wrap;background:#050d16;border:1px solid #27445c;border-radius:8px;padding:10px;min-height:66px;font:12px/1.5 Consolas,monospace}.bf-visual-checks{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}.bf-results{display:grid;gap:4px;margin-top:10px}.bf-result{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;padding:6px 8px;border-bottom:1px solid #1d394f}.bf-result strong{font-family:Consolas,monospace}.bf-result.pass strong{color:#75e7a9}.bf-result.fail strong{color:#ff8c98}.bf-result span{min-width:0;overflow-wrap:anywhere}.bf-completion{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}@media(max-width:1000px){.bf-completion{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.bf-completion{grid-template-columns:1fr}}.bf-completion>div{background:#07131f;border:1px solid #2d4c65;border-radius:8px;padding:9px;min-width:0}.bf-completion span{display:block;color:#9fb6c9;font-size:12px}.bf-completion b{display:block;margin-top:4px;overflow-wrap:anywhere}.bf-functional{font-family:Consolas,monospace;background:#050d16;border:1px solid #27445c;padding:12px;border-radius:8px;overflow-wrap:anywhere}.bf-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.bf-joint-waiting-spinner,.bf-joint-blocked-ban,.bf-joint-error-marker,.bf-joint-compatibility-error{position:relative;z-index:3}

/* Bone Flow #048 Table */
.bone-table-host{width:100%;min-width:0}.bone-table{overflow:auto;border-radius:9px;box-sizing:border-box}.bone-table--inherit-parent{display:block;width:100%;max-width:100%}.bone-table--free{display:inline-block;width:auto;max-width:100%;vertical-align:top}.bone-table--free .bone-table__table{width:auto}.bone-table__table{width:100%;border-collapse:separate;border-spacing:0;background:#07131f;color:#eef6ff}.bone-table__caption{caption-side:top;text-align:left;padding:10px 12px;font-weight:700;color:#dff3ff;background:#0c2133;border:1px solid #31516b;border-bottom:0;border-radius:8px 8px 0 0}.bone-table__table th,.bone-table__table td{padding:10px 12px;border-bottom:1px solid #244158;text-align:left;vertical-align:middle;overflow-wrap:anywhere}.bone-table__table th{font-weight:700;color:#cfe7f8;background:#0b1c2b;position:relative}.bone-table--bordered .bone-table__table th,.bone-table--bordered .bone-table__table td{border-right:1px solid #244158}.bone-table--bordered .bone-table__table th:first-child,.bone-table--bordered .bone-table__table td:first-child{border-left:1px solid #244158}.bone-table--bordered .bone-table__table thead tr:first-child th{border-top:1px solid #244158}.bone-table--striped .bone-table__table tbody tr:nth-child(even) td{background:#0a1a29}.bone-table--hover .bone-table__table tbody tr:hover td{background:#102943}.bone-table--compact .bone-table__table th,.bone-table--compact .bone-table__table td{padding:6px 9px}.bone-table__empty{text-align:center!important;color:#9fb6c9;padding:24px!important}.bone-table--theme-light .bone-table__table{background:#fff;color:#16202b}.bone-table--theme-light .bone-table__table th{background:#edf3f8;color:#172435}.bone-table--theme-light .bone-table__table td{border-color:#cbd6df}.bone-table--theme-light.bone-table--striped .bone-table__table tbody tr:nth-child(even) td{background:#f6f9fb}.bone-table--theme-light.bone-table--hover .bone-table__table tbody tr:hover td{background:#e9f5ff}.bone-table--theme-neon .bone-table__table{background:#04131c;color:#dbfbff;box-shadow:0 0 0 1px #13566b inset}.bone-table--theme-neon .bone-table__table th{background:#062532;color:#63e9ff;text-shadow:0 0 8px rgba(61,216,255,.35)}.bone-table--theme-neon .bone-table__table td{border-color:#12435a}.bf-json-editor{width:100%;min-height:126px;resize:vertical;background:#07131f;color:#f4f9ff;border:1px solid #3b5d78;border-radius:6px;padding:9px;font:12px/1.45 Consolas,monospace}.bf-table-preview{min-height:270px;align-items:start;place-items:stretch;padding:16px}.bf-table-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.bf-table-meta>div{background:#07131f;border:1px solid #2d4c65;border-radius:8px;padding:8px}.bf-table-meta span{display:block;color:#9fb6c9;font-size:12px}.bf-table-meta b{display:block;margin-top:3px}.bf-reference-line{margin-top:8px;color:#9fb6c9}.bf-reference-line a{color:#69c9ff}.bf-language-select{background:#07131f;color:#f4f9ff;border:1px solid #3f6689;border-radius:7px;padding:8px 10px;font:inherit;font-weight:700}.bf-table-boundary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.bf-table-boundary div{background:#07131f;border:1px solid #2d4c65;border-radius:8px;padding:10px}.bf-table-boundary strong{display:block;color:#8fe9ff;margin-bottom:4px}@media(max-width:760px){.bf-table-meta,.bf-table-boundary{grid-template-columns:1fr}.bf-control-grid{grid-template-columns:1fr}}

/* #048 v1.0.11 Cell Renderer Registry / Column +/- / snapToCell / Runtime-owned Property Schema */
.bone-table__cell-content{min-width:0;max-width:100%;position:relative}.bone-table__cell-content>[class*=bone-],.bone-table__cell-content>.bf-display-timeline{max-width:100%}.bone-table__cell-content[data-cell-renderer-status="unavailable"],.bone-table__cell-content[data-cell-renderer-status="unregistered"],.bone-table__cell-content[data-cell-renderer-status="error"]{color:#ffbf75;font-family:Consolas,monospace;font-size:12px}.bone-table__cell-content[data-cell-renderer="021"]{display:grid;place-items:center;min-height:74px}.bone-table__cell-content[data-cell-renderer="054"]{min-width:360px}.bf-cell-ui-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid #31516b;border-radius:8px;background:#061523}.bf-cell-ui-editor>strong,.bf-cell-ui-editor>.wide,.bf-cell-ui-editor>.bf-actions,.bf-cell-ui-editor>.bf-cell-registry-note{grid-column:1/-1}.bf-cell-ui-editor label{display:grid;gap:5px}.bf-cell-registry-note{margin:0;color:#a9bdd0;font-size:12px}.bf-cell-registry-note code{color:#7fe7ff}.bone-table__cell-fallback{overflow-wrap:anywhere}@media(max-width:760px){.bf-cell-ui-editor{grid-template-columns:1fr}.bone-table__cell-content[data-cell-renderer="054"]{min-width:260px}}

/* #048 v1.0.6 target column controls */
.bf-cell-target-field{display:flex;flex-direction:column;gap:6px;min-width:0}.bf-cell-target-field>span{font-size:12px;color:var(--muted,#9eb1c9)}.bf-cell-target-control{display:grid;grid-template-columns:minmax(0,1fr) 34px 34px;gap:6px;align-items:center}.bf-cell-target-control select{min-width:0;width:100%}.bf-mini-button{min-width:34px;height:32px;padding:0 8px;font-size:18px;line-height:1;border-radius:7px}.bf-mini-button.danger{font-weight:700}.bf-mini-button:disabled{opacity:.45;cursor:not-allowed}

/* #048 v1.0.6 cell element snap-to-cell (default ON) */
.bone-table__table td.bone-table__cell--snap{padding:0!important}.bone-table__cell-content--snap{width:100%;max-width:100%;min-height:100%;display:flex;align-items:stretch;justify-content:stretch;box-sizing:border-box}.bone-table__cell-content--snap>*{width:100%;max-width:100%;min-width:0;box-sizing:border-box;align-self:stretch}.bone-table__cell-content--snap[data-cell-renderer="plain"],.bone-table__cell-content--snap[data-cell-renderer-status="unavailable"],.bone-table__cell-content--snap[data-cell-renderer-status="unregistered"],.bone-table__cell-content--snap[data-cell-renderer-status="error"]{padding:10px 12px}.bone-table--compact .bone-table__cell-content--snap[data-cell-renderer="plain"],.bone-table--compact .bone-table__cell-content--snap[data-cell-renderer-status="unavailable"],.bone-table--compact .bone-table__cell-content--snap[data-cell-renderer-status="unregistered"],.bone-table--compact .bone-table__cell-content--snap[data-cell-renderer-status="error"]{padding:6px 9px}.bone-table__cell-content--snap[data-cell-renderer="021"]{place-items:stretch}.bone-table__cell-content--snap[data-cell-renderer="054"]{min-width:0;display:block}.bone-table__cell-content--snap[data-cell-renderer="054"]>.bone-display-timeline{width:100%;max-width:none;align-self:auto}

.bf-renderer-property-shell{border:1px solid #294a63;border-radius:8px;padding:10px;background:#07131f}.bf-renderer-property-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.bf-renderer-property-head>span{color:#7fe7ff;font:12px/1.3 Consolas,monospace}.bf-renderer-property-editor{display:grid;gap:10px}.bf-renderer-property-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 10px;margin:0;border:1px solid #244158;border-radius:7px;padding:10px}.bf-renderer-property-group legend{padding:0 6px;color:#a7ddff;font-weight:700;font-size:12px}.bf-renderer-property-field{display:grid;gap:4px;min-width:0}.bf-renderer-property-field>span{font-size:12px;color:#bdd0df}.bf-renderer-property-field input:not([type=checkbox]),.bf-renderer-property-field select,.bf-renderer-property-field textarea{width:100%;min-width:0;background:#050f19;color:#f4f9ff;border:1px solid #365a75;border-radius:6px;padding:7px 8px;font:inherit}.bf-renderer-property-field.is-boolean{display:flex;align-items:center;gap:8px;flex-direction:row-reverse;justify-content:flex-end}.bf-renderer-property-field.is-boolean input{width:auto}.bf-renderer-property-field small{color:#829bad;font-size:11px}.bf-renderer-property-empty{margin:0;color:#91a9bc;font-size:12px}@media(max-width:760px){.bf-renderer-property-group{grid-template-columns:1fr}}


/* #048 v1.0.21 Table Theme inheritance to Cell Renderer children */
.bone-table__cell-content[data-bone-table-theme="dark"]{color:#eef6ff}
.bone-table__cell-content[data-bone-table-theme="light"]{color:#16202b}
.bone-table__cell-content[data-bone-table-theme="neon"]{color:#dbfbff}
.bone-table__cell-content[data-bone-table-theme="light"] .bone-icon-view{color:#16202b}
.bone-table__cell-content[data-bone-table-theme="neon"] .bone-icon-view{color:#dbfbff}

/* #048 v1.0.22 formal inheritParent Property */
.bone-table[data-inherit-parent="true"]{max-width:100%}
.bone-table[data-inherit-parent="false"]{max-width:100%}

/* #048 v1.0.24 tableStyle presets + visible Runtime-owned Property Schema */
.bf-schema-source{margin:0 0 10px;color:#a9bdd0}.bf-schema-source code{color:#8eefff}.bf-schema-table-wrap{overflow:auto;border:1px solid #244158;border-radius:8px;background:#07131f}.bf-runtime-schema-table{width:100%;min-width:980px;border-collapse:collapse;font-size:12px}.bf-runtime-schema-table th,.bf-runtime-schema-table td{padding:8px 10px;border-right:1px solid #244158;border-bottom:1px solid #244158;text-align:left;vertical-align:top}.bf-runtime-schema-table th{position:sticky;top:0;background:#0b1b2a;color:#9dcbff;z-index:1}.bf-runtime-schema-table tr:last-child td{border-bottom:0}.bf-runtime-schema-table th:last-child,.bf-runtime-schema-table td:last-child{border-right:0}.bf-runtime-schema-table td.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#8eefff;white-space:nowrap}.bf-runtime-schema-table tbody tr:hover{background:rgba(91,166,255,.06)}

/* #048 v1.0.24 tableStyle presets */
.bone-table--borderless .bone-table__table th,.bone-table--borderless .bone-table__table td{border-left:0!important;border-right:0!important;border-top:0!important;border-bottom:0!important}.bone-table--style-hover .bone-table__table tbody tr:hover,.bone-table--hover .bone-table__table tbody tr:hover{background:rgba(65,145,220,.18)}
/* #048 v1.0.25 Light-theme row hover overlay for Cell Renderer content
 * #054 and other child UIs may paint their own light background over the <td>.
 * Keep the Table-owned hover visible across the complete row without modifying child runtimes. */
.bone-table--theme-light.bone-table--hover .bone-table__table tbody tr:hover td{position:relative;isolation:isolate;background:#e9f5ff}
.bone-table--theme-light.bone-table--hover .bone-table__table tbody tr:hover td::after{content:"";position:absolute;inset:0;z-index:2147483646;pointer-events:none;background:rgba(65,145,220,.12)}

/* #048 Table 1.0.16: snapToCell:true is full-cell geometry for built-in #029.
   Ownership: Table -> td / renderer host.  No changes to the Frozen #029 Runtime.
   The table-row height is established by the intrinsic renderer, then snap hosts
   stretch to the row edge (including taller account labels in adjacent cells).
   This rule is deliberately limited to renderer 029 and snapToCell=true;
   ordinary NumberBox instances and snapToCell=false remain untouched. */
.bone-table__table td.bone-table__cell--snap[data-cell-renderer="029"]{height:1px}
.bone-table__table td.bone-table__cell--snap[data-cell-renderer="029"] > .bone-table__cell-content--snap[data-cell-renderer="029"]{height:100%;min-height:36px;align-items:stretch}
.bone-table__table td.bone-table__cell--snap[data-cell-renderer="029"] > .bone-table__cell-content--snap[data-cell-renderer="029"] > .bone-numberbox{height:100%!important;min-height:36px}
.bone-table__table td.bone-table__cell--snap[data-cell-renderer="029"] .bone-numberbox__voucher{padding-top:0;padding-bottom:0;border-top:0;border-bottom:0;border-radius:0}
.bone-table__table td.bone-table__cell--snap[data-cell-renderer="029"] .bone-numberbox__voucher-grid{height:100%}

/* #048 v1.0.32 / #017 Text parity: retain readable inset in snapped cells.
   #029 NumberBox voucher and #054 Timeline must remain edge-to-edge. */
.bone-table__table td.bone-table__cell--snap[data-cell-renderer="017"] > .bone-table__cell-content--snap[data-cell-renderer="017"] {
  padding: 10px 12px;
  box-sizing: border-box;
}
.bone-table--compact .bone-table__table td.bone-table__cell--snap[data-cell-renderer="017"] > .bone-table__cell-content--snap[data-cell-renderer="017"] {
  padding: 6px 9px;
}
