/* ================= base ================= */
:root{
  --bg:#07121f; --panel:rgba(14,31,50,.90); --panel2:rgba(17,38,61,.86); --line:rgba(133,172,216,.20);
  --text:#f7f9fc; --muted:#9fb0c4; --muted2:#6f8298; --blue:#2b7cff; --blue2:#0d5fe7; --red:#ef3945;
  --green:#35c97a; --amber:#f1a53a; --shadow:0 18px 50px rgba(0,0,0,.32); --radius:10px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#07121f}
body{overflow-x:hidden}
.ambient{position:fixed;z-index:-3;left:-4vw;right:-4vw;top:43vh;height:27vh;background:linear-gradient(180deg,rgba(150,158,168,.08),rgba(126,136,148,.38) 42%,rgba(116,128,142,.26) 68%,rgba(85,104,125,.05));filter:blur(28px);opacity:.9;pointer-events:none}
.scrim{position:fixed;inset:0;background:linear-gradient(90deg,rgba(3,11,20,.96) 0 178px,rgba(3,11,20,.18) 178px 100%);z-index:-2;pointer-events:none}
.app{min-height:100vh;display:grid;grid-template-columns:178px 1fr}
.sidebar{position:sticky;top:0;height:100vh;background:rgba(3,13,24,.90);border-right:1px solid rgba(139,173,210,.14);backdrop-filter:blur(16px);padding:18px 10px 14px;display:flex;flex-direction:column;z-index:20}
.brand{padding:8px 12px 24px}
.brand .mark{display:flex;align-items:center;gap:9px;font-weight:700;font-size:13px;letter-spacing:.04em}
.brand .pulse{width:22px;height:22px;border:2px solid #75aefc;border-radius:50%;position:relative}
.brand .pulse:after{content:"";position:absolute;width:8px;height:8px;background:#75aefc;border-radius:50%;left:5px;top:5px;box-shadow:0 0 16px #2b7cff}
.brand small{display:block;color:#75889f;margin-top:6px;font-size:10px}
.nav{display:grid;gap:5px}
.nav button{appearance:none;border:0;background:transparent;color:#b7c4d3;border-radius:7px;padding:11px 12px;text-align:left;font-size:12px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:.18s}
.nav button:hover{background:rgba(74,129,194,.11);color:#fff}
.nav button.active{background:linear-gradient(90deg,rgba(36,109,207,.45),rgba(26,74,137,.52));color:#fff;box-shadow:inset 3px 0 0 #3b8bff}
.nav .ico{width:17px;text-align:center;opacity:.95}
.sidebar-foot{margin-top:auto;padding:14px 12px 2px;color:#71869d;font-size:10px;line-height:1.5}
.sidebar-foot strong{color:#dce6f1;font-size:11px}
.main{min-width:0}
.topbar{height:58px;display:flex;align-items:center;justify-content:flex-end;padding:0 26px;border-bottom:1px solid rgba(120,160,205,.12);background:rgba(4,14,26,.44);backdrop-filter:blur(12px);position:sticky;top:0;z-index:15}
.topmeta{display:flex;align-items:center;gap:14px;color:#b9c5d2;font-size:11px}
.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#2f4b69;border:1px solid rgba(255,255,255,.14);font-weight:700}
.page-wrap{padding:30px 26px 60px;max-width:1500px;margin:0 auto}
.hero{margin-bottom:22px}
.hero h1{font-size:32px;margin:0 0 8px;font-weight:700;letter-spacing:-.025em}
.hero p{margin:0;color:#c4d0dd;font-size:14px;max-width:900px}
.page{display:none}
.page.active{display:block}
.panel{background:linear-gradient(180deg,rgba(23,46,72,.92),rgba(12,29,47,.94));border:1px solid rgba(114,157,205,.22);box-shadow:var(--shadow);border-radius:var(--radius);overflow:hidden;backdrop-filter:blur(20px)}
.panel + .panel{margin-top:14px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 17px;border-bottom:1px solid var(--line)}
.panel-head h2,.panel-head h3{margin:0;font-size:18px}
.panel-head p{margin:4px 0 0;color:var(--muted);font-size:11px}
.panel-body{padding:16px}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.btn{appearance:none;border:1px solid rgba(112,154,205,.36);background:linear-gradient(#173b64,#102c4a);color:#ecf4fd;border-radius:5px;padding:9px 12px;font-size:11px;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:.16s;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.btn:hover{border-color:#4a97ff;transform:translateY(-1px)}
.btn.primary{background:linear-gradient(#1677ff,#0d5ddd);border-color:#2d8cff}
.btn.danger{background:linear-gradient(#f04450,#c82834);border-color:#ff5b65}
.btn.ghost{background:rgba(12,31,51,.70)}
.btn.success{background:linear-gradient(#16985e,#0e7548);border-color:#31c87b}
.btn.small{padding:6px 8px;font-size:10px}
.btn.icon{width:31px;height:31px;padding:0;justify-content:center}
.controls{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:10px;margin-bottom:12px}
.input,.select{width:100%;background:rgba(7,21,37,.88);color:#eaf2fb;border:1px solid rgba(120,159,201,.28);border-radius:5px;padding:10px 11px;font-size:11px;outline:none}
.input:focus,.select:focus{border-color:#438df4;box-shadow:0 0 0 2px rgba(44,125,236,.12)}
.label{font-size:10px;color:#8fa2b8;margin:0 0 5px;display:block}
.sources-filter{display:flex;align-items:end;gap:6px;flex-wrap:wrap}
.source-pill{border:1px solid rgba(138,169,204,.28);background:#0c233b;border-radius:14px;padding:7px 9px;font-size:10px;color:#dce8f4;display:inline-flex;align-items:center;gap:6px}
.source-dot{width:15px;height:15px;border-radius:4px;display:grid;place-items:center;font-size:9px;font-weight:700}
.y{background:#7448d8}.f{background:#2d76d9}.g{background:#246dd4}.m{background:#16955e}.p{background:#df8a2f}
.table-wrap{overflow:auto;border:1px solid rgba(119,155,194,.16);border-radius:6px}
table{width:100%;border-collapse:collapse;font-size:10px;min-width:970px}
th{text-align:left;background:#0a2035;color:#d8e5f2;font-weight:600;padding:10px 10px;border-bottom:1px solid rgba(146,177,210,.18);position:sticky;top:0}
td{padding:10px 10px;border-bottom:1px solid rgba(139,168,202,.12);color:#d7e0eb;vertical-align:middle}
tbody tr:hover{background:rgba(48,100,158,.09)}
.status{display:inline-flex;align-items:center;gap:6px;font-size:10px}
.status:before{content:"";width:7px;height:7px;border-radius:50%;background:#75889d}
.status.ok{color:#5bdd98}.status.ok:before{background:#4cd58a;box-shadow:0 0 8px rgba(76,213,138,.45)}
.status.err{color:#ff6872}.status.err:before{background:#ff4d59}
.status.wait{color:#f5be67}.status.wait:before{background:#eaa43c}
.check{width:15px;height:15px;accent-color:#1d7fff}
.row-actions{display:flex;align-items:center;gap:6px}
.kebab{position:relative}
.menu{position:absolute;right:0;top:34px;width:175px;background:#0a1b2d;border:1px solid rgba(124,160,202,.30);border-radius:5px;box-shadow:0 18px 40px rgba(0,0,0,.35);padding:5px;display:none;z-index:30}
.menu.open{display:block}
.menu button{width:100%;border:0;background:transparent;color:#dce6f1;padding:8px 9px;text-align:left;font-size:10px;border-radius:4px;cursor:pointer}
.menu button:hover{background:#123657}
.menu .danger-text{color:#ff6c75}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#8da0b5;font-size:10px;padding-top:12px}
.pagination{display:flex;gap:5px;align-items:center}
.page-btn{width:29px;height:29px;border-radius:4px;border:1px solid rgba(126,161,201,.25);background:#102b48;color:#dce7f2;cursor:pointer}
.page-btn.active{background:#1677ff;border-color:#2d8cff}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.card{background:rgba(8,25,42,.74);border:1px solid rgba(126,161,202,.19);border-radius:7px;padding:14px}
.card h4{margin:0 0 9px;font-size:13px}
.card p{margin:4px 0;color:#91a6bc;font-size:10px;line-height:1.5}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.toggle-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(124,159,197,.12)}
.toggle{width:38px;height:20px;border-radius:12px;background:#27455f;position:relative;cursor:pointer;flex:none}
.toggle:after{content:"";position:absolute;width:16px;height:16px;background:#dce9f6;border-radius:50%;top:2px;left:2px;transition:.16s}
.toggle.on{background:#176fe5}.toggle.on:after{left:20px}
.codebox{font-family:Consolas,monospace;background:#06111d;border:1px solid rgba(112,153,198,.2);border-radius:5px;padding:12px;color:#a9c7ea;font-size:10px;white-space:pre-wrap}
.note{padding:10px 12px;border-left:3px solid #3889f5;background:rgba(42,106,183,.10);color:#aebfd1;font-size:10px;line-height:1.5;border-radius:3px}
.error-box{border:1px solid rgba(240,78,90,.25);background:rgba(104,18,27,.22);border-radius:6px;padding:12px;margin-bottom:9px}
.error-box b{font-size:11px}
.error-box p{margin:5px 0;color:#c7d2dd;font-size:10px}
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.58);display:none;align-items:flex-start;justify-content:center;padding:70px 16px;z-index:100;overflow:auto}
.modal-bg.open{display:flex}
.modal{width:min(760px,100%);background:#0b1d30;border:1px solid rgba(134,169,207,.30);border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.55);overflow:hidden}
.modal-head,.modal-foot{padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#10283f;border-bottom:1px solid rgba(131,163,199,.18)}
.modal-foot{border-bottom:0;border-top:1px solid rgba(131,163,199,.18);justify-content:flex-end}
.modal-body{padding:15px}
.divider{height:1px;background:rgba(125,158,195,.15);margin:14px 0}
.empty{padding:28px;text-align:center;color:#8194a9}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1050px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:760px)] */

/* v2 refinements */
.app{grid-template-columns:178px 1fr}
.sidebar{padding-top:18px}
.nav{margin-top:0}
.main{padding-top:0}
.page-wrap{padding-top:34px}
.topbar{display:none!important}
.brand,.sidebar-foot{display:none!important}

/* typography enlarged and simplified, inspired by Interactive Brokers' clean financial UI */
html,body{font-family:Arial,Helvetica,sans-serif;font-size:16px}
.hero h1{font-size:36px;line-height:1.12;font-weight:700;letter-spacing:-.02em}
.hero p{font-size:16px;line-height:1.5;color:#c8d4e1}
.nav button{font-size:14px;padding:13px 12px}
.panel-head h2,.panel-head h3{font-size:21px}
.panel-head p{font-size:13px;line-height:1.45}
.card h4{font-size:16px}
.card p{font-size:13px;line-height:1.5}
.btn{font-size:12px;padding:10px 14px}
.btn.small{font-size:11px;padding:7px 10px}
.input,.select{font-size:13px;padding:11px 12px}
.label{font-size:12px;margin-bottom:6px}
.source-pill{font-size:12px;padding:7px 10px;gap:7px}
table{font-size:12px}
th,td{padding:11px 10px}
.status{font-size:11px}
.help,.note{font-size:12px}

/* real platform favicons */
.source-dot{width:20px;height:20px;border-radius:4px;display:grid;place-items:center;background:transparent!important;overflow:hidden;padding:0}
.source-logo{width:20px;height:20px;display:block;object-fit:contain;border-radius:4px;background:#fff}

/* [видалено при адаптиві 2026-09-16: @media(max-width:1050px)] */


/* v3 scale/readability adjustments */
.app{grid-template-columns:210px 1fr}
.sidebar{padding:22px 14px 18px}
.nav{gap:7px}
.nav .ico{display:none!important}
.nav button{font-size:15px;padding:15px 16px;gap:0;border-radius:8px}
.scrim{background:linear-gradient(90deg,rgba(3,11,20,.96) 0 210px,rgba(3,11,20,.18) 210px 100%)}
.page-wrap{padding:38px 34px 72px;max-width:1700px}
.hero{margin-bottom:26px}
.hero h1{font-size:40px;line-height:1.1}
.hero p{font-size:16px;line-height:1.5;max-width:1080px}
.panel{border-radius:11px}
.panel-head{padding:19px 20px}
.panel-head h2,.panel-head h3{font-size:23px}
.panel-head p{font-size:14px}
.panel-body{padding:20px}
.toolbar{gap:10px;margin-bottom:16px}
.btn{font-size:14px;padding:12px 16px;min-height:42px}
.small{font-size:12px;padding:8px 10px;min-height:34px}
.icon{width:36px;height:36px;min-height:36px}
.input,.select{font-size:14px;padding:13px 14px;min-height:44px}
.label{font-size:13px;margin-bottom:7px}
.controls{grid-template-columns:minmax(280px,1.4fr) minmax(185px,.7fr) minmax(185px,.7fr) auto;gap:12px;margin-bottom:16px}
table{font-size:13px;min-width:1120px}
th{padding:14px 13px;font-size:13px}
td{padding:14px 13px;line-height:1.35}
.status{font-size:12px;gap:7px}
.source-dot{width:21px;height:21px;border-radius:5px}
.source-logo{width:21px;height:21px}
.row-actions{gap:7px}
.footer-row{font-size:12px;padding-top:15px}
.page-btn{width:34px;height:34px;font-size:13px}
.modal{width:min(860px,calc(100vw - 32px))}
.modal-head,.modal-foot{padding:16px 18px}
.modal-body{padding:18px}
.form-grid{gap:15px}
.note{font-size:12px;padding:12px 14px}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1050px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:760px)] */



/* v5 glass effect */
.panel,
.card,
.table-wrap,
.modal,
.error-box,
.note,
.codebox{
  background:linear-gradient(180deg, rgba(24,48,76,.52), rgba(10,24,40,.58)) !important;
  border:1px solid rgba(185,215,255,.16) !important;
  box-shadow:0 20px 55px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08), inset 0 -1px 0 rgba(255,255,255,.03) !important;
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}
.panel{position:relative;overflow:hidden}
.panel::before,
.card::before,
.table-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,0) 28%, rgba(255,255,255,.03) 70%, rgba(255,255,255,0) 100%);
  pointer-events:none;
}
.card,.table-wrap{position:relative;overflow:hidden}
.btn{
  background:linear-gradient(180deg, rgba(30,66,107,.70), rgba(15,38,64,.65)) !important;
  border-color:rgba(188,217,255,.18) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 22px rgba(0,0,0,.18);
  backdrop-filter:blur(12px) saturate(125%);
}
.btn.primary{background:linear-gradient(180deg, rgba(28,127,255,.82), rgba(11,92,221,.76)) !important}
.btn.danger{background:linear-gradient(180deg, rgba(240,68,80,.82), rgba(190,34,47,.76)) !important}
.btn.ghost{background:linear-gradient(180deg, rgba(18,42,68,.52), rgba(12,28,46,.50)) !important}
.input,.select{
  background:rgba(7,21,37,.46) !important;
  border-color:rgba(188,217,255,.16) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(10px) saturate(120%);
}
.sidebar,
.scrim{
  backdrop-filter:blur(12px) saturate(120%);
}
th{
  background:rgba(10,32,53,.76) !important;
  backdrop-filter:blur(10px);
}
tbody tr:hover{background:rgba(74,129,194,.12)}



/* v6 exact user-supplied backgrounds */
body::before, body::after{display:none!important;content:none!important;}
body{position:relative;background:#111722;}
.app{position:relative;z-index:2;}
.bg-home-top,.bg-home-bottom,.bg-home-transition,.bg-other{
  position:fixed;left:0;right:0;pointer-events:none;z-index:0;
}
.bg-home-top{
  top:0;height:58vh;
  background-image:linear-gradient(rgba(3,12,24,.28),rgba(8,18,30,.42)),url("../img/bg-home-top.webp");
  background-position:center top,center top;
  background-size:cover,cover;
  background-repeat:no-repeat;
}
.bg-home-bottom{
  top:48vh;bottom:0;
  background-image:linear-gradient(rgba(20,24,32,.62),rgba(10,18,29,.46)),url("../img/bg-home-bottom.webp");
  background-position:center,center 58%;
  background-size:cover,cover;
  background-repeat:no-repeat;
}
.bg-home-transition{
  top:41vh;height:24vh;
  background:linear-gradient(to bottom,
    rgba(25,30,38,0) 0%,
    rgba(47,51,59,.72) 26%,
    rgba(50,54,62,.92) 50%,
    rgba(39,44,53,.72) 74%,
    rgba(23,28,37,0) 100%);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.bg-other{
  inset:0;
  background-image:linear-gradient(rgba(4,12,24,.47),rgba(5,14,26,.58)),url("../img/bg-other.webp");
  background-position:center,center center;
  background-size:cover,cover;
  background-repeat:no-repeat;
}
body.home-bg .bg-home-top,body.home-bg .bg-home-bottom,body.home-bg .bg-home-transition{display:block}
body.home-bg .bg-other{display:none}
body.other-bg .bg-home-top,body.other-bg .bg-home-bottom,body.other-bg .bg-home-transition{display:none}
body.other-bg .bg-other{display:block}
.sidebar{background:rgba(3,13,24,.78)!important;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}


/* v7 requirements + background transition */
body::before{display:none!important}
body{background:#121823}
.bg-home-transition{display:none!important}
.bg-home-top{top:0!important;height:64vh!important;background-position:center top!important;background-size:cover!important;opacity:.92;filter:none!important;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 66%,rgba(0,0,0,.65) 79%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 66%,rgba(0,0,0,.65) 79%,transparent 100%)}
.bg-home-bottom{top:auto!important;bottom:0!important;height:66vh!important;background-position:center bottom!important;background-size:cover!important;opacity:.72;filter:none!important;-webkit-mask-image:linear-gradient(to top,#000 0%,#000 68%,rgba(0,0,0,.62) 82%,transparent 100%);mask-image:linear-gradient(to top,#000 0%,#000 68%,rgba(0,0,0,.62) 82%,transparent 100%)}
body.home-bg{background:radial-gradient(circle at 50% 50%,#202632 0,#151b26 38%,#0d1520 100%)}
body.other-bg .bg-other{opacity:.48!important;background-position:center center!important;background-size:cover!important}
.scrim{background:linear-gradient(90deg,rgba(3,11,20,.95) 0 190px,rgba(5,14,25,.30) 190px 100%)!important}
.nav .ico{display:none!important}.nav button{gap:0!important}
.page-wrap{max-width:1840px!important;padding-left:28px!important;padding-right:28px!important}
.panel,.card,.table-wrap{background:linear-gradient(180deg,rgba(16,40,66,.62),rgba(8,24,41,.66))!important;border-color:rgba(157,199,244,.22)!important;backdrop-filter:blur(18px) saturate(125%)!important;-webkit-backdrop-filter:blur(18px) saturate(125%)!important}
.home-main-panel{margin-top:8px}.home-lower-panel{margin-top:28vh!important;margin-bottom:10vh!important}
.home-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:16px}.home-block{padding:18px}.subhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.subhead h4{margin:0}.link-btn{border:0;background:transparent;color:#72b0ff;cursor:pointer;font-size:13px}.mini-table{display:grid}.mini-row{display:grid;grid-template-columns:.7fr 1.1fr 1fr .7fr;gap:12px;padding:10px 4px;border-bottom:1px solid rgba(143,177,214,.12);align-items:center}.mini-row:last-child{border-bottom:0}.mini-head{color:#8ea3b9;font-size:12px}.attention-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(143,177,214,.12)}.attention-item:last-child{border-bottom:0}.attention-item p{margin:4px 0 0}.source-grid-home{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:10px}.source-home{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid rgba(150,191,235,.16);border-radius:8px;background:rgba(6,23,39,.34)}.source-home img{width:28px;height:28px;border-radius:6px}.source-home span{display:block;color:#8ea4bb;font-size:12px;margin-top:3px}
.compact-toolbar{margin-bottom:0}.bulk-toolbar{margin-bottom:14px}.filter-panel{border:1px solid rgba(145,185,229,.16);border-radius:9px;padding:14px;background:rgba(5,22,38,.32);margin-bottom:14px}.filter-grid{display:grid;gap:10px}.primary-filters{grid-template-columns:1.25fr .8fr .8fr .8fr .8fr .9fr}.advanced-filters{margin-top:10px}.advanced-filters summary{cursor:pointer;color:#bcd0e4;font-size:13px;padding:5px 0}.secondary-filters{grid-template-columns:repeat(6,1fr);margin-top:10px}.ticker-table-wrap{max-height:64vh;overflow:auto!important}.wide-table{min-width:3300px!important}.wide-table th,.wide-table td{white-space:nowrap}.wide-table td{background:rgba(5,20,35,.20)}.sticky-check{position:sticky!important;left:0;z-index:4;background:#0b2238!important}.sticky-actions{position:sticky!important;right:0;z-index:4;background:#0b2238!important}.cell-input,.cell-select,.status-select{border:1px solid rgba(131,174,218,.20);background:rgba(4,19,33,.54);color:#e8f1fa;border-radius:5px;padding:7px 8px;font-size:12px}.ticker-cell{width:82px;font-weight:700}.cell-select{min-width:105px}.status-select{min-width:110px}.status-select.ok{color:#59dc98}.status-select.wait{color:#f1b652}.src-check{display:inline-flex;align-items:center;gap:5px;cursor:pointer}.src-check img,.source-th img{width:20px;height:20px;border-radius:5px;vertical-align:middle}.src-check input{accent-color:#2c85ff}.source-th{min-width:84px}.source-th img{margin-right:6px}.date-two{display:grid;gap:2px}.date-two span{color:#8fa3b8}.error-inline{display:flex;align-items:center;gap:5px;color:#ff8188}.mini-action{border:1px solid rgba(134,174,216,.22);background:rgba(16,48,78,.56);color:#dce8f5;border-radius:4px;padding:4px 6px;font-size:10px;cursor:pointer}.muted{color:#74889d}.order-cell{cursor:grab;color:#8fb4dc}.num{text-align:right;font-variant-numeric:tabular-nums}.page-size{width:82px!important;padding:7px!important}.modal-wide{width:min(980px,96vw)!important}.settings-tabs{display:flex;gap:8px;margin-bottom:14px}.error-table{min-width:1200px!important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1400px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:900px)] */


/* v8 collapsible glass sidebar + stronger glass system */
:root{--sidebar-collapsed:78px;--sidebar-expanded:226px}
.app{display:block!important;min-height:100vh}
.main{margin-left:var(--sidebar-collapsed);min-width:0;transition:none!important}
.sidebar{
  position:fixed!important;left:0;top:0;bottom:0;z-index:60;
  width:var(--sidebar-collapsed)!important;height:100vh!important;
  padding:14px 10px 16px!important;
  background:linear-gradient(180deg,rgba(5,18,31,.72),rgba(5,16,28,.64))!important;
  border-right:1px solid rgba(181,214,255,.14)!important;
  box-shadow:14px 0 36px rgba(0,0,0,.18),inset -1px 0 0 rgba(255,255,255,.03);
  backdrop-filter:blur(20px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(135%)!important;
  overflow:hidden!important;
  transition:width .18s ease, background-color .18s ease, box-shadow .18s ease!important;
}
.sidebar:hover{width:var(--sidebar-expanded)!important;box-shadow:22px 0 48px rgba(0,0,0,.25),inset -1px 0 0 rgba(255,255,255,.04)}
.sidebar-brand{
  height:62px;display:flex;align-items:center;gap:11px;margin:0 2px 14px;padding:0 9px;
  border-bottom:1px solid rgba(181,214,255,.10);white-space:nowrap
}
.brand-mark{width:40px;min-width:40px;height:40px;position:relative;display:grid;place-items:center}
.brand-orbit{position:absolute;inset:4px;border:2px solid #4ca1ff;border-radius:50%;box-shadow:0 0 16px rgba(65,149,255,.20)}
.brand-orbit:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:#79bdff;right:-4px;top:9px;box-shadow:0 0 8px rgba(121,189,255,.55)}
.brand-bars{position:absolute;display:flex;align-items:flex-end;gap:3px;height:18px;bottom:10px}
.brand-bars i{display:block;width:3px;background:#eaf5ff;border-radius:2px 2px 0 0}
.brand-bars i:nth-child(1){height:7px}.brand-bars i:nth-child(2){height:12px}.brand-bars i:nth-child(3){height:17px}
.brand-copy{opacity:0;transform:translateX(-4px);transition:opacity .14s ease,transform .14s ease;pointer-events:none}
.brand-copy strong{display:block;font-size:16px;letter-spacing:-.01em;color:#f8fbff;font-weight:700}
.brand-copy small{display:block;margin-top:3px;font-size:10px;color:#8fa7bf}
.sidebar:hover .brand-copy{opacity:1;transform:translateX(0)}
.nav{display:grid;gap:5px;margin-top:0!important}
.nav button{
  width:100%!important;min-height:48px!important;padding:0 13px!important;border-radius:9px!important;
  justify-content:flex-start!important;gap:13px!important;white-space:nowrap;overflow:hidden;
  font-size:14px!important;transition:background-color .14s ease,color .14s ease,border-color .14s ease!important;
}
.nav-icon{width:30px;min-width:30px;height:30px;display:grid;place-items:center;color:#a9bfd5;transition:color .14s ease}
.nav-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.nav button.active .nav-icon,.nav button:hover .nav-icon{color:#e9f5ff}
.nav .labeltxt{display:block!important;opacity:0;transform:translateX(-4px);transition:opacity .13s ease,transform .13s ease;pointer-events:none}
.sidebar:hover .nav .labeltxt{opacity:1;transform:translateX(0)}
.nav button.active{box-shadow:inset 3px 0 0 #48a0ff,0 8px 18px rgba(0,0,0,.10)!important}

/* glass language across every UI surface */
.panel,.card,.filter-panel,.table-wrap,.modal,.error-box,.note,.codebox,
.source-card,.settings-card,.home-block{
  background:linear-gradient(180deg,rgba(25,52,82,.46),rgba(8,24,41,.52))!important;
  border:1px solid rgba(190,219,255,.15)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06)!important;
  backdrop-filter:blur(18px) saturate(130%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(130%)!important;
}
.panel,.card,.filter-panel,.table-wrap,.modal,.error-box{position:relative}
.panel:before,.card:before,.filter-panel:before,.table-wrap:before,.modal:before{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.075),transparent 26%,transparent 72%,rgba(123,183,255,.035));
}
.panel-head{background:rgba(9,31,52,.16)!important}
.input,.select,.cell-input,.cell-select,.status-select{
  background:rgba(4,18,32,.42)!important;
  border-color:rgba(190,219,255,.14)!important;
  backdrop-filter:blur(10px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(10px) saturate(120%)!important;
}
.btn,.mini-action,.source-pill,.page-btn{
  background:linear-gradient(180deg,rgba(30,67,109,.62),rgba(14,39,66,.58))!important;
  border-color:rgba(188,217,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 7px 18px rgba(0,0,0,.13)!important;
  backdrop-filter:blur(10px) saturate(120%);
}
.btn:hover,.mini-action:hover,.page-btn:hover{transform:none!important;border-color:rgba(91,163,255,.55)!important;background:linear-gradient(180deg,rgba(35,79,129,.72),rgba(16,46,78,.68))!important}
.btn.primary,.page-btn.active{background:linear-gradient(180deg,rgba(31,128,255,.88),rgba(11,91,219,.84))!important}
.btn.danger{background:linear-gradient(180deg,rgba(237,65,78,.84),rgba(184,34,47,.82))!important}
th{background:rgba(7,28,47,.66)!important;backdrop-filter:blur(10px)}
.sticky-check,.sticky-actions{background:rgba(8,30,50,.78)!important;backdrop-filter:blur(10px)}

/* no heavy motion */
*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:900px)] */


/* v9 responsive layout + seamless background composition */
:root{
  --content-gap:clamp(12px,1.15vw,22px);
  --panel-gap:clamp(10px,1.2vh,16px);
}
html,body{min-width:320px;min-height:100%;background:#0f1621!important}
body{overflow-x:hidden}

/* Use the original user images as two controlled layers on Home. */
.bg-home-top,.bg-home-bottom,.bg-home-transition,.bg-other{
  position:fixed!important;
  left:0!important;right:0!important;
  pointer-events:none!important;
  z-index:0!important;
}
.bg-home-top{
  top:0!important;
  bottom:auto!important;
  height:64vh!important;
  min-height:430px!important;
  max-height:820px!important;
  background-position:center top!important;
  background-size:cover!important;
  opacity:.88!important;
  filter:none!important;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 58%,rgba(0,0,0,.92) 70%,rgba(0,0,0,.40) 88%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,#000 0%,#000 58%,rgba(0,0,0,.92) 70%,rgba(0,0,0,.40) 88%,transparent 100%)!important;
}
.bg-home-bottom{
  top:43vh!important;
  bottom:auto!important;
  height:72vh!important;
  min-height:520px!important;
  max-height:920px!important;
  background-position:center bottom!important;
  background-size:cover!important;
  opacity:.68!important;
  filter:none!important;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.30) 12%,rgba(0,0,0,.84) 31%,#000 48%,#000 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.30) 12%,rgba(0,0,0,.84) 31%,#000 48%,#000 100%)!important;
}
.bg-home-transition{
  display:block!important;
  top:38vh!important;
  height:30vh!important;
  min-height:210px!important;
  background:linear-gradient(to bottom,
    rgba(15,22,33,0) 0%,
    rgba(15,22,33,.28) 20%,
    rgba(15,22,33,.72) 50%,
    rgba(15,22,33,.34) 78%,
    rgba(15,22,33,0) 100%)!important;
  filter:blur(10px)!important;
  transform:scaleY(1.08)!important;
  opacity:.96!important;
}
body.home-bg{background:#0f1621!important}
body.home-bg .bg-home-top,body.home-bg .bg-home-bottom,body.home-bg .bg-home-transition{display:block!important}
body.home-bg .bg-other{display:none!important}

/* Third user image on every other tab. */
body.other-bg .bg-home-top,body.other-bg .bg-home-bottom,body.other-bg .bg-home-transition{display:none!important}
body.other-bg .bg-other{
  display:block!important;
  inset:0!important;
  width:100vw!important;height:100vh!important;
  opacity:.54!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  filter:none!important;
}

/* Content uses the available monitor width instead of sitting in a narrow centered column. */
.page-wrap{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:var(--content-gap)!important;
  padding-top:clamp(14px,1.6vh,24px)!important;
  padding-bottom:clamp(22px,3vh,42px)!important;
}
.main{min-height:100vh!important}
.page.active{width:100%!important}

/* Remove artificial empty space between the Home panels. */
.home-main-panel{margin-top:0!important}
.home-lower-panel{
  margin-top:var(--panel-gap)!important;
  margin-bottom:0!important;
}
.panel + .panel{margin-top:var(--panel-gap)!important}
.panel-head{padding:clamp(14px,1.25vw,20px)!important}
.panel-body{padding:clamp(14px,1.25vw,20px)!important}
.home-grid{gap:var(--panel-gap)!important}
.source-grid-home{gap:clamp(8px,.8vw,12px)!important}

/* Keep glass readable while allowing the image to show through. */
.panel,.card,.filter-panel,.table-wrap,.source-home{
  background:linear-gradient(180deg,rgba(14,36,59,.57),rgba(7,23,39,.62))!important;
  border-color:rgba(169,207,247,.20)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.055)!important;
  backdrop-filter:blur(15px) saturate(122%)!important;
  -webkit-backdrop-filter:blur(15px) saturate(122%)!important;
}

/* Wide desktop */
@media (min-width:1800px){
  :root{--content-gap:clamp(16px,1vw,26px);--panel-gap:14px}
  .page-wrap{padding-left:clamp(18px,1.25vw,30px)!important;padding-right:clamp(18px,1.25vw,30px)!important}
  .home-grid{grid-template-columns:minmax(0,1.35fr) minmax(380px,1fr)!important}
  .source-grid-home{grid-template-columns:repeat(5,minmax(0,1fr))!important}
}

/* Normal desktop / laptop */
/* [видалено при адаптиві 2026-09-16: @media (max-width:1599px)] */
/* [видалено при адаптиві 2026-09-16: @media (max-width:1250px)] */
/* [видалено при адаптиві 2026-09-16: @media (max-width:900px)] */
/* [видалено при адаптиві 2026-09-16: @media (max-width:620px)] */

/* Very short displays: reduce dead vertical areas further. */
@media (max-height:800px) and (min-width:901px){
  :root{--content-gap:12px;--panel-gap:10px}
  .page-wrap{padding-top:10px!important;padding-bottom:18px!important}
  .panel-head{padding:12px 15px!important}
  .panel-body{padding:12px 15px!important}
  .mini-row,.attention-item{padding-top:7px!important;padding-bottom:7px!important}
  .source-home{padding:9px!important}
  .bg-home-top{height:62vh!important}
  .bg-home-bottom{top:41vh!important;height:70vh!important}
}


/* v10 completeness additions */
.system-summary{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr)) minmax(210px,1.5fr);gap:8px;margin-bottom:12px;padding:8px;border:1px solid rgba(190,220,255,.12);border-radius:9px;background:rgba(7,21,37,.22);backdrop-filter:blur(12px)}
.summary-item{display:flex;align-items:baseline;gap:14px;padding:12px 16px;border-right:1px solid rgba(190,220,255,.10);min-height:60px}.summary-item:last-child{border-right:0}.summary-item b{font-size:26px;line-height:1;color:#fff;font-weight:700;letter-spacing:-.02em}.summary-item span{font-size:15px;line-height:1.35;color:#d6e3f7;font-weight:500}
.source-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.source-control-card{min-width:0}.source-title{display:flex;align-items:center;gap:10px}.source-title img{width:28px;height:28px;border-radius:6px}.source-title h4{margin:0 0 4px}.source-meta{display:grid;gap:7px;margin-top:10px}.source-meta>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid rgba(145,178,216,.10)}.source-meta span{color:var(--muted);font-size:11px}.source-meta b{font-size:11px;text-align:right}.source-actions{margin-top:11px;margin-bottom:0}
.schedule-state{border:1px solid rgba(92,212,151,.28);background:rgba(27,130,83,.18);color:#62dc9f;border-radius:999px;padding:5px 9px;font-size:10px;cursor:pointer}.schedule-state.off{border-color:rgba(244,172,64,.25);background:rgba(149,92,13,.18);color:#f1b34e}
.token-row{display:grid;grid-template-columns:1fr auto auto;gap:7px}.static-field{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid rgba(120,159,201,.2);border-radius:5px;background:rgba(7,21,37,.35)}
.detail-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:12px}.detail-tabs button{border:1px solid rgba(130,170,215,.25);background:rgba(12,35,59,.55);color:#bed0e3;padding:9px 13px;border-radius:6px;cursor:pointer}.detail-tabs button.active{background:rgba(32,109,207,.42);color:#fff;border-color:#398cf6}.detail-pane{display:none}.detail-pane.active{display:block}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.detail-grid>div{padding:12px;border:1px solid rgba(150,185,225,.13);border-radius:7px;background:rgba(8,25,42,.38);display:flex;flex-direction:column;gap:5px}.detail-grid span{color:var(--muted);font-size:11px}.detail-grid b{font-size:13px}.confirm-modal{width:min(520px,100%)}.confirm-text{color:#cbd8e6;line-height:1.55}.link-btn{background:none;border:0;color:#6bb0ff;padding:0;cursor:pointer;font-size:11px;margin-bottom:5px}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1100px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:720px)] */


/* v11: larger typography, larger panels, centered content */
.main{min-width:0;padding:0 18px 42px}
.page-wrap{
  width:min(1640px,calc(100vw - 150px));
  max-width:none;
  margin:0 auto;
  padding:26px 16px 52px;
}
.page > .panel,
.page > .ticker-detail-panel{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
.panel{border-radius:14px}
.panel-head{padding:22px 24px;gap:20px}
.panel-head h2,.panel-head h3{font-size:27px;line-height:1.15}
.panel-head p{font-size:16px;line-height:1.5;margin-top:6px}
.panel-body{padding:24px}
.card{padding:20px;border-radius:12px}
.card h4{font-size:19px;line-height:1.25;margin-bottom:11px}
.card p{font-size:15px;line-height:1.55}
.btn{font-size:15px;padding:12px 17px;min-height:44px}
.btn.small{font-size:13px;padding:8px 11px;min-height:36px}
.btn.icon{width:38px;height:38px;min-height:38px;padding:0}
.input,.select,.cell-input,.cell-select,.status-select{font-size:15px}
.input,.select{padding:13px 14px;min-height:46px}
.label{font-size:14px;margin-bottom:7px}
.note,.help,.confirm-text{font-size:14px;line-height:1.55}
.error-box b{font-size:16px}
.error-box p{font-size:14px;line-height:1.5}
.source-pill{font-size:14px;padding:8px 11px}
.source-meta,.detail-grid{font-size:14px}
.status{font-size:14px}
.footer-row{font-size:14px;padding-top:16px}
.pagination{font-size:14px}
table{font-size:14px}
th{font-size:14px;padding:15px 14px;line-height:1.35}
td{font-size:14px;padding:15px 14px;line-height:1.42}
.date-two span,.muted,.mini-action{font-size:13px}
.controls{gap:14px;margin-bottom:18px}
.toolbar{gap:11px;margin-bottom:16px}
.grid-2{gap:18px}
.grid-3{gap:16px}
.detail-tabs button{font-size:14px;padding:11px 15px}
.modal{width:min(960px,calc(100vw - 36px))}
.modal-head,.modal-foot{padding:18px 21px}
.modal-head strong{font-size:20px}
.modal-body{padding:21px}
.form-grid{gap:17px}

/* keep the workspace comfortably centered on different monitor sizes */
@media (min-width:1800px){
  .page-wrap{width:min(1680px,calc(100vw - 180px));padding-left:20px;padding-right:20px}
  .panel-body{padding:26px}
}
@media (max-width:1400px){
  .main{padding-left:10px;padding-right:10px}
  .page-wrap{width:calc(100vw - 105px);padding:20px 10px 44px}
  .panel-head{padding:18px 19px}
  .panel-body{padding:19px}
  .panel-head h2,.panel-head h3{font-size:24px}
  table,th,td{font-size:13px}
  th,td{padding:12px 11px}
}
/* [видалено при адаптиві 2026-09-16: @media (max-width:900px)] */

/* v12 settings page balance */
#settings.page.active{min-height:calc(100vh - 24px)}
#settings .settings-panel{min-height:calc(100vh - 48px);display:flex;flex-direction:column}
#settings .settings-body{flex:1;display:flex}
#settings .settings-grid{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:minmax(220px,1fr) minmax(220px,1fr);
  grid-template-areas:
    "general notifications"
    "backup security";
  gap:18px;
  align-items:stretch;
}
#settings .settings-general{grid-area:general}
#settings .settings-notifications{grid-area:notifications}
#settings .settings-backup{grid-area:backup}
#settings .settings-security{grid-area:security}
#settings .settings-card{
  min-height:0;
  padding:22px!important;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
#settings .settings-card h4{margin-bottom:18px!important}
#settings .settings-card-content{flex:1;display:flex;flex-direction:column;justify-content:flex-start}
#settings .settings-security .settings-card-content{justify-content:center}
#settings .settings-general .settings-card-content{justify-content:center}
#settings .settings-backup .settings-card-content{justify-content:center}
#settings .static-field{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 14px;border:1px solid rgba(188,217,255,.16);border-radius:7px;background:rgba(7,21,37,.36)}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1100px)] */
@media(max-height:800px) and (min-width:1101px){
  #settings .settings-panel{min-height:calc(100vh - 24px)}
  #settings .settings-grid{grid-template-rows:minmax(175px,1fr) minmax(175px,1fr);gap:14px}
  #settings .settings-card{padding:18px!important}
}


/* v13 balanced settings layout */
#settings.page.active{
  min-height:calc(100vh - 38px);
  display:flex!important;
  align-items:center;
}
#settings .settings-panel{
  width:100%;
  min-height:0!important;
  display:block!important;
}
#settings .settings-body{
  display:block!important;
  padding:26px 28px 28px!important;
}
#settings .settings-grid{
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  grid-template-rows:none!important;
  grid-template-areas:none!important;
  gap:18px!important;
  align-items:start;
  max-width:1480px;
  margin:0 auto;
}
#settings .settings-column{
  display:flex;
  flex-direction:column;
  gap:18px;
  min-width:0;
}
#settings .settings-card{
  min-height:0!important;
  padding:22px 22px 24px!important;
  border-radius:12px!important;
}
#settings .settings-card h4{
  margin:0 0 18px!important;
  font-size:17px!important;
  letter-spacing:-.01em;
}
#settings .settings-card-content{
  display:block!important;
  flex:initial!important;
}
#settings .settings-general .settings-card-content,
#settings .settings-backup .settings-card-content,
#settings .settings-security .settings-card-content{
  justify-content:initial!important;
}
#settings .settings-general{padding-bottom:26px!important}
#settings .settings-notifications{padding-bottom:26px!important}
#settings .settings-backup{padding-bottom:24px!important}
#settings .settings-security{padding-bottom:24px!important}
#settings .settings-notifications .form-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px 16px!important;
}
#settings .settings-backup .form-grid{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:14px!important;
}
#settings .settings-security .toolbar{
  margin:0!important;
  gap:10px!important;
}
#settings .static-field{min-height:44px!important}
#settings .panel-head{padding:20px 22px!important}
#settings .panel-head h2{font-size:24px!important}
#settings .panel-head p{font-size:14px!important;margin-top:5px!important}
@media (min-width:1500px){
  #settings .settings-body{padding:30px 34px 32px!important}
  #settings .settings-grid{gap:20px!important}
  #settings .settings-column{gap:20px!important}
  #settings .settings-card{padding:24px 25px 26px!important}
}
/* [видалено при адаптиві 2026-09-16: @media (max-width:1000px)] */
@media (max-height:760px) and (min-width:1001px){
  #settings.page.active{align-items:flex-start;min-height:0}
  #settings .settings-body{padding-top:18px!important;padding-bottom:18px!important}
  #settings .settings-card{padding:18px!important}
  #settings .settings-card h4{margin-bottom:12px!important}
  #settings .settings-column{gap:14px!important}
  #settings .settings-grid{gap:14px!important}
}


/* v14: top-aligned settings + softer, larger typography */
html,body{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  font-size:17px!important;
  font-weight:400;
  letter-spacing:-.006em;
  color:#eef4fb;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* softer text hierarchy inspired by modern brokerage UIs */
.panel-head h2,.panel-head h3{
  font-size:30px!important;
  line-height:1.16!important;
  font-weight:650!important;
  letter-spacing:-.025em!important;
}
.panel-head p{
  font-size:17px!important;
  line-height:1.55!important;
  color:#aebed0!important;
  font-weight:400!important;
}
.card h4{
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:620!important;
  letter-spacing:-.015em!important;
}
.card p,
.source-meta,
.confirm-text,
.note,
.help,
.muted,
.empty{
  font-size:15px!important;
  line-height:1.6!important;
}
.label{
  font-size:15px!important;
  line-height:1.35!important;
  margin-bottom:8px!important;
  color:#aabbd0!important;
}
.btn{
  font-size:15.5px!important;
  font-weight:520!important;
  line-height:1.2!important;
}
.btn.small{
  font-size:14px!important;
}
.input,.select,.cell-input,.cell-select,.status-select{
  font-size:15.5px!important;
  line-height:1.35!important;
  font-weight:400!important;
}
.source-pill,.status,.footer-row,.pagination,.detail-tabs button{
  font-size:14.5px!important;
}
.error-box b{font-size:17px!important;font-weight:620!important}
.error-box p{font-size:15px!important;line-height:1.55!important}
.date-two span,.mini-action{font-size:14px!important}
.detail-grid span{font-size:14.5px!important}
.detail-grid b{font-size:16px!important;font-weight:600!important}
.modal-head strong{font-size:21px!important;font-weight:650!important}
.link-btn{font-size:14.5px!important}
.schedule-state{font-size:13.5px!important}
.static-field{font-size:15px!important}

/* slightly roomier tables without becoming bulky */
table{font-size:14.5px!important}
th{
  font-size:14.5px!important;
  font-weight:600!important;
  padding:15px 14px!important;
  line-height:1.35!important;
}
td{
  font-size:14.5px!important;
  padding:15px 14px!important;
  line-height:1.48!important;
}

/* settings: keep it at the top, like the other pages */
#settings.page.active{
  display:block!important;
  min-height:0!important;
  align-items:initial!important;
  padding-top:0!important;
}
#settings .settings-panel{
  margin-top:0!important;
  width:100%!important;
}
#settings .settings-body{
  padding:22px 24px 26px!important;
}
#settings .settings-grid{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!important;
  gap:20px!important;
}
#settings .settings-column{gap:20px!important}
#settings .settings-card{
  padding:24px 25px 26px!important;
}
#settings .settings-card h4{
  font-size:20px!important;
  font-weight:620!important;
  margin-bottom:20px!important;
}
#settings .panel-head{
  padding:22px 24px!important;
}
#settings .panel-head h2{font-size:30px!important}
#settings .panel-head p{font-size:16.5px!important;line-height:1.5!important}
#settings .input,#settings .select{min-height:48px!important}
#settings .static-field{min-height:48px!important;padding:0 15px!important}

/* sidebar typography follows the same softer rhythm */
.nav button{
  font-size:15px!important;
  font-weight:470!important;
  line-height:1.2!important;
}
.sidebar-brand-title{font-size:17px!important;font-weight:650!important;letter-spacing:-.01em!important}
.sidebar-brand-sub{font-size:12.5px!important}

@media (max-width:1400px){
  html,body{font-size:16px!important}
  .panel-head h2,.panel-head h3,#settings .panel-head h2{font-size:27px!important}
  .panel-head p,#settings .panel-head p{font-size:15.5px!important}
  .card h4,#settings .settings-card h4{font-size:18.5px!important}
  table,th,td{font-size:13.5px!important}
  .btn{font-size:14.5px!important}
  .input,.select,.cell-input,.cell-select,.status-select{font-size:14.5px!important}
}
/* [видалено при адаптиві 2026-09-16: @media (max-width:1000px)] */


/* v15: increase small/secondary typography across all pages */
.hero p{font-size:17px;line-height:1.58;color:#cfd9e5}
.panel-head p{font-size:15px;line-height:1.55;color:#b9c8d7}
.card h4{font-size:18px;line-height:1.35}
.card p{font-size:14px;line-height:1.6;color:#b6c4d3}
.label{font-size:13px;line-height:1.45;color:#aebfd0}
.help,.note{font-size:13px;line-height:1.6}
.input,.select{font-size:14px;line-height:1.45}
.btn{font-size:14px}
.btn.small,.small{font-size:12px}
.source-pill{font-size:13px}
.status{font-size:13px}
.footer-row{font-size:13px}
.table-wrap table{font-size:13px}
.table-wrap th{font-size:13px}
.table-wrap td{font-size:13px;line-height:1.45}
.menu button{font-size:12px}
.codebox{font-size:12px;line-height:1.6}
.toggle-line{font-size:14px}
.source-title h4{font-size:17px}
.source-title p,.source-control-card p{font-size:13px;line-height:1.55;color:#b5c4d4}
.source-meta{gap:10px;margin-top:12px}
.source-meta>div{padding:10px 0}
.source-meta span{font-size:13px;line-height:1.45;color:#b4c2d1}
.source-meta b{font-size:15px;line-height:1.45;font-weight:600;color:#eef5fb}
.source-meta b.status{font-size:15px}
.error-box b{font-size:13px}
.error-box p{font-size:13px;line-height:1.55}
.modal-head h3,.modal-head h4{font-size:18px}
.modal-body,.modal-foot{font-size:14px}
/* [видалено при адаптиві 2026-09-16: @media(max-width:760px)] */


/* v17: panels about 25% more compact on desktop */
@media (min-width:1400px){
  .page > .panel{
    width:75%;
    margin-left:auto;
    margin-right:auto;
  }
  .page > .panel + .panel{
    margin-top:12px;
  }
  .panel-head{padding:14px 16px}
  .panel-body{padding:15px 16px}
  .card{padding:12px}
  .grid-2,.grid-3{gap:10px}
  .toolbar{gap:8px;margin-bottom:12px}
  .controls{gap:9px;margin-bottom:12px}
  .form-grid{gap:11px}
  .summary-item{padding:9px 12px;min-height:50px}
}
@media (min-width:1100px) and (max-width:1399px){
  .page > .panel{width:88%;margin-left:auto;margin-right:auto}
}
/* [видалено при адаптиві 2026-09-16: @media (max-width:1099px)] */


/* v18 compact ticker view: all required fields without horizontal scrolling */
#tickers .ticker-panel{width:min(96%,1780px)!important;max-width:1780px!important}
#tickers .panel-body{padding:14px 16px!important}
#tickers .filter-panel{margin-bottom:10px;padding:12px}
#tickers .bulk-toolbar{margin-bottom:10px}
.ticker-list{display:grid;gap:9px;overflow:visible!important}
.ticker-row{border:1px solid rgba(185,215,255,.15);border-radius:10px;background:linear-gradient(180deg,rgba(18,43,69,.54),rgba(7,24,41,.60));box-shadow:inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:visible;position:relative}
.ticker-row.dragging{opacity:.45;outline:1px dashed #5da2ff}
.ticker-mainline{display:grid;grid-template-columns:34px 105px minmax(145px,1.15fr) 145px minmax(170px,1.25fr) 105px minmax(135px,1fr) 112px 196px;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid rgba(185,215,255,.09)}
.ticker-mainline>div{min-width:0}
.ticker-check{display:grid;place-items:center}
.ticker-idblock{display:grid;gap:3px}.ticker-idline{display:flex;align-items:center;gap:6px}.drag-handle{cursor:grab;color:#7ea8d8;font-size:16px}.ticker-cell{width:78px!important;padding:7px 8px!important;font-weight:700}
.mini-muted{font-size:11px;color:#7f94aa}.ticker-company{display:grid;gap:3px}.ticker-company b{font-size:13px;white-space:normal}.ticker-company span{font-size:11px;color:#8ea3b8}
.ticker-classification{display:flex;gap:6px}.ticker-classification .cell-select{min-width:0;width:50%;font-size:11px;padding:7px 6px}
.ticker-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.source-toggle{display:flex;align-items:center;gap:4px;font-size:10px;color:#c8d6e5;min-width:0}.source-toggle input{accent-color:#2c85ff;margin:0}.source-toggle img{width:17px;height:17px;border-radius:4px}.source-toggle span{overflow:hidden;text-overflow:ellipsis}
.ticker-update{display:grid;gap:1px}.ticker-update>span{font-size:10px;color:#7f94aa}.ticker-update b{font-size:12px}.ticker-update small{font-size:11px;color:#93a7ba}
.ticker-error{font-size:11px;min-width:0}.compact-error{display:flex;flex-wrap:wrap;gap:4px;align-items:center;color:#ff8b92}.compact-error>span{flex-basis:100%;white-space:normal}.mini-action{font-size:10px!important;padding:4px 6px!important}
.ticker-status .status-select{width:100%;min-width:0;font-size:11px;padding:7px 6px}
.ticker-actions{display:flex;gap:5px;justify-content:flex-end;align-items:center;position:relative}.ticker-actions .btn.small{min-height:30px;padding:6px 8px;font-size:11px}.ticker-actions .btn.icon{width:30px;height:30px;padding:0}.compact-menu{right:0;top:34px;width:175px}
.ticker-metricsline{display:grid;grid-template-columns:1.25fr .95fr .85fr .95fr 1.15fr;gap:8px;padding:9px 12px 10px;background:rgba(3,16,28,.18)}
.metric-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 10px;padding-right:9px;border-right:1px solid rgba(185,215,255,.08)}.metric-group:last-child{border-right:0;padding-right:0}.metric-title{grid-column:1/-1;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6fa9e8;font-weight:700;margin-bottom:1px}.metric-group div{display:grid;gap:1px;min-width:0}.metric-group div span{font-size:10px;color:#8298ae}.metric-group div b{font-size:11px;font-weight:600;color:#e3edf6;white-space:normal;overflow-wrap:anywhere}
.compact-footer{padding-top:10px}
.directory-pane{display:none}.directory-pane.active{display:block}.directory-tabs{margin-bottom:14px}
#tickerModal #tickerName[readonly],#tickerModal #tickerExchange[readonly]{color:#91a5b9;background:rgba(5,18,31,.35)!important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1500px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:1180px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:760px)] */

/* v19 cleaner ticker readability */
.panel,.card,.table-wrap,.modal,.menu,.input,.select,.btn,.page-btn,.status-select{border-radius:6px !important}
#tickers .ticker-panel{width:min(95%,1620px)!important;max-width:1620px!important}
#tickers .panel-head h2{font-size:34px !important}
#tickers .panel-head p{font-size:15px !important;color:#c9d6e3 !important}
#tickers .filter-panel{padding:14px !important}
#tickers .bulk-toolbar .btn{padding:11px 14px !important;font-size:14px !important}
.ticker-list{gap:12px !important}
.ticker-row{border-radius:6px !important;background:linear-gradient(180deg,rgba(12,30,49,.78),rgba(8,22,37,.82)) !important;border:1px solid rgba(184,214,255,.18) !important;box-shadow:0 14px 34px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04) !important}
.ticker-mainline{grid-template-columns:30px 115px minmax(200px,1.3fr) 155px 200px 112px minmax(145px,.95fr) 118px 190px !important;gap:12px !important;padding:14px 14px 12px !important;align-items:start !important}
.ticker-idblock{gap:5px !important}
.ticker-cell{width:84px !important;padding:10px 10px !important;font-size:16px !important;border-radius:5px !important}
.drag-handle{font-size:20px !important;line-height:1}
.mini-muted{font-size:12px !important;color:#8ea3b8 !important}
.ticker-company{gap:5px !important}
.ticker-company b{font-size:18px !important;line-height:1.22 !important}
.ticker-company span{font-size:13px !important;color:#9eb4ca !important}
.ticker-classification{gap:8px !important}
.ticker-classification .cell-select{font-size:13px !important;padding:10px 10px !important;border-radius:5px !important}
.ticker-sources{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:7px !important}
.source-toggle{gap:7px !important;padding:7px 8px !important;background:rgba(10,26,42,.55) !important;border:1px solid rgba(179,211,255,.14) !important;border-radius:5px !important;font-size:12px !important}
.source-toggle input{width:15px !important;height:15px !important;accent-color:#2b7cff !important}
.source-toggle img{width:22px !important;height:22px !important;border-radius:5px !important;flex:none !important}
.source-toggle span{display:none !important}
.ticker-update{gap:4px !important;padding:2px 0 !important}
.ticker-update>span{font-size:11px !important;color:#86a0ba !important}
.ticker-update b{font-size:16px !important}
.ticker-update small{font-size:13px !important}
.ticker-error{font-size:13px !important;line-height:1.35 !important}
.compact-error{gap:6px !important}
.compact-error>span{font-size:13px !important}
.mini-action{font-size:11px !important;padding:5px 8px !important;border-radius:4px !important}
.ticker-status .status-select{font-size:14px !important;padding:10px 12px !important;border-radius:5px !important;min-height:42px !important}
.ticker-actions{gap:8px !important;justify-content:flex-end !important;align-items:center !important}
.ticker-actions .btn.icon,.ticker-actions .btn.small.icon{width:36px !important;height:36px !important;min-height:36px !important;font-size:16px !important;padding:0 !important;border-radius:5px !important}
.ticker-actions .btn.small{font-size:13px !important;padding:8px 11px !important;min-height:36px !important;border-radius:5px !important}
.compact-menu{top:40px !important;width:190px !important}
.ticker-metricsline{grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:10px !important;padding:12px 14px 14px !important;background:rgba(5,16,28,.24) !important}
.metric-group{background:rgba(11,24,38,.56) !important;border:1px solid rgba(177,209,250,.12) !important;border-radius:6px !important;padding:10px 11px !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px 12px !important;border-right:0 !important}
.metric-title{font-size:11px !important;letter-spacing:.07em !important;color:#84bcff !important;margin-bottom:3px !important;padding-bottom:4px !important;border-bottom:1px solid rgba(164,199,245,.10) !important}
.metric-group div{gap:2px !important}
.metric-group div span{font-size:11px !important;color:#8ea6bf !important}
.metric-group div b{font-size:13px !important;line-height:1.3 !important;color:#edf4fb !important}
#tickers .footer-row{font-size:13px !important}
#tickers .page-btn{width:34px !important;height:34px !important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1480px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:1180px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:760px)] */

/* v20 buttons/menu inspired by reference admin UI */
:root{
  --btn-radius:4px;
  --btn-border:rgba(182,211,246,.26);
  --btn-bg:rgba(11,31,51,.86);
  --btn-bg-hover:rgba(18,46,74,.96);
  --menu-bg:rgba(9,23,37,.98);
}
.btn,
.page-btn,
.input,
.select,
.cell-input,
.cell-select,
.status-select,
.menu,
.mini-action,
.source-toggle,
.table-wrap,
.filter-panel,
.card,
.panel,
.modal,
.note,
.error-box,
.codebox{
  border-radius:var(--btn-radius) !important;
}
.btn{
  min-height:42px !important;
  padding:10px 16px !important;
  font-size:14px !important;
  font-weight:500 !important;
  color:#eaf2fb !important;
  background:var(--btn-bg) !important;
  border:1px solid var(--btn-border) !important;
  box-shadow:none !important;
  letter-spacing:0 !important;
}
.btn:hover{background:var(--btn-bg-hover) !important;color:#fff !important;transform:none !important}
.btn.primary{
  background:linear-gradient(180deg,#2f86ff,#1969e6) !important;
  border-color:#67a7ff !important;
  color:#fff !important;
}
.btn.danger{
  background:linear-gradient(180deg,#e34b59,#c52f3c) !important;
  border-color:#ff8792 !important;
}
.btn.success{
  background:linear-gradient(180deg,#179a62,#0e7848) !important;
  border-color:#37d285 !important;
}
.btn.ghost{background:rgba(9,23,39,.74) !important}
.btn.small{min-height:36px !important;padding:8px 12px !important;font-size:13px !important}
.btn.icon,
.btn.small.icon{
  width:40px !important;
  height:40px !important;
  min-height:40px !important;
  padding:0 !important;
  font-size:18px !important;
  line-height:1 !important;
}
.bulk-toolbar,.toolbar{gap:8px !important}
.bulk-toolbar .btn{padding:10px 14px !important}
.page-btn{
  width:36px !important;height:36px !important;
  border:1px solid var(--btn-border) !important;
  background:rgba(13,34,56,.92) !important;
  color:#eaf2fb !important;
  box-shadow:none !important;
}
.page-btn.active{background:#1d70ee !important;border-color:#64a2ff !important}
.input,.select,.cell-input,.cell-select,.status-select{
  min-height:42px !important;
  padding:10px 12px !important;
  font-size:14px !important;
  background:rgba(6,18,30,.72) !important;
  border:1px solid rgba(177,207,243,.18) !important;
  box-shadow:none !important;
}
.input:focus,.select:focus,.cell-input:focus,.cell-select:focus,.status-select:focus{
  border-color:#66a4ff !important;
  box-shadow:0 0 0 2px rgba(70,137,255,.12) !important;
}
.menu,
.compact-menu{
  width:220px !important;
  padding:8px !important;
  background:var(--menu-bg) !important;
  border:1px solid rgba(183,214,250,.24) !important;
  box-shadow:0 16px 36px rgba(0,0,0,.42) !important;
  border-radius:4px !important;
}
.menu button,
.compact-menu button{
  width:100% !important;
  min-height:42px !important;
  padding:10px 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#edf3fb !important;
  font-size:14px !important;
  line-height:1.25 !important;
  text-align:left !important;
}
.menu button + button,
.compact-menu button + button{
  border-top:1px solid rgba(183,214,250,.12) !important;
}
.menu button:hover,
.compact-menu button:hover{
  background:rgba(33,80,132,.24) !important;
}
.menu .danger-text,
.compact-menu .danger-text{color:#ff7d87 !important}
.kebab .btn,
.menu-toggle.btn{
  font-size:20px !important;
}
.nav{gap:2px !important}
.nav button{
  min-height:52px !important;
  border-radius:4px !important;
  padding:0 12px !important;
  border:1px solid transparent !important;
  background:transparent !important;
  color:#cfdced !important;
}
.nav button:hover{
  background:rgba(255,255,255,.04) !important;
  border-color:rgba(177,207,243,.10) !important;
}
.nav button.active{
  background:rgba(29,112,238,.16) !important;
  border-color:rgba(112,175,255,.25) !important;
  box-shadow:inset 3px 0 0 #55a4ff !important;
}
.nav-icon{width:34px !important;min-width:34px !important;height:34px !important;color:#cfe0f2 !important}
.nav-icon svg{width:21px !important;height:21px !important;stroke-width:1.9 !important}
.sidebar-brand{height:66px !important;padding:0 8px 0 8px !important;margin:0 2px 16px !important}
.brand-mark{width:42px !important;min-width:42px !important;height:42px !important}
.brand-copy strong{font-size:17px !important}
.brand-copy small{font-size:11px !important;color:#98aec4 !important}
.row-actions{gap:8px !important}
.ticker-actions .btn.small{padding:8px 10px !important}
.source-toggle img,.source-logo{width:24px !important;height:24px !important;border-radius:4px !important}
.source-toggle{padding:8px 9px !important}
.source-toggle input{width:16px !important;height:16px !important}
th{font-size:13px !important;letter-spacing:0 !important}
.label,.mini-muted,.metric-group div span,.ticker-update>span{font-size:12px !important}
.metric-group div b{font-size:14px !important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1050px)] */

/* v21 compact ticker cards, icon-only source state */
#tickers .ticker-panel{width:min(95%,1580px)!important;max-width:1580px!important}
#tickers .panel-head h2{font-size:30px !important}
#tickers .panel-head p{font-size:14px !important}
.ticker-list{gap:10px !important}
.ticker-row{border-radius:4px !important}
.ticker-mainline{
  grid-template-columns:28px 104px minmax(180px,1.15fr) 145px 196px 108px minmax(120px,.9fr) 116px 182px !important;
  gap:10px !important;
  padding:11px 12px 10px !important;
  align-items:center !important;
}
.ticker-idblock{gap:4px !important}
.ticker-cell{width:82px !important;padding:8px 10px !important;font-size:14px !important}
.drag-handle{font-size:18px !important}
.ticker-company b{font-size:16px !important;line-height:1.2 !important}
.ticker-company span{font-size:12px !important}
.mini-muted{font-size:11px !important}
.ticker-classification .cell-select{font-size:12px !important;padding:8px 8px !important;min-height:38px !important}
.ticker-sources{grid-template-columns:repeat(4,34px) !important;gap:6px !important;align-items:center !important;justify-content:flex-start !important}
.source-toggle{
  width:34px !important;
  min-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  justify-content:center !important;
  background:rgba(9,22,35,.35) !important;
  border:1px solid rgba(170,199,236,.14) !important;
  border-radius:4px !important;
  cursor:pointer !important;
}
.source-toggle input{display:none !important}
.source-toggle img{
  width:20px !important;
  height:20px !important;
  border-radius:4px !important;
  filter:grayscale(1) saturate(0) brightness(.95) !important;
  opacity:.5 !important;
}
.source-toggle span{display:none !important}
.source-toggle:has(input:checked){
  background:rgba(21,53,85,.65) !important;
  border-color:rgba(91,150,247,.42) !important;
}
.source-toggle:has(input:checked) img{
  filter:none !important;
  opacity:1 !important;
}
.ticker-update{gap:2px !important;padding:0 !important}
.ticker-update>span{font-size:10px !important}
.ticker-update b{font-size:13px !important;line-height:1.15 !important}
.ticker-update small{font-size:12px !important}
.ticker-error{font-size:12px !important;line-height:1.25 !important}
.compact-error{gap:5px !important;align-items:center !important}
.compact-error>span{font-size:12px !important;flex-basis:100% !important}
.mini-action{font-size:10px !important;padding:4px 7px !important;min-height:26px !important}
.ticker-status .status-select{font-size:13px !important;padding:8px 10px !important;min-height:38px !important}
.ticker-actions{gap:6px !important}
.ticker-actions .btn.icon,.ticker-actions .btn.small.icon{width:34px !important;height:34px !important;min-height:34px !important;font-size:15px !important}
.ticker-actions .btn.small{font-size:12px !important;padding:7px 10px !important;min-height:34px !important}
.compact-menu{top:38px !important;width:188px !important}
.ticker-metricsline{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px !important;
  padding:8px 12px 10px !important;
  background:rgba(4,15,27,.18) !important;
}
.metric-group{
  padding:8px 10px !important;
  border-radius:4px !important;
  gap:6px 10px !important;
  min-height:auto !important;
}
.metric-title{font-size:10px !important;margin-bottom:2px !important;padding-bottom:3px !important}
.metric-group div span{font-size:10px !important}
.metric-group div b{font-size:12px !important;line-height:1.25 !important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1480px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:1180px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:760px)] */


/* v22 status dropdown + cross action */
.status-dropdown{position:relative;width:100%}
.status-trigger{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:40px;padding:8px 10px;border-radius:4px;border:1px solid rgba(138,176,215,.24);
  background:rgba(4,18,31,.82);color:#eaf2fa;font-size:13px;font-weight:600;cursor:pointer;
}
.status-trigger:hover{border-color:rgba(112,164,221,.42);background:rgba(8,27,44,.92)}
.status-trigger .status-left{display:flex;align-items:center;gap:8px;min-width:0}
.status-trigger .status-mark{font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:12px}
.status-trigger .status-label{white-space:nowrap}
.status-trigger .status-caret{color:#8fb1d5;font-size:12px}
.status-trigger.active{color:#4fe39f}
.status-trigger.active .status-mark{color:#31d889}
.status-trigger.pause{color:#ff8c95}
.status-trigger.pause .status-mark{color:#ff5f6c;font-size:14px;font-weight:800}
.status-trigger.basket{color:#d7dde5}
.status-trigger.basket .status-mark{color:#c0c8d1}
.status-menu{right:0;left:auto;top:42px;width:170px;padding:6px 0;border-radius:4px;background:rgba(12,25,38,.97);border:1px solid rgba(126,165,203,.28);box-shadow:0 18px 40px rgba(0,0,0,.35)}
.status-menu button{display:flex;align-items:center;gap:9px;padding:10px 12px;font-size:13px;font-weight:600;color:#dfe9f3}
.status-menu button .opt-mark{width:14px;text-align:center;display:inline-block;font-weight:700}
.status-menu button.active-item{background:rgba(255,255,255,.06)}
.status-menu button:hover{background:rgba(255,255,255,.08)}
.status-menu .state-active{color:#4fe39f}.status-menu .state-pause{color:#ff7d87}.status-menu .state-basket{color:#c5cfda}
.danger-quick{color:#ff7d87 !important;border-color:rgba(255,89,113,.28)!important;background:rgba(77,17,25,.28)!important}
.danger-quick:hover{background:rgba(102,24,35,.42)!important;border-color:rgba(255,89,113,.44)!important}
.compact-menu button .opt-mark{width:14px;display:inline-block;text-align:center;font-weight:700}


/* v23 common refresh-page action */
.page-refresh-btn{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.page-refresh-btn .refresh-icon{font-size:16px;line-height:1}


/* v24 final TZ completion */
.sidebar{display:flex!important;flex-direction:column!important}
.sidebar .nav{flex:0 0 auto}
.sidebar-logout{margin-top:auto;padding-top:10px;border-top:1px solid rgba(180,212,248,.10)}
.sidebar-logout button{width:100%;min-height:50px;display:flex;align-items:center;gap:13px;padding:0 13px;border:1px solid transparent;border-radius:4px;background:transparent;color:#cfdced;cursor:pointer;overflow:hidden;white-space:nowrap}
.sidebar-logout button:hover{background:rgba(146,35,48,.18);border-color:rgba(255,100,115,.18);color:#ff9ca6}
.sidebar-logout .labeltxt{opacity:0;transform:translateX(-4px);transition:opacity .13s ease,transform .13s ease;pointer-events:none}
.sidebar:hover .sidebar-logout .labeltxt{opacity:1;transform:translateX(0)}
.delete-option{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid rgba(178,208,242,.15);border-radius:4px;margin:8px 0;cursor:pointer;background:rgba(7,20,34,.38)}
.delete-option input{margin-top:3px}.delete-option span{display:grid;gap:4px}.delete-option b{font-size:14px}.delete-option small{font-size:12px;color:#99aec3}.danger-option{border-color:rgba(255,94,108,.18)}
.group-id{font-variant-numeric:tabular-nums;color:#9fc1e5}
.page-btn[disabled]{opacity:.35;cursor:not-allowed}
.source-control-card.inactive{opacity:.72}.source-control-card.inactive .status{color:#ff8992}.source-control-card.inactive .status:before{background:#ff5d67}


/* v25 interaction polish */
#tickerModal .source-symbol-focus{outline:2px solid rgba(89,159,255,.32);outline-offset:4px;border-radius:4px}
.settings-grid:has(.settings-security){grid-template-columns:1fr 1fr}
.directory-pane table td:last-child{white-space:normal}



/* v26 ticker layout cleanup based on user feedback */
#tickers .ticker-panel{width:min(95%,1660px)!important;max-width:1660px!important}
.ticker-mainline{
  grid-template-columns:28px 96px minmax(250px,1.42fr) 230px 168px 110px minmax(120px,.9fr) 124px 186px !important;
  gap:12px !important;
  padding:10px 14px !important;
  align-items:start !important;
}
.ticker-classification{
  justify-content:flex-start !important;
  gap:10px !important;
  margin-left:-6px !important;
}
.ticker-classification .cell-select{
  width:calc(50% - 5px) !important;
  min-width:108px !important;
  font-size:13px !important;
  padding:8px 12px !important;
  min-height:38px !important;
}
.ticker-sources{
  grid-template-columns:repeat(4,32px) !important;
  gap:8px !important;
  padding-top:2px !important;
}
.ticker-update,
.ticker-error,
.ticker-status,
.ticker-actions{padding-top:2px !important}
.ticker-actions{justify-content:flex-end !important}
.ticker-metricsline{
  display:grid !important;
  grid-template-columns:1.1fr 1fr .9fr 1fr 1.12fr !important;
  gap:0 !important;
  padding:0 14px 0 !important;
  background:rgba(5,16,28,.12) !important;
  border-top:1px solid rgba(185,215,255,.08) !important;
}
.metric-group{
  background:transparent !important;
  border:0 !important;
  border-right:1px solid rgba(185,215,255,.10) !important;
  border-radius:0 !important;
  padding:12px 14px !important;
  min-height:auto !important;
  box-shadow:none !important;
}
.metric-group:last-child{border-right:0 !important}
.metric-title{
  margin-bottom:6px !important;
  padding-bottom:0 !important;
  border-bottom:0 !important;
  font-size:10px !important;
  letter-spacing:.08em !important;
}
.metric-group div{padding:2px 0 !important}
.metric-group div span{font-size:10px !important}
.metric-group div b{font-size:13px !important;line-height:1.3 !important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1480px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:1180px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:760px)] */


/* v27 client V03 alignment */
#tickers .ticker-panel{margin-top:14px!important}
#tickers .panel-head{padding-top:16px!important}
#tickers .panel-head h2{margin:0!important}


/* v28 strict client V03 */
.client-source-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.client-source-check{display:grid;grid-template-columns:18px 28px 1fr;align-items:center;gap:10px;padding:12px;border:1px solid rgba(176,208,243,.18);background:rgba(6,20,34,.48);border-radius:4px;cursor:pointer}
.client-source-check:hover{border-color:rgba(105,165,235,.38);background:rgba(11,31,51,.58)}
.client-source-check input{width:16px;height:16px;accent-color:#2c82ff}
.client-source-check img{width:24px;height:24px;border-radius:4px}
.client-source-check span{display:flex;flex-direction:column;gap:2px;min-width:0}
.client-source-check b{font-size:14px;color:#eef5fb}
.client-source-check small{font-size:11px;color:#91a8bf}
.ticker-sources .source-toggle{grid-template-columns:14px 22px!important;width:44px!important;min-width:44px!important;height:34px!important;padding:0 4px!important;gap:4px!important}
.ticker-sources .source-toggle input{display:block!important;width:13px!important;height:13px!important;margin:0!important;accent-color:#2c82ff!important}
.ticker-sources .source-toggle img{width:20px!important;height:20px!important}
.ticker-sources{grid-template-columns:repeat(4,44px)!important;gap:5px!important}
.metric-group:first-child{grid-template-columns:repeat(2,minmax(0,1fr))!important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:760px)] */



/* v29 — readable collapsible ticker rows */
#tickers .ticker-panel{
  width:min(99%,1760px)!important;
  max-width:1760px!important;
}
#tickers .panel-body{padding:16px 18px!important}
#tickers .ticker-list{gap:10px!important}

.ticker-row{
  overflow:visible!important;
  border-radius:8px!important;
}
.ticker-mainline{
  display:grid!important;
  grid-template-columns:34px 132px minmax(175px,1.12fr) 220px 190px 112px minmax(120px,.82fr) 124px 250px!important;
  gap:10px!important;
  align-items:center!important;
  min-height:68px!important;
  padding:11px 14px!important;
  border-bottom:0!important;
}
.ticker-mainline>div{min-width:0!important}
.ticker-row.expanded .ticker-mainline{border-bottom:1px solid rgba(185,215,255,.10)!important}

.ticker-idline{display:flex!important;align-items:center!important;gap:6px!important;white-space:nowrap!important}
.ticker-cell{
  width:74px!important;
  min-width:74px!important;
  height:38px!important;
  padding:8px 9px!important;
  font-size:15px!important;
}
.drag-handle{font-size:18px!important;flex:none!important}
.mini-muted{font-size:12px!important;line-height:1.2!important}

.row-expand-btn{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  border:1px solid rgba(137,177,220,.28)!important;
  background:rgba(7,24,40,.82)!important;
  color:#b8cce0!important;
  border-radius:5px!important;
  font-size:18px!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:background .15s ease,border-color .15s ease,transform .15s ease!important;
}
.row-expand-btn:hover{background:rgba(26,62,96,.88)!important;border-color:rgba(94,159,229,.52)!important;color:#fff!important}
.ticker-row.expanded .row-expand-btn{transform:rotate(180deg)!important}

.ticker-company{gap:4px!important;overflow:hidden!important}
.ticker-company b{
  display:block!important;
  font-size:16px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.ticker-company span{
  display:block!important;
  font-size:12.5px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.ticker-classification{display:flex!important;gap:8px!important;margin-left:0!important;min-width:0!important}
.ticker-classification .cell-select{
  width:calc(50% - 4px)!important;
  min-width:0!important;
  height:40px!important;
  min-height:40px!important;
  padding:8px 10px!important;
  font-size:13.5px!important;
}

.ticker-sources{
  display:grid!important;
  grid-template-columns:repeat(4,42px)!important;
  gap:5px!important;
  align-items:center!important;
  padding-top:0!important;
}
.ticker-sources .source-toggle{
  width:42px!important;
  min-width:42px!important;
  height:36px!important;
  display:grid!important;
  grid-template-columns:13px 20px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:0 3px!important;
}
.ticker-sources .source-toggle input{width:13px!important;height:13px!important;margin:0!important}
.ticker-sources .source-toggle img{width:20px!important;height:20px!important}

.ticker-update{gap:2px!important;padding:0!important;line-height:1.15!important}
.ticker-update>span{font-size:11.5px!important;white-space:nowrap!important}
.ticker-update b{font-size:14px!important;white-space:nowrap!important}
.ticker-update small{font-size:12px!important;white-space:nowrap!important}

.ticker-error{
  min-width:0!important;
  font-size:12.5px!important;
  line-height:1.25!important;
  overflow:hidden!important;
}
.compact-error{
  display:grid!important;
  grid-template-columns:max-content max-content!important;
  gap:4px 5px!important;
  align-items:center!important;
  justify-content:start!important;
}
.compact-error>span{
  grid-column:1/-1!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.mini-action{font-size:11px!important;padding:5px 7px!important;min-height:28px!important}

.status-trigger{
  min-height:40px!important;
  padding:8px 10px!important;
  font-size:13.5px!important;
}

.ticker-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  padding-top:0!important;
  min-width:0!important;
}
.ticker-actions .btn.icon,.ticker-actions .btn.small.icon{
  width:32px!important;
  min-width:32px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  font-size:14px!important;
}
.ticker-actions>.btn.small:not(.icon){
  min-height:34px!important;
  padding:7px 10px!important;
  font-size:12px!important;
  white-space:nowrap!important;
}
.ticker-actions .kebab{flex:none!important}

/* Details are hidden by default: each ticker is one compact row. */
.ticker-metricsline{display:none!important}
.ticker-row.expanded .ticker-metricsline{
  display:grid!important;
  grid-template-columns:1.08fr .95fr .82fr .95fr 1.1fr!important;
  gap:0!important;
  padding:0 14px!important;
  background:rgba(4,16,28,.24)!important;
  border-top:0!important;
}
.metric-group{
  padding:15px 16px 16px!important;
  min-width:0!important;
  border-right:1px solid rgba(185,215,255,.10)!important;
}
.metric-group:last-child{border-right:0!important}
.metric-title{
  font-size:12px!important;
  line-height:1.2!important;
  margin-bottom:8px!important;
  letter-spacing:.07em!important;
}
.metric-group div{gap:3px!important;padding:3px 0!important}
.metric-group div span{font-size:12px!important;line-height:1.25!important}
.metric-group div b{font-size:14px!important;line-height:1.3!important;overflow-wrap:anywhere!important}

/* Extra protection against labels/text colliding. */
.ticker-company,.ticker-update,.ticker-error,.ticker-status,.ticker-actions,.ticker-classification,.ticker-sources{min-width:0!important}
.status-label,.ticker-update b,.ticker-update small{overflow:hidden!important;text-overflow:ellipsis!important}

/* [видалено при адаптиві 2026-09-16: @media(max-width:1500px)] */

/* [видалено при адаптиві 2026-09-16: @media(max-width:1320px)] */

/* [видалено при адаптиві 2026-09-16: @media(max-width:820px)] */


/* v7 API ticker live combobox */
.api-ticker-picker{display:block}
.api-ticker-combobox{position:relative;width:100%}
.api-ticker-combobox>.input{width:100%;margin:0;padding-right:38px}
.api-ticker-combobox:after{content:"⌄";position:absolute;right:14px;top:50%;transform:translateY(-54%);color:#94a9c0;font-size:18px;pointer-events:none}
.api-ticker-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:120;display:none;max-height:260px;overflow:auto;background:#0b2034;border:1px solid rgba(117,165,218,.42);border-radius:7px;box-shadow:0 18px 42px rgba(0,0,0,.46);padding:5px}
.api-ticker-suggestions.open{display:block}
.api-ticker-option{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:#e4edf7;text-align:left;padding:10px 12px;border-radius:5px;cursor:pointer;font-size:14px;line-height:1.25}
.api-ticker-option:hover,.api-ticker-option.active{background:#176bd0;color:#fff}
.api-ticker-option .ticker-code{min-width:54px;font-weight:700;color:#f3f7fb}
.api-ticker-option .ticker-name{color:#aebfd1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.api-ticker-option:hover .ticker-name,.api-ticker-option.active .ticker-name{color:#eaf3ff}
.api-ticker-empty{padding:11px 12px;color:#8fa3b9;font-size:13px}

/* ================= base ================= */
#home .panel-body{display:grid;gap:18px}
.home-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.home-summary-grid .card{min-height:112px}
.home-summary-grid .card p{margin-top:12px}
.home-value{font-size:25px;color:#f7f9fc}
.home-sources-card{padding:18px}
.home-sources-card>h4{margin:0 0 14px}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1500px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:900px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:620px)] */

/* ================= v30-compact-bottom-chevron ================= */
/* v30 — thinner collapsed ticker strip + bottom chevron */
#tickers .ticker-list{gap:12px!important}
.ticker-row{position:relative!important}
.ticker-mainline{
  min-height:54px!important;
  padding:6px 12px 8px!important;
  gap:8px!important;
  grid-template-columns:30px 118px minmax(160px,1.08fr) 210px 184px 104px minmax(110px,.78fr) 118px 240px!important;
}
.ticker-cell{height:34px!important;min-height:34px!important;padding:6px 8px!important;font-size:14px!important}
.drag-handle{font-size:16px!important}
.mini-muted{font-size:10.5px!important}
.ticker-company{gap:2px!important}
.ticker-company b{font-size:15px!important;line-height:1.12!important}
.ticker-company span{font-size:11.5px!important;line-height:1.15!important}
.ticker-classification{gap:6px!important}
.ticker-classification .cell-select{height:34px!important;min-height:34px!important;padding:6px 8px!important;font-size:12.5px!important}
.ticker-sources{grid-template-columns:repeat(4,39px)!important;gap:4px!important}
.ticker-sources .source-toggle{width:39px!important;min-width:39px!important;height:31px!important;grid-template-columns:12px 18px!important;gap:3px!important}
.ticker-sources .source-toggle input{width:12px!important;height:12px!important}
.ticker-sources .source-toggle img{width:18px!important;height:18px!important}
.ticker-update>span{font-size:10.5px!important}
.ticker-update b{font-size:13px!important}
.ticker-update small{font-size:11px!important}
.ticker-error{font-size:12px!important}
.status-trigger{min-height:34px!important;height:34px!important;padding:6px 9px!important;font-size:12.5px!important}
.ticker-actions{gap:4px!important}
.ticker-actions .btn.icon,.ticker-actions .btn.small.icon{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;font-size:13px!important}
.ticker-actions>.btn.small:not(.icon){min-height:30px!important;height:30px!important;padding:5px 9px!important;font-size:11.5px!important}

/* The expand control is a bare chevron centered under the strip. */
.row-expand-btn{
  position:absolute!important;
  left:50%!important;
  bottom:-8px!important;
  z-index:8!important;
  width:42px!important;
  min-width:42px!important;
  height:18px!important;
  min-height:18px!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#87a9c9!important;
  font-size:20px!important;
  line-height:14px!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
  transform:translateX(-50%)!important;
}
.row-expand-btn:hover{background:transparent!important;border:0!important;color:#d9ebff!important}
.ticker-row.expanded .row-expand-btn{transform:translateX(-50%) rotate(180deg)!important}
.ticker-row.expanded .ticker-mainline{padding-bottom:8px!important}

/* [видалено при адаптиві 2026-09-16: @media(max-width:1450px)] */

/* ================= v31-beautify-tickers ================= */
/* v31 — cleaner ticker strips: no checkbox boxes inside source icons, larger icons/text, slimmer rows */
#tickers .ticker-list{gap:10px!important}
.ticker-row{
  border-radius:8px!important;
  border-color:rgba(194,220,255,.16)!important;
  box-shadow:0 12px 26px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.ticker-mainline{
  min-height:50px!important;
  padding:7px 12px 9px!important;
  gap:10px!important;
  grid-template-columns:30px 122px minmax(190px,1.18fr) 224px 164px 116px minmax(120px,.88fr) 126px 236px!important;
}
.ticker-company b{font-size:16px!important;line-height:1.08!important}
.ticker-company span{font-size:12.5px!important;line-height:1.15!important}
.ticker-cell{height:34px!important;min-height:34px!important;font-size:14px!important;padding:6px 9px!important}
.ticker-classification .cell-select,
.status-trigger{height:34px!important;min-height:34px!important;font-size:13px!important;padding:6px 9px!important}
.ticker-update>span{font-size:11px!important}
.ticker-update b{font-size:14px!important}
.ticker-update small{font-size:12px!important}
.ticker-error{font-size:13px!important}
.compact-error>span{font-size:13px!important}
.mini-action{font-size:11px!important;padding:5px 8px!important;min-height:27px!important}

/* sources: icon-only, visually cleaner */
.ticker-sources{
  grid-template-columns:repeat(4,35px)!important;
  gap:6px!important;
}
.ticker-sources .source-toggle{
  width:35px!important;
  min-width:35px!important;
  height:35px!important;
  display:grid!important;
  place-items:center!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  padding:0!important;
  background:rgba(10,27,43,.32)!important;
  border:1px solid rgba(171,205,245,.12)!important;
  border-radius:7px!important;
  transition:opacity .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease,transform .15s ease!important;
}
.ticker-sources .source-toggle input{
  display:none!important;
}
.ticker-sources .source-toggle img{
  width:24px!important;
  height:24px!important;
  border-radius:6px!important;
  display:block!important;
}
.ticker-sources .source-toggle span{display:none!important}
.ticker-sources .source-toggle:has(input:checked){
  opacity:1!important;
  background:rgba(23,67,112,.62)!important;
  border-color:rgba(90,152,233,.58)!important;
  box-shadow:0 0 0 1px rgba(39,122,232,.22) inset,0 6px 16px rgba(0,0,0,.14)!important;
}
.ticker-sources .source-toggle:not(:has(input:checked)){
  opacity:.48!important;
  background:rgba(10,23,37,.22)!important;
  border-color:rgba(165,193,228,.10)!important;
}
.ticker-sources .source-toggle:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(106,167,242,.55)!important;
}

.ticker-actions{gap:5px!important}
.ticker-actions .btn.icon,.ticker-actions .btn.small.icon{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  font-size:14px!important;
}
.ticker-actions>.btn.small:not(.icon){
  min-height:32px!important;
  height:32px!important;
  padding:6px 10px!important;
  font-size:12px!important;
}

/* [видалено при адаптиві 2026-09-16: @media(max-width:1550px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:1450px)] */

/* ================= v32-slimmer-obvious-expand-checkbox ================= */
/* v32 — slimmer ticker strips, clearer expand affordance, custom row checkbox */
#tickers .ticker-list{gap:8px!important}
.ticker-row{border-radius:7px!important}
.ticker-mainline{
  min-height:44px!important;
  padding:4px 10px 7px!important;
  gap:9px!important;
  grid-template-columns:30px 116px minmax(185px,1.18fr) 216px 158px 112px minmax(116px,.86fr) 122px 230px!important;
}
.ticker-cell{
  height:30px!important;
  min-height:30px!important;
  padding:4px 8px!important;
  font-size:14px!important;
}
.ticker-company b{font-size:15.5px!important;line-height:1.05!important}
.ticker-company span{font-size:12px!important;line-height:1.08!important}
.ticker-classification .cell-select,
.status-trigger{
  height:30px!important;
  min-height:30px!important;
  padding:4px 8px!important;
  font-size:12.5px!important;
}
.ticker-update{gap:0!important}
.ticker-update>span{font-size:10.5px!important;line-height:1!important}
.ticker-update b{font-size:13.5px!important;line-height:1.05!important}
.ticker-update small{font-size:11px!important;line-height:1!important}
.ticker-error{font-size:12.5px!important;line-height:1.05!important}
.mini-muted{font-size:10px!important;line-height:1!important}
.drag-handle{font-size:15px!important}
.ticker-sources{grid-template-columns:repeat(4,33px)!important;gap:5px!important}
.ticker-sources .source-toggle{width:33px!important;min-width:33px!important;height:31px!important;border-radius:6px!important}
.ticker-sources .source-toggle img{width:23px!important;height:23px!important;border-radius:5px!important}
.ticker-actions{gap:4px!important}
.ticker-actions .btn.icon,.ticker-actions .btn.small.icon{
  width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;font-size:13px!important
}
.ticker-actions>.btn.small:not(.icon){height:30px!important;min-height:30px!important;padding:4px 9px!important;font-size:11.5px!important}

/* Custom selection checkbox on the left */
.ticker-check{display:grid!important;place-items:center!important}
.ticker-check .rowcheck{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:19px!important;
  height:19px!important;
  margin:0!important;
  border-radius:5px!important;
  border:1.5px solid rgba(174,205,239,.62)!important;
  background:rgba(5,18,31,.78)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 0 1px rgba(0,0,0,.12)!important;
  cursor:pointer!important;
  position:relative!important;
  transition:.14s ease!important;
}
.ticker-check .rowcheck:hover{
  border-color:#6eafff!important;
  box-shadow:0 0 0 3px rgba(47,132,240,.10)!important;
}
.ticker-check .rowcheck:checked{
  background:linear-gradient(180deg,#2f8cff,#1269dd)!important;
  border-color:#65a9ff!important;
}
.ticker-check .rowcheck:checked::after{
  content:""!important;
  position:absolute!important;
  left:5px!important;
  top:2px!important;
  width:5px!important;
  height:10px!important;
  border:solid #fff!important;
  border-width:0 2px 2px 0!important;
  transform:rotate(45deg)!important;
}

/* More obvious details opener, still only a bottom arrow (no square/button box) */
.ticker-row::after{
  content:""!important;
  position:absolute!important;
  left:calc(50% - 34px)!important;
  right:calc(50% - 34px)!important;
  bottom:-1px!important;
  height:1px!important;
  background:linear-gradient(90deg,transparent,rgba(92,155,226,.42),transparent)!important;
  pointer-events:none!important;
}
.row-expand-btn{
  bottom:-10px!important;
  width:58px!important;
  min-width:58px!important;
  height:22px!important;
  min-height:22px!important;
  color:#9bc8f2!important;
  font-size:27px!important;
  font-weight:700!important;
  line-height:16px!important;
  text-shadow:0 0 12px rgba(65,148,244,.42)!important;
  opacity:.95!important;
}
.row-expand-btn:hover{
  color:#fff!important;
  text-shadow:0 0 16px rgba(96,176,255,.72)!important;
  transform:translateX(-50%) scale(1.12)!important;
}
.ticker-row.expanded .row-expand-btn{
  transform:translateX(-50%) rotate(180deg)!important;
}
.ticker-row.expanded .row-expand-btn:hover{
  transform:translateX(-50%) rotate(180deg) scale(1.12)!important;
}

/* [видалено при адаптиві 2026-09-16: @media(max-width:1550px)] */

/* ================= v32-row-click-expand ================= */
/* v32 — no chevron, expanded state by clicking the strip */
.row-expand-btn{display:none!important}
.ticker-mainline{cursor:pointer!important}
.ticker-mainline:hover{background:rgba(255,255,255,.02)!important}
.ticker-row.expanded .ticker-mainline{box-shadow:inset 0 -1px 0 rgba(185,215,255,.10)!important}

/* ================= v33-home-tickers ================= */
/* v33 — useful home dashboard redirects + ticker overview */
.home-nav-card{position:relative!important;cursor:pointer!important;transition:transform .14s ease,border-color .14s ease,background .14s ease!important}
.home-nav-card:hover{transform:translateY(-2px)!important;border-color:rgba(91,160,238,.45)!important;background:linear-gradient(180deg,rgba(29,63,101,.64),rgba(10,28,47,.62))!important}
.home-card-link{position:absolute;right:12px;bottom:10px;font-size:10.5px;color:#7fa9d5;opacity:0;transition:opacity .14s ease}
.home-nav-card:hover .home-card-link{opacity:1}
.home-tickers-card{margin-top:14px!important;padding:0!important;overflow:hidden!important}
.home-tickers-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px 11px;border-bottom:1px solid rgba(185,215,255,.11)}
.home-tickers-head h4{margin:0 0 3px!important;font-size:15px!important}
.home-tickers-head p{margin:0!important;font-size:11.5px!important;color:#91a6bc!important}
.home-ticker-list{display:grid}
.home-ticker-row{display:grid;grid-template-columns:minmax(185px,1.45fr) 150px 120px 145px 110px minmax(150px,.9fr) 76px;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid rgba(185,215,255,.08);cursor:pointer;transition:background .13s ease}
.home-ticker-row:last-child{border-bottom:0}
.home-ticker-row:hover{background:rgba(54,105,160,.11)}
.home-ticker-main{display:flex;align-items:center;gap:10px;min-width:0}
.home-ticker-code{display:inline-grid;place-items:center;min-width:54px;height:30px;padding:0 8px;border:1px solid rgba(114,162,213,.26);border-radius:5px;background:rgba(7,23,39,.48);font-weight:700;font-size:12.5px;color:#edf5ff;flex:none}
.home-ticker-name{min-width:0}.home-ticker-name b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-ticker-name span{display:block;margin-top:2px;font-size:10.5px;color:#87a0b9}
.home-ticker-cell{min-width:0}.home-ticker-cell>span{display:block;font-size:9.5px;color:#7890aa;margin-bottom:2px;text-transform:none}.home-ticker-cell>b{display:block;font-size:12px;color:#e3edf7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-ticker-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.home-ticker-status::before{content:"";width:6px;height:6px;border-radius:50%;background:#47d58a}.home-ticker-status.pause{color:#ff858d}.home-ticker-status.pause::before{background:#ff5c66}
.home-ticker-error{font-size:11px;color:#8196ab;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-ticker-error.has-error{color:#ff858d}
.home-ticker-open{text-align:right;color:#7fb8f7;font-size:11px;font-weight:700;white-space:nowrap}
.ticker-row.home-jump{outline:1px solid rgba(58,144,245,.72)!important;box-shadow:0 0 0 3px rgba(39,125,232,.13),0 14px 34px rgba(0,0,0,.18)!important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1300px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:980px)] */

/* ================= v34-metrics-beautify ================= */
/* v34 — clearer grouped expanded metrics with larger text */
.ticker-row.expanded .ticker-metricsline{
  display:grid!important;
  grid-template-columns:1.15fr 1fr .85fr .95fr 1.15fr!important;
  gap:12px!important;
  padding:12px 14px 14px!important;
  background:rgba(4,18,31,.24)!important;
}
.metric-group{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 10px!important;
  align-content:start!important;
  background:linear-gradient(180deg,rgba(10,27,44,.74),rgba(8,22,37,.78))!important;
  border:1px solid rgba(181,212,248,.14)!important;
  border-radius:10px!important;
  padding:12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.metric-title{
  grid-column:1/-1!important;
  font-size:12px!important;
  letter-spacing:.06em!important;
  color:#8ec5ff!important;
  font-weight:800!important;
  margin:0 0 2px!important;
  padding:0 0 8px!important;
  border-bottom:1px solid rgba(164,199,245,.12)!important;
}
.metric-group div{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  min-width:0!important;
  background:rgba(255,255,255,.03)!important;
  border:1px solid rgba(181,212,248,.08)!important;
  border-radius:8px!important;
  padding:10px 10px 9px!important;
}
.metric-group div span{
  font-size:12px!important;
  line-height:1.25!important;
  color:#9bb1c8!important;
}
.metric-group div b{
  font-size:16px!important;
  line-height:1.28!important;
  color:#f2f7fc!important;
  font-weight:700!important;
  overflow-wrap:anywhere!important;
}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1550px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:1180px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:760px)] */

/* ================= v36-global-compact-polish ================= */
/* v36 — global UI polish: less bulky, more consistent, readable */
:root{
  --ui-gap:12px;
  --ui-radius:8px;
}

/* page frame */
.page-wrap{
  max-width:1780px!important;
  padding:24px 24px 54px!important;
}
.page{animation:none!important}
.panel{
  border-radius:var(--ui-radius)!important;
  overflow:hidden!important;
}
.panel-head{
  min-height:0!important;
  padding:14px 16px!important;
  gap:14px!important;
}
.panel-head h2,.panel-head h3{
  font-size:22px!important;
  line-height:1.15!important;
}
.panel-head p{
  margin-top:4px!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.panel-body{
  padding:14px 16px!important;
}

/* cards / grids */
.card{
  padding:14px!important;
  border-radius:8px!important;
}
.card h4{
  margin:0 0 9px!important;
  font-size:15px!important;
  line-height:1.2!important;
}
.card p{font-size:13px!important;line-height:1.4!important}
.grid-2,.grid-3{gap:12px!important}
.toolbar{
  gap:8px!important;
  margin-bottom:12px!important;
}

/* controls */
.btn{
  min-height:36px!important;
  padding:8px 12px!important;
  font-size:13px!important;
  border-radius:6px!important;
}
.btn.small{
  min-height:30px!important;
  padding:6px 9px!important;
  font-size:11.5px!important;
}
.btn.icon,.btn.small.icon{
  min-height:30px!important;
  height:30px!important;
}
.input,.select{
  min-height:38px!important;
  height:38px!important;
  padding:8px 10px!important;
  font-size:13px!important;
  border-radius:6px!important;
}
textarea.input{height:auto!important;min-height:76px!important}
.label{font-size:12px!important;margin-bottom:5px!important}
.help,.note{font-size:12px!important;line-height:1.4!important}
.note{padding:10px 12px!important;border-radius:7px!important}
.form-grid{gap:11px!important}

/* tables */
.table-wrap{border-radius:7px!important}
.table-wrap table{font-size:12.5px!important}
.table-wrap th{
  padding:10px 11px!important;
  font-size:11.5px!important;
  line-height:1.2!important;
}
.table-wrap td{
  padding:9px 11px!important;
  font-size:12.5px!important;
  line-height:1.3!important;
}
.status{font-size:11.5px!important}

/* filters */
#tickers .filter-panel{
  padding:10px 11px!important;
  margin-bottom:10px!important;
  border-radius:7px!important;
}
#tickers .filter-grid{gap:8px!important}
#tickers .advanced-filters{margin-top:6px!important}
#tickers .advanced-filters summary{padding:3px 0!important;font-size:12px!important}
#tickers .secondary-filters{margin-top:7px!important}
#tickers .bulk-toolbar{margin-bottom:10px!important}
#tickers .panel-body{padding:12px 14px!important}

/* home dashboard */
#home .panel-body{gap:12px!important}
#home .home-summary-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
}
#home .home-summary-grid .card{
  min-height:76px!important;
  padding:11px 12px!important;
}
#home .home-summary-grid .card h4{
  margin-bottom:8px!important;
  font-size:12.5px!important;
  color:#cbd9e8!important;
}
#home .home-summary-grid .card p{margin:0!important}
#home .home-value{font-size:21px!important;line-height:1!important}
#home .home-card-link{
  right:10px!important;
  bottom:8px!important;
  font-size:9.5px!important;
  opacity:.68!important;
}
#home .home-sources-card{
  padding:12px!important;
}
#home .home-sources-card>h4{margin-bottom:9px!important}
#home .source-grid-home{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
}
#home .source-home{
  grid-template-columns:26px minmax(0,1fr) auto!important;
  gap:8px!important;
  padding:8px 9px!important;
  border-radius:7px!important;
}
#home .source-home img{width:24px!important;height:24px!important;border-radius:5px!important}
#home .source-home b{font-size:12.5px!important}
#home .source-home span{font-size:10px!important;margin-top:1px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#home .source-home .btn{min-height:28px!important;padding:5px 8px!important;font-size:10.5px!important}
#home .home-tickers-card{margin-top:0!important}
#home .home-tickers-head{padding:11px 13px 9px!important}
#home .home-tickers-head h4{font-size:14px!important}
#home .home-tickers-head p{font-size:10.5px!important}
#home .home-ticker-row{
  gap:9px!important;
  padding:8px 13px!important;
}
#home .home-ticker-code{height:28px!important;min-width:50px!important;font-size:12px!important}
#home .home-ticker-name b{font-size:12.5px!important}
#home .home-ticker-name span{font-size:10px!important}
#home .home-ticker-cell>span{font-size:9px!important}
#home .home-ticker-cell>b{font-size:11.5px!important}

/* sources */
#sources .source-control-grid{gap:10px!important}
#sources .source-control-card{padding:13px!important}
#sources .source-title{gap:9px!important}
#sources .source-title img{width:26px!important;height:26px!important}
#sources .source-title h4{font-size:14px!important;margin-bottom:2px!important}
#sources .source-control-card>p{margin:8px 0!important;font-size:12px!important;line-height:1.35!important}
#sources .source-meta{gap:0!important;margin-top:7px!important}
#sources .source-meta>div{padding:5px 0!important}
#sources .source-meta span,#sources .source-meta b{font-size:11px!important}
#sources .source-actions{margin-top:9px!important;gap:6px!important}
#sources .source-actions .btn{min-height:29px!important;padding:5px 8px!important;font-size:10.5px!important}

/* Excel/API */
#excel .grid-2{grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr)!important}
#excel .card{padding:14px!important}
#excel .token-row{gap:7px!important}
#excel .source-meta{gap:0!important;margin-top:5px!important}
#excel .source-meta>div{padding:7px 0!important}

/* settings */
#settings .panel-head{padding:14px 16px!important}
#settings .settings-body{padding:14px 16px!important}
#settings .settings-grid{gap:12px!important}
#settings .settings-column{gap:12px!important}
#settings .settings-card{
  min-height:0!important;
  padding:14px!important;
  border-radius:8px!important;
}
#settings .settings-card h4{margin:0 0 10px!important;font-size:14px!important}
#settings .settings-card-content{justify-content:flex-start!important}
#settings .settings-card .form-grid{gap:10px!important}
#settings .static-field{min-height:38px!important;padding:8px 10px!important}
#settings .settings-backup .btn{margin-top:10px!important}

/* jobs / errors / schedule */
#jobs .panel-body,#errors .panel-body,#schedule .panel-body{padding:12px 14px!important}
#jobs .toolbar,#errors .toolbar{margin-bottom:9px!important}
#schedule .schedule-state{min-height:28px!important;padding:5px 8px!important;font-size:11px!important}

/* dialogs */
.modal{border-radius:9px!important}
.modal-head,.modal-foot{padding:12px 14px!important}
.modal-head strong{font-size:16px!important}
.modal-body{padding:14px!important}
.modal-foot{gap:8px!important}
.modal-wide{width:min(900px,94vw)!important}

/* menus */
.menu,.compact-menu{border-radius:7px!important}
.compact-menu button,.menu button{padding:8px 10px!important;font-size:12px!important}

/* responsive */
/* [видалено при адаптиві 2026-09-16: @media(max-width:1450px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:980px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:620px)] */

/* ================= v35-compact-tickers-like-home ================= */
/* Tickers: compact working list, close to the density of the Home ticker overview. */
#tickers .ticker-list{gap:5px!important}
#tickers .ticker-row{
  border-radius:6px!important;
  background:rgba(8,25,42,.66)!important;
  border:1px solid rgba(174,207,245,.13)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  overflow:visible!important;
}
#tickers .ticker-row:hover{
  background:rgba(13,34,55,.76)!important;
  border-color:rgba(103,159,223,.24)!important;
}
#tickers .ticker-mainline{
  min-height:44px!important;
  padding:5px 8px!important;
  gap:8px!important;
  cursor:default!important;
  align-items:center!important;
  grid-template-columns:28px 108px minmax(175px,1.16fr) 190px 138px 108px minmax(108px,.74fr) 112px 214px!important;
  border:0!important;
  box-shadow:none!important;
}
#tickers .ticker-mainline:hover{background:transparent!important}
#tickers .ticker-mainline>div{min-width:0!important}

/* selection + manual order */
#tickers .ticker-check{display:grid!important;place-items:center!important}
#tickers .ticker-check .rowcheck{
  appearance:none!important;-webkit-appearance:none!important;
  width:17px!important;height:17px!important;margin:0!important;
  border:1px solid rgba(151,190,230,.52)!important;border-radius:4px!important;
  background:rgba(5,19,33,.72)!important;cursor:pointer!important;position:relative!important;
}
#tickers .ticker-check .rowcheck:checked{background:#2d7fe8!important;border-color:#65a8ff!important}
#tickers .ticker-check .rowcheck:checked::after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:800}
#tickers .ticker-idblock{display:flex!important;align-items:center!important;gap:5px!important}
#tickers .ticker-idline{gap:5px!important}
#tickers .drag-handle{font-size:14px!important;color:#7596b8!important}
#tickers .mini-muted{display:none!important}
#tickers .ticker-cell{width:70px!important;min-width:70px!important;height:30px!important;min-height:30px!important;padding:4px 7px!important;font-size:13px!important;border-radius:4px!important}

/* company */
#tickers .ticker-company{gap:1px!important}
#tickers .ticker-company b{font-size:13.5px!important;line-height:1.08!important}
#tickers .ticker-company span{font-size:10.5px!important;line-height:1.1!important;color:#89a1ba!important}

/* class / type */
#tickers .ticker-classification{gap:5px!important}
#tickers .ticker-classification .cell-select{height:30px!important;min-height:30px!important;padding:4px 7px!important;font-size:11.5px!important;border-radius:4px!important}

/* sources: no logos, only compact text state indicators */
#tickers .ticker-sources{display:flex!important;align-items:center!important;gap:4px!important;grid-template-columns:none!important}
#tickers .ticker-sources .source-toggle{
  width:auto!important;min-width:28px!important;height:28px!important;
  display:grid!important;place-items:center!important;
  padding:0 6px!important;border-radius:5px!important;
  background:rgba(8,22,36,.42)!important;border:1px solid rgba(153,188,226,.12)!important;
  opacity:.46!important;cursor:pointer!important;
}
#tickers .ticker-sources .source-toggle input{display:none!important}
#tickers .ticker-sources .source-toggle img{display:none!important}
#tickers .ticker-sources .source-toggle span{
  display:block!important;font-size:10px!important;line-height:1!important;font-weight:800!important;color:#9aadc0!important;
  overflow:visible!important;text-overflow:clip!important;
}
#tickers .ticker-sources .source-toggle:has(input:checked){
  opacity:1!important;background:rgba(25,76,129,.64)!important;border-color:rgba(79,145,226,.54)!important;
}
#tickers .ticker-sources .source-toggle:has(input:checked) span{color:#e8f3ff!important}
#tickers .ticker-sources .source-toggle:hover{border-color:rgba(91,157,235,.55)!important;transform:none!important}

/* update / error / status */
#tickers .ticker-update{gap:0!important;line-height:1.02!important}
#tickers .ticker-update>span{font-size:9.5px!important;color:#7891aa!important}
#tickers .ticker-update b{font-size:12.5px!important}
#tickers .ticker-update small{font-size:10.5px!important}
#tickers .ticker-error{font-size:11.5px!important;line-height:1.1!important}
#tickers .compact-error{grid-template-columns:max-content max-content!important;gap:3px 4px!important}
#tickers .compact-error>span{font-size:11.5px!important}
#tickers .mini-action{min-height:24px!important;padding:3px 5px!important;font-size:9.5px!important;border-radius:4px!important}
#tickers .status-trigger{height:30px!important;min-height:30px!important;padding:4px 8px!important;font-size:11.5px!important;border-radius:4px!important}

/* actions */
#tickers .ticker-actions{gap:4px!important}
#tickers .ticker-actions .btn.icon,#tickers .ticker-actions .btn.small.icon{
  width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;padding:0!important;font-size:12px!important;border-radius:4px!important;
}
#tickers .ticker-actions>.btn.small:not(.icon){height:28px!important;min-height:28px!important;padding:4px 8px!important;font-size:10.5px!important;border-radius:4px!important}

/* no second level / no row expansion */
#tickers .ticker-metricsline,#tickers .row-expand-btn{display:none!important}
#tickers .ticker-row.expanded .ticker-mainline{border:0!important;box-shadow:none!important}

/* [видалено при адаптиві 2026-09-16: @media(max-width:1500px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:1220px)] */

/* ================= v35-remove-source-picker-from-rows ================= */
/* v35 — remove source toggles from ticker list; source selection remains in ticker settings */
#tickers .ticker-sources{display:none!important}
#tickers .ticker-mainline{
  grid-template-columns:28px 108px minmax(200px,1.28fr) 200px 116px minmax(118px,.82fr) 116px 214px!important;
}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1500px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:1220px)] */

/* ================= v40-groups-inside-edit ================= */
/* v40 — group selection lives inside ticker edit; filters stay cleaner */
#tickers .primary-filters{
  grid-template-columns:minmax(230px,1.35fr) repeat(4,minmax(125px,.72fr))!important;
}
.ticker-group-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
.ticker-group-row .btn{white-space:nowrap;min-height:36px!important;height:36px!important;padding:6px 10px!important}
.custom-group-create{display:none;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:7px}
.custom-group-create.open{display:grid}
.custom-group-create .input{min-height:36px!important;height:36px!important;padding:7px 10px!important}
.custom-group-create .btn{min-height:36px!important;height:36px!important;padding:6px 11px!important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1300px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:850px)] */

/* ================= v40-ticker-table-view ================= */
/* v40 — ticker list as compact table-like rows */
#tickers .panel-head p{max-width:none!important}
#tickers .bulk-toolbar{gap:8px!important;margin-bottom:10px!important}
#tickers .bulk-toolbar .btn{min-height:34px!important;padding:7px 10px!important;font-size:12px!important}
#tickers .filter-panel{padding:12px!important;margin-bottom:10px!important}
#tickers .ticker-table-head{
  display:grid;
  grid-template-columns:34px 92px minmax(220px,1.5fr) 150px 148px 122px minmax(150px,1fr) 160px;
  gap:10px;
  align-items:center;
  padding:9px 14px;
  border:1px solid rgba(173,208,246,.14);
  border-bottom:0;
  border-radius:10px 10px 0 0;
  background:rgba(14,33,53,.72);
  color:#8fa9c4;
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:none;
}
#tickers .ticker-list{
  gap:0!important;
  border:1px solid rgba(173,208,246,.14);
  border-top:0;
  border-radius:0 0 10px 10px;
  overflow:hidden!important;
  background:rgba(7,22,37,.42);
}
#tickers .ticker-row{
  border:0!important;
  border-bottom:1px solid rgba(173,208,246,.10)!important;
  border-radius:0!important;
  background:rgba(6,20,34,.46)!important;
  box-shadow:none!important;
}
#tickers .ticker-row:last-child{border-bottom:0!important}
#tickers .ticker-row:hover{background:rgba(17,42,68,.58)!important}
#tickers .ticker-mainline{
  display:grid!important;
  grid-template-columns:34px 92px minmax(220px,1.5fr) 150px 148px 122px minmax(150px,1fr) 160px!important;
  gap:10px!important;
  align-items:center!important;
  padding:10px 14px!important;
  border:0!important;
  min-height:unset!important;
}
#tickers .ticker-check{display:flex!important;justify-content:center!important}
#tickers .ticker-check .check{width:18px!important;height:18px!important}
#tickers .ticker-idblock{display:block!important;min-width:0!important}
#tickers .ticker-idline{display:block!important}
#tickers .drag-handle,#tickers .mini-muted{display:none!important}
#tickers .ticker-cell{
  width:78px!important;min-width:78px!important;height:32px!important;min-height:32px!important;
  padding:6px 8px!important;font-size:13px!important;border-radius:6px!important;
  background:rgba(8,27,45,.9)!important;border-color:rgba(173,208,246,.16)!important;
}
#tickers .ticker-company{display:grid!important;gap:2px!important;min-width:0!important}
#tickers .ticker-company b{font-size:14px!important;line-height:1.15!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tickers .ticker-company span{font-size:11px!important;line-height:1.1!important;color:#8aa1b8!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tickers .ticker-sources{display:none!important}
#tickers .ticker-classification{display:block!important;min-width:0!important}
#tickers .ticker-classification select{display:none!important}
#tickers .ticker-type-display,
#tickers .ticker-update-display,
#tickers .ticker-error-display{display:block!important;min-width:0!important}
#tickers .ticker-type-display b,
#tickers .ticker-update-display b,
#tickers .ticker-error-display b{display:block!important;font-size:13px!important;line-height:1.18!important;font-weight:600!important;color:#e8f1fa!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tickers .ticker-error-display.has-error b{color:#ff8f98!important}
#tickers .ticker-update{display:block!important;min-width:0!important}
#tickers .ticker-update > span,#tickers .ticker-update small{display:none!important}
#tickers .ticker-update b{font-size:13px!important;line-height:1.18!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tickers .ticker-error{display:block!important;min-width:0!important}
#tickers .compact-error{display:block!important}
#tickers .compact-error .mini-action{display:none!important}
#tickers .compact-error > span{font-size:13px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tickers .ticker-status .status-trigger{min-height:32px!important;height:32px!important;padding:5px 10px!important;font-size:12px!important}
#tickers .ticker-actions{justify-content:flex-start!important;gap:5px!important}
#tickers .ticker-actions .btn.icon,#tickers .ticker-actions .btn.small.icon{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important}
#tickers .ticker-actions > .btn.small:not(.icon){height:30px!important;min-height:30px!important;padding:5px 9px!important;font-size:12px!important}
#tickers .ticker-metricsline,.row-expand-btn{display:none!important}
#tickers .ticker-row.expanded .ticker-metricsline{display:none!important}
#tickers .ticker-table-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;color:#8ea6bf;font-size:12px}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1450px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:1180px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:860px)] */

/* ================= v41-minimal-status-error ================= */
#tickers .ticker-mainline{grid-template-areas:'check ticker company type updated status error actions'!important}
#tickers .ticker-check{grid-area:check!important}
#tickers .ticker-idblock{grid-area:ticker!important}
#tickers .ticker-company{grid-area:company!important}
#tickers .ticker-classification{grid-area:type!important}
#tickers .ticker-update{grid-area:updated!important}
#tickers .ticker-status{grid-area:status!important}
#tickers .ticker-error{grid-area:error!important}
#tickers .ticker-actions{grid-area:actions!important}

#tickers .ticker-status{display:flex!important;align-items:center!important;min-width:0!important}
#tickers .ticker-status .status-dropdown{display:inline-block!important;min-width:0!important}
#tickers .ticker-status .status-trigger{
  width:auto!important;min-width:0!important;height:26px!important;min-height:26px!important;
  padding:2px 3px!important;border:0!important;background:transparent!important;box-shadow:none!important;
  border-radius:4px!important;font-size:12px!important;gap:5px!important
}
#tickers .ticker-status .status-trigger:hover{background:rgba(255,255,255,.035)!important}
#tickers .ticker-status .status-left{gap:5px!important}
#tickers .ticker-status .status-mark{width:8px!important;font-size:9px!important}
#tickers .ticker-status .status-label{font-weight:600!important}
#tickers .ticker-status .status-caret{font-size:9px!important;margin-left:2px!important;opacity:.55!important}
#tickers .ticker-status .status-trigger.pause .status-mark{font-size:10px!important}

#tickers .ticker-error{display:flex!important;align-items:center!important;min-width:0!important}
#tickers .ticker-error > :not(.ticker-error-display){display:none!important}
#tickers .ticker-error-display{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important}
#tickers .ticker-error-display::before{content:'';width:6px;height:6px;border-radius:50%;background:rgba(126,148,171,.6);flex:none}
#tickers .ticker-error-display b{font-size:12px!important;line-height:1.1!important;font-weight:500!important;color:#8197ad!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#tickers .ticker-error-display.has-error::before{background:#ff626d!important;box-shadow:0 0 0 2px rgba(255,98,109,.10)!important}
#tickers .ticker-error-display.has-error b{color:#ff838c!important;font-weight:600!important}
#tickers .ticker-error-display.no-error::before{display:none!important}

/* [видалено при адаптиві 2026-09-16: @media(max-width:1180px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:860px)] */

/* ================= v42-hide-group-under-company ================= */
#tickers .ticker-company span{display:none!important}
#tickers .ticker-company{display:flex!important;align-items:center!important;min-height:32px!important}
#tickers .ticker-company b{margin:0!important}

/* ================= v43-stacked-classification ================= */
/* v43 — Asset Class and Asset Type are shown separately, one under another */
#tickers .ticker-type-display{display:grid!important;gap:5px!important;min-width:0!important}
#tickers .ticker-type-line{display:grid!important;grid-template-columns:68px minmax(0,1fr)!important;gap:7px!important;align-items:baseline!important;min-width:0!important}
#tickers .ticker-type-line span{font-size:9.5px!important;line-height:1.05!important;color:#7890aa!important;white-space:nowrap!important}
#tickers .ticker-type-line b{font-size:12.5px!important;line-height:1.12!important;font-weight:700!important;color:#e8f1fa!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* ================= v42-dot-status-error ================= */
/* v42 — status/error as dots only; details appear on click */
#tickers .ticker-status{display:flex!important;align-items:center!important;justify-content:flex-start!important}
#tickers .ticker-status .status-dropdown{position:relative!important;display:inline-flex!important}
#tickers .ticker-status .status-trigger{
  width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;
  padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;
  display:grid!important;place-items:center!important;cursor:pointer!important;
}
#tickers .ticker-status .status-trigger:hover{background:rgba(255,255,255,.035)!important}
#tickers .ticker-status .status-left{display:grid!important;place-items:center!important;gap:0!important}
#tickers .ticker-status .status-label,#tickers .ticker-status .status-caret{display:none!important}
#tickers .ticker-status .status-mark{
  width:11px!important;height:11px!important;border-radius:50%!important;
  display:block!important;font-size:0!important;line-height:0!important;
  box-shadow:0 0 0 3px rgba(255,255,255,.03)!important;
}
#tickers .ticker-status .status-trigger.active .status-mark{background:#35d98c!important}
#tickers .ticker-status .status-trigger.pause .status-mark{background:#ff5e69!important}
#tickers .ticker-status .status-trigger.basket .status-mark{background:#aab7c5!important}
#tickers .ticker-status .status-menu{top:31px!important;left:0!important;right:auto!important;width:150px!important}

#tickers .ticker-error{position:relative!important;display:flex!important;align-items:center!important;min-width:0!important}
#tickers .ticker-error > :not(.ticker-error-display):not(.ticker-error-popover){display:none!important}
#tickers .ticker-error-display{
  width:28px!important;height:28px!important;display:grid!important;place-items:center!important;
  cursor:pointer!important;border-radius:6px!important;position:relative!important;
}
#tickers .ticker-error-display:hover{background:rgba(255,255,255,.035)!important}
#tickers .ticker-error-display::before{
  content:''!important;width:11px!important;height:11px!important;border-radius:50%!important;
  background:#8495a8!important;box-shadow:0 0 0 3px rgba(132,149,168,.08)!important;display:block!important;
}
#tickers .ticker-error-display.has-error::before{
  background:#ff626d!important;box-shadow:0 0 0 3px rgba(255,98,109,.09)!important;
}
#tickers .ticker-error-display b{display:none!important}
#tickers .ticker-error-display.no-error::before{display:block!important;background:#72869a!important}
#tickers .ticker-error-popover{
  display:none;position:absolute;z-index:80;top:31px;left:0;width:235px;
  padding:10px;border-radius:8px;background:rgba(10,24,39,.98);
  border:1px solid rgba(150,188,229,.24);box-shadow:0 16px 36px rgba(0,0,0,.36);
  color:#dbe8f5;font-size:12px;line-height:1.35;
}
#tickers .ticker-error-popover.open{display:block!important}
#tickers .ticker-error-popover .error-pop-title{font-weight:700;margin-bottom:7px;color:#eef5fc}
#tickers .ticker-error-popover .error-pop-actions{display:flex;gap:6px;margin-top:9px}
#tickers .ticker-error-popover .error-pop-actions button{
  min-height:28px;padding:5px 8px;border:1px solid rgba(145,184,225,.20);border-radius:5px;
  background:rgba(22,51,80,.72);color:#dfeaf5;font-size:11px;cursor:pointer;
}
#tickers .ticker-error-popover .error-pop-actions button:hover{background:rgba(36,73,110,.82)}

/* ================= v44-tight-complete-ticker-table ================= */
/* v44 — tighter, aligned ticker table with essential data visible */
#tickers .ticker-table-head,
#tickers .ticker-mainline{
  grid-template-columns:28px 78px minmax(190px,1.25fr) 150px 120px 105px 142px 54px 54px 172px!important;
  gap:8px!important;
}
#tickers .ticker-table-head{
  padding:7px 10px!important;
  font-size:10.5px!important;
  min-height:32px!important;
}
#tickers .ticker-mainline{
  padding:7px 10px!important;
  min-height:48px!important;
  align-items:center!important;
}
#tickers .ticker-row{min-height:0!important}
#tickers .ticker-check{justify-content:center!important;align-items:center!important}
#tickers .ticker-check .check{width:16px!important;height:16px!important;margin:0!important}
#tickers .ticker-cell{width:72px!important;min-width:72px!important;height:30px!important;min-height:30px!important;padding:4px 7px!important;font-size:12.5px!important}
#tickers .ticker-company{min-height:0!important;display:flex!important;align-items:center!important}
#tickers .ticker-company b{font-size:13px!important;line-height:1.12!important}
#tickers .ticker-type-display{gap:2px!important}
#tickers .ticker-type-line{grid-template-columns:58px minmax(0,1fr)!important;gap:5px!important;line-height:1!important}
#tickers .ticker-type-line span{font-size:8.5px!important;color:#7088a0!important}
#tickers .ticker-type-line b{font-size:11.5px!important;line-height:1.05!important}
#tickers .ticker-sector-display{
  min-width:0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:2px!important;
}
#tickers .ticker-sector-display b{
  font-size:12px!important;line-height:1.08!important;font-weight:600!important;color:#dce8f4!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;
}
#tickers .ticker-sector-display small{
  display:block!important;font-size:9.5px!important;line-height:1.05!important;font-weight:400!important;color:#7890a8!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;
}
#tickers .ticker-price-display{
  min-width:0!important;display:flex!important;align-items:center!important;
}
#tickers .ticker-price-display b{
  font-size:12px!important;line-height:1.1!important;font-weight:600!important;color:#dce8f4!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
#tickers .ticker-update{display:flex!important;align-items:center!important;min-width:0!important}
#tickers .ticker-update > span,#tickers .ticker-update > b,#tickers .ticker-update > small{display:none!important}
#tickers .ticker-update-display{display:block!important;min-width:0!important}
#tickers .ticker-update-display b{font-size:11.5px!important;line-height:1.1!important;font-weight:600!important;white-space:nowrap!important}

/* dot controls are real visible buttons */
#tickers .ticker-status,#tickers .ticker-error{justify-content:center!important;overflow:visible!important}
#tickers .ticker-status .status-trigger,#tickers .ticker-error-display{
  width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;
  border-radius:50%!important;background:transparent!important;border:1px solid transparent!important;
  cursor:pointer!important;transition:background .12s ease,border-color .12s ease,transform .12s ease!important;
}
#tickers .ticker-status .status-trigger:hover,#tickers .ticker-error-display:hover{
  background:rgba(105,158,216,.10)!important;border-color:rgba(129,183,239,.30)!important;transform:scale(1.05)!important;
}
#tickers .ticker-status .status-trigger:focus-visible,#tickers .ticker-error-display:focus-visible{
  outline:2px solid rgba(89,158,239,.75)!important;outline-offset:2px!important;
}
#tickers .ticker-status .status-mark,#tickers .ticker-error-display::before{
  width:12px!important;height:12px!important;box-shadow:0 0 0 3px rgba(255,255,255,.025)!important;
}
#tickers .ticker-status .status-menu{top:32px!important;left:50%!important;transform:translateX(-50%)!important;width:145px!important}
#tickers .ticker-error-popover{top:32px!important;left:50%!important;transform:translateX(-50%)!important;width:230px!important}

#tickers .ticker-actions{gap:4px!important;justify-content:flex-end!important}
#tickers .ticker-actions .btn.icon,#tickers .ticker-actions .btn.small.icon{width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important;font-size:12px!important}
#tickers .ticker-actions>.btn.small:not(.icon){height:28px!important;min-height:28px!important;padding:4px 8px!important;font-size:11px!important}
#tickers .footer-row{padding-top:8px!important;font-size:11px!important}
#tickers .page-size{height:32px!important;min-height:32px!important}

/* [видалено при адаптиві 2026-09-16: @media(max-width:1500px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:1220px)] */

/* ================= v45-fixed-ticker-grid ================= */
/* v45 — reset old grid areas and use one strict column map for header + rows */
#tickers .ticker-table-head,
#tickers .ticker-mainline{
  grid-template-areas:none!important;
  grid-template-columns:76px minmax(200px,1.5fr) 150px minmax(130px,1fr) 100px 130px 60px 60px 62px!important;
  column-gap:8px!important;
  row-gap:0!important;
  align-items:center!important;
}
#tickers .ticker-mainline>div{
  grid-area:auto!important;
  min-width:0!important;
  align-self:center!important;
}
#tickers .ticker-table-head{
  padding:7px 12px!important;
  font-size:10.5px!important;
}
#tickers .ticker-mainline{
  padding:7px 12px!important;
  min-height:46px!important;
}
#tickers .ticker-company{display:block!important;min-height:0!important}
#tickers .ticker-company b{
  display:block!important;
  max-width:100%!important;
  font-size:13px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#tickers .ticker-type-display{display:grid!important;gap:3px!important}
#tickers .ticker-type-line{
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:5px!important;
  align-items:center!important;
}
#tickers .ticker-type-line span{font-size:8px!important;line-height:1!important}
#tickers .ticker-type-line b{font-size:11.5px!important;line-height:1.05!important}
#tickers .ticker-sector-display b,
#tickers .ticker-price-display b,
#tickers .ticker-update-display b{font-size:11.5px!important;line-height:1.1!important}
#tickers .ticker-update{display:block!important}
#tickers .ticker-status,#tickers .ticker-error{display:flex!important;justify-content:center!important;align-items:center!important;overflow:visible!important}
#tickers .ticker-actions{justify-content:flex-start!important;gap:4px!important;white-space:nowrap!important}
#tickers .ticker-actions .btn.icon,#tickers .ticker-actions .btn.small.icon{width:28px!important;min-width:28px!important;height:28px!important;min-height:28px!important}
#tickers .ticker-actions>.btn.small:not(.icon){height:28px!important;min-height:28px!important;padding:4px 8px!important}

/* [видалено при адаптиві 2026-09-16: @media(max-width:1350px)] */
/* [видалено при адаптиві 2026-09-16: @media(max-width:1080px)] */

/* ================= v42-no-exchange-in-tickers ================= */
/* v42 — Exchange is intentionally not shown in the compact Tickers list. */
#tickers .ticker-exchange-display,
#tickers [data-field="exchange"],
#tickers .exchange-column{display:none!important}

/* ================= v45-dot-hover-clean ================= */
/* v45 — clean dot hover: no large circular halo */
#tickers .ticker-status .status-trigger,
#tickers .ticker-error-display{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
#tickers .ticker-status .status-trigger:hover,
#tickers .ticker-error-display:hover{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
#tickers .ticker-status .status-trigger:hover .status-mark,
#tickers .ticker-error-display:hover::before{
  transform:scale(1.12)!important;
  filter:brightness(1.12)!important;
}
#tickers .ticker-status .status-mark,
#tickers .ticker-error-display::before{
  transition:transform .12s ease,filter .12s ease!important;
}

/* ================= v45-clean-status-dot ================= */
/* v45 — status is a pure dot; hide legacy Active/Pause glyphs inside it */
#tickers .ticker-status .status-mark{
  font-size:0!important;
  color:transparent!important;
  line-height:0!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
}
#tickers .ticker-status .status-trigger.pause .status-mark,
#tickers .ticker-status .status-trigger.active .status-mark,
#tickers .ticker-status .status-trigger.basket .status-mark{
  font-size:0!important;
  color:transparent!important;
}

/* ================= v31-unified-pencil-settings ================= */
/* v31 — unified pencil: edit + settings in one modal */
.source-symbol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
#tickerModal .modal-body>h4{margin:2px 0 10px;font-size:14px}
#tickerModal .divider{margin:14px 0}
#tickerModal .client-source-checks{gap:8px}
/* [видалено при адаптиві 2026-09-16: @media(max-width:760px)] */

/* ================= v52-intuitive-ticker-editor ================= */
#tickerModal .ticker-edit-modal{width:min(900px,calc(100vw - 30px))!important}
#tickerModal .modal-head{align-items:center!important}
#tickerModal .modal-head>div{display:grid;gap:3px}
#tickerModal .modal-subtitle{font-size:11px;color:#8fa5bc;font-weight:400}
#tickerModal .ticker-edit-body{display:grid;gap:12px;padding:14px!important}
#tickerModal .ticker-edit-section{border:1px solid rgba(174,207,245,.12);border-radius:9px;background:rgba(7,23,39,.34);padding:12px}
#tickerModal .ticker-edit-section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
#tickerModal .ticker-edit-section-head h4{margin:0!important;font-size:14px!important;color:#eaf2fa}
#tickerModal .ticker-edit-section-head span{font-size:11px;color:#8299b1}
#tickerModal .intuitive-main-form{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
#tickerModal .intuitive-group-field{grid-column:span 2}
#tickerModal .ticker-group-row{display:grid!important;grid-template-columns:1fr auto!important;gap:7px!important}
#tickerModal .custom-group-create{margin-top:7px!important}
#tickerModal .intuitive-source-checks{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
#tickerModal .client-source-check{min-height:58px!important;padding:9px 10px!important;border-radius:8px!important;cursor:pointer!important}
#tickerModal .client-source-check img{width:26px!important;height:26px!important}
#tickerModal .client-source-check span b{font-size:13px!important}
#tickerModal .client-source-check span small{font-size:10.5px!important;line-height:1.2!important;margin-top:2px!important}
#tickerModal .client-source-check input{width:16px!important;height:16px!important}
#tickerModal .intuitive-help{margin-top:8px!important;font-size:11px!important}
#tickerModal .source-symbol-details{border:1px solid rgba(174,207,245,.12);border-radius:9px;background:rgba(7,23,39,.28);overflow:hidden}
#tickerModal .source-symbol-details summary{list-style:none;cursor:pointer;padding:11px 12px;display:flex;align-items:center;gap:9px;color:#dce8f5;user-select:none}
#tickerModal .source-symbol-details summary::-webkit-details-marker{display:none}
#tickerModal .source-symbol-details summary::before{content:'›';font-size:20px;line-height:1;color:#7ea8d7;transition:transform .15s ease}
#tickerModal .source-symbol-details[open] summary::before{transform:rotate(90deg)}
#tickerModal .source-symbol-details summary span{font-size:13px;font-weight:700}
#tickerModal .source-symbol-details summary small{font-size:10.5px;color:#7f96ad;font-weight:400}
#tickerModal .intuitive-symbol-grid{padding:0 12px 10px;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
#tickerModal .source-symbol-details>.help{padding:0 12px 11px;margin:0!important}
#tickerModal .ticker-edit-foot{padding:11px 14px!important}
#tickerModal .ticker-edit-foot .btn{min-height:36px!important;padding:8px 13px!important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:760px)] */

/* ================= v33-status-chips ================= */
.status-select-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;overflow:hidden!important}
.status-chip-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.status-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;border:1px solid rgba(146,183,223,.18);background:rgba(9,27,44,.72);color:#cdd9e6;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .12s ease,box-shadow .15s ease,opacity .15s ease}
.status-chip:hover{transform:translateY(-1px);border-color:rgba(146,183,223,.34)}
.status-chip .chip-mark{display:inline-flex;align-items:center;justify-content:center;width:14px;min-width:14px;font-size:12px;line-height:1}
.status-chip.active .chip-mark{color:#31d889}.status-chip.pause .chip-mark{color:#ff6772}.status-chip.basket .chip-mark{color:#c7d1db}
.status-chip.is-selected{box-shadow:0 0 0 1px rgba(255,255,255,.03) inset,0 8px 20px rgba(0,0,0,.12)}
.status-chip.active.is-selected{background:rgba(16,59,43,.78);border-color:rgba(67,211,137,.38);color:#dbf8ea}
.status-chip.pause.is-selected{background:rgba(66,24,31,.8);border-color:rgba(255,103,114,.36);color:#ffe3e6}
.status-chip.basket.is-selected{background:rgba(57,63,71,.78);border-color:rgba(186,197,208,.3);color:#eef3f8}
.status-chip:not(.is-selected){opacity:.82}

/* ================= v34-modal-top-actions ================= */
#tickerModal .modal-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important}
#tickerModal .ticker-modal-head-actions{display:flex;align-items:center;gap:8px;flex:none}
#tickerModal .ticker-modal-head-actions .btn{min-height:34px!important;height:34px!important;padding:7px 12px!important;font-size:12px!important}
#tickerModal .ticker-modal-close{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid rgba(166,198,234,.22);border-radius:7px;background:rgba(7,23,39,.48);color:#cbd9e6;font-size:22px;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
#tickerModal .ticker-modal-close:hover{background:rgba(75,31,39,.62);border-color:rgba(255,105,117,.34);color:#ff8b94}
#tickerModal .ticker-edit-foot{display:none!important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:680px)] */

/* ================= v35-modal-head-status-fix ================= */
#tickerModal .modal-head{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:nowrap!important;
  gap:16px!important;
}
#tickerModal .modal-head>div:first-child{
  flex:1 1 auto!important;
  min-width:0!important;
}
#tickerModal .ticker-modal-head-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
#tickerModal .ticker-modal-head-actions #tickerSaveBtn{
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  flex:0 0 auto!important;
}
#tickerModal .ticker-modal-close{
  width:36px!important;
  min-width:36px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  flex:0 0 36px!important;
  border:1px solid rgba(255,103,114,.5)!important;
  border-radius:7px!important;
  background:rgba(119,31,42,.88)!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
#tickerModal .ticker-modal-close:hover{
  background:rgba(177,43,57,.95)!important;
  border-color:rgba(255,126,137,.75)!important;
  color:#fff!important;
}
.status-chip.basket .basket-icon{
  width:15px!important;
  min-width:15px!important;
  font-size:13px!important;
  filter:grayscale(1) brightness(1.35)!important;
}
.status-chip.basket.is-selected .basket-icon{filter:none!important}
/* [видалено при адаптиві 2026-09-16: @media(max-width:620px)] */

/* ================= v36-basket-tab ================= */
#tickers .ticker-panel-head{align-items:center!important}
#tickers .ticker-head-actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
#tickers .ticker-view-tabs{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(163,199,239,.14);border-radius:8px;background:rgba(7,23,39,.48)}
#tickers .ticker-view-tab{display:inline-flex;align-items:center;gap:7px;height:31px;padding:0 11px;border:0;border-radius:6px;background:transparent;color:#91a8bf;font-size:12px;font-weight:700;cursor:pointer;transition:background .14s ease,color .14s ease}
#tickers .ticker-view-tab:hover{color:#e4eef8;background:rgba(255,255,255,.035)}
#tickers .ticker-view-tab.active{color:#f2f7fc;background:rgba(39,103,169,.38);box-shadow:inset 0 0 0 1px rgba(103,164,229,.18)}
#tickers .ticker-view-tab.basket.active{background:rgba(117,77,30,.34);box-shadow:inset 0 0 0 1px rgba(213,159,81,.18)}
#tickers .ticker-view-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.07);color:#b9cce0;font-size:10px;line-height:1}
#tickers .ticker-view-tab.active .ticker-view-count{background:rgba(255,255,255,.12);color:#fff}
#tickers .basket-empty{display:none;padding:24px;text-align:center;color:#8499af;font-size:13px;border:1px dashed rgba(163,199,239,.16);border-radius:8px;background:rgba(7,23,39,.3)}
#tickers .ticker-panel.basket-view .ticker-add-btn{display:none!important}
#tickers .ticker-panel.basket-view .ticker-main-action{display:none!important}
#tickers .ticker-panel.basket-view .ticker-basket-action{display:inline-flex!important}
#tickers .ticker-panel.basket-view .filter-panel{opacity:.94}
/* [видалено при адаптиві 2026-09-16: @media(max-width:850px)] */

/* ================= v37-readable-ticker-data ================= */
/* v37 — larger readable secondary data without making rows bulky */
#tickers .ticker-type-display{gap:4px!important}
#tickers .ticker-type-line{
  grid-template-columns:66px minmax(0,1fr)!important;
  gap:7px!important;
  align-items:center!important;
}
#tickers .ticker-type-line span{
  font-size:10px!important;
  line-height:1.05!important;
  color:#829ab2!important;
  font-weight:500!important;
}
#tickers .ticker-type-line b{
  font-size:13.5px!important;
  line-height:1.08!important;
  font-weight:700!important;
}
#tickers .ticker-sector-display{gap:3px!important}
#tickers .ticker-sector-display b{
  font-size:13.5px!important;
  line-height:1.1!important;
  font-weight:700!important;
}
#tickers .ticker-sector-display small{
  font-size:11px!important;
  line-height:1.08!important;
  color:#8298ae!important;
}
#tickers .ticker-price-display b,
#tickers .ticker-update-display b{
  font-size:13px!important;
  line-height:1.12!important;
  font-weight:700!important;
}
#tickers .ticker-company b{font-size:14px!important}
#tickers .ticker-table-head{font-size:11px!important}
#tickers .ticker-mainline{min-height:48px!important}

/* [видалено при адаптиві 2026-09-16: @media(max-width:1350px)] */

/* ================= v38-readable-table-and-single-drag ================= */
/* v38 — substantially larger ticker table text while keeping the rows compact */
#tickers .ticker-table-head{
  font-size:12px!important;
  line-height:1.15!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}
#tickers .ticker-mainline{
  min-height:56px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}
#tickers .ticker-cell{
  font-size:14px!important;
  font-weight:700!important;
  height:32px!important;
  min-height:32px!important;
}
#tickers .ticker-company b{
  font-size:15.5px!important;
  line-height:1.15!important;
  font-weight:700!important;
}
#tickers .ticker-type-display{gap:4px!important}
#tickers .ticker-type-line{
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:7px!important;
}
#tickers .ticker-type-line span{
  font-size:11.5px!important;
  line-height:1.1!important;
  color:#8ca2b8!important;
}
#tickers .ticker-type-line b{
  font-size:15px!important;
  line-height:1.08!important;
  font-weight:700!important;
}
#tickers .ticker-sector-display{gap:4px!important}
#tickers .ticker-sector-display b{
  font-size:15px!important;
  line-height:1.1!important;
  font-weight:700!important;
}
#tickers .ticker-sector-display small{
  font-size:12.5px!important;
  line-height:1.1!important;
  color:#8da1b6!important;
}
#tickers .ticker-price-display b,
#tickers .ticker-update-display b{
  font-size:14.5px!important;
  line-height:1.12!important;
  font-weight:700!important;
}
#tickers .ticker-status .status-mark,
#tickers .ticker-error-display::before{
  width:13px!important;
  height:13px!important;
}
#tickers .ticker-actions .btn.icon,
#tickers .ticker-actions .btn.small.icon{
  font-size:13px!important;
}
#tickers .ticker-actions>.btn.small:not(.icon){font-size:12px!important}
#tickers .ticker-row{cursor:grab!important}
#tickers .ticker-row:active{cursor:grabbing!important}
#tickers .ticker-row.dragging{
  opacity:.58!important;
  background:rgba(18,48,77,.60)!important;
}
/* During drag the row stays in the table. Only a thin insertion line shows the destination. */
#tickers .ticker-row.drag-before::before,
#tickers .ticker-row.drag-after::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  height:2px;
  z-index:20;
  background:#5aa9ff;
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(90,169,255,.18),0 0 10px rgba(90,169,255,.22);
  pointer-events:none;
}
#tickers .ticker-row.drag-before::before{top:-1px}
#tickers .ticker-row.drag-after::after{bottom:-1px}
#tickers .ticker-group-drop.drag-group-over{
  outline:1px solid rgba(90,169,255,.65)!important;
  background:rgba(31,80,126,.34)!important;
}
/* [видалено при адаптиві 2026-09-16: @media(max-width:1350px)] */

/* ================= v40-group-one-line ================= */
/* v40 — group selector/creator stays on one clean horizontal line */
#tickerModal .intuitive-group-field{grid-column:span 2!important}
#tickerModal .ticker-group-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  width:100%!important;
}
#tickerModal .ticker-group-row:has(.custom-group-create.open){
  grid-template-columns:minmax(190px,1fr) auto minmax(170px,.72fr) auto!important;
}
#tickerModal .ticker-group-row>.select{
  min-width:0!important;
  width:100%!important;
}
#tickerModal .group-new-btn{
  white-space:nowrap!important;
  min-width:72px!important;
}
#tickerModal .custom-group-create{
  display:none!important;
  margin:0!important;
}
#tickerModal .custom-group-create.open{
  display:contents!important;
}
#tickerModal .custom-group-create .input{
  width:100%!important;
  min-width:0!important;
}
#tickerModal .ticker-group-row .select,
#tickerModal .ticker-group-row .input,
#tickerModal .ticker-group-row .btn{
  height:38px!important;
  min-height:38px!important;
}
/* [видалено при адаптиві 2026-09-16: @media(max-width:760px)] */

/* ================= v41-editable-group-combobox ================= */
#tickerModal .ticker-group-row{
  display:block!important;
  width:100%!important;
}
#tickerModal .group-combobox{
  width:100%!important;
  min-width:0!important;
  height:38px!important;
  min-height:38px!important;
}

/* ================= v42-compact-group-combo ================= */
#tickerModal .ticker-group-field{position:relative!important}
#tickerModal .group-combo{
  position:relative!important;
  width:100%!important;
}
#tickerModal .group-combobox{
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  padding:7px 34px 7px 11px!important;
  font-size:13px!important;
}
#tickerModal .group-combo-toggle{
  position:absolute!important;
  right:5px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:26px!important;
  height:26px!important;
  border:0!important;
  background:transparent!important;
  color:#9fb4c9!important;
  font-size:16px!important;
  line-height:1!important;
  cursor:pointer!important;
  border-radius:5px!important;
}
#tickerModal .group-combo-toggle:hover{
  background:rgba(255,255,255,.05)!important;
  color:#fff!important;
}
#tickerModal .group-combo-menu{
  display:none!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(100% + 5px)!important;
  z-index:30!important;
  max-height:148px!important;
  overflow:auto!important;
  padding:4px!important;
  border:1px solid rgba(147,183,222,.18)!important;
  border-radius:7px!important;
  background:#0b1d2f!important;
  box-shadow:0 12px 28px rgba(0,0,0,.26)!important;
}
#tickerModal .group-combo.open .group-combo-menu{display:block!important}
#tickerModal .group-combo-option{
  display:block!important;
  width:100%!important;
  border:0!important;
  background:transparent!important;
  color:#e7eef6!important;
  text-align:left!important;
  padding:7px 9px!important;
  border-radius:5px!important;
  font-size:12.5px!important;
  cursor:pointer!important;
}
#tickerModal .group-combo-option:hover{
  background:rgba(64,125,190,.16)!important;
}
#tickerModal .group-combo-empty{
  padding:7px 9px!important;
  color:#8096ad!important;
  font-size:11.5px!important;
  line-height:1.3!important;
}

