:root{--bg: #f4f6f3;--ink: #1c2422;--muted: #5b6763;--card: #fff;--line: #e0e6df;--jade: #1f6f64;--jade-dark: #14332e;--gold: #b9893d;--danger: #b42318;--ok: #157a4b;--shadow: 0 10px 30px rgba(20, 51, 46, .08)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{-webkit-text-size-adjust:100%}button,.btn{touch-action:manipulation;-webkit-user-select:none;user-select:none}button:active,.btn:active{opacity:.84}@media(pointer:coarse){input,select,textarea{font-size:16px!important}}.cs-accounts-page{min-width:0}.cs-account-card h3{overflow-wrap:anywhere}.cs-issued-code{margin-top:18px;padding:16px;background:#f1f6ee;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}.cs-issued-code input{font-family:ui-monospace,monospace;font-size:16px}.cs-registration input{min-height:48px;font-size:16px}body{font-family:Source Han Sans SC,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}a{color:var(--jade)}.page{max-width:1100px;margin:0 auto;padding:20px 16px 88px}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}.brand{display:flex;flex-direction:column}.brand b{font-size:20px;letter-spacing:.04em}.brand span{color:var(--muted);font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);margin-bottom:16px}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:1fr}@media(min-width:800px){.grid.two{grid-template-columns:1fr 1fr}.page{padding-bottom:40px}}label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}input[type=checkbox]{width:auto;margin-right:8px}fieldset{border:0;margin:0;padding:0;min-width:0}.review-card p{overflow-wrap:anywhere}textarea{min-height:88px;resize:vertical}.row{margin-bottom:14px}.actions{display:flex;flex-wrap:wrap;gap:10px}button,.btn{border:0;background:var(--jade-dark);color:#fff;border-radius:12px;padding:11px 16px;cursor:pointer}button.secondary,.btn.secondary{background:#e8efe9;color:var(--jade-dark)}button.danger{background:var(--danger)}button:disabled{opacity:.6;cursor:wait}.nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.nav button{background:#e7ece8;color:var(--ink)}.nav button.active{background:var(--jade);color:#fff}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:800px){.metrics{grid-template-columns:repeat(4,1fr)}}.metric{background:#f7faf7;border-radius:14px;padding:12px}.metric b{display:block;font-size:22px}.metric span{color:var(--muted);font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}.notice{color:var(--muted);font-size:13px;line-height:1.6}.error{color:var(--danger);margin:8px 0 0}.ok{color:var(--ok)}.login-wrap{min-height:100svh;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.login-card{width:min(420px,100%)}.wechat-login-option{margin-top:1.4rem}.login-method-divider{display:flex;align-items:center;gap:.8rem;color:#929b8d;font-size:.7rem;margin-bottom:1rem}.login-method-divider:before,.login-method-divider:after{content:"";height:1px;background:var(--line);flex:1}.wechat-login-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.8rem;background:#edf2e9;color:#5e7655;border:1px solid #dce5d7;font-size:.85rem}.wechat-login-button:disabled{opacity:1;cursor:not-allowed}.wechat-login-button span{font-size:.64rem;padding:.2rem .35rem;background:#e0e8da;border-radius:.25rem}.wechat-login-option .notice{font-size:.7rem;line-height:1.7;text-align:center}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#efe6d4;font-size:12px}.badge.missing{background:#f8d7da}h1,h2,h3{margin:0 0 12px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;background:#fffdf8f5;border-top:1px solid var(--line);display:flex;padding:8px}.bottom-nav button{flex:1;background:transparent;color:var(--ink);padding:10px 4px;font-size:13px}.bottom-nav button.active{color:var(--jade);font-weight:700}@media(min-width:800px){.bottom-nav{display:none}}.status-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.chip{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:13px;border:1px solid var(--line);background:#f3eee4;color:var(--ink)}button.chip{cursor:pointer}.chip.pending{background:#fff4d6}.chip.rejected{background:#f8d7da}.chip.approved{background:#d9f2e3}.chip.active{outline:2px solid var(--jade);font-weight:700}.review-card{border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;background:#fffaf1}.review-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.review-card p{margin:6px 0}@media(max-width:799px){.review-card,.metric{min-width:0}th,td{white-space:normal}}.dashboard-icon{width:1.2rem;height:1.2rem;flex:0 0 auto}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:5;padding:.8rem 1rem;background:#fff}.skip-link:focus{top:1rem}button,a,input,select,textarea{transition:background-color .16s ease,border-color .16s ease,color .16s ease}:focus-visible{outline:3px solid #77a792;outline-offset:3px}.app-shell{display:grid;grid-template-columns:14rem minmax(0,1fr);max-width:none;padding:0;align-items:start}.app-sidebar{position:sticky;top:0;display:flex;flex-direction:column;min-height:100dvh;padding:1.7rem 1.05rem 1.25rem;background:#fbfcfa;border-right:1px solid var(--line)}.sidebar-brand{display:flex;align-items:center;gap:.75rem;color:var(--ink);text-decoration:none;padding:0 .35rem 2.4rem}.sidebar-brand-mark{width:2.3rem;height:2.3rem;display:grid;place-items:center;background:var(--jade-dark);border-radius:.65rem;color:#fff}.sidebar-brand b{display:block;font-size:.94rem;letter-spacing:.02em}.sidebar-brand small{display:block;color:var(--muted);margin-top:.3rem;font-size:.65rem;letter-spacing:.06em}.nav-section-label{padding:0 .8rem .7rem;color:#879287;font-size:.68rem;letter-spacing:.1em}.app-sidebar .nav{display:flex;flex-direction:column;flex-wrap:nowrap;gap:.32rem;margin:0 0 2rem}.app-sidebar .nav button{display:flex;align-items:center;gap:.8rem;background:transparent;color:#657065;border-radius:.5rem;padding:.83rem .85rem;text-align:left;font-size:.84rem;font-weight:500}@media(hover:hover)and (pointer:fine){.app-sidebar .nav button:hover{background:#edf1eb}}.app-sidebar .nav button.active{background:#e4eee4;color:#205a40;font-weight:650}.sidebar-footer{display:flex;align-items:center;gap:.7rem;margin-top:auto;padding:1.2rem .3rem 0;border-top:1px solid var(--line)}.sidebar-avatar{display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:.65rem;background:#e7eae2;color:#3e5747;font-size:.85rem}.sidebar-footer strong{display:block;font-size:.78rem;font-weight:600}.sidebar-footer small{display:block;font-size:.63rem;color:var(--muted);margin-top:.3rem}.app-main{min-width:0;width:100%;max-width:100rem;padding:0 2.25rem 3rem;margin:0 auto}.app-toolbar{min-height:5.1rem;border-bottom:1px solid var(--line);margin-bottom:2rem}.toolbar-breadcrumb{display:flex;align-items:center;gap:.8rem;color:#8b958a;font-size:.76rem}.toolbar-breadcrumb span{color:#bac2b6}.toolbar-breadcrumb strong{color:#465343;font-weight:550}.toolbar-account{display:flex;align-items:center;gap:1rem;font-size:.75rem;color:var(--muted)}.toolbar-account button{background:none;color:var(--muted);border:1px solid var(--line);padding:.4rem .7rem;border-radius:.4rem;font-size:.73rem}.management-dashboard{display:grid;gap:1.35rem}.overview-heading{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.3rem}.dashboard-eyebrow{color:#82917f;font-size:.68rem;font-weight:550;letter-spacing:.06em}.overview-heading h1{font-size:clamp(1.6rem,2vw,2.15rem);line-height:1.25;letter-spacing:-.045em;font-weight:650;margin:.5rem 0 .7rem}.overview-heading p{font-size:.78rem;color:var(--muted);margin:0;line-height:1.6}.overview-dot{padding:0 .35rem;color:#a7b0a2}.overview-refresh{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);color:#52634f;padding:.65rem .85rem;border-radius:.5rem;font-size:.75rem;white-space:nowrap}@media(hover:hover)and (pointer:fine){.overview-refresh:hover{background:#eaf0e7}}.snapshot-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.overview-segments{display:flex;gap:.2rem;border:1px solid #dfe6dc;background:#e9eee6;padding:.2rem;border-radius:.55rem}.overview-segments button{padding:.4rem .95rem;background:transparent;color:#687763;border-radius:.4rem;font-size:.75rem}.overview-segments button.selected{background:#fff;color:#2e553b;box-shadow:0 1px 3px #203f2810;font-weight:600}.overview-status-filter{display:flex;align-items:center;gap:.65rem;margin:0;font-size:.73rem;color:var(--muted)}.overview-status-filter select{width:auto;padding:.5rem .6rem;border-radius:.5rem;color:#475944;font-size:.75rem}.overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.overview-kpi{min-width:0;background:#fff;border:1px solid var(--line);border-radius:.85rem;padding:1.2rem 1.25rem}.overview-kpi.kpi-primary{background:#e5efe6;border-color:#d2e2d3}.kpi-label{display:flex;justify-content:space-between;align-items:center;color:#5a6b56;font-size:.75rem;gap:.5rem}.kpi-label svg{color:#7f9277}.overview-kpi b{display:block;font-size:clamp(1.8rem,2.65vw,2.7rem);font-weight:600;line-height:1.25;letter-spacing:-.05em;margin:1.05rem 0 .55rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.overview-kpi b small{font-size:.72rem;font-weight:450;margin-left:.45rem;color:#7f8a79;letter-spacing:0}.overview-kpi>span{font-size:.65rem;color:#84907f;line-height:1.5}.pending-indicator,.empty-dot{width:.5rem;height:.5rem;border-radius:50%;background:#bb8a36;display:inline-block;flex:0 0 auto}.snapshot-footnote{display:flex;justify-content:space-between;font-size:.63rem;color:#929c8c;margin-top:.7rem}.overview-empty-banner{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;background:#edf0e7;border-radius:.65rem;color:#6c785f}.overview-empty-banner .empty-dot{background:#82996d}.overview-empty-banner p{flex:1;margin:0;font-size:.73rem;line-height:1.6}.overview-empty-banner button{background:none;color:#3c6345;display:flex;align-items:center;gap:.4rem;padding:0;font-size:.73rem;white-space:nowrap}.overview-main-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.25rem}.overview-panel,.overview-bottom-grid>.review-card{border:1px solid var(--line);background:#fff;border-radius:.85rem;padding:1.4rem;min-width:0;margin:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.panel-heading h2,.quick-actions h2{font-size:1rem;font-weight:600;margin:.4rem 0 0;letter-spacing:-.025em}.text-action{display:inline-flex;align-items:center;gap:.35rem;background:transparent;color:#587454;padding:.35rem 0;font-size:.72rem;white-space:nowrap}.text-action .dashboard-icon{width:1rem;height:1rem}@media(hover:hover)and (pointer:fine){.text-action:hover{color:#1f4b2b}}.reporting-headline{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:1rem}.reporting-headline strong{font-size:2rem;font-weight:600;font-variant-numeric:tabular-nums}.reporting-headline strong span{font-size:.82rem;font-weight:400;color:#94a08c}.reporting-percent{font-size:.7rem;color:#6a7b62}progress{appearance:none;-webkit-appearance:none;border:none;background:#edf1e9;border-radius:1rem;overflow:hidden;width:100%;height:.5rem;accent-color:#4c7954}progress::-webkit-progress-bar{background:#edf1e9;border-radius:1rem}progress::-webkit-progress-value{background:#4c7954;border-radius:1rem}progress::-moz-progress-bar{background:#4c7954;border-radius:1rem}.reporting-legend{display:flex;gap:1.3rem;font-size:.66rem;color:#889580;margin-top:.7rem}.reporting-legend span{display:flex;align-items:center;gap:.35rem}.reporting-legend i{width:.4rem;height:.4rem;border-radius:50%;background:#4c7954}.reporting-legend span:last-child i{background:#dce4d6}.overview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.7rem .5rem 1.1rem;min-height:9rem}.overview-empty>svg{width:2rem;height:2rem;color:#9aac90;margin-bottom:.65rem}.overview-empty strong{color:#62745b;font-size:.8rem;font-weight:500}.overview-empty p{max-width:23rem;font-size:.7rem;color:#96a08e;line-height:1.7;margin:.5rem 0}.panel-note{border-top:1px solid #eef1eb;margin:1rem 0 0;padding-top:.9rem;font-size:.64rem;line-height:1.7;color:#929d8b}.overview-count{min-width:1.8rem;height:1.8rem;display:grid;place-items:center;border-radius:.45rem;background:#f3eee1;color:#9c7a3c;font-size:.78rem;font-variant-numeric:tabular-nums}.pending-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;padding-bottom:.9rem;border-bottom:1px solid #edf1e8}.pending-categories>div{display:flex;flex-direction:column;gap:.6rem}.pending-categories span{color:#87957e;font-size:.66rem}.pending-categories b{font-size:1.25rem;font-weight:550;font-variant-numeric:tabular-nums}.team-progress-list{display:grid;gap:1.1rem;margin:1.65rem 0}.team-progress-row{display:grid;grid-template-columns:minmax(3rem,1fr) 1.3fr auto;align-items:center;gap:1rem;font-size:.74rem}.team-progress-row strong{font-weight:500;overflow-wrap:anywhere}.team-progress-row span{color:#84917c;font-size:.68rem}.pending-records{list-style:none;margin:.5rem 0;padding:0}.pending-records li{display:flex;align-items:center;gap:.7rem;padding:.8rem 0;border-bottom:1px solid #f1f3ef}.pending-record-icon{display:grid;place-items:center;width:2rem;height:2rem;background:#f0f3eb;border-radius:.5rem;color:#7b8d70;flex-shrink:0}.pending-records li>div{display:grid;gap:.3rem;flex:1;min-width:0}.pending-records strong{font-size:.72rem;font-weight:500;overflow-wrap:anywhere}.pending-records li>div>span{color:#9aa28f;font-size:.65rem}.pending-label{font-size:.62rem;color:#a88a50;white-space:nowrap}.production-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.production-metrics>div+div{border-left:1px solid #e8ede3;padding-left:1.3rem}.production-metrics span{display:block;color:#88967e;font-size:.68rem;line-height:1.5}.production-metrics b{display:block;font-weight:550;font-size:1.5rem;margin-top:.6rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.production-metrics small{font-size:.62rem;font-weight:450;margin-left:.3rem;color:#a2aa97}.overview-bottom-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.25rem}.overview-bottom-grid .review-card h3{font-size:1rem;font-weight:600}.overview-bottom-grid .notice{font-size:.71rem;color:#8b9683}.overview-bottom-grid .row{margin:1.2rem 0 0}.overview-bottom-grid .row label{font-size:.7rem}.overview-bottom-grid input{font-size:.72rem;background:#f9fbf7;margin-top:.4rem;border-radius:.45rem;padding:.65rem .7rem}.overview-bottom-grid .btn,.overview-bottom-grid .actions button{font-size:.7rem;padding:.5rem .65rem;border-radius:.4rem}.overview-bottom-grid .actions{margin-top:.6rem}.quick-actions h2{margin-bottom:1rem}.quick-actions>button{display:flex;align-items:center;width:100%;gap:.8rem;color:#4b6043;background:transparent;border-radius:.45rem;padding:.85rem .3rem;text-align:left;border-bottom:1px solid #eef1e9}@media(hover:hover)and (pointer:fine){.quick-actions>button:hover{background:#f2f6ee}}.quick-actions button>span{flex:1;display:grid;gap:.35rem}.quick-actions strong{font-size:.75rem;font-weight:550}.quick-actions small{font-size:.65rem;color:#97a08e}.overview-error{border:1px solid #e8d8c6;background:#fbf6ed;color:#8f5c3b;border-radius:.65rem;padding:1rem;font-size:.76rem}.overview-error p{margin:.5rem 0}.overview-error button{padding:.4rem .7rem;font-size:.7rem}@media(min-width:800px)and (max-width:1150px){.app-shell{grid-template-columns:12rem minmax(0,1fr)}.app-main{padding-right:1.5rem;padding-left:1.5rem}.overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-main-grid,.overview-bottom-grid{grid-template-columns:minmax(0,1fr)}.production-metrics{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:1.5rem}}@media(max-width:799px){.app-shell{grid-template-columns:minmax(0,1fr);padding-bottom:5.5rem}.app-sidebar{position:static;min-height:0;padding:1rem 1rem .35rem;border-right:0;border-bottom:1px solid var(--line)}.sidebar-brand{padding:0 .2rem 1rem}.sidebar-brand small,.sidebar-footer,.nav-section-label{display:none}.app-sidebar .nav{flex-direction:row;overflow-x:auto;margin:0;gap:.25rem;padding-bottom:.4rem}.app-sidebar .nav button{flex:0 0 auto;padding:.65rem .7rem;font-size:.72rem;gap:.45rem}.app-sidebar .nav button .dashboard-icon{width:1rem;height:1rem}.app-main{padding:0 1rem 1rem}.app-toolbar{min-height:3.6rem;margin-bottom:1.5rem}.toolbar-account>span{display:none}.management-dashboard{gap:1rem}.overview-heading{align-items:start}.overview-heading p{font-size:.7rem}.overview-heading h1{font-size:1.7rem}.overview-refresh{font-size:.65rem;padding:.6rem;margin-top:1.5rem}.snapshot-controls{gap:.5rem;flex-wrap:wrap}.overview-status-filter{font-size:.66rem;gap:.35rem}.overview-segments button{padding:.45rem .75rem}.overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.overview-kpi{padding:1rem .85rem}.overview-kpi b{font-size:1.85rem}.overview-kpi>span{font-size:.59rem}.overview-main-grid,.overview-bottom-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.overview-panel,.overview-bottom-grid>.review-card{padding:1.1rem}.overview-empty-banner{flex-wrap:wrap}.overview-empty-banner button{margin-left:1.2rem;font-size:.65rem}.production-metrics{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.3rem}.production-metrics>div+div{padding-left:0;border:0}.panel-heading{gap:.6rem}.panel-heading h2{font-size:.95rem}.text-action{font-size:.66rem}.bottom-nav{z-index:3;padding-bottom:max(.5rem,env(safe-area-inset-bottom));background:#fcfdf9f5}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
