.sale{display:grid;grid-template-columns:1fr;gap:12px;padding:12px;align-items:start}@media (min-width: 768px){.sale{grid-template-columns:1fr 340px}.sale__cart{position:sticky;top:12px}}.sale__title{grid-column:1 / -1;margin:0;font-size:1.1rem}.sale__msg{grid-column:1 / -1;padding:24px 8px;color:#555}.cat-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.cat-tabs button{padding:10px 14px;min-height:44px;border:1px solid #bbb;border-radius:8px;background:#f4f4f4;font-size:.95rem}.cat-tabs button.is-active{background:#2f6f6a;border-color:#2f6f6a;color:#fff}.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.prod-grid button{display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-height:64px;padding:10px;border:1px solid #ccc;border-radius:10px;background:#fff;text-align:left}.prod-grid button:disabled{opacity:.5}.prod-grid .p-price{font-variant-numeric:tabular-nums;color:#333}.prod-grid .p-flag{font-size:.75rem;color:#b00}.sale__cart{border:1px solid #ddd;border-radius:10px;padding:12px;background:#fafafa}.cart-lines{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.cart-line{display:grid;grid-template-columns:1fr auto auto auto auto;align-items:center;gap:6px}.cart-line .cl-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-line button{width:40px;height:40px;border:1px solid #bbb;border-radius:8px;background:#fff;font-size:1.1rem}.cart-line .cl-qty,.cart-line .cl-sub{font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}.cart-empty{color:#777;margin:0 0 12px}.cart-total{display:flex;justify-content:space-between;font-weight:700;font-variant-numeric:tabular-nums;margin-bottom:12px}.cart-checkout{width:100%;min-height:52px;border:0;border-radius:10px;background:#2f6f6a;color:#fff;font-size:1.05rem}.cart-checkout:disabled{background:#9bbdba}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-end;justify-content:center;z-index:20}@media (min-width: 768px){.sheet-backdrop{align-items:center}}.sheet{width:100%;max-width:460px;max-height:85vh;overflow-y:auto;background:#fff;border-radius:14px 14px 0 0;padding:16px}@media (min-width: 768px){.sheet{border-radius:14px}}.sheet h2{margin:0 0 12px;font-size:1rem}.sheet__close{float:right;width:40px;height:40px;border:0;background:transparent;font-size:1.2rem}.child-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.child-grid button{min-height:60px;border:1px solid #ccc;border-radius:10px;background:#fff}.pay-tabs{display:flex;gap:6px;margin-bottom:12px}.pay-tabs button{flex:1;min-height:44px;border:1px solid #bbb;border-radius:8px;background:#f4f4f4}.pay-tabs button.is-active{background:#2f6f6a;border-color:#2f6f6a;color:#fff}.pay-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.pay-field input{min-height:48px;padding:8px 10px;font-size:1.1rem;font-variant-numeric:tabular-nums;border:1px solid #bbb;border-radius:8px}.pay-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.pay-chips button{min-height:40px;padding:6px 12px;border:1px solid #bbb;border-radius:999px;background:#f4f4f4;font-variant-numeric:tabular-nums}.pay-methods{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:4px}.pay-methods label{display:flex;align-items:center;gap:8px;min-height:44px}.pay-change{font-variant-numeric:tabular-nums;margin-bottom:12px}.pay-error{color:#b00;margin-bottom:12px}.pay-confirm{width:100%;min-height:52px;border:0;border-radius:10px;background:#2f6f6a;color:#fff;font-size:1.05rem}.pay-confirm:disabled{background:#9bbdba}.sale-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:#222;color:#fff;padding:12px 18px;border-radius:10px;z-index:30;font-variant-numeric:tabular-nums}.last-sale{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border:1px solid #ddd;border-radius:10px;background:#fafafa;font-variant-numeric:tabular-nums}.last-sale button{min-height:40px;padding:6px 16px;border:1px solid #b00;border-radius:8px;background:#fff;color:#b00}.void-reasons{border:1px solid #ddd;border-radius:8px;margin:0 0 12px;padding:8px 12px;display:flex;flex-wrap:wrap;gap:12px}.void-reasons legend{padding:0 4px;color:#555}.void-reasons label{display:flex;align-items:center;gap:6px;min-height:44px}.settle{display:grid;grid-template-columns:1fr;gap:10px;padding:12px;max-width:560px;align-items:start}.settle__title{margin:0;font-size:1.1rem}.settle__msg{padding:16px 4px;color:#555}.settle__hint{margin:-8px 0 0;padding:0 4px;color:#999;font-size:.8rem}.settle__refresh{justify-self:start;min-height:40px;padding:6px 16px;border:1px solid #bbb;border-radius:8px;background:#f4f4f4}.settle__asof{margin:0;font-size:.8rem;color:#777}.settle__total{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.settle__block{border:1px solid #ddd;border-radius:10px;padding:10px 12px;background:#fafafa}.settle__block h2{margin:0 0 6px;font-size:.9rem;color:#555}.settle__block ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-variant-numeric:tabular-nums}.settle__more{margin:6px 0 0;color:#777;font-size:.85rem}.settle__field{display:flex;flex-direction:column;gap:4px}.settle__field input,.settle__field select{min-height:48px;padding:8px 10px;font-size:1.1rem;font-variant-numeric:tabular-nums;border:1px solid #bbb;border-radius:8px}.settle__checkbox{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}.settle__checkbox input{width:20px;height:20px}.settle__checkbox input[type=time]{width:auto;min-height:40px;padding:4px 8px;border:1px solid #bbb;border-radius:6px;font-variant-numeric:tabular-nums}.settle__checkbox button{min-height:40px;padding:6px 14px;border:1px solid #bbb;border-radius:8px;background:#f4f4f4}.settle__confirm{font-weight:700}.settle__flip{justify-self:start;min-height:44px;padding:8px 16px;border:1px solid #b00;border-radius:8px;background:#fff;color:#b00}.settle__flip-wrap{display:grid;gap:8px}.settle__cash{font-variant-numeric:tabular-nums}.settle__cash p{margin:2px 0}.settle__ref{color:#777;font-size:.85rem}.settle__sync{margin:0;color:#777;font-size:.85rem;font-style:italic}.closer-roster{display:flex;flex-wrap:wrap;gap:8px}.closer-roster button{min-height:44px;padding:6px 14px;border:1px solid #bbb;border-radius:8px;background:#f4f4f4}.closer-roster button[aria-pressed=true]{border-color:#2f6f6a;background:#2f6f6a;color:#fff}.settle__note{margin:0;color:#2f6f6a}.settle__error{margin:0;color:#b00}.settle__submit{min-height:52px;border:0;border-radius:10px;background:#2f6f6a;color:#fff;font-size:1.05rem}.settle__submit:disabled{background:#9bbdba}.settle-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:#222;color:#fff;padding:12px 18px;border-radius:10px;z-index:30;font-variant-numeric:tabular-nums}.admin{display:grid;grid-template-columns:1fr;gap:10px;padding:12px;max-width:640px;align-items:start}.admin__topbar{display:flex;align-items:center;gap:12px}.admin__title{margin:0;font-size:1.1rem}.admin__msg{padding:8px 4px;color:#555}.admin__error{margin:0;color:#b00}.admin__back{justify-self:start;min-height:44px;padding:6px 16px;border:1px solid #bbb;border-radius:8px;background:#f4f4f4}.admin__primary{min-height:48px;padding:6px 18px;border:0;border-radius:10px;background:#2f6f6a;color:#fff;font-size:1.02rem}.admin__primary:disabled{background:#9bbdba}.admin__ghost{min-height:44px;padding:6px 16px;border:1px solid #bbb;border-radius:8px;background:#f4f4f4}.admin__tabs{display:flex;gap:4px;border-bottom:2px solid #ddd}.admin__tab{min-height:44px;padding:8px 16px;border:1px solid #ddd;border-bottom:0;border-radius:8px 8px 0 0;background:#f0f0f0;color:#555;font-size:.98rem}.admin__tab.is-active{background:#fff;color:#1a1a1a;font-weight:700;box-shadow:inset 0 -3px #2f6f6a}.admin__panel{display:grid;gap:10px}.admin__add{justify-self:start;min-height:44px;padding:6px 16px;border:1px dashed #2f6f6a;border-radius:8px;background:#f4faf9;color:#2f6f6a}.admin__form{display:grid;gap:8px;padding:12px;border:1px solid #ddd;border-radius:10px;background:#fafafa}.admin__field{display:flex;flex-direction:column;gap:4px}.admin__field input,.admin__field select{min-height:44px;padding:8px 10px;font-size:1.05rem;border:1px solid #bbb;border-radius:8px}.admin__formbtns{display:flex;gap:8px}.admin__formtitle{font-weight:700;font-size:.95rem}.admin__hint{margin:0;color:#777;font-size:.8rem}.admin__subform{flex-basis:100%;display:grid;gap:8px;margin-top:6px;padding:10px;border:1px dashed #bbb;border-radius:8px;background:#fafafa}.admin__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.admin__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e2e2e2;border-radius:8px;background:#fff}.admin__rowmain{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;flex:1 1 200px}.admin__rowname{font-weight:600}.admin__rowmeta{color:#777;font-size:.85rem;font-variant-numeric:tabular-nums}.admin__badge{padding:1px 6px;border-radius:6px;background:#eee;color:#555;font-size:.75rem}.admin__rowbtns{display:flex;flex-wrap:wrap;gap:6px}.admin__rowbtns button{min-height:40px;padding:4px 12px;border:1px solid #bbb;border-radius:8px;background:#f4f4f4}.admin__rowbtns button:disabled{opacity:.4}.admin__confirm{color:#b00;font-size:.85rem}.eventview__headline{display:flex;align-items:baseline;gap:10px;font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums}.eventview__count{font-size:.9rem;font-weight:400;color:#777}.eventview__table{width:100%;border-collapse:collapse}.eventview__table td{padding:6px 8px;border-bottom:1px solid #e2e2e2}.eventview__table .eventview__money{text-align:right;font-variant-numeric:tabular-nums}.settlements__table{width:100%;border-collapse:collapse}.settlements__table th,.settlements__table td{padding:6px 8px;border-bottom:1px solid #e2e2e2;text-align:left;vertical-align:top}.settlements__table .settlements__money{text-align:right;font-variant-numeric:tabular-nums}.settlements__act{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.settlements__act button{min-height:40px;padding:4px 12px;border:1px solid #bbb;border-radius:8px;background:#f4f4f4}.settlements__act button:disabled{opacity:.4}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,sans-serif;background:#e9ecee;color:#1a1a1a;-webkit-text-size-adjust:100%}.app{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.appbar{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;padding:8px 12px}.screen{padding:12px}.token-gate{display:flex;flex-direction:column;gap:12px;max-width:420px;margin:12dvh auto 0}.token-gate__label{display:flex;flex-direction:column;gap:6px;font-size:.95rem}.token-gate__input{min-height:44px;padding:8px 10px;border:1px solid #bbb;border-radius:8px;font-size:1rem}.token-gate button{min-height:44px;padding:10px 20px;border:0;border-radius:8px;background:#2f6f6a;color:#fff;font-size:1rem}.token-gate button:disabled{opacity:.6}.token-gate__error{margin:0;color:#b3261e;font-size:.9rem}.appbar__modes{display:flex;gap:8px}.appbar__modes button{min-height:44px;padding:6px 14px;border:1px solid #bbb;border-radius:8px;background:#f4f4f4;font-size:.95rem}.appbar__modes button[aria-pressed=true]{background:#2f6f6a;border-color:#2f6f6a;color:#fff}
