:root{
  --bg:#f4f7fb;--panel:#fff;--nav:#102033;--nav2:#1a304a;--nav3:#244260;
  --text:#172033;--muted:#64748b;--line:#dce4ee;--line-strong:#cbd6e3;
  --blue:#2563eb;--green:#16a34a;--amber:#d97706;--red:#dc2626;--purple:#6d4aff;
  --shadow:0 8px 24px rgba(15,23,42,.055);--radius:14px
}
*{box-sizing:border-box}
html{font-size:15px}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:"Segoe UI Variable Text","Segoe UI",Inter,Roboto,Arial,sans-serif;
  font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility
}
button,input,select{font:inherit}
button{color:inherit}
.hidden{display:none!important}

/* Login — v2.2.5 */
.login-page{
  min-height:100vh;position:relative;overflow:hidden;display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(440px,.85fr);
  background:
    radial-gradient(circle at 16% 16%,rgba(35,124,235,.22),transparent 31%),
    radial-gradient(circle at 78% 82%,rgba(20,191,211,.13),transparent 31%),
    linear-gradient(135deg,#071321 0%,#0b1c2f 46%,#0d233b 100%);
  color:#fff;isolation:isolate
}
.login-page:before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(to right,#000 0%,rgba(0,0,0,.58) 60%,transparent 95%)
}
.login-network-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.88}
.login-ambient{position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none;z-index:-1}
.login-ambient-one{
  width:540px;height:540px;left:-180px;top:-210px;
  background:radial-gradient(circle,rgba(36,121,238,.16),transparent 69%)
}
.login-ambient-two{
  width:620px;height:620px;right:-230px;bottom:-300px;
  background:radial-gradient(circle,rgba(30,207,222,.10),transparent 68%)
}

