.bulk-progress{margin:0 0 28px;border:1px solid #dbe5ed;border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(23,49,73,.08);overflow:hidden;color:#173149}
.bulk-progress__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 26px;background:linear-gradient(115deg,#122b45,#175570);color:#fff}
.bulk-progress__eyebrow{font-size:10px;letter-spacing:.18em;font-weight:700;color:#a9dfec}
.bulk-progress__title{margin:6px 0 0;font-size:22px;line-height:1.3;font-weight:700;color:inherit}
.bulk-progress__badge{border:1px solid #ffffff40;border-radius:30px;padding:7px 12px;white-space:nowrap;background:#ffffff12;font-size:12px}
.bulk-progress__body{padding:24px 26px}.bulk-progress__numbers{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.bulk-progress__detail{font-size:13px;color:#476175}.bulk-progress__percent{font-size:25px;color:#11647a;font-variant-numeric:tabular-nums}
.bulk-progress__track{height:12px;border-radius:20px;background:#eaf0f5;overflow:hidden}.bulk-progress__fill{height:100%;width:0;border-radius:20px;background:linear-gradient(90deg,#1682ac,#27b9a2);transition:width .55s ease;position:relative}
.bulk-progress__fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#ffffff60,transparent);animation:bulk-sheen 1.8s infinite}
.bulk-progress.is-finished .bulk-progress__fill:after{animation:none;display:none}.bulk-progress__steps{display:flex;justify-content:space-between;gap:10px;margin:12px 0 24px;color:#647989;font-size:11px}
.bulk-progress__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.bulk-progress__stat{border:1px solid #e4ebf1;border-radius:12px;padding:14px 12px;background:#f8fafc;display:flex;flex-direction:column;gap:4px}
.bulk-progress__stat strong{font-size:25px;line-height:1;font-variant-numeric:tabular-nums}.bulk-progress__stat span{font-size:12px;color:#526879}.bulk-progress__stat--completed strong{color:#087f69}.bulk-progress__stat--queued strong{color:#2263b4}.bulk-progress__stat--failed strong{color:#b33444}.bulk-progress__stat--unknown strong{color:#976009}
.bulk-progress__note{margin:18px 0;font-size:13px;line-height:1.6;color:#526879}.bulk-progress__actions{display:flex;flex-wrap:wrap;gap:8px}.bulk-progress__actions .btn{border-radius:9px;font-size:12px;padding:9px 13px}.bulk-progress__results{max-height:300px;overflow:auto;margin-top:18px}.bulk-progress__results:empty{display:none}.bulk-progress__results th{position:sticky;top:0;background:#f4f7fa;color:#526879;font-size:11px}.bulk-progress__results td{font-size:12px;font-variant-numeric:tabular-nums}
@keyframes bulk-sheen{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(max-width:575px){.bulk-progress__header,.bulk-progress__body{padding:18px}.bulk-progress__header{align-items:flex-start}.bulk-progress__title{font-size:19px}.bulk-progress__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-progress__steps{font-size:10px}.bulk-progress__detail{font-size:12px}}
@media(prefers-reduced-motion:reduce){.bulk-progress__fill{transition:none}.bulk-progress__fill:after{animation:none}}
.bulk-template{display:flex;flex-direction:column;gap:18px;padding:24px;margin-bottom:20px;border:1px solid #b9ded1;border-radius:16px;background:linear-gradient(120deg,#effbf5,#f4f8ff);color:#173149}.bulk-template h6,.bulk-codes h6{font-size:19px;font-weight:700;margin:0 0 8px;color:#173149}.bulk-template p,.bulk-codes p{margin:0;font-size:14px;line-height:1.6;color:#476175}a.bulk-template__download{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px;border-radius:10px;background:#087443;color:#fff!important;font-size:16px;font-weight:700;text-decoration:none;box-shadow:0 5px 14px #08744325}a.bulk-template__download:hover{background:#065b35}a.bulk-template__download:focus-visible{outline:3px solid #173149;outline-offset:4px}.bulk-template__download span{font-size:12px;font-weight:400;opacity:.85}.bulk-format-help{font-size:13px;line-height:1.7;color:#526879}.bulk-codes{margin-top:24px;border:1px solid #dbe5ed;border-radius:14px;padding:22px;background:#fff}.bulk-codes label{display:block;font-size:13px;margin:18px 0 8px;color:#173149}.bulk-codes__table{max-height:360px;overflow:auto;margin:16px 0}.bulk-codes__table table{margin:0;font-size:13px}.bulk-codes__table th{position:sticky;top:0;background:#eef4f8;color:#173149;z-index:1}.bulk-codes__table td{vertical-align:middle}.bulk-codes__table code{color:#075d42;user-select:all;white-space:nowrap;font-size:13px}.bulk-codes #bulkCodeCount{font-size:12px}@media(max-width:575px){.bulk-template,.bulk-codes{padding:18px}.bulk-template__download{flex-wrap:wrap}}
.bulk-progress__results .bulk-progress__response{min-width:220px;white-space:pre-wrap;overflow-wrap:anywhere}.bulk-progress__response small{display:block;margin-top:6px;color:#526879}
.bulk-review{color:#173149;font-size:14px;line-height:1.6}.bulk-review__notice{background:#edf8f4;border:1px solid #bee0d2;border-radius:12px;padding:16px 18px}.bulk-review__notice--error{background:#fff4f2;border-color:#f0c7c0;color:#8f302b}.bulk-review__notice strong{font-size:16px}.bulk-review__notice p{margin:5px 0 0;color:inherit}.bulk-review__totals{display:flex;gap:32px;flex-wrap:wrap;margin:20px 0}.bulk-review__totals span{display:block;font-size:12px;color:#526879}.bulk-review__totals strong{font-size:26px;color:#173149}.bulk-review__hint{font-size:13px;color:#526879}.bulk-review__errors{max-height:220px;overflow:auto;padding-left:24px;color:#8f302b}.bulk-review__errors li{padding:5px 0}.bulk-review__table{max-height:320px;overflow:auto}.bulk-review__table th{position:sticky;top:0;background:#f4f7fa}.bulk-review-dialog .modal-title{font-family:inherit;color:#173149}.bulk-review-dialog .modal-footer{gap:8px;flex-wrap:wrap}
.bulk-review-dialog .modal-header{display:flex;align-items:center;gap:16px}.bulk-review-dialog .modal-header .modal-title{flex:1;order:0}.bulk-review-dialog .modal-header .close{order:1;margin-left:auto;border:0;background:transparent;color:#526879;font-size:26px;line-height:1;padding:8px}.bulk-review-dialog .modal-header .close:focus-visible{outline:2px solid #173149;border-radius:4px}

/* Native disclosure keeps help available without interrupting the upload. */
.bulk-help{margin:-8px 0 22px;color:#173149;font-size:13px;line-height:1.6}
.bulk-help>summary{display:flex;align-items:center;gap:8px;width:fit-content;margin-left:auto;padding:7px 10px;border-radius:8px;cursor:pointer;color:#245779;font-weight:600;list-style:none}
.bulk-help>summary::-webkit-details-marker{display:none}.bulk-help>summary:after{content:'⌄';margin-left:3px}.bulk-help[open]>summary:after{content:'⌃'}.bulk-help>summary:hover{background:#edf4f8}.bulk-help>summary:focus-visible{outline:2px solid #245779;outline-offset:2px}
.bulk-help__icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1.5px solid currentColor;border-radius:50%;font-size:13px}.bulk-help__hint{font-size:11px;color:#617788;font-weight:400}
.bulk-help__body{padding:22px;margin-top:10px;border:1px solid #dbe5ed;border-radius:16px;background:#f7fafc}.bulk-help__body>h6{font-size:18px;font-weight:700;color:#173149;margin:0 0 18px}
.bulk-help__steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}.bulk-help__steps li{padding:16px;border:1px solid #e2ebf0;border-radius:12px;background:#fff}.bulk-help__steps svg{display:block;width:100%;height:90px;margin:0 0 14px;border-radius:8px;background:#f0f6fa}.bulk-help__steps h6{color:#173149;font-size:15px;font-weight:700;margin:0 0 8px}.bulk-help p{font-size:13px;line-height:1.65;color:#405e71;margin:0}.bulk-help__tips{margin-top:18px;border-top:1px solid #dbe5ed;padding-top:16px}.bulk-help__tips p+p{margin-top:10px}
@media(max-width:575px){.bulk-help__steps{grid-template-columns:1fr}.bulk-help__body{padding:16px}.bulk-help__hint{display:none}}
