
:root{--blue:#2463eb;--ink:#202c42;--muted:#8290a6;--line:#e8edf4;--bg:#f5f7fb;--red:#de5c5c;--green:#139981;--orange:#d68b24}*{box-sizing:border-box}body{margin:0;font:14px/1.55 "Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a,select{cursor:pointer}button{background:white;color:#526077;border:1px solid #dfe5ef;border-radius:7px;padding:8px 14px;transition:.15s}button:hover{border-color:#8cadf5;color:var(--blue);background:#f7faff}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.danger{color:var(--red)}button.link{background:none;border:0;color:var(--blue);padding:3px 0}button:focus-visible,a:focus-visible{outline:3px solid #a5c2ff;outline-offset:2px}input,select,textarea{border:1px solid #dfe5ef;border-radius:6px;padding:8px 10px;background:white;color:var(--ink);max-width:100%}textarea{width:100%;min-height:88px;resize:vertical}input[type=checkbox]{accent-color:var(--blue)}h1,h2,h3,p{margin:0}h1{font-size:25px;letter-spacing:.3px}h2{font-size:16px}h3{font-size:14px}small,.muted{color:var(--muted)}.sub{color:var(--muted);font-size:12px;margin-top:4px}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;background:#fff;border-right:1px solid var(--line);z-index:10;display:flex;flex-direction:column}.brand{padding:26px 25px 22px;display:flex;gap:10px;align-items:center}.logo{display:grid;place-items:center;width:36px;height:36px;background:var(--blue);color:#fff;border-radius:10px;font-weight:900;font-size:23px;letter-spacing:-5px;padding-right:5px}.brand b{font-size:18px;letter-spacing:1px}.brand small{font-size:10px;letter-spacing:2px;display:block}.workspace{margin:0 17px 20px;border:1px solid var(--line);background:#f9fafc;padding:12px;border-radius:8px;display:flex;gap:10px;align-items:center}.workspace .square{background:#fff0e0;color:#e6a354;border-radius:6px;padding:4px 9px}.navgroup{font-size:10px;letter-spacing:1.5px;color:#a3adbd;margin:10px 26px}.nav{padding:0 12px;flex:1;overflow:auto}.nav button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;margin:3px 0;border:0;text-align:left;background:transparent;color:#637087;border-radius:7px}.nav button.active{color:var(--blue);background:#edf3ff;font-weight:600}.nav button:hover{background:#f5f7fb}.icon{display:inline-flex;width:19px;height:19px}.icon svg{width:100%;height:100%}.sidefoot{padding:20px;color:#98a3b5;font-size:11px;border-top:1px solid var(--line)}.top{height:70px;position:sticky;top:0;margin-left:224px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#ffffffef;border-bottom:1px solid var(--line);z-index:9}.top .crumb{color:#99a3b3;font-size:12px}.top .right{display:flex;gap:13px;align-items:center}.avatar{width:32px;height:32px;background:#edf2ff;border-radius:50%;display:grid;place-items:center;color:#3267d5;font-weight:600}.top select{background:#f8fafc;font-size:12px}.badge{display:inline-block;font-size:11px;font-weight:500;padding:3px 9px;border-radius:4px;white-space:nowrap;background:#edf3ff;color:#4978d6}.badge.red{background:#fceeee;color:var(--red)}.badge.green{background:#eaf7f3;color:var(--green)}.badge.orange{background:#fff5e7;color:var(--orange)}.badge.gray{background:#f0f3f7;color:#7d8ba0}main{margin-left:224px;padding:28px 30px 45px;max-width:1900px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:20px}.heading p{color:var(--muted);margin-top:6px;font-size:12px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.scope{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:#6981ac;font-size:12px}.scope i{height:6px;width:6px;border-radius:50%;background:#73a0eb}.banner{border:1px solid #dce7ff;background:#f0f5ff;border-radius:8px;padding:13px 16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;color:#5375aa;font-size:12px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px;position:relative;text-align:left;min-width:0}.stat .num{font-size:30px;font-weight:650;line-height:1.5;letter-spacing:-.7px;color:#24334d}.stat .label{font-size:12px;color:#7d8aa0}.stat .hint{font-size:11px;color:#97a3b5;margin-top:5px}.stat .miniicon{position:absolute;right:18px;top:20px;padding:8px;background:#f2f6ff;color:#6a91e6;border-radius:8px}.stat.red .num{color:#d56860}.stat.green .num{color:#279c88}.grid{display:grid;grid-template-columns:1.75fr 1fr;gap:20px;margin-bottom:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:20px}.panel-head{padding:19px 21px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0f3f7;gap:10px}.panel-body{padding:20px}.filters{display:flex;flex-wrap:wrap;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line);align-items:center}.filters select,.filters input{font-size:12px;min-width:112px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{background:#fafbfd;font-size:11px;color:#8792a5;font-weight:500;padding:13px 18px;border-bottom:1px solid var(--line)}td{font-size:12px;padding:15px 18px;border-bottom:1px solid #f0f3f7;color:#59677e}td b{color:#34435b;font-weight:600}tbody tr:hover{background:#fcfdff}tbody tr:last-child td{border-bottom:0}.footnote{padding:12px 20px;color:#98a4b7;font-size:11px;border-top:1px solid var(--line)}.tabs{display:flex;gap:25px;margin-bottom:20px;border-bottom:1px solid var(--line)}.tabs button{padding:10px 0 13px;border:0;border-radius:0;background:none;font-size:13px;color:#8591a5}.tabs button.active{color:var(--blue);border-bottom:2px solid var(--blue);font-weight:600}.todo{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #f0f3f7}.todo:last-child{border:0}.todo .dot{height:8px;width:8px;flex-shrink:0;background:#e5a659;border-radius:50%}.todo .text{flex:1}.todo p{font-size:12px}.todo small{font-size:10px}.todo button{font-size:11px;padding:5px 9px}.progress{height:5px;background:#eef2f9;border-radius:9px;overflow:hidden;margin:9px 0}.progress span{display:block;height:100%;background:#5285ec;border-radius:9px}.empty{padding:55px;text-align:center;color:#98a4b7}.chart{width:100%;height:205px;display:block}.chart text{fill:#99a5b7;font-size:11px}.legend{display:flex;gap:18px;align-items:center;font-size:11px;color:#8795ac}.legend i{display:inline-block;background:#5488ef;width:7px;height:7px;border-radius:50%;margin-right:6px}.risk-row{padding:14px 0;display:flex;align-items:center;gap:12px;border-bottom:1px solid #f1f4f8}.risk-row .name{flex:1}.risk-row .name b{font-size:12px}.risk-row .name small{display:block;font-size:10px}.project-icon{display:grid;place-items:center;background:#eef4ff;color:#6289cf;border-radius:8px;width:34px;height:34px;font-size:15px;font-weight:600}.split{display:grid;grid-template-columns:230px 1fr;gap:20px}.category{padding:10px 12px;margin:5px 0;display:block;width:100%;text-align:left;border:0;background:transparent;font-size:12px}.category.active{background:#edf3ff;color:var(--blue)}.entry{border:1px solid var(--line);border-radius:8px;margin-bottom:14px;padding:18px}.entry h3{margin-bottom:8px}.entry p{color:#6e7b91;font-size:12px;white-space:pre-wrap;line-height:1.9}.entry .meta{display:flex;gap:10px;align-items:center;margin-top:14px;font-size:10px;color:#96a1b3}.timeline{border-left:2px solid #e7edf7;margin-left:6px;padding-left:22px}.timeline .event{position:relative;margin:0 0 21px}.timeline .event:before{content:'';width:8px;height:8px;border-radius:50%;background:#91ace4;position:absolute;left:-27px;top:7px;border:2px solid white}.timeline p{font-size:12px;white-space:pre-wrap}.timeline small{font-size:10px}.kv{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;padding:18px;background:#f8fafd;border-radius:8px;margin:16px 0}.kv div{font-size:12px}.kv span{display:block;color:#95a0b3;font-size:10px;margin-bottom:4px}.steps{display:flex;gap:8px;padding:16px 0;margin-bottom:10px}.step{flex:1;background:#f1f4f9;color:#8b97ab;padding:10px 6px;text-align:center;border-radius:6px;font-size:11px}.step.done{background:#eaf3ff;color:#4676ca}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:block;font-size:12px;color:#758198;margin-bottom:15px}.field input,.field select,.field textarea{display:block;width:100%;margin-top:7px;color:#35425a}.field.full{grid-column:1/-1}.check{display:flex;gap:8px;align-items:center;font-size:12px;padding:8px 0}.check input{width:auto}.note{font-size:12px;color:#7d8ea7;background:#f5f8fc;border-radius:6px;padding:12px 14px;margin:12px 0;line-height:1.8}.note.warn{background:#fff7eb;color:#bc8a40}.note.good{background:#edf8f4;color:#3c937c}.modal-back{position:fixed;inset:0;background:#1d2e4950;z-index:30;display:flex;justify-content:flex-end}.drawer{background:#fff;width:min(740px,94vw);height:100%;display:flex;flex-direction:column;box-shadow:-10px 0 50px #172e4920}.drawer.wide{width:min(980px,94vw)}.drawer-head{padding:22px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.drawer-body{padding:24px 28px;overflow:auto;flex:1}.drawer-foot{padding:17px 28px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end}.drawer-head button{border:0;font-size:22px;padding:0 6px}.toast{position:fixed;top:86px;left:50%;transform:translateX(-50%);padding:12px 24px;background:#233b5e;color:white;border-radius:8px;box-shadow:0 5px 30px #233b5e22;z-index:100;font-size:13px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.guide-card{border:1px solid var(--line);background:white;border-radius:9px;padding:22px}.guide-card .number{font-size:11px;color:#6692de;letter-spacing:2px;margin-bottom:15px}.guide-card h2{margin-bottom:12px}.guide-card p{font-size:12px;color:#8995a8;line-height:1.9;margin-bottom:18px}.role-chip{display:inline-block;padding:7px 10px;background:#f3f6fb;border-radius:6px;font-size:11px;margin:4px}.inline-err{color:var(--red);font-size:12px}.strong{font-weight:600;color:var(--ink)}.text-red{color:var(--red)}.text-green{color:var(--green)}@media(max-width:1150px){.sidebar{width:190px}.top,main{margin-left:190px}main{padding:22px 20px}.top{padding:0 20px}.grid{grid-template-columns:1.5fr 1fr}.cards{gap:10px}.stat{padding:16px}.stat .num{font-size:26px}.stat .miniicon{display:none}.top .crumb{display:none}}@media(max-width:850px){.sidebar{width:168px}.brand{padding:20px 12px}.brand b{font-size:15px}.top,main{margin-left:168px}.grid,.split{grid-template-columns:1fr}.cards,.guide-grid{grid-template-columns:repeat(2,1fr)}.heading{align-items:flex-start}.top .account{display:none}.top{padding:0 12px}.top .right{gap:6px}}@media print{.sidebar,.top,.drawer-head button,.drawer-foot,main,.toast{display:none!important}.modal-back{position:static;background:white}.drawer{width:100%;height:auto;box-shadow:none}.drawer-body{overflow:visible}.drawer-head{padding:0 0 20px}.note{background:white}}


/* Reference-led blue/white theme. Brand and UI glyphs reuse existing Vanyu assets. */
:root{--blue:#3187ee;--ink:#303f50;--muted:#718ca8;--line:#edf3f9;--bg:#f1f9ff;--red:#d36c70;--green:#24a68b;--orange:#d89d48}
body{font-family:"Microsoft YaHei","PingFang SC","Segoe UI",sans-serif;font-size:14px;line-height:1.65;font-weight:400;background:#f2f9ff;color:var(--ink);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit;font-weight:400}
button{border-color:#dce8f5;border-radius:8px;color:#5c7691;padding:9px 16px;box-shadow:none}
button:hover{border-color:#a5cfff;color:#2781e7;background:#f6fbff}
button.primary{background:#3589ee;border-color:#3589ee;box-shadow:0 3px 8px #3589ee0a}
button.link{color:#4285cc}
input,select,textarea{border-color:#d3e1f0;border-radius:8px;padding:10px 13px;color:#536b83;background:#fff;min-height:40px}
input:focus,select:focus,textarea:focus{outline:2px solid #d5eaff;outline-offset:1px;border-color:#88baf1}
input[type=checkbox],input[type=range]{min-height:0}
h1{font-size:25px;line-height:1.5;font-weight:500;letter-spacing:0}
h2{font-size:17px;font-weight:500;line-height:1.55}h3{font-size:14px;font-weight:500}
.top{margin-left:0;height:72px;padding:0 36px;background:#fffffffa;border-bottom:1px solid #eef4fa;gap:24px;z-index:21}
.top .brand{padding:0;gap:20px;flex-shrink:0}.brand img{display:block;width:108px;height:36px;object-fit:contain}
.brand .brand-divider{width:1px;height:23px;background:#e0eaf4}.brand .product-name{font-size:16px;color:#526780;white-space:nowrap;font-weight:400}
.top .crumb{font-size:12px;color:#7b93ac;flex:1}.top .right{gap:12px;flex-shrink:0}
.top select{background:#fff;border-color:#dfebf7;font-size:13px;padding:6px 10px;min-height:36px}
.avatar{background:#edf5ff;color:#6b9de0;font-size:13px;width:32px;height:32px;font-weight:400}
.top .account{color:#6e87a0}.top .badge{background:#f3f8fd;color:#87a0b8}
.sidebar{position:sticky;inset:auto;top:72px;width:100%;height:60px;display:block;border:0;border-bottom:1px solid #eaf2f9;background:#fffffffa;z-index:20;padding:0 28px}
.nav{display:flex;align-items:center;gap:3px;height:100%;padding:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#d9e8f7 transparent}
.nav button{width:auto;flex-shrink:0;gap:8px;border-radius:22px;padding:8px 14px;margin:0;font-size:13px;color:#687d94;font-weight:400;white-space:nowrap}
.nav button.active{border:1px solid #bedcff;background:#e8f4ff;color:#2885ec;font-weight:400;box-shadow:inset 0 0 0 1px #ffffff55}
.nav button:hover{background:#eff7ff}.nav .icon{width:16px;height:16px}.navgroup,.sidefoot,.workspace{display:none}
main{margin:0;max-width:none;min-height:calc(100vh - 132px);padding:30px 36px 48px;background:radial-gradient(ellipse 58% 360px at 94% 0%,#8cd7ffbf 0%,#c6ecff9e 46%,#ecf8ff00 100%),linear-gradient(180deg,#effaff 0,#eaf7ff 310px,#f3f9fd 670px,#f5f9fd 100%)}
.heading{margin-bottom:12px;align-items:center}.heading p{font-size:13px;color:#728da6;margin-top:7px}.heading .actions button{background:#ffffffee}.heading .actions button.primary{background:#3589ee}
.date-line{font-size:12px;color:#718da7;margin:0 0 9px}.scope{font-size:12px;color:#7692ac;margin:0 0 24px;gap:11px}.scope i{background:#6babea}
.cards{gap:16px;margin-bottom:22px}.home-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
.stat{border:1px solid #ffffffc9;background:#ffffffed;border-radius:12px;padding:21px 20px 18px;min-height:139px;box-shadow:none;overflow:hidden}
.stat:hover{background:#fff;border-color:#fff;box-shadow:0 4px 18px #6ca6db0c}
.stat .label{font-size:13px;color:#718dab;font-weight:400;padding-right:23px;line-height:1.6}.stat .num{font-family:"Segoe UI","Microsoft YaHei",sans-serif;font-size:30px;font-weight:400;line-height:1.55;letter-spacing:-.45px;color:#303f50;font-variant-numeric:tabular-nums;margin-top:3px}.stat .hint{font-size:12px;color:#7c95af;line-height:1.6;margin-top:3px;white-space:normal}.stat.red .num,.stat.green .num{color:#303f50}
.stat .miniicon{display:grid;position:absolute;top:50px;right:19px;padding:0;width:29px;height:31px;place-items:center;--g1:#77bbff;--g2:#3a78ef;color:#fff;background:linear-gradient(135deg,var(--g1),var(--g2));border-radius:9px;transform:rotate(-6deg);box-shadow:inset 1px 2px 2px #ffffff8f,3px 5px 0 color-mix(in srgb,var(--g2) 23%,transparent),0 8px 13px color-mix(in srgb,var(--g2) 20%,transparent)}
.miniicon .icon{width:19px;height:19px}.miniicon svg{stroke-width:1.7!important}
.stat:nth-child(2) .miniicon{--g1:#6be3bf;--g2:#24b48e}.stat:nth-child(3) .miniicon{--g1:#91e5f5;--g2:#39b9d2}.stat:nth-child(4) .miniicon{--g1:#ffd28b;--g2:#eea438}.stat:nth-child(5) .miniicon{--g1:#91bcff;--g2:#477eea}.stat:nth-child(6) .miniicon{--g1:#c0a8ff;--g2:#9670df}
.banner{padding:17px 20px;border:1px solid #ffffffbd;border-radius:12px;background:#ffffffbd;color:#7390ac;font-size:12px;margin-bottom:22px;gap:15px;min-height:66px}.banner button{white-space:nowrap;color:#4f87bf}.banner span{line-height:1.8}
.panel{background:#fff;border:1px solid #fff;border-radius:12px;margin-bottom:22px;box-shadow:0 4px 20px #6e98b903}
.panel-head{padding:23px 24px;border-bottom:1px solid #f0f5fa;min-height:77px}.panel-head h2{color:#384b5e}.panel-body{padding:24px}
.grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:22px;margin-bottom:0}.grid>.panel{min-width:0}
.chart{height:240px;margin-top:8px}.chart text{fill:#8ba2b8;font-family:inherit;font-weight:400}
.legend{font-size:12px;color:#8ba1b7}.sub{font-size:12px;color:#829ab2;line-height:1.7}
.todo{padding:18px 0;gap:13px}.todo p{font-size:13px;color:#536a80}.todo small{font-size:11px;color:#8ca1b7}.todo button{font-size:12px;padding:5px 11px}.todo .dot{width:6px;height:6px}
.risk-row{padding:16px 0}.risk-row .name b{font-size:13px;font-weight:400;color:#536c84}.risk-row .name small{font-size:11px}.project-icon{border-radius:10px;background:#f0f7ff;color:#78a0cc;font-weight:400}
table{font-size:13px}th{font-size:12px;padding:15px 21px;background:#f7fbff;color:#7792ab;font-weight:400}td{font-size:13px;padding:17px 21px;color:#5a7188;border-color:#f1f5f9}td b{font-weight:500;color:#354c63}.table-wrap{scrollbar-width:thin}
.footnote{font-size:12px;color:#8ba1b6;padding:15px 22px;border-color:#f0f5fa}
.filters{background:#fcfeff;padding:18px 22px;border-color:#edf4fa;gap:12px}.filters select,.filters input{font-size:13px}
.tabs{gap:28px;margin-top:6px;margin-bottom:22px;border-color:#dcecf7}.tabs button{font-size:14px;color:#7690a7;padding:10px 0 14px;font-weight:400}.tabs button.active{font-weight:500;border-color:#4593ee;color:#3c8be5}
.badge{font-size:11px;padding:3px 9px;border-radius:5px;background:#edf6ff;color:#5f94c8}.badge.orange{color:#bb8b43;background:#fff8ed}.badge.red{color:#cb7a7d;background:#fff2f2}.badge.green{color:#52a48c;background:#eef9f5}.badge.gray{color:#8a9db0;background:#f2f6fa}
.note{background:#f6fbff;border-radius:9px;color:#7b94ab;padding:15px 18px;font-size:12px;line-height:1.9}.note.warn{background:#fff9ef;color:#b8945f}.note.good{background:#f0faf6;color:#629b88}
.drawer{box-shadow:-12px 0 50px #32628b1c}.modal-back{background:#314e6c35}.drawer-head{padding:22px 28px;border-color:#edf3f9}.drawer-body{background:#fff;padding:26px 28px}.drawer-foot{border-color:#edf3f9;background:#fcfeff;padding:18px 28px}.drawer-head h2{font-weight:500}.drawer-head button{color:#7c93a9}
.kv{background:#f5faff;padding:20px;border-radius:10px;gap:18px}.kv span{font-size:12px;color:#8ba0b5}.kv div{font-size:13px;color:#536f86}
.field{font-size:13px;color:#738aa0}.field input,.field textarea,.field select{font-size:13px;color:#526b83}.check{font-size:13px;color:#728aa1}
.step{border-radius:8px;background:#f3f7fb;color:#93a6b8;padding:12px 6px}.step.done{background:#eaf5ff;color:#5c98cf}
.entry{border-color:#e7f0f8;border-radius:10px;padding:20px;margin-bottom:16px}.entry p{font-size:13px;line-height:1.95;color:#698198}.entry .meta{font-size:11px}.category{padding:12px 14px;font-size:13px;border-radius:7px;color:#728aa2}.category.active{background:#eaf5ff;color:#4287ca}.split{grid-template-columns:235px minmax(0,1fr);gap:22px}
.guide-card{border-color:#fff;border-radius:12px;padding:26px;background:#fffffff0}.guide-card h2{font-weight:500}.guide-card p{font-size:13px;color:#829bb2}.guide-card .number{color:#83add7}.timeline p{font-size:13px;color:#657d94}.timeline small{font-size:11px;color:#8ea2b6}
.toast{background:#3c668a;box-shadow:0 5px 25px #3c668a14;border-radius:9px;top:146px}
@media(min-width:1800px){main{padding:34px 52px 55px}.top{padding:0 48px}.sidebar{padding:0 38px}.stat{min-height:154px;padding:24px}.stat .label{font-size:14px}.stat .hint{font-size:13px}.stat .miniicon{right:24px;top:57px}.heading{margin-bottom:14px}.heading h1{font-size:26px}.panel-head{padding:24px 27px}.panel-body{padding:27px}.chart{height:280px}}
@media(max-width:1250px){.top{padding:0 24px}.top .crumb{display:none}.top .right{margin-left:auto}.sidebar{padding:0 16px}.nav button{padding:8px 11px;font-size:12px;gap:6px}main{padding:26px 24px 40px}.home-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{min-height:129px}.grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.brand .product-name{font-size:14px}.stat .miniicon{display:grid}}
@media(max-width:850px){.top{height:64px;padding:0 16px;gap:10px}.brand img{width:86px;height:30px}.brand .brand-divider,.brand .product-name{display:none}.top .right{gap:7px}.top .account{display:none}.top .badge{display:none}.sidebar{top:64px;height:55px;padding:0 8px}.nav button{padding:8px 11px}main{margin:0;padding:22px 16px 35px;min-height:calc(100vh - 119px)}.heading{align-items:flex-start}.heading .actions{gap:6px}.heading .actions button{font-size:12px;padding:8px 10px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:17px 15px}.stat .label{font-size:12px}.stat .hint{font-size:11px}.stat .miniicon{right:14px;width:25px;height:27px}.grid,.split{grid-template-columns:1fr}.scope{flex-wrap:wrap;gap:6px}.panel-head,.panel-body{padding:19px}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart{height:230px}}
@media(max-width:550px){.home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.top #guideBtn{display:none}.heading{flex-direction:column;gap:12px}.heading h1{font-size:22px}.guide-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.banner{align-items:flex-start}.banner span{max-width:75%}.drawer-body{padding:18px}.drawer-head,.drawer-foot{padding:18px}.stat .num{font-size:27px}}
@media print{.sidebar,.top{display:none!important}main{margin:0;padding:0;background:#fff}.drawer-body{background:#fff}}
/* Selected navigation revision: grouped left rail. */
.top{height:72px;position:sticky;top:0;padding:0 28px;z-index:25}.top .crumb{display:block}
.sidebar{position:fixed;inset:72px auto 0 0;width:210px;height:auto;padding:16px 12px 12px;background:#fcfeff;border-right:1px solid #e7f0f8;border-bottom:0;display:flex;flex-direction:column;z-index:24}
.nav{display:block;flex:1;min-height:0;height:auto;overflow-y:auto;overflow-x:hidden;padding:0;scrollbar-width:thin}
.navgroup{display:block;font-size:11px;color:#9aadc0;letter-spacing:1px;margin:19px 16px 9px;font-weight:400}
.navgroup:first-child{margin-top:7px}
.nav button{display:flex;width:100%;height:43px;border:1px solid transparent;border-radius:8px;padding:10px 15px;margin:3px 0;gap:11px;font-size:13px;font-weight:400;color:#6c839b;text-align:left}
.nav button.active{background:#eaf5ff;border-color:#d8ebfd;color:#348bdf;border-radius:8px;box-shadow:none;font-weight:500}
.nav .icon{width:17px;height:17px;flex-shrink:0}.nav-label{white-space:nowrap}
.sidebar-summary{border-top:1px solid #edf3f9;margin-top:14px;padding:15px 13px 2px;color:#91a6ba;font-size:11px;line-height:1.9}
.sidebar-summary button{font-size:11px;padding:5px 0;border:0;background:transparent;color:#84a0bb;display:block;margin-top:7px}
main{margin-left:210px;min-height:calc(100vh - 72px);padding:30px 32px 48px}
.nav-toggle{display:none}
.nav-collapsed .sidebar{width:74px;padding:15px 10px}.nav-collapsed main{margin-left:74px}.nav-collapsed .navgroup,.nav-collapsed .nav-label,.nav-collapsed .sidebar-summary .sidebar-meta{display:none}.nav-collapsed .nav button{justify-content:center;padding:10px;margin-bottom:6px}.nav-collapsed .sidebar-summary{padding:12px 0 0;text-align:center}.nav-collapsed .sidebar-summary button{font-size:11px;text-align:center;width:100%}
@media(min-width:1800px){main{padding:32px 44px 52px}}
@media(max-width:1500px){.home-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px){.sidebar{width:190px}.top .crumb{display:none}main{margin-left:190px;padding:26px 22px 40px}.grid{grid-template-columns:1fr}.top .brand{gap:12px}.brand .product-name{font-size:14px}.top .right{margin-left:auto}.stat .hint{font-size:11px}}
@media(max-width:850px){.top{height:64px;padding:0 16px}.sidebar{top:64px;width:178px;padding:12px 9px}.nav button{font-size:12px;padding:10px 12px;gap:9px}.navgroup{margin:18px 13px 8px}main{margin-left:178px;padding:22px 18px 35px;min-height:calc(100vh - 64px)}.brand .brand-divider,.brand .product-name{display:none}.home-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.heading{flex-direction:column;align-items:flex-start}.heading .actions{align-self:flex-end}.sidebar-summary{padding:13px 9px 0}.top .account{display:none}}
@media(max-width:650px){.sidebar{transform:translateX(-100%);transition:transform .18s;width:210px;box-shadow:10px 0 25px #37618c15}.nav-open .sidebar{transform:none}main,.nav-collapsed main{margin-left:0}.nav-toggle{display:block;padding:6px 10px;min-height:34px;font-size:12px}.top .right{gap:6px}.top .brand{gap:0}.top .brand img{width:76px}.top{gap:9px}.nav-collapsed .sidebar{width:210px}.nav-collapsed .navgroup,.nav-collapsed .nav-label,.nav-collapsed .sidebar-summary .sidebar-meta{display:block}.nav-collapsed .nav button{justify-content:flex-start;padding:10px 12px}.sidebar-summary button{display:none}.top #guideBtn{display:none}.top select{max-width:118px;font-size:12px}}
@media print{main{margin:0!important}.sidebar,.top{display:none!important}}


.h-scroll{overflow-x:auto}.h-tree{min-width:1040px}.h-row{display:grid;grid-template-columns:minmax(350px,2.8fr) .65fr .85fr .65fr .65fr .65fr 1.35fr;align-items:center;gap:12px;padding:17px 22px;border-bottom:1px solid #edf3f9;font-size:13px;color:#4f667e}.h-row>span{font-variant-numeric:tabular-nums}.h-head{background:#f7fbff;color:#8197ac;font-size:12px;padding-top:13px;padding-bottom:13px}.h-label{padding-left:calc(var(--depth)*18px);min-width:0}.h-expand{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;text-align:left;color:#425e79;cursor:pointer;width:100%}.h-expand:hover{color:#288de5;background:transparent}.h-expand strong{font-weight:500;font-size:14px}.h-chevron{font-size:23px;width:16px;color:#80a3c2}.h-label small{display:block;font-size:11px;color:#91a6ba;font-weight:400;margin-top:5px}.h-person{font-size:11px;line-height:1.8;color:#8b9eb1;margin:7px 0 0 26px}.h-person .link{font-size:11px}.h-depth-0{border-bottom:4px solid #f5faff}.h-depth-1>.h-row{background:#f8fbff}.h-depth-2>.h-row{background:#fcfdff}.h-depth-1 .h-expand strong,.h-depth-2 .h-expand strong{font-size:13px}.h-store .h-label{display:flex;gap:9px;align-items:center}.h-kind{font-size:10px;padding:3px 5px;border:1px solid #dce8f2;border-radius:4px;color:#94aabd}.h-store-bad{background:#fffaf7}.h-store-bad .h-label small,.h-alert{color:#dc795b!important}.h-status{display:flex;gap:5px;flex-wrap:wrap}.h-badge{display:inline-block;font-size:11px;border-radius:5px;padding:4px 7px;white-space:nowrap}.h-bad{background:#fff0e9;color:#d87956}.h-good{background:#edf8f4;color:#68a48e}.h-missing{background:#f0f3f7;color:#91a0b0}.h-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;font-size:12px;color:#8a9fb4}.h-toolbar>div{display:flex;gap:8px}.h-toolbar button{font-size:12px}.h-hint{padding:10px 22px;background:#fffbf3;color:#ad8c5b;font-size:12px}.h-empty{padding:45px;text-align:center;color:#91a6ba}.h-expand:focus-visible{outline:2px solid #5aa5ed;outline-offset:5px}@media(max-width:1000px){.h-toolbar{align-items:flex-start;flex-direction:column}}

.h-normal-toggle{padding:11px 22px 11px 102px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #edf3f9}.h-normal-toggle button{border:0;background:#f1f8f5;color:#6e9d8a;font-size:12px;padding:6px 10px}.h-normal-toggle span{font-size:11px;color:#9eafbc}

.h-status-button{border:1px solid transparent;cursor:pointer;min-height:30px;font-family:inherit}.h-status-button:hover{filter:brightness(.96);border-color:currentColor}.h-status-button[aria-pressed="true"]{border-color:currentColor;box-shadow:0 0 0 2px #8aabc112}.h-status-button:focus-visible{outline:2px solid #419be7;outline-offset:3px}.h-selection-note{padding:10px 24px;background:#f2f8ff;color:#8096ac;font-size:12px}.h-selection-note button{border:0;background:transparent;color:#388fdc;font-size:12px;padding:3px 12px}

.modal-back:has(.h-popover){display:flex;align-items:center;justify-content:center;background:rgba(32,57,82,.17);backdrop-filter:blur(2px)}.drawer.h-popover{position:relative;inset:auto;width:520px;max-width:calc(100vw - 36px);height:auto;max-height:78vh;border:1px solid #e5eef7;border-radius:16px;box-shadow:0 18px 70px #294d792b;overflow:hidden;display:flex;flex-direction:column;animation:none}.h-popover .drawer-head{padding:20px 24px;border-bottom:1px solid #edf2f7}.h-popover .drawer-head h2{font-size:17px}.h-popover .drawer-body{padding:0 24px 24px;overflow-y:auto;min-height:0}.h-pop-summary{display:flex;justify-content:space-between;gap:12px;padding:17px 0;color:#879cb0;font-size:12px}.h-pop-summary span:last-child{color:#9aabba}.h-pop-list{display:grid;gap:12px}.h-pop-store{border:1px solid #e7eef6;border-radius:10px;padding:16px;background:#fcfdff}.h-pop-store-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.h-pop-store-head strong{font-size:14px;font-weight:500;color:#45617a}.h-pop-path{font-size:11px;color:#94a7b9;margin-top:6px}.h-pop-issues{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.h-pop-issues>div{background:#fff5ef;border:1px solid #ffebdd;border-radius:8px;padding:12px;display:grid;gap:6px}.h-pop-issues span{font-size:12px;color:#aa8873}.h-pop-issues strong{font-size:20px;font-weight:500;color:#d57a52}.h-pop-issues small{font-size:11px;color:#b39b8b}.h-pop-missing{font-size:12px;color:#91a2b2;line-height:1.8;margin:12px 0 0}


.scope-table{min-width:840px}.scope-row{display:grid;grid-template-columns:2fr .65fr 1.6fr 1.7fr;align-items:center;gap:22px;padding:22px;border-bottom:1px solid #edf3f9;font-size:13px;color:#536d86}.scope-head{background:#f7fbff;color:#8a9fb3;font-size:12px;padding:15px 22px}.scope-total{font-size:19px;font-weight:400}.scope-range small{display:block;color:#9bafc0;font-size:11px;margin-top:8px}.scope-account{background:#eaf3ff;color:#578bb9}.scope-shop{background:#eaf7f2;color:#5b9e84}.scope-coverage{font-size:11px;color:#95a7b7;line-height:1.9;margin-top:10px}.scope-ok{font-size:12px;color:#6ca58b;margin:12px 0 0}.scope-disclaimer{font-size:11px;color:#a2afbc;line-height:1.8;margin-top:15px}.scope-projects{background:#f8fbff;padding:16px 30px 18px 48px;display:grid;gap:12px}.scope-projects section{border-left:2px solid #d9eafa;padding:5px 18px}.scope-projects strong{font-size:13px;font-weight:500;color:#57718b}.scope-platform{margin-top:11px;font-size:12px;color:#718ba3}.scope-platform small{display:block;margin-top:6px;font-size:11px;color:#9aafc1}

.drawer.shop-popover{width:620px}.shop-picker{display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:12px;color:#8298ac}.shop-picker select{flex:1;min-width:0}.shop-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.shop-metric{display:grid;gap:7px;background:#f3f7fb;border:1px solid #e9f0f6;padding:12px;border-radius:8px}.shop-metric>span{font-size:11px;color:#869bae}.shop-metric>strong{font-size:19px;font-weight:400;color:#4f687f}.shop-metric>small{font-size:10px;color:#9eafbe}.shop-metric-bad{background:#fff3f2;border-color:#f9d9d5}.shop-metric-bad>strong{color:#d64242;font-weight:750}.shop-metric-bad>span{color:#b97474}@media(max-width:500px){.shop-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.drawer.shop-popover{width:1120px}.shop-table-scroll{overflow:auto;border:1px solid #e7eef6;border-radius:9px}.shop-detail-table{width:100%;min-width:860px;border-collapse:collapse;font-size:13px;text-align:left}.shop-detail-table th{background:#f4f8fc;color:#8196aa;font-size:12px;font-weight:400;padding:14px 12px;white-space:nowrap}.shop-detail-table td{padding:18px 12px;border-bottom:1px solid #edf2f7;color:#536d85;vertical-align:middle}.shop-detail-table tr:last-child td{border-bottom:0}.shop-detail-table td strong{font-size:14px;font-weight:400;white-space:nowrap}.shop-detail-table td small{display:block;font-size:10px;color:#9aabba;margin-top:5px}.shop-detail-table .shop-name{min-width:160px}.shop-detail-table td.shop-metric-bad{background:#fff7f6}.shop-detail-table td.shop-metric-bad strong{color:#d64242;font-weight:750}.shop-detail-table tbody tr:hover{background:#fafcff}.shop-detail-table .shop-na{color:#a4b4c2}

.scope-range-link{border:0;background:transparent;text-align:left;padding:6px 0;color:#4388c5;font:inherit;cursor:pointer}.scope-range-link:hover{background:transparent;color:#2179c5}.scope-range-link:focus-visible{outline:2px solid #64a8e5;outline-offset:4px;border-radius:4px}.drawer.service-scope-popover{width:960px}.service-scope-table{min-width:660px}

.scope-row{grid-template-columns:1.85fr .65fr 1.55fr 1.45fr .8fr;gap:18px}.scope-table{min-width:1000px}.shop-ratio{font-size:16px;color:#6b8a9f;font-variant-numeric:tabular-nums}.shop-ratio.has-abnormal{color:#d27e59;font-weight:500}.shop-ratio small{display:block;font-size:10px;font-weight:400;color:#9aabba;margin-top:5px}

.supervision-cards{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1200px){.supervision-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.supervision-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

.reception-link{border:0;background:transparent;color:#398bd4;text-align:left;padding:6px 0;width:max-content;cursor:pointer}.reception-link:hover{text-decoration:underline;background:transparent}.drawer.reception-popover{width:850px}.reception-filters{display:flex;gap:12px;margin-bottom:16px}.reception-filters select{min-width:160px}.reception-tabs{display:flex;gap:8px;margin-bottom:16px}.reception-tabs button{font-size:12px;border:1px solid #e4edf6;background:#fff;color:#8096ab;border-radius:7px;padding:8px 14px}.reception-tabs button[aria-selected=true]{background:#ebf5ff;color:#3187d3;border-color:#cee5fb}.reception-table{min-width:560px}.reception-table tfoot td{background:#f6faff;font-weight:600}.reception-table td:last-child,.reception-table th:last-child{text-align:right}
.panel-head .report-copy{color:#fff!important;font-size:13px;font-weight:500}
.drawer.project-report-popover{width:800px}.project-report-popover .drawer-body{padding-top:20px}.project-report-popover .drawer-foot .report-copy{color:white!important}
.score-trend{margin:20px;padding:22px;border:1px solid #e6eef7;border-radius:12px;background:#fcfdff}.score-trend-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.score-trend h3{font-size:14px;font-weight:500;color:#506d86;margin:0 0 8px}.score-trend svg{display:block;width:100%;margin-top:15px}.score-trend select{font-size:12px}.score-trend>.sub{font-size:11px}

.ticket-status-filters{display:flex;flex-wrap:wrap;gap:10px;padding:20px 24px 0}
.ticket-status-filters button{display:inline-flex;align-items:center;gap:9px;padding:9px 16px;border:1px solid #dce8f6;border-radius:7px;background:#fff;color:#7086a0;cursor:pointer}
.ticket-status-filters button span{font-size:12px;min-width:20px;padding:1px 5px;border-radius:5px;background:#f0f5fa}
.ticket-status-filters button:hover{border-color:#91c4ff;color:#3489f4}
.ticket-status-filters button[aria-pressed="true"]{background:#edf6ff;border-color:#90c4ff;color:#2685f4}
.ticket-status-filters button[aria-pressed="true"] span{background:#dcecff}

.stat.handover-overdue .num{color:#e34d59!important}
.employee-quality-table .quality-alert{color:#e34d59!important;font-weight:600}.quality-focus{display:inline-block;color:#d93c4b!important;background:#fff0f0;border:1px solid #ffd8dc;border-radius:6px;padding:5px 10px;font-weight:600}.employee-quality-table table{min-width:1150px}.employee-quality-table .sub{max-width:180px}
.project-health-table .health-attention{color:#e34d59!important;font-weight:600}
.template-layout{grid-template-columns:275px minmax(0,1fr);align-items:start;gap:22px}.template-layout>.panel{min-width:0}.template-layout .panel-head{padding:22px 24px;gap:16px;min-height:84px}.template-layout .panel-head h2{font-size:18px;line-height:1.5;margin:0}.template-layout>.panel:first-child .panel-head{padding:22px 20px}.template-layout>.panel:first-child .panel-head h2{white-space:nowrap}.template-layout>.panel:first-child .panel-head button{padding:8px 12px;white-space:nowrap;font-size:13px}.template-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.template-actions button{white-space:nowrap;padding:10px 16px;font-size:13px}.template-layout .category{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;line-height:1.6;padding:12px;font-size:13px}.template-layout .category span{float:none!important;flex-shrink:0;font-size:12px}.template-layout table{table-layout:fixed;width:100%}.template-layout th:first-child,.template-layout td:first-child{width:35%}.template-layout td{padding:20px 24px;white-space:normal;overflow-wrap:anywhere}.template-layout th{padding:15px 24px}.template-layout td .muted{color:#a7b6c6;font-size:13px}.template-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.template-edit-grid .field{display:flex;flex-direction:column;gap:9px;margin:0;min-width:0;color:#4e6681}.template-edit-grid textarea{width:100%;min-height:120px;resize:vertical;line-height:1.7;background:#fbfdff;padding:12px;border-radius:8px}.template-edit-grid textarea:focus,.template-create-form textarea:focus{background:#fff;border-color:#3189ed;outline:2px solid #e4f0ff}.template-create-form{display:grid;gap:20px}.template-create-form .field{margin:0;display:grid;gap:10px}.template-create-form textarea{min-height:160px;line-height:1.8}@media(max-width:1050px){.template-layout{grid-template-columns:245px minmax(0,1fr)}.template-layout>.panel:last-child .panel-head{flex-wrap:wrap}}@media(max-width:700px){.template-layout{grid-template-columns:1fr}.template-edit-grid{grid-template-columns:1fr}.template-layout td,.template-layout th{padding:15px}.template-layout .panel-head{flex-wrap:wrap}}
.template-export-block{display:flex;flex-direction:column;align-items:center;gap:7px}.template-export-block>span{font-size:12px;color:#8095ad;max-width:240px;overflow-wrap:anywhere}.template-actions:has(.template-export-block){align-items:flex-start}
.template-editor{border:1px solid #dfe9f5;border-radius:12px;background:#fff;overflow:hidden;min-width:0}.template-editor>label{display:block;padding:14px 16px 8px;color:#3e5875;font-size:14px;font-weight:500}.template-edit-grid .template-editor textarea{border:0!important;outline:none!important;background:#fff;box-shadow:none;min-height:125px;padding:8px 16px 14px;border-radius:0;margin:0;display:block;resize:vertical}.template-editor:focus-within{border-color:#4094f7;box-shadow:0 0 0 3px #eaf3ff}.template-editor-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid #edf3f9;background:#fafcff}.template-upload{cursor:pointer;color:#3689e5;font-size:12px;position:relative}.template-upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.template-editor-tools>span{color:#9aacc0;font-size:11px}.template-image-preview,.template-images{display:flex;gap:10px;flex-wrap:wrap}.template-image-preview:not(:empty){padding:12px 14px}.template-image-preview>div{position:relative}.template-image-preview img,.template-images img{width:100px;height:80px;object-fit:contain;border:1px solid #e3ebf4;border-radius:6px;background:#f7faff}.template-image-preview button{position:absolute;right:-5px;top:-5px;width:22px;height:22px;border-radius:50%;padding:0;background:#fff;color:#d85454}.template-images{margin-top:10px}
.template-audit{margin:8px 12px;border-left:2px solid #e2edfa;padding-left:25px}.template-audit article{position:relative;padding:0 0 28px}.template-audit article:before{content:"";position:absolute;left:-32px;top:5px;width:12px;height:12px;border-radius:50%;background:#398afa;border:3px solid #edf5ff}.template-audit time{color:#8195ad;font-size:12px}.template-audit h3{font-size:14px;color:#38516e;margin:8px 0}.template-audit small{color:#91a2b6;font-weight:normal;margin-left:8px}.template-audit ul{padding-left:18px;margin:8px 0;line-height:1.9;color:#647d98;font-size:13px}
.platform-picker{position:relative;min-width:180px;max-width:100%;font-size:13px}.platform-picker details{position:relative}.platform-picker summary{list-style:none;display:flex;align-items:center;gap:9px;min-height:44px;border:1px solid #cfe0f6;border-radius:8px;padding:9px 12px;background:#fff;color:#526b83;cursor:pointer}.platform-picker summary::-webkit-details-marker{display:none}.platform-picker summary>b{margin-left:auto;font-weight:normal}.platform-picker details[open]>summary{border-color:#398df1;box-shadow:0 0 0 3px #eaf3ff}.platform-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:100;min-width:100%;width:250px;max-height:310px;overflow-y:auto;background:white;border:1px solid #dce7f4;border-radius:10px;box-shadow:0 10px 30px #25486722;padding:6px}.platform-menu button{display:flex;align-items:center;gap:10px;width:100%;border:0;text-align:left;padding:9px 10px;background:white;border-radius:6px;font-size:13px}.platform-menu button:hover,.platform-menu button:focus-visible{background:#edf5ff}.platform-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;background:var(--platform-color,#8b9bb0);color:#fff;border-radius:5px;font-size:10px;font-weight:600;overflow:hidden}.platform-icon img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:white}.platform-picker .platform-other{margin-top:8px;width:100%;min-height:40px}.platform-picker .platform-other[hidden]{display:none!important}.field:has(>.platform-picker){display:block}.field>.platform-picker{margin-top:8px}.reception-filters .platform-picker{min-width:200px}
.platform-name{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;vertical-align:middle}.platform-name .platform-icon{width:22px;height:22px}
.rule-steps{display:flex;gap:24px;padding:12px 0 24px;font-size:13px;color:#96a6ba}.rule-steps b{color:#3189ed}.rule-source{border:1px dashed #a9c9ee;border-radius:12px;background:#f7fbff;text-align:center;padding:24px;outline-color:#3189ed}.rule-source p{font-size:12px;color:#8ba0b8}.rule-upload{display:inline-block;position:relative;background:#fff;border:1px solid #cfe0f6;border-radius:8px;padding:9px 20px;color:#3987df;cursor:pointer}.rule-upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.rule-service-note{padding:12px 15px;margin:16px 0;background:#fff8eb;color:#96723b;border-radius:8px;font-size:12px;line-height:1.8}#rule-source-text{min-height:160px}#rule-source-previews{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}#rule-source-previews>div{position:relative}#rule-source-previews img{width:100px;height:90px;object-fit:contain;background:white;border:1px solid #e2eaf4;border-radius:6px}#rule-source-previews button{position:absolute;right:-6px;top:-6px;padding:0;width:22px;height:22px;border-radius:50%}.rule-review{padding:20px;border:1px solid #e3ebf5;border-radius:12px;margin-bottom:16px}.rule-review textarea{min-height:95px}.rule-check,.rule-confirm{display:flex;gap:8px;align-items:center;font-size:13px;margin-bottom:14px}.rule-review input[type=checkbox],.rule-confirm input{width:16px;height:16px;min-height:0}.rule-review [id^=rule-conflict]{padding:12px;background:#f7f9fc;border-radius:8px;margin-bottom:15px;font-size:12px}.rule-review [id^=rule-conflict] p{white-space:pre-wrap;line-height:1.7}.rule-review h3{font-size:14px}
.library-project-bar{display:flex;align-items:center;gap:14px;margin:22px 0;font-size:13px;color:#7a91aa}.library-project-picker{position:relative;min-width:280px;max-width:70%}.library-project-picker summary{display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;list-style:none;background:#fff;border:1px solid #cfe0f6;padding:13px 16px;border-radius:9px;color:#385977}.library-project-picker summary::-webkit-details-marker{display:none}.library-project-picker summary strong{font-weight:500;overflow-wrap:anywhere}.library-project-menu{position:absolute;z-index:100;top:calc(100% + 7px);left:0;width:100%;min-width:280px;background:#fff;border:1px solid #dce7f4;border-radius:10px;padding:10px;box-shadow:0 10px 28px #24496e22}.library-project-menu input{width:100%;font-size:13px;margin-bottom:8px}.library-project-options{max-height:300px;overflow-y:auto}.library-project-options button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:0;text-align:left;background:#fff;padding:12px;border-radius:6px;overflow-wrap:anywhere}.library-project-options button:hover,.library-project-options button.active{background:#edf5ff;color:#3288ec}.library-project-options button[hidden],.library-project-empty[hidden]{display:none}.library-project-empty{padding:24px;text-align:center;color:#98a9bc}.library-project-bar small{white-space:nowrap}@media(max-width:600px){.library-project-bar{flex-wrap:wrap}.library-project-picker{min-width:220px;max-width:100%;flex:1}}
.project-quick-label{display:flex;align-items:center;gap:10px;color:#587694;font-size:13px;margin:0 0 10px}.project-quick-label small{font-size:11px;color:#95a7bb}.project-quick-picks{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.project-quick-picks button{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid #dce8f6;border-radius:9px;background:#fff;font-size:13px}.project-quick-picks button.active{border-color:#398cf1;background:#edf5ff;color:#2681ed}.project-quick-picks small{font-size:11px;color:#8299b1;white-space:nowrap}.project-rank{display:inline-grid;place-items:center;width:20px;height:20px;background:#f0f5fa;border-radius:5px;font-size:11px;color:#7c94b0}.project-quick-picks button:first-child .project-rank{background:#fff1db;color:#ca8b28}.library-project-options button small{white-space:nowrap;color:#91a5bc;font-size:11px}
.library-store-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;margin:4px;background:#f5f9fd;border:1px solid #e7eef6;border-radius:8px;font-size:12px;color:#54718f}.library-store-chip small{font-size:11px;color:#299b7a;background:#eaf8f2;border-radius:4px;padding:2px 5px}.library-store-chip.offline{background:#f7f8fa;color:#96a2b0}.library-store-chip.offline small{background:#edf0f4;color:#98a3b2}.library-store-chip .platform-icon{width:20px;height:20px}
.project-compact-toolbar{display:flex;align-items:center;gap:14px;margin:14px 0 18px;min-width:0}.project-compact-toolbar .library-project-bar{margin:0;flex:0 0 200px;gap:0}.project-compact-toolbar .library-project-picker{min-width:0;max-width:none;width:200px;flex:none}.project-compact-toolbar .library-project-picker summary{padding:9px 12px;min-height:38px;font-size:13px;border-radius:7px}.project-compact-toolbar .project-quick-picks{flex:1;min-width:0;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin:0;padding:2px 0;scrollbar-width:thin}.project-compact-toolbar .project-quick-picks button{flex-shrink:0;padding:8px 10px;gap:7px;min-height:38px;font-size:12px;border-radius:7px}.project-compact-toolbar .project-rank{width:17px;height:17px;font-size:10px}.project-compact-toolbar .project-quick-picks small{font-size:11px}.project-compact-toolbar .library-project-menu{min-width:280px}@media(max-width:650px){.project-compact-toolbar{flex-wrap:wrap;gap:8px}.project-compact-toolbar .project-quick-picks{flex-basis:100%}.project-compact-toolbar .library-project-bar{flex-basis:100%}.project-compact-toolbar .library-project-picker{width:100%}}
.published-template-list{padding:20px 24px;display:grid;gap:14px}.published-template-entry{border:1px solid #e6eef7;border-radius:10px;padding:18px 20px}.published-template-entry h3{font-size:14px;color:#3e607f;margin:0 0 12px;font-weight:500}.published-template-entry p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9;margin:0;color:#6b829c}
.template-layout .library-category-head{display:flex;flex-direction:column;align-items:stretch;gap:13px!important}.library-category-actions{display:flex;gap:8px;flex-wrap:wrap}.template-layout .library-category-actions button{padding:8px 10px!important;font-size:12px!important;flex:1;white-space:nowrap}
.setup-steps{display:flex;gap:20px;flex-wrap:wrap;padding:20px 0 24px;color:#9aadc1;font-size:13px}.setup-steps>span{display:flex;align-items:center;gap:8px}.setup-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf3f9}.setup-steps .active{color:#2787ef}.setup-steps .active b{color:white;background:#328cf3}.setup-steps .done{color:#38a48a}.setup-panel{padding:28px;max-width:1000px}.setup-panel h2{font-size:20px;margin:0 0 20px}.setup-panel p{color:#849ab3;font-size:13px;margin-bottom:24px}.setup-store{padding:16px 0;border-bottom:1px solid #eaf1f8;margin-bottom:15px}.setup-store h3{display:flex;gap:9px;align-items:center;font-size:14px;margin:0 0 15px}.setup-complete{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#7e95ac;font-size:12px;margin-bottom:12px}.setup-complete .link{font-size:12px}
.library-entry-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:24px}.library-entry-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;padding:26px;border:1px solid #dce9f8;border-radius:12px;background:white}.library-entry-card strong{font-size:18px;font-weight:500;color:#347fc4}.library-entry-card span{font-size:13px;color:#8a9db3;line-height:1.7}.library-entry-card:hover{border-color:#4195f5;background:#fafdff}.library-entry-card[hidden]{display:none}.library-draft-row{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid #edf3fa}
#second-team-field[hidden],#add-second-team[hidden]{display:none!important}
.setup-back{margin-left:12px!important}
.overview-heading select{min-width:140px}.overview-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:22px}.overview-stats .stat{min-width:0;padding:20px 18px;min-height:145px;text-align:left}.overview-stats .stat .num{font-size:32px;margin-top:12px}.overview-stats .stat.red .num{color:#dd635c}.overview-stats .stat .label{font-size:13px}.overview-stats .stat .hint{font-size:11px;line-height:1.5;max-width:100%;margin-top:10px}.overview-stats .miniicon{display:none}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.overview-grid>.panel{min-width:0}.overview-panel-note{padding:12px 22px;font-size:11px;color:#94a6b9;line-height:1.7}.overview-rank-head{display:flex;justify-content:space-between;padding:0 24px 9px;font-size:11px;color:#9bacc0}.overview-rank-row{display:flex;align-items:center;gap:14px;width:100%;padding:15px 22px;border:0;border-top:1px solid #f0f4f9;background:white;border-radius:0;text-align:left;font-size:13px}.overview-rank-row:hover,.overview-person-row:hover{background:#f8fbff}.overview-place{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#f0f5fb;color:#90a3b8;flex-shrink:0}.overview-place.top{background:#eaf3ff;color:#3d8deb}.overview-rank-name{flex:1;min-width:80px}.overview-bar{display:block;height:5px;border-radius:6px;background:#f0f5fb;margin-top:10px;overflow:hidden;max-width:210px}.overview-bar i{display:block;height:100%;background:#78b6f8;border-radius:6px}.overview-rank-row>strong{min-width:48px;color:#426888}.overview-rank-row>span:nth-last-child(2){min-width:46px;font-size:12px;color:#879eb5}.overview-rank-row small,.overview-person-row strong small{font-weight:400;font-size:11px;color:#8ba0b5}.overview-person-row{display:flex;align-items:center;gap:16px;justify-content:space-between;width:100%;border:0;border-bottom:1px solid #edf3f9;border-radius:0;background:white;padding:20px 24px;text-align:left}.overview-person-row>span:first-child{flex:1}.overview-person-row small{display:block;margin-top:6px;color:#91a5bb;font-size:11px}.overview-person-row strong{font-size:24px;font-weight:500}.overview-person-row .is-risk{color:#d95d58}.overview-risk-row{display:flex;align-items:center;gap:12px;padding:18px 20px;border-top:1px solid #eff4f9}.overview-risk-row>div{display:flex;align-items:center;gap:10px;flex:1;min-width:0;font-size:13px}.overview-risk-row small{display:block;font-size:11px;color:#91a5bb;margin-top:5px}.overview-risk-row>strong{font-size:23px;color:#db625b;font-weight:500}.overview-risk-row>strong small{display:inline}.overview-grid .table-wrap td,.overview-grid .table-wrap th{padding:14px 16px;font-size:12px}.overview-grid .table-wrap .sub{font-size:11px;max-width:200px;white-space:normal;line-height:1.6}@media(max-width:1250px){.overview-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-grid{grid-template-columns:1fr}}@media(max-width:600px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-risk-row{flex-wrap:wrap}.overview-risk-row>div{flex-basis:70%}}

.admin-overview .overview-heading{margin-bottom:14px}.admin-overview .overview-heading h1{font-size:25px}.admin-overview .overview-heading p{font-size:12px;margin-top:6px}.admin-overview .overview-heading select{min-height:34px;padding:7px 12px;font-size:12px}.admin-overview .overview-stats{gap:10px;margin-bottom:16px}.admin-overview .overview-stats .stat{padding:14px 15px;min-height:112px}.admin-overview .overview-stats .stat .num{font-size:27px;margin-top:8px}.admin-overview .overview-stats .stat .label{font-size:12px}.admin-overview .overview-stats .stat .hint{font-size:10px;margin-top:7px}.admin-overview .overview-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.admin-overview .panel{margin-bottom:16px;border-radius:10px}.admin-overview .panel-head{padding:16px 18px;min-height:0}.admin-overview .panel-head h2{font-size:16px}.admin-overview .panel-head button{font-size:11px;padding:5px 8px}.admin-overview .overview-panel-note{padding:8px 18px;font-size:10px}.admin-overview .overview-rank-head{padding:0 18px 7px}.admin-overview .overview-rank-row{padding:12px 18px;gap:10px;font-size:12px}.admin-overview .overview-place{width:22px;height:22px}.admin-overview .overview-person-row{padding:14px 18px;font-size:12px}.admin-overview .overview-person-row strong{font-size:22px}.admin-overview .overview-risk-row{padding:14px 18px;gap:8px}.admin-overview .overview-risk-row>div{font-size:12px}.admin-overview .overview-risk-row>strong{font-size:21px}.admin-overview .overview-risk-row .badge{font-size:10px;padding:4px 6px}.admin-overview td,.admin-overview th,.admin-overview .overview-grid .table-wrap td,.admin-overview .overview-grid .table-wrap th{padding:11px 13px;font-size:11px}.admin-overview td button{padding:5px 8px;font-size:11px}.admin-overview .panel-body{padding:16px 18px}@media(min-width:1100px){.admin-overview .overview-stats{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:1099px){.admin-overview .overview-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.admin-overview .overview-grid{grid-template-columns:1fr}}@media(max-width:550px){.admin-overview .overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

.admin-overview .overview-flow{columns:2;column-gap:14px;margin-bottom:0}.admin-overview .overview-flow>.panel{break-inside:avoid;display:inline-block;width:100%;box-sizing:border-box;margin:0 0 14px;vertical-align:top}.admin-overview .overview-flow .table-wrap{overflow-x:auto}.admin-overview .overview-flow .empty{padding:24px 16px}.admin-overview .overview-flow .panel-head{padding:14px 18px}.admin-overview .overview-flow .overview-panel-note{padding:7px 18px}.admin-overview .overview-flow .overview-person-row{padding:12px 18px}@media(max-width:900px){.admin-overview .overview-flow{columns:1}}
.admin-overview .overview-flow table{table-layout:fixed;min-width:0;width:100%}.admin-overview .overview-flow th,.admin-overview .overview-flow td{white-space:normal;overflow-wrap:anywhere;padding:10px 8px}.admin-overview .overview-flow th:first-child{width:36%}.admin-overview .overview-flow th:nth-child(2){width:16%}.admin-overview .overview-flow th:nth-child(3){width:18%}.admin-overview .overview-flow th:nth-child(4){width:18%}.admin-overview .overview-flow th:last-child{width:12%}.admin-overview .overview-flow td .sub{font-size:10px;line-height:1.6}.admin-overview .overview-flow td .badge{padding:3px 4px;font-size:10px}.admin-overview .overview-flow td button{padding:4px;font-size:10px}
.overview-date-tabs{display:inline-flex;align-items:center;gap:3px;padding:4px;background:#eff3fb;border-radius:12px;flex-shrink:0}.overview-date-tabs button{border:0;background:transparent;color:#7b8fa9;padding:9px 18px;font-size:14px;line-height:1.3;border-radius:9px;white-space:nowrap;box-shadow:none}.overview-date-tabs button.active{color:#3489f5;background:#fff;box-shadow:0 2px 7px #5479ab12}.overview-date-tabs button:focus-visible{outline:2px solid #80b7fa;outline-offset:1px}@media(max-width:550px){.overview-date-tabs button{padding:8px 12px;font-size:13px}}
.overview-reception-sites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 18px}.overview-reception-site{border:1px solid #e5eef8;border-radius:9px;overflow:hidden}.overview-reception-site-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 15px;border:0;border-radius:0;background:#f5faff;text-align:left;color:#4f7397;font-size:13px}.overview-reception-site-head small{font-size:10px;color:#91a6bc;margin-left:8px;font-weight:normal}.overview-reception-site-head strong{font-size:20px;color:#388ade;font-weight:500}.overview-reception-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:5px 14px}.overview-reception-groups button{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:11px 0;border:0;border-bottom:1px solid #f0f4f9;border-radius:0;background:white;font-size:12px;text-align:left}.overview-reception-groups strong{font-size:13px;color:#557da5;font-weight:500;white-space:nowrap}.overview-reception-groups small{font-size:10px;color:#98aabd;font-weight:normal}.overview-reception-groups button:hover{color:#2788ef}.overview-reception-site-head:hover{background:#eaf4ff}@media(max-width:900px){.overview-reception-sites{grid-template-columns:1fr}}
/* Shared controls: real system text and accessible native semantics. */
body,button,input,select,textarea{font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC","Noto Sans CJK SC","Segoe UI",sans-serif}
input,select,textarea{box-sizing:border-box}
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border:1px solid #ccdeef;border-radius:9px;background-color:#fff;color:#405b75;min-height:40px;padding:9px 12px;font-size:13px;line-height:1.5}
input::placeholder,textarea::placeholder{color:#8598aa}
select{padding-right:30px}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #398cf0;outline-offset:3px}
input[type=checkbox],input[type=radio]{width:17px!important;height:17px!important;min-height:17px!important;padding:0!important;margin:0 7px 0 0;vertical-align:middle;accent-color:#3188ef;flex-shrink:0;cursor:pointer}
input[type=file]{font:inherit;font-size:13px;max-width:100%;color:#637e97}
input[type=file]::file-selector-button{font:inherit;border:1px solid #c9dff7;background:#f1f7ff;color:#2676ca;border-radius:7px;padding:8px 12px;margin-right:12px;cursor:pointer}
input:disabled,select:disabled,textarea:disabled{background:#f3f6fa;color:#8b9bad;cursor:not-allowed}
.drawer-body form>label:has(input:not([type=checkbox]):not([type=radio])),.drawer-body form>label:has(select),.drawer-body form>label:has(textarea){display:flex;flex-direction:column;gap:8px;color:#526d87;font-size:13px;line-height:1.6}
.drawer-body form>label>input:not([type=checkbox]):not([type=radio]),.drawer-body form>label>select,.drawer-body form>label>textarea{width:100%}
.drawer-body fieldset{margin:0;min-width:0}
.drawer-body fieldset legend{padding:0 8px;font-size:13px;color:#526d87}
.drawer-body fieldset label:has(input[type=checkbox]){display:inline-flex;align-items:center;min-height:38px;border:1px solid #dce8f6;background:#f8fbff;padding:5px 12px;border-radius:8px;cursor:pointer}
.drawer-body fieldset label:has(input:checked){border-color:#6ba8f2;background:#edf5ff;color:#277bdc}
.drawer:has(#wanyuAccountForm),.drawer:has(#organizationForm),.drawer:has(#accessGroup){width:min(560px,calc(100vw - 32px));height:auto;max-height:calc(100dvh - 48px);position:relative;margin:24px auto;border-radius:16px;overflow:hidden;align-self:center}
.modal-back:has(#wanyuAccountForm),.modal-back:has(#organizationForm),.modal-back:has(#accessGroup){display:flex;align-items:center;justify-content:center}
.drawer:has(#wanyuAccountForm) .drawer-body,.drawer:has(#organizationForm) .drawer-body,.drawer:has(#accessGroup) .drawer-body{overflow-y:auto;padding:24px}
.drawer:has(#wanyuAccountForm) .reception-tabs{margin:0 0 22px;padding:4px;display:flex;background:#f1f5fb;border-radius:9px}
.drawer:has(#wanyuAccountForm) .reception-tabs button{flex:1;border:0;box-shadow:none;background:transparent}
.drawer:has(#wanyuAccountForm) .reception-tabs button.primary{background:#fff;color:#277bdc;box-shadow:0 2px 5px #365f8b10}
.drawer-foot{display:flex;justify-content:flex-end;gap:10px}
.sub,.footnote{color:#6f859b}
@media(max-width:600px){.drawer-head,.drawer-foot{padding:16px 20px}.drawer-body{padding:20px}.filters{flex-wrap:wrap}.filters input,.filters select{max-width:100%}}
