/* GPA Client Portal — public pages. Theme-safe, scoped under .gpa-portal. */
.gpa-portal{--brand:#E95B25;--primary:#CC4A1B;--hover:#AE3D14;--peach:#FDEDE5;
  --ink:#1E1E24;--text:#4A4A55;--muted:#8A8A96;--line:#E6E2DF;--bg:#FFF9F6;
  --ok:#1F9D57;--err:#D93025;
  font-family:Poppins,system-ui,sans-serif;color:var(--text);line-height:1.55;background:var(--bg)}
.gpa-portal *,.gpa-portal *::before,.gpa-portal *::after{box-sizing:border-box}
.gpa-portal a{color:var(--primary);text-decoration:none;font-weight:600}
.gpa-portal a:hover{color:var(--hover);text-decoration:underline}
.gpa-portal ::selection{background:#FFB48F;color:var(--ink)}

/* layout */
.gpa-portal .wrap{max-width:1180px;margin:0 auto;padding:56px 24px 80px;display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:start}
.gpa-portal .wrap.narrow{grid-template-columns:1fr;max-width:560px}

/* dark side panel */
.gpa-portal .side{background:var(--ink);color:#fff;border-radius:28px;padding:44px 40px;position:relative;overflow:hidden;position:sticky;top:96px}
.gpa-portal .side::before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(233,91,37,.55),transparent 70%);right:-120px;top:-120px}
.gpa-portal .side>*{position:relative}
.gpa-portal .kick{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:6px 14px;border-radius:99px;font-size:13px;font-weight:500}
.gpa-portal .kick b{width:8px;height:8px;border-radius:50%;background:#3DDC84;display:inline-block}
.gpa-portal .side h1{font-size:38px;line-height:1.18;font-weight:700;margin:20px 0 14px;color:#fff}
.gpa-portal .side h1 em{font-style:normal;color:#FF9A6B}
.gpa-portal .side p{color:#C9C9D2;font-size:15.5px;max-width:420px}
.gpa-portal .perks{list-style:none;margin:28px 0 30px;display:grid;gap:14px;padding:0}
.gpa-portal .perks li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:#fff}
.gpa-portal .perks li span{flex:0 0 26px;height:26px;border-radius:50%;background:var(--ok);display:grid;place-items:center}
.gpa-portal .perks li span svg{width:14px;height:14px}
.gpa-portal .track{background:#fff;color:var(--ink);border-radius:18px;padding:18px 20px;box-shadow:0 20px 40px rgba(0,0,0,.25)}
.gpa-portal .track h4{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.gpa-portal .track .row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid #F0ECE9;font-size:14px}
.gpa-portal .track .row:first-of-type{border-top:0}
.gpa-portal .pill{font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;display:inline-block}
.gpa-portal .p-live{background:#E3F6EC;color:var(--ok)}
.gpa-portal .p-pub{background:#FFF3D6;color:#A86B00}
.gpa-portal .p-wr{background:#EAE8FF;color:#5146C8}
.gpa-portal .stats{display:flex;gap:28px;margin-top:28px}
.gpa-portal .stats div{font-size:13px;color:#C9C9D2}
.gpa-portal .stats b{display:block;color:#fff;font-size:24px;font-weight:700}

/* form card */
.gpa-portal .card{background:#fff;border-radius:28px;padding:42px 40px;box-shadow:0 24px 60px rgba(30,30,36,.08);border:1px solid #F3EEEA}
.gpa-portal .card h2{font-size:28px;color:var(--ink);font-weight:700;margin:0}
.gpa-portal .card .sub{margin:6px 0 26px;font-size:15px;color:var(--text)}
.gpa-portal .grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.gpa-portal .full{grid-column:1/-1}
.gpa-portal label{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:7px}
.gpa-portal label small{color:var(--muted);font-weight:400}
.gpa-portal .req{color:var(--brand)}
.gpa-portal .field{position:relative}
.gpa-portal .field>svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}
.gpa-portal input[type=text],.gpa-portal input[type=email],.gpa-portal input[type=tel],.gpa-portal input[type=url],.gpa-portal input[type=password],.gpa-portal select{
  width:100%;height:52px;border:1.5px solid var(--line);border-radius:14px;padding:0 16px 0 44px;font:inherit;font-size:15px;color:var(--ink);background:#fff;transition:border-color .15s,box-shadow .15s;font-family:inherit}
.gpa-portal input::placeholder{color:#B3B0B8}
.gpa-portal input:focus,.gpa-portal select:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px rgba(233,91,37,.14)}
.gpa-portal .phone{display:flex;gap:8px}
.gpa-portal .phone select{width:118px;flex:0 0 118px;padding:0 10px 0 14px}
.gpa-portal .phone .field{flex:1}
.gpa-portal .eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:transparent;border-radius:10px;cursor:pointer;color:var(--muted);display:grid;place-items:center}
.gpa-portal .eye:hover{background:var(--peach);color:var(--primary)}
.gpa-portal .eye svg{width:20px;height:20px}
.gpa-portal .pw input{padding-right:52px}
.gpa-portal .msg{font-size:13px;margin-top:6px;display:none}
.gpa-portal .bad input{border-color:var(--err)}
.gpa-portal .bad .msg{display:block;color:var(--err)}
.gpa-portal .good input{border-color:var(--ok)}
.gpa-portal .good .msg.okmsg{display:block;color:var(--ok)}
.gpa-portal .bad .msg.okmsg{display:none}
.gpa-portal .meter{display:flex;gap:6px;margin-top:9px}
.gpa-portal .meter i{flex:1;height:5px;border-radius:9px;background:#EEEAE7}
.gpa-portal .meter.s1 i:nth-child(1){background:var(--err)}
.gpa-portal .meter.s2 i:nth-child(-n+2){background:#F2A33A}
.gpa-portal .meter.s3 i:nth-child(-n+3){background:var(--ok)}
.gpa-portal .chips{display:flex;flex-wrap:wrap;gap:10px}
.gpa-portal .chips input{position:absolute;opacity:0;pointer-events:none}
.gpa-portal .chips label{margin:0;font-weight:500;font-size:14px;border:1.5px solid var(--line);border-radius:99px;padding:9px 18px;cursor:pointer;color:var(--text)}
.gpa-portal .chips input:checked+label{background:var(--peach);border-color:var(--brand);color:var(--primary);font-weight:600}
.gpa-portal .terms{display:flex;gap:12px;align-items:flex-start;font-size:14px;font-weight:400;color:var(--text);cursor:pointer;margin:0}
.gpa-portal .terms input{width:20px;height:20px;accent-color:var(--primary);margin-top:2px;flex:0 0 20px}
.gpa-portal .terms.bad span{color:var(--err)}
.gpa-portal .btn{width:100%;height:56px;border:0;border-radius:14px;background:var(--primary);color:#fff;font:inherit;font-size:17px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s,transform .15s;font-family:inherit;text-decoration:none}
.gpa-portal .btn:hover{background:var(--hover);transform:translateY(-1px);color:#fff;text-decoration:none}
.gpa-portal .btn svg{width:20px;height:20px}
.gpa-portal .btn.ghost{background:var(--ink)}
.gpa-portal .foot{text-align:center;font-size:14.5px;margin-top:18px;color:var(--text)}
.gpa-portal .safe{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;color:var(--muted);margin-top:14px}
.gpa-portal .safe svg{width:15px;height:15px;color:var(--ok)}
.gpa-portal .rowline{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 6px}
.gpa-portal .remember{display:flex;gap:10px;align-items:center;font-size:14px;cursor:pointer;color:var(--text);margin:0}
.gpa-portal .remember input{width:18px;height:18px;accent-color:var(--primary)}
.gpa-portal .forgot{font-size:14px}

/* alerts */
.gpa-portal .alert{display:flex;align-items:flex-start;gap:12px;background:#FEEBE9;border:1px solid #FBC4BE;color:#8B1E12;border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:18px}
.gpa-portal .alert.info{background:#E7F0FE;border-color:#B9D1F7;color:#1F4EA1}
.gpa-portal .alert.ok{background:#E3F6EC;border-color:#B4E3C9;color:#136B3A}
.gpa-portal .alert svg{flex:0 0 18px;width:18px;height:18px;margin-top:2px}
.gpa-portal .alert b{font-weight:600}
.gpa-portal .alert a{color:inherit;text-decoration:underline}

/* success done */
.gpa-portal .done{text-align:center;padding:30px 6px}
.gpa-portal .done .ic{width:78px;height:78px;border-radius:50%;background:var(--peach);display:grid;place-items:center;margin:0 auto 18px}
.gpa-portal .done .ic svg{width:36px;height:36px;color:var(--primary)}
.gpa-portal .done h2{margin-bottom:10px}
.gpa-portal .done p{max-width:400px;margin:0 auto 22px}
.gpa-portal .done .mail{color:var(--ink);font-weight:600}

/* dev-mode banner */
.gpa-portal .devmode{background:#FFF3D6;color:#A86B00;border:1px solid #F3D589;border-radius:12px;padding:12px 16px;font-size:13px;margin:16px auto;max-width:1120px;display:flex;align-items:center;gap:10px}
.gpa-portal .devmode svg{width:18px;height:18px;flex:0 0 18px}

@media (max-width:980px){
  .gpa-portal .wrap{grid-template-columns:1fr;gap:28px;padding:28px 16px 60px}
  .gpa-portal .side{position:relative;top:0;padding:32px 26px;order:2}
  .gpa-portal .card{order:1;padding:30px 22px;border-radius:22px}
  .gpa-portal .side h1{font-size:30px}
}
@media (max-width:560px){
  .gpa-portal .grid{grid-template-columns:1fr}
  .gpa-portal .card h2{font-size:24px}
  .gpa-portal .phone select{width:100px;flex-basis:100px}
  .gpa-portal .stats{gap:18px}
  .gpa-portal .stats b{font-size:20px}
}
/* ======================= Phase 3 — Dashboard =========================== */
.gpa-portal .greet{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin:16px auto 22px;max-width:1120px}
.gpa-portal .greet h2{color:var(--ink);font-size:26px;font-weight:700;margin:0}
.gpa-portal .greet p{color:var(--muted);font-size:14.5px;margin-top:4px}
.gpa-portal .greet .new{display:inline-flex;align-items:center;gap:8px;background:var(--primary);color:#fff;padding:0 20px;height:48px;border-radius:12px;font-weight:600;font-size:15px;text-decoration:none}
.gpa-portal .greet .new:hover{background:var(--hover);color:#fff;text-decoration:none}
.gpa-portal .greet .new svg{width:18px;height:18px}
.gpa-portal .sum{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1120px;margin:0 auto 22px}
.gpa-portal .scard{background:#fff;border:1px solid #F0E9E4;border-radius:18px;padding:18px 20px}
.gpa-portal .scard .top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.gpa-portal .scard .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}
.gpa-portal .scard .ic svg{width:18px;height:18px}
.gpa-portal .scard .big{font-size:28px;color:var(--ink);font-weight:700;margin-top:6px}
.gpa-portal .scard .sm{font-size:12.5px;color:var(--muted);margin-top:4px}
.gpa-portal .scard .sm b{color:var(--ok);font-weight:600}
.gpa-portal .ic.o{background:#FFEDE3;color:var(--primary)}
.gpa-portal .ic.g{background:#E3F6EC;color:var(--ok)}
.gpa-portal .ic.y{background:#FFF3D6;color:#A86B00}
.gpa-portal .ic.b{background:#E7F0FE;color:#1F4EA1}
.gpa-portal .block{background:#fff;border:1px solid #F0E9E4;border-radius:18px;max-width:1120px;margin:0 auto 22px;overflow:hidden}
.gpa-portal .block .bhead{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #F3EEEA}
.gpa-portal .block .bhead h3{font-size:17px;color:var(--ink);font-weight:700;margin:0}
.gpa-portal .tab{display:flex;gap:6px;padding:0 22px;border-bottom:1px solid #F3EEEA;background:#FBF6F2;overflow-x:auto;white-space:nowrap}
.gpa-portal .tab a{padding:12px 4px;font-size:13.5px;font-weight:600;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;margin-right:22px;display:inline-block}
.gpa-portal .tab a.on{color:var(--primary);border-color:var(--primary)}
.gpa-portal .tbl{width:100%;border-collapse:collapse;font-size:14px}
.gpa-portal .tbl th{text-align:left;padding:12px 22px;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#FBF6F2;border-bottom:1px solid #F3EEEA}
.gpa-portal .tbl td{padding:14px 22px;border-bottom:1px solid #F3EEEA;color:var(--text);vertical-align:middle}
.gpa-portal .tbl td small{display:block;color:var(--muted);font-weight:400;font-size:12.5px;margin-top:2px}
.gpa-portal .tbl tr:last-child td{border-bottom:0}
.gpa-portal .tbl .site{color:var(--ink);font-weight:600}
.gpa-portal .pill-wrap{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:99px}
.gpa-portal .pill-wrap i{width:6px;height:6px;border-radius:50%;background:currentColor}
.gpa-portal .p-await{background:#FEEBE9;color:#8B1E12}
.gpa-portal .p-queue{background:#E7F0FE;color:#1F4EA1}
.gpa-portal .p-wr-s{background:#EAE8FF;color:#5146C8}
.gpa-portal .p-pub-s{background:#FFF3D6;color:#A86B00}
.gpa-portal .p-live-s{background:#E3F6EC;color:#1F9D57}
.gpa-portal .p-cancel{background:#F0F0F1;color:#8A8A96}
.gpa-portal .empty{padding:50px 24px;text-align:center}
.gpa-portal .empty h4{color:var(--ink);font-size:17px;margin-bottom:6px}
.gpa-portal .empty p{color:var(--muted);font-size:14px;max-width:420px;margin:0 auto 18px}
@media (max-width:980px){.gpa-portal .sum{grid-template-columns:repeat(2,1fr)}.gpa-portal .tbl th:nth-child(3),.gpa-portal .tbl td:nth-child(3){display:none}}
@media (max-width:560px){.gpa-portal .sum{grid-template-columns:1fr 1fr;gap:12px}.gpa-portal .scard{padding:14px 16px}.gpa-portal .scard .big{font-size:22px}.gpa-portal .greet{flex-direction:column;align-items:stretch;padding:0 16px}.gpa-portal .greet .new{justify-content:center}.gpa-portal .tbl th,.gpa-portal .tbl td{padding:12px 14px}.gpa-portal .tbl th:nth-child(4),.gpa-portal .tbl td:nth-child(4){display:none}}

/* ======================= Phase 3 — Order wizard ========================= */
.gpa-portal .wiz-wrap{background:#F7F2EE;padding:20px 24px 60px;margin:0 -24px}
.gpa-portal .wiz{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 340px;gap:28px}
.gpa-portal .steps{display:flex;gap:0;background:#fff;border:1px solid #F0E9E4;border-radius:14px;padding:6px;margin-bottom:22px}
.gpa-portal .steps .st{flex:1;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;color:var(--muted);font-weight:500;font-size:14px;cursor:pointer}
.gpa-portal .steps .st .n{width:28px;height:28px;border-radius:50%;background:#F7F2EE;color:var(--muted);display:grid;place-items:center;font-weight:700;font-size:13px}
.gpa-portal .steps .st.done{color:var(--ok)}.gpa-portal .steps .st.done .n{background:var(--ok);color:#fff}
.gpa-portal .steps .st.on{background:var(--peach);color:var(--primary)}.gpa-portal .steps .st.on .n{background:var(--primary);color:#fff}
.gpa-portal .wcard{background:#fff;border:1px solid #F0E9E4;border-radius:18px;padding:30px 32px}
.gpa-portal .wcard h3{font-size:22px;color:var(--ink);font-weight:700;margin-bottom:6px}
.gpa-portal .wcard .lead{color:var(--muted);font-size:14.5px;margin-bottom:22px}
.gpa-portal .step-pane{display:none}.gpa-portal .step-pane.on{display:block}
.gpa-portal .sgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.gpa-portal .sopt{position:relative;cursor:pointer}
.gpa-portal .sopt input{position:absolute;opacity:0;pointer-events:none}
.gpa-portal .sopt .box{border:1.5px solid var(--line);border-radius:14px;padding:18px;display:flex;gap:14px;align-items:flex-start;background:#fff;height:100%}
.gpa-portal .sopt .box .ic{width:42px;height:42px;border-radius:12px;background:var(--peach);color:var(--primary);display:grid;place-items:center;flex:0 0 42px}
.gpa-portal .sopt .box .ic svg{width:22px;height:22px}
.gpa-portal .sopt .box b{display:block;color:var(--ink);font-size:15.5px;font-weight:600;margin-bottom:4px}
.gpa-portal .sopt .box span{color:var(--text);font-size:13px;display:block}
.gpa-portal .sopt .box .from{color:var(--primary);font-weight:600;font-size:13px;margin-top:8px;display:inline-block}
.gpa-portal .sopt input:checked+.box{border-color:var(--brand);background:#FFF6F1;box-shadow:0 0 0 4px rgba(233,91,37,.14)}
.gpa-portal .sopt input:checked+.box .ic{background:var(--primary);color:#fff}
.gpa-portal .nwrap{margin-top:26px}
.gpa-portal .nwrap > label{font-size:14.5px;font-weight:600;color:var(--ink);margin-bottom:10px;display:block}
.gpa-portal .niche{display:flex;flex-wrap:wrap;gap:8px}
.gpa-portal .niche .nopt{position:relative}
.gpa-portal .niche input{position:absolute;opacity:0;pointer-events:none}
.gpa-portal .niche label{margin:0;cursor:pointer;background:#F7F2EE;border:1.5px solid transparent;color:var(--text);padding:9px 16px;border-radius:99px;font-size:13.5px;font-weight:500}
.gpa-portal .niche input:checked+label{background:var(--peach);border-color:var(--brand);color:var(--primary);font-weight:600}
.gpa-portal .pkgs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.gpa-portal .pkg{position:relative;cursor:pointer}
.gpa-portal .pkg input{position:absolute;opacity:0;pointer-events:none}
.gpa-portal .pkg .box{border:1.5px solid var(--line);border-radius:14px;padding:18px 14px;text-align:center;background:#fff;height:100%}
.gpa-portal .pkg .box .tier{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.gpa-portal .pkg .box .price{font-size:24px;color:var(--ink);font-weight:700;margin:6px 0 2px}
.gpa-portal .pkg .box .unit{font-size:12px;color:var(--muted);margin-bottom:12px}
.gpa-portal .pkg .box ul{list-style:none;padding:0;margin:0;font-size:12.5px;color:var(--text);text-align:left;display:grid;gap:5px}
.gpa-portal .pkg .box ul li{display:flex;gap:6px;align-items:flex-start}
.gpa-portal .pkg .box ul li::before{content:"✓";color:var(--ok);font-weight:700;flex:0 0 12px}
.gpa-portal .pkg input:checked+.box{border-color:var(--brand);background:#FFF6F1;box-shadow:0 0 0 4px rgba(233,91,37,.14)}
.gpa-portal .pkg .pop{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px}
.gpa-portal .linkbox{border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:12px;background:#FBF6F2;position:relative}
.gpa-portal .linkbox .idx{position:absolute;top:-10px;left:16px;background:var(--primary);color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px}
.gpa-portal .linkbox .delete{position:absolute;top:14px;right:14px;background:transparent;border:0;color:var(--muted);cursor:pointer;width:32px;height:32px;border-radius:8px}
.gpa-portal .linkbox .delete:hover{color:var(--err);background:#fff}
.gpa-portal .linkbox .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gpa-portal .linkbox input{height:46px}
.gpa-portal .addmore{background:#fff;border:1.5px dashed var(--line);color:var(--primary);border-radius:12px;padding:14px;width:100%;font-weight:600;font-size:14.5px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;font-family:inherit}
.gpa-portal .addmore:hover{border-color:var(--brand);background:var(--peach)}
.gpa-portal .ntes textarea{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;font:inherit;font-size:14px;resize:vertical;min-height:80px;color:var(--ink);background:#fff;font-family:inherit}
.gpa-portal .rev{background:#FBF6F2;border:1px solid #F0E9E4;border-radius:14px;padding:18px 20px;margin-bottom:14px}
.gpa-portal .rev h4{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.gpa-portal .rev .ln{display:flex;justify-content:space-between;padding:8px 0;border-top:1px dashed #E6DED8;font-size:14px}
.gpa-portal .rev .ln:first-of-type{border-top:0}.gpa-portal .rev .ln b{color:var(--ink);font-weight:600}
.gpa-portal .rev .link-item{padding:10px 0;border-top:1px dashed #E6DED8;font-size:13.5px}
.gpa-portal .rev .link-item:first-child{border-top:0}
.gpa-portal .rev .link-item b{color:var(--ink);display:block;word-break:break-word}
.gpa-portal .rev .link-item span{color:var(--muted);font-size:12.5px}
.gpa-portal .wnav{display:flex;justify-content:space-between;margin-top:26px;gap:12px}
.gpa-portal .wnav .back{background:#fff;color:var(--ink);border:1.5px solid var(--line);height:52px;padding:0 24px;border-radius:12px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-family:inherit;text-decoration:none}
.gpa-portal .wnav .back:hover{background:#F7F2EE;text-decoration:none}
.gpa-portal .wnav .next{background:var(--primary);color:#fff;border:0;height:52px;padding:0 28px;border-radius:12px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-family:inherit}
.gpa-portal .wnav .next:hover{background:var(--hover)}
.gpa-portal .cart{background:#fff;border:1px solid #F0E9E4;border-radius:18px;padding:22px;position:sticky;top:96px}
.gpa-portal .cart h4{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}
.gpa-portal .cart .ln{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;color:var(--text)}
.gpa-portal .cart .ln.big{font-size:17px;font-weight:700;color:var(--ink);border-top:1.5px solid var(--line);padding-top:14px;margin-top:6px}
.gpa-portal .cart .ln.big b{color:var(--primary)}
.gpa-portal .cart .hint{background:#FBF6F2;border-radius:10px;padding:10px 12px;font-size:12.5px;color:var(--text);margin-top:14px}
.gpa-portal .cart .hint b{color:var(--ink)}
@media (max-width:980px){.gpa-portal .wiz{grid-template-columns:1fr}.gpa-portal .cart{position:static;order:-1}.gpa-portal .pkgs{grid-template-columns:repeat(2,1fr)}.gpa-portal .sgrid{grid-template-columns:1fr}.gpa-portal .steps .st span.lb{display:none}.gpa-portal .steps .st.on span.lb{display:inline}.gpa-portal .wcard{padding:22px 20px}.gpa-portal .linkbox .row2{grid-template-columns:1fr}}

/* ======================= Phase 3 — Order detail ========================= */
.gpa-portal .det-body{display:grid;grid-template-columns:1fr 340px;gap:22px;max-width:1120px;margin:0 auto}
.gpa-portal .panel{background:#fff;border:1px solid #F0E9E4;border-radius:18px;padding:22px 26px;margin-bottom:22px}
.gpa-portal .panel h3{font-size:16px;color:var(--ink);font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.gpa-portal .panel h3 svg{width:18px;height:18px;color:var(--primary)}
.gpa-portal .tl{padding-left:2px}
.gpa-portal .tl .step{display:grid;grid-template-columns:36px 1fr;gap:16px;position:relative;padding-bottom:22px;text-align:left}
.gpa-portal .tl .step:last-child{padding-bottom:0}
.gpa-portal .tl .step::before{content:"";position:absolute;left:17px;top:38px;bottom:-2px;width:2px;background:#E6DED8}
.gpa-portal .tl .step:last-child::before{display:none}
.gpa-portal .tl .step.done::before{background:var(--ok)}
.gpa-portal .tl .step .dot{width:36px;height:36px;border-radius:50%;background:#F7F2EE;color:var(--muted);display:grid;place-items:center;border:2px solid #E6DED8}
.gpa-portal .tl .step .dot svg{width:16px;height:16px}
.gpa-portal .tl .step.done .dot{background:var(--ok);color:#fff;border-color:var(--ok)}
.gpa-portal .tl .step.cur .dot{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 0 6px rgba(233,91,37,.18)}
.gpa-portal .tl .step b{display:block;color:var(--ink);font-weight:600;font-size:14.5px}
.gpa-portal .tl .step .wh{color:var(--muted);font-size:12.5px;margin-top:2px;display:block}
.gpa-portal .kv{display:grid;grid-template-columns:140px 1fr;gap:10px 18px;font-size:14px}
.gpa-portal .kv dt{color:var(--muted);font-weight:500;padding:6px 0}
.gpa-portal .kv dd{color:var(--ink);font-weight:600;padding:6px 0;word-break:break-word;margin:0}
.gpa-portal .lnkbox{background:#FBF6F2;border:1px solid #F0E9E4;border-radius:12px;padding:16px 18px;margin-top:10px}
.gpa-portal .lnkbox .lrow{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px dashed #E6DED8;flex-wrap:wrap}
.gpa-portal .lnkbox .lrow:first-child{border-top:0}
.gpa-portal .lnkbox .lrow .n{width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;font-weight:700;font-size:12px;display:grid;place-items:center;flex:0 0 26px}
.gpa-portal .lnkbox .lrow .meta{flex:1;min-width:0}
.gpa-portal .lnkbox .lrow .meta b{color:var(--ink);font-size:14px;display:block;word-break:break-word}
.gpa-portal .lnkbox .lrow .meta span{color:var(--muted);font-size:12.5px}
.gpa-portal .lnkbox .lrow .live{color:var(--primary);font-weight:600;font-size:13.5px}
.gpa-portal .payaw{background:#FEEBE9;border:1px solid #FBC4BE;border-radius:14px;padding:16px 18px;color:#8B1E12;font-size:13.5px;margin-bottom:18px;display:flex;gap:12px}
.gpa-portal .payaw b{color:#8B1E12}
.gpa-portal .payform{display:grid;gap:10px;margin-top:10px}
.gpa-portal .payform label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:4px}
.gpa-portal .payform input[type=text]{height:44px}
.gpa-portal .upload-dz{border:1.5px dashed var(--line);border-radius:12px;padding:18px;text-align:center;background:#FBF6F2;cursor:pointer}
.gpa-portal .upload-dz:hover{border-color:var(--brand);background:#FFF6F1}
.gpa-portal .upload-dz svg{width:28px;height:28px;color:var(--primary)}
.gpa-portal .upload-dz b{display:block;color:var(--ink);font-size:14px;font-weight:600;margin-top:6px}
.gpa-portal .upload-dz span{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}
.gpa-portal .upload-dz input[type=file]{display:none}
.gpa-portal .paid-chip{display:inline-flex;align-items:center;gap:6px;background:#E3F6EC;color:var(--ok);padding:5px 12px;border-radius:99px;font-size:12.5px;font-weight:700;margin-bottom:10px}
.gpa-portal .paid-chip svg{width:14px;height:14px}
.gpa-portal .pay-list .item{display:flex;justify-content:space-between;background:#FBF6F2;border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:6px}
.gpa-portal .pay-list .item b{color:var(--ink)}
@media (max-width:980px){.gpa-portal .det-body{grid-template-columns:1fr}.gpa-portal .kv{grid-template-columns:120px 1fr}}
@media (max-width:560px){.gpa-portal .kv{grid-template-columns:1fr}.gpa-portal .kv dt{padding:8px 0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.gpa-portal .kv dd{padding:0 0 10px;border-bottom:1px dashed #F0E9E4}}