:root{--gps-bg:#f6f8fb;--gps-surface:#fff;--gps-border:#e7ecf2;--gps-text:#17243b;--gps-muted:#73819a;--gps-brand:#2769c8;--gps-brand-hover:#1f56a8;--gps-light:#f0f5ff;--gps-radius:12px;--gps-shadow:0 2px 10px rgba(20,40,65,.028)}
*{box-sizing:border-box}html,body{min-height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--gps-text);background:var(--gps-bg);font-size:14px}button,input,select,textarea{font:inherit}[x-cloak]{display:none!important}a{text-decoration:none;color:var(--gps-brand)}a:hover{text-decoration:underline}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.15em;color:#6b88ad;margin-bottom:8px}.gps-primary{background:var(--gps-brand);border:1px solid var(--gps-brand);color:white;border-radius:8px;padding:10px 17px;font-size:13px;font-weight:700;min-height:42px}.gps-primary:hover,.gps-primary:focus{background:var(--gps-brand-hover);border-color:var(--gps-brand-hover);color:#fff}.btn:focus-visible,.form-control:focus-visible,.form-select:focus-visible,a:focus-visible{outline:3px solid #91bbf2;outline-offset:2px;box-shadow:none}.form-control,.form-select{font-size:13px;color:var(--gps-text);border-color:#dce4ef;border-radius:8px;min-height:43px}.form-control:focus,.form-select:focus{border-color:#90b5eb;box-shadow:0 0 0 3px rgba(54,112,203,.1)}
.gps-shell{display:flex;min-height:100vh;min-width:0}.gps-sidebar{width:238px;flex:0 0 238px;background:#fff;border-right:1px solid var(--gps-border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:15}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:25px 19px 30px}.brand-symbol{width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:var(--gps-brand);display:flex;align-items:center;justify-content:center;color:white;font-size:25px}.brand-title{font-size:15px;font-weight:800;letter-spacing:-.035em;display:block}.sidebar-brand small{font-size:10px;color:var(--gps-muted);display:block;letter-spacing:.02em}.nav-section-label{padding:18px 24px 9px;font-size:10px;letter-spacing:.12em;color:#9aa6b9;font-weight:800}.sidebar-links{padding:0 11px}.sidebar-link{display:flex;align-items:center;gap:12px;min-height:44px;border-radius:9px;color:#586781;font-size:13px;font-weight:600;padding:11px 13px;margin:3px 0}.sidebar-link:hover{background:#f5f8fd;color:#225da8;text-decoration:none}.sidebar-link.active{background:#edf4ff;color:#2769c8;font-weight:800}.nav-icon{font-size:19px;line-height:1;width:23px;text-align:center;font-family:Arial,sans-serif}.sidebar-footer{margin:auto 18px 20px;border-radius:10px;background:#f4f7fb;padding:14px;display:flex;flex-direction:column;gap:6px}.sidebar-footer-title{font-weight:700;font-size:11px}.sidebar-footer small{color:var(--gps-muted);font-size:11px;line-height:1.5}.mobile-nav-close,.mobile-menu-button,.mobile-backdrop{display:none}
.gps-content-wrap{min-width:0;flex:1}.gps-topbar{height:72px;background:var(--gps-surface);border-bottom:1px solid var(--gps-border);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 31px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:15px;min-width:0}.breadcrumb-label{display:flex;align-items:center;gap:10px;font-size:12px;white-space:nowrap}.breadcrumb-muted{color:#8794a8}.breadcrumb-divider{color:#c5ccd8}.topbar-company{font-size:12px;font-weight:700;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e6edfc;color:#3b61a5;font-weight:800;flex:none}.topbar-signout{border-color:#d9e2ef;border-radius:8px;font-size:12px}
.gps-main{padding:31px 32px 48px;max-width:1920px;margin:auto}.page-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 27px}.page-title{font-weight:800;font-size:26px;letter-spacing:-.045em;margin:0 0 7px}.page-subtitle{font-size:13px;color:var(--gps-muted);margin:0;line-height:1.6}.page-actions{flex:none}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px}.metric-card,.workspace-card{background:var(--gps-surface);border:1px solid var(--gps-border);border-radius:var(--gps-radius);box-shadow:var(--gps-shadow);min-width:0}.metric-card{padding:19px 21px}.metric-label{color:#65738b;font-size:12px;font-weight:600}.metric-value{font-size:30px;font-weight:800;letter-spacing:-.06em;margin-top:7px;line-height:1.2}.metric-value small{font-size:15px;font-weight:600;letter-spacing:normal}.metric-caption{color:#91a0b3;font-size:11px;margin-top:8px;display:flex;align-items:center}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;flex:none}.status-dot.reporting{background:#33a67c}.status-dot.delayed{background:#f2ae42}.status-dot.offline{background:#8798b0}
.workspace-split{display:grid;grid-template-columns:minmax(270px,330px) minmax(0,1fr);gap:20px;align-items:stretch}.workspace-card{overflow:hidden}.list-card{display:flex;flex-direction:column}.card-header-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:19px 20px;border-bottom:1px solid #edf1f6}.card-header-row h2,.subscription-note h2,.team-create h2{font-size:15px;font-weight:800;letter-spacing:-.015em;margin:0 0 5px}.card-header-row small{font-size:11px;color:var(--gps-muted);display:block}.small-link{font-size:11px;font-weight:700;white-space:nowrap}.small-pill{font-size:10px;color:#687b97;border-radius:20px;background:#f3f6fc;padding:5px 10px}.list-search{padding:14px 16px 10px}.list-search input{background:#f8fafd}.entity-list-item{appearance:none;background:#fff;border:0;border-bottom:1px solid #f1f3f7;display:flex;text-align:left;align-items:center;gap:12px;width:100%;min-height:75px;padding:12px 17px;color:var(--gps-text)}.entity-list-item:hover,.entity-list-item:focus-visible{background:#f7faff}.entity-avatar{background:#e8effa;border-radius:11px;display:grid;place-items:center;width:39px;height:39px;flex:none;color:#4775b6;font-weight:700;font-size:12px;text-transform:uppercase}.entity-list-body{min-width:0;flex:1}.entity-list-body strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-list-body small{font-size:10px;color:var(--gps-muted);margin-top:5px;display:block}.entity-state{font-size:10px;color:#4f846f;background:#edf9f4;border-radius:6px;padding:5px 7px;white-space:nowrap}.empty-hint{color:var(--gps-muted);font-size:12px;line-height:1.6;padding:20px;text-align:center}.load-more{font-size:12px;border-top:1px solid #edf1f6;border-radius:0;min-height:43px}.map-card{position:relative;display:flex;flex-direction:column;min-height:515px}.gps-map{height:440px;width:100%;background:#eaf1f7;flex:1;min-height:300px}.map-fallback{position:absolute;inset:77px 10px 44px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;text-align:center;padding:24px;background:linear-gradient(145deg,#edf3f7,#e6edf5);color:#57718c}.map-fallback strong{font-size:13px}.map-fallback span{max-width:310px;font-size:12px;line-height:1.6}.map-footnote{padding:12px 18px;color:#8594a6;font-size:11px;border-top:1px solid var(--gps-border)}.full-map-split .map-card{min-height:calc(100vh - 230px)}.full-map-split .gps-map{min-height:520px}.overview-split .map-card{min-height:480px}.workspace-error,.workspace-pending{padding:14px 17px;border-radius:10px;margin-bottom:20px;display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.6;flex-wrap:wrap}.workspace-error{background:#fff4f4;border:1px solid #f1caca;color:#a43d3d}.workspace-pending{background:#fffaf0;border:1px solid #f3e1b1;color:#735b24}
.table-card{min-height:240px}.table-toolbar{padding:16px 20px}.table-toolbar input{max-width:360px}.gps-table{margin:0;min-width:760px}.gps-table th{background:#f7f9fc;color:#748096;letter-spacing:.02em;font-size:11px;text-transform:uppercase;white-space:nowrap;padding:14px 19px;border-color:#eef1f7}.gps-table td{font-size:12px;vertical-align:middle;padding:14px 19px;border-color:#f1f3f7;white-space:nowrap}.gps-table code{font-size:11px;color:#3c638e;background:#f4f7fb;border-radius:5px;padding:4px 6px}.table-person{display:flex;align-items:center;gap:9px}.table-person .entity-avatar{width:32px;height:32px;border-radius:9px}.table-status{background:#f0f7f3;color:#3e805f;border-radius:5px;padding:5px 8px;text-transform:capitalize;font-size:11px}.table-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;font-size:11px;color:var(--gps-muted);gap:8px}
.history-filters{display:flex;align-items:end;gap:16px;padding:18px 22px;flex-wrap:wrap}.history-filters>div{min-width:180px;flex:1}.history-filters label,.team-create label,.gps-panel label{display:block;font-weight:700;font-size:12px;margin:15px 0 8px}.history-filters label{margin:0 0 8px}.history-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);border-top:1px solid var(--gps-border)}.history-map-wrap{min-height:460px;position:relative}.history-map-wrap .gps-map{height:100%}.history-map-wrap .map-fallback{inset:0}.history-timeline{padding:18px;max-height:520px;overflow:auto}.history-caption{font-weight:700;font-size:12px;margin:0 0 18px}.timeline-item{display:flex;gap:12px;border-left:1px solid #d7e0ed;margin-left:5px;padding:0 0 19px 16px;position:relative}.timeline-dot{width:10px;height:10px;position:absolute;left:-5px;top:3px;border:2px solid #fff;background:var(--gps-brand);border-radius:50%}.timeline-item strong{display:block;font-size:12px}.timeline-item small{display:block;font-size:11px;color:var(--gps-muted);margin-top:5px}
.subscription-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:20px}.subscription-main,.subscription-note,.team-create{padding:26px}.subscription-main h2{font-size:27px;font-weight:800;letter-spacing:-.045em;margin:0}.status-detail{font-size:12px;color:#697f9d;margin-top:9px}.subscription-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--gps-border);border-radius:10px;margin:24px 0;overflow:hidden}.subscription-stats>div{display:flex;flex-direction:column;gap:10px;padding:21px;border-right:1px solid var(--gps-border)}.subscription-stats>div:last-child{border-right:0}.subscription-stats strong{font-size:22px;letter-spacing:-.04em}.subscription-stats span,.plan-footnote,.subscription-note p{color:var(--gps-muted);font-size:12px;line-height:1.7}.subscription-note p{margin-top:14px}.team-create label{margin:14px 0 7px}
.panel-backdrop{position:fixed;inset:0;background:rgba(13,27,49,.43);z-index:29}.gps-panel{position:fixed;top:0;right:0;bottom:0;z-index:30;width:min(100%,430px);background:#fff;overflow-y:auto;box-shadow:-5px 0 24px rgba(16,40,80,.15);padding:26px}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:17px}.panel-heading h2{font-size:20px;font-weight:800;margin:0}.panel-close{width:44px;height:44px;border:1px solid var(--gps-border);border-radius:10px;background:white;font-size:24px;color:#6a788c}.text-muted-note{font-size:12px;color:#7f8da3;line-height:1.7}.gps-panel .form-control,.gps-panel .form-select{min-height:44px}.profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;border:1px solid var(--gps-border);border-radius:10px;padding:18px;margin:20px 0}.profile-facts div{display:flex;flex-direction:column;gap:7px;min-width:0}.profile-facts small{color:var(--gps-muted)}.profile-facts strong{overflow-wrap:anywhere;font-size:12px}.profile-divider{border-top:1px solid var(--gps-border);margin:24px 0}.credential-box{border:1px solid var(--gps-border);padding:18px;border-radius:11px;margin:16px 0;background:#f7f9fd}.credential-box small{font-size:10px;letter-spacing:.12em;color:var(--gps-muted);display:block;margin-bottom:8px}.credential-box strong{font-size:19px;letter-spacing:.05em}.credential-box .secret-code{font-size:26px;letter-spacing:.22em}
.gps-auth-body{background:#fff}.auth-shell{display:grid;grid-template-columns:45% 55%;min-height:100vh}.auth-art{background:#183c70;color:#fff;position:relative;overflow:hidden;padding:39px 55px;display:flex;flex-direction:column}.auth-art::after{content:"";position:absolute;width:700px;height:700px;right:-370px;bottom:-220px;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.022),0 0 0 160px rgba(255,255,255,.022),0 0 0 240px rgba(255,255,255,.022)}.auth-brand{display:flex;align-items:center;gap:13px;font-size:18px;font-weight:800}.auth-art-content{margin:auto 0;z-index:1;max-width:500px}.auth-art-content .eyebrow{color:#aacaf7}.auth-art-content h1{font-size:clamp(35px,4vw,57px);font-weight:800;letter-spacing:-.05em;line-height:1.1;margin:17px 0 22px}.auth-art-content p{color:#c2d7f3;font-size:15px;line-height:1.85;max-width:390px}.auth-art-note{margin-top:40px;color:#cbdcf1;font-size:11px}.mini-dot{display:inline-block;width:8px;height:8px;background:#7ed6b5;border-radius:50%;margin-right:8px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:50px 30px}.auth-card{width:min(100%,420px)}.auth-card h2{font-size:28px;font-weight:800;letter-spacing:-.04em;line-height:1.2;margin:0 0 9px}.auth-card .text-muted-note{margin-bottom:23px}.field-label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.gps-input{min-height:46px}.auth-separator{border-top:1px solid #e6ebf2;margin:26px 0 18px}.auth-other{font-size:12px;text-align:center;color:#748399}.auth-other a{font-weight:700}.auth-mobile-brand{display:none}.form-error{border:1px solid #e9b6b6;background:#fff5f5;color:#a72e2e;padding:11px 14px;border-radius:8px;margin-bottom:18px;font-size:12px}
@media(max-width:1190px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-split{grid-template-columns:minmax(250px,310px) minmax(0,1fr)}.gps-main{padding:25px}.subscription-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:991.98px){.gps-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .2s ease;box-shadow:8px 0 26px rgba(21,36,62,.12)}.gps-sidebar.sidebar-open{transform:translateX(0)}.mobile-backdrop{display:block;position:fixed;inset:0;background:rgba(15,27,46,.38);z-index:14}.mobile-menu-button{display:grid;place-items:center;border:1px solid #e5ebf4;background:white;width:44px;height:44px;border-radius:9px;color:#52637e;font-size:19px}.mobile-nav-close{display:block;margin-left:auto;width:44px;height:44px;background:white;border:1px solid #edf1f7;border-radius:9px}.gps-topbar{padding:0 24px}.auth-shell{grid-template-columns:40% 60%}.auth-art{padding:34px}.auth-art-content h1{font-size:36px}}
@media(max-width:767.98px){.full-map-split .map-card{order:0}.full-map-split .list-card{order:1}.gps-topbar{height:64px;padding:0 16px}.gps-main{padding:20px 15px 35px}.page-header{align-items:start;flex-direction:column;gap:17px}.page-title{font-size:23px}.metric-grid{gap:12px}.metric-card{padding:16px}.metric-value{font-size:26px}.workspace-split{display:flex;flex-direction:column}.list-card{max-height:370px;overflow:auto}.full-map-split .map-card{min-height:470px}.full-map-split .gps-map{min-height:390px}.overview-split .map-card{min-height:440px}.gps-map{min-height:330px}.history-layout{grid-template-columns:1fr}.history-map-wrap{min-height:330px}.history-timeline{max-height:350px}.history-filters{gap:12px}.history-filters>div{flex:1 1 100%}.history-filters .btn{width:100%}.topbar-company{max-width:120px}.topbar-signout{display:none}.subscription-stats{grid-template-columns:1fr}.subscription-stats>div{border-right:0;border-bottom:1px solid var(--gps-border)}.subscription-stats>div:last-child{border-bottom:0}.auth-shell{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{padding:34px 24px;min-height:100vh}.auth-mobile-brand{display:block;font-size:17px;font-weight:800;margin-bottom:50px;color:var(--gps-brand)}}
@media(max-width:430px){.breadcrumb-label{font-size:11px}.breadcrumb-muted,.breadcrumb-divider{display:none}.page-title{font-size:22px}.metric-label{font-size:11px}.metric-caption{font-size:10px}.card-header-row{padding:16px}.gps-panel{padding:19px}.subscription-main,.subscription-note,.team-create{padding:19px}.profile-facts{gap:12px}.entity-list-item{min-height:69px}.topbar-company{display:none}.page-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.account-reference{display:flex;flex-direction:column;gap:9px;padding:15px 0 20px;border-top:1px solid var(--gps-border)}.account-reference span{font-size:12px;font-weight:700}.account-reference code{font-size:11px;color:#466b9e;overflow-wrap:anywhere}.account-reference small{color:var(--gps-muted);font-size:11px}

.profile-location{padding:13px 15px;background:#f6f9fd;border:1px solid var(--gps-border);border-radius:9px;display:flex;flex-direction:column;gap:8px}.profile-location strong{font-size:11px}.profile-location span,.profile-location a{font-size:12px;overflow-wrap:anywhere}

/* Subscription checkout — uses the existing Findoly cards and tokens. */
.billing-card{padding:24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.billing-card h2{font-size:18px;margin:0}.billing-card h3{font-size:15px;margin:0 0 4px}
.billing-plan-list{display:grid;gap:9px}
.billing-plan-option{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
  border:1px solid var(--gps-border);border-radius:9px;padding:13px}
.billing-plan-option>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.billing-plan-option small,.billing-receipts small{font-size:11px;color:var(--gps-muted)}
.billing-plan-amount{text-align:right;flex-shrink:0}
.billing-form{display:flex;flex-direction:column;gap:9px;border-top:1px solid var(--gps-border);padding-top:16px}
.billing-form label{font-size:12px;font-weight:700;margin-top:4px}
.billing-quote{border:1px solid var(--gps-border);border-radius:9px;padding:14px;display:grid;gap:9px;background:#f8fafd}
.billing-quote>div{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.billing-quote-total{padding-top:9px;border-top:1px solid var(--gps-border);font-size:14px!important}
.billing-quote small,.billing-message{font-size:12px;color:var(--gps-muted)}
.billing-receipts{border-top:1px solid var(--gps-border);padding-top:12px}
@media(max-width:430px){.billing-card{padding:19px}.billing-plan-option{flex-direction:column}.billing-plan-amount{text-align:left}}


/* Findoly Admin design parity — scoped GPS workspace system.
   Visual reference: admin-findoly-com, Facebook Light preset.
   Existing tracker, payment, and map selectors remain supported. */
:root {
  --gps-bg: #f0f2f5;
  --gps-surface: #ffffff;
  --gps-border: #d8dde5;
  --gps-text: #1c1e21;
  --gps-muted: #65676b;
  --gps-brand: #1877f2;
  --gps-brand-hover: #1665d8;
  --gps-light: #e7f3ff;
  --gps-radius: 9px;
  --gps-shadow: 0 3px 13px rgba(15, 23, 42, .035);
}
.gps-dashboard-body, .gps-auth-body { font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--gps-text); }
.gps-dashboard-body { background: var(--gps-bg); }
.gps-shell { min-width: 0; min-height: 100vh; display: flex; flex-direction: column; }
.gps-workspace-layout { flex: 1; min-height: 0; display: flex; min-width: 0; align-items: stretch; }
.gps-content-wrap { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.gps-topbar {
  height: 64px; min-height: 64px; padding: 0 22px; display: flex; align-items: center;
  justify-content: space-between; gap: 16px; background: var(--gps-surface); border-bottom: 1px solid var(--gps-border);
  position: sticky; top: 0; z-index: 45; box-shadow: 0 1px 0 rgba(15,23,42,.025);
}
.gps-topbar .topbar-left, .gps-topbar .topbar-right { display: flex; align-items: center; gap: 14px; min-width: 0; }
.gps-brand-link { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; color: var(--gps-text); text-decoration: none; }
.gps-brand-link:hover { color: var(--gps-text); text-decoration: none; }
.gps-brand-mark {
  width: 36px; height: 36px; border-radius: 9px; flex: 0 0 36px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--gps-brand); color: #fff; font-size: 22px; font-weight: 750;
}
.gps-brand-mark svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
.gps-brand-wordmark { font-size: 16px; font-weight: 800; letter-spacing: -.03em; line-height: 1.2; }
.gps-brand-wordmark strong { color: var(--gps-brand); font-weight: 800; }
.gps-brand-wordmark small { display: block; font-size: 10px; color: var(--gps-muted); font-weight: 550; letter-spacing: .012em; margin-top: 2px; }
.gps-topbar-divider { height: 24px; width: 1px; background: var(--gps-border); margin-left: 5px; }
.gps-topbar-page { font-size: 12px; font-weight: 700; color: var(--gps-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gps-topbar-pricing {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; min-height: 39px;
  background: var(--gps-light); color: var(--gps-brand); border: 1px solid transparent;
  border-radius: 7px; font-size: 12px; font-weight: 760; text-decoration: none;
}
.gps-topbar-pricing:hover { border-color: var(--gps-brand); color: var(--gps-brand); text-decoration: none; }
.gps-topbar-pricing svg, .gps-topbar-icon svg, .gps-account-chevron, .mobile-menu-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.gps-topbar-icon {
  width: 39px; height: 39px; border: 1px solid transparent; background: transparent; color: var(--gps-muted);
  border-radius: 8px; display: inline-flex; align-items: center; justify-content: center;
}
.gps-topbar-icon:hover { background: var(--gps-light); color: var(--gps-brand); }
.gps-account-wrap { position: relative; }
.gps-account-trigger {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  border: 1px solid transparent; border-radius: 8px; background: transparent;
  padding: 4px 6px; color: var(--gps-text); text-align: left; min-height: 42px;
}
.gps-account-trigger:hover, .gps-account-trigger[aria-expanded="true"] { background: var(--gps-bg); border-color: var(--gps-border); }
.gps-account-trigger .user-avatar { width: 34px; height: 34px; background: var(--gps-light); color: var(--gps-brand); font-size: 13px; }
.gps-account-copy { display: flex; flex-direction: column; min-width: 0; max-width: 190px; line-height: 1.22; }
.gps-account-copy strong, .gps-account-copy small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.gps-account-copy strong { font-size: 12px; }
.gps-account-copy small { margin-top: 4px; font-size: 10px; color: var(--gps-muted); font-weight: 500; }
.gps-account-chevron { width: 16px; height: 16px; color: var(--gps-muted); }
.gps-account-menu {
  position: absolute; right: 0; top: calc(100% + 8px); min-width: 225px; max-width: min(90vw, 300px);
  background: var(--gps-surface); border: 1px solid var(--gps-border); border-radius: 10px;
  padding: 6px; box-shadow: 0 12px 30px rgba(15,23,42,.12); z-index: 50;
}
.gps-account-menu-head { padding: 12px; display: flex; flex-direction: column; border-bottom: 1px solid var(--gps-border); }
.gps-account-menu-head strong { font-size: 12px; }
.gps-account-menu-head small { margin-top: 4px; color: var(--gps-muted); font-size: 11px; overflow-wrap: anywhere; }
.gps-account-menu > a, .gps-account-menu > button {
  display: block; width: 100%; border: 0; border-radius: 7px; background: transparent;
  color: var(--gps-text); font-size: 12px; font-weight: 650; text-align: left; padding: 11px 12px; text-decoration: none;
}
.gps-account-menu > a:hover, .gps-account-menu > button:hover { background: var(--gps-light); color: var(--gps-brand); }
.gps-account-menu > button:last-child { color: #b42318; }
/* Sidebar matches Findoly Admin: compact group labels, flat active nav, collapsible rail. */
.gps-sidebar {
  flex: 0 0 276px; width: 276px; height: calc(100dvh - 64px);
  top: 64px; background: var(--gps-surface); border-right: 1px solid var(--gps-border);
  overflow-x: hidden; overflow-y: auto; position: sticky; z-index: 19; box-shadow: none;
}
.sidebar-brand { padding: 13px 17px 8px; gap: 9px; min-height: 64px; }
.sidebar-mobile-title { display: none; }
.sidebar-collapse-button {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid var(--gps-border); border-radius: 7px; min-height: 35px; padding: 6px 11px;
  color: var(--gps-muted); background: var(--gps-surface); font-size: 11px; font-weight: 650;
}
.sidebar-collapse-button:hover { color: var(--gps-brand); background: var(--gps-light); }
.sidebar-collapse-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; }
.nav-section-label { padding: 19px 22px 7px; color: var(--gps-muted); font-size: 10px; font-weight: 800; letter-spacing: .07em; }
.sidebar-links { padding: 0 11px; }
.sidebar-link {
  display: flex; align-items: center; gap: 11px; min-height: 43px; margin: 3px 0;
  border-radius: 7px; padding: 10px 13px; color: var(--gps-text); font-size: 12px;
  font-weight: 650; white-space: nowrap;
}
.sidebar-link:hover { background: var(--gps-bg); color: var(--gps-brand); text-decoration: none; }
.sidebar-link.active { background: var(--gps-light); color: var(--gps-brand); font-weight: 780; }
.sidebar-link .nav-icon { display: flex; align-items: center; justify-content: center; width: 21px; height: 21px; flex: 0 0 21px; color: currentColor; font-size: inherit; }
.nav-icon svg { width: 19px; height: 19px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-footer { background: var(--gps-bg); border: 1px solid var(--gps-border); margin: auto 13px 16px; border-radius: 8px; padding: 14px; }
.sidebar-footer-title { font-size: 11px; }
.sidebar-footer small { font-size: 11px; line-height: 1.6; }
.sidebar-footer-link { font-size: 11px; font-weight: 750; color: var(--gps-brand); }
.gps-workspace-layout.sidebar-collapsed .gps-sidebar { flex-basis: 76px; width: 76px; }
.gps-workspace-layout.sidebar-collapsed .sidebar-collapse-button { width: 42px; padding: 8px; }
.gps-workspace-layout.sidebar-collapsed .sidebar-collapse-button svg { transform: rotate(180deg); }
.gps-workspace-layout.sidebar-collapsed .sidebar-collapse-button span,
.gps-workspace-layout.sidebar-collapsed .nav-section-label,
.gps-workspace-layout.sidebar-collapsed .sidebar-label,
.gps-workspace-layout.sidebar-collapsed .sidebar-footer { display: none; }
.gps-workspace-layout.sidebar-collapsed .sidebar-brand { justify-content: center; padding: 13px 0; }
.gps-workspace-layout.sidebar-collapsed .sidebar-links { padding: 0 9px; }
.gps-workspace-layout.sidebar-collapsed .sidebar-link { justify-content: center; padding: 10px; }
.gps-main { width: 100%; max-width: 1920px; padding: 25px 28px 46px; }
.gps-main > .page-header { margin: 0 0 20px; padding: 0 0 18px; border-bottom: 1px solid var(--gps-border); align-items: flex-start; }
.gps-main .eyebrow { color: var(--gps-brand); font-size: 10px; letter-spacing: .075em; margin-bottom: 5px; }
.gps-main .page-title { font-size: 22px; font-weight: 770; letter-spacing: -.025em; }
.gps-main .page-subtitle { color: var(--gps-muted); font-size: 12px; }
.gps-primary { background: var(--gps-brand); border-color: var(--gps-brand); font-size: 12px; font-weight: 740; border-radius: 7px; }
.gps-primary:hover, .gps-primary:focus { background: var(--gps-brand-hover); border-color: var(--gps-brand-hover); }
.form-control, .form-select { color: var(--gps-text); background: var(--gps-surface); border-color: var(--gps-border); font-size: 12px; border-radius: 7px; }
.form-control:focus, .form-select:focus { border-color: var(--gps-brand); box-shadow: 0 0 0 3px var(--gps-light); }
.workspace-card, .metric-card { background: var(--gps-surface); border: 1px solid var(--gps-border); border-radius: var(--gps-radius); box-shadow: var(--gps-shadow); }
.card-header-row { border-color: var(--gps-border); }
.card-header-row h2 { color: var(--gps-text); font-size: 14px; }
.card-header-row small, .empty-hint, .table-footer { color: var(--gps-muted); }
.gps-table thead th { background: var(--gps-bg); color: var(--gps-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.gps-table tbody tr:hover { background: var(--gps-light); }
.table-status { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 10px; font-size: 11px; font-weight: 760; background: var(--gps-bg); color: var(--gps-muted); }
.table-status.is-active { background: #e8f6ee; color: #19744d; }
.table-status.is-paused { background: #fff5e7; color: #8a5306; }
/* Active operations overview — cards and shortcuts mirror CRM rhythm. */
.metric-grid { gap: 15px; margin-bottom: 15px; }
.metric-card { padding: 18px 20px; min-height: 145px; position: relative; overflow: hidden; }
.metric-card::after { content: ""; position: absolute; height: 80px; width: 80px; border-radius: 50%; top: -34px; right: -29px; background: currentColor; opacity: .045; }
.metric-top { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.metric-label { font-size: 12px; color: var(--gps-muted); font-weight: 650; }
.metric-icon { width: 40px; height: 40px; border-radius: 9px; display: flex; align-items: center; justify-content: center; font-size: 22px; background: currentColor; isolation: isolate; }
.metric-value { color: var(--gps-text); font-size: 28px; font-weight: 770; margin-top: 6px; letter-spacing: -.035em; }
.metric-value small { font-size: 14px; }
.metric-caption { font-size: 11px; color: var(--gps-muted); margin-top: 17px; }
.crm-metric-blue { color: #1877f2; }.crm-metric-green { color: #13926b; }.crm-metric-amber { color: #c77d0c; }.crm-metric-purple { color: #765bc6; }
.crm-metric-blue .metric-icon { background: #e7f3ff; }.crm-metric-green .metric-icon { background: #e6f6f0; }
.crm-metric-amber .metric-icon { background: #fff4db; }.crm-metric-purple .metric-icon { background: #f0eafe; }
.metric-skeleton { display: block; height: 31px; width: 85px; border-radius: 6px; background: linear-gradient(110deg, #e5e9f0 10%, #f8fafc 30%, #e5e9f0 50%); background-size: 220% 100%; animation: gps-shimmer 1.5s ease-in-out infinite; margin-top: 9px; }
@keyframes gps-shimmer { from { background-position: 160% 0; } to { background-position: -80% 0; } }
.overview-action-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 17px; background: var(--gps-surface); border: 1px solid var(--gps-border); border-radius: var(--gps-radius); margin: 0 0 18px; }
.overview-plan-summary { display: flex; align-items: center; gap: 12px; min-width: 0; }
.overview-plan-icon { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 8px; background: var(--gps-light); color: var(--gps-brand); font-size: 21px; font-weight: 650; }
.overview-plan-summary > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.overview-plan-label { color: var(--gps-muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.overview-plan-summary strong { font-size: 14px; }
.overview-plan-summary small { max-width: 420px; color: var(--gps-muted); font-size: 11px; line-height: 1.4; }
.overview-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.overview-actions .btn { min-height: 38px; padding: 9px 12px; font-size: 11px; font-weight: 720; border-radius: 7px; }
.overview-actions .btn-outline-secondary { color: var(--gps-text); border-color: var(--gps-border); }
/* Pricing is the primary product workflow, with visually equal plan comparison cards. */
.pricing-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 27px; margin-bottom: 18px; background: var(--gps-surface); border: 1px solid var(--gps-border); border-radius: var(--gps-radius); }
.pricing-intro > div:first-child { flex: 1; min-width: 0; }
.pricing-intro h2 { font-size: clamp(20px, 2.1vw, 28px); font-weight: 780; letter-spacing: -.035em; margin: 0 0 10px; }
.pricing-intro p { color: var(--gps-muted); font-size: 12px; line-height: 1.7; max-width: 700px; margin: 0; }
.pricing-intro-aside { display: flex; align-items: flex-start; gap: 12px; width: min(100%, 300px); padding: 15px; border: 1px solid var(--gps-border); background: var(--gps-bg); border-radius: 8px; }
.pricing-intro-icon { background: #e6f6f0; color: #13926b; display: grid; place-items: center; border-radius: 50%; width: 25px; height: 25px; flex: none; }
.pricing-intro-aside div { display: flex; flex-direction: column; gap: 5px; }
.pricing-intro-aside strong { font-size: 12px; font-weight: 800; }
.pricing-intro-aside small { font-size: 11px; line-height: 1.6; color: var(--gps-muted); }
.pricing-plan-grid { display: grid; grid-auto-flow: column; grid-auto-columns: 31%; gap: 14px; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 2px; padding: 2px 2px 12px; margin-bottom: 14px; scrollbar-width: thin; }
.pricing-plan-grid:focus-visible { outline: 3px solid var(--gps-brand); outline-offset: 2px; }
.pricing-plan-card { scroll-snap-align: start; }
.pricing-carousel-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 13px; }
.pricing-carousel-heading h3 { font-size: 15px; font-weight: 770; margin: 0 0 4px; }
.pricing-carousel-heading p { color: var(--gps-muted); font-size: 11px; line-height: 1.5; margin: 0; }
.pricing-carousel-controls { display: flex; align-items: center; gap: 8px; flex: none; }
.pricing-carousel-position { font-size: 11px; color: var(--gps-muted); min-width: 60px; text-align: right; font-variant-numeric: tabular-nums; }
.pricing-carousel-controls button { display: grid; place-items: center; height: 44px; width: 44px; border: 1px solid var(--gps-border); border-radius: 8px; background: var(--gps-surface); color: var(--gps-text); }
.pricing-carousel-controls button:hover:not(:disabled) { border-color: var(--gps-brand); background: var(--gps-light); color: var(--gps-brand); }
.pricing-carousel-controls button:disabled { opacity: .48; cursor: not-allowed; }
.pricing-carousel-controls button:focus-visible { outline: 3px solid var(--gps-brand); outline-offset: 2px; }
.pricing-carousel-controls svg { height: 19px; width: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pricing-plan-skeletons { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 0 0 12px; }
.pricing-plan-skeletons span { display: block; min-height: 280px; border: 1px solid var(--gps-border); border-radius: var(--gps-radius); background: linear-gradient(110deg,#e5e9f0 10%,#f8fafc 30%,#e5e9f0 50%); background-size: 220% 100%; animation: gps-shimmer 1.5s ease-in-out infinite; }
.pricing-catalog-error { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 14px 16px; margin-bottom: 18px; border: 1px solid var(--gps-border); border-radius: var(--gps-radius); background: var(--gps-surface); }
.pricing-catalog-error p { margin: 0; color: var(--gps-text); font-size: 12px; }
.pricing-catalog-error button { min-height: 44px; }
.map-view-toggle { display: none; }
.pricing-plan-card { display: flex; flex-direction: column; padding: 21px; min-width: 0; min-height: 305px; background: var(--gps-surface); border: 1px solid var(--gps-border); border-radius: var(--gps-radius); box-shadow: var(--gps-shadow); }
.pricing-plan-card.is-current { border-color: var(--gps-brand); }
.pricing-plan-card.is-selected { box-shadow: 0 0 0 2px var(--gps-brand); }
.pricing-plan-head { min-height: 25px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pricing-plan-name { font-size: 15px; font-weight: 800; }
.pricing-current-tag { font-size: 10px; font-weight: 750; padding: 4px 7px; border-radius: 20px; color: var(--gps-brand); background: var(--gps-light); white-space: nowrap; }
.pricing-plan-price { display: flex; flex-direction: column; justify-content: flex-end; min-height: 78px; gap: 3px; padding-top: 17px; }
.pricing-plan-price strong { font-size: clamp(21px,2.2vw,30px); letter-spacing: -.035em; line-height: 1.16; font-weight: 780; overflow-wrap: anywhere; }
.pricing-plan-price span { font-size: 10px; color: var(--gps-muted); line-height: 1.5; }
.pricing-plan-divider { margin: 17px 0 14px; border-top: 1px solid var(--gps-border); }
.pricing-plan-fact { display: flex; justify-content: space-between; gap: 7px; align-items: baseline; margin-bottom: 11px; font-size: 11px; }
.pricing-plan-fact > span { color: var(--gps-muted); }
.pricing-plan-fact strong { font-weight: 760; text-align: right; }
.pricing-plan-spacer { flex: 1; min-height: 15px; }
.pricing-plan-select { border: 1px solid var(--gps-brand); color: var(--gps-brand); background: var(--gps-surface); border-radius: 7px; min-height: 44px; width: 100%; font-size: 11px; font-weight: 770; }
.pricing-plan-select:hover, .pricing-plan-select[aria-pressed="true"] { color: #fff; background: var(--gps-brand); }
.pricing-plan-free { min-height: 44px; display: grid; place-items: center; padding: 11px; text-align: center; color: var(--gps-muted); background: var(--gps-bg); border-radius: 7px; font-size: 11px; font-weight: 750; }
.pricing-catalog-pending { margin: -7px 0 20px; font-size: 12px; color: var(--gps-muted); }
.pricing-details-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.8fr); gap: 18px; align-items: start; }
.pricing-side-stack { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.pricing-side-stack .subscription-main, .pricing-side-stack .subscription-note { padding: 22px; }
.pricing-side-stack .subscription-main h2 { font-size: 21px; }
.pricing-side-stack .subscription-stats { grid-template-columns: 1fr; margin: 18px 0; }
.pricing-side-stack .subscription-stats > div { padding: 12px 4px; border-right: 0; border-bottom: 1px solid var(--gps-border); gap: 4px; }
.pricing-side-stack .subscription-stats > div:last-child { border: 0; }
.pricing-side-stack .subscription-stats strong { font-size: 19px; }
.pricing-side-stack .account-reference { padding-bottom: 6px; }
.pricing-details-grid .billing-card { padding: 23px; }
.pricing-checkout-head { padding-bottom: 17px; border-bottom: 1px solid var(--gps-border); }
.pricing-checkout-head h2 { font-size: 18px; letter-spacing: -.02em; }
.pricing-checkout-head p { color: var(--gps-muted); font-size: 12px; line-height: 1.6; margin: 9px 0 0; }
.pricing-details-grid .billing-form { border: 0; padding-top: 7px; gap: 10px; }
.pricing-details-grid .billing-form label { margin-top: 8px; }
.pricing-details-grid .billing-form > .gps-primary { align-self: flex-start; }
.pricing-details-grid .billing-receipts { padding-top: 18px; }
.pricing-details-grid .subscription-note h2 { margin-bottom: 11px; }
/* In-product appearance sheet: selected palettes mirror the admin theme picker. */
.gps-appearance-backdrop { position: fixed; inset: 0; z-index: 88; background: rgba(15,23,42,.38); }
.gps-appearance-panel { position: fixed; right: 0; top: 0; bottom: 0; height: 100dvh; z-index: 89; width: min(430px, 100vw); background: var(--gps-surface); box-shadow: -12px 0 35px rgba(15,23,42,.16); display: flex; flex-direction: column; }
.gps-appearance-head { display: flex; align-items: flex-start; justify-content: space-between; padding: 22px; gap: 12px; border-bottom: 1px solid var(--gps-border); }
.gps-appearance-head h2 { font-size: 18px; font-weight: 800; margin: 0 0 7px; }
.gps-appearance-head p { margin: 0; color: var(--gps-muted); font-size: 12px; line-height: 1.6; }
.gps-appearance-body { padding: 22px; overflow-y: auto; flex: 1; }
.gps-theme-list { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin-top: 17px; }
.gps-theme-choice { background: var(--gps-surface); color: var(--gps-text); border: 1px solid var(--gps-border); border-radius: 9px; padding: 13px; text-align: left; min-height: 102px; display: flex; flex-direction: column; gap: 8px; position: relative; font-size: 11px; font-weight: 700; }
.gps-theme-choice:hover, .gps-theme-choice.is-active { border-color: var(--gps-brand); background: var(--gps-light); }
.gps-theme-check { position: absolute; right: 10px; bottom: 12px; font-size: 16px; color: var(--gps-brand); }
.gps-theme-swatch { width: 100%; height: 31px; border: 1px solid rgba(15,23,42,.1); border-radius: 5px; }
.theme-facebook { background: linear-gradient(90deg,#ffffff 0 32%,#1877f2 32% 55%,#f0f2f5 55% 77%,#e7f3ff 77%); }
.theme-whiteblack { background: linear-gradient(90deg,#ffffff 0 32%,#111827 32% 55%,#f4f5f7 55% 77%,#e5e7eb 77%); }
.theme-linkedin { background: linear-gradient(90deg,#ffffff 0 32%,#0a66c2 32% 55%,#f3f2ef 55% 77%,#e8f3ff 77%); }
.theme-teal { background: linear-gradient(90deg,#ffffff 0 32%,#0f766e 32% 55%,#f7faf9 55% 77%,#ccfbf1 77%); }
.gps-appearance-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 22px; border-top: 1px solid var(--gps-border); }
.gps-appearance-foot .btn { min-height: 39px; font-size: 12px; }
.panel-backdrop { z-index: 99; }.gps-panel { z-index: 100; }
/* Auth now uses the same compact professional visual hierarchy as Findoly Admin. */
.gps-auth-body { background: #f0f2f5; }
.gps-auth-workspace { min-height: 100dvh; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 25px 16px; }
.gps-auth-brand { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 20px; }
.gps-auth-brand strong { font-size: 19px; font-weight: 800; letter-spacing: -.025em; }
.gps-auth-brand > span:last-child { color: var(--gps-muted); font-size: 11px; padding-left: 10px; border-left: 1px solid var(--gps-border); }
.gps-auth-card { width: min(100%, 440px); padding: 31px 33px; background: #fff; border: 1px solid #d8dde5; border-radius: 10px; box-shadow: 0 12px 40px rgba(15,23,42,.065); }
.gps-auth-card-head { text-align: center; padding-bottom: 20px; }
.gps-auth-card-head h1 { font-size: 23px; font-weight: 790; letter-spacing: -.035em; margin: 5px 0 9px; }
.gps-auth-card-head p { font-size: 12px; line-height: 1.65; color: #65676b; margin: 0; }
.gps-auth-card .eyebrow { font-size: 10px; color: #1877f2; font-weight: 800; letter-spacing: .09em; }
.gps-auth-card .field-label { margin-bottom: 8px; }
.gps-auth-card .gps-input { height: 45px; font-size: 13px; }
.gps-auth-card .gps-primary { min-height: 44px; }
.gps-auth-card .auth-separator { margin: 25px 0 19px; }
.gps-auth-foot { margin: 20px 0 0; text-align: center; color: var(--gps-muted); font-size: 11px; }
/* Mobile and tablet layouts share navigation/drawer behavior with the Admin app. */
@media (max-width: 1350px) {
  .pricing-plan-grid { grid-auto-columns: 48%; }
  .pricing-plan-card { min-height: 270px; }
}
@media (max-width: 1190px) {
  .overview-action-bar { align-items: flex-start; flex-direction: column; }
  .pricing-details-grid { grid-template-columns: minmax(0,1fr) minmax(280px,.75fr); }
}
@media (max-width: 991.98px) {
  .gps-sidebar { position: fixed; top: 64px; left: 0; bottom: 0; z-index: 60; height: calc(100dvh - 64px); max-height: calc(100dvh - 64px); width: min(295px, 88vw); flex-basis: auto; transform: translateX(-105%); }
  .gps-sidebar.sidebar-open { transform: translateX(0); }
  .gps-workspace-layout.sidebar-collapsed .gps-sidebar { flex-basis: auto; width: min(295px, 88vw); }
  .gps-workspace-layout.sidebar-collapsed .sidebar-links .sidebar-label,
  .gps-workspace-layout.sidebar-collapsed .sidebar-footer,
  .gps-workspace-layout.sidebar-collapsed .nav-section-label { display: block; }
  .gps-workspace-layout.sidebar-collapsed .sidebar-links { padding: 0 11px; }
  .gps-workspace-layout.sidebar-collapsed .sidebar-link { justify-content: flex-start; padding: 10px 13px; }
  .sidebar-brand { min-height: 56px; justify-content: space-between; padding: 12px 15px; }
  .sidebar-mobile-title { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; }
  .sidebar-mobile-title .gps-brand-mark { width: 27px; height: 27px; flex-basis: 27px; font-size: 18px; }
  .sidebar-collapse-button { display: none; }
  .mobile-nav-close { display: block; }
  .mobile-backdrop { z-index: 55; }
  .mobile-menu-button { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border-radius: 8px; color: var(--gps-text); border-color: var(--gps-border); }
  .gps-topbar-page, .gps-topbar-divider { display: none; }
  .pricing-details-grid { grid-template-columns: 1fr; }
  .pricing-side-stack { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767.98px) {
  .gps-topbar { min-height: 60px; height: 60px; padding: 0 13px; gap: 8px; }
  .gps-sidebar { top: 60px; height: calc(100dvh - 60px); max-height: calc(100dvh - 60px); }
  .gps-topbar .topbar-left, .gps-topbar .topbar-right { gap: 7px; }
  .gps-brand-mark { width: 32px; height: 32px; flex-basis: 32px; }
  .gps-brand-wordmark { font-size: 13px; }
  .gps-brand-wordmark small { display: none; }
  .gps-topbar-pricing { min-height: 38px; padding: 8px; }
  .gps-topbar-pricing span { display: none; }
  .gps-account-copy, .gps-account-chevron { display: none; }
  .gps-account-trigger { padding: 2px; }
  .gps-account-trigger .user-avatar { width: 34px; height: 34px; }
  .gps-main { padding: 18px 14px 38px; }
  .gps-main .page-title { font-size: 21px; }
  .gps-main > .page-header { gap: 13px; }
  .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric-card { min-height: 141px; padding: 14px; }
  .metric-value { font-size: 24px; }
  .metric-icon { width: 33px; height: 33px; font-size: 17px; }
  .metric-caption { margin-top: 12px; line-height: 1.4; }
  .overview-actions { width: 100%; }
  .overview-actions .btn { flex: 1 1 auto; text-align: center; }
  .pricing-intro { flex-direction: column; align-items: stretch; padding: 20px; }
  .pricing-intro-aside { width: 100%; }
  .pricing-plan-grid { grid-auto-columns: 86%; }
  .pricing-plan-skeletons { grid-template-columns: 1fr; }
  .pricing-plan-skeletons span:not(:first-child) { display: none; }
  .map-view-toggle { display: flex; gap: 4px; padding: 4px; margin-bottom: 12px; border: 1px solid var(--gps-border); border-radius: 9px; background: var(--gps-surface); }
  .map-view-toggle button { flex: 1; min-height: 44px; border: 0; background: transparent; border-radius: 7px; color: var(--gps-muted); font-size: 12px; font-weight: 760; }
  .map-view-toggle button[aria-pressed="true"] { color: var(--gps-brand); background: var(--gps-light); }
  .map-view-toggle button:focus-visible { outline: 3px solid var(--gps-brand); outline-offset: 2px; }
  .full-map-split.map-pane-map .list-card, .full-map-split.map-pane-list .map-card { display: none; }
  .gps-topbar-pricing { min-height: 44px; }
  .gps-topbar-icon { width: 44px; height: 44px; }
  .gps-account-trigger { min-width: 44px; min-height: 44px; }
  .mobile-menu-button { width: 44px; height: 44px; }
  .pricing-side-stack { grid-template-columns: 1fr; }
  .pricing-plan-card { padding: 18px; }
  .gps-auth-card { padding: 26px 22px; }
}
@media (max-width: 479.98px) {
  .gps-brand-wordmark { display: inline; }
  .gps-topbar-icon { width: 36px; }
  .gps-topbar .topbar-left, .gps-topbar .topbar-right { gap: 5px; }
  .gps-topbar { padding-inline: 9px; }
  .gps-account-menu { right: -5px; }
  .pricing-plan-grid { grid-auto-columns: 86%; }
  .pricing-plan-card { min-height: 0; }
  .pricing-plan-price { min-height: 65px; }
  .pricing-intro { padding: 18px; }
  .pricing-details-grid .billing-card, .pricing-side-stack .subscription-main, .pricing-side-stack .subscription-note { padding: 18px; }
  .pricing-details-grid .billing-form > .gps-primary { width: 100%; }
  .gps-theme-list { grid-template-columns: 1fr 1fr; gap: 8px; }
  .gps-appearance-head, .gps-appearance-body { padding: 17px; }
  .gps-auth-brand > span:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) { .metric-skeleton { animation: none; } }

/* Existing PAYG accounts change plans without re-entering their original mandate details. */
.billing-mandate-fields{display:flex;flex-direction:column;gap:9px}
