.library-title{height:64px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.library-title small{display:block;font-size:10px;color:var(--muted)}.library-title b{background:var(--orange-soft);color:var(--orange);border-radius:12px;padding:2px 8px}.library-wrap{padding:14px}.template-number{font-size:10px;background:var(--orange-soft);color:var(--orange);padding:3px 7px;border-radius:4px}.export-info{display:grid;gap:9px}.export-info>div{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.empty-library{grid-column:1/-1;text-align:center;padding:55px 8px;color:var(--muted)}.empty-library span,.empty-library strong,.empty-library small{display:block}.empty-library span{font-size:28px;color:var(--orange)}.empty-library strong{margin:8px 0;color:#626d7a}.empty-fields{grid-column:1/-1;color:var(--muted);padding:16px 0}.template-card small{color:var(--muted);font-size:9px}
.creator{position:fixed;inset:0;background:#f2f4f7;z-index:20}.creator[hidden]{display:none}.creator-head{height:64px;background:#111923;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.creator-head>div{display:flex;align-items:center;gap:14px}.creator-head span{font-size:12px;color:#9aa5b3}.creator-head button{border:1px solid #3b4654;background:#202b38;color:#e5eaf0;border-radius:6px;padding:8px 15px}.creator-head .primary{background:var(--orange);border-color:var(--orange)}.creator-body{display:grid;grid-template-columns:190px minmax(450px,1fr) 290px;height:calc(100vh - 64px)}.toolbox,.creator-inspector{background:#fff;overflow:auto}.toolbox{border-right:1px solid var(--line);padding:14px}.tool-group{display:grid;gap:6px;padding-bottom:17px;margin-bottom:16px;border-bottom:1px solid var(--line)}.tool-group>b{font-size:11px;color:#8993a0}.tool-group button{height:38px;border:1px solid transparent;background:#f6f7f9;border-radius:6px;text-align:left;color:#4a5664}.tool-group button span{display:inline-block;width:27px;text-align:center;font-size:18px}.tool-group button:hover,.tool-group button.active{border-color:#ffc8aa;background:var(--orange-soft);color:var(--orange)}.tool-row{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:5px}.tool-row button{text-align:center}.tool-help,.inspector-tip{font-size:11px;line-height:1.6;color:#76818f;background:#f6f7f9;border-radius:6px;padding:10px}.creator-stage-wrap{min-width:0;display:flex;flex-direction:column}.creator-toolbar{height:44px;display:flex;align-items:center;gap:20px;padding:0 14px;background:#fff;border-bottom:1px solid var(--line);color:#697583;font-size:11px}.creator-toolbar label{display:flex;align-items:center;gap:6px}.creator-toolbar input[type=number]{width:58px;border:1px solid var(--line);padding:4px}.creator-toolbar span{margin-left:auto}.creator-stage{flex:1;padding:18px;min-height:0}.creator-stage svg{width:100%;height:100%;background:#fff;box-shadow:0 4px 20px rgba(26,35,48,.08);cursor:crosshair;outline:0}.creator-inspector{border-left:1px solid var(--line);padding:18px}.creator-inspector h3{margin:0 0 17px}.wide-field{display:grid;gap:6px;color:#687381;font-size:11px;margin-bottom:20px}.wide-field input{width:100%;border:1px solid var(--line);border-radius:6px;padding:9px}.creator-inspector .section-title{align-items:center;margin-top:16px}.creator-inspector .section-title button{border:0;background:none;color:var(--orange)}.parameter-row{display:grid;grid-template-columns:24px 1fr 55px 18px 22px;gap:5px;align-items:center;margin-bottom:7px}.parameter-row b{display:grid;place-items:center;width:24px;height:24px;background:var(--orange);color:#fff;border-radius:50%;font-size:11px}.parameter-row input{min-width:0;border:1px solid var(--line);padding:6px;border-radius:5px;font-size:11px}.parameter-row span{font-size:9px;color:var(--muted)}.parameter-row button{border:0;background:none;color:#a1a9b4}.geometry-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:18px}.geometry-stats span{background:#f6f7f9;padding:8px 4px;text-align:center;border-radius:5px;color:var(--muted);font-size:9px}.geometry-stats b{display:block;color:var(--ink);font-size:12px}.geometry-stats .ok{color:var(--green)}
@media(max-width:900px){.creator-body{grid-template-columns:145px 1fr 245px}.toolbox{padding:9px}.creator-inspector{padding:12px}}
.danger-action{width:100%;margin-top:16px;padding:8px;border:1px solid #f0c7c7;background:#fff;color:#c24141;border-radius:6px}.danger-action:disabled{opacity:.4;cursor:not-allowed}
.parameter-title{align-items:center}.parameter-title .title-label{color:var(--ink);font-size:13px;font-weight:700}.parameter-title .title-label small{margin-left:6px;color:var(--muted);font-size:10px;font-weight:400}.reset-template{border:1px solid var(--line);background:#fff;color:#596574;border-radius:5px;padding:5px 8px;font-size:11px}.reset-template:hover{border-color:var(--orange);color:var(--orange);background:var(--orange-soft)}.reset-template:disabled{opacity:.4;cursor:not-allowed}
.selected-line-field{margin-bottom:4px}#selectedLineEditor{margin:-10px 0 18px;padding:10px;border-left:3px solid var(--orange);background:var(--orange-soft);border-radius:4px}#selectedLineEditor small{color:#8b633f}
#creatorCanvas.pan-ready{cursor:grab}#creatorCanvas.panning{cursor:grabbing}.creator-toolbar #viewStatus{margin-left:auto}.creator-toolbar #creatorCoords{margin-left:0}
.midpoint-marker{cursor:crosshair;pointer-events:all}.creator-stage .entity-hit{cursor:move;pointer-events:stroke}
.point-hit{cursor:crosshair;pointer-events:all}
.bind-action{width:100%;margin:-10px 0 18px;padding:8px;border:1px solid var(--orange);background:var(--orange-soft);color:var(--orange);border-radius:6px}.parameter-row em{font-style:normal;font-size:9px;color:var(--muted)}
.bind-action:disabled{opacity:.45;cursor:not-allowed;border-color:#cfd5dc;background:#f3f5f7;color:#7d8794}
.binding-hint{display:block;margin:-10px 0 14px;color:#8a94a0;font-size:10px;line-height:1.4}
.wide-field select{width:100%;border:1px solid var(--line);border-radius:6px;padding:9px;background:#fff;color:var(--ink)}
.wide-field[hidden]{display:none!important}
.shape-size-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shape-size-grid .wide-field{margin-bottom:12px}.shape-size-grid input{min-width:0}#selectedShapeEditor{margin:-4px 0 18px;padding:10px;border-left:3px solid #5fa8ff;background:#f1f6fc;border-radius:4px}#selectedShapeEditor small{color:#5e7188}#toggleHole.active{border-color:#ff8b52;background:#fff0e8;color:#d95516}
.line-align-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.tool-group .line-align-tools button{height:46px;padding:3px 2px;text-align:center;font-size:10px}.tool-group .line-align-tools button span{display:block;width:auto;font-size:17px;line-height:18px}
.visibility-toggle{display:flex;align-items:center;gap:7px;margin:-8px 0 16px;color:#657080;font-size:11px}
.creator-stage{padding:0;background:#1e2730}.creator-stage svg{background:#1e2730;box-shadow:none}
.parameter-actions{display:flex;align-items:center;gap:6px}.parameter-link-toggle{border:1px solid var(--line);background:#fff;color:#596574;border-radius:5px;padding:5px 8px;font-size:11px}.parameter-link-toggle:hover,.parameter-link-toggle.active{border-color:var(--orange);color:var(--orange);background:var(--orange-soft)}.parameter-link-toggle:disabled{opacity:.4;cursor:not-allowed}.number-wrap input.parameter-invalid{border-color:#d84d4d;background:#fff6f6;color:#a92f2f}
.user-mode .admin-only{display:none!important}.admin-mode .user-only{display:none!important}.admin-mode .tools .admin-only,.admin-mode .actions .admin-only{display:inline-block}.admin-mode .notice.admin-only{display:block}.admin-mode .danger-action.admin-only{display:block}.user-mode .right-panel .fields{grid-template-columns:1fr}.user-mode .right-panel{background:#fff}.user-mode #dimensionFields .field{padding-bottom:4px}.user-mode .number-wrap input{font-size:15px;padding-block:10px}.user-mode .canvas-toolbar{background:#fff}
.app-version{color:#aab4c2;font-size:11px;border-left:1px solid #34404e;padding-left:10px;white-space:nowrap}
