@import url('./font.css');
*{box-sizing:border-box}body{margin:0;background:#f3f5f3;color:#203638;font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:7px;padding:9px 15px;background:#17695e;color:#fff}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#e9efec;color:#254a44}button.danger{background:#ad443d}input,select,textarea{width:100%;border:1px solid #cfdad4;border-radius:6px;padding:10px;background:#fff;color:#203638}input:focus,select:focus,textarea:focus{outline:2px solid #bad5c9}textarea{min-height:92px;resize:vertical}label{display:block;font-weight:600;margin-bottom:14px}label small{display:block;font-weight:400;color:#70817b}.layout{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:100vh}.sidebar{background:#102c36;color:#fff;padding:26px 16px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-size:25px;font-weight:750;letter-spacing:3px;padding:0 10px;color:#e5c989}.subtitle{color:#b7cbc7;font-size:12px;padding:0 10px 25px}.navgroup{padding:13px 10px 4px;color:#88a9a7;font-size:11px;letter-spacing:2px}.nav{width:100%;display:flex;justify-content:space-between;text-align:left;margin:2px 0;background:transparent;color:#cbded9;padding:9px 12px}.nav.active{background:#274b51;color:#f5db9e}.main{padding:28px 36px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}.eyebrow{color:#788c83;font-size:11px;letter-spacing:2px}h1{font-size:26px;margin:3px 0;font-weight:650}h2{font-size:18px;margin:0 0 14px}h3{font-size:15px;margin:0 0 10px}.muted{color:#70817b}.tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.tools input{width:220px}.card{background:#fff;border:1px solid #e0e7e1;border-radius:10px;padding:22px;margin-bottom:18px;box-shadow:0 3px 12px #183a2d04}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.stat{background:#fff;border:1px solid #e0e7e1;border-radius:9px;padding:17px}.stat b{display:block;font-size:32px;font-weight:600;margin-top:6px;color:#17695e}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;background:#f7f9f6;font-size:12px;color:#77857e;font-weight:500}th,td{padding:13px 12px;border-bottom:1px solid #e9eee9}tbody tr:hover{background:#f9fbf8}td button{padding:5px 9px;background:#edf4ef;color:#17695e}.badge{display:inline-block;padding:3px 9px;border-radius:20px;background:#e8f2eb;color:#27714f;font-size:12px}.empty{padding:45px 15px;text-align:center;color:#88968d}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:15px;margin-top:16px}.notice{background:#fff7e5;color:#795f21;border-left:3px solid #d6b46b;padding:12px 16px;margin:12px 0}.error{background:#fff0ec;color:#ae3d30;padding:12px;border-radius:7px;margin-bottom:14px}.success{color:#17695e}.overlay{position:fixed;inset:0;z-index:1000;background:#102c3670;display:flex;align-items:center;justify-content:center;padding:25px}.dialog{width:min(780px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:12px;padding:26px}.dialog.wide{width:min(1000px,100%)}.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.span2{grid-column:1/-1}.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detailgrid div{padding:10px;background:#f7f9f6;border-radius:5px;overflow-wrap:anywhere}.detailgrid span{display:block;font-size:12px;color:#788b7f}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9f6;padding:14px}.timeline{border-left:2px solid #d4e3d9;padding-left:15px}.timeline p{margin:10px 0}.loginpage{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 10% 0,#31584c,#102c36 65%);padding:25px}.loginbox{width:420px;max-width:100%;padding:34px;background:#fff;border-radius:14px}.loginbox h1{margin:12px 0}.loginbox .brand{padding:0;color:#17695e}.loginbox button{width:100%}.client .layout{display:block}.client .sidebar{position:static;height:auto;padding:18px}.client .brand{font-size:20px}.client .subtitle{padding-bottom:10px}.client .navigation{display:flex;overflow:auto;gap:6px}.client .nav{min-width:max-content;width:auto}.client .navgroup{display:none}.client .main{max-width:1100px;margin:auto;padding:22px}.client .topbar h1{font-size:23px}.taskgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:15px}.task{background:#fff;border:1px solid #e0e7e1;border-radius:9px;padding:19px}.task h3{margin-top:10px}.progress{background:#e7eee8;border-radius:4px;height:7px;margin:14px 0}.progress i{display:block;height:100%;background:#318a72;border-radius:4px}.offline{position:sticky;top:0;background:#8b611e;color:white;padding:10px;text-align:center;z-index:100}.toast{position:fixed;right:25px;bottom:25px;z-index:2000;background:#102c36;color:#fff;box-shadow:0 5px 20px #0003;padding:14px 22px;border-radius:8px}.printonly{display:none}.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#76887d}@media(max-width:800px){.layout{grid-template-columns:175px minmax(0,1fr)}.main{padding:20px 15px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start}.formgrid{grid-template-columns:1fr}.span2{grid-column:auto}.overlay{padding:10px}.detailgrid{grid-template-columns:1fr}.tools input{width:150px}.client .topbar{flex-wrap:wrap}}@media print{.sidebar,.tools,button,.overlay,.toast,.pagination{display:none!important}.layout{display:block}.main{padding:0}.card,.stat{box-shadow:none;break-inside:avoid}.printonly{display:block}body{background:#fff}table{white-space:normal}}
