:root{--bg:#f7f6f2;--surface:#ffffff;--surface-2:#f1f0eb;--text:#151a22;--muted:#667085;--line:#e5e2d8;--nav:#121722;--accent:#c9a66b;--accent-dark:#a88449;--danger:#b42318;--ok:#067647;--radius:24px;--shadow:0 24px 70px rgba(18,23,34,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.55}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 5vw;background:rgba(247,246,242,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(229,226,216,.7)}.brand,.admin-logo{font-weight:800;letter-spacing:-.03em}.site-header nav{display:flex;gap:22px;color:#3f4652;font-size:14px}.site-header nav a:hover,.footer-links a:hover{color:var(--accent-dark)}.header-cta{background:var(--nav);color:#fff;padding:11px 17px;border-radius:999px;font-weight:700;font-size:14px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;min-height:74vh;padding:88px 6vw 76px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent-dark);font-weight:800}.hero h1,.page-hero h1{font-size:clamp(42px,7vw,82px);line-height:.95;margin:18px 0;letter-spacing:-.07em}.hero p,.page-hero p{font-size:clamp(17px,2vw,21px);color:var(--muted);max-width:680px}.hero-actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:999px;padding:14px 22px;font-weight:800;cursor:pointer}.btn-primary{background:var(--accent);color:#17130b}.btn-primary:hover{background:var(--accent-dark);color:#fff}.btn-secondary{border:1px solid var(--line);background:#fff}.btn-dark{background:var(--nav);color:#fff}.hero-panel{background:var(--surface);border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow);padding:22px}.panel-top{display:flex;gap:8px;margin-bottom:22px}.panel-top span{width:10px;height:10px;border-radius:50%;background:#d8d4ca}.metric-card{background:linear-gradient(135deg,#171d2a,#303846);color:#fff;border-radius:26px;padding:30px;margin-bottom:16px}.metric-card small,.admin-metrics small{display:block;color:#aeb6c2;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.metric-card strong{display:block;font-size:28px;letter-spacing:-.04em;margin-top:8px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.metric-grid div,.service-list article,.cards-3 article,.admin-card,.admin-metrics article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.metric-grid strong{display:block;font-size:26px}.metric-grid span{color:var(--muted)}.section{padding:72px 6vw}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:46px}.section h2{font-size:clamp(30px,4vw,52px);line-height:1;letter-spacing:-.05em;margin:12px 0}.service-list{display:grid;gap:14px}.service-list h3,.cards-3 h3{margin:0 0 8px;font-size:21px}.service-list p,.cards-3 p{margin:0;color:var(--muted)}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cta-band{margin:40px 6vw 80px;padding:54px;border-radius:34px;background:var(--nav);color:#fff;text-align:center}.cta-band h2{font-size:clamp(30px,5vw,56px);line-height:1;margin:0 0 12px;letter-spacing:-.05em}.cta-band p{color:#cbd2dd;max-width:720px;margin:0 auto 24px}.site-footer{display:flex;justify-content:space-between;gap:24px;padding:36px 6vw;border-top:1px solid var(--line);color:var(--muted)}.site-footer strong{color:var(--text)}.footer-links{display:flex;gap:18px}.page-hero{padding:92px 6vw 42px}.page-hero.compact{min-height:auto}.contact-wrap{padding-top:20px}.contact-form,.install-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:960px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:13px;font-weight:800;color:#3f4652}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px 15px;font:inherit}.field small{color:var(--muted)}.check{grid-column:1/-1;color:var(--muted)}.alert{border-radius:16px;padding:14px 16px;margin-bottom:18px}.alert.success{background:#ecfdf3;color:#067647}.alert-danger{background:#fef3f2;color:var(--danger)}.auth-body,.installer-body{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#fff8ea,transparent 38%),var(--bg)}.auth-card,.install-card{width:min(100%,460px);background:#fff;border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow);padding:34px}.install-card.wide{width:min(100%,980px)}.badge{display:inline-flex;background:#fff7e6;color:var(--accent-dark);border:1px solid #efd8a8;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.muted{color:var(--muted)}.stack-form{display:grid;gap:16px}.check-list{display:grid;gap:10px;margin:24px 0}.check-row{display:flex;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:12px 14px}.ok{color:var(--ok)}.bad{color:var(--danger)}.admin-body{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:#f4f3ef}.admin-sidebar{background:var(--nav);color:#fff;padding:28px 18px}.admin-logo{font-size:22px;margin:0 8px 24px}.admin-sidebar nav{display:grid;gap:6px}.admin-sidebar a{color:#cbd2dd;padding:12px 14px;border-radius:14px}.admin-sidebar a:hover{background:rgba(255,255,255,.08);color:#fff}.admin-main{padding:26px;min-width:0}.admin-topbar{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:16px 18px;margin-bottom:24px}.admin-topbar span{display:block;color:var(--muted);font-size:13px}.admin-page-title{margin:8px 0 22px}.admin-page-title h1{font-size:42px;line-height:1;margin:8px 0;letter-spacing:-.05em}.admin-page-title p{color:var(--muted);margin:0}.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.admin-metrics strong{display:block;font-size:34px;letter-spacing:-.05em;margin-top:8px}.admin-card{margin-bottom:20px}.admin-card h2{margin-top:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}td small{color:var(--muted)}.status-pill{display:inline-flex;border-radius:999px;background:#f2f4f7;color:#344054;padding:5px 10px;font-size:12px;font-weight:800}@media (max-width:900px){.site-header{align-items:flex-start;flex-wrap:wrap}.site-header nav{order:3;width:100%;overflow:auto}.hero,.split,.cards-3,.contact-form,.install-grid{grid-template-columns:1fr}.hero{padding-top:52px}.admin-body{grid-template-columns:1fr}.admin-sidebar{position:static}.admin-main{padding:16px}.admin-metrics{grid-template-columns:1fr 1fr}.site-footer{flex-direction:column}.field.full,.check{grid-column:auto}}@media (max-width:560px){.admin-metrics,.metric-grid{grid-template-columns:1fr}.hero h1,.page-hero h1{font-size:42px}.cta-band{margin-inline:16px;padding:32px}.section,.page-hero,.hero{padding-inline:20px}.site-header{padding-inline:20px}.auth-card,.install-card{padding:24px;border-radius:24px}}
.warn{color:#b54708}
.partner-body{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:#f7f6f2}.partner-sidebar{background:#ffffff;border-right:1px solid var(--line);padding:28px 18px}.partner-sidebar .admin-logo{color:var(--text)}.partner-sidebar nav{display:grid;gap:6px}.partner-sidebar a{color:#3f4652;padding:12px 14px;border-radius:14px}.partner-sidebar a:hover{background:#f1efe8;color:var(--accent-dark)}.partner-main{padding:26px;min-width:0}.portal-service-card{display:grid;gap:6px;border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:22px}@media (max-width:900px){.partner-body{grid-template-columns:1fr}.partner-sidebar{position:static}.partner-main{padding:16px}}

/* Bundle D polish: private admin utility components, mobile tables and log views */
.admin-sidebar{box-shadow:12px 0 40px rgba(18,23,34,.08)}.admin-sidebar nav a{transition:background .18s ease,color .18s ease}.admin-card{box-shadow:0 12px 34px rgba(18,23,34,.045)}.log-box{max-height:380px;overflow:auto;background:#0f1723;color:#d7dee9;border-radius:18px;padding:18px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.status-pill.ok{background:#ecfdf3;color:#067647}.status-pill.warn{background:#fff7e6;color:#b54708}.status-pill.bad{background:#fef3f2;color:#b42318}.admin-card .cards-3 article{box-shadow:none}.installer-shell{width:min(100%,1040px)}.check-row small{display:block;margin-top:4px}.mobile-card-list{display:none}@media (max-width:760px){.admin-sidebar nav{grid-template-columns:1fr 1fr}.admin-sidebar{padding:20px 14px}.table-wrap table{min-width:720px}.admin-page-title h1{font-size:34px}.site-header nav{gap:14px}.header-cta{width:100%;text-align:center}.admin-metrics article{padding:18px}.admin-metrics strong{font-size:28px}}
/* Bundle H workflow completion utilities */
.inline-form{display:inline-flex;gap:8px;align-items:center;margin:0}.inline-form .btn{padding:9px 14px}.workflow-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.status-pill.foundation{background:#eef4ff;color:#3538cd}@media (max-width:760px){.workflow-grid{grid-template-columns:1fr}.inline-form{width:100%;display:flex}.inline-form .btn{width:100%}}
/* Bundle I final installer and launch cleanup */
.status-pill.ready,.status-pill.done,.status-pill.clean{background:#ecfdf3;color:#067647}.status-pill.review,.status-pill.recommended,.status-pill.action_available{background:#fff7e6;color:#b54708}.status-pill.blocked,.status-pill.error{background:#fef3f2;color:#b42318}.status-pill.skipped{background:#f2f4f7;color:#344054}.cleanup-warning{border:1px solid #fecdca;background:#fffbfa;color:#912018;border-radius:18px;padding:14px 16px;margin:14px 0}.qa-score-ring{display:inline-grid;place-items:center;width:112px;height:112px;border-radius:50%;background:conic-gradient(var(--accent) 0 75%,#eee7d7 0);font-weight:900;font-size:26px}

/* Bundle K: Partner-portal-only public frontend */
.public-portal-body{background:radial-gradient(circle at 20% 0%,#fff5df 0,rgba(255,245,223,0) 35%),linear-gradient(135deg,#f8f6f0 0%,#eef2f7 100%)}
.portal-header{background:rgba(255,255,255,.82);border-bottom:1px solid rgba(226,220,207,.72);box-shadow:0 10px 40px rgba(17,24,39,.04)}
.portal-header .brand{display:flex;align-items:center;gap:10px}.portal-header .brand:before{content:"";width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--nav),#2f3748);box-shadow:0 10px 22px rgba(17,24,39,.18)}
.portal-gate{min-height:calc(100vh - 165px);display:grid;grid-template-columns:1.05fr .72fr;gap:52px;align-items:center;padding:82px 6vw 62px}.gate-copy{max-width:760px}.gate-copy h1{font-size:clamp(46px,7vw,88px);line-height:.9;letter-spacing:-.075em;margin:18px 0;color:#101623}.gate-copy p{font-size:clamp(17px,2vw,22px);color:var(--muted);max-width:650px}.gate-points{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.gate-points span{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.75);border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:#3f4652;font-weight:750;font-size:13px}.gate-points span:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.login-preview-card{background:rgba(255,255,255,.92);border:1px solid rgba(226,220,207,.9);border-radius:34px;box-shadow:0 30px 90px rgba(17,24,39,.12);padding:30px}.login-preview-card h2{font-size:34px;line-height:1;margin:22px 0 10px;letter-spacing:-.045em}.login-preview-card p{color:var(--muted);margin-bottom:26px}.access-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 6vw 76px}.access-strip article{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 16px 42px rgba(17,24,39,.05)}.access-strip h3{margin:0 0 8px;font-size:20px}.access-strip p{margin:0;color:var(--muted)}
.portal-simple-page{max-width:920px;margin:0 auto;text-align:center}.portal-simple-page .hero-actions{justify-content:center}.portal-form-section{display:flex;justify-content:center;padding-top:10px}.portal-access-form{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:30px;box-shadow:0 24px 70px rgba(17,24,39,.08);padding:24px;width:min(100%,960px)}.portal-footer{background:rgba(255,255,255,.55)}
.portal-auth-body{background:radial-gradient(circle at top left,#fff2d2 0,rgba(255,242,210,0) 38%),linear-gradient(145deg,#f8f6f0 0%,#edf1f6 100%)}.portal-auth-card{border-radius:34px;box-shadow:0 32px 100px rgba(17,24,39,.14);border:1px solid rgba(226,220,207,.9)}.portal-auth-card h1{font-size:42px;line-height:1;margin:14px 0 10px;letter-spacing:-.055em}.auth-links{display:grid;gap:8px;margin-top:18px;font-size:14px}.auth-links a{color:var(--accent-dark);font-weight:750}.invite-box{background:#f8fafc;border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:18px 0;display:grid;gap:2px}.invite-box span{color:var(--muted);font-size:13px}
@media (max-width:900px){.portal-gate,.access-strip{grid-template-columns:1fr}.portal-gate{padding-top:48px}.portal-header nav{order:3;width:100%;justify-content:space-between}.login-preview-card{order:-1}.access-strip{padding-inline:20px}.portal-access-form{grid-template-columns:1fr}.portal-access-form .field.full,.portal-access-form .check{grid-column:auto}}
@media (max-width:560px){.gate-copy h1{font-size:44px}.portal-gate{padding-inline:20px}.portal-header .header-cta{width:auto}.portal-header nav{font-size:13px}.access-strip{gap:12px}.login-preview-card{padding:24px}.portal-auth-card h1{font-size:36px}}

/* UP7 Partner Portal admin square polish + route cleanup visual reset */
.admin-body .admin-card,
.admin-body .admin-topbar,
.admin-body .admin-work-mode-bar,
.admin-body .admin-menu-home,
.admin-body .admin-menu-group,
.admin-body .admin-menu-group > a,
.admin-body .admin-menu-group > summary,
.admin-body .btn,
.admin-body .field input,
.admin-body .field select,
.admin-body .field textarea,
.admin-body input,
.admin-body select,
.admin-body textarea,
.admin-body .alert,
.admin-body .status-pill,
.admin-body .badge,
.admin-body .log-box,
.admin-body .cleanup-warning,
.admin-body .admin-error-log-quick,
.admin-body .glc-card,
.admin-body .glc-alert,
.admin-body .glc-pill,
.admin-body .glc-tabs a,
.admin-body .glc-progress-shell,
.admin-body .glc-progress-grid span,
.admin-body .glc-progress-meta span,
.admin-body .glc-last-run-box span,
.admin-body .glc-progress-log,
.admin-body .glc-lead-card,
.admin-body .glc-score-card,
.admin-body .glc-code-chip,
.admin-body .glc-review-row,
.admin-body .glc-bulk-bar,
.admin-body .glc-pagination a,
.admin-body .glc-pagination span {
    border-radius:4px !important;
}
.admin-body .admin-card,
.admin-body .admin-topbar,
.admin-body .admin-work-mode-bar {
    border-color:rgba(15,23,42,.10) !important;
    box-shadow:0 10px 24px rgba(15,23,42,.035) !important;
}
.admin-body .admin-sidebar {
    box-shadow:10px 0 26px rgba(15,23,42,.075) !important;
}
.admin-body .btn {
    min-height:38px;
    letter-spacing:.01em;
}
.admin-body .admin-page-title h1 {
    letter-spacing:-.04em;
}
.admin-body .admin-menu-group > a,
.admin-body .admin-menu-group > summary {
    min-height:36px;
}

/* UP8 Partner Portal full square button system
   Covers the audited button list: .btn links, raw buttons, submit/reset inputs,
   admin alert/action links, AI assistant controls, lead collector buttons,
   auth actions and CTA-style links. Cards/badges are intentionally not flattened here. */
.btn,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
[role="button"],
.header-cta,
.admin-body .btn,
.admin-body button,
.admin-body input[type="submit"],
.admin-body input[type="button"],
.admin-body input[type="reset"],
.admin-body [role="button"],
.admin-body .admin-work-mode-actions .btn,
.admin-body .admin-alert-strip a,
.admin-body .admin-error-log-quick,
.admin-body .ai-float-launcher,
.admin-body .ai-float-close,
.admin-body .ai-float-prompt,
.admin-body .ai-float-actions button,
.admin-body .ai-float-actions a,
.admin-body .glc-actions .btn,
.admin-body .glc-filter-form .btn,
.admin-body .glc-review-buttons .btn,
.admin-body .glc-row-button-grid .btn,
.admin-body .glc-pagination a,
.admin-body .glc-tabs a,
.auth-body .btn,
.auth-body button,
.auth-body input[type="submit"],
.auth-body input[type="button"],
.auth-body [role="button"] {
    border-radius:0 !important;
}
.btn.full,
button.full,
input[type="submit"].full,
input[type="button"].full {
    border-radius:0 !important;
}
.admin-body .btn,
.admin-body button,
.admin-body input[type="submit"],
.admin-body input[type="button"],
.auth-body .btn,
.auth-body button,
.auth-body input[type="submit"] {
    min-height:40px;
}
.admin-body .btn:focus-visible,
.admin-body button:focus-visible,
.admin-body input[type="submit"]:focus-visible,
.auth-body .btn:focus-visible,
.auth-body button:focus-visible,
.auth-body input[type="submit"]:focus-visible {
    outline:2px solid rgba(17,24,39,.72);
    outline-offset:2px;
}
@media(max-width:760px){
    .admin-body .btn,
    .admin-body button,
    .admin-body input[type="submit"],
    .admin-body input[type="button"],
    .auth-body .btn,
    .auth-body button,
    .auth-body input[type="submit"]{
        min-height:42px;
    }
}

/* UP8.1 Partner Portal hard square button override
   Loaded with a new asset URL and also echoed inline in key layouts to beat stale cache and per-page inline CSS. */
:root{--pp-button-radius:0px}
:is(
    a.btn,
    button,
    input[type="submit"],
    input[type="button"],
    input[type="reset"],
    input::file-selector-button,
    [role="button"],
    .header-cta,
    .pp-site-login,
    .pp-login-submit,
    .pp-form-submit,
    .pp-page-actions a,
    .hero-actions a,
    .hero-actions button,
    .actions .btn,
    .actions button,
    .inline-form .btn,
    .admin-body a.btn,
    .admin-body button,
    .admin-body input[type="submit"],
    .admin-body input[type="button"],
    .admin-body input[type="reset"],
    .admin-body input::file-selector-button,
    .admin-body .admin-work-mode-actions .btn,
    .admin-body .admin-alert-strip a,
    .admin-body .admin-error-log-quick,
    .admin-body .admin-topbar a,
    .admin-body .ai-float-launcher,
    .admin-body .ai-float-close,
    .admin-body .ai-float-prompt,
    .admin-body .ai-float-actions button,
    .admin-body .ai-float-actions a,
    .admin-body .glc-actions .btn,
    .admin-body .glc-filter-form .btn,
    .admin-body .glc-review-buttons .btn,
    .admin-body .glc-row-button-grid .btn,
    .admin-body .glc-pagination a,
    .admin-body .glc-tabs a,
    .auth-body a.btn,
    .auth-body button,
    .auth-body input[type="submit"],
    .auth-body input[type="button"],
    .portal-shell a.btn,
    .portal-shell button,
    .portal-shell input[type="submit"],
    .portal-shell input[type="button"],
    .portal-top .btn,
    .portal-nav a,
    .partner-body a.btn,
    .partner-body button,
    .partner-body input[type="submit"],
    .partner-sidebar a,
    .partner-nav a
){
    border-radius:0!important;
}
:is(a.btn,button,input[type="submit"],input[type="button"],input[type="reset"],[role="button"],.header-cta,.pp-site-login,.pp-login-submit,.pp-form-submit){
    -webkit-border-radius:0!important;
    background-clip:padding-box;
}
:is(a.btn,button,input[type="submit"],input[type="button"],input[type="reset"],[role="button"]):focus-visible{
    outline:2px solid rgba(17,24,39,.72);
    outline-offset:2px;
}
@media(max-width:760px){
    :is(a.btn,button,input[type="submit"],input[type="button"],input[type="reset"],[role="button"],.header-cta,.pp-site-login,.pp-login-submit,.pp-form-submit,.portal-nav a,.partner-nav a){border-radius:0!important}
}

