/* One control surface: search and filters, then secondary view/draft tools. */
.library-toolbar{position:relative;margin:0 0 16px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff)}
.library-toolbar .filterbar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin:0;min-width:0}
.library-toolbar .searchbox{flex:1 1 180px;min-width:140px;margin:0;border:0;background:#f5f8f6;padding:10px 12px;border-radius:7px}
.library-toolbar .searchbox input{font-size:12px;width:100%;min-width:0;background:transparent}
.library-toolbar .searchbox .icon{width:16px;height:16px;flex-shrink:0}
.library-toolbar .control{height:38px;padding:8px 10px;font-size:12px;max-width:100%;background:transparent;border-color:transparent;border-radius:7px;color:var(--ink)}
.library-toolbar .control:hover{background:#f4f7f5;border-color:var(--line)}
.library-toolbar #market{max-width:130px}.library-toolbar #status{max-width:168px}.library-toolbar #sort{max-width:151px}
.library-viewtools{display:flex;align-items:center;gap:7px;flex-shrink:0;padding-left:8px;border-left:1px solid var(--line)}
.library-view-menu{position:relative;color:var(--ink)}
.library-view-menu>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;padding:9px 8px;border-radius:7px;font-size:12px;white-space:nowrap}
.library-view-menu>summary::-webkit-details-marker{display:none}
.library-view-menu>summary:hover,.library-view-menu[open]>summary{background:#edf4ef;color:#315f48}
.library-view-menu>summary>.icon{width:15px;height:15px}.library-view-menu>summary>.icon:last-child{width:12px;height:12px;color:var(--muted)}
.view-applied-dot{width:5px;height:5px;border-radius:50%;background:#3a8765}
.library-view-popover{position:absolute;right:0;top:calc(100% + 9px);z-index:35;width:254px;padding:12px;border:1px solid #d9e4dc;border-radius:10px;background:#fff;box-shadow:0 12px 32px #19362a18}
.library-menu-label{display:block;padding:3px 8px 8px;color:var(--muted);font-size:10px;font-weight:650;letter-spacing:.04em}
.library-menu-label[for]{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.library-preset,.library-save-view{display:flex;align-items:center;gap:9px;width:100%;padding:10px 8px;background:transparent;border:0;border-radius:6px;text-align:left;font-size:12px;color:var(--ink);cursor:pointer}
.library-preset>.icon,.library-save-view>.icon{width:15px;height:15px;color:#668371}
.library-preset>span{flex:1}.library-preset:hover,.library-save-view:hover{background:#f3f8f4}.library-preset.active{background:#eaf3ec;color:#306348}
.library-view-popover #saved-view{width:100%;height:36px;background:#f6f8f7;border:1px solid var(--line)}
.library-save-scope{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:12px}
.library-save-view{margin-top:9px;padding-top:12px;border-top:1px solid var(--line);border-radius:0;color:#41684e}
.library-drafts.draft-resume{display:flex;align-items:center;gap:6px;padding:8px 9px;min-height:36px;font-size:12px;border-radius:7px;white-space:nowrap;background:#f8f5fb;border:1px solid #e9dff0;color:#856699}
.library-drafts .icon{width:15px;height:15px}.library-drafts b{font-size:10px;border-radius:4px;padding:2px 5px;background:#eee5f5;font-weight:650}
.library-filter-context{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid #edf1ee;color:var(--muted);font-size:11px}
.library-applied-view{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:0;border-radius:5px;background:#edf4ed;color:#5e805e;font-size:11px}
.library-applied-view .icon{width:12px;height:12px}.library-applied-view .icon:last-child{margin-left:5px}
.library-reset{display:inline-flex;align-items:center;gap:5px;margin-left:auto;border:0;background:none;color:var(--muted);font-size:11px;cursor:pointer;padding:4px}.library-reset .icon{width:12px;height:12px}
.library-toolbar button:focus-visible,.library-toolbar summary:focus-visible,.library-toolbar select:focus-visible,.library-toolbar input:focus-visible{outline:2px solid #72a68a;outline-offset:2px}
.main:has(#factory-content)>.section-tabs{margin-bottom:18px;gap:22px}
.main:has(#factory-content)>.page-head{margin-bottom:22px}
.workspace-pulse{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:44px;margin:-6px 0 22px;padding:0 0 14px;border-bottom:1px solid var(--line);font-size:12px}
.workspace-pulse-label{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.workspace-pulse-label>.icon{width:15px;height:15px}
.workspace-pulse button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:#426d54;padding:6px 0;font-size:12px;cursor:pointer}
.workspace-pulse button:hover{color:#174c34;text-decoration:underline;text-underline-offset:4px}
.workspace-pulse button .icon{width:13px;height:13px}.workspace-pulse b{font-weight:650;font-variant-numeric:tabular-nums}
.workspace-pulse-divider{height:15px;width:1px;background:var(--line)}
.workspace-pulse-idle{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.workspace-pulse-idle>.icon{width:13px;height:13px}
.workspace-pulse-track{margin-left:auto}
@media(max-width:1100px){
 .library-toolbar .filterbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .library-toolbar .searchbox{grid-column:1 / span 2;order:0;min-width:0}
 .library-viewtools{grid-column:3;order:1;justify-content:flex-end}
 .library-toolbar #market{order:2}.library-toolbar #status{order:3}.library-toolbar #sort{order:4}
 .library-toolbar #market,.library-toolbar #status,.library-toolbar #sort{width:100%;max-width:none;background:#f7f9f7;border:1px solid #e7ede8}
 .library-view-menu>summary>span{display:none}.library-viewtools{gap:4px;padding-left:4px}.library-drafts.draft-resume{gap:4px;padding:8px}
}
@media(max-width:760px){
 .library-toolbar{padding:9px;margin-bottom:14px}.library-toolbar .filterbar{gap:7px}
 .library-toolbar .control{font-size:11px;padding:8px 5px}.library-toolbar .searchbox{padding:10px}.library-toolbar .searchbox input{font-size:12px}
 .library-viewtools{padding:0;border-left:0}.library-view-menu>summary{padding:9px 6px;gap:4px}
 .library-drafts.draft-resume{font-size:11px;padding:7px;gap:5px}.library-drafts>span{display:none}
 .library-view-popover{right:-52px;max-width:calc(100vw - 48px)}
 .main:has(#factory-content)>.section-tabs{gap:19px;margin-bottom:14px}.main:has(#factory-content)>.page-head{margin-bottom:18px}
 .workspace-pulse{gap:9px;padding-bottom:12px;margin-bottom:16px}.workspace-pulse-label{flex-basis:100%}.workspace-pulse-track{display:none}
}
/* Library rows own their layout: size against available content, not the window.
   Status may grow after an async run observation; it must never paint over scores. */
.library{container-type:inline-size;container-name:strategy-library}
.library>.strategy-row,.library>.table-header{grid-template-columns:18px minmax(0,1fr) minmax(0,1fr);gap:10px 12px;padding:18px 16px}
.library>.table-header{display:none}
.library>.strategy-row{grid-template-areas:"select identity identity" ". status status" ". scores scores" ". pnl dd" ". actions actions";align-items:start;min-height:0}
.library>.strategy-row>*{min-width:0;max-width:100%}
.library>.strategy-row>.check{grid-area:select;margin-top:4px}
.library>.strategy-row>.stage-marker{grid-area:stage;display:none}
.library>.strategy-row>.identity-col{grid-area:identity}
.library>.strategy-row>.status-col{grid-area:status;margin:0;display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.library>.strategy-row>.score-cell{grid-area:scores;display:flex!important;justify-content:flex-start}
.library>.strategy-row>.pnl-col{grid-area:pnl}
.library>.strategy-row>.dd-col{grid-area:dd;display:flex}
.library>.strategy-row>.row-actions{grid-area:actions;display:flex;flex-wrap:wrap;justify-content:flex-start}
.library>.strategy-row>.chevron{grid-area:chevron;display:none}
.library>.strategy-row .compact-scores{display:none}
.library>.strategy-row .status-col :is(.pill,.label-tag){max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5;text-align:left;align-items:flex-start}
.library>.strategy-row .status-col svg{flex-shrink:0;margin-top:2px}
.library>.strategy-row .identity-col :is(.identifier,.algorithm-caption){overflow-wrap:anywhere}
.library>.strategy-row .identity-scope{min-width:0;max-width:100%;flex-wrap:wrap}
.library>.strategy-row .metric-tile{border:0;padding:0;overflow-wrap:anywhere}
.library>.strategy-row .score-evidence{width:auto;max-width:100%;align-items:flex-start}
.library>.strategy-row .score-set{flex-wrap:wrap;gap:9px}
.library>.strategy-row .score-ring{flex-shrink:0}
.library>.strategy-row .score-review-state{max-width:100%;text-align:left;white-space:normal}
.score-evidence .score-review-state.score-explainer{display:inline-flex;align-items:center;gap:4px;border-radius:4px;padding:2px 0;line-height:1.5;color:#617b70}
.score-explainer:hover{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.score-explainer svg{width:12px;height:12px;flex-shrink:0}
.calibration-explanation{padding:16px 18px;border-left:3px solid #92b7a4;background:#f4f8f5;border-radius:0 8px 8px 0;margin-bottom:20px}
.calibration-explanation p{margin:7px 0 0;line-height:1.7}
@container strategy-library (min-width:700px){
 .library>.strategy-row{grid-template-columns:18px 16px minmax(0,1fr) 150px 100px 110px;grid-template-areas:"select stage identity identity identity actions" ". . status scores pnl dd";gap:16px 12px}
 .library>.strategy-row>.stage-marker{display:flex}
 .library>.strategy-row>.row-actions{justify-content:flex-end}
}
@container strategy-library (min-width:1100px){
 .library>.strategy-row,.library>.table-header{grid-template-columns:18px 16px minmax(220px,1fr) 150px 150px 100px 72px 110px 12px;gap:12px;align-items:center}
 .library>.strategy-row{grid-template-areas:"select stage identity status scores pnl dd actions chevron";padding-top:20px;padding-bottom:20px}
 .library>.strategy-row>.chevron{display:block}
 .library>.table-header{display:grid;height:auto;min-height:40px;padding-top:10px;padding-bottom:10px}
 .library>.table-header>.score-col,.library>.table-header>.dd-col{display:block!important}
 .library>.table-header>.score-col{text-align:center}
 .library>.strategy-row>.score-cell{justify-content:center}
 .library>.strategy-row .score-evidence{align-items:center}
 .library>.strategy-row .score-review-state{text-align:center}
}
