/* OSBS SalesFlow Theme — branded WordPress login screen and simple site pages. */
body.login { background: var(--osbs-bg); font-family: var(--osbs-font); color: var(--osbs-text); }
body.login #login { padding-top: 8vh; width: 360px; max-width: calc(100% - 32px); }
body.login h1 a { background: none !important; width: auto !important; height: auto !important; text-indent: 0 !important; font-size: 22px; font-weight: 700; color: var(--osbs-text) !important; display: flex !important; align-items: center; justify-content: center; gap: 10px; }
body.login h1 a::before { content: ""; width: 36px; height: 36px; border-radius: 8px; background: var(--osbs-primary); display: inline-block; }
body.login form { border: 1px solid var(--osbs-border); border-radius: 12px; box-shadow: var(--osbs-shadow); padding: 24px; }
body.login label { font-weight: 600; font-size: 13px; }
body.login form .input, body.login input[type="text"], body.login input[type="password"] { border: 1px solid var(--osbs-border-strong); border-radius: 8px; font-size: 16px; padding: 6px 10px; box-shadow: none; }
body.login form .input:focus, body.login input[type="text"]:focus, body.login input[type="password"]:focus { border-color: var(--osbs-primary); box-shadow: var(--osbs-focus); }
body.login .button-primary { background: var(--osbs-primary); border-color: var(--osbs-primary); border-radius: 8px; min-height: 38px; padding: 0 18px; font-weight: 600; }
body.login .button-primary:hover, body.login .button-primary:focus { background: var(--osbs-primary-strong); border-color: var(--osbs-primary-strong); }
body.login #nav a, body.login #backtoblog a { color: var(--osbs-text-muted); }
body.login .message, body.login .notice, body.login #login_error { border-radius: 8px; }

/* Non-CRM pages rendered by the theme (landing, generic pages). */
body.osbs-site { margin: 0; background: var(--osbs-bg); color: var(--osbs-text); font-family: var(--osbs-font); line-height: 1.6; }
.osbs-site-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 24px; background: var(--osbs-surface); border-bottom: 1px solid var(--osbs-border); }
.osbs-site-brand { display: flex; align-items: center; gap: 10px; font-weight: 700; color: var(--osbs-text); text-decoration: none; }
.osbs-site-brand .osbs-logo { width: 32px; height: 32px; border-radius: 8px; background: var(--osbs-primary); color: #fff; display: grid; place-items: center; font-weight: 800; }
.osbs-site-main { max-width: 820px; margin: 0 auto; padding: 48px 24px; }
.osbs-site-main h1 { font-size: 2rem; line-height: 1.2; margin: 0 0 16px; }
.osbs-hero { text-align: center; padding: 10vh 0; }
.osbs-hero p { color: var(--osbs-text-muted); font-size: 1.05rem; }
.osbs-site .osbs-btn { display: inline-flex; align-items: center; min-height: 42px; padding: 0 20px; border-radius: 8px; background: var(--osbs-primary); color: #fff; font-weight: 600; text-decoration: none; }
.osbs-site .osbs-btn:focus-visible { outline: none; box-shadow: var(--osbs-focus); }
.osbs-site-footer { text-align: center; color: var(--osbs-text-subtle); font-size: 13px; padding: 24px; }
.osbs-site-main img { max-width: 100%; height: auto; }
