@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Barlow+Condensed:wght@700;800;900&display=swap";:root{--brand: #ed1c24;--brand-hover: #ff2932;--brand-soft: #1a0608;--brand-border: #3a1013;--accent: #ed1c24;--accent-soft: #1a0608;--bg: #000000;--surface: #0a0a0a;--surface-2: #111111;--line: #1f1f1f;--line-strong: #2a2a2a;--text: #f5f5f4;--text-2: #b8b3ae;--text-3: #7a726c;--ok: #22c55e;--ok-soft: #0f2a1a;--warn: #f59e0b;--warn-soft: #2a1e0a;--danger: #ed1c24;--radius: 12px;--radius-sm: 8px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow: 0 4px 16px -4px rgba(16, 24, 40, .1), 0 2px 4px -2px rgba(16, 24, 40, .05);--shadow-lg: 0 24px 48px -12px rgba(16, 24, 40, .18);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:"Inter",var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button,input,select{font:inherit;color:inherit}a{color:var(--brand)}.app{min-height:100%;display:flex;flex-direction:column}.topbar{background:#000;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:20}.topbar-inner{max-width:1240px;margin:0 auto;padding:0 24px;height:118px;display:flex;align-items:center;gap:32px}.logo{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none}.logo-mark{display:none}.logo-img{height:57px;width:auto;display:block}.logo-word,.logo-sub{display:none}.tabs{display:flex;gap:32px;margin-left:32px;align-items:center}.tab{border:0;background:none;cursor:pointer;position:relative;padding:10px 0;border-radius:0;color:#fff;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:14px;letter-spacing:3.5px;text-transform:uppercase;transition:color .15s,background .15s}.tab:hover,.tab[aria-selected=true]{color:var(--brand);background:transparent}.tab:after{content:"";position:absolute;left:0;right:3.5px;bottom:0;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .2s}.tab[aria-selected=true]:after{transform:scaleX(1)}.topbar-right{display:flex;align-items:center;gap:12px}.mode-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:550;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text-2)}.mode-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--text-3)}.mode-pill.live{background:var(--ok-soft);border-color:#abefc6;color:var(--ok)}.mode-pill.live .dot{background:var(--ok)}main{flex:1;max-width:1240px;width:100%;margin:0 auto;padding:56px 24px 64px}.page-head{margin-bottom:24px}.page-head h1{margin:0 0 6px;font-family:Barlow Condensed,Inter,system-ui,sans-serif;font-size:40px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;color:#fff;line-height:1}.page-head p{margin:0;color:#fff;font-size:14px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.input,.select{border:1px solid #fff;background:transparent;border-radius:0;padding:10px 14px;color:#fff;font-size:16px;box-shadow:none;outline:none}.input::placeholder{color:#ffffff8c}.input:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.input::placeholder{color:var(--text-3)}.search{min-width:260px;flex:1;max-width:380px}.btn{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-sm);padding:8px 14px;font-weight:550;cursor:pointer;box-shadow:var(--shadow-sm);text-decoration:none;color:var(--text);display:inline-flex;align-items:center;gap:7px}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;border-radius:0}.btn-primary:hover{background:var(--brand);border-color:var(--brand)}.btn-ghost{border-color:transparent;box-shadow:none;background:none;color:var(--text-2)}.btn-ghost:hover{background:var(--bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:5px 10px;font-size:13px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s,border-color .15s}.card:hover{box-shadow:var(--shadow);border-color:var(--line-strong)}.card-media{height:132px;background:var(--surface-2);border-bottom:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover}.card-media .ph{color:var(--text-3);font-size:28px}.card-body{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}.card-title{margin:0;font-size:15px;font-weight:620;letter-spacing:-.01em;line-height:1.35}.price-row{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.price-now{font-size:22px;font-weight:680;letter-spacing:-.02em}.price-was{color:var(--text-3);text-decoration:line-through}.card-foot{margin-top:auto;display:flex;gap:8px;align-items:center}.badges{display:flex;gap:6px;flex-wrap:wrap}.badge{font-size:11.5px;font-weight:600;letter-spacing:.01em;padding:3px 8px;border-radius:999px;background:var(--bg);color:var(--text-2);border:1px solid var(--line)}.badge.save{background:var(--ok-soft);color:var(--ok);border-color:#abefc6}.badge.plans{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-border)}.badge.type{background:transparent;color:#fff;border-color:var(--brand)}.badge.muted{color:var(--text-3)}.scrim{position:fixed;inset:0;background:#10182873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;display:flex;justify-content:flex-end;animation:fade .15s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer{width:min(620px,100%);background:var(--surface);height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:slide .2s cubic-bezier(.32,.72,0,1)}@keyframes slide{0%{transform:translate(24px);opacity:.6}to{transform:none;opacity:1}}.drawer-head{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:flex-start}.drawer-head img{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--line)}.drawer-head h2{margin:0 0 4px;font-size:16px;letter-spacing:-.01em}.drawer-body{padding:22px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:22px}.drawer-close{margin-left:auto}.section-label{font-size:11.5px;font-weight:680;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:10px}.plans{display:flex;flex-direction:column;gap:8px}.plan{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius);padding:13px 15px;cursor:pointer;transition:border-color .12s,background .12s}.plan:hover{border-color:var(--brand-border);background:var(--surface-2)}.plan[aria-pressed=true]{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 1px var(--brand)}.plan-radio{width:17px;height:17px;border-radius:50%;flex:none;border:1.5px solid var(--line-strong);display:grid;place-items:center}.plan[aria-pressed=true] .plan-radio{border-color:var(--brand)}.plan[aria-pressed=true] .plan-radio:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand)}.plan-main{flex:1;min-width:0}.plan-name{display:block;font-weight:620}.plan-note{display:block;color:var(--text-2);font-size:12.5px;margin-top:2px}.plan-figures{text-align:right;flex:none}.plan-amount{display:block;font-weight:680;letter-spacing:-.01em}.plan-sub{display:block;color:var(--text-3);font-size:12.5px;margin-top:2px}.summary{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.summary-row{display:flex;justify-content:space-between;gap:16px;padding:11px 15px;border-bottom:1px solid var(--line)}.summary-row:last-child{border-bottom:0}.summary-row.total{background:var(--surface-2);font-weight:650}.summary-row .k{color:var(--text-2)}.summary-row .v{font-variant-numeric:tabular-nums}.v.pos{color:var(--ok)}.v.neg{color:var(--warn)}.linkbox{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-2);padding:12px 14px;font-family:var(--mono);font-size:12px;word-break:break-all;color:var(--text-2);line-height:1.6}.field-row{display:flex;gap:10px}.field{flex:1;display:flex;flex-direction:column;gap:5px}.field label{font-size:12.5px;font-weight:560;color:var(--text-2)}.actions{display:flex;gap:8px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:40px}.stat{background:linear-gradient(180deg,#0e0e0e,#060606);border:1px solid #1f1f1f;border-left:3px solid var(--brand);padding:26px 26px 24px;border-radius:0;position:relative;transition:border-color .2s,transform .2s}.stat:hover{border-color:#333;border-left-color:var(--brand)}.stat-label{font-family:Inter,system-ui,sans-serif;font-size:12px;color:#fff;margin-bottom:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:500}.stat-value{font-family:Inter,system-ui,sans-serif;font-size:42px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#fff;line-height:1;margin-bottom:12px;text-transform:none}.stat-note{font-family:Inter,system-ui,sans-serif;font-size:13px;color:#fff;margin-top:0}.panel{background:#0a0a0a;border:1px solid #1f1f1f;border-radius:0;margin-bottom:24px;overflow:hidden}.panel-head{padding:24px 28px 20px;border-bottom:1px solid #1f1f1f}.panel-head h3{font-family:Inter,system-ui,sans-serif;text-transform:none;margin:0 0 6px;font-size:18px;font-weight:700;letter-spacing:-.01em;color:#fff}.panel-head p{margin:0;color:#fff;font-size:13px;line-height:1.5}table{width:100%;border-collapse:collapse}th,td{padding:16px 28px;text-align:left;border-bottom:1px solid #1a1a1a}th{font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#fff;background:transparent;border-bottom:1px solid #2a2a2a;padding-top:18px;padding-bottom:14px}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .15s}tbody tr:hover{background:#ed1c240f}tbody td{color:#fff;font-family:Inter,system-ui,sans-serif;font-size:14px}td.num,th.num{text-align:center;font-variant-numeric:tabular-nums}td.dim{color:#fff}.course-cell{font-weight:600;max-width:340px}.table-scroll{overflow-x:auto}.course-cell{font-weight:560}.dim{color:var(--text-3)}.bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden;min-width:70px}.bar>span{display:block;height:100%;background:var(--brand);border-radius:3px}.state{text-align:center;padding:72px 24px;color:var(--text-2)}.state h3{margin:0 0 6px;color:var(--text);font-size:16px}.state code{font-family:var(--mono);font-size:12.5px;background:var(--bg);padding:2px 6px;border-radius:4px}.error{border:1px solid var(--brand-border);background:var(--brand-soft);color:#ff6b6b;border-radius:var(--radius);padding:14px 16px;margin-bottom:18px}.error strong{display:block;margin-bottom:3px}.skeleton{background:linear-gradient(90deg,var(--line) 25%,var(--surface-2) 50%,var(--line) 75%);background-size:200% 100%;animation:sh 1.3s infinite;border-radius:6px}@keyframes sh{0%{background-position:200% 0}to{background-position:-200% 0}}.note{background:var(--warn-soft);border:1px solid #fedf89;color:var(--warn);border-radius:var(--radius-sm);padding:10px 13px;font-size:12.5px}@media(max-width:720px){.topbar-inner{gap:12px;padding:0 16px}.logo-sub{display:none}main{padding:20px 16px 48px}.field-row{flex-direction:column}}.oea-card{background:#0a0a0a;border:1px solid #1f1f1f;border-radius:0;overflow:hidden;display:flex;flex-direction:column;position:relative;transition:border-color .15s,transform .15s}.oea-card:hover{border-color:#ed1c24}.oea-card-media{height:210px;background:#111;display:grid;place-items:center;overflow:hidden;position:relative}.oea-card-media img{width:100%;height:100%;object-fit:cover}.oea-card-ph{color:#666;font-size:40px}.oea-card-save{position:absolute;top:0;left:0;background:#ed1c24;color:#fff;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:12px;letter-spacing:2px;padding:6px 14px;text-transform:uppercase;z-index:2}.oea-card{position:relative}.oea-card-body{padding:44px 22px 26px;display:flex;flex-direction:column;gap:6px;flex:1}.oea-card-code{color:#fff;font-family:Inter,system-ui,sans-serif;font-weight:400;font-size:12px;letter-spacing:3.6px;text-transform:uppercase;margin-bottom:6px}.oea-card-title{margin:0 0 4px;font-family:Inter,system-ui,sans-serif;font-size:20px;font-weight:700;letter-spacing:.01em;line-height:1.2;text-transform:uppercase;color:#fff}.oea-card-price-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:14px}.oea-card-now{color:#ed1c24;font-family:Inter,system-ui,sans-serif;font-weight:700;font-size:28px;letter-spacing:-.01em;line-height:1}.oea-card-was{color:#fff;opacity:.55;text-decoration:line-through;font-family:Inter,system-ui,sans-serif;font-weight:400;font-size:14px}.oea-card-plans{margin-top:10px;color:#fff;font-family:Inter,system-ui,sans-serif;font-weight:400;font-size:14px;letter-spacing:normal}.oea-card-plans-muted{color:#fff;opacity:.55}.btn-sync{padding:10px 22px;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:13px;letter-spacing:2px;text-transform:uppercase;border-radius:0;gap:10px}.btn-sync svg{width:15px;height:15px}.toolbar .dim{color:#fff}.panel-alert{background:linear-gradient(180deg,rgba(237,28,36,.08) 0%,rgba(237,28,36,.02) 60%,transparent 100%);border:1px solid rgba(237,28,36,.3);border-left:3px solid var(--brand);position:relative}.panel-alert .panel-head{border-bottom:1px solid rgba(237,28,36,.25);background:transparent}.panel-alert .panel-head h3{color:#fff}.panel-alert .panel-head p{color:#ffffffd9}.panel-alert-tag{display:inline-block;font-family:Inter,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--brand);background:#ed1c241f;border:1px solid rgba(237,28,36,.4);padding:4px 10px;margin-bottom:12px}.panel-alert table tbody tr:hover{background:#ed1c241a}.panel-alert table th{color:#ffffffb3;border-bottom-color:#ed1c244d}.panel-alert table td{color:#fff}.panel-alert table .dim{color:#ffffffd9}.panel-alert table td{border-bottom-color:#ffffff0f}.panel-alert .badge{display:inline-block;font-family:Inter,system-ui,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#fff;background:var(--brand);border:0;border-radius:0;padding:4px 10px;margin-bottom:6px}@media(max-width:1200px){.topbar-inner{padding:0 24px;gap:24px}main{padding:40px 24px}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}}@media(max-width:1024px){.topbar-inner{padding:0 20px;gap:16px;height:96px}.logo-img{height:52px}.tabs{gap:24px;margin-left:16px}.tab{padding:8px 0;font-size:13px;letter-spacing:3px}main{padding:36px 20px 48px}.page-head h1{font-size:32px}.stats{grid-template-columns:repeat(2,1fr);gap:16px}.stat{padding:22px 22px 20px}.stat-value{font-size:36px}th,td{padding:14px 18px}.grid{grid-template-columns:repeat(2,1fr);gap:20px}.oea-card-body{padding:40px 20px 22px}.oea-card-title{font-size:20px}.oea-card-now{font-size:26px}.drawer{width:min(600px,100%)}}@media(max-width:820px){.topbar-inner{padding:0 16px;gap:12px;height:80px}.logo-img{height:56px}.tab{padding:6px 0;font-size:12px;letter-spacing:2.5px}main{padding:32px 16px 40px}.page-head h1{font-size:28px}}@media(max-width:640px){.topbar-inner{padding:0 16px;gap:12px;height:72px;overflow:hidden}.logo-img{height:48px}main{padding:24px 16px 40px}.page-head{margin-bottom:18px}.page-head h1{font-size:24px}.page-head p{font-size:13px}.stats{grid-template-columns:1fr;gap:12px;margin-bottom:24px}.stat{padding:20px}.stat-label{font-size:11px;letter-spacing:2px;margin-bottom:8px}.stat-value{font-size:32px;margin-bottom:8px}.stat-note{font-size:12px}.panel{margin-bottom:16px}.panel-head{padding:18px 18px 14px}.panel-head h3{font-size:16px}.panel-head p{font-size:12px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:560px}th,td{padding:12px 14px;font-size:13px}th{font-size:10px;letter-spacing:1.5px}.toolbar{gap:8px;flex-direction:column;align-items:stretch}.search{min-width:100%}.input,.select{padding:10px 12px;font-size:16px}.grid{grid-template-columns:1fr;gap:16px}.oea-card-body{padding:44px 20px 24px}.oea-card-title{font-size:20px}.oea-card-now{font-size:26px}.drawer{width:100%;max-width:100%}.drawer-body{padding:16px;gap:18px}.drawer-head{padding:14px 16px}.field-row{flex-direction:column;gap:8px}.plan{padding:12px 14px}.plan-name{font-size:14px}.plan-amount{font-size:16px}}@media(max-width:400px){.topbar-inner{padding:0 12px;height:66px;gap:8px}.logo-img{height:42px}.tab{padding:5px 8px;font-size:10px}main{padding:20px 12px 32px}.page-head h1{font-size:22px}.stat{padding:18px}.stat-value{font-size:28px}.oea-card-body{padding:40px 16px 22px}.oea-card-title{font-size:18px}.oea-card-now{font-size:24px}th,td{padding:10px 12px;font-size:12px}}.hamburger{display:none;border:0;background:transparent;cursor:pointer;width:40px;height:40px;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:6px}.hamburger-bar{display:block;width:24px;height:2px;background:#fff;transition:transform .2s,opacity .2s}.hamburger-bar.open:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger-bar.open:nth-child(2){opacity:0}.hamburger-bar.open:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-nav{display:none;position:fixed;inset:72px 0 0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30;animation:fade .15s ease}.mobile-nav-inner{background:#000;border-top:1px solid #1f1f1f;border-bottom:1px solid #1f1f1f;padding:8px 0;display:flex;flex-direction:column}.mobile-nav-item{border:0;background:transparent;color:#fff;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:14px;letter-spacing:3px;text-transform:uppercase;padding:18px 20px;text-align:left;cursor:pointer;border-bottom:1px solid #1a1a1a;transition:background .15s}.mobile-nav-item:last-child{border-bottom:0}.mobile-nav-item:hover{background:#ffffff0d}.mobile-nav-item.active{background:var(--brand);color:#fff}@media(max-width:640px){.hamburger{display:flex}.tabs{display:none}.topbar-right{margin-left:auto}.mobile-nav{display:block}}.oea-card-blueprint{background:linear-gradient(180deg,#1e3a8a26,#0f172a66),linear-gradient(#0d1e36,#081428);border:1px solid rgba(96,165,250,.25);position:relative}.oea-card-blueprint:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(96,165,250,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(96,165,250,.06) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;opacity:.7}.oea-card-blueprint:hover{border-color:#60a5fa99}.oea-card-blueprint .oea-card-body{position:relative;z-index:1}.oea-card-blueprint .oea-card-code{color:#93c5fd}.btn-outline{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:0;padding:12px 20px;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:border-color .15s,background .15s}.btn-outline:hover{border-color:#fff;background:#ffffff0f}.btn-outline svg{width:14px;height:14px}.table-scroll table th.sticky-col,.table-scroll table td.sticky-col{position:sticky;background:#0a0a0a;z-index:2}.table-scroll table thead th.sticky-col{background:#0a0a0a;z-index:3}.sticky-col-1{left:0;min-width:280px}.sticky-col-2{left:280px;min-width:60px}.sticky-col-3{left:340px;min-width:120px}.sticky-col-3{box-shadow:4px 0 8px -4px #0009}.panel-alert table tbody tr:hover .sticky-col,tbody tr:hover .sticky-col{background:#141414}@media(max-width:640px){.sticky-col{position:static!important;box-shadow:none!important}}.table-scroll table th.group-start,.table-scroll table td.group-start{border-left:1px solid rgba(255,255,255,.18)}.table-scroll table th.group-head{color:#fff;border-bottom:1px solid rgba(237,28,36,.6)}.app.app--light{background:#eef1f6}.app.app--light main{max-width:1680px;padding-top:36px}.app.app--light .topbar-inner{max-width:1680px}.ph{color:#111;font-family:Inter,system-ui,sans-serif}.ph-head h1{font-family:Inter,system-ui,sans-serif;text-transform:none;letter-spacing:-.02em;font-size:26px;font-weight:800;color:#111;margin:0 0 10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ph-version{font-size:11px;font-weight:700;letter-spacing:.02em;background:#dfe4ec;color:#333;padding:3px 8px;border-radius:4px}.ph-head p{margin:0 0 6px;font-size:13px;line-height:1.55;color:#222;max-width:1150px}.ph-accent-inline{color:#f59e0b;font-weight:800}.ph-controls{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:14px 0 22px}.ph-controls label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#222}.ph-input{border:1px solid #c9d0db;background:#fff;color:#111;border-radius:6px;padding:8px 12px;font-size:16px;min-width:220px;outline:none}.ph-input::placeholder{color:#9aa3b2}.ph-input:focus{border-color:#111}.ph-mode{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#222}.ph-mode button{border:1px solid #c9d0db;background:#fff;color:#333;border-radius:6px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer}.ph-mode button.on{background:#111;color:#fff;border-color:#111}.ph-stack{border-radius:18px;overflow:hidden;margin-bottom:28px;box-shadow:0 1px 2px #1018280f}.ph-stack>.ph-table-wrap+.ph-table-wrap{border-top:2px solid #eef1f6}.ph-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff}.ph-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1480px;table-layout:fixed}.ph-col-code{width:110px}.ph-col-name{width:230px}.ph-col-rrp{width:110px}.ph-col-up{width:118px}.ph-col-plan{width:auto}.ph-table th,.ph-table td{border-bottom:1px solid #e6e9ef;text-align:center;vertical-align:middle}.ph-table thead th{background:#000;color:#fff;padding:16px 10px;font-size:12px;font-weight:800;letter-spacing:.02em;line-height:1.35;text-transform:uppercase;border-right:1px solid #333;border-bottom:0}.ph-table thead th:last-child{border-right:0}.ph-accent{display:block;color:#f59e0b}.ph-head-row{cursor:pointer;-webkit-user-select:none;user-select:none}.ph-head-row:hover th{background:#151515}.ph-code-h{font-size:18px!important;white-space:nowrap}.ph-course-h{font-size:18px!important}.ph-upfront-h{color:#f59e0b!important}.ph-toggle{background:none;border:0;color:#f59e0b;font-size:22px;font-weight:800;cursor:pointer;margin-right:6px;padding:0;line-height:1;vertical-align:middle}.ph-table tbody td{padding:14px 8px;border-right:1px solid #eef0f4;background:#fff}.ph-table tbody td:last-child{border-right:0}.ph-table tbody tr:hover td{background:#fafbfc}.ph-code{font-size:14px;font-weight:600;color:#333}.ph-course{font-size:14px;font-weight:700;color:#111;line-height:1.4;padding:14px 16px!important}.ph-rrp{display:inline-block;background:#f3f5f8;border:1px solid #e3e7ee;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:700;color:#222;white-space:nowrap}.ph-save{margin-top:6px;font-size:10px;font-weight:700;letter-spacing:.04em;color:#16a34a;text-transform:uppercase}.ph-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;max-width:100%;box-sizing:border-box;padding:9px 10px;border-radius:6px;background:#22c55e;color:#fff;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap;transition:background .15s,transform .05s}.ph-btn:hover{background:#16a34a}.ph-btn:active{transform:translateY(1px)}.ph-btn--off{background:#eef0f4;color:#9aa3b2;cursor:not-allowed}.ph-btn--off:hover{background:#eef0f4}.ph-btn--off small{font-size:9.5px;font-weight:600;margin-top:2px;color:#b45309;white-space:normal;line-height:1.25}.ph-na{color:#8a94a6;font-size:13px;font-weight:600}.ph-empty{color:#6b7280;padding:24px!important}.ph-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:4px;width:max-content;max-width:min(560px,calc(100vw - 32px));box-sizing:border-box;background:#111;color:#fff;padding:14px 20px;border-radius:10px;border-left:4px solid #22c55e;box-shadow:0 10px 30px #00000040;font-size:13px;line-height:1.45;z-index:60;animation:ph-toast-in .2s ease-out}.ph-toast strong{font-size:14px;color:#4ade80}.ph-toast span{color:#e5e7eb}.ph-toast .ph-toast-warn{color:#fbbf24}@keyframes ph-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:640px){.ph-head h1{font-size:20px}.ph-controls,.ph-controls label{flex-direction:column;align-items:stretch}.ph-input{min-width:0}}.sales .page-head{margin-bottom:18px}.sales .page-head h1{font-family:Inter,system-ui,sans-serif;text-transform:none;letter-spacing:-.02em;font-size:26px;font-weight:800;color:#111;margin:0 0 10px;line-height:1.2}.sales .page-head p{margin:0;font-size:13px;line-height:1.55;color:#222;max-width:1150px}.sales .toolbar{gap:12px;margin-bottom:22px}.sales .select{border:1px solid #c9d0db;background:#fff;color:#111;border-radius:6px;padding:8px 12px;font-size:14px;font-weight:600;cursor:pointer}.sales .select:focus{border-color:#111;box-shadow:none}.sales .btn{border:1px solid #111;background:#111;color:#fff;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600;box-shadow:none}.sales .btn:hover{background:#333;border-color:#333}.sales .dim{color:#6b7280}.sales .toolbar .dim{font-size:12.5px}.sales .note{background:#fff7e6;border:1px solid #fcd9a0;color:#92400e;border-radius:10px;padding:12px 14px;font-size:13px}.sales .note code,.sales .state code,.sales .panel-head code{background:#eef1f6;color:#111;padding:1px 5px;border-radius:4px;font-size:12px}.sales .error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;border-radius:10px}.sales .state{color:#444}.sales .stats{gap:16px;margin-bottom:28px}.sales .stat{background:#fff;border:1px solid #e6e9ef;border-top:4px solid #000;border-radius:14px;padding:20px 22px 18px;box-shadow:0 1px 2px #1018280f}.sales .stat:hover{border-color:#e6e9ef;border-top-color:#000}.sales .stat-label{color:#6b7280;font-size:11.5px;font-weight:700;letter-spacing:2px;margin-bottom:10px}.sales .stat-value{color:#111;font-size:34px;font-weight:800;margin-bottom:8px}.sales .stat-note{color:#6b7280;font-size:12.5px}.sales .stat:first-child{border-top-color:#22c55e}.sales .stat:first-child .stat-value{color:#16a34a}.sales .stat--alert{border-top-color:var(--brand)}.sales .stat--alert .stat-value{color:var(--brand)}.sales .skeleton{background:linear-gradient(90deg,#eef0f4 25%,#f7f8fa,#eef0f4 75%);background-size:200% 100%}.sales .panel{background:#fff;border:0;border-radius:18px;overflow:hidden;margin-bottom:24px;box-shadow:0 1px 2px #1018280f}.sales .panel-head{background:#000;padding:20px 24px 18px;border-bottom:0}.sales .panel-head h3{color:#fff;font-size:18px;font-weight:800;letter-spacing:.01em;text-transform:uppercase}.sales .panel-head p{color:#c7cbd3;font-size:12.5px;max-width:900px}.sales .panel-head code{background:#222;color:#f59e0b}.sales table th{background:#f3f5f8;color:#111;font-size:12px;font-weight:800;letter-spacing:.04em;padding:12px 24px;border-bottom:1px solid #e6e9ef}.sales table th.num{color:#111}.sales table td{color:#111;padding:14px 24px;border-bottom:1px solid #eef0f4;font-size:14px}.sales table td.dim,.sales table .dim{color:#6b7280}.sales .course-cell{font-weight:700}.sales tbody tr:hover{background:#fafbfc}.sales .panel-alert{background:#fff;border:0;border-left:0}.sales .panel-alert .panel-head{border-left:4px solid var(--brand);background:#000}.sales .panel-alert .panel-head h3{color:#fff}.sales .panel-alert .panel-head p{color:#c7cbd3}.sales .panel-alert-tag{color:#f59e0b;background:#f59e0b1f;border-color:#f59e0b80;border-radius:4px}.sales .panel-alert table th{color:#111;border-bottom-color:#e6e9ef}.sales .panel-alert table td{color:#111;border-bottom-color:#eef0f4}.sales .panel-alert table .dim{color:#6b7280}.sales .panel-alert table tbody tr:hover{background:#fff7f7}.sales .panel-alert .badge{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.sales .badge{background:#eef1f6;color:#333;border-color:#dfe4ec}@media(max-width:640px){.sales .page-head h1{font-size:22px}.sales .stat-value{font-size:28px}.sales table th,.sales table td{padding:12px 14px}.sales .panel-head{padding:16px 16px 14px}}
