/* DataCore Analytics — data submission portal */
.dc-portal{max-width:900px;margin:0 auto}
.dc-dropzone{border:2px dashed #c7d2de;border-radius:10px;background:#fafbfc;padding:56px 28px;text-align:center;cursor:pointer;transition:.18s;outline:none}
.dc-dropzone:hover,.dc-dropzone:focus-visible{border-color:#1c8ec4;background:#f4f9fc}
.dc-dropzone.dc-drag{border-color:#1c8ec4;background:#eaf5fb;transform:scale(1.01)}
.dc-dropzone .dc-ico{font-size:44px;color:#1c8ec4;margin-bottom:14px;display:block}
.dc-dropzone h4{margin:0 0 8px;font-size:20px}
.dc-dropzone p{margin:0;color:#6c7a89;font-size:15px}
.dc-file-list{margin-top:26px}
.dc-empty{color:#98a4b0;text-align:center;padding:24px 0;margin:0}
.dc-file{border:1px solid #e7ecf1;border-radius:7px;padding:14px 16px;margin-bottom:10px;background:#fff;position:relative;overflow:hidden}
.dc-file-main{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.dc-file-name{font-weight:600;word-break:break-all;font-size:15px}
.dc-file-size{color:#8a97a4;font-size:13px;white-space:nowrap}
.dc-file-meta{display:flex;align-items:center;gap:12px;margin-top:6px;font-size:13px;color:#6c7a89}
.dc-file-hash{background:#f2f5f8;padding:2px 7px;border-radius:3px;font-size:11.5px;color:#5a6b7b}
.dc-remove{margin-left:auto;background:none;border:none;font-size:22px;line-height:1;color:#b9c3cd;cursor:pointer;padding:0 4px}
.dc-remove:hover{color:#d9534f}
.dc-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#eef2f6}
.dc-bar span{display:block;height:100%;width:0;background:#1c8ec4;transition:width .25s}
.dc-ok{color:#2e9b5b;font-weight:600}
.dc-err{color:#d9534f;font-weight:600}
.dc-warn{color:#c98a06}
.dc-summary{margin:16px 0;font-size:14px;color:#6c7a89;text-align:right}
.dc-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0 12px}
.dc-fields .dc-full{grid-column:1/-1}
.dc-fields label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.dc-fields input[type=text],.dc-fields input[type=email],.dc-fields select,.dc-fields textarea{
  width:100%;padding:12px 14px;border:1px solid #dbe2e9;border-radius:6px;font-size:15px;background:#fff}
.dc-fields input:focus,.dc-fields select:focus,.dc-fields textarea:focus{outline:2px solid #1c8ec4;outline-offset:1px;border-color:#1c8ec4}
.dc-hint{font-size:13px;color:#8a97a4;margin-top:5px}
.dc-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.6;margin:18px 0 26px}
.dc-consent input{margin-top:4px;flex-shrink:0}
.dc-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
#dc-upload-btn{background:#1c8ec4;color:#fff;border:none;padding:15px 38px;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:.18s}
#dc-upload-btn:hover:not(:disabled){background:#16739e}
#dc-upload-btn:disabled{background:#c7d2de;cursor:not-allowed}
.dc-notice{padding:18px 22px;border-radius:7px;margin-top:26px;line-height:1.65;font-size:15px}
.dc-notice-ok{background:#eaf7ef;border-left:4px solid #2e9b5b}
.dc-notice-warn{background:#fdf6e3;border-left:4px solid #d4a017}
.dc-notice-info{background:#eef5fa;border-left:4px solid #1c8ec4}
.dc-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px;margin:34px 0}
.dc-step{padding:22px;background:#f7f9fb;border-radius:8px}
.dc-step b{display:block;color:#1c8ec4;font-size:13px;letter-spacing:.6px;margin-bottom:7px}
.dc-step p{margin:0;font-size:14.5px;line-height:1.6;color:#5a6b7b}
@media(max-width:640px){.dc-fields{grid-template-columns:1fr}.dc-dropzone{padding:38px 18px}}
