/* Generic formwork library, scoped to the existing planner. */
.catalog-library { --catalog-green:#424242; --catalog-line:#e2e2e2; color:#323232; }
.catalog-mode { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:18px; }
.catalog-mode button { font-size:12px; padding:10px 17px; }
.catalog-mode button.active { color:white; background:#424242; border-color:#424242; }
.catalog-mode>span { margin-left:auto; color:#7d7d7d; font-size:11px; }
.catalog-demo-start { display:flex; gap:24px; align-items:center; justify-content:space-between; padding:20px 0; }
.catalog-demo-start strong { font-size:14px; }
.catalog-demo-start p { max-width:650px; font-size:12px; color:#6f6f6f; line-height:1.65; margin:7px 0 0; }
.catalog-demo-start>div:last-child { display:flex; gap:8px; flex-wrap:wrap; flex-shrink:0; }
.catalog-demo-start button { font-size:12px; }
.catalog-research { display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:20px 0 8px; }
.catalog-research article { border-top:1px solid #e2e2e2; padding-top:15px; }
.catalog-research article>span { color:#7c7c7c; font-size:10px; }
.catalog-research h3 { font-size:14px; margin:8px 0; }
@media(max-width:1000px) { .catalog-demo-start { flex-direction:column; align-items:flex-start; gap:12px; } }
@media(max-width:620px) { .catalog-mode>span { width:100%; margin:4px 0 0; } .catalog-research { grid-template-columns:1fr; } }
.catalog-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin:12px 0 24px; }
.formwork-workspace .catalog-heading h2 { font-size:clamp(25px,2.4vw,34px); letter-spacing:-1px; line-height:1.18; margin:8px 0 10px; }
.catalog-heading p { max-width:560px; color:#676767; font-size:14px; line-height:1.6; margin:0; }
.catalog-tools { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.catalog-tools button { font-size:12px; white-space:nowrap; }
.catalog-stats { display:grid; grid-template-columns:repeat(4,1fr); background:#eeeeee; border:1px solid #dedede; border-radius:12px; padding:19px 8px; }
.catalog-stats>div { padding:0 20px; border-right:1px solid #d5d5d5; display:flex; flex-direction:column; gap:4px; }
.catalog-stats>div:last-child { border:0; }
.catalog-stats strong { font-size:28px; font-weight:650; line-height:1.2; }
.catalog-stats span { font-size:11px; color:#696969; }
.catalog-context { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:18px 0 12px; }
.catalog-context p { margin:0; color:#6e6e6e; font-size:12px; line-height:1.6; }
.catalog-context strong { color:#494949; }
.catalog-context button { flex-shrink:0; font-size:12px; }
.catalog-evidence { margin:0 0 24px; padding:12px 15px; border:1px solid #e5e5e5; border-radius:8px; background:#fcfcf8; }
.catalog-evidence summary { cursor:pointer; font-size:12px; color:#5f5f5f; }
.catalog-evidence p { font-size:12px; line-height:1.7; color:#6e6e6e; margin:10px 0 0; }
.catalog-library a { color:#5a5a5a; text-decoration:underline; text-underline-offset:3px; }
.catalog-filters { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:12px; margin:12px 0; }
.catalog-filters label,.catalog-entry-grid>label { display:flex; flex-direction:column; gap:7px; font-size:11px; font-weight:600; color:#666666; }
.catalog-library input:not([type=checkbox]),.catalog-library select { box-sizing:border-box; width:100%; min-width:0; border:1px solid #d8d8d8; background:white; border-radius:7px; padding:10px 12px; font-size:13px; color:#353535; }
.catalog-library input:focus,.catalog-library select:focus { outline:2px solid #c29e4f; outline-offset:2px; }
.catalog-categories { display:flex; gap:7px; flex-wrap:wrap; margin:16px 0 22px; }
.catalog-categories button { border-radius:25px; font-size:12px; padding:9px 15px; border:1px solid #dcdcdc; background:transparent; color:#666666; }
.catalog-categories button.active { background:#424242; border-color:#424242; color:white; }
.catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.catalog-card { background:white; border:1px solid var(--catalog-line); border-radius:12px; overflow:hidden; }
.catalog-card.expanded { border-color:#a3a3a3; box-shadow:0 4px 18px #33333310; }
.catalog-card-top { display:grid; grid-template-columns:130px minmax(0,1fr); gap:18px; padding:20px 18px 16px; min-height:180px; }
.catalog-photo { height:150px; position:relative; display:flex; align-items:center; justify-content:center; background:#f7f7f7; border-radius:8px; padding:8px 8px 24px; }
.catalog-photo img { max-width:100%; max-height:116px; object-fit:contain; }
.catalog-photo>small { position:absolute; bottom:6px; left:4px; right:4px; font-size:8px; text-align:center; line-height:1.2; color:#7f7f7f; }
.catalog-card-intro .eyebrow { font-size:9px; letter-spacing:1px; color:#8e8e8e; }
.formwork-workspace .catalog-card-intro h3 { font-size:19px; line-height:1.2; letter-spacing:-.4px; margin:8px 0; }
.catalog-card-intro>p { font-size:12px; line-height:1.55; color:#737373; margin:0 0 12px; }
.catalog-card-count { font-size:11px; color:#626262; }
.catalog-card-count strong { font-size:19px; color:#373737; margin-right:3px; }
.catalog-card-count span { display:inline-block; color:#8b8b8b; margin-left:4px; }
.catalog-card-actions { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #efefef; padding:12px 16px; gap:8px; }
.catalog-card-actions button { font-size:11px; padding:8px 12px; }
.catalog-card-actions button:first-child { border:0; background:transparent; padding-left:0; color:#5f5f5f; }
.catalog-card-details { padding:0 16px 16px; }
.catalog-card-details>p { font-size:11px; line-height:1.7; color:#737373; border-top:1px solid #ebebeb; padding-top:14px; margin:0 0 14px; }
.catalog-presets { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin:12px 0; }
.catalog-presets>span { width:100%; font-size:10px; text-transform:uppercase; letter-spacing:.9px; color:#7e7e7e; }
.catalog-presets button { font-size:11px; padding:6px 9px; }
.catalog-empty { font-size:12px; padding:20px 12px; background:#f7f7f7; border-radius:7px; color:#777777; line-height:1.6; }
.catalog-photo-pending { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#939393; font-size:10px; line-height:1.45; }
.catalog-photo-pending>span:first-child { font-size:38px; line-height:1.5; color:#cdcdcd; }
.catalog-stock-row { display:grid; grid-template-columns:46px minmax(0,1fr) 92px; gap:9px; padding:14px 0; border-top:1px solid #e9e9e9; }
.catalog-mini-photo { display:flex; align-items:center; justify-content:center; background:#f7f7f7; border-radius:5px; align-self:start; min-height:68px; }
.catalog-mini-photo img { max-height:65px; max-width:40px; object-fit:contain; }
.catalog-mini-photo svg { width:46px; }
.catalog-mini-photo .catalog-photo-pending { font-size:7px; padding:6px 2px; }
.catalog-mini-photo .catalog-photo-pending>span:first-child { font-size:20px; }
.catalog-stock-description { display:flex; flex-direction:column; gap:5px; align-items:start; overflow-wrap:anywhere; }
.catalog-stock-description strong { font-size:13px; }
.catalog-stock-description span { font-size:10px; color:#787878; }
.catalog-stock-description small { font-size:9px; color:#929292; }
.catalog-stock-description button { font-size:10px; padding:3px 0; }
.catalog-stock-controls { display:flex; flex-direction:column; gap:8px; }
.catalog-count { display:flex; flex-direction:column; gap:4px; font-size:10px; color:#7c7c7c; }
.catalog-count input { text-align:center; font-weight:700; }
.catalog-order { display:flex; align-items:center; gap:7px; font-size:11px; color:#616161; line-height:1.4; }
.catalog-order input[type=checkbox] { width:15px; height:15px; flex-shrink:0; margin:0; accent-color:#4b4b4b; }
.catalog-stock-controls .catalog-order { font-size:9px; }
.catalog-footnote { font-size:11px; line-height:1.7; color:#7d7d7d; margin:20px 0; }
.catalog-feedback { background:#f2f2f2; border-radius:7px; color:#5a5a5a; font-size:12px; padding:11px 14px; margin:12px 0; }
.catalog-editor { border:1px solid #9e9e9e; background:#f9f9f9; border-radius:12px; padding:22px; margin-bottom:22px; scroll-margin-top:150px; }
.catalog-editor fieldset { border:0; padding:0; margin:0; min-width:0; }
.catalog-editor-heading { display:flex; justify-content:space-between; gap:20px; margin-bottom:20px; }
.catalog-editor-heading h3 { font-size:21px; margin:5px 0; }
.catalog-editor-heading button { align-self:start; font-size:11px; }
.catalog-entry-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin-bottom:18px; }
.catalog-editor .small { line-height:1.6; margin:12px 0 18px; }
.catalog-advanced { margin:28px 0; border-top:1px solid #e1e1e1; padding-top:18px; }
.catalog-advanced>summary { font-size:12px; color:#717171; cursor:pointer; padding:8px 0 16px; }
.catalog-advanced .inventory-focus { display:none; }
.catalog-advanced .inventory-head { margin-top:16px; }
.catalog-advanced .inventory-head h2 { font-size:20px; }
@media(max-width:1250px) { .catalog-grid { grid-template-columns:1fr; } .catalog-card-top { grid-template-columns:140px 1fr; min-height:160px; } .catalog-heading { flex-direction:column; gap:16px; } .catalog-tools { justify-content:start; } }
@media(max-width:800px) { .catalog-heading { margin-top:5px; } .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .catalog-card-top { grid-template-columns:95px 1fr; padding:16px 12px; gap:12px; } .catalog-photo { height:130px; } .catalog-stats>div { padding:0 12px; } .catalog-entry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .catalog-grid { grid-template-columns:1fr; } .catalog-stats { grid-template-columns:repeat(2,1fr); gap:20px 0; } .catalog-stats>div:nth-child(2) { border:0; } .catalog-stats strong { font-size:25px; } .catalog-context { align-items:start; flex-direction:column; gap:10px; } .catalog-filters { grid-template-columns:1fr; } .catalog-categories { gap:6px; } .catalog-categories button { padding:8px 11px; font-size:10px; } .catalog-card-top { grid-template-columns:110px 1fr; } .catalog-entry-grid { grid-template-columns:1fr; } .catalog-editor { padding:16px; } .catalog-stock-row { grid-template-columns:35px minmax(0,1fr) 85px; gap:8px; } .catalog-mini-photo img { max-width:32px; } .catalog-stock-description strong { font-size:12px; } }
@media print { .catalog-library,.catalog-advanced { display:none!important; } }
.catalog-unlimited strong{display:block;padding:12px 0;color:#4d4d4d;font-size:17px;white-space:nowrap}
.catalog-supply{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin:0 0 20px;border:1px solid #d4d4d4;border-radius:12px;background:#f4f4f4}
.catalog-supply p{margin:5px 0 0;color:#5c5c5c;font-size:14px}
.catalog-supply button{flex-shrink:0}
@media(max-width:600px){.catalog-supply{align-items:flex-start;flex-direction:column}}
