.cmbe-app{--cmbe-navy:#17243c;--cmbe-blue:#2563eb;--cmbe-line:#dbe2ea;--cmbe-text:#172033;--cmbe-muted:#64748b;--cmbe-danger:#b42318;--cmbe-ok:#067647;--cmbe-shadow:0 10px 30px #0f172a14;box-sizing:border-box;background:#f6f8fb;color:var(--cmbe-text);font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;border-radius:12px;overflow:hidden}.cmbe-app *{box-sizing:border-box}.cmbe-app .cmbe-header{background:linear-gradient(125deg,#17243c,#253b62);color:#fff;padding:22px 28px}.cmbe-app .cmbe-header h2{color:#fff;font-size:23px;line-height:1.25;margin:0 0 4px}.cmbe-app .cmbe-header p{color:#dbeafe;margin:0}.cmbe-wrap{max-width:1400px;margin:auto;padding:22px}.cmbe-toolbar,.cmbe-card{background:#fff;border:1px solid var(--cmbe-line);border-radius:12px;box-shadow:var(--cmbe-shadow)}.cmbe-toolbar{padding:12px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.cmbe-spacer{flex:1}.cmbe-app button,.cmbe-file-label{appearance:none;font:inherit;font-weight:650;border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:7px;padding:8px 12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.35}.cmbe-app button:hover,.cmbe-file-label:hover{background:#f8fafc;border-color:#94a3b8}.cmbe-app button:focus-visible,.cmbe-file-label:focus-within{outline:3px solid #bfdbfe;outline-offset:1px}.cmbe-app button:disabled{cursor:not-allowed;opacity:.45}.cmbe-app button.cmbe-primary{background:var(--cmbe-blue);color:#fff;border-color:var(--cmbe-blue)}.cmbe-app button.cmbe-primary:hover{background:#1d4ed8}.cmbe-app button.cmbe-danger{color:var(--cmbe-danger)}.cmbe-file-label input[type=file]{display:none}.cmbe-grid{display:grid;grid-template-columns:minmax(520px,1.15fr) minmax(390px,.85fr);gap:16px}.cmbe-card{overflow:hidden}.cmbe-card-head{padding:14px 16px;border-bottom:1px solid var(--cmbe-line);display:flex;align-items:center;gap:10px}.cmbe-card-head h3{color:var(--cmbe-text);font-size:16px;line-height:1.3;margin:0}.cmbe-card-body{padding:15px}.cmbe-top-name{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:10px;margin-bottom:14px}.cmbe-app input,.cmbe-app textarea{font:inherit;color:inherit;border:1px solid #cbd5e1;border-radius:7px;padding:8px 10px;width:100%;max-width:none;background:#fff}.cmbe-app input:focus,.cmbe-app textarea:focus{outline:3px solid #bfdbfe;border-color:var(--cmbe-blue)}.cmbe-tree{min-height:460px}.cmbe-row{display:grid;grid-template-columns:28px minmax(120px,.7fr) minmax(180px,1.3fr) auto;gap:7px;align-items:center;padding:7px;border:1px solid var(--cmbe-line);border-radius:9px;margin:7px 0;background:#fff}.cmbe-row.cmbe-folder{background:#f8fafc}.cmbe-row.cmbe-dragging{opacity:.45}.cmbe-row.cmbe-drop{outline:2px solid var(--cmbe-blue)}.cmbe-handle{cursor:grab;text-align:center;color:#94a3b8;font-size:18px}.cmbe-actions{display:flex;gap:4px}.cmbe-app button.cmbe-icon{padding:6px 8px;min-width:32px}.cmbe-children{margin-left:25px;padding-left:12px;border-left:2px solid #dbeafe}.cmbe-type{font-size:11px;font-weight:750;text-transform:uppercase;color:var(--cmbe-muted);margin-right:4px}.cmbe-empty{border:2px dashed var(--cmbe-line);border-radius:9px;text-align:center;padding:35px;color:var(--cmbe-muted)}.cmbe-app textarea{height:540px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5}.cmbe-status{padding:9px 12px;border-radius:7px;background:#f1f5f9;color:#475569;margin-bottom:10px}.cmbe-status.cmbe-ok{background:#ecfdf3;color:var(--cmbe-ok)}.cmbe-status.cmbe-bad{background:#fef3f2;color:var(--cmbe-danger)}.cmbe-help{color:var(--cmbe-muted);font-size:12px;margin:10px 0 0}.cmbe-footer{text-align:center;color:var(--cmbe-muted);font-size:12px;margin-top:15px}@media(max-width:900px){.cmbe-grid{grid-template-columns:1fr}.cmbe-row{grid-template-columns:26px 1fr auto}.cmbe-row input.cmbe-url{grid-column:2/4}.cmbe-top-name{grid-template-columns:1fr}.cmbe-wrap{padding:12px}.cmbe-app .cmbe-header{padding:18px}}@media(max-width:560px){.cmbe-toolbar>*{flex:1 1 auto}.cmbe-toolbar .cmbe-spacer{display:none}.cmbe-row{grid-template-columns:24px 1fr}.cmbe-row input.cmbe-url,.cmbe-row .cmbe-type,.cmbe-row .cmbe-actions{grid-column:2}.cmbe-actions{flex-wrap:wrap}}

