.habits-page,.habit-checklist{min-width:0}.habit-checklist{--habit-radius:20px}.habit-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.habit-section-heading h2{font-size:20px;font-weight:500;line-height:1.65}.habit-section-heading p{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.7}.habit-section-heading .btn{min-height:44px}.habit-section-heading .text-button{align-items:center;gap:4px;min-height:44px;font-size:12px;display:inline-flex}.habit-summary{background:linear-gradient(110deg, var(--primary-soft), var(--card));border:1px solid var(--primary-border);border-radius:var(--habit-radius);grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;padding:27px 30px;display:grid;position:relative;overflow:hidden}.habit-summary>div{z-index:1;min-width:0;position:relative}.habit-summary>div+div{border-left:1px solid var(--primary-border);padding-left:30px}.habit-summary span{color:var(--text-secondary);font-size:12px}.habit-summary strong{color:var(--primary-text);font-variant-numeric:tabular-nums;font-size:43px;font-weight:500;line-height:1.45;display:block}.habit-summary small{color:var(--muted);font-size:17px;font-weight:400}.habit-summary p{color:var(--muted);font-size:11px;line-height:1.65}.habit-summary .habit-summary-art{color:var(--primary-border);position:absolute;bottom:-6px;right:22px;transform:rotate(-20deg)}.habit-calendar{border-radius:var(--habit-radius);margin-bottom:28px;padding:26px 30px}.habit-calendar-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;display:flex}.habit-calendar h3,.habit-list-heading h3{font-size:18px;font-weight:500;line-height:1.6}.habit-calendar .eyebrow{letter-spacing:1.4px;margin-bottom:7px;font-size:9px}.habit-month-controls{align-items:center;gap:6px;display:flex}.habit-month-controls>.icon-button{flex-shrink:0;width:40px;height:44px}.habit-month-controls .ui-picker-field{width:145px;min-width:0;margin:0}.habit-month-controls .ui-picker-trigger{min-height:44px;padding:8px 12px;font-size:13px}.habit-calendar-help{color:var(--muted);margin:14px 0 18px;font-size:12px;line-height:1.7}.habit-weekdays,.habit-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.habit-weekdays{text-align:center;color:var(--muted);margin-bottom:8px;font-size:11px}.habit-weekdays>span{padding:7px 0}.habit-day{min-width:0;min-height:47px;color:var(--text);font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px;font-size:13px;display:flex}.habit-day:disabled{color:var(--muted);opacity:.45}.habit-day.marked{background:var(--primary-soft);color:var(--primary-text)}.habit-day.today{border-color:var(--primary-border)}.habit-day.selected{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.habit-day small{font-size:9px;line-height:11px}.habit-day i{background:var(--line);border-radius:50%;width:5px;height:5px}.habit-day.selected i{opacity:.5;background:currentColor}.habit-calendar footer{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:16px;font-size:11px;display:flex}.habit-calendar footer>span{align-items:center;gap:7px;display:flex}.habit-calendar footer i{background:var(--primary);border-radius:50%;width:7px;height:7px}.habit-calendar footer .text-button{min-height:44px;font-size:12px}.habit-list-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.habit-list-heading h3 span{color:var(--muted);margin-left:6px;font-size:11px;font-weight:400}.habit-list-heading p{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.8}.habit-filter{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:5px;padding:4px;display:flex}.habit-filter>button{min-height:38px;color:var(--muted);border-radius:9px;padding:7px 12px;font-size:12px}.habit-filter>button.active{color:var(--primary-text);background:var(--primary-soft)}.habit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.habit-card{background:var(--card);border:1px solid var(--line);border-radius:18px;align-items:flex-start;gap:14px;min-width:0;padding:22px;transition:border-color .18s,background .18s;display:flex}.habit-card--done{border-color:var(--primary-border)}.habit-check-button{background:var(--surface-muted);width:43px;height:43px;color:var(--muted);border:1px solid var(--line);border-radius:14px;flex:0 0 43px;place-items:center;display:grid}.habit-card--done .habit-check-button{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.habit-check-button:disabled{cursor:default}.habit-check-button:disabled:not([aria-pressed=true]){opacity:.5}.habit-card-content{flex:1;min-width:0}.habit-card-title{flex-wrap:wrap;align-items:center;gap:5px 9px;min-height:25px;display:flex}.habit-card-title h3{overflow-wrap:anywhere;font-size:15px;font-weight:500;line-height:1.65}.habit-done-label{color:var(--primary-text);white-space:nowrap;font-size:10px}.habit-description{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:5px 0 8px;font-size:12px;line-height:1.8;display:-webkit-box;overflow:hidden}.habit-card-meta{color:var(--muted);flex-wrap:wrap;gap:3px 9px;margin-top:4px;font-size:11px;line-height:1.8;display:flex}.habit-card-meta>.habit-target-met{color:var(--primary-text)}.habit-week-progress{gap:4px;max-width:210px;margin-top:12px;display:flex}.habit-week-progress i{background:var(--line);border-radius:3px;flex:1;height:4px}.habit-week-progress i.filled{background:var(--primary)}.habit-card-actions{flex-direction:column;flex-shrink:0;align-items:center;gap:1px;display:flex}.habit-card-actions .icon-button{width:36px;height:36px}.habit-card-actions .text-button{min-height:32px;color:var(--muted);padding-inline:4px;font-size:11px}.habit-card--archived .habit-check-button{opacity:.5}.habit-bottom-note{text-align:center;color:var(--muted);justify-content:center;align-items:center;gap:6px;margin:27px 0 4px;font-size:11px;line-height:1.8;display:flex}.habit-bottom-note svg{flex-shrink:0}.habit-empty{text-align:center;border:1px dashed var(--line);border-radius:var(--habit-radius);background:var(--card);padding:35px 20px}.habit-empty-icon{background:var(--primary-soft);width:55px;height:55px;color:var(--primary-text);border-radius:18px;place-items:center;margin-bottom:14px;display:inline-grid}.habit-empty h3{font-size:17px;font-weight:500;line-height:1.65}.habit-empty p{color:var(--muted);margin:7px 0;font-size:12px;line-height:1.8}.habit-empty .text-button{align-items:center;gap:5px;min-height:44px;font-size:12px;display:inline-flex}.habit-loading{color:var(--muted);justify-content:center;gap:9px;padding:30px;font-size:13px;display:flex}.habit-error{background:var(--danger-soft);color:var(--danger);overflow-wrap:anywhere;border-radius:12px;margin-bottom:15px;padding:12px 15px;font-size:13px;line-height:1.8}.habit-error .text-button{min-height:44px;margin-left:5px}.habit-disabled{text-align:center;max-width:750px;margin:0 auto;padding:45px 30px}.habit-disabled>svg{color:var(--primary-text);margin-bottom:20px}.habit-disabled h2{font-size:23px;font-weight:500;line-height:1.65}.habit-disabled p{color:var(--muted);max-width:480px;margin:15px auto 25px;font-size:13px;line-height:1.9}.habit-disabled .btn{display:inline-flex}.habit-checklist--compact{border:1px solid var(--line);background:var(--card);border-radius:20px;margin-bottom:24px;padding:25px}.habit-checklist--compact .habit-section-heading{gap:8px;margin-bottom:14px}.habit-checklist--compact .habit-section-heading h2{font-size:18px}.habit-checklist--compact .habit-section-heading .eyebrow{font-size:9px}.habit-checklist--compact .habit-list{grid-template-columns:1fr;gap:0}.habit-checklist--compact .habit-card{border:0;border-radius:0;padding:15px 0}.habit-checklist--compact .habit-card+.habit-card{border-top:1px solid var(--line)}.habit-checklist--compact .habit-empty{border:0;padding:15px 0}.habit-checklist--compact .habit-empty-icon{display:none}.habit-editor-popup{background:var(--card);width:min(560px,100vw - 32px);max-height:90dvh;color:var(--text);border-radius:22px}.habit-editor{outline:none;flex-direction:column;max-height:90dvh;display:flex}.habit-editor-heading{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:15px;padding:26px 28px 21px;display:flex}.habit-editor-heading>div{min-width:0}.habit-editor-heading .eyebrow{letter-spacing:1.4px;margin-bottom:8px;font-size:9px;line-height:1.8}.habit-editor-heading h2{font-size:23px;font-weight:500;line-height:1.5}.habit-editor-heading p{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.8}.habit-editor-heading>.icon-button{background:var(--surface-muted);border-radius:50%;flex-shrink:0}.habit-editor form{flex-direction:column;min-height:0;display:flex}.habit-editor-body{overscroll-behavior:contain;flex-direction:column;gap:19px;padding:22px 28px 27px;display:flex;overflow:auto}.habit-editor-body>*{flex-shrink:0}.habit-editor .van-field{background:0 0;padding:0}.habit-editor .van-field:after{display:none}.habit-editor .van-field__label{width:100%;color:var(--text-secondary);margin-bottom:8px;margin-right:0;font-size:13px;line-height:1.7}.habit-editor .van-field__body{border:1px solid var(--line);background:var(--card);border-radius:12px;min-height:46px;padding:10px 12px}.habit-editor .van-field__control{color:var(--text);font-size:15px;line-height:1.7}.habit-editor .van-field__control:disabled{color:var(--muted);-webkit-text-fill-color:var(--muted)}.habit-editor .van-field__word-limit{color:var(--muted);font-size:11px}.habit-help{color:var(--muted);margin-top:-8px;font-size:12px;line-height:1.8}.habit-editor-footer{border-top:1px solid var(--line);background:var(--card);flex-shrink:0;justify-content:flex-end;gap:12px;padding:18px 28px;display:flex}.habit-editor-footer .van-button{border-radius:12px;min-width:95px;height:46px;font-size:14px}.habit-editor-footer .van-button--primary{min-width:160px}@media (width<=1050px){.habit-list{grid-template-columns:1fr}}@media (width<=760px){.habit-section-heading{gap:12px;margin-bottom:20px}.habit-section-heading h2{font-size:17px}.habit-section-heading .btn{font-size:12px}.habit-summary{gap:15px;margin-bottom:18px;padding:21px 20px}.habit-summary>div+div{padding-left:16px}.habit-summary strong{font-size:36px}.habit-summary p{font-size:10px}.habit-summary .habit-summary-art{display:none}.habit-calendar{margin-bottom:23px;padding:21px 18px}.habit-calendar-heading{gap:15px}.habit-calendar h3{font-size:17px}.habit-month-controls{justify-content:space-between;width:100%}.habit-month-controls .ui-picker-field{width:calc(100% - 100px)}.habit-month-controls .ui-picker-trigger{justify-content:center;gap:9px}.habit-calendar-help{margin-bottom:12px;font-size:11px}.habit-calendar-grid{gap:4px}.habit-day{border-radius:10px;min-height:44px}.habit-list-heading{gap:13px}.habit-card{gap:11px;padding:17px 15px}.habit-card-title h3{font-size:14px}.habit-check-button{border-radius:13px;flex-basis:41px;width:41px;height:41px}.habit-card-actions .icon-button{width:32px;height:36px}.habit-card-actions .text-button{min-height:34px}.habit-bottom-note{font-size:10px}.habit-checklist--compact{border-radius:18px;padding:21px 19px}.habit-editor-popup{border-radius:22px 22px 0 0;width:100%;max-height:92dvh}.habit-editor{max-height:92dvh}.habit-editor-heading{gap:10px;padding:23px 21px 18px}.habit-editor-heading h2{font-size:21px}.habit-editor-body{gap:19px;padding:21px}.habit-editor-footer{padding:15px 21px max(20px, env(safe-area-inset-bottom))}.habit-editor-footer .van-button{flex:1;min-width:0}.habit-editor-footer .van-button--primary{flex:1.65;min-width:0}.habit-disabled{padding:35px 22px}.habit-disabled h2{font-size:21px}}@media (width<=360px){.habit-section-heading h2{font-size:16px}.habit-summary{gap:11px;padding:18px 16px}.habit-summary>div+div{padding-left:13px}.habit-summary span{font-size:11px}.habit-calendar{padding-inline:13px}.habit-filter>button{padding-inline:10px;font-size:11px}.habit-card{gap:9px;padding:16px 12px}.habit-check-button{flex-basis:39px;width:39px;height:42px}.habit-card-meta{gap:3px 6px;font-size:10px}.habit-card-actions .icon-button{width:28px}.habit-checklist--compact{padding:19px 16px}.habit-editor-heading,.habit-editor-body{padding-inline:17px}.habit-editor-heading h2{font-size:19px}.habit-editor-heading .eyebrow{font-size:8px}.habit-editor-footer{padding-inline:17px}}