/* ================= v43-group-single-control ================= */
/* one compact control: search + select + add */
#tickerModal .group-combo{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  height:38px!important;
  min-height:38px!important;
  border:1px solid rgba(132,176,220,.25)!important;
  border-radius:7px!important;
  background:rgba(7,24,40,.72)!important;
  overflow:visible!important;
}
#tickerModal .group-combo:focus-within{
  border-color:#4f9cff!important;
  box-shadow:0 0 0 1px rgba(79,156,255,.18)!important;
}
#tickerModal .group-combobox{
  flex:1 1 auto!important;
  min-width:0!important;
  height:36px!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#eef5fc!important;
  padding:0 9px 0 11px!important;
  font-size:13px!important;
}
#tickerModal .group-combobox::placeholder{color:#70879e!important}
#tickerModal .group-combo-add{
  display:none!important;
  flex:none!important;
  height:28px!important;
  margin-right:3px!important;
  padding:0 9px!important;
  border:1px solid rgba(73,145,235,.34)!important;
  border-radius:5px!important;
  background:rgba(27,103,204,.82)!important;
  color:#fff!important;
  font-size:11.5px!important;
  font-weight:700!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
#tickerModal .group-combo-add.show{display:inline-flex!important;align-items:center!important}
#tickerModal .group-combo-toggle{
  position:static!important;
  transform:none!important;
  flex:none!important;
  width:30px!important;
  height:36px!important;
  border:0!important;
  border-left:1px solid rgba(132,176,220,.12)!important;
  background:transparent!important;
  color:#9fb4c9!important;
  font-size:15px!important;
  cursor:pointer!important;
  border-radius:0 6px 6px 0!important;
}
#tickerModal .group-combo-toggle:hover{background:rgba(255,255,255,.045)!important;color:#fff!important}
#tickerModal .group-combo-menu{
  left:0!important;
  right:0!important;
  top:42px!important;
  max-height:126px!important;
  margin:0!important;
  padding:4px!important;
  border-radius:7px!important;
}
#tickerModal .group-combo-option{
  padding:6px 8px!important;
  font-size:12px!important;
}

