/* ============================================================
   OPPORTUNITIES v3 — Full Feature Set
   ============================================================ */

:root {
    --opp-bg-deep: #080c14;
    --opp-glass-bg: rgba(255, 255, 255, 0.055);
    --opp-glass-border: rgba(255, 255, 255, 0.10);
    --opp-glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
    --opp-text: #e8ecf4;
    --opp-text-soft: rgba(255, 255, 255, 0.6);
    --opp-text-muted: rgba(255, 255, 255, 0.35);
    --opp-accent-blue: #4d9fff;
    --opp-accent-green: #34d399;
    --opp-accent-amber: #fbbf24;
    --opp-accent-rose: #fb7185;
    --opp-accent-purple: #a78bfa;
    --opp-radius-bubble: 22px;
    --opp-radius-pill: 100px;
}

body.opp-shell {
    margin: 0; min-height: 100vh;
    background: var(--opp-bg-deep);
    color: var(--opp-text);
    font-family: "Segoe UI","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;
    overflow-x: hidden;
}

/* === AMBIENT === */
.opp-ambient { position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden; }
.opp-ambient-orb { position:absolute;border-radius:50%;filter:blur(100px);opacity:.45;will-change:transform;animation:opp-orbit 30s ease-in-out infinite alternate; }
.opp-ambient-orb--1 { width:600px;height:600px;top:-10%;left:-5%;background:radial-gradient(circle,rgba(30,80,180,.12),transparent 70%); }
.opp-ambient-orb--2 { width:500px;height:500px;bottom:-15%;right:-10%;background:radial-gradient(circle,rgba(120,40,200,.08),transparent 70%);animation-duration:24s;animation-delay:-8s; }
.opp-ambient-orb--3 { width:400px;height:400px;top:40%;left:50%;background:radial-gradient(circle,rgba(20,160,120,.06),transparent 70%);animation-duration:28s;animation-delay:-14s; }
@keyframes opp-orbit { 0%{transform:translate(0,0) scale(1)} 33%{transform:translate(40px,-30px) scale(1.08)} 66%{transform:translate(-30px,20px) scale(.95)} 100%{transform:translate(20px,10px) scale(1.03)} }

