:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172024;background:#f5f7f5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:not-allowed}.app{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.side{background:#132c2a;color:#eaf4ef;padding:28px 16px;display:flex;flex-direction:column;gap:26px}.brand{font-size:24px;font-weight:800;letter-spacing:-1px;padding:0 12px}.brand span{color:#8ad9b4}.side nav{display:grid;gap:6px}.side nav button{background:transparent;color:#bfd1ca;text-align:left;padding:13px 15px;border-radius:11px}.side nav button.active,.side nav button:hover{background:#2a4944;color:white}.side footer{margin-top:auto;font-size:12px;color:#93aaa2;padding:12px}.main{min-width:0}.top{height:82px;background:white;border-bottom:1px solid #e4eae6;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.top h1{font-size:22px;margin:0}.top small{color:#718079}.top .right{display:flex;gap:12px;align-items:center}.pill{border-radius:99px;padding:8px 12px;background:#e8f5ec;color:#276446;font-size:12px;font-weight:700}.content{padding:26px 32px;max-width:1600px;margin:auto}.grid{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:22px}.card{background:#fff;border:1px solid #e4eae6;border-radius:16px;box-shadow:0 3px 18px #1c403508}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.toolbar input,.field{border:1px solid #dce5df;border-radius:10px;padding:11px 13px;background:#fff;outline:none}.toolbar input{flex:1;min-width:170px}.tabs{display:flex;gap:7px;overflow:auto;padding-bottom:14px}.tabs button,.ghost{background:#eef3ef;color:#39534a;border-radius:9px;padding:10px 13px;white-space:nowrap}.tabs button.active{background:#195c43;color:white}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:13px}.product{padding:18px;text-align:left;border:1px solid #e5ece7;border-radius:13px;background:#fff;min-height:135px;display:flex;flex-direction:column;gap:8px}.product:hover{border-color:#57a77b;box-shadow:0 4px 14px #1b684218}.product .icon{font-size:28px}.product strong{font-size:15px}.product span:last-child{margin-top:auto;color:#168052;font-weight:800}.order{padding:20px;align-self:start;position:sticky;top:18px}.order h2,.section h2{margin:0 0 16px;font-size:19px}.order header{display:flex;justify-content:space-between;align-items:center}.order .empty{text-align:center;color:#80918a;padding:45px 10px}.line{display:flex;gap:8px;align-items:flex-start;border-bottom:1px solid #edf1ee;padding:13px 0}.line .details{flex:1}.line small{display:block;color:#78877f;margin-top:4px}.qty{display:flex;gap:7px;align-items:center}.qty button{background:#edf4ef;border-radius:7px;width:25px;height:25px}.total{display:flex;justify-content:space-between;font-size:22px;font-weight:800;margin:20px 0}.primary{background:#177a51;color:#fff;border-radius:10px;padding:12px 17px;font-weight:700}.primary:hover{background:#106542}.full{width:100%}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.muted{color:#75857c}.section{padding:22px}.tablegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:13px}.table{background:#fff;border:1px solid #dfe8e1;border-radius:13px;padding:17px;text-align:left;min-height:110px}.table.occupied{border-color:#ecbc7a;background:#fff9ee}.table strong{display:block;font-size:20px;margin-bottom:10px}.table small{color:#72817a}.badge{display:inline-block;font-size:12px;border-radius:20px;padding:5px 9px;background:#ebf5ed;color:#2c754a}.badge.orange{background:#fff1dc;color:#aa6510}.list{display:grid;gap:12px}.listitem{border:1px solid #e4ebe5;border-radius:12px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:15px}.modalback{position:fixed;inset:0;background:#10231dcc;display:grid;place-items:center;padding:20px;z-index:5}.modal{background:#fff;width:min(550px,100%);max-height:90vh;overflow:auto;border-radius:17px;padding:25px;box-shadow:0 20px 70px #07190e66}.modal h2{margin:0 0 7px}.modal label{display:block;font-weight:700;margin:17px 0 8px}.modal .field{width:100%}.choice{display:flex;flex-wrap:wrap;gap:8px}.choice button{background:#f0f4f1;color:#375349;padding:9px 12px;border-radius:9px}.choice button.active{background:#d8efe0;color:#126c43;outline:2px solid #44a675}.modal footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.stat{padding:20px}.stat strong{display:block;font-size:25px;margin-top:8px}.receipt{font-family:Consolas,monospace;white-space:pre-wrap;background:#f6f8f6;border:1px dashed #aebdb2;padding:20px;margin:16px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice{background:#fff7e9;color:#8d5b1c;padding:12px 15px;border-radius:10px;margin-bottom:15px}@media(max-width:900px){.app{grid-template-columns:1fr}.side{padding:12px;gap:10px}.side nav{display:flex;overflow:auto}.side nav button{white-space:nowrap}.side footer{display:none}.top{padding:15px;height:auto}.content{padding:16px}.grid{grid-template-columns:1fr}.order{position:static}.stats{grid-template-columns:1fr}}
@media print{.app,.modal h2,.modal footer{display:none!important}.modalback{position:static;background:#fff;padding:0}.modal{box-shadow:none;border:0;width:80mm;padding:0}.receipt{border:0;margin:0;padding:0;font-size:12px}}
.menu-group{margin:0 0 22px}.menu-group h2{font-size:17px;margin:5px 0 12px;color:#254739}.product{padding:0 0 15px;overflow:hidden;min-height:220px}.product strong,.product small,.product span:last-child{margin-left:14px;margin-right:14px}.product small{color:#73847b;font-size:12px;line-height:1.35}.food-photo{height:125px;width:100%;position:relative;overflow:hidden;background:#e7e3dc}.food-photo img{position:absolute;width:960px;height:1280px;max-width:none}.no-photo{height:125px;background:#e9ede8;color:#637368;display:grid;place-items:center;text-align:center;font-size:12px;padding:12px}.modal .food-photo,.modal .no-photo{height:210px;border-radius:10px;margin:15px 0}.modal .food-photo img{transform:scale(1.2);transform-origin:center center}
.thumb{width:66px;height:54px;overflow:hidden;border-radius:8px;flex:none}.thumb .food-photo,.thumb .no-photo{width:66px;height:54px}.thumb .no-photo{font-size:8px;padding:3px}

.food-photo.generated{height:auto;aspect-ratio:1/1}.food-photo.generated img{position:absolute;max-width:none;object-fit:fill;transform:none}.modal .food-photo.generated{width:min(100%,360px);height:auto;aspect-ratio:1/1;margin:15px auto}.modal .food-photo.generated img{transform:none}.thumb .food-photo.generated{width:66px;height:54px;aspect-ratio:auto}

.food-photo.brand-trio{height:auto;aspect-ratio:3/1}.food-photo.brand-trio img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.modal .food-photo.brand-trio{width:100%;height:auto;aspect-ratio:3/1}.modal .food-photo.brand-trio img{transform:none}

.food-photo.standalone{height:auto;aspect-ratio:1/1}.food-photo.standalone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.modal .food-photo.standalone{width:min(100%,360px);height:auto;aspect-ratio:1/1;margin:15px auto}.modal .food-photo.standalone img{transform:none}.product-actions{display:flex;gap:8px;padding:0 12px;margin-top:auto}.product-actions button{flex:1;padding:8px 6px;font-size:13px}.product .product-actions button{margin:0}.quantity-picker{display:flex;align-items:center;gap:20px}.quantity-picker button{width:42px;height:42px;border-radius:10px;background:#e7f3ec;color:#126c43;font-size:24px}.quantity-picker strong{font-size:23px;min-width:30px;text-align:center}
.product > span{display:block;margin: auto 14px 0;text-align:center;color:#168052;font-size:18px;font-weight:800}.product-actions{margin-top:14px}
.product-editor{width:min(650px,100%)}.product-editor textarea{resize:vertical}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.product-editor small.muted{display:block;margin-top:7px}.editor-photo{max-width:220px;margin:10px 0}.editor-photo .food-photo,.editor-photo .no-photo{width:100%;height:150px;border-radius:10px}.editor-photo .food-photo.generated,.editor-photo .food-photo.standalone{height:auto;aspect-ratio:4/3}.editor-photo .food-photo img{transform:none}@media(max-width:520px){.editor-grid{grid-template-columns:1fr}}
.order{display:flex;flex-direction:column;max-height:calc(100dvh - 36px);overflow:hidden}.order header,.order .total,.order>.row{flex:none}.order-lines{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9ab8a5 #edf3ee;padding-right:5px}.order-lines::-webkit-scrollbar{width:8px}.order-lines::-webkit-scrollbar-thumb{background:#9ab8a5;border-radius:8px}.order-lines::-webkit-scrollbar-track{background:#edf3ee;border-radius:8px}@media(max-width:900px){.order{max-height:min(70dvh,700px)}}
.table-select{display:block;width:100%;padding:0;text-align:left;background:transparent;color:inherit}.table-pay{width:100%;margin-top:12px;padding:9px 12px}.table .table-select strong{margin-bottom:10px}
.payment-settings-link{display:flex;justify-content:flex-end;margin-bottom:14px}.payment-config-button{display:block;margin-top:15px}.payment-details{margin-top:16px;padding:16px;border:1px solid #dce9df;border-radius:12px;background:#f5faf6;text-align:center}.payment-details p{margin:10px 0}.payment-details small{display:block;color:#61776b;margin-top:10px}.payment-qr{display:block;width:min(230px,100%);height:auto;object-fit:contain;margin:12px auto;border:1px solid #e1e8e2;border-radius:8px;background:white;padding:8px}.payment-setup{border-top:1px solid #e4ebe5;margin-top:20px;padding-top:8px}.payment-setup h3{margin:8px 0}.payment-preview{min-height:70px;display:flex;align-items:center;justify-content:center;background:#f6f9f6;border-radius:10px}.payment-preview .payment-qr{max-width:180px}.payment-setup>.ghost{margin-top:8px}
.table-add{display:block;width:100%;margin-top:8px;white-space:normal;font-weight:700}
.brand{line-height:1.1}.brand-mark{display:inline-grid;place-items:center;width:29px;height:29px;margin-right:3px;border-radius:9px;background:#2e7856;color:#d8f7dd;font-size:18px;vertical-align:2px}.brand small{display:block;margin:7px 0 0 38px;color:#a7cbb5;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.flow-guide{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:13px 17px;border:1px solid #cfe7d5;border-radius:13px;background:linear-gradient(110deg,#eaf7ed,#f7fbf4);color:#355648;font-size:14px;animation:guide-in .35s ease-out}.flow-step{flex:none;padding:7px 10px;border-radius:8px;background:#d4edda;color:#176541;font-weight:800}.side nav button,.primary,.ghost,.table,.product,.card,.choice button{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.primary:hover:not(:disabled),.ghost:hover:not(:disabled),.table-select:hover,.product:hover{transform:translateY(-2px)}.ghost:hover:not(:disabled){background:#dcebe0}.table:hover,.card:hover{box-shadow:0 7px 22px #1c403512}.side nav button:hover{transform:translateX(3px)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #73bf8c;outline-offset:2px}.modal{animation:modal-in .22s ease-out}@keyframes guide-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media(max-width:600px){.flow-guide{align-items:flex-start;flex-direction:column}.top .right{display:none}.brand small{margin-left:0}}@media(prefers-reduced-motion:reduce){.flow-guide,.modal{animation:none}.side nav button,.primary,.ghost,.table,.product,.card,.choice button{transition:none}}
.report-filters{margin-bottom:18px}.report-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.report-filter-grid label{font-size:13px;font-weight:700;color:#456054}.report-filter-grid .field{display:block;width:100%;margin-top:7px}.report-filters>p{margin-bottom:0}.report-stats{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.report-stats .stat{min-height:112px}.report-stats small{display:block;margin-top:6px;font-size:11px}.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.report-bar-row{margin:0 0 16px}.report-bar-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:13px}.report-bar-row span{color:#61776b}.report-track{height:10px;margin-top:7px;border-radius:10px;background:#edf3ee;overflow:hidden}.report-track span{display:block;height:100%;background:linear-gradient(90deg,#4ab978,#147d50);border-radius:10px}.report-products{max-height:340px;overflow:auto}.report-products>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #edf1ee}.report-products small{color:#75857c}.receipt-modal footer{flex-wrap:wrap}.receipt-modal .receipt{font-size:13px;line-height:1.5}@media(max-width:900px){.report-columns{grid-template-columns:1fr}}

/* Una capa visual más cálida y estados claros para el trabajo diario. */
:root{color:#23342c;background:#f5f2e9;--forest:#163b31;--leaf:#20845c;--cream:#fffdf8;--line:#e9e4d9}
body{background:radial-gradient(circle at 85% 0%,#e6f2e8 0,transparent 33%),#f5f2e9}
.side{background:linear-gradient(160deg,#102d28 0%,#174737 62%,#24634a 100%);box-shadow:12px 0 38px #153b2b14;position:relative;z-index:1}
.brand{font-size:27px;line-height:1.15}.brand span{color:#bce9bd}.brand-mark{background:#d3eeb8;color:#174737;box-shadow:0 5px 18px #061f1640}
.side nav button{border:1px solid transparent;font-weight:650;letter-spacing:.01em}.side nav button.active{background:#ffffff1f;border-color:#ffffff38;box-shadow:inset 3px 0 #c9e7aa,0 8px 20px #061d1524}.side nav button:hover{background:#ffffff24}
.top{height:96px;background:#fffdf9e8;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.top h1{font-size:clamp(23px,2.3vw,31px);letter-spacing:-.035em;color:var(--forest)}.top small{text-transform:capitalize}.top .pill{background:#e5f3e6;color:#1d6b46;border:1px solid #cce7ce}
.content{padding-top:30px;padding-bottom:50px;animation:page-arrive .36s ease-out}.flow-guide{background:linear-gradient(105deg,#e3f2e5,#f9f8ec);border-color:#c8e3cb;box-shadow:0 8px 25px #173f3010}.flow-step{background:#1c6c4c;color:#fff;border-radius:9px}
.card,.product,.table{background:var(--cream);border-color:var(--line);box-shadow:0 9px 26px #3146300c}.section{padding:clamp(20px,2.5vw,32px)}.section h2,.order h2{color:var(--forest);letter-spacing:-.025em}.section>h2:first-child{font-size:22px}
.tablegrid{gap:16px}.table{position:relative;overflow:hidden;min-height:132px;padding:20px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.table:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:#83cba1}.table.occupied{background:#fff9ef;border-color:#f0d7ad}.table.occupied:before{background:#eaaa58}.table:hover{transform:translateY(-4px);box-shadow:0 16px 30px #234b3020}.table strong{font-size:22px;letter-spacing:-.035em}.table .badge{margin-bottom:7px}.table-pay{box-shadow:0 5px 13px #a8631b20}
.badge{font-weight:750}.product{border-radius:17px;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.product:hover{transform:translateY(-5px);border-color:#9bceb0;box-shadow:0 18px 34px #224b3020}.product .food-photo,.product .no-photo{transition:filter .3s ease,transform .4s ease}.product:hover .food-photo,.product:hover .no-photo{transform:scale(1.035);filter:saturate(1.1)}.product strong{font-size:16px;line-height:1.3;color:var(--forest)}.product>span{color:#176b4a}.product-actions .primary{background:#1b8055}
.primary{background:linear-gradient(135deg,#218e5c,#176d4b);box-shadow:0 5px 14px #177a5126}.primary:hover:not(:disabled){background:linear-gradient(135deg,#269e68,#166a48);box-shadow:0 9px 18px #177a5136}.primary:active:not(:disabled),.ghost:active:not(:disabled){transform:translateY(0) scale(.98)}.ghost{background:#edf3ea;color:#345c46}.tabs{padding-bottom:17px}.tabs button{border:1px solid #e1e9df;font-weight:650}.tabs button.active{background:#1b6d4c;border-color:#1b6d4c;box-shadow:0 5px 12px #1b6d4c25}.tabs button:hover:not(.active){background:#dfeee2}
.toolbar input:focus,.field:focus{border-color:#4b9c6e;box-shadow:0 0 0 4px #58ad7720}.order{border-top:4px solid #2d9867}.order .total{color:var(--forest)}.order .empty{border:1px dashed #d4e2d3;border-radius:13px;background:#f9fbf5}.line{animation:item-arrive .25s ease-out}.stat{border-top:3px solid #a4d1a9}.stat strong{color:var(--forest);font-size:clamp(24px,2.5vw,31px)}.listitem{background:#fffefa;transition:background-color .2s ease,transform .2s ease}.listitem:hover{background:#f7fbf5;transform:translateX(3px)}.modal{border:1px solid #f3eee1;box-shadow:0 28px 90px #06190e70}
@keyframes page-arrive{from{opacity:.65;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes item-arrive{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.side{box-shadow:0 8px 24px #153b2b18}.top{height:auto;min-height:75px}.content{padding-top:18px}.tablegrid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}
@media(max-width:600px){.brand{font-size:22px}.side nav button{padding:10px 12px}.table{min-height:117px;padding:15px}.table strong{font-size:19px}.product:hover,.table:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.content,.line{animation:none}.product .food-photo,.product .no-photo,.table,.listitem,.tabs button{transition:none}.product:hover,.table:hover,.listitem:hover{transform:none}}
@media print{body{background:#fff}.content{animation:none}.modal{box-shadow:none;border:0}}
