:root{
  --ink:#171a1f;
  --ink-2:#282c33;
  --muted:#717780;
  --muted-2:#989da4;
  --line:#e4e6e8;
  --line-strong:#d7dade;
  --surface:#ffffff;
  --surface-2:#f7f8f9;
  --page:#f2f3f4;
  --brand:#f15c36;
  --brand-dark:#d94722;
  --brand-soft:#fff1ec;
  --success:#198754;
  --success-soft:#eaf7f0;
  --warning:#b26a00;
  --warning-soft:#fff5de;
  --info:#2563eb;
  --info-soft:#edf4ff;
  --danger:#c93434;
  --danger-soft:#fff0f0;
  --shadow-xs:0 1px 2px rgba(15,20,25,.04);
  --shadow-sm:0 6px 24px rgba(15,20,25,.06);
  --shadow-md:0 16px 44px rgba(15,20,25,.09);
  --radius-sm:10px;
  --radius:16px;
  --radius-lg:22px;
  --font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  background:var(--page);
  color:var(--ink);
  font-family:var(--font);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}

/* Header */
.app-header{
  position:sticky;
  top:0;
  z-index:50;
  height:68px;
  background:#15181d;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.header-inner{
  width:min(1120px,calc(100% - 32px));
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}
.brand-mark{
  width:36px;height:36px;border-radius:11px;
  display:grid;place-items:center;
  background:var(--brand);
  color:#fff;
  font-size:16px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.brand-copy{min-width:0}
.brand-name{font-weight:800;font-size:15px;line-height:1.15;letter-spacing:-.01em}
.brand-sub{font-size:11px;color:#9da3ac;margin-top:3px;font-weight:600;white-space:nowrap}
.header-actions{display:flex;align-items:center;gap:8px}
.header-badge{
  padding:7px 10px;border-radius:999px;
  background:#242930;border:1px solid #30363e;
  color:#c9cdd3;font-size:11px;font-weight:700;
}
.header-btn{
  min-height:36px;padding:0 12px;border-radius:10px;
  border:1px solid #343a43;background:#20242a;color:#e8eaed;
  font-weight:700;font-size:12px;
}
.header-btn:hover{background:#292e35}

/* Layout */
.page-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0 54px}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.surface{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-xs);
}
.surface-pad{padding:24px}
.section-kicker{
  display:inline-flex;align-items:center;gap:7px;
  margin-bottom:8px;color:var(--brand-dark);font-size:11px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;
}
.section-title{margin:0;font-size:24px;line-height:1.2;letter-spacing:-.035em;font-weight:820;color:var(--ink)}
.section-copy{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.55;max-width:650px}
.section-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}

