/* Xniffer Training Room v155
   Visual-only professional refinement. No training logic, access rules, data flow or IDs changed. */

body.training-room-page{
  --tr-bg:#040b16;
  --tr-surface:#091525;
  --tr-surface-2:#0d1b2e;
  --tr-surface-3:#102238;
  --tr-line:rgba(130,174,230,.17);
  --tr-line-strong:rgba(80,151,239,.34);
  --tr-text:#f7fbff;
  --tr-muted:#9fb0c4;
  --tr-blue:#2f80ed;
  --tr-cyan:#35bdf6;
  --tr-green:#31c48d;
  --tr-yellow:#f6c85f;
  min-height:100vh;
  color:var(--tr-text);
  background:
    radial-gradient(circle at 8% -4%,rgba(47,128,237,.18),transparent 30%),
    radial-gradient(circle at 94% 6%,rgba(53,189,246,.10),transparent 28%),
    linear-gradient(180deg,#040a14 0%,#06101d 45%,#030812 100%)!important;
}
body.training-room-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.26;
  background-image:
    linear-gradient(rgba(92,156,232,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(92,156,232,.04) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(#000,transparent 88%);
}
body.training-room-page .xn-dashboard-nav{
  min-height:78px;
  padding-block:12px!important;
  border-bottom:1px solid rgba(100,160,232,.16)!important;
  background:rgba(4,11,23,.92)!important;
  backdrop-filter:blur(18px);
  box-shadow:0 16px 54px rgba(0,0,0,.28)!important;
}
body.training-room-page .xn-brand img{width:54px!important;height:54px!important;}
body.training-room-page .xn-brand-text strong{font-size:20px!important;letter-spacing:-.02em;}
body.training-room-page .xn-brand-text span{color:#8eb9e9!important;}

.training-room-shell{
  width:min(1480px,calc(100% - 48px))!important;
  margin:0 auto!important;
  padding:30px 0 64px!important;
  display:grid;
  gap:20px;
}
.training-room-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:34px;
  align-items:center;
  min-height:280px;
  padding:clamp(28px,4vw,52px);
  border:1px solid var(--tr-line-strong);
  border-radius:30px;
  background:
    radial-gradient(circle at 85% 12%,rgba(49,196,141,.14),transparent 28%),
    radial-gradient(circle at 10% 0%,rgba(47,128,237,.23),transparent 35%),
    linear-gradient(135deg,rgba(10,26,48,.97),rgba(6,15,29,.98));
  box-shadow:0 26px 80px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.035);
}
.training-room-hero::after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  right:-180px;
  bottom:-230px;
  border:64px solid rgba(47,128,237,.08);
  border-radius:50%;
  pointer-events:none;
}
.training-room-hero-copy,.training-room-hero-status{position:relative;z-index:1;}
.training-room-kicker{
  margin:0 0 12px;
  color:#8cc7ff;
  font-size:12px;
  line-height:1;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.training-room-hero h1{
  margin:0;
  color:#fff;
  font-size:clamp(44px,5.2vw,76px);
  line-height:.96;
  letter-spacing:-.06em;
}
.training-room-hero-copy>p:not(.training-room-kicker){
  max-width:810px;
  margin:18px 0 0;
  color:#b5c5d8;
  font-size:clamp(16px,1.5vw,19px);
  line-height:1.65;
  font-weight:550;
}
.training-room-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}
body.training-room-page .training-room-hero-actions .dash-button{min-width:170px;}
.training-room-hero-status{
  padding:24px;
  border:1px solid rgba(124,181,243,.19);
  border-radius:22px;
  background:linear-gradient(155deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.training-room-status-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:18px;
  padding:8px 11px;
  border:1px solid rgba(49,196,141,.27);
  border-radius:999px;
  background:rgba(49,196,141,.09);
  color:#9af2cd;
  font-size:11px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.training-room-status-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tr-green);box-shadow:0 0 14px rgba(49,196,141,.7);}
.training-room-hero-status strong{display:block;color:#fff;font-size:clamp(22px,2vw,30px);line-height:1.24;letter-spacing:-.03em;}
.training-room-hero-status p{margin:12px 0 0;color:#aabbd0;line-height:1.55;font-size:14px;}

.training-room-step-bar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:12px;
  border:1px solid var(--tr-line);
  border-radius:20px;
  background:rgba(7,17,31,.78);
  box-shadow:0 16px 50px rgba(0,0,0,.18);
}
.training-room-step-bar>div{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:70px;
  padding:13px 15px;
  border-radius:15px;
  background:rgba(255,255,255,.028);
}
.training-room-step-bar b{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 auto;
  border:1px solid rgba(47,128,237,.26);
  border-radius:12px;
  background:rgba(47,128,237,.11);
  color:#8bc4ff;
  font-size:12px;
}
.training-room-step-bar span{display:grid;gap:3px;min-width:0;}
.training-room-step-bar strong{color:#edf6ff;font-size:14px;}
.training-room-step-bar small{color:#8498ae;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

body.training-room-page .prime-cycle-panel.training-room-standalone{
  display:grid!important;
  gap:20px!important;
  margin:0!important;
}
body.training-room-page .clean-card-workspace{
  display:grid;
  gap:20px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.training-room-page .workspace-focus-head{
  padding:25px 28px!important;
  border:1px solid var(--tr-line)!important;
  border-radius:23px!important;
  background:linear-gradient(135deg,rgba(13,31,54,.92),rgba(8,19,34,.96))!important;
  box-shadow:0 20px 62px rgba(0,0,0,.22)!important;
}
body.training-room-page .workspace-focus-head .micro-label{margin:0 0 7px!important;}
body.training-room-page .workspace-focus-head h2{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(26px,2.5vw,38px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
body.training-room-page .workspace-focus-head p:last-child{margin:9px 0 0!important;color:#9eb1c7!important;line-height:1.55!important;font-size:15px!important;}

body.training-room-page .workspace-module.prime-training-card{
  position:relative;
  overflow:hidden;
  padding:clamp(22px,3vw,34px)!important;
  border:1px solid var(--tr-line)!important;
  border-radius:26px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(47,128,237,.085),transparent 32%),
    linear-gradient(180deg,rgba(10,24,42,.97),rgba(6,15,28,.985))!important;
  box-shadow:0 22px 68px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.03)!important;
}
body.training-room-page .workspace-module.prime-training-card::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:linear-gradient(180deg,var(--tr-blue),var(--tr-cyan),transparent 82%);
  opacity:.82;
}
body.training-room-page .workspace-module.prime-training-card::before{display:none!important;}
body.training-room-page .workspace-head{gap:22px!important;margin-bottom:20px!important;}
body.training-room-page .workspace-head h2{
  margin:6px 0 8px!important;
  color:#fff!important;
  font-size:clamp(25px,2.5vw,35px)!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
}
body.training-room-page .workspace-head p:not(.micro-label){max-width:900px!important;color:#9fb2c8!important;font-size:15px!important;line-height:1.58!important;font-weight:520!important;}
body.training-room-page .micro-label{color:#81bfff!important;font-size:11px!important;letter-spacing:.14em!important;font-weight:850!important;}
body.training-room-page .workspace-access{
  min-height:34px!important;
  padding:0 12px!important;
  border-color:rgba(49,196,141,.25)!important;
  background:rgba(49,196,141,.09)!important;
  color:#9af2cd!important;
  font-size:11px!important;
  letter-spacing:.03em;
}
body.training-room-page .paper-only-ribbon{
  margin-bottom:18px;
  padding:13px 15px!important;
  border:1px solid rgba(246,200,95,.20)!important;
  border-radius:13px!important;
  background:rgba(246,200,95,.075)!important;
  color:#f8dda1!important;
  font-size:13px;
  box-shadow:none!important;
}

body.training-room-page .rule-profile-split{grid-template-columns:minmax(0,1.16fr) minmax(380px,.84fr)!important;gap:20px!important;margin-top:0!important;}
body.training-room-page .rule-entry-grid{gap:12px!important;}
body.training-room-page .rule-entry-grid label,
body.training-room-page .mini-journal-grid label,
body.training-room-page .challenge-save-grid label{
  padding:14px!important;
  gap:8px!important;
  border:1px solid rgba(124,172,225,.13)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.025)!important;
  box-shadow:none!important;
}
body.training-room-page .rule-entry-grid label:hover,
body.training-room-page .mini-journal-grid label:hover{border-color:rgba(79,151,237,.26)!important;background:rgba(255,255,255,.035)!important;}
body.training-room-page .rule-entry-grid label span,
body.training-room-page .mini-journal-grid label span,
body.training-room-page .challenge-save-grid label span{
  color:#7fbaf6!important;
  font-size:10px!important;
  letter-spacing:.12em!important;
}
body.training-room-page .field-mini-note{color:#778ba2!important;font-size:11px!important;line-height:1.4!important;font-weight:520!important;}
body.training-room-page .rule-entry-grid input,
body.training-room-page .rule-entry-grid select,
body.training-room-page .mini-journal-grid input,
body.training-room-page .mini-journal-grid select,
body.training-room-page .mini-journal-grid textarea,
body.training-room-page .challenge-save-grid select,
body.training-room-page .challenge-save-grid textarea{
  min-height:46px;
  padding:11px 12px!important;
  border:1px solid rgba(111,160,217,.18)!important;
  border-radius:11px!important;
  background:#061120!important;
  color:#f5f9ff!important;
  font-size:14px!important;
  font-weight:650!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;
}
body.training-room-page .mini-journal-grid textarea,
body.training-room-page .challenge-save-grid textarea{min-height:112px;}
body.training-room-page .rule-entry-grid input:focus,
body.training-room-page .rule-entry-grid select:focus,
body.training-room-page .mini-journal-grid input:focus,
body.training-room-page .mini-journal-grid select:focus,
body.training-room-page .mini-journal-grid textarea:focus{
  border-color:rgba(47,128,237,.68)!important;
  box-shadow:0 0 0 3px rgba(47,128,237,.12)!important;
}
body.training-room-page input:disabled,
body.training-room-page select:disabled,
body.training-room-page textarea:disabled{opacity:.62;cursor:not-allowed;}

body.training-room-page .rule-limit-pane{
  padding:20px!important;
  gap:15px!important;
  border:1px solid rgba(79,151,237,.20)!important;
  border-radius:20px!important;
  background:linear-gradient(160deg,rgba(16,38,66,.82),rgba(8,20,36,.92))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
}
body.training-room-page .rule-limit-pane h3{font-size:25px!important;line-height:1.15!important;}
body.training-room-page .rule-limit-pane h3 small{color:#91a5bc!important;line-height:1.45!important;}
body.training-room-page .rule-constitution-list{gap:9px!important;}
body.training-room-page .rule-constitution-list li{color:#c8d6e7!important;font-size:13px!important;font-weight:600!important;}
body.training-room-page .limit-math-grid{gap:10px!important;}
body.training-room-page .limit-card,
body.training-room-page .standard-chip,
body.training-room-page .score-box,
body.training-room-page .daily-diagnosis-card,
body.training-room-page .category-card-v2{
  border:1px solid rgba(126,174,226,.12)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.03)!important;
  box-shadow:none!important;
}
body.training-room-page .limit-card{padding:13px!important;}
body.training-room-page .limit-card strong{font-size:20px!important;}
body.training-room-page .limit-card span,
body.training-room-page .standard-chip span{color:#869ab2!important;}
body.training-room-page .limit-card small{color:#71849a!important;}

body.training-room-page .rule-standard-panel{
  margin-bottom:18px!important;
  padding:17px!important;
  border:1px solid rgba(124,172,225,.14)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.025)!important;
}
body.training-room-page .standard-chip-grid{gap:9px!important;}
body.training-room-page .standard-chip{padding:11px 12px!important;}
body.training-room-page .standard-chip strong{font-size:14px!important;}
body.training-room-page .mini-journal-grid{gap:12px!important;}
body.training-room-page .workspace-actions{margin-top:20px!important;gap:12px!important;}
body.training-room-page .dash-button{
  min-height:44px!important;
  padding:0 17px!important;
  border:1px solid rgba(124,172,225,.20)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.04)!important;
  color:#edf6ff!important;
  font-size:13px!important;
  font-weight:800!important;
  box-shadow:none!important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease!important;
}
body.training-room-page .dash-button:hover{transform:translateY(-1px);border-color:rgba(99,162,239,.48)!important;background:rgba(47,128,237,.10)!important;}
body.training-room-page .dash-button.primary{
  border-color:transparent!important;
  background:linear-gradient(135deg,#2f80ed,#176fd1)!important;
  box-shadow:0 10px 24px rgba(47,128,237,.22)!important;
}
body.training-room-page .dash-button.danger{
  border-color:rgba(239,100,100,.26)!important;
  background:rgba(239,100,100,.075)!important;
  color:#ffb1b1!important;
}
body.training-room-page .dash-button:disabled{opacity:.48;transform:none!important;box-shadow:none!important;}
body.training-room-page .workspace-status{color:#8498af!important;font-size:12px!important;font-weight:600!important;}
body.training-room-page .privacy-box{
  margin-top:18px;
  padding:14px 16px!important;
  border:1px solid rgba(124,172,225,.14)!important;
  border-radius:13px!important;
  background:rgba(47,128,237,.055)!important;
  color:#aebed1!important;
  box-shadow:none!important;
}

body.training-room-page .journal-table-wrap-v2{max-width:100%;overflow-x:auto;margin-top:16px;padding-bottom:4px;}
body.training-room-page .journal-table-v2{min-width:980px!important;border-spacing:0 8px!important;}
body.training-room-page .journal-table-v2 th{color:#6faeea!important;font-size:10px!important;}
body.training-room-page .journal-table-v2 td{
  padding:13px!important;
  border-top:1px solid rgba(124,172,225,.11)!important;
  border-bottom:1px solid rgba(124,172,225,.11)!important;
  background:rgba(255,255,255,.027)!important;
  color:#dfeaf7!important;
  font-size:13px!important;
  font-weight:600!important;
}
body.training-room-page .journal-table-v2 td:first-child{border-left:1px solid rgba(124,172,225,.11)!important;}
body.training-room-page .journal-table-v2 td:last-child{border-right:1px solid rgba(124,172,225,.11)!important;}
body.training-room-page .prime-cycle-compact-note{padding:18px 4px 2px;color:#8699af!important;font-size:13px!important;}

body.training-room-page .daily-diagnosis-grid,
body.training-room-page .bootcamp-summary-grid,
body.training-room-page .category-grid,
body.training-room-page .challenge-rule-grid-v2{gap:12px!important;}
body.training-room-page .daily-diagnosis-card,
body.training-room-page .score-box,
body.training-room-page .category-card-v2{padding:16px!important;}
body.training-room-page .daily-diagnosis-card strong,
body.training-room-page .score-box strong,
body.training-room-page .category-card-v2 strong{color:#f5f9ff!important;font-size:17px!important;line-height:1.3!important;}
body.training-room-page .daily-diagnosis-card p,
body.training-room-page .score-box p{color:#8fa2b8!important;font-size:12px!important;line-height:1.5!important;}
body.training-room-page .category-card-v2{min-height:142px;align-content:start;}
body.training-room-page .category-card-v2 em{font-size:25px!important;}
body.training-room-page .category-card-v2 small{color:#8094aa!important;}
body.training-room-page .category-card-v2.active{border-color:rgba(49,196,141,.34)!important;background:rgba(49,196,141,.07)!important;}
body.training-room-page .locked-challenge-card .lock-visual{
  min-height:160px;
  border:1px dashed rgba(124,172,225,.18)!important;
  border-radius:17px!important;
  background:rgba(255,255,255,.018)!important;
  color:#a2b7cd;
}
body.training-room-page .workspace-disclaimer{color:#7e92a9!important;border-left-color:rgba(47,128,237,.42)!important;font-size:12px!important;}

.training-room-footer{
  width:min(1480px,calc(100% - 48px));
  margin:0 auto 24px;
  padding:18px 4px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  border-top:1px solid rgba(124,172,225,.12);
  color:#70849a;
  font-size:12px;
}
.training-room-footer nav{display:flex;gap:18px;flex-wrap:wrap;}
.training-room-footer a{color:#8cb7e5;text-decoration:none;font-weight:700;}
.training-room-footer a:hover{color:#cce5ff;}

@media(max-width:1180px){
  .training-room-hero{grid-template-columns:1fr;}
  .training-room-hero-status{max-width:720px;}
  body.training-room-page .rule-profile-split{grid-template-columns:1fr!important;}
  .training-room-step-bar{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .training-room-shell,.training-room-footer{width:min(100% - 24px,1480px)!important;}
  .training-room-shell{padding-top:16px!important;}
  .training-room-hero{padding:24px 20px;border-radius:22px;gap:22px;}
  .training-room-hero h1{font-size:44px;}
  .training-room-hero-actions{display:grid;grid-template-columns:1fr;}
  body.training-room-page .training-room-hero-actions .dash-button{width:100%;min-width:0;}
  .training-room-step-bar{grid-template-columns:1fr 1fr;padding:8px;}
  .training-room-step-bar>div{padding:11px;min-height:62px;}
  .training-room-step-bar b{width:34px;height:34px;}
  .training-room-step-bar small{display:none;}
  body.training-room-page .workspace-module.prime-training-card{padding:20px 16px!important;border-radius:21px!important;}
  body.training-room-page .workspace-focus-head{padding:20px!important;}
  body.training-room-page .workspace-head{display:grid!important;}
  body.training-room-page .workspace-access{justify-self:start;}
  body.training-room-page .rule-entry-grid,
  body.training-room-page .mini-journal-grid,
  body.training-room-page .standard-chip-grid,
  body.training-room-page .limit-math-grid,
  body.training-room-page .daily-diagnosis-grid,
  body.training-room-page .bootcamp-summary-grid,
  body.training-room-page .category-grid,
  body.training-room-page .challenge-rule-grid-v2{grid-template-columns:1fr!important;}
  body.training-room-page .workspace-actions{align-items:stretch;}
  body.training-room-page .workspace-actions .dash-button{width:100%;}
  body.training-room-page .workspace-status{width:100%;}
  .training-room-footer{align-items:flex-start;flex-direction:column;}
}
@media(max-width:430px){
  .training-room-step-bar{grid-template-columns:1fr;}
  .training-room-hero h1{font-size:39px;}
}
