:root{
  --ibi-ink:#10243a;
  --ibi-ink-2:#1d344b;
  --ibi-muted:#60768a;
  --ibi-muted-2:#7d8f9f;
  --ibi-primary:#1379a1;
  --ibi-primary-2:#31a6cf;
  --ibi-primary-soft:#dff3fb;
  --ibi-gold:#d4a927;
  --ibi-success:#218956;
  --ibi-warning:#a86f06;
  --ibi-danger:#b83e4a;
  --ibi-info:#147a9e;
  --ibi-canvas:#aebfcb;
  --ibi-canvas-2:#d3dde4;
  --ibi-glass:rgba(248,251,253,.66);
  --ibi-glass-strong:rgba(248,251,253,.82);
  --ibi-glass-soft:rgba(255,255,255,.42);
  --ibi-line:rgba(255,255,255,.62);
  --ibi-line-soft:rgba(19,56,82,.12);
  --ibi-shadow:0 24px 70px rgba(29,55,77,.18),0 8px 24px rgba(29,55,77,.08);
  --ibi-shadow-soft:0 13px 38px rgba(36,62,82,.13);
  --ibi-radius:1.4rem;
  --ibi-radius-sm:1rem;
  --ibi-blur:28px;

  --bs-body-color:var(--ibi-ink);
  --bs-body-bg:#c4d1da;
  --bs-secondary-color:var(--ibi-muted);
  --bs-emphasis-color:#071c31;
  --bs-heading-color:#0b2137;
  --bs-border-color:rgba(31,67,92,.15);
  --bs-link-color:#0d7198;
  --bs-link-hover-color:#095877;
  --bs-card-color:var(--ibi-ink);
  --bs-card-bg:transparent;
  --bs-tertiary-bg:rgba(255,255,255,.36);
}

