.driver-agreement-modal[hidden], .driver-agreement-modal [hidden] { display: none !important; }
.driver-agreement-modal { position: fixed; inset: 0; z-index: 12500; display: grid; place-items: center; padding: max(12px, env(safe-area-inset-top)) 14px max(12px, env(safe-area-inset-bottom)); background: rgba(12,18,27,.74); backdrop-filter: blur(6px); }
@media (max-width: 600px), (pointer: coarse) { .driver-agreement-modal { padding-bottom: max(64px, calc(env(safe-area-inset-bottom, 0px) + 16px)); } }
.driver-agreement-card { width: min(660px,100%); max-height: 100%; height: min(860px,100%); display: flex; flex-direction: column; overflow: hidden; background: #fff; border-radius: 24px; box-shadow: 0 24px 70px #0005; color: #202833; }
.driver-agreement-header { display: flex; align-items: center; gap: 13px; padding: 20px 22px; background: #fff7ef; border-bottom: 1px solid #f6dcc4; flex-shrink: 0; }
.driver-agreement-header p { margin: 0 0 5px; color: #af4100; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.driver-agreement-header h2 { margin: 0; font-size: 23px; line-height: 1.15; }
.driver-agreement-icon { width: 45px; height: 45px; flex-shrink: 0; display: grid; place-items: center; border-radius: 15px; color: #fff; background: #ff6b00; font-size: 26px; }
.driver-agreement-scroll { padding: 18px 22px; overflow-y: auto; overscroll-behavior: contain; min-height: 80px; flex: 1; line-height: 1.65; font-size: 14px; overflow-wrap: anywhere; }
.driver-agreement-scroll h3 { font-size: 16px; margin: 24px 0 8px; line-height: 1.4; }
.driver-agreement-scroll p { margin: 0 0 10px; color: #344256; }
.driver-agreement-scroll ul { margin: 0 0 12px; padding-left: 20px; }
.driver-agreement-scroll li { margin-bottom: 8px; color: #344256; }
#driver-agreement-status { padding: 12px 14px; border-radius: 12px; color: #1b594a; background: #edf8f3; font-weight: 600; }
.driver-agreement-scroll .driver-agreement-meta { color: #586577; font-size: 12px; }
.driver-agreement-operator { padding: 15px; border: 1px solid #e0e6ed; border-radius: 14px; background: #fafbfd; }
.driver-agreement-operator p { margin: 5px 0 0; }
.driver-agreement-footer { padding: 14px 22px 18px; border-top: 1px solid #e4e8ed; background: #fff; flex-shrink: 0; }
.driver-agreement-check { display: flex; align-items: flex-start; gap: 11px; font-size: 13px; font-weight: 650; line-height: 1.45; min-height: 44px; cursor: pointer; }
.driver-agreement-check input { margin: 2px 0 0; width: 21px; height: 21px; flex-shrink: 0; accent-color: #ef6500; }
.driver-agreement-help { margin: 7px 0 5px; font-size: 11px; line-height: 1.45; color: #626f7f; }
.driver-agreement-error { color: #8c2824; background: #fff0ee; padding: 10px 12px; margin: 0 0 10px; border-radius: 10px; font-size: 12px; line-height: 1.4; }
.driver-agreement-tools { display: flex; flex-wrap: wrap; gap: 4px 10px; justify-content: space-between; }
.driver-agreement-modal button { min-height: 44px; border-radius: 12px; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.driver-agreement-tools button { color: #445369; background: #fff; border: 0; padding: 4px 0; text-decoration: underline; }
.driver-agreement-actions { display: flex; gap: 10px; margin-top: 4px; }
.driver-agreement-actions button { padding: 10px 14px; flex: 1; background: #fff; border: 1px solid #d8e0e7; color: #344256; }
.driver-agreement-actions #driver-agreement-accept { color: #fff; background: #f66c08; border-color: #f66c08; flex: 1.35; }
.driver-agreement-modal button:disabled { opacity: .5; cursor: default; }
.driver-agreement-modal :focus-visible { outline: 3px solid #f69b55; outline-offset: 3px; }
#driver-agreement-history { border-top: 1px solid #dfe6ed; padding-top: 14px; margin-top: 20px; }
#driver-agreement-history summary { min-height: 44px; color: #364d69; font-weight: 700; cursor: pointer; }
#driver-agreement-history pre { white-space: pre-wrap; font: inherit; }
#driver-agreement-copy-text { display: block; width: 100%; min-height: 130px; margin-top: 15px; border: 1px solid #ccd6e0; border-radius: 10px; font: inherit; color: #263849; background: #fff; padding: 10px; box-sizing: border-box; user-select: text; }
#driver-agreement-copy-status { margin: 12px 0; color: #1b594a; font-weight: 650; }
@media (max-width: 390px) { .driver-agreement-modal { padding-left: 8px; padding-right: 8px; } .driver-agreement-header, .driver-agreement-scroll, .driver-agreement-footer { padding-left: 15px; padding-right: 15px; } .driver-agreement-header h2 { font-size: 20px; } .driver-agreement-actions { gap: 7px; } .driver-agreement-actions button { padding: 9px; font-size: 12px; } }
@media (max-height: 550px) { .driver-agreement-header { padding-top: 10px; padding-bottom: 10px; } .driver-agreement-header h2 { font-size: 18px; } .driver-agreement-footer { padding-top: 8px; padding-bottom: 8px; } .driver-agreement-help { display: none; } }
