#emrImport { --emr-accent:#625b57; margin:0 0 20px; border:1px solid #ddd9d5; border-radius:14px; background:#f5f3f0; overflow:hidden; color:#48433f; }
#emrImport > summary { display:flex; align-items:center; justify-content:space-between; padding:17px 18px; cursor:pointer; font-size:15px; font-weight:650; list-style:none; }
#emrImport > summary::-webkit-details-marker { display:none; }
#emrImport small { display:block; margin-top:4px; font-size:12px; font-weight:400; color:#88817b; }
#emrImport .emr-expand { font-size:22px; font-weight:400; color:var(--emr-accent); }
#emrImport[open] .emr-expand { transform:rotate(45deg); }
#emrImport .emr-toolbar { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:14px; padding:0 18px 14px; align-items:center; }
#emrImport .emr-upload { position:relative; display:flex; align-items:center; gap:12px; min-width:0; padding:14px; background:#fffdfa; border:1px dashed #c5beb7; border-radius:10px; cursor:pointer; }
#emrImport .emr-upload:hover { border-color:var(--emr-accent); background:white; }
#emrImport .emr-upload:focus-within { outline:2px solid var(--emr-accent); outline-offset:2px; }
#emrImport .emr-upload > span:nth-child(2) { min-width:0; }
#emrImport .emr-upload strong { font-size:13px; font-weight:600; }
#emrImport .emr-filename { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#emrImport .emr-file-icon { display:grid; place-items:center; width:32px; height:36px; border-radius:7px; background:#eeeae5; color:var(--emr-accent); font-size:23px; flex-shrink:0; }
#emrImport input[type=file] { position:absolute; width:1px; height:1px; opacity:0; }
#emrImport label { display:block; font-size:11px; font-weight:500; color:#77716c; }
#emrImport .emr-date { display:block; box-sizing:border-box; width:100%; margin-top:6px; padding:10px; border:1px solid #ddd9d5; border-radius:8px; background:white; color:#48433f; font:inherit; font-size:13px; }
#emrImport [role=status] { white-space:pre-line; font-size:12px; line-height:1.7; margin:0 18px 14px; color:#716b65; }
#emrImport [role=status]:empty { display:none; }
#emrImport .emr-preview { padding:0 12px; }
#emrImport .emr-case { padding:14px; margin-bottom:10px; border:1px solid #e3dfdb; border-radius:10px; background:white; }
#emrImport .emr-case > label { display:flex; flex-direction:row-reverse; justify-content:flex-end; align-items:center; gap:8px; color:var(--emr-accent); font-size:11px; letter-spacing:.2px; }
#emrImport .emr-fields { display:grid; grid-template-columns:1fr 1.25fr .65fr 2fr .7fr; gap:10px; margin:12px 0 8px; }
#emrImport .emr-fields input, #emrImport .emr-fields select { display:block; box-sizing:border-box; width:100%; height:36px; margin-top:5px; padding:6px 8px; min-width:0; border:1px solid #e3dfdb; border-radius:6px; background:#fdfcfb; color:#37322f; font:inherit; font-size:13px; }
#emrImport input:focus, #emrImport select:focus { outline:2px solid #bcb0a6; outline-offset:1px; }
#emrImport .emr-warning { color:#927045; font-size:11px; margin:7px 0; }
#emrImport .emr-warning:empty { display:none; }
#emrImport .emr-case details { font-size:11px; color:#7c756f; }
#emrImport .emr-case details summary { cursor:pointer; padding:5px 0 0; }
#emrImport .emr-case details p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; line-height:1.8; background:#f7f5f2; padding:12px; border-radius:6px; color:#625b55; }
#emrImport .emr-include { margin:0; accent-color:var(--emr-accent); width:15px; height:15px; }
#emrImport .emr-case:has(.emr-include:not(:checked)) { opacity:.55; }
#emrImport .emr-apply { display:block; margin:14px 18px 18px auto; padding:11px 20px; border:0; border-radius:8px; background:var(--emr-accent); color:white; font-size:13px; font-weight:600; cursor:pointer; }
#emrImport .emr-apply:hover { background:#4a4440; }
#emrImport .emr-apply[hidden] { display:none; }
#emrImport .emr-apply:disabled { cursor:wait; opacity:.85; }
#emrImport .emr-apply[aria-busy=true]::before { content:''; display:inline-block; width:12px; height:12px; margin-right:9px; border:2px solid #ffffff66; border-top-color:white; border-radius:50%; vertical-align:-2px; animation:emr-spin .8s linear infinite; }
#emrImport .emr-submit-feedback { margin:14px 18px; padding:14px; border:1px solid #c5beb7; border-radius:9px; background:#fffdfa; }
#emrImport .emr-submit-feedback[hidden] { display:none; }
#emrImport .emr-submit-feedback [role=status] { margin:0; color:#48433f; font-size:13px; }
#emrImport .emr-submit-feedback progress { display:block; width:100%; height:8px; margin-top:10px; accent-color:var(--emr-accent); }
#emrImport .emr-submit-feedback progress[hidden] { display:none; }
@keyframes emr-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { #emrImport .emr-apply[aria-busy=true]::before { animation:none; } }
#emrImport .emr-fields input, #emrImport .emr-fields select, #emrImport .emr-date { color:#37322f !important; }
#emrImport label { color:#77716c !important; }
#createModal:has(.emr-case) .batch-head,
#createModal:has(.emr-case) #cc_batch_rows,
#createModal:has(.emr-case) .modal-footer { display:none; }
@media(max-width:640px) {
  #emrImport .emr-toolbar { grid-template-columns:minmax(0,1fr); gap:12px; }
  #emrImport .emr-fields { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 64px; gap:9px; }
  #emrImport .emr-fields > label:nth-child(4) { grid-column:span 2; }
  #emrImport .emr-case { padding:12px; }
  #emrImport .emr-apply { width:calc(100% - 36px); }
}
