#app{background:#f5f5f5;min-height:100vh}.header[data-v-d235588c]{text-align:center;padding:60px 20px 40px}.header__title[data-v-d235588c]{font-size:32px;font-weight:600}.tabs[data-v-d235588c]{border-bottom:1px solid #f0f0f0;grid-template-columns:1fr 1fr;display:grid}.tab[data-v-d235588c]{text-align:center;color:#888;cursor:pointer;padding:16px;font-size:16px;transition:all .3s}.tab--active[data-v-d235588c]{color:#11998e;border-bottom:2px solid #11998e;font-weight:500}.calendar__day[data-v-8dc0b142]{flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:48px;display:flex}.day__num[data-v-8dc0b142]{font-size:14px;line-height:1}.day__icon[data-v-8dc0b142]{font-size:16px;line-height:1}.calendar__day--future[data-v-8dc0b142]{opacity:.4;cursor:not-allowed}.calendar__day--disabled[data-v-8dc0b142]{pointer-events:none}.form__item[data-v-a0bfc190]{margin-bottom:12px}*{box-sizing:border-box;margin:0;padding:0}html,body{-webkit-overflow-scrolling:touch;overflow-x:hidden}body{color:#000;-webkit-font-smoothing:antialiased;background:#f5f5f5;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:17px;line-height:1.6}.page{min-height:100vh;padding-bottom:70px;overflow-x:hidden}.header{color:#fff;background:linear-gradient(135deg,#11998e 0%,#38ef7d 100%);padding:50px 20px 30px;position:relative}.header__title{margin-bottom:8px;font-size:24px;font-weight:500}.header__subtitle{opacity:.8;font-size:14px}.card{background:#fff;border-radius:12px;margin:16px;overflow:hidden;box-shadow:0 2px 12px #00000014}.card__header{border-bottom:1px solid #f0f0f0;padding:16px;font-size:16px;font-weight:500}.card__body{padding:16px}.btn{text-align:center;cursor:pointer;border:none;border-radius:8px;outline:none;width:100%;padding:14px 24px;font-size:17px;font-weight:500;transition:all .3s;display:block}.btn-primary{color:#fff;background:#07c160}.btn-primary:active{background:#06ae56}.btn-default{color:#576b95;background:#fff;border:1px solid #576b95}.btn-danger{color:#fa5151;background:#fff;border:1px solid #fa5151}.form{padding:20px}.form__item{margin-bottom:20px}.form__label{color:#888;margin-bottom:8px;font-size:14px;display:block}.form__input{background:#fff;border:1px solid #e5e5e5;border-radius:8px;outline:none;width:100%;padding:14px;font-size:17px}.form__input:focus{border-color:#07c160}.calendar{background:#fff}.calendar__header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:16px;display:flex}.calendar__month{font-size:18px;font-weight:500}.calendar__nav{color:#576b95;cursor:pointer;background:0 0;border:none;outline:none;padding:8px 16px;font-size:14px}.calendar__weekdays{color:#888;text-align:center;background:#fafafa;grid-template-columns:repeat(7,1fr);padding:12px 0;font-size:14px;display:grid}.calendar__days{grid-template-columns:repeat(7,1fr);gap:4px;padding:8px;display:grid}.calendar__day{aspect-ratio:1;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.calendar__day--empty{cursor:default}.calendar__day--none{background:#f5f5f5}.calendar__day--yes{color:#fff;background:#38ef7d}.calendar__day--no{color:#fff;background:#fa5151}.calendar__day--today{font-weight:700;box-shadow:inset 0 0 0 2px #576b95}.stats{padding:10px 0}.stats__item{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:16px 0;display:flex}.stats__item:last-child{border-bottom:none}.stats__label{color:#888;font-size:16px}.stats__value{font-size:18px;font-weight:500}.stats__value--primary{color:#07c160}.stats__value--danger{color:#fa5151}.stats__value--large{color:#ff976a;font-size:28px}.tabbar{z-index:1000;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #e5e5e5;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar__item{color:#888;outline:none;flex-direction:column;align-items:center;padding:10px 0;font-size:12px;text-decoration:none;transition:color .3s;display:flex}.tabbar__item--active{color:#07c160}.tabbar__icon{justify-content:center;align-items:center;width:24px;height:24px;margin-bottom:4px;font-size:20px;display:flex}.list{background:#fff}.list__item{cursor:pointer;border-bottom:1px solid #f0f0f0;outline:none;align-items:center;padding:16px;transition:background .2s;display:flex}.list__item:active{background:#f5f5f5}.list__content{flex:1}.list__title{margin-bottom:4px;font-size:16px}.list__desc{color:#888;font-size:14px}.list__arrow{color:#c7c7cc;font-size:20px}.nickname{background:#fff3;border-radius:20px;align-items:center;padding:4px 12px;font-size:14px;display:inline-flex}.legend{justify-content:center;gap:24px;padding:16px;font-size:14px;display:flex}.legend__item{align-items:center;gap:8px;display:flex}.legend__dot{border-radius:50%;width:12px;height:12px}.legend__dot--none{background:#f5f5f5;border:1px solid #ddd}.legend__dot--yes{background:#07c160}.legend__dot--no{background:#fa5151}.toast{color:#fff;z-index:9999;text-align:center;background:#000000b3;border-radius:8px;max-width:80%;padding:12px 24px;font-size:14px;animation:.3s fadeIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog-mask{z-index:9998;background:#00000080;position:fixed;inset:0}.dialog{z-index:9999;background:#fff;border-radius:12px;width:80%;max-width:300px;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.dialog__title{text-align:center;padding:20px 20px 10px;font-size:18px;font-weight:500}.dialog__content{color:#888;text-align:center;padding:10px 20px 20px;font-size:15px}.dialog__buttons{border-top:1px solid #e5e5e5;grid-template-columns:1fr 1fr;display:grid}.dialog__button{text-align:center;cursor:pointer;background:0 0;border:none;outline:none;padding:14px;font-size:17px}.dialog__button:first-child{color:#888;border-right:1px solid #e5e5e5}.dialog__button:last-child{color:#576b95}@supports (padding-bottom:env(safe-area-inset-bottom)){.page{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.tabbar{padding-bottom:env(safe-area-inset-bottom)}}
