/* «Рабочее место» → База данных (15.10.2026): клиент «как dbForge Studio for MySQL», тёмная тема (скин VS Dark) — по скриншотам
   Виталия один в один: меню, два тулбара, Database Explorer с синей шапкой, вкладки документов (активная синяя), редактор таблицы
   с вкладками Columns/Constraints/…/Data/SQL, сетка данных с типами под именами колонок, статусная строка «Ready».
   Цвета не зависят от темы доски. Шрифт интерфейса — Segoe UI 12px (как в dbForge на Windows), код — Consolas. */
.dbc{--db-bg:#2d2d30;--db-panel:#252526;--db-line:#3f3f46;--db-line2:#434346;--db-fg:#f1f1f1;--db-dim:#9d9d9d;--db-acc:#1c6fc9;--db-acc2:#3399ff;
  --db-hover:#3e3e40;--db-sel:#3f3f46;--db-head:#333337;--db-input:#333337;--db-input-line:#434346;--db-folder:#dcb67a;--db-red:#e74c3c;--db-green:#4caf50;--db-yellow:#f0a30a;
  --db-ed:#252526;--db-font:'Segoe UI','Golos Text',system-ui,sans-serif;--db-mono:Consolas,'SourceCodePro-Regular',monospace;
  flex:1;min-height:0;display:flex;flex-direction:column;background:var(--db-bg);color:var(--db-fg);font-family:var(--db-font);font-size:12px;line-height:1.3;user-select:none;position:relative}
