:root{--navy:#12325b;--navy-deep:#0b2342;--blue:#1677d2;--blue-hover:#0f65b7;--green:#1f9d68;--amber:#d58b16;--red:#c84444;--text:#1d2b3f;--sub:#5f6f82;--muted:#8a98a9;--line:#dce3eb;--line-light:#e9eef4;--surface:#fff;--bg:#f2f5f8;--side:248px;--side-mini:72px;--shadow:0 2px 10px rgba(25,48,78,.06);font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",Arial,sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}
html{min-width:320px;background:var(--bg)}
body{min-height:100vh;margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.55}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
.sidebar{position:fixed;inset:0 auto 0 0;z-index:50;display:flex;width:var(--side);flex-direction:column;background:var(--navy-deep);color:#d9e5f2;transition:.2s}
.sidebar-brand{display:flex;min-height:76px;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.09);background:var(--navy);overflow:hidden}
.sidebar-brand__mark,.login-brand__mark,.login-card__mark{display:grid;flex:0 0 auto;width:40px;height:40px;place-items:center;border-radius:9px;background:#fff;color:var(--navy);font-size:20px;font-weight:800}
.sidebar-brand__text{min-width:0;white-space:nowrap}.sidebar-brand__text strong,.sidebar-brand__text small{display:block}.sidebar-brand__text strong{color:#fff;font-size:15px}.sidebar-brand__text small{margin-top:3px;color:#aebfd2;font-size:11px}
.sidebar-scroll{flex:1;overflow-x:hidden;overflow-y:auto;padding:12px 10px 18px;scrollbar-width:thin;scrollbar-color:#3c5674 transparent}
.sidebar-nav,.planned-menu{display:grid;gap:4px}.nav-item,.nav-parent,.nav-child{position:relative;display:flex;min-height:42px;align-items:center;border-radius:6px;color:#c6d4e3;transition:.15s}
.nav-item,.nav-parent{gap:11px;padding:0 12px}.nav-item:hover,.nav-parent:hover,.nav-item.is-active,.nav-group.is-active>.nav-parent{background:rgba(39,134,217,.2);color:#fff}
.nav-item.is-active,.nav-group.is-active>.nav-parent{box-shadow:inset 3px 0 #42a5ff}.nav-icon{display:grid;flex:0 0 auto;width:26px;height:26px;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:6px;color:#d9eaff;font-size:12px;font-weight:700}
.nav-label{min-width:0;white-space:nowrap}.nav-chevron{margin-left:auto;color:#7790aa}.nav-children{margin:3px 0 3px 39px;border-left:1px solid rgba(255,255,255,.13)}
.nav-child{gap:9px;min-height:36px;padding:0 12px;color:#9fb2c7;font-size:13px}.nav-child:hover,.nav-child.is-active{color:#fff}.nav-child.is-active{background:rgba(39,134,217,.16)}.nav-child__dot{width:5px;height:5px;border-radius:50%;background:currentColor}
.nav-section-title{margin:22px 12px 8px;color:#6f88a2;font-size:11px;letter-spacing:.1em}.nav-item--planned{cursor:default;opacity:.58}.nav-item--planned:hover{background:transparent;color:#c6d4e3}.planned-badge{margin-left:auto;padding:1px 5px;border:1px solid rgba(255,255,255,.13);border-radius:8px;color:#91a6bc;font-size:10px;white-space:nowrap}
.sidebar-collapse{display:flex;min-height:48px;align-items:center;gap:12px;padding:0 19px;border:0;border-top:1px solid rgba(255,255,255,.09);background:#081d36;color:#9fb2c7;cursor:pointer}.sidebar-collapse:hover{color:#fff}.sidebar-collapse__icon{display:grid;width:24px;height:24px;place-items:center;font-size:22px;transition:.2s}
.app-main{min-height:100vh;margin-left:var(--side);transition:.2s}.toolbar{position:sticky;top:0;z-index:40;display:flex;height:60px;align-items:center;justify-content:space-between;gap:20px;padding:0 20px;border-bottom:1px solid var(--line-light);background:rgba(255,255,255,.98)}
.toolbar__left,.toolbar__right{display:flex;align-items:center}.toolbar__left{min-width:0;gap:12px}.toolbar__right{flex:0 0 auto;gap:10px}.toolbar-menu-button{display:none;width:36px;height:36px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--navy);cursor:pointer}
.breadcrumb{display:flex;min-width:0;align-items:center;gap:9px;color:var(--muted);white-space:nowrap}.breadcrumb a:hover{color:var(--blue)}.breadcrumb span:last-child{color:var(--text);font-weight:600}
.reserved-tools{display:flex;gap:5px;padding-right:10px;border-right:1px solid var(--line-light)}.reserved-tools button{width:30px;height:30px;border:0;border-radius:5px;background:transparent;color:#94a1b1}
.user-avatar{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#e7f2fc;color:var(--blue);font-weight:700}.toolbar-user{max-width:140px;overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.toolbar__right form{margin:0}.logout-button{padding:6px 10px;border:0;background:transparent;color:var(--sub);cursor:pointer}.logout-button:hover{color:var(--blue)}
.page-tabs{height:39px;padding:0 20px;border-bottom:1px solid var(--line);background:#fff}.page-tab{display:inline-flex;height:39px;align-items:center;padding:0 14px;border-bottom:2px solid var(--blue);color:var(--blue);font-size:13px;font-weight:600}.content-area{width:100%;padding:18px 20px 28px}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.page-heading h1,.detail-hero h1{margin:0;color:#17283d;font-size:22px;line-height:1.3}.page-heading p,.detail-hero p{margin:4px 0 0;color:var(--muted)}.record-summary{color:var(--sub)}.record-summary strong{color:var(--blue);font-size:17px}
.button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;padding:0 17px;border:1px solid transparent;border-radius:6px;cursor:pointer;font-weight:600;transition:.15s}.button--primary{border-color:var(--blue);background:var(--blue);color:#fff}.button--primary:hover{border-color:var(--blue-hover);background:var(--blue-hover)}.button--secondary{border-color:#cbd5e0;background:#fff;color:#42546a}.button--secondary:hover{border-color:var(--blue);color:var(--blue)}.button--full{width:100%}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metric-card{display:flex;min-width:0;align-items:center;gap:15px;padding:19px 20px;border:1px solid var(--line-light);border-radius:9px;background:#fff;box-shadow:var(--shadow)}
.metric-card__icon{display:grid;flex:0 0 auto;width:46px;height:46px;place-items:center;border-radius:9px;background:#e8f2fd;color:var(--blue);font-size:17px;font-weight:800}.metric-card--cyan .metric-card__icon{background:#e4f4f7;color:#168aad}.metric-card--amber .metric-card__icon{background:#fff4df;color:var(--amber)}.metric-card--green .metric-card__icon{background:#e7f6ef;color:var(--green)}
.metric-card small,.metric-card span{display:block;color:var(--muted)}.metric-card strong{display:block;margin:2px 0 1px;color:#14273d;font-size:28px;line-height:1.15}.metric-card div>span{font-size:12px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);gap:16px;margin-bottom:16px}.dashboard-grid--bottom{grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr)}
.panel,.filter-card,.table-card,.detail-panel,.detail-hero{border:1px solid var(--line-light);border-radius:9px;background:#fff;box-shadow:var(--shadow)}.panel{min-width:0;padding:18px}.panel-header{display:flex;min-height:37px;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px;padding-bottom:12px;border-bottom:1px solid var(--line-light)}
.panel-header h2,.filter-card__header h2,.detail-panel h2{margin:0;color:#20334a;font-size:16px}.panel-header p,.detail-panel header p{margin:2px 0 0;color:var(--muted);font-size:12px}.panel-header__meta{color:var(--muted);font-size:12px}
.ranking-list,.distribution-list{display:grid;gap:12px}.ranking-row{display:flex;align-items:center;gap:11px}.ranking-index{display:grid;flex:0 0 auto;width:24px;height:24px;place-items:center;border-radius:5px;background:#edf2f7;color:#65768a;font-size:12px;font-weight:700}.ranking-row:nth-child(-n+3) .ranking-index{background:#e2effc;color:var(--blue)}
.ranking-content{min-width:0;flex:1}.ranking-title,.distribution-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px}.ranking-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-title strong,.distribution-row strong{color:#314760}
.progress-track{height:6px;overflow:hidden;border-radius:4px;background:#e8eef4}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--blue)}.progress-track--light span{background:#46a3dd}.panel-empty{display:grid;min-height:110px;place-items:center;color:var(--muted)}
.sync-summary{display:grid;grid-template-columns:minmax(210px,.85fr) minmax(350px,1.4fr);gap:24px;align-items:center}.sync-time{padding-right:22px;border-right:1px solid var(--line-light)}.sync-time span,.sync-time small{display:block;color:var(--muted)}.sync-time strong{display:block;margin:7px 0;color:#20334a;font-size:17px}
.sync-counts{display:grid;grid-template-columns:repeat(5,minmax(50px,1fr));gap:8px;margin:0}.sync-counts div{text-align:center}.sync-counts dt{color:var(--muted);font-size:12px}.sync-counts dd{margin:3px 0 0;color:#20334a;font-size:18px;font-weight:700}
.quick-links{display:grid;gap:8px}.quick-links a{display:flex;align-items:center;gap:11px;padding:10px;border:1px solid var(--line-light);border-radius:7px}.quick-links a:hover{border-color:#bfd8ef;background:#f7fbff}.quick-link__icon{display:grid;width:34px;height:34px;place-items:center;border-radius:7px;background:#e7f2fc;color:var(--blue);font-weight:700}.quick-links a>span:nth-child(2){min-width:0;flex:1}.quick-links strong,.quick-links small{display:block}.quick-links small{color:var(--muted);font-size:12px}.quick-links b{color:#9aa8b7;font-size:20px}
.status-tag{display:inline-flex;min-height:23px;align-items:center;padding:1px 8px;border:1px solid #d7e2ed;border-radius:12px;background:#f1f5f9;color:#51647a;font-size:12px;font-weight:600;white-space:nowrap}.status-tag--success{border-color:#bfe6d4;background:#e9f7f1;color:#187a51}.status-tag--danger{border-color:#f0caca;background:#fceeee;color:#a63838}.status-tag--warning{border-color:#efdcae;background:#fff7e4;color:#98630d}.status-tag--muted{border-color:#d9dee4;background:#f2f3f5;color:#748091}
.filter-card{margin-bottom:14px;padding:15px 17px 17px}.filter-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.filter-card__header a{color:var(--blue);font-size:13px}.filter-grid{display:grid;grid-template-columns:minmax(210px,1.35fr) repeat(5,minmax(125px,1fr)) auto;gap:10px;align-items:end}.field{min-width:0}.field label{display:block;margin-bottom:5px;color:#4b5d72;font-size:12px;font-weight:600}
.field input,.field select{width:100%;height:36px;padding:0 10px;border:1px solid #cfd8e3;border-radius:5px;outline:none;background:#fff;color:var(--text)}.field input:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(22,119,210,.1)}.field input::placeholder{color:#a2adba}.filter-actions{display:flex;gap:7px}
.table-card{overflow:hidden}.table-scroll{max-height:calc(100vh - 313px);overflow:auto}.data-table{width:100%;min-width:1220px;border-collapse:separate;border-spacing:0;table-layout:fixed}.data-table th,.data-table td{padding:11px 12px;border-bottom:1px solid var(--line-light);text-align:left;vertical-align:middle}.data-table th{position:sticky;top:0;z-index:2;background:#eef3f8;color:#405269;font-size:13px;font-weight:700;white-space:nowrap}.data-table tbody tr:nth-child(even){background:#fafbfd}.data-table tbody tr:hover{background:#eef7ff}.data-table tbody tr:last-child td{border-bottom:0}
.data-table th:nth-child(1){width:58px}.data-table th:nth-child(2){width:180px}.data-table th:nth-child(3){width:150px}.data-table th:nth-child(4){width:270px}.data-table th:nth-child(5){width:90px}.data-table th:nth-child(6){width:105px}.data-table th:nth-child(7){width:90px}.data-table th:nth-child(8){width:80px}.data-table th:nth-child(9){width:135px}
.cell-index{color:var(--muted);text-align:center!important}.cell-company{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-two{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.45}.cell-time{color:var(--sub);white-space:nowrap}.table-link{color:var(--blue);font-weight:600}.table-link:hover{text-decoration:underline}.table-empty{height:190px;text-align:center!important}.table-empty strong,.table-empty span{display:block}.table-empty span{margin-top:5px;color:var(--muted)}
.pagination{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:14px;padding:10px 15px;border-top:1px solid var(--line-light);background:#fff}.pagination__summary{color:var(--sub)}.pagination__links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.page-link{display:grid;min-width:32px;height:32px;place-items:center;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#4c5e73}.page-link:hover{border-color:var(--blue);color:var(--blue)}.page-link.is-current{border-color:var(--blue);background:var(--blue);color:#fff}.page-link.is-disabled{cursor:not-allowed;color:#adb6c1}.page-link--wide{min-width:58px}
.detail-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:17px 20px}.detail-hero__title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.detail-hero p{max-width:1000px}.detail-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-panel{min-width:0;padding:17px 18px}.detail-panel:first-child,.detail-panel:last-child{grid-column:1/-1}.detail-panel header{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding-bottom:11px;border-bottom:1px solid var(--line-light)}.section-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:7px;background:#e7f2fc;color:var(--blue);font-weight:700}
.info-grid{display:grid;gap:16px 22px;margin:0}.info-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.info-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.info-grid__wide{grid-column:span 2}.info-grid dt{margin-bottom:4px;color:var(--muted);font-size:12px}.info-grid dd{min-height:22px;margin:0;color:#24374d;font-weight:600;overflow-wrap:anywhere}
.sidebar-overlay{display:none}html.sidebar-collapsed .sidebar{width:var(--side-mini)}html.sidebar-collapsed .app-main{margin-left:var(--side-mini)}html.sidebar-collapsed .sidebar-brand{justify-content:center;padding-inline:0}html.sidebar-collapsed .sidebar-brand__text,html.sidebar-collapsed .nav-label,html.sidebar-collapsed .nav-chevron,html.sidebar-collapsed .nav-section-title,html.sidebar-collapsed .planned-badge,html.sidebar-collapsed .nav-children{display:none}html.sidebar-collapsed .sidebar-scroll{padding-inline:9px;overflow:visible auto}html.sidebar-collapsed .nav-item,html.sidebar-collapsed .nav-parent{justify-content:center;padding:0}html.sidebar-collapsed .sidebar-collapse{justify-content:center;padding:0}html.sidebar-collapsed .sidebar-collapse__icon{transform:rotate(180deg)}
html.sidebar-collapsed .nav-item[title]:hover:after,html.sidebar-collapsed .nav-parent[title]:hover:after,html.sidebar-collapsed .sidebar-brand[title]:hover:after,html.sidebar-collapsed .sidebar-collapse[title]:hover:after{position:fixed;z-index:80;left:79px;padding:6px 9px;border-radius:5px;background:#17283d;color:#fff;content:attr(title);font-size:12px;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.login-page{min-height:100vh;background:#edf2f7}.login-layout{display:grid;min-height:100vh;grid-template-columns:minmax(420px,45%) minmax(420px,55%)}.login-brand-panel{display:flex;flex-direction:column;padding:38px 8vw 34px 5vw;background:var(--navy-deep);color:#fff}.login-brand{display:flex;align-items:center;gap:13px}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:18px}.login-brand small{margin-top:2px;color:#a9bfd6;font-size:12px}.login-brand__content{max-width:590px;margin:auto 0}.login-brand__content p{display:inline-block;margin:0 0 17px;padding-bottom:6px;border-bottom:2px solid #3e9fe8;color:#7fc2f3;font-weight:700;letter-spacing:.08em}.login-brand__content h1{margin:0 0 20px;color:#fff;font-size:clamp(36px,3.2vw,54px);line-height:1.35}.login-brand__content>span{display:block;max-width:510px;color:#bfd0e0;font-size:16px;line-height:1.9}.login-brand__footer{color:#718ba6;font-size:12px}
.login-form-panel{display:grid;place-items:center;padding:40px;background:#f7f9fb}.login-card{width:min(100%,420px);padding:38px 40px;border:1px solid #e2e8ef;border-radius:10px;background:#fff;box-shadow:0 12px 35px rgba(26,49,78,.1)}.login-card__heading{display:flex;align-items:center;gap:13px;margin-bottom:28px}.login-card__mark{background:var(--navy);color:#fff}.login-card__heading h2{margin:0;font-size:23px}.login-card__heading p{margin:3px 0 0;color:var(--muted)}.login-form{display:grid;gap:18px}.login-form .field label{font-size:14px}.login-form .field input{height:43px;padding:0 12px}.login-form .button{min-height:43px;margin-top:4px}.alert{margin-bottom:18px;padding:10px 12px;border:1px solid;border-radius:6px}.alert--error{border-color:#f0caca;background:#fceeee;color:#a63838}.login-card__support{margin:20px 0 0;color:var(--muted);font-size:12px;text-align:center}
@media(max-width:1360px){.filter-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}.field--search{grid-column:span 2}.metric-card{padding:16px}.metric-card div>span{display:none}}
.readonly-note{display:inline-block;margin-top:7px;color:var(--muted);font-size:12px}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-grid--bottom{grid-template-columns:1fr}.detail-sections{grid-template-columns:1fr}.detail-panel:first-child,.detail-panel:last-child{grid-column:auto}}
@media(max-width:900px){.sidebar{width:var(--side);transform:translateX(-100%);box-shadow:10px 0 30px rgba(0,0,0,.2)}.app-main,html.sidebar-collapsed .app-main{margin-left:0}html.sidebar-collapsed .sidebar{width:var(--side)}html.sidebar-collapsed .sidebar-brand__text,html.sidebar-collapsed .nav-label,html.sidebar-collapsed .nav-chevron,html.sidebar-collapsed .nav-section-title,html.sidebar-collapsed .planned-badge{display:initial}html.sidebar-collapsed .nav-children{display:block}html.sidebar-collapsed .nav-item,html.sidebar-collapsed .nav-parent{justify-content:flex-start;padding:0 12px}html.sidebar-mobile-open .sidebar{transform:translateX(0)}html.sidebar-mobile-open .sidebar-overlay{position:fixed;inset:0;z-index:45;display:block;border:0;background:rgba(8,25,46,.52)}.toolbar-menu-button{display:grid;place-items:center}.sidebar-collapse{display:none}.reserved-tools{display:none}.toolbar{padding-inline:14px}.content-area{padding-inline:14px}}
@media(max-width:680px){.toolbar-user{display:none}.breadcrumb{max-width:43vw;overflow:hidden;text-overflow:ellipsis}.page-heading,.detail-hero{align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr}.field--search{grid-column:auto}.filter-actions{grid-column:1/-1}.filter-actions .button{flex:1}.pagination{align-items:flex-start;flex-direction:column}.pagination__links{justify-content:flex-start}.sync-summary{grid-template-columns:1fr}.sync-time{padding:0 0 14px;border-right:0;border-bottom:1px solid var(--line-light)}.info-grid--two,.info-grid--three{grid-template-columns:1fr}.info-grid__wide{grid-column:auto}.login-layout{grid-template-columns:1fr}.login-brand-panel{min-height:230px;padding:25px}.login-brand__content{margin:35px 0 20px}.login-brand__content h1{font-size:29px}.login-brand__content>span,.login-brand__footer{display:none}.login-form-panel{padding:25px 18px 40px}.login-card{padding:28px 24px}}

