:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#28372f;background:#f6f5ef;font-synthesis:none;--green:#315f4a;--deep:#244b3a;--muted:#748078;--line:#e7e9e0;--surface:#fff;--sand:#efeee5;--accent:#d4e7cb}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-width:300px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a7cdb5;outline-offset:2px}.app{max-width:620px;min-height:100dvh;margin:auto;background:#f6f5ef;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.top{padding:calc(18px + env(safe-area-inset-top)) 22px 17px;display:flex;align-items:center;justify-content:space-between;background:#f6f5ef;position:sticky;top:0;z-index:4}.brand{display:flex;align-items:center;gap:10px}.brandmark{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--green);color:#fff;font-weight:700;font-size:18px}.brand strong,.brand small{display:block}.brand strong{font-size:15px;letter-spacing:.04em}.brand small{font-size:10px;color:var(--muted);margin-top:2px}.net{font-size:11px;padding:7px 9px;border-radius:20px;color:#64766a;background:#e9eee6}.net.offline{background:#f9e8d5;color:#8b5b32}main{padding:0 20px 28px}.eyebrow{color:#77907c;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700}.greeting{margin:14px 0 3px;font-size:28px;letter-spacing:-.03em}.subtitle{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 18px}.card{background:var(--surface);border:1px solid rgba(56,87,66,.06);border-radius:20px;padding:17px;margin-bottom:12px;box-shadow:0 5px 20px rgba(37,68,49,.035)}.hero{background:var(--green);color:white;padding:22px;position:relative;overflow:hidden}.hero:after{content:"✳";position:absolute;right:12px;top:-23px;font-size:115px;color:#ffffff0f}.hero .eyebrow{color:#b9d9c3}.hero strong{display:block;font-size:20px;margin:11px 0 5px}.hero p{font-size:12px;color:#d9e8dc;line-height:1.6;margin:0}.hero button{margin-top:15px;background:#fff;color:var(--green);border:0;border-radius:12px;padding:9px 14px;font-weight:700;font-size:12px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:25px 0 12px}.section-title h2{margin:0;font-size:17px}.section-title span{color:#91a097;font-size:11px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;background:white;border:1px solid #edf0e9;border-radius:18px;padding:15px;min-height:112px;color:inherit}.tile-icon{display:grid;place-items:center;border-radius:11px;background:#eaf1e7;color:var(--green);width:32px;height:32px;font-size:17px}.tile strong{font-size:14px}.tile small{color:var(--muted);line-height:1.35;font-size:11px}.row{display:flex;align-items:center;gap:12px}.row+.row{border-top:1px solid #f0f1eb;margin-top:12px;padding-top:12px}.grow{flex:1;min-width:0}.row-title{font-size:14px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.row-sub{color:var(--muted);font-size:12px;line-height:1.6;margin-top:3px;overflow-wrap:anywhere}.avatar{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:14px;background:#e9f1e7;color:var(--green);font-weight:700}.badge{font-size:10px;color:#51745b;background:#ebf3e8;padding:5px 8px;border-radius:20px;white-space:nowrap}.badge.orange{color:#9a6937;background:#fbefe0}.muted{font-size:12px;color:var(--muted);line-height:1.65}.empty{text-align:center;padding:24px 10px;color:var(--muted);font-size:13px;line-height:1.8}.screen-head{display:flex;justify-content:space-between;align-items:center;margin:12px 0 18px}.screen-head h1{font-size:24px;margin:0}.screen-head p{margin:5px 0 0;font-size:12px;color:var(--muted)}.button{border:0;border-radius:12px;padding:11px 14px;background:var(--green);color:white;font-weight:650;font-size:13px}.button.secondary{background:#e8efe6;color:var(--green)}.button.ghost{background:#f2f3ed;color:#5d6b61}.button.danger{background:#fff0ed;color:#b44d42}.button.small{padding:8px 10px;font-size:12px}.button:disabled{opacity:.55}.toolbar{display:flex;gap:8px;margin-bottom:12px}.toolbar>*{min-width:0}.toolbar input{flex:1}.toolbar select{max-width:120px}input,select,textarea{width:100%;border:1px solid #e1e7df;border-radius:11px;padding:11px 12px;background:#fcfdfb;color:#263a2b;font-size:14px}textarea{resize:vertical;min-height:90px;line-height:1.55}label.field{display:block;font-size:12px;font-weight:650;color:#53675a;margin:13px 0}label.field input,label.field textarea,label.field select{margin-top:6px}.check{display:flex;gap:9px;align-items:center;font-size:13px;margin:13px 0}.check input{width:auto;margin:0}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.link-button{padding:0;border:0;background:none;color:var(--green);font-weight:650;font-size:12px}.notice{background:#f1f6ec;border:1px solid #dfead9;color:#526a56;border-radius:15px;padding:12px;font-size:12px;line-height:1.65;margin-bottom:12px}.warn{background:#fff7e9;border-color:#f4e4c3;color:#896a41}.back{border:0;background:none;color:var(--green);padding:0;margin:7px 0 10px;font-size:13px;font-weight:650}.tabbar{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,620px);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,252,.97);border-top:1px solid #e9ede5;padding:8px 6px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(14px)}.tabbar button{border:0;background:none;color:#9aa59d;font-size:10px;padding:3px;display:flex;flex-direction:column;align-items:center;gap:2px}.tabbar button span{font-size:22px;line-height:25px}.tabbar button.active{color:var(--green);font-weight:700}dialog{border:0;border-radius:22px;width:min(calc(100% - 24px),560px);padding:0;max-height:min(88dvh,820px);box-shadow:0 15px 70px #0003}dialog::backdrop{background:#1a2b2380}#modalForm{padding:20px;overflow:auto;max-height:88dvh}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:19px}.icon-button{border:0;background:#f0f2ed;color:#52645a;font-size:22px;border-radius:10px;width:34px;height:34px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.error{color:#b33d35;font-size:12px;line-height:1.5}#toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#253f32;color:white;padding:10px 14px;border-radius:12px;font-size:12px;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}.fine{font-size:10px;color:#8e9a91;line-height:1.6}.big-stat{font-size:22px;font-weight:750;color:var(--green)}.divider{border:0;border-top:1px solid var(--line);margin:15px 0}a{color:var(--green)}.detail-list dt{color:var(--muted);font-size:11px;margin-top:13px}.detail-list dd{margin:4px 0 0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.line-clamp{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media(min-width:620px){.app{box-shadow:0 0 45px #28402d0d}}
