:root{--brand:#0e7c86;--brand-2:#12a3b0;--brand-ink:#0a5c64;--accent:#2b6cb0;--ink:#1c2b36;--ink-2:#4a5b68;--ink-3:#7c8b98;--line:#e2e9ef;--line-2:#eef3f7;--bg:#f2f6f9;--card:#ffffff;--ok:#1a9c6b;--warn:#d98517;--danger:#d2402f;--info:#2b6cb0;--radius:12px;--shadow:0 1px 2px rgba(28, 43, 54, .05),0 8px 24px rgba(28, 43, 54, .05);--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box}body,html{margin:0;padding:0}body.app{font-family:"PingFang SC","Microsoft YaHei","Segoe UI",system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.6}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-2)}h1,h2,h3,h4{margin:0 0 8px;font-weight:600}.layout{display:flex;min-height:100vh}.sidebar{width:236px;flex:0 0 236px;background:linear-gradient(180deg,#0d3d47 0,#0a2f38 100%);color:#d5e6e9;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden}.brand{display:flex;align-items:center;gap:10px;padding:16px 16px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--brand-2),#16c0cf);color:#04262c;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px}.brand-txt strong{display:block;font-size:15px;color:#fff;letter-spacing:.5px}.brand-txt small{color:#8fb6bc;font-size:11px}.nav{flex:1;overflow-y:auto;padding:8px 8px 20px}.nav::-webkit-scrollbar{width:6px}.nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:3px}.nav-head{display:flex;align-items:center;gap:8px;width:100%;background:0 0;border:0;color:#9fc3c8;font-size:12px;padding:9px 10px 5px;cursor:pointer;letter-spacing:1px;font-family:inherit}.nav-head:hover{color:#fff}.nav-ico{font-size:13px}.nav-caret{margin-left:auto;transition:transform .18s;font-size:10px}.nav-group.collapsed .nav-items{display:none}.nav-group.collapsed .nav-caret{transform:rotate(-90deg)}.nav-item{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 10px 7px 26px;border-radius:8px;color:#cfe3e7;font-size:13px;margin:1px 0}.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}.nav-item.on{background:linear-gradient(90deg,rgba(18,163,176,.35),rgba(18,163,176,.1));color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--brand-2)}.nav-badge{background:var(--danger);color:#fff;border-radius:9px;font-size:10px;padding:1px 6px;font-style:normal}.user-box{padding:12px 16px;border-top:1px solid rgba(255,255,255,.08);font-size:12px}.u-name{color:#fff;font-weight:600;font-size:13px}.u-role{color:#8fb6bc;margin-bottom:6px}.u-links a{color:#9fc3c8;margin-right:12px}.u-links a:hover{color:#fff}.u-corp{margin-top:7px;padding-top:7px;border-top:1px dashed rgba(255,255,255,.1)}.u-corp .corp-link{color:#7ea7ad;font-size:11.5px}.u-corp .corp-link:hover{color:#fff}.nav-mask{display:none}.main{flex:1;min-width:0;display:flex;flex-direction:column;position:relative}.topbar{display:flex;align-items:center;gap:12px;padding:12px 22px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar-title{font-size:17px;margin:0}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px}.icon-btn{background:#fff;border:1px solid var(--line);border-radius:8px;width:32px;height:32px;cursor:pointer;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1}.icon-btn:hover{border-color:var(--brand);color:var(--brand)}.topbar .nav-toggle{display:none}html[data-sidebar=collapsed] .topbar .nav-toggle{display:inline-flex}.content{padding:18px 22px 34px;max-width:1500px;width:100%}.site-foot{padding:14px 22px 26px;color:var(--ink-3);font-size:12px}.site-foot .dot{margin:0 6px}.corp-link{color:var(--ink-3);text-decoration:none}.corp-link:hover{color:var(--brand);text-decoration:underline}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px}.card-h{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line-2)}.card-h h2,.card-h h3{margin:0;font-size:14px}.card-h .sub{color:var(--ink-3);font-size:12px}.card-h .right{margin-left:auto;display:flex;gap:8px;align-items:center}.card-b{padding:16px}.card-b.tight{padding:0}.grid{display:grid;gap:14px}.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.c5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid.c6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (max-width:1200px){.grid.c5,.grid.c6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.grid.c2,.grid.c3,.grid.c4,.grid.c5,.grid.c6{grid-template-columns:repeat(2,minmax(0,1fr))}}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi::after{content:"";position:absolute;right:-20px;top:-20px;width:70px;height:70px;border-radius:50%;background:rgba(18,163,176,.07)}.kpi .k-label{color:var(--ink-3);font-size:12px}.kpi .k-val{font-size:24px;font-weight:700;letter-spacing:-.4px;margin:2px 0;font-variant-numeric:tabular-nums}.kpi .k-val small{font-size:12px;font-weight:500;color:var(--ink-3);margin-left:4px}.kpi .k-sub{color:var(--ink-3);font-size:12px}.kpi.danger .k-val{color:var(--danger)}.kpi.warn .k-val{color:var(--warn)}.kpi.ok .k-val{color:var(--ok)}.kpi.brand .k-val{color:var(--brand)}.kpi a{font-size:12px}.table-wrap{overflow-x:auto}table.tb{width:100%;border-collapse:collapse;font-size:13px}table.tb td,table.tb th{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line-2);vertical-align:middle;white-space:nowrap}table.tb th{background:#f7fafc;color:var(--ink-2);font-weight:600;font-size:12px;position:sticky;top:0}table.tb tbody tr:hover{background:#f9fcfd}table.tb td.num,table.tb th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono)}table.tb td.wrap,table.tb th.wrap{white-space:normal;min-width:160px}table.tb tfoot td{font-weight:700;background:#f7fafc}table.tb .muted{color:var(--ink-3)}.empty{text-align:center;color:var(--ink-3);padding:34px 12px}.badge{display:inline-block;padding:1px 9px;border-radius:20px;font-size:12px;background:#eef3f7;color:var(--ink-2);border:1px solid var(--line)}.badge.ok,.badge.已付,.badge.已付款,.badge.已入库,.badge.已关闭,.badge.已出库,.badge.已分账,.badge.已回,.badge.已回款,.badge.已完工,.badge.已对账,.badge.已开,.badge.已执行,.badge.已收,.badge.已收票,.badge.已核销,.badge.已核销关闭,.badge.已核验,.badge.已结清,.badge.已结算,.badge.已缴,.badge.已调整,.badge.已退回,.badge.已退回待验证,.badge.有效,.badge.正常,.badge.验证通过{background:#e7f6ef;color:var(--ok);border-color:#c4e8d7}.badge.warn,.badge.处理中,.badge.待入库,.badge.待出库,.badge.待处理,.badge.待审批,.badge.待对账,.badge.待报名,.badge.待核验,.badge.待确认,.badge.待触发,.badge.待跟进,.badge.未验证,.badge.试算,.badge.跟进中,.badge.部分,.badge.部分付,.badge.部分回,.badge.部分收,.badge.部分退回,.badge.部分验证{background:#fdf3e3;color:var(--warn);border-color:#f3ddb8}.badge.danger,.badge.作废,.badge.已红冲,.badge.已触发,.badge.已驳回,.badge.待退回,.badge.未付,.badge.未回,.badge.未收,.badge.未缴,.badge.核验异常,.badge.逾期{background:#fdeceb;color:var(--danger);border-color:#f6cdc8}.badge.info,.badge.已中标,.badge.已开,.badge.已报价,.badge.已报名,.badge.已收票,.badge.已放弃,.badge.已登记,.badge.报价中,.badge.未中标,.badge.进行中{background:#e9f1fb;color:var(--info);border-color:#cddff5}.pill{display:inline-block;padding:1px 8px;border-radius:6px;font-size:12px;background:#f0f5f8;color:var(--ink-2)}.star{color:var(--warn)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;font-size:13px;font-family:inherit}.btn:hover{border-color:var(--brand);color:var(--brand)}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));border-color:transparent;color:#fff}.btn.primary:hover{filter:brightness(1.06);color:#fff}.btn.danger{border-color:#f0c6c1;color:var(--danger)}.btn.danger:hover{background:#fdeceb}.btn.sm{padding:4px 10px;font-size:12px}.btn.ghost{background:0 0}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.form-grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.c1{grid-template-columns:1fr}.fld{display:flex;flex-direction:column;gap:5px}.fld.full{grid-column:1/-1}.fld label{font-size:12px;color:var(--ink-2);font-weight:600}.fld label .req{color:var(--danger);font-style:normal}.fld input[type=date],.fld input[type=month],.fld input[type=number],.fld input[type=password],.fld input[type=search],.fld input[type=text],.fld select,.fld textarea{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:13px;font-family:inherit;background:#fff;color:var(--ink)}.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--brand-2);box-shadow:0 0 0 3px rgba(18,163,176,.12)}.fld textarea{min-height:74px;resize:vertical}.fld .hint{font-size:11px;color:var(--ink-3)}.radio-row{display:flex;gap:14px;flex-wrap:wrap}.radio-row label{display:inline-flex;align-items:center;gap:5px;font-weight:400}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end;padding:12px 16px;border-bottom:1px solid var(--line-2);background:#fbfdfe}.filters .fld{min-width:130px}.form-actions{margin-top:16px;display:flex;gap:10px}.alert{padding:10px 14px;border-radius:10px;margin-bottom:14px;font-size:13px}.alert-success{background:#e7f6ef;color:#12734f;border:1px solid #c4e8d7}.alert-error{background:#fdeceb;color:#a83326;border:1px solid #f6cdc8}.alert-info{background:#e9f1fb;color:#1f4f86;border:1px solid #cddff5}.alert-warn{background:#fdf3e3;color:#8a5a12;border:1px solid #f3ddb8}.note{background:#f7fafc;border-left:3px solid var(--brand-2);padding:9px 12px;border-radius:6px;color:var(--ink-2);font-size:12.5px;margin:10px 0}.muted{color:var(--ink-3)}.small{font-size:12px}.strong{font-weight:700}.danger-txt{color:var(--danger)}.ok-txt{color:var(--ok)}.mono{font-family:var(--mono)}.nowrap{white-space:nowrap}.tag{display:inline-block;background:#eef3f7;border-radius:6px;padding:1px 7px;font-size:11px;color:var(--ink-2);margin-right:4px}.pager{display:flex;gap:6px;align-items:center;padding:12px 16px;flex-wrap:wrap}.pager a{padding:4px 10px;border:1px solid var(--line);border-radius:7px;font-size:12.5px;color:var(--ink-2)}.pager a:hover{border-color:var(--brand);color:var(--brand)}.pager a.on{background:var(--brand);border-color:var(--brand);color:#fff}.pager .pg-info{margin-left:auto;color:var(--ink-3);font-size:12px}.pager .pg-gap{color:var(--ink-3)}.pager .pg-size{color:var(--ink-3);font-size:12px;display:inline-flex;align-items:center;gap:5px}.pager .pg-size select{width:auto;padding:3px 6px;border:1px solid var(--line);border-radius:7px;font-size:12.5px;background:#fff}.pager .pg-jump{color:var(--ink-3);font-size:12px;display:inline-flex;align-items:center;gap:5px}.pager .pg-jump input{width:56px;padding:3px 6px;border:1px solid var(--line);border-radius:7px;font-size:12.5px;text-align:center;font-family:inherit}.filters .date-quick .dq-row{display:flex;gap:5px;flex-wrap:wrap}.filters .date-quick .btn.sm{padding:4px 9px;font-size:12px}.timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--line)}.timeline li{position:relative;padding:0 0 15px 14px}.timeline li::before{content:"";position:absolute;left:-23px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--brand-2);border:2px solid #fff;box-shadow:0 0 0 2px var(--line)}.timeline .t-time{color:var(--ink-3);font-size:12px}.step-list{list-style:none;margin:0;padding:0;counter-reset:s}.step-list li{display:flex;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line-2)}.step-list .s-no{flex:0 0 96px;color:var(--brand-ink);font-weight:600;font-size:12.5px}.step-list .s-body{flex:1}.step-list .s-amt{font-family:var(--mono);font-weight:700}.settle-steps{width:100%;border-collapse:collapse;font-size:13px}.settle-steps th{background:#f7fafc;color:var(--ink-2);font-weight:600;font-size:12px;padding:8px 12px;text-align:left;border-bottom:1px solid var(--line-2)}.settle-steps td{padding:8px 12px;border-bottom:1px solid var(--line-2)}.settle-steps td.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.settle-steps th.num{text-align:right}.settle-steps tr.total td{background:#f0f9fa;font-weight:700}.settle-steps tr.hl td{background:#fff8e6;font-weight:700}.settle-steps tbody tr:hover td{background:#f9fcfd}.cash-check{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.mini-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;align-items:end}.dl{display:grid;grid-template-columns:132px 1fr;gap:7px 12px;font-size:13px}.dl dt{color:var(--ink-3)}.dl dd{margin:0}.section-title{font-size:13px;font-weight:700;color:var(--brand-ink);margin:18px 0 8px;padding-left:9px;border-left:3px solid var(--brand-2)}.section-title:first-child{margin-top:0}.err-page{display:flex;align-items:center;justify-content:center;min-height:100vh}.err-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:40px 48px;text-align:center;box-shadow:var(--shadow)}body.mobile{padding-bottom:calc(66px + env(safe-area-inset-bottom));font-size:15px}body.mobile .content{padding:12px 12px 80px;max-width:100%}.m-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(135deg,#0e7c86,#12a3b0);color:#fff;box-shadow:0 2px 10px rgba(14,124,134,.22)}.m-back{background:rgba(255,255,255,.16);border:0;color:#fff;width:34px;height:34px;border-radius:10px;font-size:20px;line-height:1;cursor:pointer}.m-title{font-size:16px;font-weight:600}.m-user{margin-left:auto;text-align:right;font-size:12.5px;line-height:1.25}.m-user span{display:block;color:#cdeef1;font-size:11px}.m-content{padding:12px 12px 20px}.mobile-tabs{position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 12px rgba(28,43,54,.06)}.mobile-tabs a{position:relative;text-align:center;padding:8px 0 10px;font-size:11px;color:var(--ink-3);font-weight:500}.mobile-tabs a.on{color:var(--brand);font-weight:700}.mobile-tabs .mi{display:block;font-size:19px;line-height:1.25}.mobile-tabs .m-plus{width:54px;height:54px;margin:0 auto 14px;border-radius:50%;border:3px solid #fff;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(14,124,134,.38)}.mobile-tabs .m-plus span{display:block;margin-top:-2px}.m-dot{position:absolute;top:4px;right:22%;background:var(--danger);color:#fff;border-radius:9px;font-size:10px;padding:0 5px;font-style:normal}.m-sheet-mask{position:fixed;inset:0;background:rgba(10,30,35,.45);opacity:0;pointer-events:none;transition:opacity .18s;z-index:50}body.sheet-open .m-sheet-mask{opacity:1;pointer-events:auto}.m-sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-radius:18px 18px 0 0;padding:14px 14px calc(16px + env(safe-area-inset-bottom));transform:translateY(102%);transition:transform .22s;max-height:84vh;overflow-y:auto}body.sheet-open .m-sheet{transform:translateY(0)}.m-sheet-h{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;margin-bottom:10px}.m-sheet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.m-sheet-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 4px;border-radius:12px;background:#f5fafb;border:1px solid #e2eef0;color:var(--ink);font-size:12px;text-align:center}.m-sheet-item span{font-size:22px}.m-sheet-foot{display:flex;gap:10px;justify-content:center;margin-top:14px}.m-sheet-corp{text-align:center;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line)}.m-sheet-corp .corp-link{font-size:12px}.m-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px;box-shadow:var(--shadow)}.m-card .row{display:flex;justify-content:space-between;gap:10px;padding:3px 0}.m-card .row .lb{color:var(--ink-3);font-size:12.5px}.m-card-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}.m-card-h strong{font-size:14.5px}.m-card-h .m-act{margin-left:auto;display:flex;gap:6px}.m-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.m-kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 12px;box-shadow:var(--shadow)}.m-kpi .lb{color:var(--ink-3);font-size:12px}.m-kpi .vl{font-size:21px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.m-kpi .vl.brand{color:var(--brand)}.m-kpi .vl.ok{color:var(--ok)}.m-kpi .vl.warn{color:var(--warn)}.m-kpi .vl.danger{color:var(--danger)}.m-big{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.m-big a,.m-big button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:76px;border-radius:14px;border:0;background:linear-gradient(135deg,#0e7c86,#12a3b0);color:#fff;font-size:14px;font-weight:600;box-shadow:0 4px 14px rgba(14,124,134,.22);cursor:pointer}.m-big a.ghost,.m-big button.ghost{background:#fff;color:var(--brand-ink);border:1px solid #cfe9ec;box-shadow:var(--shadow)}.m-big a span,.m-big button span{font-size:24px}body.mobile .fld input[type=date],body.mobile .fld input[type=number],body.mobile .fld input[type=password],body.mobile .fld input[type=search],body.mobile .fld input[type=text],body.mobile .fld select,body.mobile .fld textarea{padding:11px 12px;font-size:16px;min-height:46px}body.mobile .form-grid,body.mobile .form-grid.c3{grid-template-columns:1fr}body.mobile .btn{min-height:42px;justify-content:center}body.mobile .btn.block{width:100%}.m-submit{position:sticky;bottom:0;background:rgba(255,255,255,.94);backdrop-filter:blur(4px);padding:10px 0;margin-top:12px}.m-seg{display:flex;gap:6px;background:#eef3f7;padding:4px;border-radius:10px;margin-bottom:12px}.m-seg a{flex:1;text-align:center;padding:7px 0;border-radius:8px;font-size:13px;color:var(--ink-2);font-weight:500}.m-seg a.on{background:#fff;color:var(--brand);font-weight:700;box-shadow:var(--shadow)}.m-net{display:flex;align-items:baseline;gap:8px;background:#f2fbfc;border:1px dashed #a9dfe4;border-radius:10px;padding:10px 12px;margin:4px 0 10px}.m-net b{font-size:22px;color:var(--brand-ink);font-variant-numeric:tabular-nums}.photo-drop{border:1px dashed var(--brand-2);border-radius:12px;padding:22px;text-align:center;color:var(--ink-3);background:#f7fdfe}.photo-drop input{width:100%;font-size:13px}.scan-box{border:2px dashed var(--line);border-radius:12px;height:180px;display:flex;align-items:center;justify-content:center;color:var(--ink-3);background:#fbfdfe}.intro-body{background:#fff}.intro-hero{background:radial-gradient(1200px 400px at 20% -10%,rgba(18,163,176,.35),transparent),linear-gradient(135deg,#0d3d47,#0a2f38);color:#eaf5f6;padding:54px 26px}.intro-hero h1{font-size:30px;margin-bottom:10px}.intro-hero p{color:#a9cdd2;max-width:760px}.intro-wrap{max-width:1080px;margin:0 auto;padding:30px 26px 60px}.intro-wrap .grid{margin-top:8px}.intro-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--shadow)}.intro-card h3{color:var(--brand-ink)}.intro-card ul{margin:8px 0 0;padding-left:18px;color:var(--ink-2)}.intro-card li{margin:4px 0}.intro-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:10px}.intro-step{background:#f4fafb;border:1px solid #d9edef;border-radius:12px;padding:14px}.intro-step b{color:var(--brand-ink)}.intro-contact{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:10px;padding:20px 22px;border:1px solid #d9edef;border-radius:14px;background:linear-gradient(135deg,#f4fafb,#fff 60%)}.intro-contact .ic-main{flex:1 1 300px;min-width:260px}.intro-contact .ic-phone{font-size:24px;font-weight:700;color:var(--brand-ink);font-variant-numeric:tabular-nums}.intro-contact .ic-phone a{color:inherit;text-decoration:none}.intro-contact .ic-phone a:hover{text-decoration:underline}.intro-contact .ic-tag{font-size:12px;font-weight:400;color:#fff;background:var(--brand-2);border-radius:20px;padding:2px 10px;margin-left:8px;vertical-align:middle}.intro-contact .ic-actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}.intro-contact .ic-qr{margin:0;text-align:center;flex:0 0 auto}.intro-contact .ic-qr img{display:block;width:150px;height:150px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:5px}.intro-contact .ic-qr figcaption{color:var(--ink-3);font-size:12px;margin-top:6px}@media (max-width:620px){.intro-contact .ic-qr img{width:130px;height:130px}}@media (max-width:960px){#hs-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .2s;z-index:40;height:100vh}body.nav-open #hs-sidebar{transform:translateX(0)}body.nav-open .nav-mask{display:block;position:fixed;inset:0;background:rgba(10,30,35,.42);z-index:35}#hs-sidebar~.main .topbar .nav-toggle{display:inline-flex}.content{padding:14px}}html[data-skin=teal]{--brand:#0e7c86;--brand-2:#12a3b0;--brand-ink:#0a5c64;--accent:#2b6cb0}html[data-skin=navy]{--brand:#2c4a7c;--brand-2:#3f6bb0;--brand-ink:#22395f;--accent:#0e7c86}html[data-skin=amber]{--brand:#b26a12;--brand-2:#d98a17;--brand-ink:#8a5210;--accent:#0e7c86}html[data-skin=graphite]{--brand:#3d4a55;--brand-2:#5a6b78;--brand-ink:#2b343c;--accent:#0e7c86}html[data-skin=navy] body.app .sidebar{background:linear-gradient(180deg,#1c3050 0,#16263f 100%)}html[data-skin=amber] body.app .sidebar{background:linear-gradient(180deg,#4a3416 0,#38260f 100%)}html[data-skin=graphite] body.app .sidebar{background:linear-gradient(180deg,#28313a 0,#1e252b 100%)}html[data-skin=amber] .brand-mark{background:linear-gradient(135deg,#d98a17,#f0ab3c);color:#3a250a}html[data-skin=graphite] .brand-mark{background:linear-gradient(135deg,#5a6b78,#7d8d99);color:#fff}html[data-skin=navy] .brand-mark{background:linear-gradient(135deg,#3f6bb0,#5d8ad4);color:#fff}html[data-density=compact] table.tb td,html[data-density=compact] table.tb th{padding:5px 9px}html[data-density=compact] .card-b{padding:10px 12px}html[data-density=compact] .content{padding:12px 16px 26px}html[data-density=compact] body.app{font-size:13px}html[data-density=compact] .kpi{padding:10px 12px}html[data-density=compact] .kpi .k-val{font-size:21px}html[data-density=comfortable] table.tb td,html[data-density=comfortable] table.tb th{padding:13px 14px}html[data-density=comfortable] body.app{font-size:14.5px}html[data-density=comfortable] .content{padding:22px 26px 40px}html[data-sidebar=collapsed] #hs-sidebar{width:0;flex:0 0 0;overflow:hidden;border-right:0}.side-collapse{width:26px;height:26px;margin-left:auto;background:rgba(255,255,255,.08);border-color:transparent;color:#bfe0e4;font-size:15px}.side-collapse:hover{background:rgba(255,255,255,.18);color:#fff;border-color:transparent}html[data-sidebar=collapsed] .side-collapse{display:none}.side-tools{display:flex;flex-direction:column;gap:6px;padding:8px 12px 4px}.side-tools-row{display:flex;gap:6px}.nav-filter{width:100%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#dff1f3;border-radius:7px;font-size:12px;padding:6px 9px;font-family:inherit}.nav-filter::placeholder{color:#7fa4aa}.nav-filter:focus{outline:0;border-color:var(--brand-2);background:rgba(255,255,255,.12)}.nav-empty{display:none;padding:14px 12px;color:#8fb6bc;font-size:12px;text-align:center}.nav.filtering .nav-empty{display:block}.nav-group.hide{display:none}.nav-item.hide{display:none}.side-tool{flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#a8cbd0;border-radius:7px;font-size:11px;padding:4px 0;cursor:pointer;font-family:inherit}.side-tool:hover{background:rgba(255,255,255,.14);color:#fff}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow:visible}.quick-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:13px;cursor:pointer;font-family:inherit;text-decoration:none;position:relative;white-space:nowrap}.quick-btn:hover{border-color:var(--brand);color:var(--brand);background:#fbfefe}.quick-btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));border-color:transparent;color:#fff}.quick-btn.primary:hover{filter:brightness(1.06);color:#fff}.qb-ico{font-size:14px;line-height:1}.qb-caret{font-size:9px;opacity:.7;margin-left:1px}.qb-badge{position:absolute;top:-5px;right:-5px;background:var(--danger);color:#fff;border-radius:9px;font-size:10px;padding:0 5px;font-style:normal;line-height:15px}.quick-menu{position:relative}@media (max-width:1440px){.topbar-right .qb-txt{display:none}.topbar-right .quick-btn{padding:7px 9px}}@media (max-width:1100px){.topbar-right .qb-caret{display:none}}.quick-drop{position:absolute;right:0;top:calc(100% + 8px);min-width:196px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px rgba(28,43,54,.16);padding:6px;z-index:60;display:none}.quick-menu.open .quick-drop{display:block}.quick-drop a{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;color:var(--ink);font-size:13px}.quick-drop a:hover{background:#f3f9fa;color:var(--brand-ink)}.quick-drop .qd-head{padding:8px 10px 10px;border-bottom:1px solid var(--line-2);margin-bottom:5px;display:flex;flex-direction:column;gap:2px}.quick-drop-user{min-width:224px}.user-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;font-family:inherit}.user-chip:hover{border-color:var(--brand)}.uc-avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.uc-name{font-size:13px;color:var(--ink)}.role-switch{display:inline-flex;align-items:center;gap:6px}.role-switch .rs-label{font-size:11px;color:var(--ink-3);background:#f3f8fa;border:1px solid var(--line);border-radius:999px;padding:3px 9px;white-space:nowrap}.role-switch select{border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:12.5px;font-family:inherit;color:var(--ink);background:#fff;cursor:pointer;max-width:190px}.role-switch select:hover{border-color:var(--brand)}@media (max-width:1200px){.role-switch .rs-label{display:none}}.role-switch .rs-list{display:flex;gap:5px;flex-wrap:wrap}.role-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;color:var(--ink-2);cursor:pointer;font-family:inherit}.role-chip:hover{border-color:var(--brand);color:var(--brand)}.role-chip.on{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.drawer{position:fixed;inset:0;z-index:200}.drawer[hidden]{display:none}.drawer-mask{position:absolute;inset:0;background:rgba(12,32,38,.4);backdrop-filter:blur(1px)}.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(440px,92vw);background:#fff;box-shadow:-14px 0 40px rgba(20,40,48,.18);display:flex;flex-direction:column;animation:drawer-in .18s ease-out;transition:width .18s ease}.drawer-panel-sm{width:min(360px,92vw)}.drawer-panel[data-max="1"]{width:100vw;max-width:none}.drawer-panel[data-max="1"] .drawer-b{padding:20px 34px}@keyframes drawer-in{from{transform:translateX(24px);opacity:.6}to{transform:translateX(0);opacity:1}}.drawer-h{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);flex:0 0 auto}.drawer-h h3{margin:0;font-size:15px}.drawer-h .icon-btn{margin-left:auto}.drawer-b{padding:16px 18px;overflow-y:auto;flex:1}.drawer-b.prose p{margin:0 0 10px;color:var(--ink-2)}.deflist{margin:0;padding-left:18px;color:var(--ink-2)}.deflist li{margin:6px 0}.drawer-b .form-actions{position:sticky;bottom:-16px;background:#fff;padding-top:10px}.modal{position:fixed;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;padding:22px}.modal[hidden]{display:none}.modal-mask{position:absolute;inset:0;background:rgba(12,32,38,.42);backdrop-filter:blur(1px)}.modal-shell{position:relative;background:#fff;border-radius:14px;width:min(560px,94vw);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(20,40,48,.26);animation:modal-in .16s ease-out;transition:width .16s ease,max-height .16s ease}@keyframes modal-in{from{transform:translateY(8px) scale(.99);opacity:.55}to{transform:none;opacity:1}}.modal-shell.wide{width:min(960px,95vw)}.modal-shell[data-max="1"]{width:100%;max-height:100%;height:100%;border-radius:10px}.modal-h{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);flex:0 0 auto}.modal-h h3{margin:0;font-size:15.5px}.modal-h .m-sub{color:var(--ink-3);font-size:12px}.modal-h .m-tools{margin-left:auto;display:flex;align-items:center;gap:5px}.modal-btn-max[data-max="1"]{border-color:var(--brand);color:var(--brand);background:rgba(18,163,176,.1)}.modal-b{padding:16px 18px;overflow:auto;flex:1;min-height:0}.modal-b .content{padding:0;max-width:none}.modal-b .card{box-shadow:none;border:0;margin:0!important}.modal-b .card>.card-b{padding:0}.modal-b .card-h{padding-left:0;padding-right:0}.modal-b .filters,.modal-b .page-foot-back,.modal-b .toolbar{display:none}.modal-b .alert{margin-top:0}.modal-loading{padding:44px 10px;text-align:center;color:var(--ink-3);font-size:13px}.modal-f{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line);flex:0 0 auto}a[data-modal-open] .mo-hint{display:none}a[data-modal-open]:hover .mo-hint{display:inline;color:var(--brand);font-size:11px;margin-left:3px}.toast-wrap{position:fixed;top:74px;right:20px;z-index:300;display:flex;flex-direction:column;gap:8px}.toast{background:#fff;border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:10px;padding:10px 14px;font-size:13px;box-shadow:0 8px 24px rgba(28,43,54,.14);animation:toast-in .18s ease-out}.toast.ok{border-left-color:var(--ok)}.toast.err{border-left-color:var(--danger)}@keyframes toast-in{from{transform:translateY(-6px);opacity:0}to{transform:translateY(0);opacity:1}}.skin-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px}.skin-opt{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:12px}.skin-opt input{position:absolute;opacity:0;pointer-events:none}.skin-opt:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 2px rgba(18,163,176,.16)}.skin-swatch{width:100%;height:26px;border-radius:7px}.skin-default .skin-swatch,.skin-teal .skin-swatch{background:linear-gradient(135deg,#0e7c86,#12a3b0)}.skin-navy .skin-swatch{background:linear-gradient(135deg,#2c4a7c,#3f6bb0)}.skin-amber .skin-swatch{background:linear-gradient(135deg,#b26a12,#d98a17)}.skin-graphite .skin-swatch{background:linear-gradient(135deg,#3d4a55,#5a6b78)}.seg{display:inline-flex;gap:4px;background:#eef3f7;padding:3px;border-radius:9px}.seg-opt{position:relative}.seg-opt input{position:absolute;opacity:0;pointer-events:none}.seg-opt span{display:inline-block;padding:5px 12px;border-radius:7px;font-size:12.5px;color:var(--ink-2);cursor:pointer}.seg-opt:has(input:checked) span{background:#fff;color:var(--brand-ink);font-weight:600;box-shadow:0 1px 3px rgba(28,43,54,.1)}.qr-box{text-align:center}.qr-img{display:flex;justify-content:center;margin:12px 0 14px}.qr-img svg{border:1px solid var(--line);border-radius:10px;padding:8px;background:#fff}.qr-link{text-align:left}.qr-linkrow{display:flex;gap:8px;margin-top:5px}.qr-linkrow input{flex:1;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:12px;font-family:var(--mono);background:#fbfdfe}.page-foot-back{margin-top:18px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar .tb-search{display:flex;gap:6px;align-items:center;margin-left:auto}.toolbar .tb-search input{border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:13px;font-family:inherit;width:176px}.batch-bar{display:none;align-items:center;gap:10px;padding:9px 16px;background:#f0f9fa;border-bottom:1px solid #d5eef0;font-size:13px;color:var(--brand-ink);position:sticky;top:57px;z-index:5}.batch-bar.on{display:flex}.batch-bar .bb-count{font-weight:700}.batch-bar .bb-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}table.tb td.pick,table.tb th.pick{width:34px;text-align:center}table.tb tr.picked{background:#f2fbfc}.tb-tools{display:flex;gap:6px;align-items:center}.io-tip{color:var(--ink-3);font-size:12px}[data-lazy]{min-height:60px}.lazy-skel{padding:14px 16px}.lazy-skel span{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#eef3f7 25%,#f7fafc 37%,#eef3f7 63%);background-size:400% 100%;animation:skel 1.2s ease-in-out infinite;margin-bottom:9px}.lazy-skel span:nth-child(2){width:82%}.lazy-skel span:nth-child(3){width:64%}.lazy-skel span:nth-child(4){width:74%}.lazy-skel em{display:block;font-size:12px;color:var(--ink-3);font-style:normal;margin-top:4px}@keyframes skel{0%{background-position:100% 50%}100%{background-position:0 50%}}.lazy-err{padding:16px;color:var(--danger);font-size:13px}.load-more{text-align:center;padding:12px}.fld .err-msg{color:var(--danger);font-size:11.5px;display:none}.fld.bad input,.fld.bad select,.fld.bad textarea{border-color:var(--danger);background:snow}.fld.bad .err-msg{display:block}.fld .ok-mark{color:var(--ok);font-size:11.5px;display:none}.fld.good .ok-mark{display:block}.region-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fld input:disabled,.fld select:disabled{background:#f6f9fb;color:var(--ink-3)}.req-mark{color:var(--danger)}.link-btn{background:0 0;border:0;color:var(--brand);cursor:pointer;font-size:12.5px;padding:0 2px;font-family:inherit}.link-btn:hover{text-decoration:underline}.screen-wrap{background:linear-gradient(160deg,#071b23 0,#0a2a35 100%);border-radius:14px;color:#dff2f5;padding:18px 22px 22px;min-height:calc(100vh - 150px)}.screen-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.screen-head h1{font-size:22px;color:#fff;letter-spacing:1px;margin:0}.screen-head .sd-time{margin-left:auto;font-family:var(--mono);color:#7fc4cc}.screen-grid{display:grid;gap:14px}.screen-grid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.screen-card{background:linear-gradient(180deg,rgba(18,163,176,.1),rgba(7,27,35,.2));border:1px solid rgba(18,163,176,.24);border-radius:12px;padding:13px 15px}.screen-card .sc-label{color:#8fc3ca;font-size:12.5px}.screen-card .sc-val{font-size:27px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.screen-card .sc-val small{font-size:12px;color:#8fc3ca;font-weight:500;margin-left:4px}.screen-card a{color:#4fd0dd;font-size:12px}.screen-panel{background:rgba(9,32,40,.72);border:1px solid rgba(18,163,176,.2);border-radius:12px;padding:13px 15px;display:flex;flex-direction:column;min-height:0}.screen-panel h3{color:#cfeef1;font-size:14px;margin:0 0 9px}.screen-panel .fill{flex:1;min-height:0;overflow:hidden}.bar-list{list-style:none;margin:0;padding:0}.bar-list li{display:grid;grid-template-columns:92px 1fr 74px;gap:9px;align-items:center;padding:4px 0;font-size:12.5px}.bar-list .bl-bar{background:rgba(18,163,176,.18);border-radius:4px;height:9px;overflow:hidden}.bar-list .bl-bar i{display:block;height:100%;background:linear-gradient(90deg,#12a3b0,#4fd0dd)}.bar-list .bl-val{text-align:right;font-family:var(--mono);color:#b7e2e7}.screen-table{width:100%;border-collapse:collapse;font-size:12.5px}.screen-table th{color:#8fc3ca;font-weight:500;text-align:left;padding:5px 8px;border-bottom:1px solid rgba(18,163,176,.2)}.screen-table td{padding:5px 8px;border-bottom:1px solid rgba(18,163,176,.1);color:#d5eef1}.screen-table td.num{text-align:right;font-family:var(--mono)}.screen-foot{margin-top:14px;color:#6fa9b1;font-size:12px;text-align:center}.dash-fit .card{margin-bottom:12px}.dash-fit .grid{gap:12px}.dash-fit table.tb td,.dash-fit table.tb th{padding:6px 10px}.dash-fit .kpi{padding:11px 14px}.dash-fit .kpi .k-val{font-size:21px}@media (max-width:1400px){.screen-grid.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}.screen-full-btn{margin-left:10px}body.screen-full .nav-mask,body.screen-full .sidebar,body.screen-full .site-foot,body.screen-full .toast-wrap,body.screen-full .topbar{display:none!important}body.screen-full .content{padding:0;max-width:none}body.screen-full .main{height:100vh;overflow:hidden}body.screen-full .screen-wrap{min-height:100vh;height:100vh;border-radius:0;overflow:auto;display:flex;flex-direction:column}body.screen-full .screen-grid{flex:0 0 auto}.badge.已注销{background:#e7f6ef;color:var(--ok);border-color:#c4e8d7}.badge.未注销{background:#fdf3e3;color:var(--warn);border-color:#f3ddb8}.badge.注销中{background:#e9f1fb;color:var(--info);border-color:#cddff5}.badge.无需注销{background:#eef3f7;color:var(--ink-2);border-color:var(--line)}.badge.在库{background:#e9f1fb;color:var(--info);border-color:#cddff5}.badge.已售{background:#e7f6ef;color:var(--ok);border-color:#c4e8d7}.badge.已转移{background:#e7f6ef;color:var(--ok);border-color:#c4e8d7}.badge.待转移{background:#fdf3e3;color:var(--warn);border-color:#f3ddb8}.badge.已处置{background:#e7f6ef;color:var(--ok);border-color:#c4e8d7}.badge.已拆解报废{background:#fdeceb;color:var(--danger);border-color:#f6cdc8}.badge.维修自用{background:#e9f1fb;color:var(--info);border-color:#cddff5}.tag.warn{background:#fdf3e3;color:var(--warn)}.tag.ok{background:#e7f6ef;color:var(--ok)}.tag.danger{background:#fdeceb;color:var(--danger)}.row-form{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.row-form input,.row-form select{padding:3px 6px;font-size:12px}.print-only{display:none}.print-head{text-align:center;margin:0 0 10px}.print-head .ph-co{font-size:12px;letter-spacing:.2em;color:#6b7480}.print-head h1{font-size:19px;margin:.15em 0 .3em;letter-spacing:.05em}.print-head .ph-meta{display:flex;justify-content:space-between;font-size:12px;color:#4b5563;border-bottom:1.5px solid #1b1f27;padding-bottom:5px}@media print{@page{size:A4 landscape;margin:10mm}body.app,html{background:#fff!important}.print-only{display:block!important}.batch-bar,.btn,.date-quick,.drawer,.filters,.hs-watermark,.io-tip,.lazy-skel,.modal,.nav-mask,.page-foot-back,.pager,.pg-jump,.pick,.side-tools,.sidebar,.site-foot,.tb-search,.toast-wrap,.toolbar,.topbar,[data-no-print],button{display:none!important}.layout{display:block!important}.main{margin:0!important;margin-left:0!important;padding:0!important;width:auto!important;overflow:visible!important}.content{padding:0!important;max-width:none!important}.card,.kpi{break-inside:avoid;box-shadow:none!important;border:1px solid #c9ced6!important}.grid{gap:8px!important}.card-b{padding:8px 10px!important}table.tb{width:100%;font-size:11.5px}table.tb td,table.tb th{padding:4px 6px!important;border-bottom:1px solid #dfe3e8}table.tb thead th{background:#eef1f5!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}table.tb tbody tr:nth-child(2n) td{background:#fafbfc!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.badge,.tag{-webkit-print-color-adjust:exact;print-color-adjust:exact}a{color:inherit!important;text-decoration:none!important}.screen-wrap{box-shadow:none!important;border:0!important;background:#fff!important;color:#000!important}}