:root{--blue:#386cf4;--blue2:#4b81f2;--navy:#152748;--muted:#8293b2;--soft:#f4f8ff;--line:#e1eaf6;--green:#05c989;--danger:#e4435a;--shadow:0 15px 36px rgba(45,83,149,.09)}*{box-sizing:border-box}html,body{min-height:100%;margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--navy);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #2c67fc;outline-offset:2px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}a{color:var(--blue)}.muted{color:var(--muted)}.s2-login-page{background:linear-gradient(120deg,#eaf2ff 0%,#f9fbff 45%,#edf4ff 100%);display:flex;align-items:center;justify-content:center;min-height:100vh;padding:26px 18px}.s2-login-layout{width:min(100%,460px);position:relative;padding-top:150px}.s2-login-banner{position:absolute;top:0;left:0;right:0;height:212px;border-radius:30px;background:linear-gradient(125deg,#3269f1,#4d83f5);color:#fff;padding:34px 34px;box-shadow:0 16px 30px rgba(61,108,233,.20)}.s2-login-banner h1{font-size:28px;letter-spacing:-.6px;margin:0 0 12px;font-weight:800}.s2-login-banner p{color:#f4f7ff;margin:0}.s2-login-card{position:relative;background:#fff;border-radius:24px;padding:32px 28px 30px;margin:0 20px;box-shadow:var(--shadow)}.s2-login-card h2{font-size:27px;letter-spacing:-.6px;margin:0 0 8px;font-weight:800}.s2-login-card>.muted{margin-bottom:26px}.s2-login-form{display:flex;flex-direction:column;gap:10px}.s2-login-form label{font-size:13px;font-weight:700;margin-top:9px;color:#495d7e}.s2-login-form input{width:100%;padding:0 15px;height:49px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;outline:none}.s2-login-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #376ff222}.primary-btn{background:linear-gradient(120deg,#326af0,#4b80f2);border:0;color:#fff;border-radius:13px;font-weight:700;box-shadow:0 10px 17px #376dff1c;padding:12px 20px}.primary-btn:hover{filter:brightness(1.05)}.login-button{height:48px;margin-top:13px;width:100%}.field-validation-error,.form-errors{color:#d6324d;font-size:12px}.form-errors ul{padding-left:18px}.s2-login-footer{text-align:center;margin-top:17px;font-size:11px;color:#7b8ca8}.s2-app-page{background:radial-gradient(circle at 95% 0%,#e9f1ff,transparent 48%),#f5f9ff}.s2-topbar{display:flex;align-items:stretch;gap:16px;background:#fff;min-height:74px;border-bottom:1px solid #e6eef9;box-shadow:0 3px 11px #293e6608;position:sticky;top:0;z-index:15}.s2-brand{background:linear-gradient(110deg,#3368ec,#4b83f4);color:white;min-width:236px;display:flex;align-items:center;padding:0 24px;font-size:18px;font-weight:800;white-space:nowrap}.account-wrap{position:relative;display:flex;align-items:stretch;flex:0 0 auto}.account-trigger{border:0;background:white;padding:10px 16px 10px 6px;display:flex;align-items:center;gap:12px;min-width:190px;text-align:left}.account-avatar{background:linear-gradient(135deg,#60a6f5,#3ac9c2);border-radius:50%;display:grid;place-items:center;width:41px;height:41px;color:white;font-weight:800}.account-text{display:flex;flex-direction:column;gap:3px;max-width:145px}.account-text strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.account-text small{font-size:11px;color:var(--muted)}.chevron{color:#a4b5ce;margin-left:auto}.account-dropdown{position:absolute;top:72px;left:0;width:215px;background:white;box-shadow:var(--shadow);border:1px solid var(--line);border-radius:13px;z-index:30;padding:7px}.account-dropdown hr{border:0;border-top:1px solid var(--line);margin:4px 8px}.account-option{border:0;width:100%;background:white;padding:12px 11px;text-align:left;border-radius:8px;font-weight:600;color:#364762}.account-option:hover{background:var(--soft)}.header-search{display:flex;align-items:center;gap:8px;align-self:center;max-width:390px;min-width:130px;flex:1;padding:0 14px;height:41px;border:1px solid var(--line);background:#fafcff;border-radius:21px;color:#8ca0c0}.header-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;width:100%;font-size:13px}.s2-tabs{display:flex;align-items:center;margin-left:auto;padding-right:24px;gap:11px}.tab-pill{padding:12px 23px;border:0;background:#fff;border-radius:24px;white-space:nowrap;color:#3368ee;font-weight:750;box-shadow:0 6px 18px #5375bf12}.tab-pill.active{background:linear-gradient(120deg,#356cf6,#4e85f3);color:white;box-shadow:0 8px 20px #386cff33}.s2-content{max-width:1480px;margin:auto;padding:28px 32px 56px}.page-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 22px}.page-head h1{font-size:26px;margin:0 0 6px;letter-spacing:-.5px}.page-head p{color:#8b9bb1;margin:0}.stats{display:flex;gap:12px;margin:0 0 0}.stat-card{border-radius:15px 15px 0 0;background:white;border-left:3px solid #3a70f5;min-width:180px;padding:16px 20px;color:#3867ea}.stat-card.selected{background:linear-gradient(120deg,#346af2,#5288f5);color:white}.stat-card strong{display:block;font-weight:800;font-size:24px;margin-bottom:4px}.stat-card span{font-size:12px}.section-card{background:white;border-radius:0 16px 16px 16px;padding:23px 24px 26px;box-shadow:var(--shadow);border:1px solid #edf2f9}.section-card.single{border-radius:16px}.card-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:20px}.card-toolbar h2{font-size:17px;margin:0}.toolbar-controls{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.toolbar-controls label{font-weight:700;font-size:11px;color:#4d6285;display:flex;flex-direction:column;gap:6px}.toolbar-controls select{background:white;border:1px solid #dbe6f5;border-radius:11px;padding:10px 12px;color:#223a62;min-width:190px}.table-scroll{overflow-x:auto;border:1px solid #e8eef8;border-radius:12px}table{width:100%;border-collapse:collapse}th{font-weight:750;font-size:11px;letter-spacing:.25px;text-align:left;color:#667896;background:#f7faff;padding:16px 15px;border-bottom:1px solid var(--line)}td{font-size:13px;padding:14px 15px;border-top:1px solid #edf2fa;vertical-align:middle;color:#253b60}tbody tr:hover{background:#fbfdff}.meter-main{font-weight:750;color:#172b4d}.meter-sub{display:block;font-size:11px;color:var(--muted);margin-top:4px}.pill-status{display:inline-flex;border-radius:20px;background:#e3fbf1;color:#05ae73;padding:7px 15px;font-weight:700;font-size:12px}.row-actions{display:flex;align-items:center;gap:8px}.small-btn{border:0;background:#3971f3;color:white;font-weight:700;border-radius:10px;padding:9px 16px}.small-btn.danger{background:#ffedf0;color:#e44259}.small-btn.outline{background:#f2f6ff;color:#3d6de8}.empty-state{text-align:center;padding:44px 12px;color:#8494ad}.loading{padding:45px;color:#8495b3;text-align:center}.event-card{border:1px solid #e8eff8;border-radius:16px;background:white;box-shadow:0 7px 26px #5075b30a;margin-bottom:22px;overflow:hidden}.meter-summary{display:flex;align-items:center;gap:26px;background:#fbfdff;padding:18px 22px;border-bottom:1px solid #e9eff7;flex-wrap:wrap}.meter-symbol{width:54px;height:54px;border-radius:13px;background:#e5efff;display:grid;place-items:center;font-size:25px;flex:0 0 54px}.summary-item{min-width:105px}.summary-item.wide{min-width:190px}.summary-item small{color:#8b9db7;display:block;margin-bottom:7px}.summary-item strong{font-size:13px}.summary-item.wide strong{font-size:17px}.event-body{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:17px;padding:19px}.register-panel,.active-panel{border:1px solid #edf2fa;border-radius:12px;padding:15px;min-width:0}.register-panel h3,.active-panel h3{font-size:16px;margin:0 0 14px}.register-scroller{overflow:auto}.bit-grid{display:grid;grid-template-columns:96px repeat(8,minmax(86px,1fr));min-width:820px;align-items:stretch}.register-grid-head{background:#f2f6fd;border:1px solid #e5ecf7;border-radius:9px 9px 0 0;font-size:11px;font-weight:750;color:#567196}.register-grid-head>div{padding:10px 2px;text-align:center}.register-row{border:1px solid #eaf0f8;border-top:none;min-height:70px}.register-row:nth-child(2n){background:#fafcff}.register-label{display:flex;align-items:center;padding:12px;font-size:12px;font-weight:800;color:#3c5478;border-right:1px solid #e8eef7}.bit-cell{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:70px;padding:6px 4px;text-align:center;border-right:1px solid #f0f3f9}.bit-cell:last-child{border-right:0}.bit-dot{height:11px;width:11px;border-radius:100%;background:#b7c5d9}.bit-dot.active{background:#ff354a;box-shadow:0 0 0 3px #ffe6eb}.bit-label{font-size:10.5px;line-height:1.2;color:#657a96;overflow-wrap:anywhere;max-height:30px;overflow:hidden}.active-list{display:flex;flex-direction:column;gap:8px;max-height:610px;overflow:auto}.event-line{display:flex;align-items:center;gap:9px;border:1px solid #eef3fa;border-radius:8px;padding:8px;font-size:11.5px}.event-chip{background:#ffe7eb;color:#d73852;border-radius:6px;padding:6px 8px;white-space:nowrap;font-weight:800}.no-events{color:#8799b4;padding:10px}.s2-toast{position:fixed;bottom:24px;right:25px;background:#1a3151;color:#fff;padding:14px 21px;border-radius:13px;box-shadow:var(--shadow);z-index:50;max-width:min(440px,90vw)}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#101d3580;z-index:40;padding:16px}.modal-box{width:min(570px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:20px;padding:25px;box-shadow:0 24px 62px #15284446}.modal-title{display:flex;justify-content:space-between;align-items:center}.modal-title h2{margin:0 0 19px}.plain-close{border:0;background:transparent;font-size:25px;color:#71809c}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid label{display:flex;flex-direction:column;font-size:12px;font-weight:700;color:#485b78;gap:7px}.form-grid input,.form-grid select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%;background:white}.form-span{grid-column:1/-1}.permission-set{display:flex;gap:18px;margin-top:8px}.permission-set label{display:flex;flex-direction:row;align-items:center;gap:8px}.permission-set input{width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.tiny-note{color:#8998ae;font-size:11px;margin-top:8px}.subtle-btn{border:1px solid var(--line);background:white;padding:10px 18px;border-radius:11px;color:#5b7398;font-weight:750}.action-col{min-width:160px}@media(max-width:1180px){.s2-topbar{gap:9px;flex-wrap:wrap}.s2-brand{min-width:180px}.account-trigger{min-width:155px}.s2-tabs{gap:5px;padding-right:12px}.tab-pill{padding:10px 13px}.header-search{max-width:250px}.event-body{grid-template-columns:1fr}.active-list{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.s2-topbar{gap:0}.s2-brand{width:100%;height:52px}.account-wrap{width:45%}.header-search{order:4;max-width:none;margin:8px 14px;width:calc(100% - 28px);flex:auto}.s2-tabs{margin:0 0 0 auto}.tab-pill{font-size:11px;padding:10px}.s2-content{padding:22px 12px 35px}.page-head h1{font-size:22px}.section-card{padding:14px}.stat-card{min-width:125px}.event-body{padding:10px}.active-list{display:flex}.form-grid{grid-template-columns:1fr}}

/* S2.13.16: inline display selector, balanced metrics and notification center. */
.page-head p[hidden], .s2-tabs[hidden], .notifications-dropdown[hidden], .notification-badge[hidden] { display:none!important; }
.page-head { margin-bottom:18px; }
.stats { gap:13px; align-items:stretch; }
.stat-card { border-left:0; min-width:178px; min-height:95px; border-radius:15px 15px 0 0; padding:17px 22px; box-shadow:0 3px 10px #5075b30a; }
.stat-card.secondary { background:#fff; color:#356beb; border-top:3px solid #356ff5; }
.toolbar-controls { flex-wrap:nowrap; align-items:center; }
.toolbar-controls label.display-control { display:flex; flex-direction:row; align-items:center; gap:12px; font-size:12px; white-space:nowrap; }
.toolbar-controls .display-control select { min-width:190px; }
.notifications-wrap { position:relative; align-self:center; flex:none; }
.notifications-trigger { display:flex; align-items:center; justify-content:center; width:43px; height:43px; border:1px solid #e0e8f6; border-radius:50%; background:#fff; color:#466387; position:relative; }
.notifications-trigger:hover { background:#f3f7ff; }
.notification-badge { position:absolute; min-width:18px; height:18px; top:-6px; right:-6px; border-radius:10px; background:#ee4058; border:2px solid white; color:white; font-size:10px; font-weight:800; display:grid; place-items:center; padding:0 3px; }
.notifications-dropdown { position:absolute; top:54px; right:-20px; width:min(390px,calc(100vw - 24px)); z-index:40; background:white; border:1px solid #e1e9f6; border-radius:15px; box-shadow:0 14px 35px #213f7526; overflow:hidden; }
.notifications-heading { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid #edf1f9; }
.notifications-heading strong { color:#1d3150; }
.mark-read-btn { background:transparent; border:0; color:#376df3; font-size:12px; font-weight:700; }
.notification-list { overflow:auto; max-height:410px; }
.notification-row { border:0; border-bottom:1px solid #edf1f9; background:#fff; padding:12px 15px; display:flex; gap:12px; text-align:left; width:100%; align-items:flex-start; }
.notification-row.unread { background:#f3f7ff; }
.notification-row:hover { background:#ecf3ff; }
.notification-row-dot { background:#c8d3e3; border-radius:50%; height:8px; width:8px; margin-top:7px; flex:none; }
.notification-row.unread .notification-row-dot { background:#2e6afa; }
.notification-row-text { display:flex; flex-direction:column; gap:4px; min-width:0; overflow-wrap:anywhere; }
.notification-row-text strong { font-size:12px; color:#1b3356; line-height:1.5; }
.notification-row-text small { font-size:10.5px; color:#8596ad; }
.notification-empty { text-align:center; padding:30px 15px; color:#8b9db4; font-size:13px; }
@media(max-width:760px) { .notifications-wrap { margin:5px 8px; } .stats { flex-wrap:wrap; } .stat-card { flex:1; min-width:145px; } .toolbar-controls label.display-control { gap:8px; } .toolbar-controls .display-control select { min-width:150px; } }

/* S2.13.17: separate summary metrics from the two interactive meter page tabs. */
.meter-metrics {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,250px));
  gap:15px;
  margin:0 0 18px;
}
.meter-metric-card {
  background:#fff;
  border:1px solid #e1eaf6;
  border-radius:14px;
  min-height:106px;
  padding:19px 22px;
  box-shadow:0 5px 20px rgba(45,83,149,.06);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.meter-metric-card .metric-label {
  font-size:13px;
  font-weight:750;
  color:#596e8d;
}
.meter-metric-card strong {
  font-size:31px;
  font-weight:850;
  color:#346cf2;
  line-height:1.15;
}
.content-meter-tabs {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 0;
  border-bottom:1px solid #e0eafa;
}
.content-meter-tab {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:49px;
  padding:12px 24px;
  border:1px solid #e0eafa;
  border-bottom:0;
  border-radius:14px 14px 0 0;
  background:#f7faff;
  font-weight:750;
  color:#526c92;
  position:relative;
  top:1px;
}
.content-meter-tab:hover { background:#edf4ff; color:#2866f0; }
.content-meter-tab.active {
  background:#fff;
  color:#1e5ded;
  border-color:#e0eafa;
  box-shadow:inset 0 3px #346cf2;
}
.content-meter-tabs + .section-card {
  border-radius:0 15px 15px 15px;
  border-top:0;
}
@media(max-width:610px) {
  .meter-metrics { grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
  .meter-metric-card { padding:15px 12px;min-height:88px; }
  .meter-metric-card strong { font-size:27px; }
  .content-meter-tabs {gap:6px;}
  .content-meter-tab {padding:10px 12px;font-size:12px;}
}