/* === HEADER TOGGLE === */
.opp-mode-toggle { display:inline-flex;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:var(--opp-radius-pill);padding:3px; }
.opp-mode-toggle__btn { position:relative;z-index:1;border:none;background:transparent;color:rgba(255,255,255,.55);font-size:.82rem;font-weight:600;padding:7px 20px;border-radius:var(--opp-radius-pill);cursor:pointer;transition:color .3s,background .3s;white-space:nowrap;letter-spacing:.02em;text-decoration:none; }
.opp-mode-toggle__btn:hover { color:rgba(255,255,255,.85);text-decoration:none; }
.opp-mode-toggle__btn.is-active { background:linear-gradient(135deg,var(--opp-accent-blue),#6366f1);color:#fff;box-shadow:0 4px 15px rgba(77,159,255,.35); }
.opp-mode-toggle__icon { margin-right:6px;font-size:.75rem; }

/* === CANVAS === */
.opp-canvas { position:relative;z-index:1;width:100%;min-height:calc(100vh - 80px);padding:30px 24px 60px; }
.opp-canvas-inner { position:relative;width:min(1500px,100%);margin:0 auto;min-height:calc(100vh - 160px); }

/* === TOOLBAR === */
.opp-toolbar { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap; }
.opp-toolbar__left { display:flex;align-items:center;gap:12px; }
.opp-toolbar__right { display:flex;align-items:center;gap:10px;flex-wrap:wrap; }
.opp-toolbar__title { font-size:1.5rem;font-weight:700;color:var(--opp-text);letter-spacing:-.01em; }
.opp-toolbar__title i { color:var(--opp-accent-blue);margin-right:8px;font-size:1.2rem; }
.opp-toolbar__count { display:inline-flex;align-items:center;justify-content:center;background:rgba(77,159,255,.15);color:var(--opp-accent-blue);font-size:.8rem;font-weight:700;padding:4px 14px;border-radius:var(--opp-radius-pill);min-width:32px; }

.opp-filter-pill { border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:var(--opp-text-soft);font-size:.78rem;font-weight:500;padding:6px 16px;border-radius:var(--opp-radius-pill);cursor:pointer;transition:all .25s; }
.opp-filter-pill:hover { background:rgba(255,255,255,.1);color:var(--opp-text);border-color:rgba(255,255,255,.2); }
.opp-filter-pill.is-active { background:rgba(77,159,255,.15);color:var(--opp-accent-blue);border-color:rgba(77,159,255,.3); }

.opp-rules-btn { display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(167,139,250,.25);background:rgba(167,139,250,.1);color:var(--opp-accent-purple);font-size:.78rem;font-weight:600;padding:6px 16px;border-radius:var(--opp-radius-pill);cursor:pointer;transition:all .25s;text-decoration:none; }
.opp-rules-btn:hover { background:rgba(167,139,250,.2);color:#c4b5fd;text-decoration:none; }

/* === RULE HEADING === */
.opp-rule-heading { display:flex;align-items:center;gap:12px;margin:32px 0 18px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06); }
.opp-rule-heading:first-child { margin-top:0; }
.opp-rule-heading__icon { width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.85rem;background:rgba(77,159,255,.12);color:var(--opp-accent-blue); }
.opp-rule-heading__text { font-size:1rem;font-weight:600;color:var(--opp-text); }
.opp-rule-heading__count { font-size:.75rem;font-weight:600;color:var(--opp-text-muted);background:rgba(255,255,255,.06);padding:2px 10px;border-radius:var(--opp-radius-pill); }

/* === BUBBLE ROW === */
.opp-bubbles-row { display:flex;flex-wrap:wrap;gap:20px;padding-bottom:20px; }

/* === BUBBLE === */
.opp-bubble {
    position:relative;
    border-radius:var(--opp-radius-bubble);
    background:var(--opp-glass-bg);
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border:1px solid var(--opp-glass-border);
    box-shadow:var(--opp-glass-shadow);
    cursor:grab;
    display:flex;flex-direction:column;
    overflow:hidden;user-select:none;flex-shrink:0;
    animation:opp-float var(--float-dur,6s) ease-in-out var(--float-del,0s) infinite;
    will-change:transform;
    transition:box-shadow .3s,border-color .3s,opacity .4s;
}
.opp-bubble::before { content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,0) 50%);pointer-events:none; }
.opp-bubble:hover { box-shadow:0 12px 48px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.18);border-color:rgba(255,255,255,.22);z-index:50!important; }
.opp-bubble:active,.opp-bubble.is-dragging { cursor:grabbing;animation-play-state:paused; }

/* Sizes — 40% larger */
.opp-bubble--lg  { width:390px;min-height:280px;padding:22px; }
.opp-bubble--md  { width:310px;min-height:240px;padding:18px; }
.opp-bubble--sm  { width:255px;min-height:210px;padding:16px; }

/* Licitada faded */
.opp-bubble--licitada { opacity:.28;filter:grayscale(.6);animation-play-state:paused; }
.opp-bubble--licitada:hover { opacity:.6;filter:grayscale(.2); }

