:root{--ink:#655a61;--muted:#9c8999;--cream:#fffaf5;--lav:#f2ecf5;--line:#eaded6;--accent:#77677d;--head:#77677d}
*{box-sizing:border-box;font-family:-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink)}
body{margin:0;background:#faf5f7}
header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;background:var(--cream);border-bottom:1px solid var(--line);flex-wrap:wrap}
h1{font:normal 26px Georgia,serif;color:var(--head);margin:0}
header small{color:#a98fad;letter-spacing:2px;font-size:10px;text-transform:uppercase}
nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
main{max-width:980px;margin:0 auto;padding:16px}
footer{text-align:center;color:var(--muted);font-size:12px;padding:18px}
h2,h3,h4{font-family:Georgia,serif;font-weight:normal;color:var(--head)}
.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;margin:12px 0;box-shadow:0 8px 25px #7c5b6a0a}
button{border:1px solid var(--line);background:var(--lav);border-radius:14px;padding:10px 16px;font-size:15px;cursor:pointer;min-height:44px}
button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
button.small-btn{font-size:12px;padding:5px 10px;min-height:30px;border-radius:10px;background:#faf5f7}
.tabbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.tab{background:var(--tab,#f2ecf5);border:1px solid var(--line);border-radius:16px}
.tab.active{outline:2px solid var(--accent);font-weight:700}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}
.muted{color:var(--muted)}.tiny{font-size:12px}
.notice{background:#fdf6e3;border:1px solid #ecddc3;border-radius:13px;padding:10px 12px;margin:10px 0;font-size:14px}
input,select,textarea{border:1px solid var(--line);border-radius:12px;padding:9px;font-size:15px;background:#fff;min-height:40px}
textarea{width:100%}
table.monthly{border-collapse:collapse;width:100%;font-size:12px}
table.monthly th,table.monthly td{border:1px solid var(--line);padding:4px;text-align:center}
table.monthly thead{background:var(--lav)}
tr.total{background:#e9f3ec;font-weight:700}
.closed-cell{background:#f6f1f7;color:#635d62;font-weight:700}
.flag{color:#8a5a00}
.pill{display:inline-block;background:#e5f3ec;color:#256d4c;border-radius:20px;padding:6px 12px;font-size:13px;min-height:36px}
.pill.on{background:#d3ead9;font-weight:700}
.child-row{padding:12px;border-bottom:1px solid #f3edf3}
.child-head{margin-bottom:4px}
.care-row{margin:6px 0}
.care-chip{display:inline-block;background:#ebe4f6;color:#5d4a7a;border-radius:12px;padding:3px 9px;font-size:12px}
.note-input{width:100%;background:#fffaf5;border-radius:13px;font-size:13px}
.menu-chip{display:inline-block;background:#faf5f7;border:1px solid var(--line);border-radius:12px;padding:3px 9px;font-size:12px;margin:2px}
.serve-panel{background:#fff8e9;border:1px solid #ecddc3;border-radius:16px;padding:14px;margin:12px 0}
.serve-item{display:block;padding:6px 2px;font-size:15px}
.serve-item input{width:20px;height:20px;margin-right:8px;vertical-align:middle}
.menu-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:10px}
.menu-day{background:#faf5f7;border-radius:12px;padding:10px}
.login-card{max-width:420px;margin:40px auto;text-align:center}
/* pretty label (screen preview) */
.label-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px}
.pretty-label{font-family:Arial,sans-serif;background:#fffaf5;color:#655a61;border:1px solid #eaded6;border-radius:22px;padding:24px;box-shadow:0 8px 25px #7c5b6a0a}
.pretty-label h2{font:normal 28px Georgia,serif;color:#77677d;text-align:center;margin:8px 0}
.pretty-label h3{text-align:center;font:normal 21px Georgia,serif;color:#77677d;margin:14px 0}
.label-eyebrow{text-align:center;font-size:10px;letter-spacing:2px;color:#a98fad}
.label-sub{text-align:center;color:#9c8999;font-size:12px}
.label-line{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #f1e8e6;line-height:1.5}
.label-emoji{font-size:23px;color:#b6a1c4;width:28px;flex-shrink:0}
.label-detail{font-size:13px;margin:3px 0;color:#746a70}
.label-note{margin-top:16px;padding:14px;border-radius:13px;background:#f5eaf0;color:#77677d;font-size:13px}
.label-note p{margin:6px 0 0}
.label-footer{text-align:center;color:#a18e9a;font-size:12px;margin-top:16px}
@media print{header,footer,.no-print,button{display:none!important}.card{box-shadow:none}}
@media(max-width:550px){.label-grid{grid-template-columns:1fr}.pretty-label{padding:18px}}
.v82-batch{border:1px solid #e9e3e8;background:#fcfafb;border-radius:13px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:10px 0}
.v82-batch b,.v82-batch small{display:block}
.v82-batch small{color:#77727b;margin-top:6px}
.v82-batch button[disabled]{opacity:.5;cursor:default}
