*{box-sizing:border-box}body{margin:0;color:#283322;font-family:Noto Sans SC,Microsoft YaHei,sans-serif;background:#fff;font-size:12px}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,.brand{font-family:"Noto Serif SC",Songti SC,serif;font-weight:500}h1{font-size:21px;margin:0 0 5px}h2{font-size:17px;margin:0 0 9px}p{margin:0;color:#75806d}.shell{display:flex;min-height:100vh}.sidebar{width:148px;flex:none;border-right:1px solid #e9e4d9;padding:24px 12px;position:relative}.brand{font-size:21px;letter-spacing:2px}.sidebar small{display:block;color:#75806d;font-size:9px;margin-top:3px}.sidebar nav{margin-top:35px;display:grid;gap:5px}.sidebar nav button{height:34px;border:0;background:#fff;text-align:left;padding:0 9px;color:#283322}.sidebar nav button.active{background:#5d7d3b;color:#fff}.side-foot{position:absolute;bottom:50px;color:#75806d;font-size:9px}.workspace{flex:1;min-width:0}.topbar{height:51px;border-bottom:1px solid #e9e4d9;display:flex;align-items:center;justify-content:space-between;padding:0 24px;color:#75806d;font-size:10px}.plain{border:0;background:transparent;color:#75806d}main{padding:24px;max-width:1440px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #e9e4d9}.page-title p{font-size:10px}.page-title>span{font-size:10px;color:#75806d}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #e9e4d9;padding:15px 0 14px;margin-bottom:16px}.metrics>div{padding-left:14px}.metrics label,.metrics small,.metrics strong{display:block}.metrics label{color:#75806d;font-size:10px}.metrics strong{font-size:24px;font-weight:400;margin:5px 0}.metrics small{color:#75806d;font-size:9px}.alert{background:#fdf5f2;color:#b44835;min-height:56px;display:flex;align-items:center;padding:10px 14px;gap:13px;margin-bottom:16px}.alert-icon{font-size:19px}.alert>div{flex:1}.alert b,.alert small{display:block}.alert small{font-size:9px;margin-top:3px}.primary{border:0;border-radius:18px;background:#5d7d3b;color:#fff;padding:8px 22px;min-width:110px}.outline{border:1px solid #e9e4d9;border-radius:18px;background:#fff;color:#283322;padding:7px 20px;min-width:92px}.small{min-width:62px;padding:5px 12px}.tools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.tabs{display:flex;gap:6px}.tabs button{border:0;background:transparent;color:#75806d;padding:5px 7px;font-size:10px}.tabs button.active{color:#fff;background:#5d7d3b}.tools input,.dialog input:not([type=checkbox]),.login-card input{border:1px solid #e9e4d9;background:#fffcf5;padding:9px 11px;outline:0}.tools input{width:240px;font-size:10px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:10px}th{background:#faf6eb;color:#75806d;font-weight:400;padding:10px 9px;white-space:nowrap}td{padding:11px 9px;border-bottom:1px solid #e9e4d9;white-space:nowrap}td b,td small{display:block}td b{font-weight:500}td small{font-size:9px;color:#75806d;margin-top:5px}.actions{white-space:nowrap}.actions button{margin-right:5px}.text-button{background:none;border:0;color:#5d7d3b;padding:5px 3px;font-size:10px}.red{color:#b44835!important}.empty{text-align:center;color:#75806d;padding:22px}.footnote{font-size:9px;margin-top:15px}.stats-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:14px;margin-bottom:16px}.panel{border:1px solid #e9e4d9;padding:18px;margin-bottom:0}.panel p,.panel small{font-size:10px}.cream{background:#faf6eb}.rank{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:10px}.rank span{color:#75806d}.rank b{min-width:64px;font-weight:400}.bar,.progress{height:8px;background:#faf6eb;flex:1}.bar i,.progress i{display:block;height:100%;background:#5d7d3b}.big-fraction{font-size:30px;margin:12px 0}.progress{margin:16px 0 8px;background:#eee9de}.customer-panel{margin-bottom:0}.customer-panel h2{margin-bottom:15px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#28332270;display:grid;place-items:center;padding:20px}.dialog{width:min(410px,100%);background:#fff;padding:24px;box-shadow:0 20px 80px #28332233}.dialog>p{font-size:11px;margin-bottom:16px}.dialog .detail{background:#faf6eb;padding:15px;margin:15px 0}.detail>div{display:flex;justify-content:space-between;margin:10px 0;font-size:11px}.detail span{color:#75806d}.detail b{font-weight:500}.dialog label{display:block;font-size:11px;margin:9px 0}.dialog input:not([type=checkbox]){display:block;width:100%;margin-top:7px;background:#fff}.caution{background:#fdf5f2;color:#b44835;padding:11px}.caution b{display:block;font-size:11px}.caution label{display:block;margin:8px 0 0}.dialog-actions{display:flex;gap:8px;margin:16px 0 8px}.dialog-actions button{flex:1;min-width:0}.dialog>small{color:#75806d;font-size:10px}.record{border-bottom:1px solid #e9e4d9;padding:10px 0;display:flex;gap:12px;justify-content:space-between;font-size:10px}.record b{font-weight:500}.invite{font-size:20px;letter-spacing:2px}.error{color:#b44835;margin-top:10px}.login-wrap{min-height:100vh;background:#fbf8f0;display:grid;place-items:center}.login-card{width:min(360px,90vw);padding:35px;background:#fff;box-shadow:0 10px 40px #28332216}.login-card small{color:#75806d}.login-card h1{margin-top:30px}.login-card p{margin:10px 0 18px}.login-card input{width:100%;margin-bottom:12px}.wide{width:100%}@media(max-width:800px){.sidebar{width:112px;padding:15px 7px}.brand{font-size:16px}.topbar{padding:0 12px}main{padding:15px}.metrics{grid-template-columns:repeat(2,1fr);gap:16px}.stats-grid{grid-template-columns:1fr}.tools{flex-wrap:wrap}.tools input{width:100%}}.officer-panel{margin-top:18px;padding:0 0 8px}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 18px}.panel-heading h2{margin:0}.panel-heading span{font-size:10px;color:#75806d}.officer-panel .table-wrap{padding:0 18px}.officer-panel table{font-size:11px}.state-chip{display:inline-block;border-radius:12px;background:#e8f1da;color:#5d7d3b;padding:4px 10px;font-size:10px}.state-chip.offline{background:#f3f1ea;color:#75806d}.state-chip.working{background:#fff0dc;color:#9a7039}.danger{color:#b44835}.officer-error{padding:10px 13px;background:#fdf5f2;margin:14px 0 0}