/* Accent stripe */
.opp-bubble__accent { position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--opp-radius-bubble) var(--opp-radius-bubble) 0 0; }
.opp-bubble__accent--a_licitar  { background:linear-gradient(90deg,var(--opp-accent-amber),#f59e0b); }
.opp-bubble__accent--en_proceso { background:linear-gradient(90deg,var(--opp-accent-blue),#6366f1); }
.opp-bubble__accent--licitada   { background:linear-gradient(90deg,var(--opp-accent-green),#10b981); }
.opp-bubble__accent--ganada     { background:linear-gradient(90deg,var(--opp-accent-purple),#8b5cf6); }

/* Fire */
.opp-bubble__fire { position:absolute;top:12px;right:12px;font-size:1.2rem;z-index:2;animation:opp-fire-pulse 1.5s ease-in-out infinite; }
@keyframes opp-fire-pulse { 0%,100%{transform:scale(1);opacity:.9} 50%{transform:scale(1.2);opacity:1} }

/* Top row */
.opp-bubble__top-row { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;position:relative;z-index:1; }
.opp-bubble__sistema { font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--opp-text-muted);padding:3px 8px;background:rgba(255,255,255,.06);border-radius:6px;white-space:nowrap; }

/* Venc badge */
.opp-bubble__venc { font-size:.68rem;font-weight:600;padding:3px 8px;border-radius:6px; }
.opp-bubble__venc--hot { background:rgba(251,113,133,.2);color:var(--opp-accent-rose);animation:opp-venc-blink 1.8s ease-in-out infinite; }
.opp-bubble__venc--warm { background:rgba(251,191,36,.15);color:var(--opp-accent-amber); }
.opp-bubble__venc--cool { color:var(--opp-text-muted); }
.opp-bubble__venc--expired { background:rgba(251,113,133,.15);color:var(--opp-accent-rose);text-decoration:line-through; }
@keyframes opp-venc-blink { 0%,100%{opacity:1} 50%{opacity:.5} }

/* Body */
.opp-bubble__body { flex:1;display:flex;flex-direction:column;gap:4px;position:relative;z-index:1;min-height:0; }
.opp-bubble__subject { font-size:.82rem;font-weight:500;color:var(--opp-text-soft);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }

/* VEHICLE — prominent */
.opp-bubble__vehicle {
    font-size:1.05rem;font-weight:700;
    color:#fff;
    line-height:1.25;
    margin:2px 0 4px;
    letter-spacing:-.01em;
}
.opp-bubble--sm .opp-bubble__vehicle { font-size:.92rem; }

.opp-bubble__meta { font-size:.73rem;color:var(--opp-text-soft);display:flex;align-items:center;gap:6px;flex-wrap:wrap; }
.opp-bubble__meta-dot { width:3px;height:3px;border-radius:50%;background:var(--opp-text-muted);flex-shrink:0; }

/* === IMAGE CAROUSEL === */
.opp-bubble__carousel {
    position:relative;
    width:100%;height:90px;
    margin:6px 0;
    border-radius:12px;
    overflow:hidden;
    background:rgba(255,255,255,.03);
    flex-shrink:0;
}
.opp-bubble--lg .opp-bubble__carousel { height:105px; }
.opp-bubble--sm .opp-bubble__carousel { height:70px; }

.opp-bubble__carousel-track {
    display:flex;
    height:100%;
    transition:transform .35s ease;
}

.opp-bubble__carousel-slide {
    min-width:100%;height:100%;
    flex-shrink:0;
}

.opp-bubble__carousel-slide img {
    width:100%;height:100%;
    object-fit:cover;display:block;
    opacity:0;transition:opacity .4s;
}
.opp-bubble__carousel-slide img.is-loaded { opacity:1; }

.opp-bubble__carousel-btn {
    position:absolute;top:50%;transform:translateY(-50%);
    width:26px;height:26px;
    border-radius:50%;
    background:rgba(0,0,0,.55);border:none;
    color:#fff;font-size:.6rem;
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;z-index:5;
    opacity:0;transition:opacity .25s;
}
.opp-bubble:hover .opp-bubble__carousel-btn { opacity:1; }
.opp-bubble__carousel-btn--prev { left:6px; }
.opp-bubble__carousel-btn--next { right:6px; }
.opp-bubble__carousel-btn:hover { background:rgba(0,0,0,.8); }

.opp-bubble__carousel-dots {
    position:absolute;bottom:5px;left:50%;transform:translateX(-50%);
    display:flex;gap:4px;z-index:5;
}
.opp-bubble__carousel-dot {
    width:5px;height:5px;border-radius:50%;
    background:rgba(255,255,255,.35);
    transition:background .2s;
}
.opp-bubble__carousel-dot.is-active { background:#fff; }

.opp-bubble__carousel-placeholder {
    position:absolute;inset:0;
    display:flex;align-items:center;justify-content:center;
    color:var(--opp-text-muted);font-size:1.2rem;
}

/* Footer */
.opp-bubble__footer { display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:6px;position:relative;z-index:1; }
.opp-bubble__parts-count { font-size:.72rem;color:var(--opp-text-muted);display:flex;align-items:center;gap:5px; }

/* Estado badge — glow */
.opp-bubble__estado { font-size:.72rem;font-weight:700;padding:5px 14px;border-radius:var(--opp-radius-pill);text-transform:uppercase;letter-spacing:.06em; }
.opp-bubble__estado--a_licitar { background:rgba(251,191,36,.20);color:#fcd34d;box-shadow:0 0 12px rgba(251,191,36,.15); }
.opp-bubble__estado--en_proceso { background:rgba(77,159,255,.18);color:#93c5fd;box-shadow:0 0 12px rgba(77,159,255,.12); }
.opp-bubble__estado--licitada { background:rgba(52,211,153,.15);color:var(--opp-accent-green); }
.opp-bubble__estado--ganada { background:rgba(167,139,250,.18);color:#c4b5fd;box-shadow:0 0 12px rgba(167,139,250,.12); }

/* Floating — more motion */
@keyframes opp-float {
    0%   { transform:translateY(0) rotate(0deg); }
    25%  { transform:translateY(-14px) rotate(.4deg); }
    50%  { transform:translateY(-4px) rotate(-.3deg); }
    75%  { transform:translateY(-18px) rotate(.2deg); }
    100% { transform:translateY(0) rotate(0deg); }
}

/* Entrance */
@keyframes opp-bubble-enter {
    0%   { opacity:0;transform:scale(.6) translateY(30px); }
    60%  { opacity:1;transform:scale(1.03) translateY(-3px); }
    100% { opacity:1;transform:scale(1) translateY(0); }
}
.opp-bubble--entering { animation:opp-bubble-enter .55s cubic-bezier(.34,1.56,.64,1) forwards, opp-float var(--float-dur,6s) ease-in-out .55s infinite; }

/* Drag placeholder */
.opp-bubble.drag-placeholder { opacity:.15;pointer-events:none; }

/* === ARCHIVADITAS DROP ZONE === */
.opp-archivaditas-zone {
    position:fixed;bottom:24px;right:24px;z-index:200;
    width:64px;height:64px;
    border-radius:20px;
    background:rgba(255,255,255,.06);
    backdrop-filter:blur(12px);
    border:2px dashed rgba(255,255,255,.12);
    display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;
    cursor:pointer;
    transition:all .3s;
    color:var(--opp-text-muted);
    font-size:1.3rem;
}

.opp-archivaditas-zone:hover {
    background:rgba(255,255,255,.1);
    border-color:rgba(255,255,255,.25);
    color:var(--opp-text-soft);
}

.opp-archivaditas-zone.is-hover-target {
    background:rgba(251,113,133,.15);
    border-color:var(--opp-accent-rose);
    color:var(--opp-accent-rose);
    transform:scale(1.15);
    box-shadow:0 0 30px rgba(251,113,133,.2);
}

.opp-archivaditas-zone__count {
    position:absolute;top:-6px;right:-6px;
    min-width:20px;height:20px;
    border-radius:10px;
    background:var(--opp-accent-rose);
    color:#fff;
    font-size:.65rem;font-weight:700;
    display:flex;align-items:center;justify-content:center;
    padding:0 5px;
}

.opp-archivaditas-zone__label {
    font-size:.5rem;font-weight:600;
    text-transform:uppercase;letter-spacing:.05em;
    margin-top:2px;
}

/* === ARCHIVADITAS MODAL === */
.opp-archivaditas-modal-backdrop {
    position:fixed;inset:0;z-index:1050;
    background:rgba(0,0,0,.7);
    backdrop-filter:blur(6px);
    display:flex;align-items:center;justify-content:center;
    opacity:0;transition:opacity .3s;
    pointer-events:none;
}
.opp-archivaditas-modal-backdrop.is-open { opacity:1;pointer-events:auto; }

.opp-archivaditas-modal {
    background:rgba(15,20,35,.95);
    backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.1);
    border-radius:24px;
    width:min(900px,90vw);
    max-height:70vh;
    overflow-y:auto;
    padding:30px;
    box-shadow:0 20px 60px rgba(0,0,0,.5);
}

.opp-archivaditas-modal__header {
    display:flex;align-items:center;justify-content:space-between;
    margin-bottom:24px;
}

.opp-archivaditas-modal__title {
    font-size:1.2rem;font-weight:700;color:var(--opp-text);
    display:flex;align-items:center;gap:10px;
}

.opp-archivaditas-modal__close {
    background:rgba(255,255,255,.08);border:none;
    color:var(--opp-text-soft);font-size:1rem;
    width:36px;height:36px;border-radius:12px;
    cursor:pointer;transition:all .2s;
    display:flex;align-items:center;justify-content:center;
}
.opp-archivaditas-modal__close:hover { background:rgba(255,255,255,.15);color:var(--opp-text); }

.opp-archivaditas-modal .opp-bubbles-row { gap:14px; }
.opp-archivaditas-modal .opp-bubble { animation:none; }
.opp-archivaditas-modal .opp-bubble--sm { width:220px;min-height:180px; }
.opp-archivaditas-modal .opp-bubble--md { width:260px;min-height:200px; }
.opp-archivaditas-modal .opp-bubble--lg { width:300px;min-height:220px; }

.opp-archivaditas-restore-btn {
    position:absolute;top:8px;right:8px;z-index:10;
    width:28px;height:28px;border-radius:8px;
    background:rgba(255,255,255,.1);border:none;
    color:var(--opp-text-soft);font-size:.7rem;
    cursor:pointer;transition:all .2s;
    display:flex;align-items:center;justify-content:center;
}
.opp-archivaditas-restore-btn:hover { background:rgba(52,211,153,.2);color:var(--opp-accent-green); }

/* === LOADING / EMPTY === */
.opp-loading { display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:20px; }
.opp-loading__spinner { width:44px;height:44px;border-radius:50%;border:3px solid rgba(255,255,255,.1);border-top-color:var(--opp-accent-blue);animation:opp-spin .8s linear infinite; }
@keyframes opp-spin { to{transform:rotate(360deg)} }
.opp-loading__text { color:var(--opp-text-soft);font-size:.9rem; }

.opp-empty { display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;gap:14px;text-align:center; }
.opp-empty__icon { font-size:2.5rem;color:var(--opp-text-muted); }
.opp-empty__title { font-size:1.1rem;font-weight:600;color:var(--opp-text-soft); }
.opp-empty__subtitle { font-size:.85rem;color:var(--opp-text-muted);max-width:340px; }

/* === NAVBAR === */
body.opp-shell .app-navbar { background:rgba(8,12,20,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.05); }

/* ============================================================
   RULES PAGE
   ============================================================ */
body.opp-shell .opp-rules-page { max-width:800px;margin:0 auto;padding:40px 24px; }
.opp-rules-page__header { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px; }
.opp-rules-page__title { font-size:1.4rem;font-weight:700;color:var(--opp-text); }
.opp-rules-page__title i { color:var(--opp-accent-purple);margin-right:8px; }
.opp-rules-page__back { display:inline-flex;align-items:center;gap:6px;color:var(--opp-text-soft);font-size:.85rem;text-decoration:none;transition:color .2s; }
.opp-rules-page__back:hover { color:var(--opp-text);text-decoration:none; }

.opp-rule-card { background:var(--opp-glass-bg);backdrop-filter:blur(14px);border:1px solid var(--opp-glass-border);border-radius:18px;padding:24px;margin-bottom:16px;transition:border-color .25s; }
.opp-rule-card:hover { border-color:rgba(255,255,255,.18); }
.opp-rule-card__header { display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px; }
.opp-rule-card__name-input { font-size:1rem;font-weight:600;color:var(--opp-text);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:6px 12px;outline:none;flex:1;transition:border-color .2s; }
.opp-rule-card__name-input:focus { border-color:var(--opp-accent-blue); }

.opp-rule-card__toggle { position:relative;width:42px;height:24px;border-radius:12px;background:rgba(255,255,255,.1);border:none;cursor:pointer;transition:background .25s; }
.opp-rule-card__toggle.is-on { background:rgba(52,211,153,.35); }
.opp-rule-card__toggle::after { content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .25s; }
.opp-rule-card__toggle.is-on::after { transform:translateX(18px); }

.opp-rule-card__fields { display:flex;flex-direction:column;gap:12px; }
.opp-rule-field { display:flex;flex-direction:column;gap:4px; }
.opp-rule-field__label { font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--opp-text-muted); }
.opp-rule-field__input { background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 14px;color:var(--opp-text);font-size:.85rem;outline:none;transition:border-color .2s; }
.opp-rule-field__input:focus { border-color:var(--opp-accent-blue); }
.opp-rule-field__input::placeholder { color:var(--opp-text-muted); }
.opp-rule-field__hint { font-size:.7rem;color:var(--opp-text-muted); }

.opp-rule-field__row { display:flex;align-items:center;gap:10px; }
.opp-rule-field__input--short { width:120px;text-align:center; }
.opp-rule-field__separator { color:var(--opp-text-muted);font-size:.85rem;font-weight:500; }

.opp-rule-card__actions { display:flex;gap:8px;margin-top:16px;justify-content:flex-end; }
.opp-rule-card__btn { border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:var(--opp-text-soft);font-size:.78rem;font-weight:500;padding:6px 16px;border-radius:var(--opp-radius-pill);cursor:pointer;transition:all .2s; }
.opp-rule-card__btn:hover { background:rgba(255,255,255,.1);color:var(--opp-text); }
.opp-rule-card__btn--danger:hover { background:rgba(251,113,133,.15);color:var(--opp-accent-rose);border-color:rgba(251,113,133,.25); }
.opp-rule-card__btn--primary { background:rgba(77,159,255,.15);color:var(--opp-accent-blue);border-color:rgba(77,159,255,.25); }
.opp-rule-card__btn--primary:hover { background:rgba(77,159,255,.25); }

.opp-add-rule-btn { display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:18px;border:2px dashed rgba(255,255,255,.1);border-radius:18px;background:transparent;color:var(--opp-text-muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .25s; }
.opp-add-rule-btn:hover { border-color:rgba(77,159,255,.3);color:var(--opp-accent-blue);background:rgba(77,159,255,.05); }

.opp-rule-chips { display:flex;flex-wrap:wrap;gap:6px;margin-top:4px; }
.opp-rule-chip { display:inline-flex;align-items:center;gap:4px;background:rgba(77,159,255,.12);color:var(--opp-accent-blue);font-size:.73rem;font-weight:600;padding:3px 10px;border-radius:var(--opp-radius-pill); }

/* === RESPONSIVE === */
@media (max-width:767.98px) {
    .opp-canvas { padding:16px 12px 40px; }
    .opp-toolbar { flex-direction:column;align-items:flex-start; }
    .opp-bubble--lg,.opp-bubble--md,.opp-bubble--sm { width:100%; }
    .opp-bubbles-row { gap:14px; }
    .opp-archivaditas-zone { width:52px;height:52px;bottom:16px;right:16px;border-radius:16px; }
    .opp-licitar-frame-wrap { width:98vw;height:90vh;border-radius:14px; }
}
