/* Login / register — TravelForge-style auth shell */

html.upos-auth-html {
    height: 100%;
    background: #0f172a !important;
}

body.upos-auth-travelforge {
    font-family: Inter, system-ui, sans-serif;
    min-height: 100vh;
    background: transparent !important;
    margin: 0;
    color: #0f172a;
}

.upos-auth-travelforge .container-fluid {
    max-width: none;
    padding: 0;
}

.upos-auth-travelforge .eq-height-row {
    min-height: 100vh;
    margin: 0;
}

.upos-auth-travelforge .right-col {
    background: linear-gradient(180deg, #0f172a 0%, #1e293b 100%);
    min-height: 100vh;
    padding-top: 4.5rem !important;
    padding-bottom: 2rem !important;
}

/* Register card */
.upos-auth-travelforge .upos-register-card {
    max-width: 920px;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.upos-auth-travelforge .upos-register-panel {
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 30px rgba(15, 23, 42, 0.18) !important;
    padding: 1.25rem 1.5rem 1.5rem !important;
}

.upos-auth-travelforge .box,
.upos-auth-travelforge .box-primary {
    background: #fff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 8px 30px rgba(15, 23, 42, 0.12);
}

/* Login box (auth/register user) */
.upos-auth-travelforge .upos-auth-card {
    max-width: 420px;
    margin: 0 auto;
}

/* ——— jQuery Steps wizard (business register) ——— */
.upos-auth-travelforge .wizard {
    width: 100%;
}

.upos-auth-travelforge .wizard > .steps {
    margin-bottom: 1.25rem;
}

.upos-auth-travelforge .wizard > .steps > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    width: 100% !important;
    padding: 0;
    margin: 0;
    list-style: none;
}

.upos-auth-travelforge .wizard > .steps > ul > li {
    flex: 1 1 0;
    min-width: 0;
    width: auto !important;
    float: none !important;
}

.upos-auth-travelforge .wizard > .steps > ul > li a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.65rem 0.75rem;
    border-radius: 8px;
    background: #f1f5f9;
    color: #64748b;
    font-weight: 600;
    font-size: 0.75rem;
    text-decoration: none !important;
    border: 1px solid #e2e8f0;
    transition: all 0.2s ease;
}

.upos-auth-travelforge .wizard > .steps > ul > li.current a,
.upos-auth-travelforge .wizard > .steps > ul > li.done a {
    background: #1e3a5f;
    color: #fff !important;
    border-color: #1e3a5f;
}

.upos-auth-travelforge .wizard > .steps > ul > li.disabled a {
    opacity: 0.55;
    cursor: default;
}

.upos-auth-travelforge .wizard > .steps .number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
    font-size: 0.6875rem;
    font-weight: 700;
}

.upos-auth-travelforge .wizard > .steps > ul > li:not(.current):not(.done) .number {
    background: #e2e8f0;
    color: #475569;
}

.upos-auth-travelforge .wizard > .content {
    background: transparent !important;
    border: none !important;
    margin: 0 0 1rem !important;
    padding: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.upos-auth-travelforge .wizard > .content > .body {
    padding: 0 !important;
    width: 100% !important;
    float: none !important;
    position: static !important;
    height: auto !important;
}

.upos-auth-travelforge .wizard > .actions {
    margin-top: 0.5rem;
}

.upos-auth-travelforge .wizard > .actions > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.upos-auth-travelforge .wizard > .actions > ul > li {
    float: none !important;
    margin: 0 !important;
}

/* ——— Form fields ——— */
.upos-auth-travelforge #business_register_form legend,
.upos-auth-travelforge legend.text-black {
    color: #0f172a !important;
    font-size: 0.9375rem;
    font-weight: 600;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e2e8f0;
    width: 100%;
}

.upos-auth-travelforge .upos-register-grid {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
}

.upos-auth-travelforge .upos-register-grid > [class*="col-"] {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.upos-auth-travelforge .form-group {
    margin-bottom: 1rem;
}

.upos-auth-travelforge label {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #475569;
    margin-bottom: 0.35rem;
}

.upos-auth-travelforge .form-control {
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    padding: 0.55rem 0.75rem;
    min-height: 2.375rem;
    font-size: 0.875rem;
    box-shadow: none;
}

.upos-auth-travelforge .form-control:focus {
    border-color: #1e3a5f;
    box-shadow: 0 0 0 3px rgba(30, 58, 95, 0.12);
}

.upos-auth-travelforge .input-group {
    display: flex;
    width: 100%;
}

.upos-auth-travelforge .input-group-addon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    background: #f1f5f9 !important;
    color: #1e3a5f !important;
    border: 1px solid #e2e8f0;
    border-right: none;
    border-radius: 8px 0 0 8px;
}

.upos-auth-travelforge .input-group .form-control {
    border-radius: 0 8px 8px 0;
}

.upos-auth-travelforge .select2-container--default .select2-selection--single {
    border: 1px solid #e2e8f0;
    border-radius: 0 8px 8px 0;
    min-height: 2.375rem;
    padding-top: 3px;
}

.upos-auth-travelforge input[type="file"] {
    font-size: 0.8125rem;
    padding: 0.35rem 0;
}

/* Buttons (wizard + daisy-style classes from login.js) */
.upos-auth-travelforge .btn-primary,
.upos-auth-travelforge .tw-dw-btn-primary,
.upos-auth-travelforge a.tw-dw-btn-primary,
.upos-auth-travelforge .wizard > .actions a[href="#next"],
.upos-auth-travelforge .wizard > .actions a[href="#finish"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1.25rem !important;
    background: #1e3a5f !important;
    border: 1px solid #1e3a5f !important;
    border-radius: 9999px !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.upos-auth-travelforge .btn-primary:hover,
.upos-auth-travelforge .tw-dw-btn-primary:hover,
.upos-auth-travelforge .wizard > .actions a[href="#next"]:hover {
    background: #152a47 !important;
    border-color: #152a47 !important;
    color: #fff !important;
}

.upos-auth-travelforge .tw-dw-btn:not(.tw-dw-btn-primary),
.upos-auth-travelforge .wizard > .actions a[href="#previous"] {
    display: inline-flex !important;
    align-items: center;
    padding: 0.5rem 1.25rem !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 9999px !important;
    color: #64748b !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    text-decoration: none !important;
}

.upos-auth-travelforge .wizard > .actions a.disabled {
    opacity: 0.45;
    pointer-events: none;
}

.upos-auth-travelforge label.error {
    color: #dc2626;
    font-size: 0.75rem;
    margin-top: 0.25rem;
}
