/* =========================================================
   Liznoire Account Page - Premium Light Mode
   ========================================================= */

.liz-account-section {
    padding: 60px 34px 100px;
    max-width: 900px;
    margin: 0 auto;
}

.liz-account-card {
    background: var(--liz-bg-surface);
    border: 1px solid var(--liz-border-subtle);
    border-radius: 16px;
    box-shadow: var(--liz-shadow-soft);
    overflow: hidden;
}

.liz-account-card-header {
    padding: 40px 48px 30px;
    border-bottom: 1px solid var(--liz-border-subtle);
    background: rgba(0, 0, 0, 0.01);
}

.liz-account-card-header h2 {
    color: var(--liz-text-pure);
    font-size: 26px;
    font-weight: 800;
    margin: 0 0 12px;
}

.liz-account-card-header p {
    color: var(--liz-text-muted);
    font-size: 15px;
    margin: 0;
    line-height: 1.6;
}

.liz-account-content {
    padding: 48px;
}

/* Error/Alert */
.liz-account-alert {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.2);
    padding: 14px 20px;
    border-radius: 8px;
    font-size: 14px;
    margin-bottom: 24px;
    font-weight: 600;
}

/* Success Actions */
.liz-account-success-actions {
    margin-top: 32px;
    text-align: center;
}

.liz-account-signin-btn {
    display: inline-block;
    background: var(--liz-text-pure);
    color: #ffffff;
    padding: 14px 32px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all var(--liz-transition-fast);
    box-shadow: 0 4px 15px rgba(15, 23, 42, 0.15);
}

.liz-account-signin-btn:hover {
    background: var(--liz-accent);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 224, 172, 0.3);
}

/* Overrides for osTicket internal form */
.liz-account-content form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.liz-account-content table {
    width: 100%;
    border-collapse: collapse;
}

.liz-account-content td {
    padding: 12px 0;
    vertical-align: top;
}

.liz-account-content td:first-child {
    width: 25%;
    padding-right: 20px;
    font-weight: 700;
    color: var(--liz-text-pure);
    font-size: 14px;
    padding-top: 18px;
}

.liz-account-content input[type="text"],
.liz-account-content input[type="password"],
.liz-account-content input[type="email"],
.liz-account-content select {
    box-sizing: border-box;
    background: var(--liz-bg-base);
    border: 1px solid var(--liz-border-highlight);
    color: var(--liz-text-pure);
    padding: 14px 16px;
    border-radius: 8px;
    font-family: var(--liz-font-primary);
    font-size: 15px;
    transition: all var(--liz-transition-fast);
}

.liz-account-content input:focus,
.liz-account-content select:focus {
    outline: none;
    border-color: var(--liz-accent);
    box-shadow: 0 0 0 3px rgba(0, 224, 172, 0.15);
    background: #ffffff;
}

/* Specific fix for Phone + Ext */
.liz-account-content input[name="phone"] {
    display: inline-block !important;
    width: 280px !important;
    max-width: 100% !important;
    height: 48px !important;
    box-sizing: border-box !important;
    background: var(--liz-bg-base) !important;
    border: 1px solid var(--liz-border-highlight) !important;
    color: var(--liz-text-pure) !important;
    padding: 14px 16px !important;
    border-radius: 8px !important;
    font-family: var(--liz-font-primary) !important;
    font-size: 15px !important;
}

.liz-account-content input[name="ext"] {
    display: inline-block !important;
    width: 105px !important;
    height: 48px !important;
    box-sizing: border-box !important;
    background: var(--liz-bg-base) !important;
    border: 1px solid var(--liz-border-highlight) !important;
    color: var(--liz-text-pure) !important;
    padding: 14px 16px !important;
    border-radius: 8px !important;
    font-family: var(--liz-font-primary) !important;
    font-size: 15px !important;
    margin-left: 6px !important;
}

.liz-account-content input[name="phone"]:focus,
.liz-account-content input[name="ext"]:focus {
    outline: none !important;
    border-color: var(--liz-accent) !important;
    box-shadow: 0 0 0 3px rgba(0, 224, 172, 0.15) !important;
    background: #ffffff !important;
}

.liz-account-content select {
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg fill="%2364748b" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position-x: calc(100% - 12px);
    background-position-y: 12px;
    padding-right: 40px;
}

.liz-account-content input[type="submit"],
.liz-account-content input[type="button"],
.liz-account-content input[type="reset"] {
    background: var(--liz-text-pure);
    color: #ffffff;
    border: none;
    padding: 14px 32px;
    border-radius: 8px;
    font-family: var(--liz-font-primary);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    cursor: pointer;
    transition: all var(--liz-transition-fast);
    margin-top: 20px;
}

.liz-account-content input[type="submit"]:hover {
    background: var(--liz-accent);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 224, 172, 0.25);
}

.liz-account-content input[type="reset"],
.liz-account-content input[type="button"] {
    background: transparent;
    color: var(--liz-text-main);
    border: 2px solid var(--liz-border-highlight);
}

.liz-account-content input[type="reset"]:hover,
.liz-account-content input[type="button"]:hover {
    background: var(--liz-bg-base);
    color: var(--liz-text-pure);
    border-color: var(--liz-text-pure);
    box-shadow: none;
}

.liz-account-content p[style*="text-align:center"] {
    margin-top: 40px;
    display: flex;
    gap: 16px;
    justify-content: center;
    align-items: center;
}

/* Responsive */
@media (max-width: 768px) {
    .liz-account-section { padding: 40px 20px; }
    .liz-account-card-header, .liz-account-content { padding: 30px 24px; }
    .liz-account-content td, .liz-account-content td:first-child { display: block; width: 100%; }
}

.liz-account-content,
.liz-account-content p,
.liz-account-content span,
.liz-account-content div,
.liz-account-content label {
    color: var(--liz-text-main);
}

.liz-account-content td:first-child,
.liz-account-content label {
    color: var(--liz-text-pure) !important;
}

.liz-account-content .error,
.liz-account-content font.error,
.liz-account-content span.error {
    color: #ef4444 !important;
}

/* =========================================================
   Phone Number Row Final Fix
   ========================================================= */

/* Target the phone row by the first text input in that row
.liz-account-content td:has(input[type="tel"])
 {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Phone input */
.liz-account-content input[type="tel"]
 {
    width: 280px !important;
    min-width: 280px !important;
    height: 48px !important;
    box-sizing: border-box !important;
    background: var(--liz-bg-base) !important;
    border: 1px solid var(--liz-border-highlight) !important;
    color: var(--liz-text-pure) !important;
    padding: 14px 16px !important;
    border-radius: 8px !important;
    font-family: var(--liz-font-primary) !important;
    font-size: 15px !important;
} */

/* Register button text should stay white, not red */
.liz-account-content input[type="submit"],
.liz-account-content input[type="submit"]:hover,
.liz-account-content input[value="Register"],
.liz-account-content input[value="REGISTER"] {
    color: #ffffff !important;
}