/* ================= v44-group-short-control ================= */
/* v44 — compact group combobox, roughly 3x narrower */
#tickerModal .intuitive-group-field{
  width:250px!important;
  max-width:250px!important;
  min-width:0!important;
  grid-column:auto!important;
  justify-self:start!important;
}
#tickerModal .group-combo{
  width:250px!important;
  max-width:250px!important;
  height:36px!important;
  min-height:36px!important;
}
#tickerModal .group-combobox{
  height:34px!important;
  font-size:13px!important;
  padding-left:10px!important;
  padding-right:6px!important;
}
#tickerModal .group-combo-add{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  min-width:28px!important;
  height:28px!important;
  padding:0!important;
  margin-right:3px!important;
  border-radius:5px!important;
  font-size:17px!important;
  line-height:1!important;
  opacity:.55!important;
  background:rgba(27,103,204,.34)!important;
  border:1px solid rgba(73,145,235,.20)!important;
}
#tickerModal .group-combo-add.show{
  opacity:1!important;
  background:rgba(27,103,204,.82)!important;
  border-color:rgba(73,145,235,.42)!important;
}
#tickerModal .group-combo-toggle{
  width:27px!important;
  min-width:27px!important;
  height:34px!important;
}
#tickerModal .group-combo-menu{
  width:250px!important;
  right:auto!important;
  max-height:120px!important;
}
/* [видалено при адаптиві 2026-09-16: @media(max-width:700px)] */

