.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 {
    height:40px;
    padding:0 12px;
    border:1px solid var(--separator);
    border-radius:100px;
    background:var(--surface);
    color:var(--text);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
    box-shadow:var(--shadow-sm);
    flex-shrink:0;
    cursor:pointer;
}
.header-order-lookup .heroicon-mask { color:var(--primary); font-size:18px; flex-shrink:0; }
.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:40px; padding:0; }
    .header-order-lookup-label { display:none; }
}
@media (max-width:430px) {
    .app-header { padding-left:11px; padding-right:11px; }
    .brand { gap:7px; min-width:0; }
    .brand-logo { width:36px; height:36px; }
    .brand-text { min-width:0; }
    .brand-text h1 { font-size:15px; white-space:nowrap; }
    .brand-text p { display:none; }
    .header-actions { gap:5px; }
    .lang-toggle button { padding:5px 7px; }
    .header-cart,.header-order-lookup { width:36px; height:36px; }
    .lookup-order-meta { grid-template-columns:1fr 1fr; }
}
@media (max-width:360px) {
    .brand-text h1 { font-size:13px; }
    .lang-toggle button { padding:5px; }
    .order-lookup-form { grid-template-columns:1fr; }
    .order-lookup-form button { min-height:44px; }
}
