/* UBRA TOOLS — BRAND THEME / Ubra Agency source logo, 2026-10-30
   All colors extracted/selected to suit the user's blue/violet logo.
   Reuse these tokens in future authenticated dashboard and approval screens. */
:root {
  color-scheme: light;
  --ubra-azure: #2476f4;
  --ubra-blue: #2e67e8;
  --ubra-blue-deep: #224fca;
  --ubra-violet: #9975ee;
  --ubra-lilac: #b08cf5;
  --ubra-ink: #141c38;
  --ubra-muted: #65718f;
  --ubra-border: #e3e7f4;
  --ubra-canvas: #f5f7fe;
  --ubra-white: #fff;
  --ubra-gradient: linear-gradient(112deg, #2476f4 0%, #5d7ef7 47%, #aa7df1 100%);
  --ubra-gradient-subtle: linear-gradient(136deg, #eff5ff 0%, #f7f2ff 100%);
  --ubra-radius: 20px;
  --ubra-shadow: 0 22px 60px rgba(33, 49, 105, .075);
}
*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; }
body { margin: 0; min-height: 100vh; font: 400 16px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Arial, sans-serif; color: var(--ubra-ink); background: radial-gradient(700px 540px at 4% 29%, rgba(84, 137, 249, .14), transparent 70%), radial-gradient(700px 480px at 95% 88%, rgba(168, 121, 241, .16), transparent 66%), var(--ubra-canvas); }
.page-wrap { max-width: 1370px; margin: 0 auto; padding: 0 44px; }
.topbar { display: flex; justify-content: space-between; align-items: center; padding: 28px 0 30px; }
.brand { display: flex; align-items: center; gap: 15px; }
.brand-mark { display: grid; place-items: center; background: #fff; width: 62px; height: 62px; border-radius: 19px; border: 1px solid var(--ubra-border); box-shadow: 0 5px 18px rgba(30, 43, 99, .05); }
.brand-mark img { max-width: 45px; max-height: 45px; object-fit: contain; }
.brand-text { display: flex; flex-direction: column; line-height: 1.17; }
.brand-text strong { font-size: 22px; font-weight: 800; letter-spacing: -.7px; }
.brand-text small { color: var(--ubra-muted); letter-spacing: .35px; font-size: 12px; margin-top: 6px; }
.gradient-text { background: var(--ubra-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.top-status { font-size: 12px; color: #52607c; background: #fff; border: 1px solid var(--ubra-border); border-radius: 999px; padding: 8px 14px; white-space: nowrap; }
.top-status-dot { display: inline-block; height: 7px; width: 7px; background: #896cf1; border-radius: 50%; margin-right: 6px; }
.main-panel { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .82fr); gap: 30px; align-items: stretch; padding: 15px 0 16px; }
.intro { padding: 30px 12px 20px 2px; min-width: 0; }
.eyebrow { font-size: 11px; font-weight: 750; color: #5a6fc5; letter-spacing: 1.55px; }
.eyebrow-star { margin-right: 9px; color: #8d70ed; font-size: 17px; vertical-align: -1px; }
h1 { font-size: clamp(35px, 4.2vw, 62px); line-height: 1.125; letter-spacing: -2.9px; font-weight: 780; margin: 20px 0 22px; }
.lead { font-size: 16px; line-height: 1.85; color: #5f6c86; max-width: 610px; margin: 0; }
.feature-strip { display: flex; flex-wrap: wrap; gap: 13px 16px; padding: 26px 0 28px; color: #465477; font-size: 12px; }
.feature-strip > span { display: inline-flex; align-items: center; gap: 6px; }
.feature-icon { display: inline-block; height: 16px; width: 16px; border-radius: 50%; background: #e7ecff; position: relative; }
.feature-icon::after { content: '✓'; color: #536dd9; position: absolute; top: -3px; left: 3px; font-size: 13px; font-style: normal; font-weight: 800; }
.feature-icon.swap::after { content: '↺'; font-size: 17px; left: 2px; top: -6px; }
.feature-icon.shield::after { content: '◆'; font-size: 8px; left: 5px; top: 1px; }
.compare-mock { max-width: 655px; background: #fff; padding: 18px; border: 1px solid #e3e7f6; border-radius: 23px; box-shadow: var(--ubra-shadow); }
.compare-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 2px 15px; font-size: 13px; font-weight: 650; }
.dot-blue { display: inline-block; width: 8px; height: 8px; background: #6695ff; border-radius: 50%; margin-right: 5px; }
.muted-small { color: #98a0b8; font-size: 11px; font-weight: 500; }
.comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.comparison-pane { display: flex; flex-direction: column; gap: 9px; }
.comparison-pane > span { font-size: 10px; color: #67728b; font-weight: 760; letter-spacing: 1.1px; }
.icon-surface { height: 149px; border: 1px solid #e4eafb; border-radius: 13px; display: grid; place-items: center; background: linear-gradient(138deg,#f3f7ff,#edf3ff); }
.ai-surface { background: linear-gradient(145deg, #f1f3ff, #f8efff); }
.shape-photo { width: 47px; height: 38px; border: 2px solid #9bb4ed; border-radius: 7px; position: relative; }
.shape-photo::before { content: ''; width: 11px; height: 11px; border: 2px solid #9bb4ed; border-radius: 50%; position: absolute; top: 5px; right: 6px; }
.shape-photo::after { content: ''; width: 30px; height: 18px; background: #c1d1f6; clip-path: polygon(0 100%, 42% 27%, 60% 69%, 82% 45%, 100% 100%); position: absolute; bottom: 3px; left: 5px; }
.shape-spark { font-size: 48px; line-height: 1; background: var(--ubra-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mock-caption { font-size: 10px; color: #9199ac; margin: 10px 0 0; }
.setup { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ubra-border); border-radius: 28px; box-shadow: var(--ubra-shadow); padding: 44px 40px 35px; overflow: hidden; align-self: start; margin-top: 7px; }
.setup::before { content: ''; position: absolute; inset: 0 0 auto; height: 5px; background: var(--ubra-gradient); }
.setup-icon { display: grid; place-items: center; height: 60px; width: 60px; border-radius: 18px; background: var(--ubra-gradient-subtle); color: #7b6ee6; font-size: 30px; }
.setup-status { margin-top: 33px; font-size: 10px; font-weight: 800; letter-spacing: 1.25px; color: #6877ab; }
.pulse { display: inline-block; height: 7px; width: 7px; background: #9a78ef; border-radius: 50%; margin-right: 6px; }
h2 { font-size: 29px; line-height: 1.2; letter-spacing: -1px; margin: 12px 0 14px; }
.setup > p { color: #69758f; font-size: 14px; line-height: 1.85; margin: 0; }
.steps { display: grid; gap: 22px; margin: 32px 0 30px; padding-top: 27px; border-top: 1px solid #eef0f8; }
.steps > div { display: flex; align-items: center; gap: 13px; font-size: 13px; color: #44516d; font-weight: 540; }
.step-check, .step-pending { flex: 0 0 27px; height: 27px; width: 27px; border-radius: 9px; display: grid; place-items: center; font-size: 12px; font-weight: 800; }
.step-check { color: #fff; background: var(--ubra-gradient); }
.step-pending { color: #8290ad; background: #f1f3fa; }
.setup-note { padding: 14px; border-radius: 14px; border: 1px solid #ecedfa; background: #f8f9fd; color: #7c86a0; font-size: 11px; line-height: 1.65; }
.setup-note span { color: #8a70e8; margin-right: 5px; }
.footer { display: flex; justify-content: space-between; font-size: 11px; color: #98a1b8; padding: 25px 0 30px; }
@media (max-width: 1040px) { .page-wrap { padding: 0 27px; } .main-panel { grid-template-columns: minmax(0, 1fr) minmax(310px,.85fr); gap: 20px; } h1 { letter-spacing: -1.9px; font-size: 40px; } .setup { padding: 35px 27px 30px; } }
@media (max-width: 780px) { .main-panel { grid-template-columns: 1fr; } .intro { padding: 17px 0 4px; } .setup { margin-top: 12px; } .page-wrap { padding: 0 20px; } .topbar { padding-top: 22px; } .top-status { display: none; } .lead { max-width: none; } .compare-mock { max-width: none; } .footer { flex-wrap: wrap; gap: 8px; } }
@media (max-width: 480px) { .page-wrap { padding: 0 17px; } h1 { font-size: 34px; letter-spacing: -1.3px; } .lead { font-size: 14px; } .brand-mark { width: 52px; height: 52px; } .brand-mark img { width: 36px; } .brand-text strong { font-size: 19px; } .setup { padding: 34px 23px 25px; } .icon-surface { height: 110px; } .comparison-pane > span { font-size: 9px; } }

/* Language chooser — same Ubra brand colors, keyboard and mobile accessible. */
.top-actions { display:flex; align-items:center; justify-content:flex-end; gap: 12px; flex-wrap:wrap; }
.lang-switch { display: inline-flex; gap: 3px; padding: 4px; border: 1px solid var(--ubra-border); border-radius: 999px; background: #fff; box-shadow: 0 3px 12px rgba(30,43,99,.04); }
.lang-switch a { display: inline-block; color: #60708d; padding: 6px 10px; min-width: 38px; text-align: center; text-decoration: none; font-size: 12px; font-weight: 740; border-radius: 999px; line-height:1.2; }
.lang-switch a[aria-current="page"] { color:#fff; background:var(--ubra-gradient); }
.lang-switch a:focus-visible { outline: 2px solid var(--ubra-blue-deep); outline-offset: 3px; }
.lang-switch a:not([aria-current="page"]):hover { background:#f1f4fc; color:var(--ubra-blue-deep); }
@media (max-width: 480px) { .top-actions{gap:6px;} .lang-switch a{padding:5px 8px;min-width:32px;} }


/* OFFICIAL UBRA SVG WORDMARK — custom outlined lettering, not a substituted font.
   White lettering requires dark background; keeps the artwork intact. */
.topbar {
  background: #141c38;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 0 0 28px 28px;
  margin: 0 -44px;
  padding: 19px 44px 20px;
  gap: 16px;
}
.brand { gap: 15px; min-width: 0; }
.brand-mark {
  width: clamp(145px, 17vw, 220px);
  height: auto;
  flex: none;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.brand-mark img {
  width: 100%;
  height: auto;
  display: block;
  max-width: none;
  max-height: none;
  object-fit: contain;
}
.brand-text strong {
  font-size: 18px;
  letter-spacing: .13em;
  color: #e5e9ff;
  font-weight: 800;
}
.brand-text small {
  font-size: 10px;
  margin-top: 2px;
  letter-spacing: .04em;
  color: #b9c5e9;
}
.top-status { background: #202b51; border-color: #35416c; color: #d0d9f7; }
.lang-switch { background: #202b51; border-color: #35416c; }
.lang-switch a { color: #dbe4ff; }
.lang-switch a:not([aria-current="page"]):hover { background: #34416a; color: #fff; }
@media(max-width:1040px) { .topbar { margin:0 -27px; padding:20px 27px; } }
@media(max-width:780px) { .topbar { margin:0 -20px; padding:17px 20px; } }
@media(max-width:480px) {
 .topbar { margin:0 -17px; padding:15px 16px; gap:8px; }
 .brand { gap:8px; }
 .brand-mark { width: min(35vw, 152px); }
 .brand-text strong { font-size: 12px; letter-spacing:.08em; }
 .brand-text small { display:none; }
 .top-actions { flex-wrap: nowrap; }
 .lang-switch { gap:2px; padding:3px; }
 .lang-switch a { padding:5px 7px; min-width:28px; }
}
