:root{--bg:#f4f1e8;--card:#fffdf8;--ink:#17251c;--muted:#66736b;--brand:#1f4d35;--brand2:#3b7b55;--line:#d8d0c1;--warn:#b45309;--danger:#9f1239;--ok:#166534;--soft:#eef7ef}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:1.35}button,input,select,textarea{font:inherit}button{border:0;border-radius:14px;padding:12px 14px;background:var(--brand);color:#fff;font-weight:700;min-height:46px}button.secondary{background:#e6ded0;color:var(--ink)}button.ghost{background:transparent;color:var(--brand);border:1px solid var(--line)}button.danger{background:var(--danger)}button.small{font-size:14px;min-height:36px;padding:8px 10px;border-radius:10px}.topbar{position:sticky;top:0;z-index:5;background:linear-gradient(135deg,var(--brand),#173824);color:#fff;padding:14px 16px calc(10px + env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 2px 12px #0002}.topbar h1{font-size:21px;margin:0}.topbar p{margin:3px 0 0;color:#dfeee2;font-size:14px}.tabs{position:sticky;top:75px;z-index:4;display:flex;gap:8px;overflow:auto;padding:10px 12px;background:#f4f1e8cc;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.tabs button{white-space:nowrap;background:#fff;color:var(--brand);border:1px solid var(--line);min-height:40px;padding:9px 12px}.tabs button.active{background:var(--brand);color:#fff}main{padding:14px 14px 80px;max-width:1040px;margin:auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px}.kpi,.card,.section{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;margin:10px 0;box-shadow:0 1px 4px #0000000b}.kpi b{font-size:24px;display:block}.kpi span{color:var(--muted);font-size:14px}.section h2{margin:0 0 10px;font-size:23px}.section h3{margin:14px 0 8px;font-size:19px}.muted{color:var(--muted)}.warn{color:var(--warn);font-weight:700}.ok{color:var(--ok);font-weight:700}.dangerText{color:var(--danger);font-weight:700}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.split{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#ece5d9;font-size:14px;margin:2px}.pill.ok{background:#dcfce7}.pill.warn{background:#ffedd5}.pill.danger{background:#ffe4e6}.familyHead{font-weight:800;padding:10px 12px;border-radius:12px;margin-top:14px}.person{border-left:6px solid #d4b483}.person h3,.card h3{margin:0 0 5px}.card p{margin:4px 0}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.field{display:flex;flex-direction:column;gap:4px;margin:6px 0}.field label{font-weight:700;font-size:14px;color:#3d4a41}.field input,.field select,.field textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);min-height:48px}.field textarea{min-height:90px;resize:vertical}.list{display:grid;gap:10px}.shoppingCard{display:grid;grid-template-columns:1fr;gap:7px}.status{font-weight:800;border-radius:12px;padding:8px 10px;background:#fffbeb;color:#92400e;display:inline-block}.status.done{background:#dcfce7;color:#166534}.status.order{background:#dbeafe;color:#1e40af}.subtleBox{background:#f8f5ee;border:1px dashed var(--line);border-radius:14px;padding:12px}.modal{position:fixed;inset:0;z-index:20;background:#0008;display:flex;align-items:center;justify-content:center;padding:16px}.modal.hidden{display:none}.dialog{background:#fff;border-radius:18px;padding:16px;max-width:520px;width:100%;max-height:90vh;overflow:auto}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#17251c;color:white;padding:12px 16px;border-radius:999px;opacity:0;transition:.2s;z-index:30}.toast.show{opacity:1}.table{width:100%;border-collapse:collapse;background:white;border-radius:14px;overflow:hidden}.table th,.table td{border-bottom:1px solid var(--line);padding:9px;text-align:left}.table th{background:#efe8dc}.printArea{display:none}.hide{display:none!important}@media(max-width:640px){html,body{font-size:16px}.tabs{top:72px}.topbar h1{font-size:18px}main{padding:10px 10px 70px}.card,.section,.kpi{border-radius:16px;padding:12px}.split{display:block}.actions button{width:100%}.formgrid{grid-template-columns:1fr}.table{display:block;overflow-x:auto}.kpi b{font-size:22px}}@media print{body{background:#fff}.topbar,.tabs,#loginBtn,.actions,.noPrint{display:none!important}main{max-width:100%;padding:0}.section,.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.printArea{display:block}.hiddenPrint{display:none!important}}
