*{box-sizing:border-box}:root{--left:286px;--right:244px;--dockh:190px;--bg:#dfe4e9;--panel:#f5f6f7;--head:#e7eaed;--line:#b9c1c9;--line2:#d4d9de;--text:#20262c;--muted:#6c7780;--blue:#315f8a;--green:#247647;--red:#a03d3d;--amber:#8a6817}html,body{margin:0;min-height:100%;font-family:"Segoe UI",Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:11px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.topbar{height:42px;background:#f7f7f8;border-bottom:1px solid #aeb6be;display:flex;align-items:center;padding:0 8px;gap:10px;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px rgba(0,0,0,.08)}.brand{display:flex;align-items:center;gap:7px;white-space:nowrap}.brand-mark{width:27px;height:27px;border-radius:4px;background:#376a9b;color:white;display:grid;place-items:center;font-weight:800;font-size:10px}.brand>div{display:flex;flex-direction:column;line-height:1}.brand b{font-size:13px;color:#234e78}.brand small{font-size:8px;color:#7b838b;margin-top:3px}.menu{display:flex;gap:3px;align-items:center;flex:1;overflow:auto}.menu button{height:26px;padding:0 8px;border:1px solid #bdc5cd;background:#f3f4f5;border-radius:3px;color:#39444d;white-space:nowrap}.menu button:hover{background:white}.menu .primary{background:#386e9f;color:white;border-color:#2f608d}.menu #masterCount{background:#dde4ea;border-radius:8px;padding:1px 4px;font-size:9px}.top-status{display:flex;align-items:center;gap:6px;font:10px Consolas,monospace;color:#4f5d68;white-space:nowrap}.top-status i{width:7px;height:7px;border-radius:50%;background:#9ca5ad}.top-status i.on{background:#2ea85f}.top-status b{font-size:11px;color:#1f2b34}
.workspace{display:grid;grid-template-columns:var(--left) 4px minmax(520px,1fr) 4px var(--right);gap:5px;padding:5px;max-width:2200px;margin:auto;align-items:start}.left-column,.center-column,.right-column{display:flex;flex-direction:column;gap:5px;min-width:0}.v-resizer{align-self:stretch;min-height:calc(100vh - 52px);cursor:col-resize;border-radius:2px;background:transparent;position:relative}.v-resizer:hover,.v-resizer.dragging{background:#9db2c4}.v-resizer:after{content:"";position:absolute;top:0;bottom:0;left:-3px;right:-3px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:3px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04)}.panel-head{height:25px;background:linear-gradient(#eff1f3,#e1e5e8);border-bottom:1px solid #bdc4cb;display:flex;align-items:center;justify-content:space-between;padding:0 5px}.panel-head>div{display:flex;align-items:center;gap:5px;min-width:0}.panel-head b{font-size:10px}.panel-head span{font-size:8px;color:#6f7983}.panel-collapse,.head-actions button{width:19px;height:18px;padding:0;border:1px solid transparent;background:transparent;color:#68747e;border-radius:2px;line-height:15px}.panel-collapse:hover,.head-actions button:hover{background:#fff;border-color:#c4cbd1}.panel.collapsed>.panel-body{display:none}.panel.collapsed .panel-collapse{font-size:0}.panel.collapsed .panel-collapse:after{content:"+";font-size:11px}.head-actions{display:flex;gap:2px}.panel-body{min-width:0}
.qso-panel form{padding:5px}.qso-main-row{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:4px}.qso-grid{display:grid;gap:4px;margin-top:4px}.qso-grid.four{grid-template-columns:minmax(50px,1fr) minmax(54px,1fr) 82px 82px}.qso-grid.two{grid-template-columns:1fr 1fr}.mini-field{display:flex;flex-direction:column;gap:1px;position:relative;min-width:0}.mini-field>span{font-size:7px;line-height:10px;color:#5e6973;font-weight:700;letter-spacing:.25px}.mini-field input,.mini-field select{height:24px;min-width:0;width:100%;padding:1px 5px;border:1px solid #afb8c0;border-radius:2px;background:#fff;color:#151b20;outline:none}.mini-field input:focus,.mini-field select:focus{border-color:#4f83b1;box-shadow:inset 0 0 0 1px #bdd5ea}.call-field input{height:31px;font:bold 19px Consolas,"Courier New",monospace;letter-spacing:.6px;text-transform:uppercase;background:#fffdee;border-color:#cdbf82}.freq-field input{height:31px;font:15px Consolas,monospace}.suggest{display:none;position:absolute;top:43px;left:0;right:0;background:#fff;border:1px solid #8796a3;z-index:300;max-height:190px;overflow:auto;box-shadow:0 4px 12px rgba(0,0,0,.2)}.suggest .head{padding:3px 5px;background:#e8edf1;font-size:8px;font-weight:700}.suggest .item{padding:3px 5px;border-top:1px solid #e2e6e9;font:bold 11px Consolas,monospace}.suggest .item:hover{background:#dfefff}.qso-footer{display:grid;grid-template-columns:1fr auto auto;gap:4px;margin-top:4px;align-items:center}.call-state{height:24px;display:flex;align-items:center;padding:0 6px;border:1px solid #c4cbd1;background:#eceff1;color:#5b6872;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-state.new{background:#e6f2fb;color:#245f8f}.call-state.worked{background:#fff4d8;color:#7d5e12}.btn{height:24px;border:1px solid #aeb7bf;background:#f4f5f6;border-radius:2px;padding:0 7px;color:#34414b}.btn:hover{background:white}.btn.save{background:#3774a8;border-color:#2f6695;color:white;font-weight:700}.btn.save:hover{background:#2f6695}
.previous-content{padding:5px;min-height:46px;font-size:9px;line-height:1.35;color:#3f4d58}.previous-content.empty{color:#8b949b}.contact-line{display:flex;align-items:center;gap:6px;padding:5px;border-bottom:1px solid #d5dadd}.contact-line>span{width:28px;height:28px;border-radius:2px;background:#dce4eb;display:grid;place-items:center;font-weight:700;color:#49647c}.contact-line>div{min-width:0;display:flex;flex-direction:column}.contact-line b{font:12px Consolas,monospace}.contact-line small{font-size:8px;color:#6e7982;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dxcc-compact{display:grid;grid-template-columns:1fr 60px 62px 44px;border-bottom:1px solid #d4d9de}.dxcc-compact div{padding:4px;border-right:1px solid #d4d9de;min-width:0}.dxcc-compact div:last-child{border-right:0}.dxcc-compact span{display:block;font-size:7px;color:#78828a}.dxcc-compact b{display:block;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.contact-bands,.contact-dates{padding:4px 5px;font-size:8px;color:#56636e;border-bottom:1px solid #dde1e4}.contact-dates:last-child{border-bottom:0}
.log-panel{min-height:360px}.filters{height:32px;display:grid;grid-template-columns:minmax(180px,1fr) 105px 88px 121px 24px;gap:3px;padding:3px;background:#eceff1;border-bottom:1px solid #c5ccd2}.filters input,.filters select{height:24px;border:1px solid #b4bdc5;border-radius:2px;background:#fff;padding:1px 4px;min-width:0}.search-wrap{position:relative}.search-wrap span{position:absolute;left:6px;top:4px;font-size:13px;color:#7d8891}.search-wrap input{width:100%;padding-left:22px}.filters .btn{padding:0}.table-wrap{overflow:auto;height:calc(100vh - 42px - 5px - 25px - 32px - var(--dockh) - 20px);min-height:250px;background:white}.log-panel table,.cluster-table{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap;font-size:9px}.log-panel th,.cluster-table th{position:sticky;top:0;z-index:2;background:#dfe4e8;color:#394650;border-bottom:1px solid #aeb7bf;border-right:1px solid #c5ccd1;text-align:left;padding:3px 4px;font-size:8px}.log-panel td,.cluster-table td{padding:3px 4px;border-bottom:1px solid #e2e5e7;border-right:1px solid #eef0f2;color:#303b44}.log-panel tbody tr:nth-child(even),.cluster-table tbody tr:nth-child(even){background:#f7f8f9}.log-panel tbody tr:hover,.cluster-table tbody tr:hover{background:#dcecff}.log-panel td:nth-child(2) b{font:700 10px Consolas,monospace;color:#154b75}.row-actions button{height:17px;width:18px;padding:0;border:1px solid #c0c7cd;background:#fff;color:#9b4141}.table-foot{height:18px;padding:2px 5px;background:#eceff1;border-top:1px solid #c7ced4;display:flex;justify-content:space-between;color:#7a858e;font-size:8px}
.dock{height:var(--dockh);position:relative}.dock-resizer{height:4px;cursor:row-resize;background:#c8cfd5;border-bottom:1px solid #aeb6bd}.dock-resizer:hover,.dock-resizer.dragging{background:#8faabd}.dock-tabs{height:25px;display:flex;background:#e7eaed;border-bottom:1px solid #bbc3ca;padding:0 3px;overflow-x:auto}.dock-tabs button{height:24px;border:0;border-right:1px solid #c8ced3;background:transparent;padding:0 8px;color:#4d5962;white-space:nowrap}.dock-tabs button.active{background:#fff;color:#23597f;font-weight:700;border-top:2px solid #3975a6}.dock-body{height:calc(var(--dockh) - 29px);background:#fff;overflow:auto}.dock-pane{display:none;height:100%}.dock-pane.active{display:block}.cluster-toolbar,.bandmap-toolbar{height:29px;padding:3px 5px;display:flex;align-items:center;gap:5px;background:#f0f2f4;border-bottom:1px solid #ccd2d7}.cluster-toolbar select,.bandmap-toolbar select{height:21px;border:1px solid #b7c0c7;font-size:9px}.cluster-toolbar label{font-size:9px}.cluster-state{margin-left:auto;font-size:8px;color:#78838c}.cluster-state.ok{color:#277449}.cluster-state.bad{color:#a54040}.cluster-table-wrap{height:calc(100% - 29px);overflow:auto}.spot-new{background:#eef8f1!important}.spot-worked{color:#7e878e}.band-map{height:calc(100% - 29px);overflow:auto;padding:4px}.bandmap-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:3px}.bandmap-spot{height:29px;border:1px solid #bdc5cc;background:#f7f8f9;border-radius:2px;display:grid;grid-template-columns:50px 1fr;grid-template-rows:1fr 1fr;text-align:left;padding:2px 4px}.bandmap-spot span{grid-row:1/3;align-self:center;font:9px Consolas,monospace;color:#315d7f}.bandmap-spot b{font:10px Consolas,monospace}.bandmap-spot em{font-size:7px;color:#77838c;font-style:normal}.bandmap-spot.new{border-left:3px solid #2c9658}.bandmap-spot.worked{border-left:3px solid #9aa3aa}.legend{font-size:8px;color:#727d86}.legend i{display:inline-block;width:6px;height:6px;border-radius:50%;margin:0 2px}.dot-new{background:#2c9658}.dot-worked{background:#969fa6}.module-empty,.module-box{height:100%;display:flex;align-items:center;justify-content:center;color:#82909a;text-align:center}.module-box{flex-direction:column;gap:7px;padding:12px}.module-box>b{color:#44525d}.module-box span{font-size:9px;max-width:500px}.module-box textarea{width:min(700px,95%);height:90px;border:1px solid #b8c1c8;resize:vertical;padding:5px}.module-box small{font-size:8px}.station-grid{display:grid;grid-template-columns:repeat(6,1fr);height:100%}.station-grid div{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #e0e4e7}.station-grid span{font-size:7px;color:#7b858e}.station-grid b{font-size:10px;margin-top:3px}.activity-bars{padding:6px;height:100%;overflow:auto}
.radio-display{margin:5px;background:#111d25;border:1px solid #263c4c;border-radius:2px;padding:5px 7px;display:flex;justify-content:space-between;align-items:end}.radio-display span{display:block;font-size:7px;color:#6c899d}.radio-display strong{font:bold 22px Consolas,monospace;color:#57e889;line-height:1}.radio-display>b{font:11px Consolas,monospace;color:#f2d65c}.radio-info{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:0 5px}.radio-info div{height:23px;border:1px solid #c9d0d5;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4px}.radio-info span{font-size:8px;color:#6d7880}.radio-info input{width:34px;height:18px;border:1px solid #b3bcc4;text-align:center;font:10px Consolas,monospace}.radio-info b{font:10px Consolas,monospace}.cat-modes{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:4px 5px 0}.cat-modes button{height:20px;padding:0;border:1px solid #b7c0c7;background:#f1f2f3;font-size:8px}.radio-buttons{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:3px;padding:4px 5px 0}.cat-auto{display:block;padding:4px 5px 0;font-size:8px;color:#5e6972}.hint{padding:3px 5px 5px;font-size:8px;color:#76818a}.status-badge{font-size:7px!important;padding:2px 4px;border:1px solid #c6cdd2;background:#eee;color:#7a838b!important}.status-badge.online{background:#e1f3e7;color:#277a49!important;border-color:#b9dcc5}.stats-grid{display:grid;grid-template-columns:1fr 1fr}.stats-grid div{padding:5px;text-align:center;border-right:1px solid #d3d8dc;border-bottom:1px solid #d3d8dc;background:#fafafa}.stats-grid b{display:block;font:16px Consolas,monospace;color:#245b84}.stats-grid span{font-size:7px;color:#78828a}.band-stats{padding:4px 5px;font:8px Consolas,monospace;line-height:1.4}.world-list{display:grid;grid-template-columns:1fr 1fr}.world-list div{padding:4px 5px;border-right:1px solid #d7dce0;border-bottom:1px solid #d7dce0;display:flex;justify-content:space-between}.world-list span{font-size:8px;color:#707b84}.world-list b{font:9px Consolas,monospace}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:4px}.quick-grid button{height:36px;border:1px solid #c3cbd1;background:#f7f8f9;border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center}.quick-grid b{font:10px Consolas,monospace;color:#2c6189}.quick-grid span{font-size:7px;color:#747f87}
.view-menu{position:fixed;top:45px;right:8px;width:210px;padding:6px;background:#fff;border:1px solid #9ba8b2;box-shadow:0 5px 18px rgba(0,0,0,.2);z-index:500}.view-menu b{display:block;font-size:10px;margin-bottom:4px}.view-menu button{width:100%;height:25px;text-align:left;border:0;border-top:1px solid #e2e5e8;background:white;padding:0 5px}.view-menu button:hover{background:#e8f2fa}.view-menu small{display:block;color:#78828a;font-size:8px;line-height:1.3;margin-top:5px}.toast{position:fixed;right:8px;bottom:8px;display:none;padding:7px 10px;background:#26343e;color:white;border-radius:2px;z-index:600;font-size:9px}.toast.error{background:#8c3636}.toast.ok{background:#256b43}
@media(max-width:1200px){:root{--left:260px;--right:220px}.workspace{grid-template-columns:var(--left) 3px minmax(450px,1fr) 3px var(--right)}.qso-grid.four{grid-template-columns:1fr 1fr 45px 45px}.menu button{padding:0 5px}}
@media(max-width:900px){.workspace{display:flex;flex-direction:column}.v-resizer{display:none}.left-column,.center-column,.right-column{width:100%}.table-wrap{height:420px}.dock{height:auto}.dock-body{height:200px}.top-status{display:none}.topbar{position:static;flex-wrap:wrap;height:auto;padding:5px}.menu{width:100%}}

/* RST manual-entry lock */
.rst-field>span{display:flex;align-items:center;justify-content:space-between;gap:4px}

.rst-field.rst-locked input{background:#eef1f4!important;color:#3c4a57!important;border-color:#c7ced6!important;cursor:default}
.rst-field.rst-locked 







/* ===== UA3YA manual input locks v4.2 ===== */
.lockable-field .lock-input-wrap{
  position:relative;
  width:100%;
}
.lockable-field .lock-input-wrap input{
  padding-right:61px!important;
}
.field-lock-btn{
  position:absolute;
  right:2px;
  top:2px;
  height:20px;
  min-width:56px;
  padding:0 4px;
  border-radius:2px;
  border:1px solid transparent;
  font:600 8px/18px "Segoe UI",Tahoma,Arial,sans-serif;
  cursor:pointer;
  z-index:5;
  white-space:nowrap;
}
.field-lock-btn.deny{
  background:#fff0ed;
  border-color:#d99a91;
  color:#9b3128;
}
.field-lock-btn.deny:hover{
  background:#ffe2dc;
  border-color:#c77b70;
}
.field-lock-btn.allow{
  background:#e6f6ec;
  border-color:#87be9c;
  color:#22643e;
}
.field-lock-btn.allow:hover{
  background:#d9f0e2;
  border-color:#6fac86;
}

/* When manual input is forbidden, use the same warm tone as CALL. */
.lockable-field input.entry-locked{
  background:#fffdee!important;
  border-color:#cdbf82!important;
  color:#151b20!important;
  cursor:default!important;
  box-shadow:none!important;
}

/* Never show obsolete right-click status captions. */
.rst-lock,
.rst-context-menu,
#rstContextMenu{
  display:none!important;
}


/* ===== Compact square lock toggle ===== */
.lockable-field .lock-input-wrap input{
  padding-right:24px!important;
}

.field-lock-btn{
  right:4px!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  width:16px!important;
  min-width:16px!important;
  height:16px!important;
  padding:0!important;
  border-radius:3px!important;
  font-size:0!important;
  line-height:0!important;
  box-shadow:none!important;
}

.field-lock-btn::before{
  content:"";
  display:block;
  width:6px;
  height:6px;
  margin:auto;
  border-radius:1px;
  background:rgba(255,255,255,.92);
}

.field-lock-btn.deny{
  background:#e74b42!important;
  border-color:#c83c34!important;
}
.field-lock-btn.deny:hover{
  background:#d94037!important;
  border-color:#b7332c!important;
}

.field-lock-btn.allow{
  background:#39a96b!important;
  border-color:#2d8c58!important;
}
.field-lock-btn.allow:hover{
  background:#31975f!important;
  border-color:#267c4e!important;
}


/* ===== FINAL v4.3 square lock controls ===== */
.lockable-field .lock-input-wrap{
  position:relative!important;
}
.lockable-field .lock-input-wrap input{
  padding-right:25px!important;
}

.lockable-field .field-lock-btn{
  position:absolute!important;
  right:4px!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  width:15px!important;
  min-width:15px!important;
  max-width:15px!important;
  height:15px!important;
  min-height:15px!important;
  padding:0!important;
  margin:0!important;
  border-radius:3px!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
  box-shadow:none!important;
  z-index:10!important;
}

.lockable-field .field-lock-btn::before{
  content:""!important;
  display:block!important;
  width:5px!important;
  height:5px!important;
  margin:4px auto!important;
  border-radius:1px!important;
  background:#fff!important;
}

.lockable-field .field-lock-btn.deny{
  background:#e4473e!important;
  border:1px solid #c83731!important;
}
.lockable-field .field-lock-btn.allow{
  background:#33a565!important;
  border:1px solid #278651!important;
}
.lockable-field .field-lock-btn.deny:hover{
  background:#d33c34!important;
}
.lockable-field .field-lock-btn.allow:hover{
  background:#2c9259!important;
}

/* Locked input: same warm background as CALL */
.lockable-field input.entry-locked{
  background:#fffdf0!important;
  border-color:#d2bd67!important;
  color:#172431!important;
}


/* ===== v4.4: lock switch as a thin vertical line ===== */
.lockable-field .lock-input-wrap{
  position:relative!important;
}

.lockable-field .lock-input-wrap input{
  padding-right:10px!important;
}

/* The button remains the clickable control, but is rendered only as a line. */
.lockable-field .field-lock-btn{
  position:absolute!important;
  right:0!important;
  top:2px!important;
  bottom:2px!important;
  transform:none!important;

  width:4px!important;
  min-width:4px!important;
  max-width:4px!important;
  height:auto!important;
  min-height:0!important;

  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:2px 0 0 2px!important;

  font-size:0!important;
  line-height:0!important;
  text-indent:-9999px!important;
  overflow:hidden!important;

  cursor:pointer!important;
  z-index:12!important;
  box-shadow:none!important;
}

/* remove the old white square inside the control */
.lockable-field .field-lock-btn::before{
  display:none!important;
  content:none!important;
}

/* input is currently editable; clicking the red line will forbid editing */
.lockable-field .field-lock-btn.deny{
  background:#e4433a!important;
}

/* input is currently locked; clicking the green line will allow editing */
.lockable-field .field-lock-btn.allow{
  background:#2fa863!important;
}

.lockable-field .field-lock-btn.deny:hover{
  width:6px!important;
  min-width:6px!important;
  max-width:6px!important;
  background:#cf342d!important;
}

.lockable-field .field-lock-btn.allow:hover{
  width:6px!important;
  min-width:6px!important;
  max-width:6px!important;
  background:#258e52!important;
}

/* Locked field keeps the warm CALL-like background. */
.lockable-field input.entry-locked{
  background:#fffdf0!important;
  border-color:#d2bd67!important;
  color:#172431!important;
}


/* ===== v4.9: full-width RDA field ===== */
.qso-grid.one{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
}
.rda-field,
.rda-field .lock-input-wrap{
  width:100%!important;
}
#rdaSuggest{
  left:0!important;
  right:0!important;
  width:100%!important;
}
.rda-district-name{
  display:none!important;
}


/* ===== v4.9.1: neat RDA dropdown ===== */
.rda-field{position:relative}
.rda-suggest{
  display:none;
  position:absolute;
  top:calc(100% + 3px);
  left:0;
  right:0;
  background:#fff;
  border:1px solid #b8c5d1;
  border-radius:4px;
  box-shadow:0 10px 24px rgba(34,53,74,.18);
  z-index:700;
  max-height:240px;
  overflow:auto;
  padding:4px;
}
.rda-suggest.open{display:block}
.rda-empty{
  padding:8px 10px;
  color:#637180;
  font-size:12px;
}
.rda-suggest-item{
  -webkit-appearance:none;
  appearance:none;
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:8px;
  width:100%;
  border:0;
  outline:none;
  background:transparent;
  border-radius:4px;
  padding:6px 8px;
  margin:0;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
}
.rda-suggest-item + .rda-suggest-item{
  border-top:1px solid #edf1f5;
}
.rda-suggest-item b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:0 6px;
  border:1px solid #d8e4ef;
  border-radius:3px;
  background:#eef5fb;
  color:#183b61;
  font:700 12px/1 Consolas,"Courier New",monospace;
}
.rda-suggest-item span{
  display:block;
  min-width:0;
  color:#24313d;
  font-size:12px;
  line-height:1.25;
  white-space:normal;
  overflow-wrap:anywhere;
}
.rda-suggest-item:hover,
.rda-suggest-item.selected{
  background:#eaf3fb;
}
.rda-suggest-item:hover b,
.rda-suggest-item.selected b{
  background:#dbeafb;
  border-color:#c7dcee;
}
.rda-suggest::-webkit-scrollbar{width:10px}
.rda-suggest::-webkit-scrollbar-thumb{background:#c3ced8;border-radius:8px;border:2px solid #fff}
.rda-suggest::-webkit-scrollbar-track{background:#fff}


/* ===== v4.10: RDA + Locator on one row, NAME/QTH suggestions ===== */
.qso-grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.simple-suggest-field{position:relative!important}
.simple-suggest{
  display:none; position:absolute; top:calc(100% + 3px); left:0; right:0;
  max-height:220px; overflow:auto; z-index:710; padding:4px;
  background:#fff; border:1px solid #b8c5d1; border-radius:4px;
  box-shadow:0 10px 24px rgba(34,53,74,.18);
}
.simple-suggest.open{display:block}
.simple-suggest-item{
  appearance:none; width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:8px; align-items:center; margin:0; padding:6px 8px;
  border:0; border-bottom:1px solid #edf1f5; border-radius:3px;
  background:transparent; color:#25323e; text-align:left; cursor:pointer; box-shadow:none;
}
.simple-suggest-item:last-child{border-bottom:0}
.simple-suggest-item:hover{background:#eaf3fb}
.simple-suggest-item b{font-size:12px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.simple-suggest-item span{font-size:9px; color:#7a8793; white-space:nowrap}


/* ===== v4.11: wider RDA dropdown ===== */
.rda-field{
  overflow:visible!important;
}
#rdaSuggest.rda-suggest{
  width:430px!important;
  max-width:calc(100vw - 24px)!important;
  left:0!important;
  right:auto!important;
}
#rdaSuggest .rda-suggest-item{
  grid-template-columns:78px minmax(0,1fr)!important;
}
#rdaSuggest .rda-suggest-item span{
  white-space:normal!important;
  line-height:1.3!important;
}


/* ===== v4.12: wider autocomplete lists ===== */
/* RDA and NAME start from the left edge of their field. */
#rdaSuggest.rda-suggest,
#nameSuggest.simple-suggest{
  width:520px!important;
  max-width:calc(100vw - 24px)!important;
  left:0!important;
  right:auto!important;
}

/* QTH has the same width, but opens to the left so it stays inside the work area. */
#qthSuggest.simple-suggest{
  width:520px!important;
  max-width:calc(100vw - 24px)!important;
  left:auto!important;
  right:0!important;
}

#rdaSuggest .rda-suggest-item,
#nameSuggest .simple-suggest-item,
#qthSuggest .simple-suggest-item{
  min-height:28px!important;
}

#rdaSuggest .rda-suggest-item span,
#nameSuggest .simple-suggest-item b,
#qthSuggest .simple-suggest-item b{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* ===== UA3YA v4.40: FT8 / FT4 workspace ===== */
.ft-digital-workspace{
  display:none;
  flex-direction:column;
  gap:5px;
  min-width:0;
}
.ft-digital-workspace.active{
  display:flex;
}
.center-column.ft-digital-active>.log-panel,
.center-column.ft-digital-active>.dock{
  display:none;
}
.ft-wide-panel,.ft-control-panel{min-width:0}
.ft-head-state,.ft-cycle-head{display:flex;align-items:center;gap:6px}
.ft-cycle-head span{font-size:8px;font-weight:700;color:#2f6c98}
.ft-cycle-head b{font:11px Consolas,monospace;color:#273944}
.ft-wide-body{background:#111;overflow:hidden}
.ft-scale{height:20px;padding:0 5px;background:#f4f5f6;border-bottom:1px solid #aeb7bf;display:flex;align-items:center;justify-content:space-between;font:9px Consolas,monospace;color:#36444f}
.ft-spectrum,.ft-waterfall{display:block;width:100%;background:#000}
.ft-spectrum{height:76px;border-bottom:1px solid #3d4750}
.ft-waterfall{height:150px;background:#07104b}
.ft-waterfall-controls{min-height:31px;padding:3px 5px;background:#eceff1;border-top:1px solid #b9c1c9;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ft-waterfall-controls select{height:24px;min-width:180px;border:1px solid #b3bcc4;background:#fff}
.ft-waterfall-controls label{display:flex;align-items:center;gap:4px;font-size:8px;color:#55626c;white-space:nowrap}
.ft-waterfall-controls input[type=range]{width:82px}
.ft-waterfall-controls input[type=number]{width:58px;height:22px;border:1px solid #b3bcc4;padding:0 3px}
.ft-control-panel{height:calc(100vh - 42px - 5px - 25px - 76px - 150px - 31px - 39px);min-height:260px}
.ft-control-body{height:calc(100% - 0px);display:flex;flex-direction:column;background:#fff}
.ft-decode-area{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;min-height:0;flex:1}
.ft-decode-column{border:1px solid #c3cbd2;display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff}
.ft-decode-title{height:24px;padding:0 5px;background:#edf0f2;border-bottom:1px solid #c7ced4;display:flex;align-items:center;justify-content:space-between;gap:8px}
.ft-decode-title b{font-size:9px}.ft-decode-title span{font-size:7px;color:#78828a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ft-decode-table-wrap{overflow:auto;min-height:130px;flex:1}
.ft-decode-table{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap;font-size:9px}
.ft-decode-table th{position:sticky;top:0;background:#dfe4e8;border-bottom:1px solid #aeb7bf;padding:3px 4px;text-align:left;font-size:8px;color:#394650}
.ft-decode-table td{padding:3px 4px;border-bottom:1px solid #e2e5e7}
.ft-decode-table th:nth-child(1),.ft-decode-table td:nth-child(1){width:48px}.ft-decode-table th:nth-child(2),.ft-decode-table td:nth-child(2){width:34px}.ft-decode-table th:nth-child(3),.ft-decode-table td:nth-child(3){width:34px}.ft-decode-table th:nth-child(4),.ft-decode-table td:nth-child(4){width:46px}
.ft-control-strip{border-top:1px solid #b9c1c9;background:#edf0f2}
.ft-main-status{height:28px;display:grid;grid-template-columns:70px 120px 100px 50px;align-items:center;background:#070b0e;color:#fff;border-bottom:1px solid #222}
.ft-main-status span{padding-left:8px;color:#cfd9df;font-size:9px}.ft-main-status strong{font:700 15px Consolas,monospace;color:#f5ed2f}.ft-main-status b{font:700 13px Consolas,monospace;color:#f2d43b}.ft-main-status em{font:700 11px Consolas,monospace;color:#ff76a5;font-style:normal;text-align:center}
.ft-cycle-bar{height:5px;background:#cfd5da;overflow:hidden}.ft-cycle-bar i{display:block;height:100%;width:0;background:#2fa85f;transition:width .08s linear}
.ft-actions{min-height:34px;padding:4px 5px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.ft-actions .btn{height:24px}.ft-actions button:disabled{opacity:.45;cursor:default}.ft-cq-only{display:flex;align-items:center;gap:3px;margin-left:4px;font-size:8px}.ft-decoder-note{margin-left:auto;color:#7a858d;font-size:8px}
#ftAudioState.online{background:#e1f3e7;color:#277a49!important;border-color:#b9dcc5}
#ftAudioState.offline{background:#eee;color:#7a838b!important}
@media(max-width:1150px){.ft-decode-area{grid-template-columns:1fr}.ft-control-panel{height:auto}.ft-decode-table-wrap{min-height:120px}.ft-decoder-note{width:100%;margin-left:0}.center-column.ft-digital-active>.log-panel,.center-column.ft-digital-active>.dock{display:none}}
@media(max-width:900px){.ft-spectrum{height:70px}.ft-waterfall{height:125px}.ft-main-status{grid-template-columns:55px 100px 90px 45px}.ft-waterfall-controls select{min-width:140px}}


/* ===== UA3YA v4.41: live FT decoder ===== */
.ft-rx-hz{display:flex;align-items:center;gap:3px;font-size:8px;color:#56636d;white-space:nowrap}
.ft-rx-hz input{width:58px;height:22px;border:1px solid #b3bcc4;padding:0 3px;background:#fff;font:9px Consolas,monospace}
.ft-decoder-note.ok{color:#277a49;font-weight:700}.ft-decoder-note.busy{color:#9a6a00;font-weight:700}.ft-decoder-note.error{color:#b43a32;font-weight:700}
.ft-decode-row{cursor:pointer}.ft-decode-row:hover td{background:#e9f2fa}.ft-decode-row td:last-child{font-family:Consolas,monospace}
.ft-decode-row sup{font-size:7px;color:#a76b00}
