:root{--paper:#f7f8f6;--surface:#fff;--ink:#172b3e;--muted:#536677;--rule:#ccd5dc;--blue:#165cab;--navy:#142d45;--pale:#eef4fa;--green:#1e634b;--amber:#78500d;--red:#a12727;--radius:8px;--space:24px;font-family:"Segoe UI",Tahoma,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}a{color:var(--blue);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px} :focus-visible{outline:3px solid #db9400}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.13;letter-spacing:-.035em;margin-bottom:12px;font-weight:650}h2{font-size:1.3rem;line-height:1.3;margin-bottom:16px;font-weight:650}h3{font-size:1.05rem;margin-bottom:10px}p{max-width:75ch;margin-bottom:16px}small,.small{font-size:.875rem}.muted{color:var(--muted)}.mono{font-family:Consolas,"Courier New",monospace;font-variant-numeric:tabular-nums}.skip-link{position:fixed;left:16px;top:-80px;background:white;padding:12px 20px;z-index:50}.skip-link:focus{top:8px}.masthead{background:var(--navy);color:#fff;border-bottom:4px solid var(--blue)}.masthead-inner{max-width:1424px;margin:auto;padding:20px 40px;display:flex;align-items:center;gap:32px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:white;flex-shrink:0}.brand-mark{width:35px;height:35px;border:2px solid #9ebbd5;display:grid;place-items:center;position:relative}.brand-mark:before,.brand-mark:after{content:"";display:block;background:#fff;position:absolute}.brand-mark:before{height:2px;width:18px}.brand-mark:after{width:2px;height:18px}.brand-name{font-size:1.2rem;display:block;font-weight:650;line-height:1.3}.brand-company{font-size:.75rem;color:#c1d1de;display:block}.primary-nav{display:flex;align-items:center;gap:24px;flex:1}.primary-nav a{color:#d9e4ee;text-decoration:none;font-size:.9375rem;padding:8px 0;border-bottom:2px solid transparent}.primary-nav a[aria-current="page"]{color:#fff;border-color:#8ebaf3}.account{display:flex;align-items:center;gap:18px;font-size:.875rem}.account-name{display:block;color:#fff}.account-caption{font-size:.75rem;color:#b9cddd;display:block}.signout{color:#e4edf5;border:1px solid #6a8195;background:transparent;padding:6px 12px;border-radius:4px;cursor:pointer}.signout:hover{background:#27425a}.account form{margin:0}.workspace{max-width:1424px;margin:auto;padding:34px 40px 72px}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:30px}.page-heading p{color:var(--muted);margin:0}.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;flex-shrink:0}.breadcrumbs{font-size:.875rem;margin-bottom:22px;color:var(--muted)}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0}.breadcrumbs li+li:before{content:"/";margin-right:10px;color:#8795a2}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:5px;min-height:44px;padding:10px 18px;line-height:1.4;max-width:100%;text-align:center;white-space:normal;background:var(--blue);color:#fff;text-decoration:none;font-weight:600;font-size:.9375rem;cursor:pointer}.button:hover{background:#104b8e}.button.secondary{border-color:var(--rule);background:#fff;color:var(--ink)}.button.secondary:hover{background:var(--pale)}.button.small{min-height:36px;padding:7px 12px;font-size:.875rem}.button:disabled{cursor:not-allowed;opacity:.6}.section{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:24px;overflow:hidden}.section-heading{padding:22px 24px 18px;display:flex;justify-content:space-between;gap:18px;align-items:center;border-bottom:1px solid #e0e6eb}.section-heading h2,.section-heading p{margin:0}.section-body{padding:24px}.section-body>:last-child{margin-bottom:0}.split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.split>*{min-width:0}.stats{display:flex;flex-wrap:wrap;gap:0;margin:0 0 30px;background:#edf2f5;border-radius:var(--radius);padding:18px 0}.stat{padding:0 24px;border-right:1px solid #cbd6df;min-width:180px}.stat:last-child{border-right:0}.stat dt{font-size:.875rem;color:var(--muted)}.stat dd{font-size:1.5rem;font-weight:600;margin:1px 0 0}.data-table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem;text-align:left}.data-table th{background:#f0f4f7;font-size:.8125rem;font-weight:650;color:#41586b;padding:12px 18px;border-bottom:1px solid var(--rule);white-space:nowrap}.data-table td{padding:16px 18px;border-bottom:1px solid #e3e8ec;vertical-align:top}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#f8fafc}.data-table a{font-weight:600}.cell-title{font-weight:600;display:block}.cell-note{display:block;font-size:.8125rem;color:var(--muted);margin-top:3px}.badge{display:inline-block;border:1px solid #c4d3df;border-radius:4px;color:#36516a;background:#f0f5fa;padding:2px 8px;white-space:nowrap;font-size:.75rem;font-weight:600}.badge.draft{color:var(--amber);border-color:#e0c992;background:#fff7e6}.badge.complete,.badge.ready{color:var(--green);border-color:#b4d8c7;background:#edf7f1}.badge.failed{color:var(--red);border-color:#e4bdbd;background:#fff1f1}.empty{padding:44px 24px;color:var(--muted)}.empty h3{color:var(--ink)}.empty p{max-width:65ch}.message{padding:14px 18px;margin-bottom:22px;border:1px solid #b8cbde;border-left:4px solid var(--blue);border-radius:4px;background:#eff6fd}.message.success{border-color:#a7c8b9;border-left-color:var(--green);background:#f0f8f4}.message.error{border-color:#dfb0b0;border-left-color:var(--red);background:#fff3f3}.message.warning{border-color:#e3c892;border-left-color:var(--amber);background:#fff9ed}.form{max-width:800px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.field{margin-bottom:23px}.field label{display:block;font-size:.9375rem;font-weight:600;margin-bottom:7px}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;border:1px solid #9eafbd;border-radius:5px;padding:10px 12px;min-height:44px;background:white;color:var(--ink)}.field textarea{min-height:120px;resize:vertical}.field textarea.code{font-family:Consolas,"Courier New",monospace;font-size:.8125rem;line-height:1.6;min-height:380px;white-space:pre}.field input[type=file]{padding:8px;background:#f9fbfc}.field input[type=checkbox]{width:18px;height:18px;vertical-align:middle}.helptext,.field-help{display:block;color:var(--muted);font-size:.8125rem;margin-top:7px;max-width:75ch}.errorlist{list-style:none;padding:0;margin:7px 0;color:var(--red);font-size:.875rem}.form-actions{display:flex;gap:12px;align-items:center;padding-top:8px;flex-wrap:wrap}.form-errors{background:#fff2f2;border:1px solid #dba7a7;padding:16px;margin-bottom:22px;border-radius:5px}.form-errors .errorlist{margin:0}.details{margin:0}.details div{padding:11px 0;border-bottom:1px solid #e4e9ee}.details div:first-child{padding-top:0}.details div:last-child{border:0;padding-bottom:0}.details dt{font-size:.8125rem;color:var(--muted);margin-bottom:2px}.details dd{margin:0;font-size:.9375rem;overflow-wrap:anywhere}.note{padding:16px 18px;background:#f0f5fa;border-left:3px solid #739cbf;font-size:.875rem}.note p:last-child{margin-bottom:0}.workflow{list-style:none;padding:0;display:flex;gap:0;margin:0 0 28px}.workflow li{flex:1;border-bottom:3px solid #d5dfe7;padding:10px 15px 10px 0;color:var(--muted);font-size:.875rem}.workflow li:first-child{color:var(--blue);border-color:var(--blue)}.timeline{list-style:none;padding:0;margin:0}.timeline li{position:relative;padding:0 0 25px 24px;border-left:2px solid #ccd8e1;margin-left:5px}.timeline li:before{content:"";position:absolute;width:10px;height:10px;background:var(--blue);border:2px solid white;border-radius:50%;left:-6px;top:5px}.timeline li:last-child{padding-bottom:0}.timeline strong{display:block}.timeline p{font-size:.875rem;color:var(--muted);margin:3px 0 0}.logo-preview{max-width:180px;max-height:72px;object-fit:contain;display:block}.logo-pair{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.file-link{display:flex;gap:16px;align-items:center;border:1px solid var(--rule);border-radius:6px;padding:20px;text-decoration:none}.file-link strong{display:block}.file-icon{font-weight:700;font-size:.75rem;border:1px solid #b7cadd;color:#376188;padding:12px 7px;background:#f2f6fa}.code-block{overflow:auto;padding:18px;background:#f4f6f8;border:1px solid #d8e0e7;border-radius:5px;font-size:.8125rem;max-height:520px;white-space:pre-wrap;overflow-wrap:anywhere}.footer{max-width:1424px;margin:auto;padding:20px 40px;border-top:1px solid #d6dfe5;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.75rem}.login-layout{min-height:calc(100vh - 190px);display:grid;grid-template-columns:minmax(280px,1.1fr) minmax(320px,.8fr);gap:70px;align-items:center;max-width:1040px;margin:auto;padding:35px 0}.login-intro h1{font-size:clamp(2.2rem,4vw,3.5rem);max-width:14ch}.login-intro p{max-width:40ch;color:var(--muted)}.login-form{background:white;border:1px solid var(--rule);border-radius:10px;padding:32px;box-shadow:0 8px 25px #172b3e08}.login-form .button{width:100%;margin-top:3px}.drawing-motif{display:flex;gap:0;align-items:center;margin:36px 0;color:#446c91;max-width:345px}.drawing-motif span{display:block;border:2px solid #809cb4;width:38px;height:28px;border-radius:2px}.drawing-motif i{height:2px;background:#809cb4;flex:1}.drawing-motif span:last-child{border-radius:50%;width:30px;height:30px}.search-form{display:flex;gap:8px;align-items:center}.search-form input{min-height:40px;border:1px solid #aebdc9;border-radius:5px;padding:8px 12px;max-width:240px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}summary{cursor:pointer;font-weight:600;padding:12px 0}details[open] summary{margin-bottom:8px}.prose{white-space:pre-line}.table-caption{padding:12px 18px;text-align:left;font-size:.8125rem;color:var(--muted)}
@media(max-width:1000px){.masthead-inner{gap:24px;padding:18px 24px}.workspace{padding:28px 24px 55px}.split{grid-template-columns:minmax(0,1fr) 275px}.account-caption{display:none}.stat{min-width:140px}.login-layout{gap:36px}.footer{padding:20px 24px}}
@media(max-width:760px){.masthead-inner{flex-wrap:wrap;gap:16px}.brand{flex:1}.primary-nav{order:3;flex-basis:100%;gap:22px}.account{gap:12px}.account-name{max-width:110px;overflow:hidden;text-overflow:ellipsis}.workspace{padding:25px 18px 40px}.page-heading{display:block}.page-actions{margin-top:20px}.split{grid-template-columns:1fr}.section-heading{padding:18px;flex-wrap:wrap}.section-body{padding:18px}.form-grid{grid-template-columns:1fr}.stats{padding:8px 0}.stat{flex:1;min-width:130px;padding:8px 18px;border-right:0}.data-table th,.data-table td{padding:12px 14px}.workflow{flex-wrap:wrap}.workflow li{flex-basis:50%}.login-layout{grid-template-columns:1fr;gap:20px;padding:10px 0}.login-intro h1{font-size:2rem;max-width:none}.login-intro p{max-width:none}.drawing-motif{display:none}.login-form{padding:24px}.footer{padding:18px;flex-wrap:wrap}.search-form{width:100%}.search-form input{max-width:none;width:100%}.section-heading .button{flex-shrink:0}.data-table-wrap{max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.masthead,.footer,.page-actions,.form-actions,.primary-nav{display:none}.workspace{padding:0;max-width:none}body{background:white}.section{break-inside:avoid}.split{display:block}a{color:inherit}.data-table-wrap{overflow:visible}}
.login-access-note{margin:20px 0 0}.panel-fields{border:0;margin:0;padding:0;min-width:0}.formset-table input:not([type=checkbox]),.formset-table select{min-width:95px;width:100%;border:1px solid #a9b8c5;border-radius:4px;padding:8px;background:#fff;color:var(--ink);font-size:.875rem}.formset-table input[type=checkbox]{width:18px;height:18px}.formset-table td{min-width:100px}.formset-table input[name$="description"]{min-width:200px}.formset-table input[name$="address"]{min-width:90px}.formset-table .helptext{min-width:130px}.panel-fields:disabled input,.panel-fields:disabled select,.panel-fields:disabled textarea{background:#f2f5f7;color:#536677}.diff-value{max-width:320px;overflow-wrap:anywhere;white-space:pre-wrap}

/* Full-width engineering tables retain room for channel and equipment fields. */
.panel-workspace{max-width:1900px;padding-left:24px;padding-right:24px}.panel-editor{grid-template-columns:minmax(0,1fr)}
.panel-workspace .formset-table{table-layout:fixed;min-width:0}.panel-workspace .formset-table th{white-space:normal}.panel-workspace .formset-table th,.panel-workspace .formset-table td{padding:10px 8px}.panel-workspace .formset-table input,.panel-workspace .formset-table select{min-width:0;width:100%}.panel-workspace .formset-table input[type=checkbox]{width:auto}
@media(max-width:760px){.panel-workspace{padding-left:12px;padding-right:12px}.panel-workspace .formset-table{min-width:900px}}
.panel-workspace [aria-label="PLC inputs and outputs"] th:nth-child(1){width:28%}
.panel-workspace [aria-label="PLC inputs and outputs"] th:nth-child(2){width:8%}
.panel-workspace [aria-label="PLC inputs and outputs"] th:nth-child(3){width:11%}
.panel-workspace [aria-label="PLC inputs and outputs"] th:nth-child(4){width:14%}
.panel-workspace [aria-label="PLC inputs and outputs"] th:nth-child(5){width:5%}
.panel-workspace [aria-label="PLC inputs and outputs"] th:nth-child(6){width:16%}
.panel-workspace [aria-label="PLC inputs and outputs"] th:nth-child(7){width:18%}

.accordion>summary{list-style:none;margin:0;cursor:pointer}.accordion>summary::before{content:'+';font-size:1.3rem;color:var(--blue)}.accordion[open]>summary::before{content:'−'}.accordion-title{font-size:1.15rem;font-weight:650;flex:1}.accordion:not([open])>summary{border-bottom:0}.accordion-controls{margin-bottom:18px}.io-card{border-bottom:1px solid var(--rule)}.io-card>summary{padding:16px 24px;background:#f4f7fa;margin:0}.io-card>summary .cell-note{margin-left:18px}.catalogue-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.catalogue-actions form{margin:0}.panel-workspace [aria-label="PLC inputs and outputs"] th:nth-child(1){width:24%}.panel-workspace [aria-label="PLC inputs and outputs"] th:nth-child(6){width:14%}.panel-workspace [aria-label="PLC inputs and outputs"] th:nth-child(7){width:16%}.panel-workspace [aria-label="PLC inputs and outputs"] th:nth-child(8){width:8%}

/* Administration uses the same drawing-office components with a persistent control menu. */
.admin-workspace{max-width:1660px}.admin-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:36px;align-items:start}.admin-sidebar{position:sticky;top:24px;border-right:1px solid var(--rule);padding-right:24px}.admin-eyebrow{font-size:.69rem;font-weight:700;letter-spacing:.12em;color:var(--muted);margin-bottom:10px}.admin-sidebar h2{font-size:1.2rem;margin-bottom:24px}.admin-sidebar nav{display:grid;gap:6px}.admin-sidebar nav a{padding:11px 13px;border-radius:6px;text-decoration:none;color:var(--muted);font-size:.9rem;font-weight:600}.admin-sidebar nav a:hover{background:#e9eff4;color:var(--ink)}.admin-sidebar nav a[aria-current=page]{background:var(--navy);color:#fff}.admin-sidebar-note{border-top:1px solid var(--rule);margin-top:28px;padding-top:22px;font-size:.8rem;color:var(--muted)}.admin-sidebar-note p{margin:12px 0}.admin-content{min-width:0}.admin-content .page-heading h1{font-size:2.1rem}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.admin-metrics a{background:#fff;border:1px solid var(--rule);border-radius:8px;padding:20px;text-decoration:none;color:var(--ink);box-shadow:0 3px 9px #172b3e04}.admin-metrics a:hover{border-color:var(--blue)}.admin-metrics span{font-size:.8rem;color:var(--muted);display:block}.admin-metrics strong{display:block;font-size:2.4rem;font-weight:600;line-height:1.7}.admin-metrics small{font-size:.73rem;color:var(--blue)}.admin-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:start}.admin-list-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;text-decoration:none;color:var(--ink);border-bottom:1px solid #e4e9ee}.admin-list-row:last-child{border:0}.admin-list-row:hover{background:var(--pale)}.admin-list-row small{display:block;color:var(--muted);margin-top:3px}.admin-filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:0 0 24px}.admin-filters .field{margin:0;min-width:160px}.admin-filters .field:first-child{flex:1}.admin-filters input,.admin-filters select{width:100%}.admin-filters>a{padding-bottom:10px}.admin-pagination{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-size:.85rem}.admin-pagination>div{display:flex;gap:8px}.admin-account-form{max-width:680px}.admin-member-list{padding:0;margin:0 0 28px;list-style:none}.admin-member-list li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:.9rem}.admin-member-list span{color:var(--muted)}.admin-content .data-table td{overflow-wrap:anywhere}.admin-content .split{grid-template-columns:minmax(0,1fr) 260px}
@media(max-width:1150px){.admin-layout{grid-template-columns:200px minmax(0,1fr);gap:24px}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-columns,.admin-content .split{grid-template-columns:1fr}}
@media(max-width:760px){.admin-layout{grid-template-columns:1fr;gap:24px}.admin-sidebar{position:static;border:0;padding:0}.admin-sidebar h2,.admin-sidebar-note,.admin-sidebar>.admin-eyebrow{display:none}.admin-sidebar nav{display:flex;overflow-x:auto;padding-bottom:8px}.admin-sidebar nav a{white-space:nowrap}.admin-metrics{gap:10px}.admin-metrics a{padding:14px}.admin-pagination{flex-wrap:wrap}.admin-list-row{padding:16px}.admin-content .data-table{min-width:600px}}

.draft-toolbar{position:sticky;top:0;z-index:5;background:#edf4fb;border:1px solid #bacbdc;border-radius:8px;padding:12px 18px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.rack-strip{display:flex;gap:10px;overflow:auto;padding:8px 2px 20px}.rack-tile{display:flex;flex-direction:column;gap:6px;min-width:170px;max-width:230px;text-align:left;padding:16px;border:1px solid #aebfcd;border-top:5px solid var(--blue);border-radius:6px;background:#fff;color:var(--ink);cursor:grab;font-size:.85rem}.rack-tile small{color:var(--muted)}.drag-handle{border:1px solid #9fb5c8;border-radius:5px;color:var(--blue);background:#f3f7fb;cursor:grab;min-width:38px;min-height:38px;font-size:1.2rem}.drop-target{outline:3px solid #2779c4!important;outline-offset:-3px;background:#e9f4ff!important}.edit-dialog{width:min(650px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:28px;border:1px solid var(--rule);border-radius:10px;color:var(--ink);box-shadow:0 15px 70px #172b3e50}.edit-dialog::backdrop{background:#142d4560}.edit-dialog .field input,.edit-dialog .field select,.edit-dialog .field textarea{width:100%}.edit-dialog button[hidden],.edit-dialog [hidden]{display:none}.panel-workspace .io-draft-table th:nth-child(1){width:6%}.panel-workspace .io-draft-table th:nth-child(2){width:29%}.panel-workspace .io-draft-table th:nth-child(3){width:11%}.panel-workspace .io-draft-table th:nth-child(4){width:13%}.panel-workspace .io-draft-table th:nth-child(5){width:17%}.panel-workspace .io-draft-table th:nth-child(6){width:6%}.panel-workspace .io-draft-table th:nth-child(7){width:18%}

.rack-tile,.drag-handle{touch-action:none;user-select:none}

.print-page-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:.4rem;margin-top:1rem}.print-page{display:flex;align-items:center;gap:.6rem;padding:.55rem;border:1px solid var(--border,#d8e0e8);border-radius:5px;font-size:.85rem}.print-page input{flex:0 0 auto;width:1.1rem;height:1.1rem}.print-sheet{font-weight:700;min-width:3rem}#drawing-preview-status{margin:.75rem 0}

.project-filters{display:flex;flex-wrap:wrap;align-items:end;gap:16px;padding:20px 24px;border-bottom:1px solid var(--rule)}.project-filters .field{flex:1 1 155px;min-width:0}.project-filters .field:first-child{flex:2 1 260px}.project-filters input,.project-filters select{width:100%}.project-tree{padding:12px 24px}.project-tree ul{list-style:none;padding:0;margin:0}.project-tree ul ul{margin-left:18px;padding-left:22px;border-left:1px solid var(--rule)}.project-tree summary{cursor:pointer;padding:15px 8px;overflow-wrap:anywhere}.project-tree summary:hover{background:#f1f5fa}.tree-kind{display:inline-block;margin:0 12px 0 4px;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.tree-count{margin-left:12px;color:var(--muted);font-size:.8rem}.tree-project{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 8px;border-bottom:1px solid var(--rule)}.tree-project>a{min-width:0;overflow-wrap:anywhere}.project-tree summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media(max-width:650px){.project-tree{padding:8px}.project-tree ul ul{margin-left:8px;padding-left:10px}.tree-count{display:block;margin:5px 0 0 22px}.project-filters{padding:16px}.tree-project .badge{flex-shrink:0}}

/* Shared form treatment, including legacy Django as_p editors. */
.form p>label{display:block;font-size:.9375rem;font-weight:600;margin-bottom:7px}
.form p>input:not([type=checkbox]):not([type=radio]),.form p>select,.form p>textarea{width:100%;max-width:780px;min-height:44px;padding:10px 12px;border:1px solid #9eafbd;border-radius:5px;background:var(--surface);color:var(--ink)}
.form p>input[type=checkbox]{width:18px;height:18px;vertical-align:middle}
.section>summary{padding:16px 22px;margin:0;border-radius:var(--radius);background:#f4f7fa}
.section[open]>summary{border-bottom:1px solid var(--rule);margin-bottom:18px}
.section>p,.section>ul{margin-left:22px;margin-right:22px}
.catalogue-workspace{max-width:1800px}.catalogue-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.catalogue-main{min-width:0}.catalogue-browser{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}.catalogue-browser .section-body{padding:18px}.catalogue-browser h2{font-size:1.05rem}.catalogue-tree,.catalogue-tree ul{list-style:none;margin:0;padding:0}.catalogue-tree ul{border-left:1px solid var(--rule);margin-left:8px;padding-left:10px}.catalogue-tree summary{font-size:.875rem;padding:10px 0}.catalogue-tree a{display:block;padding:7px 8px;text-decoration:none;font-size:.8125rem;border-radius:4px}.catalogue-tree a:hover,.catalogue-tree a[aria-current=page]{background:var(--pale);color:var(--blue)}.catalogue-tree .tree-count{margin-left:4px;font-size:.75rem}.catalogue-main .form-grid{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}.catalogue-search,.catalogue-category-filter{grid-column:1 / -1}.catalogue-category-filter{margin-bottom:20px}.category-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;max-height:240px;overflow:auto;padding:10px;background:var(--pale);border-radius:5px}.category-options label{font-size:.85rem}.category-options input{width:17px;height:17px;vertical-align:middle}.catalogue-main .data-table td{vertical-align:top}.catalogue-main .data-table details{font-size:.85rem}.catalogue-main .page-actions{grid-column:1 / -1}.catalogue-main .field{margin-bottom:16px}
@media(max-width:1100px){.catalogue-layout{grid-template-columns:210px minmax(0,1fr)}.catalogue-main .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.catalogue-layout{grid-template-columns:1fr}.catalogue-browser{position:static;max-height:280px}.catalogue-main .form-grid{grid-template-columns:1fr}}

/* Action spacing belongs to containers, not individual button margins. */
.form-actions{gap:12px;padding-top:20px;margin:0;align-items:center}
.form-grid>.form-actions{grid-column:1 / -1;justify-self:start}
.page-actions{gap:12px}.page-actions form,.form-actions form{margin:0}
.workspace>.page-actions,.workspace>.design-section-nav{margin:0 0 24px}
.page-actions+.section,.page-actions+.catalogue-layout{margin-top:20px}
.section>form{padding:0 24px 24px;margin:0}
.section>form.form{max-width:848px}
.form>.button:last-child{margin-top:16px}
.form-actions>.button,.page-actions>.button,.design-toolbar>.button,.design-auto-toolbar>.button{margin:0;flex-shrink:0}
.button[hidden]{display:none}.button:focus-visible{outline:3px solid #db9400;outline-offset:3px}
.button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.55}
.button:disabled:hover{background:var(--blue)}.button.secondary:disabled:hover{background:var(--surface)}
.signout{min-height:36px;padding:7px 12px;font-size:.875rem;line-height:1.4}
.design-section-nav{padding:16px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius)}
.design-inspector>.button{width:100%;margin:8px 0 12px}
@media(max-width:760px){.section>form{padding:0 18px 18px}.form-actions,.page-actions{gap:10px}.form-actions .button,.page-actions .button{min-height:44px}}

.workspace>form{margin-bottom:24px}.workspace>.button{margin-bottom:20px}
.form>label{display:block;font-size:.9375rem;font-weight:600;margin:12px 0 7px}
.form>input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.form>select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #9eafbd;border-radius:5px;background:var(--surface);color:var(--ink)}
.catalogue-physical-fields{grid-column:1 / -1;min-width:0;margin:8px 0 24px;padding:20px;border:1px solid var(--rule);border-radius:var(--radius)}.catalogue-physical-fields legend{padding:0 8px;font-weight:650}.catalogue-physical-fields>.form-grid{max-width:none}

/* Shared catalogue workspace and contextual part picker. */
.parts-picker{width:min(1440px,96vw);max-width:96vw;max-height:94vh;padding:0;border:1px solid var(--line,#d5dde3);border-radius:12px;background:var(--surface,#fff);color:var(--ink,#203043);box-shadow:0 16px 64px #15283933}.parts-picker::backdrop{background:#14283988}.parts-picker[data-embedded]{width:100%;max-width:none;max-height:none;box-shadow:none}.parts-picker-heading,.parts-picker-search,.parts-picker-collections,.parts-picker-footer{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #dce3e8}.parts-picker-heading{justify-content:space-between}.parts-picker-heading h2,.parts-picker-heading p{margin:0}.parts-picker-search input{flex:1;min-width:100px}.parts-picker-collections{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.parts-picker-grid{display:grid;grid-template-columns:240px minmax(260px,1fr) minmax(280px,1fr);height:58vh;min-height:380px}.parts-picker[data-embedded] .parts-picker-grid{height:65vh}.parts-picker-filters,.parts-picker-results,.parts-picker-inspector{padding:16px;overflow:auto;min-width:0}.parts-picker-filters,.parts-picker-results{border-right:1px solid #dce3e8}.parts-picker-filters select,.parts-picker-filters input{width:100%;box-sizing:border-box}.parts-picker-filters .field{margin:12px 0}.parts-picker-filters details{margin-top:12px}.parts-picker-filters summary{padding:9px 0;cursor:pointer}.parts-tree-choice{display:block;border:0;background:transparent;text-align:left;width:100%;padding:8px 10px;border-radius:6px;color:inherit;cursor:pointer}.parts-tree-choice:hover,.parts-tree-choice[aria-current]{background:#edf3f7}.parts-result{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;padding:12px;margin-bottom:7px;background:#fff;border:1px solid #dce3e8;border-radius:8px;color:inherit;cursor:pointer}.parts-result:hover,.parts-result[aria-pressed=true]{border-color:#277096;background:#eef6fa}.parts-result span{font-size:.86rem;color:#526477}.parts-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.9rem}.parts-facts dt{color:#526477}.parts-facts dd{margin:0;overflow-wrap:anywhere}.parts-picker-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid #dce3e8;border-bottom:0;justify-content:flex-end}.parts-picker-footer>span{margin-right:auto}.parts-accessories{margin-top:18px;padding:12px;border:1px solid #dce3e8}.parts-accessories label{display:block;margin:10px 0}.catalogue-field-group{border:1px solid #dce3e8;border-radius:8px;padding:20px;margin:0 0 20px}.catalogue-field-group legend{font-weight:650;padding:0 8px}.accessory-edit-row{padding:16px;margin-bottom:12px;border:1px solid #dce3e8;border-radius:8px}.catalogue-edit-form [hidden]{display:none!important}.parts-picker [aria-pressed=true].button{background:#e6f2f8;border-color:#277096;color:#164b67}
@media(max-width:1000px){.parts-picker-grid{grid-template-columns:180px minmax(230px,1fr)}.parts-picker-inspector{grid-column:1/-1;border-top:1px solid #dce3e8;max-height:320px}.parts-picker-grid,.parts-picker[data-embedded] .parts-picker-grid{height:auto;max-height:68vh;overflow:auto}.parts-picker-results,.parts-picker-filters{max-height:380px}}@media(max-width:600px){.parts-picker-search{flex-wrap:wrap}.parts-picker-grid{display:block}.parts-picker-filters{max-height:200px}.parts-picker-results{max-height:320px}.parts-picker-footer{flex-wrap:wrap}}

.parts-picker-controls{display:flex;align-items:center;gap:10px;padding:10px 20px;flex-wrap:wrap;border-bottom:1px solid #dce3e8}.parts-picker-controls select,.parts-picker-controls input{max-width:240px}.parts-picker [hidden]{display:none!important}.parts-picker-controls [data-parts-chips]{display:flex;gap:6px;flex-wrap:wrap}
/* Keep the modal heading and actions visible; only its browsing panes scroll. */
dialog.parts-picker[open]{display:flex;flex-direction:column;height:94vh;overflow:hidden}
dialog.parts-picker>.parts-picker-heading,dialog.parts-picker>.parts-picker-search,dialog.parts-picker>.parts-picker-collections,dialog.parts-picker>.parts-picker-controls,dialog.parts-picker>.parts-picker-footer{flex-shrink:0}
dialog.parts-picker>.parts-picker-grid{flex:1;min-height:0;height:auto;max-height:none;overflow:auto}
dialog.parts-picker>.parts-picker-footer{position:static}
@media(max-height:760px){dialog.parts-picker>.parts-picker-heading,dialog.parts-picker>.parts-picker-search,dialog.parts-picker>.parts-picker-collections,dialog.parts-picker>.parts-picker-controls,dialog.parts-picker>.parts-picker-footer{padding:8px 14px}dialog.parts-picker>.parts-picker-heading h2{font-size:1.1rem}dialog.parts-picker>.parts-picker-heading p{font-size:.85rem}}
@media(max-height:480px){dialog.parts-picker[open]{overflow:auto}dialog.parts-picker>.parts-picker-grid{flex:none;min-height:220px}}

.parts-document-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}
.parts-result{flex-direction:row;align-items:center;gap:12px}.parts-result-copy{display:flex;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere}.parts-result-copy strong{color:var(--ink,#203043);font-size:.95rem}.parts-photo{display:flex;align-items:center;justify-content:center;flex:0 0 56px;width:56px;height:56px;background:#fff;border:1px solid #dce3e8;border-radius:6px;overflow:hidden}.parts-photo img{display:block;width:100%;height:100%;object-fit:contain;padding:4px;box-sizing:border-box}.parts-photo [hidden]{display:none!important}.parts-photo .parts-photo-fallback{font-size:.68rem;line-height:1.25;text-align:center;color:#64748b;padding:4px}.parts-photo-preview{margin:12px 0}.parts-photo-large{width:100%;height:180px;box-sizing:border-box}.parts-photo-large img{padding:10px}.parts-photo-large .parts-photo-fallback{font-size:.85rem}
.parts-photo-source{display:inline-block;margin-top:6px;font-size:.8rem}
.parts-photo-large.parts-photo-empty{height:44px}
.parts-detail-heading{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:16px;align-items:start;margin-bottom:16px}.parts-detail-identity{min-width:0;overflow-wrap:anywhere}.parts-detail-heading .parts-photo-preview{margin:0;min-width:0}.parts-detail-heading .parts-photo-large{height:150px}.parts-detail-heading .parts-photo-empty{height:44px}.parts-detail-heading .parts-photo-source{overflow-wrap:anywhere}
@media(max-width:700px){.parts-detail-heading{grid-template-columns:minmax(0,1fr) 110px;gap:12px}.parts-detail-heading .parts-photo-large{height:110px}.parts-detail-heading .parts-photo-empty{height:44px}}
@media(max-width:420px){.parts-detail-heading{grid-template-columns:minmax(0,1fr) 80px;gap:10px}.parts-detail-heading .parts-photo-large{height:90px}.parts-detail-heading .parts-photo-empty{height:44px}}

/* Native disclosures keep nested panel navigation usable without JavaScript. */
.panel-hierarchy{padding:12px 24px}.panel-hierarchy-list{list-style:none;margin:0;padding:0}.panel-hierarchy-list .panel-hierarchy-list{margin-left:18px;padding-left:20px;border-left:2px solid var(--rule)}.panel-hierarchy summary{padding:14px 8px;cursor:pointer;border-bottom:1px solid var(--rule)}.panel-hierarchy summary .mono{font-weight:700;margin-right:8px}.panel-hierarchy summary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.panel-hierarchy-row{display:flex;align-items:center;gap:16px;padding:14px 8px;border-bottom:1px solid var(--rule)}.panel-hierarchy-row>div{flex:1;min-width:0;overflow-wrap:anywhere}.panel-hierarchy-row>.button{white-space:nowrap}.panel-hierarchy-row>.small{white-space:nowrap}@media(max-width:650px){.panel-hierarchy{padding:8px}.panel-hierarchy-list .panel-hierarchy-list{margin-left:6px;padding-left:10px}.panel-hierarchy-row{flex-wrap:wrap;gap:10px}.panel-hierarchy-row>div{flex-basis:100%}.panel-hierarchy summary .tree-count{display:block;margin-left:20px}}