/* ================= v45-clean-group-combo ================= */
/* One compact control. No arrow and no external add button. */
#tickerModal .intuitive-group-field{
  width:240px!important;
  max-width:240px!important;
  min-width:0!important;
  grid-column:auto!important;
  justify-self:start!important;
}
#tickerModal .group-combo{
  position:relative!important;
  display:block!important;
  width:240px!important;
  max-width:240px!important;
  height:36px!important;
  min-height:36px!important;
  border:1px solid rgba(132,176,220,.25)!important;
  border-radius:7px!important;
  background:rgba(7,24,40,.72)!important;
  overflow:visible!important;
}
#tickerModal .group-combobox{
  width:100%!important;
  height:34px!important;
  min-height:34px!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#eef5fc!important;
  padding:0 10px!important;
  font-size:13px!important;
}
#tickerModal .group-combo:focus-within{
  border-color:#4f9cff!important;
  box-shadow:0 0 0 1px rgba(79,156,255,.16)!important;
}
#tickerModal .group-combo-add,
#tickerModal .group-combo-toggle{
  display:none!important;
}
#tickerModal .group-combo-menu{
  display:none!important;
  position:absolute!important;
  left:0!important;
  top:40px!important;
  width:240px!important;
  right:auto!important;
  z-index:40!important;
  max-height:150px!important;
  overflow:auto!important;
  margin:0!important;
  padding:4px!important;
  border:1px solid rgba(147,183,222,.18)!important;
  border-radius:7px!important;
  background:#0b1d2f!important;
  box-shadow:0 12px 28px rgba(0,0,0,.26)!important;
}
#tickerModal .group-combo.open .group-combo-menu{
  display:block!important;
}
#tickerModal .group-combo-option,
#tickerModal .group-combo-create,
#tickerModal .group-combo-back{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:31px!important;
  border:0!important;
  border-radius:5px!important;
  background:transparent!important;
  color:#e7eef6!important;
  text-align:left!important;
  padding:6px 8px!important;
  font-size:12px!important;
  cursor:pointer!important;
}
#tickerModal .group-combo-option:hover,
#tickerModal .group-combo-back:hover{
  background:rgba(64,125,190,.15)!important;
}
#tickerModal .group-combo-create{
  gap:6px!important;
  margin-top:3px!important;
  border-top:1px solid rgba(147,183,222,.10)!important;
  border-radius:0 0 5px 5px!important;
  color:#75b3ff!important;
}
#tickerModal .group-combo-create:hover{
  background:rgba(44,116,203,.14)!important;
}
#tickerModal .group-combo-create.confirm{
  border-top:0!important;
  border-radius:5px!important;
  margin-top:0!important;
}
#tickerModal .group-combo-create span{
  font-size:15px!important;
  line-height:1!important;
}
#tickerModal .group-combo-create b{
  font-size:12px!important;
  font-weight:600!important;
}
#tickerModal .group-combo-create-hint{
  padding:7px 8px 4px!important;
  color:#8399af!important;
  font-size:11px!important;
}
#tickerModal .group-combo-back{
  color:#8da4ba!important;
  font-size:11.5px!important;
}
/* [видалено при адаптиві 2026-09-16: @media(max-width:700px)] */

