/* Torn War Room — drop-in stylesheet.
   Everything is scoped below .twr so it can live inside an existing website. */
.twr{--bg:#0d0f13;--card:#171a21;--line:#2c313b;--line2:#343b47;--text:#f5f7fa;--muted:#9aa2af;--orange:#ff6b35;--green:#43d894;--blue:#2f80ed;--red:#ff6578;--yellow:#f2c94c;--purple:#8b5cf6;background:var(--bg);color:var(--text);font:15px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100%;padding:12px;border-radius:18px}
.twr *{box-sizing:border-box}.twr .twr-shell{max-width:1080px;margin:auto}.twr .twr-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px;margin:12px 0}.twr h1,.twr h2,.twr h3{margin:0 0 8px}.twr .muted{color:var(--muted)}.twr .small{font-size:12px}.twr .hidden{display:none!important}.twr .error{color:var(--red)}.twr .ok{color:var(--green)}.twr .warntext{color:var(--yellow)}
.twr input,.twr select,.twr textarea,.twr button{font:inherit}.twr input,.twr select,.twr textarea{width:100%;padding:11px;border:1px solid var(--line2);border-radius:10px;background:#101318;color:#fff}.twr textarea{min-height:72px;resize:vertical}.twr button{border:0;border-radius:10px;padding:9px 12px;background:var(--orange);color:#fff;font-weight:800;cursor:pointer}.twr button:disabled{opacity:.45;cursor:default}.twr .ghost{background:#232832}.twr .blue{background:var(--blue)}.twr .green{background:#23875d}.twr .danger{background:#9f2d3b}.twr .warning{background:#8a6420}.twr .purple{background:var(--purple)}.twr .release{background:#3a2a24;color:#ffb19a}
.twr .top,.twr .row-between{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.twr .flex{display:flex;gap:8px;flex-wrap:wrap}.twr .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.twr .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.twr .pill{padding:6px 9px;border:1px solid var(--line);border-radius:999px;color:#c7ccd4}.twr .chips{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.twr .chip{border:1px solid var(--line2);border-radius:10px;padding:7px 9px;min-width:74px}.twr .chip b{display:block;font-size:18px}.twr .divider{border-top:1px solid var(--line);margin:12px 0}
.twr .login{max-width:660px;margin:2vh auto}.twr .notice{border:1px solid var(--line2);border-radius:12px;overflow:hidden;margin:12px 0}.twr .notice-row{display:grid;grid-template-columns:145px 1fr;border-bottom:1px solid var(--line2)}.twr .notice-row:last-child{border-bottom:0}.twr .notice-row>div{padding:8px 10px}.twr .notice-row>div:first-child{background:#11141a;font-weight:800}.twr .check{display:flex;gap:8px;align-items:flex-start;margin:10px 0}.twr .check input{width:auto;margin-top:3px}
.twr .enemy-row{display:grid;grid-template-columns:1.35fr .8fr 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.twr .enemy-row:last-child{border-bottom:0}.twr .name{font-weight:900;font-size:16px}.twr .sub{font-size:12px;color:var(--muted)}.twr .status-ok{color:var(--green)}.twr .status-hospital{color:var(--red)}.twr .status-other{color:var(--yellow)}.twr .target{position:sticky;top:8px;z-index:4;border-color:var(--orange);box-shadow:0 8px 28px rgba(0,0,0,.28)}.twr .target-grid{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.twr .bigclock{font-weight:950;font-size:34px}.twr .urgent{animation:twrPulse 1s infinite}@keyframes twrPulse{50%{transform:scale(1.01)}}
.twr .priority{display:inline-block;padding:2px 6px;border-radius:6px;font-size:10px;font-weight:900;margin-left:5px}.twr .p1{background:#8b2635}.twr .p2{background:#8a6420}.twr .p3{background:#263445}.twr .avoid{background:#24262b;color:#ff7a89;border:1px solid #74333c}.twr .spy-badge{display:inline-block;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:900}.twr .spy-exact{border:1px solid #2e7657;color:#67e3a8}.twr .spy-est{border:1px solid #8a6d1f;color:#e3b341}
.twr table{width:100%;border-collapse:collapse}.twr th,.twr td{padding:8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.twr th:first-child,.twr td:first-child{text-align:left}.twr .table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.twr .click-row{cursor:pointer}.twr .click-row:hover{background:#20242d}
.twr .queue-row,.twr .log-row,.twr .device-row,.twr .roster-row,.twr .attack-row{padding:8px 0;border-bottom:1px solid var(--line)}.twr .queue-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:8px;align-items:center}.twr .roster-row{display:grid;grid-template-columns:1.3fr .7fr auto;gap:8px;align-items:center}.twr .attack-row{display:grid;grid-template-columns:125px 1fr 110px 90px 90px auto;gap:7px;align-items:center}
.twr .modal{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:99999;display:flex;align-items:center;justify-content:center;padding:12px}.twr .modal-box{background:var(--card);border:1px solid #3b4350;border-radius:16px;max-width:880px;width:100%;max-height:88vh;overflow:auto;padding:15px}
@media(max-width:760px){.twr{padding:8px}.twr .twr-card{padding:12px}.twr .enemy-row{grid-template-columns:1fr 1fr}.twr .enemy-row>div:nth-child(3),.twr .enemy-row>div:nth-child(4){grid-column:1/-1}.twr .grid2,.twr .grid3{grid-template-columns:1fr}.twr .target-grid{grid-template-columns:1fr}.twr .notice-row{grid-template-columns:115px 1fr}.twr .queue-row,.twr .roster-row,.twr .attack-row{grid-template-columns:1fr 1fr}.twr .top{align-items:flex-start}.twr .bigclock{font-size:30px}}


/* WAR AVAILABILITY */
.twr .availability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.twr .availability-choice{min-height:46px;font-weight:800}
.twr .availability-selected{box-shadow:0 0 0 2px rgba(255,255,255,.12) inset}
.twr .availability-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.twr .availability-result-card{margin:0;padding:12px}
.twr .availability-names{margin-top:7px;display:grid;gap:4px;max-height:240px;overflow:auto}
.twr .availability-unanswered{grid-column:1/-1}
@media (max-width:760px){
  .twr .availability-grid{grid-template-columns:1fr 1fr}
  .twr .availability-results-grid{grid-template-columns:1fr}
  .twr .availability-unanswered{grid-column:auto}
}
@media (max-width:430px){
  .twr .availability-grid{grid-template-columns:1fr}
}

/* ENEMY FFSCOUTER SORT */
.twr .enemy-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:8px;align-items:center}
.twr .enemy-tools input,.twr .enemy-tools select{width:100%}
@media (max-width:680px){.twr .enemy-tools{grid-template-columns:1fr}}


/* =========================================================
   UI OPTIMIZATION — compact desktop + cleaner mobile
   ========================================================= */

.twr{
  --panel:#171b22;
  --panel2:#1b2029;
  --panelHover:#202630;
  --soft:#11151b;
  font-size:14px;
  line-height:1.42;
  padding:10px;
  border-radius:16px;
  background:
    radial-gradient(circle at 15% 0%,rgba(47,128,237,.08),transparent 28rem),
    radial-gradient(circle at 90% 5%,rgba(139,92,246,.06),transparent 24rem),
    var(--bg);
}
.twr .twr-shell{max-width:1180px}
.twr .twr-card{
  background:linear-gradient(180deg,var(--panel2),var(--panel));
  border-color:#2a303a;
  border-radius:14px;
  padding:13px;
  margin:9px 0;
  box-shadow:0 8px 24px rgba(0,0,0,.10);
}
.twr .twr-card .twr-card{
  margin:9px 0 0;
  background:#14181f;
  box-shadow:none;
}
.twr h1{font-size:24px;line-height:1.15;letter-spacing:-.02em}
.twr h2{font-size:17px;line-height:1.2;letter-spacing:-.01em}
.twr h3{font-size:14px;line-height:1.25}
.twr h1,.twr h2,.twr h3{margin-bottom:5px}
.twr .small,.twr .sub{font-size:11.5px}
.twr .muted{color:#9da7b5}

.twr button{
  min-height:36px;
  padding:8px 11px;
  border-radius:9px;
  transition:transform .12s ease,filter .12s ease,background .12s ease,border-color .12s ease;
  box-shadow:inset 0 1px rgba(255,255,255,.04);
}
.twr button:hover:not(:disabled){filter:brightness(1.08)}
.twr button:active:not(:disabled){transform:translateY(1px)}
.twr button:focus-visible,
.twr input:focus-visible,
.twr select:focus-visible,
.twr textarea:focus-visible{
  outline:2px solid rgba(47,128,237,.75);
  outline-offset:2px;
}
.twr .ghost{background:#222832;border:1px solid #303846}
.twr input,.twr select,.twr textarea{
  min-height:38px;
  padding:8px 10px;
  border-radius:9px;
  background:#0f1319;
  border-color:#303744;
}
.twr textarea{min-height:64px}

.twr .war-topbar{
  position:sticky;
  top:0;
  z-index:20;
  margin:-10px -10px 8px;
  padding:10px 10px 9px;
  align-items:center;
  background:rgba(13,15,19,.93);
  border-bottom:1px solid rgba(52,59,71,.8);
  backdrop-filter:blur(12px);
}
.twr .brand-block{min-width:0}
.twr .top-actions{justify-content:flex-end}
.twr .status-strip{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  margin:5px 0 7px;
}
.twr .status-strip .chips{margin:0;min-width:0}
.twr .ready-actions{display:flex;gap:7px;flex:none}
.twr .ready-actions button{min-width:98px}

.twr .row-between{align-items:center}
.twr .panel-head{min-height:38px}
.twr .panel-title-wrap{min-width:0}
.twr .panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.twr .compact-toggle{min-height:30px;padding:5px 8px;font-size:11px}
.twr .panel-help{margin-top:7px}

.twr .chips{gap:5px;margin:7px 0}
.twr .chip{
  min-width:66px;
  padding:6px 8px;
  border-radius:9px;
  background:#131820;
}
.twr .chip b{font-size:16px}
.twr .pill{
  padding:4px 7px;
  font-size:11px;
  line-height:1.35;
  background:#12171e;
}
.twr .divider{margin:9px 0}

.twr #wr-availability{overflow:hidden}
.twr #wr-availability.is-collapsed{padding-bottom:10px}
.twr #wr-availability-body{padding-top:8px}
.twr .availability-grid{
  gap:6px;
  margin-top:0!important;
}
.twr .availability-choice{
  min-height:40px;
  padding:7px 8px;
  font-size:12px;
}
.twr .availability-results-grid{gap:7px;margin-top:7px}
.twr .availability-result-card{padding:9px}
.twr .availability-names{max-height:190px;margin-top:5px}

.twr .enemy-control-card{
  position:sticky;
  top:66px;
  z-index:8;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.twr .filter-bar{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin:8px 0;
}
.twr .filter-bar button{
  min-height:31px;
  padding:5px 8px;
  font-size:11px;
}
.twr .enemy-tools{gap:6px}
.twr .enemy-list-card{padding-top:4px;padding-bottom:4px}
.twr .enemy-row{
  grid-template-columns:minmax(200px,1.45fr) minmax(110px,.65fr) minmax(200px,1fr) auto;
  gap:8px;
  padding:8px 5px;
  border-bottom-color:#282e38;
  border-radius:8px;
}
.twr .enemy-row:hover{background:rgba(255,255,255,.018)}
.twr .name{font-size:14px}
.twr .spy-badge{font-size:9px;padding:2px 5px}
.twr .priority{font-size:9px}

.twr .target{
  top:64px;
  border-width:1px;
  box-shadow:0 10px 32px rgba(0,0,0,.30);
}
.twr .bigclock{font-size:29px}
.twr .queue-row,.twr .log-row,.twr .device-row,.twr .roster-row,.twr .attack-row{padding:6px 0}
.twr th,.twr td{padding:6px 7px}
.twr .table-wrap{border-radius:10px}

.twr .attack-plan-card{margin-bottom:4px}
.twr .modal-box{padding:13px;border-radius:14px}

@media(max-width:760px){
  .twr{
    padding:6px;
    border-radius:0;
    font-size:13.5px;
  }
  .twr .twr-card{padding:10px;border-radius:12px;margin:7px 0}
  .twr .war-topbar{
    margin:-6px -6px 7px;
    padding:8px 7px;
    align-items:flex-start;
  }
  .twr h1{font-size:21px}
  .twr h2{font-size:16px}
  .twr .top-actions{gap:4px}
  .twr .top-actions button{min-height:32px;padding:5px 7px;font-size:10.5px}
  .twr .status-strip{align-items:stretch;flex-direction:column;gap:5px}
  .twr .ready-actions{display:grid;grid-template-columns:1fr 1fr}
  .twr .ready-actions button{width:100%;min-width:0}
  .twr .panel-head{align-items:flex-start}
  .twr .panel-actions{max-width:58%}
  .twr #wr-availability-mine{white-space:normal;text-align:center}
  .twr .enemy-control-card{
    position:relative;
    top:auto;
  }
  .twr .enemy-row{
    grid-template-columns:minmax(0,1fr) minmax(95px,.55fr);
    gap:6px;
    padding:9px 3px;
  }
  .twr .enemy-row>div:nth-child(3),
  .twr .enemy-row>div:nth-child(4){grid-column:1/-1}
  .twr .target{top:56px}
  .twr .bigclock{font-size:25px}
}

@media(max-width:430px){
  .twr .panel-head{gap:6px}
  .twr .panel-actions{max-width:54%;gap:4px}
  .twr .availability-grid{grid-template-columns:1fr 1fr}
  .twr .availability-choice{font-size:11px}
  .twr .filter-bar{display:grid;grid-template-columns:repeat(3,1fr)}
  .twr .filter-bar button{width:100%}
  .twr .enemy-tools{grid-template-columns:1fr}
  .twr .notice-row{grid-template-columns:1fr}
  .twr .notice-row>div:first-child{border-bottom:1px solid var(--line2)}
}


/* TORN API TOS / COMPLIANCE */
.twr .compliance-box{
  margin:10px 0;
  padding:10px;
  border:1px solid #343d4b;
  border-radius:11px;
  background:#10151c;
}
.twr .compact-compliance{padding:8px;margin:8px 0}
.twr .compliance-title{font-weight:800;font-size:12px;margin-bottom:7px;color:#d8e2ef}
.twr .compliance-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.twr .compliance-table{
  width:100%;
  min-width:850px;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:10.5px;
  line-height:1.35;
}
.twr .compliance-table th,
.twr .compliance-table td{
  vertical-align:top;
  text-align:left;
  padding:7px;
  border:1px solid #2b3441;
}
.twr .compliance-table th{
  background:#18202a;
  color:#dce7f4;
  font-size:10px;
  letter-spacing:.02em;
}
.twr .compliance-table td{color:#aeb9c7;background:#11171e}
.twr .compliance-note{margin-top:7px}
@media(max-width:760px){
  .twr .compliance-box{padding:8px}
  .twr .compliance-table{min-width:760px;font-size:10px}
  .twr .compliance-table th,.twr .compliance-table td{padding:6px}
}


/* =========================================================
   PROMINENT LOGIN COMPLIANCE
   ========================================================= */
.twr .login{max-width:1000px}
.twr .rules-hero{
  margin:12px 0;
  padding:16px;
  border:2px solid #3f8cff;
  border-radius:14px;
  background:
    linear-gradient(135deg,rgba(47,128,237,.16),rgba(124,92,255,.08)),
    #101721;
  box-shadow:0 0 0 1px rgba(63,140,255,.12) inset,0 12px 32px rgba(0,0,0,.18);
}
.twr .rules-kicker{
  display:inline-block;
  padding:5px 8px;
  margin-bottom:8px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  background:#173865;
  color:#9ec9ff;
}
.twr .rules-hero h2{font-size:22px;margin:0 0 6px;color:#f4f8ff}
.twr .rules-hero p{margin:0 0 10px;color:#c7d4e5}
.twr .rules-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:10px 0;
}
.twr .rules-grid>div{
  padding:9px 10px;
  border:1px solid #2f4a68;
  border-radius:9px;
  background:rgba(8,18,30,.65);
}
.twr .rules-warning{
  padding:9px 10px;
  margin-top:8px;
  border-left:3px solid #f7b955;
  background:rgba(247,185,85,.08);
  color:#f0d4a2;
  font-size:12px;
  font-weight:700;
}
.twr .rules-link{
  display:inline-block;
  margin-top:10px;
  font-size:11px;
  font-weight:800;
}
.twr .login-key-intro{
  margin:14px 0 6px;
  padding:9px 10px;
  border-radius:9px;
  background:#151b23;
  border:1px solid #303947;
}
.twr .login-compliance{border-color:#3a5878}
.twr .compliance-accept{
  margin:10px 0;
  padding:10px;
  border:1px solid #40506a;
  border-radius:9px;
  background:#121923;
}
.twr .compliance-accept.compact{padding:8px}
.twr .compliance-accept input{transform:scale(1.15)}

/* =========================================================
   OUR TEAM / ENERGY + LIFE
   ========================================================= */
.twr .team-own-grid{
  display:grid;
  grid-template-columns:1fr 1fr minmax(170px,.8fr);
  gap:8px;
  margin-top:9px;
}
.twr .team-stat-card{
  padding:10px;
  border:1px solid #2d3541;
  border-radius:10px;
  background:#11171e;
}
.twr .team-update-card{display:flex;flex-direction:column;justify-content:center;gap:4px}
.twr .team-share-details{
  margin-top:9px;
  padding:9px;
  border:1px solid #2e3744;
  border-radius:10px;
  background:#12171e;
}
.twr .team-share-details>summary{
  cursor:pointer;
  font-weight:800;
  color:#d8e4f3;
}
.twr .team-share-controls{
  display:grid;
  grid-template-columns:minmax(200px,1fr) auto auto;
  gap:7px;
  margin-top:8px;
}
.twr .combat-value{display:grid;grid-template-columns:minmax(90px,auto) minmax(70px,1fr) auto;gap:7px;align-items:center;margin-top:4px}
.twr .combat-bar{
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:#252c36;
}
.twr .combat-bar span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#2f80ed,#62c1ff);
}
.twr .team-not-shared{font-size:10px;color:#7f8a99;font-weight:800;margin-top:5px}
.twr .team-table th,.twr .team-table td{white-space:nowrap}
.twr .team-table td:first-child{white-space:normal;min-width:150px}
.twr .team-table .combat-value{min-width:165px}
.twr tr.team-stale{opacity:.72}
.twr .team-compliance{margin-top:10px}

@media(max-width:760px){
  .twr .rules-grid{grid-template-columns:1fr}
  .twr .rules-hero{padding:13px}
  .twr .rules-hero h2{font-size:19px}
  .twr .team-own-grid{grid-template-columns:1fr 1fr}
  .twr .team-update-card{grid-column:1/-1}
  .twr .team-share-controls{grid-template-columns:1fr 1fr}
  .twr .team-share-controls input{grid-column:1/-1}
  .twr .team-table-wrap{overflow-x:auto}
  .twr .team-table{min-width:760px}
}
@media(max-width:430px){
  .twr .team-own-grid{grid-template-columns:1fr}
  .twr .team-update-card{grid-column:auto}
  .twr .team-share-controls{grid-template-columns:1fr}
  .twr .team-share-controls input{grid-column:auto}
}


/* =========================================================
   FINAL TORN COMPLIANCE — readable disclosures on mobile
   ========================================================= */
.twr .public-retention{
  display:grid;
  gap:4px;
  margin-top:8px;
  padding:9px 10px;
  border:1px solid #2e3b4b;
  border-radius:9px;
  background:#0d141c;
  font-size:11px;
  color:#aebbd0;
}
.twr .public-retention b{color:#e2ebf6}
.twr .compliance-table td code{
  white-space:normal;
  word-break:break-word;
}
@media(max-width:760px){
  .twr .compliance-scroll{overflow:visible}
  .twr .compliance-table{
    display:block;
    width:100%;
    min-width:0;
    table-layout:auto;
    border:0;
    font-size:11px;
  }
  .twr .compliance-table thead{display:none}
  .twr .compliance-table tbody,
  .twr .compliance-table tr{display:block;width:100%}
  .twr .compliance-table td{
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    gap:9px;
    width:100%;
    padding:9px 8px;
    border:1px solid #2b3441;
    border-bottom:0;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
    line-height:1.42;
  }
  .twr .compliance-table td:last-child{border-bottom:1px solid #2b3441}
  .twr .compliance-table td::before{
    font-weight:900;
    color:#dce7f4;
    font-size:10px;
    line-height:1.3;
    letter-spacing:.01em;
  }
  .twr .compliance-table td:nth-child(1)::before{content:"DATA STORAGE"}
  .twr .compliance-table td:nth-child(2)::before{content:"DATA SHARING"}
  .twr .compliance-table td:nth-child(3)::before{content:"PURPOSE OF USE"}
  .twr .compliance-table td:nth-child(4)::before{content:"KEY STORAGE & SHARING"}
  .twr .compliance-table td:nth-child(5)::before{content:"KEY ACCESS LEVEL"}
}
@media(max-width:430px){
  .twr .compliance-table td{grid-template-columns:1fr;gap:4px;padding:9px}
  .twr .compliance-table td::before{
    padding-bottom:4px;
    border-bottom:1px solid #25303d;
  }
}


/* =========================================================
   TABLE UX + OUR TEAM COLLAPSE
   ========================================================= */

.twr #wr-team.is-collapsed{padding-bottom:10px}
.twr #wr-team-body{padding-top:7px}

/* Desktop: calmer, easier scanning */
.twr .team-table-wrap{
  margin-top:8px;
  border:1px solid #29323d;
  border-radius:12px;
  background:#0f141a;
  overflow:hidden;
}
.twr .team-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}
.twr .team-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  padding:9px 10px;
  background:#171e27;
  border-bottom:1px solid #303946;
  color:#aebbd0;
  font-size:10px;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.twr .team-table tbody tr:nth-child(even){background:rgba(255,255,255,.012)}
.twr .team-table tbody tr:hover{background:rgba(47,128,237,.045)}
.twr .team-table td{
  padding:9px 10px;
  border-bottom:1px solid #242b34;
  vertical-align:middle;
}
.twr .team-table tbody tr:last-child td{border-bottom:0}
.twr .team-table td:first-child b{font-size:13px}
.twr .team-table .combat-value{
  grid-template-columns:auto minmax(80px,1fr) auto;
  min-width:150px;
}
.twr .team-table .combat-bar{height:7px}
.twr .team-table .pill{white-space:nowrap}

/* Compliance tables: cleaner desktop columns */
.twr .compliance-table{
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:9px;
}
.twr .compliance-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#19232e;
}
.twr .compliance-table th,
.twr .compliance-table td{
  border-color:#303a47;
}
.twr .compliance-table tr:first-child th:first-child{border-top-left-radius:8px}
.twr .compliance-table tr:first-child th:last-child{border-top-right-radius:8px}

/* Mobile: turn OUR TEAM table into compact member cards */
@media(max-width:760px){
  .twr .team-table-wrap{
    overflow:visible;
    border:0;
    background:transparent;
  }
  .twr .team-table,
  .twr .team-table tbody{
    display:block;
    width:100%;
  }
  .twr .team-table thead{display:none}
  .twr .team-table tr{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    margin:0 0 8px;
    border:1px solid #2c3642;
    border-radius:11px;
    overflow:hidden;
    background:#11171e;
  }
  .twr .team-table td{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:8px 9px;
    border:0;
    border-bottom:1px solid #242d37;
    white-space:normal;
  }
  .twr .team-table td:nth-child(odd){border-right:1px solid #242d37}
  .twr .team-table td:nth-last-child(-n+2){border-bottom:0}
  .twr .team-table td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:#758399;
    font-size:9px;
    font-weight:900;
    letter-spacing:.05em;
  }
  .twr .team-table td[data-label="PLAYER"]{
    grid-column:1/-1;
    border-right:0;
    background:#151d27;
  }
  .twr .team-table td[data-label="PLAYER"] b{font-size:14px}
  .twr .team-table td[data-label="ENERGY"],
  .twr .team-table td[data-label="LIFE"]{
    min-height:66px;
  }
  .twr .team-table .combat-value{
    display:flex;
    flex-wrap:wrap;
    gap:5px 7px;
    min-width:0;
    width:100%;
  }
  .twr .team-table .combat-value b{
    width:100%;
    font-size:12px;
  }
  .twr .team-table .combat-bar{
    flex:1 1 70px;
    min-width:70px;
  }
  .twr .team-table .combat-value .sub{flex:none}
}

/* Very narrow phones: one-column member card */
@media(max-width:430px){
  .twr .team-table tr{grid-template-columns:1fr}
  .twr .team-table td{
    border-right:0!important;
    border-bottom:1px solid #242d37!important;
  }
  .twr .team-table td:last-child{border-bottom:0!important}
  .twr .team-table td[data-label="PLAYER"]{grid-column:auto}
}

/* Mobile compliance: emphasize headings, reduce visual noise */
@media(max-width:760px){
  .twr .compliance-box{
    border-radius:12px;
    background:#0f151d;
  }
  .twr .compliance-title{
    padding-bottom:7px;
    margin-bottom:8px;
    border-bottom:1px solid #2b3542;
    font-size:12px;
  }
  .twr .compliance-table td{
    background:#111820;
  }
  .twr .compliance-table td::before{
    color:#8ebcff;
  }
  .twr .public-retention{
    padding:9px;
    border-radius:10px;
  }
}


/* =========================================================
   RESPONSIVE UI REPAIR
   Fixes OUR TEAM overflow + desktop/login disclosure layout
   ========================================================= */

/* Keep the app anchored to the top and give the login screen a sane desktop width. */
.twr{min-height:100vh}
.twr .login{
  width:min(860px,100%);
  max-width:860px;
  margin:0 auto;
}
.twr .login.twr-card{padding:18px}
.twr .rules-hero{margin-top:10px}

/* ---------------------------------------------------------
   COMPLIANCE DISCLOSURES
   Keep semantic <table>, but present the five required fields
   as readable cards instead of five squeezed text columns.
   --------------------------------------------------------- */
.twr .compliance-scroll{
  width:100%;
  max-width:100%;
  overflow:visible!important;
}
.twr .compliance-table{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:auto!important;
  border:0!important;
  overflow:visible!important;
}
.twr .compliance-table thead{display:none!important}
.twr .compliance-table tbody{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.twr .compliance-table tr{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.twr .compliance-table td{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  padding:10px!important;
  border:1px solid #303a47!important;
  border-radius:9px;
  background:#111820!important;
  color:#b8c4d3!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:anywhere;
  word-break:normal!important;
  text-align:left!important;
  line-height:1.43!important;
}
.twr .compliance-table td:last-child{
  grid-column:1/-1;
}
.twr .compliance-table td::before{
  display:block;
  margin:0 0 6px;
  padding:0 0 5px;
  border-bottom:1px solid #2b3542;
  color:#8ebcff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.055em;
  line-height:1.25;
}
.twr .compliance-table td:nth-child(1)::before{content:"DATA STORAGE"}
.twr .compliance-table td:nth-child(2)::before{content:"DATA SHARING"}
.twr .compliance-table td:nth-child(3)::before{content:"PURPOSE OF USE"}
.twr .compliance-table td:nth-child(4)::before{content:"KEY STORAGE & SHARING"}
.twr .compliance-table td:nth-child(5)::before{content:"KEY ACCESS LEVEL"}
.twr .compliance-table td code{
  white-space:normal!important;
  overflow-wrap:anywhere;
}

/* ---------------------------------------------------------
   OUR TEAM
   Remove the old inherited 760px minimum width completely.
   --------------------------------------------------------- */
.twr #wr-team,
.twr #wr-team-body,
.twr #wr-team-command{
  min-width:0;
  max-width:100%;
}
.twr .team-table-wrap{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  max-height:min(68vh,680px);
  overflow:auto!important;
  overscroll-behavior:contain;
}
.twr .team-table{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.twr .team-table tbody{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
.twr .team-table td:first-child{
  min-width:0!important;
}

/* Tablet/mobile: compact player cards contained inside OUR TEAM. */
@media(max-width:760px){
  .twr .login.twr-card{padding:12px}
  .twr .rules-grid{grid-template-columns:1fr 1fr}
  .twr .compliance-table tr{
    grid-template-columns:1fr!important;
  }
  .twr .compliance-table td:last-child{
    grid-column:auto!important;
  }

  .twr .team-table-wrap{
    max-height:65vh;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:0;
  }
  .twr .team-table,
  .twr .team-table tbody{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .twr .team-table thead{display:none!important}
  .twr .team-table tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0 0 8px!important;
    border:1px solid #2c3642;
    border-radius:11px;
    overflow:hidden;
    background:#11171e;
  }
  .twr .team-table td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:8px 9px!important;
    border:0!important;
    border-bottom:1px solid #242d37!important;
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:anywhere;
    text-align:left!important;
  }
  .twr .team-table td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:#758399;
    font-size:9px;
    font-weight:900;
    letter-spacing:.05em;
  }
  .twr .team-table td[data-label="PLAYER"]{
    grid-column:1/-1!important;
    background:#151d27;
    border-right:0!important;
  }
  .twr .team-table td[data-label="STATUS"]{
    grid-column:1;
  }
  .twr .team-table td[data-label="AVAILABILITY"]{
    grid-column:2;
  }
  .twr .team-table td[data-label="ENERGY"],
  .twr .team-table td[data-label="LIFE"],
  .twr .team-table td[data-label="UPDATED"]{
    grid-column:1/-1!important;
  }
  .twr .team-table td[data-label="UPDATED"]{
    border-bottom:0!important;
  }
  .twr .team-table .combat-value{
    display:grid!important;
    grid-template-columns:auto minmax(70px,1fr) auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:6px!important;
    align-items:center;
  }
  .twr .team-table .combat-value b{
    width:auto!important;
    min-width:0;
    font-size:12px;
    white-space:nowrap;
  }
  .twr .team-table .combat-bar{
    width:100%;
    min-width:0!important;
  }
  .twr .team-table .combat-value .sub{
    white-space:nowrap;
  }
}

@media(max-width:430px){
  .twr .rules-grid{grid-template-columns:1fr}
  .twr .compliance-table tr{grid-template-columns:1fr!important}
  .twr .team-table tr{
    grid-template-columns:1fr!important;
  }
  .twr .team-table td[data-label="PLAYER"],
  .twr .team-table td[data-label="STATUS"],
  .twr .team-table td[data-label="AVAILABILITY"],
  .twr .team-table td[data-label="ENERGY"],
  .twr .team-table td[data-label="LIFE"],
  .twr .team-table td[data-label="UPDATED"]{
    grid-column:1!important;
  }
  .twr .team-table .combat-value{
    grid-template-columns:1fr auto!important;
  }
  .twr .team-table .combat-value b{
    grid-column:1/-1;
  }
}

/* Desktop disclosure cards remain readable and no text can overlap. */
@media(min-width:761px){
  .twr .login .compliance-box{padding:11px}
  .twr .login .compliance-table tr{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .twr .login .compliance-table td:last-child{
    grid-column:1/-1!important;
  }
}

/* Coarse-pointer devices in "desktop site" mode: avoid tiny five-column UI. */
@media(pointer:coarse) and (min-width:761px){
  .twr .login{
    width:min(760px,96%);
    max-width:760px;
  }
  .twr .login .compliance-table tr{
    grid-template-columns:1fr!important;
  }
  .twr .login .compliance-table td:last-child{
    grid-column:auto!important;
  }
}


/* =========================================================
   PERSONAL LAYOUT + PANEL PROPORTIONS
   ========================================================= */
.twr #wr-layout-zone{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:9px;
  align-items:start;
}
.twr .layout-panel{
  grid-column:span 12;
  min-width:0;
  position:relative;
  margin:0!important;
}
.twr .layout-panel[data-layout-size="half"]{grid-column:span 6}
.twr .layout-panel[data-layout-size="wide"]{grid-column:span 8}
.twr .layout-panel[data-layout-size="full"]{grid-column:span 12}
.twr .opponents-panel{display:block;min-width:0}
.twr .opponents-panel>.twr-card{margin:0 0 9px!important}
.twr .layout-editor{
  position:relative;
  z-index:30;
  border:1px solid #49698e;
  background:linear-gradient(180deg,#182331,#121820);
}
.twr .layout-density-row{
  display:grid;
  grid-template-columns:auto minmax(150px,240px);
  gap:9px;
  align-items:center;
  margin:9px 0;
}
.twr .layout-list{display:grid;gap:6px}
.twr .layout-editor-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:7px 8px;
  border:1px solid #303b49;
  border-radius:9px;
  background:#10161d;
}
.twr .layout-row-name{display:flex;gap:7px;align-items:center;min-width:0}
.twr .layout-grip{color:#7e91a8;font-size:16px;cursor:grab}
.twr .layout-row-actions{display:flex;gap:5px;align-items:center}
.twr .layout-row-actions select{min-height:31px;padding:5px 7px;font-size:10px}
.twr .layout-mini{min-height:31px!important;padding:4px 8px!important}
.twr .layout-drag-handle{
  position:absolute;
  z-index:12;
  top:5px;
  left:50%;
  transform:translateX(-50%);
  padding:3px 8px;
  border:1px solid #557295;
  border-radius:999px;
  background:#15253a;
  color:#9cc9ff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  cursor:grab;
  user-select:none;
}
.twr.layout-editing .layout-panel{
  outline:1px dashed rgba(92,155,230,.65);
  outline-offset:2px;
}
.twr.layout-editing .layout-panel:hover{outline-color:#7fbcff}

.twr[data-ui-density="compact"]{font-size:12.7px}
.twr[data-ui-density="compact"] .twr-card{padding:9px}
.twr[data-ui-density="compact"] button{min-height:32px;padding:6px 9px}
.twr[data-ui-density="compact"] h2{font-size:15px}
.twr[data-ui-density="large"]{font-size:15px}
.twr[data-ui-density="large"] .twr-card{padding:16px}
.twr[data-ui-density="large"] button{min-height:40px;padding:9px 13px}
.twr[data-ui-density="large"] h2{font-size:18px}

/* =========================================================
   ENEMY STAT FILTERS + FAVORITES
   ========================================================= */
.twr .filter-bar .filter-active{
  border-color:#4a8fe7;
  background:#17304d;
  color:#ddecff;
}
.twr .enemy-stat-filter{
  margin-top:8px;
  padding:8px;
  border:1px solid #2d3744;
  border-radius:10px;
  background:#11171e;
}
.twr .enemy-stat-filter>summary{
  cursor:pointer;
  color:#b7c6d8;
  font-size:11px;
  font-weight:800;
}
.twr .enemy-stat-grid{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(130px,.8fr) minmax(160px,.9fr) auto;
  gap:7px;
  align-items:end;
  margin-top:8px;
}
.twr .enemy-stat-grid label{display:grid;gap:4px}
.twr .enemy-stat-grid label>span{
  color:#8593a6;
  font-size:9px;
  font-weight:900;
  letter-spacing:.05em;
}
.twr #wr-stat-filter-meta{margin-top:7px}
.twr .enemy-name-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}
.twr .enemy-star{
  min-height:26px!important;
  min-width:27px;
  padding:2px 5px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#677386;
  font-size:20px;
  line-height:1;
}
.twr .enemy-star.active{color:#f4c84c}
.twr .enemy-star:hover{color:#f4c84c}
.twr .enemy-favorite-row{
  background:linear-gradient(90deg,rgba(244,200,76,.055),transparent 40%);
}
.twr .enemy-bs-tag{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 5px;
  border-radius:6px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.02em;
}
.twr .enemy-bs-tag.exact{
  border:1px solid rgba(52,190,124,.45);
  background:rgba(52,190,124,.10);
  color:#7cddb0;
}
.twr .enemy-bs-tag.estimate{
  border:1px solid rgba(231,175,64,.42);
  background:rgba(231,175,64,.09);
  color:#e6be69;
}

@media(max-width:900px){
  .twr .layout-panel[data-layout-size="half"],
  .twr .layout-panel[data-layout-size="wide"],
  .twr .layout-panel[data-layout-size="full"]{grid-column:span 12}
  .twr .enemy-stat-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .twr #wr-layout-zone{display:block}
  .twr .layout-panel{margin-bottom:8px!important}
  .twr .layout-editor-row{align-items:flex-start}
  .twr .layout-row-actions{flex-wrap:wrap;justify-content:flex-end}
  .twr .layout-row-actions select{width:100%}
  .twr .layout-density-row{grid-template-columns:1fr}
  .twr .enemy-stat-grid{grid-template-columns:1fr}
}

/* SINGLE MINIMAL LOGIN KEY */
.twr .team-single-key-note{
  display:grid;
  gap:4px;
  margin:9px 0;
  padding:10px;
  border:1px solid #315172;
  border-radius:10px;
  background:rgba(47,128,237,.07);
}
.twr .team-single-key-note b{color:#d9eaff}
.twr .team-single-key-note span{color:#9eacbd;font-size:11px;line-height:1.45}
.twr .team-share-controls-single{
  grid-template-columns:1fr 1fr!important;
}
@media(max-width:520px){
  .twr .team-share-controls-single{grid-template-columns:1fr!important}
}


/* =========================================================
   GLOBAL TABLE SYSTEM — ALL WAR ROOM TABLES
   ========================================================= */

.twr .wr-table-wrap,
.twr .table-wrap,
.twr .team-table-wrap{
  width:100%;
  max-width:100%;
  min-width:0;
  border:1px solid #2a3440;
  border-radius:12px;
  background:#0f141a;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.twr table.wr-table,
.twr table.team-table,
.twr .table-wrap table{
  width:100%;
  max-width:100%;
  min-width:0;
  border-collapse:separate;
  border-spacing:0;
  table-layout:auto;
  font-size:12px;
  line-height:1.35;
}

.twr table.wr-table thead th,
.twr table.team-table thead th,
.twr .table-wrap table thead th{
  position:sticky;
  top:0;
  z-index:3;
  padding:9px 10px;
  background:#171f29;
  color:#aebbd0;
  border-bottom:1px solid #303a47;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}

.twr table.wr-table tbody td,
.twr table.team-table tbody td,
.twr .table-wrap table tbody td{
  padding:9px 10px;
  vertical-align:middle;
  border-bottom:1px solid #242d37;
  color:#d6dde7;
  background:transparent;
}

.twr table.wr-table tbody tr:nth-child(even),
.twr table.team-table tbody tr:nth-child(even),
.twr .table-wrap table tbody tr:nth-child(even){
  background:rgba(255,255,255,.012);
}
.twr table.wr-table tbody tr:hover,
.twr table.team-table tbody tr:hover,
.twr .table-wrap table tbody tr:hover{
  background:rgba(47,128,237,.045);
}
.twr table.wr-table tbody tr:last-child td,
.twr table.team-table tbody tr:last-child td,
.twr .table-wrap table tbody tr:last-child td{
  border-bottom:0;
}

.twr table.wr-table td,
.twr table.wr-table th,
.twr table.team-table td,
.twr table.team-table th{
  min-width:0;
  max-width:100%;
}
.twr table.wr-table td,
.twr table.team-table td{
  overflow-wrap:anywhere;
  word-break:normal;
}

.twr table.wr-table .pill,
.twr table.team-table .pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  white-space:nowrap;
}

/* Large tables get an internal scroll instead of creating an endless page. */
.twr .roster-table-wrap,
.twr .team-table-wrap,
.twr .wr-table-wrap{
  max-height:min(66vh,720px);
}

/* Better long-content handling */
.twr table.wr-table td code,
.twr table.wr-table td .small,
.twr table.wr-table td .muted{
  white-space:normal;
}

/* Energy / life fit consistently anywhere inside tables */
.twr table.wr-table .combat-value,
.twr table.team-table .combat-value{
  display:grid;
  grid-template-columns:auto minmax(70px,1fr) auto;
  gap:6px;
  align-items:center;
  min-width:150px;
}
.twr table.wr-table .combat-bar,
.twr table.team-table .combat-bar{
  width:100%;
  min-width:70px;
}

/* ---------------------------------------------------------
   MOBILE — EVERY TABLE BECOMES CARDS
   --------------------------------------------------------- */
@media(max-width:760px){
  .twr .wr-table-wrap,
  .twr .table-wrap,
  .twr .team-table-wrap{
    overflow-x:hidden!important;
    overflow-y:auto;
    border:0;
    background:transparent;
    max-height:65vh;
    border-radius:0;
  }

  .twr table.wr-table,
  .twr table.team-table,
  .twr .table-wrap table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    border:0!important;
  }
  .twr table.wr-table thead,
  .twr table.team-table thead,
  .twr .table-wrap table thead{
    display:none!important;
  }
  .twr table.wr-table tbody,
  .twr table.team-table tbody,
  .twr .table-wrap table tbody{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  .twr table.wr-table tbody tr,
  .twr table.team-table tbody tr,
  .twr .table-wrap table tbody tr{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:0;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0 0 8px;
    border:1px solid #2d3744;
    border-radius:11px;
    overflow:hidden;
    background:#11171e!important;
  }
  .twr table.wr-table tbody td,
  .twr table.team-table tbody td,
  .twr .table-wrap table tbody td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:8px 9px!important;
    border:0!important;
    border-bottom:1px solid #252f3a!important;
    background:transparent!important;
    white-space:normal!important;
    overflow:hidden!important;
    overflow-wrap:anywhere!important;
    text-align:left!important;
  }
  .twr table.wr-table tbody td:nth-child(odd),
  .twr table.team-table tbody td:nth-child(odd),
  .twr .table-wrap table tbody td:nth-child(odd){
    border-right:1px solid #252f3a!important;
  }
  .twr table.wr-table tbody td::before,
  .twr table.team-table tbody td::before,
  .twr .table-wrap table tbody td::before{
    content:attr(data-label);
    display:block;
    margin:0 0 4px;
    color:#748399;
    font-size:9px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.055em;
    text-transform:uppercase;
  }

  /* First cell acts as the card title and spans full width. */
  .twr table.wr-table tbody td:first-child,
  .twr table.team-table tbody td:first-child,
  .twr .table-wrap table tbody td:first-child{
    grid-column:1/-1;
    border-right:0!important;
    background:#151d27!important;
    color:#eef4fb;
  }

  /* Last cells don't leave hanging borders */
  .twr table.wr-table tbody td:last-child,
  .twr table.team-table tbody td:last-child,
  .twr .table-wrap table tbody td:last-child{
    border-bottom:0!important;
  }

  /* Controls in a table cell remain usable */
  .twr table.wr-table tbody td button,
  .twr table.team-table tbody td button,
  .twr .table-wrap table tbody td button{
    max-width:100%;
  }

  /* Energy/Life: full-width rows */
  .twr table.wr-table tbody td[data-label*="ENERGY"],
  .twr table.wr-table tbody td[data-label*="LIFE"],
  .twr table.team-table tbody td[data-label*="ENERGY"],
  .twr table.team-table tbody td[data-label*="LIFE"]{
    grid-column:1/-1!important;
    border-right:0!important;
  }

  .twr table.wr-table .combat-value,
  .twr table.team-table .combat-value{
    width:100%;
    min-width:0!important;
    max-width:100%;
  }
}

/* Narrow phones: all card fields become one column. */
@media(max-width:430px){
  .twr table.wr-table tbody tr,
  .twr table.team-table tbody tr,
  .twr .table-wrap table tbody tr{
    grid-template-columns:1fr!important;
  }
  .twr table.wr-table tbody td,
  .twr table.team-table tbody td,
  .twr .table-wrap table tbody td{
    grid-column:1!important;
    border-right:0!important;
  }
}

/* ---------------------------------------------------------
   COMPLIANCE TABLES — readable disclosure cards everywhere
   --------------------------------------------------------- */
.twr .compliance-table{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  border:0!important;
}
.twr .compliance-table thead{display:none!important}
.twr .compliance-table tbody{display:block!important}
.twr .compliance-table tr{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.twr .compliance-table td{
  display:block!important;
  min-width:0!important;
  width:auto!important;
  padding:10px!important;
  border:1px solid #303a47!important;
  border-radius:9px;
  background:#111820!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.43!important;
}
.twr .compliance-table td:last-child{grid-column:1/-1}
.twr .compliance-table td::before{
  display:block;
  margin-bottom:6px;
  padding-bottom:5px;
  border-bottom:1px solid #2b3542;
  color:#8ebcff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
}
.twr .compliance-table td:nth-child(1)::before{content:"DATA STORAGE"}
.twr .compliance-table td:nth-child(2)::before{content:"DATA SHARING"}
.twr .compliance-table td:nth-child(3)::before{content:"PURPOSE OF USE"}
.twr .compliance-table td:nth-child(4)::before{content:"KEY STORAGE & SHARING"}
.twr .compliance-table td:nth-child(5)::before{content:"KEY ACCESS LEVEL"}

@media(max-width:760px){
  .twr .compliance-table tr{grid-template-columns:1fr!important}
  .twr .compliance-table td:last-child{grid-column:auto}
}

/* ---------------------------------------------------------
   TABLE DENSITY / SCALE MODES
   Integrates with existing Compact / Normal / Large UI scale.
   --------------------------------------------------------- */
.twr[data-ui-scale="compact"] table.wr-table,
.twr[data-ui-scale="compact"] table.team-table{
  font-size:11px;
}
.twr[data-ui-scale="compact"] table.wr-table tbody td,
.twr[data-ui-scale="compact"] table.team-table tbody td{
  padding:6px 8px;
}
.twr[data-ui-scale="large"] table.wr-table,
.twr[data-ui-scale="large"] table.team-table{
  font-size:13px;
}
.twr[data-ui-scale="large"] table.wr-table tbody td,
.twr[data-ui-scale="large"] table.team-table tbody td{
  padding:11px 12px;
}


/* =========================================================
   ENERGY / LIFE TERMS ON LOGIN — NO SHARE TAB IN APP
   ========================================================= */
.twr .energy-terms-box{
  margin:12px 0;
  padding:12px;
  border:1px solid #3a4b60;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(47,128,237,.07),rgba(15,20,26,.92));
}
.twr .energy-terms-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.twr .energy-terms-head h3{margin:3px 0 0;font-size:15px}
.twr .energy-terms-kicker{color:#8ebcff;font-size:9px;font-weight:900;letter-spacing:.07em}
.twr .energy-terms-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:9px 0;
}
.twr .energy-terms-grid>div{
  display:grid;
  gap:4px;
  min-width:0;
  padding:9px;
  border:1px solid #2e3946;
  border-radius:9px;
  background:#111820;
}
.twr .energy-terms-grid b{color:#8ebcff;font-size:9px;letter-spacing:.05em}
.twr .energy-terms-grid span{color:#aeb9c8;font-size:10.5px;line-height:1.42}
.twr .energy-terms-consent{
  margin:9px 0 0;
  padding:10px;
  border:1px solid #3a506a;
  border-radius:9px;
  background:#121923;
}
.twr #wr-energy-sharing-toggle{min-width:94px}
@media(max-width:620px){.twr .energy-terms-grid{grid-template-columns:1fr}}


/* =========================================================
   ADVANCED PERSONAL LAYOUT / TEXT / TABLE CUSTOMIZATION
   ========================================================= */

/* Editor groups */
.twr .layout-presets{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 0 10px;
}
.twr .layout-settings-group{
  margin:8px 0;
  padding:9px;
  border:1px solid #303b49;
  border-radius:11px;
  background:#10161d;
}
.twr .layout-settings-group>summary{
  cursor:pointer;
  color:#dbe6f4;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}
.twr .layout-settings-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:9px;
}
.twr .layout-settings-grid label{
  display:grid;
  gap:4px;
  min-width:0;
}
.twr .layout-settings-grid label>span,
.twr .layout-custom-title>span{
  color:#8593a6;
  font-size:9px;
  font-weight:900;
  letter-spacing:.05em;
}
.twr .layout-settings-grid select{min-width:0}
.twr .layout-group-help{margin:6px 0 8px}

.twr .layout-editor-row{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) auto;
  gap:7px 10px!important;
}
.twr .layout-row-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}
.twr .layout-visible-toggle{
  display:flex;
  align-items:center;
  gap:5px;
  flex:none;
  color:#8fa0b4;
  font-size:9px;
  font-weight:900;
}
.twr .layout-visible-toggle input{width:auto}
.twr .layout-custom-title{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:8px;
  align-items:center;
}
.twr .layout-custom-title input{
  min-height:31px;
  padding:5px 7px;
  font-size:11px;
}
.twr .user-hidden-panel{display:none!important}

/* More panel width choices */
.twr .layout-panel[data-layout-size="quarter"]{grid-column:span 3}
.twr .layout-panel[data-layout-size="third"]{grid-column:span 4}
.twr .layout-panel[data-layout-size="half"]{grid-column:span 6}
.twr .layout-panel[data-layout-size="wide"]{grid-column:span 8}
.twr .layout-panel[data-layout-size="threequarter"]{grid-column:span 9}
.twr .layout-panel[data-layout-size="full"]{grid-column:span 12}

/* Content width */
.twr[data-content-width="narrow"] .twr-shell{max-width:900px!important}
.twr[data-content-width="standard"] .twr-shell{max-width:1180px!important}
.twr[data-content-width="wide"] .twr-shell{max-width:1480px!important}
.twr[data-content-width="full"] .twr-shell{max-width:none!important;width:100%!important}

/* Panel gap */
.twr[data-panel-gap="tight"] #wr-layout-zone{gap:5px!important}
.twr[data-panel-gap="normal"] #wr-layout-zone{gap:9px!important}
.twr[data-panel-gap="relaxed"] #wr-layout-zone{gap:16px!important}

/* Corner style */
.twr[data-corner-style="square"] .twr-card,
.twr[data-corner-style="square"] .wr-table-wrap,
.twr[data-corner-style="square"] .table-wrap,
.twr[data-corner-style="square"] .team-table-wrap{border-radius:4px!important}
.twr[data-corner-style="soft"] .twr-card{border-radius:12px!important}
.twr[data-corner-style="round"] .twr-card{border-radius:20px!important}
.twr[data-corner-style="round"] .wr-table-wrap,
.twr[data-corner-style="round"] .table-wrap,
.twr[data-corner-style="round"] .team-table-wrap{border-radius:15px!important}

/* Independent text sizing */
.twr[data-text-size="small"]{font-size:12.5px!important}
.twr[data-text-size="normal"]{font-size:14px!important}
.twr[data-text-size="large"]{font-size:15.5px!important}
.twr[data-text-size="xlarge"]{font-size:17px!important}
.twr[data-text-size="small"] .small,.twr[data-text-size="small"] .sub{font-size:10.5px!important}
.twr[data-text-size="large"] .small,.twr[data-text-size="large"] .sub{font-size:12.5px!important}
.twr[data-text-size="xlarge"] .small,.twr[data-text-size="xlarge"] .sub{font-size:13.5px!important}

/* Heading sizing */
.twr[data-heading-size="compact"] h1{font-size:20px!important}
.twr[data-heading-size="compact"] h2{font-size:14px!important}
.twr[data-heading-size="compact"] h3{font-size:12px!important}
.twr[data-heading-size="normal"] h1{font-size:24px!important}
.twr[data-heading-size="normal"] h2{font-size:17px!important}
.twr[data-heading-size="normal"] h3{font-size:14px!important}
.twr[data-heading-size="large"] h1{font-size:29px!important}
.twr[data-heading-size="large"] h2{font-size:21px!important}
.twr[data-heading-size="large"] h3{font-size:17px!important}

/* Hide optional panel helper descriptions */
.twr[data-descriptions="hide"] .layout-panel .panel-title-wrap>.muted.small,
.twr[data-descriptions="hide"] .layout-panel .panel-head>div>.muted.small,
.twr[data-descriptions="hide"] .layout-panel .panel-help{
  display:none!important;
}

/* User can hide numeric player IDs while keeping other secondary text */
.twr[data-show-ids="hide"] .wr-player-id{display:none!important}

/* Table row density */
.twr[data-table-density="compact"] table.wr-table tbody td,
.twr[data-table-density="compact"] table.team-table tbody td,
.twr[data-table-density="compact"] .table-wrap table tbody td{padding:5px 7px!important}
.twr[data-table-density="compact"] table.wr-table thead th,
.twr[data-table-density="compact"] table.team-table thead th,
.twr[data-table-density="compact"] .table-wrap table thead th{padding:6px 7px!important}
.twr[data-table-density="comfortable"] table.wr-table tbody td,
.twr[data-table-density="comfortable"] table.team-table tbody td,
.twr[data-table-density="comfortable"] .table-wrap table tbody td{padding:12px 13px!important}
.twr[data-table-density="comfortable"] table.wr-table thead th,
.twr[data-table-density="comfortable"] table.team-table thead th,
.twr[data-table-density="comfortable"] .table-wrap table thead th{padding:11px 13px!important}

/* Independent table text */
.twr[data-table-text-size="small"] table.wr-table,
.twr[data-table-text-size="small"] table.team-table,
.twr[data-table-text-size="small"] .table-wrap table{font-size:10.5px!important}
.twr[data-table-text-size="normal"] table.wr-table,
.twr[data-table-text-size="normal"] table.team-table,
.twr[data-table-text-size="normal"] .table-wrap table{font-size:12px!important}
.twr[data-table-text-size="large"] table.wr-table,
.twr[data-table-text-size="large"] table.team-table,
.twr[data-table-text-size="large"] .table-wrap table{font-size:14px!important}

/* Zebra rows */
.twr[data-table-stripes="off"] table.wr-table tbody tr:nth-child(even),
.twr[data-table-stripes="off"] table.team-table tbody tr:nth-child(even),
.twr[data-table-stripes="off"] .table-wrap table tbody tr:nth-child(even){background:transparent!important}

/* Sticky header */
.twr[data-table-sticky="off"] table.wr-table thead th,
.twr[data-table-sticky="off"] table.team-table thead th,
.twr[data-table-sticky="off"] .table-wrap table thead th{position:static!important}

/* Table height */
.twr[data-table-height="short"] .wr-table-wrap,
.twr[data-table-height="short"] .table-wrap,
.twr[data-table-height="short"] .team-table-wrap{max-height:35vh!important}
.twr[data-table-height="medium"] .wr-table-wrap,
.twr[data-table-height="medium"] .table-wrap,
.twr[data-table-height="medium"] .team-table-wrap{max-height:58vh!important}
.twr[data-table-height="tall"] .wr-table-wrap,
.twr[data-table-height="tall"] .table-wrap,
.twr[data-table-height="tall"] .team-table-wrap{max-height:78vh!important}
.twr[data-table-height="auto"] .wr-table-wrap,
.twr[data-table-height="auto"] .table-wrap,
.twr[data-table-height="auto"] .team-table-wrap{max-height:none!important}

/* Mobile classic-table mode: overrides automatic card mode */
@media(max-width:760px){
  .twr[data-table-mobile="scroll"] .wr-table-wrap,
  .twr[data-table-mobile="scroll"] .table-wrap,
  .twr[data-table-mobile="scroll"] .team-table-wrap{
    overflow-x:auto!important;
    overflow-y:auto!important;
    border:1px solid #2a3440!important;
    border-radius:10px!important;
    background:#0f141a!important;
  }
  .twr[data-table-mobile="scroll"] table.wr-table,
  .twr[data-table-mobile="scroll"] table.team-table,
  .twr[data-table-mobile="scroll"] .table-wrap table{
    display:table!important;
    width:100%!important;
    min-width:680px!important;
    max-width:none!important;
  }
  .twr[data-table-mobile="scroll"] table.wr-table thead,
  .twr[data-table-mobile="scroll"] table.team-table thead,
  .twr[data-table-mobile="scroll"] .table-wrap table thead{display:table-header-group!important}
  .twr[data-table-mobile="scroll"] table.wr-table tbody,
  .twr[data-table-mobile="scroll"] table.team-table tbody,
  .twr[data-table-mobile="scroll"] .table-wrap table tbody{display:table-row-group!important}
  .twr[data-table-mobile="scroll"] table.wr-table tbody tr,
  .twr[data-table-mobile="scroll"] table.team-table tbody tr,
  .twr[data-table-mobile="scroll"] .table-wrap table tbody tr{
    display:table-row!important;
    width:auto!important;
    margin:0!important;
    border:0!important;
    background:transparent!important;
  }
  .twr[data-table-mobile="scroll"] table.wr-table tbody td,
  .twr[data-table-mobile="scroll"] table.team-table tbody td,
  .twr[data-table-mobile="scroll"] .table-wrap table tbody td{
    display:table-cell!important;
    width:auto!important;
    min-width:0!important;
    padding:8px 9px!important;
    border-right:0!important;
    border-bottom:1px solid #242d37!important;
    background:transparent!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  .twr[data-table-mobile="scroll"] table.wr-table tbody td::before,
  .twr[data-table-mobile="scroll"] table.team-table tbody td::before,
  .twr[data-table-mobile="scroll"] .table-wrap table tbody td::before{display:none!important}
  .twr[data-table-mobile="scroll"] table.wr-table tbody td:first-child,
  .twr[data-table-mobile="scroll"] table.team-table tbody td:first-child,
  .twr[data-table-mobile="scroll"] .table-wrap table tbody td:first-child{
    background:transparent!important;
  }
}

/* Responsive editor */
@media(max-width:980px){
  .twr .layout-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .twr .layout-presets{align-items:flex-start;flex-direction:column}
  .twr .layout-settings-grid{grid-template-columns:1fr}
  .twr .layout-editor-row{grid-template-columns:1fr!important}
  .twr .layout-row-actions{justify-content:stretch!important}
  .twr .layout-row-actions button{flex:1}
  .twr .layout-row-actions select{flex:2;width:auto!important}
  .twr .layout-custom-title{grid-template-columns:1fr}
}
@media(max-width:900px){
  .twr .layout-panel[data-layout-size="quarter"],
  .twr .layout-panel[data-layout-size="third"],
  .twr .layout-panel[data-layout-size="half"],
  .twr .layout-panel[data-layout-size="wide"],
  .twr .layout-panel[data-layout-size="threequarter"],
  .twr .layout-panel[data-layout-size="full"]{grid-column:span 12!important}
}


/* =========================================================
   FULL-CLONE SHOWROOM MODE
   ========================================================= */
.twr .showroom-live-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px 11px;
  margin-bottom:10px;
  border:1px solid #7257b7;
  border-radius:11px;
  background:linear-gradient(90deg,rgba(139,92,246,.16),rgba(47,128,237,.07));
  color:#d8ceff;
}
.twr .showroom-live-banner b{font-size:11px;letter-spacing:.07em}
.twr .showroom-live-banner span{font-size:10px;color:#aebbd0;text-align:right}
.twr .showroom-inline-note{
  margin:7px 0;
  padding:7px 8px;
  border:1px solid #5c4b8d;
  border-radius:8px;
  background:rgba(139,92,246,.08);
  color:#c9baff;
  font-size:10px;
  font-weight:800;
}
.twr .showroom-app-banner{margin:0 0 8px}
@media(max-width:620px){
  .twr .showroom-live-banner{align-items:flex-start;flex-direction:column}
  .twr .showroom-live-banner span{text-align:left}
}
