*{box-sizing:border-box}body{margin:0;background:#f4f6f3;color:#183c37;font:16px/1.55 system-ui,sans-serif}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15}h2{line-height:1.3}button,input,select{font:inherit}button{min-height:48px;border:0;border-radius:12px;background:#146457;color:#fff;padding:12px 20px;font-weight:650;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:not-allowed}input,select{width:100%;min-height:48px;border:1px solid #bdcdc5;border-radius:10px;padding:10px;background:#fff;color:#183c37}input:focus,select:focus,button:focus-visible{outline:3px solid #d39e3e;outline-offset:3px}label{display:grid;gap:6px;font-weight:600}form{display:grid;gap:18px}small{font-size:.83rem;color:#526b65}code{font-size:.78rem;overflow-wrap:anywhere}.access{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(at top right,#d6e7d8,transparent 60%),#eef2e9}.card{padding:28px;background:#fff;border:1px solid #dce5de;border-radius:20px;margin-bottom:22px}.access .card{max-width:490px;width:100%}.login h1{margin:20px 0}.login small{display:block;margin-top:24px}.eyebrow{font-size:.73rem;letter-spacing:.15em;font-weight:750;color:#58746b}.light{color:#bad1c7}.shell{display:flex;min-height:100dvh}aside{width:260px;flex-shrink:0;background:#114b45;color:#fff;padding:30px 22px;display:flex;flex-direction:column;gap:30px}aside h2{margin-top:12px;font-size:1.35rem;overflow-wrap:anywhere}nav{display:grid;gap:10px}nav button{text-align:left;background:transparent}nav button.selected{background:#ffffff20}.identity{margin-top:auto;display:grid;gap:8px}.identity span{color:#c4dbd0}.outline{background:transparent;border:1px solid #a2c0b4;margin-top:12px}.content{width:100%;min-width:0;max-width:1300px;padding:40px}header{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:26px}header h1{margin:10px 0}.badge{background:#e1ebdf;border-radius:30px;padding:8px 14px;font-size:.8rem;white-space:nowrap}.hero{padding:30px;background:#e2ecdd;border-radius:20px;margin-bottom:22px}.hero h2{font-size:1.8rem;margin:15px 0}.hero p{max-width:620px;margin-bottom:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.metric{font-size:1.5rem;font-weight:650}.secondary{background:#edf2ec;color:#184c40}.access .secondary{margin:12px}.warning,.error,.success{padding:14px;border-radius:12px;overflow-wrap:anywhere}.warning{background:#fff0c9}.error{background:#fde6e0;color:#8b2716}.success{background:#def4e5}.member-form{grid-template-columns:2fr 1.5fr 1fr;align-items:end}.member-form button{grid-column:1/-1}.person{padding:20px 0;border-top:1px solid #e1e8e2;display:flex;justify-content:space-between;gap:16px}.person p{margin:4px 0}.actions{display:flex;gap:8px;align-items:center}.event{padding:18px 0;border-top:1px solid #e1e8e2}.event time,.event small{display:block}.event pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;background:#f1f5f0;padding:14px;border-radius:10px}@media(max-width:850px){.shell{display:block}aside{width:100%;padding:18px;gap:16px}aside h2{margin:4px 0}nav{display:flex;flex-wrap:wrap;gap:8px}nav button{padding:10px}.identity{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.identity .outline{margin:0 0 0 auto}.content{padding:22px 16px}.card{padding:22px}.member-form{grid-template-columns:1fr}.grid{grid-template-columns:1fr;gap:0}.person{flex-direction:column}header{flex-wrap:wrap}.actions button{flex:1}}.catalog-intro,.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.catalog-intro{margin-bottom:18px}.catalog-intro p{margin:8px 0 0}.catalog-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.section-title h2{margin:0}.count{font-size:.8rem;background:#e4edde;padding:5px 10px;border-radius:20px;vertical-align:middle}.catalog-filters{display:grid;grid-template-columns:1.5fr 1fr auto;gap:18px;align-items:end;margin-top:24px}.check{display:flex;gap:10px;align-items:center;min-height:48px;font-weight:500}.check input{width:22px;height:22px;min-height:22px;accent-color:#146457;flex-shrink:0}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.product-card{display:flex;flex-direction:column;min-width:0;margin-bottom:0}.product-top{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.product-card h3{font-size:1.4rem;overflow-wrap:anywhere;margin-bottom:8px}.product-price{font-size:1.8rem;font-weight:700;margin-bottom:16px;overflow-wrap:anywhere}.pill{font-size:.73rem;background:#e4efdf;color:#265c41;border-radius:20px;padding:6px 10px}.pill.muted{background:#ececec;color:#666}.product-card details{border-top:1px solid #e2e8df;padding:10px 0}.product-card summary{cursor:pointer;min-height:36px;overflow-wrap:anywhere}.product-card li,.catalog-row li{overflow-wrap:anywhere}.edit-product{margin-top:auto;align-self:start}.combo-list{padding-left:22px;margin-top:0}.catalog-row{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid #e2e8df}.catalog-row:last-child{border-bottom:0}.catalog-row strong{overflow-wrap:anywhere}.catalog-row p{margin:4px 0}.catalog-row>div{min-width:0}.catalog-row button{flex-shrink:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wide{grid-column:1/-1}textarea{font:inherit;min-height:96px;resize:vertical;border:1px solid #bdcdc5;border-radius:10px;padding:10px;max-width:100%;width:100%}fieldset{border:0;padding:0;margin:0;min-width:0}fieldset:disabled{opacity:.6}.subform{border-top:1px solid #e1e8df;padding-top:22px;margin-top:22px}.component-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(80px,1fr) auto;align-items:end;gap:12px;margin-bottom:16px}.extra-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto;gap:12px;align-items:end;margin-bottom:16px}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.edit-card{border:2px solid #83aa8e;scroll-margin-top:20px}.empty{margin-top:22px}.empty p{margin-bottom:0}textarea:focus{outline:3px solid #d39e3e;outline-offset:3px}@media(max-width:1100px){.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters .check{grid-column:1/-1}.extra-row{grid-template-columns:1fr 1fr}.extra-row .check{grid-column:1}.product-grid{grid-template-columns:1fr}}@media(max-width:600px){.catalog-intro>button{width:100%}.section-title>button{width:100%}.catalog-filters,.form-grid,.component-row,.extra-row{grid-template-columns:1fr}.catalog-filters .check,.extra-row .check{grid-column:auto}.catalog-row{align-items:stretch;flex-direction:column}.catalog-row button{width:100%}.catalog-tabs button,.form-actions button{flex:1}.product-price{font-size:1.5rem}}.order-controls{border:0;padding:0;margin:0;min-width:0}.orders-module>.actions{flex-wrap:wrap}.order-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;align-items:end}.table-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:20px 0}.dining-table{margin:0;border-top:6px solid #899895}.dining-table.free{border-top-color:#207766}.dining-table.due{border-top-color:#c48416}.dining-table.occupied{border-top-color:#b75c3a}.dining-table button{width:100%;margin-top:10px}.order-card{color:var(--ink,#193c36);text-align:left;margin:0;display:flex;flex-direction:column;gap:12px;background:#fff}.order-card.chosen{outline:3px solid #19685b}.order-lines{display:grid;gap:12px}.order-line{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #dde6df;padding:16px 0}.order-line p{margin:6px 0}.order-line .actions{align-content:start;flex-wrap:wrap}.order-add{background:#f4f7f3;border-radius:16px;padding:20px;display:grid;gap:16px;margin:24px 0}.account-detail>.actions{flex-wrap:wrap;margin:20px 0}.account-detail details{border-top:1px solid #dce4dd;padding:20px 0}.account-detail summary{cursor:pointer;font-weight:700;min-height:44px}.account-detail details form{display:grid;gap:16px}.account-detail details .actions{flex-wrap:wrap;margin:14px 0}.account-detail fieldset{min-width:0}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.orders-module input[type=checkbox]{width:24px;min-height:24px;height:24px}.orders-module .check{display:flex;align-items:center;gap:12px}.orders-module textarea{min-height:90px;width:100%;font:inherit;padding:12px;border:1px solid #b9cbc2;border-radius:12px}fieldset:disabled{opacity:.75}@media(max-width:600px){.table-map{grid-template-columns:1fr}.order-line{flex-direction:column}.order-grid{grid-template-columns:1fr}.order-add{padding:14px}.orders-module .actions button{flex:1;min-width:100px}}.checkout-form{display:grid;gap:20px}.checkout-module fieldset{min-width:0}.checkout-module textarea{width:100%;min-height:90px;font:inherit;padding:12px;border:1px solid #b9cbc2;border-radius:12px}.checkout-module .check{display:flex;align-items:center;gap:12px;margin:16px 0}.checkout-module input[type=checkbox]{width:24px;height:24px;min-height:24px;flex-shrink:0}.checkout-module .actions{flex-wrap:wrap}.change-panel,.checkout-review{background:#edf4ef;padding:20px;border-radius:16px;margin:16px 0}.sale-history{display:block;text-align:left;width:100%;margin:10px 0}.receipt{max-width:800px;margin:24px auto;overflow-wrap:anywhere}.receipt-line{padding:12px 0;border-bottom:1px solid #ddd}.receipt-line p{margin:6px 0}.receipt h2{margin-top:20px}.checkout-module form fieldset{width:100%;border:0;padding:0}body:has(.receipt) .receipt{color:#193d36}@media print{@page{size:auto;margin:12mm}body{background:#fff;font-size:11pt}.shell{display:block}.shell>aside,.content>header,.content>.warning,.content>.error,.content>.success,.checkout-work,.no-print{display:none!important}.content{padding:0!important}.checkout-module .receipt{display:block;max-width:none;border:0;margin:0;padding:0;box-shadow:none}.receipt h2{font-size:18pt}.receipt h3{font-size:12pt}.receipt-line{break-inside:avoid}body:has(.receipt) .content>p{display:none!important}}@media print{html,body,.shell,.content,.checkout-module{min-height:0!important;height:auto!important}.content{max-width:none!important}.receipt{border-radius:0!important}.receipt p{margin-bottom:8px}}.inventory-module .check{display:flex;align-items:center;gap:12px}.inventory-module input[type=checkbox]{width:24px;height:24px;min-height:24px;flex-shrink:0}.inventory-module textarea{width:100%;min-height:90px;font:inherit;padding:12px;border:1px solid #b9cbc2;border-radius:12px}.inventory-module .actions{flex-wrap:wrap}.inventory-module .event,.inventory-module .person{overflow-wrap:anywhere}.inventory-module .order-grid>p{grid-column:1/-1}.inventory-module .order-grid{margin-bottom:16px}.inventory-module label{min-width:0}.cash-module .check{display:flex;align-items:center;gap:12px;margin:16px 0}.cash-module input[type=checkbox]{width:24px;height:24px;min-height:24px;flex-shrink:0}.cash-module textarea{width:100%;min-height:90px;font:inherit;padding:12px;border:1px solid #b9cbc2;border-radius:12px}.cash-module .actions{flex-wrap:wrap}.cash-module .event,.cash-report{overflow-wrap:anywhere}.cash-module .order-grid{margin-bottom:16px}.cash-module label{min-width:0}.cash-report{max-width:800px;margin:24px auto}@media print{body:has(.cash-report) .cash-work{display:none!important}.cash-report{border:0;max-width:none;margin:0;padding:0}.cash-module{min-height:0!important}.cash-report .event{break-inside:avoid}}.reports-module .actions{flex-wrap:wrap;margin-bottom:18px}.report-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:24px 0}.report-metrics article{padding:20px;background:#edf4ef;border-radius:14px}.report-metrics strong,.report-metrics span{display:block}.report-metrics strong{font-size:1.45rem;margin-top:12px;overflow-wrap:anywhere}.reports-module .event{overflow-wrap:anywhere}.report-bar{background:#e7eee8;border-radius:6px;height:8px;margin:12px 0}.report-bar span{display:block;height:8px;background:#247b69;border-radius:6px}@media print{body:has(.report-content) .reports-module>.no-print{display:none!important}.report-content .card{border:0;border-radius:0;padding:0;break-inside:auto}.report-content .event,.report-metrics article{break-inside:avoid}.reports-module{min-height:0!important}}
