/* Карточки и связи ER-диаграммы. Все размеры масштабируются общей CSS-трансформацией. */
.schema-explorer{border:1px solid #dce4ee;border-radius:9px;background:white;overflow:hidden;min-width:0;position:relative}
.erd-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid #e1e8f0;flex-wrap:wrap;background:#fff}
.erd-tabs,.erd-controls{display:flex;align-items:center;gap:3px}.erd-tabs{gap:5px}
.erd-tabs .erd-tab{padding:8px 11px;background:transparent;border:0;border-radius:5px;font-size:11px;color:#7c8ba1;display:flex;align-items:center;gap:6px;white-space:nowrap}
.erd-tabs .erd-tab.active{color:#246e58;background:#eaf4ef;font-weight:600}.erd-tab svg{width:15px;height:15px}
.erd-controls>button{border:0;background:transparent;color:#6c809a;min-width:28px;height:30px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;padding:5px}
.erd-controls>button:hover{background:#edf3f8;color:#2c6656}.erd-controls svg{width:16px;height:16px}.erd-controls .erd-scale{font-family:Consolas,monospace;font-size:11px;min-width:42px}
.erd-control-divider{height:17px;width:1px;background:#e1e7ee;margin:0 5px}
.erd-viewport{height:520px;position:relative;overflow:hidden;cursor:grab;touch-action:none;background-color:#f8fafc;background-image:radial-gradient(#cdd8e5 .85px,transparent .85px);background-size:17px 17px;isolation:isolate;outline-offset:-3px}
.erd-viewport.is-panning,.erd-viewport.is-panning .erd-table-head{cursor:grabbing}.erd-world{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}
.erd-connections{position:absolute;top:0;left:0;overflow:visible;pointer-events:none}
.erd-edge{color:#9caec4;outline:0;pointer-events:stroke;cursor:pointer}.erd-edge-line,.erd-edge-end{stroke:currentColor;fill:none;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.erd-edge-hit{stroke:transparent;fill:none;stroke-width:14;pointer-events:stroke}.erd-edge:hover,.erd-edge:focus-visible{color:#337aaf}.erd-edge.is-active{color:#21866a}.erd-edge.is-active .erd-edge-line,.erd-edge.is-active .erd-edge-end{stroke-width:2.6}
.erd-table{position:absolute;border:1px solid #d4dfeb;border-top:3px solid var(--table-accent,#6c8eaa);border-radius:7px;background:#fff;box-shadow:0 3px 10px #2a426d0a;padding-bottom:7px;transition:box-shadow .15s,border-color .15s;cursor:default;font-family:Inter,"Segoe UI",Arial,sans-serif}
.erd-color-0{--table-accent:#5d8bc0}.erd-color-1{--table-accent:#7f80b9}.erd-color-2{--table-accent:#549c88}.erd-color-3{--table-accent:#bf9b61}.erd-color-4{--table-accent:#ba869b}
.erd-table-head{height:59px;display:flex;gap:10px;align-items:center;padding:10px 12px;background:#f9fbfe;border-bottom:1px solid #e5ebf3;cursor:grab;border-radius:4px 4px 0 0;user-select:none;outline-offset:-3px}
.erd-table-head strong{display:block;font:600 12px Consolas,"Cascadia Code",monospace;color:#314965}.erd-table-head small{display:block;margin-top:4px;font-size:10px;color:#8998ab}.erd-table-glyph{display:flex;color:var(--table-accent);background:white;border:1px solid #e1e8f0;border-radius:5px;padding:5px}.erd-table-glyph svg{width:15px;height:15px}
.erd-open-data{margin-left:auto;border:0;border-radius:4px;background:transparent;color:#8499b0;padding:5px;display:flex}.erd-open-data svg{width:15px;height:15px}.erd-open-data:hover{background:#e9f3ee;color:#237958}
.erd-column{height:29px;display:flex;align-items:center;gap:5px;padding:0 10px;border-bottom:1px solid #f1f4f8;font:11px Consolas,"Cascadia Code",monospace;white-space:nowrap;transition:background .15s}
.erd-column:last-child{border-bottom:0}.erd-keys{display:flex;gap:2px;min-width:27px}.erd-key{display:inline-flex;align-items:center;justify-content:center;font:600 7px "Segoe UI",Arial,sans-serif;line-height:14px;padding:0 2px;border-radius:3px;min-width:13px;flex-shrink:0}
.erd-key-primary{background:#fbf1dc;color:#a27b27}.erd-key-foreign{background:#e8f2fc;color:#4f84b2}.erd-column-dot{color:#b5c3d4;font-size:15px;padding-left:4px}.erd-column-name{color:#415973;font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis}
.erd-type{color:#96a4b7;margin-left:auto;font-size:10px;flex-shrink:0}.erd-type span{color:#bd9b66}.erd-table.is-selected{border-color:#3e987a;box-shadow:0 0 0 3px #3e987a20,0 5px 15px #2a426d12}.erd-table.is-selected .erd-table-head{background:#eef7f1}.erd-table.is-related{border-color:#8bb5a6}
.erd-column.is-linked{background:#ecf7f1}.erd-column.is-linked .erd-column-name{color:#22634e}.has-selection .erd-edge:not(.is-active){opacity:.35}.erd-pan-hint{position:absolute;bottom:13px;left:16px;padding:5px 9px;border:1px solid #e1e8ef;border-radius:5px;background:#fffffff2;color:#92a0b2;font-size:9px;pointer-events:none;user-select:none}
.erd-legend{display:flex;align-items:center;gap:17px;padding:12px 17px;border-top:1px solid #e1e8ef;background:#fff;font-size:10px;color:#8695a9;flex-wrap:wrap}.erd-legend>span{display:flex;align-items:center;gap:6px}.erd-legend .erd-key{font-size:8px;padding:0 4px;line-height:17px}.erd-relation-key{font-family:Consolas,monospace;color:#678aa2}.erd-relation-key span{font-family:"Segoe UI",Arial,sans-serif;color:#8695a9}
.erd-selection{padding:11px 17px;border-top:1px solid #eef2f6;font-size:10px;color:#7f92a6;line-height:1.8;background:#fbfcfe;min-height:40px}.erd-selection>span{display:block}.erd-selection code{font-size:10px;color:#4e7890}.erd-selection b{margin:0 7px;color:#519b7c}
.erd-list{padding:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px;background:#f8fafc;max-height:650px;overflow:auto}.erd-list .schema-table{background:white}.erd-list .schema-table h3{font-family:Consolas,monospace;font-weight:600}.erd-list .erd-column{height:32px}
.erd-sample{padding:18px;border-top:1px solid #e0e8f1;background:white;max-height:360px;overflow:auto}.erd-sample-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:13px}.erd-sample-heading h3{font:600 12px Consolas,monospace}.erd-sample-heading p{font-size:10px;color:#91a0b4;margin-top:4px}.erd-sample table{font-size:11px}.erd-sample td,.erd-sample th{padding:11px 13px;white-space:nowrap}
.diagram-expanded{overflow:hidden}.schema-explorer.is-expanded{position:fixed;inset:20px;z-index:80;display:flex;flex-direction:column;box-shadow:0 0 0 30px #14223a80,0 20px 80px #14223a60;border-radius:11px}.is-expanded .erd-viewport{height:auto;flex:1;min-height:200px}.is-expanded .erd-list{flex:1;max-height:none}.is-expanded .erd-sample{max-height:32vh}.is-expanded .erd-selection{max-height:120px;overflow:auto}.is-expanded .erd-toolbar{padding:13px 18px}
.schema-panel>.card-body{padding:0;border-top:0}.schema-panel .schema-explorer{border:0;border-radius:0}.schema-panel .card-header{padding:16px 19px}.schema-panel .card-header h3{font-size:13px}
.query-workspace{min-width:0}.query-pane{min-width:0}.schema-auto{margin-top:20px}.schema-auto:empty{display:none}.schema-toggle-open{background:#edf7f1!important;border-color:#b4d5c3!important;color:#2d7a5d!important}
@media(min-width:1800px){.query-workspace{display:grid;grid-template-columns:minmax(370px,1fr) minmax(440px,1.1fr);gap:20px;align-items:start}.query-workspace .schema-auto{margin-top:0;position:sticky;top:20px}.query-workspace .erd-viewport{height:600px}}
@media(max-width:600px){.erd-toolbar{padding:10px;gap:8px}.erd-tabs{gap:2px}.erd-tabs .erd-tab{font-size:10px;padding:7px 8px}.erd-controls{margin-left:auto}.erd-controls>button{min-width:26px;height:29px;padding:4px}.erd-control-divider{margin:0 2px}.erd-viewport{height:420px}.erd-pan-hint{left:8px;right:8px;bottom:8px;text-align:center;font-size:8px;padding:5px 4px}.erd-legend{gap:10px;padding:11px;font-size:9px}.erd-selection{padding:10px 12px;word-break:break-word}.erd-selection code{font-size:9px}.erd-list{padding:12px;grid-template-columns:1fr}.schema-explorer.is-expanded{inset:8px}.is-expanded .erd-toolbar{padding:10px}.erd-sample{padding:12px}.schema-panel .card-header{padding:14px}.schema-panel .card-header .badge{display:none}}
@media print{.erd-toolbar,.erd-pan-hint,.erd-open-data,.erd-sample{display:none!important}.erd-viewport{height:650px;break-inside:avoid;background:white}.erd-table{box-shadow:none}.schema-explorer.is-expanded{position:static}.erd-legend,.erd-selection{font-size:9px}}
