.wh-upload{font:inherit;min-width:0}.wh-upload-drop{border:1.5px dashed #b9bfd1;border-radius:16px;background:#f8f8fc;padding:14px;display:grid;justify-items:center;gap:8px;text-align:center;transition:border-color .2s,background .2s}.wh-upload.is-dragover .wh-upload-drop{border-color:#7657c8;background:#f0ebff}.wh-upload-drop>i{font-size:23px;color:#7154bb}.wh-upload-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.wh-upload-pick{cursor:pointer;display:inline-flex;align-items:center;gap:7px;border:1px solid #dedce8;border-radius:10px;padding:8px 11px;background:white;color:#353348;font-size:13px;font-weight:600}.wh-upload-pick:focus-within{outline:2px solid #7154bb;outline-offset:2px}.wh-upload-pick input{position:absolute;width:1px;height:1px;opacity:0}.wh-upload-list{display:grid;gap:5px;margin-top:8px}.wh-upload-item{display:flex;align-items:center;gap:8px;background:#f8f8fc;padding:8px 10px;border-radius:9px;font-size:13px;min-width:0}.wh-upload-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.wh-upload-item small{white-space:nowrap;color:#777}.wh-upload-item button{border:0;background:transparent;cursor:pointer;color:#a33340;padding:6px}.wh-upload-status{font-size:12px;color:#67518f;margin-top:5px}.wh-upload-mobile{display:none}@media(max-width:767px){.wh-upload-desktop{display:none}.wh-upload-mobile{display:block}.wh-upload-drop{padding:11px}.wh-upload-pick{min-height:42px}}

/* Avatar: samma uploadmotor, utan separat dropzone. */
.wh-upload[data-upload-mode="Avatar"]{display:flex;flex-direction:column;align-items:center}
.wh-upload-avatar-editor{display:flex;justify-content:center;width:100%}
.wh-upload-avatar{position:relative;display:grid;place-items:center;width:104px;height:104px;min-width:104px;min-height:104px;border-radius:50%;overflow:hidden;cursor:pointer;border:2px solid #dedce8;background:#f1edfa;color:#55438a;font-size:32px;font-weight:700;transition:box-shadow .2s,border-color .2s;isolation:isolate}
.wh-upload-avatar>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;z-index:0}
.wh-upload-avatar>span:not(.wh-upload-avatar-camera){z-index:0}
.wh-upload-avatar-camera{position:absolute;right:0;bottom:0;left:0;z-index:1;display:grid;place-items:center;height:31px;background:rgba(23,23,34,.72);color:#fff;font-size:14px;pointer-events:none}
.wh-upload-avatar input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.wh-upload-avatar:focus-within,.wh-upload[data-upload-mode="Avatar"].is-dragover .wh-upload-avatar{outline:3px solid #7154bb;outline-offset:3px;border-color:#7154bb}
.wh-upload[data-upload-mode="Avatar"] .wh-upload-status{max-width:260px;text-align:center}
.wh-upload[data-upload-mode="Avatar"] .wh-upload-list{display:none}
.wh-upload[data-upload-mode="Compact"] .wh-upload-drop{display:flex;padding:0;border:0;background:transparent;justify-content:flex-start;gap:0}
.wh-upload[data-upload-mode="Compact"] .wh-upload-drop>i{display:none}

/* 1.0.8: hela avataren är en label. Input är visuellt dold, men finns kvar
   för native klick på både bilden och kameran. Inga överlagrade filfält. */
.wh-upload[data-upload-mode="Avatar"] .wh-upload-avatar-editor {
  position: relative;
  display: block;
  box-sizing: content-box;
  width: 104px;
  height: 104px;
  padding: 0;
  margin: 0 auto;
  border: 0;
  overflow: visible;
  cursor: pointer;
}
.wh-upload[data-upload-mode="Avatar"] .wh-upload-avatar-editor > .wh-upload-avatar {
  position: relative;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 104px;
  height: 104px;
  min-width: 104px;
  min-height: 104px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 50%;
  pointer-events: none;
}
.wh-upload[data-upload-mode="Avatar"] .wh-upload-avatar-editor > .wh-upload-avatar > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
}
.wh-upload[data-upload-mode="Avatar"] .wh-upload-avatar-editor > .wh-upload-avatar > span {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  line-height: 1;
}
.wh-upload[data-upload-mode="Avatar"] .wh-upload-avatar-editor > .wh-upload-avatar-button {
  position: absolute;
  right: -11px;
  bottom: -11px;
  z-index: 3;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 34px;
  height: 34px;
  padding: 0;
  margin: 0;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #fff;
  color: #313444;
  box-shadow: 0 2px 9px rgba(20,20,40,.2);
  pointer-events: none;
}
.wh-upload[data-upload-mode="Avatar"] .wh-upload-avatar-editor > .wh-upload-avatar-button svg {
  display: block;
  pointer-events: none;
}
.wh-upload[data-upload-mode="Avatar"] .wh-upload-avatar-editor > .wh-upload-avatar-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%);
  white-space: nowrap;
}
.wh-upload[data-upload-mode="Avatar"] .wh-upload-avatar-editor:focus-within > .wh-upload-avatar {
  outline: 3px solid #7154bb;
  outline-offset: 3px;
}
.wh-upload[data-upload-mode="Avatar"] .wh-upload-list:empty,
.wh-upload[data-upload-mode="Avatar"] .wh-upload-status:empty { display: none; }

