/* NetzBauTools: Neuer Formteil- & Leitungsplaner, Version 0.3.0.
   Komplett namespaced: keine Änderungen an anderen Werkzeugen. */
.ft3-app{--ft-navy:#102e43;--ft-ink:#17384d;--ft-muted:#718697;--ft-line:#dce7ed;--ft-accent:#167aa6;color:var(--ft-ink);font-family:Inter,'Segoe UI',Arial,sans-serif}
.ft3-app *{box-sizing:border-box}
.ft3-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.ft3-eyebrow{color:#46819a;letter-spacing:2px;font-size:10px;font-weight:900;margin-bottom:8px}
.ft3-heading h1{font-size:28px;letter-spacing:-.75px;font-weight:820;margin:0;color:#0e3149}
.ft3-heading h1 span{display:inline-block;font-size:10px;vertical-align:middle;color:#176c8a;background:#d9eff4;border:1px solid #b4dbe8;padding:5px 8px;letter-spacing:1px;border-radius:5px;margin-left:6px}
.ft3-heading p{margin:7px 0 0;color:#678193;font-size:13px}
.ft3-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.ft3-button{min-height:39px;padding:10px 13px;border:1px solid #b9cfdd;border-radius:7px;background:#fff;color:#28556d;font-weight:800;font-size:12px}
.ft3-button:hover{background:#e8f3f8}
.ft3-button-dark{background:#153f58;color:white;border-color:#153f58}.ft3-button-dark:hover{background:#1c5778}
.ft3-strip{border:1px solid #d3e5eb;background:#e9f3f6;border-radius:8px 8px 0 0;padding:9px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:0}
.ft3-strip-label{color:#496c81;font-size:12px}.ft3-strip-label b{color:#2c5066}.ft3-live-dot{display:inline-block;border-radius:50%;width:8px;height:8px;background:#22a47d;margin-right:6px;box-shadow:0 0 0 3px #22a47d22}
.ft3-strip-stats{display:flex;gap:19px;font-size:12px;color:#607d8d}.ft3-strip-stats b{font-size:13px;color:#0c4768}
.ft3-layout{display:grid;grid-template-columns:276px minmax(390px,1fr) 302px;gap:13px;align-items:start;margin-top:12px}
.ft3-panel{min-width:0;background:#fff;border:1px solid #d9e5ed;border-radius:10px;overflow:hidden;box-shadow:0 3px 15px #183a4e08}
.ft3-panel-title{padding:17px 17px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e8eef2}
.ft3-panel-title small{font-size:10px;font-weight:900;letter-spacing:1.7px;color:#7a94a2}
.ft3-panel-title h2{font-size:16px;margin:5px 0 0;letter-spacing:-.2px;font-weight:800}
.ft3-panel-title h2 span{font-size:12px;color:#7b94a5;font-weight:600}
.ft3-count{font-size:10px;font-weight:900;white-space:nowrap;padding:5px 8px;border-radius:5px;color:#376f85;background:#eaf4f7}
.ft3-categories{padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:7px}
.ft3-categories button{background:#f8fafb;border:1px solid #dce6ec;border-radius:7px;padding:11px 8px;font-size:11px;font-weight:800;color:#46677a;min-height:43px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:5px}
.ft3-categories button span{font-size:10px;color:#7c98aa}
.ft3-categories button.active{background:#114b68;border-color:#114b68;color:white}
.ft3-categories button.active span{color:#b4d9ea}
.ft3-search{margin:0 12px 11px;background:white;border:1px solid #d5e3eb;border-radius:7px;color:#7590a1;display:flex;align-items:center;gap:6px;padding:0 9px;font-size:21px;height:42px}
.ft3-search:focus-within{border-color:#2996c5;box-shadow:0 0 0 3px #238ac316}
.ft3-search input{border:0!important;box-shadow:none!important;outline:0!important;background:transparent;flex:1;width:100%;font-size:13px;font-weight:500;padding:8px 0!important}
.ft3-library-list{padding:0 9px 9px;display:grid;gap:5px;max-height:610px;overflow-y:auto;overscroll-behavior:contain}
.ft3-catalog-item{width:100%;padding:7px 7px 7px 4px;min-height:77px;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e3edf1;border-radius:7px;color:#183e53;text-align:left;transition:.12s}
.ft3-catalog-item:hover,.ft3-catalog-item:focus-visible{background:#eef8fb;border-color:#8bbfcf}
.ft3-mini{width:78px;height:59px;background:#edf3f5;flex:none;display:grid;place-items:center;border-radius:4px;overflow:hidden}
.ft3-mini svg{width:100%;height:100%}.ft3-catalog-name{min-width:0;display:block;flex:1}.ft3-catalog-name b{display:block;font-size:12px;line-height:1.32;overflow-wrap:anywhere}.ft3-catalog-name small{display:block;font-size:10px;color:#889caa;margin-top:5px}.ft3-plus{font-size:20px;color:#397b99;padding:0 1px;font-weight:600}
.ft3-library-foot{border-top:1px solid #e6eef2;background:#f6fafb;padding:14px 15px}.ft3-library-foot strong{font-size:11px}.ft3-library-foot p{font-size:11px;color:#668093;line-height:1.6;margin:5px 0 0}
.ft3-noresults{font-size:12px;padding:20px;color:#6a8697;text-align:center}.ft3-noelements{font-size:12px;color:#6a8697}
.ft3-desk .ft3-desk-top{padding:16px 19px}.ft3-export{display:flex;gap:6px}.ft3-export button{border:1px solid #d3e4eb;background:#f4f8fa;border-radius:6px;color:#27556a;padding:9px 10px;font-size:11px;font-weight:800}
.ft3-export button:hover{background:#e7f3f9}
.ft3-toolbar{padding:9px 13px;display:flex;gap:10px 15px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #e2edf0;background:#fafcfd;min-height:52px}
.ft3-toolbar label{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:11px;font-weight:700;color:#526e80}
.ft3-toolbar input{accent-color:#16799c;width:14px;height:14px;cursor:pointer}
.ft3-scale{margin-left:auto}.ft3-toolbar .ft3-scale select{width:auto;padding:6px 7px;font-size:11px;font-weight:700;min-width:90px}
.ft3-svg-wrap{overflow:auto;position:relative;width:100%;background:#f8fbfc;min-height:420px}
.ft3-svg{display:block;width:100%;min-width:550px;height:auto;touch-action:pan-x pan-y;user-select:none}
.ft3-part{cursor:grab;outline:none}.ft3-part:active{cursor:grabbing}.ft3-part:focus-visible .ft3-hit{stroke:#1f9acc;stroke-width:2;stroke-dasharray:5 4}
.ft3-active .ft3-hit{stroke:#0c93c4;stroke-width:1.5;stroke-dasharray:6 5;fill:#0980b705}
.ft3-caption{cursor:grab;outline:none}.ft3-active .ft3-caption text:first-of-type{fill:#086b94}
.ft3-canvas-hint{background:#f4f9fb;padding:10px 16px;display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #e2eef3;color:#648093;font-size:11px;line-height:1.4}
.ft3-canvas-hint b{color:#336079}
.ft3-bottom{padding:15px 16px 16px;border-top:1px solid #e6eef2}
.ft3-bottom-head{display:flex;align-items:center;justify-content:space-between;gap:7px}.ft3-bottom-head strong{font-size:13px}.ft3-link-remove{border:0;background:none;color:#ae5362;font-size:11px;font-weight:700;padding:5px 4px}.ft3-parts-list{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}
.ft3-parts-list button{border:1px solid #d7e3e9;background:#fff;color:#3e6074;border-radius:6px;padding:8px 9px;display:flex;align-items:center;gap:6px;max-width:100%;text-align:left;font-size:11px;font-weight:750}
.ft3-parts-list button.selected{background:#e9f6fb;color:#096a97;border-color:#91cbdf}.ft3-parts-list small{color:#7b91a0;font-size:10px;font-weight:500}.ft3-part-dot{width:9px;height:9px;flex:none;border-radius:50%}
.ft3-inspector{max-height:1070px;overflow-y:auto}
.ft3-selected-head{display:flex;align-items:center;gap:9px;padding:16px;background:#f5f9fb;border-bottom:1px solid #e4eef3}
.ft3-selected-preview{width:104px;height:76px;flex:none;border-radius:8px;background:#e4edf2;display:grid;place-items:center}
.ft3-selected-preview svg{width:100%;height:100%}
.ft3-selected-head small{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#62899d;font-weight:800}.ft3-selected-head h3{font-size:14px;margin:4px 0 6px;line-height:1.35}
.ft3-badge{color:#51758a;font-size:10px;font-weight:700;line-height:1.5}
.ft3-inside{padding:15px;display:grid;gap:11px}.ft3-inside h4{margin:4px 0 0;color:#234c61;font-size:12px;font-weight:850}
.ft3-field{display:grid;gap:5px;font-size:11px;font-weight:750;color:#658196;min-width:0}.ft3-field>input,.ft3-field>select{width:100%;border:1px solid #cfdee6;background:white;color:#1c425a;border-radius:6px;padding:9px;font-size:13px;min-width:0}
.ft3-field>input:focus,.ft3-field>select:focus{border-color:#328db2;outline:2px solid #328db228}
.ft3-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;align-items:start}
.ft3-buttons button,.ft3-outline{border:1px solid #cfdfeb;background:#f7fbfd;border-radius:7px;color:#29536a;padding:10px;font-size:11px;font-weight:800;min-height:37px}
.ft3-buttons button:hover,.ft3-outline:hover{background:#ecf6fb}
.ft3-outline:disabled{opacity:.47;cursor:not-allowed}
.ft3-separator{border-top:1px solid #e4edf1;margin:1px 0}
.ft3-switch{font-size:12px;display:flex;align-items:center;gap:7px;color:#3f6478}.ft3-switch input{accent-color:#167b9e;width:17px;height:17px}
.ft3-note{font-size:11px;color:#718a9b;line-height:1.55;margin:0}
.ft3-remove{border:1px solid #ead1d6;background:#fff8f9;color:#a54859;font-size:12px;font-weight:800;border-radius:7px;padding:11px}
.ft3-remove:hover{background:#fcecef}
.ft3-empty-selection{text-align:center;padding:55px 21px 70px;color:#708a9b}.ft3-selection-illustration{display:grid;place-items:center;margin:auto auto 15px;width:59px;height:59px;border-radius:15px;background:#eef6f8;color:#368db0;font-size:30px}.ft3-empty-selection h3{font-size:15px;color:#2a5268;margin:0}.ft3-empty-selection p{font-size:12px;line-height:1.65}
.ft3-cad{border-top:1px solid #e4edf1;padding:8px 0}.ft3-cad summary{cursor:pointer;font-size:11px;color:#347897;font-weight:800}.ft3-cad-content{padding-top:12px;display:grid;gap:10px}.ft3-cad-content p{font-size:11px;color:#7a91a0;line-height:1.5}.ft3-cad-content input[type=file]{width:100%;font-size:11px}
.ft3-port-edit{padding:6px;background:#f3f8fb;border-radius:4px;font-size:11px}.ft3-port-edit label{display:block}.ft3-port-edit input{width:90%;font-size:11px}
.ft3-disclaimer{border:1px solid #d8e8ee;background:#f5f9fa;color:#648191;border-radius:8px;margin-top:14px;padding:11px 15px;font-size:11px;line-height:1.6}.ft3-disclaimer b{color:#345e73}
@media(max-width:1440px){.ft3-layout{grid-template-columns:246px minmax(365px,1fr) 270px}.ft3-mini{width:63px}.ft3-toolbar{gap:10px}.ft3-heading h1{font-size:24px}}
@media(max-width:1150px){.ft3-layout{grid-template-columns:250px minmax(0,1fr)}.ft3-inspector{grid-column:1/-1;max-height:none}.ft3-inspector .ft3-inside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.ft3-inspector .ft3-separator{grid-column:1/-1}}
@media(max-width:800px){.ft3-layout{display:flex;flex-direction:column}.ft3-panel{width:100%}.ft3-library-list{max-height:260px;display:grid;grid-template-columns:1fr 1fr}.ft3-inspector .ft3-inside{grid-template-columns:1fr}.ft3-desk{order:-1}.ft3-heading h1{font-size:22px}.ft3-strip-stats{gap:9px}.ft3-toolbar .ft3-scale{margin-left:0}}
@media(max-width:500px){.ft3-library-list{grid-template-columns:1fr}.ft3-head-actions{width:100%}.ft3-head-actions button{flex:1}.ft3-canvas-hint{display:block}.ft3-categories{grid-template-columns:1fr 1fr}.ft3-strip-stats{flex-wrap:wrap}.ft3-toolbar{gap:9px}.ft3-svg{min-width:550px}}
@media print{
 body:has(.ft3-app){background:white!important}body:has(.ft3-app) .site-header,body:has(.ft3-app) .notice,body:has(.ft3-app) footer,body:has(.ft3-app) .ft3-heading,body:has(.ft3-app) .ft3-strip,body:has(.ft3-app) .ft3-library,body:has(.ft3-app) .ft3-inspector,body:has(.ft3-app) .ft3-export,body:has(.ft3-app) .ft3-toolbar,body:has(.ft3-app) .ft3-bottom,body:has(.ft3-app) .ft3-canvas-hint,body:has(.ft3-app) .ft3-disclaimer{display:none!important}
 body:has(.ft3-app) main{max-width:none!important;margin:0!important;padding:0!important}
 body:has(.ft3-app) .ft3-layout{display:block!important;margin:0!important}
 body:has(.ft3-app) .ft3-desk{box-shadow:none!important;border:0!important;break-inside:avoid}
 body:has(.ft3-app) .ft3-svg-wrap{overflow:visible!important;min-height:0!important}
 body:has(.ft3-app) .ft3-svg{min-width:0!important;width:100%!important;max-height:235mm}
 body:has(.ft3-app) .ft3-desk .ft3-desk-top{display:flex!important;border:none!important}
 @page{size:A4 landscape;margin:12mm}
}
.ft3-toolbar-action{padding:6px 9px;border-radius:6px;border:1px solid #cbdde6;background:#eef7fa;color:#287395;font-size:11px;font-weight:850;white-space:nowrap}
.ft3-toolbar-action:hover{background:#dcedf6}
@media(max-width:780px){
 body:has(.ft3-app) .site-header{display:flex;flex-wrap:wrap;gap:6px 12px;min-width:0;width:100%;padding:8px 12px}
 body:has(.ft3-app) .site-header .brand{max-width:calc(100% - 80px);min-width:0;overflow:hidden}
 body:has(.ft3-app) .site-header .brand-image{max-width:190px;width:100%;height:auto;object-fit:contain}
 body:has(.ft3-app) #main-nav{width:100%;order:3;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:thin}
 body:has(.ft3-app) .site-header .version{font-size:10px}
 body:has(.ft3-app) main{padding:13px 11px 30px}
}
