/* Ritli habit tracking enhancements */
.weekly-summary{background:linear-gradient(135deg,#fff,#f4efff);padding:15px}
.weekly-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.weekly-head b{display:block;font-size:16px;margin-top:3px}.weekly-head strong{font-size:24px;color:#745bdc}
.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;align-items:start;margin:4px 0 10px}
.week-day{text-align:center;min-width:0;padding:6px 2px;border-radius:13px}
.week-day.today{background:#f0eaff}.week-day.future{opacity:.4}
.week-day>span{display:block;font-size:9px;font-weight:900;color:var(--muted);margin-bottom:6px}
.week-day small{font-size:8px;color:var(--muted);display:block;margin-top:4px}
.week-ring{--wp:0%;width:36px;height:36px;margin:auto;border-radius:50%;background:conic-gradient(#8064e8 0 var(--wp),#eee9f4 var(--wp));display:grid;place-items:center;position:relative}
.week-ring:before{content:"";position:absolute;width:29px;height:29px;border-radius:50%;background:#fff}
.week-day.today .week-ring:before{background:#f8f5ff}.week-ring b{position:relative;z-index:1;font-size:8px}
.habit-time-head{display:flex;align-items:center;gap:7px;margin:18px 4px 7px;color:var(--ink)}
.habit-time-head span{font-size:18px}.habit-time-head b{font-size:15px}.habit-time-head small{margin-left:auto;color:var(--muted)}
.habit{grid-template-columns:54px 1fr 30px 36px}.habit .ico{border:0;cursor:pointer;padding:0;color:inherit}
.habit-edit{border:0;background:transparent;color:#8a8495;font-weight:900;letter-spacing:1px;padding:5px;cursor:pointer}
.empty-habits{text-align:center;padding:24px}
.habit-modal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.habit-modal-top h2{margin:4px 0 10px}
.field-label{display:block;font-size:11px;color:var(--muted);font-weight:900;margin:12px 2px 6px}
.habit-field{margin-top:12px}.icon-current{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px 12px;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;text-align:left;color:var(--ink)}
.icon-current>span:first-child{width:42px;height:42px;border-radius:12px;background:#f4efff;display:grid;place-items:center;font-size:24px}.icon-current>span:nth-child(2){font-weight:900}.icon-current small{color:var(--muted)}
.icon-picker{display:none;grid-template-columns:repeat(8,1fr);gap:6px;margin-top:8px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:14px;max-height:176px;overflow:auto}
.icon-picker.show{display:grid}.icon-picker button{aspect-ratio:1;border:1px solid transparent;border-radius:10px;background:#f8f5fb;font-size:20px;cursor:pointer;padding:0}
.icon-picker button.selected{background:#eee6ff;border-color:#b9a6ff}
.time-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.time-picker button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 5px;display:flex;flex-direction:column;gap:4px;align-items:center;color:var(--ink);font-weight:800}
.time-picker button.selected{background:#eee6ff;border-color:#b9a6ff;color:#6c52d5}.time-picker button span{font-size:10px}
@media(max-width:360px){.week-grid{gap:2px}.week-ring{width:32px;height:32px}.week-ring:before{width:25px;height:25px}.habit{grid-template-columns:48px 1fr 26px 34px}.ico{width:48px;height:48px}.icon-picker{grid-template-columns:repeat(6,1fr)}}