/* Search */
.search-surface{overflow:hidden}
.search-head{padding:28px 28px 0}
.search-body{padding:20px 28px 28px}
.search-line{display:grid;grid-template-columns:minmax(0,1fr) 142px;gap:10px}
.input-wrap{position:relative}
.input-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#8b9199;font-size:15px;pointer-events:none}
.text-input,.select-input,.date-input{
  width:100%;height:52px;border:1px solid var(--line-strong);border-radius:13px;background:#fff;
  color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s,background .15s;
  font-size:15px;
}
.text-input{padding:0 16px 0 47px;font-weight:650}
.text-input::placeholder{color:#a1a6ad;font-weight:500}
.select-input,.date-input{padding:0 13px;font-weight:650}
.text-input:focus,.select-input:focus,.date-input:focus{border-color:#aab0b7;box-shadow:0 0 0 4px rgba(23,26,31,.05)}
.primary-btn{
  height:52px;border:0;border-radius:13px;background:var(--ink);color:#fff;font-weight:800;font-size:14px;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 18px;transition:transform .12s,background .12s;
}
.primary-btn:hover{background:#242830}
.primary-btn:active{transform:translateY(1px)}
.primary-btn.brand{background:var(--brand)}
.primary-btn.brand:hover{background:var(--brand-dark)}
.secondary-btn,.ghost-btn,.danger-btn{
  min-height:42px;border-radius:11px;padding:0 14px;font-weight:750;font-size:13px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
}
.secondary-btn{border:1px solid var(--line-strong);background:#fff;color:var(--ink)}
.secondary-btn:hover{background:var(--surface-2)}
.ghost-btn{border:1px solid transparent;background:transparent;color:var(--muted)}
.ghost-btn:hover{background:var(--surface-2);color:var(--ink)}
.danger-btn{border:1px solid #efc7c7;background:#fff7f7;color:var(--danger)}
.danger-btn:hover{background:#ffeded}
button:disabled{opacity:.55;cursor:not-allowed}

.period-label{margin:18px 0 9px;font-size:11px;font-weight:800;color:#7a8088;text-transform:uppercase;letter-spacing:.075em}
.period-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.period-option{
  min-width:0;min-height:62px;padding:10px 13px;text-align:left;border:1px solid var(--line);border-radius:13px;
  background:#fafafa;color:var(--ink);transition:border-color .14s,background .14s,box-shadow .14s;
}
.period-option:hover{background:#fff;border-color:#cdd0d4}
.period-option.active{background:var(--brand-soft);border-color:#f4b6a6;box-shadow:0 0 0 1px rgba(241,92,54,.05)}
.period-month{display:block;font-weight:800;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.period-caption{display:block;margin-top:3px;font-size:11px;font-weight:650;color:var(--muted)}
.period-option.active .period-caption{color:#aa4b30}
.search-note{display:flex;gap:9px;align-items:flex-start;margin-top:14px;color:#81868d;font-size:12px;line-height:1.5}
.search-note i{margin-top:2px;color:#9a9fa6}

/* State / notices */
.notice{padding:14px 16px;border-radius:13px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px;line-height:1.5}
.notice.error{border-color:#f2cece;background:#fff8f8;color:#9f3535}
.notice.empty{display:flex;align-items:center;gap:12px;padding:22px}
.notice-icon{width:38px;height:38px;border-radius:11px;background:var(--surface-2);display:grid;place-items:center;color:#8d9299;flex:0 0 auto}

/* Transport meta */
.meta-panel{padding:20px 22px}
.meta-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.meta-title{font-size:13px;font-weight:800;color:var(--ink)}
.meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.meta-card{padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfbfb;min-width:0}
.meta-label{font-size:10px;color:#858a91;text-transform:uppercase;letter-spacing:.065em;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.meta-value{margin-top:7px;font-size:13px;font-weight:800;color:var(--ink);line-height:1.35}
.meta-card.good{border-color:#cce7d8;background:#f8fcfa}
.meta-card.warn{border-color:#f0dfb8;background:#fffdf8}

/* Results */
.results-wrap{display:grid;gap:14px}
.results-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:3px 2px -2px}
.results-title{font-size:13px;font-weight:800;color:#555b63}
.results-tools{display:flex;align-items:center;gap:8px}
.compact-select{height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 10px;color:#555b63;font-weight:700;font-size:12px}

.parcel-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}
.parcel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 22px 18px;border-bottom:1px solid #eceeef}
.parcel-ident{min-width:0}
.parcel-name{font-size:18px;line-height:1.25;font-weight:820;letter-spacing:-.025em;word-break:break-word}
.awb-row{display:flex;align-items:center;gap:8px;margin-top:8px;min-width:0}
.awb-code{font:700 12px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#6e747c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.copy-btn{width:30px;height:30px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#7a8088;display:grid;place-items:center;flex:0 0 auto}
.copy-btn:hover{background:var(--surface-2);color:var(--ink)}
.status-pill{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;border-radius:999px;border:1px solid var(--line);font-size:11px;font-weight:800;white-space:nowrap}
.status-pill.good{background:var(--success-soft);color:#146942;border-color:#c7e7d5}
.status-pill.move{background:var(--info-soft);color:#2558b7;border-color:#d3e1fb}
.status-pill.wait{background:var(--warning-soft);color:#8a570b;border-color:#efdfba}
.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.parcel-body{padding:20px 22px 22px}
.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:14px;overflow:hidden}
.info-cell{padding:14px 15px;background:#fff;min-width:0;border-right:1px solid var(--line)}
.info-cell:last-child{border-right:0}
.info-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#969ba2}
.info-value{margin-top:7px;font-size:12px;font-weight:760;color:#353a41;line-height:1.4;word-break:break-word}
.info-value strong{font-weight:850;color:var(--ink)}

.journey{margin-top:16px;padding:17px;border:1px solid var(--line);border-radius:14px;background:#fafafa}
.journey-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.journey-title{font-size:12px;font-weight:820;color:#42474e}
.journey-route{font-size:11px;color:#8b9097;font-weight:700}
.progress-track{position:relative;height:6px;margin:25px 7px 12px;background:#e3e6e9;border-radius:99px;overflow:visible}
.progress-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--brand);border-radius:99px;transition:width .8s ease}
.progress-pin{position:absolute;top:50%;left:0;width:18px;height:18px;border-radius:50%;background:#fff;border:5px solid var(--brand);transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(0,0,0,.14);transition:left .8s ease}
.progress-track.go .progress-fill{width:var(--p)}
.progress-track.go .progress-pin{left:var(--p)}
.progress-track.arrived .progress-pin{border-color:var(--success)}
.journey-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.journey-step{font-size:10px;color:#9a9fa6;font-weight:750;text-align:center;white-space:nowrap}
.journey-step.done{color:#555b62}
.journey-step.active{color:var(--brand-dark);font-weight:850}
.parcel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:15px}
.action-btn{min-height:38px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:#555b63;font-size:11px;font-weight:800;display:inline-flex;align-items:center;gap:7px}
.action-btn:hover{background:#fafafa;color:var(--ink)}
.action-btn.whatsapp{color:#26734f;border-color:#cae5d8;background:#f8fcfa}
.action-btn.whatsapp.alt{color:#2b5e9d;border-color:#d5e2f0;background:#f8fbff}

/* Login */
.login-page{min-height:calc(100vh - 68px);display:grid;place-items:center;padding:34px 16px}
.login-card{width:min(440px,100%);padding:28px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-md)}
.login-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);margin-bottom:18px}
.login-title{margin:0;font-size:22px;font-weight:830;letter-spacing:-.03em}
.login-copy{margin:7px 0 19px;color:var(--muted);font-size:13px;line-height:1.55}
.login-error{min-height:18px;margin-top:9px;color:var(--danger);font-size:12px;font-weight:700}
.login-submit{margin-top:4px;width:100%}

/* Loading */
.loading-layer{position:fixed;inset:0;z-index:100;background:rgba(242,243,244,.72);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center}
.loading-card{display:flex;align-items:center;gap:12px;padding:14px 17px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-sm);font-size:12px;font-weight:800;color:#555b63}
.spinner{width:18px;height:18px;border:2px solid #e3e5e8;border-top-color:var(--brand);border-radius:50%;animation:spin .75s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.skel{display:inline-block;height:12px;border-radius:6px;background:linear-gradient(90deg,#eceef0,#f7f8f9,#eceef0);background-size:220% 100%;animation:skel 1.1s infinite linear;vertical-align:middle}
@keyframes skel{to{background-position:-220% 0}}

/* Footer */
.app-footer{padding:2px 0 30px;color:#8c9198;font-size:11px}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 2px}
.footer-link{font-weight:750;color:#666c74}
.footer-link:hover{color:var(--ink)}

/* Admin */
.admin-layout{display:grid;grid-template-columns:1fr;gap:18px}
.admin-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cache-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.stat-card{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fafafa;min-width:0}
.stat-name{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#949aa1;font-weight:800}
.stat-value{margin-top:7px;font-size:18px;font-weight:830;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat-sub{margin-top:4px;font-size:10px;color:#858b92;font-weight:650}
.cache-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px}
.cache-message{min-height:18px;margin-top:12px;color:#737981;font-size:12px;font-weight:650;line-height:1.45}
.admin-edit{margin-top:16px;padding:16px;border:1px solid #dfe2e5;border-radius:14px;background:#f8f9fa}
.admin-edit-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.admin-edit-title{font-size:12px;font-weight:850;color:#43484f}
.admin-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;background:#eceff2;color:#71777f}
.admin-tag.on{background:var(--success-soft);color:#176c45}
.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.field-label{display:block;margin:0 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:.055em;color:#868c93;font-weight:800}
.edit-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:11px}
.save-message{font-size:11px;color:#747a82;font-weight:650}

/* Toast */
.toast{position:fixed;right:18px;bottom:18px;z-index:120;max-width:min(360px,calc(100vw - 36px));padding:12px 14px;border-radius:12px;background:#191d22;color:#fff;box-shadow:var(--shadow-md);font-size:12px;font-weight:700;opacity:0;transform:translateY(8px);pointer-events:none;transition:.18s}
.toast.show{opacity:1;transform:translateY(0)}

@media(max-width:900px){
  .info-grid{grid-template-columns:1fr 1fr}
  .info-cell:nth-child(2){border-right:0}
  .info-cell:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .cache-grid{grid-template-columns:1fr 1fr}
  .cache-actions{grid-template-columns:1fr 1fr}
  .cache-actions>*:first-child{grid-column:1/-1}
}
@media(max-width:640px){
  .app-header{height:60px}
  .header-inner{width:calc(100% - 24px)}
  .brand-mark{width:32px;height:32px;border-radius:10px}
  .brand-sub,.header-badge{display:none}
  .page-shell{width:calc(100% - 20px);padding:18px 0 36px}
  .surface{border-radius:18px}
  .surface-pad{padding:17px}
  .search-head{padding:20px 17px 0}
  .search-body{padding:16px 17px 18px}
  .section-title{font-size:21px}
  .section-copy{font-size:13px}
  .search-line{grid-template-columns:1fr}
  .primary-btn{width:100%}
  .period-switch{grid-template-columns:1fr 1fr}
  .period-option:last-child{grid-column:1/-1;min-height:50px}
  .meta-panel{padding:16px}
  .meta-grid{grid-template-columns:1fr}
  .parcel-head{padding:18px 16px 15px;flex-direction:column;gap:13px}
  .status-pill{align-self:flex-start}
  .parcel-body{padding:15px 16px 17px}
  .info-grid{grid-template-columns:1fr 1fr}
  .info-cell{padding:12px}
  .info-label{font-size:9px}
  .info-value{font-size:11px}
  .journey{padding:14px 11px}
  .journey-route{display:none}
  .journey-steps{gap:2px}
  .journey-step{font-size:9px;white-space:normal;line-height:1.2}
  .parcel-actions{display:grid;grid-template-columns:1fr 1fr}
  .parcel-actions .action-btn:first-child{grid-column:1/-1}
  .action-btn{justify-content:center}
  .results-head{margin-left:2px;margin-right:2px}
  .cache-grid{grid-template-columns:1fr 1fr}
  .cache-actions{grid-template-columns:1fr}
  .cache-actions>*:first-child{grid-column:auto}
  .edit-grid{grid-template-columns:1fr}
  .edit-actions{display:grid;grid-template-columns:1fr 1fr}
  .edit-actions .save-message{grid-column:1/-1}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .login-card{padding:22px 18px;border-radius:20px}
}
@media(max-width:350px){
  .period-month{font-size:12px}
  .info-grid{grid-template-columns:1fr}
  .info-cell{border-right:0!important;border-bottom:1px solid var(--line)}
  .info-cell:last-child{border-bottom:0}
  .cache-grid{grid-template-columns:1fr}
}

/* =========================================================
   PREMIUM SERVICE PASS · 2026-10-07
========================================================= */
:root{
  --page:#edf1f4;
  --ink:#11161c;
  --ink-2:#222a33;
  --muted:#69727d;
  --muted-2:#9299a1;
  --line:#dfe4e8;
  --line-strong:#ccd3d9;
  --brand:#f15c36;
  --brand-dark:#d94b27;
  --brand-soft:#fff0eb;
  --shadow-xs:0 2px 8px rgba(13,20,27,.045);
  --shadow-sm:0 12px 34px rgba(13,20,27,.075);
  --shadow-md:0 24px 68px rgba(13,20,27,.13);
  --radius:18px;
  --radius-lg:26px;
}
body{
  font-size:15px;
  background:
    radial-gradient(circle at 80% -8%,rgba(241,92,54,.075),transparent 28%),
    radial-gradient(circle at 12% 16%,rgba(35,56,77,.055),transparent 25%),
    var(--page);
}
.app-header{height:76px;background:rgba(17,21,26,.965);backdrop-filter:blur(16px);box-shadow:0 10px 30px rgba(10,16,22,.10)}
.header-inner{width:min(1220px,calc(100% - 40px))}
.brand-mark{width:42px;height:42px;border-radius:13px;font-size:17px;background:linear-gradient(145deg,#ff7a58,var(--brand));box-shadow:0 8px 22px rgba(241,92,54,.22)}
.brand-name{font-size:16px;font-weight:850;letter-spacing:-.025em}.brand-sub{font-size:11px;color:#a7afb8}
.header-badge{padding:8px 12px;background:#222831;border-color:#303842;font-size:11px}
.header-badge:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#2dc07d;box-shadow:0 0 0 5px rgba(45,192,125,.08)}
.header-btn{min-height:40px;border-radius:11px;padding:0 13px}

.page-shell{width:min(1220px,calc(100% - 40px));padding:42px 0 64px}
.content-grid{gap:22px}
.surface{border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);border-color:#dce2e7}
.search-surface{box-shadow:0 18px 54px rgba(16,24,32,.085)}
.premium-search-head{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;
  min-height:190px;padding:34px 36px;
  background:linear-gradient(135deg,#12171d 0%,#18212a 68%,#1b2732 100%);
  color:#fff;position:relative;overflow:hidden;
}
.premium-search-head:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 20%,rgba(241,92,54,.12),transparent 23%);pointer-events:none}
.premium-search-head:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.08)}
.premium-search-copy{position:relative;z-index:2;min-width:0}
.premium-search-head .section-kicker{display:flex;align-items:center;gap:8px;color:#f2a28d;margin-bottom:10px;font-size:10px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.hero-mark{width:8px;height:8px;border-radius:2px;background:#f15c36;box-shadow:0 0 0 4px rgba(241,92,54,.10)}
.premium-search-head .section-title{max-width:720px;color:#fff;font-size:32px;line-height:1.06;font-weight:850;letter-spacing:-.045em}
.premium-search-head .section-copy{max-width:680px;color:#b9c1c9;font-size:14px;line-height:1.6;margin-top:11px}
.hero-route-static{position:relative;z-index:2;display:grid;grid-template-columns:auto 112px auto;align-items:center;gap:13px;padding:16px 18px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(7,12,18,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.hero-route-point{display:grid;justify-items:center;gap:5px}.hero-route-point b{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;color:#171c22;font-size:11px;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.14)}.hero-route-point small{color:#9ea9b3;font-size:9px;font-weight:800}.hero-route-point.end b{background:#f15c36;color:#fff}
.hero-route-line{position:relative;display:flex;align-items:center;justify-content:center;height:1px;background:rgba(255,255,255,.18)}.hero-route-line:before,.hero-route-line:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#f15c36}.hero-route-line:before{left:-2px}.hero-route-line:after{right:-2px}.hero-route-line i{position:relative;z-index:2;padding:0 8px;background:#171f27;color:#d8dee4;font-size:12px;transform:rotate(8deg)}

.search-body{padding:28px 36px 32px;background:#fff}.search-line{grid-template-columns:minmax(0,1fr) 162px;gap:12px}.text-input,.select-input,.date-input{height:58px;border-radius:15px;font-size:15px}.text-input{padding-left:50px}.input-icon{left:18px;font-size:16px}.primary-btn{height:58px;border-radius:15px;font-size:14px;background:linear-gradient(180deg,#1a2027,#11161c);box-shadow:0 7px 18px rgba(15,20,25,.14)}.primary-btn:hover{background:#0d1217;transform:translateY(-1px)}
.period-label{margin:22px 0 10px;font-size:11px}.period-switch{gap:11px}.period-option{min-height:72px;padding:12px 15px;border-radius:15px;background:#f8f9fa}.period-option:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(17,24,32,.05)}.period-option.active{background:#fff3ee;border-color:#f3b29f;box-shadow:0 0 0 1px rgba(241,92,54,.04),0 8px 20px rgba(241,92,54,.06)}.period-month{font-size:14px}.period-caption{font-size:11px;margin-top:4px}.search-note{margin-top:17px;font-size:12px}

.meta-panel{padding:24px 26px}.meta-title{font-size:14px}.meta-grid{gap:12px}.meta-card{padding:17px;border-radius:15px}.meta-label{font-size:10px}.meta-value{font-size:14px;margin-top:8px}
.results-head{margin-top:7px}.results-title{font-size:14px}.compact-select{height:40px;border-radius:11px;padding:0 12px}
.results-wrap{gap:18px}
.parcel-card{border-radius:24px;box-shadow:0 9px 30px rgba(14,21,29,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.parcel-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(14,21,29,.08);border-color:#d4dbe1}
.parcel-head{padding:26px 27px 21px}.parcel-name{font-size:22px}.awb-row{margin-top:10px}.awb-code{font-size:13px}.copy-btn{width:34px;height:34px;border-radius:10px}.status-pill{min-height:36px;padding:0 12px;font-size:11px}.status-dot{position:relative}.status-pill.move .status-dot:after{content:"";position:absolute;inset:-5px;border:1px solid currentColor;border-radius:50%;opacity:.22;animation:trackingStatusPulse 1.7s ease-out infinite}
.parcel-body{padding:23px 27px 27px}.info-grid{border-radius:16px}.info-cell{padding:16px 17px}.info-label{font-size:10px}.info-value{font-size:13px;margin-top:8px}.journey{margin-top:19px;padding:19px;border-radius:16px;background:linear-gradient(180deg,#fbfcfd,#f8f9fa)}.journey-title{font-size:13px}.journey-route{font-size:11px}.progress-track{height:7px;margin:29px 8px 14px}.progress-fill{background:linear-gradient(90deg,#f15c36,#ff8a6c);box-shadow:0 0 16px rgba(241,92,54,.17)}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:trackingProgressShine 2.2s linear infinite}.progress-pin{width:20px;height:20px;border-width:5px;box-shadow:0 4px 13px rgba(241,92,54,.24)}.journey-step{font-size:10px}.parcel-actions{margin-top:18px;gap:9px}.action-btn{min-height:41px;padding:0 13px;border-radius:11px;font-size:11px}

.login-page{min-height:calc(100vh - 76px);padding:44px 18px;background:radial-gradient(circle at 50% 0%,rgba(241,92,54,.06),transparent 30%)}.login-card{width:min(480px,100%);padding:34px;border-radius:27px;box-shadow:0 26px 76px rgba(15,22,30,.13)}.login-icon{width:54px;height:54px;border-radius:16px;font-size:18px;margin-bottom:20px}.login-title{font-size:27px}.login-copy{font-size:14px;margin:9px 0 22px}
.loading-layer{background:rgba(236,240,243,.76);backdrop-filter:blur(5px)}.loading-card{padding:17px 20px;border-radius:16px;box-shadow:0 20px 55px rgba(14,21,29,.16);font-size:13px}.spinner{width:21px;height:21px;border-width:3px}
.toast{right:22px;bottom:22px;padding:13px 16px;border-radius:13px;font-size:12px}
.app-footer{padding-top:8px;font-size:11px}

@keyframes trackingLive{0%{box-shadow:0 0 0 0 rgba(45,192,125,.22)}70%{box-shadow:0 0 0 9px rgba(45,192,125,0)}100%{box-shadow:0 0 0 0 rgba(45,192,125,0)}}
@keyframes trackingOrangePulse{0%{box-shadow:0 0 0 0 rgba(241,92,54,.22)}70%{box-shadow:0 0 0 10px rgba(241,92,54,0)}100%{box-shadow:0 0 0 0 rgba(241,92,54,0)}}
@keyframes trackingTracer{from{transform:translate(-48px,-50%)}to{transform:translate(calc(100% + 48px),-50%)}}
@keyframes trackingPlane{0%,100%{left:17%;transform:translateY(0) rotate(7deg)}50%{left:72%;transform:translateY(-5px) rotate(7deg)}}
@keyframes trackingStatusPulse{0%{transform:scale(.7);opacity:.35}100%{transform:scale(1.55);opacity:0}}
@keyframes trackingProgressShine{from{transform:translateX(-115%)}to{transform:translateX(115%)}}

@media(max-width:900px){
  .premium-search-head{grid-template-columns:1fr auto;min-height:0;gap:22px}.premium-search-head .section-title{font-size:30px}.hero-route-static{grid-template-columns:auto 82px auto;padding:13px 14px}.search-body{padding-left:28px;padding-right:28px}
}
@media(max-width:640px){
  .app-header{height:64px}.header-inner{width:calc(100% - 24px)}.brand-mark{width:35px;height:35px;border-radius:11px}.brand-name{font-size:14px}.header-badge{display:none}.page-shell{width:calc(100% - 18px);padding:18px 0 38px}.content-grid{gap:14px}
  .premium-search-head{grid-template-columns:1fr;padding:22px 18px;gap:16px;border-radius:0}.premium-search-head .section-kicker{margin-bottom:8px;font-size:9px}.premium-search-head .section-title{font-size:27px;line-height:1.08}.premium-search-head .section-copy{font-size:13px;line-height:1.52;margin-top:9px}.hero-route-static{grid-template-columns:auto 1fr auto;gap:10px;padding:11px 12px;border-radius:14px}.hero-route-point b{width:34px;height:34px;border-radius:10px;font-size:9px}.hero-route-point small{font-size:8px}.hero-route-line i{font-size:10px;background:#18212a}
  .search-body{padding:18px 16px 20px}.search-line{grid-template-columns:1fr;gap:9px}.text-input,.primary-btn{height:54px}.period-label{margin-top:18px}.period-switch{grid-template-columns:1fr 1fr;gap:8px}.period-option{min-height:64px;padding:10px 11px}.period-option:last-child{grid-column:1/-1;min-height:54px}.period-month{font-size:12px}.period-caption{font-size:10px}
  .meta-panel{padding:17px}.meta-grid{gap:8px}.meta-card{padding:13px}.parcel-card{border-radius:20px}.parcel-card:hover{transform:none}.parcel-head{padding:19px 16px 15px}.parcel-name{font-size:19px}.awb-code{font-size:11px}.parcel-body{padding:16px}.info-cell{padding:13px 12px}.info-value{font-size:11px}.journey{padding:14px 11px;margin-top:14px}.progress-track{margin-top:25px}.parcel-actions{margin-top:14px}.action-btn{min-height:40px}
  .login-page{min-height:calc(100vh - 64px);padding:25px 12px}.login-card{padding:25px 19px;border-radius:22px}.login-title{font-size:23px}.login-copy{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}

/* ===== Premium period picker + arrival reminder · 2026-10-07 ===== */
.period-label-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:22px 0 10px}
.period-label-row .period-label{margin:0}
.period-now{display:inline-flex;align-items:center;gap:6px;color:#7d838a;font-size:11px;font-weight:650;white-space:nowrap}
.period-now strong{color:#3f454c;font-weight:850}
.period-now-dot{width:7px;height:7px;border-radius:50%;background:#38ad78;box-shadow:0 0 0 5px rgba(56,173,120,.08)}
.period-option{position:relative;padding-top:13px;overflow:hidden}
.period-badge{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;margin-bottom:7px;font-size:8px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.period-badge.current{background:#fff0eb;color:#b4492d}
.period-badge.previous{background:#eef4f8;color:#526b7e}
.period-badge.neutral{background:#f0f1f2;color:#757b82}
.period-option.active .period-badge.current,.period-option.active .period-badge.neutral{background:#f15c36;color:#fff}
.period-option-custom{padding-right:37px}
.period-chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#a1a6ac;font-size:11px;transition:transform .16s ease,color .16s ease}
.period-option-custom:hover .period-chevron{transform:translate(2px,-50%);color:#616871}

html.sheet-open,html.sheet-open body{overflow:hidden}
.sheet-backdrop{position:fixed;inset:0;z-index:500;display:flex;align-items:flex-end;justify-content:center;padding:24px;background:rgba(13,18,24,.42);backdrop-filter:blur(9px);opacity:0;pointer-events:none;transition:opacity .18s ease}
.sheet-backdrop.open{opacity:1;pointer-events:auto}
.bottom-sheet{width:min(560px,100%);max-height:min(720px,calc(100vh - 42px));overflow:auto;padding:10px 22px 22px;border:1px solid rgba(255,255,255,.65);border-radius:26px;background:rgba(255,255,255,.98);box-shadow:0 28px 90px rgba(10,17,25,.26);transform:translateY(24px) scale(.985);opacity:.7;transition:transform .2s cubic-bezier(.22,.9,.32,1),opacity .18s ease}
.sheet-backdrop.open .bottom-sheet{transform:translateY(0) scale(1);opacity:1}
.sheet-handle{width:42px;height:4px;border-radius:999px;background:#d7dadd;margin:2px auto 14px}
.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.sheet-kicker{font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:#a05945;margin-bottom:5px}
.sheet-head h2{margin:0;color:#151a20;font-size:21px;line-height:1.2;letter-spacing:-.025em}
.sheet-close{width:38px;height:38px;border:1px solid #e3e6e8;border-radius:12px;background:#f8f9fa;color:#6b7279;display:grid;place-items:center;flex:0 0 auto}
.sheet-close:hover{background:#f0f2f3;color:#191e24}
.year-switcher{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-bottom:13px;padding:7px;border-radius:15px;background:#f5f6f7;border:1px solid #eceef0}
.year-switcher strong{text-align:center;font-size:16px;font-weight:900;color:#22272d}
.year-switcher button{width:42px;height:38px;border:0;border-radius:10px;background:#fff;color:#5d646c;box-shadow:0 1px 2px rgba(15,20,25,.05)}
.year-switcher button:hover:not(:disabled){color:#11171d;background:#fff7f4}
.year-switcher button:disabled{opacity:.32}
.month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.month-cell{min-height:64px;border:1px solid #e4e6e8;border-radius:13px;background:#fff;color:#272c32;text-align:left;padding:10px 11px;transition:.14s ease}
.month-cell:hover:not(:disabled){border-color:#d6a493;background:#fff8f5;transform:translateY(-1px)}
.month-cell strong{display:block;font-size:12px;font-weight:850}
.month-cell small{display:block;margin-top:4px;color:#92979d;font-size:8px;font-weight:750}
.month-cell.current{border-color:#efb09f;background:#fff6f2}
.month-cell.previous{background:#f7fafc}
.month-cell.selected{border-color:#f15c36;background:#f15c36;color:#fff;box-shadow:0 7px 18px rgba(241,92,54,.18)}
.month-cell.selected small{color:rgba(255,255,255,.78)}
.month-cell:disabled{opacity:.32;background:#f7f7f7;cursor:not-allowed}
.sheet-note{display:flex;gap:9px;align-items:flex-start;margin:15px 2px 0;color:#858a90;font-size:10px;line-height:1.5}
.sheet-note i{margin-top:2px;color:#a4a9ae}

.arrival-reminder{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:16px;padding:13px 14px;border:1px solid #e6ded9;border-radius:15px;background:linear-gradient(135deg,#fffaf8,#fff 62%);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.arrival-reminder-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#fff0eb;color:#d55331;font-size:15px}
.arrival-reminder-copy{min-width:0;display:grid;gap:2px}
.arrival-reminder-copy span{font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#a56b5a}
.arrival-reminder-copy strong{font-size:13px;font-weight:900;color:#272c32;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arrival-reminder-copy small{font-size:9px;color:#858a90;line-height:1.35}
.reminder-btn{min-height:39px;padding:0 13px;border:1px solid #efb5a6;border-radius:11px;background:#fff;color:#b6492d;font-size:10px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;transition:.14s ease}
.reminder-btn:hover{background:#f15c36;border-color:#f15c36;color:#fff;transform:translateY(-1px);box-shadow:0 7px 18px rgba(241,92,54,.15)}

.calendar-event-preview{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;padding:14px;border:1px solid #ece7e4;border-radius:16px;background:linear-gradient(135deg,#fff9f6,#fafbfc)}
.calendar-date-badge{width:58px;height:58px;border-radius:15px;background:#171d23;color:#fff;display:grid;place-items:center;align-content:center;box-shadow:0 8px 22px rgba(18,24,31,.13)}
.calendar-date-badge span{font-size:22px;line-height:1;font-weight:900;letter-spacing:-.04em}
.calendar-date-badge small{margin-top:4px;color:#f4a38d;font-size:8px;font-weight:900;letter-spacing:.09em}
.calendar-event-preview>div:last-child{min-width:0;display:grid;gap:5px}
.calendar-event-preview strong{font-size:14px;font-weight:900;color:#22272d}
.calendar-event-preview span{font-size:10px;color:#82878e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-choices{display:grid;gap:9px;margin-top:13px}
.calendar-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:10px 13px;border:1px solid #e5e7e9;border-radius:15px;background:#fff;color:#242a30;text-decoration:none;transition:.14s ease}
.calendar-choice:hover{border-color:#d4d8dc;background:#fbfcfd;transform:translateY(-1px);box-shadow:0 8px 22px rgba(16,22,29,.05)}
.calendar-choice>i{color:#a1a6ac;font-size:10px}
.calendar-choice-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:16px}
.calendar-choice-icon.google{background:#f4f7fb;color:#3774d2}
.calendar-choice-icon.device{background:#fff1ec;color:#d95532}
.calendar-choice-copy{display:grid;gap:3px;min-width:0}
.calendar-choice-copy strong{font-size:12px;font-weight:900}
.calendar-choice-copy small{font-size:9px;color:#868c92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:640px){
  .period-label-row{align-items:flex-start;flex-direction:column;gap:6px;margin-top:18px}.period-now{font-size:9px}.period-switch{grid-template-columns:1fr}.period-option,.period-option:last-child{grid-column:auto;min-height:72px;padding:11px 13px}.period-badge{margin-bottom:6px}.period-month{font-size:13px}.period-caption{font-size:9px;line-height:1.35;max-width:92%}
  .sheet-backdrop{padding:0;align-items:flex-end}.bottom-sheet{width:100%;max-height:86vh;border-radius:24px 24px 0 0;border-bottom:0;padding:9px 15px calc(19px + env(safe-area-inset-bottom));transform:translateY(34px)}.sheet-head h2{font-size:20px}.month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.month-cell{min-height:59px;padding:9px 10px}.month-cell strong{font-size:11px}
  .arrival-reminder{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px;margin-top:13px}.arrival-reminder-icon{width:38px;height:38px}.arrival-reminder-copy strong{font-size:12px}.arrival-reminder-copy small{font-size:8px}.reminder-btn{grid-column:1/-1;width:100%;min-height:42px;font-size:10px}.calendar-choice{min-height:64px;padding:9px 11px}.calendar-choice-copy small{font-size:8px}.calendar-date-badge{width:54px;height:54px}.calendar-event-preview strong{font-size:13px}
}
