.pp{--pp-primary:#1687ff;--pp-primary-dark:#1066e8;--pp-primary-soft:#eef7ff;--pp-primary-100:#d6ebff;--pp-ink:#172033;--pp-ink-soft:#6f7c91;--pp-line:#e5ebf3;--pp-cream:#f5f8fc;--pp-card:#ffffff;--pp-green:#2ba86a;--pp-green-soft:#e9f8f0;--pp-blue:#2f6bff;--pp-blue-soft:#eaf1ff;--pp-amber:#e9a23b;--pp-amber-soft:#fdf4e3;--pp-purple:#8257e6;--pp-purple-soft:#f2ecfe;--pp-red:#e5484d;--pp-red-soft:#fdecec;--pp-radius:16px;--pp-radius-sm:10px;--pp-shadow:0 4px 18px rgba(22,135,255,0.07),0 1px 3px rgba(42,33,24,0.05);color:var(--pp-ink)}.pp-wrap{display:flex;align-items:stretch;max-width:1200px;margin:0 auto;background:radial-gradient(900px 400px at 100% -10%,#e3f0ff 0,transparent 55%),var(--pp-cream);border:1px solid var(--pp-line);border-radius:20px;overflow:hidden;min-height:calc(100vh - 170px);box-shadow:var(--shadow-sm)}.pp-sidebar{width:228px;flex:none;background:linear-gradient(180deg,#0f1b2d,#16263d);flex-direction:column;padding:18px 14px}.pp-brand,.pp-sidebar{color:#fff;display:flex}.pp-brand{align-items:center;gap:10px;font-weight:800;font-size:15.5px;margin-bottom:6px;padding:0 6px}.pp-brand .lg{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:17px;background:linear-gradient(135deg,#1687ff,#4ba6ff);box-shadow:0 6px 16px rgba(22,135,255,.45)}.pp-brand small{display:block;font-size:11px;font-weight:600;color:rgba(255,255,255,.5);margin-top:1px}.pp-gt{font-size:11px;font-weight:700;color:rgba(255,255,255,.4);letter-spacing:1px;padding:14px 10px 6px}.pp-side-item{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;font-size:14px;font-weight:600;color:rgba(255,255,255,.72);text-decoration:none;transition:.15s;cursor:pointer;border:0;background:transparent;width:100%;text-align:left}.pp-side-item:hover{background:rgba(255,255,255,.08);color:#fff}.pp-side-item.on{background:linear-gradient(135deg,#1687ff,#4ba6ff);color:#fff;box-shadow:0 6px 16px rgba(22,135,255,.35)}.pp-side-item .si{width:18px;text-align:center;font-size:14px}.pp-side-foot{margin-top:auto;padding:10px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:rgba(255,255,255,.55)}.pp-side-foot b{color:#fff;font-size:13px}.pp-nav{display:flex;flex-direction:column}@media (max-width:768px){.pp-wrap{min-height:0;border-radius:16px}.pp-sidebar,.pp-wrap{flex-direction:column}.pp-sidebar{width:auto;padding:12px 12px 10px}.pp-brand{margin-bottom:10px}.pp-gt{display:none}.pp-nav{flex-direction:row;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.pp-nav::-webkit-scrollbar{display:none}.pp-side-item{flex:none;width:auto;white-space:nowrap;padding:8px 13px}.pp-side-foot{display:none}.pp-main{padding:16px 16px 32px}}.pp-main{flex:1;min-width:0;padding:22px 26px 40px}.pp-h1{font-size:23px;font-weight:800;letter-spacing:-.5px;margin:0}.pp-sub{color:var(--pp-ink-soft);font-size:14px;margin-top:3px}.pp-mt{margin-top:16px}.pp-panel{background:var(--pp-card);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);padding:20px 22px}.pp-panel h3{font-size:15px;font-weight:700;margin:0}.pp-panel .ph{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.pp-panel .ph .hint{font-size:12px;color:var(--pp-ink-soft)}.pp-grid2{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-top:16px}@media (max-width:900px){.pp-grid2{grid-template-columns:1fr}}.pp-muted{color:var(--pp-ink-soft);font-size:14px}.pp-kv{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px}.pp-kv .k{font-size:12px;color:var(--pp-ink-soft);font-weight:600;margin-bottom:3px}.pp-kv .v{font-size:14px}.pp-btn,.pp-kv .v{font-weight:600;color:var(--pp-ink)}.pp-btn{padding:8px 16px;border-radius:22px;font-size:13.5px;cursor:pointer;border:1px solid var(--pp-line);background:var(--pp-card);transition:.15s;text-decoration:none;display:inline-block}.pp-btn:hover{border-color:var(--pp-primary-100)}.pp-btn.primary{background:var(--pp-primary);border-color:var(--pp-primary);color:#fff;box-shadow:0 6px 16px rgba(22,135,255,.28)}.pp-btn.primary:hover{background:var(--pp-primary-dark)}.pp-btn.sm{padding:6px 12px;font-size:12.5px}.pp-btn:disabled{opacity:.6;cursor:not-allowed}.pp-stepper{overflow-x:auto;padding-bottom:6px}.pp-step,.pp-stepper{display:flex;align-items:center}.pp-step{flex-direction:column;width:74px;flex:none}.pp-step .cir{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:var(--pp-card);color:var(--pp-ink-soft);border:1px solid var(--pp-line)}.pp-step.done .cir{background:var(--pp-primary);color:#fff;border-color:var(--pp-primary)}.pp-step.current .cir{background:var(--pp-primary-soft);color:var(--pp-primary-dark);border:2px solid var(--pp-primary)}.pp-step .nm{margin-top:5px;font-size:11px;color:var(--pp-ink-soft);text-align:center;line-height:1.2}.pp-step.current .nm{color:var(--pp-primary-dark);font-weight:700}.pp-stepline{width:18px;height:2px;margin-bottom:16px;background:var(--pp-line);flex:none}.pp-stepline.done{background:var(--pp-primary)}.pp-bar{height:6px;width:100%;border-radius:999px;background:var(--pp-line);overflow:hidden;margin-top:12px}.pp-bar i{display:block;height:100%;background:var(--pp-primary)}.pp-flow{display:flex;flex-direction:column;gap:0}.pp-flow .it{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--pp-line)}.pp-flow .it:last-child{border-bottom:0}.pp-flow .ck{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}.pp-flow .ck.done{background:var(--pp-green-soft);color:var(--pp-green)}.pp-flow .ck.todo{background:var(--pp-line);color:var(--pp-ink-soft)}.pp-flow .tx{font-size:13.5px;font-weight:600}.pp-flow .tx.done{color:var(--pp-ink-soft)}.pp-stat3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pp-statbox{border-radius:var(--pp-radius-sm);background:var(--pp-cream);border:1px solid var(--pp-line);padding:14px;text-align:center}.pp-statbox b{display:block;font-size:24px;font-weight:800;line-height:1}.pp-statbox span{font-size:12px;color:var(--pp-ink-soft);margin-top:5px;display:block}.pp-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;background:var(--pp-primary-soft);color:var(--pp-primary-dark)}.pp-badge.green{background:var(--pp-green-soft);color:var(--pp-green)}.pp-badge.blue{background:var(--pp-blue-soft);color:var(--pp-blue)}.pp-badge.amber{background:var(--pp-amber-soft);color:var(--pp-amber)}.pp-badge.red{background:var(--pp-red-soft);color:var(--pp-red)}.pp-chip{display:inline-block;padding:4px 11px;border-radius:20px;font-size:12px;font-weight:600;background:var(--pp-cream);border:1px solid var(--pp-line);color:var(--pp-ink-soft);margin:0 6px 6px 0}.pp-field{display:block;margin-bottom:14px}.pp-field .lab{display:block;font-size:12px;color:var(--pp-ink-soft);font-weight:600;margin-bottom:5px}.pp-input,.pp-textarea{width:100%;padding:9px 12px;font-size:13.5px;border-radius:var(--pp-radius-sm);border:1px solid var(--pp-line);background:var(--pp-card);color:var(--pp-ink);outline:none;font-family:inherit}.pp-input:focus,.pp-textarea:focus{border-color:var(--pp-primary)}.pp-textarea{resize:vertical;min-height:90px}.pp-formcard{padding:20px 22px}.pp-formcard,.pp-result{background:var(--pp-card);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow)}.pp-result{padding:18px 20px;max-height:640px;overflow-y:auto}.pp-sec{border:1px solid var(--pp-line);border-radius:var(--pp-radius-sm);padding:12px 14px;margin-bottom:10px;background:var(--pp-cream)}.pp-sec .sh{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.pp-sec .sh b{font-size:13px;font-weight:700}.pp-sec p{margin:0;font-size:12.5px;color:var(--pp-ink);line-height:1.6;white-space:pre-line}.pp-md{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;margin-top:12px;align-items:start}@media (max-width:980px){.pp-md{grid-template-columns:1fr}}.pp-joblist{max-height:62vh;overflow-y:auto;padding-right:6px}@media (max-width:980px){.pp-joblist{max-height:42vh;padding-right:4px}}.pp-jobcard{position:relative;width:100%;text-align:left;background:var(--pp-card);border:1px solid var(--pp-line);border-radius:var(--pp-radius-sm);padding:13px 15px 12px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;margin-bottom:9px}.pp-jobcard:before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:transparent;transition:background .15s}.pp-jobcard:hover{border-color:var(--pp-primary-100);box-shadow:var(--pp-shadow);transform:translateY(-1px)}.pp-jobcard.on{border-color:var(--pp-primary);background:var(--pp-primary-soft);box-shadow:0 6px 18px rgba(22,135,255,.14)}.pp-jobcard.on:before{background:var(--pp-primary)}.pp-jobcard .hd{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pp-jobcard .t{font-size:15px;font-weight:800;line-height:1.35;color:var(--pp-ink);min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pp-jobcard .hd .pp-badge{flex:none}.pp-jobcard .co{font-size:12.5px;font-weight:600;margin-top:3px}.pp-jobcard .co,.pp-jobcard .loc{color:var(--pp-ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-jobcard .loc{display:flex;align-items:center;gap:5px;font-size:12px;margin-top:8px}.pp-jobcard .loc .pin{font-size:11px;flex:none;opacity:.75}.pp-jobcard .loc .more{flex:none;margin-left:4px;font-size:11px;font-weight:700;color:var(--pp-primary-dark);background:var(--pp-primary-soft);border-radius:6px;padding:1px 6px}.pp-jobcard .maj{font-size:12px;color:var(--pp-ink-soft);margin:6px 0 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-jobcard .tags{display:flex;flex-wrap:wrap;gap:0}.pp-jobcard .tags .pp-chip{margin:0 6px 0 0}.pp-detail{background:var(--pp-card);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);padding:20px 22px;position:sticky;top:12px;max-height:82vh;overflow-y:auto}@media (max-width:980px){.pp-detail{position:static;max-height:none;overflow:visible}}.pp-detail .dt-head{padding-bottom:14px;border-bottom:1px solid var(--pp-line)}.pp-detail .dt-title{font-size:19px;font-weight:800;line-height:1.35;color:var(--pp-ink);margin:9px 0 0;letter-spacing:-.2px}.pp-detail .dt-co{font-size:13px;color:var(--pp-ink-soft);margin:4px 0 0}.pp-detail .dt-link{display:inline-block;margin-top:9px;font-size:12.5px;font-weight:600;color:var(--pp-primary);text-decoration:none}.pp-detail .dt-link:hover{color:var(--pp-primary-dark);text-decoration:underline}.pp-detail .dt-rows{margin-top:6px}.pp-detail .drow{display:flex;gap:12px;padding:9px 0;font-size:13.5px;border-bottom:1px dashed var(--pp-line)}.pp-detail .drow:last-child{border-bottom:0}.pp-detail .drow .k{width:70px;flex:none;color:var(--pp-ink-soft);font-weight:600}.pp-detail .drow .v{color:var(--pp-ink);font-weight:600}.pp-detail .dt-meta{font-size:12px;color:var(--pp-ink-soft);margin:12px 0 0}.pp-detail .dt-meta .dot{margin:0 7px;opacity:.5}.pp-detail .dt-cta{margin-top:16px}.pp-detail .dt-hint{font-size:11.5px;color:var(--pp-ink-soft);margin:9px 0 0;line-height:1.5}.pp-btn.block{display:block;width:100%;text-align:center;padding:11px 16px;font-size:14.5px}.pp-rechead{background:linear-gradient(135deg,#f2f8ff,#fff);border:1px solid var(--pp-primary-100);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);padding:18px 20px;margin-top:14px;display:grid;grid-template-columns:1.4fr 1fr auto;gap:20px;align-items:start}@media (max-width:900px){.pp-rechead{grid-template-columns:1fr}}.pp-rechead .lb{font-size:12px;font-weight:700;color:var(--pp-primary-dark);margin-bottom:4px}.pp-rechead .vv{font-size:15px;font-weight:800;color:var(--pp-ink);margin-bottom:9px}.pp-recchips{display:flex;flex-wrap:wrap;gap:6px}.pp-rechip{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:8px;background:#fff;border:1px solid var(--pp-line);color:var(--pp-ink-soft)}.pp-rechip.warn{border-color:#f3dca6}.pp-rechip.warn,.pp-recnote{background:var(--pp-amber-soft);color:#8a6d23}.pp-recnote{border:1px solid #f3dca6;border-radius:var(--pp-radius-sm);padding:11px 14px;font-size:12.5px;text-align:center;margin:12px 0;line-height:1.7}.pp-recnote a{color:var(--pp-primary-dark);font-weight:700}.pp-matchcount{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:var(--pp-ink);padding:12px 16px;background:linear-gradient(135deg,var(--pp-primary-soft),#fff);border:1px solid var(--pp-primary-100);border-left:4px solid var(--pp-primary);border-radius:var(--pp-radius-sm);margin-bottom:12px}.pp-matchcount b{font-size:17px;color:var(--pp-primary-dark);margin:0 1px}.pp-matgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:12px}@media (max-width:760px){.pp-matgrid{grid-template-columns:1fr}}.pp-matcard{background:var(--pp-card);border-radius:var(--pp-radius);box-shadow:var(--pp-shadow);padding:18px 20px}.pp-matcard h4{margin:0 0 12px;font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:7px}.pp-matcard p.desc{font-size:12.5px;color:var(--pp-ink-soft);margin:0 0 12px;line-height:1.5}.pp-matchips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.pp-matbox{border:1px solid var(--pp-line);border-radius:var(--pp-radius-sm);background:var(--pp-cream);padding:16px;min-height:96px;cursor:pointer;transition:.12s}.pp-matbox:hover{border-color:var(--pp-primary-100);background:var(--pp-primary-soft)}.pp-matbox .kv{font-size:13px;font-weight:700;color:var(--pp-ink);margin:0 0 6px}.pp-matbox .ph{color:var(--pp-ink-soft);font-size:13px;margin:0}.pp-matfoot{font-size:12px;color:var(--pp-ink-soft);margin:10px 0 0}.pp-howto{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}@media (max-width:760px){.pp-howto{grid-template-columns:repeat(2,1fr)}}.pp-howcard{border:1px solid var(--pp-line);border-radius:var(--pp-radius-sm);background:var(--pp-cream);padding:13px 14px}.pp-howcard b{font-size:13px;display:block;margin-bottom:5px}.pp-howcard span{font-size:12px;color:var(--pp-ink-soft);line-height:1.5}.pp-iframe{border-radius:var(--pp-radius);border:1px solid var(--pp-line);overflow:hidden;box-shadow:var(--pp-shadow);background:#fff;margin-top:14px}.pp-modal-mask{position:fixed;inset:0;background:rgba(42,33,24,.42);display:flex;align-items:flex-start;justify-content:center;z-index:60;padding:40px 20px;overflow-y:auto}.pp-modal{background:#fff;border-radius:18px;width:100%;max-width:660px;box-shadow:0 24px 60px rgba(42,33,24,.32);margin:auto}.pp-modal .mh{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--pp-line)}.pp-modal .mh b{font-size:16px;font-weight:800}.pp-modal .mb{padding:18px 22px}.pp-modal .mf{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--pp-line)}.pp-form2{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}@media (max-width:600px){.pp-form2{grid-template-columns:1fr}}.pp-form2 .full{grid-column:1/-1}.pp-select{width:100%;padding:9px 12px;font-size:13.5px;border-radius:var(--pp-radius-sm);border:1px solid var(--pp-line);background:#fff;color:var(--pp-ink);outline:none}.pp-select:focus{border-color:var(--pp-primary)}.pp-ratestars{display:flex;gap:6px;font-size:26px;color:var(--pp-line);cursor:pointer;margin:4px 0 14px}.pp-ratestars span.on{color:var(--pp-amber)}.pp-empty{text-align:center;color:var(--pp-ink-soft);font-size:14px;padding:40px 0}.pp-badge,.pp-brand small,.pp-detail .dt-hint,.pp-detail .dt-meta,.pp-field .lab,.pp-gt,.pp-jobcard .loc,.pp-jobcard .maj,.pp-kv .k,.pp-panel .ph .hint,.pp-side-foot,.pp-statbox span,.pp-step .nm{font-size:13px}