/* Composer – panelen tar ingen permanent plats i chatten. Avatar 1.0.8 oförändrad. */
.wh-upload[data-upload-mode="Composer"]{position:relative;min-width:0}
.wh-upload-composer{display:flex;align-items:center;gap:7px;position:relative}
.wh-upload-toggle,.wh-upload-action{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:40px;height:40px;border:1px solid #e0e5ee;border-radius:12px;background:#fff;color:#455269;cursor:pointer;font-size:14px;padding:0 10px}
.wh-upload-toggle:hover,.wh-upload-action:hover{border-color:#bf5b4a;color:#bf5b4a;background:#fff7f5}
.wh-upload-count{position:absolute;right:-5px;top:-6px;background:#bf5b4a;color:#fff;border-radius:12px;min-width:17px;padding:1px 4px;font:700 10px/15px Arial;text-align:center}
.wh-upload-composer-actions{display:flex;gap:5px;align-items:center;animation:wh-upload-reveal .18s ease-out}
.wh-upload-composer-actions[hidden]{display:none!important}
.wh-upload-action{font-size:12px;white-space:nowrap}
.wh-upload-action input{position:absolute;width:1px;height:1px;opacity:0;clip-path:inset(50%)}
.wh-upload[data-upload-mode="Composer"] .wh-upload-list{margin-top:5px}
.wh-upload[data-upload-mode="Composer"] .wh-upload-status:empty{display:none}
@keyframes wh-upload-reveal{from{opacity:0;transform:translateX(-7px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:680px){.wh-upload-action{width:40px;padding:0}.wh-upload-action span{display:none}}
@media(prefers-reduced-motion:reduce){.wh-upload-composer-actions{animation:none}}

/* Composer 2.3 – expanderar horisontellt, ingen popup. Avatar 1.0.8 lämnas orörd. */
.wh-upload[data-upload-mode="Composer"] .wh-upload-composer{display:flex;align-items:center;gap:5px;min-width:0}
.wh-upload[data-upload-mode="Composer"] .wh-upload-composer-actions{position:static!important;display:flex;gap:5px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;animation:wh-upload-reveal .18s ease-out}
.wh-upload[data-upload-mode="Composer"] .wh-upload-composer-actions[hidden]{display:none!important}
.wh-upload[data-upload-mode="Composer"] .wh-upload-toggle,.wh-upload[data-upload-mode="Composer"] .wh-upload-action{width:38px;min-width:38px;height:38px;padding:0;border-radius:11px}
.wh-upload[data-upload-mode="Composer"] .wh-upload-list{display:none!important}
.wh-upload[data-upload-mode="Composer"].is-open .wh-upload-list:not(:empty){display:flex!important;gap:7px;flex-wrap:wrap;position:absolute;bottom:calc(100% + 9px);left:0;width:min(400px,85vw);max-height:220px;overflow:auto;padding:9px;background:#fff;border:1px solid #e0e5ee;border-radius:13px;box-shadow:0 8px 24px rgba(0,0,0,.13);z-index:8}
.wh-upload[data-upload-mode="Composer"] .wh-upload-item{position:relative;width:90px;height:90px;flex:0 0 90px;margin:0;padding:0;border:0;background:#f2f3f7;border-radius:10px;overflow:hidden}
.wh-upload[data-upload-mode="Composer"] .wh-upload-thumb{width:100%;height:100%;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:#7154bb;font-size:28px}
.wh-upload[data-upload-mode="Composer"] .wh-upload-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.wh-upload[data-upload-mode="Composer"] .wh-upload-remove{position:absolute;right:3px;top:3px;width:24px;height:24px;border:0;border-radius:50%;background:rgba(25,25,35,.78);color:#fff;cursor:pointer;display:grid;place-items:center}
@media(min-width:681px){.wh-upload[data-upload-mode="Composer"] .wh-upload-camera-action{display:none}}
/* 2.4: uppladdningsstatus läses av skärmläsare men tar ingen plats i layouten.
   Bekräftelser och fel visas i Workhours befintliga toast. */
.wh-upload .wh-upload-status {
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;
  white-space:nowrap!important;border:0!important;
}

/* Gemensam projekt- och meddelandepreview: PDF i samma dialog. */
.media-preview-dialog > .media-preview-pdf:not([hidden]){width:min(1050px,94vw);height:min(850px,90dvh);border:0;background:#fff;border-radius:8px;}
.media-preview-dialog > .media-preview-pdf[hidden]{display:none!important;}

/* 2.6: håll bilageikonerna centrerade på samma rad som meddelandefältet. */
.wh-msg-compose .wh-upload[data-upload-mode="Composer"] .wh-upload-composer,
.wh-msg-compose .wh-upload[data-upload-mode="Composer"] .wh-upload-composer-actions{align-items:center!important}

.wh-upload[data-upload-kind="project"] .wh-upload-list{display:grid!important;position:static!important;width:auto!important;max-height:none!important;overflow:visible!important;border:0!important;box-shadow:none!important;padding:0!important;background:transparent!important}
.wh-upload[data-upload-kind="project"] .wh-upload-item{width:auto!important;height:auto!important;flex:auto!important;overflow:visible!important}
.wh-upload[data-upload-kind="project"] .wh-upload-hero-label input{position:static;opacity:1;clip-path:none;width:auto;height:auto}
