/* Linux Association of Canada reusable upload progress component */
.lac-upload-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:999999;align-items:center;justify-content:center;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);padding:18px;}
.lac-upload-overlay.active{display:flex;}
.lac-upload-card{background:#fff;border-radius:18px;padding:34px 38px;box-shadow:0 28px 80px rgba(0,0,0,.35);max-width:500px;width:92%;border-top:5px solid var(--color2,#10AC84);font-family:inherit;}
.lac-upload-icon{width:58px;height:58px;border-radius:16px;margin:0 auto 18px;background:linear-gradient(135deg,var(--color2,#10AC84),#0d8f6e);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.55rem;box-shadow:0 12px 30px rgba(16,172,132,.28);}
.lac-upload-title{font-size:1.14rem;font-weight:800;color:#111;margin-bottom:6px;text-align:center;}
.lac-upload-sub{font-size:.86rem;color:#777;text-align:center;margin-bottom:18px;line-height:1.5;}
.lac-upload-track{height:18px;background:#eef0f2;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.08);}
.lac-upload-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--color2,#10AC84),#10AC84,#D60000);border-radius:999px;transition:width .18s ease,background .25s ease;}
.lac-upload-meta{display:flex;justify-content:space-between;align-items:center;margin-top:9px;font-size:.78rem;color:#777;font-weight:700;gap:12px;}
.lac-upload-file{margin-top:16px;background:#f7f8f8;border:1px solid #ececec;border-radius:10px;padding:10px 12px;font-size:.78rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lac-upload-stages{list-style:none;margin:16px 0 0!important;padding:0!important;display:grid;gap:7px;font-size:.8rem;color:#777;}
.lac-upload-stages li{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:0!important;}
.lac-upload-stages i{width:17px;color:#c7c7c7;text-align:center;}
.lac-upload-stages li.active{color:#111;font-weight:800;}
.lac-upload-stages li.active i{color:var(--color2,#10AC84);}
.lac-upload-stages li.done{color:#0f5132;}
.lac-upload-stages li.done i{color:#0f5132;}
.lac-upload-error{display:none;margin-top:16px;background:#f8d7da;color:#842029;border:1px solid #f5c2c7;border-radius:10px;padding:10px 12px;font-size:.82rem;line-height:1.45;}
.lac-upload-actions{margin-top:16px;text-align:center;display:flex;justify-content:center;gap:10px;}
.lac-upload-actions button{border:0;background:#111;color:#fff;border-radius:8px;padding:8px 18px;font-size:.82rem;font-weight:800;cursor:pointer;}
.lac-upload-actions button:hover{background:#D60000;}
.lac-upload-success .lac-upload-icon{background:linear-gradient(135deg,#10AC84,#0d8f6e);}
.lac-upload-success .lac-upload-bar{background:#10AC84;}
.lac-file-preview{margin-top:12px;display:none;position:relative;text-align:center;}
.lac-file-preview img{max-height:150px;max-width:100%;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.12);}
@media(max-width:600px){.lac-upload-card{padding:28px 22px}.lac-upload-meta{font-size:.74rem}.lac-upload-stages{font-size:.76rem}.lac-upload-file{white-space:normal;}}