*{box-sizing:border-box}
html,body{min-height:100%}
html{background:#b8c8d2;color-scheme:light}
body{
  margin:0;
  color:var(--ibi-ink);
  font-family:"Aptos","Segoe UI Variable Text","Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  background:
    radial-gradient(circle at 8% 10%,rgba(66,167,205,.34),transparent 27rem),
    radial-gradient(circle at 90% 11%,rgba(234,200,89,.24),transparent 25rem),
    radial-gradient(circle at 75% 86%,rgba(68,117,167,.19),transparent 34rem),
    linear-gradient(145deg,#9fb4c2 0%,#d5dfe5 43%,#bacbd5 100%);
  background-attachment:fixed;
  overflow-x:hidden;
}
body::before,body::after{
  content:"";position:fixed;z-index:-1;pointer-events:none;border-radius:999px;filter:blur(12px)
}
body::before{width:34rem;height:34rem;left:-15rem;top:25%;background:radial-gradient(circle,rgba(255,255,255,.38),transparent 69%)}
body::after{width:34rem;height:34rem;right:-14rem;bottom:-11rem;background:radial-gradient(circle,rgba(47,143,183,.20),transparent 69%)}

::selection{background:rgba(42,153,197,.26);color:#071a2c}
a{color:var(--bs-link-color);text-underline-offset:.18em}
a:hover{color:var(--bs-link-hover-color)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,strong,b{color:var(--ibi-ink)}
.text-secondary,.text-body-secondary,.text-muted{color:var(--ibi-muted)!important}
.text-dark{color:var(--ibi-ink)!important}
.text-white{color:#fff!important}
hr{border-color:rgba(18,52,76,.14);opacity:1}
code{color:#0c6488;background:rgba(255,255,255,.55);padding:.15rem .38rem;border-radius:.45rem;border:1px solid rgba(27,77,107,.08)}
.small,small{line-height:1.45}

.app-icon{width:1.12em;height:1.12em;display:inline-block;vertical-align:-.16em;flex:0 0 auto}

/* ---------- frosted / gloss surfaces ---------- */
.card,
.card-soft,
.kpi,
.driver-card,
.member-card,
.permission-box,
.security-check,
.event-note,
.credential-card,
.admin-menu,
.offcanvas,
.install-step,
.glass-panel,
.glass-stat,
.glass-info-panel,
.empty-glass,
.ride-glass-card,
.event-card-admin,
.event-public-card,
.maintenance-status,
.admin-choice,
.glass-switch{
  color:var(--ibi-ink);
  border:1px solid var(--ibi-line);
  background:
    linear-gradient(145deg,rgba(255,255,255,.70),rgba(241,247,250,.44)),
    rgba(235,244,249,.42);
  box-shadow:var(--ibi-shadow-soft),inset 0 1px 0 rgba(255,255,255,.92),inset 0 -1px 0 rgba(26,70,96,.045);
  -webkit-backdrop-filter:blur(var(--ibi-blur)) saturate(135%);
  backdrop-filter:blur(var(--ibi-blur)) saturate(135%);
}
.card,.card-soft{--bs-card-color:var(--ibi-ink);--bs-card-bg:transparent;border-radius:var(--ibi-radius);overflow:hidden}
.card-body,.card-header,.card-footer{color:var(--ibi-ink)}
.card-soft{box-shadow:var(--ibi-shadow)}
.card-soft .card-header,.card-soft .card-footer{background:rgba(255,255,255,.24);border-color:rgba(25,67,94,.10)}

/* ---------- top navigation ---------- */
.navbar-ibi,.admin-topbar{
  position:sticky;top:0;z-index:1035;
  border-bottom:1px solid rgba(255,255,255,.55);
  background:linear-gradient(180deg,rgba(239,246,250,.82),rgba(220,233,241,.67));
  box-shadow:0 12px 34px rgba(32,60,82,.12),inset 0 1px 0 rgba(255,255,255,.90);
  -webkit-backdrop-filter:blur(30px) saturate(150%);
  backdrop-filter:blur(30px) saturate(150%);
}
.navbar-ibi{padding:.8rem 0!important}
.navbar-brand{color:var(--ibi-ink)!important;letter-spacing:-.025em}
.navbar-brand span{white-space:nowrap}
.brand-logo,.brand-emblem{
  background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(29,59,82,.12),inset 0 1px 0 #fff
}
.brand-logo{width:46px;height:46px;object-fit:contain;border-radius:14px;padding:4px}
.brand-logo.brand-logo-lg{width:94px;height:94px;border-radius:25px;padding:8px}
.install-logo{width:112px;height:112px;object-fit:contain;background:rgba(255,255,255,.86);border-radius:30px;padding:9px;border:1px solid rgba(255,255,255,.88);box-shadow:0 20px 50px rgba(39,66,87,.15)}

.admin-topbar{padding:.7rem 0}
.topbar-inner{min-height:62px;display:flex;align-items:center;gap:1rem}
.brand-lockup{display:inline-flex;align-items:center;gap:.72rem;text-decoration:none;color:var(--ibi-ink)}
.brand-lockup:hover{color:var(--ibi-ink)}
.brand-emblem{width:44px;height:44px;border-radius:14px;padding:4px;display:grid;place-items:center}
.brand-emblem img{width:100%;height:100%;object-fit:contain}
.brand-lockup>span:last-child{display:grid;line-height:1.05}
.brand-lockup strong{font-size:1rem;letter-spacing:-.02em}
.brand-lockup small{color:var(--ibi-muted);font-size:.69rem;margin-top:.24rem;font-weight:600}
.admin-identity{align-items:center;gap:.62rem;padding:.32rem .65rem .32rem .36rem;border-radius:999px;background:rgba(255,255,255,.37);border:1px solid rgba(255,255,255,.67)}
.admin-identity>span:last-child{display:grid;line-height:1.05}
.admin-identity strong{font-size:.78rem;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-identity small{font-size:.63rem;color:var(--ibi-muted);margin-top:.24rem}
.admin-avatar{width:33px;height:33px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#2b9cc6,#176b91);color:#fff;font-weight:600;box-shadow:0 7px 18px rgba(17,103,142,.23)}

/* ---------- sidebar ---------- */
.sidebar-sticky{position:sticky;top:96px}
.admin-menu{border-radius:1.25rem!important;overflow:hidden;padding:.42rem;background:linear-gradient(145deg,rgba(248,252,254,.64),rgba(231,241,247,.42))}
.admin-menu .list-group-item{display:flex;align-items:center;gap:.72rem;border:0;border-radius:.92rem!important;margin:.08rem 0;padding:.75rem .78rem;font-weight:600;color:#405a6e;background:transparent;transition:.16s ease}
.admin-menu .list-group-item:hover{color:#0b5576;background:rgba(255,255,255,.52);transform:translateX(2px)}
.admin-menu .list-group-item.active{color:#fff;background:linear-gradient(145deg,#2699c3,#146c94);box-shadow:0 9px 22px rgba(20,105,145,.23),inset 0 1px 0 rgba(255,255,255,.30)}
.nav-icon{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:rgba(19,109,148,.075);color:#247ea3;flex:0 0 31px}
.admin-menu .active .nav-icon{background:rgba(255,255,255,.16);color:#fff}
.offcanvas{--bs-offcanvas-bg:rgba(232,241,247,.94);--bs-offcanvas-color:var(--ibi-ink);border-right:1px solid rgba(255,255,255,.8)!important}
.offcanvas-header{border-bottom:1px solid rgba(26,70,95,.10)}

/* ---------- typography / headings ---------- */
.page-title{font-weight:650;letter-spacing:-.043em;color:#0a2238;text-shadow:0 1px 0 rgba(255,255,255,.70)}
.eyebrow-dark{color:#157596;font-size:.71rem;text-transform:uppercase;letter-spacing:.11em;font-weight:600;margin-bottom:.32rem}
.page-head,.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* ---------- KPI ---------- */
.kpi{border-radius:1.2rem;padding:1.06rem 1.15rem;height:100%;transition:transform .18s ease,box-shadow .18s ease}
.kpi:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(32,62,84,.17),inset 0 1px 0 #fff}
.kpi .num{font-size:1.8rem;font-weight:650;color:#0d2d45;letter-spacing:-.05em;line-height:1.04}
.kpi .label{font-size:.72rem;color:#668094;font-weight:600;text-transform:uppercase;letter-spacing:.075em}

/* ---------- forms ---------- */
.form-label{font-weight:600;font-size:.86rem;color:#29465c}
.form-text{color:#708597!important}
.form-control,.form-select{
  color:#102a3f;background:rgba(255,255,255,.52);border:1px solid rgba(27,72,100,.16);border-radius:.95rem;padding:.76rem .9rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 1px 2px rgba(32,62,82,.025)
}
.form-control::placeholder{color:#8b9dab}
.form-control:focus,.form-select:focus{color:#0b2438;background:rgba(255,255,255,.78);border-color:rgba(25,135,177,.50);box-shadow:0 0 0 .25rem rgba(30,148,191,.13),inset 0 1px 0 #fff}
.form-select option{background:#f4f8fa;color:#142a3d}
.form-check-input{background-color:rgba(255,255,255,.58);border-color:rgba(29,76,105,.25)}
.form-check-input:checked{background-color:#218bb5;border-color:#218bb5}
.input-group-text{color:#335267;background:rgba(255,255,255,.43);border-color:rgba(27,72,100,.15)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.1rem;border-radius:.95rem;font-weight:600;letter-spacing:-.012em;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease,border-color .15s ease;min-height:40px}
.btn:hover{transform:translateY(-1px)}
.btn-primary,.btn-glass-primary{--bs-btn-color:#fff;--bs-btn-bg:#177aa1;--bs-btn-border-color:rgba(14,105,143,.25);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#208fb8;--bs-btn-hover-border-color:#208fb8;--bs-btn-active-bg:#126e94;background:linear-gradient(145deg,#2ba4cd,#14749c);color:#fff!important;border:1px solid rgba(255,255,255,.35);box-shadow:0 11px 25px rgba(16,110,151,.22),inset 0 1px 0 rgba(255,255,255,.38)}
.btn-primary:hover,.btn-glass-primary:hover{box-shadow:0 15px 31px rgba(16,110,151,.26),inset 0 1px 0 rgba(255,255,255,.42)}
.btn-light{--bs-btn-color:#173248;--bs-btn-bg:rgba(255,255,255,.74);--bs-btn-border-color:rgba(255,255,255,.85);--bs-btn-hover-bg:rgba(255,255,255,.94);--bs-btn-hover-border-color:#fff;box-shadow:0 8px 20px rgba(34,62,81,.10)}
.btn-outline-secondary,.btn-glass{--bs-btn-color:#33566e;--bs-btn-border-color:rgba(35,82,111,.20);--bs-btn-hover-color:#0c4d6c;--bs-btn-hover-bg:rgba(255,255,255,.62);--bs-btn-hover-border-color:rgba(35,82,111,.28);background:rgba(255,255,255,.30);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.btn-outline-primary{--bs-btn-color:#0f7096;--bs-btn-border-color:rgba(20,115,153,.28);--bs-btn-hover-bg:#177da4;--bs-btn-hover-border-color:#177da4;--bs-btn-hover-color:#fff}
.btn-outline-danger,.btn-glass-danger{--bs-btn-color:#a92e3b;--bs-btn-border-color:rgba(178,54,66,.25);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#b83e4a;--bs-btn-hover-border-color:#b83e4a;background:rgba(255,244,245,.44)}
.btn-danger{--bs-btn-bg:#b83e4a;--bs-btn-border-color:#b83e4a;--bs-btn-hover-bg:#a8333e;--bs-btn-hover-border-color:#a8333e}
.btn-warning{--bs-btn-color:#422f06;--bs-btn-bg:#e4bf4f;--bs-btn-border-color:#e4bf4f;--bs-btn-hover-bg:#eccb69;--bs-btn-hover-border-color:#eccb69}
.btn-success{--bs-btn-bg:#258b59;--bs-btn-border-color:#258b59;--bs-btn-hover-bg:#1f7d4e;--bs-btn-hover-border-color:#1f7d4e}
.btn-glass-nav{color:#284a62;border:1px solid rgba(35,83,112,.15);background:rgba(255,255,255,.34)}
.btn-glass-nav:hover{color:#0d5878;background:rgba(255,255,255,.60)}

/* ---------- alerts / badges ---------- */
.alert{border-radius:1.05rem;border:1px solid rgba(255,255,255,.66);box-shadow:0 10px 28px rgba(31,61,82,.09);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.alert-success{color:#145f3b;background:rgba(221,246,231,.72);border-color:rgba(37,139,88,.18)}
.alert-warning{color:#72500a;background:rgba(255,244,205,.75);border-color:rgba(183,125,12,.20)}
.alert-danger{color:#8e2d38;background:rgba(253,225,228,.75);border-color:rgba(184,62,74,.20)}
.alert-info{color:#145d78;background:rgba(220,242,250,.76);border-color:rgba(20,122,158,.18)}
.alert-secondary,.alert-light{color:#3e596c;background:rgba(245,249,251,.62);border-color:rgba(45,82,106,.12)}
.alert-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.50);flex:0 0 36px}
.badge{font-weight:600;letter-spacing:.01em;border:1px solid rgba(255,255,255,.55)}
.badge-state{font-size:.76rem;padding:.47rem .68rem;border-radius:999px}
.text-bg-success{background-color:#d9f1e2!important;color:#155f3a!important}
.text-bg-warning{background-color:#f8e8b1!important;color:#705006!important}
.text-bg-danger{background-color:#f5dadd!important;color:#8c2e38!important}
.text-bg-secondary{background-color:#dce5ea!important;color:#435d70!important}
.text-bg-info{background-color:#d7edf6!important;color:#145f7c!important}
.text-bg-primary{background-color:#d7edf7!important;color:#116382!important}

/* ---------- tables ---------- */
.table{--bs-table-color:var(--ibi-ink);--bs-table-bg:transparent;--bs-table-border-color:rgba(30,71,98,.10);--bs-table-striped-color:var(--ibi-ink);--bs-table-hover-color:var(--ibi-ink);margin-bottom:0}
.table-modern thead th{font-size:.7rem;text-transform:uppercase;letter-spacing:.065em;color:#607b8f;border-bottom:1px solid rgba(29,72,100,.13);background:rgba(226,237,243,.52);padding:.9rem .85rem;white-space:nowrap}
.table-modern tbody td{vertical-align:middle;border-color:rgba(29,72,100,.09);padding:.82rem .85rem;color:#1a3449}
.table-modern tbody tr:hover{background:rgba(255,255,255,.34)}
.table-responsive{border-radius:inherit}
.list-group-item{color:var(--ibi-ink)}

/* ---------- generic cards ---------- */
.driver-card,.permission-box,.security-check,.event-note,.credential-card{border-radius:1.08rem;padding:1rem}
.driver-card{transition:.16s ease}
.driver-card:hover{transform:translateY(-2px)}
.driver-card.full{border-color:rgba(190,137,24,.28);background:linear-gradient(145deg,rgba(255,247,214,.73),rgba(248,239,203,.48))}
.driver-card.over{border-color:rgba(189,59,72,.30);background:linear-gradient(145deg,rgba(255,231,234,.75),rgba(248,219,224,.48))}
.security-check{height:100%}
.security-check.ok{border-left:5px solid #2c9962}.security-check.warn{border-left:5px solid #c18a18}
.credential-card{border-style:dashed;border-color:rgba(175,132,25,.40);background:rgba(255,246,211,.55)}
.add-participant-form{max-width:620px}

/* ---------- auth / installer / error ---------- */
.auth-shell{min-height:calc(100vh - 80px);display:flex;align-items:center}
.auth-container{max-width:570px}
.auth-container .card-soft{box-shadow:0 30px 90px rgba(41,67,86,.19),inset 0 1px 0 #fff}
.installer-shell{max-width:980px}
.install-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}
.install-step{display:flex;gap:.58rem;align-items:center;padding:.75rem .85rem;color:#607a8d;border-radius:1rem}
.install-step span{width:29px;height:29px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.48);border:1px solid rgba(24,76,107,.10);font-size:.78rem;font-weight:600}
.install-step small{font-weight:600;font-size:.72rem}
.install-step.active{background:linear-gradient(145deg,rgba(220,242,251,.82),rgba(242,249,252,.58));border-color:rgba(27,137,179,.22);color:#0f6587}
.install-step.active span{background:linear-gradient(145deg,#2da2ca,#147397);color:#fff}
.install-step.done span{background:#d8f0e1;color:#17613c}
.success-check{width:78px;height:78px;border-radius:26px;display:grid;place-items:center;margin-inline:auto;background:linear-gradient(145deg,#d9f1e2,#c7e9d3);border:1px solid rgba(36,139,87,.18);color:#177044;font-size:2.15rem;font-weight:650;box-shadow:0 14px 34px rgba(32,71,52,.12)}
.error-shell{min-height:100vh;display:grid;place-items:center;padding:2rem}
.error-glass{max-width:680px;width:100%;text-align:center;padding:2.6rem;border-radius:1.7rem;background:linear-gradient(145deg,rgba(252,254,255,.76),rgba(232,242,247,.56));border:1px solid rgba(255,255,255,.85);box-shadow:0 28px 90px rgba(38,66,86,.20);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}
.error-symbol{width:66px;height:66px;border-radius:22px;display:grid;place-items:center;margin:0 auto 1rem;background:#f5dadd;color:#9a303b}.error-symbol .app-icon{width:30px;height:30px}
.error-id{display:inline-block;margin-top:1rem;padding:.5rem .72rem;border-radius:.8rem;background:rgba(255,255,255,.45);font-size:.76rem;color:#667f91}
.debug-box{text-align:left;white-space:pre-wrap;margin-top:1rem;padding:1rem;border-radius:1rem;background:#10283c;color:#d7e8f2;font-size:.76rem}

/* ---------- profile / maintenance ---------- */
.profile-orb{width:72px;height:72px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#35a7cd,#196f97);color:#fff;font-size:1.75rem;font-weight:650;box-shadow:0 15px 32px rgba(17,105,144,.20)}
.role-chip,.version-pill,.glass-count{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .72rem;border-radius:999px;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.72);color:#295066;font-size:.75rem;font-weight:600}
.profile-fields{display:grid;gap:0}
.profile-fields>div{padding:1rem 0;border-bottom:1px solid rgba(25,69,96,.10)}.profile-fields>div:last-child{border-bottom:0}
.profile-fields span{display:block;color:#718698;font-size:.73rem;margin-bottom:.25rem}.profile-fields strong{display:block;color:#173148;font-size:.96rem}
.feature-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#def1f8;color:#13779d}.feature-icon .app-icon{width:20px;height:20px}
.password-hint{padding:.75rem .85rem;border-radius:.9rem;background:rgba(255,255,255,.40);color:#60798b;font-size:.78rem}
.maintenance-status{padding:1.15rem;border-radius:1.2rem}.maintenance-status.success{border-left:5px solid #2b965f}.maintenance-status.danger{border-left:5px solid #bb3d49}
.issue-list{margin:.8rem 0 0;padding-left:1.2rem;color:#8e3039;font-size:.85rem}
.admin-choice-list{display:grid;gap:.65rem}.admin-choice{position:relative;display:flex;align-items:center;gap:.9rem;border-radius:1rem;padding:.9rem 1rem;cursor:pointer}.admin-choice:hover{background:rgba(255,255,255,.73)}
.admin-choice input{flex:0 0 auto}.admin-choice .meta{display:grid}.admin-choice .meta strong{font-size:.9rem}.admin-choice .meta span{font-size:.74rem;color:var(--ibi-muted)}

/* ---------- event admin ---------- */
.event-card-admin{overflow:hidden;border-radius:1.45rem;transition:transform .18s ease,box-shadow .18s ease}.event-card-admin:hover{transform:translateY(-2px);box-shadow:0 22px 58px rgba(37,68,89,.17),inset 0 1px 0 #fff}
.event-card-admin-cover{height:165px;position:relative;background:radial-gradient(circle at 22% 20%,rgba(65,170,211,.20),transparent 36%),linear-gradient(135deg,#d7e7ef,#aabfcd);background-size:cover;background-position:center}
.event-card-admin-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,35,52,.02),rgba(15,35,52,.48))}
.event-card-admin-date{position:absolute;left:1rem;bottom:1rem;padding:.43rem .65rem;border-radius:999px;background:rgba(245,250,253,.76);border:1px solid rgba(255,255,255,.80);color:#17354b;font-size:.75rem;font-weight:600;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.mini-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem}.mini-stats div{text-align:center;padding:.68rem .4rem;border-radius:.9rem;background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.66)}.mini-stats span{display:block;font-size:1.08rem;font-weight:650;color:#14334a}.mini-stats small{font-size:.64rem;color:#6f8495}
.event-cover-admin,.event-cover-preview{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:1.1rem;background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.72)}
.event-cover-admin img,.event-cover-preview img{width:160px;height:92px;object-fit:cover;border-radius:.88rem;border:1px solid rgba(255,255,255,.88);box-shadow:0 8px 20px rgba(35,64,83,.12)}
.upload-glass{display:flex;align-items:center;gap:.8rem;padding:.8rem;border-radius:1rem;background:rgba(255,255,255,.34);border:1px dashed rgba(23,105,141,.22)}
.upload-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#def1f8;color:#14779d;flex:0 0 42px}
.event-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.admin-event-hero{position:relative;overflow:hidden;min-height:220px;border-radius:1.55rem;background:radial-gradient(circle at 82% 20%,rgba(70,179,219,.18),transparent 30%),linear-gradient(145deg,rgba(242,249,252,.72),rgba(216,232,240,.58));border:1px solid rgba(255,255,255,.77);box-shadow:var(--ibi-shadow);display:flex;align-items:end}
.admin-event-hero-cover{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.52}.admin-event-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(234,243,248,.95),rgba(232,242,247,.78) 55%,rgba(222,235,242,.35));pointer-events:none}.admin-event-hero-content{position:relative;z-index:1;padding:1.6rem;max-width:780px}
.glass-switch{height:100%;min-height:84px;display:flex;align-items:flex-start;gap:.75rem;padding:.9rem;border-radius:1rem;cursor:pointer}.glass-switch span{display:block}.glass-switch strong{display:block;color:#1e3a50;font-size:.88rem}.glass-switch small{display:block;color:#718798;font-size:.72rem;line-height:1.35;margin-top:.15rem}
.settings-glass-group{padding:1rem;border-radius:1.2rem}

/* ---------- public hero ---------- */
.public-hero{position:relative;overflow:hidden;min-height:360px;padding:clamp(2rem,5vw,4.5rem);border-radius:2rem;background:linear-gradient(125deg,rgba(13,45,69,.92),rgba(17,86,116,.82) 52%,rgba(34,123,157,.72));border:1px solid rgba(255,255,255,.34);box-shadow:0 28px 80px rgba(30,62,85,.22),inset 0 1px 0 rgba(255,255,255,.28);display:flex;align-items:center;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.public-hero::before{content:"";position:absolute;width:32rem;height:32rem;right:-10rem;top:-13rem;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%)}
.public-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.06),transparent 32%,transparent 68%,rgba(255,255,255,.08));pointer-events:none}
.public-hero-content{position:relative;z-index:2;max-width:700px;color:#fff}.public-hero .eyebrow{color:#f1d877;font-size:.74rem;font-weight:600;text-transform:uppercase;letter-spacing:.11em}.public-hero h1{color:#fff;font-size:clamp(2.6rem,7vw,5rem);font-weight:650;letter-spacing:-.065em;line-height:.92;margin:.55rem 0 1.1rem}.public-hero h1 span{color:#aeeafb}.public-hero p{font-size:1.02rem;color:#d8e7ef;max-width:570px;line-height:1.6}
.hero-logo-orbit{position:absolute;z-index:2;right:6%;top:50%;transform:translateY(-50%);width:230px;height:230px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);background:radial-gradient(circle,rgba(255,255,255,.09),transparent 66%)}
.hero-logo-glass{width:150px;height:150px;border-radius:44px;display:grid;place-items:center;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.9);box-shadow:0 25px 65px rgba(0,0,0,.23),inset 0 1px 0 #fff;transform:rotate(-3deg)}
.hero-logo-glass img{width:82%;height:82%;object-fit:contain}

/* ---------- public event cards ---------- */
.event-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.event-public-card{overflow:hidden;border-radius:1.55rem;transition:transform .18s ease,box-shadow .18s ease}.event-public-card:hover{transform:translateY(-4px);box-shadow:0 28px 70px rgba(34,64,85,.19),inset 0 1px 0 #fff}
.event-public-cover{height:210px;display:block;position:relative;overflow:hidden;background:#bdd0db}.event-public-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.event-public-card:hover .event-public-cover>img{transform:scale(1.035)}
.event-cover-placeholder{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,rgba(58,165,206,.30),transparent 35%),linear-gradient(145deg,#dceaf1,#adbfcb)}.event-cover-placeholder img{width:90px!important;height:90px!important;object-fit:contain!important;opacity:.78}
.event-cover-sheen{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,30,44,.01),rgba(10,30,44,.23));pointer-events:none}
.event-date-chip{position:absolute;left:1rem;top:1rem;min-width:55px;padding:.48rem .6rem;text-align:center;border-radius:1rem;background:rgba(250,253,255,.76);border:1px solid rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(24,52,70,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.event-date-chip strong{display:block;font-size:1.1rem;line-height:1;color:#14344a}.event-date-chip span{display:block;font-size:.61rem;color:#5e788b;font-weight:600;margin-top:.25rem;text-transform:uppercase}
.event-public-body{padding:1.2rem}.event-public-body h3{font-size:1.12rem;font-weight:650;letter-spacing:-.025em;margin:0 0 .22rem}.event-location{color:#698195;font-size:.82rem}.event-public-body p{color:#667f92;font-size:.86rem;line-height:1.5;margin:.9rem 0}.event-live-dot{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.35rem .52rem;border-radius:999px;background:#dff2e6;color:#1d7548;white-space:nowrap}.event-meta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.event-meta-row span{padding:.58rem .35rem;border-radius:.8rem;text-align:center;background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.68);font-size:.66rem;color:#708697}.event-meta-row strong{display:block;font-size:.95rem;color:#18364c}

/* ---------- event detail ---------- */
.back-link{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:1rem;text-decoration:none;color:#315e77;font-weight:600;font-size:.84rem}
.event-detail-hero{position:relative;overflow:hidden;min-height:330px;border-radius:1.8rem;background:linear-gradient(125deg,#163d58,#1b789d);border:1px solid rgba(255,255,255,.34);box-shadow:0 28px 80px rgba(29,60,83,.22);display:flex;align-items:end}.event-detail-hero.has-cover{background-image:var(--event-cover);background-size:cover;background-position:center}
.event-detail-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,38,.88),rgba(8,31,47,.61) 60%,rgba(8,28,43,.24))}.event-detail-glow{position:absolute;width:26rem;height:26rem;right:-8rem;top:-10rem;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 68%)}
.event-detail-content{position:relative;z-index:2;padding:clamp(1.5rem,4vw,3rem);max-width:820px;color:#fff}.event-detail-date{display:inline-flex;padding:.42rem .65rem;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);color:#e7f2f7;font-size:.75rem;font-weight:600;margin-bottom:.7rem}.event-detail-content h1{font-size:clamp(2rem,5vw,3.6rem);font-weight:650;color:#fff;letter-spacing:-.055em;line-height:1;margin-bottom:.8rem}.event-detail-summary{font-size:1rem;color:#d8e6ed;max-width:720px;margin:0 0 1.1rem;line-height:1.55}.event-detail-chips{display:flex;flex-wrap:wrap;gap:.6rem}.event-detail-chips span{padding:.54rem .78rem;border-radius:999px;background:rgba(248,252,254,.13);border:1px solid rgba(255,255,255,.20);color:#e3eef3;font-size:.8rem;font-weight:600;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.glass-stat{height:100%;padding:1.15rem 1.25rem;border-radius:1.22rem}.glass-stat strong{display:block;font-size:1.78rem;line-height:1;font-weight:650;letter-spacing:-.045em;color:#14354c}.glass-stat span{display:block;margin-top:.35rem;color:#6d8395;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.your-ride-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;border-radius:1.22rem;border:1px solid rgba(255,255,255,.72);box-shadow:var(--ibi-shadow-soft);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.your-ride-banner.success{background:rgba(223,243,231,.74)}.your-ride-banner.warning{background:rgba(255,243,204,.76)}.your-ride-banner.danger{background:rgba(249,222,226,.76)}.your-ride-banner.secondary{background:rgba(235,242,246,.72)}.your-ride-banner strong{display:block;font-size:1.04rem}.your-ride-banner span{display:block;color:#627a8d;font-size:.86rem;margin-top:.15rem}.your-ride-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:600;color:#6c8293;margin-bottom:.2rem}
.glass-info-panel{padding:1.2rem 1.35rem;border-radius:1.22rem}.info-label{color:#718798;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-bottom:.3rem}
.ride-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.ride-glass-card{position:relative;overflow:hidden;padding:1.3rem;border-radius:1.45rem}.ride-glass-card.is-mine{border-color:rgba(30,143,184,.36);box-shadow:0 25px 65px rgba(29,66,91,.18),0 0 0 2px rgba(38,151,192,.08) inset}
.ride-card-top{display:flex;gap:.9rem;align-items:flex-start}.vehicle-orb{width:50px;height:50px;flex:0 0 50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#dff2f9,#c9e7f2);border:1px solid rgba(255,255,255,.80);color:#13789e}.vehicle-orb .app-icon{width:23px;height:23px}.ride-kicker{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;color:#3982a0;font-weight:600}.ride-card-top h3{font-size:1.18rem;color:#15344b;font-weight:600;margin:.1rem 0 .12rem}.ride-vehicle{color:#718698;font-size:.83rem}.mine-pill{white-space:nowrap;font-size:.64rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600;padding:.4rem .58rem;border-radius:999px;color:#116583;background:#d9eef6;border:1px solid rgba(28,134,174,.14)}
.ride-capacity{margin-top:1.1rem;padding:.82rem .88rem;border-radius:.95rem;background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.65);font-size:.76rem;color:#718596}.ride-capacity span{color:#17364c;font-weight:600}.capacity-track{height:6px;border-radius:99px;background:rgba(29,77,105,.09);overflow:hidden;margin-top:.55rem}.capacity-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2d9fc7,#65c5e4);box-shadow:0 0 14px rgba(43,157,198,.20)}
.passenger-list{margin-top:1rem}.passenger-list-title{font-size:.69rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:#6e8495;margin-bottom:.5rem}.passenger-row{display:flex;align-items:center;gap:.65rem;padding:.55rem .25rem;border-bottom:1px solid rgba(28,73,100,.08);color:#405c70;font-size:.88rem}.passenger-row:last-child{border-bottom:0}.passenger-row.self{color:#123b55;font-weight:600}.passenger-avatar{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#e0eff5;border:1px solid rgba(255,255,255,.80);color:#176f93;font-weight:600;font-size:.72rem}.passenger-row em{margin-left:auto;font-size:.63rem;font-style:normal;text-transform:uppercase;letter-spacing:.07em;color:#187da3}.passenger-empty{padding:.8rem 0;color:#7f93a1;font-size:.83rem}
.empty-glass{text-align:center;padding:3.2rem 1.5rem;border-radius:1.5rem}.empty-glass h3{font-size:1.18rem;color:#17354b;font-weight:600}.empty-glass-icon{width:58px;height:58px;border-radius:19px;margin:0 auto 1rem;display:grid;place-items:center;background:#dff1f8;border:1px solid rgba(255,255,255,.80);color:#17799f}.empty-glass-icon .app-icon{width:27px;height:27px}

/* ---------- member area ---------- */
.member-card{border-radius:1.42rem;overflow:hidden}.member-status-strip{height:7px}.member-status-strip.success{background:linear-gradient(90deg,#3cab6c,#75d598)}.member-status-strip.warning{background:linear-gradient(90deg,#d4a42c,#efd16e)}.member-status-strip.danger{background:linear-gradient(90deg,#c94b58,#e87b85)}.member-status-strip.secondary{background:linear-gradient(90deg,#8397a5,#a9bbc6)}
.member-event-cover{display:block;height:190px;position:relative;overflow:hidden}.member-event-cover img{width:100%;height:100%;object-fit:cover}.member-event-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,31,45,.01),rgba(10,31,45,.30))}.member-status-float{position:absolute;right:1rem;top:1rem;z-index:2;padding:.48rem .68rem;border-radius:999px;font-size:.7rem;font-weight:600;border:1px solid rgba(255,255,255,.70);box-shadow:0 8px 22px rgba(28,57,75,.14);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.your-driver-glass{padding:1rem 1.05rem;border-radius:1.12rem;background:linear-gradient(145deg,rgba(217,240,248,.75),rgba(245,250,252,.50));border:1px solid rgba(255,255,255,.75)}
.admin-access-link{font-size:.77rem;color:#577389;text-decoration:none}.admin-access-link:hover{color:#0f6f95}

/* ---------- mobile bottom ---------- */
.mobile-bottom{display:none}.liquid-bottom{background:rgba(238,246,250,.82)!important;border-top:1px solid rgba(255,255,255,.80)!important;-webkit-backdrop-filter:blur(30px) saturate(150%)!important;backdrop-filter:blur(30px) saturate(150%)!important;box-shadow:0 -8px 28px rgba(31,59,78,.10)}.liquid-bottom a{flex:1;text-decoration:none;text-align:center;color:#6d8293;font-size:.72rem;font-weight:600;padding:.65rem .45rem;border-radius:.9rem}.liquid-bottom a.active{color:#0c668c;background:rgba(255,255,255,.66);box-shadow:inset 0 1px 0 #fff}

/* ---------- footer ---------- */
footer{color:#667d8f!important}

@media(max-width:1199.98px){.event-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-logo-orbit{right:3%;opacity:.78}}
@media(max-width:991.98px){
  .installer-shell{max-width:780px}.public-hero{min-height:320px}.hero-logo-orbit{width:180px;height:180px;right:-2rem}.hero-logo-glass{width:112px;height:112px;border-radius:32px}.public-hero-content{max-width:75%}.ride-grid{grid-template-columns:1fr}
}
@media(max-width:767.98px){
  body{padding-bottom:74px;background-attachment:scroll}
  .navbar-ibi .container{padding-left:1rem;padding-right:1rem}.brand-logo{width:40px;height:40px;border-radius:12px}.navbar-brand span{font-size:.9rem}
  main{padding-top:1.25rem!important}.public-hero{min-height:auto;padding:2rem 1.4rem;border-radius:1.45rem}.public-hero-content{max-width:100%}.public-hero h1{font-size:2.65rem}.hero-logo-orbit{display:none}.event-public-grid{grid-template-columns:1fr}.event-public-cover{height:195px}
  .section-heading{align-items:flex-start}.glass-count{margin-top:.25rem}.event-detail-hero{min-height:285px;border-radius:1.4rem}.event-detail-content{padding:1.4rem}.event-detail-content h1{font-size:2.15rem}.your-ride-banner{align-items:flex-start;flex-direction:column}.ride-glass-card{padding:1.05rem}.mine-pill{position:absolute;right:1rem;top:1rem}.event-meta-row{grid-template-columns:repeat(3,1fr)}
  .mobile-bottom{display:flex;position:fixed;z-index:1040;left:.75rem;right:.75rem;bottom:calc(.65rem + env(safe-area-inset-bottom));padding:.35rem;border-radius:1.15rem;border:1px solid rgba(255,255,255,.82);overflow:hidden}
  .install-steps{grid-template-columns:repeat(2,1fr)}.install-step small{font-size:.68rem}.event-cover-admin,.event-cover-preview{align-items:flex-start;flex-direction:column}.event-cover-admin img,.event-cover-preview img{width:100%;height:160px}.mini-stats{grid-template-columns:repeat(2,1fr)}
  .topbar-inner{min-height:54px}.brand-emblem{width:39px;height:39px;border-radius:12px}.brand-lockup strong{font-size:.92rem}.admin-topbar{padding:.55rem 0}.page-title{font-size:clamp(1.65rem,8vw,2.2rem)}
  .error-glass{padding:2rem 1.2rem}.auth-shell{min-height:auto;align-items:flex-start;padding-top:1.5rem!important}
}
@media(max-width:430px){.event-meta-row{grid-template-columns:1fr}.event-meta-row span{text-align:left;display:flex;justify-content:space-between;align-items:center}.event-meta-row strong{display:inline}.ride-card-top{padding-right:0}.mine-pill{position:static}.install-steps{grid-template-columns:1fr 1fr}.admin-identity{display:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.card,.card-soft,.kpi,.event-public-card,.ride-glass-card,.navbar-ibi,.admin-topbar,.offcanvas{background:#edf4f7}}
.admin-body{min-height:100vh}
.glass-form{overflow:visible}
.glass-switch.compact{min-height:0;padding:.75rem .85rem}
.liquid-member-card{height:100%}

/* ========================================================================
   V8 • VISITOR EXPERIENCE — AURORA PRISM GLASS
   Agenda pública independente do painel administrativo.
   ======================================================================== */
.visitor-body{
  --v8-navy:#06192b;
  --v8-navy-2:#0a2c47;
  --v8-cyan:#25a6cc;
  --v8-cyan-2:#71d5ef;
  --v8-gold:#e5bd43;
  --v8-glass:rgba(244,250,253,.78);
  --v8-glass-2:rgba(229,242,249,.66);
  --v8-border:rgba(255,255,255,.72);
  --v8-ink:#0a2136;
  --v8-muted:#5d7487;
  background:
    radial-gradient(circle at 12% 7%,rgba(48,177,218,.38),transparent 28rem),
    radial-gradient(circle at 88% 5%,rgba(235,190,62,.24),transparent 23rem),
    radial-gradient(circle at 88% 75%,rgba(37,120,175,.23),transparent 33rem),
    linear-gradient(155deg,#8eacbd 0%,#d5e2e9 36%,#b9ced9 72%,#94b3c4 100%);
  color:var(--v8-ink);
  min-height:100vh;
}
.visitor-body::before{
  width:48rem;height:48rem;left:-22rem;top:25%;
  background:radial-gradient(circle,rgba(255,255,255,.36),transparent 67%);
}
.visitor-body::after{
  width:42rem;height:42rem;right:-18rem;bottom:-10rem;
  background:radial-gradient(circle,rgba(23,130,178,.24),transparent 68%);
}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:2000;padding:.7rem 1rem;background:#fff;color:#08223a;border-radius:.8rem;box-shadow:var(--ibi-shadow);transition:.15s}.skip-link:focus{top:1rem}
.visitor-navbar{
  position:sticky;top:0;z-index:1045;padding:.68rem 0;
  background:linear-gradient(180deg,rgba(7,29,48,.91),rgba(7,29,48,.77));
  border-bottom:1px solid rgba(255,255,255,.13);
  box-shadow:0 14px 40px rgba(3,22,38,.21),inset 0 1px 0 rgba(255,255,255,.09);
  -webkit-backdrop-filter:blur(28px) saturate(145%);backdrop-filter:blur(28px) saturate(145%);
}
.visitor-brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff;min-width:0}.visitor-brand:hover{color:#fff}.visitor-brand-logo{width:44px;height:44px;padding:4px;border-radius:14px;background:rgba(255,255,255,.93);box-shadow:0 9px 28px rgba(0,0,0,.18),inset 0 1px 0 #fff;display:grid;place-items:center}.visitor-brand-logo img{width:100%;height:100%;object-fit:contain}.visitor-brand>span:last-child{display:grid;line-height:1}.visitor-brand strong{color:#fff;font-size:.95rem;letter-spacing:-.02em}.visitor-brand small{color:#9fc1d2;font-size:.64rem;margin-top:.28rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.visitor-nav-desktop{position:absolute;left:50%;transform:translateX(-50%);gap:.25rem}.visitor-nav-link{display:inline-flex;align-items:center;gap:.45rem;padding:.58rem .78rem;border-radius:999px;color:#a8c2d0;text-decoration:none;font-size:.79rem;font-weight:600;border:1px solid transparent}.visitor-nav-link:hover{color:#fff;background:rgba(255,255,255,.08)}.visitor-nav-link.active{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.visitor-navbar .btn-outline-secondary{--bs-btn-color:#d6e6ed;--bs-btn-border-color:rgba(255,255,255,.17);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:rgba(255,255,255,.10);background:rgba(255,255,255,.06)}
.visitor-user-chip{align-items:center;gap:.55rem;text-decoration:none;padding:.25rem .55rem .25rem .27rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#fff}.visitor-user-chip:hover{color:#fff;background:rgba(255,255,255,.12)}.visitor-avatar{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#46b6d8,#197fa5);color:#fff;font-size:.78rem;font-weight:650}.visitor-user-chip>span:last-child{display:grid;line-height:1}.visitor-user-chip strong{color:#fff;font-size:.72rem;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visitor-user-chip small{font-size:.58rem;color:#9cbccc;margin-top:.22rem}
.visitor-main{padding:clamp(1.25rem,3vw,2.5rem) 0 4rem}.visitor-alert{border:1px solid rgba(255,255,255,.65);box-shadow:var(--ibi-shadow-soft);border-radius:1rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.visitor-footer{padding:1.4rem 0 2.2rem;color:#476276}.visitor-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-top:1px solid rgba(255,255,255,.4)}.footer-logo{width:35px;height:35px;object-fit:contain;border-radius:10px;background:rgba(255,255,255,.72);padding:3px}.visitor-footer-inner>div:first-child div{display:grid}.visitor-footer-inner strong{font-size:.78rem}.visitor-footer-inner small{font-size:.65rem;color:#6d8292}.visitor-footer-links{display:flex;gap:1rem}.visitor-footer-links a{font-size:.72rem;color:#4c6a7d;text-decoration:none;font-weight:600}.visitor-footer-links a:hover{color:#0b668c}
.visitor-mobile-nav{position:fixed;z-index:1060;left:.7rem;right:.7rem;bottom:calc(.65rem + env(safe-area-inset-bottom));display:flex!important;gap:.15rem;padding:.35rem;border-radius:1.22rem;background:rgba(7,31,51,.88);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 55px rgba(4,26,43,.31),inset 0 1px 0 rgba(255,255,255,.11);-webkit-backdrop-filter:blur(27px) saturate(145%);backdrop-filter:blur(27px) saturate(145%)}.visitor-mobile-nav a{flex:1;display:grid;place-items:center;gap:.18rem;text-align:center;text-decoration:none;color:#94b4c5;font-size:.63rem;font-weight:600;padding:.5rem .25rem;border-radius:.9rem}.visitor-mobile-nav a .app-icon{width:18px;height:18px}.visitor-mobile-nav a.active{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.visitor-eyebrow{display:flex;align-items:center;gap:.45rem;color:#176e93;font-size:.69rem;text-transform:uppercase;letter-spacing:.105em;font-weight:650}.live-orb{width:8px;height:8px;border-radius:50%;background:#31a86d;box-shadow:0 0 0 5px rgba(49,168,109,.11)}

/* hero */
.agenda-hero{position:relative;overflow:hidden;border-radius:2rem;padding:clamp(1.2rem,3vw,2rem);background:linear-gradient(145deg,rgba(247,252,254,.72),rgba(222,239,247,.54));border:1px solid rgba(255,255,255,.76);box-shadow:0 32px 90px rgba(33,66,88,.20),inset 0 1px 0 rgba(255,255,255,.96);-webkit-backdrop-filter:blur(32px) saturate(145%);backdrop-filter:blur(32px) saturate(145%)}.agenda-hero::before{content:"";position:absolute;width:28rem;height:28rem;border-radius:50%;right:-11rem;top:-14rem;background:radial-gradient(circle,rgba(42,157,200,.24),transparent 68%)}.agenda-hero::after{content:"";position:absolute;width:25rem;height:25rem;border-radius:50%;left:32%;bottom:-20rem;background:radial-gradient(circle,rgba(229,189,67,.22),transparent 68%)}
.agenda-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(1.2rem,3vw,2.5rem);align-items:stretch}.agenda-hero-copy{padding:clamp(.5rem,2vw,1.4rem)}.agenda-hero-copy h1{font-size:clamp(2.5rem,5.4vw,5rem);max-width:830px;line-height:.93;letter-spacing:-.065em;font-weight:650;margin:.9rem 0 1.15rem;color:#08243a}.agenda-hero-copy h1 span{color:#13799f}.agenda-hero-copy>p{max-width:720px;font-size:clamp(.95rem,1.35vw,1.08rem);color:#587284;line-height:1.65}.agenda-hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.45rem}.btn-glass{color:#17384e;background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.76);box-shadow:inset 0 1px 0 rgba(255,255,255,.94),0 8px 22px rgba(30,69,94,.08)}.btn-glass:hover{color:#0a597a;background:rgba(255,255,255,.65);border-color:rgba(255,255,255,.9)}
.agenda-kpis{display:flex;gap:1rem;margin-top:2rem}.agenda-kpis>div{min-width:92px;padding:.65rem .8rem;border-left:1px solid rgba(21,76,106,.13)}.agenda-kpis strong{display:block;font-size:1.5rem;letter-spacing:-.045em;color:#10354e}.agenda-kpis span{display:block;font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;color:#718697;font-weight:600;margin-top:.08rem}
.next-event-glass{position:relative;min-height:390px;overflow:hidden;border-radius:1.65rem;background:linear-gradient(160deg,rgba(8,37,59,.96),rgba(12,59,87,.92));border:1px solid rgba(255,255,255,.15);box-shadow:0 24px 70px rgba(6,37,58,.25),inset 0 1px 0 rgba(255,255,255,.12);color:#fff;display:flex;flex-direction:column}.next-event-glass.has-cover .next-event-media{background-image:var(--spotlight-cover);background-size:cover;background-position:center}.next-event-media{height:45%;min-height:170px;position:relative;background:radial-gradient(circle at 30% 30%,rgba(67,181,218,.45),transparent 50%),linear-gradient(135deg,#103d5d,#071d32)}.next-event-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,18,31,.04),rgba(4,18,31,.62))}.next-event-badge{position:absolute;left:1rem;top:1rem;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .6rem;border-radius:999px;background:rgba(4,25,42,.57);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;font-weight:600;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.next-event-body{padding:1.2rem 1.25rem 1.25rem;display:flex;flex-direction:column;flex:1}.next-event-body h2{font-size:1.55rem;line-height:1.05;color:#fff;font-weight:650;letter-spacing:-.04em;margin:.55rem 0}.next-event-body p{font-size:.8rem;color:#b9d0dc;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.next-event-body .event-type-pill{align-self:flex-start;background:rgba(93,201,230,.15);color:#bceaf7;border-color:rgba(122,221,246,.15)}.next-event-meta{display:grid;gap:.25rem;margin:.25rem 0 .65rem}.next-event-meta span{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:#b5ceda}.next-event-meta .app-icon{width:14px}.next-event-body .btn{margin-top:auto}.empty-spotlight{align-items:center;justify-content:center;text-align:center;padding:2rem}.empty-spotlight h2{color:#fff}.empty-spotlight p{color:#b9d0dc}

/* tools */
.agenda-tools-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0 3rem}.agenda-tool{appearance:none;text-align:left;display:flex;align-items:center;gap:.75rem;padding:.85rem .9rem;border-radius:1.1rem;border:1px solid rgba(255,255,255,.66);background:linear-gradient(145deg,rgba(249,252,254,.67),rgba(228,240,247,.48));box-shadow:0 10px 30px rgba(34,68,89,.10),inset 0 1px 0 rgba(255,255,255,.92);color:#16364c;text-decoration:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:.16s}.agenda-tool:hover{transform:translateY(-2px);color:#0c688d;box-shadow:0 16px 35px rgba(34,68,89,.14),inset 0 1px 0 #fff}.agenda-tool>.app-icon{width:21px;height:21px;color:#1380a7}.agenda-tool>span{display:grid}.agenda-tool strong{font-size:.78rem;line-height:1.1}.agenda-tool small{font-size:.62rem;color:#718696;margin-top:.22rem}.agenda-tool.is-disabled{opacity:.64;cursor:default}.agenda-tool.is-disabled:hover{transform:none}

/* calendar */
.scroll-mt{scroll-margin-top:100px}.calendar-section,.upcoming-section{margin-top:3rem}.visitor-section-heading{align-items:flex-end;margin-bottom:1.2rem}.visitor-section-heading h2{font-size:clamp(1.65rem,3vw,2.35rem);font-weight:650;letter-spacing:-.045em;color:#0b263c;margin:.25rem 0}.visitor-section-heading p{color:#61798b;margin:0}.calendar-view-switch{display:flex;padding:.25rem;border-radius:.9rem;background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.68);box-shadow:inset 0 1px 0 #fff}.calendar-view-switch button{border:0;background:transparent;color:#678092;padding:.5rem .65rem;border-radius:.68rem;font-size:.7rem;font-weight:600;display:inline-flex;align-items:center;gap:.35rem}.calendar-view-switch button.active{background:#0c6f95;color:#fff;box-shadow:0 7px 16px rgba(16,111,150,.19)}
.calendar-filterbar{display:grid;grid-template-columns:minmax(240px,1fr) 220px auto;gap:.7rem;align-items:center;margin-bottom:.8rem}.calendar-search{position:relative;display:flex;align-items:center}.calendar-search>span{position:absolute;left:.85rem;color:#668093;z-index:1}.calendar-search input{width:100%;height:48px;border-radius:1rem;border:1px solid rgba(255,255,255,.72);background:rgba(249,252,254,.66);padding:0 2.6rem;color:#102c42;outline:0;box-shadow:0 8px 24px rgba(31,64,85,.08),inset 0 1px 0 #fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.calendar-search input:focus{border-color:rgba(20,128,169,.45);box-shadow:0 0 0 4px rgba(33,150,191,.10),0 8px 24px rgba(31,64,85,.08)}.calendar-search button{position:absolute;right:.55rem;width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:#73899a;font-size:1.2rem;opacity:0;pointer-events:none}.calendar-search button.visible{opacity:1;pointer-events:auto}.calendar-type-select{height:48px;background-color:rgba(249,252,254,.66);border-color:rgba(255,255,255,.72);box-shadow:0 8px 24px rgba(31,64,85,.08)}.filter-result{justify-self:end;color:#587286;font-size:.72rem;font-weight:600;padding:.45rem .65rem;border-radius:999px;background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.5)}
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1rem;align-items:stretch}.calendar-glass-card,.day-agenda-glass{border:1px solid rgba(255,255,255,.73);background:linear-gradient(145deg,rgba(250,253,254,.76),rgba(228,241,247,.57));box-shadow:0 25px 70px rgba(31,66,88,.16),inset 0 1px 0 rgba(255,255,255,.97);-webkit-backdrop-filter:blur(30px) saturate(135%);backdrop-filter:blur(30px) saturate(135%)}.calendar-glass-card{border-radius:1.5rem;overflow:hidden}.calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem;padding:1rem 1.1rem;border-bottom:1px solid rgba(21,68,95,.09)}.calendar-toolbar h3{font-size:1.15rem;font-weight:650;letter-spacing:-.025em;text-align:center;margin:0}.calendar-nav-group{display:flex;gap:.35rem}.calendar-icon-btn,.calendar-today-btn{height:36px;border:1px solid rgba(22,72,101,.11);background:rgba(255,255,255,.48);color:#31566d;border-radius:.75rem;font-size:.7rem;font-weight:600;display:grid;place-items:center}.calendar-icon-btn{width:36px}.calendar-today-btn{padding:0 .7rem}.calendar-icon-btn:hover,.calendar-today-btn:hover{background:#fff;color:#0c6f96}.rotate-icon .app-icon{transform:rotate(180deg)}.calendar-legend{justify-self:end;display:flex;gap:.7rem;color:#6f8494;font-size:.62rem;font-weight:600}.calendar-legend span{display:flex;align-items:center;gap:.28rem}.legend-dot{width:7px;height:7px;border-radius:50%}.legend-dot.event{background:#1885ac}.legend-dot.today{background:#dda921}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{padding:0 .7rem;background:rgba(235,244,248,.36);border-bottom:1px solid rgba(23,68,95,.08)}.calendar-weekdays span{text-align:center;padding:.6rem .2rem;font-size:.58rem;color:#758b9b;font-weight:650;letter-spacing:.08em}.calendar-grid{padding:.7rem;gap:.3rem}.cal-day{appearance:none;position:relative;min-width:0;height:112px;padding:.5rem;border-radius:.9rem;border:1px solid transparent;background:rgba(255,255,255,.23);color:#17364c;text-align:left;overflow:hidden;transition:.14s}.cal-day:hover{background:rgba(255,255,255,.68);border-color:rgba(255,255,255,.82);box-shadow:0 8px 20px rgba(33,66,87,.09);transform:translateY(-1px)}.cal-day.outside{opacity:.42}.cal-day.today{box-shadow:inset 0 0 0 1px rgba(218,166,31,.5);background:rgba(255,246,211,.48)}.cal-day.selected{background:linear-gradient(145deg,rgba(215,240,249,.92),rgba(241,249,252,.79));border-color:rgba(25,137,178,.37);box-shadow:0 8px 23px rgba(31,116,151,.12),inset 0 1px 0 #fff}.cal-day-number{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;font-size:.72rem;font-weight:600}.cal-day.today .cal-day-number{background:#d9a82b;color:#fff}.cal-day.selected:not(.today) .cal-day-number{background:#12799f;color:#fff}.cal-day-events{display:grid;gap:.22rem;margin-top:.25rem}.cal-event-pill{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:.43rem;padding:.24rem .35rem;background:rgba(20,127,166,.10);border-left:2px solid #1685ad;color:#125b78;font-size:.56rem;font-weight:600;cursor:pointer;outline:0}.cal-event-pill:hover,.cal-event-pill:focus{background:rgba(20,127,166,.18)}.cal-event-pill.featured{border-left-color:#d5a52b;background:rgba(227,190,68,.14);color:#745d16}.cal-event-more{font-size:.53rem;color:#6a8192;font-weight:600;padding-left:.3rem}
.day-agenda-glass{border-radius:1.5rem;overflow:hidden;display:flex;flex-direction:column;min-height:600px}.day-agenda-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem;border-bottom:1px solid rgba(24,71,98,.09);background:rgba(255,255,255,.22)}.day-agenda-head>div{display:grid}.day-agenda-head span:first-child{font-size:.61rem;text-transform:uppercase;letter-spacing:.085em;color:#728898;font-weight:600}.day-agenda-head strong{font-size:.9rem;margin-top:.12rem}.day-agenda-count{display:grid!important;place-items:center;width:32px;height:32px;border-radius:11px;background:#0f789f;color:#fff!important;font-size:.76rem!important;font-weight:650!important}.day-agenda-events{padding:.75rem;display:grid;gap:.65rem;overflow:auto;max-height:650px}.day-empty-state{min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem;color:#7a8f9f}.day-empty-state>.mini-ui-icon{width:42px;height:42px;border-radius:14px;margin-bottom:.75rem;background:#dceef5}.day-empty-state strong{font-size:.9rem;color:#27495f}.day-empty-state span:last-child{font-size:.7rem;margin-top:.2rem;max-width:210px}
.day-mini-event{overflow:hidden;border-radius:1rem;background:rgba(255,255,255,.56);border:1px solid rgba(255,255,255,.78);box-shadow:0 8px 23px rgba(32,64,83,.07);display:grid;grid-template-columns:88px minmax(0,1fr)}.day-mini-event.featured{box-shadow:0 8px 23px rgba(32,64,83,.07),inset 3px 0 0 #d6a82c}.day-mini-cover{display:grid;place-items:center;min-height:116px;background:linear-gradient(145deg,#d6eaf3,#b9dae7);overflow:hidden}.day-mini-cover img{width:100%;height:100%;object-fit:cover}.day-mini-cover.no-cover{color:#1781a7}.day-mini-body{padding:.65rem .7rem;min-width:0}.day-mini-top{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.day-mini-body .event-type-pill{font-size:.49rem;padding:.23rem .35rem}.day-mini-time{font-size:.56rem;color:#738999;font-weight:600}.day-mini-body h4{font-size:.86rem;line-height:1.1;margin:.45rem 0 .35rem}.day-mini-body h4 a{text-decoration:none;color:#14374d}.day-mini-location{display:flex;align-items:center;gap:.25rem;color:#718696;font-size:.61rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-mini-open{display:flex;align-items:center;gap:.2rem;margin-top:.5rem;font-size:.61rem;font-weight:600;text-decoration:none;color:#0d789f}.day-mini-open .mini-ui-icon{width:11px;height:11px}
.mini-ui-icon{display:inline-block;position:relative;width:16px;height:16px;flex:0 0 auto}.mini-ui-icon.icon-calendar::before{content:"";position:absolute;inset:3px 2px 2px;border:1.7px solid currentColor;border-radius:3px}.mini-ui-icon.icon-calendar::after{content:"";position:absolute;left:4px;right:4px;top:6px;border-top:1.7px solid currentColor}.mini-ui-icon.icon-pin::before{content:"";position:absolute;width:8px;height:10px;left:4px;top:2px;border:1.5px solid currentColor;border-radius:8px 8px 8px 2px;transform:rotate(45deg)}.mini-ui-icon.icon-arrow::before{content:"";position:absolute;width:7px;height:7px;border-right:1.6px solid currentColor;border-top:1.6px solid currentColor;transform:rotate(45deg);left:2px;top:4px}
.agenda-list-view{display:grid;gap:.4rem;border-radius:1.5rem;padding:1rem;background:linear-gradient(145deg,rgba(250,253,254,.72),rgba(228,241,247,.54));border:1px solid rgba(255,255,255,.7);box-shadow:var(--ibi-shadow-soft);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px)}.agenda-list-month{padding:.85rem .75rem .4rem;font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;font-weight:650;color:#5a788c}.agenda-list-row{display:grid;grid-template-columns:54px 1fr 35px;align-items:center;gap:.8rem;padding:.65rem .7rem;border-radius:.95rem;text-decoration:none;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.63);color:#17374d}.agenda-list-row:hover{background:rgba(255,255,255,.72);color:#0b678c;transform:translateX(2px)}.agenda-list-date{display:grid;place-items:center;min-height:52px;border-radius:.8rem;background:#dceef5}.agenda-list-date strong{font-size:1.12rem;line-height:1}.agenda-list-date small{font-size:.49rem;color:#668092;font-weight:600}.agenda-list-copy{display:grid;min-width:0}.agenda-list-copy small{font-size:.54rem;text-transform:uppercase;letter-spacing:.07em;color:#1680a6;font-weight:600}.agenda-list-copy strong{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-list-copy span{font-size:.62rem;color:#718696;margin-top:.15rem}.agenda-list-arrow{display:grid;place-items:center;color:#1780a5}

/* upcoming */
.upcoming-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.agenda-event-card{overflow:hidden;border-radius:1.4rem;background:linear-gradient(145deg,rgba(250,253,254,.73),rgba(228,240,247,.54));border:1px solid rgba(255,255,255,.73);box-shadow:0 16px 42px rgba(33,67,88,.12),inset 0 1px 0 rgba(255,255,255,.95);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);transition:.16s}.agenda-event-card:hover{transform:translateY(-3px);box-shadow:0 23px 52px rgba(33,67,88,.16),inset 0 1px 0 #fff}.agenda-event-cover{position:relative;display:block;height:180px;overflow:hidden;background:linear-gradient(145deg,#1a668a,#0a2a45)}.agenda-event-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.agenda-event-card:hover .agenda-event-cover>img:not(.logo-cover){transform:scale(1.035)}.agenda-event-cover.no-cover{display:grid;place-items:center;background:radial-gradient(circle at 40% 25%,rgba(76,187,221,.35),transparent 50%),linear-gradient(145deg,#164f70,#08263e)}.agenda-event-cover .logo-cover{width:85px;height:85px;object-fit:contain;border-radius:22px;padding:7px;background:rgba(255,255,255,.91)}.agenda-event-date{position:absolute;left:.8rem;bottom:.8rem;width:50px;height:58px;display:grid;place-items:center;align-content:center;border-radius:.85rem;background:rgba(248,252,254,.89);border:1px solid rgba(255,255,255,.83);box-shadow:0 9px 22px rgba(5,28,45,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.agenda-event-date strong{font-size:1.15rem;line-height:1}.agenda-event-date small{font-size:.5rem;font-weight:650;color:#1680a6}.agenda-featured{position:absolute;right:.75rem;top:.75rem;display:flex;align-items:center;gap:.25rem;padding:.35rem .45rem;border-radius:999px;background:rgba(7,31,50,.69);color:#ffe28d;font-size:.54rem;font-weight:600;border:1px solid rgba(255,255,255,.15);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.agenda-event-body{padding:1rem 1.05rem 1.05rem}.agenda-event-body h3{font-size:1.05rem;line-height:1.13;margin:.55rem 0}.agenda-event-body h3 a{color:#12354c;text-decoration:none}.agenda-event-info{display:grid;gap:.24rem}.agenda-event-info span{display:flex;align-items:center;gap:.35rem;color:#6e8495;font-size:.66rem}.agenda-event-info .app-icon{width:13px}.agenda-event-body p{color:#627a8b;font-size:.72rem;line-height:1.45;margin:.7rem 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.agenda-open-link{display:flex;align-items:center;justify-content:space-between;margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(25,70,97,.08);color:#0c789f;text-decoration:none;font-size:.68rem;font-weight:600}.public-empty{background:rgba(246,251,253,.62)}

/* event V8 */
.visitor-back-link{display:inline-flex;align-items:center;gap:.4rem;color:#375d73;text-decoration:none;font-size:.72rem;font-weight:600;margin:.2rem 0 .8rem}.visitor-back-link:hover{color:#0b7298}.event-v8-hero{position:relative;min-height:470px;border-radius:2rem;overflow:hidden;background:linear-gradient(145deg,#0b3553,#061c30);border:1px solid rgba(255,255,255,.18);box-shadow:0 32px 90px rgba(7,37,59,.28),inset 0 1px 0 rgba(255,255,255,.12)}.event-v8-visual{position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(54,177,215,.32),transparent 35%),linear-gradient(135deg,#0d496c,#071d31)}.event-v8-hero.has-cover .event-v8-visual{background-image:var(--event-cover);background-size:cover;background-position:center}.event-v8-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,19,32,.91) 0%,rgba(4,22,36,.66) 48%,rgba(4,22,36,.25) 100%),linear-gradient(0deg,rgba(3,19,32,.55),transparent 50%)}.event-v8-content{position:relative;z-index:2;min-height:470px;max-width:830px;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.5rem,5vw,3.7rem);color:#fff}.event-v8-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.8rem}.event-type-pill.light{background:rgba(119,220,246,.13);color:#cbf4ff;border-color:rgba(151,230,250,.18)}.featured-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.34rem .5rem;border-radius:999px;background:rgba(228,190,67,.15);border:1px solid rgba(255,224,124,.18);color:#ffe28a;font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.event-v8-content h1{font-size:clamp(2.6rem,6vw,5.3rem);font-weight:650;letter-spacing:-.065em;line-height:.91;color:#fff;margin:0}.event-v8-summary{max-width:750px;color:#c4d9e3;font-size:clamp(.9rem,1.3vw,1.06rem);line-height:1.55;margin:1rem 0}.event-v8-primary-meta{display:flex;flex-wrap:wrap;gap:.5rem}.event-v8-primary-meta span{display:flex;align-items:center;gap:.38rem;padding:.48rem .62rem;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);color:#d8e8ef;font-size:.68rem;font-weight:600;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.event-action-dock{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.55rem;margin:.75rem 0 1.4rem;padding:.55rem;border-radius:1.35rem;background:rgba(244,250,253,.64);border:1px solid rgba(255,255,255,.73);box-shadow:0 15px 42px rgba(31,65,86,.13),inset 0 1px 0 rgba(255,255,255,.95);-webkit-backdrop-filter:blur(25px);backdrop-filter:blur(25px)}.event-action{appearance:none;border:0;background:rgba(255,255,255,.31);display:flex;align-items:center;gap:.55rem;padding:.65rem .7rem;border-radius:.9rem;color:#1b445d;text-decoration:none;text-align:left;min-width:0}.event-action:hover{background:rgba(255,255,255,.67);color:#0c7298}.event-action>.app-icon{width:19px;color:#1782a8}.event-action>span{display:grid;min-width:0}.event-action strong{font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-action small{font-size:.54rem;color:#7890a0;margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-v8-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.65fr);gap:1rem}.event-v8-main{display:grid;gap:1rem}.public-glass-section,.my-event-status-card,.member-gate-card,.roster-privacy-panel{border-radius:1.4rem;background:linear-gradient(145deg,rgba(250,253,254,.72),rgba(229,241,247,.54));border:1px solid rgba(255,255,255,.73);box-shadow:0 17px 45px rgba(31,65,86,.12),inset 0 1px 0 rgba(255,255,255,.94);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.public-glass-section{padding:1.3rem 1.4rem}.section-mini-title{display:flex;align-items:center;gap:.65rem;margin-bottom:.9rem}.section-mini-title>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#dceff6;color:#167da2}.section-mini-title>span .app-icon{width:18px}.section-mini-title>div{display:grid}.section-mini-title small{font-size:.55rem;color:#738a9a;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.section-mini-title h2{font-size:1rem;font-weight:650;margin:.08rem 0 0}.event-public-description{font-size:.88rem;line-height:1.7;color:#506d80}.event-logistics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.event-logistics-grid>div{padding:.75rem .8rem;border-radius:.9rem;background:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.6);display:grid}.event-logistics-grid>div.wide{grid-column:span 2}.event-logistics-grid small{font-size:.53rem;text-transform:uppercase;letter-spacing:.07em;color:#738999;font-weight:600}.event-logistics-grid strong{font-size:.73rem;color:#244a61;margin-top:.18rem;line-height:1.35}
.my-event-status-card,.member-gate-card{padding:1.2rem;position:sticky;top:92px}.ride-state-pill{display:inline-flex;padding:.43rem .58rem;border-radius:999px;font-size:.64rem;font-weight:600}.ride-state-pill.success{background:#dff3e6;color:#217548}.ride-state-pill.warning{background:#fff0c7;color:#795a04}.ride-state-pill.danger{background:#f8dadd;color:#a43240}.ride-state-pill.secondary{background:#e3ebf0;color:#617688}.my-driver-summary{display:grid;margin-top:1rem;padding:.9rem;border-radius:1rem;background:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.65)}.my-driver-summary small{font-size:.57rem;color:#718798;text-transform:uppercase;letter-spacing:.07em;font-weight:600}.my-driver-summary strong{font-size:1.05rem;margin-top:.1rem}.my-driver-summary span{font-size:.68rem;color:#657d8f;margin-top:.1rem}.my-driver-summary a{display:flex;align-items:center;gap:.3rem;margin-top:.7rem;font-size:.65rem;text-decoration:none;font-weight:600}.member-gate-card{text-align:center}.member-gate-icon{width:56px;height:56px;margin:0 auto .8rem;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#dceff7,#c5e4ef);color:#16799f}.member-gate-card>small{font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;color:#758b9b;font-weight:600}.member-gate-card h2{font-size:1.2rem;font-weight:650;margin:.2rem 0}.member-gate-card p{font-size:.73rem;color:#61798b;line-height:1.5}
.rides-public-section{margin-top:3rem}.roster-privacy-panel{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.3rem}.privacy-orb{width:52px;height:52px;flex:0 0 52px;border-radius:17px;display:grid;place-items:center;background:#dceff6;color:#167aa0}.roster-privacy-panel strong{display:block;font-size:.9rem}.roster-privacy-panel p{font-size:.72rem;color:#617a8c;margin:.2rem 0 0;line-height:1.5;max-width:800px}.v8-rides{margin-top:1rem}

@media(max-width:1199.98px){.agenda-hero-grid{grid-template-columns:minmax(0,1fr) 340px}.agenda-hero-copy h1{font-size:4rem}.calendar-layout{grid-template-columns:minmax(0,1fr) 300px}.event-action-dock{grid-template-columns:repeat(3,minmax(0,1fr))}.upcoming-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){.visitor-body{padding-bottom:76px}.agenda-hero-grid{grid-template-columns:1fr}.next-event-glass{min-height:370px;display:grid;grid-template-columns:45% 55%}.next-event-media{height:100%}.agenda-tools-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-layout{grid-template-columns:1fr}.day-agenda-glass{min-height:0}.day-agenda-events{max-height:none}.calendar-legend{display:none}.event-v8-layout{grid-template-columns:1fr}.my-event-status-card,.member-gate-card{position:static}.event-v8-hero,.event-v8-content{min-height:420px}.event-logistics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.visitor-main{padding-top:1rem}.visitor-navbar{padding:.5rem 0}.visitor-brand-logo{width:39px;height:39px;border-radius:12px}.visitor-brand strong{font-size:.83rem}.visitor-login-btn{min-height:36px;padding:.4rem .65rem}.agenda-hero{border-radius:1.45rem;padding:1rem}.agenda-hero-copy{padding:.55rem}.agenda-hero-copy h1{font-size:clamp(2.4rem,12vw,3.4rem)}.agenda-hero-copy>p{font-size:.86rem}.agenda-kpis{margin-top:1.4rem;gap:.25rem}.agenda-kpis>div{min-width:0;flex:1;padding:.55rem}.next-event-glass{display:flex;min-height:390px;border-radius:1.25rem}.next-event-media{height:180px}.agenda-tools-strip{margin: .75rem 0 2rem;gap:.5rem}.agenda-tool{padding:.72rem}.agenda-tool small{display:none}.calendar-section,.upcoming-section{margin-top:2.3rem}.visitor-section-heading{align-items:flex-start}.calendar-view-switch{width:100%;margin-top:.4rem}.calendar-view-switch button{flex:1;justify-content:center}.calendar-filterbar{grid-template-columns:1fr}.filter-result{justify-self:start}.calendar-toolbar{grid-template-columns:1fr auto;grid-template-areas:"title nav"}.calendar-toolbar h3{grid-area:title;text-align:left;font-size:1rem}.calendar-nav-group{grid-area:nav}.calendar-today-btn{display:none}.calendar-weekdays{padding:0 .25rem}.calendar-grid{padding:.3rem;gap:.12rem}.cal-day{height:82px;border-radius:.65rem;padding:.28rem}.cal-day-number{width:23px;height:23px;font-size:.64rem}.cal-event-pill{font-size:.47rem;padding:.18rem .24rem;border-left-width:2px}.cal-day-events{gap:.12rem}.day-agenda-glass{border-radius:1.2rem}.upcoming-event-grid{grid-template-columns:1fr}.agenda-event-cover{height:190px}.visitor-footer{padding-bottom:6rem}.visitor-footer-inner{align-items:flex-start;flex-direction:column}.visitor-footer-links{flex-wrap:wrap}.event-v8-hero{min-height:390px;border-radius:1.45rem}.event-v8-content{min-height:390px;padding:1.3rem}.event-v8-content h1{font-size:clamp(2.45rem,13vw,3.7rem)}.event-v8-overlay{background:linear-gradient(0deg,rgba(3,19,32,.93) 0%,rgba(3,19,32,.50) 62%,rgba(3,19,32,.25) 100%)}.event-v8-primary-meta{gap:.35rem}.event-v8-primary-meta span{font-size:.59rem}.event-action-dock{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:1.1rem}.event-action{padding:.55rem}.event-logistics-grid{grid-template-columns:1fr 1fr}.event-logistics-grid>div.wide{grid-column:span 2}.public-glass-section{padding:1.05rem}.roster-privacy-panel{align-items:flex-start}.event-public-page .ride-grid{grid-template-columns:1fr}}
@media(max-width:430px){.agenda-tools-strip{grid-template-columns:1fr 1fr}.agenda-tool{gap:.5rem}.agenda-tool strong{font-size:.7rem}.next-event-body{padding:1rem}.event-action-dock{grid-template-columns:1fr 1fr}.event-action small{display:none}.event-logistics-grid{grid-template-columns:1fr}.event-logistics-grid>div.wide{grid-column:span 1}.calendar-weekdays span{font-size:.5rem}.cal-day{height:72px}.cal-event-pill:nth-child(n+2){display:none}.cal-event-more{font-size:.47rem}}
#calendarView[hidden],#agendaListView[hidden]{display:none!important}


/* ==========================================================
   HOTFIX V8.2 — TIPOGRAFIA PROFESSIONAL / APTOS NARROW
   Escopo: somente tipografia. Não altera layout, banco ou lógica.
   ========================================================== */
:root{
  --ibi-font-body:"Aptos","Segoe UI Variable Text","Segoe UI",Roboto,Arial,sans-serif;
  --ibi-font-display:"Aptos Narrow","Aptos Display","Arial Narrow","Segoe UI Variable Display","Segoe UI",Arial,sans-serif;
}
html,body,
.form-control,.form-select,.form-label,.form-text,.input-group-text,
.table,.alert,.badge,.btn,.dropdown-menu,.offcanvas,.modal,.list-group-item{
  font-family:var(--ibi-font-body)!important;
}
body{
  font-weight:400;
  letter-spacing:.001em;
  font-synthesis-weight:none;
  font-optical-sizing:auto;
}
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6,
.page-title,.navbar-brand,.brand-lockup,
.admin-menu .list-group-item,
.visitor-brand,.visitor-section-heading,
.agenda-hero-copy h1,.event-v8-content h1,
.public-hero h1,.event-detail-content h1,
.event-public-body h3,.ride-card-top h3,
.section-mini-title h2,.member-gate-card h2,
.agenda-event-body h3{
  font-family:var(--ibi-font-display)!important;
  font-stretch:condensed;
}
h1,.h1,.page-title,
.agenda-hero-copy h1,.event-v8-content h1,
.public-hero h1,.event-detail-content h1{
  font-weight:650!important;
  letter-spacing:-.028em!important;
}
h2,h3,h4,h5,h6,.h2,.h3,.h4,.h5,.h6,
.event-public-body h3,.ride-card-top h3,
.section-mini-title h2,.member-gate-card h2,
.agenda-event-body h3{
  font-weight:600!important;
  letter-spacing:-.012em!important;
}
strong,b{font-weight:600!important}
.btn,.form-label,.badge,.admin-menu .list-group-item,
.eyebrow-dark,.kpi .label,.table-modern thead th,
.event-live-dot,.ride-kicker,.mine-pill,.passenger-list-title,
.info-label,.your-ride-kicker,.featured-pill,
.section-mini-title small,.event-logistics-grid small{
  font-weight:600!important;
}
.kpi .num,.mini-stats span,.glass-stat strong,
.profile-orb,.success-check{
  font-weight:650!important;
}
.btn{
  letter-spacing:.005em!important;
}
.admin-menu .list-group-item{
  letter-spacing:.005em;
}
.table-modern thead th,
.eyebrow-dark,.kpi .label,.ride-kicker,.passenger-list-title,
.info-label,.section-mini-title small,.event-logistics-grid small{
  letter-spacing:.055em!important;
}
/* Evita títulos exageradamente comprimidos no mobile. */
@media(max-width:767.98px){
  h1,.h1,.page-title,.agenda-hero-copy h1,.event-v8-content h1,
  .public-hero h1,.event-detail-content h1{letter-spacing:-.02em!important}
}

/* V10 — cadastro único, seleção em massa e motorista por evento */
.check-col{width:46px;text-align:center}.table-modern .form-check-input{width:1.08rem;height:1.08rem;cursor:pointer}.role-chip,.version-pill{font-family:var(--ibi-font-display,"Aptos Narrow",Aptos,Arial,sans-serif)}.credential-card{border:1px solid rgba(15,67,104,.12);border-radius:16px;background:rgba(255,255,255,.58)}

/* =========================================================
   V10 • APP MODE / PWA INSTALADO
   O portal mantém navegação web no navegador. Quando instalado como
   aplicativo, a barra superior e o rodapé somem e a navegação inferior
   passa a ser o shell principal do app.
   ========================================================= */
@media (display-mode: standalone) {
  .visitor-body .visitor-navbar,
  .visitor-body .visitor-footer { display:none!important; }
  .visitor-body .visitor-main { padding-top:max(18px,env(safe-area-inset-top))!important; padding-bottom:calc(96px + env(safe-area-inset-bottom))!important; min-height:100dvh; }
  .visitor-body .visitor-mobile-nav { display:flex!important; left:50%!important; right:auto!important; transform:translateX(-50%); width:min(calc(100% - 20px),680px); bottom:max(10px,env(safe-area-inset-bottom)); border-radius:24px; box-shadow:0 18px 55px rgba(4,24,44,.24); }
  .visitor-body { min-height:100dvh; overscroll-behavior-y:none; }
}
.visitor-body.is-standalone .visitor-navbar,
.visitor-body.is-standalone .visitor-footer { display:none!important; }
.visitor-body.is-standalone .visitor-main { padding-top:max(18px,env(safe-area-inset-top))!important; padding-bottom:calc(96px + env(safe-area-inset-bottom))!important; min-height:100dvh; }
.visitor-body.is-standalone .visitor-mobile-nav { display:flex!important; left:50%!important; right:auto!important; transform:translateX(-50%); width:min(calc(100% - 20px),680px); bottom:max(10px,env(safe-area-inset-bottom)); border-radius:24px; box-shadow:0 18px 55px rgba(4,24,44,.24); }
.visitor-body.is-standalone { min-height:100dvh; overscroll-behavior-y:none; }

/* V10 • Escala de motorista por evento */
.event-driver-card{position:relative;overflow:hidden}.event-driver-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,rgba(31,111,235,.75),rgba(77,190,190,.65));opacity:.85}.event-driver-card.full:before{background:linear-gradient(90deg,#d54b4b,#ea7d56)}.event-driver-card .ride-capacity small{font-size:.72rem}.event-driver-card .form-control-sm{min-height:36px}.your-driver-glass.is-driver{border-color:rgba(35,120,190,.34);box-shadow:0 12px 34px rgba(18,75,121,.12)}


/* V10 • ADMIN NO PWA: interface de aplicativo, sem barra web superior */
.admin-app-nav{display:none}
@media (display-mode: standalone){
  .admin-body .admin-topbar{display:none!important}
  .admin-body .container-fluid.px-lg-4.py-4,.admin-body .container-fluid.px-lg-4.py-xl-5{padding-top:max(18px,env(safe-area-inset-top))!important;padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
  .admin-body aside{display:none!important}
  .admin-body section.col-lg-9,.admin-body section.col-xl-10{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
  .admin-body .admin-app-nav{display:flex!important}
}
.admin-body.is-standalone .admin-topbar{display:none!important}
.admin-body.is-standalone aside{display:none!important}
.admin-body.is-standalone section.col-lg-9,.admin-body.is-standalone section.col-xl-10{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
.admin-body.is-standalone .container-fluid.px-lg-4.py-4,.admin-body.is-standalone .container-fluid.px-lg-4.py-xl-5{padding-top:max(18px,env(safe-area-inset-top))!important;padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
.admin-body.is-standalone .admin-app-nav{display:flex!important}
.admin-app-nav{position:fixed;z-index:1080;left:50%;transform:translateX(-50%);bottom:max(10px,env(safe-area-inset-bottom));width:min(calc(100% - 20px),720px);min-height:68px;padding:7px 9px;border:1px solid rgba(255,255,255,.55);border-radius:24px;background:rgba(236,246,251,.84);-webkit-backdrop-filter:blur(24px) saturate(165%);backdrop-filter:blur(24px) saturate(165%);box-shadow:0 18px 55px rgba(4,24,44,.22);align-items:center;justify-content:space-around;gap:4px}
.admin-app-nav a,.admin-app-nav button{border:0;background:transparent;color:#577083;text-decoration:none;min-width:54px;min-height:52px;padding:5px 8px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:600 .67rem var(--ibi-font-body);transition:.18s ease}
.admin-app-nav a:hover,.admin-app-nav button:hover,.admin-app-nav a:focus-visible,.admin-app-nav button:focus-visible{background:rgba(17,103,155,.10);color:#0d658e;outline:none}
.admin-app-nav svg{width:20px;height:20px}

/* =========================================================
   V10.1 • NAVEGAÇÃO RESPONSIVA / APP SHELL COMPACTO
   - navegador desktop: sem dock inferior
   - navegador mobile: dock compacto
   - PWA instalado: sem topbar web e dock compacto estilo app
   ========================================================= */
.visitor-mobile-nav{display:none!important}

@media (max-width:767.98px){
  .visitor-body:not(.is-standalone) .visitor-mobile-nav{
    display:flex!important;
    left:50%!important;right:auto!important;transform:translateX(-50%);
    width:min(calc(100% - 16px),430px);
    min-height:56px;
    bottom:calc(8px + env(safe-area-inset-bottom));
    padding:4px;
    gap:2px;
    border-radius:18px;
  }
  .visitor-body:not(.is-standalone) .visitor-mobile-nav a{
    min-height:46px;
    padding:4px 6px;
    border-radius:14px;
    font-size:.6rem;
    gap:1px;
  }
  .visitor-body:not(.is-standalone) .visitor-mobile-nav a .app-icon{width:17px;height:17px}
  .visitor-body:not(.is-standalone) .visitor-main{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
}

@media (display-mode:standalone){
  .visitor-body .visitor-navbar,.visitor-body .visitor-footer{display:none!important}
  .visitor-body .visitor-mobile-nav{
    display:flex!important;
    left:50%!important;right:auto!important;transform:translateX(-50%);
    width:min(calc(100% - 16px),440px)!important;
    min-height:58px!important;
    bottom:max(8px,env(safe-area-inset-bottom))!important;
    padding:4px!important;
    gap:2px!important;
    border-radius:18px!important;
  }
  .visitor-body .visitor-mobile-nav a{min-height:48px;padding:4px 6px;border-radius:14px;font-size:.6rem;gap:1px}
  .visitor-body .visitor-mobile-nav a .app-icon{width:18px;height:18px}
  .visitor-body .visitor-main{padding-top:max(14px,env(safe-area-inset-top))!important;padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}
}
.visitor-body.is-standalone .visitor-navbar,.visitor-body.is-standalone .visitor-footer{display:none!important}
.visitor-body.is-standalone .visitor-mobile-nav{
  display:flex!important;
  left:50%!important;right:auto!important;transform:translateX(-50%);
  width:min(calc(100% - 16px),440px)!important;
  min-height:58px!important;
  bottom:max(8px,env(safe-area-inset-bottom))!important;
  padding:4px!important;
  gap:2px!important;
  border-radius:18px!important;
}
.visitor-body.is-standalone .visitor-mobile-nav a{min-height:48px;padding:4px 6px;border-radius:14px;font-size:.6rem;gap:1px}
.visitor-body.is-standalone .visitor-mobile-nav a .app-icon{width:18px;height:18px}
.visitor-body.is-standalone .visitor-main{padding-top:max(14px,env(safe-area-inset-top))!important;padding-bottom:calc(78px + env(safe-area-inset-bottom))!important}

@media (display-mode:standalone){
  .admin-body .admin-app-nav{width:min(calc(100% - 16px),520px)!important;min-height:60px!important;padding:4px 6px!important;border-radius:19px!important;bottom:max(8px,env(safe-area-inset-bottom))!important}
  .admin-body .admin-app-nav a,.admin-body .admin-app-nav button{min-height:48px!important;min-width:48px!important;padding:4px 6px!important;border-radius:14px!important;font-size:.62rem!important;gap:1px!important}
  .admin-body .admin-app-nav svg{width:18px!important;height:18px!important}
  .admin-body .container-fluid.px-lg-4.py-4,.admin-body .container-fluid.px-lg-4.py-xl-5{padding-bottom:calc(80px + env(safe-area-inset-bottom))!important}
}
.admin-body.is-standalone .admin-app-nav{width:min(calc(100% - 16px),520px)!important;min-height:60px!important;padding:4px 6px!important;border-radius:19px!important;bottom:max(8px,env(safe-area-inset-bottom))!important}
.admin-body.is-standalone .admin-app-nav a,.admin-body.is-standalone .admin-app-nav button{min-height:48px!important;min-width:48px!important;padding:4px 6px!important;border-radius:14px!important;font-size:.62rem!important;gap:1px!important}
.admin-body.is-standalone .admin-app-nav svg{width:18px!important;height:18px!important}


/* =========================================================
   V11.3 • MODAL DE CONFIRMAÇÃO INTERNA
   Substitui confirm() do navegador por uma confirmação glass,
   acessível e coerente com a identidade do produto.
   ========================================================= */
.app-confirm-modal{--bs-modal-width:540px}
.app-confirm-modal .modal-dialog{padding:12px}
.app-confirm-modal .app-confirm-glass{
  border:1px solid rgba(255,255,255,.72);
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 8%,rgba(79,185,220,.13),transparent 34%),
    linear-gradient(145deg,rgba(248,252,255,.96),rgba(232,244,250,.92));
  -webkit-backdrop-filter:blur(28px) saturate(170%);
  backdrop-filter:blur(28px) saturate(170%);
  box-shadow:0 30px 90px rgba(4,31,52,.28),inset 0 1px 0 rgba(255,255,255,.9);
}
.app-confirm-modal.is-danger .app-confirm-glass{
  background:
    radial-gradient(circle at 94% 7%,rgba(216,65,79,.12),transparent 36%),
    linear-gradient(145deg,rgba(255,252,252,.97),rgba(245,239,241,.94));
}
.app-confirm-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.app-confirm-icon{width:52px;height:52px;flex:0 0 52px;border-radius:18px;display:grid;place-items:center;color:#a66a12;background:linear-gradient(145deg,#fff8df,#f7e9ae);border:1px solid rgba(180,126,24,.18);box-shadow:0 10px 28px rgba(112,79,18,.12)}
.app-confirm-modal.is-danger .app-confirm-icon{color:#b52c3a;background:linear-gradient(145deg,#fff1f3,#f9dce1);border-color:rgba(181,44,58,.15);box-shadow:0 10px 28px rgba(146,28,41,.11)}
.app-confirm-icon svg{width:25px;height:25px}
.app-confirm-eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;font-weight:600;color:#71879a;margin-bottom:3px}
.app-confirm-title{font-size:1.36rem!important;line-height:1.15;margin:0;color:#102a3d;font-weight:650!important;letter-spacing:-.02em!important}
.app-confirm-message{font-size:1rem;line-height:1.6;color:#425f73;margin:0 0 18px}
.app-confirm-context{padding:13px 15px;margin:0 0 20px;border:1px solid rgba(24,92,128,.12);border-radius:16px;background:rgba(255,255,255,.54);color:#234b65;font-size:.9rem;line-height:1.45}
.app-confirm-modal.is-danger .app-confirm-context{border-color:rgba(180,45,59,.12);color:#74303a;background:rgba(255,255,255,.58)}
.app-confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.app-confirm-actions .btn{min-height:44px;border-radius:14px;padding-inline:20px;font-weight:600!important}
.app-confirm-cancel{background:rgba(255,255,255,.72);border:1px solid rgba(23,71,101,.13);color:#38566b}
.app-confirm-cancel:hover{background:#fff;color:#173b53}
.app-confirm-submit{min-width:132px;box-shadow:0 10px 24px rgba(194,44,57,.16)}
.app-confirm-modal .modal-backdrop.show{opacity:.38}
@media(max-width:575.98px){
  .app-confirm-modal .modal-dialog{padding:6px;margin:.5rem}
  .app-confirm-modal .app-confirm-glass{border-radius:22px}
  .app-confirm-modal .modal-body{padding:24px!important}
  .app-confirm-head{align-items:flex-start;gap:13px}
  .app-confirm-icon{width:46px;height:46px;flex-basis:46px;border-radius:15px}
  .app-confirm-title{font-size:1.2rem!important}
  .app-confirm-actions{display:grid;grid-template-columns:1fr 1fr}
  .app-confirm-actions .btn{width:100%;padding-inline:12px}
}

/* V11.6 — relatórios, compartilhamento e feedback de lista */
.report-style-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.report-style-option{display:flex;gap:.8rem;align-items:flex-start;padding:1rem;border:1px solid rgba(74,111,136,.18);border-radius:20px;background:rgba(255,255,255,.58);color:var(--app-text,#17344a);text-decoration:none;transition:.18s ease}.report-style-option:hover{transform:translateY(-2px);background:rgba(255,255,255,.82);border-color:rgba(20,142,181,.34);box-shadow:0 14px 28px rgba(31,71,95,.08)}.report-style-option strong,.report-style-option small{display:block}.report-style-option small{margin-top:.2rem;color:#6b8292;line-height:1.35}.report-style-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:rgba(20,145,184,.12);color:#1288b0}.share-panel{padding:1rem;border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(231,242,247,.62));border:1px solid rgba(73,113,140,.16)}.empty-state-inline{display:flex;flex-direction:column;align-items:center;gap:.45rem;color:#668092}.empty-state-inline .app-icon{width:34px;height:34px;color:#168db5}.empty-state-inline strong{color:#17344a}.report-mini-stats{display:flex;flex-wrap:wrap;gap:.55rem}.report-mini-stats span{padding:.45rem .65rem;border-radius:999px;background:rgba(255,255,255,.64);border:1px solid rgba(80,120,145,.14);font-size:.82rem;color:#60798a}.report-summary-badge{min-width:84px;height:84px;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#158eb7,#2aa3c7);color:white;box-shadow:0 14px 28px rgba(24,135,177,.18)}.report-summary-badge.compact{min-width:72px;height:72px;border-radius:20px}.report-summary-badge strong{font-size:1.7rem;line-height:1}.report-summary-badge span{font-size:.72rem;margin-top:.25rem;opacity:.88}.report-preview-shell{padding:clamp(.6rem,2vw,1.5rem);border-radius:28px;background:rgba(222,235,242,.62);border:1px solid rgba(73,112,138,.16)}
.event-report{max-width:1120px;margin:0 auto;padding:clamp(1.1rem,3vw,2.4rem);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(235,244,248,.78));border:1px solid rgba(75,113,138,.18);box-shadow:0 24px 60px rgba(43,77,96,.12);color:#17344a}.report-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(77,116,141,.15)}.report-kicker{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4a839d}.report-hero h1{font-family:"Aptos Narrow","Aptos Display","Aptos",Arial,sans-serif;font-size:clamp(2rem,4vw,3.35rem);font-weight:650;letter-spacing:-.035em;margin:.28rem 0 .65rem}.report-meta{display:flex;flex-wrap:wrap;gap:.55rem 1rem;color:#647e8f}.report-meta span{display:inline-flex;align-items:center;gap:.38rem}.report-meta .app-icon{width:17px;height:17px}.report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1.2rem 0}.report-kpis>div{padding:1rem;border-radius:18px;background:rgba(255,255,255,.68);border:1px solid rgba(74,113,139,.13)}.report-kpis span,.report-kpis strong{display:block}.report-kpis span{font-size:.74rem;color:#6a8292;text-transform:uppercase;letter-spacing:.04em;font-weight:650}.report-kpis strong{font-size:1.5rem;margin-top:.18rem}.report-rides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.report-ride{padding:1.15rem;border-radius:24px;background:rgba(255,255,255,.78);border:1px solid rgba(75,114,139,.16);box-shadow:0 12px 30px rgba(43,77,96,.06)}.report-ride-head{display:flex;gap:.85rem;align-items:flex-start}.report-car-number{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;flex:0 0 auto;background:#178fb7;color:#fff;font-weight:750;font-size:1.05rem}.report-driver-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#6b8292}.report-ride h2{font-family:"Aptos Narrow","Aptos",Arial,sans-serif;font-size:1.35rem;font-weight:650;margin:.05rem 0}.report-vehicle{font-size:.86rem;color:#698191}.report-capacity{text-align:right;min-width:58px}.report-capacity strong,.report-capacity span{display:block}.report-capacity strong{font-size:1.15rem}.report-capacity span{font-size:.68rem;color:#758b99}.report-passengers{margin:1rem 0 0;padding-left:1.4rem}.report-passengers li{padding:.35rem .1rem;border-bottom:1px solid rgba(76,114,140,.08)}.report-passengers li.empty{list-style:none;margin-left:-1.15rem;color:#8a9aa5}.report-passenger-inline{margin-top:1rem;padding:.8rem;border-radius:14px;background:rgba(229,240,246,.58);line-height:1.55}.report-ride-footer{display:flex;justify-content:flex-end;margin-top:.75rem;font-size:.75rem;color:#59778a;font-weight:650}.report-pending-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem}.report-pending-grid section{padding:1rem;border-radius:20px;background:rgba(255,250,235,.7);border:1px solid rgba(194,154,59,.18)}.report-pending-grid h3{font-size:1rem}.report-pending-grid ul{margin:0;padding-left:1.2rem}.report-public-note{margin-top:1rem;padding:.85rem 1rem;border-radius:16px;background:rgba(250,240,202,.68);color:#6d5b20}.report-footer{margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(75,114,139,.13);font-size:.75rem;color:#718695}.report-style-compact .report-rides{grid-template-columns:1fr}.report-style-compact .report-ride{padding:.95rem}.report-style-manifest .report-rides{grid-template-columns:1fr}.report-style-manifest .report-ride{border-radius:16px}.manifest-list{columns:2;column-gap:2rem}.report-empty{text-align:center;padding:2rem;color:#768b98}.share-report-page{min-height:100vh;background:radial-gradient(circle at 12% 8%,rgba(79,171,204,.18),transparent 30%),radial-gradient(circle at 88% 10%,rgba(201,188,122,.16),transparent 28%),linear-gradient(145deg,#d7e8f1,#edf3f4 56%,#dce8e4);padding:clamp(.75rem,2vw,1.5rem)}.share-report-wrap{max-width:1180px;margin:0 auto}.share-report-topbar{position:sticky;top:.65rem;z-index:20;display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:.7rem .85rem;border-radius:22px;background:rgba(33,59,76,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 16px 36px rgba(34,60,76,.16)}.share-report-topbar .brand-lockup{color:#fff}.share-style-switch{display:flex;justify-content:center;gap:.45rem;margin:0 auto 1rem}.share-style-switch a{padding:.52rem .8rem;border-radius:999px;text-decoration:none;color:#466779;background:rgba(255,255,255,.55);border:1px solid rgba(70,104,125,.14);font-size:.84rem;font-weight:600}.share-style-switch a.active{background:#178fb7;color:white}.share-privacy-note{max-width:900px;margin:1rem auto 0;display:flex;gap:.55rem;align-items:center;justify-content:center;color:#607989;font-size:.78rem}.share-privacy-note .app-icon{width:16px;height:16px}.report-toolbar{position:sticky;top:84px;z-index:10}.event-report.report-style-manifest .report-passengers li{break-inside:avoid}.event-report .manifest-list{padding-left:1.6rem}
@media(max-width:991.98px){.report-style-picker{grid-template-columns:1fr}.report-rides{grid-template-columns:1fr}.report-toolbar{position:static}.share-report-topbar{position:relative;top:0}.report-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575.98px){.report-hero{flex-direction:column}.report-summary-badge{width:100%;height:auto;min-height:70px;flex-direction:row;gap:.5rem}.report-kpis{grid-template-columns:1fr 1fr}.report-pending-grid{grid-template-columns:1fr}.manifest-list{columns:1}.share-report-topbar{align-items:flex-start;flex-direction:column}.share-report-topbar>.d-flex{width:100%}.share-report-topbar .btn{flex:1}.event-report{border-radius:22px;padding:1rem}.report-meta{flex-direction:column;gap:.35rem}.report-style-switch{overflow:auto;justify-content:flex-start;padding-bottom:.2rem}}
@media print{.admin-topbar,.sidebar-sticky,#adminNav,.report-toolbar,.share-report-topbar,.share-style-switch,.share-privacy-note{display:none!important}.admin-body,.share-report-page{background:#fff!important}.container-fluid,.row,.col-lg-9,.col-xl-10{display:block!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important}.report-preview-shell{padding:0;border:0;background:#fff}.event-report{box-shadow:none;border:0;max-width:none;padding:0;background:#fff}.report-ride{break-inside:avoid;box-shadow:none}.report-rides{display:block}.report-ride{margin-bottom:12px}.report-pending-grid{break-inside:avoid}}

/* V11.7 — localização por link ou mapa selecionável */
.location-picker-card{border:1px solid rgba(34,95,127,.16);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(238,247,251,.52));box-shadow:0 18px 45px rgba(40,82,106,.10);padding:1.15rem;overflow:hidden}
.location-status-pill{display:inline-flex;align-items:center;min-height:32px;padding:.35rem .7rem;border-radius:999px;border:1px solid rgba(65,108,132,.16);background:rgba(255,255,255,.66);color:#6c8190;font-size:.78rem;font-weight:600;white-space:nowrap}.location-status-pill.is-set{color:#087aa3;background:rgba(212,244,252,.8);border-color:rgba(24,145,184,.2)}
.location-map-shell{position:relative;border-radius:22px;overflow:hidden;border:1px solid rgba(37,91,120,.18);background:#dce8ee;box-shadow:inset 0 1px 0 rgba(255,255,255,.8);isolation:isolate}
.location-map{position:relative;width:100%;height:360px;overflow:hidden;touch-action:none;cursor:crosshair;background:linear-gradient(145deg,#d9e8ef,#edf4f6);user-select:none}.location-map.is-dragging{cursor:grabbing}.slippy-tile-layer{position:absolute;inset:0;overflow:hidden}.slippy-tile-layer img{position:absolute;width:256px;height:256px;max-width:none;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:saturate(.82) contrast(.96) brightness(1.04)}
.slippy-pin{position:absolute;width:34px;height:44px;transform:translate(-50%,-100%);z-index:4;filter:drop-shadow(0 8px 10px rgba(15,60,85,.28));pointer-events:none}.slippy-pin:before{content:"";position:absolute;width:30px;height:30px;left:2px;top:2px;border-radius:50% 50% 50% 0;background:#1596be;transform:rotate(-45deg);border:3px solid rgba(255,255,255,.95)}.slippy-pin span{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;left:13px;top:13px;z-index:2}
.location-map-toolbar{position:absolute;right:12px;top:12px;z-index:6;display:grid;gap:7px}.map-tool-btn{width:38px;height:38px;border:1px solid rgba(26,83,112,.18);border-radius:12px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);box-shadow:0 8px 20px rgba(24,73,99,.12);font-size:1.25rem;font-weight:600;color:#17394f;line-height:1}.map-tool-btn:hover{background:#fff}.location-map-hint{position:absolute;left:12px;bottom:12px;z-index:6;max-width:calc(100% - 24px);padding:.45rem .65rem;border-radius:12px;background:rgba(12,42,60,.76);backdrop-filter:blur(12px);color:#fff;font-size:.76rem;box-shadow:0 8px 20px rgba(8,36,53,.18)}
.share-event-hero{position:relative;min-height:360px;border-radius:30px;overflow:hidden;margin-bottom:1.25rem;border:1px solid rgba(255,255,255,.72);box-shadow:0 28px 65px rgba(33,75,98,.18);background:linear-gradient(135deg,#143b56,#2b779a)}.share-event-hero.has-cover{background-position:center;background-size:cover}.share-event-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,30,45,.86) 0%,rgba(13,46,65,.68) 45%,rgba(15,50,68,.24) 100%)}.share-event-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 12%,rgba(92,201,231,.28),transparent 33%)}.share-event-hero-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;min-height:360px;padding:2rem 2.1rem;color:#fff;max-width:900px}.share-event-hero .event-type-pill{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22);color:#fff}.share-event-hero h1{font-size:clamp(2rem,5vw,4rem);line-height:.98;margin:.75rem 0 .8rem;color:#fff}.share-event-meta{display:flex;flex-wrap:wrap;gap:.6rem 1rem;color:rgba(255,255,255,.88);font-size:.93rem}.share-event-summary{max-width:760px;margin:.85rem 0 0;color:rgba(255,255,255,.84);font-size:1rem;line-height:1.55}.share-event-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.05rem}.share-event-actions .btn{backdrop-filter:blur(12px)}
.share-event-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:0 0 1.25rem}.share-event-info-card{padding:1rem 1.05rem;border-radius:18px;background:rgba(255,255,255,.68);border:1px solid rgba(40,90,116,.13);box-shadow:0 12px 28px rgba(37,77,98,.08)}.share-event-info-card small{display:block;color:#708595;text-transform:uppercase;letter-spacing:.055em;font-size:.69rem;font-weight:600;margin-bottom:.28rem}.share-event-info-card strong{display:block;color:#17374e;font-size:.95rem}.share-event-map-card{padding:1rem;border-radius:24px;background:rgba(255,255,255,.68);border:1px solid rgba(40,90,116,.13);box-shadow:0 16px 36px rgba(37,77,98,.09);margin-bottom:1.25rem}.share-event-map-card .location-map{height:300px;border-radius:18px;cursor:default}.share-event-description{padding:1.15rem 1.25rem;border-radius:22px;background:rgba(255,255,255,.62);border:1px solid rgba(40,90,116,.12);color:#36566b;line-height:1.65;margin-bottom:1.25rem}.share-page-section-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1.4rem 0 .8rem}.share-page-section-title h2{margin:0;color:#17374e}.share-page-section-title p{margin:0;color:#708595;font-size:.88rem}
@media(max-width:991.98px){.share-event-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.share-event-hero-content{padding:1.5rem}.location-map{height:330px}}
@media(max-width:575.98px){.location-picker-card{padding:.85rem;border-radius:20px}.location-map{height:300px}.share-event-hero,.share-event-hero-content{min-height:410px}.share-event-hero{border-radius:24px}.share-event-info-grid{grid-template-columns:1fr}.share-event-actions .btn{flex:1 1 calc(50% - .55rem)}.location-map-hint{font-size:.7rem}}
.share-report-page .event-report .report-hero{display:none}.share-report-page .event-report{margin-top:.75rem}


/* V11.8 — barra superior compartilhável com alto contraste */
.share-report-topbar{
  position:sticky;
  top:.65rem;
  z-index:20;
  display:flex;
  align-items:center;
  gap:1rem;
  margin-bottom:1rem;
  padding:.72rem .8rem;
  border:1px solid rgba(255,255,255,.88);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(250,253,255,.94),rgba(234,245,249,.90));
  color:#17374e;
  -webkit-backdrop-filter:blur(24px) saturate(145%);
  backdrop-filter:blur(24px) saturate(145%);
  box-shadow:0 18px 42px rgba(27,68,91,.16),inset 0 1px 0 rgba(255,255,255,.92);
  overflow:hidden;
}
.share-report-topbar:before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(19,150,190,.78),rgba(98,191,216,.48),transparent);
  pointer-events:none;
}
.share-report-topbar .share-top-brand{min-width:0;color:#17374e!important;gap:.78rem}
.share-report-topbar .share-top-brand .brand-emblem{
  flex:0 0 auto;
  width:46px;
  height:46px;
  padding:5px;
  border-radius:14px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(28,91,122,.12);
  box-shadow:0 8px 20px rgba(34,78,101,.12);
}
.share-report-topbar .share-top-brand-copy{display:grid;min-width:0;line-height:1.12}
.share-report-topbar .share-top-brand-copy strong{
  color:#16374e!important;
  font-size:.98rem;
  font-weight:650;
  letter-spacing:-.015em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.share-report-topbar .share-top-brand-copy small{
  color:#617b8c!important;
  margin-top:.22rem;
  font-size:.72rem;
  font-weight:550;
  letter-spacing:.005em;
}
.share-report-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}
.share-top-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:.55rem .88rem;
  border-radius:13px;
  font-size:.82rem;
  font-weight:650;
  line-height:1;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;
}
.share-top-btn .app-icon{width:16px;height:16px}
.share-top-btn:hover{transform:translateY(-1px)}
.share-top-btn-secondary{
  color:#234b63;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(38,91,120,.18);
  box-shadow:0 7px 18px rgba(35,79,103,.08);
}
.share-top-btn-secondary:hover{color:#173e57;background:#fff;border-color:rgba(22,128,167,.30)}
.share-top-btn-primary{
  color:#fff;
  background:linear-gradient(135deg,#1699c2,#087da6);
  border:1px solid rgba(8,116,154,.20);
  box-shadow:0 9px 22px rgba(10,126,166,.22);
}
.share-top-btn-primary:hover{color:#fff;background:linear-gradient(135deg,#0e91bb,#076f96);box-shadow:0 11px 25px rgba(10,126,166,.28)}
@media(max-width:575.98px){
  .share-report-topbar{padding:.72rem;gap:.72rem;align-items:stretch}
  .share-report-topbar .share-top-brand{width:100%}
  .share-report-actions{width:100%;display:grid;grid-template-columns:1fr 1.25fr;gap:.5rem}
  .share-top-btn{width:100%;min-height:42px}
  .share-report-topbar .share-top-brand-copy small{font-size:.68rem}
}


/* V11.9 — compartilhamento premium, link curto, lightbox e apresentação. */
.share-live-pill{display:inline-flex;align-items:center;gap:.45rem;margin:.2rem 0 .8rem auto;padding:.38rem .65rem;border:1px solid rgba(40,105,135,.12);border-radius:999px;background:rgba(255,255,255,.55);color:#49697d;font-size:.72rem;font-weight:600;backdrop-filter:blur(12px)}
.share-live-pill .app-icon{width:.9rem;height:.9rem}.share-live-pill.is-offline{color:#9a5b27;background:rgba(255,241,214,.78)}
.share-cover-expand{position:absolute;right:1rem;bottom:1rem;z-index:3;display:inline-flex;align-items:center;gap:.42rem;padding:.48rem .7rem;border-radius:999px;background:rgba(6,32,50,.55);border:1px solid rgba(255,255,255,.34);color:#fff;font-size:.78rem;font-weight:600;backdrop-filter:blur(12px);pointer-events:none}
.share-event-hero[data-event-cover-lightbox]{cursor:zoom-in}.share-event-hero[data-event-cover-lightbox]:focus-visible{outline:3px solid rgba(35,162,209,.72);outline-offset:3px}
.share-image-modal .modal-content{background:rgba(3,15,25,.96);border:0;border-radius:0}.share-image-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:3.5rem 1.25rem 1.25rem;overflow:auto}.share-image-stage img{max-width:96vw;max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:1rem;box-shadow:0 28px 80px rgba(0,0,0,.45)}.share-image-close{position:fixed;right:1.25rem;top:1.15rem;z-index:5;width:2.75rem;height:2.75rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;font-size:1.7rem;line-height:1;backdrop-filter:blur(12px)}
.share-qr-modal .modal-content{border:1px solid rgba(90,130,155,.18);border-radius:1.5rem;background:rgba(245,250,252,.96);box-shadow:0 30px 80px rgba(20,55,75,.22);backdrop-filter:blur(24px)}.share-qr-box{display:flex;justify-content:center;align-items:center;min-height:244px;padding:12px;margin:0 auto;background:#fff;border-radius:1.15rem;width:244px;box-shadow:0 10px 28px rgba(22,55,74,.1)}.share-qr-box img,.share-qr-box canvas{max-width:220px!important;max-height:220px!important}.share-short-url{margin:.85rem auto 0;max-width:100%;padding:.6rem .75rem;border-radius:.8rem;background:rgba(221,235,242,.6);color:#29495d;font:600 .78rem/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-all}
.share-privacy-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .65rem;border-radius:999px;background:rgba(255,255,255,.64);border:1px solid rgba(80,120,145,.14);color:#49697b;font-size:.74rem;font-weight:600}.share-privacy-badge .app-icon{width:.92rem;height:.92rem}
.share-presentation-exit{display:none;position:fixed;right:1rem;top:1rem;z-index:1080;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(5,34,52,.78);color:#fff;padding:.58rem .82rem;font-weight:600;backdrop-filter:blur(16px)}.share-presentation-mode .share-presentation-exit{display:inline-flex;align-items:center;gap:.45rem}.share-presentation-mode .share-report-topbar,.share-presentation-mode .share-live-pill,.share-presentation-mode .share-privacy-note{display:none!important}.share-presentation-mode .share-report-wrap{max-width:1500px;padding-top:1rem}.share-presentation-mode .share-event-hero{min-height:300px}.share-presentation-mode{background:#dceaf1}
.share-live-toast{position:fixed;left:50%;bottom:1.25rem;transform:translateX(-50%);z-index:1090;padding:.75rem 1rem;border-radius:999px;background:#0b3854;color:#fff;box-shadow:0 14px 38px rgba(15,50,70,.25);font-size:.84rem;font-weight:600}
@media (max-width:767.98px){.share-cover-expand{right:.7rem;bottom:.7rem}.share-live-pill{margin-left:.35rem}.share-report-page .report-ride-head{cursor:pointer}.share-report-page .report-ride.is-collapsed .report-passengers,.share-report-page .report-ride.is-collapsed .report-passenger-inline,.share-report-page .report-ride.is-collapsed .report-ride-footer{display:none}.share-report-page .report-ride.is-collapsed .report-ride-head{margin-bottom:0}.share-privacy-badge{margin-top:.4rem}.share-image-stage{padding:3.25rem .5rem .5rem}.share-image-stage img{max-width:100%;border-radius:.65rem}}

/* V12 — gestão geral de eventos / check-in */
.form-select.is-submitting{opacity:.72;pointer-events:none;background-image:none}
.participant-cancelled{opacity:.62}
.checkin-grid{display:grid;gap:12px}
.checkin-person{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid rgba(73,111,137,.18);border-radius:20px;background:rgba(255,255,255,.58);backdrop-filter:blur(18px);box-shadow:0 12px 34px rgba(30,62,82,.08)}
.checkin-person.is-present{border-color:rgba(25,135,84,.3);background:rgba(231,249,239,.78)}
.checkin-person.is-cancelled{opacity:.58}
@media(max-width:640px){.checkin-person{align-items:stretch;flex-direction:column}.checkin-person form,.checkin-person button{width:100%}}

/* =========================================================
   V13 • CRYSTAL GLASS 2.0 + TRANSPORTE INTELIGENTE
   Mais profundidade, contraste e hierarquia sem escurecer a UI.
   ========================================================= */
:root{
  --v13-glass:rgba(249,253,255,.70);
  --v13-glass-strong:rgba(252,254,255,.86);
  --v13-edge:rgba(255,255,255,.88);
  --v13-line:rgba(52,105,132,.14);
  --v13-shadow:0 22px 60px rgba(28,69,91,.13),inset 0 1px 0 rgba(255,255,255,.84);
  --v13-blue:#118bb5;
  --v13-ink:#102f45;
}
body{
  background:
    radial-gradient(circle at 8% 5%,rgba(83,185,220,.24),transparent 30%),
    radial-gradient(circle at 92% 12%,rgba(241,211,126,.15),transparent 28%),
    radial-gradient(circle at 72% 88%,rgba(80,173,204,.13),transparent 32%),
    linear-gradient(145deg,#d9eaf2 0%,#edf5f7 48%,#dce9ee 100%);
  background-attachment:fixed;
}
.card,.card-soft,.public-glass-section,.member-card,.my-event-status-card,.member-gate-card,.event-action-dock,.report-preview-shell{
  border-color:var(--v13-edge)!important;
  background:linear-gradient(145deg,var(--v13-glass-strong),rgba(226,239,245,.72))!important;
  box-shadow:var(--v13-shadow)!important;
  -webkit-backdrop-filter:blur(26px) saturate(150%);
  backdrop-filter:blur(26px) saturate(150%);
}
.admin-sidebar,.admin-topbar,.visitor-navbar{
  box-shadow:0 18px 44px rgba(20,54,76,.13),inset 0 1px 0 rgba(255,255,255,.18);
}
.btn{letter-spacing:-.005em}.btn-primary{box-shadow:0 10px 24px rgba(12,133,174,.18)}
.form-control,.form-select{border-color:rgba(50,101,128,.17);background-color:rgba(255,255,255,.74);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.form-control:focus,.form-select:focus{border-color:rgba(20,145,186,.48);box-shadow:0 0 0 .22rem rgba(18,145,184,.10),inset 0 1px 0 rgba(255,255,255,.9)}

.transport-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem}
.transport-overview .transport-stat{padding:1rem 1.05rem;border:1px solid var(--v13-edge);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(231,243,248,.64));box-shadow:0 12px 28px rgba(28,68,90,.08),inset 0 1px 0 rgba(255,255,255,.9)}
.transport-stat small{display:block;text-transform:uppercase;letter-spacing:.055em;color:#678092;font-size:.67rem;font-weight:650;margin-bottom:.3rem}.transport-stat strong{display:block;color:var(--v13-ink);font-size:1.42rem;line-height:1}.transport-stat em{display:block;color:#708898;font-size:.72rem;font-style:normal;margin-top:.28rem}
.transport-builder{overflow:hidden;position:relative}.transport-builder:before{content:"";position:absolute;inset:-100px auto auto -80px;width:260px;height:260px;border-radius:50%;background:rgba(49,173,211,.11);filter:blur(12px);pointer-events:none}
.transport-mode-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-bottom:1rem}
.transport-mode-option{position:relative;display:flex;align-items:flex-start;gap:.9rem;padding:1.05rem 1.1rem;border:1px solid rgba(54,107,135,.16);border-radius:22px;background:rgba(255,255,255,.56);cursor:pointer;transition:.18s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.82)}
.transport-mode-option:hover{transform:translateY(-2px);border-color:rgba(18,143,183,.30);background:rgba(255,255,255,.76)}
.transport-mode-option.is-selected,.transport-mode-option:has(input:checked){border-color:rgba(17,145,185,.44);background:linear-gradient(145deg,rgba(239,251,255,.95),rgba(220,242,250,.78));box-shadow:0 13px 30px rgba(17,122,157,.12),inset 0 1px 0 #fff}
.transport-mode-option input{position:absolute;opacity:0;pointer-events:none}.transport-mode-icon{width:46px;height:46px;flex:0 0 46px;border-radius:15px;display:grid;place-items:center;color:#147fa6;background:linear-gradient(145deg,#e8f8fd,#cfeef7);border:1px solid rgba(20,130,167,.13)}.transport-mode-icon .app-icon{width:22px;height:22px}.transport-mode-option strong{display:block;color:#17374e;font-size:.98rem}.transport-mode-option small{display:block;color:#6a8292;font-size:.8rem;line-height:1.45;margin-top:.25rem}
.transport-card-grid{align-items:stretch}.transport-card{border:1px solid rgba(255,255,255,.88)!important;background:linear-gradient(145deg,rgba(253,254,255,.88),rgba(229,242,247,.72))!important;box-shadow:0 18px 42px rgba(27,68,91,.11),inset 0 1px 0 #fff!important;overflow:hidden}.transport-card.is-hired{background:linear-gradient(145deg,rgba(250,254,255,.93),rgba(218,241,249,.80))!important;border-color:rgba(123,211,232,.48)!important}.transport-card-head{display:flex;align-items:flex-start;gap:.8rem}.transport-kind-badge,.transport-vehicle-type{display:inline-flex;align-items:center;border-radius:999px;padding:.32rem .55rem;font-size:.66rem;font-weight:700;letter-spacing:.035em}.transport-kind-badge.participant{background:rgba(31,135,180,.11);color:#1b7297}.transport-kind-badge.hired{background:rgba(28,166,150,.12);color:#177d71}.transport-vehicle-type{background:rgba(255,255,255,.72);border:1px solid rgba(62,108,132,.12);color:#627a89}.transport-contract-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.transport-contract-meta span{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .55rem;border-radius:10px;background:rgba(255,255,255,.66);border:1px solid rgba(53,102,128,.11);color:#547085;font-size:.74rem}.transport-contract-meta .app-icon{width:.86rem;height:.86rem}
.your-driver-glass.is-hired,.ride-glass-card.is-hired{border-color:rgba(36,169,156,.25)!important;background:linear-gradient(145deg,rgba(246,255,254,.9),rgba(223,245,243,.76))!important}
.report-ride:has(.report-driver-label:first-child){transition:transform .16s ease,box-shadow .16s ease}.report-ride:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(36,77,98,.10)}
@media(max-width:991.98px){.transport-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.transport-mode-selector{grid-template-columns:1fr}}
@media(max-width:575.98px){.transport-overview{grid-template-columns:1fr 1fr}.transport-overview .transport-stat{padding:.85rem}.transport-mode-option{padding:.9rem}.transport-mode-icon{width:42px;height:42px;flex-basis:42px}}
@media(prefers-reduced-motion:reduce){.transport-mode-option,.report-ride{transition:none!important}.transport-mode-option:hover,.report-ride:hover{transform:none!important}}
/* V13 transport overview structure */
.transport-overview{display:block!important;padding:1.15rem 1.2rem;border:1px solid var(--v13-edge);border-radius:24px;background:linear-gradient(145deg,rgba(250,254,255,.82),rgba(228,241,247,.68));box-shadow:var(--v13-shadow);backdrop-filter:blur(24px) saturate(145%)}
.transport-overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.transport-rule-pill{display:inline-flex;align-items:center;gap:.38rem;padding:.48rem .7rem;border-radius:999px;background:rgba(25,160,149,.10);border:1px solid rgba(25,160,149,.18);color:#17786f;font-size:.75rem;font-weight:650}.transport-rule-pill .app-icon{width:15px;height:15px}.transport-overview-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.transport-overview-grid>div{padding:1rem 1.05rem;border:1px solid rgba(255,255,255,.88);border-radius:19px;background:rgba(255,255,255,.64);box-shadow:0 10px 24px rgba(28,68,90,.06)}.transport-overview-grid small,.transport-overview-grid strong,.transport-overview-grid span{display:block}.transport-overview-grid small{text-transform:uppercase;letter-spacing:.055em;color:#6b8293;font-size:.65rem;font-weight:700}.transport-overview-grid strong{font-size:1.35rem;color:#13364d;margin:.22rem 0}.transport-overview-grid span{font-size:.72rem;color:#738896}.transport-overview-grid .is-cost{background:linear-gradient(145deg,rgba(255,251,237,.82),rgba(250,241,213,.64))}
@media(max-width:1199.98px){.transport-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767.98px){.transport-overview-head{display:grid}.transport-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transport-rule-pill{width:max-content;max-width:100%}}

/* =========================================================
   V14 • PRISM GLASS 3.0 + UX DE TRANSPORTE EXPLÍCITA
   ========================================================= */
:root{
  --v14-glass:rgba(252,254,255,.76);
  --v14-glass-strong:rgba(255,255,255,.9);
  --v14-line:rgba(45,96,124,.13);
  --v14-edge:rgba(255,255,255,.9);
  --v14-ink:#102e43;
  --v14-muted:#607b8d;
  --v14-cyan:#1598c2;
  --v14-cyan-deep:#0c7398;
  --v14-shadow:0 24px 70px rgba(29,68,90,.13),inset 0 1px 0 rgba(255,255,255,.9);
}
body{color:var(--v14-ink);background:
  radial-gradient(circle at 5% 0%,rgba(75,184,219,.25),transparent 29%),
  radial-gradient(circle at 93% 10%,rgba(255,224,151,.16),transparent 26%),
  radial-gradient(circle at 50% 105%,rgba(102,185,211,.17),transparent 36%),
  linear-gradient(145deg,#d9e9f1 0%,#edf5f8 47%,#dce9ef 100%);background-attachment:fixed}
.card,.card-soft,.event-card-admin,.public-glass-section,.transport-overview,.report-preview-shell{
  background:linear-gradient(145deg,var(--v14-glass-strong),rgba(226,239,246,.72))!important;
  border:1px solid var(--v14-edge)!important;
  box-shadow:var(--v14-shadow)!important;
  -webkit-backdrop-filter:blur(28px) saturate(150%);backdrop-filter:blur(28px) saturate(150%);
}
.btn{border-radius:13px;font-weight:600}.btn-primary{background:linear-gradient(180deg,#20a5cf,#0f86b1);border-color:#0f86b1;box-shadow:0 10px 25px rgba(15,134,177,.2)}
.btn-primary:hover{background:linear-gradient(180deg,#169bc4,#0b779e);border-color:#0b779e}
.form-control,.form-select{min-height:44px;border-radius:13px;background:rgba(255,255,255,.78);border-color:rgba(48,97,124,.16)}
.table-modern thead th{font-size:.7rem;letter-spacing:.045em;text-transform:uppercase;color:#6a8191}

.v14-transport-step{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;border-radius:18px;background:linear-gradient(145deg,rgba(231,246,252,.8),rgba(255,255,255,.66));border:1px solid rgba(37,146,184,.14)}
.v14-transport-step>span{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:11px;background:linear-gradient(180deg,#1aa1ca,#0f82aa);color:#fff;font-weight:700;box-shadow:0 7px 18px rgba(15,130,170,.2)}
.v14-transport-step strong,.v14-transport-step small{display:block}.v14-transport-step small{color:#6b8393;margin-top:.12rem}
.v14-mode-selector{gap:1rem!important}.v14-mode-card{min-height:128px;padding:1.2rem!important;border-width:1px!important}
.v14-mode-card em{display:block;margin-top:.45rem;font-size:.72rem;color:#6d8492;font-style:normal}
.v14-mode-card.hired-choice{background:linear-gradient(145deg,rgba(247,255,254,.8),rgba(226,248,245,.62))}
.v14-mode-card.hired-choice .transport-mode-icon{color:#187d73;background:linear-gradient(145deg,#ebfbf8,#d2f2ed)}
.v14-mode-card.is-selected{transform:translateY(-2px)}
.v14-mode-empty{display:flex;align-items:center;gap:.45rem;padding:.75rem .9rem;border-radius:14px;background:rgba(255,248,222,.72);border:1px solid rgba(197,157,45,.18);color:#7b6421;font-size:.82rem;font-weight:600}
.v14-mode-empty .app-icon{width:1rem;height:1rem}
.v14-transport-form [data-transport-common-fields],.v14-transport-form [data-transport-participant-fields],.v14-transport-form [data-transport-hired-fields],.v14-transport-form [data-transport-footer-fields]{animation:v14Reveal .18s ease}
@keyframes v14Reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

.v14-public-rsvp{border:1px solid rgba(27,147,189,.18);background:linear-gradient(145deg,rgba(242,252,255,.92),rgba(224,243,250,.78));border-radius:22px;padding:1rem;box-shadow:0 14px 34px rgba(25,88,119,.09)}
.v14-public-rsvp strong,.v14-public-rsvp small{display:block}.v14-public-rsvp small{color:#688292;margin:.25rem 0 .8rem}
.v14-history-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.v14-history-stat{padding:1rem;border-radius:18px;border:1px solid rgba(255,255,255,.86);background:rgba(255,255,255,.62)}.v14-history-stat small,.v14-history-stat strong{display:block}.v14-history-stat small{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:#6a8190}.v14-history-stat strong{font-size:1.35rem;margin-top:.25rem;color:#163a52}
.v14-quick-actions{display:flex;flex-wrap:wrap;gap:.5rem}.v14-event-more .dropdown-menu{border-radius:16px;border:1px solid rgba(60,105,130,.12);background:rgba(250,253,255,.96);box-shadow:0 18px 50px rgba(25,60,80,.16);backdrop-filter:blur(22px)}
@media(max-width:767.98px){.v14-mode-card{min-height:auto}.v14-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-actions{gap:.45rem}.event-actions .btn{flex:1 1 auto}}
/* V14 refinamentos de histórico, ações e dropdowns */
.v14-history-stat span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.045em;color:#6a8190;font-weight:650}
.v14-quick-actions .dropdown{display:inline-flex}.v14-quick-actions .dropdown-menu{min-width:230px;padding:.45rem;border-radius:16px;border:1px solid rgba(55,101,126,.13);background:rgba(251,254,255,.97);box-shadow:0 18px 48px rgba(24,58,78,.16);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
.v14-quick-actions .dropdown-item{display:flex;align-items:center;min-height:38px;border-radius:10px;font-size:.85rem;font-weight:560}.v14-quick-actions .dropdown-item:hover{background:rgba(20,147,190,.08)}
.v14-quick-actions form{margin:0}.v14-quick-actions form .dropdown-item{width:100%;border:0;background:transparent;text-align:left}
@media(max-width:575.98px){.v14-quick-actions>.btn,.v14-quick-actions>.dropdown{flex:1 1 calc(50% - .5rem)}.v14-quick-actions>.dropdown>.btn{width:100%}}

/* V15 — mobilidade colaborativa, prontidão, filtros e formulários */
.v15-readiness-card{overflow:hidden}.v15-readiness-score{position:relative;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:color-mix(in srgb,var(--bs-primary) 8%,transparent);flex:0 0 auto}.v15-readiness-score strong{position:relative;z-index:2;font-size:1.15rem}.v15-readiness-score span{position:absolute;inset:7px;border-radius:50%;border:6px solid color-mix(in srgb,var(--bs-primary) 16%,transparent);border-top-color:var(--bs-primary);transform:rotate(calc(var(--score) * 3.6deg))}.v15-readiness-items{display:flex;flex-wrap:wrap;gap:.55rem}.v15-readiness-items span{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .7rem;border:1px solid var(--bs-border-color);border-radius:999px;font-size:.78rem}.v15-readiness-items .is-ok{background:rgba(25,135,84,.08);border-color:rgba(25,135,84,.18)}.v15-readiness-items .is-missing{background:rgba(255,193,7,.08);border-color:rgba(255,193,7,.22)}
.v15-filter-panel{padding:1rem;border:1px solid var(--bs-border-color);border-radius:18px;background:color-mix(in srgb,var(--bs-body-bg) 86%,transparent);box-shadow:0 12px 35px rgba(15,23,42,.04)}.v15-filter-presets{display:flex;flex-wrap:wrap;gap:.45rem}.v15-filter-count{font-size:.78rem;font-weight:700;color:var(--bs-secondary-color)}tr[data-v15-participant-row][hidden]{display:none!important}.v15-tag-badges{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.3rem}.v15-tag-badge{font-size:.68rem;padding:.18rem .4rem;border-radius:999px;background:rgba(13,110,253,.08);border:1px solid rgba(13,110,253,.14)}
.v15-tag-member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.65rem;max-height:480px;overflow:auto;padding:.25rem}.v15-tag-member{display:flex;align-items:center;gap:.65rem;padding:.75rem .8rem;border:1px solid var(--bs-border-color);border-radius:14px;background:var(--bs-body-bg)}.v15-tag-member[hidden]{display:none}.v15-tag-member input{flex:0 0 auto}.v15-tag-member span{min-width:0}.v15-tag-member small{display:block;color:var(--bs-secondary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v15-field-row{border:1px solid var(--bs-border-color);border-radius:18px;padding:1rem;background:color-mix(in srgb,var(--bs-body-bg) 94%,transparent)}.v15-field-options[hidden]{display:none}.v15-public-form{display:grid;gap:1rem}.v15-public-field{display:grid;gap:.42rem}.v15-public-field>label,.v15-public-field>legend{font-weight:700;font-size:.9rem}.v15-choice-list{display:grid;gap:.5rem}.v15-choice-item{display:flex;align-items:center;gap:.55rem;padding:.7rem .8rem;border:1px solid var(--bs-border-color);border-radius:13px;background:var(--bs-body-bg)}
.v15-mobility-panel{margin-top:1rem;padding:1rem;border:1px solid var(--bs-border-color);border-radius:18px;background:linear-gradient(145deg,rgba(13,110,253,.045),rgba(255,255,255,.02))}.v15-mobility-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.v15-mobility-actions form{min-width:0}.v15-drive-details{margin-top:.8rem;border-top:1px solid var(--bs-border-color);padding-top:.8rem}.v15-drive-details summary{cursor:pointer;font-weight:700}.v15-available-rides{display:grid;gap:.65rem;margin-top:.9rem}.v15-available-ride{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center;padding:.85rem;border:1px solid var(--bs-border-color);border-radius:14px;background:var(--bs-body-bg)}.v15-available-ride strong,.v15-available-ride span{display:block}.v15-available-ride small{color:var(--bs-secondary-color)}.v15-mobility-note{font-size:.78rem;color:var(--bs-secondary-color)}
@media(max-width:767.98px){.v15-mobility-actions{grid-template-columns:1fr}.v15-available-ride{grid-template-columns:1fr}.v15-available-ride .btn{width:100%}.v15-readiness-score{width:70px;height:70px}}

/* V15 - seleção de membros em Tags e segmentos */
.v15-filter-input{max-width:360px}
.v15-member-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.65rem;max-height:500px;overflow:auto;padding:.25rem}
.v15-member-check{display:flex;align-items:center;gap:.7rem;padding:.8rem .85rem;border:1px solid var(--bs-border-color);border-radius:14px;background:var(--bs-body-bg);cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}
.v15-member-check:hover{transform:translateY(-1px);box-shadow:0 .35rem 1rem rgba(0,0,0,.06)}
.v15-member-check[hidden]{display:none}
.v15-member-check input{flex:0 0 auto}
.v15-member-check span{min-width:0}
.v15-member-check strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v15-member-check small{display:block;color:var(--bs-secondary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:575.98px){.v15-filter-input{max-width:none;width:100%}.v15-member-checklist{grid-template-columns:1fr}}


/* V15.1 — relatório principal por transportes e filtros persistentes */
.report-primary-action{display:flex;align-items:flex-start;gap:1rem;height:100%;padding:1.15rem;border:1px solid rgba(74,111,136,.18);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(233,244,248,.62));box-shadow:0 14px 30px rgba(31,71,95,.06)}
.report-primary-action strong{display:block;font-size:1.04rem;color:var(--app-text,#17344a)}
.v15-ride-filters{background:linear-gradient(180deg,rgba(248,252,253,.88),rgba(238,247,250,.72))}
.v15-ride-filters [data-ride-filter-count]{font-weight:700;color:var(--app-text,#17344a)}
[data-v15-filter-empty] .empty-state-inline{min-height:130px;justify-content:center}
