/* Glossy rarity cards, shared by the request rail and the full request list. */
.app .tc-request-card {
  --rc: #e8a000; --rc-dark: #986000; --rc-light: #fff176; --rc-tint: #fff9dd; --rc-ink: #452d06;
  position: relative; box-sizing: border-box; flex: 0 0 auto;
  color: #111a32; border: 3px solid var(--rc); border-radius: 22px;
  background: linear-gradient(135deg, #fff 30%, var(--rc-tint));
  box-shadow: inset 0 0 0 2px #fff, inset 0 -4px 0 var(--rc-light), 0 3px 0 var(--rc-dark), 0 8px 16px #102a3326;
  font-family: inherit;
}
.app .tc-request-card[data-rarity="uncommon"] { --rc:#17bd31; --rc-dark:#088223; --rc-light:#a4ff7c; --rc-tint:#e8ffe9; --rc-ink:#073f19; }
.app .tc-request-card[data-rarity="rare"] { --rc:#147aff; --rc-dark:#054395; --rc-light:#75caff; --rc-tint:#eaf6ff; --rc-ink:#fff; }
.app .tc-request-card[data-rarity="epic"] { --rc:#892bff; --rc-dark:#4b0eab; --rc-light:#d1a0ff; --rc-tint:#f5edff; --rc-ink:#fff; }
.app .tc-request-card[data-rarity="legendary"] { --rc:#ff282e; --rc-dark:#b20714; --rc-light:#ff8c8c; --rc-tint:#fff0f0; --rc-ink:#fff; }
.app .job-stack { width: 252px; gap: 14px; padding: 13px 6px 8px 3px; }
.app .tc-request-vertical { display: grid; gap: 4px; padding: 15px 8px 6px; margin-top: 2px; border-width: 2px; border-radius: 16px; }
.app .tc-request-reward, .app .tc-request-rarity, .app .tc-request-accept {
  color: var(--rc-ink); background: linear-gradient(155deg, var(--rc-light), var(--rc) 60%);
  border: 2px solid var(--rc-dark); box-shadow: inset 0 2px 0 #ffffffb3, inset 0 0 0 2px #ffffff40, 0 3px 0 var(--rc-dark), 0 5px 9px #18203424;
}
.app .tc-request-reward { display:grid; grid-template-columns:auto max-content; align-items:center; align-content:center; justify-content:center; column-gap:7px; border-radius:30px; white-space:nowrap; text-align:center; }
.app .tc-request-vertical .tc-request-reward { position:absolute; top:-24px; left:50%; transform:translateX(-50%); min-width:67%; padding:3px 16px; height:43px; }
.app .tc-request-reward img { display:block; width:37px; height:37px; margin:0; object-fit:contain; object-position:center; filter:drop-shadow(0 2px 1px #00432930); }
.app .tc-request-reward strong { display:block; font-size:26px; font-weight:950; line-height:1; letter-spacing:-.8px; }
.app .tc-request-identity { display:grid; grid-template-columns:31px minmax(0,1fr) auto; align-items:center; gap:7px; min-width:0; }
.app .tc-request-identity h3 { font-size:15px; line-height:1.15; margin:0; font-weight:900; overflow-wrap:anywhere; }
.app .tc-request-car { display:grid; place-items:center; width:31px; height:33px; background:var(--rc-light); border-radius:10px; color:#111a32; }
.app .request-icon { width:24px; height:24px; flex:none; display:block; }
.app .tc-request-car .request-icon { width:23px; height:23px; }
.app .tc-request-rarity { font-size:9px; font-weight:900; padding:4px 7px; border-radius:16px; text-transform:uppercase; white-space:nowrap; }
.app .tc-request-metrics { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:0; }
.app .tc-request-metric { display:grid; grid-template-columns:23px minmax(0,1fr); column-gap:6px; align-content:center; min-width:0; padding:8px 6px; border:1px solid color-mix(in srgb,var(--rc) 30%,white); border-radius:12px; background:#ffffffb3; box-shadow:0 2px 3px #1a243609; }
.app .tc-request-metric .request-icon { grid-row:1 / 3; color:var(--rc); align-self:center; width:22px; height:25px; filter:drop-shadow(0 2px 0 var(--rc-tint)); }
.app .tc-request-metric dt { font-size:9px; font-weight:650; color:#536078; line-height:1.3; margin:0 0 3px; }
.app .tc-request-metric dd { font-size:13px; font-weight:850; line-height:1.2; margin:0; overflow-wrap:anywhere; }
.app .tc-request-life { height:3px; background:var(--rc-tint); border-radius:4px; overflow:hidden; }
.app .tc-request-life span { display:block; height:100%; background:var(--rc); border-radius:inherit; transition:width .2s linear; }
.app .tc-request-urgent .tc-request-life span { background:#e42332; }
.app .tc-request-actions { display:flex; gap:7px; min-width:0; }
.app .tc-request-actions button { display:grid; grid-template-columns:auto max-content; align-content:center; align-items:center; justify-content:center; column-gap:7px; flex:1; min-width:0; min-height:39px; border-radius:12px; padding:7px 9px; font:850 14px/1.15 inherit; font-family:inherit; font-size:14px; font-weight:850; text-align:center; cursor:pointer; transition:filter .15s, transform .15s; }
.app .tc-request-actions button .request-icon { display:block; width:18px; height:18px; margin:0; }
.app .tc-request-reject { color:#253044; background:linear-gradient(#fff,#e1e5eb); border:2px solid #bdc4cd; box-shadow:inset 0 2px 0 white, 0 3px 0 #9da5b0; }
.app .tc-request-actions button:hover:not(:disabled):not([aria-disabled="true"]) { filter:brightness(1.07); transform:translateY(-1px); }
.app .tc-request-actions button:active:not(:disabled):not([aria-disabled="true"]) { transform:translateY(2px); }
.app .tc-request-actions button:focus-visible { outline:3px solid #122740; outline-offset:3px; }
.app .tc-request-actions button:disabled,
.app .tc-request-actions button[aria-disabled="true"] { opacity:.47; filter:saturate(.45); cursor:not-allowed; }
.app .tc-request-vertical .tc-request-reward { top:-12px; min-width:46%; height:22px; padding:1px 8px; gap:4px; border-width:1px; box-shadow:inset 0 1px 0 #ffffffb3, inset 0 0 0 1px #ffffff40, 0 2px 0 var(--rc-dark), 0 3px 6px #18203420; }
.app .tc-request-vertical .tc-request-reward img { width:17px; height:17px; }
.app .tc-request-vertical .tc-request-reward strong { font-size:14px; letter-spacing:-.25px; }
.app .tc-request-vertical .tc-request-identity { grid-template-columns:25px minmax(0,1fr) auto; gap:5px; }
.app .tc-request-vertical .tc-request-identity h3 { font-size:12.5px; }
.app .tc-request-vertical .tc-request-car { width:25px; height:26px; border-radius:8px; }
.app .tc-request-vertical .tc-request-car .request-icon { width:18px; height:18px; }
.app .tc-request-vertical .tc-request-rarity { font-size:8px; padding:3px 5px; }
.app .tc-request-vertical .tc-request-metrics { gap:4px 5px; }
.app .tc-request-vertical .tc-request-metric { grid-template-columns:17px minmax(0,1fr); column-gap:5px; padding:4px 5px; border-radius:9px; }
.app .tc-request-vertical .tc-request-metric .request-icon { width:17px; height:19px; }
.app .tc-request-vertical .tc-request-metric dt { font-size:7.5px; margin-bottom:1px; }
.app .tc-request-vertical .tc-request-metric dd { font-size:10.5px; }
.app .tc-request-vertical .tc-request-life { height:4px; }
.app .tc-request-vertical .tc-request-actions { gap:5px; }
.app .tc-request-vertical .tc-request-actions button { min-height:29px; padding:4px 6px; border-radius:9px; font-size:11px; gap:4px; }
.app .tc-request-vertical .tc-request-actions button .request-icon { width:15px; height:15px; }
.app .modal:has(.tc-request-list) { width:min(1040px,calc(100vw - 84px)); max-width:1040px; }
.app .tc-request-list { display:grid; gap:14px; padding:3px 3px 8px; }
.app .tc-request-row { display:grid; grid-template-columns:minmax(150px,1.05fr) minmax(310px,2.45fr) minmax(82px,.45fr) minmax(175px,1.15fr); align-items:center; gap:5px; padding:11px; border-radius:18px; }
.app .tc-request-row .tc-request-identity { grid-column:1; grid-row:1; grid-template-columns:40px minmax(0,1fr); gap:4px 8px; }
.app .tc-request-row .tc-request-car { grid-row:1 / 3; width:40px; height:43px; }
.app .tc-request-row .tc-request-rarity { grid-column:2; justify-self:start; font-size:9px; padding:2px 8px; }
.app .tc-request-row .tc-request-identity h3 { font-size:14px; }
.app .tc-request-row .tc-request-metrics { grid-column:2; grid-row:1; grid-template-columns:.85fr 1fr .68fr .82fr; gap:0; }
.app .tc-request-row .tc-request-metric { border:0; border-left:1px solid color-mix(in srgb,var(--rc) 25%,white); box-shadow:none; background:transparent; border-radius:0; padding:5px 7px; grid-template-columns:20px minmax(0,1fr); gap:3px 5px; }
.app .tc-request-row .tc-request-metric .request-icon { width:20px; }
.app .tc-request-row .tc-request-metric dd { font-size:12px; }
.app .tc-request-row .tc-request-reward { grid-column:3; grid-row:1; display:grid; grid-template-columns:25px max-content; align-items:center; justify-content:center; column-gap:5px; border:0; background:transparent; box-shadow:none; color:var(--rc-dark); text-align:center; }
.app .tc-request-row .tc-request-reward strong { display:block; font-size:20px; line-height:1; letter-spacing:-.7px; }
.app .tc-request-row .tc-request-reward img { display:block; width:25px; height:28px; margin:0; object-position:center; }
.app .tc-request-row .tc-request-actions { grid-column:4; grid-row:1; gap:8px; margin-left:24px; }
.app .tc-request-row .tc-request-actions button { display:grid; grid-template-columns:15px max-content; align-content:center; align-items:center; justify-content:center; column-gap:5px; font-size:12px; padding:8px 6px; min-height:43px; text-align:center; }
.app .tc-request-row .tc-request-actions .request-icon { display:block; width:15px; height:15px; margin:0; }
@media(max-width:1050px) {
  .app .tc-request-row { grid-template-columns: minmax(140px,1fr) minmax(290px,2.4fr) minmax(88px,.5fr); gap:6px; }
  .app .tc-request-row .tc-request-actions { grid-column:2 / 4; grid-row:2; justify-self:end; width:210px; margin:8px 0 0; }
}
@media(max-width:650px) {
  .app .job-stack { width:240px; }
  .app .tc-request-row { grid-template-columns:minmax(0,1fr) auto; }
  .app .tc-request-row .tc-request-identity { grid-column:1; }
  .app .tc-request-row .tc-request-reward { grid-column:2; }
  .app .tc-request-row .tc-request-metrics { grid-column:1 / -1; grid-row:2; grid-template-columns:1fr 1fr; gap:6px; }
  .app .tc-request-row .tc-request-actions { grid-column:1 / -1; grid-row:3; width:100%; margin:8px 0 0; }
}
@media(prefers-reduced-motion:reduce) { .app .tc-request-card * { transition:none !important; } }
