/* Minha Rotina — design Minimalista Premium, mobile-first. */
.home-overview{margin:24px 0 30px}
.home-overview-head{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-bottom:13px}
.home-overview-head h2{font-size:1.27rem;margin:5px 0 0}
.home-overview-head .outline{min-height:40px;padding:9px 13px;font-size:.77rem}
.home-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-overview-card{
 display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;min-height:155px;
 background:linear-gradient(155deg,var(--mc-bg-1d3454),var(--mc-bg-152338));color:var(--mc-text-f5f9ff);
 border:1px solid var(--mc-border-3b5273);border-radius:17px;padding:17px;text-align:left;
}
.home-overview-card:hover{border-color:var(--mc-border-70a3f5);background:var(--mc-bg-203b61)}
.overview-icon{font-size:1.3rem;color:var(--mc-text-9dc5ff)}
.home-overview-card small{color:var(--mc-text-b3c7e0);font-size:.78rem;line-height:1.4}
.home-overview-card strong{font-size:clamp(1.45rem,3vw,1.85rem);font-variant-numeric:tabular-nums;line-height:1.1}
.home-overview-card>span:last-child{font-size:.73rem;color:var(--mc-text-a4b7cf);overflow-wrap:anywhere}
.home-focus{background:var(--mc-bg-14233a);border:1px solid var(--mc-border-2e4563);border-radius:16px;padding:17px;margin-top:14px}
.home-focus>div:first-child{display:flex;gap:8px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.home-focus>div:first-child strong{font-size:.97rem}
.home-focus-entry{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--mc-border-2a3d56)}
.home-focus-entry:last-child{border-bottom:0}
.home-focus-dot{width:10px;height:10px;border:2px solid var(--mc-border-70a8f7);border-radius:50%;flex-shrink:0}
.home-focus-entry>div{min-width:0;display:flex;flex-direction:column;gap:5px}
.home-focus-entry strong{font-size:.85rem;overflow-wrap:anywhere}
.home-focus-entry small{font-size:.73rem;color:var(--mc-text-a4bad5)}
.home-focus .outline{margin-top:12px;min-height:39px;font-size:.8rem}
.home-focus-list,.home-focus-list *{min-width:0}
.routine-header{margin-bottom:16px}
.routine-header p{margin-top:8px}
.routine-stat-panel{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
 background:var(--mc-bg-16283f);border:1px solid var(--mc-border-2b4362);border-radius:17px;padding:13px;margin-bottom:18px;
}
.routine-stat-panel>div{
 padding:13px;background:var(--mc-bg-203551);border:1px solid var(--mc-border-304b6c);
 border-radius:12px;display:flex;flex-direction:column;gap:9px;min-width:0;
}
.routine-stat-panel small{color:var(--mc-text-a9bed7);font-size:.75rem;line-height:1.4}
.routine-stat-panel strong{font-size:1.5rem;color:var(--mc-text-f4f8ff);font-variant-numeric:tabular-nums}
.routine-filter{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}
.routine-filter button{
 border:1px solid var(--mc-border-344c6d);background:var(--mc-bg-182a43);color:var(--mc-text-abc3e2);font-size:.82rem;
 padding:10px 15px;min-height:42px;border-radius:11px;font-weight:680;
}
.routine-filter button.on{background:var(--mc-bg-285dab);border-color:var(--mc-border-568eea);color:var(--mc-text-fff)}
.routine-feedback{min-height:0;margin:0 0 10px}
.routine-feedback:empty{display:none}
.routine-list{display:flex;flex-direction:column;gap:10px;padding-bottom:10px}
.routine-task{
 display:grid;grid-template-columns:43px minmax(0,1fr) auto;
 align-items:center;gap:12px;min-width:0;padding:15px;
 background:var(--mc-bg-15243c);border:1px solid var(--mc-border-304563);border-radius:15px;
}
.routine-task.is-done{background:var(--mc-bg-152d34);border-color:var(--mc-border-2e6456)}
.routine-check{
 display:grid;place-items:center;min-width:42px;width:42px;height:42px;
 border:1px solid var(--mc-border-496b91);background:var(--mc-bg-223b5b);border-radius:50%;font-size:1.5rem;color:var(--mc-text-d1e5ff);padding:0;
}
.routine-check.on{background:var(--mc-bg-195a46);border-color:var(--mc-border-3a9975);color:var(--mc-text-c8fbe2);font-size:1.12rem}
.routine-check:disabled{opacity:.44}
.routine-task-content{min-width:0;display:flex;flex-direction:column;gap:7px}
.routine-task-title{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.routine-task-title strong{font-size:.92rem;overflow-wrap:anywhere}
.routine-priority{font-size:.64rem;font-weight:760;color:var(--mc-text-ffd1aa);background:var(--mc-bg-4a3029);border:1px solid var(--mc-border-8a563a);padding:4px 7px;border-radius:20px;white-space:nowrap}
.routine-task-content small{font-size:.73rem;color:var(--mc-text-aec4e0);line-height:1.5}
.routine-task-content p{font-size:.78rem;color:var(--mc-text-a7bbd6);margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.routine-task-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.routine-task-actions button{min-height:38px;font-size:.75rem;padding:8px 10px}
.routine-task-actions .ghost{color:var(--mc-text-efb5c3)}
.routine-empty{text-align:center;border:1px dashed var(--mc-border-3c5674);border-radius:16px;background:var(--mc-bg-15233a);padding:28px 16px}
.routine-empty p{font-size:.83rem;color:var(--mc-text-afc3de)}
.routine-empty .outline{min-height:43px;font-size:.83rem}
.routine-footnote{font-size:.75rem;color:var(--mc-text-91a8c6);line-height:1.6;padding-bottom:28px}
.routine-dialog{max-width:560px}
.routine-dialog form{display:block;min-width:0}
.routine-dialog label{display:block;margin:12px 0;color:var(--mc-text-d4e1f5);font-size:.81rem;line-height:1.5}
.routine-dialog input,.routine-dialog select,.routine-dialog textarea{
 display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;
 padding:12px;border:1px solid var(--mc-border-3c5679);border-radius:10px;
 color:var(--mc-text-f2f7ff);background:var(--mc-bg-0d192b);font-size:16px;margin-top:6px;
}
.routine-dialog textarea{resize:vertical;min-height:90px;line-height:1.5}
.routine-dialog input::placeholder,.routine-dialog textarea::placeholder{color:var(--mc-text-8d9eb6)}
.routine-dialog .full{width:100%;min-height:45px;margin-top:8px}
.routine-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.routine-form-grid>*{min-width:0}
.routine-error{font-size:.78rem;color:var(--mc-text-ffb8c3);min-height:1.3em;margin:10px 0}
@media(max-width:690px){
 .home-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .home-overview-card:first-child{grid-column:span 2}
 .home-overview-card{min-height:128px;padding:14px}
 .home-overview-card:first-child{min-height:123px}
 .routine-task{grid-template-columns:39px minmax(0,1fr);padding:13px;gap:9px}
 .routine-check{width:38px;min-width:38px;height:38px}
 .routine-task-actions{grid-column:2;justify-content:flex-start}
 .routine-stat-panel{padding:9px;gap:7px}
 .routine-stat-panel>div{padding:10px;gap:5px}
 .routine-stat-panel small{font-size:.67rem}
 .routine-stat-panel strong{font-size:1.32rem}
}
@media(max-width:390px){
 .home-overview-card{padding:11px}
 .home-overview-card strong{font-size:1.36rem}
 .routine-form-grid{grid-template-columns:1fr;gap:0}
 .routine-filter{gap:5px}
 .routine-filter button{padding:8px 9px;font-size:.76rem}
}
@media(min-width:900px){
 .routine-task{grid-template-columns:45px minmax(0,1fr) 170px}
 .routine-task-actions{grid-column:3}
}


/* Calendário semanal — sete dias no desktop, faixa rolável no celular. */
.routine-calendar{
 background:linear-gradient(150deg,var(--mc-bg-172a46),var(--mc-bg-122136));border:1px solid var(--mc-border-3a5270);
 border-radius:18px;padding:16px;margin:0 0 18px;min-width:0;
}
.routine-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:11px}
.routine-calendar-head h2{font-size:1.06rem;margin:4px 0 6px}
.routine-calendar-head p{margin:0}
.routine-calendar-nav{display:flex;align-items:center;gap:7px}
.routine-calendar-nav button{min-width:42px;min-height:42px;padding:7px 10px;border-radius:11px}
.routine-calendar-nav button:first-child,.routine-calendar-nav button:last-child{font-size:1.38rem}
.routine-calendar-nav button:disabled{opacity:.5}
.routine-week-help{margin:0 0 12px;line-height:1.5}
.routine-week-scroller{width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin}
.routine-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;width:100%;min-width:0}
.routine-week-day{
 appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
 min-width:0;min-height:97px;padding:12px 3px;border:1px solid var(--mc-border-364d6f);
 background:var(--mc-bg-152640);color:var(--mc-text-d8e7fb);border-radius:13px;scroll-snap-align:start;
}
.routine-week-day:hover{border-color:var(--mc-border-8cb7f8)}
.routine-week-day.selected{background:var(--mc-bg-1d4075);border-color:var(--mc-border-7baffc);box-shadow:inset 0 0 0 1px var(--mc-shadow-82b3fc)}
.routine-week-day.is-today:not(.selected){border-color:var(--mc-border-5586bc)}
.routine-week-day span:first-child{font-size:.75rem;color:var(--mc-text-a7beda)}
.routine-week-day strong{font-size:1.12rem;font-variant-numeric:tabular-nums}
.routine-week-day small{color:var(--mc-text-b1c8e2);font-size:.65rem;white-space:nowrap}
.routine-day-dots{display:flex;min-height:7px;gap:5px}
.routine-day-dots i{display:block;width:7px;height:7px;border-radius:50%}
.task-dot{background:var(--mc-bg-73afff)}.sport-dot{background:var(--mc-bg-5adbac)}
.routine-day-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 13px}
.routine-day-heading h2{font-size:1.03rem;margin:0}
.routine-day-heading button{min-height:40px;font-size:.8rem}
.routine-overdue{display:flex;flex-direction:column;gap:9px}
.routine-overdue:empty{display:none}
.routine-overdue h3{font-size:.87rem;color:var(--mc-text-f3bfad);margin:8px 0 0}
.routine-overdue .routine-task{border-color:var(--mc-border-825c50)}
.routine-activities-section{background:var(--mc-bg-13233a);border:1px solid var(--mc-border-304766);border-radius:17px;padding:16px;margin:19px 0}
.routine-activity-head{display:flex;align-items:center;justify-content:space-between;gap:11px;margin-bottom:11px}
.routine-activity-head h2{font-size:1.02rem;margin:5px 0 0}
.routine-activities-badge{font-size:.75rem;color:var(--mc-text-b3cbeb);background:var(--mc-bg-223959);padding:7px 11px;border-radius:20px}
.routine-activities-section>p{line-height:1.5;margin:13px 0 0}
.routine-sport-entry{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--mc-border-304461)}
.routine-sport-entry:last-child{border-bottom:0}
.routine-sport-icon{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:12px;background:var(--mc-bg-213a59);font-size:1.35rem}
.routine-sport-content{flex:1;min-width:130px;display:flex;flex-direction:column;gap:6px}
.routine-sport-content strong{font-size:.9rem;overflow-wrap:anywhere}
.routine-sport-content small{color:var(--mc-text-aac3de);font-size:.76rem}
.routine-sport-content p{color:var(--mc-text-a8bdd9);font-size:.77rem;margin:0;overflow-wrap:anywhere}
.routine-sport-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.routine-sport-actions button{font-size:.75rem;min-height:39px;padding:8px 11px}
.routine-sport-actions .ghost{color:var(--mc-text-efb6c4)}
.routine-activity-empty{color:var(--mc-text-b1c3dc);font-size:.82rem;line-height:1.55;padding:13px 0;margin:0}
@media(max-width:740px){
 .routine-calendar{padding:13px 10px}
 .routine-week-scroller{padding-bottom:6px}
 .routine-week-days{width:max-content;min-width:100%;grid-template-columns:repeat(7,74px);gap:7px}
 .routine-week-day{min-width:74px;min-height:84px;gap:6px;padding:9px 3px}
 .routine-week-day strong{font-size:1.04rem}
 .routine-week-day small{font-size:.62rem}
 .routine-calendar-head{flex-wrap:wrap}
 .routine-calendar-head>div:first-child{flex:1;min-width:150px}
 .routine-day-heading{flex-wrap:wrap}
 .routine-sport-entry{align-items:flex-start}
 .routine-sport-content{min-width:0;flex-basis:calc(100% - 55px)}
 .routine-sport-actions{width:100%;padding-left:55px;justify-content:flex-start}
 .routine-task-actions{grid-column:2;justify-content:flex-start}
}
@media(max-width:385px){
 .routine-week-days{grid-template-columns:repeat(7,68px)}
 .routine-week-day{min-width:68px}
 .routine-calendar-nav button{min-width:38px;padding:6px 7px}
 .routine-activity-head{flex-wrap:wrap}
}
