.sa-app{--bg:#F6F4EC;--panel:#FFFFFF;--ink:#23241E;--ink-soft:#62634F;--line:#DEDACB;--green:#3F6C4F;--green-dark:#2C4E38;--gold:#B5842A;--red:#A2432A;--radius:10px;max-width:520px;margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);line-height:1.4}.sa-app *{box-sizing:border-box}.sa-screen{display:none}.sa-screen.sa-screen-active{display:block}.sa-app .sa-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px;margin-bottom:16px}.sa-app .sa-panel h2{font-size:.85rem;margin:0 0 14px;color:var(--ink-soft);font-weight:600;border-bottom:1px solid var(--line);padding-bottom:8px}.sa-app label{display:block;font-size:.82rem;color:var(--ink-soft);margin-bottom:4px;margin-top:12px}.sa-app label:first-of-type{margin-top:0}.sa-app input[type=date],.sa-app input[type=number],.sa-app input[type=text],.sa-app select{width:100%;padding:10px 11px;font-size:1rem;border:1px solid var(--line);border-radius:8px;background:#FCFBF7;color:var(--ink);font-family:inherit;height:auto}.sa-app input:focus,.sa-app select:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}.sa-app .sa-row2{display:flex;gap:10px}.sa-app .sa-row2>div{flex:1}.sa-app .sa-date-row{margin-bottom:4px}.sa-app .sa-meal-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.sa-app .sa-meal-btn{padding:12px 8px;border-radius:8px;border:1px solid var(--line);background:#FAF8F0;color:var(--ink);font-weight:600;font-size:.9rem;cursor:pointer}.sa-app .sa-meal-btn-active{background:var(--green);border-color:var(--green);color:#fff}.sa-app .sa-food-row{display:grid;grid-template-columns:1fr 1.3fr 0.7fr auto;gap:6px;margin-bottom:8px;align-items:center}.sa-app .sa-food-row select,.sa-app .sa-food-row input{margin:0}.sa-app .sa-row-del{border:1px solid var(--line);background:#fff;color:var(--red);border-radius:8px;width:38px;height:38px;font-size:1.2rem;line-height:1;cursor:pointer}.sa-app .sa-row-del:disabled{opacity:.35;cursor:not-allowed}.sa-app .sa-btn-text{background:none;border:none;color:var(--green-dark);font-weight:600;font-size:.85rem;padding:8px 0 16px;cursor:pointer}.sa-app button{font-family:inherit;font-size:.95rem;border-radius:8px;border:1px solid #fff0;padding:12px 16px;cursor:pointer;font-weight:600}.sa-app .sa-btn-primary{background:var(--green);color:#fff;width:100%;margin-top:4px}.sa-app .sa-btn-primary:hover{background:var(--green-dark);color:#fff}.sa-app .sa-btn-primary:disabled{background:#9CAF9F;cursor:not-allowed}.sa-app .sa-btn-secondary{background:#fff;border:1px solid var(--line);color:var(--ink);font-size:.85rem}.sa-app .sa-btn-secondary:hover{border-color:var(--green);color:var(--green-dark)}.sa-app .sa-back-btn{width:100%;margin-top:16px}.sa-app .sa-toolbar{display:flex;gap:10px;margin-bottom:16px}.sa-app .sa-toolbar button{flex:1}.sa-app .sa-food-count{font-size:.78rem;color:var(--ink-soft);margin:8px 0}.sa-app table{width:100%;border-collapse:collapse;font-size:.82rem}.sa-app th,.sa-app td{text-align:left;padding:7px 5px;border-bottom:1px solid var(--line)}.sa-app th{color:var(--ink-soft);font-weight:600;font-size:.68rem}.sa-app td.num,.sa-app th.num{text-align:right;white-space:nowrap}.sa-app .sa-del-btn{background:none;border:none;color:var(--red);font-size:.75rem;padding:4px 4px;font-weight:600}.sa-app .sa-empty-msg{color:var(--ink-soft);font-size:.88rem;padding:10px 0}.sa-app .sa-status{font-size:.82rem;margin-top:10px;min-height:1.1em}.sa-app .sa-status.ok{color:var(--green-dark)}.sa-app .sa-status.err{color:var(--red)}.sa-app .sa-reload-details{margin-top:18px;border-top:1px dashed var(--line);padding-top:14px}.sa-app .sa-reload-details summary{cursor:pointer;font-size:.85rem;color:var(--ink-soft);font-weight:600}.sa-app #sa-food-file-input{display:none}.sa-app .sa-select-all{font-weight:600}.sa-app .sa-day-check{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.88rem;font-weight:400;text-transform:none;margin:0}.sa-app .sa-day-check input{width:auto}#sa-journal-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}#sa-session-added{overflow-x:auto;-webkit-overflow-scrolling:touch}.sa-app .sa-journal-date-row td{font-weight:700;font-size:.85rem;color:var(--ink);background:#FAF8F0;border-bottom:1px solid var(--line);padding-top:14px}.sa-app .sa-journal-meal-row td{font-size:.72rem;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.02em;border-bottom:none;padding-bottom:2px}#sa-journal-wrap table{font-size:.78rem}#sa-journal-wrap th,#sa-journal-wrap td{padding:6px 4px}#sa-journal-wrap td:first-child{max-width:34vw;overflow-wrap:break-word}.sa-app #sa-export-files a{color:var(--green-dark);font-size:.85rem;display:block;padding:4px 0}.sa-app .sa-login-box{max-width:380px;margin:20px auto}.sa-app .sa-front-header{font-size:.85rem;color:var(--ink-soft);margin-bottom:16px}.sa-app .sa-front-header a{color:var(--green-dark)}.sa-access-panel{margin-top:24px;max-width:520px}.sa-access-panel h2{font-size:1.1rem}@media (max-width:380px){.sa-app .sa-food-row{grid-template-columns:1fr 1fr auto;grid-template-areas:"type food food" "qty  qty  del";row-gap:6px}.sa-app .sa-row-type{grid-area:type}.sa-app .sa-food-row select.sa-row-food{grid-area:food}.sa-app .sa-row-qty{grid-area:qty}.sa-app .sa-row-del{grid-area:del}}