:root{--brand:#2E7CF6;--brand-dk:#1C5FD0;--brand-soft:#EAF2FE;--brand-soft2:#F4F8FF;--bg:#F6F9FE;--card:#FFFFFF;--text:#16233A;--sub:#6B7A90;--line:#E6EDF8;--line-2:#F1F5FC;--ok:#12B886;--ok-bg:#E7F8F2;--late:#F59E0B;--late-bg:#FEF4E3;--absent:#EF4B4B;--absent-bg:#FDECEC;--leave:#7C6CF6;--leave-bg:#F0EDFE;--gray:#A8B4C6;--gray-bg:#F0F4FA;--r:14px;--r-sm:10px;--r-xs:8px;--sh:0 1px 2px rgba(22,35,58,.05), 0 6px 18px rgba(22,35,58,.045);--sh-lg:0 12px 40px rgba(22,35,58,.14);--safe-b:env(safe-area-inset-bottom,0px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{font-family:PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:14px;color:var(--text)}a{color:var(--brand);text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#d6e1f2;border-radius:6px}.tdt-map{width:100%;height:240px;background:var(--line-2);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}.tdt-map:empty:after{content:"地图加载中…（需配置天地图密钥）";display:flex;align-items:center;justify-content:center;height:100%;color:var(--sub);font-size:12px}#app{display:flex;min-height:100dvh}#sidebar{display:none}#main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100dvh}#view{flex:1;overflow-y:auto;padding:12px 14px calc(84px + var(--safe-b));scroll-behavior:smooth}.topbar{position:sticky;top:0;z-index:20;background:#f6f9feeb;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);padding:10px 14px;display:flex;align-items:center;gap:10px}.topbar .tb-title{font-size:16px;font-weight:700;letter-spacing:.2px}.topbar .tb-sub{font-size:11px;color:var(--sub);margin-top:1px}.topbar .tb-right{margin-left:auto;display:flex;align-items:center;gap:8px}.role-pill{display:none;align-items:center;gap:6px;background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}.role-pill svg{width:14px;height:14px}#tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;padding:6px 4px calc(6px + var(--safe-b))}#tabbar .tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0;color:var(--sub);font-size:10.5px;border-radius:10px}#tabbar .tab svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8}#tabbar .tab.on{color:var(--brand);font-weight:700;background:var(--brand-soft2)}#tabbar .tab.on svg{stroke:var(--brand)}.remind-lg .card{padding:16px}.cards-flow{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.cards-flow>.card{width:520px;max-width:100%;margin:0}.remind-lg .card,.remind-lg .card input,.remind-lg .card select{font-size:14.5px}.remind-lg .rm-title{font-size:17px;font-weight:800;line-height:1.4;letter-spacing:.2px}.remind-lg .chip{font-size:12px;padding:3px 9px}.remind-lg .rm-line2{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:7px}.remind-lg .rm-me{font-size:13.5px;color:var(--brand);font-weight:700}.remind-lg .rm-tea{font-size:13.5px;color:var(--sub);font-weight:600}.remind-lg .rm-t{font-size:13.5px;color:var(--sub);margin-top:5px;line-height:1.6}.remind-lg .rm-intro{font-size:13.5px;color:var(--text);margin-top:6px;line-height:1.65;background:var(--brand-soft2);border-radius:10px;padding:8px 10px;border:1px solid var(--line-2)}.remind-lg .rm-addr1{font-size:13.5px;color:var(--sub);margin-top:6px;line-height:1.6}.remind-lg .rm-addr2{font-size:13.5px;color:var(--text);font-weight:600;margin-top:2px}.aw-grid{display:flex;flex-wrap:wrap;gap:8px}.aw-thumb{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;width:64px;height:64px;background:#f1f5f9;cursor:pointer;transition:transform .12s}.aw-thumb:active{transform:scale(.94)}.aw-thumb img{width:100%;height:100%;object-fit:cover;display:block}.aw-thumb .aw-x{position:absolute;top:3px;right:3px;width:20px;height:20px;border:none;border-radius:50%;background:#0f172a9e;color:#fff;font-size:14px;line-height:20px;text-align:center;cursor:pointer;padding:0}.aw-item .aw-cert{margin-top:6px}.aw-item .aw-remark{font-size:12.5px;color:var(--sub);margin-top:5px;line-height:1.5}.aw-item .aw-ops{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.pj-files{display:flex;flex-direction:column;gap:6px;margin-top:6px}.pj-file{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:#fff;cursor:pointer;transition:border-color .12s}.pj-file:hover{border-color:var(--brand)}.pj-file-ic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0;background:var(--gray-bg);color:var(--sub)}.pj-file-ic.video{background:#eef2ff;color:#4f46e5}.pj-file-ic.pdf{background:#fee2e2;color:#dc2626}.pj-file-ic.doc{background:#e0f2fe;color:#0369a1}.pj-file-name{flex:1;min-width:0;font-size:12.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pj-file-meta{font-size:11px;color:var(--sub);flex-shrink:0}.pj-file .btn{padding:4px 9px;font-size:11.5px}.lb-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:92vw}.lb-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.lb-bar{position:absolute;top:18px;left:18px;right:74px;color:#fff;font-size:13px;font-weight:600;text-align:left}.lb-title{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.lb-video-note{font-size:11.5px;color:#ffffffd1;text-align:center;max-width:88vw;line-height:1.6}.doc-lb{background:#fff;border-radius:14px;padding:28px 32px;text-align:center;max-width:86vw}.doc-lb-ic{font-size:15px;font-weight:800;letter-spacing:1px;padding:8px 14px;border-radius:8px;display:inline-block;background:var(--gray-bg);color:var(--text)}.doc-lb-name{margin-top:12px;font-size:14px;font-weight:600;color:var(--text);word-break:break-all}.doc-lb-meta{margin-top:4px;font-size:11.5px;color:var(--sub)}.img-lb{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0f172adb;display:flex;align-items:center;justify-content:center;padding:24px}.img-lb-img{max-width:92vw;max-height:86vh;border-radius:12px;box-shadow:0 12px 48px #00000080;background:#fff;object-fit:contain}.img-lb-x{position:absolute;top:18px;right:18px;width:42px;height:42px;border:none;border-radius:50%;background:#ffffff29;color:#fff;font-size:22px;line-height:42px;text-align:center;cursor:pointer;z-index:3}.img-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:none;border-radius:50%;background:#ffffff2e;color:#fff;font-size:28px;line-height:1;cursor:pointer;z-index:2}.img-lb-nav.prev{left:18px}.img-lb-nav.next{right:18px}.img-lb-count{position:absolute;bottom:18px;left:50%;transform:translate(-50%);color:#fff;font-size:12.5px;background:#0f172a99;padding:4px 12px;border-radius:999px}.remind-lg .btn.xs{font-size:12.5px;padding:6px 10px}.remind-lg .note{font-size:12.5px}.remind-lg .row.between>.muted{font-size:13px}.rm-grid6{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 10px;margin-top:10px;background:var(--brand-soft2);border:1px solid var(--line-2);border-radius:12px;padding:10px 12px}.rm-grid6 .cell{display:flex;flex-direction:column;gap:2px}.rm-grid6 .cell span{font-size:11.5px;color:var(--sub);font-weight:600}.rm-grid6 .cell b{font-size:16px;font-weight:800;color:var(--text);line-height:1.2}#menuBtn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--line);border-radius:11px;background:var(--card);cursor:pointer;padding:0}#menuBtn svg{width:20px;height:20px;stroke:var(--brand);fill:none;stroke-width:2;stroke-linecap:round}#drawer{position:fixed;left:0;top:0;bottom:0;width:290px;max-width:84vw;z-index:55;background:#fff;border-right:1px solid var(--line);padding:calc(14px + env(safe-area-inset-top)) 12px 20px;overflow-y:auto;transform:translate(-102%);transition:transform .22s ease;box-shadow:6px 0 26px #14285a24}#drawer.open{transform:none}#drawer .nav-item{font-size:14px;padding:11px 10px}#drawer .dr-close{position:absolute;right:10px;top:calc(12px + env(safe-area-inset-top));width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--sub);cursor:pointer;font-size:16px;line-height:1}#drawerMask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:54;background:#10204057;display:none}#drawerMask.open{display:block}#fullModal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--bg);display:none;flex-direction:column}#fullModal.open{display:flex}#fullModal .fm-head{position:sticky;top:0;z-index:2;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:calc(10px + env(safe-area-inset-top)) 12px 10px;display:flex;align-items:center;gap:10px}#fullModal .fm-head .fm-back{width:34px;height:34px;flex-shrink:0;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--brand);font-size:18px;line-height:1}#fullModal .fm-head .fm-tt{flex:1;min-width:0}#fullModal .fm-head .fm-tt b{font-size:15.5px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#fullModal .fm-head .fm-tt span{font-size:11.5px;color:var(--sub);display:block;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#fullModal .fm-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px calc(28px + var(--safe-b))}#fullModal .fm-fab{position:fixed;right:18px;bottom:calc(26px + var(--safe-b));width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#2e7cf6,#5aa0ff);color:#fff;border:none;box-shadow:0 8px 22px #2e7cf66b;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1;z-index:3}#fullModal .fm-fab:hover{transform:scale(1.06)}#fullModal input,#fullModal select,#fullModal textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:13.5px;color:var(--text)}#fullModal input:focus,#fullModal textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.mention{color:var(--brand);background:var(--brand-soft2);border-radius:5px;padding:0 4px;font-weight:600}.cm-lv2{margin-left:16px;padding-left:9px;border-left:2px solid var(--line-2)}.sk{height:12px;border-radius:6px;background:linear-gradient(90deg,#edf2fa,#f7faff,#edf2fa);background-size:200% 100%;animation:sk 1.1s linear infinite}@keyframes sk{0%{background-position:200% 0}to{background-position:-200% 0}}#fab{position:fixed;right:18px;bottom:calc(78px + var(--safe-b));z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:10px}@media(min-width:1024px){#fab{bottom:28px}}#fab .fab-menu{display:none;flex-direction:column;gap:8px;align-items:flex-end}#fab.open .fab-menu{display:flex}#fab .fab-item{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line-2);border-radius:999px;padding:9px 14px;font-size:12.5px;font-weight:600;color:var(--text);box-shadow:0 6px 18px #1e40af29;cursor:pointer;animation:fabIn .18s ease}#fab .fab-item:hover{color:var(--brand);border-color:var(--brand)}#fab .fab-item .b{background:var(--late);color:#fff;border-radius:999px;padding:1px 7px;font-size:10.5px}@keyframes fabIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}#fab .fab-main{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#2e7cf6,#5aa0ff);color:#fff;border:none;box-shadow:0 8px 22px #2e7cf66b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .18s}#fab .fab-main svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2.2;transition:transform .2s}#fab.open .fab-main svg{transform:rotate(45deg)}#fab .fab-main:hover{transform:scale(1.06)}#fabMask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;display:none}#fabMask.open{display:block}.card{background:var(--card);border-radius:var(--r);padding:14px;margin-bottom:10px;box-shadow:var(--sh);border:1px solid var(--line-2)}.card.tight{padding:12px}.card-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin-bottom:10px}.card-title .more{margin-left:auto;font-size:12px;color:var(--brand);font-weight:500}.sec-title{font-size:12.5px;color:var(--sub);font-weight:600;margin:16px 4px 8px;display:flex;align-items:center;gap:6px}.sec-title:first-child{margin-top:2px}.sec-title .cnt{background:var(--gray-bg);color:var(--sub);border-radius:999px;padding:0 6px;font-size:10.5px}.chip{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;line-height:1.7;white-space:nowrap}.c-ok{background:var(--ok-bg);color:var(--ok)}.c-late{background:var(--late-bg);color:var(--late)}.c-absent{background:var(--absent-bg);color:var(--absent)}.c-leave{background:var(--leave-bg);color:var(--leave)}.c-gray{background:var(--gray-bg);color:var(--sub)}.c-blue{background:var(--brand-soft);color:var(--brand)}.c-purple{background:#f3e8ff;color:#7c3aed}.c-phase{background:#fff7e6;color:#b7791f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 16px;border-radius:var(--r-sm);background:var(--brand);color:#fff;font-size:14px;font-weight:600;transition:.15s}.btn:active{background:var(--brand-dk);transform:scale(.985)}.btn.block{display:flex;width:100%}.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--brand)}.btn.gray{background:var(--gray-bg);color:var(--text)}.btn.danger{background:#feecec;color:#ef4444;border:1px solid #F7C9C9;font-weight:700}.btn.danger:hover{background:#fbdcdc}.btn.sm{padding:7px 12px;font-size:12.5px;border-radius:var(--r-xs)}.btn.xs{padding:4px 9px;font-size:11.5px;border-radius:var(--r-xs)}.btn[disabled]{opacity:.45;pointer-events:none}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.muted{color:var(--sub);font-size:11.5px}.strong{font-weight:700}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px}.li{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line-2)}.li:last-child{border-bottom:none}.li .ico{width:36px;height:36px;border-radius:11px;background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;font-size:13px}.li .ico.g{background:var(--ok-bg);color:var(--ok)}.li .ico.o{background:var(--late-bg);color:var(--late)}.li .ico.r{background:var(--absent-bg);color:var(--absent)}.li .ico.v{background:var(--leave-bg);color:var(--leave)}.li .body{flex:1;min-width:0}.li .t1{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.li .t2{font-size:11.5px;color:var(--sub);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.li .r{flex-shrink:0;text-align:right}.addr-card{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);padding:12px 13px;margin-bottom:10px;box-shadow:var(--sh);transition:.15s}.addr-card.tappable{cursor:pointer}.addr-card:active{box-shadow:var(--sh-lg);transform:scale(.996)}.addr-row{display:flex;align-items:flex-start;gap:9px}.addr-row+.addr-row{margin-top:8px}.addr-txt{flex:1;min-width:0}.addr-label{font-size:10.5px;color:var(--sub);font-weight:700;letter-spacing:.3px;margin-bottom:2px}.addr-val{font-size:13.5px;font-weight:600;line-height:1.45;word-break:break-all;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.addr-sub{font-size:11.5px;color:var(--sub);margin-top:3px;line-height:1.55;word-break:break-all}.addr-ops{justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.addr-r{flex-shrink:0;align-self:flex-start;margin-left:6px}.cbx{position:relative}.cbx-input{width:100%;box-sizing:border-box;padding:9px 30px 9px 11px;border:1px solid var(--line);border-radius:10px;font-size:13px;background:#fff;color:var(--text)}.cbx-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.cbx-arrow{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--sub);font-size:11px;pointer-events:none}.cbx-pop{position:fixed;z-index:9999;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-lg);max-height:228px;overflow-y:auto;display:none}.cbx-pop.on{display:block}.cbx-item{padding:9px 11px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--text)}.cbx-item .sub{font-size:11px;color:var(--sub);font-weight:400}.cbx-item.on,.cbx-item:hover{background:var(--brand-soft)}.cbx-empty{padding:10px 11px;font-size:11.5px;color:var(--sub);text-align:center;border-top:1px dashed var(--line)}.mcbx-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.mcbx-chip{display:inline-flex;align-items:center;gap:5px;background:var(--brand-soft);color:var(--brand);border-radius:8px;padding:3px 9px;font-size:12.5px;max-width:100%}.mcbx-chip b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.mcbx-chip .x{cursor:pointer;font-weight:700;opacity:.6;font-size:13px;line-height:1}.mcbx-chip .x:hover{opacity:1}.cbx-item .ck{width:15px;height:15px;border:1.5px solid var(--line);border-radius:4px;flex-shrink:0;cursor:pointer;position:relative;box-sizing:border-box}.cbx-item .ck.on{background:var(--brand);border-color:var(--brand)}.cbx-item .ck.on:after{content:"✓";color:#fff;font-size:11px;line-height:1;position:absolute;left:2.5px;top:-1px;font-weight:700}.cbx-foot{display:flex;gap:8px;padding:8px 11px;border-top:1px dashed var(--line);position:sticky;bottom:0;background:#fff}.cbx-foot .btn{padding:5px 11px;font-size:12px}.ck{width:15px;height:15px;border:1.5px solid var(--line);border-radius:4px;flex-shrink:0;cursor:pointer;position:relative;box-sizing:border-box}.ck.on{background:var(--brand);border-color:var(--brand)}.ck.on:after{content:"✓";color:#fff;font-size:11px;line-height:1;position:absolute;left:2.5px;top:-1px;font-weight:700}.ce-list{margin-top:8px;max-height:240px;overflow-y:auto;padding-right:2px}.ce-row{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;margin-bottom:6px;font-size:13px;cursor:pointer;background:#fff}.ce-row:hover{background:var(--brand-soft)}.ce-row .sub{margin-left:auto;font-size:11px;color:var(--sub)}.ce-foot{display:flex;gap:8px;margin-top:2px}.ce-hint{padding:6px 2px;font-size:12px}.ce-part{display:flex;flex-direction:column;gap:6px;max-height:210px;overflow-y:auto;padding-right:2px}.ce-part-row{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}.ce-part-name{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.ce-part-name b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ce-part-name .sub{font-size:11px;color:var(--sub);flex-shrink:0}.cv-thumb{width:76px;height:76px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#f1f5f9;flex-shrink:0;cursor:pointer}.cv-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cv-thumb.cv-none{display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--sub);text-align:center;line-height:1.4;padding:4px}.cv-pick{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}.cv-pick .cv-thumb{cursor:default}.cv-pick .muted{font-size:11.5px}.crs-line{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:6px;font-size:12.5px;color:var(--sub);line-height:1.6}.crs-line b{color:var(--text);font-weight:700}.crs-ops{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.crs-top{display:grid;grid-template-columns:104px 1fr;gap:5px 12px;align-items:center}.crs-top .crs-ico{grid-row:1 / span 4;grid-column:1}.crs-top.crs-3 .crs-ico{grid-row:1 / span 3}.crs-top .crs-ico .cv-thumb{width:104px;height:104px}.crs-t{font-weight:800;font-size:15px;line-height:1.35;min-width:0;word-break:break-word;color:var(--text)}.crs-h2{display:flex;align-items:center;gap:8px;font-size:12.5px;min-width:0;flex-wrap:wrap}.crs-k{flex:none;color:var(--sub);font-weight:600}.crs-row2{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:9px}.crs-row1{display:flex;gap:8px;margin-top:9px;font-size:12.5px;align-items:baseline;min-width:0}.crs-f{display:flex;gap:8px;align-items:baseline;min-width:0;font-size:12.5px;line-height:1.6}.crs-f b,.crs-row1 b{color:var(--text);word-break:break-word}.kv{display:flex;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line)}.kv-k{color:var(--sub);font-size:11.5px;flex-shrink:0;width:118px}.kv-v{flex:1;min-width:0;word-break:break-all;font-size:12.5px}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--brand),#6EB0FF);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.grid{display:grid;gap:10px}.g2{grid-template-columns:repeat(2,1fr)}.mod-entry{display:flex;align-items:center;gap:9px;width:100%;padding:13px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;color:var(--text);text-align:left;transition:border-color .15s,box-shadow .15s}.mod-entry:hover{border-color:var(--brand);box-shadow:0 1px 6px #16233a12}.mod-entry:active{transform:scale(.985)}.mod-entry .mi{flex:none;width:30px;height:30px;border-radius:9px;background:var(--brand-soft2);display:flex;align-items:center;justify-content:center;font-size:15px}.mod-entry .ml{flex:1;min-width:0;font-weight:600;font-size:13.5px}.mod-entry .mn{flex:none;font-weight:800;font-size:18px;color:var(--brand)}.mod-entry .mu{font-size:11px;font-weight:600;color:var(--sub);margin-left:1px}.mod-entry .ma{flex:none;color:var(--sub);font-size:14px}.g3{grid-template-columns:repeat(3,1fr)}.stat{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);padding:12px;box-shadow:var(--sh)}.stat .k{font-size:11.5px;color:var(--sub)}.stat .v{font-size:20px;font-weight:800;margin-top:3px;letter-spacing:-.4px}.stat .v small{font-size:11.5px;font-weight:600;color:var(--sub);margin-left:2px}.stat .v.ok{color:var(--ok)}.stat .v.absent{color:var(--absent)}.stat .v.late{color:var(--late)}.stat .v.brand{color:var(--brand)}.bar{height:7px;border-radius:99px;background:var(--line);overflow:hidden}.bar>i{display:block;height:100%;border-radius:99px;background:var(--brand);transition:width .5s}.bar.ok>i{background:var(--ok)}.bar.absent>i{background:var(--absent)}.tabs{display:flex;gap:6px;background:var(--gray-bg);padding:4px;border-radius:12px;margin-bottom:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:14px}.tabs.bare{background:transparent;padding:0;gap:5px}.tabs .t{flex:1 1 auto;min-width:0;white-space:nowrap;padding:8px 14px;border-radius:9px;font-size:13.5px;font-weight:700;color:var(--sub);text-align:center}.tabs .t.on{background:#fff;color:var(--brand);box-shadow:0 1px 4px #16233a14}.tabs.bare .t{border:1px solid var(--line);background:#fff}.tabs.bare .t.on{background:var(--brand);color:#fff;border-color:var(--brand)}.empty{text-align:center;padding:34px 16px;color:var(--sub)}.empty .e-ico{font-size:30px;opacity:.5}.empty p{font-size:12.5px;margin-top:8px}.field{margin-bottom:10px}.field label{display:block;font-size:11.5px;color:var(--sub);margin-bottom:5px;font-weight:600}.field input,.field select,.field textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-xs);background:#fff;outline:none}.field input:focus,.field select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}#modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:none;align-items:center;justify-content:center;padding:16px}#modal.on{display:flex}#modal .mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#16233a6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#modal .sheet{position:relative;width:100%;max-width:440px;background:#fff;border-radius:20px;max-height:86dvh;overflow-y:auto;padding:18px;box-shadow:var(--sh-lg);animation:pop .2s ease}#modalBody.sheet-wide{max-width:94vw}@media(min-width:1024px){#modalBody.sheet-wide{width:760px;max-width:92vw}}@keyframes pop{0%{transform:scale(.96);opacity:.5}to{transform:none;opacity:1}}#modal .m-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}#modal .m-head .x{margin-left:auto;width:28px;height:28px;border-radius:50%;background:var(--gray-bg);color:var(--sub);display:flex;align-items:center;justify-content:center;font-size:15px}#toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%) translateY(10px);z-index:80;background:#16233aeb;color:#fff;padding:9px 16px;border-radius:999px;font-size:12.5px;opacity:0;pointer-events:none;transition:.24s;max-width:86vw;text-align:center}#toast.on{opacity:1;transform:translate(-50%) translateY(0)}.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -14px;padding:0 14px}table.tbl{border-collapse:collapse;width:100%;min-width:520px;font-size:12.5px}table.tbl th{background:var(--brand-soft2);color:var(--sub);font-weight:700;font-size:11.5px;text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}table.tbl td{padding:9px 10px;border-bottom:1px solid var(--line-2);vertical-align:middle}table.tbl tr:last-child td{border-bottom:none}.mob-only{display:block}@media(min-width:1024px){.mob-only{display:none}}.ct-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px;font-size:12px;color:var(--sub);flex-wrap:wrap}.ct-pager button{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:9px;padding:5px 11px;font-size:12px;cursor:pointer;font-family:inherit;line-height:1.5}.ct-pager button:hover{border-color:var(--brand);color:var(--brand)}.ct-pager button:disabled{opacity:.45;cursor:not-allowed;border-color:var(--line);color:var(--sub)}.ct-pager b{color:var(--text);font-weight:800}.ct-pager select.ct-size{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:9px;padding:6px 8px;font-size:12px;line-height:1.2;cursor:pointer;outline:none;margin-right:auto}.ct-pager select.ct-size:hover{border-color:var(--brand);color:var(--brand)}.ct-av{width:36px;height:36px;border-radius:50%;background:var(--brand-soft2);color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0}.ct-hi{color:var(--ok)}.ct-mid-r{color:var(--late)}.ct-low{color:var(--absent)}.ct-na{color:var(--sub)}.ct-klist{display:flex;flex-direction:column;gap:10px}.ct-kcard{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.ct-kcard-h{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--brand-soft2);border-bottom:1px solid var(--line)}.ct-kcard-h .ct-av{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--brand);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0}@media(max-width:1023px){.av-init,.ct-kcard-h .ct-av.av-init,.li .ico.av-init{display:none}}.ct-kcard-h .nm{flex:1;min-width:0;font-size:14px;font-weight:800;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ct-kcard-h .rate{text-align:right;flex-shrink:0;white-space:nowrap;display:flex;align-items:baseline;gap:3px}.ct-kcard-h .rate b{font-size:16px;font-weight:800;line-height:1.15}.ct-kcard-h .rate span{font-size:10.5px;color:var(--sub)}.ct-kbody{padding:2px 12px 6px}#statsRoot .grid{margin-bottom:14px}#modalBody .stat{padding:14px 16px}#modalBody .stat .v{margin-top:6px}.ct-krow{display:flex;gap:10px;padding:12px 0;border-bottom:1px dashed var(--line-2);font-size:12.5px;line-height:1.65}.ct-krow:last-child{border-bottom:none}.ct-krow .k{flex:0 0 120px;color:var(--sub);font-weight:600}.ct-krow .v{flex:1;min-width:0;color:var(--text);word-break:break-word}.ct-krow .v.tel a{color:var(--brand);font-weight:700;text-decoration:none}.ct-krow .v.tel a:active{opacity:.7}.ct-kfoot{display:flex;gap:8px;padding:9px 12px;border-top:1px solid var(--line);background:#fcfdff}.ct-kfoot .btn{flex:1}.ct-more{text-align:center;padding:16px 0 6px;font-size:12px;color:var(--sub)}.ct-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.ct-head .avatar{flex-shrink:0}.ct-head-mid{flex:1;min-width:0}.ct-head-mid .nm{font-size:16px;font-weight:800}.ct-head-mid .sub{font-size:12px;color:var(--sub);margin-top:2px}.ct-donut{position:relative;width:74px;height:74px;flex-shrink:0}.ct-donut svg{width:74px;height:74px;transform:rotate(-90deg);display:block}.ct-donut .track{fill:none;stroke:#e8eef8;stroke-width:3.4}.ct-donut .val{fill:none;stroke:var(--brand);stroke-width:3.4;stroke-linecap:round;transition:stroke-dasharray .3s}.ct-donut .val.ok{stroke:var(--ok)}.ct-donut .val.mid{stroke:var(--late)}.ct-donut .val.low{stroke:var(--absent)}.ct-donut .val.na{stroke:#c7d3e3}.ct-donut .lbl{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.ct-donut .lbl b{font-size:14px;font-weight:800;line-height:1.1}.ct-donut .lbl span{font-size:9.5px;color:var(--sub);font-weight:600;margin-top:1px}table.ct-kv{width:100%;min-width:0;table-layout:auto}table.ct-kv td{padding:8px 12px;font-size:12.5px;white-space:normal;word-break:break-all;border-bottom:1px solid var(--line-2)}table.ct-kv td.ck{width:132px;color:var(--sub);background:#fafcff;font-weight:600;white-space:nowrap}table.ct-kv tr:last-child td{border-bottom:none}.ct-tag{font-size:10.5px;color:var(--sub);background:var(--brand-soft2);border-radius:6px;padding:1px 6px;font-weight:600}.ct-tag.ct-tag-import{color:#b25e00;background:#fff1dc}table.tbl.tbl-wide{min-width:680px}@media(max-width:1023px){table.tbl.tbl-wide{min-width:620px}}.ct-tool{margin-bottom:10px}.ct-search{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ct-search input{flex:1 1 220px;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:10px;font-size:13px;background:#fff;color:var(--text);font-family:inherit}.ct-search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.ct-adv-btn{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;font-size:12.5px;color:var(--text);cursor:pointer;font-family:inherit;white-space:nowrap;line-height:1.5}.ct-adv-btn:hover{border-color:var(--brand);color:var(--brand)}.ct-adv{margin-top:10px;padding:10px 12px;border:1px dashed var(--line);border-radius:12px;background:#fbfdff}.ct-adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media(max-width:1023px){.ct-adv-grid{grid-template-columns:repeat(2,1fr)}}.ct-adv .field{margin-bottom:0}.ct-adv .field label{font-size:11.5px;color:var(--sub);display:block;margin-bottom:4px;font-weight:600}.ct-adv select,.ct-adv input{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:9px;font-size:12.5px;background:#fff;color:var(--text);font-family:inherit;box-sizing:border-box}.ct-adv input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.ct-card{border:1.5px solid #B9CADF;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 1px 2px #0f172a0a}.ct-card .tbl-wrap{margin:0;padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch}table.ct-tbl{border-collapse:collapse;border:none;table-layout:fixed;width:180%;min-width:0}table.ct-tbl th,table.ct-tbl td{border:1px solid #C6D6E8;padding:12px 14px;white-space:normal;word-break:break-word;vertical-align:middle;line-height:1.55}table.ct-tbl thead th{border-top:none;border-bottom:1.5px solid #B9CADF}table.ct-tbl th:first-child,table.ct-tbl td:first-child{border-left:none}table.ct-tbl th:last-child,table.ct-tbl td:last-child{border-right:none}table.ct-tbl tbody tr:last-child td{border-bottom:none}table.ct-tbl .ct-ops{white-space:nowrap}table.ct-tbl .ct-ops .btn{margin-right:4px}table.ct-tbl .ct-ops .btn:last-child{margin-right:0}table.ct-tbl tbody tr:nth-child(2n){background:#f7faff}table.ct-tbl tbody tr:hover{background:#edf4ff}table.ct-tbl th:last-child,table.ct-tbl td:last-child{position:sticky;right:0;z-index:2;background:#fff;border-left:1.5px solid #B9CADF;box-shadow:-8px 0 10px -8px #0f172a2e}table.ct-tbl thead th:last-child{z-index:3;background:#f4f8ff}table.ct-tbl tbody tr:nth-child(2n) td:last-child{background:#f7faff}table.ct-tbl tbody tr:hover td:last-child{background:#edf4ff}table.tbl td.num{text-align:right;font-variant-numeric:tabular-nums}table.tbl th.num{text-align:right}.stats-fab,.sub-fab{position:fixed;right:20px;bottom:24px;width:52px;height:52px;border-radius:50%;background:var(--brand);color:#fff;font-size:26px;font-weight:600;line-height:1;border:none;padding:0;box-shadow:0 6px 18px #2e7cf666;cursor:pointer;z-index:40;display:flex;align-items:center;justify-content:center;transition:transform .15s}.stats-fab:active,.sub-fab:active{transform:scale(.94)}@media(max-width:1023px){.stats-fab,.sub-fab{bottom:calc(76px + env(safe-area-inset-bottom))}}.ct-detail-fab{position:fixed;right:18px;bottom:calc(78px + var(--safe-b,0px));z-index:40;border:none;border-radius:50%;width:46px;height:46px;display:flex;align-items:center;justify-content:center;gap:0;background:linear-gradient(135deg,#2e7cf6,#1c5fd0);color:#fff;font-size:18px;font-weight:700;line-height:1;box-shadow:0 8px 20px #2e7cf659;cursor:pointer;transition:transform .15s}.ct-detail-fab:active{transform:scale(.95)}.ct-detail-fab .ct-fab-ico{display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.ct-detail-fab .ct-fab-txt{display:none;font-size:14px;font-weight:600;white-space:nowrap}.ach-pie{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ach-pie>svg{flex:0 1 auto;width:100%;max-width:196px;min-width:0;height:auto}.ach-pie-svg{flex:0 1 auto;width:100%;max-width:196px;min-width:0;height:auto}.ach-legend{flex:1 1 160px;min-width:0;display:flex;flex-direction:column;gap:7px;font-size:12.5px}.ach-note{flex:1 1 160px;min-width:0}.ct-detail-spacer{display:block;height:56px}@media(min-width:1024px){.ct-detail-fab{right:20px;bottom:24px;width:auto;height:42px;border-radius:21px;padding:0 14px;gap:6px;font-size:13px;box-shadow:0 8px 22px #2e7cf652;white-space:nowrap}.ct-detail-fab .ct-fab-ico{font-size:16px}.ct-detail-fab .ct-fab-txt{display:inline;font-size:13px}.ct-detail-spacer{height:40px}}@media(max-width:1023px){.ach-pie{flex-direction:column;align-items:stretch;gap:10px}.ach-pie>svg{margin:0 auto;max-width:220px}.ach-legend,.ach-note{flex:none;min-width:0;width:100%}}.tch-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:1023px){.tch-cards{grid-template-columns:1fr}}.tch-sec-title{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:800;color:var(--text);margin:2px 2px 10px;padding-left:9px;position:relative}.tch-sec-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:14px;border-radius:2px;background:var(--brand)}.tch-sec-title .cnt{background:var(--gray-bg);color:var(--sub);border-radius:999px;padding:0 7px;font-size:10.5px;font-weight:600}.tch-cards-att{margin-top:20px;padding-top:16px;border-top:1px dashed #DDE5F2}.tch-filter{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}.tch-filter .tf-item{flex:1 1 0;min-width:0;display:flex}.tch-filter select{flex:1 1 auto;min-width:0;width:100%;height:33px;padding:0 26px 0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12.5px;color:var(--text);box-sizing:border-box;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8493A8 50%),linear-gradient(135deg,#8493A8 50%,transparent 50%);background-position:calc(100% - 15px) 14px,calc(100% - 10px) 14px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.tch-filter select:disabled{background-color:#f0f4fa;color:#9aa7b8;cursor:not-allowed;background-image:linear-gradient(45deg,transparent 50%,#C3CEDD 50%),linear-gradient(135deg,#C3CEDD 50%,transparent 50%)}.tch-filter .btn{flex:none;height:33px;padding:0 14px;font-size:12.5px;border-radius:9px}.tch-filter .ss-input{height:33px;padding:0 26px 0 10px;border-radius:9px;font-size:12.5px}@media(min-width:1024px){.tch-filter .ss-input{height:42px;padding:0 30px 0 12px;border-radius:10px;font-size:14px}}@media(max-width:1023px){.tch-filter .ss-input{height:31px;padding:0 22px 0 8px;font-size:12px;border-radius:8px}}@media(min-width:1024px){.tch-filter{gap:10px}.tch-filter .tf-item{flex:0 1 220px;max-width:220px}.tch-filter select{height:42px;padding:0 30px 0 12px;border-radius:10px;font-size:14px;background-position:calc(100% - 17px) 19px,calc(100% - 12px) 19px}.tch-filter .btn{height:42px;padding:0 20px;font-size:14px;border-radius:10px}}@media(max-width:1023px){.tch-filter{gap:6px}.tch-filter .tf-item{flex:1 1 0;min-width:0}.tch-filter select{height:31px;padding:0 22px 0 8px;font-size:12px;border-radius:8px;background-position:calc(100% - 13px) 13px,calc(100% - 9px) 13px;background-size:4px 4px,4px 4px}.tch-filter .btn{height:31px;padding:0 10px;font-size:12px;border-radius:8px}}.school-manage .note{display:none}table.stats-tbl{width:100%;min-width:1400px}table.stats-tbl th,table.stats-tbl td{padding:12px 14px}table.ct-tbl.super-tbl{width:100%;table-layout:fixed}table.ct-tbl.super-tbl th:last-child,table.ct-tbl.super-tbl td:last-child{box-shadow:none}table.ct-tbl.ach-tbl{width:100%;min-width:1500px}.dr-entry-bar{display:flex;align-items:center;gap:8px;background:var(--brand-soft);border:1px solid #BBD4FA;border-radius:var(--r-sm);padding:9px 12px;margin-bottom:12px;font-size:12px;color:#28518f;line-height:1.5}.dr-entry-bar span{flex:1;min-width:0}.dr-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:2px;font-size:12.5px;margin-bottom:8px}.dr-crumb-i{color:var(--sub);cursor:pointer;padding:2px 5px;border-radius:6px}.dr-crumb-i.on{color:var(--brand);font-weight:700;cursor:default}.dr-crumb-s{color:var(--sub);opacity:.6}.dr-range{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--brand-soft2);border:1px dashed #BBD4FA;border-radius:var(--r-sm);padding:7px 11px;margin-bottom:12px;font-size:12px;color:var(--sub);cursor:pointer}.dr-range b{color:var(--text)}.dr-range-edit{color:var(--brand);font-weight:700;margin-left:auto;white-space:nowrap}.dr-stat-entry{cursor:pointer;transition:box-shadow .15s}.dr-stat-entry:hover{box-shadow:0 2px 10px #2e7cf62e}.dr-t-sub{font-weight:400;color:var(--sub);font-size:11.5px;margin-left:6px}.dr-t-type{font-size:10.5px;color:var(--sub);margin-left:4px;white-space:nowrap}.tabs.dr-tabs{overflow:visible;flex-wrap:wrap}.tabs.dr-tabs .dr-seg-dd{flex:1 1 auto;min-width:0}.dr-seg-dd{position:relative;display:inline-flex}.dr-caret{font-size:10px;font-style:normal;opacity:.65;margin-left:2px}.dr-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:150px;max-height:268px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 28px #16233a24;padding:6px}.dr-menu button{display:block;width:100%;text-align:left;border:none;background:none;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--text);cursor:pointer;white-space:nowrap}.dr-menu button:hover{background:var(--brand-soft2)}.dr-menu button.on{color:var(--brand);font-weight:700}.code-box{background:var(--brand-soft2);border:1px dashed #BBD4FA;border-radius:var(--r-sm);padding:12px;text-align:center}.qr{width:104px;height:104px;margin:0 auto 8px;background:#fff;border-radius:10px;padding:7px;box-shadow:var(--sh);display:grid;grid-template-columns:repeat(11,1fr);gap:1px}.qr i{background:#16233a;border-radius:1px}.qr i.w{background:transparent}.note{display:none;background:var(--brand-soft);border-left:3px solid var(--brand);border-radius:0 var(--r-xs) var(--r-xs) 0;padding:9px 11px;font-size:11.5px;color:#28518f;line-height:1.6}.note.warn{background:#fff8e9;border-color:var(--late);color:#8a5d0b}.note.ok{background:var(--ok-bg);border-color:var(--ok);color:#0b6e52}.test-item{display:flex;gap:9px;padding:9px 0;border-bottom:1px dashed var(--line)}.test-item:last-child{border-bottom:none}.test-item .badge{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0;color:#fff}.test-item.pass .badge{background:var(--ok)}.test-item.fail .badge{background:var(--absent)}.test-item .tt{font-size:12.5px;font-weight:600}.test-item .dd{font-size:11px;color:var(--sub);margin-top:2px;font-family:ui-monospace,monospace;word-break:break-all}.grp{font-size:10.5px;color:var(--sub);font-weight:700;padding:12px 10px 5px;letter-spacing:.5px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--r-sm);color:#42506b;font-size:13.5px;font-weight:500;transition:.14s;text-align:left;width:100%;border:none;background:none;cursor:pointer}.nav-item svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;flex-shrink:0}.nav-item:hover{background:var(--brand-soft2)}.nav-item.on{background:var(--brand);color:#fff;font-weight:700;box-shadow:0 6px 16px #2e7cf647}.nav-item .nav-badge{margin-left:auto;background:var(--absent);color:#fff;border-radius:999px;font-size:10px;padding:0 6px;font-weight:700}.nav-item.on .nav-badge{background:#ffffff47}.brand{display:flex;align-items:center;gap:10px;padding:0 8px 14px;margin-bottom:8px;border-bottom:1px solid var(--line-2)}.brand .logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--brand),#6EB0FF);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0}.brand b{font-size:14px;display:block}.brand span{font-size:10.5px;color:var(--sub)}@media(min-width:1024px){#app{gap:0}#sidebar{display:flex;flex-direction:column;width:248px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);position:sticky;top:0;height:100dvh;padding:18px 12px;gap:2px;overflow-y:auto}#tabbar,#menuBtn,#drawer,#drawerMask{display:none}#view{padding:20px 26px 40px;width:100%}.topbar{padding:14px 26px}.role-pill{display:flex}.topbar .tb-title{font-size:19px}#modal .sheet{width:460px}.grid.g2{grid-template-columns:repeat(2,1fr)}.grid.g3{grid-template-columns:repeat(3,1fr)}.desk-only{display:block}}@media(min-width:1440px){.grid.g3{grid-template-columns:repeat(4,1fr)}}@media(max-width:1023px){.desk-only{display:none}.tabs{flex:1 1 auto;min-width:0}.tabs .t{flex:1 1 0;text-align:center;padding:8px 4px}}@media(max-width:1023px){.tabs{gap:4px}.tabs .t{padding:6px 7px;font-size:11.5px}.tabs.bare .t{padding:6px 8px;font-size:11.5px}}@media(max-width:400px){.tabs{gap:3px}.tabs .t{padding:5px 6px;font-size:11px}.tabs.bare .t{padding:5px 7px;font-size:11px}}@media(max-width:380px){.g3{grid-template-columns:repeat(2,1fr)}}#auth{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:linear-gradient(160deg,#EAF2FE 0%,#F4F8FF 40%,var(--bg) 100%);overflow-y:auto;display:none}#auth.open{display:block}.auth-screen{max-width:440px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:34px 20px calc(30px + env(safe-area-inset-bottom))}.auth-card{background:var(--card);border-radius:20px;padding:22px 18px;box-shadow:var(--sh-lg);border:1px solid var(--line-2)}.auth-h{font-size:19px;font-weight:800;margin-bottom:4px}.auth-sub{font-size:12.5px;color:var(--sub);margin-bottom:18px;line-height:1.75}.auth-logo{display:block;margin:0 auto 20px;width:72px;height:72px;border-radius:50%;box-shadow:0 4px 12px #2e7cf62e;background:#fff;object-fit:contain}.auth-form .field{margin-bottom:13px}.auth-form .field label{display:block;font-size:12.5px;font-weight:600;color:var(--text);margin-bottom:6px}.req{color:#e5484d;margin-left:2px}.fd{display:none!important}.auth-form input,.auth-form select{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:14.5px;color:var(--text);box-sizing:border-box}.auth-form input:focus,.auth-form select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.auth-form .cbx-input{width:100%;padding:12px 34px 12px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:14.5px;color:var(--text);box-sizing:border-box}.auth-form .cbx-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.auth-form .cbx-arrow{right:14px;font-size:12px}.auth-form .hint{font-size:11.5px;color:var(--sub);margin-top:4px;line-height:1.5}.scan-box{margin-bottom:14px;padding:12px 13px;border-radius:12px;background:var(--brand-soft);border:1px solid var(--line)}.scan-box b{display:block;font-size:14px;margin-bottom:6px;color:var(--text)}.scan-box p{margin:0 0 4px;font-size:12.5px;color:var(--sub);line-height:1.55}.scan-box p.muted{margin-top:6px;color:var(--sub)}.dup-text{margin:0 0 16px;font-size:14px;line-height:1.7;color:var(--text)}.dup-actions{display:flex;gap:10px}.dup-actions .btn{flex:1}.auth-code{display:flex;gap:8px;align-items:flex-end}.auth-code .field{flex:1}.btn-code{padding:12px;font-size:12.5px;border-radius:12px;background:var(--brand-soft);color:var(--brand);font-weight:700;white-space:nowrap;flex-shrink:0}.btn-code svg{display:block;width:100%;height:auto;border-radius:10px}.btn-code[disabled]{opacity:.5;pointer-events:none}.auth-agree{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--sub);margin:2px 0 14px;line-height:1.5}.auth-agree input{width:16px;height:16px;margin-top:2px;flex-shrink:0;accent-color:var(--brand)}.auth-agree a{color:var(--brand);cursor:pointer}.auth-links{display:flex;justify-content:center;gap:12px;margin-top:18px;font-size:13px}.auth-links a{cursor:pointer;color:var(--brand);font-weight:600}.icp-line{display:flex;justify-content:center;margin-top:10px;font-size:12px;color:var(--sub)}.icp-line a{color:var(--sub);text-decoration:none;font-weight:600}.icp-line a:hover{text-decoration:underline}.auth-demo{margin-top:16px;text-align:center;font-size:11.5px;color:var(--sub);background:var(--brand-soft2);border:1px dashed var(--line);border-radius:12px;padding:10px 12px;line-height:1.65}.jn-hero{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;margin:0 0 12px}.jn-hero img{width:100%;aspect-ratio:1/1;height:auto;object-fit:cover;display:block;background:var(--brand-soft2)}.jn-hero-b{padding:11px 12px}.jn-t{font-size:15.5px;font-weight:800;color:var(--text)}.jn-s{font-size:12.5px;color:var(--sub);margin-top:5px;line-height:1.7}.jn-rows{margin:0 0 10px}.jn-row{display:flex;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:12.5px}.jn-row:last-child{border-bottom:none}.jn-row .kk{color:var(--sub);flex-shrink:0;width:88px;font-weight:600}.jn-row .vv{flex:1;min-width:0;word-break:break-all;font-weight:600;color:var(--text)}.rw-thumbs,.pj-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.rw-thumb{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--line);cursor:pointer}.rw-thumb .rw-x{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;border:none;background:#0f172a99;color:#fff;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.reg-sec{margin:6px 0 14px}.reg-sec-h{font-size:12px;font-weight:700;color:var(--sub);letter-spacing:.3px;margin:0 0 10px;padding-bottom:7px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px;justify-content:space-between}.reg-sec-h .add{font-size:12px;color:var(--brand);cursor:pointer;font-weight:700;padding:3px 9px;border:1px dashed var(--brand);border-radius:9px;white-space:nowrap;flex-shrink:0}.reg-sec-h .add:active{background:var(--brand-soft)}.reg-item{background:none;border:none;border-top:1px dashed var(--line);border-radius:0;padding:14px 0 0;margin-bottom:0;position:relative}.reg-item .field:first-of-type{padding-right:30px}.reg-del{position:absolute;top:10px;right:0;width:22px;height:22px;border-radius:50%;border:none;background:var(--gray-bg);color:var(--sub);font-size:14px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center}.reg-del:hover{background:#fee2e2;color:#dc2626}.reg-empty{font-size:12px;color:var(--sub);text-align:center;padding:8px 0}.kv{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:5px 0;border-bottom:1px dashed var(--line)}.kv:last-child{border-bottom:none}.kv span{color:var(--sub)}.kv b{font-weight:600;text-align:right}.sub{font-size:12px;font-weight:700;color:var(--brand);margin:10px 0 5px}.li2{font-size:13px;padding:4px 0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.stepper{display:flex;align-items:center;gap:6px;margin-bottom:20px}.stepper .stp{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.stepper .num{width:26px;height:26px;border-radius:50%;background:var(--gray-bg);color:var(--sub);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.stepper .num.on{background:var(--brand);color:#fff}.stepper .num.done{background:var(--ok);color:#fff}.stepper .stp-l{font-size:11px;color:var(--sub);white-space:nowrap}.stepper .stp-l.on{color:var(--brand);font-weight:700}.stepper .bar{flex:1;height:2px;background:var(--line);margin-top:13px}.stepper .bar.on{background:var(--brand)}.auth-success{text-align:center;padding:16px 4px}.auth-success .ok-ico{width:64px;height:64px;border-radius:50%;background:var(--ok-bg);color:var(--ok);font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.auth-success .ok-t{font-size:17px;font-weight:800;margin-bottom:6px}.auth-success .ok-s{font-size:12.5px;color:var(--sub);margin-bottom:18px}.dict-layout{display:flex;gap:12px;align-items:flex-start}.dict-cats{width:252px;flex-shrink:0;background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:var(--sh);padding:10px;max-height:calc(100dvh - 112px);overflow-y:auto}.dict-cats-h{font-size:11.5px;color:var(--sub);font-weight:700;padding:2px 4px 8px}.dict-cats-search{margin:0 2px 8px}.dict-cats-search input{width:100%;padding:7px 10px;font-size:12px}.dict-cats-empty{padding:18px 8px;text-align:center;font-size:12px;color:var(--sub)}.dict-cat{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:10px;border:none;background:none;cursor:pointer;font-family:inherit;font-size:12.5px;color:var(--text);line-height:1.4}.dict-cat:hover{background:var(--brand-soft)}.dict-cat.on{background:var(--brand-soft);color:var(--brand)}.dict-cat-main{display:flex;align-items:center;justify-content:space-between;gap:8px}.dict-cat-zh{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dict-cat-en{display:block;font-size:10.5px;color:var(--sub);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dict-cat.on .dict-cat-en{color:var(--brand)}.dict-cat-n{font-size:10.5px;color:var(--sub);flex-shrink:0}.dict-cat.on .dict-cat-n{color:var(--brand)}.dict-vals{flex:1;min-width:0}.dict-cats-m{margin-bottom:10px}.dict-cats-h-m{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--sub);font-weight:700;margin-bottom:7px}.dict-mcats{background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:var(--sh);padding:6px;max-height:min(42dvh,340px);overflow-y:auto;-webkit-overflow-scrolling:touch}.dict-mcats .dict-cat{padding:9px 10px}.dict-mcats .dict-cat+.dict-cat{margin-top:2px}.dict-mcats .dict-empty{padding:20px 10px;text-align:center;font-size:12.5px;color:var(--sub)}.kpair{display:grid;grid-template-columns:1fr 2fr;gap:14px;margin-top:14px}.kpair:first-of-type{margin-top:0}@media(max-width:1023px){.kpair{grid-template-columns:1fr;gap:10px}}.src-seg{display:inline-flex;align-items:center;gap:14px}.src-seg .src-opt{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.src-seg .src-opt input[type=radio]{width:14px;height:14px;accent-color:var(--brand);cursor:pointer;margin:0}.ach-hit{cursor:pointer;transition:opacity .16s ease}.ach-hit:hover{opacity:.82}.pd-list{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.pd-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--line)}.pd-item:first-child{border-top:0}.pd-main{flex:1 1 auto;min-width:0}.pd-t1{font-size:13px;color:#16233a;font-weight:600;line-height:1.35;word-break:break-all}.pd-t2{font-size:12px;color:#6b7a90;line-height:1.35;margin-top:2px;word-break:break-all}.pd-side{flex:0 0 auto;text-align:right;white-space:nowrap}.pd-date{font-size:11.5px;color:#8a96a8}.pd-st{font-size:12px;font-weight:700;margin-top:3px}.pd-empty{padding:18px 12px;text-align:center;font-size:12.5px;color:#8a96a8}.tch-cards-2{grid-template-columns:repeat(3,1fr)}@media(max-width:1023px){.tch-cards-2{grid-template-columns:1fr}}.tch-cards-1{grid-template-columns:1fr}.tch-cards-sub{margin-top:6px}.print-head{display:none}@media print{body.printing{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}body.printing #sidebar,body.printing #tabbar,body.printing #drawer,body.printing .topbar,body.printing .dr-tabs,body.printing .dr-seg-dd,body.printing .src-seg,body.printing .ct-pager,body.printing #backBtn,body.printing #view .no-print{display:none!important}body.printing #main{margin:0!important;padding:0!important;width:100%!important;max-width:none!important}body.printing #view{padding:0!important;width:100%}body.printing .print-head{display:block;margin:0 0 12px;border-bottom:1px solid #DDE5F2;padding-bottom:8px}body.printing .print-head h1{font-size:18px;margin:0 0 4px;color:#16233a}body.printing .print-head .ph-sub{font-size:11.5px;color:#6b7a90;line-height:1.7}body.printing .card{break-inside:avoid;box-shadow:none!important;border:1px solid #DDE5F2;margin-bottom:12px}body.printing .kpair{break-inside:avoid}body.printing .sec-title,body.printing .tch-sec-title{break-after:avoid}}.reg-item{background:var(--brand-soft2);border:1px solid var(--line);border-radius:12px;padding:14px 12px 12px;margin-bottom:10px;position:relative}#regRewards .reg-item,#regSchoolAwards .reg-item{background:#fff9ec;border-color:#f3e6c8}.reg-del{position:absolute;top:12px;right:8px;width:22px;height:22px;border-radius:50%;border:none;background:#fff;color:var(--sub);font-size:14px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0f2a5614}.rw-thumbs,.pj-thumbs,.swa-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.rw-thumb{position:relative;width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.rw-thumb img{width:100%;height:100%;object-fit:cover;display:block}.rw-thumb .rw-x{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;border:none;background:#0f172a99;color:#fff;font-size:11px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.auth-extra{background:var(--brand-soft2);border:1px solid var(--line-2);border-radius:12px;padding:12px 12px 2px;margin:2px 0 14px}.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:520px){.auth-row{grid-template-columns:1fr}}.auth-form .cbx-pop{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;max-height:232px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-lg);display:none}.auth-form .cbx-pop.on{display:block}.cap-img{display:flex;align-items:center;justify-content:center;width:110px;height:40px;flex-shrink:0;border:1px solid var(--line);border-radius:12px;background:#f2f6fc;cursor:pointer;overflow:hidden}.cap-img svg{display:block;width:100%;height:100%}.auth-legal{font-size:11.5px;color:var(--sub);text-align:center;line-height:1.7;margin:10px 0 0;padding:0 2px}.auth-legal a{cursor:pointer;color:var(--brand);font-weight:600;white-space:nowrap}.legal-doc{font-size:12.5px;color:var(--text);line-height:1.8}.legal-doc .lg-meta{font-size:11.5px;color:var(--sub);background:var(--brand-soft2);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:8px 12px;margin-bottom:8px;line-height:1.6}.legal-doc h4{font-size:13px;font-weight:800;margin:14px 0 5px;padding-left:9px;border-left:3px solid var(--brand);line-height:1.4}.legal-doc p{margin:0 0 7px;color:var(--sub)}.legal-doc ul{margin:0 0 8px;padding-left:20px;color:var(--sub)}.legal-doc li{margin:0 0 3px}.legal-doc b{color:var(--text);font-weight:700}.legal-doc .lg-foot{margin-top:14px;padding-top:10px;border-top:1px dashed var(--line);font-size:11.5px;color:var(--gray)}.fm-card{margin-bottom:0}.avatar.avatar-img{padding:0;overflow:hidden;background:#dcebff}.avatar.avatar-img img{width:100%;height:100%;object-fit:cover;display:block}.fm-thumb{position:relative;min-width:0}.fm-thumb img{width:100%;height:100%;object-fit:cover;display:block}.fm-thumb-more{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#16233a73;color:#fff;font-weight:800;font-size:16px}.fm-gallery{display:grid;gap:6px;margin:9px 0;max-width:420px}.fm-gallery.single{display:inline-block;max-width:320px}.fm-gallery-item{border:none;padding:0;min-width:0;background:linear-gradient(135deg,#dcebff,#eef5ff);border-radius:10px;overflow:hidden;cursor:zoom-in;display:block}.fm-gallery.single .fm-gallery-item{max-width:320px;max-height:260px;border-radius:11px}.fm-gallery.single .fm-gallery-item img{display:block;width:auto;height:auto;max-width:100%;max-height:260px;object-fit:contain}.fm-gallery:not(.single) .fm-gallery-item{width:100%;aspect-ratio:1}.fm-gallery:not(.single) .fm-gallery-item img{display:block;width:100%;height:100%;object-fit:cover}.fm-gallery-item:hover img{opacity:.92}.mu-grid{display:flex;flex-wrap:wrap;gap:8px}.mu-item{position:relative;width:84px;height:84px;border-radius:11px;overflow:hidden;background:linear-gradient(135deg,#dcebff,#eef5ff)}.mu-item img{width:100%;height:100%;object-fit:cover;display:block}.mu-item.doc{width:100%;height:auto;min-height:56px;background:#f8fbff;border:1px solid var(--line)}.mu-doc{display:flex;align-items:center;gap:8px;padding:10px 34px 10px 12px;font-size:12.5px}.mu-doc-ic{font-size:18px}.mu-doc-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mu-doc-type{font-size:11px;color:var(--sub);background:var(--gray-bg);padding:2px 6px;border-radius:6px}.mu-x{position:absolute;top:4px;right:4px;width:20px;height:20px;border:none;border-radius:50%;background:#0f172a8c;color:#fff;font-size:13px;line-height:20px;text-align:center;cursor:pointer}.mu-item.doc .mu-x{top:50%;right:6px;transform:translateY(-50%);width:24px;height:24px;background:transparent;color:var(--sub);font-size:16px;line-height:24px}.mu-add{width:84px;height:84px;border:1.5px dashed #C9D8EE;border-radius:12px;background:#f8fbff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:#5b7bd5}.mu-add:disabled{opacity:.6;cursor:not-allowed}.mu-plus{font-size:24px;line-height:1}.mu-add-text{font-size:10.5px}.mu-uploading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1.5px dashed #C9D8EE;background:#f8fbff;color:var(--sub);font-size:10.5px}.mu-spin{font-size:18px}.mu-progress{padding:0 4px;text-align:center;line-height:1.4}.mu-input{display:none}.att-row{display:flex;align-items:center;gap:6px;min-height:34px}.att-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.mu-hint{font-size:11.5px;color:var(--sub);margin-top:6px;line-height:1.5}.fm-text{background:var(--brand-soft2);border-radius:10px;padding:10px;margin:9px 0;font-size:13px;color:#3a4a66;line-height:1.65;word-break:break-word}.fm-file{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:9px 0;background:#f8fbff;text-decoration:none;color:var(--text);font-size:12.5px}.fm-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-file-pick{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;border:1px dashed var(--line);border-radius:10px;background:#f8fbff;color:var(--text);font-size:12.5px;text-align:left;cursor:pointer}.fm-comments{margin-top:10px;border-top:1px dashed var(--line);padding-top:9px}.fm-cm{margin-bottom:8px}.fm-cm-body{font-size:12.5px;line-height:1.6;margin:2px 0;word-break:break-word}.fm-cm-reply,.fm-cm-del{padding:0 6px;font-size:10.5px;margin-left:6px;color:var(--brand)}.fm-cm-del{color:#ef4444}.fm-cm-kid{margin-top:7px;background:#f8faff;border-radius:8px;padding:6px 8px}.cm-input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;outline:none;font:inherit;font-size:12.5px}.cm-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.fm-at{color:var(--brand);font-weight:600}.fm-at-list{max-height:46dvh;overflow-y:auto;border:1px solid var(--line-2);border-radius:10px}.fm-at-row{display:flex;align-items:center;gap:9px;padding:9px 10px;border-bottom:1px solid var(--line-2);cursor:pointer;font-size:12.5px}.fm-at-row:last-child{border-bottom:none}.fm-at-name{flex:1;min-width:0}.pb-drop{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border:1.5px dashed #C9D8EE;border-radius:12px;background:#f8fbff;cursor:pointer}.pb-drop:active{background:var(--brand-soft2)}.pb-plus{font-size:26px;color:#5b7bd5;line-height:1}.pb-public{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);margin-top:8px;cursor:pointer}.pb-preview{width:84px;height:84px;object-fit:cover;border-radius:11px;display:block}.pf-lock{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pf-lock input[disabled]{flex:1;min-width:120px;background:var(--bg);color:var(--sub);opacity:.85}.pf-lock .lk{font-size:11px;color:var(--sub);white-space:nowrap}.mcp-guide{display:flex;gap:12px}.mcp-ico{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#13695a,#1c5fd0);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mcp-body{flex:1;min-width:0}.mcp-t{font-weight:700;font-size:14px;margin:0 0 4px}.mcp-rows{margin:8px 0}.mcp-rows .kv{margin-bottom:4px}.mcp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.mcp-tags .chip{justify-content:flex-start;flex-wrap:wrap;gap:2px 3px;white-space:normal}.mcp-tags .chip b{font-weight:inherit;white-space:nowrap}.mcp-tool{border-top:1px dashed var(--line);padding:8px 0;font-size:12.5px;line-height:1.6}.mcp-tool:first-child{border-top:none}.mcp-tool .mono{color:var(--brand);font-weight:700}.mcp-steps{display:flex;flex-direction:column;gap:14px;margin-top:8px}.mstep{display:flex;gap:12px}.mstep .mnum{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:13px}.mstep b{font-size:13.5px}.mstep p{margin:3px 0 0}.mcp-json{margin:8px 0 0;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.7;white-space:pre-wrap;word-break:break-all}.mcp-ask{margin:6px 0 0;padding:8px 11px;border-left:3px solid var(--brand);background:var(--brand-soft2);border-radius:0 var(--r) var(--r) 0;font-size:12.5px;line-height:1.65}.mstep code{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--bg);padding:1px 5px;border-radius:5px;color:var(--brand-dk);word-break:break-all}.tk-new{margin:0 0 12px;padding:10px 12px;border:1px solid #F3D19E;background:#fffbf0;border-radius:var(--r)}.tk-new .t{font-weight:700;font-size:13px;margin-bottom:6px;color:#8a5a00}.tk-token{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tk-token code{flex:1 1 200px;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--r-xs);padding:7px 9px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;word-break:break-all;color:var(--text)}.tk-scopes{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:2px}.tk-scopes label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.tk-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.tk-item{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px}.tk-item.off{opacity:.6}.tk-name{font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tk-meta{color:var(--sub);font-size:12px;margin-top:3px;line-height:1.6}.tk-meta .mono{font-family:ui-monospace,Menlo,Consolas,monospace}.tk-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tk-pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px;font-size:12px;color:var(--sub)}.tk-empty{padding:18px 0;text-align:center;color:var(--sub);font-size:13px}.contact-admin{margin:6px 0 4px;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}.contact-admin .ca-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.contact-admin .ca-ava{width:38px;height:38px;border-radius:10px;background:var(--brand-soft2);color:var(--brand);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:16px}.ca-tmpl{width:100%;min-height:108px;resize:vertical;margin-top:6px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;line-height:1.6;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--text);box-sizing:border-box}
