:root { --cl-navy:#0B1F3A; --cl-navy-2:#123C69; --cl-teal:#0E7C86; --cl-teal-light:#14B8A6; --cl-cyan:#22D3EE;
  --cl-amber:#F59E0B; --cl-ink:#0F172A; --cl-muted:#64748B; --cl-muted-2:#94A3B8; --cl-bg:#F8FAFC; --cl-bg-2:#F1F5F9;
  --cl-border:#E2E8F0; --cl-gradient:linear-gradient(135deg,#0E7C86 0%,#14B8A6 55%,#22D3EE 100%); --cl-serif:'DM Serif Display',Georgia,'Times New Roman',serif; --cl-sans:Inter,system-ui,-apple-system,'Segoe UI',sans-serif; --cl-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace; }

.btn-primary, .btn-primary:focus { background: var(--cl-gradient) !important; border: 0 !important; color: #fff !important;
  font-weight: 600; box-shadow: 0 2px 8px rgba(11,31,58,.18); }
.btn-primary:hover { filter: brightness(1.04); transform: translateY(-1px); color: #fff !important; }
.btn-secondary, .btn-outline-secondary { border-color: var(--cl-border) !important; color: var(--cl-ink) !important; background: #fff !important; }

body { font-family: var(--cl-sans); background: var(--cl-bg); color: var(--cl-ink); }
h1, h2, h3, .card-title { font-family: var(--cl-serif); font-weight: 400; letter-spacing: -.01em; color: var(--cl-ink); }
nav.navbar.bg-dark { background: rgba(255,255,255,.92) !important; backdrop-filter: blur(10px); border-bottom: 1px solid var(--cl-border);
  min-height: 72px; padding: 0 32px; }
nav.navbar .portal-logo { height: 32px; }
nav.navbar .text-white { color: var(--cl-ink) !important; font-weight: 600; letter-spacing: -.02em; }
.card { border: 1px solid var(--cl-border); border-radius: 12px; box-shadow: 0 1px 2px rgba(11,31,58,.04); background: #fff; }
.card:hover { box-shadow: 0 8px 24px rgba(11,31,58,.10); }
.card-header { background: #fff; border-bottom: 1px solid var(--cl-border); color: var(--cl-ink); }
a { color: var(--cl-teal); }
code, pre, kbd { font-family: var(--cl-mono); }
/* "Waiting for deployment" interstitial shown while a session starts */
#startup-cover-panel { background-color: var(--cl-navy); background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAyMDAgNDAiPjxyZWN0IHg9IjIiIHk9IjciIHdpZHRoPSIyNiIgaGVpZ2h0PSIyNiIgcng9IjUiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZT0iIzBFN0M4NiIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48cmVjdCB4PSIxNS4wIiB5PSI3IiB3aWR0aD0iMTMuMCIgaGVpZ2h0PSIxMy4wIiBmaWxsPSIjMEIxRjNBIi8+PHJlY3QgeD0iMiIgeT0iMjAuMCIgd2lkdGg9IjEzLjAiIGhlaWdodD0iMTMuMCIgZmlsbD0iIzBCMUYzQSIvPjxsaW5lIHgxPSIxNS4wIiB5MT0iNyIgeDI9IjE1LjAiIHkyPSIzMyIgc3Ryb2tlPSIjMEU3Qzg2IiBzdHJva2Utd2lkdGg9IjEuNSIvPjx0ZXh0IHg9IjM4IiB5PSIyNyIgZm9udC1mYW1pbHk9IkludGVyLHN5c3RlbS11aSxzYW5zLXNlcmlmIiBmb250LXNpemU9IjE5IiBmb250LXdlaWdodD0iNjAwIiBsZXR0ZXItc3BhY2luZz0iLTAuNCIgZmlsbD0iI0ZGRkZGRiI+Y291cnNlbGFiczx0c3BhbiBmaWxsPSIjNjQ3NDhCIj4uaW88L3RzcGFuPjwvdGV4dD48L3N2Zz4="); background-size: 180px; }
#startup-progress-bar { background: var(--cl-gradient); }
.cl-footer { position: fixed; left: 0; right: 0; bottom: 0; padding: .6rem 1rem; font: 500 12px var(--cl-sans); color: var(--cl-muted);
  background: #fff; border-top: 1px solid var(--cl-border); text-align: center; z-index: 100; }
.cl-footer a { color: var(--cl-teal); text-decoration: none; }
.cl-footer a:hover { text-decoration: underline; }
#startup-cover-panel .cl-footer { background: transparent; border: 0; color: var(--cl-muted-2); z-index: 10000; }
#startup-cover-panel .cl-footer a { color: var(--cl-teal-light); }
#startup-cover-panel-message h5 { font: 400 20px var(--cl-serif); max-width: 520px; margin: 0 auto; }
.cl-wait { margin-top: 12px; font: 500 13px var(--cl-sans); color: var(--cl-muted-2); }
