.dp-login { margin-top: 1.25rem; }
.dp-divider { display: flex; align-items: center; gap: .75rem; color: #7a8190; margin: 1rem 0; }
.dp-divider::before, .dp-divider::after { content: ""; height: 1px; flex: 1; background: #dfe3ea; }
.dp-login-action { display: flex; align-items: stretch; gap: .55rem; }
.dp-login-button { flex: 1; min-width: 0; min-height: 46px; border: 0; border-radius: 8px; padding: .7rem 1rem; color: #fff; background: linear-gradient(135deg, #323f9d, #5062db); font-weight: 700; transition: transform .15s ease, opacity .15s ease; }
.dp-login-button:hover { transform: translateY(-1px); }
.dp-login-button:disabled { opacity: .65; cursor: wait; }
.dp-fingerprint { font-size: 1.2em; margin-right: .3rem; }
.dp-help-button { flex: 0 0 46px; min-height: 46px; border: 1px solid #cfd5e3; border-radius: 50%; color: #3545a4; background: #fff; font-size: 1.2rem; font-weight: 800; line-height: 1; cursor: pointer; transition: color .15s ease, border-color .15s ease, background .15s ease; }
.dp-help-button:hover, .dp-help-button:focus, .dp-help-button[aria-expanded="true"] { color: #fff; border-color: #4051bd; background: #4051bd; outline: none; }
.dp-help-button:focus-visible { box-shadow: 0 0 0 3px rgba(64, 81, 189, .25); }
.dp-help { position: relative; margin-top: .65rem; padding: .8rem .9rem; border: 1px solid #d9deeb; border-radius: 8px; color: #50596b; background: #f7f8fc; font-size: .87rem; line-height: 1.45; }
.dp-help::before { content: ""; position: absolute; top: -6px; right: 17px; width: 10px; height: 10px; border-top: 1px solid #d9deeb; border-left: 1px solid #d9deeb; background: #f7f8fc; transform: rotate(45deg); }
.dp-help a { color: #3545a4; font-weight: 700; text-decoration: underline; }
.dp-login-message { min-height: 1.4em; margin-top: .7rem; font-size: .9rem; text-align: center; }
.dp-error { color: #b42318; }
.dp-success { color: #08783e; }
.dp-panel { border: 1px solid #e1e5ec; border-radius: 12px; background: #fff; overflow: hidden; }
.dp-panel-head { padding: 22px; color: #fff; background: linear-gradient(135deg, #252f7d, #5366db); }
.dp-panel-body { padding: 22px; }
.dp-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dp-device { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid #edf0f5; }
.dp-device:last-child { border-bottom: 0; }
.dp-device-title { font-weight: 700; }
.dp-device-meta { color: #6f7785; font-size: .9rem; }
.dp-empty { padding: 30px 0; text-align: center; color: #6f7785; }
@media (max-width: 640px) { .dp-device { align-items: flex-start; flex-direction: column; } }
