.device-approval-dialog { box-sizing: border-box; width: min(500px, calc(100% - 28px)); max-height: calc(100dvh - 32px); padding: 28px; overflow: auto; border: 1px solid #294360; border-radius: 22px; color: #f4f8ff; background: #0b1728; box-shadow: 0 30px 100px #0009; font-family: inherit; }
.device-approval-dialog::backdrop { background: #010610bf; backdrop-filter: blur(6px); }
.device-approval-dialog form { margin: 0; padding: 0; }
.device-approval-eyebrow { margin: 0 0 12px; color: #64bfff; letter-spacing: .18em; font-size: 11px; font-weight: 800; }
.device-approval-dialog h2 { margin: 0; font-size: 26px; }
.device-approval-description, #device-owner-help { color: #a2b3ca; font-size: 13px; line-height: 1.6; }
.device-approval-summary { display: grid; gap: 8px; padding: 18px; margin: 20px 0; border: 1px solid #28435e; border-radius: 14px; background: #071220; }
.device-approval-summary small { color: #9aacc3; font-size: 10px; letter-spacing: .12em; }
.device-approval-code { color: #7acaff; font: 700 26px ui-monospace, monospace; letter-spacing: .14em; }
.device-approval-owner-code { color: #70e4b3; font: 800 18px ui-monospace, monospace; letter-spacing: .08em; overflow-wrap: anywhere; }
.device-approval-success-mark { display: grid; width: 58px; height: 58px; margin: 18px 0; place-items: center; border: 1px solid rgba(74, 225, 165, .45); border-radius: 50%; color: #07151f; background: #63e0af; box-shadow: 0 0 36px rgba(74, 225, 165, .22); font-size: 30px; font-weight: 900; }
.device-approval-success-summary { gap: 10px; }
.device-approval-success-summary small:not(:first-child) { margin-top: 9px; }
.device-approval-model { color: #b7c5d8; font-size: 12px; overflow-wrap: anywhere; }
.device-approval-dialog label { display: block; color: #e0e9f6; margin: 18px 0 8px; font-size: 13px; font-weight: 700; }
.device-approval-dialog input { box-sizing: border-box; width: 100%; height: 48px; padding: 0 12px; border: 1px solid #395576; border-radius: 11px; color: #fff; background: #060f1c; font: inherit; }
.device-approval-dialog input:focus { outline: 2px solid #64bfff; outline-offset: 2px; }
#device-owner-help { display: block; margin-top: 10px; font-size: 12px; }
#device-approval-error { color: #ff9ca8; min-height: 18px; font-size: 13px; }
.device-approval-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.device-approval-actions button { min-height: 44px; width: auto; padding: 10px 16px; border: 1px solid #34506f; border-radius: 11px; color: #eef5ff; background: #13243a; font-family: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.device-approval-actions .device-approval-submit { background: linear-gradient(110deg, #2876e8, #6346f5); border-color: transparent; }
.device-approval-actions button:disabled { opacity: .6; cursor: wait; }
.device-owner-reference { display: block; color: #7ad9c1 !important; margin-top: 6px; font-size: 12px; overflow-wrap: anywhere; }
@media (max-width: 420px) { .device-approval-dialog { padding: 20px; } .device-approval-actions { flex-wrap: wrap; } .device-approval-actions button { flex: 1; } }
