/* Norman Product Library — separate focused product workspace, not another column of controls. */
.nlib-page[hidden]{display:none!important}
body.nlib-open .studio-layout,body.nlib-open .n-flow-ribbon,body.nlib-open .n-shortcuts,body.nlib-open .studio-jump-nav{display:none!important}
body.nlib-open .studio-heading .studio-heading-actions{display:none!important}
.nlib-page{margin:8px 0 22px;color:#dcebf7;min-height:65vh}.nlib-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px;border:1px solid #2d6175;border-radius:17px;background:linear-gradient(116deg,#193a52,#143543 52%,#20344e);box-shadow:0 10px 36px #0003}.nlib-kicker{font-size:10px;letter-spacing:2px;font-weight:900;color:#84e4ee}.nlib-head h2{font-size:clamp(20px,2.4vw,32px);line-height:1.14;margin:10px 0;color:#f5fbff}.nlib-head p{color:#aac8d5;max-width:750px;font-size:13px;line-height:1.5;margin:0}.nlib-btn{border:1px solid #447189;background:#26465c;color:#ebfaff;border-radius:9px;padding:9px 12px;font-weight:750;font-size:12px;cursor:pointer;min-height:38px}.nlib-btn:hover,.nlib-btn:focus-visible{background:#32677d;outline:2px solid #82deef;outline-offset:1px}.nlib-close{white-space:nowrap;background:#276778}.nlib-open-button{border:1px solid #5a97b0;background:linear-gradient(120deg,#257486,#284d79);color:white;font-weight:850;box-shadow:inset 0 1px #ffffff26}.nlib-warn{margin:12px 0;padding:13px 15px;border-radius:12px;border:1px solid #987543;background:#503b2645;color:#f8d9a0;font-size:12px;line-height:1.5}.nlib-layout{display:grid;grid-template-columns:minmax(260px,345px) minmax(0,1fr);gap:15px;margin-top:12px}.nlib-browser,.nlib-detail{border:1px solid #305266;border-radius:15px;background:#122635;padding:16px;min-width:0}.nlib-browser{align-self:start;position:sticky;top:12px;max-height:calc(100vh - 26px);display:flex;flex-direction:column}.nlib-search,.nlib-select,.nlib-edit{background:#0b202e;border:1px solid #426980;color:#f0fbff;border-radius:8px;padding:11px 10px;font:inherit;font-size:13px;min-width:0;max-width:100%;width:100%}.nlib-search:focus,.nlib-select:focus,.nlib-edit:focus{outline:2px solid #66cfdc;outline-offset:1px}.nlib-filters{margin-top:10px}.nlib-counts{font-size:11px;color:#aacbd8;padding:10px 2px}.nlib-results{overflow:auto;max-height:49vh;min-height:120px;display:grid;align-content:start;gap:5px;padding-right:4px}.nlib-result{display:flex;gap:5px;align-items:center;border:1px solid transparent;border-radius:9px;background:#1c3444}.nlib-result.nlib-active{background:#204e5c;border-color:#68cbd4}.nlib-pick{text-align:left;border:0;background:transparent;flex:1;min-width:0;line-height:1.3;padding:10px 8px;color:#ebfaff;font-size:12px;cursor:pointer}.nlib-pick small{display:block;font-size:10px;font-weight:500;margin-top:4px;color:#9ab9c7}.nlib-star{border:0;background:transparent;color:#f7c476;font-size:19px;min-width:33px;padding:5px}.nlib-more{margin-top:10px}.nlib-detail h3{font-size:clamp(20px,2vw,27px);margin:3px 0 8px;color:#f6fdff}.nlib-sub{font-size:13px;line-height:1.55;color:#b6cfda}.nlib-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}.nlib-tag{font-size:10px;border-radius:8px;padding:5px 7px;border:1px solid #315f72;color:#9dddea;background:#1c3a4e}.nlib-visuals{display:grid;gap:10px;margin:12px 0}.nlib-twins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.nlib-preview{background:linear-gradient(155deg,#132f40,#10212d);border:1px solid #346276;border-radius:11px;padding:11px;min-width:0}.nlib-preview strong{font-size:11px;color:#dcf9fe}.nlib-preview svg{width:100%;height:auto;max-height:230px;display:block;margin:9px 0}.nlib-preview-note{font-size:11px;color:#d4bc93;line-height:1.4}.nlib-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:11px;margin-top:15px}.nlib-group{border:1px solid #305f70;border-radius:12px;padding:12px;min-width:0;display:grid;gap:8px;background:#173444}.nlib-group legend{padding:0 6px;color:#9ce0ed;font-weight:800;text-transform:capitalize;font-size:12px}.nlib-field{min-width:0;display:grid;gap:5px}.nlib-field span{font-size:10px;color:#abcbd7;text-transform:capitalize;letter-spacing:.25px}.nlib-field .nlib-edit{padding:8px 9px}.nlib-fields>.nlib-field{padding:6px 4px}.nlib-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:15px;border-top:1px solid #30556a}.nlib-primary{background:linear-gradient(110deg,#158a91,#286eaa);border-color:#55ced2}.nlib-danger{background:#54323b;border-color:#a46976}.nlib-status{padding:7px 12px;min-height:28px;font-size:12px;color:#93e8d9}.nlib-error{color:#ffc294!important}.nlib-backups{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #34596b}.nlib-backups .nlib-btn{font-size:10px;flex:1}.n-native-catalog{display:none!important} /* Superseded by fully searchable Product Library; underlying original data stays loaded */
@media(max-width:890px){.nlib-layout{grid-template-columns:1fr}.nlib-browser{position:relative;top:auto;max-height:none}.nlib-results{max-height:280px}.nlib-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.nlib-head{display:grid;padding:15px}.nlib-head h2{font-size:22px}.nlib-layout{gap:8px}.nlib-browser,.nlib-detail{padding:11px}.nlib-twins,.nlib-fields{grid-template-columns:1fr}.nlib-actions .nlib-btn{flex:1 1 42%}.nlib-open-button{font-size:11px}}
/* Drawing-first interface — primary dimensional editing lives on the picture. */
.nlib-direct-intro{font-size:14px;color:#c6e7ee;background:#17414c;border:1px solid #347d85;padding:12px 15px;border-radius:10px;line-height:1.6;margin:8px 0}
.nlib-visuals{gap:15px}.nlib-preview{padding:16px;border-color:#487987}.nlib-preview strong{font-size:14px}
.nlib-preview svg{max-height:290px}
.nlib-hotspot{cursor:pointer;outline:none}.nlib-hotspot text{font-weight:800;paint-order:stroke;stroke:#0f2534;stroke-width:3px;stroke-linejoin:round;user-select:none}
.nlib-hotspot:hover text,.nlib-hotspot:focus-visible text{fill:#fff7c4;stroke:#135776;stroke-width:4px;text-decoration:underline}
.nlib-hotspot:focus-visible{outline:2px solid #ffe4a3;outline-offset:4px}
.nlib-visual-hint{color:#a3e8e4;font-size:12px;margin:2px 0}
.nlib-technical{border:1px solid #416173;border-radius:12px;background:#122e40;margin:14px 0;padding:2px 12px}
.nlib-technical>summary{cursor:pointer;padding:14px 4px;font-weight:750;color:#c9e3ee;min-height:45px;list-style:revert}
.nlib-technical>summary:focus-visible{outline:2px solid #6adbe2;outline-offset:3px}
.nlib-technical .nlib-fields{margin:0;padding:8px 0 16px}
.nlib-edit-layer[hidden]{display:none!important}
.nlib-edit-layer{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#071b29c9;z-index:9999;padding:20px}
.nlib-direct-dialog{display:grid;gap:12px;background:#19394e;color:#eefaff;border:2px solid #73dfdf;box-shadow:0 24px 85px #0009;padding:25px;border-radius:17px;width:min(100%,400px)}
.nlib-direct-dialog h4{font-size:22px;margin:0}.nlib-direct-dialog p{font-size:14px;margin:0;line-height:1.5;color:#c1e1e8}
.nlib-direct-value{background:#071b2b;border:2px solid #81dfe9;border-radius:10px;color:white;font-size:25px;font-weight:750;padding:14px 16px;width:100%;min-height:52px}
.nlib-direct-actions{display:flex;justify-content:flex-end;gap:10px}.nlib-direct-actions button{font-size:15px;min-height:48px;padding:10px 18px}
@media(max-width:550px){.nlib-direct-intro{font-size:13px}.nlib-preview svg{max-height:none}.nlib-direct-dialog{padding:17px}.nlib-technical .nlib-fields{grid-template-columns:1fr}}
.nlib-actions{display:grid;gap:10px;margin-top:16px}
.nlib-basic-actions{display:flex;gap:9px;flex-wrap:wrap}
.nlib-basic-actions>.nlib-btn{font-size:14px;min-height:46px;padding:10px 16px}
.nlib-basic-actions>.nlib-primary{background:linear-gradient(115deg,#0b8d8e,#2468aa)}
.nlib-more{border:1px solid #345c70;border-radius:10px;background:#112b3c;padding:5px 12px}
.nlib-more>summary{font-size:12px;font-weight:740;color:#d4eaf5;padding:10px 0;cursor:pointer;min-height:37px}
.nlib-more>summary:focus-visible{outline:2px solid #a5f7f2;outline-offset:1px}
.nlib-more-actions{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 13px}
@media(max-width:550px){.nlib-basic-actions>.nlib-btn{flex:1 1 100%}.nlib-more-actions>.nlib-btn{flex:1 1 100%}}
