/* Onboarding – page-specific styles */

.lh-auth-wrap {
            font-family: "DM Sans", sans-serif;
            max-width: 460px; margin: 40px auto; padding: 0 16px;
        }
        .lh-auth-card {
            background: #fff; border: 1px solid #e2e8f0;
            border-radius: 20px; padding: 40px;
            box-shadow: 0 4px 24px rgba(0,0,0,.06);
        }
        .lh-auth-logo {
            text-align: center; margin-bottom: 28px;
            font-family: "Space Grotesk", sans-serif;
            font-size: 24px; font-weight: 700; color: #1a1a2e;
        }
        .lh-auth-logo span { color: #2563eb; }
        .lh-auth-title { font-family:"Space Grotesk",sans-serif; font-size:20px; font-weight:700; margin:0 0 6px; text-align:center; }
        .lh-auth-sub { text-align:center; color:#64748b; font-size:14px; margin-bottom:28px; }
        .lh-field { margin-bottom:16px; }
        .lh-field label { display:block; font-size:13px; font-weight:500; color:#374151; margin-bottom:6px; }
        .lh-field input, .lh-input {
            width:100%; padding:11px 14px; border:1px solid #e2e8f0;
            border-radius:10px; font-size:15px; font-family:"DM Sans",sans-serif;
            transition:.15s; outline:none; box-sizing:border-box;
        }
        .lh-field input:focus, .lh-input:focus { border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.1); }
        .lh-btn-main {
            width:100%; padding:13px; background:#2563eb; color:#fff;
            border:none; border-radius:10px; font-size:15px; font-weight:600;
            cursor:pointer; font-family:"DM Sans",sans-serif; margin-top:8px;
            transition:.15s;
        }
        .lh-btn-main:hover { background:#1d4ed8; }
        .lh-btn-main:disabled { opacity:.6; cursor:not-allowed; }
        .lh-divider { text-align:center; margin:20px 0; color:#94a3b8; font-size:13px; }
        .lh-auth-link { text-align:center; margin-top:20px; font-size:14px; color:#64748b; }
        .lh-auth-link a { color:#2563eb; text-decoration:none; font-weight:500; }
        .lh-msg { padding:12px 16px; border-radius:8px; font-size:14px; margin-bottom:16px; display:none; }
        .lh-msg.ok  { background:#f0fdf4; color:#166534; border:1px solid #bbf7d0; }
        .lh-msg.err { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
        .lh-msg.show { display:block; }
        /* Onboarding steps */
        .lh-ob-wrap {
            font-family:"DM Sans",sans-serif; max-width:640px; margin:40px auto; padding:0 16px;
        }
        .lh-ob-steps {
            display:flex; justify-content:center; gap:0; margin-bottom:40px;
        }
        .lh-ob-step {
            display:flex; flex-direction:column; align-items:center; gap:6px;
            flex:1; position:relative;
        }
        .lh-ob-step::after {
            content:""; position:absolute; top:18px; left:50%; width:100%;
            height:2px; background:#e2e8f0; z-index:0;
        }
        .lh-ob-step:last-child::after { display:none; }
        .lh-ob-step-num {
            width:36px; height:36px; border-radius:50%;
            border:2px solid #e2e8f0; background:#fff;
            display:flex; align-items:center; justify-content:center;
            font-size:14px; font-weight:700; color:#94a3b8;
            position:relative; z-index:1; transition:.3s;
        }
        .lh-ob-step.done .lh-ob-step-num  { background:#22c55e; border-color:#22c55e; color:#fff; }
        .lh-ob-step.active .lh-ob-step-num { background:#2563eb; border-color:#2563eb; color:#fff; }
        .lh-ob-step-lbl { font-size:12px; color:#94a3b8; font-weight:500; }
        .lh-ob-step.active .lh-ob-step-lbl { color:#2563eb; }
        .lh-ob-step.done .lh-ob-step-lbl  { color:#22c55e; }
        .lh-ob-panel {
            background:#fff; border:1px solid #e2e8f0;
            border-radius:20px; padding:40px;
            box-shadow:0 4px 24px rgba(0,0,0,.06);
        }
        .lh-ob-panel-title { font-family:"Space Grotesk",sans-serif; font-size:20px; font-weight:700; margin:0 0 6px; }
        .lh-ob-panel-sub { color:#64748b; font-size:14px; margin-bottom:28px; }
        .lh-ob-icon { font-size:48px; margin-bottom:16px; display:block; text-align:center; }
        .lh-status-box {
            display:flex; align-items:center; gap:12px;
            padding:14px 16px; border-radius:10px; font-size:14px;
            background:#f8fafc; border:1px solid #e2e8f0; margin-bottom:16px;
        }
        .lh-status-box.connected { background:#f0fdf4; border-color:#bbf7d0; }
        .lh-status-box.connected .lh-status-ico { color:#22c55e; font-size:20px; }
        .lh-status-box .lh-status-ico { font-size:20px; color:#94a3b8; }
        .lh-btn-secondary-ob {
            width:100%; padding:11px; background:#f8fafc; color:#374151;
            border:1px solid #e2e8f0; border-radius:10px; font-size:14px;
            cursor:pointer; font-family:"DM Sans",sans-serif; margin-top:8px;
            transition:.15s;
        }
        .lh-btn-secondary-ob:hover { background:#f1f5f9; }
        .lh-hint-box { background:#eff6ff; border:1px solid #bfdbfe; border-radius:10px; padding:14px; margin-bottom:20px; font-size:13px; color:#1e40af; }
        .lh-hint-box strong { display:block; margin-bottom:4px; }
        .lh-hint { font-size:12px; color:#94a3b8; margin-top:6px; }
        /* PMS карти */
        .lh-pms-grid { display:grid; gap:12px; margin-bottom:20px; }
        .lh-pms-card { border:2px solid #e2e8f0; border-radius:12px; padding:16px; cursor:pointer; transition:.15s; }
        .lh-pms-card:hover { border-color:#2563eb; background:#eff6ff; }
        .lh-pms-card.selected { border-color:#2563eb; background:#eff6ff; }
        .lh-pms-card.connected { border-color:#22c55e; background:#f0fdf4; }
        .lh-pms-card-hdr { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
        .lh-pms-card-title { font-weight:600; font-size:15px; }
        .lh-pms-fields { display:none; margin-top:12px; }
        .lh-pms-fields.open { display:block; }
        .lh-pms-field { margin-bottom:12px; }
        .lh-pms-field label { display:block; font-size:12px; font-weight:500; color:#374151; margin-bottom:5px; }
        @media(max-width:480px) {
            .lh-auth-card, .lh-ob-panel { padding:24px; }
            .lh-ob-step-lbl { font-size:10px; }
        }