:root {
  --up-gov-cyan: #66efff;
  --up-gov-blue: #247cff;
  --up-gov-green: #6ff0b6;
  --up-gov-gold: #ffd477;
  --up-gov-ink: #04101f;
}

.unipay-governance-partnership {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  width: min(1240px, calc(100% - 32px));
  margin: 28px auto;
  padding: clamp(20px, 4vw, 42px);
  overflow: hidden;
  border: 1px solid rgba(101, 235, 255, .42);
  border-radius: 28px;
  background:
    radial-gradient(circle at 92% 8%, rgba(41, 124, 255, .24), transparent 34%),
    radial-gradient(circle at 3% 92%, rgba(77, 232, 174, .12), transparent 30%),
    linear-gradient(145deg, rgba(3, 18, 39, .98), rgba(3, 9, 25, .98));
  color: #eefcff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .34), inset 0 0 55px rgba(56, 209, 255, .05);
}

.unipay-governance-partnership::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(94, 228, 255, .055) 1px, transparent 1px),
    linear-gradient(rgba(94, 228, 255, .045) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(135deg, #000, transparent 78%);
}

.up-governance-heading { max-width: 980px; }
.up-governance-heading h2 { margin: 9px 0 12px; font-size: clamp(1.8rem, 4vw, 3.3rem); line-height: 1.05; }
.up-governance-heading p { margin: 0; color: #c9e2ec; font-size: clamp(.94rem, 1.5vw, 1.06rem); line-height: 1.7; }
.up-governance-kicker { color: var(--up-gov-cyan); font-size: .72rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.up-governance-status { display: inline-flex; margin-top: 15px; padding: 7px 11px; border: 1px solid rgba(255, 212, 119, .42); border-radius: 999px; background: rgba(255, 192, 67, .08); color: #ffe8b3; font-size: .76rem; font-weight: 800; }

.up-governance-tree { display: grid; gap: 11px; margin: 26px 0; }
.up-governance-tree-level { display: grid; grid-template-columns: repeat(var(--up-gov-columns, 1), minmax(0, 1fr)); gap: 11px; }
.up-governance-tree-card { position: relative; padding: 15px; border: 1px solid rgba(102, 231, 255, .24); border-radius: 14px; background: rgba(4, 25, 48, .84); }
.up-governance-tree-card::before { content: attr(data-level); display: block; margin-bottom: 6px; color: var(--up-gov-cyan); font: 800 .66rem/1 ui-monospace, monospace; letter-spacing: .12em; }
.up-governance-tree-card strong { display: block; color: #fff; font-size: .98rem; }
.up-governance-tree-card span { display: block; margin-top: 6px; color: #bcd6e1; font-size: .82rem; line-height: 1.48; }
.up-governance-tree-arrow { height: 18px; text-align: center; color: var(--up-gov-cyan); font-size: 1.25rem; line-height: 18px; }

.up-governance-pillars,
.up-governance-roles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.up-governance-pillar,
.up-governance-role { display: flex; min-width: 0; flex-direction: column; padding: 17px; border: 1px solid rgba(103, 223, 255, .2); border-radius: 16px; background: rgba(3, 17, 36, .72); }
.up-governance-pillar h3,
.up-governance-role h3 { margin: 0 0 8px; color: #8df5ff; font-size: 1rem; }
.up-governance-pillar p,
.up-governance-role p { margin: 0; color: #c4dce6; font-size: .88rem; line-height: 1.58; }
.up-governance-pillar button,
.up-governance-role button { align-self: flex-start; margin-top: auto; padding: 10px 0 0; border: 0; background: transparent; color: var(--up-gov-green); font-weight: 850; cursor: pointer; text-align: left; }
.up-governance-pillar button:hover,
.up-governance-pillar button:focus-visible,
.up-governance-role button:hover,
.up-governance-role button:focus-visible { color: #fff; outline: none; text-decoration: underline; text-underline-offset: 4px; }

.up-governance-section-title { margin: 30px 0 13px; }
.up-governance-section-title h3 { margin: 4px 0 7px; font-size: clamp(1.25rem, 2.6vw, 2rem); }
.up-governance-section-title p { max-width: 880px; margin: 0; color: #bfd7e2; line-height: 1.58; }
.up-governance-role { min-height: 210px; }
.up-governance-role strong { display: block; margin-top: 10px; color: var(--up-gov-gold); font-size: .76rem; text-transform: uppercase; letter-spacing: .06em; }

.up-governance-country-band { display: grid; grid-template-columns: 1.25fr .75fr; gap: 14px; margin-top: 22px; }
.up-governance-country-band > div { padding: 18px; border: 1px solid rgba(112, 239, 255, .22); border-radius: 16px; background: linear-gradient(135deg, rgba(18, 65, 100, .55), rgba(5, 21, 42, .78)); }
.up-governance-country-band h3 { margin: 0 0 8px; color: #fff; }
.up-governance-country-band p { margin: 0; color: #c8e0e9; line-height: 1.58; }
.up-governance-country-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.up-governance-country-tags span { padding: 6px 9px; border: 1px solid rgba(111, 240, 182, .31); border-radius: 999px; color: #9df5cb; font-size: .72rem; }

.up-governance-application { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: 16px; margin-top: 28px; }
.up-governance-steps { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: gov-step; }
.up-governance-steps li { counter-increment: gov-step; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 10px; padding: 12px; border: 1px solid rgba(104, 225, 255, .18); border-radius: 12px; background: rgba(2, 15, 32, .7); color: #cfe4ec; line-height: 1.48; }
.up-governance-steps li::before { content: counter(gov-step, decimal-leading-zero); display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(104, 238, 255, .52); border-radius: 9px; color: #8ef5ff; font: 850 .72rem ui-monospace, monospace; }
.up-governance-documents { padding: 18px; border: 1px solid rgba(255, 212, 119, .29); border-radius: 16px; background: rgba(27, 24, 21, .62); }
.up-governance-documents h3 { margin: 0 0 8px; color: #ffe0a0; }
.up-governance-documents p { margin: 0 0 13px; color: #d9d4c8; line-height: 1.55; }
.up-governance-personalize { width: 100%; min-height: 48px; margin-bottom: 13px; padding: 11px 14px; border: 1px solid rgba(111, 240, 182, .72); border-radius: 11px; background: linear-gradient(135deg, rgba(0, 135, 153, .92), rgba(35, 76, 176, .9)); color: #fff; font-weight: 900; cursor: pointer; box-shadow: 0 0 20px rgba(60, 224, 255, .12); }
.up-governance-personalize:hover,
.up-governance-personalize:focus-visible { border-color: #fff; box-shadow: 0 0 23px rgba(76, 236, 255, .3); outline: none; }
.up-governance-secure-deposit { margin: 2px 0 14px; padding: 13px; border: 1px solid rgba(102, 239, 255, .34); border-radius: 13px; background: linear-gradient(145deg, rgba(5, 51, 73, .67), rgba(12, 24, 57, .72)); }
.up-governance-secure-deposit strong { display: block; margin-bottom: 6px; color: #8df5ff; font-size: .83rem; }
.up-governance-secure-deposit p { margin-bottom: 10px; color: #c6e0e8; font-size: .77rem; }
.up-governance-candidate-open { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid rgba(102, 239, 255, .7); border-radius: 10px; background: linear-gradient(135deg, #087e9c, #1748a6); color: #fff; font-weight: 900; cursor: pointer; }
.up-governance-candidate-open:hover,
.up-governance-candidate-open:focus-visible { border-color: #fff; box-shadow: 0 0 22px rgba(102, 239, 255, .26); outline: none; }
.up-governance-source-label { margin-top: 3px !important; color: #bdb8ae !important; font-size: .76rem; }
.up-governance-downloads,
.up-governance-channels { display: grid; gap: 8px; }
.up-governance-downloads a,
.up-governance-downloads button,
.up-governance-channels a,
.up-governance-share { display: flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 12px; border: 1px solid rgba(106, 235, 255, .48); border-radius: 10px; background: linear-gradient(135deg, rgba(23, 98, 153, .78), rgba(68, 50, 145, .72)); color: #fff; font-weight: 800; text-decoration: none; text-align: center; cursor: pointer; }
.up-governance-downloads a:hover,
.up-governance-downloads button:hover,
.up-governance-downloads button:focus-visible,
.up-governance-channels a:hover,
.up-governance-share:hover { border-color: #fff; box-shadow: 0 0 18px rgba(90, 233, 255, .2); }
.up-governance-downloads button[data-invitation-preferred="true"] { border-color: #79ffc5; box-shadow: 0 0 18px rgba(79, 255, 197, .22); }
.up-governance-channels { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 8px; }
.up-governance-share { width: 100%; margin-top: 8px; }
.up-governance-share-status { min-height: 1.3em; margin-top: 8px !important; color: #99eec8 !important; font-size: .76rem; }
.up-governance-legal-note { margin: 18px 0 0; padding: 13px 15px; border-left: 3px solid var(--up-gov-gold); background: rgba(255, 196, 73, .07); color: #d9d5c8; font-size: .79rem; line-height: 1.55; }

body.unipay-governance-modal-open { overflow: hidden !important; }
#unipayGovernanceModal,
#unipayGovernanceInvitationModal,
#unipayGovernanceCandidateModal { position: fixed; left: var(--up-gov-modal-left, 8px); top: var(--up-gov-modal-top, 8px); z-index: 100009; box-sizing: border-box; width: var(--up-gov-modal-width, calc(100vw - 16px)); height: var(--up-gov-modal-height, calc(100dvh - 16px)); display: grid; place-items: center; overflow: hidden; visibility: hidden; pointer-events: none; background: radial-gradient(circle at 50% 0, rgba(30, 119, 185, .16), rgba(1, 7, 18, .36)); }
#unipayGovernanceModal[aria-hidden="false"],
#unipayGovernanceInvitationModal[aria-hidden="false"],
#unipayGovernanceCandidateModal[aria-hidden="false"] { visibility: visible; pointer-events: auto; }
.up-governance-modal-panel { position: relative; width: min(980px, 100%); height: 100%; min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; border: 1px solid rgba(102, 239, 255, .83); border-radius: 15px; background: linear-gradient(145deg, rgba(2, 16, 36, .997), rgba(3, 8, 24, .997)); color: #efffff; box-shadow: 0 0 24px rgba(69, 226, 255, .38), 0 0 70px rgba(41, 107, 255, .26); opacity: 0; transform: translateY(15px) scale(.985); transition: opacity .2s ease, transform .26s ease; }
#unipayGovernanceModal[aria-hidden="false"] .up-governance-modal-panel,
#unipayGovernanceInvitationModal[aria-hidden="false"] .up-governance-modal-panel,
#unipayGovernanceCandidateModal[aria-hidden="false"] .up-governance-modal-panel { opacity: 1; transform: none; }
.up-governance-modal-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 17px; border-bottom: 1px solid rgba(91, 229, 255, .23); background: linear-gradient(90deg, rgba(12, 57, 94, .95), rgba(34, 23, 78, .93)); }
.up-governance-modal-header span { color: #86f6ff; font-size: .68rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.up-governance-modal-header h2 { margin: 4px 0 0; font-size: clamp(1.12rem, 2.7vw, 1.65rem); }
.up-governance-modal-close { flex: 0 0 auto; width: 40px; height: 40px; border: 1px solid rgba(119, 244, 255, .72); border-radius: 50%; background: rgba(2, 13, 30, .7); color: #fff; font-size: 1.55rem; cursor: pointer; }
.up-governance-modal-content { min-height: 0; overflow: auto; padding: clamp(16px, 3vw, 28px); overscroll-behavior: contain; }
.up-governance-modal-intro { margin: 0 0 17px; color: #cee4ed; font-size: 1rem; line-height: 1.65; }
.up-governance-modal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.up-governance-modal-grid section { padding: 16px; border: 1px solid rgba(100, 225, 255, .2); border-radius: 12px; background: rgba(4, 24, 45, .7); }
.up-governance-modal-grid h3 { margin: 0 0 9px; color: #87f4ff; font-size: 1rem; }
.up-governance-modal-grid ul,
.up-governance-modal-grid ol { display: grid; gap: 8px; margin: 0; padding-left: 20px; color: #cbe0e8; line-height: 1.5; }
.up-governance-modal-confidentiality { margin-top: 13px; padding: 13px 15px; border-left: 3px solid #a77cff; background: rgba(100, 61, 169, .14); color: #ded4f4; line-height: 1.55; }
.up-governance-invitation-panel { width: min(900px, 100%); }
.up-governance-candidate-panel { width: min(980px, 100%); }
.up-governance-invitation-form { min-height: 0; overflow: auto; padding: clamp(16px, 3vw, 27px); overscroll-behavior: contain; }
.up-governance-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.up-governance-form-grid label,
.up-governance-contribution { display: grid; gap: 6px; color: #a9ecf5; font-size: .78rem; font-weight: 850; }
.up-governance-form-grid small { color: #8ca6b5; font-weight: 500; }
.up-governance-form-wide { grid-column: 1 / -1; }
.up-governance-form-grid input,
.up-governance-form-grid select,
.up-governance-contribution textarea,
.up-governance-file-field input { box-sizing: border-box; width: 100%; border: 1px solid rgba(100, 225, 255, .3); border-radius: 10px; background: #06192d; color: #f5ffff; padding: 11px 12px; font: inherit; font-weight: 500; outline: none; }
.up-governance-form-grid input:focus,
.up-governance-form-grid select:focus,
.up-governance-file-field input:focus,
.up-governance-contribution textarea:focus { border-color: #71efff; box-shadow: 0 0 0 3px rgba(74, 221, 255, .13); }
.up-governance-role-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 16px 0; padding: 13px; border: 1px solid rgba(100, 225, 255, .24); border-radius: 12px; }
.up-governance-role-options legend { padding: 0 7px; color: #8bf5ff; font-size: .82rem; font-weight: 900; }
.up-governance-role-options label,
.up-governance-consent { display: flex; align-items: flex-start; gap: 9px; color: #cee4ed; font-size: .8rem; line-height: 1.42; }
.up-governance-role-options input,
.up-governance-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; accent-color: #20cde4; }
.up-governance-contribution { margin-top: 4px; }
.up-governance-consent { margin-top: 14px; padding: 12px; border-left: 3px solid #a77cff; background: rgba(94, 56, 156, .15); }
.up-governance-invitation-status { min-height: 1.4em; margin: 12px 0; color: #9df5cb; font-size: .8rem; font-weight: 750; }
.up-governance-invitation-status.is-error { color: #ffb7b7; }
.up-governance-format-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.up-governance-format-actions button { min-height: 46px; padding: 10px; border: 1px solid rgba(105, 237, 255, .58); border-radius: 10px; background: linear-gradient(135deg, rgba(13, 108, 154, .92), rgba(68, 48, 153, .9)); color: #fff; font-weight: 900; cursor: pointer; }
.up-governance-format-actions button:disabled { opacity: .55; cursor: wait; }
.up-governance-security-notice { margin: 0 0 16px; padding: 14px; border: 1px solid rgba(111, 240, 182, .38); border-left: 4px solid var(--up-gov-green); border-radius: 12px; background: linear-gradient(135deg, rgba(4, 67, 65, .34), rgba(5, 24, 49, .74)); }
.up-governance-security-notice strong { color: #9df5cb; }
.up-governance-security-notice p { margin: 6px 0 0; color: #d2e7ea; font-size: .82rem; line-height: 1.58; }
.up-governance-file-field { display: grid; gap: 7px; margin-top: 13px; color: #a9ecf5; font-size: .78rem; font-weight: 850; }
.up-governance-file-field small { display: block; margin-top: 3px; color: #8ca6b5; font-weight: 500; }
.up-governance-file-field input::file-selector-button { margin-right: 10px; padding: 8px 10px; border: 1px solid rgba(102, 239, 255, .4); border-radius: 8px; background: #0d5275; color: #fff; font-weight: 800; cursor: pointer; }
.up-governance-honeypot { position: fixed !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.up-governance-location-control { display: grid; grid-template-columns: minmax(220px, .55fr) minmax(0, 1fr); gap: 10px; align-items: center; margin-top: 14px; padding: 12px; border: 1px solid rgba(255, 212, 119, .28); border-radius: 12px; background: rgba(255, 188, 61, .06); }
.up-governance-location-control button { min-height: 44px; padding: 9px 12px; border: 1px solid rgba(255, 212, 119, .66); border-radius: 9px; background: linear-gradient(135deg, #865f15, #1f6590); color: #fff; font-weight: 900; cursor: pointer; }
.up-governance-location-control button:disabled { opacity: .58; cursor: wait; }
.up-governance-location-control p { margin: 0; color: #ffe3a4; font-size: .8rem; line-height: 1.48; }
.up-governance-location-control.is-ready { border-color: rgba(111, 240, 182, .58); background: rgba(21, 115, 83, .13); }
.up-governance-location-control.is-ready p { color: #9df5cb; }
.up-governance-candidate-actions { grid-template-columns: 1fr; }
.up-governance-submission-receipt { margin-top: 14px; padding: 16px; border: 1px solid rgba(111, 240, 182, .62); border-radius: 13px; background: linear-gradient(135deg, rgba(15, 97, 72, .3), rgba(8, 34, 66, .8)); }
.up-governance-submission-receipt strong { color: #9df5cb; font-size: 1rem; }
.up-governance-submission-receipt p { color: #d9edef; line-height: 1.55; }
.up-governance-submission-receipt a { display: flex; justify-content: center; align-items: center; min-height: 46px; padding: 10px 13px; border: 1px solid rgba(102, 239, 255, .68); border-radius: 10px; background: linear-gradient(135deg, #087e9c, #1748a6); color: #fff; font-weight: 900; text-decoration: none; text-align: center; }

@media (max-width: 980px) {
  .up-governance-pillars,
  .up-governance-roles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .up-governance-country-band,
  .up-governance-application { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .unipay-governance-partnership { width: calc(100% - 20px); margin: 18px auto; padding: 17px; border-radius: 20px; }
  .up-governance-tree-level,
  .up-governance-pillars,
  .up-governance-roles,
  .up-governance-modal-grid { grid-template-columns: 1fr; }
  .up-governance-role { min-height: 0; }
  .up-governance-channels { grid-template-columns: 1fr; }
  #unipayGovernanceModal,
  #unipayGovernanceInvitationModal,
  #unipayGovernanceCandidateModal { place-items: stretch; }
  .up-governance-modal-panel { width: 100%; border-radius: 11px; }
  .up-governance-form-grid,
  .up-governance-role-options,
  .up-governance-format-actions { grid-template-columns: 1fr; }
  .up-governance-form-wide { grid-column: auto; }
  .up-governance-location-control { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .up-governance-modal-panel { transition: none; }
}
