:root{color-scheme:light;--navy:#0d1a30;--ink:#17253b;--muted:#637189;--teal:#0a8589;--line:#e3eaf0;--surface:#f4f7fa;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--surface);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit}
button,input{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #40b9bc;outline-offset:3px}
.container{max-width:1200px;margin-inline:auto;padding-inline:28px}
.skip{position:absolute;left:24px;top:-80px;background:white;padding:10px;z-index:10}
.skip:focus{top:0}
.top{background:var(--navy);color:#fff}
.top-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}
.brand{display:flex;align-items:baseline;gap:12px}
.logo{font-size:26px;font-weight:850;letter-spacing:-.055em;color:#a9ebeb}
.brand-label{font-size:13px;color:#b9cbd8}
.profile{display:flex;gap:20px;align-items:center;font-size:13px}
.user{color:#ced9e3}
.signout{color:#fff;background:transparent;border:1px solid #64778e;padding:9px 13px;border-radius:8px}
.signout:hover{background:#fff1}
.main{flex:1;width:100%;padding-block:58px 100px}
.intro{margin-bottom:36px}
.eyebrow{display:block;color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.13em}
h1,h2,h3,p{margin-top:0}
.intro h1{font-size:clamp(35px,5vw,58px);letter-spacing:-.065em;line-height:1.12;margin:9px 0 14px}
.intro p,.muted{color:var(--muted)}
.account{margin-top:25px;margin-bottom:30px}
.account-head{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:16px}
.account-head h2{font-size:22px;line-height:1.2;letter-spacing:-.04em;margin:5px 0 0}
.role{padding:5px 12px;font-size:12px;border-radius:99px;color:#12666b;background:#dff5f2;font-weight:700}
.columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.panel,.empty,.loginbox{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px #233d5210}
.panel{padding:25px;min-height:180px}
.panel h3{font-size:16px;letter-spacing:-.025em;margin-bottom:18px}
.entry{border-top:1px solid var(--line);padding:12px 0;display:flex;flex-direction:column;gap:3px}
.entry strong{font-size:14px;overflow-wrap:anywhere}
.entry span{font-size:13px;color:#495970;overflow-wrap:anywhere}
.entry small{font-size:11px;font-weight:700;color:#267e82}
.empty{padding:25px;max-width:640px}
.notice{color:var(--muted);font-size:12px;margin-top:35px;max-width:820px}
.footer{border-top:1px solid var(--line);color:#738298;padding-block:22px;font-size:12px}
.loginbox{width:min(100%,440px);margin:20px auto;padding:35px}
.loginbox h1{font-size:32px;line-height:1.2;letter-spacing:-.04em;margin:10px 0}
.loginbox p{font-size:14px}
.loginbox form{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.loginbox label{font-weight:700;font-size:13px}
.loginbox input{min-height:44px;border:1px solid #c6d3dc;border-radius:8px;padding:10px 13px;margin-bottom:12px;max-width:100%}
.primary{border:0;border-radius:9px;background:var(--navy);color:#fff;padding:13px 20px;font-weight:700;margin-top:5px}
.primary:hover{background:#244a63}
.error{color:#a02c36;background:#fff0f1;border-radius:8px;padding:10px}
@media(max-width:900px){.columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.container{padding-inline:17px}.main{padding-top:34px}.top-inner{min-height:70px}.brand-label{font-size:11px}.profile{gap:8px}.user{display:none}.columns{grid-template-columns:1fr}.account-head{align-items:flex-start;flex-direction:column}.panel{min-height:0}.loginbox{padding:24px}}


/* Hosting Core: administrative overview and package previews. */
.top-nav{display:flex;gap:15px;align-items:center;margin-inline:auto;padding-inline:18px}
.top-nav a{color:#d5e4ed;text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap}
.top-nav a:hover{text-decoration:underline;color:white}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;align-items:center}
.action-link{display:inline-block;background:var(--navy);color:#fff;padding:11px 17px;border-radius:9px;text-decoration:none;font-size:13px;font-weight:750}
.action-link:hover{background:#213a5a}
.subtle-link{color:var(--navy);text-decoration:underline;font-size:13px;font-weight:650}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:26px}
.metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px;display:flex;flex-direction:column;min-height:142px}
.metric>span{font-size:13px;color:var(--muted)}
.metric>strong{font-size:39px;line-height:1.3;letter-spacing:-.05em;color:var(--navy)}
.metric>small{color:var(--muted);font-size:11px}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sheet{border-radius:14px;border:1px solid var(--line);background:white;padding:23px;box-shadow:0 10px 30px #233d5210;min-width:0}
.sheet-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.sheet-title h2,.sheet-title h3{font-size:20px;line-height:1.3;letter-spacing:-.035em;margin:3px 0}
.sheet-title a{font-size:12px;color:#216a76;font-weight:750}
.registry-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:13px 0}
.registry-row>div{display:flex;flex-direction:column;min-width:0}
.registry-row strong{font-size:13px;overflow-wrap:anywhere}
.registry-row span:not(.status-chip),.registry-row small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.status-chip{font-size:10px;border:1px solid #cbdce2;border-radius:18px;background:#eef5f6;color:#205768;padding:5px 9px;font-weight:700;text-align:center;flex-shrink:0;max-width:135px}
.registry-empty{color:var(--muted);padding:28px 0;font-size:13px}
.under-note{font-size:11px;color:var(--muted);margin:18px 0 0}
.customer-summary{display:flex;gap:12px;margin-bottom:17px;flex-wrap:wrap}
.customer-summary>div{display:flex;flex-direction:column;gap:2px;background:white;border:1px solid var(--line);border-radius:10px;padding:12px 17px;min-width:175px}
.customer-summary strong{font-size:26px;color:var(--navy);line-height:1.3}
.customer-summary small{font-size:10px;color:var(--muted)}
.customer-requests{margin-top:19px}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.package-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;padding:27px;min-width:0;box-shadow:0 10px 30px #233d520c}
.package-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:23px}
.package-card h2{font-size:29px;line-height:1.2;letter-spacing:-.045em;margin:13px 0 8px}
.package-summary{color:var(--muted);font-size:13px;min-height:63px}
.package-price{display:flex;flex-direction:column;gap:2px;border-block:1px solid var(--line);padding:17px 0;margin:4px 0 18px}
.package-price strong{font-size:25px;letter-spacing:-.05em;color:var(--navy)}
.package-price span{font-size:11px;color:var(--muted)}
.package-specs{display:grid;gap:11px;margin-bottom:24px}
.package-specs>div{display:flex;justify-content:space-between;gap:8px}
.package-specs span{font-size:12px;color:var(--muted)}
.package-specs strong{font-size:12px;color:var(--navy);text-align:right}
.feature-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.feature-list li{display:flex;gap:9px;font-size:12px}
.feature-list li>span:first-child{color:var(--teal);font-weight:850}
.feature-list strong{font-size:12px}
.feature-list small{display:block;color:var(--muted);font-size:10px;line-height:1.4}
.package-action{margin-top:auto;padding-top:25px}
.package-action span{display:block;background:var(--surface);border:1px solid var(--line);padding:11px;color:var(--muted);font-size:11px;text-align:center;border-radius:9px}
@media(max-width:1100px){.top-nav{gap:10px}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.dashboard-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.top-nav{margin:0}}
@media(max-width:630px){.top-inner{flex-wrap:wrap;padding-block:12px}.top-nav{order:3;overflow-x:auto;max-width:100%;width:100%;padding:3px 0;gap:15px}.profile{margin-left:auto}.metrics{gap:9px}.metric{min-height:122px;padding:15px}.metric>strong{font-size:29px}.package-grid{grid-template-columns:1fr}.package-summary{min-height:0}.sheet{padding:17px}}

/* Preview only: capabilities not yet delivered must be visibly unavailable. */
.feature-list li.feature-unavailable{opacity:.72}
.feature-list li.feature-unavailable>span:first-child{color:#9b6570}
.feature-list li.feature-unavailable strong{color:#6d7581}

/* Customer self-service checkout and DNS pre-cutover status. */
.checkout-sheet{max-width:880px;margin:22px 0}
.checkout-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.checkout-price strong{font-size:35px;letter-spacing:-.06em;color:var(--navy)}
.checkout-price span{font-size:12px;color:var(--muted)}
.checkout-form{display:grid;gap:17px;margin-top:22px}
.checkout-field{display:grid;gap:8px}
.checkout-field label{font-size:13px;font-weight:730;color:var(--navy)}
.checkout-field input:not([type=checkbox]),.checkout-field select,.checkout-field textarea{
display:block;width:100%;min-height:44px;padding:11px 12px;border:1px solid #b9cbd5;
border-radius:8px;background:#fff;color:#172c41;font:inherit}
.checkout-field input[type=checkbox]{width:18px;height:18px;accent-color:#0f788a}
.checkout-form button.primary,.checkout-sheet button.primary{
border:0;background:#133147;color:#fff;min-height:44px;padding:11px 19px;
border-radius:8px;font-size:13px;font-weight:770;cursor:pointer}
.checkout-form button.primary:hover,.checkout-sheet button.primary:hover{background:#0f6879}
.error{color:#9e3b36;font-size:12px}
.dns-record{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}
.dns-record>span{color:var(--muted)}.dns-record code{font-weight:760;max-width:100%;overflow-wrap:anywhere;color:#14465d}
.dns-observed{display:grid;gap:0;margin:15px 0}
.dns-observed>div{display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid var(--line);padding:9px 0;font-size:12px}
.dns-observed b{color:var(--navy)}.dns-observed span{text-align:right;overflow-wrap:anywhere;color:#536c7e}
.dns-message{padding:14px 16px;border-left:3px solid #259ca2;background:#ecf6f7;font-size:12px;line-height:1.7;margin:19px 0}
.dns-message.warning{border-left-color:#cb9a46;background:#fff8ed}
.dns-message.good{border-left-color:#349d78;background:#ecf7f2}


/* Nonfinancial customer services, sites and support. */
.customer-shortcuts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:16px 0 22px}
.customer-shortcuts a{display:inline-flex}
.detail-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.detail-pairs>div{display:grid;gap:5px;min-width:0;padding:12px 13px;background:rgba(23,85,104,.045);border:1px solid var(--line);border-radius:8px}
.detail-pairs small{font-size:11px;color:var(--muted)}
.detail-pairs strong{font-size:13px;overflow-wrap:anywhere}
.ticket-message{padding:15px 0;border-bottom:1px solid var(--line)}
.ticket-message:last-child{border-bottom:0}
.ticket-message-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.ticket-message-head strong{font-size:13px;color:var(--navy)}
.ticket-message-head span{font-size:11px;color:var(--muted)}
.ticket-message p{font-size:13px;line-height:1.7;overflow-wrap:anywhere;margin:0}
@media (max-width:620px){.detail-pairs{grid-template-columns:1fr}.customer-shortcuts{align-items:stretch;flex-direction:column}.customer-shortcuts a{justify-content:center}}


/* Account registration, verification and recovery secondary actions. */
.login-secondary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  justify-content: space-between;
  align-items: center;
  margin-top: 18px;
}
.login-secondary-actions .subtle-link {
  font-size: 12px;
  font-weight: 750;
}
.checkout-sheet .checkout-form input:focus-visible,
.checkout-sheet .checkout-form select:focus-visible,
.checkout-sheet .checkout-form textarea:focus-visible {
  outline: 3px solid #49afb7;
  outline-offset: 2px;
}
@media(max-width: 620px) {
  .login-secondary-actions { align-items: flex-start; flex-direction: column; }
}


/* AGS Hosting accessibility & mobile controls — no Javascript required.
   Keep status meaning in visible text, not color or screen size alone. */
button, input, select, textarea {font:inherit}
.top-inner,.top-nav,.sheet-title,.registry-row {min-width:0}
.sheet-title {flex-wrap:wrap}
.sheet-title>div {min-width:0;overflow-wrap:anywhere}
.registry-row>div,.registry-row>strong {min-width:0;overflow-wrap:anywhere}
.registry-row .action-link {max-width:100%;overflow-wrap:anywhere}
.checkout-form>label {font-size:13px;font-weight:730;color:var(--navy)}
.checkout-form>input:not([type=checkbox]):not([type=hidden]),
.checkout-form>select,
.checkout-form>textarea {
  display:block;width:100%;max-width:100%;min-height:44px;
  padding:11px 12px;border:1px solid #b9cbd5;border-radius:8px;
  background:#fff;color:var(--ink);
}
.checkout-form>textarea {min-height:124px;resize:vertical}
.checkout-form>input[aria-invalid="true"],
.checkout-form>textarea[aria-invalid="true"],
.checkout-form>select[aria-invalid="true"] {border-color:#a02c36}
.checkout-form>button,
.toolbar button {min-height:44px;max-width:100%}
.error[role="alert"] {display:block;overflow-wrap:anywhere}
.notice,.under-note {overflow-wrap:anywhere}
@media(max-width:620px){
  .registry-row {flex-wrap:wrap;align-items:flex-start}
  .registry-row>.status-chip {max-width:100%}
  .registry-row>.action-link {width:100%;text-align:center}
  .sheet-title {align-items:flex-start}
  .toolbar {align-items:stretch}
  .toolbar form {max-width:100%;flex:1 1 180px}
  .toolbar button {width:100%}
}
@media(prefers-reduced-motion:reduce){
  html {scroll-behavior:auto}
}

/* Accessible customer signup/checkout: errors stay connected to fields. */
.form-error-summary{padding:14px 16px;border:1px solid #b85e62;border-left:4px solid #a02c36;border-radius:8px;background:#fff5f5;color:#7b2432;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.form-error-summary strong{display:block;font-size:14px}
.form-error-summary ul{margin:8px 0 0;padding-left:18px}
.form-error-summary a{color:#78232e;text-decoration:underline;text-underline-offset:2px}
.checkout-field .field-help,.field-help{margin:0;font-size:12px;line-height:1.6;color:#526878;overflow-wrap:anywhere}
.checkout-field .field-errors{margin:0;padding-left:19px;color:#942f3b;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.checkout-checkbox{display:flex;align-items:flex-start;gap:12px;min-width:0}
.checkout-checkbox label{flex:1;line-height:1.6;cursor:pointer}
.checkout-checkbox input[type=checkbox]{flex:0 0 auto;min-width:20px;min-height:20px;margin:2px 0 0}
.checkout-field :is(input,select,textarea)[aria-invalid="true"],
.loginbox :is(input,select,textarea)[aria-invalid="true"]{border-color:#a02c36;box-shadow:0 0 0 1px #a02c36}
.login-feedback{padding:12px 14px;background:#fff5f5;border-left:3px solid #a02c36;border-radius:4px;line-height:1.55}
@media(max-width:620px){.checkout-checkbox{gap:10px}.form-error-summary{padding:12px}}

/* Password recovery and setup share the same field error contract as signup. */
.loginbox .checkout-field {display:grid;gap:7px;min-width:0}
.loginbox .checkout-field input {width:100%;margin-bottom:0}
.loginbox .field-help ul {margin:6px 0 0;padding-left:18px}
.loginbox .field-help li {overflow-wrap:anywhere}

/* Public-DNS onboarding: keep long TXT challenges readable at 375 px. */
.dns-record,.dns-observed,.dns-observed>div{min-width:0}
.dns-record code,.dns-observed span{min-width:0;overflow-wrap:anywhere;word-break:break-word}
@media(max-width:620px){.dns-observed>div{flex-direction:column;gap:2px}.dns-observed span{text-align:left}}

/* Shared 1 customer journey: informational steps, not payment/activation controls. */
.p1-flow{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:20px 0 25px;max-width:880px}
.p1-flow-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:15px}
.p1-flow-head strong{font-size:16px;color:var(--navy);letter-spacing:-.025em}
.p1-flow-head span{font-size:12px;color:var(--muted)}
.p1-flow-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.p1-flow-step{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}
.p1-number{width:27px;height:27px;border:1px solid #bccbd6;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:#4c6275}
.p1-flow-step>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.p1-flow-step>div strong{font-size:13px}
.p1-flow-step>div small{color:var(--muted);font-size:11px;line-height:1.45}
.p1-status{font-size:11px;font-weight:750;color:#6e7788;white-space:nowrap;text-align:right}
.p1-done .p1-number{background:#d9f4e9;border-color:#9ad4bd;color:#166045}
.p1-done .p1-status{color:#166045}
.p1-current .p1-number{background:#0d596a;border-color:#0d596a;color:#fff}
.p1-current .p1-status{color:#0d596a}
.p1-blocked .p1-status{color:#815a4b}
.p1-flow-note{margin:14px 0 0;padding:12px;border-radius:8px;background:#f3f7f9;color:#45596d;font-size:12px}
@media(max-width:620px){.p1-flow{padding:16px}.p1-flow-step{grid-template-columns:25px minmax(0,1fr);gap:9px}.p1-status{grid-column:2;text-align:left;margin-top:-2px}}

/* Independently saved P1 steps: accessible links and explicit save-draft controls. */
.p1-flow-step{grid-template-columns:27px minmax(0,1fr) auto auto}
.p1-step-link{font-size:12px;font-weight:750;color:#0b6771;text-decoration:underline;
  text-underline-offset:3px;white-space:nowrap;min-height:32px;display:inline-flex;align-items:center}
.p1-step-link:hover{color:#064856}
.p1-resume-action{display:inline-flex;align-items:center;gap:9px;padding:11px 15px;
  border-radius:8px;background:#0d3448;color:white;font-size:13px;font-weight:750;text-decoration:none;margin-top:15px}
.p1-resume-action:hover{background:#14546a}
.p1-form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.p1-form-actions>button{min-height:46px;margin-top:0}
.p1-draft-button{padding:11px 15px;border-radius:9px;border:1px solid #9fb3c3;
  color:#15354a;background:#fff;font-weight:750}
.p1-draft-button:hover{background:#edf5f7}
@media(max-width:620px){
  .p1-flow-step{grid-template-columns:25px minmax(0,1fr);gap:9px}
  .p1-step-link{grid-column:2;justify-self:start}
  .p1-form-actions{flex-direction:column;align-items:stretch}
  .p1-form-actions>button{width:100%}
}


/* AGS operator directory: responsive, read-only, keyboard accessible. */
.top-nav { min-width: 0; max-width: 100%; overflow-x: auto; scrollbar-width: thin; }
.top-nav a { flex: 0 0 auto; }
.staff-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; }
.staff-filters .checkout-field { flex: 1 1 220px; min-width: 0; }
.staff-filters .checkout-field input { width: 100%; }
.staff-filters button { flex: 0 0 auto; }
.staff-pagination { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding-top: 18px; }
.staff-pagination span { color: var(--muted); font-size: 12px; }
@media (max-width: 1020px) {
  .top-inner { flex-wrap: wrap; padding-block: 12px; }
  .top-nav { order: 3; flex-basis: 100%; margin: 0; padding: 6px 0; }
  .profile { margin-left: auto; }
}
@media (max-width: 620px) {
  .staff-filters { flex-direction: column; align-items: stretch; }
  .staff-filters .checkout-field { flex-basis: auto; }
  .staff-filters button { width: 100%; }
}
