.heroicon-mask {
    display:inline-block;
    width:1em;
    height:1em;
    flex:0 0 auto;
    vertical-align:-0.125em;
    background-color:currentColor;
    -webkit-mask:var(--heroicon) center/contain no-repeat;
    mask:var(--heroicon) center/contain no-repeat;
}
.heroicon-spin { animation:heroicon-spin .85s linear infinite; }
@keyframes heroicon-spin { to { transform:rotate(360deg); } }

.header-order-lookup {
    width:38px;
    height:38px;
    padding:0;
    border:1px solid var(--separator);
    border-radius:50%;
    background:var(--surface);
    color:var(--text);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:var(--shadow-sm);
    flex-shrink:0;
    cursor:pointer;
    box-sizing:border-box;
}
.header-order-lookup .heroicon-mask { color:var(--primary); font-size:17px; flex-shrink:0; }
.header-order-lookup-label { display:none; }
.order-lookup-sheet { max-height:calc(100vh - 36px); max-height:calc(100dvh - 36px); }
.order-lookup-intro {
    display:flex;
    gap:12px;
    padding:14px;
    border:1px solid #FFD8C4;
    border-radius:var(--radius-lg);
    background:linear-gradient(135deg,var(--primary-soft),#fff);
    margin-bottom:14px;
    min-width:0;
}
.order-lookup-intro-icon {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:var(--primary);
    color:#fff;
    font-size:21px;
    flex:0 0 42px;
}
.order-lookup-intro-text { min-width:0; flex:1; }
.order-lookup-intro h4 { font-size:15px; font-weight:850; margin:1px 0 4px; overflow-wrap:break-word; }
.order-lookup-intro p { font-size:12px; line-height:1.5; color:var(--text-secondary); overflow-wrap:break-word; }
.order-lookup-form { display:grid; grid-template-columns:1fr auto; gap:9px; margin-bottom:14px; }
.order-lookup-form input {
    width:100%;
    min-width:0;
    border:1px solid var(--separator);
    background:var(--bg);
    color:var(--text);
    border-radius:var(--radius-md);
    padding:12px 14px;
    font-size:15px;
    outline:none;
}
.order-lookup-form input:focus { border-color:var(--primary); background:var(--surface); }
.order-lookup-form button {
    border:0;
    border-radius:var(--radius-md);
    padding:0 16px;
    background:var(--primary);
    color:#fff;
    font-size:13px;
    font-weight:850;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    cursor:pointer;
    flex-shrink:0;
}
.order-lookup-live { display:none; align-items:center; gap:7px; margin:-3px 2px 12px; color:var(--text-secondary); font-size:10px; font-weight:700; }
.order-lookup-live.show { display:flex; }
.order-lookup-live i { width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#0D9A70; box-shadow:0 0 0 3px rgba(13,154,112,.1); animation:lookup-live-pulse 2s ease-in-out infinite; }
@keyframes lookup-live-pulse { 50% { box-shadow:0 0 0 6px rgba(13,154,112,0); } }
.order-lookup-message {
    padding:24px 12px;
    text-align:center;
    color:var(--text-secondary);
    font-size:13px;
    line-height:1.55;
    overflow-wrap:break-word;
}
.order-lookup-message .heroicon-mask { display:block; font-size:34px; color:var(--text-tertiary); margin:0 auto 8px; }
.lookup-order-card {
    border:1px solid var(--separator);
    border-radius:var(--radius-lg);
    overflow:hidden;
    margin-bottom:12px;
    background:var(--surface);
    box-shadow:var(--shadow-sm);
    min-width:0;
}
.lookup-order-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:13px 14px; background:#FBFBFC; border-bottom:1px solid var(--separator); }
.lookup-order-code { font-size:13px; font-weight:900; color:var(--primary); word-break:break-all; min-width:0; }
.lookup-order-date { display:block; font-size:10px; color:var(--text-secondary); margin-top:4px; }
.lookup-status { align-self:flex-start; border-radius:100px; padding:5px 8px; font-size:10px; font-weight:900; white-space:nowrap; flex-shrink:0; }
.lookup-status.new { color:#B54708; background:#FFF0E6; }
.lookup-status.confirmed { color:#2859A4; background:#EDF4FF; }
.lookup-status.preparing { color:#8A5A00; background:#FFF7DD; }
.lookup-status.delivering { color:#6443AE; background:#F1EDFF; }
.lookup-status.completed { color:#087B55; background:#E7F8F1; }
.lookup-status.cancelled { color:#B12F42; background:#FFEDF0; }
.lookup-order-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:12px 14px; }
.lookup-order-meta span { min-width:0; }
.lookup-order-meta small { display:block; color:var(--text-secondary); font-size:9px; margin-bottom:3px; }
.lookup-order-meta b { display:block; font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lookup-order-items { padding:0 14px 8px; }
.lookup-order-item { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px 0; border-top:1px dashed var(--separator); font-size:11px; }
.lookup-order-item span { min-width:0; overflow-wrap:break-word; }
.lookup-order-item strong { flex-shrink:0; white-space:nowrap; }
.lookup-order-item b { color:var(--primary); }
.lookup-order-total { display:flex; justify-content:space-between; align-items:center; padding:11px 14px; background:var(--primary-soft); font-size:12px; font-weight:850; }
.lookup-order-total strong { color:var(--primary); font-size:14px; flex-shrink:0; white-space:nowrap; }

@media (max-width:520px) {
    .header-order-lookup { width:34px; height:34px; padding:0; font-size:14px; box-sizing:border-box; }
    .header-order-lookup-label { display:none; }
    .brand-text h1 { font-size:15px; color:var(--primary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:inline-flex; align-items:center; gap:3px; }
    .brand-text h1 span { display:inline-block !important; color:var(--primary); }
    .brand-text p { display:none !important; }
}
@media (max-width:480px) {
    .app-header { padding-left:10px; padding-right:10px; }
    .brand { gap:6px; min-width:0; flex-shrink:1; }
    .brand-logo { width:34px; height:34px; flex-shrink:0; }
    .brand-text { min-width:0; overflow:hidden; }
    .brand-text h1 { font-size:15px; color:var(--primary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:inline-flex; align-items:center; gap:3px; }
    .brand-text h1 span { display:inline-block !important; color:var(--primary); }
    .brand-text p { display:none !important; }
    .header-actions { gap:4px; flex-shrink:0; }
    .header-chat-pill { padding:0 8px; font-size:11px; gap:4px; height:34px; flex-shrink:0; box-sizing:border-box; }
    .lang-toggle { height:34px; padding:2px; gap:1px; box-sizing:border-box; flex-shrink:0; }
    .lang-toggle button { height:100%; padding:0 7px; font-size:10.5px; font-weight:800; box-sizing:border-box; }
    .header-cart,.header-order-lookup,.header-menu-btn { width:34px; height:34px; font-size:14px; flex-shrink:0; box-sizing:border-box; }
    .lookup-order-meta { grid-template-columns:1fr 1fr; }
}
@media (max-width:375px) {
    .header-chat-pill span:not(.header-live-dot) { display:none !important; }
    .header-chat-pill { padding:0 6px; height:32px; justify-content:center; box-sizing:border-box; }
    .brand-text h1 { font-size:13.5px; }
    .lang-toggle { height:32px; padding:2px; box-sizing:border-box; }
    .lang-toggle button { height:100%; padding:0 5px; font-size:10px; box-sizing:border-box; }
    .header-cart,.header-order-lookup,.header-menu-btn { width:32px; height:32px; font-size:13px; box-sizing:border-box; }
    .brand-logo { width:32px; height:32px; }
    .order-lookup-form { grid-template-columns:1fr; }
    .order-lookup-form button { min-height:44px; }
}

/* HEADER MENU BUTTON */
.header-menu-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--surface);
    border: 1px solid var(--separator);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--text);
    font-size: 16px;
    cursor: pointer;
    flex-shrink: 0;
    box-sizing: border-box;
    box-shadow: var(--shadow-sm);
    transition: all 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}
.header-menu-btn:active {
    transform: scale(0.94);
    background: var(--surface-hover);
}
.header-menu-btn .heroicon-mask,
.header-menu-btn i {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: var(--text);
}

/* MOBILE MENU SHEET STYLES */
.mobile-menu-sheet {
    max-height: calc(100vh - 44px);
    max-height: calc(100dvh - 44px);
}
.mobile-menu-brand {
    display: flex;
    align-items: center;
    gap: 10px;
}
.mobile-menu-brand-logo {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(255, 77, 0, 0.25);
    flex-shrink: 0;
}
.mobile-menu-status-card {
    background: linear-gradient(135deg, rgba(255, 77, 0, 0.07), rgba(255, 122, 0, 0.03));
    border: 1px solid rgba(255, 77, 0, 0.16);
    border-radius: var(--radius-lg);
    padding: 12px 14px;
    margin-bottom: 12px;
}
.mobile-menu-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 800;
    color: #0F766E;
    margin-bottom: 6px;
}
.mobile-menu-status-badge .hero-live-pulse {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10B981;
    display: inline-block;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}
.mobile-menu-location,
.mobile-menu-parking {
    font-size: 12px;
    color: var(--text-secondary);
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.4;
    margin-top: 5px;
}
.mobile-menu-location i,
.mobile-menu-location .heroicon-mask,
.mobile-menu-parking i,
.mobile-menu-parking .heroicon-mask {
    color: var(--primary);
    font-size: 14px;
    margin-top: 2px;
    flex-shrink: 0;
}
.mobile-menu-hotline-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    background: linear-gradient(135deg, #10B981, #059669);
    color: #fff !important;
    padding: 12px 14px;
    border-radius: var(--radius-lg);
    margin-bottom: 14px;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.28);
    transition: all 0.2s ease;
}
.mobile-menu-hotline-btn:active {
    transform: scale(0.98);
    filter: brightness(0.95);
}
.mobile-menu-hotline-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    color: #fff;
    flex-shrink: 0;
}
.mobile-menu-hotline-icon .heroicon-mask,
.mobile-menu-hotline-icon i {
    color: #fff !important;
}
.mobile-menu-hotline-info {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
.mobile-menu-hotline-label {
    font-size: 10.5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 750;
    opacity: 0.92;
}
.mobile-menu-hotline-number {
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.5px;
    line-height: 1.2;
}
.mobile-menu-hotline-sub {
    font-size: 11px;
    opacity: 0.88;
    margin-top: 1px;
}
.mobile-menu-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mobile-menu-link-item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    background: var(--surface);
    border: 1px solid var(--separator);
    border-radius: var(--radius-md);
    padding: 10px 12px;
    text-decoration: none;
    color: var(--text);
    text-align: left;
    cursor: pointer;
    box-shadow: var(--shadow-sm);
    transition: all 0.18s ease;
    -webkit-tap-highlight-color: transparent;
}
.mobile-menu-link-item:hover,
.mobile-menu-link-item:active {
    background: var(--surface-hover);
    border-color: rgba(255, 77, 0, 0.35);
    transform: translateX(2px);
}
.mobile-menu-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 15px;
    flex-shrink: 0;
}
.mobile-menu-icon .heroicon-mask,
.mobile-menu-icon i {
    color: #fff !important;
    font-size: 16px;
}
.mobile-menu-link-info {
    flex: 1;
    min-width: 0;
}
.mobile-menu-link-info h4 {
    font-size: 13.5px;
    font-weight: 750;
    color: var(--text);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 6px;
}
.mobile-menu-link-info p {
    font-size: 11.5px;
    color: var(--text-secondary);
    margin: 2px 0 0 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mobile-menu-pill {
    background: #10B981;
    color: #fff;
    font-size: 9.5px;
    font-weight: 800;
    padding: 1px 6px;
    border-radius: 100px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.mobile-menu-arrow {
    color: var(--text-tertiary);
    font-size: 12px;
    margin-left: auto;
    flex-shrink: 0;
}
.mobile-menu-arrow .heroicon-mask,
.mobile-menu-arrow i {
    color: var(--text-tertiary);
    font-size: 12px;
}
.mobile-menu-admin-item {
    border-style: dashed;
    background: rgba(0, 0, 0, 0.02);
}
