.enroll-dialog { width:min(980px,96vw); max-height:94dvh; padding:0; border:1px solid #334761; border-radius:24px; color:#ebf1fa; background:#101d32; box-shadow:0 24px 90px #0008; }
.enroll-dialog::backdrop { background:#030b19b8; }
.enroll-wrap { padding:32px; }
.enroll-top { display:flex; justify-content:space-between; align-items:center; gap:16px; border-bottom:1px solid #2a3c56; padding-bottom:22px; margin-bottom:24px; }
.enroll-top h2 { margin:6px 0; font-size:28px; }
.enroll-top p,.enroll-note { color:#b0bed1; line-height:1.7; margin:6px 0 18px; }
.enroll-dialog button { min-height:46px; padding:10px 18px; border:1px solid #425674; border-radius:12px; cursor:pointer; background:#1b2d48; color:#fff; font:inherit; }
.enroll-dialog button:disabled { opacity:.45; cursor:wait; }
.enroll-dialog .enroll-primary { background:#d6e5ff; color:#10213c; border:0; font-weight:700; }
.enroll-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:18px 0; }
.enroll-dialog label { display:flex; flex-direction:column; gap:9px; font-size:15px; }
.enroll-dialog input,.enroll-dialog select,.enroll-dialog textarea { width:100%; min-width:0; min-height:50px; border-radius:10px; border:1px solid #43536b; padding:12px; font:inherit; background:#0c1628; color:#f0f5ff; box-sizing:border-box; }
.enroll-dialog input:focus,.enroll-dialog select:focus,.enroll-dialog textarea:focus { outline:2px solid #89b3f6; }
.enroll-dialog details { border:1px solid #334761; border-radius:14px; padding:18px; margin:18px 0; }
.enroll-dialog summary { cursor:pointer; font-weight:650; min-height:26px; }
.enroll-dialog .enroll-check { flex-direction:row; align-items:flex-start; line-height:1.6; }
.enroll-check input { min-height:24px; width:24px; flex:0 0 24px; }
.enroll-sign { display:block; width:100%; height:180px; margin:12px 0; border-radius:14px; background:#fff; touch-action:none; }
.enroll-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:12px; margin-top:24px; }
.enroll-doc { white-space:pre-wrap; max-height:280px; overflow:auto; line-height:1.9; color:#d7e0ef; }
.enroll-list { display:grid; gap:12px; }
.enroll-list button { text-align:left; padding:18px; }
.enroll-list small { display:block; margin-top:8px; color:#b0bed1; }
.enroll-photo { max-width:100%; max-height:320px; border-radius:12px; object-fit:contain; }
.enroll-error { color:#ffb7ad; line-height:1.7; min-height:24px; }
.enroll-facts { display:grid; grid-template-columns:130px 1fr; gap:12px; margin:22px 0; overflow-wrap:anywhere; }
.enroll-facts dt { color:#b0bed1; }.enroll-facts dd { margin:0; white-space:pre-wrap; }
.enroll-payment { padding:20px; border:1px solid #334761; border-radius:14px; margin:16px 0; }
.enroll-full { grid-column:1/-1; }
@media(max-width:650px){.enroll-wrap{padding:20px}.enroll-grid{grid-template-columns:1fr}.enroll-top h2{font-size:23px}.enroll-facts{grid-template-columns:100px 1fr}.enroll-dialog{max-height:96dvh;width:98vw;border-radius:16px}.enroll-actions button{flex:1}.enroll-top{align-items:flex-start}}
.enrollment-open { overflow:hidden; }
.enroll-recovery { border:1px solid #c4a56b; background:#243049; border-radius:14px; padding:20px; margin:24px 0; }
.enroll-recovery strong { color:#ffe2a9; }
.enroll-list { margin-top:20px; }
.enroll-receipt-picker { min-width:0; margin:20px 0; padding:18px; border:1px solid #425674; border-radius:14px; }
.enroll-receipt-picker legend { font-weight:650; padding:0 6px; }
.enroll-photo-actions { display:flex; gap:12px; flex-wrap:wrap; margin:12px 0; }
.enroll-dialog .enroll-file-button { position:relative; display:flex; align-items:center; justify-content:center; min-height:48px; padding:10px 20px; border:1px solid #7894bd; border-radius:12px; background:#243b5d; color:#fff; cursor:pointer; box-sizing:border-box; }
.enroll-file-button:focus-within { outline:2px solid #b0ccff; }
.enroll-dialog .enroll-file-button input { position:absolute; width:1px; height:1px; min-height:0; padding:0; border:0; opacity:0; overflow:hidden; }
.enroll-photo-preview { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); gap:14px; }
.enroll-photo-preview figure { margin:0 0 16px; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
@media(max-width:650px){.enroll-photo-actions .enroll-file-button{flex:1;min-width:120px}.enroll-receipt-picker{padding:12px}.enroll-dialog .enroll-actions button{min-width:0}}
