
:root{
  --green:#184f31;--green2:#2f6946;--cream:#fbf7ef;--cream2:#f3eadc;
  --ink:#23372d;--muted:#6f756e;--border:#e6dccd;--danger:#a33b32;
  --warning:#9b6a1c;--blue:#2e6d91;--shadow:0 8px 24px rgba(33,55,43,.07)
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--cream);color:var(--ink)}
button,input,select,textarea{font:inherit}button{cursor:pointer}
.wrap{max-width:1080px;margin:auto;padding:18px}.top{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 5px 18px rgba(24,79,49,.16)}
.topin{max-width:1080px;margin:auto;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;gap:12px;align-items:center}.mark{width:48px;height:48px;border-radius:50%;background:#f3e7d6;position:relative;flex:0 0 48px;border:1px solid #e7d7c0}
.mark:before,.mark:after{content:"";position:absolute;left:50%;top:10px;width:18px;height:18px;border-left:3px solid var(--green);border-top:3px solid var(--green);transform:translateX(-50%) rotate(45deg)}
.mark:after{top:17px;width:26px;height:26px;border-width:2px;opacity:.8}.mark span{position:absolute;bottom:5px;left:0;right:0;text-align:center;font-size:7px;font-weight:800;color:var(--green);letter-spacing:.14em}
.brand b{font-family:Georgia,serif;font-size:1.45rem}.brand small{display:block;opacity:.8;margin-top:2px}
.card{background:#fffdf8;border:1px solid var(--border);border-radius:16px;padding:15px;box-shadow:var(--shadow);margin:12px 0}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.field{margin:10px 0}.field label{display:block;font-size:.82rem;font-weight:700;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid #d9d0c4;border-radius:10px;padding:11px;background:#fff;min-height:44px}.field textarea{min-height:88px;resize:vertical}
.btn{border:1px solid var(--green);border-radius:10px;padding:10px 14px;background:#fff;color:var(--green);font-weight:700;min-height:42px}.btn.primary{background:var(--green);color:#fff}.btn.ok{background:var(--green2);color:#fff}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn.small{padding:7px 10px;min-height:34px;font-size:.84rem}.full{width:100%}
.pill{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:800;background:#eee}.paid{background:#e6f0e6;color:var(--green)}.pending{background:#fff0d8;color:#8b5b12}.unpaid{background:#f7dfdc;color:#8f3028}.info{background:#e4f0f7;color:#2d6583}
.notice{border:1px solid #ead7ad;background:#fff7e5;border-radius:12px;padding:11px;font-size:.88rem;line-height:1.45}.success{background:#edf6ed;border-color:#cfe3cf}.dangerNote{background:#f9e8e5;border-color:#e8c5bf}
.tabs,.weekSwitch{display:flex;gap:6px;overflow:auto}.tabs button,.weekSwitch button{border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px 13px;white-space:nowrap}.tabs button.active,.weekSwitch button.active{background:var(--green);color:white;border-color:var(--green)}
.menuGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.food{display:flex;justify-content:space-between;gap:12px}.price{font-weight:900;color:var(--green)}
.cartline,.listrow{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee6da;padding:10px 0}.listrow:last-child,.cartline:last-child{border-bottom:0}.muted,.tiny{color:var(--muted)}.tiny{font-size:.78rem}.sectionTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.stat{background:#fffdf8;border:1px solid var(--border);border-radius:14px;padding:14px}.stat span{font-size:.74rem;color:var(--muted);font-weight:800}.stat b{font-size:1.55rem;display:block;margin-top:5px}
.modal{position:fixed;inset:0;background:rgba(20,32,25,.46);display:none;align-items:center;justify-content:center;padding:18px;z-index:100}.modal.show{display:flex}.modalbox{width:min(720px,100%);max-height:92vh;overflow:auto;background:#fffdf8;border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 25px 65px rgba(0,0,0,.25)}.modalhead{display:flex;align-items:center;justify-content:space-between}.x{border:0;background:transparent;font-size:1.5rem}
.optionGroup{border:1px solid #e6ddcf;border-radius:13px;padding:12px;margin:10px 0;background:#fff}.choice{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0}.choice label{display:flex;gap:8px;align-items:center}
.nav{display:flex;gap:8px;overflow:auto;padding:12px 0}.nav button{flex:0 0 auto}
.tableWrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid #eee5d8;font-size:.86rem}.table th{color:var(--muted);font-size:.75rem}
.hidden{display:none!important}.right{text-align:right}.bold{font-weight:800}
.solidPanel{background:#fffdf8!important}
@media(max-width:720px){
  .wrap{padding:12px}.topin{padding:12px}.brand b{font-size:1.25rem}.mark{width:44px;height:44px;flex-basis:44px}
  .grid2,.grid4,.menuGrid{grid-template-columns:1fr}.stat b{font-size:1.35rem}.modal{padding:8px}.modalbox{max-height:96vh;border-radius:15px}
}
