/* Stellar Workspace / 2026.09 — shared hierarchy and accessible controls. */
:root { --canvas:#0b1120; --surface:#131e31; --surface-raised:#19263b; --text:#f3f6fc; --text-soft:#bcc8db; --text-muted:#a9b8cf; --border:#2c3b52; --border-strong:#52647e; --celestial-lilac:#b9a9fa; --sidebar-width:248px; --shadow-sm:0 2px 5px #0000000f; }
body { background:var(--canvas); font-size:16px; }
.site-header { background:#0d1627; }
.brand-logo-wide { width:200px; }
.primary-nav a { font-size:14px; border-radius:8px; min-height:44px; }
.primary-nav a[aria-current="page"] { background:#2c284b; box-shadow:inset 3px 0 #b9a9fa; }
.workspace-topbar { min-height:76px; padding-block:18px; }
.workspace-title { font-size:15px; }
.workspace-subtitle { font-size:13px; color:var(--text-soft); }
.hero { margin-top:16px; border-radius:16px; background:#19243e; border-color:#354464; }
.hero::before { background:linear-gradient(100deg,#19243e 50%,#19243e99); }
.hero-grid { min-height:0; padding:26px 28px; }
.hero-copy { max-width:760px; }
.hero h1 { font-size:clamp(28px,2.7vw,36px); line-height:1.2; letter-spacing:-.035em; margin:8px 0; }
.hero-summary { max-width:680px; font-size:15px; line-height:1.6; }
.hero-actions { margin-top:18px; }
.hero-notice { margin-top:14px; font-size:13px; }
.section-kicker { font-size:11px; letter-spacing:.13em; }
h2 { font-size:24px; letter-spacing:-.025em; }
h3 { letter-spacing:-.015em; }
.metric-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.metric-card { min-height:124px; padding:20px; border-radius:12px; border-top-width:1px!important; }
.metric-card:first-child { border-left:3px solid var(--warning); }
.metric-label { font-size:14px; }
.metric-card strong { font-size:32px; font-variant-numeric:tabular-nums; }
.metric-card small { font-size:13px; line-height:1.5; color:var(--text-soft); }
.surface,.control-card,.policy-card { border-radius:14px; box-shadow:none; }
.workspace-card { padding:22px; }
.workspace-card-icon { width:40px; height:40px; border-radius:10px; font-size:13px; }
.workspace-card h3 { font-size:20px; }
.workspace-card p:not(.card-eyebrow) { font-size:14px; line-height:1.65; }
.workspace-card-action { min-height:44px; display:inline-flex; align-items:center; font-size:14px; }
.button { min-height:44px; font-size:14px; border-radius:8px; box-shadow:none; }
.button-accent { background:#7452d1; color:#fff; border-color:#9675ed; }
.button-accent:hover { background:#825fe0; }
input,select,textarea { font-size:16px; border-color:var(--border-strong); border-radius:8px; }
.field-label,label { line-height:1.5; }
th { font-size:12px; letter-spacing:.015em; text-transform:none; }
td { font-size:14px; line-height:1.55; }
.status-badge,.status-pill { font-size:12px; }
.empty-state { padding:32px 20px; }
:focus-visible { outline:3px solid #a5dcff; outline-offset:3px; }
@media(min-width:1101px) { .dashboard-page main,.dashboard-page .site-footer { margin-left:248px; } .dashboard-page .site-header { width:248px; } }
@media(max-width:760px) {
 .hero { width:calc(100% - 32px); margin-top:12px; }
 .hero-grid { padding:22px; }
 .hero h1 { font-size:29px; }
 .hero-summary { font-size:15px; }
 .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .metric-card { min-height:120px; padding:16px; }
 .metric-card strong { font-size:28px; }
 .metric-card small { font-size:12px; }
 .hero-actions { flex-direction:row; flex-wrap:wrap; }
 .hero-actions .button { width:auto; flex:1 1 180px; min-height:44px; }
 .workspace-card { padding:20px; }
 .workspace-topbar { padding-block:14px; }
}
@media(max-width:380px) { .hero-grid { padding:20px; } .metric-card { padding:14px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }

/* Universe 2026.09.3 — retain the dark Stellar theme and make funding explicit. */
:root { color-scheme:dark; --canvas:#060e1d; --surface:#101e32; --surface-raised:#162940; --text:#f0f7ff; --text-soft:#b6c7dc; --text-muted:#a5bad1; --border:#29435e; --border-strong:#54708f; --celestial-aurora:#7bd9f7; --celestial-lilac:#a3cfff; }
body { -webkit-font-smoothing:antialiased; }
.dashboard-page .site-header,.site-header,.access-header { background:#091527; border-color:#223750; }
.primary-nav a { min-height:46px; border-radius:9px; }
.dashboard-page .primary-nav a[aria-current="page"] { background:#16344d; box-shadow:inset 3px 0 #78d6fa; }
.hero { border-color:#315570; border-radius:18px; background:#12324d url('/assets/celestial/celestial-eclipse.png') right center/cover no-repeat; }
.hero::before { background:linear-gradient(90deg,#112a43 32%,#10273ed9 70%,#12304a66); }
.hero-grid { padding:28px 30px; }
.hero h1 { font-weight:650; font-size:clamp(30px,2.8vw,38px); }
.hero-summary { font-size:16px; color:#c3d3e8; }
.button { min-height:46px; border-radius:8px; }
.button-primary,.button-accent { background:linear-gradient(180deg,#198dd8,#1473bd); border-color:#3296d4; color:#fff; box-shadow:0 3px 12px #087ec01c; }
.button-primary:hover:not(:disabled),.button-accent:hover:not(:disabled) { background:#229bdf; border-color:#80d6ff; }
.button-secondary,.button-ghost { background:#142b42; border-color:#405d7b; color:#e9f5ff; }
.metric-card,.surface,.policy-card,.control-card { background:linear-gradient(150deg,#112237,#0f1d31); border-color:#29435e; border-radius:14px; }
.metric-card { padding:22px; }
.metric-card strong { font-size:34px; font-weight:650; }
.workspace-card { border-radius:14px; }
.workspace-card-icon { background:#183d54; color:#91dffa; }
.workspace-page-head { border-radius:16px; border-color:#2e4c69; }
.access-intro { min-height:184px; padding:28px; border-radius:16px; border-color:#315570; }
.access-intro h1 { font-size:clamp(28px,3vw,38px); font-weight:650; line-height:1.18; }
.access-panel { border-radius:14px; border-color:#29435e; background:#0f2034; }
/* One real account reference; four route capabilities come from the server. */
.funding-card-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:center; margin-bottom:28px; }
.funding-pass-card { position:relative; min-width:0; min-height:240px; display:flex; flex-direction:column; gap:22px; padding:26px; border:1px solid #507b96; border-radius:20px; color:#eaf6ff; background:linear-gradient(130deg,#23516d,#12304b 62%,#193950); box-shadow:inset 0 0 0 4px #b2e6ff0b,0 16px 40px #0000002e; overflow:hidden; }
.funding-pass-card::after { content:""; position:absolute; width:245px; height:245px; right:-148px; top:-134px; border:1px solid #c0e7ff2d; border-radius:50%; box-shadow:0 0 0 27px #c0e7ff09,0 0 0 55px #c0e7ff06; pointer-events:none; }
.funding-pass-brand { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.funding-pass-brand img { width:190px; max-width:76%; height:auto; }
.funding-pass-label { color:#a2cee6; font-size:10px; letter-spacing:.12em; font-weight:650; }
.funding-pass-card .access-reference { min-height:40px; margin:0; font-size:15px; font-family:ui-monospace,Consolas,monospace; line-height:1.55; color:#f1faff; overflow-wrap:anywhere; }
.funding-pass-foot { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-top:auto; color:#a9c9df; font-size:11px; letter-spacing:.04em; }
.funding-card-context h2 { font-size:28px; line-height:1.2; letter-spacing:-.035em; color:#eff8ff; }
.funding-card-context p { font-size:15px; line-height:1.65; color:#b6c7dc; }
.funding-card-context .section-kicker { color:#7edafa; font-size:11px; }
.funding-rails { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0 0 24px; }
.funding-route { min-width:0; display:flex; flex-direction:column; gap:8px; padding:20px; background:linear-gradient(150deg,#112a40,#0d1f32); border:1px solid #31506d; border-radius:12px; }
.funding-route .funding-route-number { padding:0; border:0; color:#76d1f3; font-size:11px; font-weight:650; letter-spacing:.1em; }
.funding-route strong { color:#e9f5ff; font-size:16px; line-height:1.3; }
.funding-route small { color:#a8bfd5; font-size:12px; line-height:1.5; }
.funding-account-status { display:inline-flex; padding:6px 10px; border:1px solid #456887; border-radius:7px; font-size:12px; color:#afdff4; background:#142c43; }
.funding-operator-actions { margin:0 0 24px; }
.funding-columns { align-items:start; }
.funding-columns .access-panel { padding:26px; }
.funding-columns h2 { font-size:23px; letter-spacing:-.025em; }
.funding-method { padding:16px; margin:12px 0; border:1px solid #2d4965; border-radius:10px; background:#0b1c30; }
.funding-method p { font-size:15px; color:#d7e8f8; }
.funding-method .method-authorization { font-size:12px; color:#85d4f2; margin:0 0 8px; }
.funding-choice { padding:12px 0; }
.funding-choice .button { min-height:44px; font-size:12px; }
#method-form,#policy-form { margin-top:20px; gap:12px; }
#policy-status { padding:14px; background:#102b3d; border:1px solid #2e5069; border-radius:10px; font-size:13px; line-height:1.6; }
.funding-cycle { padding:24px; margin:18px 0; border:1px solid #325471; border-radius:14px; background:linear-gradient(145deg,#133149,#0e2238); }
.funding-cycle:last-child { border-bottom:1px solid #325471; }
.funding-cycle h3 { font-size:21px; letter-spacing:-.025em; }
.funding-cycle-head { display:flex; align-items:start; justify-content:space-between; flex-wrap:wrap; gap:14px; }
.funding-cycle-head p { font-size:13px; color:#b6c7dc; margin:4px 0 0; }
.funding-cycle-state { font-size:12px; line-height:1.5; color:#b8e7f9; padding:6px 10px; background:#193a51; border:1px solid #38627a; border-radius:7px; }
.funding-cycle-total { margin:20px 0 16px; display:flex; flex-direction:column; gap:4px; }
.funding-cycle-total strong { color:#f1faff; font-size:36px; line-height:1.2; font-weight:650; letter-spacing:-.04em; }
.funding-cycle-total small { font-size:14px; color:#b6c7dc; }
.funding-allocation-track { height:5px; display:flex; gap:4px; background:#29445e; border-radius:8px; overflow:hidden; margin-bottom:18px; }
.funding-allocation-track i { background:#76d6f4; min-width:0; }
.funding-allocation-track i+ i { background:#408acf; }
.funding-share-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:20px; }
.funding-share-grid span { display:block; font-size:14px; color:#b6c7dc; }
.funding-share-grid strong { display:block; font-size:25px; color:#eff9ff; margin-top:5px; }
.funding-evidence { margin:18px 0; border-top:1px solid #34516b; padding-top:14px; }
.funding-evidence summary { min-height:44px; color:#8bd9f9; cursor:pointer; font-size:14px; }
.funding-outcomes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:20px; }
.funding-outcome { border:1px solid #2b4d67; border-radius:10px; background:#0b1d30; padding:14px; }
.funding-outcome strong { display:block; font-size:14px; color:#d8edff; margin-bottom:6px; }
.funding-outcome span { display:block; color:#b6c7dc; font-size:12px; line-height:1.5; }
.funding-cycle .access-actions { margin-top:18px; }
.access-dialog { border-radius:18px; border-color:#466b89; }
.access-qr { border-radius:12px; padding:12px; background:#fff; }
@media(min-width:1400px) { .metric-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } .metric-card { padding:20px 16px; } .metric-card strong { font-size:32px; } }
@media(max-width:900px) { .funding-rails { grid-template-columns:repeat(2,minmax(0,1fr)); } .funding-card-layout { gap:22px; } .funding-pass-card { padding:22px; min-height:228px; } }
@media(max-width:760px) { .hero-grid { padding:24px; } .hero h1 { font-size:30px; } .funding-card-layout { grid-template-columns:1fr; } .funding-pass-card { width:100%; max-width:480px; margin-inline:auto; } .funding-card-context h2 { font-size:25px; } .funding-columns .access-panel { padding:22px; } .funding-cycle { padding:20px; } .funding-outcomes { grid-template-columns:1fr; } .funding-rails { gap:12px; } .funding-route { padding:16px; } }
@media(max-width:380px) { .funding-pass-card { padding:20px; min-height:218px; } .funding-pass-brand img { width:174px; } .funding-share-grid { gap:12px; } .funding-share-grid strong { font-size:23px; } }

/* Universe 2026.09.4 — accessible actions and clearer funding instructions. */
.button-primary,.button-accent { background:linear-gradient(180deg,#126caa,#0d5f9a); border-color:#438fc2; color:#fff; }
.button-primary:hover:not(:disabled),.button-accent:hover:not(:disabled),.button-primary:focus-visible,.button-accent:focus-visible { background:#176fb0; border-color:#8bdbff; }
.funding-pass-label,.funding-pass-foot,.funding-route-number { font-size:.75rem; }
.funding-route small,.funding-account-status,.method-authorization,.funding-cycle-state { font-size:.875rem; }
.funding-outcome span,.funding-cycle>p,.funding-attempt,.funding-choice { font-size:.875rem; line-height:1.6; }
.funding-help { font-size:.875rem; line-height:1.6; color:#bfd0e4; margin:6px 0 14px; }
.funding-empty { padding:16px; border:1px dashed #4b6782; border-radius:10px; background:#0b1b2e; color:#c5d5e6; line-height:1.6; }
.funding-guidance { padding:16px 18px; margin:18px 0; border-left:3px solid #81d5f2; border-radius:8px; background:#122c42; color:#d5e9f8; font-size:1rem; line-height:1.6; }
.funding-choice .button { font-size:.875rem; min-height:44px; }
.funding-choice .button:disabled { opacity:.6; cursor:default; }
.funding-step-label { display:block; color:#86d7f3; font-size:.75rem; font-weight:700; letter-spacing:.08em; margin-bottom:8px; }
.funding-columns fieldset { min-width:0; margin:0 0 18px; padding:0; border:0; }
.funding-columns legend { font-size:1rem; font-weight:650; margin-bottom:10px; color:#edf6ff; }
#policy-status { font-size:.875rem; line-height:1.7; padding:14px; border:1px solid #365773; border-radius:10px; }
#policy-status[data-state="expired"],#policy-status[data-state="exhausted"] { border-color:#bda069; background:#332b22; color:#f6ddb2; }
#policy-status[data-state="revoked"],#policy-status[data-state="suspended"] { border-color:#956776; background:#302130; color:#f4ced7; }
.access-dialog .access-actions { flex-wrap:wrap; }
.access-dialog h2 { overflow-wrap:anywhere; }
.access-notice:focus { outline:3px solid #83d9f4; outline-offset:3px; }
@media(max-width:520px) { .funding-choice { flex-wrap:wrap; gap:8px; } .funding-choice .funding-check { flex:1 1 190px; } .funding-columns .access-panel { padding:18px; } .access-actions>.button { flex:1 1 160px; white-space:normal; } }

.funding-section-nav { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; padding:8px; border:1px solid #32536e; border-radius:12px; background:#0c1d31; }
.funding-section-nav a { display:flex; align-items:center; min-height:44px; padding:10px 14px; color:#c7eafd; font-size:.875rem; text-decoration:none; border-radius:8px; }
.funding-section-nav a:hover,.funding-section-nav a:focus-visible { background:#1a3b53; }
#funding-methods,#payment-instructions,#subscription-cycles { scroll-margin-top:100px; }

/* Universe 2026.09.5 — review important actions in their account context. */
.funding-confirm-dialog { background:#112238; border:1px solid #547a98; color:#f0f7ff; }
.funding-confirm-dialog::backdrop { background:rgba(2,8,21,.76); }
.funding-confirm-dialog h2 { font-size:clamp(1.35rem,4vw,1.65rem); line-height:1.3; margin-bottom:16px; }
.funding-confirm-dialog p { font-size:1rem; line-height:1.7; color:#c3d3e5; overflow-wrap:anywhere; }
.funding-confirm-dialog .access-actions { margin-top:24px; gap:12px; }
.funding-confirm-dialog .button { min-height:44px; white-space:normal; }
#message:focus-visible { outline:3px solid #83d9f4; outline-offset:4px; }

/* Miz Celestial fidelity restoration.
   Shared workspace refinements must not replace Stellar Pay's approved
   violet/aurora identity or hide its real artwork on mobile. */
:root {
 --canvas:#070b1a;
 --surface:#10182d;
 --surface-raised:#17233d;
 --text:#f4f7ff;
 --text-soft:#aebbd2;
 --text-muted:#9daac3;
 --border:#34435f;
 --border-strong:#7485ac;
 --celestial-aurora:#5de4e5;
 --celestial-lilac:#b7a7ff;
}
.button-primary,.button-accent { background:var(--celestial-violet); border-color:#9179ec; color:#fff; box-shadow:0 8px 24px rgb(114 83 223 / 22%); }
.button-primary:hover:not(:disabled),.button-accent:hover:not(:disabled),.button-primary:focus-visible,.button-accent:focus-visible { background:#8063e7; border-color:var(--celestial-lilac); }
.dashboard-page .primary-nav a[aria-current="page"] { background:#29264d; box-shadow:inset 3px 0 var(--celestial-lilac); }
.hero { border-color:#34435f; background:#070b1a url('/assets/celestial/celestial-eclipse.png') 68% center/cover no-repeat; }
.hero::before { background:linear-gradient(90deg,rgb(7 11 26 / 97%),rgb(7 11 26 / 84%) 48%,rgb(7 11 26 / 12%) 90%); }
.metric-card,.surface,.policy-card,.control-card { background:#10182d; border-color:#34435f; }
.workspace-card-icon { color:var(--celestial-lilac); background:#29264d; }
.stellar-mobile-nav { display:none; }

@media(max-width:640px) {
 .dashboard-page .header-inner { width:calc(100% - 24px); gap:8px; }
 .dashboard-page .brand-logo-wide { display:block; width:min(36vw,148px); }
 .dashboard-page .brand-logo-compact { display:none; }
 .dashboard-page .brand-link { min-width:0; margin-right:auto; }
 .dashboard-page .environment-badge { max-width:118px; }
 .hero { min-height:390px; border-radius:20px; background-position:65% center; }
 .hero::before { background:linear-gradient(180deg,rgb(7 11 26 / 92%) 0%,rgb(7 11 26 / 78%) 58%,rgb(7 11 26 / 24%) 100%); }
 .hero-grid { min-height:390px; align-items:flex-start; padding:28px 22px 132px; }
 .hero h1 { font-size:clamp(36px,11vw,44px); line-height:1.06; }
 .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .dashboard-page main,.governance-page main { padding-bottom:88px; }
 .site-footer { padding-bottom:88px; }
 .stellar-mobile-nav {
   position:fixed;
   right:0;
   bottom:0;
   left:0;
   z-index:60;
   display:grid;
   grid-template-columns:repeat(4,minmax(0,1fr));
   gap:4px;
   padding:8px 8px max(9px,env(safe-area-inset-bottom));
   border-top:1px solid #34435f;
   background:rgba(9,15,34,.97);
   backdrop-filter:blur(18px);
 }
 .stellar-mobile-nav a {
   display:flex;
   min-width:0;
   min-height:56px;
   align-items:center;
   justify-content:center;
   flex-direction:column;
   gap:4px;
   padding:5px 4px;
   border-radius:10px;
   color:#aebbd2;
   font-size:10.5px;
   line-height:1.15;
   text-align:center;
   text-decoration:none;
 }
 .stellar-mobile-nav svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
 .stellar-mobile-nav a[aria-current="page"] { color:#f4f7ff; background:#29264d; box-shadow:inset 0 2px var(--celestial-lilac); }
}
@media(max-width:360px) {
 .dashboard-page .brand-logo-wide { width:126px; }
 .dashboard-page .environment-badge { max-width:104px; padding-inline:8px; }
 .hero-grid { padding-inline:18px; }
}
