/* Shared table layout controls; each consumer supplies its own storage namespace. */
.strategy-column-layout-table{table-layout:fixed;max-width:none}
.strategy-column-layout-table :is(th,td):is(:first-child,:last-child){position:static;left:auto;right:auto;z-index:auto;border-left:0;border-right:0;box-shadow:none}
.strategy-column-layout-table th,.strategy-column-layout-table th:is(:first-child,:last-child){position:relative;padding-right:12px;background:#f8fafc}
.strategy-column-layout-table :is(th,td)[data-column-pin=left]{position:sticky;left:0;right:auto;z-index:1;border-right:1px solid #edf0f4;background:#fff}
.strategy-column-layout-table :is(th,td)[data-column-pin=right]{position:sticky;right:0;left:auto;z-index:1;border-left:1px solid #edf0f4;background:#fff;box-shadow:-3px 0 6px #172b4d08}
.strategy-column-layout-table th[data-column-pin]{z-index:2;background:#f8fafc}
.strategy-column-layout-table [hidden]{display:none!important}
.strategy-column-resize{position:absolute;top:0;right:0;bottom:0;width:8px;cursor:col-resize;touch-action:none;z-index:3;outline-offset:-2px}
.strategy-column-resize::after{content:"";position:absolute;top:20%;bottom:20%;right:3px;width:2px;border-radius:2px;background:#b8c6d8;opacity:0}
.strategy-column-resize:focus-visible{outline:2px solid var(--blue,#1677ff);background:#eaf3ff}
.strategy-column-resize:focus-visible::after{opacity:1;background:#1677ff}
.strategy-column-resizing,.strategy-column-resizing *{cursor:col-resize!important;user-select:none!important}
@media(hover:hover) and (pointer:fine){.strategy-column-layout-table th:hover>.strategy-column-resize::after{opacity:1}.strategy-column-resize:hover::after{background:#1677ff}}
:is(#strategyColumnDialog,.strategy-column-dialog){width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:hidden}
:is(#strategyColumnDialog,.strategy-column-dialog)[open]{display:flex;flex-direction:column}
.strategy-column-dialog:not(#strategyColumnDialog){padding:0;border:1px solid #dce5ef;border-radius:12px;background:#fff;color:#16283f;box-shadow:0 20px 60px #172b4d38}
.strategy-column-dialog:not(#strategyColumnDialog)::backdrop{background:#15284466}
.strategy-column-dialog:not(#strategyColumnDialog) .dialog-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4ebf4}
.strategy-column-dialog:not(#strategyColumnDialog) .dialog-head h2,.strategy-column-dialog:not(#strategyColumnDialog) .eyebrow{margin:0}
.strategy-column-dialog:not(#strategyColumnDialog) .eyebrow{font-size:12px;color:#53647d}
.strategy-column-dialog:not(#strategyColumnDialog) button,.strategy-column-dialog:not(#strategyColumnDialog) input[type=number]{border:1px solid #ccd8e7;border-radius:6px;background:#fff;color:inherit}
.strategy-column-dialog:not(#strategyColumnDialog) button{cursor:pointer}
.strategy-column-dialog:not(#strategyColumnDialog) button:disabled{opacity:.48;cursor:default}
.strategy-column-dialog:not(#strategyColumnDialog) button.primary{background:#1660c7;border-color:#1660c7;color:#fff}
.strategy-column-dialog:not(#strategyColumnDialog) .close{width:36px;height:36px;font-size:19px;line-height:1}
.strategy-column-dialog:not(#strategyColumnDialog) .strategy-column-actions>.actions{display:flex}
.strategy-column-form{display:flex;flex-direction:column;min-height:0;max-height:inherit;width:100%}
:is(#strategyColumnDialog,.strategy-column-dialog) .dialog-head{padding:14px 18px;gap:10px}
:is(#strategyColumnDialog,.strategy-column-dialog) .dialog-head>div{min-width:0}
:is(#strategyColumnDialog,.strategy-column-dialog) .dialog-head h2{font-size:17px}
:is(#strategyColumnDialog,.strategy-column-dialog) .close{flex:none}
.strategy-column-scroll{padding:0 18px 12px;overflow:auto;min-height:0;overscroll-behavior:contain;scroll-padding-block:10px}
.strategy-column-hint{font-size:12px;color:var(--muted,#667085);line-height:1.7;margin:12px 0}
.strategy-column-labels,.strategy-column-row{display:grid;grid-template-columns:minmax(0,1fr) 92px 70px;gap:12px;align-items:center}
.strategy-column-labels{padding:6px 0;font-size:11px;color:var(--muted,#667085)}
.strategy-column-row{border-top:1px solid #edf0f4;padding:7px 0;min-height:49px}
.strategy-column-visible{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.5;min-width:0;cursor:pointer}
.strategy-column-visible input{height:15px;width:15px;min-height:0;padding:0;margin:0;flex:none;accent-color:var(--blue,#1677ff)}
.strategy-column-visible span{overflow-wrap:anywhere;min-width:0}
.strategy-column-visible small{font-size:10px;color:var(--muted,#667085);flex:none}
.strategy-column-row [data-column-width]{width:100%;min-height:32px;height:32px;padding:5px 7px;font-size:12px;font-variant-numeric:tabular-nums}
.strategy-column-row [data-column-width][aria-invalid=true]{border-color:#d92d20}
.strategy-column-moves{display:flex;gap:4px}
.strategy-column-moves button{min-width:32px;min-height:32px;padding:4px;font-size:15px;line-height:1;box-shadow:none}
.strategy-column-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px;border-top:1px solid var(--line,#d9e2ec);background:#fbfcfd;flex:none}
.strategy-column-actions>.actions{gap:6px;flex-wrap:nowrap}
.strategy-column-actions button{font-size:12px;min-height:34px;padding:6px 10px;white-space:nowrap}
.strategy-column-error{margin:8px 0 12px;padding:8px 10px;border:1px solid #f0c9c2;border-radius:6px;background:#fff5f3;color:#b42318;font-size:12px;line-height:1.6}
:is(#strategyColumnDialog,.strategy-column-dialog) :is(button,input):focus-visible{outline:2px solid var(--blue,#1677ff);outline-offset:1px}
@media(max-width:700px){.strategy-column-layout-table :is(th,td)[data-column-pin=left]{position:static;left:auto;z-index:auto}.strategy-column-layout-table th[data-column-pin=left]{position:relative}.strategy-column-resize{width:10px}}
@media(max-width:360px){.strategy-column-layout-table :is(th,td)[data-column-pin=right]{position:static;right:auto;z-index:auto;box-shadow:none}.strategy-column-layout-table th[data-column-pin=right]{position:relative}}
@media(max-width:480px){:is(#strategyColumnDialog,.strategy-column-dialog){width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}:is(#strategyColumnDialog,.strategy-column-dialog) .dialog-head{padding:12px}.strategy-column-scroll{padding:0 12px 10px}.strategy-column-labels,.strategy-column-row{grid-template-columns:minmax(0,1fr) 74px 66px;gap:6px}.strategy-column-visible{gap:5px}.strategy-column-visible small{display:none}.strategy-column-moves{gap:2px}.strategy-column-moves button{min-height:34px}.strategy-column-row [data-column-width]{min-height:34px;height:34px}.strategy-column-actions{padding:10px 12px;gap:6px}.strategy-column-actions button{padding:6px 8px}}
