.driver-dialog, #driver-login-dialog { width: min(500px, calc(100vw - 28px)); max-width: 500px; max-height: calc(100dvh - 48px); height: fit-content; min-height: 0; margin: auto; padding: 22px; border: 1px solid #e2e7f0; border-radius: 20px; box-shadow: 0 24px 80px #12203938; overflow-y: auto; }
.driver-dialog::backdrop, #driver-login-dialog::backdrop { background: #18233e66; backdrop-filter: blur(3px); }
.driver-dialog form { display: block; height: auto; max-height: none; overflow: visible; padding: 0; }
.driver-dialog .dialog-head, #driver-login-dialog .dialog-head { align-items: flex-start; gap: 14px; border: 0; padding: 0 0 18px; margin: 0; }
.driver-dialog .dialog-head h2, #driver-login-dialog h2 { font-size: 23px; line-height: 1.25; font-weight: 650; margin: 0 0 6px; }
.driver-dialog .dialog-head p, #driver-login-dialog p { font-size: 13px; line-height: 1.5; color: #758195; margin: 0; }
.driver-dialog .dialog-head .kicker { display: none; }
.driver-dialog .icon-button, #driver-login-dialog .icon-button { flex: 0 0 36px; min-width: 36px; width: 36px; height: 36px; min-height: 36px; border: 0; border-radius: 50%; background: #f0f3f8; color: #65728a; font-size: 25px; font-weight: 400; line-height: 1; padding: 0; }
.driver-dialog .dialog-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; overflow: visible; padding: 0; }
.driver-dialog .dialog-grid label { display: block; min-width: 0; color: #627087; font-size: 13px; font-weight: 550; }
.driver-dialog input, .driver-dialog select { display: block; width: 100%; box-sizing: border-box; height: 48px; min-height: 48px; min-width: 0; padding: 11px 12px; margin-top: 6px; border: 1px solid #dfe5ef; border-radius: 10px; color: #23324c; background: #fafbfe; font-size: 16px; font-weight: 400; }
.driver-dialog select { appearance: none; -webkit-appearance: none; padding-right: 35px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23788195' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; }
.driver-dialog input[readonly] { color: #7a8497; }
.driver-dialog .field-help { display: block; margin-top: 5px; color: #8b95a5; font-size: 12px; line-height: 1.4; font-weight: 400; }
.driver-password-controls { display: flex; align-items: center; gap: 8px; margin-top: 8px; }
.driver-password-controls button { min-height: 36px; padding: 6px 12px; border: 1px solid #dfe5ef; border-radius: 8px; background: #fff; color: #2b4485; font-size: 12px; font-weight: 600; }
.driver-dialog .dialog-actions { position: static; display: flex; flex-wrap: wrap; margin-top: 20px; padding-top: 16px; gap: 10px; border-top: 1px solid #edf0f5; }
.driver-dialog .dialog-actions > button { flex: 1; min-height: 48px; font-size: 14px; border-radius: 10px; }
#driver-login-dialog .dialog-head > div { min-width: 0; }
#driver-login-details { width: 100%; min-height: 240px; resize: vertical; border: 1px solid #dfe5ef; border-radius: 12px; background: #f7f9fd; padding: 14px; margin: 2px 0 12px; color: #263750; font: 14px/1.7 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; overflow-wrap: anywhere; }
#driver-login-dialog .dialog-actions { display: flex; position: static; gap: 8px; margin-top: 16px; padding: 0; border: 0; }
#driver-login-dialog .dialog-actions button { flex: 1; min-height: 48px; border-radius: 10px; font-size: 14px; }
#driver-login-copy-status { min-height: 20px; }
.driver-existing-login { min-width: 0; padding: 16px; border: 1px solid #dfe5ef; border-radius: 12px; background: #f5f7fd; }
.driver-existing-login > span { display: block; color: #627087; font-size: 13px; }
.driver-existing-login > strong { display: block; margin-top: 6px; overflow-wrap: anywhere; color: #23324c; font-size: 16px; }
.driver-existing-login p { margin: 8px 0 12px; color: #627087; font-size: 13px; line-height: 1.5; }
.driver-existing-login button { min-height: 44px; width: 100%; font-size: 14px; }
.staff-login .login-password-toggle { min-height: 44px; padding: 8px 12px; justify-self: end; width: auto; font-size: 14px; }
@media (max-width: 480px) { .driver-dialog, #driver-login-dialog { padding: 18px; } }
