
:root {
  color-scheme: light;
  --ink: #152b32;
  --muted: #5f7074;
  --paper: #f5f7f3;
  --card: #ffffff;
  --navy: #17353d;
  --teal: #137f77;
  --teal-dark: #0c625d;
  --gold: #d5a647;
  --line: #dce4df;
  --soft-teal: #e5f3ef;
  --soft-gold: #fbf3df;
  --soft-red: #fae9e6;
  --red: #9a4036;
  --shadow: 0 16px 45px rgba(20, 48, 55, 0.08);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); line-height: 1.5; }
a { color: var(--teal-dark); }
a:hover { color: var(--navy); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid rgba(19, 127, 119, .35); outline-offset: 3px;
}
.dev-banner {
  background: #fff4cc; border-bottom: 1px solid #e3c669; color: #4f421d;
  font-size: .78rem; font-weight: 800; letter-spacing: .12em; padding: .52rem 1rem; text-align: center;
}
.site-header { background: var(--navy); color: white; position: relative; overflow: hidden; }
.site-header::after {
  background: radial-gradient(circle, rgba(213,166,71,.2), transparent 65%); content: ""; height: 360px;
  position: absolute; right: -100px; top: -190px; width: 360px;
}
.header-inner { align-items: center; display: flex; justify-content: space-between; margin: 0 auto; max-width: 1180px; padding: 1.1rem 1.5rem; position: relative; z-index: 1; }
.brand { align-items: center; display: flex; gap: .8rem; }
.brand-mark { align-items: center; background: linear-gradient(145deg, var(--gold), #f4d58e); border-radius: 12px; color: var(--navy); display: grid; font-family: Georgia, serif; font-size: 1.2rem; font-weight: 800; height: 42px; place-items: center; width: 42px; }
.brand-name { font-weight: 750; letter-spacing: .01em; }
.brand-sub { color: #bbcfce; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; }
.identity { align-items: center; display: flex; gap: .75rem; }
.identity-copy { text-align: right; }
.identity-name { font-size: .9rem; font-weight: 700; }
.identity-company { color: #bed0ce; font-size: .76rem; }
.avatar { align-items: center; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22); border-radius: 50%; display: flex; font-size: .8rem; font-weight: 800; height: 40px; justify-content: center; width: 40px; }
.shell { margin: 0 auto; max-width: 1180px; padding: 2.4rem 1.5rem 4rem; }
.hero { align-items: end; display: grid; gap: 2rem; grid-template-columns: 1.45fr .8fr; margin-bottom: 1.8rem; }
.eyebrow { color: var(--teal-dark); font-size: .73rem; font-weight: 800; letter-spacing: .14em; margin: 0 0 .55rem; text-transform: uppercase; }
h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.1rem, 5vw, 3.7rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.05; margin: 0; max-width: 720px; }
.hero-copy { color: var(--muted); font-size: 1rem; margin: 1rem 0 0; max-width: 690px; }
.synthetic-card { background: var(--soft-teal); border: 1px solid #c4dfd8; border-radius: 18px; padding: 1.15rem 1.25rem; }
.synthetic-card strong { display: block; font-size: .83rem; margin-bottom: .25rem; }
.synthetic-card span { color: #42625f; font-size: .8rem; }
.switcher { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.switcher a { background: white; border: 1px solid #bbd7d1; border-radius: 999px; color: var(--ink); font-size: .72rem; font-weight: 700; padding: .35rem .65rem; text-decoration: none; }
.notice { background: var(--soft-teal); border: 1px solid #bcded6; border-radius: 12px; color: #23534e; font-size: .88rem; font-weight: 650; margin: 0 0 1.4rem; padding: .8rem 1rem; }
.overview { display: grid; gap: .85rem; grid-template-columns: repeat(3, 1fr); margin-bottom: 2.2rem; }
.metric { background: var(--card); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 6px 22px rgba(20,48,55,.035); padding: 1.1rem 1.2rem; }
.metric-value { font-family: Georgia, serif; font-size: 2rem; line-height: 1; }
.metric-label { color: var(--muted); font-size: .78rem; font-weight: 700; margin-top: .35rem; }
.content-grid { align-items: start; display: grid; gap: 1.2rem; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .72fr); }
.column { display: grid; gap: 1.2rem; }
.panel { background: var(--card); border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; }
.panel-head { align-items: start; border-bottom: 1px solid #edf1ee; display: flex; gap: 1rem; justify-content: space-between; padding: 1.2rem 1.3rem 1rem; }
.panel-title { font-family: Georgia, serif; font-size: 1.32rem; margin: 0; }
.panel-subtitle { color: var(--muted); font-size: .78rem; margin: .2rem 0 0; }
.count { background: var(--soft-teal); border-radius: 999px; color: var(--teal-dark); font-size: .72rem; font-weight: 800; padding: .35rem .62rem; white-space: nowrap; }
.card-list { display: grid; }
.item { border-bottom: 1px solid #edf1ee; padding: 1.15rem 1.3rem; }
.item:last-child { border-bottom: 0; }
.onboarding-item { position: relative; }
.task-step { color: var(--teal-dark); font-size: .64rem; font-weight: 850; letter-spacing: .12em; margin-bottom: .45rem; text-transform: uppercase; }
.item-top { align-items: start; display: flex; gap: .8rem; justify-content: space-between; }
.item h3 { font-size: .93rem; margin: 0; }
.item p { color: var(--muted); font-size: .8rem; margin: .35rem 0 .75rem; }
.meta { color: var(--muted); display: flex; flex-wrap: wrap; font-size: .72rem; gap: .7rem; margin-bottom: .8rem; }
.status { border-radius: 999px; display: inline-flex; font-size: .67rem; font-weight: 800; letter-spacing: .04em; padding: .28rem .5rem; text-transform: uppercase; white-space: nowrap; }
.status-required, .status-needs_attention, .status-needs_reconnect, .status-changes_requested { background: var(--soft-gold); color: #79591e; }
.status-ready, .status-approved, .status-pending, .status-connecting, .status-reconnecting { background: #e9eef4; color: #405872; }
.status-completed, .status-active, .status-accepted { background: var(--soft-teal); color: var(--teal-dark); }
.status-blocked, .status-disconnect_requested, .status-rejected { background: var(--soft-red); color: var(--red); }
.actions { align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; }
button, .button-link { border: 0; border-radius: 9px; cursor: pointer; display: inline-flex; font: inherit; font-size: .75rem; font-weight: 750; justify-content: center; padding: .58rem .82rem; text-decoration: none; }
.primary { background: var(--teal); color: white; }
.primary:hover { background: var(--teal-dark); color: white; }
.secondary { background: #edf2ef; color: var(--ink); }
.secondary:hover { background: #e0e9e4; color: var(--ink); }
.danger-quiet { background: #faece9; color: var(--red); }
.muted-action { color: var(--muted); font-size: .72rem; }
.details { background: #f8faf8; border: 1px solid #e7ece9; border-radius: 12px; margin-top: .75rem; padding: .8rem; }
.details-label { color: var(--muted); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.details-value { font-size: .78rem; margin-top: .2rem; }
.workflow-list, .limitation-list { margin: .55rem 0 0; padding-left: 1.15rem; }
.workflow-list li, .limitation-list li { color: var(--muted); font-size: .78rem; margin: .25rem 0; }
.decision-form { display: grid; gap: .6rem; margin-top: .85rem; }
label { color: var(--ink); font-size: .74rem; font-weight: 750; }
input, select, textarea { background: white; border: 1px solid #cfdad4; border-radius: 9px; color: var(--ink); font: inherit; font-size: .82rem; padding: .65rem .72rem; width: 100%; }
textarea { min-height: 80px; resize: vertical; }
.request-form { display: grid; gap: .72rem; padding: 1.2rem 1.3rem 1.35rem; }
.warning { background: var(--soft-gold); border-radius: 10px; color: #6a501f; font-size: .72rem; padding: .7rem .8rem; }
.audit { list-style: none; margin: 0; padding: .45rem 1.3rem 1.15rem; }
.audit li { border-left: 2px solid #c6dcd6; padding: .6rem 0 .6rem .9rem; position: relative; }
.audit li::before { background: var(--teal); border: 3px solid white; border-radius: 50%; content: ""; height: 9px; left: -5.5px; position: absolute; top: 1rem; width: 9px; }
.audit strong { display: block; font-size: .76rem; }
.audit span { color: var(--muted); display: block; font-size: .69rem; margin-top: .15rem; }
.empty { color: var(--muted); font-size: .8rem; padding: 1.2rem 1.3rem; }
.footer { color: var(--muted); font-size: .7rem; margin: 2rem auto 0; max-width: 1180px; padding: 0 1.5rem 2rem; text-align: center; }
.brand { color: white; text-decoration: none; }
.brand > span:last-child, .brand-name, .brand-sub { display: block; }
.company-nav { display: flex; gap: .35rem; margin: 0 auto; max-width: 1180px; overflow-x: auto; padding: 0 1.5rem 1rem; position: relative; z-index: 1; }
.company-nav a { border-radius: 999px; color: #d9e6e4; font-size: .76rem; font-weight: 700; padding: .5rem .75rem; text-decoration: none; white-space: nowrap; }
.company-nav a:hover, .company-nav a[aria-current="page"] { background: rgba(255,255,255,.13); color: white; }
.company-hero, .page-heading { margin-bottom: 1.7rem; }
.company-hero h1, .page-heading h1 { font-size: clamp(2rem, 4vw, 3.2rem); }
.company-hero > p:last-child, .page-heading > p:last-child { color: var(--muted); max-width: 760px; }
.admin-grid { align-items: start; display: grid; gap: 1.2rem; grid-template-columns: minmax(0,1.35fr) minmax(300px,.75fr); }
.admin-card-list { display: grid; gap: 1rem; margin-bottom: 1.2rem; }
.admin-card { background: white; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); padding: 1.15rem 1.25rem; }
.admin-card h3 { margin: 0; }
.admin-card p { color: var(--muted); font-size: .82rem; }
.admin-facts { display: grid; gap: .7rem; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 1rem 0; }
.admin-facts div { background: #f8faf8; border-radius: 10px; padding: .65rem; }
.admin-facts dt { color: var(--muted); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.admin-facts dd { font-size: .76rem; margin: .2rem 0 0; }
.admin-actions { align-items: end; display: grid; gap: .75rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.admin-actions form { display: grid; gap: .4rem; }
.admin-actions label { display: grid; gap: .3rem; }
.admin-form-panel { margin-bottom: 1rem; }
.inline-admin-form { align-items: end; display: grid; gap: .75rem; grid-template-columns: 1fr 1.3fr 1fr 1fr auto; padding: 1rem 1.25rem 1.25rem; }
.inline-admin-form label { display: grid; gap: .3rem; }
.readiness-list { display: grid; }
.readiness-list > a, .readiness-list > div { align-items: start; border-bottom: 1px solid #edf1ee; color: var(--ink); display: flex; gap: .75rem; padding: .9rem 1.25rem; text-decoration: none; }
.readiness-list > :last-child { border-bottom: 0; }
.readiness-list small { color: var(--muted); display: block; margin-top: .15rem; }
.readiness-summary { background: var(--soft-gold); border-bottom: 1px solid #eddfbf; color: #5f491b; display: grid; gap: .15rem; padding: 1rem 1.35rem; }
.readiness-summary strong { font-size: 1rem; }
.readiness-summary span, .readiness-explanation, .launch-approval-guidance { color: var(--muted); font-size: .78rem; line-height: 1.5; margin: 0; }
.readiness-actions { display: grid; gap: .75rem; padding: 1rem 1.1rem; }
.readiness-action { background: #fffaf0; border: 1px solid #ead7ac; border-radius: 14px; padding: 1rem 1.1rem; }
.readiness-action .item-top { gap: .75rem; }
.readiness-action h3 { font-size: .9rem; margin: 0; }
.readiness-action p { color: var(--muted); font-size: .78rem; line-height: 1.45; margin: .25rem 0 .85rem; }
.readiness-action-button { width: fit-content; }
.readiness-explanation { background: #f4f6f4; border-left: 3px solid #aab6b0; border-radius: 6px; padding: .55rem .65rem; }
.readiness-ready { background: var(--soft-teal); border-radius: 12px; color: var(--teal-dark); font-size: .82rem; font-weight: 700; padding: .85rem 1rem; }
.completed-readiness { border-top: 1px solid #edf1ee; color: var(--muted); }
.completed-readiness summary { cursor: pointer; font-size: .78rem; font-weight: 750; padding: 1rem 1.35rem; }
.completed-readiness[open] summary { border-bottom: 1px solid #edf1ee; }
.readiness-complete { opacity: .76; }
.check { border-radius: 50%; display: grid; flex: 0 0 26px; font-size: .75rem; font-weight: 900; height: 26px; place-items: center; }
.check.done { background: var(--soft-teal); color: var(--teal-dark); }
.check.todo { background: var(--soft-gold); color: #79591e; }
.shared-preview { margin-top: 1.2rem; }
.preview-switcher { align-items: center; color: var(--muted); display: flex; flex-wrap: wrap; font-size: .72rem; gap: .5rem; justify-content: center; margin-top: 2rem; }
.preview-switcher a { background: white; border: 1px solid var(--line); border-radius: 999px; padding: .35rem .6rem; text-decoration: none; }
button:disabled { cursor: not-allowed; opacity: .5; }
.agreement-title-row { align-items: start; display: flex; gap: 1.5rem; justify-content: space-between; }
.agreement-heading .actions { margin-top: 1rem; }
.agreement-summary { align-items: start; display: grid; gap: 1.2rem; grid-template-columns: minmax(0,1.4fr) minmax(280px,.7fr); margin-bottom: 1.2rem; }
.agreement-facts { display: grid; gap: .7rem; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 1rem 0; }
.agreement-facts div { background: #f8faf8; border: 1px solid #edf1ee; border-radius: 10px; padding: .7rem; }
.agreement-facts dt { color: var(--muted); font-size: .65rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.agreement-facts dd { font-size: .78rem; margin: .22rem 0 0; }
.agreement-summary-facts { padding: 0 1.2rem; }
.agreement-source { border-radius: 12px; margin: 0 1.2rem 1.2rem; padding: .9rem 1rem; }
.agreement-source.complete { background: var(--soft-teal); color: #23534e; }
.agreement-source.incomplete { background: var(--soft-gold); color: #6a501f; }
.agreement-source p { font-size: .78rem; margin: .3rem 0; }
.agreement-source ul { font-size: .78rem; margin: .5rem 0 0; padding-left: 1.1rem; }
.agreement-terms, .agreement-schedules { background: white; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); margin-bottom: 1.2rem; overflow: hidden; }
.agreement-terms article { border-bottom: 1px solid #edf1ee; padding: 1rem 1.3rem; }
.agreement-terms article:last-child { border-bottom: 0; }
.agreement-terms h3, .agreement-schedule h3 { font-size: .9rem; margin: 0 0 .45rem; }
.agreement-terms p { color: var(--muted); font-size: .82rem; margin: 0; }
.agreement-schedule { border-bottom: 1px solid var(--line); padding: 1.35rem; }
.agreement-schedule:last-child { border-bottom: 0; }
.agreement-schedule-head { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.agreement-schedule-head h2 { font-family: Georgia,serif; font-size: 1.45rem; margin: 0; }
.agreement-columns { display: grid; gap: .8rem; grid-template-columns: 1fr 1fr; }
.agreement-columns section { background: #f8faf8; border: 1px solid #edf1ee; border-radius: 12px; padding: .85rem; }
.agreement-columns ul { color: var(--muted); font-size: .78rem; margin: 0; padding-left: 1.1rem; }
.signature-grid { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; margin-top: 2rem; }
.signature-grid h2 { grid-column: 1 / -1; }
.signature-block { border: 1px solid #9eaaa5; display: grid; gap: 1.8rem; min-height: 260px; padding: 1rem; }
.signature-block span { border-top: 1px solid #9eaaa5; color: var(--muted); font-size: .7rem; padding-top: .3rem; }
.print-document { background: var(--card); color: var(--ink); }
.policy-document { background: var(--paper); }
.policy-shell { margin: 0 auto; max-width: 900px; padding: 2rem 1.5rem 4rem; }
.policy-back { font-size: .78rem; margin-bottom: 1rem; }
.policy-paper { background: var(--card); border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; position: relative; }
.policy-owl-mark { bottom: -280px; mix-blend-mode: multiply; opacity: .055; pointer-events: none; position: absolute; right: -240px; width: 600px; }
.policy-title, .policy-section, .policy-acknowledgement-form, .policy-acknowledged { border-bottom: 1px solid #e7ece9; padding: 1.4rem 1.6rem; }
.policy-title h1 { font-size: clamp(2rem, 5vw, 3.25rem); }
.policy-title > p:not(.eyebrow), .policy-section p, .policy-section li { color: var(--muted); font-size: .88rem; }
.policy-section h2 { color: var(--navy); font-family: ui-serif, Georgia, Cambria, serif; font-size: 1.2rem; font-weight: 500; margin: 0 0 .65rem; }
.policy-section ul { margin: 0; padding-left: 1.2rem; }
.policy-section li { margin: .35rem 0; }
.policy-print-note { background: var(--soft-gold); color: #6a501f; font-size: .76rem; margin: 1.4rem 1.6rem 0; padding: .8rem; }
.policy-acknowledgement-form { display: grid; gap: 1rem; }
.policy-acknowledgement { align-items: center; display: flex; font-size: .88rem; gap: .65rem; }
.policy-acknowledgement input { min-height: auto; width: auto; }
.policy-acknowledged { display: grid; gap: .25rem; }
.policy-acknowledged span { color: var(--muted); font-size: .8rem; }
.print-shell { margin: 0 auto; max-width: 850px; padding: 2rem; }
.print-cover { min-height: 92vh; padding-top: 12vh; }
.print-cover h1 { max-width: 760px; }
.print-company { font-family: Georgia,serif; font-size: 1.5rem; margin: 1.5rem 0; }
.print-terms article { margin: 1.1rem 0; }
.page-break { break-before: page; page-break-before: always; }
@page { margin: 16mm; @bottom-center { content: "Page " counter(page) " of " counter(pages); } }
@media print {
  .dev-banner, .site-header, .policy-back, .policy-print-note, .policy-acknowledgement-form { display: none; }
  .policy-document { background: white; }
  .policy-shell { max-width: none; padding: 0; }
  .policy-paper { border: 0; box-shadow: none; }
  .page-break { break-before: page; page-break-before: always; }
  .print-shell { max-width: none; padding: 0; }
  .agreement-schedule { border: 0; padding: 0; }
  .signature-grid { break-before: page; }
}
@media (max-width: 850px) {
  .hero, .content-grid, .admin-grid, .agreement-summary { grid-template-columns: 1fr; }
  .hero { align-items: start; gap: 1.1rem; }
  .synthetic-card { max-width: none; }
  .inline-admin-form { grid-template-columns: 1fr 1fr; }
  .admin-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-actions { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
  .header-inner { align-items: flex-start; padding: .9rem 1rem; }
  .identity-copy { display: none; }
  .shell { padding: 1.65rem 1rem 3rem; }
  h1 { font-size: 2.35rem; }
  .overview { grid-template-columns: 1fr 1fr; }
  .metric:last-child { grid-column: 1 / -1; }
  .panel { border-radius: 16px; }
  .panel-head, .item, .request-form { padding-left: 1rem; padding-right: 1rem; }
  .item-top { align-items: flex-start; }
  .button-link, button { min-height: 42px; }
  .company-nav { padding-left: 1rem; padding-right: 1rem; }
  .company-nav { flex-wrap: wrap; overflow-x: visible; }
  .company-nav a { flex: 1 1 auto; text-align: center; }
  .inline-admin-form, .admin-actions, .admin-facts { grid-template-columns: 1fr; }
  .agreement-title-row, .agreement-schedule-head { display: grid; }
  .agreement-facts, .agreement-columns, .signature-grid { grid-template-columns: 1fr; }
  .policy-shell { padding: 1rem; }
  .policy-title, .policy-section, .policy-acknowledgement-form, .policy-acknowledged { padding-left: 1rem; padding-right: 1rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Atlas AI Systems customer experience system — calm, clear, and intentionally nontechnical. */
:root {
  --ink: #1d2a38;
  --muted: #5f6870;
  --paper: #faf8f3;
  --mineral: #f1eee7;
  --card: #fffefb;
  --navy: #16263a;
  --navy-soft: #0f1c2c;
  --teal: #3d716d;
  --teal-dark: #3d716d;
  --gold: #c8872e;
  --line: #d6d0c4;
  --soft-teal: #dfe9e5;
  --soft-gold: #f7edda;
  --soft-red: #f9e9e6;
  --red: #8d3d36;
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --shadow: 0 24px 60px #16263a1a;
}
body { background: var(--paper); letter-spacing: -.006em; }
.dev-banner { background: #f1eee7; border-bottom-color: #d6d0c4; color: #9f671d; font-size: .68rem; letter-spacing: .11em; padding: .58rem 1rem; }
.site-header { background: var(--navy); box-shadow: inset 0 -1px rgba(255,255,255,.1); }
.site-header::after { background: none; height: 520px; right: -180px; top: -285px; width: 520px; }
.header-inner { max-width: 1240px; padding: 1.25rem 1.75rem; }
.brand-mark { background: #f4e1ae; border-radius: 13px; box-shadow: inset 0 0 0 1px rgba(16,43,53,.12); font-size: 1.1rem; height: 40px; width: 40px; }
.portal-brand-logo { display: block; height: auto; max-width: 190px; width: 190px; }
.portal-page .site-header { background: var(--mineral, #f1eee7); box-shadow: inset 0 -1px var(--line); color: var(--navy); }
.portal-page .site-header::after { display: none; }
.portal-page .brand-sub, .portal-page .identity-company { color: var(--muted); }
.portal-page .identity-name { color: var(--navy); }
.portal-page .avatar { background: var(--soft-teal); border-color: var(--line); color: var(--navy); }
.portal-hero { isolation: isolate; overflow: hidden; position: relative; }
.portal-hero-owl { bottom: -340px; mix-blend-mode: multiply; opacity: .075; pointer-events: none; position: absolute; right: 26%; width: 620px; z-index: -1; }
.brand-name { font-size: .94rem; letter-spacing: .01em; }
.brand-sub { color: #bed2cf; font-size: .65rem; letter-spacing: .14em; margin-top: .05rem; }
.avatar { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.25); }
.portal-page .company-nav a { color: var(--navy); }
.portal-page .company-nav a:hover, .portal-page .company-nav a[aria-current="page"] { background: var(--soft-teal); border-color: var(--line); color: var(--navy); }
.company-nav { gap: .3rem; max-width: 1240px; padding: 0 1.75rem 1.1rem; }
.company-nav a { border: 1px solid transparent; color: #dceae7; padding: .52rem .78rem; }
.company-nav a:hover, .company-nav a[aria-current="page"] { background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.14); }
.shell { max-width: 1240px; padding: 3rem 1.75rem 4.5rem; }
.hero, .company-hero, .page-heading { margin-bottom: 2.25rem; }
.eyebrow { color: var(--teal-dark); font-size: .68rem; letter-spacing: .15em; }
h1 { color: var(--navy); font-family: ui-serif, Georgia, Cambria, serif; font-size: clamp(2.35rem, 5vw, 4.2rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.02; }
.company-hero h1, .page-heading h1 { font-size: clamp(2.2rem, 4vw, 3.45rem); }
.hero-copy, .company-hero > p:last-child, .page-heading > p:last-child { font-size: 1.03rem; line-height: 1.65; }
.synthetic-card { background: linear-gradient(145deg, #e7f3ef, #dcedea); border: 1px solid #c4ded6; border-radius: var(--radius-md); box-shadow: 0 10px 28px rgba(20,81,76,.07); padding: 1.2rem 1.25rem; }
.switcher a, .preview-switcher a { border-radius: 999px; font-weight: 750; }
.notice { border-left: 4px solid var(--teal); border-radius: var(--radius-sm); box-shadow: 0 7px 20px rgba(20,48,55,.04); padding: .9rem 1rem; }
.overview { gap: 1rem; margin-bottom: 2.5rem; }
.metric { border: 1px solid rgba(20,48,55,.1); border-radius: var(--radius-md); box-shadow: 0 10px 26px rgba(20,48,55,.045); padding: 1.2rem 1.25rem; }
.metric-value { color: var(--navy); font-size: 2.2rem; }
.metric-label { font-size: .73rem; letter-spacing: .02em; }
.content-grid, .admin-grid { gap: 1.4rem; }
.panel, .admin-card, .agreement-terms, .agreement-schedules { border-color: rgba(20,48,55,.11); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.panel-head { align-items: center; background: linear-gradient(180deg, rgba(247,250,248,.9), #fff); border-bottom-color: #e7ece9; padding: 1.25rem 1.4rem 1.05rem; }
.panel-title { color: var(--navy); font-family: ui-serif, Georgia, Cambria, serif; font-size: 1.38rem; font-weight: 500; letter-spacing: -.02em; }
.panel-subtitle { font-size: .8rem; }
.count { background: #e7f3ef; color: var(--teal-dark); }
.item { padding: 1.2rem 1.4rem; }
.item h3, .admin-card h3 { color: var(--navy); font-size: .94rem; }
.item p, .admin-card p { line-height: 1.55; }
.status { font-size: .62rem; letter-spacing: .07em; padding: .33rem .55rem; }
.status-required, .status-needs_attention, .status-needs_reconnect, .status-changes_requested { background: #fff1d7; color: #805c19; }
.status-ready, .status-approved, .status-pending, .status-connecting, .status-reconnecting { background: #e8eef5; color: #35526e; }
.status-completed, .status-active, .status-accepted { background: #e2f2eb; color: #0d655b; }
.status-blocked, .status-disconnect_requested, .status-rejected { background: #fae8e5; color: #8a3933; }
button, .button-link { border-radius: 10px; font-size: .76rem; min-height: 38px; padding: .6rem .88rem; transition: transform .15s ease, background .15s ease, box-shadow .15s ease; }
button:hover:not(:disabled), .button-link:hover { transform: translateY(-1px); }
.primary { background: var(--teal); box-shadow: 0 4px 12px rgba(23,111,106,.18); }
.secondary { background: #eff3f1; border: 1px solid #dce5e0; }
.danger-quiet { background: #fff4f2; border: 1px solid #f0d0cb; }
.details { background: #f7faf8; border-color: #e1e9e4; }
input, select, textarea { border-color: #cbd7d1; border-radius: 10px; min-height: 40px; }
input:hover, select:hover, textarea:hover { border-color: #9fb6ae; }
.warning { background: #fff5e3; border-left: 3px solid var(--gold); border-radius: 8px; }
.admin-card { padding: 1.25rem 1.35rem; }
.admin-facts div, .agreement-facts div { background: #f6f9f7; border: 1px solid #e4ece7; }
.readiness-list > a, .readiness-list > div { padding: 1rem 1.35rem; }
.check { box-shadow: inset 0 0 0 1px rgba(20,48,55,.06); }
.footer { font-size: .68rem; letter-spacing: .02em; }
.suspension-shell .page-heading { border-left: 4px solid var(--red); padding-left: 1.1rem; }
.suspension-shell .primary { background: var(--red); box-shadow: 0 4px 12px rgba(141,61,54,.16); }
.suspension-shell .primary:hover { background: #71312d; }

/* Presentation-only future account journey. Routes are local-only and render no live form action. */
.account-preview { min-height: 100vh; background: #edf3ef; }
.preview-shell { margin: 0 auto; max-width: 1280px; padding: 2rem 1.75rem; }
.preview-brand { align-items: center; color: var(--navy); display: inline-flex; gap: .75rem; text-decoration: none; }
.preview-brand > span:last-child { display: grid; gap: .05rem; }
.preview-brand small { color: var(--muted); font-size: .63rem; letter-spacing: .12em; text-transform: uppercase; }
.preview-layout { align-items: stretch; display: grid; gap: 0; grid-template-columns: minmax(340px, .92fr) minmax(420px, 1.08fr); margin: 2.75rem auto 0; max-width: 1030px; }
.preview-aside { background: linear-gradient(145deg, #102b35, #1c5058); border-radius: 24px 0 0 24px; color: white; padding: 4rem 3.4rem; position: relative; overflow: hidden; }
.preview-aside::after { background: radial-gradient(circle, rgba(222,184,104,.3), transparent 67%); content: ""; height: 360px; position: absolute; right: -160px; top: -160px; width: 360px; }
.preview-aside .eyebrow { color: #d7e8e4; position: relative; z-index: 1; }
.preview-aside h1 { color: white; font-size: clamp(2.3rem, 4vw, 3.5rem); max-width: 460px; position: relative; z-index: 1; }
.preview-aside > p:not(.eyebrow) { color: #d6e4e1; font-size: 1.02rem; line-height: 1.65; max-width: 400px; position: relative; z-index: 1; }
.preview-aside-card { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); border-radius: 14px; display: grid; gap: .35rem; margin-top: 4.5rem; padding: 1rem; position: relative; z-index: 1; }
.preview-aside-card span { color: #f4d99b; font-size: .64rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.preview-aside-card strong { font-size: .86rem; }
.preview-aside-card small { color: #d5e4e0; line-height: 1.5; }
.preview-card { background: white; border-radius: 0 24px 24px 0; box-shadow: 0 24px 70px rgba(16,43,53,.14); padding: 3.7rem 3.5rem 2.3rem; }
.preview-card-head { align-items: center; display: flex; justify-content: space-between; }
.preview-step { background: #eef4f0; border-radius: 999px; color: var(--teal-dark); font-size: .68rem; font-weight: 800; padding: .32rem .55rem; }
.preview-card h2 { color: var(--navy); font-family: ui-serif, Georgia, Cambria, serif; font-size: 2.4rem; font-weight: 500; letter-spacing: -.04em; line-height: 1.05; margin: .45rem 0 .65rem; }
.preview-card > p { color: var(--muted); line-height: 1.6; margin: 0 0 1.65rem; max-width: 520px; }
.preview-form { display: grid; gap: .85rem; }
.preview-form label { display: grid; gap: .35rem; }
.preview-form input { font-size: .9rem; }
.preview-two-up { display: grid; gap: .8rem; grid-template-columns: 1fr 1fr; }
.preview-form-row { align-items: center; display: flex; font-size: .75rem; justify-content: space-between; }
.preview-form-row .checkbox { align-items: center; display: flex; font-weight: 600; gap: .45rem; }
.preview-form-row input { min-height: auto; width: auto; }
.preview-company-card, .preview-email-card { align-items: center; background: #f2f7f4; border: 1px solid #dbe9e2; border-radius: 13px; display: flex; gap: .8rem; padding: .9rem; }
.preview-company-card.compact { margin-bottom: .15rem; }
.preview-company-card p, .preview-email-card p { color: var(--muted); font-size: .77rem; margin: .16rem 0 0; }
.preview-icon { align-items: center; background: #d9eee6; border-radius: 10px; color: var(--teal-dark); display: grid; flex: 0 0 38px; font-family: ui-serif, Georgia, serif; font-weight: 800; height: 38px; place-items: center; width: 38px; }
.preview-list { border: 1px solid #e2eae5; border-radius: 12px; display: grid; }
.preview-list div { align-items: center; border-bottom: 1px solid #e2eae5; display: flex; font-size: .78rem; justify-content: space-between; padding: .7rem .85rem; }
.preview-list div:last-child { border-bottom: 0; }
.preview-list span { color: var(--muted); }
.preview-note { background: #fff5e4; border-left: 3px solid var(--gold); border-radius: 8px; color: #765b27; font-size: .76rem; line-height: 1.5; padding: .72rem .78rem; }
.preview-back { font-size: .78rem; text-align: center; }
.preview-routes { border-top: 1px solid #e6ece8; display: flex; gap: .75rem; margin-top: 1.7rem; padding-top: 1rem; }
.preview-routes a { color: var(--muted); font-size: .68rem; text-decoration: none; }
.preview-routes a:hover { color: var(--teal-dark); text-decoration: underline; }
@media (max-width: 850px) {
  .preview-layout { grid-template-columns: 1fr; max-width: 620px; }
  .preview-aside { border-radius: 24px 24px 0 0; padding: 2.3rem 2rem; }
  .preview-aside-card { margin-top: 1.8rem; }
  .preview-card { border-radius: 0 0 24px 24px; padding: 2.3rem 2rem; }
}
@media (max-width: 620px) {
  .header-inner, .company-nav, .shell, .preview-shell { padding-left: 1rem; padding-right: 1rem; }
  .shell { padding-top: 2rem; }
  .company-nav { gap: .3rem; padding-bottom: .8rem; }
  .company-nav a { font-size: .68rem; padding: .43rem .55rem; }
  .panel-head, .item, .request-form, .admin-card { padding-left: 1rem; padding-right: 1rem; }
  .preview-shell { padding-top: 1.35rem; }
  .preview-layout { margin-top: 1.5rem; }
  .preview-aside, .preview-card { padding: 2rem 1.35rem; }
  .preview-aside h1 { font-size: 2.35rem; }
  .preview-card h2 { font-size: 2.05rem; }
  .preview-two-up { grid-template-columns: 1fr; }
  .preview-form-row { align-items: flex-start; flex-direction: column; gap: .5rem; }
}

/* Account sign-in — matches the approved Atlas website system and uses the official horizontal logo and owl mark. */
.account-page {
  background: #f1eee7;
  color: #1d2a38;
  font-family: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
}
.account-page .preview-shell { max-width: 1180px; padding: 2.25rem 1.75rem 4rem; }
.account-page .account-brand { align-items: center; display: flex; gap: 1rem; }
.account-page .account-brand-logo { display: block; height: auto; width: min(280px, 62vw); }
.account-page .account-brand-label { border-left: 1px solid #b9c4c5; color: #52717a; font-size: .66rem; font-weight: 750; letter-spacing: .15em; padding-left: 1rem; text-transform: uppercase; }
.account-page .account-layout { grid-template-columns: minmax(360px, .94fr) minmax(440px, 1.06fr); margin-top: 3.5rem; max-width: 1120px; }
.account-page .account-aside { background: #0a1c31; border-radius: 0; min-height: 570px; padding: 4.4rem 3.7rem; }
.account-page .account-aside::after { display: none; }
.account-page .account-aside-content { max-width: 430px; position: relative; z-index: 1; }
.account-page .account-aside .eyebrow { color: #9bc5c4; font-size: .7rem; letter-spacing: .15em; margin-bottom: 1.5rem; }
.account-page .account-aside h1 { color: #fffdf8; font-family: Iowan Old Style, Baskerville, "Times New Roman", serif; font-size: clamp(2.8rem, 4vw, 4rem); font-weight: 500; letter-spacing: -.055em; line-height: 1.02; }
.account-page .account-aside > .account-aside-content > p:not(.eyebrow) { color: #cbd9df; font-size: 1.06rem; line-height: 1.62; }
.account-page .account-owl-mark { bottom: -45px; display: block; filter: none; mix-blend-mode: screen; opacity: .09; pointer-events: none; position: absolute; right: -40px; width: 500px; }
.account-page .account-card { border-radius: 0; box-shadow: 0 25px 60px rgba(15, 28, 44, .14); padding: 4.15rem 3.8rem; }
.account-page .account-card h2 { color: #16263a; font-family: Iowan Old Style, Baskerville, "Times New Roman", serif; font-size: clamp(2.5rem, 3.4vw, 3.25rem); font-weight: 500; letter-spacing: -.05em; }
.account-page .account-card > p { color: #526674; font-size: 1rem; max-width: 470px; }
.account-page .account-step { color: #2f7b7a; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .71rem; font-weight: 700; letter-spacing: .11em; margin: 2rem 0 -.25rem; text-transform: uppercase; }
.account-page .account-owner-signup .preview-form { margin-top: 1.3rem; }
.account-page .account-company-card { align-items: flex-start; background: #f4f7f5; border: 1px solid #cbd8d5; border-left: 3px solid #3d716d; border-radius: 0; margin: 1rem 0 -.1rem; padding: 1rem 1.1rem; }
.account-page .account-company-label { color: #52717a; font-size: .65rem !important; font-weight: 750; letter-spacing: .12em; line-height: 1.3; margin: 0 0 .35rem !important; text-transform: uppercase; }
.account-page .account-company-card strong { color: #19354b; font-size: 1rem; }
.account-page .account-invitation .preview-form, .account-page .account-invitation-credentials .preview-form, .account-page .account-recovery .preview-form { margin-top: 1.25rem; }
.account-page.account-recovery .account-owl-mark { right: -235px; }
.account-page.account-reset-password .preview-form { margin-top: 1.25rem; }
.account-page .account-confirmation { align-items: flex-start; background: #f0f7f5; border: 1px solid #c8ddd7; border-left: 3px solid #397971; display: flex; gap: .9rem; margin-top: 2rem; padding: 1.15rem; }
.account-page .account-confirmation > span { align-items: center; background: #397971; border-radius: 999px; color: #fff; display: inline-flex; flex: 0 0 1.5rem; font-size: .9rem; font-weight: 800; height: 1.5rem; justify-content: center; }
.account-page .account-confirmation strong { color: #19354b; display: block; font-size: .92rem; margin-bottom: .3rem; }
.account-page .account-confirmation p { color: #506974; font-size: .85rem; line-height: 1.5; margin: 0; }
.account-page .account-return { display: inline-block; font-size: .88rem; margin-top: 1.4rem; }
.account-page .preview-form { gap: 1rem; margin-top: 2rem; }
.account-page .preview-form label { color: #19354b; font-size: .75rem; font-weight: 750; letter-spacing: .015em; }
.account-page .preview-form input { border-color: #bdc9c8; border-radius: 0; color: #1d2a38; min-height: 48px; padding: .75rem .85rem; }
.account-page .preview-form input:focus { border-color: #3d716d; outline: 3px solid rgba(61, 113, 109, .18); outline-offset: 1px; }
.account-page .preview-form .primary { background: #16263a; border-radius: 0; box-shadow: none; margin-top: .3rem; min-height: 48px; }
.account-page .preview-form .primary:hover { background: #0f1c2c; }
.account-page .preview-form a { color: #2f7b7a; font-size: .83rem; width: fit-content; }
.account-page .preview-form [role="status"] { background: #e7f0ed; border-left: 3px solid #3d716d; color: #17334b; margin: 0 0 .25rem; padding: .75rem .85rem; }
@media (max-width: 850px) {
  .account-page .account-layout { margin-top: 2.25rem; max-width: 650px; }
  .account-page .account-aside { min-height: 330px; padding: 3rem 2.25rem; }
  .account-page .account-owl-mark { bottom: -35px; right: -35px; width: 420px; }
  .account-page.account-recovery .account-owl-mark { right: -175px; }
  .account-page .account-card { padding: 2.7rem 2.25rem 3rem; }
}
@media (max-width: 620px) {
  .account-page .preview-shell { padding: 1.3rem 1rem 2.75rem; }
  .account-page .account-brand { align-items: flex-start; flex-direction: column; gap: .65rem; }
  .account-page .account-brand-logo { width: min(250px, 78vw); }
  .account-page .account-brand-label { border-left: 0; border-top: 1px solid #b9c4c5; padding: .55rem 0 0; }
  .account-page .account-layout { margin-top: 1.8rem; }
  .account-page .account-aside { min-height: 315px; padding: 2.35rem 1.45rem; }
  .account-page .account-aside h1 { font-size: 2.6rem; }
  .account-page .account-card { padding: 2.25rem 1.45rem 2.45rem; }
  .account-page .account-card h2 { font-size: 2.35rem; }
}
