/* Upload workspace refresh: presentation only, scoped away from admin/auth/download pages. */
.portal-user{--workspace-accent:#7651c5;--workspace-ink:#26344b;--workspace-muted:#758196;--workspace-line:#e7e9f2;background:#f7f8fc;color:var(--workspace-ink)}
.workspace-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle}
.portal-user .portal-navigation{gap:8px;padding:20px 0 24px;border-bottom:1px solid var(--workspace-line);margin-bottom:25px}
.portal-user .portal-navigation a{color:#6d7589;font-size:14px;padding:10px 18px;border-radius:10px}
.portal-user .portal-navigation a>span{background:none;width:21px;height:22px;color:inherit}
.portal-user .portal-navigation a[aria-current]{background:#eee8fa;border-color:#e5dcf5;color:#6c46b8;box-shadow:none}
.portal-user .portal-navigation a[aria-current]>span{background:none;color:inherit}
.portal-user .portal-navigation a:hover{background:#f0edf7}
.portal-user .portal-topbar-actions>a{color:#737b8e}.portal-user .portal-topbar-actions>a:hover{color:var(--workspace-accent)}
.portal-user .btn{border-radius:10px;min-height:42px;font-size:13px;padding:10px 17px}
.portal-user .btn.gray{color:#637086;border-color:#e1e4ef}
.portal-user .btn:focus-visible,.upload-picker-control:focus-within{outline:3px solid #c9b7ee;outline-offset:3px}
.portal-upload .portal-page-heading,.portal-dashboard .portal-page-heading{margin:0 0 24px;align-items:center}
.portal-upload .portal-eyebrow,.portal-dashboard .portal-eyebrow{font-size:11px;color:#8d7baa;letter-spacing:1px}
.portal-upload .portal-page-heading h2,.portal-dashboard .portal-page-heading h2{font-size:27px;color:#26344b;letter-spacing:-.4px;margin:5px 0 8px;font-weight:700}
.portal-upload .portal-page-heading p,.portal-dashboard .portal-page-heading p{font-size:13px;color:#7b8498;line-height:1.8}
.portal-user .workspace-safety{display:flex;align-items:flex-start;gap:10px;padding:14px 17px;border-color:#e7eaf2;background:#f1f4fa;color:#7c879c;margin:18px 0 0}
.portal-user .workspace-safety>.workspace-icon{width:18px;height:18px;margin-top:2px;color:#91a0b8}
.portal-user .workspace-safety p{margin:0;line-height:1.85;font-size:12px}
/* Dashboard: compact information, a clear primary action and complete entry points. */
.portal-dashboard .workspace-welcome{padding:26px 28px;border:1px solid #e4e3f1;border-radius:17px;background:radial-gradient(ellipse at 100% 0,#e6f2f8,transparent 65%),linear-gradient(105deg,#f0eafa,#f9f8fd);margin-bottom:20px;gap:25px}
.workspace-welcome>.btn{box-shadow:0 5px 12px #7651c520}
.portal-dashboard .portal-stats{gap:18px;margin-bottom:28px}
.portal-dashboard .portal-stat{padding:24px;gap:18px;align-items:center;border-color:var(--workspace-line);box-shadow:0 3px 12px #28355b03}
.portal-dashboard .portal-stat-icon{width:50px;height:50px;border-radius:14px;color:#8462c5;background:#f1ecfa}
.portal-dashboard .portal-stat-icon .workspace-icon{width:24px;height:24px}
.portal-dashboard .portal-stat:nth-child(2) .portal-stat-icon{background:#eaf5f7;color:#4496a6}
.portal-dashboard .portal-stat strong{font-size:32px;color:#34415b;letter-spacing:-.5px;line-height:1.25}
.portal-dashboard .portal-stat h3{font-size:13px;color:#7a8498;margin-bottom:5px}
.portal-dashboard .portal-stat p{font-size:11px;color:#939aab;margin-top:5px}
.workspace-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.workspace-section-heading .portal-section-title{margin:0;font-size:17px;color:#34415b}
.workspace-section-heading>span{color:#9299aa;font-size:12px}
.portal-dashboard .portal-quick-links{gap:18px;margin:0}
.portal-dashboard .portal-quick-links>a{position:relative;padding:23px;border-color:var(--workspace-line);box-shadow:0 4px 15px #28355b03}
.portal-dashboard .portal-quick-links>a:hover{border-color:#d0c1ea;transform:translateY(-2px);box-shadow:0 7px 20px #55437e08}
.portal-dashboard .portal-quick-links>a>span{width:42px;height:42px;border:0;background:#f3f1fa;border-radius:11px;color:#8b74b4}
.portal-dashboard .portal-quick-links>a:nth-child(2)>span{background:#edf2fa;color:#7390b8}
.portal-dashboard .portal-quick-links>a:nth-child(3)>span{background:#ecf6f4;color:#659e93}
.portal-dashboard .portal-quick-links h3{font-size:17px;font-weight:650;color:#34415b;margin:18px 0 8px}
.portal-dashboard .portal-quick-links p{font-size:13px;color:#858fa1;line-height:1.9;min-height:48px;margin:0 0 19px}
.portal-dashboard .portal-quick-links b{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#8769bb;font-weight:500}
.portal-dashboard .portal-quick-links b .workspace-icon{width:17px;height:17px}
.portal-dashboard .portal-quick-links .workspace-featured-link{border-color:#ded2f0;background:linear-gradient(135deg,#fff,#faf7ff)}
.portal-dashboard .portal-quick-links .workspace-featured-link>span{color:#fff;background:#8c6bc9;box-shadow:0 4px 12px #8c6bc922}
/* Upload selection surface and explanation are kept distinct from the live queue. */
.upload-workbench{display:grid;grid-template-columns:minmax(0,1fr) 310px;border:1px solid #e3e4ef;border-radius:18px;background:#fff;box-shadow:0 9px 28px #2b315006;overflow:hidden}
.upload-workbench-main{min-width:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 8% 5%,#f6f1fd,transparent 60%),radial-gradient(ellipse at 100% 80%,#f1f8fb,transparent 60%),#fff}
.upload-feature-line{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:21px 26px 0;font-size:11px;color:#9690aa}
.upload-feature-line>span{display:inline-flex;align-items:center;gap:6px}.upload-feature-line .workspace-icon{width:15px;height:15px;color:#9b85be}
.upload-select-area{text-align:center;padding:19px 25px 23px;flex:1}
.upload-art{width:96px;height:78px;position:relative;margin:0 auto 14px}
.upload-art-sheet{position:absolute;top:3px;left:29px;width:48px;height:57px;border:1px solid #d6c9e9;background:linear-gradient(155deg,#fff,#f2ecfc);border-radius:7px;transform:rotate(10deg)}
.upload-art-sheet::before,.upload-art-sheet::after{content:"";position:absolute;height:3px;left:10px;background:#d7cbe9;border-radius:2px;top:13px;width:26px}.upload-art-sheet::after{top:22px;width:18px}
.upload-art-folder{position:absolute;bottom:0;left:7px;width:78px;height:52px;border:1px solid #a78bd0;border-radius:6px 10px 12px 12px;background:linear-gradient(140deg,#b59bdf,#9376c4);box-shadow:0 9px 15px #987cc126;display:grid;place-items:center;color:#fff}
.upload-art-folder::before{content:"";position:absolute;top:-7px;left:-1px;width:34px;height:9px;border:1px solid #a78bd0;border-bottom:0;border-radius:5px 7px 0 0;background:#b29adb}
.upload-art-folder .workspace-icon{width:27px;height:27px;stroke-width:1.5}
.upload-art-check{position:absolute;right:0;bottom:-3px;display:grid;place-items:center;width:26px;height:26px;background:#e5f4f2;border:3px solid #fff;border-radius:50%;color:#63a79d}.upload-art-check .workspace-icon{width:15px;height:15px;stroke-width:2.4}
.upload-select-area h3{margin:0 0 7px;font-size:21px;letter-spacing:-.2px;font-weight:650;color:#34405b}
.upload-select-area>p{margin:0 0 20px;font-size:12px;color:#8790a2;line-height:1.8}
.upload-picker-control{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:45px;padding:10px 24px;background:#fff;border:1px solid #d8c7ef;box-shadow:0 3px 8px #7850c70a;border-radius:10px;color:#8059bd;font-size:14px;font-weight:600;overflow:hidden;cursor:pointer}
.upload-picker-control:hover{border-color:#a68acb;background:#faf8ff}
.upload-picker-control input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;padding:0;margin:0;cursor:pointer;font-size:16px}
.upload-selection{font-size:12px;color:#9a9eaf;margin:11px 0 0;min-height:20px;overflow-wrap:anywhere}
.upload-action-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #eceaf4;padding:15px 24px;background:#ffffffa6}
.upload-stage{display:flex;align-items:center;gap:7px;color:#6b748b;font-size:12px;font-weight:600}
.upload-stage::before{content:"";width:6px;height:6px;border-radius:50%;background:#bcb5cf;flex-shrink:0}
.upload-action-bar p{margin:3px 0 0;color:#9aa1b1;font-size:11px}
.portal-upload #btnStart{min-width:126px;min-height:44px;font-size:14px;box-shadow:0 4px 12px #7651c51a}
.upload-workbench[data-busy=true] .upload-stage::before{background:#9470cd;box-shadow:0 0 0 3px #eee7f8}
.upload-workbench[data-busy=true] #btnStart{background:#8f75bd;border-color:#8f75bd;cursor:progress}
.upload-workbench[data-busy=true] .upload-picker-control{opacity:.6}
.upload-guide{padding:26px 26px 22px;border-left:1px solid #edeaf4;background:#fdfcfe}
.upload-guide-eyebrow{font-size:11px;color:#a298b2;letter-spacing:1px}
.upload-guide summary{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px;font-weight:650;color:#4b5269;margin:6px 0 0;cursor:pointer;list-style:none}
.upload-guide summary::-webkit-details-marker{display:none}.upload-guide summary>span{font-size:15px;color:#b2a5c5;transition:transform .15s}.upload-guide details[open] summary{margin-bottom:24px}.upload-guide details[open] summary>span{transform:rotate(180deg)}
.upload-guide summary:focus-visible{outline:2px solid #c9b7ee;outline-offset:4px;border-radius:3px}
.upload-guide ol{padding:0;margin:0;list-style:none;display:grid;gap:22px}
.upload-guide li{display:flex;align-items:flex-start;gap:12px}
.upload-guide li>span{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border:1px solid #e6e0ed;color:#ad9abc;border-radius:8px;font-size:10px;font-weight:600;background:#fff;font-variant-numeric:tabular-nums}
.upload-guide li strong{font-size:12px;font-weight:600;color:#677086;display:block;line-height:1.7}
.upload-guide li p{font-size:11px;line-height:1.8;color:#9a9eae;margin:3px 0 0}
.upload-limit{display:flex;align-items:center;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid #eeebf3;color:#b2a5c5}
.upload-limit>div{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;flex-wrap:wrap}
.upload-limit span{font-size:11px;color:#9593a5}.upload-limit strong{font-size:13px;font-weight:600;color:#736083}
/* Queue: all original five columns remain; mobile cards show the same fields. */
.portal-upload .portal-subheading{margin:26px 0 13px;gap:12px}
.portal-upload .portal-subheading h3{font-size:17px;display:flex;align-items:center;gap:9px;color:#34415b}
#uploadQueueCount{font-size:11px;font-weight:600;min-width:23px;text-align:center;line-height:22px;border-radius:6px;background:#eae5f4;color:#9379b4;padding:0 5px;font-variant-numeric:tabular-nums}
#uploadQueueSummary{font-size:11px;color:#8c95a6;margin:5px 0 0}
.upload-queue-caption{display:flex;align-items:center;gap:6px;font-size:11px;color:#a0a7b7}
.upload-queue-caption .workspace-icon{width:13px;height:13px}
.portal-upload #queue{border-color:var(--workspace-line);border-radius:14px;box-shadow:0 3px 14px #2b315003}
.portal-upload .portal-empty{display:flex;justify-content:center;align-items:center;gap:17px;padding:31px 22px;min-height:132px;text-align:left}
.portal-upload .portal-empty>span{display:grid;place-items:center;width:45px;height:50px;border:1px solid #e4e8f2;border-radius:11px;color:#b1b9cc;background:#fafbfe;flex-shrink:0}
.portal-upload .portal-empty .workspace-icon{width:23px;height:23px}
.portal-upload .portal-empty h3{font-size:13px;font-weight:500;color:#8892a6;margin:0 0 4px}
.portal-upload .portal-empty p{font-size:11px;color:#a0a8b7;line-height:1.8;margin:0}
.portal-upload #queue .table th{font-size:11px;font-weight:500;color:#9a9daf;background:#fafafe;padding:13px 18px}
.portal-upload #queue .table td{padding:20px 18px;color:#7e879a;font-size:12px;border-color:#f0f0f6}
.portal-upload #queue th:first-child,.portal-upload #queue td:first-child{width:auto}
.portal-upload #queue th:nth-child(2),.portal-upload #queue td:nth-child(2){width:92px}
.portal-upload #queue th:nth-child(3),.portal-upload #queue td:nth-child(3){width:160px;text-align:left}
.portal-upload #queue th:nth-child(4),.portal-upload #queue td:nth-child(4){width:180px}
.portal-upload #queue th:nth-child(5),.portal-upload #queue td:nth-child(5){width:102px}
.portal-upload #queue td:first-child{position:relative;padding-left:65px;color:#46536e;font-weight:500;font-size:13px;word-break:break-word;overflow-wrap:anywhere}
.portal-upload #queue td:first-child::after{content:attr(data-extension);position:absolute;left:18px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:33px;height:39px;border:1px solid #e2d9f0;border-radius:6px;background:#f4effa;color:#9f85bf;font-size:8px;font-weight:600;letter-spacing:.3px}
.portal-upload #queue td:nth-child(3){font-size:11px;color:#a2a7b7;overflow-wrap:anywhere}
.portal-upload #queue tr[data-state=active] td:nth-child(3){color:#9672bf}
.portal-upload #queue tr[data-state=success] td:nth-child(3){color:#50a08a}
.portal-upload #queue tr[data-state=error] td:nth-child(3),.portal-upload #queue tr[data-state=retry] td:nth-child(3){color:#bf8165!important}
.portal-upload #queue tr[data-state=error] .progress>span{background:#d5a080!important}
.portal-upload #queue tr[data-state=success] .progress>span{background:#83bbae!important}
.portal-upload #queue .progress{height:5px;background:#f0edf6;border-radius:9px;display:block;overflow:visible;position:relative;margin:0 0 17px}
.portal-upload #queue .progress>span{height:5px!important;background:#a78bd0!important;border-radius:9px}
.portal-upload #queue .progress::after{content:attr(data-progress);position:absolute;right:0;top:9px;color:#a2a8b8;font-size:10px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1}
.portal-upload #queue .table .btn{border:1px solid #e3d8f2;color:#8d70b8;background:#faf7ff;font-size:11px;padding:6px 10px;height:auto;min-height:32px;line-height:1.5;border-radius:7px}
.portal-upload #queue .tip{width:16px;height:16px;line-height:14px;font-size:11px;border-color:#d5a080;color:#bf8165;margin-left:4px}
.portal-upload #queue .tip:focus-visible{outline:2px solid #d8bce8;outline-offset:2px}
@media(max-width:1000px){
  .upload-workbench{grid-template-columns:minmax(0,1fr) 270px}.upload-guide{padding:24px 20px}.upload-feature-line{padding:20px 22px 0;gap:13px}
  .portal-upload #queue th:nth-child(3),.portal-upload #queue td:nth-child(3){width:132px}.portal-upload #queue th:nth-child(4),.portal-upload #queue td:nth-child(4){width:120px}
}
@media(max-width:760px){
  .portal-user .portal-navigation{gap:5px;margin-bottom:20px;padding:13px 0 15px}.portal-user .portal-navigation a{padding:9px 2px;font-size:11px;gap:5px;border-radius:9px}.portal-user .portal-navigation .workspace-icon{width:19px;height:19px}
  .portal-upload .portal-page-heading,.portal-dashboard .portal-page-heading{gap:12px;align-items:center;margin-bottom:18px}.portal-upload .portal-page-heading h2,.portal-dashboard .portal-page-heading h2{font-size:23px;margin-top:4px;margin-bottom:5px}.portal-upload .portal-page-heading p,.portal-dashboard .portal-page-heading p{font-size:12px}
  .portal-upload .portal-page-heading>.btn{font-size:11px;min-height:36px;padding:8px 11px;gap:5px}.portal-upload .portal-page-heading>.btn .workspace-icon{width:14px;height:14px}
  .portal-dashboard .workspace-welcome{padding:22px;align-items:flex-start;border-radius:14px}.workspace-welcome>.btn{font-size:12px;min-height:40px}
  .portal-dashboard .portal-stats{gap:12px;margin-bottom:23px}.portal-dashboard .portal-stat{display:block;padding:20px 17px}.portal-dashboard .portal-stat-icon{width:37px;height:37px;margin-bottom:12px;border-radius:10px}.portal-dashboard .portal-stat-icon .workspace-icon{width:20px;height:20px}.portal-dashboard .portal-stat strong{font-size:27px}.portal-dashboard .portal-stat h3{font-size:12px}.portal-dashboard .portal-stat p{font-size:10px}
  .workspace-section-heading>span{font-size:10px}.workspace-section-heading .portal-section-title{font-size:16px}.portal-dashboard .portal-quick-links{gap:11px}.portal-dashboard .portal-quick-links>a{padding:21px;grid-template-columns:40px minmax(0,1fr);gap:0 14px}.portal-dashboard .portal-quick-links h3{margin:0;font-size:16px}.portal-dashboard .portal-quick-links p{min-height:0;margin:6px 0 12px;font-size:12px}.portal-dashboard .portal-quick-links b{font-size:11px}
  .upload-workbench{grid-template-columns:minmax(0,1fr);border-radius:15px}.upload-workbench-main{border-radius:0}.upload-feature-line{padding:17px 19px 0;gap:15px;font-size:10px}.upload-select-area{padding:19px 19px 22px}.upload-art{transform:scale(.9);margin-bottom:8px}.upload-select-area h3{font-size:19px}.upload-select-area>p{font-size:11px;margin-bottom:17px;max-width:280px;margin-left:auto;margin-right:auto}.upload-picker-control{min-height:44px;padding:10px 26px;font-size:13px}.upload-selection{font-size:11px}
  .upload-action-bar{padding:15px 19px}.upload-action-bar p{font-size:10px;max-width:145px}.portal-upload #btnStart{min-width:110px;min-height:42px;font-size:13px;padding:9px 14px}
  .upload-guide{border-left:0;border-top:1px solid #eeebf4;padding:17px 19px;background:#fbfafe}.upload-guide-eyebrow{display:none}.upload-guide summary{font-size:12px;margin:0;min-height:24px}.upload-guide details[open] summary{margin-bottom:13px}.upload-guide ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.upload-guide li{display:block}.upload-guide li>span{width:21px;height:21px;margin-bottom:7px;border-radius:6px;font-size:9px}.upload-guide li strong{font-size:11px}.upload-guide li p{font-size:10px;line-height:1.8;margin-top:4px}.upload-limit{margin-top:13px;padding-top:12px;gap:8px}.upload-limit>.workspace-icon{width:16px;height:16px}.upload-limit span{font-size:10px}.upload-limit strong{font-size:12px}
  .portal-upload .portal-subheading{margin:23px 0 12px;align-items:center}.portal-upload .portal-subheading h3{font-size:16px}.upload-queue-caption{font-size:10px}#uploadQueueSummary{font-size:10px;max-width:220px}.upload-queue-caption .workspace-icon{display:none}
  .portal-upload .portal-empty{padding:26px 20px;gap:14px;min-height:120px}.portal-upload .portal-empty p{font-size:10px}.portal-upload .portal-empty h3{font-size:12px}
  .portal-upload #queue .portal-responsive-table tr{padding:19px 18px;gap:14px 16px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .portal-upload #queue td:first-child{padding:0 0 0 44px!important;min-height:39px;display:flex!important;align-items:center;font-size:13px;grid-column:1/-1;grid-row:1}
  .portal-upload #queue td:first-child::before{display:none}.portal-upload #queue td:first-child::after{left:0}
  .portal-upload #queue td:nth-child(2),.portal-upload #queue td:nth-child(3){grid-row:2;font-size:11px}
  .portal-upload #queue td:nth-child(4){grid-column:1/-1;grid-row:3;padding-bottom:3px!important}
  .portal-upload #queue td:last-child{grid-column:1/-1;grid-row:4;font-size:11px}
  .portal-upload #queue td:last-child:has(a){display:flex!important;align-items:center;justify-content:space-between;gap:12px}
  .portal-upload #queue td:last-child:has(a)::before{margin:0}
  .portal-upload #queue td::before{font-size:10px;color:#a0a7b6;margin-bottom:4px}.portal-upload #queue .progress{margin-top:8px;margin-bottom:15px}
  .portal-user .workspace-safety{padding:13px 14px;gap:8px}.portal-user .workspace-safety p{font-size:11px}
}
@media(max-width:380px){
  .portal-upload .portal-page-heading{align-items:flex-start}.portal-upload .portal-page-heading>div{width:100%}.portal-upload .portal-page-heading>.btn{margin-top:0}.upload-action-bar{padding:14px}.upload-action-bar p{max-width:125px}.portal-upload #btnStart{min-width:104px}.upload-guide{padding:18px 15px}.upload-guide ol{gap:10px}.upload-queue-caption{display:none}.portal-dashboard .portal-stat{padding:18px 12px}.portal-dashboard .portal-stat strong{font-size:22px}.portal-dashboard .workspace-welcome{padding:21px}.portal-dashboard .workspace-welcome h2{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.portal-user *{transition:none!important;animation:none!important}}
