/* MOBSE Parking Manager — interface pública uniforme */
.mobse-parking,
.mobse-account,
.mobse-customer-requests {
    --mobse-border: #dcdcde;
    --mobse-soft: #f6f7f7;
    --mobse-text: #1d2327;
    color: var(--mobse-text);
    font-size: 12px;
    line-height: 1.5;
}
.mobse-parking *,
.mobse-account *,
.mobse-customer-requests * { box-sizing: border-box; }
.mobse-parking { display:grid; gap:18px; max-width:1000px; margin:auto; }
.mobse-parking h1,.mobse-account h1,.mobse-customer-requests h1 { font-size:18px; line-height:1.3; margin:0 0 14px; }
.mobse-parking h2,.mobse-account h2,.mobse-customer-requests h2 { font-size:15px; line-height:1.35; margin:0 0 12px; }
.mobse-parking h3,.mobse-account h3,.mobse-customer-requests h3 { font-size:13px; line-height:1.4; }
.mobse-parking p,.mobse-account p,.mobse-customer-requests p,
.mobse-parking li,.mobse-account li,.mobse-customer-requests li,
.mobse-parking label,.mobse-account label,.mobse-customer-requests label,
.mobse-parking input,.mobse-account input,.mobse-customer-requests input,
.mobse-parking select,.mobse-account select,.mobse-customer-requests select,
.mobse-parking textarea,.mobse-account textarea,.mobse-customer-requests textarea,
.mobse-parking button,.mobse-account button,.mobse-customer-requests button,
.mobse-parking table,.mobse-account table,.mobse-customer-requests table { font-size:12px; }
.mobse-card { background:#fff; border:1px solid var(--mobse-border); border-radius:9px; padding:18px; }
.mobse-card form,
.mobse-account form,
.mobse-customer-requests form {
    margin-top:10px;
    padding:16px;
    border:1px solid var(--mobse-border);
    border-radius:8px;
    background:var(--mobse-soft);
}
.mobse-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px 16px; }
.mobse-card label,.mobse-account label,.mobse-customer-requests label { display:grid; gap:5px; font-weight:600; }
.mobse-card input,.mobse-card select,.mobse-card textarea,
.mobse-account input,.mobse-account select,.mobse-account textarea,
.mobse-customer-requests input,.mobse-customer-requests select,.mobse-customer-requests textarea {
    width:100%; min-height:34px; padding:7px 9px; border:1px solid #8c8f94; border-radius:5px; background:#fff;
}
.mobse-card textarea,.mobse-account textarea,.mobse-customer-requests textarea { min-height:72px; resize:vertical; }
.mobse-card button,.mobse-account button,.mobse-customer-requests button,
.mobse-button { margin-top:12px; padding:8px 13px; border:0; border-radius:5px; cursor:pointer; font-size:12px; }
.mobse-check { display:flex!important; grid-template-columns:auto 1fr!important; align-items:center; margin-top:12px; }
.mobse-check input { width:auto; min-height:auto; }
.mobse-results article { margin-top:10px; padding:10px; border:1px solid var(--mobse-border); border-radius:7px; background:#fff; }
.mobse-gates { display:flex; flex-wrap:wrap; gap:8px; }
.mobse-message,.mobse-gate-message { font-weight:600; }
.mobse-account-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:12px; }
.mobse-account-item { border:1px solid var(--mobse-border); border-radius:7px; padding:13px; }
.mobse-account-item h3 { margin-top:0; }
.mobse-table-wrap { overflow-x:auto; border:1px solid var(--mobse-border); border-radius:7px; background:#fff; }
.mobse-public-table { width:100%; border-collapse:collapse; }
.mobse-public-table th,.mobse-public-table td { padding:8px 9px; border-bottom:1px solid #e2e4e7; text-align:left; vertical-align:top; }
.mobse-public-table th { background:var(--mobse-soft); font-weight:600; }
.mobse-public-table tr:last-child td { border-bottom:0; }
.mobse-button { display:inline-block; background:#2271b1; color:#fff; text-decoration:none; }
@media(max-width:600px){
    .mobse-card{padding:13px}.mobse-card form,.mobse-account form,.mobse-customer-requests form{padding:12px}.mobse-grid{grid-template-columns:1fr}
}
.mobse-request-edit { margin-top: 12px; border: 1px solid #dcdcde; border-radius: 6px; padding: 10px; }
.mobse-request-edit summary { cursor: pointer; font-weight: 600; }
.mobse-request-edit form { margin-top: 10px; border: 1px solid #e5e5e5; border-radius: 6px; padding: 12px; }
.mobse-cancel-request { margin-left: 8px; background: #fff; color: #b32d2e; border: 1px solid #b32d2e; }

.mobse-request-actions { display: flex; align-items: flex-start; gap: 8px; flex-wrap: wrap; margin: 10px 0 0; }
.mobse-request-actions .mobse-request-edit { flex: 1 1 420px; margin: 0; }
.mobse-request-actions > .mobse-cancel-request { margin: 0; }

.mobse-reservation-preview {
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid currentColor;
  border-radius: .5rem;
}
.mobse-reservation-preview dl {
  display: grid;
  grid-template-columns: minmax(8rem, auto) 1fr;
  gap: .35rem 1rem;
  margin: .75rem 0;
}
.mobse-reservation-preview dt { font-weight: 600; }
.mobse-reservation-preview dd { margin: 0; }
.mobse-confirm-reservation { margin-right: .5rem; }

/* Responsive improvements — v2.3.2 */
.mobse-parking,
.mobse-account,
.mobse-customer-requests,
.mobse-reservations,
.mobse-occupancy { width:100%; max-width:100%; min-width:0; }
.mobse-card,
.mobse-account-item,
.mobse-results article { min-width:0; overflow-wrap:anywhere; }
.mobse-card img,
.mobse-account img,
.mobse-customer-requests img { max-width:100%; height:auto; }
.mobse-card code,
.mobse-account code,
.mobse-customer-requests code { white-space:normal; overflow-wrap:anywhere; }
.mobse-gates > *,
.mobse-request-actions > * { max-width:100%; }
.mobse-map-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:10px; }
.mobse-map-space { min-width:0; overflow-wrap:anywhere; }

@media (max-width: 782px) {
    .mobse-parking,
    .mobse-account,
    .mobse-customer-requests,
    .mobse-reservations,
    .mobse-occupancy { padding:0 4px; }
    .mobse-card { padding:14px; border-radius:8px; }
    .mobse-card form,
    .mobse-account form,
    .mobse-customer-requests form { padding:12px; }
    .mobse-grid,
    .mobse-account-list { grid-template-columns:minmax(0,1fr); }
    .mobse-card input,
    .mobse-card select,
    .mobse-card textarea,
    .mobse-account input,
    .mobse-account select,
    .mobse-account textarea,
    .mobse-customer-requests input,
    .mobse-customer-requests select,
    .mobse-customer-requests textarea { min-height:44px; font-size:16px; }
    .mobse-card button,
    .mobse-account button,
    .mobse-customer-requests button,
    .mobse-button { min-height:44px; padding:10px 14px; }
    .mobse-gates,
    .mobse-request-actions { display:grid; grid-template-columns:minmax(0,1fr); }
    .mobse-gates .mobse-button,
    .mobse-gates button,
    .mobse-request-actions button,
    .mobse-request-actions .mobse-button { width:100%; margin:0; text-align:center; }
    .mobse-request-edit { width:100%; }
    .mobse-reservation-preview dl { grid-template-columns:1fr; gap:2px; }
    .mobse-reservation-preview dd { margin:0 0 9px; }
    .mobse-map-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

    /* Public tables become stacked cards. Labels are inserted by portal.js. */
    .mobse-table-wrap { overflow:visible; border:0; background:transparent; }
    .mobse-public-table,
    .mobse-public-table tbody,
    .mobse-public-table tr,
    .mobse-public-table td { display:block; width:100%; }
    .mobse-public-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    .mobse-public-table tr { margin:0 0 12px; padding:8px 12px; border:1px solid var(--mobse-border); border-radius:8px; background:#fff; }
    .mobse-public-table td { display:grid; grid-template-columns:minmax(105px,38%) minmax(0,1fr); gap:10px; padding:8px 0; border:0; border-bottom:1px solid #e2e4e7; overflow-wrap:anywhere; }
    .mobse-public-table td:last-child { border-bottom:0; }
    .mobse-public-table td::before { content:attr(data-label); font-weight:600; color:#50575e; }
    .mobse-public-table td .mobse-pay-reservation { width:100%; margin-top:8px; }
}

@media (max-width: 420px) {
    .mobse-map-grid { grid-template-columns:minmax(0,1fr); }
    .mobse-public-table td { grid-template-columns:1fr; gap:3px; }
}
.mobse-card-access{margin:16px 0;padding:14px;border:1px solid rgba(0,0,0,.12);border-radius:8px}.mobse-card-access ul{margin:8px 0 14px 20px}.mobse-card-request-form{display:grid;gap:10px}.mobse-card-request-form label{display:grid;gap:5px}.mobse-card-request-form input,.mobse-card-request-form textarea{width:100%;box-sizing:border-box}

/* Uniform card action controls. */
.mobse-card-actions {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}
.mobse-card-action-panel {
    margin-top: 8px;
}
.mobse-card-action-panel > summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 13px;
    border: 0;
    border-radius: 5px;
    background: var(--mobse-text);
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    list-style: none;
    user-select: none;
}
.mobse-card-action-panel > summary::-webkit-details-marker { display: none; }
.mobse-card-action-panel > summary::after {
    content: "+";
    margin-left: 8px;
    font-weight: 700;
}
.mobse-card-action-panel[open] > summary::after { content: "−"; }
.mobse-card-action-panel > summary:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}
.mobse-card-action-panel > .mobse-card-request-form {
    margin-top: 8px;
}
.mobse-new-card-panel {
    margin-top: 14px;
}
.mobse-card-request-status {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid var(--mobse-border);
    border-radius: 7px;
    background: var(--mobse-soft);
}
@media (max-width: 520px) {
    .mobse-card-action-panel > summary { width: 100%; }
}

/* v2.3.14 - cartões recolhidos e acessos junto à avença */
.mobse-card-access-collapsible {
  margin-top: 1rem;
  border-top: 1px solid rgba(127, 127, 127, .25);
  padding-top: .75rem;
}
.mobse-card-access-collapsible > summary {
  cursor: pointer;
  font-weight: 600;
  list-style-position: inside;
  padding: .35rem 0;
}
.mobse-card-access-content {
  padding-top: .75rem;
}
.mobse-subscription-gates {
  margin-top: .9rem;
  margin-bottom: .35rem;
}

/* Friendly customer support — v2.3.37 */
.mobse-support{--support-primary:#2271b1;--support-primary-dark:#135e96;--support-soft:#f2f7fb;--support-border:#dbe6ef;--support-muted:#64748b;max-width:1080px;margin:0 auto;display:grid;gap:20px;color:#1e293b;font-size:14px;line-height:1.55}.mobse-support *{box-sizing:border-box}.mobse-support h2,.mobse-support h3,.mobse-support h4,.mobse-support p{margin-top:0}.mobse-support-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border-radius:18px;background:linear-gradient(135deg,#eef7ff,#f8fbff);border:1px solid #d8eaf8;box-shadow:0 8px 24px rgba(34,113,177,.08)}.mobse-support-hero h2{font-size:28px;margin:4px 0 7px}.mobse-support-hero p{margin:0;color:var(--support-muted);max-width:650px}.mobse-support-eyebrow{font-weight:700;color:var(--support-primary);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.mobse-support-hero-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:34px;box-shadow:0 8px 24px rgba(34,113,177,.12);flex:0 0 auto}.mobse-support-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mobse-support-summary>div{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#fff;border:1px solid var(--support-border);border-radius:14px}.mobse-support-summary strong{font-size:25px;color:var(--support-primary)}.mobse-support-summary span{color:var(--support-muted);font-size:13px}.mobse-support-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:18px;align-items:start}.mobse-support-new,.mobse-support-help,.mobse-support-list,.mobse-support-ticket-head,.mobse-support-reply{background:#fff;border:1px solid var(--support-border);border-radius:16px;padding:22px;box-shadow:0 5px 18px rgba(15,23,42,.04)}.mobse-support-section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.mobse-support-section-title h3{font-size:19px;margin:0 0 2px}.mobse-support-section-title p{margin:0;color:var(--support-muted)}.mobse-support-section-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--support-soft);color:var(--support-primary);font-size:19px;font-weight:700;flex:0 0 auto}.mobse-support-new form,.mobse-support-reply{margin:0;padding:0;border:0;background:transparent}.mobse-support-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.mobse-support-field-wide{grid-column:1/-1}.mobse-support label{display:grid;gap:6px;font-weight:650}.mobse-support input,.mobse-support select,.mobse-support textarea{width:100%;border:1px solid #cbd5e1;border-radius:9px;background:#fff;padding:10px 12px;min-height:44px;font:inherit;color:#1e293b;transition:border-color .15s,box-shadow .15s}.mobse-support textarea{resize:vertical;min-height:120px}.mobse-support input:focus,.mobse-support select:focus,.mobse-support textarea:focus{outline:0;border-color:var(--support-primary);box-shadow:0 0 0 3px rgba(34,113,177,.13)}.mobse-support-primary{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:var(--support-primary);color:#fff!important;font-weight:700;padding:11px 18px;min-height:44px;cursor:pointer;margin-top:16px;text-decoration:none;transition:background .15s,transform .15s}.mobse-support-primary:hover{background:var(--support-primary-dark);transform:translateY(-1px)}.mobse-support-help{background:linear-gradient(180deg,#fffdf3,#fff);border-color:#f0e4b7}.mobse-support-help-icon{font-size:30px;display:block;margin-bottom:12px}.mobse-support-help h3{font-size:17px;margin-bottom:8px}.mobse-support-help p{color:#665f46}.mobse-support-help-note{padding-top:12px;border-top:1px solid #eee4c6;font-size:13px}.mobse-support-ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mobse-support-ticket-card{display:block;padding:17px;border:1px solid var(--support-border);border-radius:13px;color:inherit!important;text-decoration:none!important;background:#fff;transition:transform .15s,box-shadow .15s,border-color .15s}.mobse-support-ticket-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(15,23,42,.08);border-color:#b7d3e7}.mobse-support-ticket-top,.mobse-support-ticket-date,.mobse-support-message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobse-support-ref{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--support-primary)}.mobse-support-ticket-card h4{font-size:16px;margin:12px 0}.mobse-support-ticket-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--support-muted);font-size:12px}.mobse-support-ticket-meta span+span:before{content:'•';margin-right:8px;color:#cbd5e1}.mobse-support-ticket-date{margin-top:15px;padding-top:12px;border-top:1px solid #edf2f7;font-size:12px;color:var(--support-muted)}.mobse-support-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:750;white-space:nowrap}.mobse-support-badge.neutral{background:#f1f5f9;color:#475569}.mobse-support-badge.status-open{background:#e8f3fb;color:#135e96}.mobse-support-badge.status-in_progress{background:#fff4d6;color:#8a5a00}.mobse-support-badge.status-awaiting_customer{background:#f3e8ff;color:#7e22ce}.mobse-support-badge.status-resolved{background:#dcfce7;color:#166534}.mobse-support-badge.status-closed{background:#eef2f6;color:#52606d}.mobse-support-badge.priority-urgent,.priority-text-urgent{background:#fee2e2;color:#b91c1c}.mobse-support-badge.priority-high,.priority-text-high{background:#ffedd5;color:#c2410c}.mobse-support-badge.priority-normal,.priority-text-normal{color:#2563eb}.mobse-support-badge.priority-low,.priority-text-low{color:#64748b}.mobse-support-back{display:inline-flex;width:max-content;color:var(--support-primary)!important;text-decoration:none!important;font-weight:700}.mobse-support-ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.mobse-support-ticket-head h3{font-size:22px;margin:5px 0 0}.mobse-support-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.mobse-support-thread{display:grid;gap:14px;padding:5px 0}.mobse-support-message{display:flex;gap:10px;max-width:86%}.mobse-support-message.is-customer{margin-left:auto;flex-direction:row-reverse}.mobse-support-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#dcecf8;color:#135e96;font-weight:800;font-size:11px;flex:0 0 auto}.mobse-support-message.is-customer .mobse-support-avatar{background:#e2e8f0;color:#475569}.mobse-support-bubble{padding:14px 16px;border-radius:4px 15px 15px 15px;background:#f1f7fb;border:1px solid #d8e9f5;min-width:220px}.mobse-support-message.is-customer .mobse-support-bubble{background:#f8fafc;border-color:#e2e8f0;border-radius:15px 4px 15px 15px}.mobse-support-message-meta{font-size:12px;margin-bottom:7px}.mobse-support-message-meta time{color:var(--support-muted);font-size:11px}.mobse-support-bubble p{margin:0;white-space:normal}.mobse-support-reply h3{margin-bottom:3px}.mobse-support-reply>div>p{color:var(--support-muted);margin-bottom:15px}.mobse-support-closed,.mobse-support-empty{padding:24px;text-align:center;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:var(--support-muted)}.mobse-support-empty-icon{font-size:28px;display:block;margin-bottom:8px}.mobse-support-empty h2,.mobse-support-empty h3{color:#1e293b;margin-bottom:5px}.mobse-support-empty p{margin-bottom:0}.mobse-support-empty.compact{margin-top:4px}.mobse-support-closed{font-weight:650}.mobse-support .mobse-notice{padding:13px 15px;border-radius:10px;border:1px solid}.mobse-support .mobse-notice-success{background:#ecfdf3;border-color:#bbf7d0;color:#166534}.mobse-support .mobse-notice-error{background:#fff1f2;border-color:#fecdd3;color:#be123c}
@media(max-width:800px){.mobse-support-layout{grid-template-columns:1fr}.mobse-support-ticket-grid{grid-template-columns:1fr}.mobse-support-ticket-head{display:grid}.mobse-support-badges{justify-content:flex-start}.mobse-support-message{max-width:95%}}
@media(max-width:600px){.mobse-support{font-size:13px;padding:0 3px}.mobse-support-hero{padding:21px 18px;border-radius:14px}.mobse-support-hero h2{font-size:23px}.mobse-support-hero-icon{display:none}.mobse-support-summary{grid-template-columns:1fr}.mobse-support-summary>div{padding:12px 15px}.mobse-support-new,.mobse-support-help,.mobse-support-list,.mobse-support-ticket-head,.mobse-support-reply{padding:16px;border-radius:13px}.mobse-support-form-grid{grid-template-columns:1fr}.mobse-support-field-wide{grid-column:auto}.mobse-support input,.mobse-support select,.mobse-support textarea{font-size:16px}.mobse-support-primary{width:100%}.mobse-support-message{max-width:100%}.mobse-support-avatar{width:31px;height:31px}.mobse-support-bubble{min-width:0;padding:12px}.mobse-support-message-meta{align-items:flex-start;flex-direction:column;gap:2px}}

/* Support accordion redesign — v2.3.38 */
.mobse-support-accordion{max-width:1050px;margin:0 auto;display:grid;gap:14px}.mobse-support-accordion .mobse-page-heading{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:18px 20px}.mobse-support-accordion .mobse-page-heading h2{margin:0 0 4px}.mobse-support-accordion .mobse-page-heading p,.mobse-support-list-title p{margin:0;color:#646970}.mobse-expand-box{background:#fff;border:1px solid #dcdcde;border-radius:8px;overflow:hidden}.mobse-expand-box>summary{list-style:none;cursor:pointer;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff}.mobse-expand-box>summary::-webkit-details-marker{display:none}.mobse-expand-box>summary:hover{background:#f6f7f7}.mobse-expand-box[open]>summary{background:#f6f7f7;border-bottom:1px solid #dcdcde}.mobse-expand-box>summary span:first-child,.mobse-ticket-summary-main{display:grid;gap:3px;min-width:0}.mobse-expand-box>summary small{color:#646970;font-weight:400}.mobse-expand-icon{width:12px;height:12px;border-right:2px solid #646970;border-bottom:2px solid #646970;transform:rotate(45deg);transition:transform .18s;flex:0 0 auto;margin-right:4px}.mobse-expand-box[open]>summary .mobse-expand-icon{transform:rotate(225deg);margin-top:7px}.mobse-expand-content{padding:18px}.mobse-support-new-box{border-left:4px solid #2271b1}.mobse-support-list-title{padding:8px 2px 0}.mobse-support-list-title h3{margin:0 0 3px}.mobse-ticket-summary-main strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobse-ticket-summary-status{display:flex;align-items:center;gap:7px;flex:0 0 auto}.mobse-ticket-box .mobse-support-thread{padding:0 0 12px}.mobse-support-reply-box{margin-top:12px;border:1px solid #dcdcde;border-radius:6px}.mobse-support-reply-box>summary{cursor:pointer;font-weight:600;padding:12px 14px;background:#f6f7f7}.mobse-support-reply-box form{padding:14px}.mobse-support-reply-box textarea{margin-top:6px}.mobse-support-summary{margin:0}.mobse-support-summary>div{border-radius:8px;box-shadow:none}.mobse-support-accordion .mobse-support-primary{border-radius:5px}.mobse-support-accordion input,.mobse-support-accordion select,.mobse-support-accordion textarea{border-radius:5px}
@media(max-width:700px){.mobse-expand-box>summary{align-items:flex-start;padding:13px}.mobse-ticket-summary-status{flex-wrap:wrap;justify-content:flex-end}.mobse-ticket-summary-status .mobse-support-badge.priority-low,.mobse-ticket-summary-status .mobse-support-badge.priority-normal{display:none}.mobse-expand-content{padding:13px}.mobse-support-summary{grid-template-columns:1fr 1fr 1fr}.mobse-support-summary>div{display:grid;text-align:center;padding:10px 6px}.mobse-support-summary strong{font-size:20px}.mobse-support-summary span{font-size:11px}}

/* Portal-style expandable boxes and support page — v2.3.39 */
.mobse-field-wide{grid-column:1/-1}
.mobse-portal-box{margin:0;border:0;background:transparent}
.mobse-portal-box>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;margin:-18px;padding:18px}
.mobse-portal-box>summary::-webkit-details-marker{display:none}
.mobse-portal-box>summary span:first-child{display:grid;gap:2px}
.mobse-portal-box>summary strong{font-size:15px}
.mobse-portal-box>summary small{font-size:12px;color:#646970;font-weight:400}
.mobse-portal-box>summary:after{content:'+';display:grid;place-items:center;width:25px;height:25px;border:1px solid #8c8f94;border-radius:50%;font-size:18px;line-height:1;color:#50575e;flex:0 0 auto}
.mobse-portal-box[open]>summary{border-bottom:1px solid var(--mobse-border);margin-bottom:0}
.mobse-portal-box[open]>summary:after{content:'−'}
.mobse-portal-box-content{padding-top:16px}
.mobse-portal-box-content form{margin-top:0}
.mobse-portal-box-content h3{margin:0 0 10px}
.mobse-portal-box-content h3:not(:first-child){margin-top:20px;padding-top:16px;border-top:1px solid var(--mobse-border)}
.mobse-support-counts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.mobse-support-counts span{padding:7px 10px;border:1px solid var(--mobse-border);border-radius:6px;background:var(--mobse-soft)}
.mobse-support-ticket{padding:18px}
.mobse-support-state{font-size:11px;font-weight:600;color:#50575e;white-space:nowrap}
.mobse-support-thread{display:grid;gap:10px}
.mobse-support-line{padding:12px;border:1px solid var(--mobse-border);border-radius:7px;background:#fff}
.mobse-support-line.is-staff{background:var(--mobse-soft)}
.mobse-support-line>p{display:flex;justify-content:space-between;gap:12px;margin:0 0 7px}
.mobse-support-line small{color:#646970}
.mobse-notice-success{border-left:4px solid #00a32a;background:#edfaef}
.mobse-notice-error{border-left:4px solid #d63638;background:#fcf0f1}
@media(max-width:600px){.mobse-field-wide{grid-column:auto}.mobse-portal-box>summary{align-items:flex-start}.mobse-support-state{white-space:normal;text-align:right}.mobse-support-line>p{display:grid;gap:2px}}


/* Graphical gate opening controls — v2.3.50 */
.mobse-gates {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    gap: 10px;
    width: 100%;
    margin: 14px auto 9px;
}

/* Compact version used throughout the portal. */
.mobse-gates .mobse-open,
button.mobse-open {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    flex: 0 1 126px;
    width: auto;
    min-width: 112px;
    min-height: 62px;
    margin: 3px;
    padding: 31px 10px 8px;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 400;
    font-size: 12px;
    letter-spacing: .01em;
    line-height: 1.15;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,18,54,.42);
    background:
        radial-gradient(circle at 22% 0%, rgba(255,255,255,.18), transparent 36%),
        linear-gradient(145deg, #1558a9 0%, #0b438f 48%, #062e68 100%);
    border: 1px solid rgba(3,37,87,.94);
    border-radius: 11px;
    box-shadow:
        0 7px 16px rgba(4,43,99,.25),
        0 2px 5px rgba(2,24,58,.20),
        inset 0 1px 0 rgba(255,255,255,.22),
        inset 0 -1px 0 rgba(0,16,45,.28);
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease;
    overflow: hidden;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.mobse-gates .mobse-open::before,
button.mobse-open::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 8px;
    left: 50%;
    width: 36px;
    height: 21px;
    transform: translateX(-50%);
    box-sizing: border-box;
    border: 2px solid rgba(255,255,255,.98);
    border-bottom-width: 3px;
    border-radius: 4px 4px 2px 2px;
    background: repeating-linear-gradient(to bottom,rgba(255,255,255,.98) 0,rgba(255,255,255,.98) 2px,rgba(255,255,255,.10) 2px,rgba(255,255,255,.10) 5px);
    box-shadow: inset 0 -2px 0 rgba(255,255,255,.96),0 2px 5px rgba(0,20,60,.24);
}

.mobse-gates .mobse-open::after,
button.mobse-open::after {
    content: "";
    position: absolute;
    top: 23px;
    left: 50%;
    width: 6px;
    height: 2px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 0 5px rgba(255,255,255,.66);
}

/* Large version reserved for the dedicated opening shortcode. */
.mobse-access-buttons .mobse-gates {
    gap: 16px;
    margin: 18px auto 11px;
}
.mobse-access-buttons .mobse-gates .mobse-open {
    flex-basis: 240px;
    min-width: 195px;
    min-height: 118px;
    padding: 61px 20px 15px;
    border-radius: 18px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    box-shadow: 0 13px 29px rgba(4,43,99,.32),0 4px 11px rgba(2,24,58,.22),inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(0,16,45,.30);
}
.mobse-access-buttons .mobse-gates .mobse-open::before {
    top: 14px;
    width: 66px;
    height: 40px;
    border-width: 4px;
    border-bottom-width: 6px;
    border-radius: 7px 7px 3px 3px;
    background: repeating-linear-gradient(to bottom,rgba(255,255,255,.98) 0,rgba(255,255,255,.98) 3px,rgba(255,255,255,.10) 3px,rgba(255,255,255,.10) 9px);
    box-shadow: inset 0 -3px 0 rgba(255,255,255,.98),0 4px 10px rgba(0,20,60,.24);
}
.mobse-access-buttons .mobse-gates .mobse-open::after {
    top: 43px;
    width: 10px;
    height: 3px;
    box-shadow: 0 0 8px rgba(255,255,255,.70);
}

.mobse-gates .mobse-open:hover,
button.mobse-open:hover {
    transform: translateY(-2px) scale(1.015);
    border-color: #031f4b;
    box-shadow: 0 10px 22px rgba(4,43,99,.36),0 4px 9px rgba(2,24,58,.24),inset 0 1px 0 rgba(255,255,255,.28);
    filter: saturate(1.08) brightness(1.08);
}
.mobse-access-buttons .mobse-gates .mobse-open:hover {
    transform: translateY(-3px) scale(1.015);
    box-shadow: 0 17px 36px rgba(4,43,99,.42),0 6px 14px rgba(2,24,58,.25),inset 0 1px 0 rgba(255,255,255,.30);
}
.mobse-gates .mobse-open:focus-visible,
button.mobse-open:focus-visible {
    outline: 4px solid rgba(11,67,143,.24);
    outline-offset: 4px;
    box-shadow: 0 0 0 3px #fff,0 0 0 7px #0b438f,0 12px 26px rgba(4,43,99,.32);
}
.mobse-gates .mobse-open:active,
button.mobse-open:active {
    transform: translateY(1px) scale(.985);
    box-shadow: 0 4px 10px rgba(4,43,99,.24),inset 0 2px 5px rgba(0,20,58,.28);
}
.mobse-gates .mobse-open:disabled,
button.mobse-open:disabled {
    cursor: wait;
    opacity: .72;
    transform: none;
    filter: grayscale(.12);
    box-shadow: 0 5px 12px rgba(4,43,99,.18);
}
.mobse-access-buttons .mobse-card { text-align: center; }
.mobse-access-buttons .mobse-gate-message,
.mobse-subscription-gates + .mobse-gate-message { text-align: center; }

@media (prefers-reduced-motion: reduce) {
    .mobse-gates .mobse-open,
    button.mobse-open { transition: none; }
}
@media (max-width: 782px) {
    .mobse-gates { justify-content: center; }
    .mobse-gates .mobse-open,
    button.mobse-open { flex-basis: 122px; min-width: 108px; }
    .mobse-access-buttons .mobse-gates .mobse-open {
        width: min(100%, 330px);
        min-width: 0;
        flex-basis: 280px;
    }
}



/* Monthly subscriptions overview */
.mobse-subscriptions-page{max-width:1120px;margin-inline:auto}
.mobse-subscriptions-intro{margin-bottom:26px}
.mobse-subscription-state{margin:30px 0}
.mobse-subscription-state-header{margin:0 0 14px;padding:0 4px}
.mobse-subscription-state-header h2{margin:0 0 3px;font-size:1.42rem;color:#172033}
.mobse-subscription-state-header p{margin:0;color:#667085;font-size:.94rem}
.mobse-subscription-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px}
.mobse-subscription-card{background:#fff;border:1px solid #e6eaf0;border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(16,24,40,.06)}
.mobse-subscription-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:15px;border-bottom:1px solid #eef1f5}
.mobse-subscription-park-label{display:block;margin-bottom:3px;color:#667085;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.mobse-subscription-card h3{margin:0;font-size:1.18rem;color:#172033}
.mobse-subscription-state-badge{flex:0 0 auto;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:600}
.mobse-subscription-state-badge-valid{background:#e9f8ef;color:#167344}
.mobse-subscription-state-badge-future{background:#edf4ff;color:#245ea8}
.mobse-subscription-state-badge-expired{background:#f2f4f7;color:#667085}
.mobse-subscription-facts{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px;margin:18px 0}
.mobse-subscription-facts div{min-width:0}
.mobse-subscription-facts dt{margin:0 0 2px;color:#667085;font-size:.78rem}
.mobse-subscription-facts dd{margin:0;color:#172033;font-size:.96rem;font-weight:600}
.mobse-subscription-features{display:inline-block;margin:0 0 17px;padding:6px 9px;border-radius:8px;background:#f6f8fb;color:#475467;font-size:.82rem}
.mobse-subscription-access-block{margin-top:18px;padding-top:16px;border-top:1px solid #eef1f5}
.mobse-subscription-access-block h4{margin:0 0 10px;font-size:.93rem;color:#344054}
.mobse-subscription-access-list{display:grid;gap:8px}
.mobse-subscription-access-item{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border-radius:10px;background:#f8fafc}
.mobse-subscription-access-item>span:last-child{display:flex;flex-direction:column;min-width:0}
.mobse-subscription-access-item strong{font-size:.88rem;color:#344054;font-weight:600}
.mobse-subscription-access-item small{margin-top:1px;color:#667085;font-size:.76rem;overflow-wrap:anywhere}
.mobse-access-kind{flex:0 0 auto;padding:3px 6px;border-radius:6px;background:#eaf1fb;color:#174f8f;font-size:.69rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.mobse-subscription-empty-note{margin:0;color:#667085;font-size:.86rem}
.mobse-subscription-recent-accesses ol{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.mobse-subscription-recent-accesses li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed #e4e7ec;font-size:.83rem}
.mobse-subscription-recent-accesses li:last-child{border-bottom:0}
.mobse-subscription-recent-accesses li span{color:#667085}
.mobse-subscription-recent-accesses li strong{color:#344054;font-weight:600;text-align:right}
.mobse-subscription-cancel{margin-top:17px;text-align:right}
.mobse-subscription-cancel>summary{display:inline-block;cursor:pointer;color:#667085;font-size:.78rem;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;list-style:none}
.mobse-subscription-cancel>summary::-webkit-details-marker{display:none}
.mobse-subscription-cancel[open]>summary{margin-bottom:12px}
.mobse-subscription-cancel .mobse-card-request-form{text-align:left;padding:14px;border-radius:12px;background:#f8fafc}
.mobse-button-small{padding:7px 12px!important;min-height:auto!important;font-size:.8rem!important}
.mobse-button-secondary{background:#eef2f6!important;color:#344054!important;border:1px solid #d0d5dd!important;box-shadow:none!important}
@media(max-width:600px){.mobse-subscription-card{padding:16px}.mobse-subscription-facts{grid-template-columns:1fr 1fr;gap:12px}.mobse-subscription-recent-accesses li{display:block}.mobse-subscription-recent-accesses li strong{display:block;margin-top:2px;text-align:left}}
\n\n/* Dashboard gate controls — compact, classic and discreet (v2.4.2) */
.mobse-home-gate-panel {
    padding: 18px 20px;
    background: #fbfbfa;
    border-color: #dededb;
    box-shadow: 0 1px 3px rgba(35, 35, 32, .05);
}
.mobse-home-gate-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px 16px;
    margin-bottom: 9px;
    padding-bottom: 9px;
    border-bottom: 1px solid #e8e8e4;
}
.mobse-home-gate-heading h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: 400;
    letter-spacing: .01em;
    color: #353532;
}
.mobse-home-gate-heading p {
    margin: 0;
    font-size: 12px;
    color: #777771;
}
.mobse-home-gate-panel .mobse-gates {
    justify-content: flex-start;
    gap: 7px;
    margin: 8px 0 2px;
}
.mobse-home-gate-panel .mobse-gates .mobse-open {
    flex: 0 1 auto;
    min-width: 0;
    min-height: 34px;
    margin: 0;
    padding: 7px 12px 7px 31px;
    border: 1px solid #cfcfca;
    border-radius: 4px;
    background: linear-gradient(180deg, #fff 0%, #f3f3f0 100%);
    box-shadow: 0 1px 2px rgba(30, 30, 27, .07), inset 0 1px 0 rgba(255,255,255,.9);
    color: #454541;
    text-shadow: none;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
}
.mobse-home-gate-panel .mobse-gates .mobse-open::before {
    z-index: 0;
    top: 50%;
    left: 11px;
    width: 12px;
    height: 12px;
    transform: translateY(-50%);
    border: 1px solid #8b8b84;
    border-radius: 2px;
    background: repeating-linear-gradient(to bottom, #8b8b84 0, #8b8b84 1px, transparent 1px, transparent 3px);
    box-shadow: none;
    opacity: .8;
}
.mobse-home-gate-panel .mobse-gates .mobse-open::after {
    display: none;
}
.mobse-home-gate-panel .mobse-gates .mobse-open:hover {
    transform: none;
    border-color: #aaa9a2;
    background: linear-gradient(180deg, #fff 0%, #eaeae6 100%);
    box-shadow: 0 2px 4px rgba(30, 30, 27, .09), inset 0 1px 0 #fff;
    color: #22221f;
    filter: none;
}
.mobse-home-gate-panel .mobse-gates .mobse-open:active {
    transform: translateY(1px);
    box-shadow: inset 0 1px 3px rgba(30, 30, 27, .11);
}
.mobse-home-gate-panel .mobse-gates .mobse-open:focus-visible {
    outline: 2px solid #777771;
    outline-offset: 2px;
    box-shadow: none;
}
.mobse-home-gate-panel .mobse-gate-message {
    margin: 7px 0 0;
    font-size: 12px;
    color: #565651;
}
@media (max-width: 600px) {
    .mobse-home-gate-panel .mobse-gates { justify-content: flex-start; }
    .mobse-home-gate-panel .mobse-gates .mobse-open {
        flex-basis: auto;
        min-width: 0;
        width: auto;
    }
    .mobse-home-gate-heading { display: block; }
    .mobse-home-gate-heading p { margin-top: 3px; }
}

/* v2.4.3 - controlos de abertura remota deliberadamente discretos */
.mobse-home-gate-panel {
    padding: 12px 14px !important;
    border: 1px solid #e3e3df !important;
    border-radius: 3px !important;
    background: #fafaf8 !important;
    box-shadow: none !important;
}
.mobse-home-gate-panel .mobse-home-gate-heading {
    display: flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    margin: 0 0 7px !important;
}
.mobse-home-gate-panel .mobse-home-gate-heading h2 {
    margin: 0 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #555550 !important;
}
.mobse-home-gate-panel .mobse-home-gate-heading p {
    display: none !important;
}
.mobse-home-gate-panel .mobse-gates {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
}
.mobse-home-gate-panel .mobse-gates .mobse-open {
    position: relative !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 82px !important;
    min-height: 0 !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 10px 0 25px !important;
    border: 1px solid #d7d7d2 !important;
    border-radius: 3px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #5b5b56 !important;
    text-shadow: none !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.mobse-home-gate-panel .mobse-gates .mobse-open::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 9px !important;
    width: 9px !important;
    height: 9px !important;
    transform: translateY(-50%) !important;
    border: 1px solid #999993 !important;
    border-radius: 1px !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: .7 !important;
}
.mobse-home-gate-panel .mobse-gates .mobse-open::after {
    display: none !important;
}
.mobse-home-gate-panel .mobse-gates .mobse-open:hover {
    transform: none !important;
    border-color: #bdbdb7 !important;
    background: #f5f5f2 !important;
    box-shadow: none !important;
    color: #333330 !important;
    filter: none !important;
}
.mobse-home-gate-panel .mobse-gates .mobse-open:active {
    transform: none !important;
    background: #eeeeea !important;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.05) !important;
}
.mobse-home-gate-panel .mobse-gates .mobse-open:focus-visible {
    outline: 1px solid #777771 !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}
.mobse-home-gate-panel .mobse-gate-message {
    margin: 6px 0 0 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #666661 !important;
}
@media (max-width: 600px) {
    .mobse-home-gate-panel .mobse-gates .mobse-open {
        min-width: 78px !important;
        width: auto !important;
    }
}

/* v2.5.0 - compact remote access strip; deliberately detached from generic card/button rules */
.mobse-parking .mobse-remote-strip{
    display:flex!important;align-items:center!important;gap:9px!important;min-height:0!important;
    margin:0!important;padding:7px 9px!important;border:1px solid #e4e4e0!important;border-radius:4px!important;
    background:#fbfbfa!important;box-shadow:none!important;overflow:visible!important
}
.mobse-parking .mobse-remote-strip .mobse-home-gate-heading{display:block!important;margin:0!important;flex:0 0 auto!important}
.mobse-parking .mobse-remote-strip .mobse-home-gate-heading h2{margin:0!important;font-size:11px!important;font-weight:600!important;line-height:1.2!important;color:#686863!important;white-space:nowrap!important}
.mobse-parking .mobse-remote-strip .mobse-home-gate-heading p{display:none!important}
.mobse-parking .mobse-remote-strip .mobse-gates{display:flex!important;grid-template-columns:none!important;flex:0 1 auto!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;margin:0!important;width:auto!important}
.mobse-parking .mobse-remote-strip .mobse-gates .mobse-open{
    appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
    flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;height:26px!important;min-height:26px!important;
    margin:0!important;padding:0 9px!important;border:1px solid #d6d6d1!important;border-radius:3px!important;
    background:#fff!important;background-image:none!important;box-shadow:none!important;color:#555550!important;
    font:400 11px/24px inherit!important;letter-spacing:0!important;text-transform:none!important;text-shadow:none!important;white-space:nowrap!important
}
.mobse-parking .mobse-remote-strip .mobse-gates .mobse-open::before,
.mobse-parking .mobse-remote-strip .mobse-gates .mobse-open::after{display:none!important;content:none!important}
.mobse-parking .mobse-remote-strip .mobse-gates .mobse-open:hover{background:#f4f4f1!important;border-color:#bdbdb7!important;color:#2f2f2c!important;transform:none!important;box-shadow:none!important}
.mobse-parking .mobse-remote-strip .mobse-gate-message{flex:1 1 100%!important;margin:0!important;font-size:10px!important;font-weight:400!important;line-height:1.3!important;color:#666!important}
@media(max-width:782px){
  .mobse-parking .mobse-remote-strip{display:flex!important;padding:7px 8px!important;gap:7px!important}
  .mobse-parking .mobse-remote-strip .mobse-gates{display:flex!important;width:auto!important}
  .mobse-parking .mobse-remote-strip .mobse-gates .mobse-open{width:auto!important;min-width:0!important;height:26px!important;min-height:26px!important;padding:0 8px!important;margin:0!important;font-size:11px!important}
}


/* v2.5.1 - remote controls centred; guests see only a neutral login notice */
.mobse-parking .mobse-home-gate-panel{
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
}
.mobse-parking .mobse-home-gate-panel .mobse-home-gate-heading{width:100%!important;text-align:center!important}
.mobse-parking .mobse-home-gate-panel .mobse-gates{
    width:100%!important;
    justify-content:center!important;
    align-items:center!important;
}
.mobse-parking .mobse-home-gate-panel .mobse-gate-message{width:100%!important;text-align:center!important}
.mobse-parking .mobse-login-required{text-align:center!important}
.mobse-parking .mobse-login-required p{margin:0!important}
@media(max-width:782px){
    .mobse-parking .mobse-home-gate-panel{flex-direction:column!important;align-items:center!important;justify-content:center!important}
    .mobse-parking .mobse-home-gate-panel .mobse-gates{width:100%!important;justify-content:center!important}
}


/* v2.5.2 - structural centring of remote-opening controls */
.mobse-parking section.mobse-remote-strip.mobse-home-gate-panel,
.mobse-parking.mobse-access-buttons section.mobse-remote-strip {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    align-items: center !important;
    text-align: center !important;
}
.mobse-parking .mobse-remote-strip .mobse-gates-centre {
    display: block !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
}
.mobse-parking .mobse-remote-strip .mobse-gates-centre > .mobse-gates {
    display: inline-flex !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    vertical-align: middle !important;
}
.mobse-parking .mobse-remote-strip .mobse-gates-centre > .mobse-gates > .mobse-open {
    float: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}
@media (max-width: 782px) {
    .mobse-parking .mobse-remote-strip .mobse-gates-centre > .mobse-gates {
        display: inline-flex !important;
        width: max-content !important;
        max-width: 100% !important;
        justify-content: center !important;
    }
}

/* v2.6.9 - Mobse360 clean gate controls */
.mobse-parking button.mobse-open,
.mobse-parking .mobse-gates .mobse-open,
.mobse-parking .mobse-remote-strip .mobse-gates .mobse-open,
.mobse-parking .mobse-parking-detail-gates .mobse-open {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 92px !important;
    max-width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #dedede !important;
    border-radius: 7px !important;
    background: #ffffff !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #333333 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
}
.mobse-parking button.mobse-open::before,
.mobse-parking button.mobse-open::after,
.mobse-parking .mobse-gates .mobse-open::before,
.mobse-parking .mobse-gates .mobse-open::after {
    display: none !important;
    content: none !important;
}
@media (hover:hover) and (pointer:fine) {
    .mobse-parking button.mobse-open:hover,
    .mobse-parking .mobse-gates .mobse-open:hover {
        background: #f7f7f7 !important;
        border-color: #cfcfcf !important;
        color: #111111 !important;
        transform: none !important;
        box-shadow: none !important;
    }
}
.mobse-parking button.mobse-open:focus-visible,
.mobse-parking .mobse-gates .mobse-open:focus-visible {
    outline: 2px solid #b8b8b8 !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}
.mobse-parking button.mobse-open:active,
.mobse-parking .mobse-gates .mobse-open:active {
    background: #f1f1f1 !important;
    border-color: #c8c8c8 !important;
    transform: none !important;
    box-shadow: none !important;
}
.mobse-parking button.mobse-open:disabled,
.mobse-parking .mobse-gates .mobse-open:disabled {
    opacity: .5 !important;
    cursor: not-allowed !important;
}
.mobse-parking .mobse-gates,
.mobse-parking .mobse-gates-centre {
    justify-content: center !important;
}
.mobse-parking .mobse-gates {
    gap: 8px !important;
}
.mobse-parking .mobse-remote-strip,
.mobse-parking .mobse-parking-detail-gates {
    box-shadow: none !important;
}
.mobse-parking .mobse-remote-strip .mobse-gates .mobse-open {
    min-width: 88px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
}
@media (max-width: 520px) {
    .mobse-parking button.mobse-open,
    .mobse-parking .mobse-gates .mobse-open {
        min-width: 88px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 12px !important;
    }
}


/* v2.6.28 — acessos rápidos criados pelo administrador */
.mobse-quick-access{
    display:inline-flex!important;
    align-items:center!important;
    gap:7px!important;
    width:auto!important;
    max-width:none!important;
    margin:3px 5px 3px 0!important;
    font-size:12px!important;
    vertical-align:middle;
}
.mobse-quick-access button.mobse-quick-access-button{
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:34px!important;
    height:34px!important;
    margin:0!important;
    padding:6px 13px!important;
    border:1px solid #d7dce2!important;
    border-radius:8px!important;
    background:#fff!important;
    background-image:none!important;
    box-shadow:none!important;
    color:#334155!important;
    text-shadow:none!important;
    font-size:12px!important;
    font-weight:400!important;
    line-height:1!important;
    letter-spacing:0!important;
    transform:none!important;
}
.mobse-quick-access button.mobse-quick-access-button::before,
.mobse-quick-access button.mobse-quick-access-button::after{
    content:none!important;
    display:none!important;
}
.mobse-quick-access button.mobse-quick-access-button:hover{
    background:#f8fafc!important;
    border-color:#bfc7d1!important;
    color:#0f172a!important;
    transform:none!important;
    box-shadow:none!important;
}
.mobse-quick-access button.mobse-quick-access-button:disabled{
    opacity:.62!important;
    cursor:default!important;
}
.mobse-quick-access-message{
    display:inline!important;
    margin:0!important;
    padding:0!important;
    font-size:11px!important;
    color:#64748b!important;
}


/* v2.6.31 — resultado do pedido de avença */
#mobse-request .mobse-message.is-error{
    display:block;
    margin-top:12px;
    padding:10px 12px;
    border:1px solid #fecaca;
    border-radius:8px;
    background:#fff7f7;
    color:#991b1b;
    font-weight:500;
}
#mobse-request .mobse-message.is-success{
    display:block;
    margin-top:12px;
    padding:10px 12px;
    border:1px solid #bbf7d0;
    border-radius:8px;
    background:#f0fdf4;
    color:#166534;
    font-weight:500;
}
