:root{--bg: #f4f0e8;--card: #ffffff;--ink: #3d3929;--muted: #8a8474;--line: #e6e0d3;--accent: #c15f3c;--accent-soft: #f6e7de;--ok: #5d7d5a;--radius: 16px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}#root{max-width:520px;margin:0 auto;padding:0 16px calc(96px + env(safe-area-inset-bottom))}.header{display:flex;align-items:center;justify-content:space-between;padding:20px 0 4px}.header h1{font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:600;margin:0}.header-actions{display:flex;gap:8px;align-items:center}.greeting{color:var(--muted);margin:0 0 16px;font-size:15px}.lang-toggle{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--card)}.lang-toggle button{border:0;background:transparent;padding:10px 14px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer}.lang-toggle button.active{background:var(--ink);color:var(--card)}.wa-quick{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:#25d366;color:#fff;text-decoration:none;font-size:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px}.group-title{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:20px 4px 8px}.task{display:flex;align-items:flex-start;gap:12px;width:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px;text-align:left;cursor:pointer;font:inherit;color:inherit}.task .box{flex:0 0 auto;width:26px;height:26px;margin-top:1px;border-radius:999px;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff;transition:background .15s,border-color .15s}.task.done .box{background:var(--accent);border-color:var(--accent)}.task.done .title{text-decoration:line-through;color:var(--muted)}.task .title{font-weight:600}.task .hint{display:block;color:var(--muted);font-size:14px;margin-top:2px}.weather{background:var(--accent-soft);border-color:transparent}.weather .stats{color:var(--muted);font-size:14px;margin-top:4px}.weather .recommend{font-weight:600;margin-top:6px}.status-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;resize:vertical;min-height:64px;background:var(--bg)}.status-form .row{display:flex;gap:8px;margin-top:10px;align-items:center;flex-wrap:wrap}.btn{border:0;border-radius:999px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--card);border:1px solid var(--line);color:var(--ink)}.btn:disabled{opacity:.5;cursor:default}.photo-preview{max-width:100%;border-radius:12px;margin-top:10px}.form-note{font-size:14px;margin-top:8px}.form-note.ok{color:var(--ok)}.form-note.error{color:var(--accent)}.day-block h3{font-family:Georgia,serif;font-size:18px;margin:20px 4px 8px}.timeline-item{display:flex;gap:10px;padding:8px 4px;border-bottom:1px solid var(--line);font-size:15px}.timeline-item:last-child{border-bottom:0}.timeline-item .time{color:var(--muted);flex:0 0 52px;font-variant-numeric:tabular-nums}.timeline-item img{max-width:100%;border-radius:12px;margin-top:6px}.open-tasks{color:var(--accent);font-size:14px;margin-top:8px}.emergency .wa-big{display:block;text-align:center;background:#25d366;color:#fff;text-decoration:none;border-radius:999px;padding:14px;font-weight:700;font-size:17px;margin:12px 0 20px}.contact-card p{margin:4px 0}.contact-card a.btn-call{display:inline-block;margin-top:8px;background:var(--ink);color:var(--card);text-decoration:none;border-radius:999px;padding:8px 16px;font-weight:600}.sync-banner{background:#fdf3d7;border:1px solid #ecd9a0;color:#7a6420;border-radius:12px;padding:10px 14px;font-size:14px;margin-bottom:12px}.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;background:var(--card);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.tabs .inner{display:flex;width:100%;max-width:520px}.tabs button{flex:1;border:0;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--muted);padding:8px 4px;cursor:pointer;border-radius:12px}.tabs button.active{color:var(--accent);background:var(--accent-soft)}.tabs .icon{display:block;font-size:20px;margin-bottom:2px}
