:root{
  --product-canvas:#f5f8fc;
  --product-surface:#fff;
  --product-surface-soft:#eef4fa;
  --product-ink:#102640;
  --product-text:#243b53;
  --product-muted:#667b91;
  --product-line:#d7e2ed;
  --product-primary:#0b61e8;
  --product-primary-strong:#084fc0;
  --product-success:#119b67;
  --product-warning:#c57a00;
  --product-danger:#d4383f;
  --product-radius-sm:6px;
  --product-radius-md:8px;
  --product-radius-lg:12px;
  --product-shadow:0 8px 28px rgba(16,38,64,.10);
  --product-font:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;
}

html{background:var(--product-canvas)}
body,button,input,select,textarea{font-family:var(--product-font)}
:focus-visible{outline:3px solid rgba(11,97,232,.28);outline-offset:2px}
.product-stage-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none}
.product-stage-rail li{position:relative;min-width:0}
.product-stage-rail li:not(:last-child)::after{position:absolute;z-index:0;top:22px;right:-50%;width:100%;height:2px;background:var(--product-line);content:""}
.product-stage-rail a{position:relative;z-index:1;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:6px 10px;color:var(--product-muted);text-decoration:none}
.product-stage-rail b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#8997a8;color:#fff;font-size:14px}
.product-stage-rail span{display:grid;gap:2px}
.product-stage-rail strong{color:var(--product-ink);font-size:14px;line-height:1.3}
.product-stage-rail small{font-size:12px;line-height:1.35}
.product-stage-rail [aria-current="step"]{color:var(--product-primary)}
.product-stage-rail [aria-current="step"] b{background:var(--product-primary);box-shadow:0 0 0 5px #eaf2ff}
.product-stage-rail [aria-current="step"] strong{color:var(--product-primary)}
.product-stage-rail .is-locked b{background:#a4afbd}
.product-stage-rail .is-locked strong::after{margin-left:6px;color:#7d8998;font-size:12px;content:"锁定"}
.product-authority-zero{display:flex;align-items:center;gap:8px;color:var(--product-warning);font-size:12px;font-weight:700}
.product-authority-zero::before{width:8px;height:8px;border-radius:50%;background:var(--product-warning);content:""}

@media(max-width:760px){
  .product-stage-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;padding-bottom:6px}
  .product-stage-rail li{min-width:0}
  .product-stage-rail li:not(:last-child)::after{display:none}
  .product-stage-rail a{display:flex;min-height:72px;flex-direction:column;justify-content:center;gap:4px;border-bottom:3px solid var(--product-line);padding:5px 2px;text-align:center}
  .product-stage-rail b{width:30px;height:30px;font-size:12px}
  .product-stage-rail strong{font-size:12px}
  .product-stage-rail small{display:none}
  .product-stage-rail [aria-current="step"]{border-color:var(--product-primary)}
}

@media(prefers-reduced-motion:reduce){.product-stage-rail{scroll-behavior:auto}}
.project-compass{--pc-blue:#0b61e8;--pc-navy:#12284a;--pc-muted:#60748f;--pc-line:#d7e3f0;--pc-good:#13795b;--pc-bad:#b5473c;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;max-width:1320px;margin:14px auto 0;border:1px solid var(--pc-line);border-left:4px solid var(--pc-blue);border-radius:10px;background:#fff;padding:16px 18px;color:var(--pc-navy);box-shadow:0 4px 18px rgba(34,70,111,.06);font-family:"Segoe UI Variable Text","Segoe UI","Microsoft YaHei UI",sans-serif}
.project-compass *{box-sizing:border-box}.project-compass__current{display:grid;gap:4px}.project-compass__current small{color:var(--pc-blue);font-size:12px;font-weight:800}.project-compass__current h2{margin:0;font-size:20px;line-height:1.3}.project-compass__current p{margin:0;color:var(--pc-muted);font-size:13px;line-height:1.55}
.project-compass__courses{display:grid;grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.project-compass__courses span{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:40px;border:1px solid var(--pc-line);border-radius:7px;background:#f7faff;padding:5px 7px;color:var(--pc-muted);font-size:11px;font-weight:750;text-align:center}.project-compass__courses b{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#e6edf5;font-size:11px}.project-compass__courses em{overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.project-compass__courses span[aria-current="step"]{border-color:#77a8ed;background:#eaf3ff;color:var(--pc-blue)}.project-compass__courses span[aria-current="step"] b{background:var(--pc-blue);color:#fff}
.project-compass__plan{display:grid;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.project-compass__plan article{display:grid;align-content:start;gap:5px;min-height:92px;border:1px solid var(--pc-line);border-radius:8px;background:#fbfdff;padding:12px}.project-compass__plan article:nth-child(3){border-color:#9cc7b7;background:#f1fbf7}.project-compass__plan small{color:var(--pc-blue);font-size:11px;font-weight:800}.project-compass__plan strong{font-size:12.5px;line-height:1.55}
.project-compass ol{display:grid;grid-column:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;padding:0;list-style:none}.project-compass li{min-width:0}.project-compass li a{display:grid;place-items:center;min-height:44px;border-bottom:3px solid transparent;color:var(--pc-muted);font-size:12px;font-weight:750;text-align:center;text-decoration:none}.project-compass li a[aria-current="step"]{border-color:var(--pc-blue);background:#edf4ff;color:var(--pc-blue)}
.project-compass__actions{display:grid;grid-column:2;grid-template-columns:auto minmax(210px,1fr);gap:7px}.project-compass__return,.project-compass__next{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--pc-blue);border-radius:7px;padding:8px 13px;font-size:12px;font-weight:800;text-align:center;text-decoration:none}.project-compass__return{background:#fff;color:var(--pc-blue)}.project-compass__next{background:var(--pc-blue);color:#fff}
.project-compass__checkpoint{display:grid;grid-column:1/-1;gap:10px;border:1px solid #91b8ee;border-radius:9px;background:#f3f8ff;padding:14px}.project-compass__checkpoint[hidden]{display:none}.project-compass__checkpoint>strong{font-size:13px;color:var(--pc-blue)}.project-compass__checkpoint>p{margin:0;font-size:14px;font-weight:800}.project-compass__checkpoint fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;border:0;padding:0}.project-compass__checkpoint label{display:flex;align-items:center;gap:8px;min-height:48px;border:1px solid var(--pc-line);border-radius:7px;background:#fff;padding:8px 10px;color:#36516f;font-size:12px;line-height:1.4;cursor:pointer}.project-compass__checkpoint input{flex:0 0 auto;width:17px;height:17px;accent-color:var(--pc-blue)}.project-compass__checkpoint button{justify-self:start;min-height:44px;border:0;border-radius:7px;background:var(--pc-blue);padding:8px 18px;color:#fff;font:800 12px inherit;cursor:pointer}.project-compass__checkpoint-status{min-height:38px;border-left:3px solid #8aa7c7;padding:8px 10px;color:#506985!important;font-size:12px!important;font-weight:600!important}.project-compass__checkpoint-status[data-state="retry"]{border-color:var(--pc-bad);background:#fff3f1;color:#8d3f37!important}.project-compass__checkpoint-status[data-state="pass"]{border-color:var(--pc-good);background:#eaf8f2;color:#23654f!important}
.project-compass__boundary{grid-column:1/-1;margin:0;border-top:1px solid var(--pc-line);padding-top:9px;color:#526d88;font-size:11.5px;line-height:1.55}.project-compass a:focus-visible,.project-compass button:focus-visible,.project-compass input:focus-visible{outline:3px solid rgba(11,97,232,.25);outline-offset:2px}
@media(max-width:1040px){.project-compass{grid-template-columns:1fr;margin:10px 12px 0}.project-compass ol,.project-compass__actions{grid-column:1}.project-compass__actions{grid-template-columns:1fr 1fr}.project-compass__checkpoint fieldset{grid-template-columns:1fr}}
@media(max-width:620px){.project-compass{padding:13px 14px}.project-compass__current h2{font-size:17px}.project-compass__courses{gap:4px}.project-compass__courses span{display:grid;gap:2px;min-height:54px;padding:4px 2px}.project-compass__courses b{margin:auto}.project-compass__courses em{font-size:10px;white-space:normal;line-height:1.15}.project-compass__plan{grid-template-columns:1fr}.project-compass__plan article{min-height:0}.project-compass ol{grid-template-columns:repeat(4,minmax(0,1fr))}.project-compass li a{padding:3px 2px;line-height:1.25}.project-compass__actions{grid-template-columns:1fr}.project-compass__checkpoint{padding:12px}.project-compass__checkpoint label{min-height:52px}}
@media(prefers-reduced-motion:reduce){.project-compass *{scroll-behavior:auto!important}}
.project-transfer{--pt-blue:#0b61e8;--pt-navy:#12284a;--pt-muted:#60748f;--pt-line:#c8daf0;max-width:1320px;margin:10px auto 0;border:1px solid #a9c8ee;border-radius:9px;background:#f3f8ff;padding:18px;color:var(--pt-navy);box-shadow:0 4px 18px rgba(34,70,111,.06);font-family:"Segoe UI Variable Text","Segoe UI","Microsoft YaHei UI",sans-serif}
.project-transfer>header{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;align-items:start}
.project-transfer>header small{color:var(--pt-blue);font-size:9px;font-weight:800}
.project-transfer h2{margin:5px 0 6px;font-size:21px;line-height:1.25}
.project-transfer>header p{margin:0;color:var(--pt-muted);font-size:11px;line-height:1.6}
.project-transfer>header aside{display:grid;gap:5px;border-left:3px solid var(--pt-blue);background:#fff;padding:12px 14px}
.project-transfer>header aside strong{font:760 11px/1.5 "Cascadia Mono",Consolas,monospace}
.project-transfer>header aside span{color:var(--pt-muted);font-size:9px;line-height:1.5}
.project-transfer form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.project-transfer fieldset{margin:0;border:1px solid var(--pt-line);border-radius:7px;background:#fff;padding:12px}
.project-transfer legend{padding:0 5px;color:var(--pt-navy);font-size:10px;font-weight:780}
.project-transfer fieldset label{display:flex;align-items:center;gap:8px;min-height:44px;border-top:1px solid #e2eaf3;color:#405b77;font-size:10px;line-height:1.5;cursor:pointer}
.project-transfer fieldset input{width:16px;height:16px;accent-color:var(--pt-blue)}
.project-transfer__writing{grid-column:1/-1;display:grid;gap:7px}
.project-transfer__writing>span{font-size:10px;font-weight:780}
.project-transfer textarea{min-height:104px;resize:vertical;border:1px solid var(--pt-line);border-radius:7px;background:#fff;padding:12px;color:var(--pt-navy);font:11px/1.65 "Segoe UI Variable Text","Segoe UI","Microsoft YaHei UI",sans-serif}
.project-transfer__writing small{justify-self:end;color:var(--pt-muted);font-size:9px}
.project-transfer__actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}
.project-transfer button{min-height:44px;border:1px solid var(--pt-blue);border-radius:6px;background:var(--pt-blue);padding:0 14px;color:#fff;font:780 10px "Segoe UI Variable Text","Segoe UI","Microsoft YaHei UI",sans-serif;cursor:pointer}
.project-transfer button+button{background:#fff;color:var(--pt-blue)}
.project-transfer button:disabled{border-color:#b7c6d5;background:#dce5ee;color:#6f8092;cursor:not-allowed}
.project-transfer__status{grid-column:1/-1;margin:0;border-top:1px solid var(--pt-line);padding-top:10px;color:#526d88;font-size:10px;line-height:1.55}
.project-transfer textarea:focus-visible,.project-transfer button:focus-visible,.project-transfer input:focus-visible{outline:3px solid rgba(11,97,232,.25);outline-offset:2px}
@media(max-width:1040px){.project-transfer{margin:10px 12px 0}}
@media(max-width:720px){.project-transfer{padding:15px}.project-transfer>header,.project-transfer form{grid-template-columns:1fr}.project-transfer__writing,.project-transfer__actions,.project-transfer__status{grid-column:auto}.project-transfer__actions{display:grid}.project-transfer h2{font-size:19px}.project-transfer fieldset label{min-height:48px}}
@media(prefers-reduced-motion:reduce){.project-transfer *{scroll-behavior:auto!important}}
