/* 密码保险库 - 暗色主题 */
body { min-height: 100vh; background: #0a0a0f; }

.card {
    border-radius: 12px;
    background: #1a1a2e;
    border: 1px solid #2a2a4a;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.3); }

.navbar { box-shadow: 0 2px 10px rgba(0,0,0,0.5); }

.btn-warning { color: #000; font-weight: 600; }

.form-control, .input-group-text {
    background-color: #12121e;
    border-color: #2a2a4a;
    color: #e0e0e0;
}

.form-control:focus {
    background-color: #1a1a2e;
    border-color: #f0ad4e;
    box-shadow: 0 0 0 0.2rem rgba(240,173,78,0.25);
    color: #fff;
}

.alert { border-radius: 10px; }
.badge { font-weight: 500; }
.password-mask { letter-spacing: 3px; font-weight: bold; color: #888; }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0a0a0f; }
::-webkit-scrollbar-thumb { background: #2a2a4a; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #3a3a5a; }

.btn-outline-light:hover {
    background-color: #2a2a4a;
    border-color: #3a3a5a;
}

a { color: #5bc0de; }
a:hover { color: #8dd5e8; }

.input-group .btn-outline-secondary {
    border-color: #2a2a4a;
}

.input-group .btn-outline-secondary:hover {
    background-color: #2a2a4a;
    border-color: #3a3a5a;
}
