.overlay{ position:fixed; inset:0; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; z-index:1000; padding:16px; }
    .modal{ background:#fff; border-radius:16px; width:min(980px,94vw); max-height:86vh; overflow:auto; box-shadow:0 16px 40px rgba(0,0,0,.25); }
    .modalHead{ padding:16px 18px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; gap:12px; }
    .modalTitle{ font-size:18px; font-weight:900; color:#0f172a; }
    .modalSub{ margin-top:6px; color:var(--muted); font-size:13px; line-height:1.4; }
    .x{ border:1px solid var(--border); background:#fff; border-radius:10px; padding:6px 10px; cursor:pointer; font-weight:900; color:#374151; }
    .x:hover{ background:#f3f4f6; }
    .modalBody{ padding:16px 18px; }

    /* Prepare box request modal refinement */
    .modal.prepRequestModal{
      width:min(1030px,94vw);
      max-height:min(88vh,880px);
      display:flex;
      flex-direction:column;
      overflow:hidden;
      border-radius:20px;
      box-shadow:0 22px 64px rgba(15,23,42,.28);
    }
    .prepRequestModal .modalHead{
      flex:0 0 auto;
      align-items:flex-start;
      padding:22px 26px 20px;
      border-bottom:1px solid #e8edf0;
    }
    .prepRequestModal .x{
      width:40px;
      height:40px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 40px;
      padding:0;
      border-radius:12px;
      font-size:18px;
      font-weight:500;
    }
    .modalBody.prepRequestModalBody{
      flex:1;
      min-height:0;
      display:flex;
      padding:0;
      overflow:hidden;
    }
    .prepRequestLayout{
      width:100%;
      min-height:0;
      display:flex;
      flex:1;
      flex-direction:column;
    }
    .prepRequestScroll{
      min-height:0;
      overflow:auto;
      padding:20px 26px 24px;
    }
    .prepRequestHeaderTitle{
      color:#0f172a;
      font-size:24px;
      font-weight:900;
      line-height:1.15;
      letter-spacing:-0.015em;
    }
    .prepRequestCustomerName{
      margin-top:6px;
      color:#1f2937;
      font-size:24px;
      line-height:1.2;
      font-weight:900;
      letter-spacing:-0.012em;
    }
    .prepRequestMeta{
      margin-top:7px;
      color:#667085;
      font-size:14px;
      line-height:1.45;
    }
    .prepRequestSection{
      margin:0 0 16px;
      padding:18px 18px 16px;
      border:1px solid #e6ebef;
      border-radius:16px;
      background:#fff;
      box-shadow:0 3px 10px rgba(15,23,42,.025);
    }
    .prepRequestSectionTop{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
    }
    .prepRequestSectionTitle{
      margin:0;
      color:#172033;
      font-size:15px;
      font-weight:900;
      line-height:1.35;
    }
    .prepRequestHelper{
      margin:5px 0 0;
      color:#778197;
      font-size:13px;
      line-height:1.45;
    }
    .prepRequestPackageCount{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-height:28px;
      color:#596276;
      font-size:13px;
      font-weight:900;
      white-space:nowrap;
    }
    .prepRequestChipWrap{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:13px;
    }
    .prepRequestChip{
      display:inline-flex;
      align-items:center;
      min-height:38px;
      padding:0 13px;
      border:1px solid #e2e7ec;
      border-radius:12px;
      background:#fff;
      color:#111827;
      box-shadow:0 1px 3px rgba(15,23,42,.035);
      font-size:13px;
      font-weight:900;
    }
    .prepRequestStepper{
      display:flex;
      align-items:center;
      gap:8px;
      flex:0 0 auto;
    }
    .prepRequestStepButton{
      width:38px;
      height:38px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:0;
      border-radius:12px;
      font-size:17px;
      line-height:1;
    }
    .prepRequestStepValue{
      min-width:44px;
      height:38px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border:1px solid #e5e7eb;
      border-radius:12px;
      background:#f7f8fa;
      color:#344054;
      font-size:14px;
      font-weight:900;
    }
    .prepRequestBoxCard{
      margin:0 0 16px;
      padding:20px 18px 18px;
      border:1px solid #e3e9ed;
      border-radius:16px;
      background:linear-gradient(180deg,#fff 0%,#fbfcfc 100%);
      box-shadow:0 4px 12px rgba(15,23,42,.03);
    }
    .prepRequestAssignedCount{
      display:inline-flex;
      align-items:center;
      min-height:28px;
      padding:0 11px;
      border:1px solid #e1e5ea;
      border-radius:999px;
      background:#f5f6f8;
      color:#4b5565;
      font-size:12px;
      font-weight:900;
      white-space:nowrap;
    }
    .prepRequestSubsectionTitle{
      margin:18px 0 0;
      color:#374151;
      font-size:14px;
      font-weight:900;
    }
    .prepRequestMeasurementGrid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      margin-top:16px;
    }
    .prepRequestFieldLabel{
      display:block;
      margin-bottom:7px;
      color:#596276;
      font-size:13px;
      font-weight:900;
    }
    .prepRequestField .input{
      min-height:46px;
      padding:10px 12px;
      border-color:#dfe5ea;
      border-radius:11px;
    }
    .prepRequestFooter{
      flex:0 0 auto;
      display:flex;
      justify-content:flex-end;
      gap:10px;
      padding:18px 26px;
      border-top:1px solid #e6ebef;
      background:#fff;
    }
    .prepRequestFooter .btn{ min-height:44px; border-radius:12px; }
    .prepRequestSave{ box-shadow:0 10px 22px rgba(56,184,3,.17); }
    @media (max-width: 700px){
      .modal.prepRequestModal{ width:min(96vw,1030px); max-height:92vh; border-radius:16px; }
      .prepRequestModal .modalHead{ padding:18px 18px 16px; }
      .prepRequestScroll{ padding:16px 18px 20px; }
      .prepRequestFooter{ padding:14px 18px; }
      .prepRequestCustomerName{ font-size:21px; }
      .prepRequestSectionTop{ flex-direction:column; }
      .prepRequestStepper{ align-self:flex-start; }
      .prepRequestMeasurementGrid{ grid-template-columns:1fr; gap:12px; }
    }

    /* Register new packages modal refinement */
    .modal.registerPackagesModal{
      width:min(1000px,94vw);
      max-height:min(90vh,900px);
      display:flex;
      flex-direction:column;
      overflow:hidden;
      border-radius:20px;
      box-shadow:0 24px 68px rgba(15,23,42,.30);
    }
    .registerPackagesModal .modalHead{
      flex:0 0 auto;
      align-items:flex-start;
      padding:24px 32px 20px;
      border-bottom:0;
    }
    .registerPackagesModal .modalTitle{
      color:#111827;
      font-size:25px;
      line-height:1.2;
      font-weight:900;
      letter-spacing:-.018em;
    }
    .registerPackagesModal .modalSub{
      margin-top:7px;
      color:#707b90;
      font-size:14px;
      line-height:1.5;
    }
    .registerPackagesModal .x{
      width:42px;
      height:42px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      flex:0 0 42px;
      padding:0;
      border-radius:12px;
      color:#344054;
      font-size:19px;
      font-weight:500;
    }
    .modalBody.registerPackagesModalBody{
      flex:1;
      min-height:0;
      display:flex;
      padding:0;
      overflow:hidden;
    }
    .registerPackagesLayout{
      width:100%;
      min-height:0;
      display:flex;
      flex:1;
      flex-direction:column;
    }
    .registerPackagesScroll{
      min-height:0;
      overflow:auto;
      padding:0 32px 22px;
    }
    .registerFieldGroup{ margin-top:16px; }
    .registerFieldLabel{
      display:block;
      margin-bottom:7px;
      color:#596579;
      font-size:14px;
      line-height:1.35;
      font-weight:900;
    }
    .registerSearchWrap{ position:relative; }
    .registerSearchInputWrap{ position:relative; }
    .registerSearchInputWrap .input{
      min-height:52px;
      padding:13px 46px 13px 48px;
      border-color:#d7dee6;
      border-radius:12px;
      font-size:15px;
      box-shadow:none;
    }
    .registerSearchInputWrap .input:focus{
      border-color:rgba(56,184,3,.72);
      box-shadow:0 0 0 3px rgba(56,184,3,.12);
    }
    .registerSearchLeading,
    .registerSearchChevron{
      position:absolute;
      top:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      transform:translateY(-50%);
      color:#667085;
      pointer-events:none;
    }
    .registerSearchLeading{ left:16px; }
    .registerSearchChevron{ right:16px; }
    .registerSearchList{
      position:absolute;
      top:calc(100% + 8px);
      right:0;
      left:0;
      z-index:1300;
      overflow:auto;
      max-height:278px;
      border:1px solid #dde4ea;
      border-radius:14px;
      background:#fff;
      box-shadow:0 18px 44px rgba(15,23,42,.16);
    }
    .registerSearchOption{
      padding:12px 14px;
      border-bottom:1px solid #eef1f4;
      cursor:pointer;
    }
    .registerSearchOption:last-child{ border-bottom:0; }
    .registerSearchOption:hover{ background:#f8faf9; }
    .registerSearchOptionTitle{ color:#111827; font-size:14px; font-weight:900; }
    .registerSearchOptionSub{ margin-top:3px; color:#778197; font-size:13px; line-height:1.4; }
    .registerNoMatchDropdown{ padding:13px 14px 14px; }
    .registerNoMatchDropdownTitle{ color:#111827; font-size:14px; font-weight:900; }
    .registerNoMatchDropdownSub{ margin-top:3px; color:#778197; font-size:13px; line-height:1.4; }
    .registerUnlinkedPick{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      width:100%;
      margin-top:12px;
      padding:12px;
      border:1px solid #f4b445;
      border-radius:12px;
      background:#fffaf0;
      color:#965700;
      cursor:pointer;
      text-align:left;
      font:inherit;
    }
    .registerUnlinkedPick:hover{ background:#fff4de; }
    .registerUnlinkedPickMain{ display:flex; align-items:flex-start; gap:10px; }
    .registerUnlinkedPickTitle{ color:#8a4b00; font-size:14px; font-weight:900; }
    .registerUnlinkedPickSub{ margin-top:3px; color:#9c6a2a; font-size:12px; line-height:1.38; }
    .registerSelectionCard{
      display:flex;
      align-items:center;
      gap:14px;
      min-height:82px;
      padding:15px;
      border:1px solid #bedcbc;
      border-radius:13px;
      background:#f5fbf3;
    }
    .registerSelectionCardUnlinked{
      border-color:#f3d5a3;
      background:#fffaf0;
    }
    .registerSelectionAvatar{
      width:52px;
      height:52px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 52px;
      border-radius:999px;
      color:#fff;
      background:#42a647;
    }
    .registerSelectionCardUnlinked .registerSelectionAvatar{ background:#e5a21a; }
    .registerSelectionDetails{ min-width:0; flex:1; }
    .registerSelectionName{ color:#111827; font-size:16px; font-weight:900; line-height:1.3; }
    .registerSelectionCardUnlinked .registerSelectionName{ display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
    .registerSelectionEmail{ margin-top:3px; color:#6d778a; font-size:14px; line-height:1.4; }
    .registerSelectionCheck{
      width:28px;
      height:28px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 28px;
      border-radius:999px;
      color:#fff;
      background:#42a647;
    }
    .registerSelectionCardUnlinked .registerSelectionCheck{ background:#e5a21a; }
    .registerNoMatchPanel{
      display:flex;
      gap:11px;
      align-items:flex-start;
      margin-top:10px;
      padding:12px 13px;
      border:1px solid #f3dfbd;
      border-radius:12px;
      background:#fffaf2;
      color:#a15a00;
    }
    .registerNoMatchIcon{
      width:34px;
      height:34px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 34px;
      border-radius:999px;
      color:#c27800;
      background:#ffedc9;
    }
    .registerNoMatchTitle{ color:#8c5104; font-size:14px; font-weight:900; }
    .registerNoMatchCopy{ margin-top:3px; color:#986b2f; font-size:13px; line-height:1.4; }
    .registerUnlinkedSelected{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:14px;
      margin-top:10px;
      padding:15px;
      border:1px solid #efad35;
      border-radius:13px;
      background:#fffaf0;
    }
    .registerUnlinkedSelectedMain{ display:flex; min-width:0; gap:11px; }
    .registerUnlinkedSelectedIcon{
      width:38px;
      height:38px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 38px;
      border-radius:999px;
      color:#fff;
      background:#e39a11;
    }
    .registerUnlinkedSelectedTitle{ color:#764000; font-size:14px; font-weight:900; }
    .registerUnlinkedSelectedCopy{ margin-top:4px; color:#8d6331; font-size:13px; line-height:1.45; }
    .registerUnlinkedSelectedName{ margin-top:6px; color:#806035; font-size:13px; }
    .registerUnlinkedSelectedName strong{ color:#6e4917; }
    .registerUnlinkedCheck{
      width:25px;
      height:25px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 25px;
      margin-top:2px;
      border-radius:999px;
      color:#fff;
      background:#e39a11;
    }
    .registerUnlinkedBadge{
      display:inline-flex;
      align-items:center;
      min-height:24px;
      margin-left:0;
      padding:0 8px;
      border-radius:999px;
      color:#9a5a00;
      background:#ffedc9;
      font-size:12px;
      font-weight:900;
      vertical-align:middle;
    }
    .registerRecipientNameInput{
      width:auto;
      min-width:0;
      flex:1 1 180px;
      padding:0;
      border:0;
      outline:0;
      background:transparent;
      color:#111827;
      font:inherit;
      font-size:16px;
      font-weight:900;
      line-height:1.3;
    }
    .registerQuantityRow{
      display:flex;
      align-items:center;
      flex-wrap:wrap;
      gap:14px 20px;
    }
    .registerQuantityStepper{
      display:grid;
      grid-template-columns:54px 74px 54px;
      overflow:hidden;
      border:1px solid #dce3ea;
      border-radius:12px;
      background:#fff;
    }
    .registerQuantityButton{
      min-height:56px;
      padding:0;
      border:0;
      background:#fff;
      color:#475467;
      cursor:pointer;
      font-size:26px;
      font-weight:500;
    }
    .registerQuantityButton:hover{ background:#f7f9fa; }
    .registerQuantityValue{
      min-width:0;
      border:0;
      border-right:1px solid #e4e8ed;
      border-left:1px solid #e4e8ed;
      outline:0;
      color:#101828;
      background:#fff;
      text-align:center;
      font-size:17px;
      font-weight:900;
      font-variant-numeric:tabular-nums;
    }
    .registerQuantityHint{ color:#6b7280; font-size:13px; font-weight:700; }
    .registerNoteWrap{ position:relative; }
    .registerNoteInput{
      min-height:82px;
      resize:vertical;
      padding:13px 14px 28px;
      border-color:#dce3ea;
      border-radius:12px;
      line-height:1.45;
    }
    .registerCharacterCount{
      position:absolute;
      right:12px;
      bottom:9px;
      color:#8a94a6;
      font-size:12px;
      font-weight:700;
      pointer-events:none;
    }
    .registerSummaryPanel{
      display:flex;
      align-items:flex-start;
      gap:13px;
      margin-top:18px;
      padding:15px;
      border:1px solid #c9e3c5;
      border-radius:13px;
      background:#f5fbf3;
    }
    .registerSummaryIcon{
      width:40px;
      height:40px;
      display:flex;
      align-items:center;
      justify-content:center;
      flex:0 0 40px;
      border-radius:999px;
      color:#fff;
      background:#42a647;
    }
    .registerSummaryTitle{ color:#20732a; font-size:14px; font-weight:900; }
    .registerSummaryCopy{ margin-top:3px; color:#344054; font-size:14px; line-height:1.45; }
    .registerSummaryCopy strong{ color:#24732b; }
    .registerSummarySecondary{ margin-top:3px; color:#667085; font-size:13px; line-height:1.4; }
    .registerCreatedPackages{
      margin-top:14px;
      padding:13px 14px;
      border:1px solid #dce8da;
      border-radius:13px;
      background:#fbfefb;
    }
    .registerPackagesFooter{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:12px;
      flex:0 0 auto;
      padding:18px 32px 24px;
      border-top:1px solid #e6eaee;
      background:#fff;
    }
    .registerPackagesFooter .btn{
      min-height:48px;
      border-radius:12px;
      padding:0 20px;
    }
    .registerPackagesSubmit{ box-shadow:0 10px 22px rgba(56,184,3,.18); }
    @media (max-width: 700px){
      .modal.registerPackagesModal{ width:min(96vw,1000px); max-height:93vh; border-radius:16px; }
      .registerPackagesModal .modalHead{ padding:20px 20px 16px; }
      .registerPackagesModal .modalTitle{ font-size:22px; }
      .registerPackagesScroll{ padding:0 20px 18px; }
      .registerPackagesFooter{ padding:14px 20px 18px; }
      .registerPackagesFooter .btn{ flex:1; padding:0 12px; }
      .registerSelectionCard{ align-items:flex-start; }
    }

    /* toast */
