:root{
  --ink:#10203f;
  --muted:#71819a;
  --line:#dce3ed;
  --soft:#f2f6fb;
  --panel:#fff;
  --violet:#315fca;
  --violet2:#315fca;
  --blue:#3164d8;
  --green:#267c55;
  --red:#b93049;
  --shadow:0 22px 60px rgba(16,32,63,.08);
  --brand-navy:#10203f;
  --brand-navy-2:#142649;
  --brand-blue:#315fca;
  --brand-blue-soft:#edf3fc;
  --brand-yellow:#f5c75d;
  --brand-bg:#f7f9fc;
}

body{color:var(--brand-navy);font-size:16px}

/* Customer-area usability and accessibility baseline */
.app-page{font-size:16px}.app-page p,.app-page .muted{font-size:.82rem;line-height:1.6}.app-page label,.app-page .stack-form label{font-size:.78rem}.app-page th{font-size:.7rem}.app-page td{font-size:.82rem}.app-page .status{font-size:.68rem}.app-page small{line-height:1.45}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(49,95,202,.45);outline-offset:3px}
button:disabled,.button:disabled{cursor:not-allowed;opacity:.45}.nav-row>nav a{position:relative;padding-block:8px}.nav-row>nav a.active{color:var(--brand-navy)}.nav-row>nav a.active:after{content:"";position:absolute;right:0;bottom:-18px;left:0;height:3px;border-radius:3px;background:var(--brand-yellow)}.user-chip span{margin-left:4px;font-size:.72rem}
.market-selector{min-width:0;margin:0;padding:0;border:0}.market-selector legend{margin-bottom:8px;color:#475770;font-size:.78rem;font-weight:800}.market-toolbar{display:flex;gap:8px;margin-bottom:10px}.market-toolbar input{flex:1}.market-toolbar button{padding:0 13px;border:1px solid #cbd5e2;border-radius:6px;background:#fff;color:#315fca;font-size:.72rem;font-weight:800;cursor:pointer}.market-options.compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:250px;overflow:auto;padding:9px;border:1px solid #dce3ed;border-radius:7px}.market-options.compact label{padding:8px}.market-selector>small{display:block;margin-top:8px;color:#71819a}
.danger-text{color:#b93049!important}.control-hint{margin-bottom:0!important}.error-shell{display:grid;min-height:65vh;place-items:center;padding-block:70px}.error-card{display:grid;width:min(820px,100%);grid-template-columns:150px 1fr;align-items:center;gap:38px;padding:48px;border:1px solid #dce3ed;border-radius:12px;background:#fff}.error-card>span{color:#dce6f7;font-size:5rem;font-weight:900}.error-card h1{margin:10px 0;font-size:2.25rem;letter-spacing:-.04em}.error-card p{color:#71819a}.error-actions{display:flex;gap:10px;margin-top:25px}
@media(max-width:760px){.nav-row>nav a.active:after{display:none}.market-options.compact{grid-template-columns:1fr 1fr}.market-toolbar{flex-wrap:wrap}.market-toolbar input{flex-basis:100%}.error-card{grid-template-columns:1fr;padding:30px}.error-card>span{font-size:3rem}.error-actions{align-items:stretch;flex-direction:column}.app-page .app-heading{align-items:flex-start;gap:18px;flex-direction:column}}
@media(max-width:460px){.market-options.compact{grid-template-columns:1fr}}
button,input,select,textarea{font-family:inherit}

/* Shared application and administration shell */
.app-page{background:var(--brand-bg);color:var(--brand-navy)}
.app-page .site-header,.legal-page .site-header,.publisher-docs-page .site-header{border-color:#e4e9f0;background:#fff;backdrop-filter:none}
.app-page .nav-row>nav,.legal-page .nav-row>nav,.publisher-docs-page .nav-row>nav{color:#53617a}
.app-page .nav-row>nav a,.legal-page .nav-row>nav a,.publisher-docs-page .nav-row>nav a{transition:color .16s ease}
.app-page .nav-row>nav a:hover,.legal-page .nav-row>nav a:hover,.publisher-docs-page .nav-row>nav a:hover{color:var(--brand-blue)}
.app-page .user-chip{padding:8px 11px;border-radius:6px;background:var(--brand-blue-soft);color:var(--brand-navy);font-weight:800}
.app-page footer{margin-top:72px;background:#fff}
.app-page .app-shell{padding-top:52px}
.app-page .app-heading{align-items:end;margin-bottom:32px}
.app-page .app-heading h1{margin:0;color:var(--brand-navy);font-size:2.5rem;line-height:1;letter-spacing:-.045em}
.app-page .app-heading p{margin-top:11px;color:var(--muted);font-size:.85rem;line-height:1.55}
.app-page .eyebrow,.app-page .page-context{margin-bottom:13px;color:var(--brand-blue);font-size:.66rem;font-weight:900;letter-spacing:.09em}
.app-page .page-context span{color:#aeb8c7}

.button,.app-page .button,.auth-page .button{min-height:46px;border:0;border-radius:7px;background:var(--brand-yellow);box-shadow:none;color:var(--brand-navy);font-size:.78rem;font-weight:850}
.button:hover,.app-page .button:hover,.auth-page .button:hover{filter:brightness(.98);transform:translateY(-1px)}
.button.ghost,.app-page .button.ghost{border:1px solid #c9d3e0;background:#fff;color:#53647e}
.button.small,.app-page .button.small{min-height:42px}

.app-page .panel,.app-page .account-panel{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:none}
.app-page .panel-head small,.app-page .dash-section-head small{color:var(--brand-blue);font-size:.6rem;font-weight:900;letter-spacing:.09em}
.app-page .panel-head h2,.app-page .dash-section-head h2{color:var(--brand-navy);font-size:1.22rem;letter-spacing:-.02em}
.app-page .panel-head>span{border-radius:5px;background:var(--brand-blue-soft);color:var(--brand-blue)}
.app-page .muted{color:var(--muted)}

.app-page .stack-form label,.app-page .admin-adjustment label,.app-page .publisher-ledger-form label{color:#475770;font-size:.69rem;font-weight:800}
.app-page .stack-form input,.app-page .stack-form select,.app-page .stack-form textarea,.app-page .admin-adjustment input,.app-page .admin-adjustment select,.app-page .publisher-ledger-form input,.app-page .publisher-ledger-form select{border-color:#cad5e3;border-radius:6px;color:var(--brand-navy);outline:none}
.app-page input:focus,.app-page select:focus,.app-page textarea:focus{border-color:var(--brand-blue)!important;box-shadow:0 0 0 3px rgba(49,95,202,.1)}
.app-page th{color:#77879d;font-size:.62rem;font-weight:900;letter-spacing:.05em}
.app-page td{color:#354763;font-size:.75rem}
.app-page td small{color:#8491a4}
.app-page .status{border-radius:4px;background:#edf1f6;color:#65748a;font-weight:850}
.app-page .status.active,.app-page .status.ready,.app-page .status.verified,.app-page .status.approved{background:#edf8f1;color:#267c55}
.app-page .status.pending,.app-page .status.onboarding,.app-page .status.submitted{background:#fff5df;color:#966500}
.app-page .status.rejected,.app-page .status.suspended,.app-page .status.failed{background:#fff0f2;color:#b93049}

/* Admin Center now shares the advertiser visual language */
.admin-page .kpi-grid{gap:14px;margin-bottom:20px}
.admin-page .kpi-grid article{padding:22px;border-color:var(--line);border-radius:10px;box-shadow:none}
.admin-page .kpi-grid small{color:#7d8ca1;font-size:.62rem;font-weight:800}
.admin-page .kpi-grid strong{margin:11px 0 5px;color:var(--brand-navy);font-size:1.45rem}
.admin-page .kpi-grid span{color:#929eae;font-size:.62rem}
.admin-page .table-panel{padding:27px;margin-top:20px}
.admin-page .account-panel{padding:27px}
.admin-page .admin-review-form button,.admin-page .member-actions button{border-color:#cbd5e2;border-radius:5px;background:#fff;color:var(--brand-blue)}
.admin-page .admin-review-form button:not(.danger){border-color:var(--brand-blue);background:var(--brand-blue);color:#fff}
.admin-page .admin-review-form .danger{border-color:#efccd1;background:#fff;color:#a33142}

/* Admin access and support */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px 18px;margin:8px 0 20px;padding:18px;border:1px solid var(--line);border-radius:8px}
.permission-grid legend{padding:0 8px;color:#63738b;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.permission-grid label{display:flex!important;align-items:center;gap:9px;margin:0!important;font-size:.74rem!important}
.permission-grid input{width:16px;height:16px}
.admin-card-list{display:grid;gap:14px}
.admin-access-card{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fbfcfe}
.admin-access-identity{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}
.admin-access-identity b,.admin-access-identity small{display:block}
.admin-access-identity small{margin-top:4px;color:var(--muted)}
.permission-grid.compact{grid-template-columns:repeat(5,minmax(100px,1fr));padding:13px 15px}
.filter-tabs{display:flex;gap:8px;margin:0 0 18px}
.filter-tabs a{padding:9px 13px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#607089;font-size:.72rem;font-weight:800}
.filter-tabs a.active{border-color:var(--brand-blue);background:var(--brand-blue);color:#fff}
.support-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(430px,1.2fr);gap:20px}
.ticket-list{display:grid}
.ticket-row{display:flex;align-items:center;justify-content:space-between;padding:17px 2px;border-bottom:1px solid var(--line);color:var(--brand-navy)}
.ticket-row:last-child{border-bottom:0}.ticket-row b,.ticket-row small{display:block}.ticket-row small{margin-top:5px;color:var(--muted);font-size:.68rem}
.support-thread-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}
.thread-back-link{display:inline-flex;align-items:center;margin-bottom:24px;color:var(--brand-blue);font-size:.76rem;font-weight:800}
.thread-back-link:hover{text-decoration:underline;text-underline-offset:4px}
.message-thread{display:grid;gap:14px}
.support-message{max-width:82%;padding:17px 19px;border:1px solid var(--line);border-radius:9px;background:#f7f9fc}
.support-message.outgoing{margin-left:auto;border-color:#cbdaf4;background:#edf3fc}
.support-message header{display:flex;justify-content:space-between;gap:20px;margin-bottom:9px;font-size:.7rem}.support-message header span{color:var(--muted)}
.support-message p{margin:0;white-space:pre-wrap;color:#354763;font-size:.8rem;line-height:1.65}
.reply-form{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}
.ticket-meta dl{display:grid;grid-template-columns:90px 1fr;gap:10px;margin:0 0 24px}.ticket-meta dt{color:var(--muted);font-size:.7rem}.ticket-meta dd{margin:0;font-size:.75rem;font-weight:700}
.status.open{background:#fff5df!important;color:#966500!important}.status.waiting{background:#edf3fc!important;color:#315fca!important}.status.closed{background:#edf1f6!important;color:#65748a!important}

/* Revenue and margin dashboard */
.revenue-shell{max-width:1280px}.revenue-filters{display:grid;grid-template-columns:190px 190px max-content 1fr;align-items:end;gap:12px;margin-bottom:20px;padding:20px;border:1px solid var(--line);border-radius:10px;background:#fff}.revenue-filters label{display:grid;gap:7px;color:#53627a;font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.revenue-filters input{padding:11px;border:1px solid #cad5e3;border-radius:6px;color:var(--brand-navy)}.revenue-filters .button{min-width:180px}.revenue-filters>a{align-self:center;justify-self:start;padding:12px;color:var(--brand-blue);font-size:.72rem;font-weight:800}.revenue-kpis .margin-card{border-color:#b8daca;background:#f5fbf7}.revenue-kpis .margin-card strong{color:#14724d}.revenue-kpis .margin-card strong.negative{color:var(--red)}.revenue-chart-panel{margin-bottom:20px}.revenue-chart-head{align-items:center}.revenue-chart-meta{display:flex;align-items:center;justify-content:flex-end;gap:14px}.revenue-legend{display:inline-flex;align-items:center;gap:6px;color:#5d6e87;font-size:.63rem;font-weight:750}.revenue-legend i{display:block;width:9px;height:9px;border-radius:2px;background:var(--brand-blue)}.revenue-legend.cost i{background:#dce6f7}.period-chip{display:inline-flex!important;width:auto!important;height:auto!important;min-height:30px;padding:7px 10px;border-radius:5px!important;background:var(--brand-blue-soft)!important;color:var(--brand-blue)!important;font-size:.62rem;font-weight:800;white-space:nowrap}.revenue-chart{display:flex;height:250px;align-items:end;justify-content:space-around;gap:22px;overflow-x:auto;padding:25px 24px 4px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 54px,#edf1f6 55px,#edf1f6 56px)}.revenue-bar-column{display:grid;width:70px;min-width:52px;max-width:76px;height:220px;grid-template-rows:18px 1fr 18px;gap:7px}.revenue-bar-column>strong{color:#53647e;font-size:.58rem;font-weight:800;text-align:center}.revenue-bar-track{display:flex;align-items:end;justify-content:center}.revenue-bar{position:relative;display:block;width:44px;height:max(4px,var(--bar-height));overflow:hidden;border-radius:5px 5px 1px 1px;background:#dce6f7;box-shadow:inset 0 0 0 1px rgba(49,95,202,.05)}.revenue-bar:after{position:absolute;right:0;bottom:0;left:0;height:var(--margin-share);background:var(--brand-blue);content:""}.revenue-bar-column small{color:#8190a5;font-size:.56rem;font-weight:700;text-align:center}.revenue-breakdowns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.revenue-definition{margin-top:20px;padding:19px 22px;border-left:4px solid var(--brand-blue);border-radius:4px;background:var(--brand-blue-soft)}.revenue-definition strong{font-size:.72rem}.revenue-definition p{margin:6px 0 0;color:#586a84;font-size:.68rem;line-height:1.6}

/* Secondary authentication screens */
.auth-page{background:#f4f7fb;color:var(--brand-navy)}
.auth-page footer{display:none}
.auth-wrap{min-height:calc(100vh - 79px);grid-template-columns:minmax(430px,.92fr) minmax(500px,1.08fr)}
.auth-side{position:relative;overflow:hidden;padding:11vh max(7vw,48px);background:var(--brand-navy);color:#fff}
.auth-side:after{content:"";position:absolute;right:-260px;bottom:-330px;width:700px;height:700px;border:92px solid rgba(91,132,203,.11);border-radius:50%}
.auth-side>*{position:relative;z-index:1}
.auth-side .eyebrow{display:inline-flex;padding:9px 14px;border-radius:30px;background:#294a7e;color:#bdd2f3;font-size:.62rem;font-weight:900;letter-spacing:.1em}
.auth-side h1{margin:28px 0 22px;color:#fff;font-size:clamp(3rem,5vw,5rem);line-height:.98;letter-spacing:-.06em}
.auth-side>p{color:#b3c1d6;font-size:1rem}
.auth-side ul{padding-top:22px;border-top:1px solid rgba(255,255,255,.14);color:#dce5f2}
.auth-side li:before{color:var(--brand-yellow)}
.auth-card{width:min(540px,calc(100% - 40px));padding:42px;border-color:#d7e0eb;border-radius:12px;box-shadow:var(--shadow)}
.auth-card .form-head small{color:var(--brand-blue);font-size:.6rem;font-weight:900;letter-spacing:.11em}
.auth-card .form-head h2{color:var(--brand-navy);font-size:2.15rem}
.auth-card .form-head p{color:var(--muted);font-size:.78rem;line-height:1.55}
.auth-card .form-head a:not(.button),.auth-card .form-link,.auth-card .stack-form>a{color:var(--brand-blue)}
.auth-card .stack-form label{color:#455774;font-size:.69rem;font-weight:800}
.auth-card .stack-form input,.auth-card .stack-form select{padding:14px 15px;border-color:#cad5e3;border-radius:6px;color:var(--brand-navy);outline:none}
.auth-card .stack-form input:focus,.auth-card .stack-form select:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px rgba(49,95,202,.1)}
.result-icon{background:var(--brand-blue-soft);color:var(--brand-blue)}
.form-errors{border:1px solid #f3c8d0;background:#fff5f6;color:#a92e45}

/* Keep login and registration on exactly the same tokens */
.login-page,.register-page{color:var(--brand-navy)}
.login-story,.register-story{background:var(--brand-navy)}
.login-story h1 span,.register-story h1 span{color:#8eaff0}
.login-kicker,.register-kicker{background:#294a7e;color:#bdd2f3}
.login-proof b,.register-path article>b{background:var(--brand-yellow);color:var(--brand-navy)}
.login-card,.register-card{border-color:#d7e0eb;border-radius:12px;box-shadow:var(--shadow)}
.login-card-head small,.register-card-head small,.login-label-row a,.login-card-foot a,.register-card-head p a,.register-consent a{color:var(--brand-blue)}
.login-submit,.register-submit{background:var(--brand-yellow)!important;color:var(--brand-navy)!important}

/* Documentation and legal surfaces */
.legal-page,.publisher-docs-page{background:var(--brand-bg);color:var(--brand-navy)}
.legal-page .eyebrow{color:var(--brand-blue)}
.legal-summary{border-left-color:var(--brand-blue);background:var(--brand-blue-soft)}
.publisher-docs-page .docs-hero,.publisher-docs-page .docs-sidebar{border-color:var(--line)}

@media(max-width:960px){
  .auth-wrap{grid-template-columns:1fr}
  .auth-side{padding:58px 40px}
  .auth-side h1{font-size:3.5rem}
  .auth-card{margin:48px auto}
  .support-layout,.support-thread-layout{grid-template-columns:1fr}
  .revenue-breakdowns{grid-template-columns:1fr}
  .revenue-chart-head{align-items:flex-start;gap:14px}.revenue-chart-meta{align-items:flex-end;flex-direction:column;gap:7px}
  .permission-grid,.permission-grid.compact{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .app-page .app-shell{padding-top:35px}
  .app-page .app-heading{align-items:flex-start;flex-direction:column;gap:20px}
  .app-page .app-heading h1{font-size:2.15rem}
  .admin-page .kpi-grid{grid-template-columns:1fr 1fr}
  .auth-side{padding:44px 24px}
  .auth-side h1{font-size:2.75rem}
  .auth-card{width:calc(100% - 24px);margin:24px auto 40px;padding:30px 22px}
  .form-grid{grid-template-columns:1fr}
  .revenue-filters{grid-template-columns:1fr 1fr}.revenue-filters .button,.revenue-filters>a{width:100%}
  .permission-grid,.permission-grid.compact{grid-template-columns:1fr}
}

/* Final readable type overrides for authenticated customer surfaces. */
.app-page:not(.admin-page) .app-heading p,.app-page:not(.admin-page) .muted,.app-page:not(.admin-page) .account-panel>p{font-size:.82rem}
.app-page:not(.admin-page) .stack-form label,.app-page:not(.admin-page) .report-filters label{font-size:.76rem}
.app-page:not(.admin-page) th{font-size:.68rem}.app-page:not(.admin-page) td{font-size:.8rem}.app-page:not(.admin-page) .status{font-size:.66rem}
