/* Max account appearance. Public pages have a separate, fixed GraftKit palette below. */
body.gk-app .gk-workspace-settings { margin-bottom: 20px; }
body.gk-app .gk-ws-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
body.gk-app .gk-ws-heading h3 { font-size: 19px; font-weight: 650; letter-spacing: -.35px; }
body.gk-app .gk-ws-badge { padding: 4px 9px; border-radius: 6px; background: var(--gk-accent-soft); color: var(--gk-accent-text); border: 1px solid var(--border2); font-size: 10px; letter-spacing: 1px; font-weight: 750; }
body.gk-app .gk-ws-intro, body.gk-app .gk-ws-lock-copy { color: var(--muted); font-size: 13px; line-height: 1.7; max-width: 750px; margin-bottom: 20px; }
body.gk-app .gk-ws-fieldset { min-width: 0; padding: 22px 0 20px; border: 0; border-top: 1px solid var(--border); }
body.gk-app .gk-ws-fieldset legend { font-size: 14px; color: var(--text); font-weight: 650; padding: 0 12px 0 0; }
body.gk-app .gk-ws-help { font-size: 12px; color: var(--muted); line-height: 1.65; margin: 0 0 16px; max-width: 750px; }
body.gk-app .gk-ws-colours { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
body.gk-app .gk-ws-colours .form-group { margin-bottom: 10px; }
body.gk-app .gk-ws-colour-row { display: flex; gap: 8px; align-items: center; }
body.gk-app .gk-ws-colour-row input[type=color] { width: 44px; flex: 0 0 44px; height: 46px; padding: 3px; background: var(--gk-panel); border: 1px solid var(--border2); border-radius: 7px; cursor: pointer; }
body.gk-app .gk-ws-colour-row .form-input { font-family: ui-monospace,SFMono-Regular,Consolas,monospace; min-width: 0; padding-left: 10px; padding-right: 10px; }
body.gk-app .gk-ws-options { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
body.gk-app .gk-ws-options .form-group { margin: 0; }
body.gk-app .gk-ws-logo-row { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; }
body.gk-app .gk-ws-logo-preview { display: grid; place-items: center; min-height: 74px; width: 160px; padding: 12px; background: var(--gk-soft); border: 1px solid var(--border2); border-radius: 9px; }
body.gk-app .gk-ws-logo-preview img { max-width: 136px; max-height: 60px; width: auto; height: auto; object-fit: contain; }
body.gk-app .gk-ws-logo-preview span { font-size: 12px; color: var(--muted); }
body.gk-app .gk-ws-logo-row input[type=file] { width: min(100%,310px); font-size: 12px; padding: 10px 0; color: var(--muted); }
body.gk-app .gk-ws-logo-row input::file-selector-button { min-height: 44px; border: 1px solid var(--border2); background: var(--gk-panel); color: var(--text); border-radius: 8px; padding: 9px 13px; margin-right: 10px; cursor: pointer; font: inherit; }
body.gk-app .gk-ws-sections { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
body.gk-app .gk-ws-section-row { padding: 12px 14px; display: flex; justify-content: space-between; align-items: center; gap: 15px; border-bottom: 1px solid var(--border); }
body.gk-app .gk-ws-section-row:last-child { border-bottom: 0; }
body.gk-app .gk-ws-check { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; flex: 1; font-size: 13px; line-height: 1.5; cursor: pointer; }
body.gk-app .gk-ws-check input { flex: 0 0 20px; width: 20px; height: 20px; accent-color: #f59e0b; }
body.gk-app .gk-ws-reorder { display: flex; gap: 7px; }
body.gk-app .gk-ws-order-btn { min-height: 44px; padding: 8px 11px; font-size: 11px; border: 1px solid var(--border2); border-radius: 7px; color: var(--text); background: var(--gk-panel); }
body.gk-app .gk-ws-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 10px 0 4px; }
body.gk-app .gk-ws-status { margin: 15px 0 0; font-size: 13px; line-height: 1.6; color: var(--muted); }
body.gk-app .gk-ws-status:empty { display: none; }
body.gk-app .gk-ws-status.gk-ws-error { background: #391d25; color: #fecaca; border: 1px solid #b34f61; padding: 11px 13px; border-radius: 8px; }
body.gk-app.light-mode .gk-ws-status.gk-ws-error { background: #fff1f2; color: #991b1b; border-color: #e97c8a; }
body.gk-app .gk-workspace-settings input[aria-invalid=true] { border: 2px solid #dc2626; }
body.gk-app .gk-workspace-logo { object-fit: contain; width: auto !important; max-width: 180px !important; height: auto !important; max-height: 44px !important; }
body.gk-app .gk-own-logo > .logo-dark, body.gk-app .gk-own-logo > .logo-light { display: none !important; }
body.gk-app .gk-ws-section-hidden { display: none !important; }

/* Only server-confirmed Max accounts receive these optional workspace classes. */
body.gk-app.gk-workspace-custom.gk-ws-palette { background: var(--gk-bg); color: var(--text); }
body.gk-app.gk-ws-palette .btn-primary, body.gk-app.gk-ws-palette .gk-talk-copy > .gk-talk-link, body.gk-app.gk-ws-palette .mode-btn.active, body.gk-app.gk-ws-palette .filter-tab.active { background: var(--gkw-primary); border-color: var(--gkw-primary); color: var(--gkw-primary-ink); }
body.gk-app.gk-ws-palette .btn-primary:hover { background: var(--gkw-primary); border-color: var(--gkw-primary); color: var(--gkw-primary-ink); box-shadow: 0 0 0 2px var(--gk-accent-text); }
body.gk-app.gk-ws-palette .gk-workspace-avatar { background: var(--gkw-primary); color: var(--gkw-primary-ink); }
body.gk-app.gk-ws-palette .gk-talk-card { background: var(--gk-panel); color: var(--text); border-color: var(--border2); }
body.gk-app.gk-ws-palette button.gk-talk-card:hover { background: var(--gk-soft); border-color: var(--gk-accent-text); }
body.gk-app.gk-ws-palette .gk-talk-card .gk-eyebrow { color: var(--gk-accent-text); }
body.gk-app.gk-ws-palette .gk-talk-copy > span:not(.gk-eyebrow):not(.gk-talk-link) { color: var(--muted); }
body.gk-app.gk-ws-palette .gk-soundmark { background: var(--gk-soft); border-color: var(--border2); }
body.gk-app.gk-ws-palette .gk-soundmark i { background: var(--blue); }
body.gk-app.gk-ws-palette .step.active { background: var(--gkw-accent); }
body.gk-app.gk-ws-palette .usage-bar-fill { background: linear-gradient(90deg,var(--gkw-primary),var(--gkw-accent)); }
body.gk-app.gk-workspace-custom #dash-stats { transition: none; }
body.gk-app.gk-ws-palette .total-row.grand { color: var(--text); }
body.gk-app.gk-ws-palette .gk-workspace-settings :is(button,a,input,select,textarea):focus-visible { outline: 3px solid var(--gk-accent-text); outline-offset: 4px; }
body.gk-app.gk-density-compact .dashboard-card, body.gk-app.gk-density-compact .account-card { padding: 17px; }
body.gk-app.gk-density-compact .dash-shortcut { padding: 13px; }
body.gk-app.gk-density-compact .gk-talk-card, body.gk-app.gk-density-compact .gk-start-card { padding: 21px; }
body.gk-app.gk-density-compact .history-card, body.gk-app.gk-density-compact .customer-card { padding-top: 13px; padding-bottom: 13px; }
body.gk-app.gk-density-compact .form-group { margin-bottom: 13px; }
body.gk-app.gk-density-compact .gk-ws-fieldset { padding-top: 16px; padding-bottom: 15px; }
body.gk-app.gk-density-compact :is(.btn,.theme-toggle,.back-btn,.form-input,.gk-ws-order-btn) { min-height: 44px; }
@media(min-width:901px){
  body.gk-app.gk-layout-topbar { --gk-sidebar-width: 0px; }
  body.gk-app.gk-layout-topbar #app-nav { position: relative; left: 0; }
  body.gk-app.gk-layout-topbar #app-nav .nav-brand { display: flex; }
  body.gk-app.gk-layout-topbar #app-nav .nav-inner { max-width: 1400px; }
  body.gk-app.gk-layout-topbar #gk-sidebar { position: relative; width: 100%; padding: 14px 32px; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 20px; border-right: 0; border-bottom: 1px solid var(--border); overflow: visible; }
  body.gk-app.gk-layout-topbar #gk-sidebar .gk-sidebar-brand { display: none; }
  body.gk-app.gk-layout-topbar #gk-sidebar .gk-workspace { padding: 0; max-width: 250px; }
  body.gk-app.gk-layout-topbar #gk-sidebar nav { display: flex; flex-direction: row; flex-wrap: wrap; flex: 1; gap: 5px; }
  body.gk-app.gk-layout-topbar #gk-sidebar nav button { width: auto; padding: 10px 12px; }
  body.gk-app.gk-layout-topbar .gk-sidebar-footer { margin: 0; padding: 0; border: 0; }
  body.gk-app.gk-layout-topbar .gk-sidebar-footer > .gk-eyebrow, body.gk-app.gk-layout-topbar .gk-sidebar-footer > p { display: none; }
  body.gk-app.gk-layout-topbar .gk-owner { gap: 12px; }
  body.gk-app.gk-layout-topbar #gk-owner-name { margin: 0; }
  body.gk-app.gk-layout-topbar #app-container { margin: 0 auto; width: 100%; max-width: 1400px; padding-top: 32px; }
}
@media(max-width:700px){
  body.gk-app .gk-ws-colours { grid-template-columns: 1fr; gap: 7px; }
  body.gk-app .gk-ws-colour-row { max-width: 310px; }
  body.gk-app .gk-ws-options { grid-template-columns: 1fr; gap: 16px; }
  body.gk-app .gk-ws-section-row { flex-wrap: wrap; gap: 4px; padding: 12px; }
  body.gk-app .gk-ws-check { flex-basis: 100%; }
  body.gk-app .gk-ws-reorder { padding-left: 32px; }
  body.gk-app .gk-ws-actions .btn { flex: 1 1 100%; }
}

/* Public GraftKit pages. Account branding never touches these surfaces. */
body.gk-public { --public-bg:#0a0e1a;--public-panel:#111827;--public-text:#f1f5f9;--public-muted:#a9b6c9;--public-line:#303d51;--public-accent:#f59e0b; margin:0; background:var(--public-bg); color:var(--public-text); font:15px/1.65 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; color-scheme:dark; }
body.gk-public *,body.gk-public *::before,body.gk-public *::after { box-sizing:border-box; }
body.gk-public :is(h1,h2,h3,p,ul,figure) { margin:0; }
body.gk-public a { color:inherit; text-decoration:none; }
body.gk-public button { font:inherit; cursor:pointer; }
body.gk-public img { display:block; max-width:100%; }
body.gk-public :is(a,button,summary):focus-visible { outline:3px solid #fbbf24; outline-offset:5px; }
body.gk-public .gkp-skip { position:fixed; top:-100px; left:16px; padding:12px 18px; z-index:1000; background:#f59e0b; color:#0a0e1a; border-radius:8px; font-weight:700; }
body.gk-public .gkp-skip:focus { top:12px; }
body.gk-public .gkp-wrap { max-width:1200px; margin:0 auto; padding:0 32px; }
body.gk-public .gkp-header { border-bottom:1px solid var(--public-line); }
body.gk-public .gkp-nav { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:22px; min-height:98px; padding-top:18px; padding-bottom:18px; }
body.gk-public .gkp-brand { flex:0 0 auto; display:inline-flex; align-items:center; min-height:44px; }
body.gk-public .gkp-brand img { width:156px; height:auto; }
body.gk-public .gkp-nav-links { display:flex; align-items:center; gap:25px; flex-wrap:wrap; font-size:13px; font-weight:600; }
body.gk-public .gkp-nav-links > a:not(.gkp-button) { display:inline-flex; align-items:center; min-height:44px; color:var(--public-muted); }
body.gk-public .gkp-nav-links > a[aria-current=page] { color:#fbbf24; }
body.gk-public .gkp-button { min-height:46px; display:inline-flex; justify-content:center; align-items:center; gap:9px; padding:11px 19px; border:1px solid var(--public-line); border-radius:9px; background:var(--public-panel); color:var(--public-text); font-size:13px; font-weight:700; line-height:1.5; text-align:center; }
body.gk-public .gkp-button.primary { background:#f59e0b; border-color:#f59e0b; color:#0a0e1a; }
body.gk-public .gkp-button:hover { border-color:#fbbf24; }
body.gk-public .gkp-button.primary:hover { background:#fbbf24; color:#0a0e1a; }
body.gk-public .gkp-button[aria-disabled=true] { opacity:.65; cursor:wait; }
body.gk-public .gkp-eyebrow { font-size:11px; font-weight:750; letter-spacing:1.6px; color:#fbbf24; text-transform:uppercase; }
body.gk-public .gkp-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:center; gap:65px; padding-top:75px; padding-bottom:65px; }
body.gk-public .gkp-hero h1 { font-size:clamp(35px,4.2vw,58px); line-height:1.12; letter-spacing:-1.8px; font-weight:650; margin:18px 0 22px; }
body.gk-public .gkp-hero h1 span { color:#f59e0b; }
body.gk-public .gkp-hero p { color:var(--public-muted); font-size:16px; line-height:1.8; max-width:530px; }
body.gk-public .gkp-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:27px; }
body.gk-public .gkp-fine { margin-top:15px!important; font-size:12px!important; color:var(--public-muted); }
body.gk-public .gkp-hero-photo { position:relative; border:1px solid var(--public-line); border-radius:16px; overflow:hidden; background:var(--public-panel); }
body.gk-public .gkp-hero-photo img { width:100%; height:auto; aspect-ratio:1.14; object-fit:cover; }
body.gk-public .gkp-hero-photo figcaption { padding:17px 20px; font-size:13px; font-weight:600; }
body.gk-public .gkp-section { padding-top:48px; padding-bottom:48px; }
body.gk-public .gkp-section-heading { max-width:690px; margin-bottom:27px; }
body.gk-public .gkp-section-heading h2 { font-size:30px; line-height:1.25; font-weight:650; letter-spacing:-.7px; margin-bottom:12px; }
body.gk-public .gkp-section-heading p { color:var(--public-muted); font-size:14px; line-height:1.75; }
body.gk-public .gkp-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
body.gk-public .gkp-step { padding:26px; background:var(--public-panel); border:1px solid var(--public-line); border-radius:12px; }
body.gk-public .gkp-step > span { display:grid; place-items:center; width:32px; height:32px; background:#302719; color:#fbbf24; border-radius:8px; font-size:12px; font-weight:750; margin-bottom:18px; }
body.gk-public .gkp-step h3 { font-size:17px; line-height:1.35; margin-bottom:10px; font-weight:650; }
body.gk-public .gkp-step p { color:var(--public-muted); font-size:13px; line-height:1.75; }
body.gk-public .gkp-businesses { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
body.gk-public .gkp-business { border:1px solid var(--public-line); border-radius:12px; overflow:hidden; background:var(--public-panel); }
body.gk-public .gkp-business img { width:100%; height:auto; aspect-ratio:1.8; object-fit:cover; }
body.gk-public .gkp-business > div { padding:17px 19px; }
body.gk-public .gkp-business h3 { font-size:14px; margin-bottom:4px; }
body.gk-public .gkp-business p { font-size:12px; color:var(--public-muted); }
body.gk-public .gkp-band { display:grid; grid-template-columns:1fr 1fr; gap:40px; background:var(--public-panel); border:1px solid var(--public-line); border-radius:15px; padding:35px; }
body.gk-public .gkp-band h2 { font-size:29px; line-height:1.25; letter-spacing:-.6px; margin:12px 0 14px; }
body.gk-public .gkp-band p { color:var(--public-muted); font-size:14px; }
body.gk-public .gkp-checks { list-style:none; padding:0; display:grid; gap:14px; }
body.gk-public .gkp-checks li { padding-left:25px; position:relative; color:var(--public-muted); font-size:13px; }
body.gk-public .gkp-checks li::before { content:'✓'; color:#fbbf24; font-weight:750; position:absolute; left:0; }
body.gk-public .gkp-checks strong { color:var(--public-text); }
body.gk-public .gkp-pricing-head { max-width:800px; margin:0 auto; padding-top:65px; padding-bottom:45px; text-align:center; }
body.gk-public .gkp-pricing-head h1 { font-size:clamp(34px,4.4vw,49px); line-height:1.18; font-weight:650; letter-spacing:-1.4px; margin:16px 0; }
body.gk-public .gkp-pricing-head p { color:var(--public-muted); max-width:650px; margin:0 auto; font-size:15px; }
body.gk-public .gkp-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
body.gk-public .gkp-plan { display:flex; flex-direction:column; padding:29px; background:var(--public-panel); border:1px solid var(--public-line); border-radius:14px; min-width:0; }
body.gk-public .gkp-plan.max { border-color:#f59e0b; }
body.gk-public .gkp-plan .gkp-eyebrow { display:block; margin-bottom:16px; }
body.gk-public .gkp-plan h2 { font-size:23px; line-height:1.3; font-weight:650; }
body.gk-public .gkp-plan .gkp-price { font-size:43px; line-height:1.2; font-weight:650; letter-spacing:-1px; margin:17px 0 10px; }
body.gk-public .gkp-plan .gkp-price span { color:var(--public-muted); font-size:13px; font-weight:400; letter-spacing:0; }
body.gk-public .gkp-plan .gkp-plan-summary { font-size:13px; color:var(--public-muted); line-height:1.65; min-height:64px; }
body.gk-public .gkp-plan .gkp-checks { padding:22px 0; margin:21px 0; border-top:1px solid var(--public-line); gap:13px; flex:1; }
body.gk-public .gkp-plan .gkp-button { width:100%; margin-top:auto; }
body.gk-public .gkp-plan small { font-size:11px; color:var(--public-muted); line-height:1.5; margin-top:13px; }
body.gk-public .gkp-plan-note { margin:23px 0 0; padding:18px 20px; border:1px solid var(--public-line); border-radius:10px; color:var(--public-muted); font-size:13px; line-height:1.7; }
body.gk-public .gkp-plan-note strong { color:var(--public-text); }
body.gk-public #gk-pricing-status { min-height:26px; margin:20px 0 0; font-size:14px; text-align:center; }
body.gk-public #gk-pricing-status.gk-ws-error { background:#391d25; color:#fecaca; padding:14px; border:1px solid #b34f61; border-radius:8px; }
body.gk-public .gkp-faq { max-width:850px; }
body.gk-public .gkp-faq details { border-bottom:1px solid var(--public-line); padding:0; }
body.gk-public .gkp-faq summary { padding:20px 0; min-height:56px; color:var(--public-text); font-size:14px; font-weight:650; cursor:pointer; }
body.gk-public .gkp-faq details p { padding:0 0 21px; color:var(--public-muted); font-size:13px; line-height:1.8; }
body.gk-public .gkp-footer { margin-top:45px; padding:32px 0; border-top:1px solid var(--public-line); }
body.gk-public .gkp-footer .gkp-wrap { display:flex; justify-content:space-between; align-items:center; gap:22px; flex-wrap:wrap; }
body.gk-public .gkp-footer-links { display:flex; gap:20px; flex-wrap:wrap; font-size:12px; color:var(--public-muted); }
body.gk-public .gkp-footer-links a { display:inline-flex; align-items:center; min-height:44px; }
body.gk-public .gkp-footer small { color:var(--public-muted); font-size:11px; width:100%; }
body.gk-public .gkp-footer small a { color:#fbbf24; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:950px){
  body.gk-public .gkp-hero { gap:35px; }
  body.gk-public .gkp-nav-links { gap:17px; }
  body.gk-public .gkp-plan { padding:23px; }
  body.gk-public .gkp-plan-summary { min-height:86px; }
  body.gk-public .gkp-step { padding:22px; }
}
@media(max-width:720px){
  body.gk-public .gkp-wrap { padding-left:22px; padding-right:22px; }
  body.gk-public .gkp-nav { gap:12px; padding-top:15px; padding-bottom:15px; }
  body.gk-public .gkp-brand img { width:137px; }
  body.gk-public .gkp-nav-links { gap:9px; width:100%; justify-content:space-between; font-size:12px; }
  body.gk-public .gkp-nav-links .gkp-button { padding:9px 12px; font-size:12px; }
  body.gk-public .gkp-hero { grid-template-columns:1fr; padding-top:40px; padding-bottom:28px; gap:30px; }
  body.gk-public .gkp-hero h1 { font-size:39px; max-width:540px; }
  body.gk-public .gkp-hero p { font-size:14px; }
  body.gk-public .gkp-hero-photo img { aspect-ratio:1.7; }
  body.gk-public .gkp-section { padding-top:34px; padding-bottom:34px; }
  body.gk-public .gkp-section-heading h2 { font-size:26px; }
  body.gk-public .gkp-steps,body.gk-public .gkp-plans { grid-template-columns:1fr; gap:15px; }
  body.gk-public .gkp-step { padding:24px; }
  body.gk-public .gkp-businesses { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  body.gk-public .gkp-business img { aspect-ratio:1.3; }
  body.gk-public .gkp-business > div { padding:13px; }
  body.gk-public .gkp-business h3 { font-size:12px; }
  body.gk-public .gkp-business p { font-size:11px; }
  body.gk-public .gkp-band { grid-template-columns:1fr; padding:26px; gap:25px; }
  body.gk-public .gkp-band h2 { font-size:26px; }
  body.gk-public .gkp-pricing-head { padding-top:41px; padding-bottom:29px; text-align:left; }
  body.gk-public .gkp-pricing-head h1 { font-size:36px; }
  body.gk-public .gkp-plan { padding:26px; }
  body.gk-public .gkp-plan .gkp-plan-summary { min-height:0; }
  body.gk-public .gkp-plan .gkp-checks { margin:19px 0 5px; }
  body.gk-public .gkp-footer .gkp-wrap { align-items:flex-start; }
}
@media(max-width:380px){
  body.gk-public .gkp-wrap { padding-left:16px; padding-right:16px; }
  body.gk-public .gkp-nav-links { justify-content:flex-start; gap:8px 15px; }
  body.gk-public .gkp-nav-links .gkp-button { width:100%; }
  body.gk-public .gkp-hero h1 { font-size:34px; }
  body.gk-public .gkp-actions .gkp-button { width:100%; }
  body.gk-public .gkp-businesses { grid-template-columns:1fr; }
  body.gk-public .gkp-business img { aspect-ratio:1.8; }
  body.gk-public .gkp-plan { padding:22px; }
}
@media(prefers-reduced-motion:reduce){body.gk-public *,body.gk-public *::before,body.gk-public *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important;}}
