.portal-shell{width:min(1080px,calc(100% - 32px));margin:auto;padding:70px 0 100px}.login-panel{width:min(560px,100%);margin:6vh auto;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:34px}.login-panel h1,.dashboard-head h1{font-size:clamp(48px,7vw,78px);line-height:.92;letter-spacing:-4px;margin:0 0 22px}.login-panel>p:not(.eyebrow){color:var(--muted);line-height:1.7}.login-panel .primary{width:100%;margin-top:8px}.dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px}.dashboard-head p:last-child{color:var(--muted);font-size:12px}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:26px}.dashboard-stats article{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px}.dashboard-stats span,.dashboard-stats strong{display:block}.dashboard-stats span{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.dashboard-stats strong{font-size:34px;margin-top:9px}.cards-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.smart-card-item{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:22px}.card-item-head{display:flex;justify-content:space-between;gap:14px}.card-item-head h2{font-size:20px;margin:0 0 6px}.card-item-head small{color:var(--muted)}.state{height:max-content;padding:7px 9px;border-radius:999px;background:#242424;color:#c8c8c8;font-size:8px;font-weight:800;text-transform:uppercase}.state.active{background:rgba(239,48,56,.12);color:#ff7379}.card-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}.card-details span,.card-details strong{display:block}.card-details span{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.card-details strong{font-size:11px;margin-top:5px;overflow-wrap:anywhere}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.card-actions button,.card-actions a{font-size:10px}.orders-panel{margin-top:70px;border-top:1px solid var(--line);padding-top:50px}.panel-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}.panel-heading h2{font-size:34px;margin:0}.panel-heading a{color:#fff;font-size:11px}.orders-list{display:grid;gap:9px}.portal-order{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:17px;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:12px;align-items:center}.portal-order span,.portal-order strong{display:block}.portal-order span{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.portal-order strong{font-size:11px;margin-top:4px}.empty-state{grid-column:1/-1;border:1px dashed #333;border-radius:8px;padding:28px;color:var(--muted);text-align:center;font-size:12px}dialog{width:min(520px,calc(100% - 28px));background:#111;color:#fff;border:1px solid #333;border-radius:8px;padding:0}dialog::backdrop{background:rgba(0,0,0,.8)}dialog form{padding:28px;position:relative}dialog h2{font-size:30px;margin:0 0 22px}.dialog-close{position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:50%;border:1px solid #333;background:#191919;color:#fff;cursor:pointer}.save-destination{width:100%;margin-top:10px}@media(max-width:720px){.dashboard-head{align-items:flex-start}.dashboard-head h1{font-size:52px}.cards-list{grid-template-columns:1fr}.portal-order{grid-template-columns:1fr 1fr}.portal-order>div:first-child{grid-column:1/-1}.login-panel{padding:24px}.dashboard-stats article{padding:15px}.dashboard-stats strong{font-size:27px}}@media(max-width:440px){.dashboard-head{display:block}.dashboard-head button{margin-top:15px}.portal-order{grid-template-columns:1fr}.portal-order>div:first-child{grid-column:auto}.panel-heading{align-items:flex-start;flex-direction:column}}
html,body{touch-action:manipulation;-webkit-text-size-adjust:100%}

/* Kemzy V2 order journey: visible only for the user's own RLS-protected orders. */
.portal-order .order-journey{grid-column:1/-1;border-top:1px solid #393132;margin-top:7px;padding-top:17px;min-width:0}.journey-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:15px}.journey-head strong{color:#ff9b80;letter-spacing:1.4px;font-size:10px}.journey-head span{font-size:10px;color:#d0caca}.journey-track{height:5px;background:#343030;border-radius:20px;position:relative;margin:25px 9px 18px}.journey-fill{height:100%;border-radius:20px;background:linear-gradient(90deg,#a00,#fe663b);transition:width .6s ease}.journey-truck{position:absolute;bottom:8px;transform:translateX(-50%);font-size:22px;filter:drop-shadow(0 2px 8px rgba(255,44,20,.25));transition:left .6s ease}.journey-stages{list-style:none;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;margin:0}.journey-stage{text-align:center;color:#777;font-size:9px;line-height:1.35;overflow-wrap:anywhere}.journey-stage.reached{color:#f8b3a3}.journey-dot{display:block;width:8px;height:8px;margin:0 auto 8px;border-radius:50%;border:1px solid #7e7777;background:#242121}.journey-stage.reached .journey-dot{border-color:#fd4a36;background:#f44238;box-shadow:0 0 10px rgba(248,60,30,.4)}.journey-note{color:#858080;font-size:10px;line-height:1.55;margin:9px 0 0}@media(max-width:460px){.journey-stage{font-size:7px}.portal-order .order-journey{margin-top:0}}@media(prefers-reduced-motion:reduce){.journey-fill,.journey-truck{transition:none}}

/* Dashboard finishing pass: keep paid orders prominent and checkout attempts optional. */
.order-section-title{display:flex;align-items:center;gap:10px;grid-column:1/-1;margin:4px 0 3px}.order-section-title h3{font-size:17px;margin:0}.order-section-title>span,.past-checkouts summary span{font-size:11px;background:#30191a;color:#ff8883;border-radius:999px;padding:5px 9px}.past-checkouts{grid-column:1/-1;border:1px solid #343030;border-radius:10px;background:#111;padding:0 16px 16px;margin-top:15px}.past-checkouts summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;color:#ddd;font-size:13px;font-weight:700}.past-checkouts summary::marker{color:#ff744e}.checkout-help{color:#aaa;font-size:12px;line-height:1.6;margin:0 0 14px}.past-checkouts-list{display:grid;gap:10px}.past-checkouts .portal-order{background:#151515}.courier-check{grid-column:1/-1;font-size:12px;line-height:1.6}.courier-check p{margin:8px 0}.dashboard-head #accountEmail{overflow-wrap:anywhere}.portal-order>div{min-width:0}.portal-order strong{overflow-wrap:anywhere}.card-item-head h2{overflow-wrap:anywhere}
@media(max-width:600px){.portal-shell{padding-top:38px}.dashboard-head h1{font-size:clamp(38px,11vw,52px);letter-spacing:-2.4px}.dashboard-stats{gap:7px}.dashboard-stats article{padding:13px 10px}.dashboard-stats span{font-size:9px;letter-spacing:.2px}.dashboard-stats strong{font-size:27px}.portal-order{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.portal-order>div:first-child{grid-column:1/-1}.portal-order .order-journey{overflow:hidden}.journey-stages{grid-template-columns:repeat(7,minmax(66px,1fr));overflow-x:auto;padding:0 0 10px;scrollbar-width:thin}.journey-stage{font-size:10px;overflow-wrap:normal}.journey-track{margin:30px 10px 20px}.journey-head{gap:5px}.journey-head span{line-height:1.5}.orders-panel{margin-top:48px;padding-top:35px}.panel-heading h2{font-size:30px}.smart-card-item{padding:18px}.card-actions button,.card-actions a{font-size:12px}.card-details strong{font-size:12px}}


/* Kemzy NFC final mobile Order Journey cleanup */
@media (max-width: 600px) {
  .order-journey {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
  }

  .journey-stages {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 2px;
    width: 100%;
  }

  .journey-stage {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: normal;
    font-size: 8px;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
  }

  .journey-head {
    flex-wrap: wrap;
    gap: 8px;
  }
}
