*{box-sizing:border-box}:root{--gutter: clamp(12px, 2vw, 24px);--container-max: 80rem;--sidebar-w: clamp(300px, 28vw, 420px)}.container{width:min(100% - (var(--gutter) * 2),var(--container-max));margin-inline:auto;padding:var(--gutter)}body{margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f3f4f6;color:#111827}h1{font-size:clamp(1.35rem,2.2vw,1.9rem)}h2{font-size:clamp(1.1rem,1.6vw,1.35rem)}h3{font-size:clamp(.95rem,1.2vw,1.1rem)}.small{font-size:clamp(.78rem,1vw,.9rem)}h1{margin-bottom:8px}h2{margin-top:16px;margin-bottom:8px}h3{margin:12px 0 4px}.card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 4px #0000000f;margin-bottom:16px}label{display:block;font-size:.9rem;margin-bottom:4px;font-weight:500}input[type=text],input[type=number],input[type=date],textarea{width:100%;padding:8px;border-radius:6px;border:1px solid #d1d5db;font-size:.95rem}textarea{min-height:60px;resize:vertical}.row{display:flex;gap:8px}.row>div{flex:1}button{border:none;border-radius:999px;padding:8px 16px;font-size:.95rem;cursor:pointer;transition:transform .05s ease,box-shadow .05s ease,background .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:4px}button:active{transform:translateY(1px);box-shadow:none}.btn-primary{background:#111827;color:#fff;box-shadow:0 2px 4px #0000004d}.btn-secondary{background:#fff;border:1px solid #d1d5db;color:#111827}.btn-danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.small{font-size:.8rem;color:#6b7280}.hidden{display:none}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;background:#e5e7eb;color:#374151}.chip-group{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chip{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;padding:4px 10px;border-radius:999px;border:1px solid #d1d5db;background:#f9fafb;cursor:pointer;-webkit-user-select:none;user-select:none}.chip input{margin:0}.chip-selected{background:#111827;color:#fff;border-color:#111827}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}.stat{background:#f9fafb;border-radius:8px;padding:8px;font-size:.9rem}.stat-title{font-size:.8rem;color:#6b7280;margin-bottom:4px;text-transform:uppercase}.stat-value{font-weight:600;font-size:1rem}.progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin-top:4px}.progress-bar-inner{height:100%;background:#10b981;width:0%;transition:width .3s ease}.kaizen-message{font-size:.95rem;line-height:1.4}.goal-row{padding:8px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#f9fafb;margin-top:6px}.goal-row-header{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.9rem}.goal-row-title{font-weight:600}.goal-row-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.stepper{display:flex;justify-content:space-between;gap:8px;margin:12px 0 16px}.stepper-item{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:.75rem;color:#6b7280}.step-circle{width:24px;height:24px;border-radius:999px;border:2px solid #d1d5db;display:flex;align-items:center;justify-content:center;margin-bottom:4px;background:#fff}.stepper-item.stepper-current .step-circle{border-color:#111827;background:#111827;color:#fff}.stepper-item.stepper-current .step-label{color:#111827;font-weight:600}.stepper-item.stepper-completed .step-circle{border-color:#10b981;background:#10b981;color:#fff}.stepper-item.stepper-completed .step-label{color:#10b981;font-weight:600}@media(max-width:600px){.row{flex-direction:column}.stepper-item{font-size:.7rem}}.calendar{margin-top:8px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.calendar-nav-btn{border-radius:999px;padding:4px 8px;font-size:.8rem;border:1px solid #d1d5db;background:#fff;cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-cell{border-radius:6px;padding:4px;min-height:clamp(38px,5vw,60px);background:#f9fafb;font-size:.75rem;display:flex;flex-direction:column}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:600;color:#6b7280}.calendar-day{cursor:pointer;border:1px solid #e5e7eb}.calendar-day-number{font-weight:600}.calendar-day-amount{margin-top:2px;font-size:.7rem;color:#4b5563}.calendar-day-today{border-color:#111827}.calendar-day-has-progress{background:#e0f2fe}.calendar-day-selected{outline:2px solid #111827}.calendar-edit-panel{margin-top:8px;font-size:.85rem}.mini-chart{display:flex;gap:8px;height:clamp(90px,14vw,140px);margin-top:8px;align-items:stretch}.chart-bar{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;font-size:.75rem}.chart-bar-inner{width:100%;max-width:18px;margin:0 auto;background:#10b981;border-radius:10px 10px 0 0;min-height:3px}.chart-bar-label{margin-top:4px}.goal-complete-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.goal-complete-card{background:#fff;padding:24px 20px;border-radius:16px;max-width:420px;width:90%;text-align:center;box-shadow:0 10px 25px #00000040;animation:goal-pop-in .4s ease-out}.goal-complete-emoji{font-size:3rem;margin-bottom:8px}.goal-complete-card h2{margin:4px 0 8px}@keyframes goal-pop-in{0%{transform:scale(.8) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:10px;margin-bottom:10px}.dashboard-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px}.dashboard-value{font-size:1.1rem;font-weight:700;margin-top:2px;color:#111827}.pill-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:10px 0}.pill-group{display:flex;gap:8px;flex-wrap:wrap}.pill{border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:999px;padding:6px 10px;font-size:.82rem}.pill-active{background:#111827;color:#fff;border-color:#111827}.badge-overdue{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.chart-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;overflow:hidden}.chart-card-header{flex:0 0 auto;display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.chart-card-tall{height:clamp(180px,22vw,280px)}.chart-card canvas{flex:1 1 auto;min-height:0;width:100%!important}.svg-chart{width:100%;height:clamp(140px,18vw,220px);display:block}.svg-expected{stroke:#9ca3af;stroke-width:2;fill:none;stroke-dasharray:4 3}.svg-actual{stroke:#10b981;stroke-width:2.6;fill:none}.svg-dot{fill:#10b981}.svg-axis{stroke:#d1d5db;stroke-width:.6}.svg-axis-label{fill:#6b7280;font-size:3.2px}.svg-today{stroke:#111827;stroke-width:.6;stroke-dasharray:2 2;opacity:.55}.svg-today-label{fill:#111827;font-size:3.2px;opacity:.75}.quick-reflect{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px}.btn-chip{border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:999px;padding:6px 10px;font-size:.82rem}.recent-reflections{display:grid;gap:8px}.recent-reflection-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px}.stat-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kaizen-layout{display:grid;grid-template-columns:1fr;gap:12px}.kaizen-panel{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px}@media(min-width:1024px){.kaizen-layout{grid-template-columns:1fr var(--sidebar-w);gap:16px;align-items:start}.kaizen-side{position:sticky;top:var(--gutter);align-self:start}}.kaizen-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--sidebar-w);gap:var(--gutter);align-items:stretch}.kaizen-calendar{grid-column:1}.kaizen-summary{grid-column:2;height:100%;display:flex;flex-direction:column}.kaizen-accordion{grid-column:1 / -1}.kaizen-summary-spacer{flex:1}.kaizen-panel-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.kaizen-summary-title{font-weight:800;font-size:1.05rem;line-height:1.15}.kaizen-summary-sub{margin-top:2px}@media(max-width:1024px){.kaizen-layout{grid-template-columns:1fr}.kaizen-calendar,.kaizen-summary,.kaizen-accordion{grid-column:1}}
