*{box-sizing:border-box}body{color:#1d2922;background:#f6f7f5;margin:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.center,.login{place-items:center;min-height:100vh;display:grid}.login{background:linear-gradient(130deg,#e8ede7,#f9f8f3)}.login-card{background:#fff;border:1px solid #e4e7e2;border-radius:22px;width:min(420px,100vw - 40px);padding:42px;box-shadow:0 20px 70px #38513a1f}.qmark,.brand b{color:#fff;background:#205f45;border-radius:12px;place-items:center;font-size:24px;font-weight:800;display:grid}.qmark{width:48px;height:48px}.eyebrow{color:#62806e;letter-spacing:.12em;text-transform:uppercase;margin:16px 0 6px;font-size:12px;font-weight:700}.login h1{margin:0;font-size:28px}.login p{color:#657069;line-height:1.6}.login label,.card label{color:#546058;gap:6px;margin:14px 0;font-size:13px;font-weight:700;display:grid}.login input,.card input,.card select,.card textarea,.follow input,.follow select,.follow textarea{color:#1d2922;background:#fff;border:1px solid #dbe1db;border-radius:9px;padding:11px}.login button,.primary{color:#fff;background:#205f45;border:0;border-radius:9px;padding:12px 18px;font-weight:700}.login button{width:100%;margin-top:10px}.login small{color:#7a847e;margin-top:15px;line-height:1.5;display:block}.shell{grid-template-columns:228px 1fr;min-height:100vh;display:grid}.shell aside{color:#eaf0eb;background:#143b2b;flex-direction:column;gap:7px;padding:26px 16px;display:flex}.brand{align-items:center;gap:10px;margin:0 8px 26px;font-weight:800;display:flex}.brand b{width:34px;height:34px;font-size:18px}.brand small,.role small{color:#aec0b3;margin-top:3px;font-size:11px;font-weight:400;display:block}.nav{color:#c6d6cb;text-align:left;background:0 0;border:0;border-radius:8px;padding:11px 12px}.nav.active,.nav:hover{color:#fff;background:#286848}.role{border-top:1px solid #335746;margin-top:auto;padding:14px 12px;font-size:13px}.link{color:#d9ebdf;text-align:left;background:0 0;border:0;margin-top:12px;padding:0;font-size:12px}.content{width:100%;max-width:1450px;margin:auto;padding:32px max(30px,5vw)}.content header{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.content h1{margin:0;font-size:30px}.content h2{margin:0;font-size:20px}.search{background:#fff;border:1px solid #d8dfd7;border-radius:10px;width:100%;max-width:630px;margin-bottom:20px;padding:12px 15px}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.kpi,.panel{background:#fff;border:1px solid #e3e8e3;border-radius:14px}.kpi{padding:18px}.kpi p,.kpi small{color:#6b766e;margin:0;font-size:13px}.kpi strong{margin:8px 0;font-size:27px;display:block}.red,.overdue{color:#bd4c37!important}.panel{padding:20px}.panel-head{justify-content:space-between;margin-bottom:10px;display:flex}.panel-head p,.empty{color:#6d776f;font-size:13px}.row{text-align:left;width:100%;color:inherit;background:#fff;border:0;border-top:1px solid #edf0ed;grid-template-columns:22px 1fr auto;align-items:center;gap:14px;padding:15px 0;display:grid}.client{grid-template-columns:90px 1fr 58px 100px auto}.row strong{font-size:14px}.row p{color:#68736b;margin:5px 0 0;font-size:12px}.row em{color:#6c776f;text-align:right;font-size:12px;font-style:normal}.tag{color:#2b6948;white-space:nowrap;background:#e3ece3;border-radius:999px;padding:3px 7px;font-size:11px}.tag-A{color:#a85020;background:#fbe9da}.tag-B{color:#28628e;background:#e3effa}.tag-D{color:#696969;background:#eee}.notice{color:#ad3e32;background:#fff0ed;border-radius:8px;padding:10px 12px;font-size:13px}.modal{z-index:5;background:#10201988;padding:22px;position:fixed;inset:0;overflow:auto}.card,.cockpit{background:#fff;border-radius:18px;width:min(780px,100%);margin:5vh auto;padding:26px;position:relative}.cockpit{width:min(1100px,100%)}.close{color:#6d776f;background:0 0;border:0;font-size:27px;position:absolute;top:14px;right:18px}.formgrid{grid-template-columns:repeat(2,1fr);gap:0 16px;display:grid}.card textarea,.follow textarea{resize:vertical;min-height:76px}.cockpit-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0;display:grid}.cockpit-grid div{background:#f2f6f2;border-radius:10px;padding:13px}.cockpit-grid small{color:#728076;font-size:11px;display:block}.cockpit-grid strong{margin-top:5px;font-size:13px;line-height:1.5;display:block}.split{grid-template-columns:3fr 2fr;gap:25px;display:grid}.split h3{margin:22px 0 10px;font-size:15px}.timeline{border-left:2px solid #b8d4bf;padding:0 0 16px 13px}.timeline b{font-size:13px}.timeline p,.timeline small{color:#667169;font-size:12px;line-height:1.5}.timeline p{margin:5px 0}.secondary{color:#205f45;background:#fff;border:1px solid #89aa95;border-radius:8px;padding:9px 12px;font-weight:700}.follow{gap:9px;margin-top:12px;display:grid}.strategy .panel{line-height:1.8}.rule{border-top:1px solid #edf0ed;justify-content:space-between;gap:12px;padding:13px 0;font-size:13px;display:flex}.rule span{color:#68736b}.ruleform{border-top:1px solid #e5e9e5;margin-top:16px;padding-top:12px}@media (width<=800px){.shell{grid-template-columns:1fr}.shell aside{z-index:2;grid-template-columns:1fr repeat(5,auto);gap:4px;padding:12px;display:grid;position:sticky;top:0}.brand{margin:0}.brand span{display:none}.nav{padding:8px;font-size:11px}.role{display:none}.content{padding:22px 15px}.kpis{grid-template-columns:repeat(2,1fr)}.client{grid-template-columns:1fr auto}.client span:first-of-type,.client span:nth-of-type(2){display:none}.cockpit-grid{grid-template-columns:repeat(2,1fr)}.split,.formgrid{grid-template-columns:1fr}.row{grid-template-columns:22px 1fr auto}.row em{max-width:76px}.content h1{font-size:24px}.rule{display:block}.rule span{margin-top:5px;display:block}}