/* ================= v46-tz-groups ================= */
#tickerModal .intuitive-group-field,
#tickerModal .group-combo,
#tickerModal .group-combo-menu{
  width:270px!important;
  max-width:270px!important;
}
#tickerModal .group-combo-option{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
/* [видалено при адаптиві 2026-09-16: @media(max-width:700px)] */

/* ================= v47-group-inline-create ================= */
#tickerModal .intuitive-group-field,
#tickerModal .group-combo,
#tickerModal .group-combo-menu{
  width:270px!important;
  max-width:270px!important;
}
#tickerModal .group-combo{
  display:flex!important;
  align-items:center!important;
  height:36px!important;
  min-height:36px!important;
}
#tickerModal .group-combobox{
  flex:1 1 auto!important;
  min-width:0!important;
  height:34px!important;
  padding:0 10px!important;
}
#tickerModal .group-inline-save{
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  flex:none!important;
  width:31px!important;
  min-width:31px!important;
  height:30px!important;
  margin-right:3px!important;
  padding:0!important;
  border:1px solid rgba(74,145,235,.36)!important;
  border-radius:6px!important;
  background:rgba(31,112,221,.82)!important;
  color:#fff!important;
  font-size:15px!important;
  line-height:1!important;
  cursor:pointer!important;
}
#tickerModal .group-inline-save.show{
  display:inline-flex!important;
}
#tickerModal .group-inline-save:hover{
  background:rgba(39,128,239,.96)!important;
}
#tickerModal .group-combo.create-mode{
  border-color:rgba(79,156,255,.72)!important;
}
#tickerModal .group-combo-menu{
  top:40px!important;
  max-height:190px!important;
}
#tickerModal .group-combo-option{
  min-height:30px!important;
  padding:6px 8px!important;
  font-size:12px!important;
}
#tickerModal .group-combo-create{
  min-height:32px!important;
  margin-top:3px!important;
  padding:7px 8px!important;
  border-top:1px solid rgba(147,183,222,.10)!important;
  color:#77b8ff!important;
}
/* [видалено при адаптиві 2026-09-16: @media(max-width:700px)] */

