:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#253430;background:#f5f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.shell{max-width:1240px;padding:0 36px;margin:auto}header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e8e5}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit;font-size:20px;font-weight:750;letter-spacing:1px}.brand small{display:block;color:#8a9692;font-size:9px;letter-spacing:1.7px;margin-top:5px}.logo{background:#234e41;color:white;width:43px;height:43px;display:grid;place-content:center;border-radius:13px;font-size:28px;position:relative}.logo span{position:absolute;right:7px;bottom:6px;color:#b9df9b}.live{display:flex;gap:9px;align-items:center;font-size:12px;color:#76847d}.live i{width:6px;height:6px;border-radius:50%;background:#71a38b}button,select{font:inherit;cursor:pointer;color:inherit}button{background:transparent;border:1px solid #e1e7e3;border-radius:8px;padding:5px 10px}button:hover{background:#e7efea}button:disabled{opacity:.35;cursor:default}.live button{font-size:21px;margin-left:10px}main{padding-top:42px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2.2px;color:#729383;font-weight:700}h1{font-size:32px;letter-spacing:-1px;font-weight:650;margin:12px 0}h1 span{color:#6d9478}.intro p{color:#849089;font-size:13px;margin:0}.intro time{color:#7f8a84;font-size:13px}.overview{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px}.card{background:white;border:1px solid #e5eae7;border-radius:15px;box-shadow:0 3px 8px #19352c02}.today{padding:23px;background:#edf4ed;border-color:#dce7dc;display:flex;flex-direction:column;justify-content:space-between}.card-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#6b7e71;gap:10px}.pill{background:#d9eadb;color:#3e7754;padding:4px 9px;border-radius:5px;font-size:10px;white-space:nowrap}.today-main{display:flex;gap:14px;align-items:center;margin:22px 0}.check{background:#d6e8d5;color:#42764e;font-size:27px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.today h2{font-size:21px;margin:0 0 6px}.today p{font-size:11px;color:#7a8d7d;margin:0}.today-bottom{border-top:1px solid #dce6db;padding-top:15px;display:flex;justify-content:space-between;gap:5px;font-size:10px;color:#7b8c7c}.today-bottom strong{font-weight:500;color:#49684e}.metric{padding:23px 20px}.mini-icon{color:#98aba0;font-size:22px}.number{display:flex;align-items:baseline;gap:8px;margin-top:27px;font-size:42px;font-weight:600;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}.number small{font-size:12px;font-weight:400;letter-spacing:0;color:#8b978e}.metric p{font-size:10px;color:#9aa39e;margin-top:16px}.columns{display:grid;grid-template-columns:2.12fr 1fr;gap:20px;margin:23px 0}.calendar-card,.summary{padding:26px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-head h2{font-size:16px;margin:0;font-weight:650}.section-head p{font-size:11px;color:#98a19c;margin:8px 0 0}.month-nav{display:flex;gap:15px;align-items:center;font-size:12px}.month-nav button{font-size:18px;padding:2px 9px}.week,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.week{margin-top:27px;margin-bottom:13px;text-align:center;color:#99a59e;font-size:11px}.day{min-height:53px;border:0;border-radius:8px;background:#f7f9f8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:12px;font-variant-numeric:tabular-nums}.day small{font-size:8px;color:#9aa59e}.day.success,.day.signed{background:#e8f2e8;color:#42764c}.day.success small,.day.signed small{color:#75a07b}.day.failed{background:#fcf0e9;color:#ad734b}.day.current{outline:1.5px solid #527f59;outline-offset:-1.5px}.day.future{background:transparent;color:#c9d0cc}.legend{display:flex;gap:16px;align-items:center;font-size:10px;color:#8c9890;margin-top:22px}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:7px;height:7px;border-radius:2px}.success-dot{background:#b0d1ae}.failed-dot{background:#e8b28e}.empty-dot{background:#e8ece9}.month-summary{margin-left:auto}.day-detail{margin-top:16px;padding-top:14px;border-top:1px solid #eef1ee;font-size:11px;color:#7c8e80;min-height:32px}.month-big{margin:31px 0 15px;display:flex;align-items:baseline;gap:10px}.month-big span{font-size:48px;letter-spacing:-2px}.month-big small{color:#8d9a91;font-size:12px}.progress{height:5px;background:#edf1ed;border-radius:4px;margin-bottom:26px;overflow:hidden}.progress span{display:block;height:100%;background:#88af87;border-radius:4px}.summary-row{display:flex;justify-content:space-between;font-size:12px;margin:19px 0;color:#8a978e}.summary-row strong{font-weight:500;color:#4e6555}.routine{margin-top:27px;border-top:1px solid #e9eeea;padding-top:24px}.routine h3{font-size:20px;line-height:1.6;font-weight:500;margin:10px 0;color:#607b66}.routine p{font-size:11px;line-height:1.9;color:#96a196}.history{padding:26px;margin-bottom:30px}.history select{font-size:11px;background:white;border:1px solid #e2e8e3;border-radius:7px;padding:8px 13px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;margin-top:23px;text-align:left;white-space:nowrap;font-size:12px}th{font-weight:400;color:#929f96;font-size:10px;background:#f8faf8;padding:12px 15px}td{padding:16px 15px;border-bottom:1px solid #f0f3f0;color:#718078;font-variant-numeric:tabular-nums}td:first-child{color:#435a4c}td:last-child{color:#649366}.badge{font-size:10px;padding:4px 8px;background:#edf5ed;color:#5e8a64;border-radius:4px}.badge.failed{background:#fff0e6;color:#ae764f}.badge.pending,.badge.unconfirmed{background:#f0f2f3;color:#8c9390}.more{display:block;margin:18px auto 0;font-size:12px}[hidden]{display:none!important}footer{display:flex;justify-content:space-between;color:#a1aba5;font-size:10px;padding:0 0 30px}.separator{margin:0 10px;color:#c5cdc7}.notice{background:#fff3df;color:#92682e;font-size:12px;padding:13px 18px;border-radius:9px;margin-bottom:18px}button:focus-visible,select:focus-visible{outline:2px solid #477e5c;outline-offset:3px}@media(min-width:1100px){.today{min-width:350px}}@media(max-width:1000px){.overview{grid-template-columns:repeat(3,1fr)}.today{grid-column:1/-1}.today-main{margin:16px 0}.columns{grid-template-columns:1.7fr 1fr}.calendar-card,.summary{padding:20px}.number{font-size:36px}}@media(max-width:680px){.shell{padding:0 18px}header{height:82px}.brand{font-size:17px}.live{font-size:10px;gap:6px}.intro{display:block}.intro time{display:block;margin-top:16px;font-size:11px}main{padding-top:29px}h1{font-size:27px}.overview{gap:9px}.metric{padding:16px 12px}.card-label{font-size:10px}.mini-icon{font-size:17px}.number{font-size:30px;margin-top:15px;gap:4px}.number small{font-size:10px}.metric p{line-height:1.6;font-size:9px;margin-bottom:0}.columns{grid-template-columns:1fr;gap:16px;margin:16px 0}.summary{display:none}.calendar-card{padding:20px 14px}.month-nav{gap:7px}.day{min-height:48px}.week,.calendar{gap:4px}.legend{gap:11px}.history{padding:20px 14px}.history .section-head p{max-width:220px;line-height:1.6}td,th{padding:13px 12px}footer{display:block;line-height:2}.intro{margin-bottom:23px}}
