@import url('./ui-fonts.css');
:root{
 --font-ui:'Switzer',Arial,sans-serif;--font-heading:'Switzer',Arial,sans-serif;
 --ink:#111c2c;--muted:#5b6f7e;--line:#d6e0e7;--lime:#d4fa55;--paper:#fff;--surface:#f5f8fa;
 --ws-navy:var(--ink);--ws-lime:var(--lime);--ws-line:var(--line);--ws-muted:var(--muted);
 --shell-navy:var(--ink);--shell-lime:var(--lime);
 --radius-control:10px;--radius-card:16px;--shadow-panel:0 12px 32px #111c2c14;
 font-family:var(--font-ui);color:var(--ink);background:var(--surface);font-synthesis:none;
}
body,.workspace-page,.auth-page,.workspace-dialog{font-family:var(--font-ui);color:var(--ink)}
body{background:var(--surface);line-height:1.5}
h1,h2,h3,h4,.flow-title,.dialog-header h2,.preview-top h2{font-family:var(--font-heading);letter-spacing:-.025em;line-height:1.2}
h1{font-weight:800}h2,h3,h4{font-weight:700}
button,input,select,textarea{font-family:var(--font-ui)}
button,.button{transition:background-color .15s,border-color .15s,box-shadow .15s}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #446e8d!important;outline-offset:3px!important}
:where(input:not([type=color]):not([type=range]):not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select){border:1px solid #b7c7d2;border-radius:var(--radius-control);background:#fff;color:var(--ink)}
:where(input:not([type=color]):not([type=range]):not([type=checkbox]):not([type=radio]):not([type=file]),select){min-height:44px}
input[type=range],input[type=checkbox],input[type=radio]{accent-color:var(--ink)}
:where(.controls button,.ws-actions button,.workspace-dialog button,.auth-card button,.order-actions button,.button){border-radius:var(--radius-control)}
:where(.ws-card,.card,.workspace-dialog,dialog,.auth-card,.ws-empty){border-radius:var(--radius-card)}
:where(.help,.muted,.ws-muted,.dialog-copy,.draft-status){color:var(--muted)}
:where(.primary,.primary-button,.workspace-page .primary,.workspace-dialog button[type=submit],.auth-card button:not(.secondary)){
 background:var(--lime);border-color:var(--lime);color:var(--ink);font-weight:700;
}
:where(.primary,.primary-button,.workspace-page .primary,.auth-card button:not(.secondary)):hover:not(:disabled){background:#c8ee48;border-color:#c8ee48}
.workspace-header,.admin-header,.auth-page>header{background:var(--ink);color:#fff;min-height:68px}
.workspace-header{padding-top:12px;padding-bottom:12px}
.workspace-top h1{font-family:var(--font-heading);font-size:32px;letter-spacing:-.035em}
.ws-tabs{gap:8px}.ws-tabs button{font-weight:600}.ws-tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.ws-card,.card{border-color:var(--line);background:var(--paper)}
.ws-card h2,.card h2{font-size:21px}.ws-table th,th{background:var(--surface);color:var(--muted)}
.ws-table th,.ws-table td{border-color:var(--line)}
.ws-pill,.badge{font-weight:600}.ws-pill.lime,.badge:not(.warning){background:#eaf6ca;color:var(--ink)}
.test-banner{background:#f0f7dd;border:1px solid #d9e9b5;color:var(--ink)}
.ws-error,#adminError,#authError{color:#a12f43}
.account-panel,.current-design-menu{border-color:var(--line);box-shadow:var(--shadow-panel)}
.auth-page{background:var(--surface);min-height:100dvh}
.auth-page>header{max-width:none;margin:0;padding:16px max(20px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}
.auth-page>header img{width:195px;display:block}
.auth-page>header button{border:1px solid #ffffff55;border-radius:10px;background:transparent;color:#fff;min-height:44px;padding:9px 14px;font-weight:600}
.auth-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-panel);max-width:460px;margin:64px auto;padding:32px;color:var(--ink)}
.auth-card h1{font-size:30px;margin:0 0 12px}
.auth-card p{color:var(--muted);line-height:1.6}
.auth-card form{display:grid;gap:16px}.auth-card label{color:var(--ink);font-size:14px;font-weight:600}
.auth-card input,.auth-card select{border-color:#b7c7d2}
.auth-card button{min-height:46px;border:1px solid var(--line)}
.auth-card .secondary{color:var(--ink);background:var(--surface)}
.auth-card>a{display:inline-block;margin-top:20px;color:var(--ink);font-size:14px;text-underline-offset:4px}
.auth-card #authError:not(:empty){background:#fff0f2;border:1px solid #f2c6cf;border-radius:10px;padding:12px;color:#a12f43}
.auth-card #authError:empty{display:none}
body.checkout-page .workspace-main{max-width:720px;padding-top:64px}
.checkout-page .card{padding:32px}
.checkout-page #status{font-size:18px;font-weight:600}
.checkout-page .card a{display:inline-flex;margin-top:16px;padding:12px 18px;background:var(--lime);color:var(--ink);font-weight:700;border-radius:10px;text-decoration:none}
@media(max-width:700px){
 .workspace-top h1{font-size:27px}.workspace-header{min-height:56px}
 .auth-page>header{padding:12px 16px;min-height:56px}.auth-page>header img{width:164px}
 .auth-card{margin:28px 16px;padding:24px;max-width:none}.auth-card h1{font-size:26px}
 body.checkout-page .workspace-main{padding:28px 16px}.checkout-page .card{padding:24px}
 input:not([type=color]):not([type=range]):not([type=checkbox]):not([type=radio]),textarea,select{font-size:16px}
}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}

.auth-card code{color:var(--ink)}
.auth-card a{color:var(--ink)}
.auth-card #google{background:var(--lime);border-color:var(--lime);color:var(--ink)}
body.workspace-page{background:var(--surface)}#workspaceContent>.ws-grid+h2,#workspaceContent>.ws-table-wrap+h2{margin-top:28px;margin-bottom:16px}.auth-card #google:hover:not(:disabled){background:#c8ee48}

/* Match the approved Switzer specimen: semibold headings, medium interface labels. */
h1,h2,h3,h4,.workspace-top h1,.dialog-header h2,.preview-top h2{font-weight:600}
