@import"https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";:root{--azul-encanto: #216b95;--azul-profundo: #174e70;--azul-suave: #e8f3f8;font-family:DM Sans,sans-serif;color:#42271d;background:#fff8e8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow-x:hidden;background:radial-gradient(circle at 88% 7%,#f5cf7b42 0 2px,transparent 2.5px),radial-gradient(circle at 13% 22%,#e9bc6233 0 1.5px,transparent 2px),#fff8e8}button,input,select{font:inherit}button{cursor:pointer;border:0}.app-shell{display:flex;min-height:100vh}.app-shell aside{position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;width:244px;padding:29px 16px;color:#23475e;background:radial-gradient(circle at 18% 8%,#f0bd4b 0 2px,transparent 2.5px),radial-gradient(circle at 86% 18%,#f0bd4b88 0 1px,transparent 1.5px),#fff9ea;border-right:1px solid #eadbc0}.brand{display:flex;align-items:center;justify-content:center;height:146px}.brand img{display:block;width:188px;height:146px;object-fit:contain}nav{display:grid;gap:7px;margin-top:19px}nav button,.logout{display:flex;align-items:center;gap:12px;padding:12px 13px;color:#577383;text-align:left;font-size:15px;background:transparent;border-radius:9px}nav button:hover{color:var(--azul-profundo);background:var(--azul-suave)}nav button.active{color:#fff;background:var(--azul-encanto);box-shadow:0 5px 12px #216b9526}.logout{margin-top:auto}.logout:hover{color:var(--azul-profundo)}.app-shell main{width:calc(100% - 244px);max-width:1540px;min-height:100vh;margin-left:244px;padding:44px max(40px,5vw);background:radial-gradient(ellipse at 100% 100%,#efd18433 0 9%,transparent 9.5%),radial-gradient(ellipse at 100% 100%,#2d6c3d 0 1.2%,transparent 1.35%)}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.eyebrow{margin:0 0 5px;color:#3f7747;font-size:11px;font-weight:700;letter-spacing:.13em}.eyebrow:before{margin-right:6px;color:#e2ad41;content:"✦"}h1,h2{margin:0;font-family:Playfair Display,serif}h1{font-size:32px}h2{font-size:21px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;color:#fff;font-weight:700;background:var(--azul-encanto);border-radius:9px;box-shadow:0 5px 12px #216b9533}.primary:hover{background:var(--azul-profundo)}.primary:disabled,.link:disabled{cursor:not-allowed;opacity:.55}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:27px}.stat,.panel{background:#fffdf5;border:1px solid #eadbc0;border-radius:13px;box-shadow:0 2px 10px #6845300a}.stat{position:relative;padding:22px}.stat span{position:absolute;top:18px;right:22px;padding:7px;color:var(--azul-profundo);font-size:24px;background:var(--azul-suave);border-radius:9px}.stat p{margin:0 0 9px;color:#806d60;font-size:14px}.stat strong{font-size:25px}.panel{overflow:hidden}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid #f0e4cd}.link{display:inline-flex;align-items:center;gap:3px;padding:2px;color:var(--azul-encanto);font-weight:700;background:none}table{width:100%;border-collapse:collapse;text-align:left}th{color:#8a7258;font-size:12px;letter-spacing:.06em;text-transform:uppercase;background:#fff9eb}th,td{padding:15px 24px;font-size:14px;border-bottom:1px solid #f4ead9}td strong,td small{display:block}td small{margin-top:3px;color:#8c786c}.price{color:var(--azul-profundo);font-weight:700}.actions{white-space:nowrap}.icon-button{padding:6px;color:#9d806c;background:transparent;border-radius:6px}.icon-button:hover{color:var(--azul-profundo);background:var(--azul-suave)}.empty{padding:65px 20px;color:#8d776c;text-align:center}.empty svg{color:#e2ad41}.empty p{max-width:340px;margin:12px auto 19px}.notice{display:flex;align-items:center;gap:9px;margin:-14px 0 24px;padding:12px 13px;color:#6e301d;font-size:14px;background:#fff4d8;border:1px solid #efd29b;border-radius:9px}.notice.success{color:#2f6d35;background:#eff9ea;border-color:#cce8c3}.notice .icon-button{margin-left:auto}.menu-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.menu-summary p:last-child{margin:7px 0 0;color:#806b61}.menu-manager{margin-top:8px}.menu-selector{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:-7px 0 22px;padding:15px 17px;background:#fffdf5;border:1px solid #eadbc0;border-radius:11px}.public-menu-settings{display:grid;grid-template-columns:minmax(230px,.85fr) minmax(360px,1.15fr);gap:20px;margin:0 0 22px;padding:22px;background:linear-gradient(135deg,#fff4d8,#eef7e9);border:1px solid #e7d19d;border-radius:13px}.public-menu-settings h2{font-size:23px}.public-menu-settings p:not(.eyebrow):not(.form-hint){margin:7px 0 0;color:#68594d;line-height:1.5}.public-menu-settings .form-hint{grid-column:1 / -1;margin:-6px 0 0}.public-menu-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.public-menu-form label{display:grid;gap:6px;color:#4a635e;font-size:13px;font-weight:700}.public-menu-actions{display:flex;grid-column:1 / -1;justify-content:flex-end;gap:9px}.featured-status{display:inline-flex;align-items:center;gap:4px;color:#b67a18;font-size:12px;font-weight:700}.menu-selector label,.table-search,.list-search,.plan-date{display:grid;gap:6px;color:#6a544a;font-size:13px;font-weight:700}.menu-selector label{min-width:min(420px,100%)}.table-search{max-width:340px;margin:18px 24px 16px}.list-search{max-width:340px;margin:0 0 16px}.panel-heading>span{color:#8d776c;font-size:13px}.status{display:inline-block;padding:4px 8px;color:#846d60;font-size:12px;font-weight:700;background:#f3ece7;border-radius:999px}.status.active{color:#3d712b;background:#e7f4df}.checkbox{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:9px!important;font-size:14px!important}.checkbox input{width:16px;height:16px;accent-color:var(--azul-encanto)}.shopping-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.shopping-summary p:last-child{margin:7px 0 0;color:#806b61}.shopping-list{display:grid;gap:10px;margin-bottom:27px}.shopping-card{display:flex;align-items:center;gap:13px;padding:15px 17px;background:#fffdf5;border:1px solid #eadbc0;border-radius:11px;box-shadow:0 2px 10px #6845300a}.shopping-card strong{display:block}.shopping-card p{margin:3px 0 0;color:#8d776c;font-size:13px}.shopping-card .actions{margin-left:auto}.purchase-toggle{display:grid;width:29px;height:29px;color:var(--azul-encanto);background:var(--azul-suave);border:1px solid #bfdae7;border-radius:50%;place-items:center}.purchase-toggle:hover{color:#fff;background:var(--azul-encanto);border-color:var(--azul-encanto)}.shopping-history{margin-top:8px}.shopping-tabs{display:inline-flex;padding:4px;background:#f3eadb;border-radius:9px}.shopping-tabs button{padding:8px 10px;color:#826d62;font-size:13px;font-weight:700;background:transparent;border-radius:6px}.shopping-tabs button.active{color:var(--azul-profundo);background:#fffdf5;box-shadow:0 1px 4px #216b9520}.shopping-tabs span{display:inline-grid;min-width:18px;height:18px;margin-left:4px;color:#fff;font-size:10px;background:var(--azul-encanto);border-radius:50%;place-items:center}.list-controls,.manual-plan{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:15px 17px;background:#fffdf5;border:1px solid #eadbc0;border-radius:11px}.list-controls strong,.manual-plan h2{display:block;margin:0;font-family:Playfair Display,serif;font-size:19px}.list-controls span,.manual-plan p{display:block;margin-top:3px;color:#8d776c;font-size:13px}.list-actions{display:flex;align-items:center;gap:8px}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;color:var(--azul-profundo);font-size:13px;font-weight:700;background:var(--azul-suave);border:1px solid #bfdae7;border-radius:8px}.secondary:hover{background:#d8ebf3}.secondary:disabled{cursor:not-allowed;opacity:.55}.focus-list .shopping-card{border-color:#ead9cc}.purchase-toggle{position:relative;cursor:pointer}.purchase-toggle input{position:absolute;width:1px;height:1px;opacity:0}.purchase-toggle:has(input:focus-visible){outline:2px solid var(--azul-encanto);outline-offset:2px}.danger{color:#ae422f}.compact{padding:17px 20px;text-align:left}.compact p{margin:0}.manual-plan{margin-top:18px}.plan-panel{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-bottom:27px;padding:22px;background:#fff4d8;border:1px solid #edcf91;border-radius:13px}.order-plan-panel{background:#eef7e9;border-color:#cce1c4}.plan-panel h2{font-size:22px}.plan-panel p:last-child{margin:6px 0 0;color:#806b61}.plan-requirements{display:flex;flex-wrap:wrap;grid-column:1 / -1;gap:8px}.plan-requirements article{display:grid;gap:3px;min-width:180px;padding:10px;color:#6e4a39;font-size:12px;background:#fffdf5;border:1px solid #ecd5ac;border-radius:8px}.plan-requirements strong{color:#482d20;font-size:13px}.plan-requirements b{margin-top:3px;color:#8a452a}.stock-ok{color:#3d712b!important}.source-badge{display:inline-block;margin-top:5px;padding:2px 6px;color:#82604e;font-size:10px;font-weight:700;background:#fff0e8;border-radius:999px}.form-hint{margin:0;color:#806b61;font-size:12px;line-height:1.4}.date-shortcuts{display:flex;flex-wrap:wrap;gap:8px}.active-date{color:#fff;background:var(--azul-encanto);border-color:var(--azul-encanto)}.confirmation{display:grid;gap:16px;color:#624b40;line-height:1.5}.confirmation p{margin:0}.confirmation ul{display:grid;gap:6px;margin:0;padding-left:20px}.modal-actions{display:flex;justify-content:flex-end;gap:9px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:18px;background:#26140b88}.modal{width:min(620px,100%);max-height:90vh;padding:24px;overflow:auto;background:#fffdf5;border:1px solid #eadbc0;border-radius:14px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form-grid label{display:grid;gap:6px;color:#6a544a;font-size:13px;font-weight:700}.full{grid-column:1 / -1}input,select{min-width:0;padding:10px 11px;color:#392920;font-weight:400;background:#fffefa;border:1px solid #dfcfba;border-radius:7px}input:focus,select:focus{outline:2px solid #76b5d2;border-color:#76b5d2}.ingredients-editor,.order-items{padding:15px;background:#fff9e9;border:1px solid #efdfbd;border-radius:9px}.ingredients-editor>div:first-child{display:flex;justify-content:space-between;margin-bottom:10px}.order-items>div:first-child{display:flex;justify-content:space-between;margin-bottom:10px}.line{display:grid;grid-template-columns:1fr 90px 70px 32px;gap:8px;margin-top:8px}.order-line{display:grid;grid-template-columns:150px minmax(130px,1fr) 82px 104px 32px;gap:8px;margin-top:8px}.order-total{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;color:#6b4939;background:#fff4d8;border:1px solid #edcf91;border-radius:8px}.order-total strong{color:var(--azul-profundo);font-size:20px}.orders-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.orders-summary p:last-child{margin:7px 0 0;color:#806b61}.orders-summary-actions{display:flex;align-items:center;gap:10px}.orders-filters{display:flex;gap:12px;margin-bottom:18px}.orders-filters label{display:grid;flex:1;gap:6px;color:#6a544a;font-size:13px;font-weight:700}.orders-list{display:grid;gap:10px}.order-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:17px;background:#fffdf5;border:1px solid #eadbc0;border-radius:11px;box-shadow:0 2px 10px #6845300a}.order-card h3{margin:7px 0 3px;font-family:Playfair Display,serif;font-size:19px}.order-card p{margin:0;color:#806b61;font-size:13px}.order-card>strong{color:var(--azul-profundo);font-size:17px}.kanban-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:start}.kanban-column{min-height:280px;padding:11px;background:#f8f0e2;border:1px solid #eadbc0;border-radius:12px;transition:border-color .15s,background .15s}.kanban-column.is-droppable:hover{background:#f0f7ed;border-color:#a3c58c}.kanban-column header>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 3px 11px}.kanban-column h3{margin:0;color:#604538;font-family:Playfair Display,serif;font-size:16px}.kanban-column header span{display:grid;min-width:22px;height:22px;color:var(--azul-profundo);font-size:11px;font-weight:700;background:var(--azul-suave);border-radius:999px;place-items:center}.kanban-column-cards{display:grid;gap:9px}.kanban-card{padding:12px;cursor:grab;background:#fffdf5;border:1px solid #eadbc0;border-radius:9px;box-shadow:0 2px 7px #6845300c}.kanban-card:active{cursor:grabbing}.kanban-card-heading,.kanban-card-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.kanban-card-heading>strong{color:var(--azul-profundo);font-size:14px;white-space:nowrap}.kanban-card h3{margin:10px 0 4px;font-family:Playfair Display,serif;font-size:16px;line-height:1.2}.kanban-card p,.kanban-card small{display:block;margin:0;color:#806b61;font-size:12px;line-height:1.4}.kanban-card small{margin-top:5px}.kanban-card-footer{align-items:end;margin-top:12px}.kanban-card-footer label{display:grid;min-width:0;gap:3px;color:#806b61;font-size:10px;font-weight:700}.kanban-card-footer select{padding:5px;font-size:11px}.order-confirmed{color:#2d6a8a;background:#e5f3fa}.order-production{color:#79521e;background:#fff0c9}.order-delivered{color:#3d712b;background:#e7f4df}.order-cancelled{color:#8d4b4b;background:#f8e7e7}.hint{margin:4px 0;color:#967d70;font-size:13px}.login{display:grid;min-height:100vh;padding:22px;background:radial-gradient(circle at 20% 20%,#f9d886,transparent 30%),#fff8e8;place-items:center}.login-card{width:min(430px,100%);padding:40px;background:#fffdf5;border:1px solid #eadbc0;border-radius:16px;box-shadow:0 18px 55px #6d3b1b19}.brand.center{width:100%;height:170px;margin-bottom:28px}.brand.center img{width:230px;height:170px}.center{justify-content:center;margin-bottom:35px}.login h1{font-size:29px;line-height:1.2}.login p{color:#806b61;line-height:1.5}.login form{display:grid;gap:15px;margin-top:25px}.login label{display:grid;gap:6px;font-size:13px;font-weight:700}.wide{width:100%;margin-top:7px}.login small{display:block;margin-top:24px;color:#9c897f;font-size:11px;text-align:center}.form-error{margin:0!important;color:#a33a2b!important;font-size:13px!important}.loading-screen{display:grid;min-height:100vh;gap:13px;color:var(--azul-profundo);font-weight:600;background:#fff8e8;place-content:center;justify-items:center}.access-denied{display:grid;min-height:100vh;padding:22px;color:#42271d;background:#fff8e8;place-items:center}.access-denied section{width:min(430px,100%);padding:38px;text-align:center;background:#fffdf5;border:1px solid #eadbc0;border-radius:16px;box-shadow:0 18px 55px #6d3b1b19}.access-denied h1{margin:9px 0;font-size:29px;line-height:1.2}.access-denied p:not(.eyebrow){margin:0 0 24px;color:#806b61;line-height:1.5}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.public-menu-page{min-height:100vh;padding:42px max(20px,5vw) 72px;overflow-x:hidden;color:#42271d;background:radial-gradient(circle at 8% 16%,#f0be5838 0 2px,transparent 2.5px),radial-gradient(circle at 92% 84%,#3d744725 0 3px,transparent 3.5px),#fff8e8}.public-menu-hero,.public-message{width:min(760px,100%);margin:0 auto;text-align:center}.public-menu-hero .brand,.public-message .brand{height:205px;margin:0 auto 4px}.public-menu-hero .brand img,.public-message .brand img{width:275px;height:205px}.public-menu-hero h1,.public-message h1{max-width:650px;margin:0 auto;color:#7b2c1a;font-size:clamp(27px,4.8vw,42px);line-height:1.1}.public-menu-hero>p:last-of-type,.public-message>p:last-of-type{max-width:500px;margin:13px auto 0;color:#69594e;line-height:1.6}.public-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-top:24px;padding:14px 19px;color:#fff;font-weight:700;text-decoration:none;background:#287a4f;border-radius:10px;box-shadow:0 7px 15px #287a4f2a}.public-whatsapp:hover{background:#1f6640}.public-offers-section{width:min(1080px,100%);margin:58px auto 0}.public-section-heading{margin-bottom:18px;text-align:center}.public-section-heading h2{color:#2f6c3b;font-size:31px}.public-menu-groups{display:grid;gap:31px}.public-menu-group>h2{margin:0 0 10px;color:#7b2c1a;font-family:Caveat,cursive;font-size:38px;line-height:1;text-align:center}.public-menu-group>h2:after{display:block;width:min(260px,72%);height:3px;margin:7px auto 0;content:"";background:linear-gradient(90deg,transparent,#3d7447,#e2ad41,#3d7447,transparent)}.public-menu-subgroup+.public-menu-subgroup{margin-top:23px}.public-menu-subgroup>h3{margin:0 0 8px;color:#2f6c3b;font-family:Caveat,cursive;font-size:31px;line-height:1;text-align:center}.public-offer-list{overflow:hidden;background:#fffdf5;border:1px solid #eadbc0;border-radius:15px;box-shadow:0 5px 16px #6845300d}.public-offer{position:relative;padding:19px 23px 17px;border-bottom:1px solid #f0e4cd}.public-offer:last-child{border-bottom:0}.public-offer.featured{background:linear-gradient(90deg,#fff2cbd9,#fffdf5)}.public-offer-line{display:flex;align-items:baseline;gap:10px}.public-offer h3{min-width:0;margin:0;overflow-wrap:anywhere;color:#2f6c3b;font-family:Caveat,cursive;font-size:31px;line-height:1}.public-offer-note-marker{display:inline-block;margin-left:6px;color:#d89c21;font-family:serif;font-size:.5em;letter-spacing:0;vertical-align:middle;white-space:nowrap}.public-offer-line>span{flex:1;min-width:20px;border-bottom:2px dotted #d8b96d}.public-offer-line strong{color:var(--azul-profundo);font-size:19px;white-space:nowrap}.public-offer p{max-width:760px;margin:8px 0 0;color:#684f42;font-size:14px;line-height:1.45}.public-offer-tag{display:inline-flex;align-items:center;gap:5px;margin-top:9px;padding:3px 7px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--azul-encanto);border-radius:999px}.public-group-note{display:flex;align-items:flex-start;gap:8px;margin:13px 12px 0;color:#536b55;font-family:Caveat,cursive;font-size:23px;line-height:1.1}.public-group-note span{flex:0 0 auto;color:#d89c21;font-family:serif;font-size:18px;line-height:1.3;white-space:nowrap}.public-empty{margin:0;padding:32px;color:#756356;text-align:center;background:#fffdf5;border:1px dashed #d9c49a;border-radius:13px}.public-whatsapp-bottom{display:flex;width:fit-content;margin:48px auto 0}@media (max-width: 760px){.app-shell aside{width:64px;padding:25px 9px}.app-shell aside .brand{display:none}.app-shell aside nav{margin-top:0}nav button{font-size:0}nav button,.logout{justify-content:center}nav button{padding:12px}.logout{font-size:0}.app-shell main{width:calc(100% - 64px);margin-left:64px;padding:28px 18px}header{align-items:flex-end;gap:12px}header h1{font-size:26px}.stats,.form-grid{grid-template-columns:1fr}.stat{padding:16px}.table-search{margin:16px 16px 14px}th,td{padding:13px 11px}th:nth-child(2),td:nth-child(2){display:none}.line{grid-template-columns:1fr 65px 58px 28px}.order-line{grid-template-columns:1fr 68px 86px 28px}.order-line select:first-child{grid-column:1 / -1}.orders-summary{align-items:flex-start;flex-direction:column}.orders-summary-actions{width:100%;justify-content:space-between}.orders-filters{flex-direction:column}.kanban-board{grid-template-columns:1fr}.modal{padding:18px}.menu-summary{align-items:flex-start;flex-direction:column}.menu-selector{align-items:stretch;flex-direction:column}.menu-selector label{min-width:0}.public-menu-settings,.public-menu-form{grid-template-columns:1fr}.public-menu-actions{justify-content:stretch}.public-menu-actions>*{flex:1}.shopping-summary{align-items:flex-start;flex-direction:column}.shopping-tabs{width:100%}.shopping-tabs button{flex:1}.list-controls,.manual-plan{align-items:flex-start;flex-direction:column}.list-actions{width:100%}.list-actions .secondary,.list-actions .primary{flex:1}.plan-panel{grid-template-columns:1fr}.plan-panel .primary{width:100%}.public-menu-page{padding-top:22px}.public-menu-hero .brand,.public-message .brand{height:175px}.public-menu-hero .brand img,.public-message .brand img{width:230px;height:175px}.public-offers-section{margin-top:42px}.public-offer{padding:17px}.public-offer h3{font-size:29px}.public-offer-line{gap:7px}.public-offer-line>span{min-width:8px}.public-offer-line strong{font-size:17px}}
