.portal-body{background:#fff7ed;color:#24130b}.portal-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.portal-side{background:#24130b;color:#fff;padding:22px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:20px}.portal-side .admin-brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:10px}.portal-side nav{display:grid;gap:8px}.portal-side nav a{color:#fef3c7;text-decoration:none;padding:12px 14px;border-radius:16px;font-weight:800}.portal-side nav a:hover,.portal-side nav a.active{background:rgba(255,255,255,.12);color:#fff}.portal-user{margin-top:auto;color:#fed7aa}.portal-main{padding:28px;max-width:1500px;width:100%;margin:0 auto}.portal-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px}.portal-top h1{font-size:42px;margin:4px 0}.portal-card{background:#fff;border:1px solid #fed7aa;border-radius:28px;padding:22px;box-shadow:0 18px 45px rgba(124,45,18,.08);margin-bottom:18px}.portal-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat-grid>div{background:#fff;border:1px solid #fed7aa;border-radius:24px;padding:20px}.stat-grid strong{display:block;font-size:34px}.stat-grid span{color:#7c2d12;font-weight:800}.card-head{display:flex;justify-content:space-between;align-items:center}.order-list{display:grid;gap:10px}.order-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:14px}.order-row small{display:block;color:#7c2d12;margin-top:4px}.status{display:inline-flex;padding:7px 10px;border-radius:999px;font-weight:900;font-size:12px;background:#fef3c7;color:#92400e}.status.new{background:#fee2e2;color:#991b1b}.status.accepted{background:#dbeafe;color:#1d4ed8}.status.cooking{background:#ffedd5;color:#c2410c}.status.ready{background:#dcfce7;color:#166534}.status.complete{background:#e5e7eb;color:#374151}.status.cancelled{background:#111827;color:#fff}.small-btn{border:0;border-radius:12px;background:#7c2d12;color:#fff;text-decoration:none;padding:9px 12px;font-weight:900;cursor:pointer}.small-btn.danger{background:#991b1b}.filter-bar{display:flex;gap:10px;margin-bottom:18px}.filter-bar input,.filter-bar select,.portal-card input,.portal-card textarea,.portal-card select,.login-card input{width:100%;padding:13px;border:1px solid #fed7aa;border-radius:14px;background:#fff;font:inherit}.portal-card label,.login-card label{display:grid;gap:7px;font-weight:900;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#fff7ed,#fed7aa);padding:20px}.login-card{background:#fff;border-radius:30px;padding:30px;max-width:460px;width:100%;box-shadow:0 25px 80px rgba(124,45,18,.16)}.login-card h1{font-size:40px;margin:12px 0}.alert.error{background:#fee2e2;color:#991b1b;padding:12px;border-radius:14px;margin-bottom:12px}.kitchen-live{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.kitchen-ticket,.ticket-card{background:#fff;border:2px solid #fed7aa;border-radius:26px;padding:20px;box-shadow:0 18px 45px rgba(124,45,18,.08)}.ticket-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.kitchen-ticket ul,.ticket-items{list-style:none;padding:0;display:grid;gap:9px}.kitchen-ticket li,.ticket-items li{display:flex;justify-content:space-between;background:#fff7ed;padding:10px;border-radius:14px}.ticket-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ticket-actions button{border:0;background:#f97316;color:white;font-weight:900;border-radius:12px;padding:10px;cursor:pointer}.receipt-total{display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid #fed7aa;margin-top:12px;padding-top:12px}.menu-admin-list{display:grid;gap:10px;max-height:680px;overflow:auto}.menu-admin-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;background:#fff7ed;border-radius:16px;padding:12px}.menu-admin-row small{display:block;color:#7c2d12}.check-row{display:flex;gap:12px;flex-wrap:wrap}.check-row label,.check-pill{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #fed7aa}th{color:#7c2d12}.settings-form textarea{min-height:90px}@media(max-width:900px){.portal-shell{grid-template-columns:1fr}.portal-side{position:relative;height:auto}.portal-main{padding:18px}.portal-top{display:block}.stat-grid,.portal-grid.two,.form-grid{grid-template-columns:1fr}.order-row{grid-template-columns:1fr}.filter-bar{display:grid}.portal-top h1{font-size:34px}}

/* Kitchen alert demo upgrades */
.kitchen-top .kitchen-controls{justify-content:flex-end;align-items:center}
.dark-btn{border:0;border-radius:16px;background:#24130b;color:#fff;text-decoration:none;padding:12px 16px;font-weight:950;cursor:pointer;box-shadow:0 12px 24px rgba(36,19,11,.14)}
.kitchen-alert-status{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:-6px;border-width:2px}
.kitchen-alert-status strong{display:block;font-size:18px}.kitchen-alert-status span{color:#7c2d12;font-weight:700}.kitchen-alert-status.active{border-color:#22c55e;background:#f0fdf4}.kitchen-alert-status.muted{border-color:#f97316;background:#fff7ed}.kitchen-alert-status.needs-start{border-color:#ef4444;background:#fef2f2}.new-order-alert{position:sticky;top:12px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:14px;background:#991b1b;color:#fff;border-radius:22px;padding:16px 18px;margin-bottom:18px;box-shadow:0 20px 50px rgba(153,27,27,.22);animation:alertPulse 1s infinite}.new-order-alert.hidden{display:none}.new-order-alert strong{display:block;font-size:22px}.new-order-alert span{color:#fee2e2;font-weight:800}.new-order-alert button{border:0;border-radius:14px;background:#fff;color:#991b1b;padding:11px 14px;font-weight:950;cursor:pointer}.kitchen-ticket.new{border-color:#ef4444;background:linear-gradient(180deg,#fff,#fef2f2)}.kitchen-ticket.needs-acceptance{box-shadow:0 22px 55px rgba(239,68,68,.22)}.ticket-alert-strip{margin:-4px -4px 14px;background:#dc2626;color:#fff;border-radius:18px;padding:10px 12px;text-align:center;font-weight:950;letter-spacing:.03em}.ticket-actions .accept-btn{background:#16a34a;box-shadow:0 12px 24px rgba(22,163,74,.22);transform:scale(1.03)}.pulse-ticket{animation:ticketPulse 1.2s infinite}@keyframes alertPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes ticketPulse{0%,100%{border-color:#ef4444}50%{border-color:#fbbf24}}
@media(max-width:900px){.kitchen-top .kitchen-controls{justify-content:flex-start}.kitchen-alert-status,.new-order-alert{display:block}.new-order-alert button{margin-top:12px;width:100%}.dark-btn,.small-btn{width:100%;text-align:center}.kitchen-controls{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.kitchen-controls #startAlertsBtn{grid-column:1/-1}}

/* v7 kitchen iPad density + ordering toggle */
.kitchen-top{align-items:center}.kitchen-controls{justify-content:flex-end}.kitchen-live{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.kitchen-ticket{border-radius:20px;padding:12px}.kitchen-ticket .ticket-head{align-items:flex-start;margin-bottom:8px}.kitchen-ticket h2{font-size:20px;line-height:1.05}.kitchen-ticket small{font-size:11px}.kitchen-ticket ul{gap:6px;margin:8px 0}.kitchen-ticket li{padding:7px 8px;border-radius:11px;font-size:13px}.kitchen-line-item small{font-size:11px;line-height:1.25}.ticket-actions{gap:6px;margin-top:8px}.ticket-actions button{font-size:12px;padding:8px 9px;border-radius:10px}.ticket-alert-strip{padding:8px 10px;margin:-2px -2px 10px;border-radius:14px;font-size:12px}.new-order-alert{padding:12px 14px;border-radius:18px}.new-order-alert strong{font-size:18px}.portal-top .quick-actions .primary-btn,.portal-top .quick-actions .dark-btn{white-space:nowrap}@media(min-width:760px) and (max-width:1180px){.portal-shell{grid-template-columns:210px 1fr}.portal-side{padding:14px}.portal-side nav a{padding:10px}.portal-main{padding:16px}.kitchen-live{grid-template-columns:repeat(3,minmax(0,1fr))}.kitchen-ticket{padding:10px}.kitchen-ticket h2{font-size:18px}.kitchen-ticket li{font-size:12px}.ticket-actions button{font-size:11px;padding:7px 8px}.status{font-size:10px;padding:5px 7px}.kitchen-alert-status{padding:14px}.portal-top h1{font-size:34px}}@media(max-width:760px){.kitchen-live{grid-template-columns:1fr}.kitchen-top .quick-actions{justify-content:flex-start}}

/* v9 kitchen/order controls */
.kitchen-live{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:12px!important;align-items:start}.kitchen-ticket{padding:14px!important;border-radius:20px!important}.kitchen-ticket .ticket-head.compact h2{font-size:24px}.kitchen-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.kitchen-meta-grid div{background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:8px}.kitchen-meta-grid strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#9a3412}.kitchen-meta-grid span{font-size:20px;font-weight:950;color:#431407}.estimate-actions{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.estimate-actions button,.estimate-actions .small-btn{border:0;background:#fff7ed;color:#7c2d12;border-radius:10px;padding:8px 9px;font-weight:950;text-decoration:none}.print-button-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.secondary-btn{border:1px solid #fed7aa;background:#fff;border-radius:16px;padding:12px 16px;font-weight:900;color:#24130b;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.ticket-items small,.kitchen-line-item small{display:block;margin-top:5px;color:#7c2d12;font-size:12px;font-weight:800;line-height:1.35}@media(min-width:900px) and (max-width:1200px){.kitchen-live{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.kitchen-ticket{padding:12px!important}.kitchen-line-item small{font-size:11px}.ticket-actions button{padding:8px 9px}}@media(max-width:700px){.print-button-row{justify-content:flex-start}}

/* v11 Server POS rebuild - fast tablet/phone ordering */
.server-pos-app{display:grid;grid-template-columns:250px minmax(0,1fr) 330px;gap:14px;align-items:start}.pos-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pos-card-head h2{margin:4px 0 2px;font-size:24px}.pos-mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.pos-mode-tabs button,.payment-toggle{border:1px solid #fed7aa;background:#fff7ed;color:#7c2d12;border-radius:14px;padding:11px 10px;font-weight:950;cursor:pointer}.pos-mode-tabs button.active,.payment-toggle.active{background:#7c2d12;color:#fff;border-color:#7c2d12}.table-grid-pos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.table-btn{border:2px solid #fed7aa;background:#fff;border-radius:16px;padding:12px 6px;min-height:70px;cursor:pointer;text-align:center;color:#431407}.table-btn strong{display:block;font-size:25px;line-height:1}.table-btn span{display:block;font-size:10px;font-weight:900;color:#9a3412;margin-top:5px}.table-btn.occupied{border-color:#f97316;background:#fff7ed}.table-btn.active{background:#16a34a;border-color:#16a34a;color:#fff}.table-btn.active span{color:#dcfce7}.carryout-name-panel{margin-top:12px}.pos-category-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:8px;margin:10px 0}.pos-category-tabs .category-btn{white-space:nowrap;flex:0 0 auto;border-radius:999px}.pos-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:10px;max-height:calc(100vh - 330px);overflow:auto;padding:2px}.pos-item-btn{border:1px solid #fed7aa;background:#fff;border-radius:18px;padding:14px 12px;min-height:92px;text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(124,45,18,.06);display:flex;flex-direction:column;justify-content:space-between;color:#431407}.pos-item-btn:active{transform:scale(.98)}.pos-item-btn strong{font-size:15px;line-height:1.12}.pos-item-btn span{font-weight:950;color:#16a34a}.active-table-pill{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:12px;font-weight:950;color:#7c2d12;margin-bottom:10px}.existing-order-notice{background:#fef3c7;border:1px solid #f59e0b;border-radius:16px;padding:10px;margin-bottom:10px;color:#92400e;font-weight:900}.pos-ticket-card{position:sticky;top:14px}.server-cart-items{max-height:310px;overflow:auto}.server-cart-line{display:grid;grid-template-columns:1fr auto;gap:8px;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:10px;margin-bottom:8px}.server-cart-line button{border:0;background:#991b1b;color:#fff;border-radius:10px;width:34px;height:34px;font-weight:950}.server-cart-line small{display:block;color:#7c2d12;margin-top:5px;line-height:1.35}.pos-payment-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.send-kitchen-btn{font-size:18px;padding:16px}.pos-modifier-drawer{position:fixed;inset:0;background:rgba(36,19,11,.45);z-index:80;display:none;align-items:stretch;justify-content:flex-end}.pos-modifier-drawer.open{display:flex}.pos-modifier-card{background:#fff;max-width:560px;width:100%;height:100%;overflow:auto;padding:22px;border-radius:28px 0 0 28px;box-shadow:-24px 0 70px rgba(36,19,11,.22)}.pos-modifier-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid #fed7aa;padding-bottom:14px;margin-bottom:14px}.pos-modifier-head h2{font-size:30px;margin:5px 0}.pos-modifier-body{display:grid;gap:14px}.pos-mod-group{background:#fff7ed;border:1px solid #fed7aa;border-radius:20px;padding:14px}.pos-mod-group h3{margin:0 0 10px}.pos-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.pos-choice{display:block!important;margin:0!important}.pos-choice input{position:absolute;opacity:0;pointer-events:none}.pos-choice span{display:flex;justify-content:space-between;gap:8px;align-items:center;border:2px solid #fed7aa;background:#fff;border-radius:14px;padding:12px;font-weight:950;cursor:pointer;color:#431407;min-height:48px}.pos-choice input:checked+span{border-color:#16a34a;background:#dcfce7;color:#14532d}.pos-choice em{font-style:normal;color:#16a34a;font-size:12px}.pos-note-label textarea{min-height:78px}.pos-bottom-row{position:sticky;bottom:0;background:#fff;padding-top:14px;margin-top:12px;display:flex;gap:12px;align-items:center;border-top:1px solid #fed7aa}.pos-bottom-row .primary-btn{flex:1}.qty-row{display:flex;align-items:center;gap:8px}.qty-row button{width:44px;height:44px;border:0;border-radius:14px;background:#7c2d12;color:#fff;font-size:24px;font-weight:950}.qty-row input{width:58px;text-align:center;font-weight:950}.empty-cart{background:#fff7ed;border:1px dashed #fed7aa;border-radius:16px;padding:16px;color:#9a3412;font-weight:900;text-align:center}.primary-btn{border:0;border-radius:16px;background:#16a34a;color:#fff;text-decoration:none;padding:12px 16px;font-weight:950;cursor:pointer;box-shadow:0 12px 24px rgba(22,163,74,.16)}.full{width:100%}
@media(max-width:1180px){.server-pos-app{grid-template-columns:210px minmax(0,1fr) 290px;gap:10px}.table-grid-pos{grid-template-columns:repeat(2,1fr)}.pos-menu-grid{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}.portal-card{padding:16px}.pos-item-btn{min-height:84px;padding:12px 10px}.pos-ticket-card{top:10px}}
@media(max-width:760px){.server-pos-app{grid-template-columns:1fr}.pos-tables-card,.pos-menu-card,.pos-ticket-card{position:relative;top:auto}.table-grid-pos{grid-template-columns:repeat(4,1fr)}.table-btn{min-height:58px;padding:9px 4px}.table-btn strong{font-size:20px}.pos-menu-grid{grid-template-columns:repeat(2,1fr);max-height:none}.pos-ticket-card{order:-1}.pos-modifier-card{max-width:none;border-radius:0;padding:16px}.pos-choice-grid{grid-template-columns:1fr}.pos-bottom-row{display:grid}.pos-mode-tabs,.pos-payment-row{grid-template-columns:repeat(3,1fr)}.portal-main{padding:12px!important}}


/* v12 POS/table-service polish */
@media (min-width: 768px) and (max-width: 1180px){
  .server-pos-app{grid-template-columns: 190px minmax(0,1fr) 260px !important; gap:8px !important;}
  .server-pos-top .quick-actions{display:none;}
  .server-pos-app .portal-card{padding:12px !important; border-radius:20px !important;}
  .pos-card-head h2{font-size:18px !important;}
  .pos-card-head p,.server-pos-top p{font-size:12px !important; line-height:1.25;}
  .pos-mode-tabs{gap:5px;margin:8px 0;}
  .pos-mode-tabs button,.payment-toggle{padding:8px 5px;font-size:11px;border-radius:10px;}
  .table-grid-pos{grid-template-columns:repeat(3,1fr)!important;gap:5px!important;}
  .table-btn{min-height:48px!important;padding:6px 3px!important;border-radius:12px!important;}
  .table-btn strong{font-size:18px!important;}
  .table-btn span{font-size:8.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .pos-category-tabs{gap:5px;margin:6px 0;}
  .pos-category-tabs .category-btn{font-size:11px;padding:8px 10px;}
  .server-search{padding:9px!important;font-size:13px;}
  .pos-menu-grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))!important;gap:6px!important;max-height:calc(100vh - 260px)!important;}
  .pos-item-btn{min-height:70px!important;padding:8px!important;border-radius:13px!important;}
  .pos-item-btn strong{font-size:12px!important;}
  .pos-item-btn span{font-size:12px!important;}
  .active-table-pill,.existing-order-notice{padding:8px!important;border-radius:12px!important;font-size:12px;}
  .server-cart-items{max-height:240px!important;}
  .server-cart-line{padding:7px!important;border-radius:12px!important;font-size:12px;}
  .server-cart-line small{font-size:10px!important;line-height:1.2!important;}
  .cart-totals div{font-size:12px;}
  .send-kitchen-btn{padding:12px!important;font-size:15px!important;}
  .pos-ticket-card textarea{min-height:52px!important;}
  .pos-modifier-card{max-width:76vw!important;border-radius:24px 0 0 24px!important;}
  .pos-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .pos-choice span{min-height:42px!important;padding:9px!important;font-size:12px!important;}
}
@media (max-width:760px){
  .server-pos-top h1{font-size:30px!important;}
  .server-pos-app{gap:10px!important;}
  .pos-ticket-card{order:3!important; position:relative!important;}
  .pos-tables-card{order:1}.pos-menu-card{order:2}
  .pos-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .pos-item-btn{min-height:78px!important;}
  .pos-modifier-drawer{align-items:flex-end!important;}
  .pos-modifier-card{height:86vh!important;max-width:100%!important;width:100%!important;border-radius:24px 24px 0 0!important;padding:14px!important;}
  .pos-choice span{font-size:13px!important;}
  .table-grid-pos{grid-template-columns:repeat(4,1fr)!important;}
}
.ticket-actions .done-btn{background:#16a34a!important;font-size:15px!important;padding:10px 14px!important;min-width:110px;}
.kitchen-ticket.accepted .ticket-alert-strip{display:none!important;}
.survey-modal-card textarea{min-height:110px!important;width:100%!important;resize:vertical!important;}
.survey-modal-card{max-height:92vh!important;overflow:auto!important;}
