body {
    background: var(--tg-theme-bg-color, #ffffff);
    color: var(--tg-theme-text-color, #000000);
    font-family: -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    margin: 0;
    padding: 12px 12px 80px;
    font-size: 15px;
}
.loading { text-align: center; opacity: .6; margin-top: 40px; }
.tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 12px;
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--tg-theme-bg-color, #fff);
    padding: 6px 0;
}
.tabs button {
    flex: 1;
    border: none;
    border-radius: 10px;
    padding: 9px 2px;
    font-size: 13px;
    background: var(--tg-theme-secondary-bg-color, #efeff4);
    color: var(--tg-theme-text-color, #000);
    cursor: pointer;
}
.tabs button.on {
    background: var(--tg-theme-button-color, #2481cc);
    color: var(--tg-theme-button-text-color, #fff);
}
.card {
    background: var(--tg-theme-secondary-bg-color, #efeff4);
    border-radius: 14px;
    padding: 12px;
    margin-bottom: 12px;
}
.t1 { font-size: 19px; font-weight: 700; margin: 0 0 2px; }
.tn { font-size: 13px; opacity: .75; }
.meta { font-size: 13px; opacity: .8; margin: 6px 0 0; }
.exgrp { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--tg-theme-hint-color, #999); }
.exgrp:first-of-type { border-top: none; padding-top: 0; }
.entry {
    padding: 7px 9px;
    border-radius: 9px;
    background: var(--tg-theme-bg-color, #fff);
    margin-top: 5px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    gap: 6px;
}
.entry:active { opacity: .7; }
.entry .pen { opacity: .45; }
.btnrow { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.btn {
    border: none;
    border-radius: 10px;
    padding: 10px 13px;
    font-size: 14px;
    cursor: pointer;
    background: var(--tg-theme-button-color, #2481cc);
    color: var(--tg-theme-button-text-color, #fff);
}
.btn.sec {
    background: var(--tg-theme-secondary-bg-color, #dfe3e8);
    color: var(--tg-theme-text-color, #000);
}
.btn.danger { background: #d95f5f; color: #fff; }
.btn.wide { flex: 1 1 100%; }
.btn:active { opacity: .8; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0; }
.chip {
    border: 1px solid var(--tg-theme-button-color, #2481cc);
    color: var(--tg-theme-button-color, #2481cc);
    background: transparent;
    border-radius: 16px;
    padding: 6px 12px;
    font-size: 13px;
    cursor: pointer;
}
.chip:active { opacity: .7; }
label { display: block; font-size: 13px; opacity: .7; margin: 10px 0 3px; }
input, select, textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--tg-theme-hint-color, #aaa);
    border-radius: 10px;
    padding: 10px;
    font-size: 15px;
    background: var(--tg-theme-bg-color, #fff);
    color: var(--tg-theme-text-color, #000);
}
textarea { min-height: 70px; resize: vertical; font-family: inherit; }
.modal {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.55);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    z-index: 50;
}
.modal-box {
    background: var(--tg-theme-bg-color, #fff);
    color: var(--tg-theme-text-color, #000);
    width: 100%;
    max-width: 480px;
    border-radius: 16px 16px 0 0;
    padding: 16px;
    max-height: 92vh;
    overflow-y: auto;
    box-sizing: border-box;
}
.mtitle { font-size: 17px; font-weight: 700; margin: 0 0 8px; }
.muted { opacity: .65; font-size: 13px; }
.hl { font-size: 13px; opacity: .8; margin-top: 8px; white-space: pre-wrap; }
details { margin-top: 10px; }
summary { cursor: pointer; font-size: 14px; font-weight: 600; }
.histitem { cursor: pointer; }
.histitem:active { opacity: .75; }
.statline { margin-top: 6px; }
.kcal { font-size: 14px; margin-top: 6px; }
.empty { text-align: center; opacity: .6; margin: 30px 10px; }
.dbg {
    position: fixed;
    bottom: 4px;
    left: 6px;
    font-size: 11px;
    color: #9a9a9a;
    z-index: 99;
    pointer-events: none;
    max-width: 95%;
    word-break: break-word;
}
.entry { cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
button, .chip { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
