#skillsUploadDock{position:fixed;right:16px;bottom:16px;z-index:10000;width:min(390px,calc(100vw - 24px));max-height:40vh;overflow-y:auto;padding:4px;box-sizing:border-box}
.se-upload{display:flex;align-items:center;gap:12px;box-sizing:border-box;max-width:100%;margin:10px 0;padding:14px;border:1px solid var(--sd,#ccd3e1);border-radius:12px;background:var(--surface,#f4f6fa);color:var(--text,#2b3348);box-shadow:0 4px 18px #0002;font:14px/1.5 Inter,system-ui,sans-serif;text-align:left}
.se-upload-spinner{width:22px;height:22px;flex:0 0 22px;box-sizing:border-box;border:3px solid var(--sd,#ccd3e1);border-top-color:var(--primary,#5b7cfa);border-radius:50%;animation:se-upload-spin .8s linear infinite}
.se-upload-body{flex:1;min-width:0}.se-upload-name{font-weight:650;overflow-wrap:anywhere}.se-upload-message{font-size:13px;margin-top:2px}
.se-upload progress{display:block;width:100%;height:8px;margin-top:8px;accent-color:var(--primary,#5b7cfa)}
.se-upload progress[hidden],.se-upload-close[hidden]{display:none}
.se-upload-close{flex:0 0 32px;border:0;border-radius:8px;background:transparent;color:inherit;font-size:24px;cursor:pointer;min-height:40px}
.se-upload.is-success .se-upload-spinner{animation:none;border-color:var(--accent,#1fbf9c)}
.se-upload.is-error .se-upload-spinner{animation:none;border-color:#d5566e}
.se-upload.is-error{border-color:#d5566e}
@keyframes se-upload-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){#skillsUploadDock{right:12px;bottom:12px;max-height:32vh}.se-upload{padding:12px;gap:10px}}
@media(prefers-reduced-motion:reduce){.se-upload-spinner{animation:none}}
