*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#fff5f7;color:#333}.page{max-width:720px;margin:0 auto;padding:12px}h1{font-size:1.4rem;margin:4px 0 12px;color:#c2185b;text-align:center}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.85rem;color:#666}.topbar a,.topbar button{color:#c2185b;background:none;border:none;cursor:pointer;font-size:.85rem;padding:4px 8px}.quick-buttons{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:8px}.quick-buttons button{padding:18px 8px;font-size:1rem;font-weight:600;border:none;border-radius:12px;color:#fff;cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:transform .05s}.quick-buttons button:active{transform:scale(.97)}.quick-buttons button:disabled{opacity:.5}.btn-pisi{background:#4fc3f7}.btn-kaki{background:#8d6e63}.btn-tapszer{background:#66bb6a;grid-column:span 2}.btn-mixed{background:#ab47bc;grid-column:span 2}.btn-szoptas{background:#ec407a;grid-column:span 2}.btn-weight{background:#ff9800;grid-column:span 2}.weight-banner{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:10px 12px;border-radius:12px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.9rem}.weight-banner button{background:#c2185b;color:#fff;border:none;border-radius:8px;padding:6px 12px;font-weight:600;font-size:.85rem;cursor:pointer;white-space:nowrap}.weight-banner button:disabled{opacity:.5}.summary-mini{background:#fff;border-radius:12px;padding:12px;margin-bottom:12px;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.05)}.summary-mini h3{margin:0 0 6px;font-size:.8rem;color:#ff9800;text-transform:uppercase;font-weight:600;letter-spacing:.04em}.summary-mini .value{font-size:1.6rem;font-weight:700;color:#333}.summary-mini .when{font-size:.75rem;color:#999;margin-top:4px}.weight-history{background:#fff;border-radius:12px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}.weight-history>summary{background:#fff8e1;padding:10px 12px;font-weight:600;color:#ff9800;font-size:.9rem;cursor:pointer;list-style:none}.weight-history>summary::-webkit-details-marker{display:none}.weight-history>summary:before{content:"▸ ";transition:transform .1s;display:inline-block}.weight-history[open]>summary:before{content:"▾ "}.weight-history ul{list-style:none;margin:0;padding:0}.weight-history li{display:grid;grid-template-columns:auto 1fr 2fr auto;grid-gap:8px;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid #f5f5f5;font-size:.9rem}.weight-history li:last-child{border-bottom:none}.weight-history .weight-date{color:#888;font-size:.8rem}.weight-history .weight-value{font-weight:600;color:#333}.weight-history .weight-note{color:#999;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weight-history li button{background:none;border:none;cursor:pointer;padding:4px 6px;font-size:1rem}.summary{background:#fff;border-radius:12px;padding:12px;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.summary h2{margin:0 0 8px;font-size:1rem;color:#c2185b}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));grid-gap:6px;gap:6px;text-align:center}.summary-cell{padding:8px 4px;background:#fce4ec;border-radius:8px}.summary-cell .num{font-size:1.3rem;font-weight:700;color:#c2185b}.summary-cell .lbl{font-size:.7rem;color:#666;text-transform:uppercase}.day-group{background:#fff;border-radius:12px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05)}.day-header{background:#fce4ec;padding:10px 12px;font-weight:600;color:#c2185b;font-size:.95rem;display:flex;justify-content:space-between;align-items:center}.day-stats{font-size:.8rem;font-weight:400;color:#666}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{padding:8px 10px;text-align:left;border-bottom:1px solid #f5f5f5}th{background:#fafafa;font-size:.75rem;text-transform:uppercase;color:#888;font-weight:600}tr:last-child td{border-bottom:none}.type-pill{display:inline-block;padding:3px 8px;border-radius:10px;font-size:.8rem;font-weight:600;color:#fff}.pill-pisi{background:#4fc3f7}.pill-kaki{background:#8d6e63}.pill-tapszer{background:#66bb6a}.pill-mixed{background:#ab47bc}.pill-szoptas{background:#ec407a}.row-actions{text-align:right;white-space:nowrap}.row-actions button{background:none;border:none;cursor:pointer;padding:4px 6px;font-size:1rem}.empty{text-align:center;padding:40px 20px;color:#999}.footer-tools{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap;justify-content:center}.footer-tools a,.footer-tools button{padding:8px 12px;background:#fff;border:1px solid #ddd;border-radius:8px;font-size:.85rem;cursor:pointer;color:#666;text-decoration:none}dialog{border:none;border-radius:12px;padding:20px;max-width:90vw;width:360px;box-shadow:0 10px 40px rgba(0,0,0,.2)}dialog::-webkit-backdrop{background:rgba(0,0,0,.4)}dialog::backdrop{background:rgba(0,0,0,.4)}dialog h3{margin:0 0 12px;color:#c2185b}dialog label{display:block;margin:8px 0 4px;font-size:.85rem;color:#666}dialog input,dialog select,dialog textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit}dialog .dialog-buttons{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}dialog button{padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-size:.9rem}.btn-primary{background:#c2185b;color:#fff}.btn-secondary{background:#eee;color:#333}.btn-danger{background:#e53935;color:#fff}.auth-card{background:#fff;border-radius:16px;padding:24px;margin:40px auto 0;max-width:360px;box-shadow:0 4px 20px rgba(0,0,0,.06)}.auth-card h1{margin-top:0}.auth-card label{display:block;margin:12px 0 4px;font-size:.85rem;color:#666}.auth-card input{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:1rem}.auth-card button[type=submit]{width:100%;margin-top:16px;padding:12px;background:#c2185b;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.auth-card .alt{text-align:center;margin-top:16px;font-size:.85rem}.auth-card .alt a{color:#c2185b}.error{background:#ffebee;color:#c62828;padding:8px 12px;border-radius:8px;margin-top:8px;font-size:.85rem}