[hidden]{display:none!important}:root{font:16px/1.5 system-ui,sans-serif;color:#17233b;background:#f5f7fa}*{box-sizing:border-box}body{margin:0}header{display:flex;gap:20px;align-items:center;padding:18px 5%;background:#fff;border-bottom:1px solid #e2e8f0}header a{font-weight:750;color:#3155d9;text-decoration:none}#connection{margin-left:auto;font-size:13px}main{max-width:1000px;margin:28px auto;padding:0 20px}h1{font-size:25px;margin:0 0 6px}h2{font-size:19px}p{margin:8px 0 18px}button,input{font:inherit}button,.file{border:1px solid #cbd5e1;border-radius:9px;padding:9px 13px;background:white;color:#17233b;cursor:pointer}button:hover{border-color:#3155d9}button:disabled{opacity:.5;cursor:wait}#unlock,#sync,#confirm-sync{background:#3155d9;color:#fff;border-color:#3155d9}label{display:block;margin:12px 0}input{display:block;border:1px solid #cbd5e1;border-radius:8px;padding:10px;max-width:100%;width:100%}.muted{font-size:13px;color:#586779}.notice,#message{padding:14px 18px;border-radius:10px;background:#e8eefb}#message.error{background:#fff0d9;color:#754200}#gate{max-width:520px;padding:24px;background:white;border:1px solid #e2e8f0;border-radius:16px}.file{display:block;font-size:13px;margin-top:24px}.file input{border:0;padding:4px 0}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.toolbar>div{flex:1;min-width:280px}.meal{border:1px solid #dce3ed;background:#fff;border-radius:14px;padding:20px;margin:20px 0}.variant{margin:12px 0;border-top:1px solid #e2e8f0;padding-top:12px}.item{display:grid;grid-template-columns:1fr 110px auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0f5}.item p{margin:0}.item label{font-size:12px;margin:0}.item input{padding:7px}.item .actions{display:flex;gap:5px}.danger{color:#a32235}.actions{display:flex;gap:10px;flex-wrap:wrap}dialog{border:1px solid #cbd5e1;border-radius:16px;max-width:600px;width:calc(100% - 30px);padding:24px}dialog::backdrop{background:#0f172a88}.close{float:right}#results button{display:block;width:100%;text-align:left;margin:7px 0}.totals{font-size:13px;color:#586779;margin-top:8px}@media(max-width:600px){.item{grid-template-columns:1fr 85px}.item .actions{grid-column:1/-1}.toolbar button{font-size:13px}.meal{padding:13px}header{gap:10px;font-size:14px}}