/* ================= v48-clean-row-hover-and-drag ================= */
/* Only the row actually under the pointer is highlighted. */
#tickers #tickerTable > .ticker-row{
  position:relative!important;
  background:rgba(6,20,34,.46)!important;
  transition:background .12s ease, opacity .12s ease!important;
}
#tickers #tickerTable > .ticker-row:hover{
  background:rgba(20,48,77,.64)!important;
}
#tickers #tickerTable > .ticker-row.dragging{
  opacity:.48!important;
  background:rgba(6,20,34,.46)!important;
}

/* Drop target is a line only — do not paint the whole row. */
#tickers #tickerTable > .ticker-row.drag-before,
#tickers #tickerTable > .ticker-row.drag-after{
  background:rgba(6,20,34,.46)!important;
}
#tickers #tickerTable > .ticker-row.drag-before::before,
#tickers #tickerTable > .ticker-row.drag-after::after{
  content:""!important;
  position:absolute!important;
  left:10px!important;
  right:10px!important;
  height:2px!important;
  border-radius:2px!important;
  background:#4d9cff!important;
  box-shadow:0 0 0 1px rgba(77,156,255,.12)!important;
  z-index:20!important;
  pointer-events:none!important;
}
#tickers #tickerTable > .ticker-row.drag-before::before{top:-1px!important}
#tickers #tickerTable > .ticker-row.drag-after::after{bottom:-1px!important}

