/* JustiX PB0.7.2 — Global Legal Context + account persistence
   Keeps the approved navy/gold legal-editorial language. */
:root{
  --jx-context-gold:#D4AF37;
  --jx-context-navy:#0A1C3A;
  --jx-context-ok:#76d4a3;
  --jx-context-warn:#f0c96c;
}

.jx-context-trigger{
  min-height:42px;
  border:1px solid rgba(212,175,55,.22);
  border-radius:13px;
  background:rgba(255,255,255,.035);
  color:#fff;
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  font-weight:800;
  transition:.18s ease;
  white-space:nowrap;
}
.jx-context-trigger:hover{
  border-color:rgba(212,175,55,.42);
  background:rgba(212,175,55,.06);
  transform:translateY(-1px);
}
.jx-context-code{
  min-width:29px;height:29px;border-radius:9px;
  display:grid;place-items:center;
  font-size:9px;letter-spacing:.8px;
  color:#06111e;
  background:linear-gradient(145deg,#f2d66f,#c49527);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 18px rgba(0,0,0,.2);
}
.jx-context-copy{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1}
.jx-context-copy b{font-size:11px;max-width:110px;overflow:hidden;text-overflow:ellipsis}
.jx-context-copy i{width:4px;height:4px;border-radius:50%;background:rgba(212,175,55,.72);display:block}
.jx-context-copy span{color:#b7c4d2;font-size:10px;font-weight:700}
.jx-context-chevron{font-size:11px;color:#8fa0b2;margin-left:1px}
.jx-context-trigger[data-status="operational-core"] .jx-context-code{box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 0 0 2px rgba(118,212,163,.08),0 8px 18px rgba(0,0,0,.2)}

.jx-context-modal[hidden]{display:none!important}
.jx-context-modal{position:fixed;inset:0;z-index:125;display:grid;place-items:center;padding:22px}
.jx-context-backdrop{position:absolute;inset:0;background:rgba(1,8,16,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.jx-context-card{
  width:min(830px,100%);
  max-height:min(820px,calc(100vh - 44px));
  overflow:auto;
  position:relative;
  border-radius:24px;
  padding:22px;
  border:1px solid rgba(212,175,55,.22)!important;
  box-shadow:0 36px 100px rgba(0,0,0,.55)!important;
}
.jx-context-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.06)}
.jx-context-head h2{margin:4px 0 5px;font-size:24px;letter-spacing:-.45px}
.jx-context-head p{margin:0;color:#aab8c6;font-size:11px;line-height:1.6;max-width:630px}
.jx-context-section{padding-top:18px}
.jx-context-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}
.jx-context-section-head b{font-size:13px}
.jx-context-section-head span{font-size:9px;letter-spacing:1px;color:#7e91a5;text-transform:uppercase}
.jx-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.jx-context-country{
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.024);
  color:#e8edf3;
  border-radius:15px;
  padding:12px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 9px;
  text-align:left;
  min-height:82px;
  transition:.17s ease;
}
.jx-context-country:hover{border-color:rgba(212,175,55,.22);background:rgba(212,175,55,.035)}
.jx-context-country.selected{border-color:rgba(212,175,55,.65);background:linear-gradient(145deg,rgba(212,175,55,.10),rgba(255,255,255,.025));box-shadow:inset 0 0 0 1px rgba(212,175,55,.08)}
.jx-context-country .code{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#0e2745;border:1px solid rgba(255,255,255,.08);color:#e8c85c;font-size:10px;font-weight:900;letter-spacing:.8px}
.jx-context-country b{font-size:12px;align-self:end}
.jx-context-country small{font-size:9px;color:#8ea0b2;line-height:1.35}
.jx-context-country .state{grid-column:1/-1;margin-top:5px;justify-self:start;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;background:rgba(255,255,255,.045);color:#9cadbd}
.jx-context-country .state.ready{background:rgba(118,212,163,.09);color:#91e3b6;border:1px solid rgba(118,212,163,.12)}
.jx-context-country .state.mapped{background:rgba(212,175,55,.07);color:#dbc364;border:1px solid rgba(212,175,55,.10)}

.jx-context-language-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.5fr);gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);border-radius:14px}
.jx-context-language-row b{font-size:12px}.jx-context-language-row p{margin:4px 0 0;color:#8fa0b2;font-size:10px;line-height:1.5}
.jx-context-language-row select{width:100%;height:42px;border-radius:11px;border:1px solid rgba(255,255,255,.08);background:#0b2039;color:#fff;padding:0 12px;outline:none}
.jx-context-summary{margin-top:12px;padding:13px 14px;border-radius:14px;border:1px solid rgba(212,175,55,.13);background:rgba(212,175,55,.035);display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.jx-context-summary .mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#e8c85c;background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.15);font-size:13px}
.jx-context-summary b{font-size:11px;display:block;margin-bottom:3px}.jx-context-summary span{font-size:10px;color:#a5b4c3;line-height:1.5}
.jx-context-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}
.jx-context-actions>span{font-size:9px;color:#7f91a4;max-width:510px;line-height:1.45}
.jx-context-actions>div{display:flex;gap:8px}

.jx-global-context-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid rgba(212,175,55,.16);background:rgba(212,175,55,.04);border-radius:999px;color:#d7c36d;font-size:8px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap}
.jx-global-context-chip i{width:6px;height:6px;border-radius:50%;background:var(--jx-context-warn);box-shadow:0 0 10px rgba(240,201,108,.35)}
body[data-jx-context-status="operational-core"] .jx-global-context-chip i{background:var(--jx-context-ok);box-shadow:0 0 10px rgba(118,212,163,.35)}

/* Settings integration */
#settingsGlobalCountry,#settingsGlobalLanguage{min-width:180px}

@media(max-width:1380px){
  .jx-context-copy b{max-width:72px}.jx-context-copy span{display:none}
  .jx-context-trigger{padding-inline:8px}.jx-context-trigger .jx-context-chevron{display:none}
}
@media(max-width:1100px){.jx-context-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:920px){
  .jx-context-trigger{min-height:40px}.jx-context-copy{display:none}.jx-context-code{width:30px;min-width:30px}
}
@media(max-width:650px){
  .jx-context-modal{padding:10px}.jx-context-card{max-height:calc(100vh - 20px);padding:17px;border-radius:20px}
  .jx-context-head h2{font-size:21px}.jx-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jx-context-language-row{grid-template-columns:1fr}.jx-context-actions{align-items:stretch;flex-direction:column}.jx-context-actions>div{display:grid;grid-template-columns:1fr 1fr}.jx-context-actions button{width:100%}
}
@media(max-width:430px){
  .jx-context-grid{grid-template-columns:1fr}.jx-context-country{min-height:70px}
  .jx-context-trigger{padding:5px;border-radius:11px}.jx-context-code{width:28px;height:28px;min-width:28px}
  .top-actions{gap:5px}
}

/* v0.7.2 — cross-module jurisdiction integrity */
.jx-module-context-badge{margin-left:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:6px 10px;border-radius:12px;border:1px solid rgba(212,175,55,.18);background:rgba(10,28,58,.64);color:#dfe7f0;font-size:10px;line-height:1;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.jx-module-context-badge i{width:6px;height:6px;border-radius:50%;background:#D4AF37;box-shadow:0 0 12px rgba(212,175,55,.35)}
.jx-module-context-badge b{color:#D4AF37;letter-spacing:.7px}.jx-module-context-badge span{font-weight:750}.jx-module-context-badge em{font-style:normal;color:#9fafc0;border-left:1px solid rgba(255,255,255,.08);padding-left:7px}
.jx-context-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;margin:0 0 16px;border-radius:14px!important;border-color:rgba(212,175,55,.15)!important}
.jx-context-notice[hidden]{display:none!important}.jx-context-notice-mark{display:grid;place-items:center;min-width:38px;height:34px;padding:0 8px;border-radius:10px;background:rgba(212,175,55,.10);border:1px solid rgba(212,175,55,.20);color:#D4AF37;font-size:11px;font-weight:900;letter-spacing:.8px}
.jx-context-notice b{display:block;font-size:12px;color:#fff}.jx-context-notice p{margin:3px 0 0;color:#aebac8;font-size:10px;line-height:1.55;max-width:980px}.jx-context-notice-state{font-size:9px;font-weight:850;letter-spacing:.8px;text-transform:uppercase;color:#D4AF37;white-space:nowrap}
.jx-context-notice.compact{padding:9px 12px;margin-bottom:12px}.jx-context-notice.compact .jx-context-notice-mark{height:30px;min-width:34px}.jx-context-notice.compact p{margin-top:1px}
@media(max-width:900px){.jx-module-context-badge{order:3;margin-left:0}.jx-context-notice{grid-template-columns:auto 1fr}.jx-context-notice-state,.jx-context-notice>button{grid-column:2;justify-self:start}}
@media(max-width:620px){.jx-module-context-badge{width:100%;justify-content:flex-start}.jx-context-notice{padding:11px;gap:9px}.jx-context-notice p{font-size:9.5px}}

/* PB0.7.2 account persistence state */
.jx-context-account-state{font-size:10px;color:#AAB7C7;padding:5px 8px;border-radius:999px;border:1px solid rgba(212,175,55,.14);background:rgba(255,255,255,.025);white-space:nowrap}.jx-context-account-state[data-state="synced"]{color:#D4AF37}.jx-context-account-state[data-state="offline"]{color:#E6B85C}@media(max-width:760px){.jx-context-account-state{width:100%;text-align:center}}

/* PB0.7.5 — explicit global-context commit */
.jx-context-actions>div{margin-left:auto}
#jxContextApply{min-width:164px}
#jxContextApply:disabled{opacity:.42;cursor:not-allowed;transform:none!important;box-shadow:none!important;filter:saturate(.55)}
@media(max-width:650px){.jx-context-actions>div{display:block;width:100%;margin-left:0}.jx-context-actions #jxContextApply{width:100%;min-height:48px}}
