/* Speaker and attendee extensions to the approved Gabra / LPM admin theme. */
html.gabra-lpm-ui body.gabra-portal{padding-bottom:0}
html.gabra-lpm-ui .gabra-portal .gabra-portal-main{width:calc(100% - 264px);max-width:none;margin:0 0 0 264px;padding:30px 32px 64px;min-height:calc(100vh - 64px)}
html.gabra-lpm-ui .gabra-portal-account-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-width:0}
html.gabra-lpm-ui .gabra-portal .gabra-workspace-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
html.gabra-lpm-ui .gabra-portal .gabra-account-popover>strong{overflow-wrap:anywhere}
html.gabra-lpm-ui .gabra-portal :is(.speaker-impersonation-bar,.portal-impersonation-bar){margin-left:264px;position:relative;top:auto;z-index:auto;border-bottom:1px solid rgba(255,197,109,.3);background:rgba(146,92,18,.2)}
html.gabra-lpm-ui .gabra-portal .speaker-impersonation-bar .inner{max-width:none;padding:14px 32px}
html.gabra-lpm-ui .gabra-portal .portal-impersonation-bar{padding:14px 32px}
html.gabra-lpm-ui .gabra-portal :is(.portal-event-card,.portal-empty-card,.portal-panel,.portal-credit-panel,.portal-session-card,.portal-help-card,.portal-survey-card,.portal-order-card,.portal-ticket-card2,.portal-transfer-card,.portal-balance-card,.ticket-manage-panel,.transfer-panel,.promotion-code-card){border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,rgba(20,42,71,.70),rgba(8,21,40,.77));box-shadow:var(--shadow)}
html.gabra-lpm-ui .gabra-portal :is(.portal-hero,.portal-commerce-hero,.ticket-manage-hero,.transfer-hero){border-color:var(--border);border-radius:18px;background:rgba(13,28,49,.55);box-shadow:none}
html.gabra-lpm-ui .gabra-portal :is(.portal-ticket-card,.portal-meta-grid>div,.portal-summary-grid>div){border-color:var(--border);border-radius:12px;background:rgba(12,28,47,.45)}
html.gabra-lpm-ui .gabra-portal :is(.portal-card-label,.portal-kicker){color:#8fa9c5;font-size:10px;letter-spacing:.1em}
html.gabra-lpm-ui .gabra-portal :is(.portal-event-title,.portal-hero-title){letter-spacing:-.025em}
html.gabra-lpm-ui .gabra-portal .portal-view-event-btn{color:#042035;background:var(--grad);border-color:rgba(133,224,255,.55);border-radius:10px;box-shadow:none}
html.gabra-lpm-ui .gabra-portal .portal-notification-button{position:relative;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:50%;background:#102239;color:#c4e5fa;box-shadow:none;cursor:pointer}
html.gabra-lpm-ui .gabra-portal .portal-notification-badge{background:#42c8ff;color:#042035;border-color:#050b15}
html.gabra-lpm-ui .gabra-portal .portal-notification-badge[hidden]{display:none}
html.gabra-lpm-ui .gabra-portal .portal-notification-overlay{z-index:12000}
html.gabra-lpm-ui .gabra-portal :is(.portal-notification-panel,.portal-notification-modal-card){background:linear-gradient(145deg,#122942,#081528);border-color:rgba(153,191,230,.24);box-shadow:0 24px 64px #0008}
html.gabra-lpm-ui .gabra-portal .portal-notification-item{border-color:var(--border);border-radius:14px;background:rgba(18,37,63,.54)}
html.gabra-lpm-ui .gabra-portal .portal-notification-item.unread{border-color:rgba(66,200,255,.35);background:rgba(66,200,255,.09)}
html.gabra-lpm-ui .gabra-portal .portal-notification-item.pinned{border-color:rgba(255,197,109,.35)}
html.gabra-lpm-ui .gabra-transfer-accept .panel{border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,rgba(20,42,71,.70),rgba(8,21,40,.77));box-shadow:var(--shadow)}
html.gabra-lpm-ui .gabra-transfer-accept .notice{border-color:rgba(255,143,162,.3);background:rgba(211,54,86,.15);color:#ffc2cd}
html.gabra-lpm-ui .gabra-transfer-accept .notice.good{border-color:rgba(110,231,183,.3);background:rgba(20,160,107,.14);color:#b7f7dc}
/* Password activation screens use a compact card instead of the split login. */
html.gabra-lpm-ui body.auth:not(.auth-split){background-color:var(--bg)}
html.gabra-lpm-ui body.auth:not(.auth-split) :is(label,.field>span){color:#c4d8ec}
html.gabra-lpm-ui .gabra-portal .portal-mobile-bottom-nav{display:none}
@media(min-width:901px) and (max-width:1250px){
 html.gabra-lpm-ui .gabra-portal .gabra-portal-main{padding:24px}
 html.gabra-lpm-ui .gabra-portal :is(.portal-order-grid,.portal-hero-grid,.portal-event-grid,.ticket-manage-grid,.transfer-info-grid){grid-template-columns:minmax(0,1fr)}
}
@media(max-width:900px){
 html.gabra-lpm-ui .gabra-portal .gabra-workspace{display:none}
 html.gabra-lpm-ui .gabra-portal-account-actions{grid-row:1;grid-column:2;gap:10px}
 html.gabra-lpm-ui .gabra-portal .gabra-portal-main{width:100%;max-width:none;margin:0;padding:22px 16px 40px}
 html.gabra-lpm-ui .gabra-portal :is(.speaker-impersonation-bar,.portal-impersonation-bar){margin-left:0}
 html.gabra-lpm-ui .gabra-portal .speaker-impersonation-bar .inner,html.gabra-lpm-ui .gabra-portal .portal-impersonation-bar{padding:14px 16px}
 html.gabra-lpm-ui .gabra-portal :is(.portal-order-grid,.portal-hero-grid,.ticket-manage-grid,.transfer-info-grid){grid-template-columns:minmax(0,1fr)}
 html.gabra-lpm-ui body.gabra-myevents{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
 html.gabra-lpm-ui .gabra-myevents .portal-mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;bottom:0;left:0;right:0;z-index:205;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:rgba(4,10,19,.96);backdrop-filter:blur(20px);box-shadow:0 -8px 28px #0003}
 html.gabra-lpm-ui .gabra-myevents .portal-mobile-bottom-nav :is(a,button){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:50px;border:0;border-radius:10px;padding:6px;color:#9cb5cf;background:transparent;font:600 11px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;text-decoration:none;cursor:pointer}
 html.gabra-lpm-ui .gabra-myevents .portal-mobile-bottom-nav a[aria-current="page"]{color:#a7eaff;background:rgba(66,200,255,.13)}
 html.gabra-lpm-ui .gabra-myevents .portal-mobile-bottom-nav svg{width:20px;height:20px}
}
@media(max-width:600px){
 /* Existing speaker pages specify two columns inline; stack those on phones. */
 html.gabra-lpm-ui .gabra-portal :is(.grid,.grid3,.portal-summary-grid,.portal-credit-grid,.portal-meta-grid,.portal-transfer-grid,.portal-balance-grid,.transfer-form-grid,.promotion-deal-grid){grid-template-columns:minmax(0,1fr)!important}
 html.gabra-lpm-ui .gabra-portal .portal-notification-head{flex-wrap:wrap;gap:12px}
 html.gabra-lpm-ui .gabra-portal .portal-notification-actions{margin-left:auto}
 html.gabra-lpm-ui .gabra-portal .portal-notification-modal-card{max-width:calc(100vw - 24px)}
}
@media print{
 html.gabra-lpm-ui .gabra-portal :is(.gabra-topbar,.gabra-sidebar,.portal-mobile-bottom-nav){display:none!important}
 html.gabra-lpm-ui .gabra-portal .gabra-portal-main{margin:0;width:100%;padding:0}
 html.gabra-lpm-ui body.gabra-myevents{padding-bottom:0}
}
html.gabra-lpm-ui .auth-card{border:1px solid var(--border);border-radius:20px;background:linear-gradient(145deg,rgba(20,42,71,.9),rgba(8,21,40,.95));box-shadow:var(--shadow)}
html.gabra-lpm-ui body.auth:not(.auth-split) .auth-wrap{display:grid;place-items:center;min-height:100dvh;padding:24px 16px;width:100%;margin:0}
html.gabra-lpm-ui body.auth:not(.auth-split) .auth-card{width:100%;max-width:520px;margin:0;padding:24px}
