*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--ml-cream);color:var(--ml-charcoal);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ul{list-style:none}:focus-visible{outline:2px solid var(--ml-terraDark);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:24px;padding:12px 24px;background:var(--ml-white);border-bottom:1px solid var(--ml-sand);flex-wrap:wrap}.brand{font-weight:700;font-size:18px;display:inline-flex;align-items:center;gap:8px}.brand-mark{color:var(--ml-terracotta)}.view-tabs{display:flex;gap:4px}.tab{padding:8px 16px;border-radius:999px;color:var(--ml-mid);font-weight:600}.tab.active{background:var(--ml-warm);color:var(--ml-charcoal)}.header-right{margin-left:auto;display:flex;align-items:center;gap:16px}.updated-at{color:var(--ml-light);font-size:13px}.text-button{color:var(--ml-terraDark);font-weight:600}.primary-button{background:var(--ml-terraDark);color:var(--ml-onAccent);font-weight:700;padding:12px 32px;border-radius:999px;font-size:16px}.banner.warning{background:var(--ml-warm);color:var(--ml-mid);text-align:center;padding:6px 16px;font-size:14px}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:16px}.center-screen{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center;padding:24px;color:var(--ml-mid)}.card{background:var(--ml-white);border:1px solid var(--ml-sand);border-radius:16px;padding:20px}.card.muted{background:var(--ml-warm);border-color:var(--ml-warm)}.card-title{font-size:15px;font-weight:700;margin-bottom:12px;color:var(--ml-charcoal)}.overline{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ml-mid)}.empty{color:var(--ml-light)}.empty.small{font-size:13px}.view-title{font-size:24px;font-weight:700}.view-subtitle{font-weight:400;color:var(--ml-mid);font-size:18px}.brief{color:var(--ml-mid)}.day-view{display:grid;grid-template-columns:1fr 320px;gap:16px}.day-main{display:flex;flex-direction:column;gap:16px;min-width:0}@media(max-width:900px){.day-view{grid-template-columns:1fr}}.event-list,.task-list{display:flex;flex-direction:column;gap:8px}.event-row{display:flex;align-items:baseline;gap:12px;padding:8px 12px;border-left:4px solid var(--ml-sand);background:var(--ml-cream);border-radius:8px}.event-time{font-variant-numeric:tabular-nums;font-weight:700;min-width:52px;font-size:14px}.event-body{display:flex;flex-direction:column;min-width:0;flex:1}.event-title{font-weight:600;overflow-wrap:anywhere}.event-location{color:var(--ml-light);font-size:13px}.event-members{display:flex;gap:4px}.task-row{display:flex;align-items:center;gap:10px}.task-priority{width:8px;height:8px;border-radius:999px;background:var(--ml-sand);flex:none}.task-priority.p-high{background:var(--ml-danger)}.task-priority.p-medium{background:var(--ml-terracotta)}.task-priority.p-low{background:var(--ml-sage)}.task-title{flex:1;min-width:0;overflow-wrap:anywhere}.task-assignee{display:inline-flex;align-items:center;gap:6px;color:var(--ml-mid);font-size:14px}.routine-progress{color:var(--ml-mid);font-size:14px;font-variant-numeric:tabular-nums}.member-dot{width:10px;height:10px;border-radius:999px;display:inline-block;flex:none}.member-avatar{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex:none}.member-avatar.small{width:22px;height:22px;font-size:12px}.member-chip{display:inline-flex;align-items:center;gap:8px}.member-selector{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid var(--ml-sand);background:var(--ml-white);color:var(--ml-mid);font-weight:600;font-size:14px}.chip.active{border-color:var(--ml-terraDark);color:var(--ml-charcoal);background:var(--ml-warm)}.week-view{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}@media(max-width:900px){.week-view{grid-template-columns:1fr}}.week-day{padding:12px;min-height:140px}.week-day.today{border-color:var(--ml-terracotta);box-shadow:0 0 0 1px var(--ml-terracotta)}.week-day-label{font-size:13px;font-weight:700;margin-bottom:8px;text-transform:capitalize}.week-events{display:flex;flex-direction:column;gap:6px}.week-event{border-left:3px solid var(--ml-sand);padding:2px 6px;font-size:13px;display:flex;flex-direction:column;background:var(--ml-cream);border-radius:6px}.week-event-time{font-variant-numeric:tabular-nums;color:var(--ml-mid);font-size:12px}.week-event-title{overflow-wrap:anywhere}.shopping-view{display:flex;flex-direction:column;gap:16px;max-width:560px}.shopping-list{display:flex;flex-direction:column}.shopping-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--ml-warm)}.shopping-row:last-child{border-bottom:none}.shopping-qty{color:var(--ml-mid);font-variant-numeric:tabular-nums}.shopping-list.checked .shopping-name{text-decoration:line-through;color:var(--ml-light)}.pulse-card{display:flex;flex-direction:column;gap:8px}.pulse-level{font-size:22px;font-weight:700}.pulse-level[data-level=light]{color:var(--ml-sageDark, var(--ml-sage))}.pulse-level[data-level=moderate]{color:var(--ml-terraDark)}.pulse-level[data-level=heavy],.pulse-level[data-level=critical]{color:var(--ml-danger)}.pulse-insight{color:var(--ml-mid);font-size:14px}.pulse-bars{display:flex;gap:8px;align-items:flex-end;margin-top:8px}.pulse-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.pulse-bar-track{width:100%;height:72px;background:var(--ml-warm);border-radius:6px;display:flex;align-items:flex-end;overflow:hidden}.pulse-bar-fill{width:100%;border-radius:6px 6px 0 0;background:var(--ml-sage)}.pulse-bar-fill[data-level=moderate]{background:var(--ml-terracotta)}.pulse-bar-fill[data-level=heavy],.pulse-bar-fill[data-level=critical]{background:var(--ml-danger)}.pulse-bar-day{font-size:11px;color:var(--ml-light)}.pulse-bar-col.today .pulse-bar-day{color:var(--ml-charcoal);font-weight:700}.wall-shell{height:100vh;display:flex;flex-direction:column;background:var(--ml-cream);overflow:hidden}.wall-header{display:flex;align-items:baseline;gap:32px;padding:24px 40px 8px}.wall-clock{font-size:clamp(48px,7vw,96px);font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.wall-date{font-size:clamp(20px,2.5vw,32px);color:var(--ml-mid);text-transform:capitalize}.wall-status{margin-left:auto;color:var(--ml-light);font-size:14px}.wall-care-share{margin:0;padding:0 24px 8px;color:var(--ml-light);font-size:16px;text-align:center}.wall-meds{margin:0;padding:0 24px 8px;text-align:center}.wall-meds-ligne{margin:2px 0;color:var(--ml-light);font-size:16px}.pair-revoked{color:var(--ml-terracotta);font-size:18px;margin-bottom:8px}.wall-main{flex:1;overflow-y:auto;scrollbar-width:none;padding:16px 40px}.wall-main::-webkit-scrollbar{display:none}.wall-main .view-title{font-size:clamp(24px,3vw,40px)}.wall-main .card{padding:24px}.wall-main .event-title,.wall-main .task-title{font-size:clamp(18px,2vw,28px)}.wall-main .event-time{font-size:clamp(16px,1.8vw,24px);min-width:80px}.wall-main .shopping-view{max-width:none}.wall-main .shopping-row,.wall-main .shopping-name{font-size:clamp(18px,2vw,28px)}.wall-main .week-day-label{font-size:clamp(14px,1.4vw,20px)}.wall-main .week-event-title{font-size:clamp(14px,1.5vw,22px)}.wall-main .card-title{font-size:clamp(16px,1.6vw,24px)}.wall-main .empty{font-size:clamp(16px,1.8vw,24px)}.wall-main .pulse-level{font-size:clamp(24px,2.6vw,36px)}.wall-main .pulse-insight{font-size:clamp(15px,1.5vw,22px)}.wall-footer{display:flex;justify-content:center;gap:10px;padding:12px}.wall-dot{width:10px;height:10px;border-radius:999px;background:var(--ml-sand)}.wall-dot.active{background:var(--ml-terracotta)}.pair-title{font-size:clamp(28px,4vw,48px);font-weight:700}.pair-instructions{font-size:clamp(16px,2vw,24px);color:var(--ml-mid);max-width:640px}.pair-code{font-size:clamp(56px,10vw,128px);font-weight:700;letter-spacing:.18em;font-variant-numeric:tabular-nums;color:var(--ml-terraDark)}.pair-waiting{color:var(--ml-light);font-size:clamp(14px,1.6vw,20px)}