/* Footer is a normal block under the list and never participates in drag. */
#tickers .compact-footer{
  margin-top:8px!important;
}

/* ================= v49-final-ticker-hover-drag ================= */
/* only one row highlights */
#tickers .ticker-list{
  display:flex!important;
  flex-direction:column!important;
}
#tickers #tickerTable > .ticker-row{
  position:relative!important;
  background:rgba(8,24,40,.42)!important;
  border-bottom:1px solid rgba(173,208,246,.10)!important;
  transition:background .12s ease, box-shadow .12s ease, opacity .12s ease!important;
}
#tickers #tickerTable > .ticker-row:hover{
  background:rgba(19,46,74,.82)!important;
  box-shadow:inset 0 0 0 1px rgba(81,154,241,.18)!important;
}
#tickers #tickerTable:hover > .ticker-row:not(:hover):not(.dragging):not(.drag-placeholder){
  background:rgba(8,24,40,.42)!important;
  box-shadow:none!important;
}
#tickers #tickerTable > .ticker-row.drag-ready .drag-handle{
  color:#7eb8ff!important;
}
#tickers #tickerTable > .ticker-row.dragging{
  opacity:.22!important;
  box-shadow:none!important;
}
#tickers #tickerTable > .ticker-row.drag-placeholder{
  background:rgba(77,156,255,.10)!important;
  border:1px dashed rgba(77,156,255,.58)!important;
  border-radius:8px!important;
  margin:2px 0!important;
  min-height:52px!important;
  box-shadow:none!important;
}
#tickers #tickerTable > .ticker-row.drag-placeholder > *{
  visibility:hidden!important;
}
#tickers .drag-handle{
  cursor:grab!important;
  user-select:none!important;
}
#tickers .ticker-row.dragging .drag-handle,
#tickers .drag-handle:active{
  cursor:grabbing!important;
}

/* ================= fixes-2026-09-16 (правки користувача поверх макета; нові правки додавати сюди) ================= */
/* Налаштування → Сповіщення: поля в один стовпець, одне під одним, кнопка знизу */
#settings .settings-notifications .form-grid{
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
}
#settings .settings-notifications .settings-actions{
  display:flex!important;
  justify-content:flex-start!important;
  margin-top:4px!important;
}

/* Сайдбар: після кліку по вкладці згортається і не розкривається по hover, поки курсор не вийде з нього */
.sidebar.nav-collapsed:hover{
  width:var(--sidebar-collapsed)!important;
  box-shadow:14px 0 36px rgba(0,0,0,.18),inset -1px 0 0 rgba(255,255,255,.03)!important;
}
.sidebar.nav-collapsed:hover .brand-copy,
.sidebar.nav-collapsed:hover .nav .labeltxt,
.sidebar.nav-collapsed:hover .sidebar-logout .labeltxt{opacity:0;transform:translateX(-4px)}

/* ================= adaptive-monitors-2026-09-16 =================
   Підтримувані ширини: CSS viewport 1100 px і ширше (1366@125% = 1093, 1280, 1440, 1536, 1920, 2560).
   Вужче за 1100 — горизонтальний скрол, окремої мобільної версії немає (viewport meta width=1100). */
html,body{overflow-x:auto!important}
.page-wrap{min-width:1000px!important;max-width:1760px!important}
/* однакова ширина панелей на всіх сторінках (було: 75% / 88% / 98% / 100% залежно від сторінки) */
.page > .panel,#tickers .ticker-panel,#settings .settings-panel{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}

/* таблиці: не ширші за контейнер; кнопки в колонці "Дії" переносяться; скрол лише як запасний варіант */
table{min-width:0!important}
.table-wrap{overflow-x:auto!important;overflow-y:visible!important}
.table-wrap th{white-space:nowrap}
.table-wrap td:last-child{white-space:normal}
.table-wrap td:last-child .btn{margin:2px 4px 2px 0}

/* фільтри тікерів: 6 в один ряд на широких моніторах, 3+3 на середніх */
#tickers .primary-filters{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(0,1fr))!important}
#tickers .secondary-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:1350px){#tickers .secondary-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* таблиця тікерів на середніх моніторах: усі колонки і заголовок лишаються */
@media(max-width:1350px){
  #tickers .ticker-table-head,#tickers .ticker-mainline{grid-template-columns:72px minmax(170px,1.5fr) 142px minmax(110px,1fr) 90px 124px 54px 54px 58px!important;column-gap:6px!important}
}
@media(max-width:1220px){
  #tickers .ticker-sector-display,#tickers .ticker-table-head>div:nth-child(4){display:none!important}
  #tickers .ticker-table-head,#tickers .ticker-mainline{grid-template-columns:68px minmax(160px,1fr) 138px 88px 120px 52px 52px 58px!important;column-gap:6px!important}
}

/* Налаштування: обидві колонки однакової висоти, нижні краї карток в одну лінію */
#settings .settings-grid{align-items:stretch!important}
#settings .settings-column{display:flex!important;flex-direction:column!important}
#settings .settings-column>.settings-card:last-child{flex:1 1 auto!important}

/* шрифти рядка тікера однакові на всіх ширинах (раніше збільшувались лише на ≤1350) */
#tickers .ticker-type-line{grid-template-columns:60px minmax(0,1fr)!important;gap:5px!important}
#tickers .ticker-type-line span{font-size:11px!important}
#tickers .ticker-type-line b{font-size:14px!important}
#tickers .ticker-sector-display b{font-size:14px!important}
#tickers .ticker-sector-display small{font-size:12px!important}
#tickers .ticker-update-display b{font-size:13.5px!important}

/* комірки таблиць переносяться (у старому шарі стояв nowrap!important), заголовки лишаються в один рядок */
.table-wrap td{white-space:normal!important}
.table-wrap th{white-space:nowrap!important}
/* модалка Груп: колонці "Actions" гарантована ширина, щоб кнопки йшли по 2–3 в ряд, а не стовпчиком */
#groupModal td:last-child{min-width:330px}
#groupModal .cell-input{min-width:0!important}

/* жодна таблиця не ширша за свій контейнер (перебиває старі min-width:970/1120/1200px) */
.table-wrap table,.table-wrap .error-table,#errors .table-wrap table.error-table,
#jobs .table-wrap table,#schedule .table-wrap table,#groupModal .table-wrap table,#tickerDetails .table-wrap table{min-width:0!important;width:100%!important}
/* модалка Груп: ширша, інпути Name/Опис фіксованої ширини, кнопки по 2–3 в ряд */
.modal.modal-wide{width:min(1200px,calc(100vw - 100px))!important;max-width:none!important}
#groupModal .cell-input{width:160px!important;min-width:0!important}

