.mini-calendar{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);max-width:400px}.mini-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.mini-calendar-nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast)}.mini-calendar-nav-btn:hover{background-color:var(--color-surface)}.mini-calendar-nav-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mini-calendar-title{display:flex;flex-direction:column;align-items:center}.mini-calendar-month{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.mini-calendar-year{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.mini-calendar-today-btn{display:block;width:100%;padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.mini-calendar-today-btn:hover{background:var(--color-surface);border-color:var(--color-primary)}.mini-calendar-day-names{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;margin-bottom:var(--spacing-xs)}.mini-calendar-day-name{text-align:center;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);padding:var(--spacing-xs)}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.mini-calendar-cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text);transition:all var(--transition-fast)}.mini-calendar-cell,.mini-calendar-cell--empty{background:transparent}.mini-calendar-cell--future{color:var(--color-text-secondary);opacity:.6}.mini-calendar-cell--missed{color:var(--color-text-secondary);opacity:.8}.mini-calendar-cell--completed{background:var(--color-success);color:white}.mini-calendar-cell--completed:hover{background:#16a34a}.mini-calendar-cell--today{border:2px solid var(--color-primary)}.mini-calendar-cell--today.mini-calendar-cell--completed{border-color:var(--color-success);box-shadow:0 0 0 2px rgba(34,197,94,.3)}.mini-calendar-cell-date{font-weight:500}.mini-calendar-cell-check{position:absolute;bottom:2px;right:2px;width:12px;height:12px;display:flex;align-items:center;justify-content:center}.mini-calendar-cell-check svg{width:10px;height:10px}.mini-calendar-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.mini-calendar-summary-count{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.mini-calendar-summary-count strong{color:var(--color-text)}.mini-calendar-summary-streak{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:#f97316;font-weight:500}.mini-calendar-summary-streak .streak-icon{color:#f97316}@media (min-width:640px){.mini-calendar{padding:var(--spacing-lg)}.mini-calendar-cell{font-size:var(--font-size-base)}.mini-calendar-day-name{font-size:var(--font-size-sm)}}@media (prefers-color-scheme:dark){.mini-calendar-cell--completed{background:#15803d}.mini-calendar-cell--completed:hover{background:#16a34a}}@media (prefers-reduced-motion:reduce){.mini-calendar-cell,.mini-calendar-nav-btn,.mini-calendar-today-btn{transition:none}}.weekly-summary{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md)}.weekly-summary-chart{margin-bottom:var(--spacing-lg)}.weekly-summary-bars{display:flex;justify-content:space-between;gap:var(--spacing-sm);height:140px;padding-bottom:var(--spacing-lg)}.weekly-summary-bar-container{min-width:36px}.weekly-summary-bar-container,.weekly-summary-bar-wrapper{flex:1 1;display:flex;flex-direction:column;align-items:center}.weekly-summary-bar-wrapper{width:100%;justify-content:flex-end;position:relative}.weekly-summary-bar{width:100%;max-width:40px;height:var(--bar-height,0);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:height var(--transition-normal);display:flex;align-items:flex-start;justify-content:center;padding-top:var(--spacing-xs);min-height:4px}.weekly-summary-bar--completed{background:linear-gradient(180deg,var(--color-primary) 0,#818cf8 100%)}.weekly-summary-bar--empty{background:var(--color-border);height:4px!important}.weekly-summary-bar-value{font-size:var(--font-size-xs);color:white;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}.weekly-summary-day-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.weekly-summary-day-label,.weekly-summary-status{color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.weekly-summary-status{font-size:var(--font-size-sm);width:20px;height:20px;display:flex;align-items:center;justify-content:center}.weekly-summary-status--completed{color:var(--color-success)}.weekly-summary-check-icon{width:16px;height:16px}.weekly-summary-stats{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:var(--spacing-md);gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.weekly-summary-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.weekly-summary-stat-value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text)}.weekly-summary-stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.weekly-summary-message{text-align:center}.weekly-summary-message p{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin:0}.weekly-summary-message--success{background:rgba(34,197,94,.1);color:#16a34a}.weekly-summary-message--good{background:rgba(79,70,229,.1);color:var(--color-primary)}.weekly-summary-message--fair{background:rgba(249,115,22,.1);color:#ea580c}.weekly-summary-message--needs-improvement{background:rgba(239,68,68,.1);color:#dc2626}@media (min-width:640px){.weekly-summary{padding:var(--spacing-lg)}.weekly-summary-bars{height:180px;gap:var(--spacing-md)}.weekly-summary-bar-container{min-width:48px}.weekly-summary-bar{max-width:50px}.weekly-summary-bar-value,.weekly-summary-day-label{font-size:var(--font-size-sm)}.weekly-summary-stats{grid-template-columns:repeat(4,1fr)}.weekly-summary-stat-value{font-size:var(--font-size-2xl)}.weekly-summary-stat-label{font-size:var(--font-size-sm)}}@media (prefers-color-scheme:dark){.weekly-summary-bar--completed{background:linear-gradient(180deg,#6366f1,#a5b4fc)}.weekly-summary-message--success{background:rgba(34,197,94,.15);color:#4ade80}.weekly-summary-message--good{background:rgba(99,102,241,.15);color:#a5b4fc}.weekly-summary-message--fair{background:rgba(249,115,22,.15);color:#fb923c}.weekly-summary-message--needs-improvement{background:rgba(239,68,68,.15);color:#f87171}}@media (prefers-reduced-motion:reduce){.weekly-summary-bar{transition:none}}.plan-statistics{display:flex;flex-direction:column;gap:var(--spacing-lg)}.plan-statistics-grid{display:grid;grid-template-columns:repeat(1,1fr);grid-gap:var(--spacing-md);gap:var(--spacing-md)}@media (min-width:480px){.plan-statistics-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.plan-statistics-grid{grid-template-columns:repeat(3,1fr)}}.plan-stat-card{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.plan-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.plan-stat-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}.plan-stat-icon .stat-icon{width:24px;height:24px}.plan-stat-icon--primary{background:rgba(79,70,229,.1);color:var(--color-primary)}.plan-stat-icon--success{background:rgba(34,197,94,.1);color:#16a34a}.plan-stat-icon--info{background:rgba(59,130,246,.1);color:#2563eb}.plan-stat-icon--warning{background:rgba(249,115,22,.1);color:#ea580c}.plan-stat-icon--gold{background:rgba(234,179,8,.1);color:#ca8a04}.plan-stat-icon--purple{background:rgba(168,85,247,.1);color:#9333ea}.plan-stat-content{display:flex;flex-direction:column;min-width:0}.plan-stat-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text);line-height:1.2}.plan-stat-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);margin-top:var(--spacing-xs)}.plan-stat-detail{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px}.plan-statistics-timeline{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:var(--spacing-sm)}.plan-timeline-item{display:flex;flex-direction:column;align-items:center;text-align:center;flex-shrink:0}.plan-timeline-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.plan-timeline-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.plan-timeline-divider{flex:1 1;display:flex;align-items:center;gap:var(--spacing-sm);padding:0 var(--spacing-sm)}.plan-timeline-line{flex:1 1;height:2px;background:linear-gradient(90deg,var(--color-primary) 0,var(--color-border) 100%);border-radius:var(--radius-full)}.plan-timeline-line:last-child{background:linear-gradient(90deg,var(--color-border) 0,var(--color-border) 100%)}.plan-timeline-progress{font-size:var(--font-size-xs);font-weight:700;color:var(--color-primary);background:rgba(79,70,229,.1);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);white-space:nowrap}@media (max-width:479px){.plan-statistics-timeline{flex-direction:column;gap:var(--spacing-md)}.plan-timeline-divider{width:100%;flex-direction:column;padding:var(--spacing-sm) 0}.plan-timeline-line{width:2px;height:20px;background:linear-gradient(180deg,var(--color-primary) 0,var(--color-border) 100%)}.plan-timeline-line:last-child{background:linear-gradient(180deg,var(--color-border) 0,var(--color-border) 100%)}}@media (prefers-color-scheme:dark){.plan-stat-icon--primary{background:rgba(99,102,241,.15);color:#a5b4fc}.plan-stat-icon--success{background:rgba(34,197,94,.15);color:#4ade80}.plan-stat-icon--info{background:rgba(59,130,246,.15);color:#60a5fa}.plan-stat-icon--warning{background:rgba(249,115,22,.15);color:#fb923c}.plan-stat-icon--gold{background:rgba(234,179,8,.15);color:#fbbf24}.plan-stat-icon--purple{background:rgba(168,85,247,.15);color:#c084fc}.plan-timeline-progress{background:rgba(99,102,241,.2);color:#a5b4fc}}@media (prefers-reduced-motion:reduce){.plan-stat-card{transition:none}.plan-stat-card:hover{transform:none}}