183 lines
6.8 KiB
CSS
183 lines
6.8 KiB
CSS
:root{
|
|
--ebc-bg:#ffffff;
|
|
--ebc-fg:#111827;
|
|
--ebc-muted:#6b7280;
|
|
--ebc-border:#e5e7eb;
|
|
--ebc-primary:#2563eb;
|
|
--ebc-primary-fg:#ffffff;
|
|
--ebc-z-root:2147483647;
|
|
--ebc-z-launcher:2147483647;
|
|
--ebc-z-panel:2147483647;
|
|
}
|
|
|
|
/* Full-viewport portal — pointer-events pass through except on chat controls. */
|
|
#eventbuzz-concierge-root{
|
|
position:fixed;
|
|
inset:0;
|
|
width:100%;
|
|
height:100%;
|
|
margin:0;
|
|
padding:0;
|
|
border:0;
|
|
z-index:var(--ebc-z-root) !important;
|
|
pointer-events:none;
|
|
isolation:isolate;
|
|
}
|
|
|
|
#eventbuzz-concierge-root .ebc-launcher,
|
|
#eventbuzz-concierge-root .ebc-panel{
|
|
pointer-events:auto;
|
|
}
|
|
|
|
.ebc-launcher{
|
|
position:fixed; right:18px; bottom:18px;
|
|
z-index:var(--ebc-z-launcher) !important;
|
|
isolation:isolate;
|
|
width:54px; height:54px; border-radius:999px;
|
|
border:1px solid var(--ebc-border);
|
|
background:var(--ebc-primary); color:var(--ebc-primary-fg);
|
|
cursor:pointer; box-shadow:0 10px 25px rgba(0,0,0,.12);
|
|
font:600 14px/1 system-ui,-apple-system,Segoe UI,Roboto,Arial;
|
|
}
|
|
.ebc-panel{
|
|
position:fixed; right:18px; bottom:84px;
|
|
z-index:var(--ebc-z-panel) !important;
|
|
isolation:isolate;
|
|
width:340px; height:460px;
|
|
border:1px solid var(--ebc-border);
|
|
background:var(--ebc-bg); color:var(--ebc-fg);
|
|
border-radius:14px; box-shadow:0 14px 40px rgba(0,0,0,.14);
|
|
display:none; overflow:hidden;
|
|
font:400 13px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Arial;
|
|
}
|
|
.ebc-panel.ebc-open{ display:flex; flex-direction:column; }
|
|
.ebc-header{
|
|
padding:12px 12px;
|
|
border-bottom:1px solid var(--ebc-border);
|
|
display:flex; align-items:center; justify-content:space-between;
|
|
}
|
|
.ebc-title{ font-weight:700; font-size:13px; }
|
|
.ebc-header-actions{ display:flex; align-items:center; gap:6px; }
|
|
.ebc-end{ border:0; background:transparent; cursor:pointer; color:var(--ebc-muted); font-size:12px; }
|
|
.ebc-close{ border:0; background:transparent; cursor:pointer; color:var(--ebc-muted); font-size:18px; }
|
|
.ebc-messages{ padding:12px; gap:8px; display:flex; flex-direction:column; overflow:auto; flex:1; }
|
|
.ebc-msg{ max-width:85%; padding:9px 10px; border-radius:12px; border:1px solid var(--ebc-border); background:#f9fafb; white-space:pre-wrap; overflow-wrap:anywhere; }
|
|
.ebc-msg.ebc-user{ margin-left:auto; background:#eff6ff; border-color:#dbeafe; }
|
|
.ebc-msg.ebc-rich{ max-width:94%; padding:10px; background:#ffffff; }
|
|
.ebc-intro{ margin:0 0 9px; color:var(--ebc-fg); white-space:pre-wrap; overflow-wrap:anywhere; }
|
|
.ebc-card-list{ display:flex; flex-direction:column; gap:8px; }
|
|
.ebc-card{
|
|
display:grid; grid-template-columns:24px 1fr; gap:8px;
|
|
padding:9px; border:1px solid var(--ebc-border);
|
|
border-radius:8px; background:#f9fafb;
|
|
}
|
|
.ebc-card-number{
|
|
width:22px; height:22px; border-radius:999px;
|
|
display:flex; align-items:center; justify-content:center;
|
|
background:var(--ebc-primary); color:var(--ebc-primary-fg);
|
|
font-size:11px; font-weight:700; line-height:1;
|
|
}
|
|
.ebc-card-text{ min-width:0; overflow-wrap:anywhere; }
|
|
.ebc-meta{ font-size:11px; color:var(--ebc-muted); margin-top:2px; }
|
|
.ebc-msg.ebc-places{ max-width:96%; background:#ffffff; }
|
|
.ebc-place-list{ display:flex; flex-direction:column; gap:9px; }
|
|
.ebc-place-card{
|
|
display:flex; flex-direction:column; gap:8px;
|
|
padding:10px; border:1px solid var(--ebc-border);
|
|
border-radius:8px; background:#ffffff;
|
|
box-shadow:0 6px 16px rgba(17,24,39,.06);
|
|
}
|
|
.ebc-place-head{ display:flex; gap:9px; align-items:flex-start; }
|
|
.ebc-place-pin{
|
|
width:26px; height:26px; border-radius:8px;
|
|
display:flex; align-items:center; justify-content:center;
|
|
background:#ecfdf5; color:#047857; font-weight:800; flex:0 0 auto;
|
|
}
|
|
.ebc-place-title-wrap{ min-width:0; }
|
|
.ebc-place-name{
|
|
margin:0; font-size:13px; line-height:1.25; font-weight:750;
|
|
overflow-wrap:anywhere;
|
|
}
|
|
.ebc-place-rating{ margin-top:2px; color:#92400e; font-size:11px; font-weight:650; }
|
|
.ebc-place-address{ margin:0; color:var(--ebc-muted); font-size:12px; overflow-wrap:anywhere; }
|
|
.ebc-place-tags{ display:flex; flex-wrap:wrap; gap:5px; }
|
|
.ebc-place-tag{
|
|
padding:3px 7px; border-radius:999px;
|
|
background:#f3f4f6; color:#374151; font-size:11px;
|
|
}
|
|
.ebc-place-map{
|
|
align-self:flex-start; color:var(--ebc-primary);
|
|
font-size:12px; font-weight:700; text-decoration:none;
|
|
}
|
|
.ebc-place-map:hover{ text-decoration:underline; }
|
|
.ebc-msg.ebc-foods{ max-width:96%; background:#ffffff; }
|
|
.ebc-food-list{ display:flex; flex-direction:column; gap:9px; }
|
|
.ebc-food-card{
|
|
display:flex; flex-direction:column; gap:8px;
|
|
padding:10px; border:1px solid var(--ebc-border);
|
|
border-radius:8px; background:#ffffff;
|
|
box-shadow:0 6px 16px rgba(17,24,39,.06);
|
|
}
|
|
.ebc-food-icon{
|
|
width:26px; height:26px; border-radius:8px;
|
|
display:flex; align-items:center; justify-content:center;
|
|
background:#fff7ed; color:#c2410c; font-size:14px; flex:0 0 auto;
|
|
}
|
|
.ebc-food-tag{
|
|
padding:3px 7px; border-radius:999px;
|
|
background:#fff7ed; color:#9a3412; font-size:11px;
|
|
}
|
|
|
|
/* Generic structured cards (ticket, registration, check-in, join, session, hotel) */
|
|
.ebc-msg.ebc-cards{ max-width:96%; background:#ffffff; }
|
|
.ebc-cards-list{ display:flex; flex-direction:column; gap:9px; }
|
|
.ebc-hotel-icon{
|
|
width:26px; height:26px; border-radius:8px;
|
|
display:flex; align-items:center; justify-content:center;
|
|
background:#eef2ff; color:#4338ca; font-size:14px; flex:0 0 auto;
|
|
}
|
|
.ebc-place-price{ color:#047857; font-size:12px; font-weight:700; }
|
|
.ebc-place-links{ display:flex; gap:12px; flex-wrap:wrap; }
|
|
|
|
.ebc-ticket-card,
|
|
.ebc-action-card,
|
|
.ebc-session-card{
|
|
display:flex; flex-direction:column; gap:8px;
|
|
padding:10px; border:1px solid var(--ebc-border);
|
|
border-radius:8px; background:#ffffff;
|
|
box-shadow:0 6px 16px rgba(17,24,39,.06);
|
|
}
|
|
.ebc-ticket-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
|
|
.ebc-ticket-price{
|
|
padding:3px 8px; border-radius:999px;
|
|
background:#ecfdf5; color:#047857; font-size:12px; font-weight:750; white-space:nowrap;
|
|
}
|
|
.ebc-ticket-points{ margin:0; padding-left:18px; color:var(--ebc-fg); font-size:12px; display:flex; flex-direction:column; gap:3px; }
|
|
.ebc-action-title{ font-weight:700; font-size:13px; }
|
|
.ebc-action-btn{
|
|
align-self:flex-start; text-decoration:none;
|
|
background:var(--ebc-primary); color:var(--ebc-primary-fg);
|
|
border-radius:9px; padding:7px 12px; font-size:12px; font-weight:700;
|
|
}
|
|
.ebc-action-btn:hover{ filter:brightness(.95); }
|
|
.ebc-action-disabled{
|
|
background:#f3f4f6; color:var(--ebc-muted); cursor:not-allowed;
|
|
}
|
|
.ebc-inputbar{
|
|
padding:10px; border-top:1px solid var(--ebc-border);
|
|
display:flex; gap:8px; align-items:center;
|
|
}
|
|
.ebc-input{
|
|
flex:1; border:1px solid var(--ebc-border);
|
|
border-radius:10px; padding:9px 10px;
|
|
outline:none;
|
|
}
|
|
.ebc-send{
|
|
border:1px solid var(--ebc-border);
|
|
background:var(--ebc-primary); color:var(--ebc-primary-fg);
|
|
border-radius:10px; padding:9px 12px;
|
|
cursor:pointer; font-weight:600;
|
|
}
|
|
.ebc-error{ color:#b91c1c; font-size:12px; padding:0 12px 10px; display:none; }
|
|
|