/* Excel / API → блок "Доступ для Excel" (логін + зміна пароля) */
#excel .excel-auth{margin:16px 0 2px;padding:14px;border:1px solid rgba(145,185,229,.16);border-radius:8px;background:rgba(5,22,38,.32)}
#excel .excel-auth-head{margin-bottom:10px}
#excel .excel-auth-head b{display:block;font-size:14px;margin-bottom:3px}
#excel .excel-auth-head span{display:block;font-size:12px;color:#9fb0c4;line-height:1.4}
#excel .excel-auth-grid{grid-template-columns:minmax(120px,.8fr) minmax(220px,1.5fr) minmax(140px,1fr) auto!important;gap:10px!important;align-items:end}
#excel .excel-pass-row{grid-template-columns:1fr auto!important}
#excel .excel-auth-actions{display:flex;align-items:flex-end}
#excel .excel-auth-actions .btn{white-space:nowrap}
@media(max-width:1350px){#excel .excel-auth-grid{grid-template-columns:1fr 1fr!important}}

/* ================= Джерела і розклад (об'єднана вкладка) ================= */
#sources .src-list{display:grid;grid-template-columns:1fr;gap:12px}
#sources .src-card{padding:14px 16px!important}
#sources .src-head{display:grid;grid-template-columns:minmax(260px,1.2fr) auto auto;gap:10px 22px;align-items:center;margin-bottom:12px}
#sources .src-title-block .source-title{margin:0 0 6px!important}
#sources .src-desc{margin:0!important;font-size:12.5px;line-height:1.45;color:#9fb0c4}
#sources .src-stats{display:flex;gap:0;border:1px solid rgba(145,185,229,.14);border-radius:8px;background:rgba(5,22,38,.28)}
#sources .src-stats>div{padding:8px 14px;border-right:1px solid rgba(145,185,229,.14);min-width:110px}
#sources .src-stats>div:last-child{border-right:0}
#sources .src-stats span{display:block;font-size:10.5px;color:#8196ad;margin-bottom:3px;white-space:nowrap}
#sources .src-stats b{display:block;font-size:13px;white-space:nowrap}
#sources .src-head .source-actions{margin:0!important;justify-content:flex-end;flex-wrap:nowrap}
#sources .src-jobs{border:1px solid rgba(145,185,229,.14);border-radius:8px;overflow:hidden}
#sources .src-jobs-head,#sources .src-job{display:grid;grid-template-columns:minmax(190px,1.3fr) 150px 140px 110px 120px 190px;gap:10px;align-items:center;padding:8px 12px}
#sources .src-jobs-head{background:rgba(7,28,47,.66);font-size:11px;font-weight:600;color:#c9d8e8}
#sources .src-job{border-top:1px solid rgba(139,168,202,.12);font-size:13px}
#sources .src-job-name b{display:block;font-size:13px}
#sources .src-job-name small{display:block;font-size:11px;color:#8196ad;margin-top:2px}
#sources .src-job-sched{font-weight:600;color:#e8f1fa}
#sources .src-job-last b{display:block;font-weight:600}
#sources .src-last-state{font-size:11px}
#sources .src-last-state.ok{color:#35c97a}
#sources .src-last-state.err{color:#ff8a94}
#sources .src-job-next{color:#c9d8e8}
#sources .src-manual{font-size:11px;color:#8fa7bf;line-height:1.2;display:block}
#sources .src-job-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}
#sources .schedule-state{white-space:nowrap}
@media(max-width:1450px){
  #sources .src-head{grid-template-columns:minmax(240px,1fr) auto;grid-template-areas:"title stats" "title actions"}
  #sources .src-title-block{grid-area:title}
  #sources .src-stats{grid-area:stats;justify-self:end}
  #sources .src-head .source-actions{grid-area:actions;justify-self:end}
  #sources .src-jobs-head,#sources .src-job{grid-template-columns:minmax(170px,1.2fr) 140px 120px 100px 110px 186px;gap:8px}
}
#sources .src-jobs-head>div:last-child,#sources .src-job-actions{justify-content:flex-end;text-align:right}

/* ================= Помилки / Логи ================= */
#errors .err-filters{display:grid;grid-template-columns:minmax(140px,.8fr) repeat(3,minmax(150px,1fr));gap:10px;margin-bottom:12px}
#errors .error-table th:nth-child(3){min-width:240px}
#errors .error-table th:nth-child(4){min-width:220px}
#errors .err-ticker b{font-size:13.5px}
#errors .err-what b{display:block;font-size:13px;color:#eef5fd}
#errors .err-what small,#errors .err-sys small,#errors .err-when small{display:block;font-size:11.5px;color:#9fb0c4;margin-top:3px;line-height:1.35}
#errors .err-when b{display:block;white-space:nowrap}
#errors .err-attempts{white-space:nowrap}
#errors .err-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap;border:1px solid transparent}
#errors .err-badge.action{color:#ffb4ba;background:rgba(239,57,69,.16);border-color:rgba(239,57,69,.35)}
#errors .err-badge.auto{color:#ffd28a;background:rgba(241,165,58,.14);border-color:rgba(241,165,58,.35)}
#errors .err-badge.wait{color:#a9cdff;background:rgba(43,124,255,.16);border-color:rgba(43,124,255,.35)}
#errors .err-badge.dev{color:#e2b8ff;background:rgba(160,80,240,.16);border-color:rgba(160,80,240,.38)}
#errors .err-badge.done{color:#9de7bd;background:rgba(53,201,122,.14);border-color:rgba(53,201,122,.35)}
#errors .err-actions{white-space:normal}
#errors .err-actions .btn{margin:2px 4px 2px 0}
#errors tr[data-resolved="1"] td{opacity:.7}
#errors .err-empty{padding:18px;text-align:center;color:#9fb0c4;border:1px dashed rgba(145,185,229,.22);border-radius:8px;margin-top:10px}
#errors .err-note{margin-top:12px;line-height:1.5}
.debug-modal .modal-body{max-height:calc(100vh - 160px);overflow:auto}
.debug-grid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:7px 14px;font-size:12.5px;margin-bottom:14px}
.debug-grid span{color:#8fa7bf}
.debug-grid b{font-weight:500;color:#e8f1fa;word-break:break-word;font-family:Consolas,"Cascadia Mono",monospace;font-size:12px}
.debug-log-head{font-size:12px;font-weight:600;color:#c9d8e8;margin:0 0 6px}
.debug-log{margin:0;background:#061424;border:1px solid rgba(145,185,229,.18);border-radius:6px;padding:12px 14px;font:12px/1.55 Consolas,"Cascadia Mono",monospace;color:#cfe0f2;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto}
.catalog-wrap{max-height:calc(100vh - 200px);overflow:auto!important}
.catalog-table td{vertical-align:top;font-size:12.5px;line-height:1.4}
.catalog-table code{font:12px Consolas,"Cascadia Mono",monospace;color:#a9cdff;white-space:nowrap}
@media(max-width:1350px){#errors .err-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* підзаголовок у шапці модалок Дебаг / Довідник — окремим рядком */
.debug-modal .modal-head .modal-subtitle,#errorCatalogModal .modal-head .modal-subtitle{display:block;font-size:12px;font-weight:400;color:#9fb0c4;margin-top:3px}
/* Помилки: кнопки дій по 2 в ряд, а не стовпчиком */
#errors .error-table td.err-actions{min-width:215px}
@media(max-width:1350px){
  #errors .error-table th:nth-child(3){min-width:200px}
  #errors .error-table th:nth-child(4){min-width:190px}
}

/* ================= Тікери: тулбар з іконками, компактний блок (шрифти без змін) ================= */
#tickers .tk-toolbar{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px!important}
#tickers .tk-select,#tickers .tk-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#tickers .tk-select{padding-right:10px;border-right:1px solid rgba(145,185,229,.18);margin-right:2px}
#tickers .tk-delete{margin-left:auto}
#tickers .tk-toolbar .btn{min-height:34px!important;padding:6px 12px!important;gap:7px!important;display:inline-flex!important;align-items:center!important}
#tickers .tk-toolbar .btn.ghost{background:transparent!important;border-color:transparent!important;color:#b7c8db!important;box-shadow:none!important;padding:6px 8px!important}
#tickers .tk-toolbar .btn.ghost:hover{background:rgba(74,129,194,.14)!important;color:#fff!important}
#tickers .tk-toolbar .btn.primary{padding:6px 16px!important;font-weight:700!important;box-shadow:0 6px 18px rgba(22,119,255,.28)!important}
#tickers .tk-toolbar .ico{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#tickers .tk-toolbar .ico-fill{fill:currentColor;stroke:none}
#tickers .tk-toolbar .act-pause .ico{color:#f1a53a}
#tickers .tk-toolbar .act-active .ico{color:#35c97a}
#tickers .tk-toolbar .btn.danger-outline{background:transparent!important;border-color:rgba(239,57,69,.45)!important;color:#ff9ca6!important;box-shadow:none!important}
#tickers .tk-toolbar .btn.danger-outline:hover{background:rgba(239,57,69,.14)!important;border-color:#ff5b65!important;color:#fff!important}
#tickers .sel-count{font-size:12px;color:#8fa7bf;padding:4px 9px;border:1px solid rgba(145,185,229,.16);border-radius:999px;white-space:nowrap}
#tickers .sel-count.has{color:#e9f5ff;border-color:rgba(43,124,255,.55);background:rgba(43,124,255,.16)}
#tickers .filter-panel{padding:10px 12px!important;margin-bottom:10px!important}
#tickers .filter-panel .label{margin-bottom:4px!important}
#tickers .filter-panel .input,#tickers .filter-panel .select{padding-top:6px!important;padding-bottom:6px!important;min-height:34px!important}
#tickers .filter-grid{gap:8px 10px!important}
#tickers .advanced-filters{margin-top:6px!important}
#tickers .advanced-filters summary{padding:2px 0!important}
#tickers .secondary-filters{margin-top:6px!important}
#tickers .ticker-panel:not(.basket-view) .ticker-basket-action{display:none!important}

/* ================= Сторінка тікера → General ================= */
#tickerDetails .gen-hero{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:14px 18px;border:1px solid rgba(145,185,229,.16);border-radius:10px;background:rgba(5,22,38,.32);margin-bottom:12px}
#tickerDetails .gen-hero-id b{display:block;font-size:26px;line-height:1;letter-spacing:-.02em;color:#f7fbff}
#tickerDetails .gen-hero-id span{display:block;margin-top:5px;font-size:13px;color:#9fb0c4}
#tickerDetails .gen-chips{display:flex;gap:6px;flex-wrap:wrap}
#tickerDetails .gen-chip{padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;color:#dbe7f5;border:1px solid rgba(145,185,229,.22);background:rgba(20,48,80,.45)}
#tickerDetails .gen-chip.ok{color:#9de7bd;border-color:rgba(53,201,122,.4);background:rgba(53,201,122,.12)}
#tickerDetails .gen-chip.pause{color:#ffd28a;border-color:rgba(241,165,58,.4);background:rgba(241,165,58,.12)}
#tickerDetails .gen-chip.basket{color:#c9d8e8;border-color:rgba(145,185,229,.3);background:rgba(90,110,140,.2)}
#tickerDetails .gen-chip.muted{font-weight:500;color:#9fb0c4}
#tickerDetails .gen-hero-src>span,#tickerDetails .gen-hero-upd>span{display:block;font-size:10.5px;color:#8196ad;margin-bottom:4px}
#tickerDetails .gen-sources{display:flex;gap:6px;flex-wrap:wrap}
#tickerDetails .gen-source{padding:3px 9px;border-radius:6px;font-size:11.5px;color:#cfe0f2;border:1px solid rgba(145,185,229,.22);background:rgba(5,22,38,.4)}
#tickerDetails .gen-source.off{opacity:.4;text-decoration:line-through}
#tickerDetails .gen-hero-upd{margin-left:auto;text-align:right}
#tickerDetails .gen-hero-upd b{display:block;font-size:15px;color:#f3f8ff;white-space:nowrap}
#tickerDetails .gen-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#tickerDetails .gen-group{border:1px solid rgba(145,185,229,.16);border-radius:10px;background:rgba(5,22,38,.28);padding:10px 14px 4px}
#tickerDetails .gen-group h5{margin:2px 0 6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8fa7bf}
#tickerDetails .gen-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid rgba(139,168,202,.12)}
#tickerDetails .gen-row:first-of-type{border-top:0}
#tickerDetails .gen-label{font-size:13px;color:#c9d8e8;white-space:nowrap}
#tickerDetails .gen-src{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:999px;font-size:10px;color:#8fa7bf;border:1px solid rgba(145,185,229,.2);vertical-align:1px}
#tickerDetails .gen-val{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;color:#f3f8ff;text-align:right;white-space:nowrap}
#tickerDetails .gen-val.na{color:#6f8298;font-weight:500}
#tickerDetails .gen-val small{display:block;font-size:10.5px;font-weight:400;color:#8196ad;white-space:nowrap}
#tickerDetails .holdings-total td{background:rgba(20,48,80,.35)}
#tickerDetails td.muted{color:#9fb0c4}
@media(max-width:1450px){#tickerDetails .gen-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* General у вигляді Excel-аркуша: два однакові аркуші по 8 полів */
#tickerDetails .gen-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
#tickerDetails .gen-table{width:100%!important;min-width:0!important;border-collapse:collapse!important;font-size:13px!important;border:1px solid rgba(145,185,229,.22)!important;table-layout:fixed}
#tickerDetails .gen-table th,#tickerDetails .gen-table td{border:1px solid rgba(145,185,229,.14)!important;padding:6px 10px!important;line-height:1.3!important;font-size:13px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tickerDetails .gen-table th{position:static!important;background:rgba(7,28,47,.75)!important;font-weight:600!important;font-size:11.5px!important;color:#c9d8e8!important;text-align:left}
#tickerDetails .gen-table th:nth-child(1),#tickerDetails .gen-table td.f{width:40%}
#tickerDetails .gen-table th:nth-child(3),#tickerDetails .gen-table td.s{width:22%}
#tickerDetails .gen-table td.f{color:#c9d8e8!important;background:rgba(5,22,38,.30)!important}
#tickerDetails .gen-table td.v{color:#f3f8ff!important;font-weight:600!important;font-variant-numeric:tabular-nums}
#tickerDetails .gen-table td.v.num{text-align:right}
#tickerDetails .gen-table td.v.na{color:#6f8298!important;font-weight:400!important;text-align:left}
#tickerDetails .gen-table td.s{color:#8fa7bf!important;font-size:11px!important}
#tickerDetails .gen-table tbody tr:nth-child(even) td.v,#tickerDetails .gen-table tbody tr:nth-child(even) td.s{background:rgba(255,255,255,.02)!important}

/* масового керування немає: чекбоксів і тулбара більше нема, перша колонка сітки прибрана */
#tickers .ticker-check{display:none!important}

/* ================= Тікери: заголовки груп і перетягування ================= */
#tickers .ticker-group-row{display:flex;align-items:center;gap:10px;padding:7px 12px;background:rgba(7,28,47,.6);border-top:1px solid rgba(139,168,202,.16);border-bottom:1px solid rgba(139,168,202,.10)}
#tickers .ticker-group-row .tg-name{font-size:13.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}
#tickers .ticker-group-row .tg-count{font-size:11px;font-weight:600;color:#8fa7bf;padding:1px 8px;border-radius:999px;border:1px solid rgba(145,185,229,.22)}
#tickers .ticker-group-row .tg-hint{display:none;font-size:11.5px;color:#6f8298;margin-left:4px}
#tickers .ticker-group-row.empty{border-style:dashed}
#tickers .ticker-group-row.empty .tg-hint{display:inline}
#tickers .ticker-group-row.empty .tg-count{display:none}
#tickers .ticker-group-row.drop-target{background:rgba(43,124,255,.16);outline:1px dashed #48a0ff;outline-offset:-1px}
#tickers .ticker-row{cursor:grab}
#tickers .ticker-row:active{cursor:grabbing}
#tickers .ticker-row.dragging{opacity:.35}
#tickers .ticker-row.drag-placeholder{border:1px dashed rgba(72,160,255,.7)!important;border-radius:8px;background:rgba(43,124,255,.10)!important;margin:2px 8px}
#tickers .drag-handle{display:none!important}
#tickers .ticker-row .ticker-mainline{position:relative}
#tickers .ticker-row .ticker-mainline::before{content:"⋮⋮";position:absolute;left:2px;top:50%;transform:translateY(-50%);font-size:12px;letter-spacing:-3px;color:#5f7590;opacity:0;transition:opacity .12s}
#tickers .ticker-row:hover .ticker-mainline::before{opacity:1}

/* Помилки: рівні рядки, кнопки в один ряд */
#errors .error-table td{vertical-align:middle!important}
#errors .error-table td.err-actions{width:160px;min-width:160px;white-space:nowrap!important;text-align:right}
#errors .error-table td.err-actions .btn{margin:0 0 0 5px!important;padding:5px 9px!important;min-height:28px!important}
#errors .error-table th:nth-child(6),#errors .error-table td.err-attempts{width:70px;text-align:center}
#errors .error-table th:nth-child(1),#errors .err-ticker{width:76px}
#errors .error-table th:nth-child(2){width:110px}
#errors .error-table th:nth-child(5),#errors .err-when{width:132px}
#errors .error-table tbody tr{height:82px}

#errors .err-actions .icon-btn{width:30px;min-width:30px;height:28px;padding:0!important;display:inline-flex;align-items:center;justify-content:center}
#errors .err-actions .eico{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#errors .err-actions .icon-btn.fix{border-color:rgba(43,124,255,.5);color:#8dc0ff}
#errors .err-actions .icon-btn.ok{border-color:rgba(53,201,122,.42);color:#7fd8a6}

/* ТЗ 4.h: чекбокси джерел у рядку тікера */
#tickers .ticker-sources{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:3px!important;align-items:center}
#tickers .source-toggle{display:flex!important;align-items:center;justify-content:center;height:24px;border:1px solid rgba(145,185,229,.22);border-radius:5px;background:rgba(5,22,38,.4);cursor:pointer;position:relative}
#tickers .source-toggle input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
#tickers .source-toggle span{display:block!important;font-size:10px;font-weight:700;color:#6f8298;letter-spacing:.02em}
#tickers .source-toggle:has(input:checked){border-color:rgba(43,124,255,.6);background:rgba(43,124,255,.18)}
#tickers .source-toggle:has(input:checked) span{color:#cfe4ff}
#tickers .source-toggle:hover{border-color:rgba(91,157,235,.6)}
/* ТЗ j.7: Last update двома рядками */
#tickers .ticker-update-display b{display:block!important;font-size:12.5px!important;line-height:1.15!important}
#tickers .ticker-update-display small{display:block!important;font-size:11px!important;color:#8196ad!important;line-height:1.15!important;margin-top:1px}
/* Sector вручну */
#tickers .ticker-sector-display.manual b{color:#cfe4ff}
#tickers .ticker-sector-display.manual small{color:#7fa6d8}
/* підвал: пагінація зліва, масштаб справа */
#tickers .footer-row.compact-footer{display:flex!important;align-items:center;justify-content:space-between;gap:14px}
#tickers .footer-row .pagination{margin:0!important;justify-content:flex-start}
#tickers .scale-box{display:flex;align-items:center;gap:8px;font-size:12px;color:#8fa7bf;white-space:nowrap}
#tickers .scale-box .select{width:auto;min-width:86px}

/* джерела і масштаб прибрані зі списку тікерів */
#tickers .ticker-sources{display:none!important}
#tickers .scale-box{display:none!important}
#tickers .footer-row.compact-footer{justify-content:flex-end}

/* відкрите меню ⋮ над наступними рядками */
#tickers .ticker-list{overflow:visible!important}
#tickers .ticker-row{position:relative;z-index:1}
#tickers .ticker-row:has(.menu.open){z-index:80!important}
#tickers .ticker-row .kebab{position:relative}
#tickers .ticker-row .menu.open{z-index:90!important;box-shadow:0 18px 44px rgba(0,0,0,.55)!important}
#tickers .ticker-group-row{position:relative;z-index:0}

#tickers .menu.open.menu-up{top:auto!important;bottom:calc(100% + 6px)!important}

/* пункт меню: у Basket — червоний "Видалити назавжди", інакше звичайний "Перенести у Basket" */
#tickers .ticker-row[data-status="Basket"] .kebab .menu .del-item{color:#ff8a94}

/* кнопка повернення з Basket */
#tickers .restore-btn{display:none!important}
#tickers .ticker-row[data-status="Basket"] .restore-btn{display:inline-flex!important;border-color:rgba(53,201,122,.45)!important;color:#7fd8a6!important}
#tickers .ticker-row[data-status="Basket"] .restore-btn:hover{background:rgba(53,201,122,.16)!important;color:#fff!important}
#tickers .restore-btn .rico{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* у Basket швидка пауза не потрібна */
#tickers .ticker-row[data-status="Basket"] .danger-quick{display:none!important}

/* підписи Asset Class / Asset Type — того ж розміру, що й значення */
#tickers .ticker-type-line{grid-template-columns:74px minmax(0,1fr)!important;gap:5px!important}
#tickers .ticker-type-line span{font-size:14px!important;line-height:1.15!important;color:#8fa7bf!important}
#tickers .ticker-type-line b{font-size:14px!important;line-height:1.15!important}

/* ================= Дії рядка: шестерня ================= */
#tickers .ticker-actions{justify-content:center!important;gap:0!important}
#tickers .ticker-actions .gear-btn{width:32px!important;min-width:32px!important;height:32px!important;padding:0!important;display:inline-flex!important;align-items:center;justify-content:center}
#tickers .gear-ico{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#tickers .gear-btn:hover{border-color:#4a97ff!important;color:#fff!important}
#tickers .row-menu{min-width:206px!important}
#tickers .row-menu .menu-sep{height:1px;margin:5px 8px;background:rgba(145,185,229,.16)}
#tickers .restore-item{display:none!important}
#tickers .ticker-row[data-status="Basket"] .restore-item{display:flex!important;color:#7fd8a6}
#tickers .ticker-row[data-status="Basket"] .row-menu button[onclick*="Active"]{display:none!important}

/* іконки пунктів меню рядка */
#tickers .row-menu button{display:flex!important;align-items:center;gap:10px!important;padding:8px 12px!important}
#tickers .row-menu .mico{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
#tickers .row-menu .mico.fill{fill:currentColor;stroke:none}
#tickers .row-menu .c-blue{color:#5aa9ff}
#tickers .row-menu .c-green{color:#35c97a}
#tickers .row-menu .c-amber{color:#f1a53a}
#tickers .row-menu .c-red{color:#ff6b76}
#tickers .row-menu .opt-mark{display:none!important}

/* специфічність вища за загальне правило пунктів меню */
#tickers .row-menu button.restore-item{display:none!important}
#tickers .ticker-row[data-status="Basket"] .row-menu button.restore-item{display:flex!important;color:#7fd8a6}
#tickers .ticker-row[data-status="Basket"] .row-menu button[onclick*="'Active'"]{display:none!important}

/* Active / Pause — один перемикач: показуємо лише протилежну дію */
#tickers .ticker-row[data-status="Active"] .row-menu button[onclick*="'Active'"]{display:none!important}
#tickers .ticker-row[data-status="Pause"] .row-menu button[onclick*="'Pause'"]{display:none!important}
#tickers .ticker-row[data-status="Basket"] .row-menu button[onclick*="'Pause'"]{display:none!important}

/* верхній роздільник у меню рядка зайвий */
#tickers .row-menu .menu-sep:first-of-type{display:none!important}

/* ================= меню рядка: пункти з підписом і джерелом ================= */
#tickers .row-menu{min-width:268px!important;padding:6px 0!important}
#tickers .row-menu button{align-items:flex-start!important;padding:7px 12px!important;gap:10px!important}
#tickers .row-menu .mico{margin-top:2px}
#tickers .row-menu .mi-txt{display:block;min-width:0;text-align:left}
#tickers .row-menu .mi-txt b{display:block;font-size:13px;font-weight:600;line-height:1.2;color:#e8f1fa}
#tickers .row-menu .mi-txt small{display:block;font-size:11px;line-height:1.25;color:#8196ad;margin-top:1px}
#tickers .row-menu .del-item.danger-text .mi-txt b{color:#ff8a94}
#tickers .row-menu .menu-cap{padding:6px 12px 3px;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#7b91a9}
#tickers .row-menu .c-violet{color:#b98cff}
#tickers .row-menu .c-cyan{color:#4fd0e0}
/* джерела за типом активу */
#tickers .ticker-row:not([data-type="Stock"]) .mi-fin{display:none!important}
#tickers .ticker-row:not([data-type="Fund"]) .mi-top10{display:none!important}
#tickers .ticker-row:not([data-type="Stock"]):not([data-type="Fund"]) .mi-prof{display:none!important}
#tickers .ticker-row[data-type="Cash"] .mi-price,
#tickers .ticker-row[data-type="Cash"] .mi-gen,
#tickers .ticker-row[data-type="Cash"] .mi-all{display:none!important}
/* Active / Pause — лише протилежна дія */
#tickers .ticker-row[data-status="Active"] .row-menu button.mi-active{display:none!important}
#tickers .ticker-row[data-status="Pause"] .row-menu button.mi-pause{display:none!important}
#tickers .ticker-row[data-status="Basket"] .row-menu button.mi-active,
#tickers .ticker-row[data-status="Basket"] .row-menu button.mi-pause{display:none!important}

/* компактніше меню рядка */
#tickers .row-menu{min-width:250px!important}
#tickers .row-menu button{padding:6px 12px!important}
#tickers .row-menu .menu-sep{margin:4px 8px!important}

/* поточний стан у шапці меню рядка */
#tickers .row-menu .menu-state{display:flex;align-items:center;gap:8px;padding:7px 12px 8px;margin:0 0 2px;border-bottom:1px solid rgba(145,185,229,.14);font-size:11.5px;color:#9fb0c4}
#tickers .row-menu .menu-state .st-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px;background:#6f8298}
#tickers .row-menu .menu-state.ok .st-dot{background:#35c97a;box-shadow:0 0 8px rgba(53,201,122,.5)}
#tickers .row-menu .menu-state.pause .st-dot{background:#f1a53a;box-shadow:0 0 8px rgba(241,165,58,.5)}
#tickers .row-menu .menu-state.basket .st-dot{background:#8fa7bf}

/* General: групування рядків по два з пропуском */
#tickerDetails .gen-table tr.gap td{border:0!important;background:transparent!important;padding:0!important;height:18px!important}

/* General: більший текст і виразніші заголовки колонок */
#tickerDetails .gen-table th,#tickerDetails .gen-table td{padding:8px 12px!important}
#tickerDetails .gen-table th{
  font-size:13px!important;font-weight:700!important;color:#f2f8ff!important;
  letter-spacing:.05em!important;text-transform:uppercase!important;
  background:rgba(12,38,64,.92)!important;
  border-bottom:1px solid rgba(145,185,229,.34)!important;
}
#tickerDetails .gen-table td.f{font-size:14.5px!important;color:#dbe8f7!important}
#tickerDetails .gen-table td.v{font-size:15px!important;font-weight:700!important}
#tickerDetails .gen-table td.v.na{font-size:14.5px!important}
#tickerDetails .gen-table td.s{font-size:12px!important;color:#93a9c0!important}

/* General: усі значення по лівому краю — рівна колонка замість рваної */
#tickerDetails .gen-table td.v,
#tickerDetails .gen-table td.v.num,
#tickerDetails .gen-table td.v.na{text-align:left!important}
#tickerDetails .gen-table th:nth-child(2){text-align:left!important}

/* ================= GuruFocus: 61 метрика × 5 періодів ================= */
#tickerDetails .guru-wrap{max-height:calc(100vh - 260px);overflow:auto!important}
#tickerDetails .guru-table{width:100%!important;border-collapse:collapse!important}
#tickerDetails .guru-table th{position:sticky!important;top:0!important;z-index:2;
  font-size:12.5px!important;font-weight:700!important;color:#f2f8ff!important;letter-spacing:.05em!important;text-transform:uppercase!important;
  background:rgba(10,32,55,.98)!important;border-bottom:1px solid rgba(145,185,229,.34)!important;padding:8px 12px!important}
#tickerDetails .guru-table td{padding:5px 12px!important;font-size:13.5px!important;border-bottom:1px solid rgba(139,168,202,.08)!important;white-space:nowrap}
#tickerDetails .guru-table tr.g-first td{border-top:1px solid rgba(145,185,229,.26)!important}
#tickerDetails .guru-table td.g-metric{color:#e8f1fa!important;font-weight:600!important;width:270px}
#tickerDetails .guru-table td.g-period{width:70px;color:#8fa7bf!important}
#tickerDetails .guru-table td.g-method{width:150px;font-size:12px!important}
#tickerDetails .guru-table tr.g-parse td.g-method{color:#8dc0ff!important}
#tickerDetails .guru-table tr.g-calc td.g-method{color:#ffce7a!important}
#tickerDetails .guru-table td.g-qy{width:120px;color:#c9d8e8!important}
#tickerDetails .guru-table td.g-val{font-variant-numeric:tabular-nums;font-weight:600!important;color:#f3f8ff!important}
#tickerDetails .guru-table td.g-val.empty{color:#63798f!important;font-weight:400!important}
#tickerDetails .guru-note{margin-top:10px;font-size:12.5px}
