/* Smart WP Lock - Lock Screen Styles */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap');

/* Full page lock - takes over entire viewport */
body.swpl-fullpage {
    margin: 0;
    padding: 0;
    background: #f0f2f5;
    font-family: 'DM Sans', -apple-system, sans-serif;
    min-height: 100vh;
}

/* Admin bar offset */
body.swpl-fullpage.admin-bar .swpl-fullpage-wrap {
    min-height: calc(100vh - 32px);
}
@media screen and (max-width: 782px) {
    body.swpl-fullpage.admin-bar .swpl-fullpage-wrap {
        min-height: calc(100vh - 46px);
    }
}

.swpl-fullpage-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 16px;
    box-sizing: border-box;
}

.swpl-lock-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 20px;
    padding: 48px 40px 44px;
    width: 100%;
    max-width: 420px;
    text-align: center;
    box-shadow: 0 8px 40px rgba(0,0,0,.07);
    animation: swpl-slide-up .45s cubic-bezier(.22,.68,0,1.2) both;
}

@keyframes swpl-slide-up {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Lock Icon */
.swpl-lock-icon {
    width: 60px; height: 60px;
    background: #1a1a2e;
    border-radius: 18px;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 22px; color: #fff;
    animation: swpl-pop .5s cubic-bezier(.22,.68,0,1.4) .1s both;
}
@keyframes swpl-pop {
    from { opacity: 0; transform: scale(.6); }
    to   { opacity: 1; transform: scale(1); }
}
.swpl-lock-icon svg { width: 28px; height: 28px; }

.swpl-lock-title {
    font-size: 22px !important; font-weight: 600 !important;
    color: #111827 !important; margin: 0 0 10px !important;
    padding: 0 !important; border: none !important;
    font-family: 'DM Sans', -apple-system, sans-serif !important;
}
.swpl-lock-message {
    font-size: 14px; color: #6b7280;
    margin: 0 0 28px; line-height: 1.6;
}

/* Error */
.swpl-error {
    background: #fff1f2; color: #be123c;
    border: 1px solid #fecdd3; border-radius: 8px;
    padding: 10px 14px; font-size: 13px; margin-bottom: 18px;
    animation: swpl-shake .4s ease;
}
.swpl-error--locked { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }
@keyframes swpl-shake {
    0%,100% { transform: translateX(0); }
    20%,60%  { transform: translateX(-5px); }
    40%,80%  { transform: translateX(5px); }
}

/* Form */
.swpl-form { display: flex; flex-direction: column; gap: 12px; margin: 0 !important; padding: 0 !important; }
.swpl-input-wrap { position: relative; }

.swpl-input {
    width: 100% !important; padding: 13px 46px 13px 16px !important;
    font-size: 15px !important; font-family: inherit !important;
    border: 1.5px solid #e5e7eb !important; border-radius: 10px !important;
    outline: none !important; color: #111 !important; background: #fff !important;
    transition: border-color .2s, box-shadow .2s;
    box-sizing: border-box !important; box-shadow: none !important; margin: 0 !important;
}
.swpl-input:focus {
    border-color: #1a1a2e !important;
    box-shadow: 0 0 0 3px rgba(26,26,46,.08) !important;
}

.swpl-toggle {
    position: absolute; right: 12px; top: 50%; transform: translateY(-50%);
    background: none !important; border: none !important; cursor: pointer;
    color: #9ca3af; padding: 4px; display: flex; transition: color .2s;
    box-shadow: none !important;
}
.swpl-toggle:hover { color: #374151; }
.swpl-toggle svg { width: 18px; height: 18px; }

.swpl-btn {
    width: 100% !important; padding: 14px !important;
    background: #1a1a2e !important; color: #fff !important;
    font-size: 15px !important; font-weight: 600 !important; font-family: inherit !important;
    border: none !important; border-radius: 10px !important; cursor: pointer !important;
    transition: background .2s, transform .1s !important;
    display: block !important; text-align: center !important;
    box-shadow: none !important; margin: 0 !important;
}
.swpl-btn:hover  { background: #2d2d4e !important; }
.swpl-btn:active { transform: scale(.98) !important; }

/* Back Link */
.swpl-back-link {
    display: inline-block; margin-top: 20px;
    font-size: 13px; color: #9ca3af;
    text-decoration: none; transition: color .2s;
}
.swpl-back-link:hover { color: #374151; }

/* Admin notice (for no-password state) */
.swpl-admin-notice {
    background: #fffbeb; border: 1px solid #fde68a;
    border-radius: 8px; padding: 14px 18px; font-size: 14px; color: #92400e;
}
.swpl-admin-notice a { color: #b45309; }

@media (max-width: 480px) {
    .swpl-lock-card { padding: 36px 24px 32px; }
    .swpl-lock-title { font-size: 19px !important; }
}
