/* ==========================================================================
   Inline "Create your free account" box — templates/parts/global/signup-box.php
   ==========================================================================

   Used at the foot of the /industries/ articles, replacing the old link-out button.

   Self-contained and enqueued on its own, NOT @import'd into tool-tracker.css: the
   industries article template does not load the app stylesheet, and the paid landing
   pages deliberately load almost nothing. Redeclaring the handful of brand tokens it
   needs is cheaper than pulling in a 25-file cascade for one component.
   ========================================================================== */

.osat-signupbox {
    --osat-sb-primary: #08415C;
    --osat-sb-accent: #CC2936;
    --osat-sb-accent-hover: #A3212B;
    --osat-sb-text: #1B3245;
    --osat-sb-muted: #627D98;
    --osat-sb-bg: #F0F4F8;
    --osat-sb-border: #D4D9E2;

    box-sizing: border-box;
    max-width: 560px;
    margin: 48px auto 0;
    padding: 28px 24px;
    background: #fff;
    border: 1px solid var(--osat-sb-border);
    border-top: 4px solid var(--osat-sb-accent);
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(27, 50, 69, 0.08);
    color: var(--osat-sb-text);
    font-size: 16px;
    line-height: 1.5;
    text-align: left;
}

.osat-signupbox *, .osat-signupbox *::before, .osat-signupbox *::after { box-sizing: border-box; }

.osat-signupbox__title {
    margin: 0 0 6px;
    font-size: 1.45em;
    line-height: 1.2;
    color: var(--osat-sb-primary);
}

.osat-signupbox__intro {
    margin: 0 0 20px;
    font-size: 0.95em;
    font-style: normal;
    color: var(--osat-sb-muted);
}

.osat-signupbox__field { margin: 0 0 14px; }

.osat-signupbox__field label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 0.9em;
}

.osat-signupbox__input {
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    font-size: 16px; /* < 16px makes iOS Safari zoom on focus — do not reduce. */
    font-family: inherit;
    color: var(--osat-sb-text);
    background: var(--osat-sb-bg);
    border: 1px solid var(--osat-sb-border);
    border-radius: 8px;
}

.osat-signupbox__input:focus {
    outline: 2px solid var(--osat-sb-primary);
    outline-offset: 1px;
    background: #fff;
}

.osat-signupbox__passwrap { position: relative; display: block; }
.osat-signupbox__passwrap .osat-signupbox__input { padding-right: 74px; }

.osat-signupbox__passtoggle {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    min-height: 44px;
    min-width: 60px;
    padding: 0 10px;
    background: none;
    border: 0;
    color: var(--osat-sb-primary);
    font-size: 0.85em;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
}

.osat-signupbox__hint {
    display: block;
    margin-top: 6px;
    font-size: 0.8em;
    color: var(--osat-sb-muted);
}

.osat-signupbox__submit { margin: 20px 0 0; }

.osat-signupbox__btn {
    display: block;
    width: 100%;
    min-height: 52px;
    padding: 12px 20px;
    background: var(--osat-sb-accent);
    color: #fff;
    font-size: 1.02em;
    font-weight: 700;
    font-family: inherit;
    border: 0;
    border-radius: 8px;
    cursor: pointer;
}

.osat-signupbox__btn:hover { background: var(--osat-sb-accent-hover); }
.osat-signupbox__btn:disabled { opacity: 0.6; cursor: default; }

.osat-signupbox__smallprint {
    margin: 16px 0 0;
    font-size: 0.78em;
    line-height: 1.5;
    color: var(--osat-sb-muted);
}

.osat-signupbox__smallprint a { color: var(--osat-sb-primary); }

.osat-signupbox__message {
    margin: 0 0 16px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 0.92em;
    background: #FDECEE;
    border: 1px solid var(--osat-sb-accent);
    color: #8E1F28;
}

/* free-signup.js toggles these two on the shared #osat-signup-message node. */
.osat-signupbox__message.osat-login-message--success {
    background: #E8F6EC;
    border-color: #28a745;
    color: #1B5E2A;
}
.osat-signupbox__message.osat-login-message--error {
    background: #FDECEE;
    border-color: var(--osat-sb-accent);
    color: #8E1F28;
}

/* Honeypot — off-canvas, not display:none (bots detect and skip hidden fields). */
.osat-signupbox__hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Signed-in variant: no form, just a way back into the app. */
.osat-signupbox--loggedin {
    border-top-color: var(--osat-sb-primary);
    text-align: center;
}
.osat-signupbox--loggedin p { margin: 0; }
