*{box-sizing:border-box}body{color:#1a1a1a;background:#fafafa;margin:0;font-family:system-ui,sans-serif;font-size:16px;line-height:1.5}.masthead{background:#fff;border-bottom:1px solid #e0e0e0;align-items:center;gap:12px;height:52px;padding:0 16px;display:flex;position:sticky;top:0}.masthead a{color:inherit;font-weight:600;text-decoration:none}.masthead__spacer{flex:1}.household-switcher{max-width:45vw;padding:6px 8px;font-size:15px}.masthead__link{color:#1a1a1a;white-space:nowrap;font-size:14px;text-decoration:none}.page{max-width:720px;margin:0 auto;padding:16px}.gate{text-align:center;padding:48px 16px}.notice{text-align:center;color:#666;padding:16px}.empty{text-align:center;color:#666;border:1px dashed #ccc;border-radius:8px;padding:24px 16px}.cardgrid{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=600px){.cardgrid{grid-template-columns:repeat(2,1fr)}}.card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.card--unknown{color:#999;border-style:dashed}.create-household{text-align:center;flex-direction:column;gap:12px;padding:32px 16px;display:flex}.create-household input{border:1px solid #ccc;border-radius:6px;padding:10px 12px;font-size:16px}.btn-primary,.btn-small{color:#fff;cursor:pointer;background:#1a1a1a;border:none;border-radius:6px;padding:10px 16px;font-size:15px}.btn-small{padding:6px 12px;font-size:13px}.alert-banner{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.alert-row{background:#fff3cd;border:1px solid #ffe08a;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.alert-row__actions{flex-shrink:0;gap:8px;display:flex}.task-form,.add-board,.invite-form{background:#fff;border:1px solid #e0e0e0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;padding:12px;display:flex}.task-form input,.task-form select,.add-board input,.invite-form input{border:1px solid #ccc;border-radius:6px;padding:8px;font-size:15px}.task-form__recur{align-items:center;gap:6px;display:flex}.task-list{flex-direction:column;gap:8px;display:flex}.task-row{background:#fff;border:1px solid #e0e0e0;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.task-row__desc,.task-row__due,.task-row__recur{color:#666;font-size:13px}.task-row--completed{opacity:.6}.task-row--completed strong{text-decoration:line-through}.task-row__actions{flex-shrink:0;gap:6px;display:flex}
