/* FluuexQR v319 — targeted customer-menu + Orders + Reviews + Menu editor hardening. */

/* --- Orders: body-owned three-dot popover cannot be clipped by tables/containment. --- */
.fq-v319-order-popover{position:fixed;z-index:2147483640;min-width:180px;max-width:min(260px,calc(100vw - 20px));padding:7px;background:#fff;border:1px solid #e3e7ee;border-radius:12px;box-shadow:0 18px 50px rgba(15,23,42,.24);display:grid;gap:3px;font-family:inherit}
.fq-v319-order-popover a,.fq-v319-order-popover button{width:100%;min-height:38px;border:0!important;border-radius:8px!important;background:#fff!important;color:#253247!important;display:flex!important;align-items:center!important;text-align:left!important;padding:8px 10px!important;text-decoration:none!important;font:700 12px/1.2 inherit!important;cursor:pointer!important;box-sizing:border-box!important}
.fq-v319-order-popover a:hover,.fq-v319-order-popover button:hover{background:#fff5df!important;color:#171717!important}
.fq-v319-order-popover form{margin:0!important;width:100%!important}
body.fqx-v145-restaurant-admin .fq-v247-orders-table tbody tr.fq-order-row{cursor:pointer}
body.fqx-v145-restaurant-admin .fq-v247-orders-table tbody tr.fq-order-row:hover{background:#fffaf0!important}
body.fqx-v145-restaurant-admin .fq-v319-inline-row>td{padding:0 0 12px!important;border:0!important;background:transparent!important;overflow:visible!important}
body.fqx-v145-restaurant-admin .fq-v319-inline-details{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;max-height:none!important;margin:0!important;border:1px solid #e6eaf0!important;border-radius:14px!important;background:#fff!important;box-shadow:0 12px 32px rgba(15,23,42,.08)!important;padding:16px!important;overflow:visible!important}
body.fqx-v145-restaurant-admin .fq-v319-inline-details .fq-v247-details-close{display:grid!important}
.fq-v319-inline-loading,.fq-v319-inline-error{padding:18px;border:1px solid #e7ebf0;border-radius:12px;background:#fff;color:#667085;font-weight:700}.fq-v319-inline-error a{color:#b36c00}
@media(max-width:760px){body.fqx-v145-restaurant-admin .fq-v319-inline-details{padding:12px!important}.fq-v319-order-popover{min-width:170px}}

/* --- Reviews: reply is a real modal, not a crushed inline grid. --- */
html.fq-v319-modal-open{overflow:hidden!important}
.fq-v319-review-modal{position:fixed;inset:0;z-index:2147483635;background:rgba(15,23,42,.52);display:grid;place-items:center;padding:16px}
.fq-v319-review-modal[hidden]{display:none!important}
.fq-v319-review-dialog{width:min(620px,100%);max-height:calc(100dvh - 32px);overflow:hidden;background:#fff;border-radius:18px;border:1px solid #e5e7eb;box-shadow:0 30px 90px rgba(15,23,42,.3);display:flex;flex-direction:column}
.fq-v319-review-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #edf0f4}.fq-v319-review-head small{display:block;color:#a36a08;font-size:10px;font-weight:900;letter-spacing:.12em}.fq-v319-review-head h3{margin:3px 0 0;font-size:20px}.fq-v319-review-x{width:38px!important;height:38px!important;border:1px solid #e3e7ed!important;border-radius:10px!important;background:#fff!important;font-size:24px!important;line-height:1!important;cursor:pointer!important}
.fq-v319-review-body{padding:16px 18px 18px;overflow:auto}.fq-v319-review-body .fq254-reply-form{display:block!important;grid-column:auto!important;grid-area:auto!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important}.fq-v319-review-body .fq254-reply-form label{display:grid!important;gap:8px!important;font-size:13px!important}.fq-v319-review-body .fq254-reply-form textarea{display:block!important;width:100%!important;min-width:0!important;min-height:150px!important;max-height:45dvh!important;padding:12px!important;font-size:14px!important;line-height:1.5!important;resize:vertical!important}.fq-v319-review-body .fq254-reply-form>div{display:flex!important;justify-content:flex-end!important;gap:10px!important;margin-top:12px!important}.fq-v319-review-body .fq254-reply-form button{min-width:110px!important;height:42px!important}
@media(max-width:560px){.fq-v319-review-modal{padding:0}.fq-v319-review-dialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0}.fq-v319-review-body{padding:14px}.fq-v319-review-body .fq254-reply-form textarea{min-height:180px}.fq-v319-review-body .fq254-reply-form>div{display:grid!important;grid-template-columns:1fr 1fr!important}.fq-v319-review-body .fq254-reply-form button{min-width:0!important;width:100%!important}}

/* --- Menu editor: true viewport drawer + persistent save controls. --- */
body.fqx-v145-restaurant-admin .fq-menu-ref-v249 .fq249-editor{position:fixed!important;top:68px!important;right:12px!important;bottom:12px!important;left:auto!important;width:min(400px,calc(100vw - 24px))!important;height:auto!important;max-height:none!important;min-height:0!important;z-index:2147481200!important;display:flex!important;flex-direction:column!important;border-radius:14px!important;box-shadow:-12px 16px 44px rgba(15,23,42,.18)!important;overflow:hidden!important}
body.fqx-v145-restaurant-admin .fq-menu-ref-v249 .fq249-editor:not(.is-open){display:none!important}
body.fqx-v145-restaurant-admin .fq-menu-ref-v249 .fq249-editor>form{display:flex!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;flex-direction:column!important}
body.fqx-v145-restaurant-admin .fq-menu-ref-v249 .fq249-editor-scroll{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:20px!important}
body.fqx-v145-restaurant-admin .fq-menu-ref-v249 .fq249-editor-footer{position:relative!important;bottom:auto!important;z-index:20!important;flex:0 0 auto!important;min-height:62px!important;height:auto!important;background:#fff!important;box-shadow:0 -9px 24px rgba(15,23,42,.08)!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
body.fqx-v145-restaurant-admin .fq-menu-ref-v249 .fq-v319-options-save-wrap{margin-top:4px;padding-top:12px;border-top:1px solid #edf0f4}
body.fqx-v145-restaurant-admin .fq-menu-ref-v249 .fq-v319-options-save{width:100%!important;min-height:44px!important;border:0!important;border-radius:9px!important;background:linear-gradient(110deg,#ffd16a,#edae30)!important;color:#201607!important;font-weight:900!important;cursor:pointer!important;box-shadow:0 6px 16px rgba(220,150,22,.16)!important}
@media(max-width:1100px){body.fqx-v145-restaurant-admin .fq-menu-ref-v249 .fq249-editor{top:0!important;right:0!important;bottom:0!important;width:min(430px,100vw)!important;border-radius:14px 0 0 14px!important}}
@media(max-width:600px){body.fqx-v145-restaurant-admin .fq-menu-ref-v249 .fq249-editor{width:100vw!important;left:0!important;border-radius:0!important}.fq249-editor-tabs{position:sticky!important;top:0!important;z-index:15!important;background:#fff!important}}

/* Keep customer error/skeleton cards within the phone width; no horizontal crash. */
#menuqr-customer-app,#menuqr-customer-app *{box-sizing:border-box}
#menuqr-customer-app .m-empty-menu{max-width:100%!important;overflow-wrap:anywhere!important}