.dbc *{box-sizing:border-box}
.dbc button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.dbc button:disabled{opacity:.4;cursor:default}
.dbc svg{display:block}
.dbc input,.dbc select,.dbc textarea{font:inherit;color:var(--db-fg);background:var(--db-input);border:1px solid var(--db-input-line);border-radius:0;padding:2px 5px;outline:none;height:22px}
.dbc input:focus,.dbc select:focus{border-color:var(--db-acc2)}
.dbc select option{background:#2d2d30;color:#f1f1f1}
.dbc ::-webkit-scrollbar{width:14px;height:14px}
.dbc ::-webkit-scrollbar-track{background:#3e3e42}
.dbc ::-webkit-scrollbar-thumb{background:#686868;border:3px solid #3e3e42}
.dbc ::-webkit-scrollbar-thumb:hover{background:#9e9e9e}
.dbc ::-webkit-scrollbar-corner{background:#3e3e42}
#ovl.dbc-full .ovl-head,#ovl.dbc-full .ws-nav{display:none}

/* ---- значки: монотонные 16px, как у dbForge ---- */
.dbc .ic{width:16px;height:16px;flex:none;display:inline-flex;align-items:center;justify-content:center}
.dbc .ic svg{width:16px;height:16px;fill:#c5c5c5;stroke:none;stroke-linecap:round;stroke-linejoin:round}   /* залитые, как в dbForge (зумы Виталия) */
.dbc .ic.folder svg{fill:var(--db-folder)}
.dbc .ic.green svg{fill:#4fb34f}
.dbc .ic.green svg [stroke]{stroke:#4fb34f}
.dbc .ic.key svg{fill:#e8c25b}
.dbc .dot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block;background:#888}
.dbc .dot.prod{background:#e43b2c}
.dbc .dot.dev{background:#43b047}
.dbc .dot.sand{background:#f0c419;border-radius:1px;transform:rotate(45deg);width:7px;height:7px}
.dbc .dot.test{background:#f39c12}
.dbc-tbl-tabs .info .dot{width:8px;height:14px;border-radius:50%}   /* в шапке редактора таблицы — вертикальный овал, как у него */
.dbc-tbl-tabs .info .dot.sand{width:7px;height:7px;border-radius:1px}

/* ---- меню ---- */
.dbc-menu{flex:none;display:flex;align-items:center;height:24px;padding:0 4px;background:var(--db-bg);border-bottom:1px solid #222}
.dbc-menu .logo{width:18px;height:18px;margin:0 6px 0 2px;border-radius:3px;background:#1c6fc9;color:#fff;font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center}
.dbc-menu>button{padding:0 7px;height:24px;color:var(--db-fg)}
.dbc-menu>button:hover,.dbc-menu>button.on{background:var(--db-hover)}
.dbc-menu .sp{flex:1}
.dbc-menu .right{display:flex;gap:2px}
.dbc-menu .right button{width:26px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--db-dim)}
.dbc-menu .right button:hover{background:var(--db-hover);color:#fff}
.dbc-menu .right button.on{color:#fff;background:#3e3e42}
/* одна строка вместо меню-бара и двух тулбаров (15.10): логотип-кнопка раскрывает меню разделами с подменю */
.dbc-tb button.menu{padding:0 5px 0 3px;gap:3px;height:24px}
.dbc-tb button.menu .logo{width:18px;height:18px;border-radius:3px;background:#1c6fc9;color:#fff;font-weight:700;font-size:11px;display:flex;align-items:center;justify-content:center}
.dbc-tb button.menu .caret{font-size:9px;color:#c5c5c5}
.dbc-tb button.menu.on{background:#3e3e42;border-color:#565656}
.dbc-tb .sp{flex:1}
.dbc-tb [data-dbc="full"].on{background:#3e3e42;border-color:#565656}
.dbc-pop{position:fixed;z-index:60;min-width:220px;background:#1b1b1c;border:1px solid #454545;box-shadow:2px 3px 8px rgba(0,0,0,.6);padding:3px 0;font-size:12px;font-family:'Segoe UI','Golos Text',system-ui,sans-serif;user-select:none;cursor:default}   /* живёт в body, стили .dbc не наследует (замечание Виталия 15.10) */
.dbc-pop .it{display:flex;align-items:center;gap:8px;padding:4px 26px 4px 10px;white-space:nowrap;color:#f1f1f1;cursor:pointer}
.dbc-pop .it .ic{width:16px}
.dbc-pop .it:hover{background:#1c6fc9;color:#fff}
.dbc-pop .it.dis{color:#6d6d6d;cursor:default}
.dbc-pop .it.dis:hover{background:none;color:#6d6d6d}
.dbc-pop .it .k{margin-left:auto;color:#9d9d9d;font-size:11px;padding-left:18px}
.dbc-pop .it:hover .k{color:#e8e8e8}
.dbc-pop .it.dis:hover .k{color:#9d9d9d}
.dbc-pop .it .sub{margin-left:auto;font-size:9px;color:#9d9d9d}
.dbc-pop .sep{height:1px;background:#3a3a3a;margin:3px 1px}
.dbc-pop .it.chk::before{content:'✓';width:12px;text-align:center;font-size:11px}
.dbc-pop .it.unchk::before{content:'';width:12px}

/* ---- тулбары ---- */
.dbc-tb{flex:none;display:flex;align-items:center;gap:1px;height:28px;padding:0 4px;background:var(--db-bg);border-bottom:1px solid #222;overflow:hidden;white-space:nowrap}
.dbc-tb .grip{width:8px;height:18px;margin:0 3px 0 0;background:repeating-linear-gradient(180deg,#666 0 1px,transparent 1px 3px);opacity:.7;flex:none}
.dbc-tb button{height:24px;min-width:24px;padding:0 4px;display:flex;align-items:center;gap:5px;color:var(--db-fg);border:1px solid transparent;white-space:nowrap;flex:none}
.dbc-tb button:hover:not(:disabled){background:var(--db-hover);border-color:#565656}
.dbc-tb button.on{background:#3e3e42;border-color:#565656}
.dbc-tb .sep{width:1px;height:18px;background:#505050;margin:0 3px}
.dbc-tb .lbl{color:var(--db-dim);padding:0 4px 0 8px;flex:none}
.dbc-tb .sel{position:relative;display:flex;align-items:center;height:22px;min-width:120px;max-width:260px;flex:1 1 200px;background:var(--db-input);border:1px solid var(--db-input-line);padding:0 18px 0 6px;color:var(--db-fg);cursor:pointer;gap:6px}
.dbc-tb .sel.dis{color:#777}
.dbc-tb .sel::after{content:'';position:absolute;right:6px;top:8px;border:4px solid transparent;border-top:5px solid #c5c5c5}
.dbc-tb .sel .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dbc-tb .run{color:#79d05b}
.dbc-tb .run svg{fill:#79d05b}
.dbc-tb .stop svg{fill:#d9534f}
.dbc-tb button:disabled .ic svg{fill:#6d6d70}

/* ---- тело: обозреватель + документы ---- */
.dbc-body{flex:1;min-height:0;display:flex}
.dbc-expl{flex:none;width:380px;min-width:200px;max-width:900px;display:flex;flex-direction:column;background:var(--db-panel);border:1px solid #1b1b1c;margin:3px 0 3px 3px}
.dbc.noexpl .dbc-expl,.dbc.noexpl .dbc-vsplit{display:none}
.dbc-expl-head{flex:none;height:24px;display:flex;align-items:center;padding:0 2px 0 8px;background:var(--db-acc);color:#fff;font-weight:600;gap:4px}
.dbc-expl-head .t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dbc-expl-head button{width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:#fff;opacity:.9}
.dbc-expl-head button:hover{background:rgba(255,255,255,.18)}
.dbc-expl-head button svg{width:12px;height:12px;fill:#fff}
.dbc-expl-tb{flex:none;display:flex;align-items:center;gap:1px;height:26px;padding:0 3px;background:var(--db-bg);border-bottom:1px solid #1b1b1c}
.dbc-expl-tb button{width:24px;height:22px;display:flex;align-items:center;justify-content:center;border:1px solid transparent}
.dbc-expl-tb button:hover:not(:disabled){background:var(--db-hover);border-color:#565656}
.dbc-expl-tb button.on{background:#3e3e42;border-color:#565656}
.dbc-expl-tb .sep{width:1px;height:16px;background:#505050;margin:0 4px}
.dbc-expl-filter{flex:none;display:none;padding:3px 4px;border-bottom:1px solid #1b1b1c;background:var(--db-bg)}
.dbc-expl-filter.on{display:flex;gap:4px}
.dbc-expl-filter input{flex:1;height:22px}
.dbc-tree{flex:1;overflow:auto;padding:2px 0 20px;white-space:nowrap}
.dbc-n{display:flex;align-items:center;height:16px;padding-left:var(--ind,4px);gap:3px;cursor:pointer;color:var(--db-fg)}
.dbc-n:hover{background:#2f2f33}
.dbc-n.on{background:var(--db-acc);color:#fff}
.dbc-n.on .ic svg,.dbc-n.on .ic.folder svg,.dbc-n.on .ic.green svg,.dbc-n.on .ic.key svg{fill:#fff}
.dbc-n.on .ic svg [fill]{fill:#fff}
.dbc-n .ar{width:12px;height:16px;flex:none;display:flex;align-items:center;justify-content:center}
.dbc-n .ar svg{width:9px;height:9px;stroke:#4a9eea;fill:none;stroke-width:1.7}   /* свёрнуто — синяя стрелка, раскрыто — белая, как в dbForge */
.dbc-n .ar.open svg{transform:rotate(90deg);stroke:#e6e6e6}
.dbc-n.on .ar svg{stroke:#fff}
.dbc-n .ar.none{visibility:hidden}
.dbc-n .ic{margin-right:1px}
.dbc-n .dot{margin:0 2px 0 1px}
.dbc-n .nm{overflow:hidden;text-overflow:ellipsis}
.dbc-n .nm .sub{color:var(--db-dim);margin-left:6px;font-size:11px}
.dbc-n.on .nm .sub{color:#dfe9f7}
.dbc-n.dim{cursor:default}
.dbc-n.dim .nm{color:#8a8a8a;font-style:italic}
.dbc-n .dot{margin-right:3px}
.dbc-n .spin{color:var(--db-dim);font-style:italic}
.dbc-vsplit{flex:none;width:5px;cursor:col-resize;background:var(--db-bg)}
.dbc-vsplit:hover{background:#3e3e42}

/* ---- документы ---- */
.dbc-docs{flex:1;min-width:0;display:flex;flex-direction:column;margin:3px 3px 3px 0}
.dbc-tabs{flex:none;display:flex;align-items:flex-end;height:26px;background:var(--db-bg);gap:1px;padding:0 0 0 1px;position:relative}
.dbc-tab{height:24px;display:flex;align-items:center;gap:6px;padding:0 6px 0 7px;background:#2d2d30;color:#c5c5c5;max-width:260px;border:1px solid transparent;border-bottom:0;cursor:pointer}
.dbc-tab:hover{background:#3e3e40;color:#fff}
.dbc-tab.on{background:var(--db-acc);color:#fff}
.dbc-tab .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dbc-tab .nm i{font-style:normal;color:#e3c04c;margin-left:3px}
.dbc-tab.on .nm i{color:#fff}
.dbc-tab .x{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:2px;color:inherit;opacity:.85;font-size:13px;line-height:1}
.dbc-tab .x:hover{background:rgba(255,255,255,.25);opacity:1}
.dbc-tab.on .ic svg{fill:#fff}
.dbc-tab.on .ic svg [fill]{fill:#fff}
.dbc-tabs .more{margin-left:auto;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--db-dim);align-self:center}
.dbc-tabs .more:hover{color:#fff;background:var(--db-hover)}
.dbc-doc{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--db-panel);border:1px solid #1b1b1c}
.dbc-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#6a6a6a;font-size:13px;text-align:center;line-height:1.6}

/* ---- SQL-документ ---- */
.dbc-sql{flex:1;min-height:0;display:flex;flex-direction:column}
.dbc-sql-ed{flex:1;min-height:60px;position:relative;background:var(--db-ed)}
.dbc-sql-ed .CodeMirror{position:absolute;inset:0;height:100%;font-family:var(--db-mono);font-size:13px;line-height:1.35}
.dbc-hsplit{flex:none;height:5px;cursor:row-resize;background:var(--db-bg)}
.dbc-hsplit:hover{background:#3e3e42}
.dbc-res{flex:none;height:260px;min-height:60px;display:flex;flex-direction:column;background:var(--db-panel);border-top:1px solid #1b1b1c}
.dbc-res.off{display:none}
.dbc-sql.nores .dbc-hsplit{display:none}
.dbc-res-tabs{flex:none;display:flex;align-items:flex-end;height:24px;background:var(--db-bg);gap:1px;padding-left:2px}
.dbc-res-tabs button{height:22px;padding:0 10px;display:flex;align-items:center;gap:5px;color:#c5c5c5;background:#2d2d30}
.dbc-res-tabs button.on{background:var(--db-panel);color:#fff;border:1px solid #1b1b1c;border-bottom:0}
.dbc-res-tabs button:hover{color:#fff}
.dbc-res-tabs .sp{flex:1}
.dbc-res-tabs .info{align-self:center;color:var(--db-dim);padding-right:8px;font-size:11px}
.dbc-res-body{flex:1;min-height:0;display:flex;flex-direction:column}
.dbc-msgs{flex:1;overflow:auto;padding:4px 8px;font-family:var(--db-mono);font-size:12px;white-space:pre-wrap;color:#d4d4d4;user-select:text}
.dbc-msgs .err{color:#f48771}
.dbc-msgs .ok{color:#9ed16d}
.dbc-msgs .t{color:var(--db-dim)}
.dbc-grid-foot{flex:none;height:22px;display:flex;align-items:center;gap:12px;padding:0 8px;background:var(--db-bg);border-top:1px solid #1b1b1c;color:var(--db-dim);font-size:11px}
.dbc-grid-foot b{color:var(--db-fg);font-weight:500}

/* ---- сетка (результат и данные) ---- */
.dbc-gwrap{flex:1;min-height:0;overflow:auto;position:relative;background:var(--db-panel)}
.dbc-g{border-collapse:separate;border-spacing:0;font-size:12px;table-layout:fixed;min-width:100%}
.dbc-g th{position:sticky;top:0;z-index:2;background:var(--db-head);color:var(--db-fg);text-align:left;font-weight:400;padding:2px 6px;border-right:1px solid var(--db-line);border-bottom:1px solid var(--db-line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:22px;vertical-align:top;cursor:default}
.dbc-g th.two{height:36px;line-height:16px;font-size:12.5px;padding-top:3px}   /* две строки: имя и тип (как в dbForge) */
#dbc-data-g .dbc-g th.two{cursor:pointer}   /* данные: клик — сортировка */
.dbc-g th .ty{display:block;color:var(--db-dim);font-size:11px;font-weight:400;line-height:14px}
.dbc-g th .srt{color:#fff;margin-left:4px;font-size:9px}
.dbc-g th .rz{position:absolute;right:0;top:0;width:6px;height:100%;cursor:col-resize}
.dbc-g th{position:sticky}
.dbc-g th.ind,.dbc-g td.ind{width:22px;min-width:22px;max-width:22px;padding:0;text-align:center;background:var(--db-head);color:var(--db-dim);border-right:1px solid var(--db-line);position:sticky;left:0;z-index:1}
.dbc-g th.ind{z-index:3}
.dbc-g td.ind .m{color:#e3c04c;font-weight:700}
.dbc-g td.ind .a{color:#79d05b}
.dbc-g td{padding:0 6px;height:21px;border-right:1px solid var(--db-line);border-bottom:1px solid var(--db-line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f1f1f1;cursor:default;max-width:420px;user-select:text}
.dbc-g td.num{text-align:right;font-variant-numeric:tabular-nums}
.dbc-g td.null{color:#8a8a8a;font-style:italic}
.dbc-g td.ml{white-space:pre;max-height:21px}
.dbc-g tr:hover td{background:#2a2d2e}
.dbc-g tr.cur td{background:#333337}
.dbc-g td.sel{outline:1px solid var(--db-acc2);outline-offset:-1px;background:#264f78 !important}
.dbc-g tr.on td{background:#264f78}
.dbc-g td.mod{background:#4b3d1f !important}
.dbc-g tr.del td{text-decoration:line-through;color:#d9534f}
.dbc-g tr.new td{background:#1e3a28}
.dbc-g td input{height:21px;width:100%;margin:0 -6px;padding:0 6px;background:#1e1e1e;border:1px solid var(--db-acc2);color:#fff;font:inherit}
.dbc-g td.ro{color:#bdbdbd}
.dbc-g tr.edit td .chk:not(.dis){cursor:pointer}
.dbc-g .chk{display:inline-block;width:12px;height:12px;border:1px solid #8a8a8a;border-radius:2px;position:relative;vertical-align:-2px;background:#2d2d30}
.dbc-g .chk.on::after{content:'';position:absolute;left:3px;top:0;width:4px;height:7px;border:solid #e0e0e0;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.dbc-g .chk.dis{opacity:.45}
.dbc-g td.c{text-align:center}
.dbc-g tr.edit td .chk{cursor:pointer}

/* ---- редактор таблицы ---- */
.dbc-tbl{flex:1;min-height:0;display:flex;flex-direction:column}
.dbc-tbl-tabs{flex:none;display:flex;align-items:stretch;height:30px;background:var(--db-bg);border-bottom:1px solid #1b1b1c;padding-left:2px}
.dbc-tbl-tabs button{height:30px;padding:0 10px;display:flex;align-items:center;gap:6px;color:#c5c5c5;border-bottom:2px solid transparent}
.dbc-tbl-tabs button:hover{color:#fff;background:#333337}
.dbc-tbl-tabs button.on{color:#fff;background:#3e3e42}
.dbc-tbl-tabs .sp{flex:1}
.dbc-tbl-tabs .info{display:flex;align-items:center;gap:8px;padding:0 8px;color:var(--db-fg)}
.dbc-tbl-tabs .info span{display:flex;align-items:center;gap:6px;padding:0 6px;height:22px;border-left:1px solid #1b1b1c}
.dbc-tbl-tabs .info span:first-child{border-left:0}
.dbc-tbl-tabs .lay{width:26px;height:30px;display:flex;align-items:center;justify-content:center;color:#c5c5c5}
.dbc-tbl-tabs .lay.on{color:#fff;background:#3e3e42}
.dbc-tbl-body{flex:1;min-height:0;display:flex;flex-direction:column}
.dbc-tbl-foot{flex:none;height:34px;display:flex;align-items:center;gap:6px;padding:0 6px;background:var(--db-bg);border-top:1px solid #1b1b1c}
.dbc-tbl-foot button{height:24px;padding:0 8px;display:flex;align-items:center;gap:6px;background:#2d2d30;border:1px solid #555;color:var(--db-fg)}
.dbc-tbl-foot button:hover:not(:disabled){background:#3e3e40;border-color:#777}
.dbc-tbl-foot button.split{display:inline-flex;padding:0}
.dbc-tbl-foot button.split span{padding:0 8px;display:flex;align-items:center;gap:6px;height:100%}
.dbc-tbl-foot button.split span.dd{padding:0 5px;border-left:1px solid #555}
.dbc-tbl-foot .sp{flex:1}
.dbc-tbl-foot .st{color:var(--db-dim);font-size:11px}
/* Columns */
.dbc-cols{flex:1;min-height:0;display:flex}
.dbc-cols-main{flex:1;min-width:0;display:flex;flex-direction:column;padding:6px 6px 0 6px;gap:4px}
.dbc-form{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:4px 8px;align-items:center}
.dbc-form label{color:var(--db-fg);white-space:nowrap}
.dbc-form input{width:100%}
.dbc-form input:read-only{color:#bdbdbd;background:#2d2d30}
.dbc-form .w2{grid-column:span 3}
.dbc-cap{color:var(--db-fg);padding:3px 0 1px}
.dbc-cols-main .dbc-gwrap{flex:1;border:1px solid var(--db-line)}
.dbc-g.cols th.chk-h,.dbc-g.cols td.chk-c{width:30px;min-width:30px;max-width:30px;text-align:center;padding:0}
.dbc-g.cols th.chk-h .ic{margin:0 auto}
.dbc-g.cols td.c{text-align:center}
.dbc-props{flex:none;width:360px;min-width:220px;display:flex;flex-direction:column;border-left:1px solid var(--db-line);background:var(--db-panel)}
.dbc-props .cap{flex:none;padding:6px 8px 4px;color:var(--db-fg)}
.dbc-props .lst{flex:1;overflow:auto;margin:0 6px 6px;border:1px solid var(--db-line)}
.dbc-props .grp{display:flex;align-items:center;gap:6px;height:22px;padding:0 6px;background:#333337;border-bottom:1px solid var(--db-line);font-weight:600;cursor:pointer}
.dbc-props .grp .ar{margin-left:auto;color:var(--db-dim);font-size:10px}
.dbc-props .row{display:grid;grid-template-columns:110px 1fr;height:20px;align-items:center;border-bottom:1px solid #2f2f33}
.dbc-props .row>span{padding:0 6px 0 22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--db-fg)}
.dbc-props .row>span.dis{color:#777}
.dbc-props .row>div{padding:0 6px;height:20px;display:flex;align-items:center;border-left:1px solid var(--db-line);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--db-fg)}
.dbc-props .row>div.dis{color:#777}
.dbc-props .row input{height:18px;width:100%;background:transparent;border:0;padding:0}
.dbc-props .row input:focus{background:#1e1e1e}
.dbc-props .row .chk:not(.dis){cursor:pointer}
.dbc-props .row .chk{display:inline-block;width:12px;height:12px;border:1px solid #8a8a8a;border-radius:2px;position:relative;background:#2d2d30}
.dbc-props .row .chk.on::after{content:'';position:absolute;left:3px;top:0;width:4px;height:7px;border:solid #e0e0e0;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.dbc-props .row .chk.dis{opacity:.45}
.dbc-hs{flex:none;width:5px;cursor:col-resize}
.dbc-hs:hover{background:#3e3e42}
/* списки (Constraints, Indexes, Triggers, Partitioning) */
.dbc-list{flex:1;min-height:0;display:flex;flex-direction:column;padding:6px}
.dbc-list .dbc-gwrap{border:1px solid var(--db-line)}
.dbc-list .note{color:var(--db-dim);padding:6px 2px}
.dbc-list .sub{flex:none;max-height:45%;display:flex;flex-direction:column;margin-top:6px}
/* Options */
.dbc-opts{flex:1;overflow:auto;padding:10px 12px}
.dbc-opts .dbc-form{grid-template-columns:140px 320px 140px 1fr;max-width:1000px}
.dbc-opts h4{margin:12px 0 6px;font-size:12px;color:var(--db-dim);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
/* Data */
.dbc-data{flex:1;min-height:0;display:flex;flex-direction:column}
.dbc-data-tb{flex:none;display:flex;align-items:center;gap:1px;height:28px;padding:0 4px;background:var(--db-bg);border-bottom:1px solid #1b1b1c}
.dbc-data-tb button{height:24px;min-width:24px;padding:0 4px;display:flex;align-items:center;justify-content:center;gap:4px;border:1px solid transparent;color:var(--db-fg)}
.dbc-data-tb button:hover:not(:disabled){background:var(--db-hover);border-color:#565656}
.dbc-data-tb button.on{background:#3e3e42;border-color:#565656}
.dbc-data-tb .sep{width:1px;height:18px;background:#505050;margin:0 3px}
.dbc-data-tb select{height:22px;width:72px;padding:0 2px}
.dbc-data-tb .lbl{color:var(--db-dim);padding:0 4px 0 8px}
.dbc-data-tb .mode{height:22px;min-width:120px;background:var(--db-input);border:1px solid var(--db-input-line);padding:0 18px 0 6px;position:relative;display:flex;align-items:center;color:var(--db-fg)}
.dbc-data-tb .mode::after{content:'';position:absolute;right:6px;top:8px;border:4px solid transparent;border-top:5px solid #c5c5c5}
.dbc-data-filter{flex:none;display:none;align-items:center;gap:6px;padding:3px 6px;background:var(--db-bg);border-bottom:1px solid #1b1b1c}
.dbc-data-filter.on{display:flex}
.dbc-data-filter input{flex:1;font-family:var(--db-mono)}
.dbc-data-filter .lbl{color:var(--db-dim)}
.dbc-data-nav{flex:none;height:24px;display:flex;align-items:center;gap:2px;padding:0 4px;background:var(--db-bg);border-top:1px solid #1b1b1c}
.dbc-data-nav button{width:22px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--db-fg);border:1px solid transparent}
.dbc-data-nav button:hover:not(:disabled){background:var(--db-hover);border-color:#565656}
.dbc-data-nav .rec{padding:0 10px;color:var(--db-fg)}
.dbc-data-nav .sep{width:1px;height:16px;background:#505050;margin:0 3px}
.dbc-data-nav .sp{flex:1}
.dbc-data-nav .st{color:var(--db-dim);font-size:11px;padding-right:6px}
.dbc-data-nav .plus{color:#79d05b;font-size:15px}
.dbc-data-nav .minus{color:#d9534f;font-size:15px}
.dbc-data-nav .ok{color:#79d05b}
.dbc-data-nav .cancel{color:#d9534f}
/* SQL (DDL) */
.dbc-ddl{flex:1;min-height:0;position:relative;background:var(--db-ed)}
.dbc-ddl .CodeMirror{position:absolute;inset:0;height:100%;font-family:var(--db-mono);font-size:13px;line-height:1.35}
.dbc-ddl .note{position:absolute;left:0;right:0;top:0;z-index:3;background:#4b3d1f;color:#f1d58a;padding:3px 10px;font-size:11px}
.dbc-ddl .note+.CodeMirror{top:22px}

/* ---- статусная строка ---- */
.dbc-status{flex:none;height:22px;display:flex;align-items:center;gap:14px;padding:0 10px;background:var(--db-bg);border-top:1px solid #1b1b1c;color:var(--db-fg);font-size:12px}
.dbc-status .sp{flex:1}
.dbc-status .busy{color:#e3c04c}
.dbc-status .err{color:#f48771}
.dbc-status .dim{color:var(--db-dim)}

/* ---- контекстное меню и окна ---- */
.dbc-ctx{position:fixed;z-index:70}
.dbc-modal{position:fixed;inset:0;z-index:65;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;font-family:var(--db-font);font-size:12px;user-select:none}
.dbc-modal .box{background:#2d2d30;color:#f1f1f1;border:1px solid #555;box-shadow:0 6px 24px rgba(0,0,0,.6);min-width:420px;max-width:80vw;max-height:80vh;display:flex;flex-direction:column}
.dbc-modal .box h3{margin:0;padding:6px 10px;background:var(--db-acc);font-size:12px;font-weight:600;color:#fff}
.dbc-modal .box .in{padding:12px;display:flex;flex-direction:column;gap:8px;overflow:auto}
.dbc-modal .box .in pre{margin:0;max-height:50vh;overflow:auto;background:#1e1e1e;border:1px solid #444;padding:8px;font-family:var(--db-mono);font-size:12px;color:#d4d4d4;white-space:pre-wrap;user-select:text}
.dbc-modal .box .in input,.dbc-modal .box .in select{height:24px;background:#333337;border:1px solid #555;color:#f1f1f1;padding:0 6px;font:inherit}
.dbc-modal .box .in label{display:flex;flex-direction:column;gap:3px;color:#c5c5c5}
.dbc-modal .box .in .lst{max-height:40vh;overflow:auto;border:1px solid #444}
.dbc-modal .box .in .lst div{padding:3px 8px;cursor:pointer}
.dbc-modal .box .in .lst div:hover{background:var(--db-acc);color:#fff}
.dbc-modal .box .in .lst div.g{color:var(--db-dim);font-size:11px;padding-top:6px;cursor:default}
.dbc-modal .box .in .lst div.g:hover{background:none;color:var(--db-dim)}
.dbc-modal .box .bt{display:flex;justify-content:flex-end;gap:6px;padding:8px 12px;border-top:1px solid #444}
.dbc-modal .box .bt button{height:24px;min-width:76px;padding:0 10px;background:#3e3e42;border:1px solid #666;color:#f1f1f1;font:inherit;cursor:pointer}
.dbc-modal .box .bt button.pri{background:var(--db-acc);border-color:var(--db-acc)}
.dbc-modal .box .bt button:hover{filter:brightness(1.15)}

/* ---- CodeMirror: тема «dbforge» (VS Dark, как в редакторе dbForge на скринах) ---- */
.dbc .cm-s-dbforge.CodeMirror{background:var(--db-ed);color:#dcdcdc}
.dbc .cm-s-dbforge .CodeMirror-gutters{background:var(--db-ed);border-right:1px solid #2b2b2e}
.dbc .cm-s-dbforge .CodeMirror-linenumber{color:#5a5a5a;padding:0 6px 0 10px}
.dbc .cm-s-dbforge .CodeMirror-cursor{border-left:1px solid #f1f1f1}
.dbc .cm-s-dbforge .CodeMirror-activeline-background{background:#2a2d2e}
.dbc .cm-s-dbforge .CodeMirror-selected{background:#264f78}
.dbc .cm-s-dbforge .CodeMirror-focused .CodeMirror-selected{background:#264f78}
.dbc .cm-s-dbforge .CodeMirror-line::selection,.dbc .cm-s-dbforge .CodeMirror-line>span::selection,.dbc .cm-s-dbforge .CodeMirror-line>span>span::selection{background:#264f78}
.dbc .cm-s-dbforge .cm-keyword{color:#569cd6}
.dbc .cm-s-dbforge .cm-builtin{color:#4ec9b0}
.dbc .cm-s-dbforge .cm-atom{color:#569cd6}
.dbc .cm-s-dbforge .cm-number{color:#b5cea8}
.dbc .cm-s-dbforge .cm-string{color:#d69d85}
.dbc .cm-s-dbforge .cm-string-2{color:#d69d85}
.dbc .cm-s-dbforge .cm-variable-2{color:#9cdcfe}
.dbc .cm-s-dbforge .cm-variable-3,.dbc .cm-s-dbforge .cm-type{color:#4ec9b0}
.dbc .cm-s-dbforge .cm-comment{color:#57a64a}
.dbc .cm-s-dbforge .cm-operator{color:#dcdcdc}
.dbc .cm-s-dbforge .cm-bracket{color:#dcdcdc}
.dbc .cm-s-dbforge .cm-punctuation{color:#dcdcdc}
.dbc .cm-s-dbforge .cm-dbf-func{color:#da70d6}
.dbc .cm-s-dbforge .cm-dbf-ident{color:#dcdcdc}
.dbc .cm-s-dbforge .cm-matchingbracket{color:#fff !important;background:#3b3b5c;text-decoration:none}
.dbc .cm-s-dbforge .CodeMirror-foldmarker{color:#9cdcfe;text-shadow:none;font-family:var(--db-mono)}
.dbc .cm-s-dbforge .CodeMirror-foldgutter{width:12px}
.dbc .cm-s-dbforge .CodeMirror-foldgutter-open,.dbc .cm-s-dbforge .CodeMirror-foldgutter-folded{color:#8a8a8a;font-size:10px}
.dbc .cm-s-dbforge .CodeMirror-foldgutter-open::after{content:'⊟'}
.dbc .cm-s-dbforge .CodeMirror-foldgutter-folded::after{content:'⊞'}
.dbc .cm-s-dbforge .cm-matchhighlight{background:#3a3d41;outline:1px solid #5b5e63}
.dbc .cm-s-dbforge .CodeMirror-dialog{background:#333337;color:#f1f1f1;border-bottom:1px solid #555;font-family:var(--db-font)}
.dbc .cm-s-dbforge .CodeMirror-dialog input{background:#1e1e1e;color:#fff;border:1px solid #555;font-family:var(--db-mono)}
.dbc .cm-s-dbforge .CodeMirror-search-hint{color:#9d9d9d}
.dbc .cm-s-dbforge .CodeMirror-readonly .CodeMirror-cursor{display:none}
html body ul.CodeMirror-hints.dbforge{background:#1b1b1c;border:1px solid #454545;color:#f1f1f1;font-family:var(--db-mono,Consolas,monospace);font-size:12px;z-index:9000 !important;box-shadow:2px 3px 8px rgba(0,0,0,.6)}
html body ul.CodeMirror-hints.dbforge li.CodeMirror-hint{color:#f1f1f1;padding:1px 10px}
html body ul.CodeMirror-hints.dbforge li.CodeMirror-hint-active{background:var(--db-acc,#1c6fc9);color:#fff}