.login-story{display:flex;align-items:center;padding:70px clamp(42px,7vw,120px);min-width:0}
.login-story-inner{max-width:690px}
.login-story-logo{width:min(390px,72%);height:auto;display:block;margin-bottom:54px;object-fit:contain}
.login-eyebrow{
  display:inline-flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid rgba(133,203,255,.2);
  border-radius:999px;background:rgba(13,45,76,.36);backdrop-filter:blur(8px);
  color:#91d5ff;font-size:10px;font-weight:750;letter-spacing:.16em
}
.login-eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:#39d6e9;box-shadow:0 0 15px rgba(57,214,233,.75)}
.login-story h1{
  margin:22px 0 0;font-size:clamp(42px,5.2vw,74px);line-height:.99;letter-spacing:-.045em;
  font-weight:770;color:#f8fbff;text-shadow:0 8px 34px rgba(0,0,0,.18)
}
.login-story h1 span{
  background:linear-gradient(90deg,#6fc8ff 0%,#66e1e9 72%);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.login-story p{
  max-width:610px;margin:25px 0 0;color:#b6c8dc;font-size:16px;line-height:1.75;font-weight:420
}
.login-capabilities{display:flex;flex-wrap:wrap;gap:18px;margin-top:32px}
.login-capabilities span{display:flex;align-items:center;gap:7px;color:#d4e1ef;font-size:12px;font-weight:620}
.login-capabilities i{width:7px;height:7px;border:1px solid rgba(98,220,232,.8);border-radius:50%;box-shadow:0 0 12px rgba(72,210,225,.35)}

.login-live-strip{
  width:min(590px,100%);height:54px;margin-top:45px;border-top:1px solid rgba(159,196,230,.14);
  border-bottom:1px solid rgba(159,196,230,.11);display:grid;align-items:center;
  grid-template-columns:auto minmax(80px,1fr) auto auto auto;gap:19px;color:#718ca7;font-size:10px;
  letter-spacing:.05em;text-transform:uppercase
}
.login-live-strip>div:first-child{display:flex;align-items:center;gap:7px;color:#63e2c0}
.login-mini-dot{width:7px;height:7px;background:#2cd59d;border-radius:50%;box-shadow:0 0 11px rgba(44,213,157,.65)}
.login-live-line{height:1px;background:rgba(145,190,231,.13);position:relative;overflow:hidden}
.login-live-line span{
  position:absolute;width:28%;height:100%;left:-30%;
  background:linear-gradient(90deg,transparent,#5ed7eb,transparent);
  animation:loginSignal 5.8s linear infinite
}
@keyframes loginSignal{to{left:105%}}

.login-panel{
  display:flex;align-items:center;justify-content:center;padding:48px clamp(34px,5vw,80px);
  background:linear-gradient(90deg,rgba(7,19,33,0),rgba(6,16,29,.17));
  position:relative
}
.login-card{
  width:min(470px,100%);background:rgba(255,255,255,.975);color:var(--text);
  border:1px solid rgba(255,255,255,.78);border-radius:24px;padding:34px 36px 28px;
  box-shadow:0 36px 90px rgba(0,0,0,.30),0 0 0 1px rgba(25,74,115,.04);
  backdrop-filter:blur(18px)
}
.login-card-brand{display:flex;align-items:center;gap:14px}
.login-card-logo-wrap{
  width:58px;height:58px;border-radius:14px;background:#f7faff;display:grid;place-items:center;
  border:1px solid #e3ebf4;padding:7px
}
.login-card-logo-wrap img{width:100%;height:100%;object-fit:contain;display:block}
.login-product-name{font-size:20px;font-weight:790;letter-spacing:-.025em}
.login-product-subtitle{font-size:10.5px;color:#6f8094;margin-top:2px;font-weight:570}
.login-welcome{margin-top:35px}
.login-welcome h2{margin:0;font-size:27px;line-height:1.1;font-weight:770;letter-spacing:-.03em}
.login-welcome p{margin:8px 0 0;color:#738297;font-size:12.5px;line-height:1.55}

.login-form-group{margin-top:19px}
.login-form-group label{font-size:11.5px;font-weight:700;color:#3c4c60;margin-bottom:7px}
.login-input-shell{position:relative}
.login-input-shell .login-input{
  height:48px;padding-left:43px;padding-right:42px;border-radius:11px;border-color:#d5dfe9;background:#fbfcfe;
  font-size:13px;transition:background .15s,border-color .15s,box-shadow .15s
}
.login-input-shell .login-input:focus{background:#fff;border-color:#77a8f4;box-shadow:0 0 0 4px rgba(37,99,235,.09)}
.login-input-icon{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:2;color:#7890a9;display:grid;place-items:center
}
.login-input-icon svg,.login-password-toggle svg{
  width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round
}
.login-password-toggle{
  position:absolute;right:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;
  background:transparent;color:#71849a;display:grid;place-items:center;cursor:pointer
}
.login-password-toggle:hover{background:#eef3f8;color:#334155}

.login-remember{
  display:flex;align-items:center;gap:8px;margin-top:14px;color:#68798d;font-size:11.5px;cursor:pointer
}
.login-remember input{width:15px;height:15px;accent-color:#2563eb}
.login-btn{
  width:100%;height:48px;margin-top:23px;border-radius:11px;
  background:linear-gradient(100deg,#1f6ee8,#2764df 58%,#1c80dd);
  border:0;display:flex;align-items:center;justify-content:center;gap:9px;
  box-shadow:0 10px 26px rgba(37,99,235,.20);font-size:13px;letter-spacing:.01em
}
.login-btn:hover{background:linear-gradient(100deg,#1b66db,#225bd0 58%,#1975ce);border:0}
.login-btn:disabled{opacity:.78;cursor:wait}
.login-btn-arrow{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.login-btn-spinner{
  width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;
  animation:loginSpin .75s linear infinite
}
@keyframes loginSpin{to{transform:rotate(360deg)}}
.login-card .error-box{margin-top:13px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;padding:10px 11px;font-size:11.5px}
.login-card-footer{
  display:flex;justify-content:space-between;gap:10px;border-top:1px solid #edf1f5;margin-top:23px;padding-top:16px;
  color:#9aa7b5;font-size:9.5px;font-weight:570
}
.login-footer{
  position:absolute;left:0;right:0;bottom:17px;text-align:center;color:rgba(183,202,220,.48);
  font-size:9.5px;letter-spacing:.02em;pointer-events:none
}

@media(max-width:1100px){
  .login-page{grid-template-columns:1fr minmax(410px,.85fr)}
  .login-story{padding-left:45px;padding-right:30px}
  .login-story-logo{width:min(320px,75%);margin-bottom:42px}
  .login-story h1{font-size:48px}
  .login-story p{font-size:14px}
}
@media(max-width:820px){
  .login-page{display:flex;align-items:center;justify-content:center;padding:28px 18px 54px}
  .login-story{position:absolute;inset:0;display:block;padding:26px;pointer-events:none}
  .login-story-inner{height:100%}
  .login-story-logo{width:210px;margin:0}
  .login-eyebrow,.login-story h1,.login-story p,.login-capabilities,.login-live-strip{display:none}
  .login-panel{width:100%;padding:0;background:none}
  .login-card{width:min(460px,100%);padding:29px 25px 24px}
  .login-card-brand{margin-top:10px}
}
@media(max-width:480px){
  .login-card{border-radius:19px;padding:25px 20px 22px}
  .login-card-logo-wrap{width:54px;height:54px}
  .login-card-logo-wrap img{width:100%;height:100%;object-fit:contain}
  .login-product-name{font-size:18px}
  .login-welcome{margin-top:29px}
  .login-welcome h2{font-size:24px}
  .login-card-footer{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
  .login-live-line span{animation:none;left:38%}
}

/* Application shell */
.app{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s ease}
.sidebar{
  background:var(--nav);color:#fff;padding:16px 13px;position:sticky;top:0;height:100vh;
  z-index:20;transition:padding .2s ease
}
.sidebar-brand{height:58px;display:flex;align-items:center;gap:10px;padding:0 6px 12px;position:relative}
.brand-mark{
  width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.96);display:grid;place-items:center;
  flex:0 0 auto;overflow:hidden;padding:5px;box-shadow:0 4px 13px rgba(0,0,0,.12)
}
.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}
.brand-copy{min-width:0;white-space:nowrap;overflow:hidden}
.brand-copy b{display:block;font-size:17px;font-weight:800}
.brand-copy small{display:block;color:#a8bad0;font-size:10.5px;margin-top:1px}
.sidebar-toggle{
  position:absolute;right:-25px;top:13px;width:25px;height:30px;border:1px solid #d7e0ea;border-left:0;
  background:#fff;color:#475569;border-radius:0 9px 9px 0;cursor:pointer;font-size:19px;line-height:1;
  box-shadow:3px 2px 8px rgba(15,23,42,.06)
}
.nav{display:grid;gap:4px;margin-top:6px}
.nav button{
  height:42px;border:0;text-align:left;background:transparent;color:#c2cfde;padding:0 11px;border-radius:10px;
  cursor:pointer;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:11px;white-space:nowrap
}
.nav button:hover{background:#172b45;color:#fff}
.nav button.active{background:var(--nav2);color:#fff}
.nav-icon{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px}
.nav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav-label{overflow:hidden;transition:opacity .15s,width .2s}
.nav-separator{height:1px;background:rgba(255,255,255,.09);margin:8px 7px}
.sidebar-footer{position:absolute;left:19px;right:15px;bottom:18px;color:#9eb1c8;font-size:11.5px;line-height:1.6;white-space:nowrap;overflow:hidden}

/* Collapsed sidebar */
body.sidebar-collapsed .app{grid-template-columns:76px minmax(0,1fr)}
body.sidebar-collapsed .sidebar{padding-left:10px;padding-right:10px}
body.sidebar-collapsed .sidebar-brand{justify-content:center;padding-left:0;padding-right:0}
body.sidebar-collapsed .brand-copy,body.sidebar-collapsed .nav-label,body.sidebar-collapsed .sidebar-footer{display:none}
body.sidebar-collapsed .nav button{justify-content:center;padding:0;gap:0}
body.sidebar-collapsed .nav-icon{width:24px;height:24px}
body.sidebar-collapsed .nav-icon svg{width:21px;height:21px}
body.sidebar-collapsed .nav-separator{margin-left:4px;margin-right:4px}
body.sidebar-collapsed .sidebar-toggle{right:-25px}

/* Main / top bar */
.main{min-width:0}
.topbar{
  min-height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;
  justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:10
}
.page-title h1{font-size:21px;line-height:1.15;margin:0;font-weight:760;letter-spacing:-.015em}
.page-title div{font-size:12px;color:var(--muted);margin-top:5px}
.top-right{display:flex;align-items:center;gap:11px}
.live-status{font-size:12px;font-weight:700;display:flex;align-items:center;gap:7px;color:#334155}
.status-dot{width:9px;height:9px;border-radius:50%;background:var(--red)}
.status-dot.ok{background:var(--green)}
.user-menu{font-size:12.5px;font-weight:650}
.server-selector{width:220px;min-width:170px}
.content{padding:22px 26px 38px}

/* Cards and KPIs */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.kpis{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px}
.kpi{padding:16px 17px}
.kpi .label{font-size:12px;color:#53647a;font-weight:600}
.kpi .value{font-size:29px;line-height:1.1;font-weight:780;letter-spacing:-.025em;margin-top:7px}
.kpi .sub{font-size:11px;color:var(--muted);margin-top:6px}
.panel{padding:17px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.panel-head h2{font-size:15px;font-weight:750;margin:0;letter-spacing:-.01em}
.panel-head .meta,.meta{font-size:11px;color:var(--muted)}
.grid2{display:grid;grid-template-columns:1.45fr .85fr;gap:14px;margin-top:14px}
.overview-main-grid{grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr)}
.queue-grid,.trunk-grid,.ext-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.overview-queue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.resource-card{border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:#fff}
.resource-card:hover{border-color:#c9d5e3}
.resource-title{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:13.5px;font-weight:720;min-width:0}
.resource-title>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
.resource-sub{font-size:11.5px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:13px}
.metric b{font-size:20px;line-height:1.1;font-weight:750;display:block;overflow:hidden;text-overflow:ellipsis}
.metric span{font-size:10.5px;color:var(--muted);display:block;margin-top:4px}

/* Status badges */
.badge{
  display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:10.5px;
  font-weight:700;background:#f1f5f9;white-space:nowrap
}
.badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#94a3b8;flex:0 0 auto}
.badge.available{background:#ecfdf3;color:#166534}.badge.available:before{background:var(--green)}
.badge.busy{background:#eef2ff;color:#4338ca}.badge.busy:before{background:var(--purple)}
.badge.ringing,.badge.hold{background:#fff7ed;color:#9a3412}.badge.ringing:before,.badge.hold:before{background:var(--amber)}
.badge.offline{background:#fef2f2;color:#991b1b}.badge.offline:before{background:var(--red)}
.badge.active{background:#eff6ff;color:#1d4ed8}.badge.active:before{background:var(--blue)}

/* Compact active calls on overview */
.active-call-list{display:grid}
.active-call-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto 74px auto;align-items:center;gap:10px;
  padding:11px 2px;border-bottom:1px solid #edf1f5
}
.active-call-row:last-child{border-bottom:0}
.active-call-main{min-width:0}
.active-call-title{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.active-call-sub{font-size:11px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.call-arrow{color:#94a3b8;font-weight:500;padding:0 3px}
.active-call-duration{font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:700;text-align:right}
.active-call-actions{text-align:right}
.live-duration{font-variant-numeric:tabular-nums}

/* Search / tables */
.toolbar{display:flex;gap:9px;align-items:center;margin-bottom:14px}
.toolbar .input{width:310px}.toolbar .select{width:190px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px;background:#fff}
table{width:100%;border-collapse:collapse;min-width:760px}
th,td{padding:11px 12px;border-bottom:1px solid #e8edf3;text-align:left;font-size:12.5px;vertical-align:middle}
th{background:#f8fafc;color:#52647a;font-size:11px;font-weight:700;position:sticky;top:0;z-index:1}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:#fbfcfe}
.queue-detail{margin-top:11px;border-top:1px solid var(--line);padding-top:11px}
.waiting-row,.member-row{display:flex;justify-content:space-between;gap:9px;font-size:11.5px;padding:6px 0;border-bottom:1px dashed #e8edf3}
.waiting-row:last-child,.member-row:last-child{border-bottom:0}
.section-page{display:none}.section-page.active{display:block}
.empty{padding:30px;text-align:center;color:var(--muted);font-size:12.5px}

/* Forms / modal / permissions */
.modal{position:fixed;inset:0;background:rgba(15,23,42,.50);display:grid;place-items:center;z-index:50;padding:18px}
.modal-card{width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:20px;box-shadow:0 28px 66px rgba(0,0,0,.24)}
.wide-modal{width:min(1000px,97vw)}
.modal-head{display:flex;justify-content:space-between;align-items:center}
.modal-head h3{margin:0;font-size:17px}
.close{border:0;background:transparent;font-size:24px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.check-line{display:flex!important;gap:8px;align-items:center;font-size:12px!important;font-weight:500!important;color:#334155!important}
.perm-block{border:1px solid var(--line);border-radius:11px;padding:12px;margin-top:12px}
.perm-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.perm-list{max-height:190px;overflow:auto;border-top:1px solid var(--line);padding-top:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px}
.perm-item{font-size:11.5px;display:flex;gap:6px;align-items:center;min-width:0}
.perm-item input{flex:0 0 auto}
#permissionSearch{width:100%}
.mini{height:30px;border:1px solid var(--line-strong);background:#fff;border-radius:8px;padding:0 9px;font-size:11px;font-weight:600;cursor:pointer}
.mini:hover{background:#f8fafc}.mini.primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.type-select{height:32px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;font-size:11.5px}
.compact-input{height:33px;min-width:160px}
.health-line{font-size:11.5px;color:var(--muted);margin-top:8px}
.supervisor-perms{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.operation-section{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.operation-section h4{margin:0 0 10px;font-size:13px}
.operation-buttons{display:flex;gap:8px;flex-wrap:wrap}
.danger-zone{background:#fffafa;border:1px solid #fee2e2;border-radius:10px;padding:12px}
.danger-soft{color:#991b1b;background:#fff7f7}
.call-summary{font-size:12px;line-height:1.6;background:#f8fafc;border:1px solid var(--line);padding:11px;border-radius:10px;margin-top:10px}
.operation-ok{color:#166534}.operation-error{color:#991b1b}
.btn:disabled,.mini:disabled{opacity:.45;cursor:not-allowed}
.server-health-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.server-tag{display:inline-block;font-size:10px;font-weight:700;padding:3px 7px;border-radius:7px;background:#eef4ff;color:#1d4ed8;margin-bottom:7px}
.muted{color:var(--muted);font-size:11px}

/* Responsive */
@media(max-width:1320px){
  .kpis{grid-template-columns:repeat(3,1fr)}
  .queue-grid,.trunk-grid,.ext-grid{grid-template-columns:repeat(2,1fr)}
  .overview-main-grid{grid-template-columns:1fr}
  .overview-queue-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1050px){
  .server-health-grid{grid-template-columns:repeat(2,1fr)}
  .server-selector{width:180px}
}
@media(max-width:760px){
  .app,body.sidebar-collapsed .app{grid-template-columns:1fr}
  .sidebar{display:none}
  .content{padding:14px}
  .topbar{padding:0 14px;gap:10px}
  .top-right{gap:6px}
  .server-selector{width:150px;min-width:130px}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .queue-grid,.trunk-grid,.ext-grid,.overview-queue-grid,.server-health-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .perm-list{grid-template-columns:1fr}
  .supervisor-perms{grid-template-columns:1fr}
  .toolbar{flex-wrap:wrap}
  .toolbar .input,.toolbar .select{width:100%}
  .active-call-row{grid-template-columns:minmax(0,1fr) auto 66px}
  .active-call-actions{grid-column:1/-1;text-align:left}
}


/* v2.2.2 Agent Monitor */
.agent-kpis{
  display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:11px;margin-bottom:14px
}
.agent-kpi{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.agent-kpi span{font-size:11.5px;color:var(--muted);font-weight:650}
.agent-kpi b{font-size:24px;line-height:1;font-weight:780;font-variant-numeric:tabular-nums}
.panel-caption{font-size:11px;color:var(--muted);margin-top:3px}
.agent-toolbar .input{width:360px}
.agent-toolbar .select{width:200px}
.agent-table-wrap{max-height:calc(100vh - 300px);min-height:250px}
.agent-table{min-width:1180px}
.agent-table th{top:0}
.agent-row td{padding-top:12px;padding-bottom:12px}
.agent-name-cell{display:grid;gap:2px;min-width:150px}
.agent-name-cell b{font-size:13px}
.agent-name-cell span,.agent-name-cell small{font-size:10.5px;color:var(--muted)}
.agent-name-cell small{color:#2563eb;font-weight:650}
.agent-queue-chips{display:flex;flex-wrap:wrap;gap:5px;max-width:320px}
.agent-queue-chip{
  display:inline-flex;align-items:center;padding:4px 7px;border-radius:7px;
  background:#eff6ff;color:#1d4ed8;font-size:10.5px;font-weight:650;line-height:1.2
}
.agent-queue-chip.paused{background:#fff7ed;color:#9a3412}
.agent-caller{display:grid;gap:2px;min-width:110px}
.agent-caller b{font-size:12px}
.agent-caller span{font-size:10.5px;color:var(--muted)}
.badge.paused{background:#fff7ed;color:#9a3412}.badge.paused:before{background:var(--amber)}
.badge.partial{background:#fefce8;color:#854d0e}.badge.partial:before{background:#ca8a04}
.agent-modal-card{width:min(760px,96vw)}
.agent-modal-summary{
  margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#f8fafc;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center
}
.agent-modal-summary>div:first-child{font-size:15px}
.agent-modal-summary>div:first-child span{font-size:12px;color:var(--muted)}
.agent-modal-meta{grid-column:1/-1;font-size:11.5px;color:var(--muted)}
.agent-membership-row{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:10px 2px;border-bottom:1px solid #edf1f5
}
.agent-membership-row:last-child{border-bottom:0}
.agent-membership-row>div:first-child{display:grid;gap:2px}
.agent-membership-row>div:first-child b{font-size:12.5px}
.agent-membership-row>div:first-child span,.agent-membership-row>div:first-child small{font-size:10.5px;color:var(--muted)}
.agent-membership-row>div:last-child{display:flex;align-items:center;gap:7px}
@media(max-width:1320px){
  .agent-kpis{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .agent-kpis{grid-template-columns:repeat(2,1fr)}
  .agent-toolbar .input,.agent-toolbar .select{width:100%}
  .agent-modal-summary{grid-template-columns:1fr}
  .agent-modal-meta{grid-column:auto}
  .agent-membership-row{align-items:flex-start;flex-direction:column}
}


/* v2.2.3 extension-centric Agent Monitor */
.presence-badge{
  display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;
  font-size:10.5px;font-weight:700;white-space:nowrap
}
.presence-badge:before{content:"";width:7px;height:7px;border-radius:50%}
.presence-badge.online{background:#ecfdf3;color:#166534}.presence-badge.online:before{background:#16a34a}
.presence-badge.offline{background:#fef2f2;color:#991b1b}.presence-badge.offline:before{background:#dc2626}
.agent-queue-count{
  height:30px;border:1px solid #cbd6e3;background:#f8fafc;color:#1d4ed8;border-radius:8px;
  padding:0 10px;font-size:11px;font-weight:700;cursor:pointer
}
.agent-queue-count:hover{background:#eef4ff;border-color:#adc5f7}
.agent-zero-queues{font-size:11px;color:#94a3b8}
.agent-modal-summary{grid-template-columns:minmax(0,1fr) auto}
.agent-modal-summary .agent-modal-meta{grid-column:1/-1}


/* v2.2.4 resilient PBX health */
.badge.reconnecting{background:#fff7ed;color:#9a3412}
.badge.reconnecting:before{background:#f59e0b}
.status-dot.reconnecting{background:#f59e0b}
.reconnect-note{color:#9a3412}
.health-diagnostic{margin-top:5px;color:#94a3b8}

/* Agent Monitor scroll container is intentionally persistent across live updates. */
.agent-table-wrap{scroll-behavior:auto;overscroll-behavior:contain}


/* v2.2.7 Direct supervisor action menu */
.call-action-trigger{display:inline-flex;align-items:center;gap:5px}
.call-action-trigger svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.call-action-menu{
  position:fixed;z-index:90;width:292px;background:#fff;border:1px solid #d8e2ed;border-radius:13px;
  box-shadow:0 18px 48px rgba(15,23,42,.22),0 3px 10px rgba(15,23,42,.08);
  overflow:hidden;color:var(--text);animation:callMenuIn .12s ease-out
}
@keyframes callMenuIn{from{opacity:0;transform:translateY(-3px) scale(.99)}to{opacity:1;transform:none}}
.call-action-menu-title{padding:11px 13px 10px;border-bottom:1px solid #e7edf4;background:#f8fafc}
.call-action-menu-title>div{display:flex;justify-content:space-between;gap:8px;align-items:center}
.call-action-menu-title b{font-size:12px}
.call-action-menu-title span,.call-action-menu-title small{color:#7a899b;font-size:9.5px}
.call-action-menu-title small{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.call-action-items{padding:6px}
.call-action-items>button{
  width:100%;min-height:48px;border:0;border-radius:9px;background:transparent;display:grid;
  grid-template-columns:31px minmax(0,1fr) auto;align-items:center;text-align:left;gap:7px;
  padding:7px 8px;cursor:pointer;color:#263548
}
.call-action-items>button:hover{background:#f2f6fb}
.call-action-items>button>svg{width:20px;height:20px;fill:none;stroke:#52677f;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.call-action-items>button>span{display:grid;gap:1px}
.call-action-items>button b{font-size:11.5px;font-weight:720}
.call-action-items>button small{font-size:9.5px;color:#8391a1;font-weight:500}
.call-action-items>button em{font-size:20px;color:#8a99aa;font-style:normal}
.call-action-items>button.danger{color:#a51d2d}
.call-action-items>button.danger svg{stroke:#c33142}
.call-action-items>button.danger:hover{background:#fff1f2}
.call-action-items>button.disabled,.call-action-items>button:disabled{opacity:.45;cursor:not-allowed;background:transparent}
.call-action-items>button.busy{opacity:.55;cursor:wait}

.call-transfer-panel{padding:7px}
.call-transfer-head{height:45px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #edf1f5;margin:-1px 2px 7px;padding-bottom:6px}
.call-transfer-head>button{width:30px;height:30px;border:0;border-radius:8px;background:#eef3f8;color:#40556d;font-size:22px;cursor:pointer}
.call-transfer-head>div{display:grid}
.call-transfer-head b{font-size:11.5px}
.call-transfer-head span{font-size:9.5px;color:#8190a1}
.call-transfer-search{
  width:100%;height:34px;border:1px solid #d6e0ea;border-radius:8px;padding:0 9px;font-size:11px;outline:none;margin-bottom:6px
}
.call-transfer-search:focus{border-color:#76a6ef;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.call-transfer-destinations{max-height:270px;overflow:auto;overscroll-behavior:contain}
.call-transfer-destinations>button{
  width:100%;height:43px;border:0;border-bottom:1px solid #eef2f6;background:#fff;display:grid;
  grid-template-columns:62px minmax(0,1fr) 10px;align-items:center;gap:7px;padding:0 8px;text-align:left;cursor:pointer
}
.call-transfer-destinations>button:last-child{border-bottom:0}
.call-transfer-destinations>button:hover{background:#f3f7fc}
.call-transfer-destinations>button.busy{opacity:.5;cursor:wait}
.dest-number{font-size:12px;font-weight:760;color:#1e40af}
.dest-name{font-size:10px;color:#66778b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.call-transfer-destinations i{width:7px;height:7px;border-radius:50%;background:#94a3b8}
.call-transfer-destinations i.available{background:#16a34a}
.call-transfer-destinations i.busy,.call-transfer-destinations i.ringing,.call-transfer-destinations i.hold{background:#f59e0b}
.call-transfer-destinations i.offline{background:#dc2626}

.action-toast-host{position:fixed;right:20px;top:88px;z-index:120;display:grid;gap:8px;pointer-events:none}
.action-toast{
  min-width:250px;max-width:410px;background:#fff;border:1px solid #dbe5ef;border-radius:11px;
  box-shadow:0 13px 36px rgba(15,23,42,.18);padding:11px 13px;display:grid;grid-template-columns:24px 1fr;
  gap:8px;align-items:center;font-size:11.5px;opacity:0;transform:translateY(-5px);transition:.18s ease
}
.action-toast.visible{opacity:1;transform:none}
.action-toast>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:800}
.action-toast.ok>span{background:#ecfdf3;color:#15803d}
.action-toast.error>span{background:#fff1f2;color:#be123c}

.permission-caption{font-size:9.8px;color:#8290a1;margin-top:2px;font-weight:500}
.transfer-search-group{margin:7px 0 9px}
.transfer-destination-list{
  max-height:225px;overflow:auto;border:1px solid #e2e8f0;border-radius:9px;padding:5px;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px
}
.transfer-destination-item{
  min-height:34px;border-radius:7px;display:grid;grid-template-columns:18px 58px minmax(0,1fr);
  gap:5px;align-items:center;padding:4px 6px;font-size:10.5px;cursor:pointer
}
.transfer-destination-item:hover{background:#f4f7fb}
.transfer-destination-item input{margin:0}
.transfer-destination-number{font-weight:730;color:#1d4ed8}
.transfer-destination-name{color:#65768a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.transfer-disabled{opacity:.52}
.transfer-disabled:after{content:"Enable Transfer calls above to use these destinations.";display:block;color:#8b99a9;font-size:10px;margin-top:7px}
@media(max-width:900px){.transfer-destination-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.transfer-destination-list{grid-template-columns:1fr}.call-action-menu{width:min(292px,calc(100vw - 16px))}.action-toast-host{left:10px;right:10px}.action-toast{min-width:0;max-width:none}}


/* v2.2.8 action-readiness feedback */
.call-transfer-destinations>button.disabled,
.call-transfer-destinations>button:disabled{
  opacity:.48;cursor:not-allowed;background:#fafbfc
}
.call-transfer-destinations>button.disabled:hover,
.call-transfer-destinations>button:disabled:hover{background:#fafbfc}
.call-transfer-note{
  margin:7px 3px 2px;padding:7px 8px;border-radius:7px;background:#fff7ed;color:#9a3412;
  font-size:9.5px;line-height:1.4
}


/* v2.2.9 — My Account */
.account-page-grid{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:16px;align-items:start
}
.account-profile-panel,.account-security-panel{padding:20px}
.account-profile-head{display:flex;align-items:center;gap:14px;padding-bottom:19px;border-bottom:1px solid var(--line)}
.account-avatar{
  width:58px;height:58px;border-radius:16px;background:linear-gradient(145deg,#1d4ed8,#2596df);
  color:#fff;display:grid;place-items:center;font-size:20px;font-weight:800;letter-spacing:.03em;
  box-shadow:0 8px 22px rgba(37,99,235,.18);flex:0 0 auto
}
.account-profile-identity{min-width:0;flex:1}
.account-profile-identity h2{font-size:20px;margin:0 0 5px;letter-spacing:-.02em}
.account-profile-identity>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.account-profile-identity>div>span:first-child{font-size:11px;color:var(--muted)}
.account-role-badge{
  display:inline-flex;padding:3px 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:9.5px;font-weight:750
}
.account-role-badge.supervisor{background:#eff6ff;color:#1d4ed8}
.account-role-badge.admin{background:#f5f3ff;color:#6d28d9}

.account-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.account-info-item{
  min-height:72px;border:1px solid #e3e9f0;border-radius:11px;padding:11px 12px;background:#fbfcfe;display:grid;align-content:center;gap:5px
}
.account-info-item span{font-size:9.8px;color:#8190a1;text-transform:uppercase;letter-spacing:.035em;font-weight:700}
.account-info-item b{font-size:12.5px;color:#253449;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.account-pbx-section{margin-top:22px}
.account-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.account-section-head h3{font-size:13.5px;margin:0}
.account-section-head p{font-size:10.5px;color:var(--muted);margin:3px 0 0}
.account-section-count{font-size:10px;color:#607187;background:#f1f5f9;border-radius:999px;padding:4px 8px;white-space:nowrap}
.account-pbx-list{display:grid;gap:9px}
.account-pbx-card{border:1px solid #dfe7f0;border-radius:12px;padding:13px 14px;background:#fff}
.account-pbx-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.account-pbx-title>div{display:grid;gap:1px}
.account-pbx-title b{font-size:12.5px}
.account-pbx-title>div span{font-size:9.5px;color:#8795a6}
.account-pbx-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:11px}
.account-pbx-facts>div{display:grid;gap:3px}
.account-pbx-facts span{font-size:9.2px;color:#8795a6}
.account-pbx-facts b{font-size:10.8px;font-weight:700;color:#314156;overflow:hidden;text-overflow:ellipsis}
.account-pbx-actions{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #edf1f5;margin-top:11px;padding-top:9px}
.account-pbx-actions>span{font-size:9.5px;color:#8795a6;white-space:nowrap;padding-top:3px}
.account-pbx-actions>div{display:flex;gap:4px;flex-wrap:wrap}
.account-pbx-actions em{font-style:normal;font-size:9px;font-weight:650;background:#eff6ff;color:#245bb9;padding:3px 6px;border-radius:6px}
.account-pbx-actions small{font-size:9.5px;color:#94a3b8}
.account-empty-state{padding:18px;border:1px dashed #d8e0e9;border-radius:10px;color:#7b8a9c;font-size:11px;text-align:center}

.account-security-head{display:flex;align-items:center;gap:11px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.account-security-icon{
  width:42px;height:42px;border-radius:12px;background:#eef4ff;color:#2563eb;display:grid;place-items:center;flex:0 0 auto
}
.account-security-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.account-security-head h2{font-size:15px;margin:0}
.account-security-head p{font-size:10.5px;color:var(--muted);margin:3px 0 0}
.account-password-form{margin-top:16px}
.account-password-form .form-group{margin-top:13px}
.account-password-form .form-group:first-child{margin-top:0}
.account-password-form .form-group label{font-size:10.5px}
.account-password-form .input{height:42px;font-size:12px}
.account-password-note{
  margin-top:11px;padding:9px 10px;border-radius:9px;background:#f8fafc;border:1px solid #e7edf3;color:#768699;font-size:9.7px;line-height:1.5
}
.account-password-button{width:100%;margin-top:13px}
.account-password-message{margin-top:10px;padding:9px 10px;border-radius:9px;font-size:10.5px;font-weight:600}
.account-password-message.success{display:block;background:#ecfdf3;border:1px solid #bbf7d0;color:#166534}
.account-password-message.error{display:block;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}

/* v2.2.9 — inline transfer submenu */
.call-action-transfer-group{border-radius:9px;overflow:hidden}
.call-action-transfer-group>.transfer-menu-toggle{
  width:100%;min-height:48px;border:0;border-radius:9px;background:transparent;display:grid;
  grid-template-columns:31px minmax(0,1fr) auto;align-items:center;text-align:left;gap:7px;
  padding:7px 8px;cursor:pointer;color:#263548
}
.call-action-transfer-group>.transfer-menu-toggle:hover{background:#f2f6fb}
.call-action-transfer-group>.transfer-menu-toggle>svg{
  width:20px;height:20px;fill:none;stroke:#52677f;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round
}
.call-action-transfer-group>.transfer-menu-toggle>span{display:grid;gap:1px}
.call-action-transfer-group>.transfer-menu-toggle b{font-size:11.5px;font-weight:720}
.call-action-transfer-group>.transfer-menu-toggle small{font-size:9.5px;color:#8391a1;font-weight:500}
.call-action-transfer-group>.transfer-menu-toggle em{font-size:13px;color:#8a99aa;font-style:normal}
.call-action-transfer-group>.transfer-menu-toggle.disabled,
.call-action-transfer-group>.transfer-menu-toggle:disabled{opacity:.45;cursor:not-allowed;background:transparent}
.call-action-transfer-group>.transfer-menu-toggle.open{background:#f5f8fc;border-radius:9px 9px 5px 5px}
.call-transfer-sublist{
  margin:1px 7px 6px 38px;padding:6px;border-left:2px solid #d7e5fa;background:#f8fbff;border-radius:0 8px 8px 0
}
.call-transfer-sublist .call-transfer-search{margin-bottom:5px}
.call-transfer-sublist .call-transfer-destinations{max-height:210px}
.call-transfer-sublist .call-transfer-destinations>button{height:39px;background:transparent;border-bottom:1px solid #e8eef6}
.call-transfer-sublist .call-transfer-destinations>button:hover{background:#eef5ff}

@media(max-width:1180px){
  .account-page-grid{grid-template-columns:1fr}
  .account-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .account-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .account-pbx-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .account-info-grid{grid-template-columns:1fr}
  .account-pbx-facts{grid-template-columns:1fr 1fr}
  .account-profile-head{align-items:flex-start}
}


/* v2.2.10 — restore core form/button components
   These generic rules were accidentally removed when the login CSS was
   replaced in v2.2.5. */
.form-group{margin-top:16px}
.form-group label{
  display:block;margin:0 0 7px;color:#334155;font-size:12px;font-weight:650;line-height:1.3
}
.input,.select{
  width:100%;height:42px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;
  padding:0 12px;color:var(--text);font-size:13px;outline:none;
  transition:border-color .15s,box-shadow .15s,background .15s
}
.input:focus,.select:focus{
  border-color:#80a7f8;box-shadow:0 0 0 3px rgba(37,99,235,.10);background:#fff
}
.btn{
  height:40px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;padding:0 14px;
  cursor:pointer;font-weight:650;font-size:13px;transition:background .15s,border-color .15s,transform .05s,opacity .15s
}
.btn:hover{background:#f8fafc;border-color:#bdcad8}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}
.btn.primary:hover{background:#1d4ed8;border-color:#1d4ed8}
.btn:disabled{opacity:.48;cursor:not-allowed;transform:none}

/* Action menu placement remains fixed after opening. */
.call-action-menu{
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain
}

/* Enhanced account security form */
.account-password-form{margin-top:18px}
.account-password-field{margin-top:17px}
.account-password-field:first-child{margin-top:0}
.account-password-field>label,
.account-password-label-row label{
  display:block;margin:0;color:#344256;font-size:11px;font-weight:720
}
.account-password-label-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px
}
.account-password-input-shell{position:relative}
.account-password-input{
  width:100%!important;height:48px!important;padding-left:43px!important;padding-right:44px!important;
  border-radius:11px!important;background:#fbfcfe!important;font-size:12.5px!important
}
.account-password-input:focus{background:#fff!important}
.account-password-field-icon{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#7990a8;
  z-index:2;display:grid;place-items:center;pointer-events:none
}
.account-password-field-icon svg,
.account-password-eye svg,
.account-password-session-icon svg,
.account-password-button svg{
  width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round
}
.account-password-eye{
  position:absolute;right:7px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#71849a;
  display:grid;place-items:center;cursor:pointer
}
.account-password-eye:hover,.account-password-eye.active{background:#eef3f8;color:#2563eb}

.account-password-strength{
  display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px
}
.account-password-strength span{height:4px;border-radius:999px;background:#e6ebf1;transition:background .18s}
.account-password-strength span.strength-1{background:#ef4444}
.account-password-strength span.strength-2{background:#f59e0b}
.account-password-strength span.strength-3{background:#3b82f6}
.account-password-strength span.strength-4{background:#16a34a}
.account-password-strength-label{font-size:9.7px;color:#94a3b8;font-weight:650}
.account-password-strength-label.score-1{color:#dc2626}
.account-password-strength-label.score-2{color:#d97706}
.account-password-strength-label.score-3{color:#2563eb}
.account-password-strength-label.score-4{color:#15803d}

.account-password-requirements{
  display:grid;gap:4px;margin-top:9px;padding:9px 10px;border-radius:9px;background:#f8fafc;border:1px solid #e7edf3
}
.account-password-requirements span{
  display:flex;align-items:center;gap:6px;color:#7b899a;font-size:9.7px;line-height:1.35
}
.account-password-requirements i{
  width:16px;height:16px;border-radius:50%;background:#e8edf3;color:#94a3b8;
  display:grid;place-items:center;font-size:9px;font-style:normal;font-weight:800
}
.account-password-requirements span.met{color:#32704a}
.account-password-requirements span.met i{background:#dcfce7;color:#15803d}

.account-password-match-label{font-size:9.7px;font-weight:650;color:#94a3b8}
.account-password-match-label.match{color:#15803d}
.account-password-match-label.mismatch{color:#dc2626}

.account-password-session-note{
  display:flex;align-items:flex-start;gap:9px;margin-top:16px;padding:11px 12px;border-radius:10px;
  background:#f5f8fc;border:1px solid #e1e9f2
}
.account-password-session-icon{
  width:29px;height:29px;border-radius:8px;background:#e8f0ff;color:#2563eb;
  display:grid;place-items:center;flex:0 0 auto
}
.account-password-session-icon svg{width:15px;height:15px}
.account-password-session-note>div{display:grid;gap:2px}
.account-password-session-note b{font-size:10.5px;color:#344256}
.account-password-session-note span{font-size:9.5px;line-height:1.45;color:#768699}

.account-password-button{
  width:100%;height:46px;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px;
  border-radius:10px;box-shadow:0 8px 20px rgba(37,99,235,.14)
}
.account-password-button svg{width:17px;height:17px}
.account-password-button.busy{cursor:wait}

.account-password-message{
  margin-top:10px;padding:10px 11px;border-radius:9px;font-size:10.5px;font-weight:600;line-height:1.45
}


/* v2.2.11 — sidebar polish */
.brand-mark{
  width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;
  background:transparent!important;border:0!important;border-radius:0!important;
  padding:0!important;box-shadow:none!important;overflow:visible!important
}
.brand-mark img{
  width:36px!important;height:36px!important;object-fit:contain;display:block;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.16))
}

/* Compact integrated sidebar chevron — no white tab protruding from the app */
.sidebar-toggle{
  position:absolute!important;right:-12px!important;top:16px!important;
  width:25px!important;height:25px!important;border:1px solid rgba(163,188,214,.24)!important;
  border-radius:50%!important;background:#17304a!important;color:#c9d8e8!important;
  display:grid!important;place-items:center!important;padding:0!important;
  cursor:pointer!important;box-shadow:0 4px 12px rgba(0,0,0,.18)!important;
  transition:background .15s,border-color .15s,color .15s,transform .18s!important;
  z-index:30
}
.sidebar-toggle:hover{
  background:#214464!important;border-color:rgba(188,211,232,.42)!important;color:#fff!important
}
.sidebar-toggle svg{
  width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease
}
.sidebar-toggle.is-collapsed svg{transform:rotate(180deg)}
body.sidebar-collapsed .sidebar-toggle{right:-12px!important}

/* Cleaner trunk direction icon */
#navTrunks .nav-icon svg{stroke-width:1.75}

/* v2.3.0 Today Performance */
.today-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.today-page-head h2{margin:2px 0 4px;font-size:22px;letter-spacing:-.025em}.today-page-head p{margin:0;color:var(--muted);font-size:11.5px}.today-date-label{font-size:9.5px;font-weight:800;letter-spacing:.13em;color:#2563eb}.today-page-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;justify-content:flex-end}.today-scope-control{display:grid;gap:5px;min-width:220px}.today-scope-control label{font-size:9.5px;color:#718096;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.today-scope-control .select{height:40px}.today-source-banner{display:flex;align-items:flex-start;gap:12px;border-radius:11px;padding:11px 13px;margin-bottom:12px;border:1px solid #fde68a;background:#fffbeb;color:#92400e}.today-source-banner b{font-size:11.5px;white-space:nowrap}.today-source-banner span{font-size:10.5px;line-height:1.45}.today-source-banner.error{background:#fff1f2;border-color:#fecdd3;color:#9f1239}.today-dashboard-meta{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;padding:0 2px}.today-dashboard-meta>div{display:flex;align-items:center;gap:8px}.today-dashboard-meta span{font-size:10px;color:#8795a6}.today-dashboard-meta b{font-size:11px;color:#43536a}.today-text-button{border:0;background:transparent;color:#2563eb;font-size:10px;font-weight:650;cursor:pointer;padding:4px 5px}.today-text-button:hover{text-decoration:underline}.today-table-stack{display:grid;gap:13px}.today-table-card{overflow:hidden}.today-table-card.dragging{opacity:.5}.today-table-card.drag-over{outline:2px solid #80a7f8;outline-offset:2px}.today-table-card-head{min-height:58px;display:flex;align-items:center;gap:10px;padding:10px 13px;border-bottom:1px solid #e4eaf1;background:#fff}.today-drag-handle{width:25px;height:32px;display:grid;place-items:center;color:#9aa8b8;cursor:grab;flex:0 0 auto}.today-drag-handle svg{width:18px;height:18px;fill:currentColor}.today-table-title{min-width:0;flex:1}.today-table-title h3{margin:0;font-size:13.5px}.today-table-title span{display:block;color:#8391a1;font-size:9.8px;margin-top:2px}.today-table-card-actions{display:flex;align-items:center;gap:5px}.today-table-scroll{overflow:auto;max-height:520px;overscroll-behavior:contain}.today-performance-table{min-width:940px}.today-performance-table th{white-space:nowrap}.today-performance-table th>span{display:block;color:#42546a;font-size:10.5px}.today-performance-table th>small{display:block;font-size:8.5px;color:#9aa7b5;margin-top:2px}.today-performance-table td{font-size:11.5px}.today-resource-name{display:grid;gap:2px;min-width:150px}.today-resource-name b{font-size:11.8px}.today-resource-name span{font-size:9.5px;color:#8291a3}.today-current-call{display:grid;gap:1px}.today-current-call b{font-size:11px}.today-current-call span{font-size:9px;color:#7f8ea0}.today-live-number{display:inline-flex;min-width:25px;justify-content:center;border-radius:7px;padding:3px 6px;font-weight:750}.today-live-number.warning{background:#fff7ed;color:#c2410c}.today-live-number.danger{background:#fff1f2;color:#be123c}.today-loading{min-height:170px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;gap:12px;color:#40536a}.today-loading>span{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:loginSpin .8s linear infinite}.today-loading>div{display:grid;gap:2px}.today-loading b{font-size:12px}.today-loading small{font-size:10px;color:#8593a4}.today-empty-dashboard{min-height:280px;border:1px dashed #cbd6e3;border-radius:15px;background:#fff;display:grid;place-items:center;align-content:center;text-align:center;padding:30px}.today-empty-icon{font-size:31px;color:#7da2d9}.today-empty-dashboard h3{margin:8px 0 3px;font-size:15px}.today-empty-dashboard p{margin:0 0 14px;color:#7b899a;font-size:10.5px}.today-builder-modal{width:min(1060px,97vw)}.modal-subtitle{font-size:10px;color:#8190a1;margin-top:2px}.today-builder-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;margin-top:14px}.today-builder-side{border:1px solid #e0e7ef;border-radius:12px;background:#f8fafc;padding:13px;align-self:start;position:sticky;top:0}.today-builder-summary{display:grid;gap:3px;padding:10px;border-radius:9px;background:#fff;border:1px solid #e6ebf1;margin-bottom:11px}.today-builder-summary span{font-size:9px;text-transform:uppercase;color:#8997a7;letter-spacing:.05em;font-weight:700}.today-builder-summary b{font-size:12px;color:#26384d}.today-builder-summary small{font-size:9px;color:#8c99a8}.today-builder-tip{display:grid;gap:4px;margin-top:14px;border-top:1px solid #dfe6ee;padding-top:12px}.today-builder-tip b{font-size:10.5px;color:#2563eb}.today-builder-tip span{font-size:9.5px;color:#758598;line-height:1.5}.today-builder-search{margin:6px 0 8px}.today-builder-resource-list{max-height:280px;overflow:auto;border:1px solid #e0e7ef;border-radius:9px;padding:5px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.today-resource-option{min-height:39px;display:grid;grid-template-columns:18px minmax(0,1fr);gap:7px;align-items:center;border-radius:7px;padding:5px 7px;cursor:pointer}.today-resource-option:hover{background:#f3f7fc}.today-resource-option>span{display:grid;min-width:0}.today-resource-option b{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-resource-option small{font-size:9px;color:#8795a6}.today-column-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.today-column-option{min-height:48px;border:1px solid #e3e9f0;border-radius:9px;padding:7px 8px;display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;align-items:center;cursor:pointer;background:#fff}.today-column-option:hover{border-color:#c5d5e8;background:#f9fbfd}.today-column-option>span{display:grid;gap:1px}.today-column-option b{font-size:10.2px}.today-column-option small{font-size:8.8px;color:#8291a3}.today-builder-footer{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid #e4eaf1;margin-top:15px;padding-top:13px}.server-metrics-block{margin-top:14px}.form-span-2{grid-column:1/-1}.metrics-token-row{display:flex;gap:9px;align-items:center}.metrics-token-row .input{flex:1}.metrics-clear-token{white-space:nowrap;margin:0!important}.server-metrics-actions{display:flex;align-items:center;gap:10px;margin-top:10px}.mini.danger-soft{color:#a51d2d;background:#fff7f7;border-color:#f3c9cf}@media(max-width:1050px){.today-page-head{align-items:flex-start;flex-direction:column}.today-page-actions{width:100%;justify-content:flex-start}.today-builder-grid{grid-template-columns:1fr}.today-builder-side{position:static}.today-column-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.today-page-actions{display:grid;grid-template-columns:1fr 1fr}.today-scope-control{grid-column:1/-1;min-width:0}.today-builder-resource-list,.today-column-list{grid-template-columns:1fr}.today-table-card-head{align-items:flex-start;flex-wrap:wrap}.today-table-card-actions{width:100%;justify-content:flex-end}.metrics-token-row{align-items:flex-start;flex-direction:column}}

/* v2.3.1 secure Today integration */
.today-security-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.today-security-summary span{font-size:9.4px;font-weight:650;color:#166534;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:999px;padding:4px 7px}
