/* Modal structure adapted from Clínica nas Nuvens / +200 recursos. */
html.dgf-b360-dialog-open { overflow: hidden; scrollbar-gutter: stable; }
.dgf-b360-rmodal, .dgf-b360-rmodal * { box-sizing: border-box; }
.dgf-b360-journey .dgf-b360-rmodal {
    width: min(1280px, calc(100vw - 48px));
    height: min(820px, calc(100svh - 48px));
    max-width: none;
    max-height: none;
    margin: auto;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(120,217,255,.22);
    border-radius: var(--dgf-radius-control, 12px);
    color: #d1e2ee;
    background: #081c30;
    box-shadow: 0 42px 110px rgba(3,12,28,.48);
    font-family: inherit;
}
.dgf-b360-rmodal[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); animation: dgfB360RmodalIn .42s cubic-bezier(.22,.8,.26,1) both; }
.dgf-b360-rmodal::backdrop { background: rgba(3,12,28,.76); backdrop-filter: blur(9px); animation: dgfB360RmodalBackdrop .25s ease both; }
.dgf-b360-rmodal__header {
    display: flex; min-height: 96px; align-items: center; justify-content: space-between;
    gap: 24px; padding: 22px 28px 20px 34px;
    border-bottom: 1px solid rgba(120,217,255,.14);
    background: linear-gradient(125deg, #102e49, #081c30 68%);
}
.dgf-b360-rmodal__eyebrow { display: block; margin-bottom: 5px; color: #ff9d4d; font-size: 10px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.dgf-b360-rmodal__header h2 { margin: 0; color: #f4faff; font-size: 26px; font-weight: 750; letter-spacing: -.025em; line-height: 1.2; }
.dgf-b360-rmodal__close { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 auto; padding: 12px; border: 1px solid rgba(120,217,255,.24); border-radius: var(--dgf-radius-control, 12px); background: #143550; color: #e9f6ff; cursor: pointer; }
.dgf-b360-rmodal__close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.dgf-b360-rmodal__body { display: grid; min-height: 0; grid-template-columns: 286px minmax(0, 1fr); }
.dgf-b360-rmodal__nav { min-height: 0; padding: 30px 18px 28px 28px; overflow-y: auto; overscroll-behavior: contain; border-right: 1px solid rgba(120,217,255,.14); background: #0c253d; }
.dgf-b360-rmodal__nav > p { margin: 0 8px 22px; color: #aac6db; font-size: 13px; line-height: 1.55; }
.dgf-b360-rmodal__items { display: grid; gap: 8px; }
.dgf-b360-rmodal .dgf-b360-rmodal__item { display: grid; grid-template-columns: 26px minmax(0, 1fr) 18px; align-items: center; gap: 10px; width: 100%; min-height: 58px; padding: 11px 12px; border: 1px solid transparent; border-radius: var(--dgf-radius-control, 12px); color: #d1e2ee; background: transparent; cursor: pointer; text-align: left; font-family: inherit; transition: background .2s, border-color .2s, color .2s; }
.dgf-b360-rmodal__item span { color: #7d9eb8; font-size: 10px; letter-spacing: .08em; }
.dgf-b360-rmodal__item strong { font-size: 13px; font-weight: 650; line-height: 1.3; }
.dgf-b360-rmodal__item i { font-style: normal; color: #8dc3dd; }
.dgf-b360-rmodal .dgf-b360-rmodal__item:hover { background: #143550; border-color: rgba(120,217,255,.22); }
.dgf-b360-rmodal .dgf-b360-rmodal__item.is-active { color: #ffae69; background: rgba(245,130,31,.10); border-color: rgba(245,130,31,.5); }
.dgf-b360-rmodal button:focus-visible { outline: 2px solid #ff9d4d; outline-offset: -3px; }
.dgf-b360-rmodal__content { min-width: 0; min-height: 0; overflow-y: auto; overscroll-behavior: contain; background: #081c30; }
.dgf-b360-ritem__copy h3:focus { outline: none; }
.dgf-b360-ritem[hidden] { display: none !important; }
@media (max-width: 960px) {
    .dgf-b360-journey .dgf-b360-rmodal { width: 100%; height: 100dvh; border: 0; border-radius: 0; }
    .dgf-b360-rmodal__header { padding-top: max(18px, env(safe-area-inset-top)); }
    .dgf-b360-rmodal__body { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
    .dgf-b360-rmodal__nav { position: relative; min-width: 0; padding: 12px 18px; border-right: 0; border-bottom: 1px solid rgba(120,217,255,.14); overflow: hidden; }
    .dgf-b360-rmodal__nav > p { display: none; }
    .dgf-b360-rmodal__items { display: flex; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; padding: 2px 20px 6px; scroll-padding-inline: 20px; scrollbar-width: thin; scrollbar-color: #577b99 transparent; }
    .dgf-b360-rmodal .dgf-b360-rmodal__item { display: flex; width: auto; max-width: 100%; min-height: 44px; flex: 0 0 auto; padding: 10px 14px; white-space: normal; border-color: rgba(120,217,255,.14); }
    .dgf-b360-rmodal__item span, .dgf-b360-rmodal__item i { display: none; }
    .dgf-b360-rmodal__nav::before, .dgf-b360-rmodal__nav::after {
        position: absolute; top: 50%; z-index: 2; display: grid; width: 26px; height: 26px;
        margin-top: -15px; place-items: center; border: 1px solid rgba(120,217,255,.24);
        border-radius: 50%; color: #d1e2ee; background: #143550; font: 700 22px/1 Arial, sans-serif;
        opacity: 0; pointer-events: none; transition: opacity .2s;
    }
    .dgf-b360-rmodal__nav::before { content: '‹'; left: 6px; }
    .dgf-b360-rmodal__nav::after { content: '›'; right: 6px; }
    .dgf-b360-rmodal__nav.has-left-hint::before, .dgf-b360-rmodal__nav.has-right-hint::after { opacity: 1; }
}
@media (max-width: 640px) {
    .dgf-b360-rmodal__header { min-height: 82px; padding-left: 18px; padding-right: 18px; gap: 12px; }
    .dgf-b360-rmodal__header h2 { font-size: 21px; }
    .dgf-b360-rmodal__eyebrow { font-size: 9px; }
    .dgf-b360-rmodal__close { width: 42px; height: 42px; }
}

/* Lazy-loaded: modal content + premium 2.5D scenes */
.dgf-b360-ritem {
    display: grid;
    min-height: 100%;
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
    gap: 34px;
    padding: 34px;
    align-items: stretch;
    animation: dgfB360RitemIn .32s ease both;
}

.dgf-b360-ritem__visual {
    min-width: 0;
    min-height: 520px;
}

.dgf-b360-ritem__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 20px 12px 20px 2px;
}

.dgf-b360-ritem__kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    color: var(--dgf-color-primary);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.dgf-b360-ritem__kicker::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(245,130,31,.10);
    background: var(--dgf-color-primary);
}

.dgf-b360-ritem__copy h3 {
    margin: 0;
    color: var(--dgf-color-heading);
    font-size: clamp(32px, 3.2vw, 48px);
    font-weight: 900;
    letter-spacing: -.045em;
    line-height: 1.02;
}

.dgf-b360-ritem__lead {
    margin: 22px 0 0;
    color: var(--dgf-color-body);
    font-size: 16px;
    line-height: 1.65;
}

.dgf-b360-ritem__benefits {
    display: grid;
    gap: 10px;
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
}

.dgf-b360-ritem__benefits li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    color: var(--dgf-color-ink);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.4;
}
.dgf-b360-ritem__benefits li::before {
    content: '✓';
    display: grid;
    width: 22px;
    height: 22px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    color: #0f775d;
    background: rgba(120,217,255,.20);
    font-size: 11px;
}

.dgf-b360-ritem__proof {
    margin: 28px 0 0;
    padding: 18px 20px;
    border-left: 3px solid var(--dgf-color-primary);
    color: var(--dgf-color-ink);
    background: rgba(245,130,31,.055);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.dgf-b360-ritem__source {
    margin: 18px 0 0;
    color: rgba(89,101,121,.72);
    font-size: 11px;
    line-height: 1.5;
}
.dgf-b360-ritem__source strong { color: rgba(16,33,63,.65); }

/* Scene */
.dgf-b360-rscene {
    --scene-a: #78d9ff;
    --scene-b: #48cfe1;
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 520px;
    overflow: hidden;
    border: 1px solid rgba(125,168,255,.17);
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 40%, rgba(48,133,198,.20), transparent 34%),
        linear-gradient(145deg, #061428 0%, #0b284d 64%, #071a36 100%);
    box-shadow: 0 38px 70px -42px rgba(6,19,39,.65);
    perspective: 900px;
    isolation: isolate;
}

.dgf-b360-rscene__grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(120,175,225,.15) 1px, transparent 1px),
        linear-gradient(90deg, rgba(120,175,225,.15) 1px, transparent 1px);
    background-size: 34px 34px;
    -webkit-mask-image: radial-gradient(circle at 50% 52%, #000 0 45%, transparent 78%);
    mask-image: radial-gradient(circle at 50% 52%, #000 0 45%, transparent 78%);
}

.dgf-b360-rscene__glow {
    position: absolute;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    filter: blur(40px);
    opacity: .20;
}
.dgf-b360-rscene__glow--a { top: -120px; right: -80px; background: var(--scene-a); }
.dgf-b360-rscene__glow--b { bottom: -120px; left: -100px; background: #f5821f; }

.dgf-b360-rscene__platform {
    position: absolute;
    z-index: 2;
    top: 54%;
    left: 50%;
    width: 64%;
    aspect-ratio: 1.65;
    transform: translate(-50%,-50%) rotateX(61deg) rotateZ(-1deg);
    border: 1px solid rgba(91,165,230,.40);
    background: linear-gradient(145deg, rgba(14,58,105,.78), rgba(5,25,54,.86));
    box-shadow: 0 30px 50px rgba(0,0,0,.34);
}
.dgf-b360-rscene__platform::before,
.dgf-b360-rscene__platform::after {
    content: '';
    position: absolute;
    inset: 7%;
    border: 1px solid rgba(120,217,255,.17);
}
.dgf-b360-rscene__platform::after { inset: 17%; border-color: rgba(245,130,31,.18); }
.dgf-b360-rscene__platform span {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--scene-a);
    box-shadow: 0 0 20px var(--scene-a);
}
.dgf-b360-rscene__platform span:nth-child(1) { top: 14%; left: 16%; }
.dgf-b360-rscene__platform span:nth-child(2) { top: 42%; right: 12%; background:#f5821f; }
.dgf-b360-rscene__platform span:nth-child(3) { bottom: 14%; left: 46%; }

.dgf-b360-rscene__module {
    position: absolute;
    z-index: 6;
    top: 46%;
    left: 50%;
    display: grid;
    width: 210px;
    min-height: 238px;
    transform: translate(-50%,-50%) translateZ(44px);
    place-items: center;
    align-content: center;
    padding: 18px;
    border: 1px solid rgba(118,178,229,.32);
    border-radius: 24px;
    color: #fff;
    background: linear-gradient(165deg, rgba(18,57,105,.96), rgba(6,27,60,.96));
    box-shadow: 0 34px 58px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.06);
}
.dgf-b360-rscene__module-top {
    position: absolute;
    top: 14px;
    right: 15px;
    left: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.dgf-b360-rscene__module-top span {
    display: grid;
    min-width: 44px;
    height: 27px;
    padding: 0 8px;
    place-items: center;
    border: 1px solid rgba(245,130,31,.42);
    border-radius: 99px;
    color: #ff9a45;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .07em;
}
.dgf-b360-rscene__module-top i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--scene-a);
    box-shadow: 0 0 18px var(--scene-a);
}
.dgf-b360-rscene__icon {
    display: grid;
    width: 100px;
    height: 100px;
    margin-top: 14px;
    place-items: center;
    border-radius: 28px;
    color: #d8f8ff;
    background: linear-gradient(145deg, rgba(71,191,225,.16), rgba(120,217,255,.07));
    box-shadow: inset 0 0 0 1px rgba(120,199,238,.18), 0 18px 38px rgba(0,0,0,.18);
}
.dgf-b360-rscene__icon svg { width: 70px; height: 70px; filter: drop-shadow(0 0 10px rgba(77,215,226,.16)); }
.dgf-b360-rscene__module > strong {
    margin-top: 15px;
    color: rgba(246,249,255,.86);
    font-size: 12px;
    font-weight: 760;
    text-align: center;
}

.dgf-b360-rscene__satellite {
    position: absolute;
    z-index: 5;
    width: 124px;
    height: 84px;
    padding: 14px;
    border: 1px solid rgba(107,172,226,.24);
    border-radius: 18px;
    background: rgba(8,35,73,.82);
    box-shadow: 0 20px 38px rgba(0,0,0,.23);
}
.dgf-b360-rscene__satellite--one { top: 25%; left: 10%; transform: rotate(-5deg); }
.dgf-b360-rscene__satellite--two { right: 9%; bottom: 20%; transform: rotate(5deg); }
.dgf-b360-rscene__satellite span { display:block; height:7px; margin-bottom:8px; border-radius:99px; background:rgba(105,175,225,.28); }
.dgf-b360-rscene__satellite span:nth-child(2) { width:70%; background:rgba(120,217,255,.35); }
.dgf-b360-rscene__satellite span:nth-child(3) { width:46%; background:rgba(245,130,31,.42); }

.dgf-b360-rscene__orbit {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    border: 1px dashed rgba(101,178,231,.28);
    border-radius: 50%;
    transform: translate(-50%,-50%);
}
.dgf-b360-rscene__orbit--one { width: 68%; height: 46%; transform: translate(-50%,-50%) rotate(-12deg); }
.dgf-b360-rscene__orbit--two { width: 54%; height: 64%; transform: translate(-50%,-50%) rotate(47deg); border-color: rgba(245,130,31,.24); }

.dgf-b360-rscene__beam {
    position: absolute;
    z-index: 4;
    height: 2px;
    transform-origin: left center;
    background: linear-gradient(90deg, transparent, var(--scene-a), transparent);
    box-shadow: 0 0 12px var(--scene-a);
}
.dgf-b360-rscene__beam--one { top: 40%; left: 27%; width: 22%; transform: rotate(13deg); }
.dgf-b360-rscene__beam--two { top: 58%; left: 51%; width: 23%; transform: rotate(-15deg); }

.dgf-b360-rscene__particle {
    position: absolute;
    z-index: 7;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--scene-a);
    box-shadow: 0 0 18px var(--scene-a);
}
.dgf-b360-rscene__particle--one { top: 31%; left: 29%; }
.dgf-b360-rscene__particle--two { top: 56%; right: 22%; background:#f5821f; box-shadow:0 0 18px #f5821f; }
.dgf-b360-rscene__particle--three { bottom: 20%; left: 40%; }

/* Scene families alter composition/accent without extra assets */
.dgf-b360-rscene--pay,
.dgf-b360-rscene--finance,
.dgf-b360-rscene--reports,
.dgf-b360-rscene--tiss { --scene-a:#f7a14f; --scene-b:#4dd1df; }
.dgf-b360-rscene--record,
.dgf-b360-rscene--prescription,
.dgf-b360-rscene--telemed,
.dgf-b360-rscene--evolution,
.dgf-b360-rscene--documents,
.dgf-b360-rscene--ai { --scene-a:#78d9ff; --scene-b:#66a9ff; }
.dgf-b360-rscene--dashboard,
.dgf-b360-rscene--inventory,
.dgf-b360-rscene--access,
.dgf-b360-rscene--branches { --scene-a:#5bc3ff; --scene-b:#78d9ff; }
.dgf-b360-rscene--school,
.dgf-b360-rscene--supervision,
.dgf-b360-rscene--classes,
.dgf-b360-rscene--community,
.dgf-b360-rscene--academic-reports,
.dgf-b360-rscene--practice { --scene-a:#7be0ce; --scene-b:#9aa8ff; }

.dgf-b360-rscene--reminders .dgf-b360-rscene__satellite--one { top:17%; left:13%; }
.dgf-b360-rscene--queue .dgf-b360-rscene__module { transform:translate(-50%,-50%) translateZ(44px) rotateY(-5deg); }
.dgf-b360-rscene--satisfaction .dgf-b360-rscene__orbit--one { width:60%; height:60%; }
.dgf-b360-rscene--telemed .dgf-b360-rscene__satellite--two { bottom:27%; }
.dgf-b360-rscene--ai .dgf-b360-rscene__orbit--one { border-style:solid; opacity:.8; }
.dgf-b360-rscene--branches .dgf-b360-rscene__module { width:230px; }
.dgf-b360-rscene--community .dgf-b360-rscene__platform { width:58%; }

@keyframes dgfB360RitemIn { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:none; } }
@keyframes dgfB360RmodalIn { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes dgfB360RmodalBackdrop { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 960px) {
    .dgf-b360-ritem {
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 22px;
        padding: 18px 18px 42px;
    }
    .dgf-b360-ritem__visual { min-height: 430px; }
    .dgf-b360-rscene { min-height: 430px; }
    .dgf-b360-ritem__copy { padding: 0 4px; }
}

@media (max-width: 640px) {
    .dgf-b360-ritem__visual { min-height: 360px; }
    .dgf-b360-rscene { min-height: 360px; border-radius: 22px; }
    .dgf-b360-rscene__module { width: 164px; min-height: 188px; border-radius:20px; }
    .dgf-b360-rscene__icon { width:78px; height:78px; border-radius:22px; }
    .dgf-b360-rscene__icon svg { width:55px; height:55px; }
    .dgf-b360-rscene__satellite { width:94px; height:68px; padding:11px; }
    .dgf-b360-ritem__copy h3 { font-size:34px; }
    .dgf-b360-ritem__lead { font-size:15px; }
}

@media (prefers-reduced-motion: reduce) {
    .dgf-b360-ritem, .dgf-b360-rmodal[open], .dgf-b360-rmodal::backdrop { animation:none; }
    .dgf-b360-rmodal .dgf-b360-rmodal__item,
    .dgf-b360-rmodal__nav::before, .dgf-b360-rmodal__nav::after { transition: none; }
}

/* ========================================================================
   v1.2.1 — Assinaturas visuais únicas por recurso
   Mesma engine 2.5D, mas composições e gestos diferentes por cena.
======================================================================== */
.dgf-b360-rscene__signature {
    position: absolute;
    z-index: 5;
    left: 10%;
    bottom: 13%;
    width: 118px;
    height: 72px;
    pointer-events: none;
}
.dgf-b360-rscene__signature span,
.dgf-b360-rscene__signature i {
    position: absolute;
    display: block;
    box-sizing: border-box;
}

/* agenda: trilha de slots */
.dgf-b360-rscene--calendar .dgf-b360-rscene__signature { left:9%; bottom:13%; width:132px; height:64px; }
.dgf-b360-rscene--calendar .dgf-b360-rscene__signature span { left:0; width:88px; height:10px; border-radius:8px; background:rgba(86,181,226,.18); }
.dgf-b360-rscene--calendar .dgf-b360-rscene__signature span:nth-child(1){top:4px}.dgf-b360-rscene--calendar .dgf-b360-rscene__signature span:nth-child(2){top:24px;width:110px;background:rgba(120,217,255,.27)}.dgf-b360-rscene--calendar .dgf-b360-rscene__signature span:nth-child(3){top:44px;width:72px;background:rgba(245,130,31,.31)}
.dgf-b360-rscene--calendar .dgf-b360-rscene__signature i { right:0; top:18px; width:24px; height:24px; border:2px solid #f5821f; border-radius:50%; box-shadow:0 0 18px rgba(245,130,31,.20); }

/* lembretes: ondas de notificação */
.dgf-b360-rscene--reminders .dgf-b360-rscene__signature { left:12%; bottom:14%; }
.dgf-b360-rscene--reminders .dgf-b360-rscene__signature span { left:11px; top:10px; border:1px solid rgba(120,217,255,.34); border-radius:50%; }
.dgf-b360-rscene--reminders .dgf-b360-rscene__signature span:nth-child(1){width:28px;height:28px}.dgf-b360-rscene--reminders .dgf-b360-rscene__signature span:nth-child(2){width:46px;height:46px;left:2px;top:1px}.dgf-b360-rscene--reminders .dgf-b360-rscene__signature span:nth-child(3){width:64px;height:64px;left:-7px;top:-8px;border-color:rgba(245,130,31,.25)}
.dgf-b360-rscene--reminders .dgf-b360-rscene__signature i { left:23px; top:22px; width:7px; height:7px; border-radius:50%; background:#78d9ff; box-shadow:0 0 14px #78d9ff; }

/* pagamento: trilha transacional */
.dgf-b360-rscene--pay .dgf-b360-rscene__signature,
.dgf-b360-rscene--finance .dgf-b360-rscene__signature { right:8%; left:auto; bottom:12%; width:142px; height:54px; }
.dgf-b360-rscene--pay .dgf-b360-rscene__signature::before,
.dgf-b360-rscene--finance .dgf-b360-rscene__signature::before { content:''; position:absolute; left:8px; right:8px; top:26px; height:2px; background:linear-gradient(90deg,transparent,#f5821f,#4dd1df,transparent); }
.dgf-b360-rscene--pay .dgf-b360-rscene__signature span,
.dgf-b360-rscene--finance .dgf-b360-rscene__signature span { top:20px; width:13px; height:13px; border-radius:50%; background:#f5821f; box-shadow:0 0 16px rgba(245,130,31,.30); }
.dgf-b360-rscene--pay .dgf-b360-rscene__signature span:nth-child(1),.dgf-b360-rscene--finance .dgf-b360-rscene__signature span:nth-child(1){left:15px}.dgf-b360-rscene--pay .dgf-b360-rscene__signature span:nth-child(2),.dgf-b360-rscene--finance .dgf-b360-rscene__signature span:nth-child(2){left:64px;background:#78d9ff}.dgf-b360-rscene--pay .dgf-b360-rscene__signature span:nth-child(3),.dgf-b360-rscene--finance .dgf-b360-rscene__signature span:nth-child(3){right:15px;background:#48cfe1}

/* fila: tickets em sequência */
.dgf-b360-rscene--queue .dgf-b360-rscene__signature { left:10%; bottom:12%; width:104px; height:80px; }
.dgf-b360-rscene--queue .dgf-b360-rscene__signature span { left:12px; width:74px; height:28px; border:1px solid rgba(92,171,226,.28); border-radius:8px; background:rgba(8,35,73,.82); }
.dgf-b360-rscene--queue .dgf-b360-rscene__signature span:nth-child(1){top:4px;transform:rotate(-5deg)}.dgf-b360-rscene--queue .dgf-b360-rscene__signature span:nth-child(2){top:25px;left:19px;transform:rotate(2deg)}.dgf-b360-rscene--queue .dgf-b360-rscene__signature span:nth-child(3){top:47px;left:7px;transform:rotate(-1deg);border-color:rgba(245,130,31,.32)}

/* satisfação: constelação de avaliação */
.dgf-b360-rscene--satisfaction .dgf-b360-rscene__signature { right:9%; left:auto; bottom:13%; width:108px; }
.dgf-b360-rscene--satisfaction .dgf-b360-rscene__signature span { top:24px; width:11px; height:11px; transform:rotate(45deg); background:#78d9ff; box-shadow:0 0 15px rgba(120,217,255,.24); }
.dgf-b360-rscene--satisfaction .dgf-b360-rscene__signature span:nth-child(1){left:9px}.dgf-b360-rscene--satisfaction .dgf-b360-rscene__signature span:nth-child(2){left:40px;top:12px;background:#f5821f}.dgf-b360-rscene--satisfaction .dgf-b360-rscene__signature span:nth-child(3){right:10px;top:30px;background:#48cfe1}

/* prontuário: pilha documental */
.dgf-b360-rscene--record .dgf-b360-rscene__signature,
.dgf-b360-rscene--documents .dgf-b360-rscene__signature { left:9%; bottom:12%; width:92px; height:78px; }
.dgf-b360-rscene--record .dgf-b360-rscene__signature span,
.dgf-b360-rscene--documents .dgf-b360-rscene__signature span { left:14px; top:8px; width:58px; height:64px; border:1px solid rgba(120,217,255,.28); border-radius:8px; background:rgba(8,35,73,.82); }
.dgf-b360-rscene--record .dgf-b360-rscene__signature span:nth-child(2),.dgf-b360-rscene--documents .dgf-b360-rscene__signature span:nth-child(2){transform:translate(9px,-5px);opacity:.7}.dgf-b360-rscene--record .dgf-b360-rscene__signature span:nth-child(3),.dgf-b360-rscene--documents .dgf-b360-rscene__signature span:nth-child(3){transform:translate(18px,-10px);opacity:.42}

/* prescrição: traço assinado */
.dgf-b360-rscene--prescription .dgf-b360-rscene__signature { right:8%; left:auto; bottom:13%; width:140px; height:62px; }
.dgf-b360-rscene--prescription .dgf-b360-rscene__signature span { left:8px; height:2px; border-radius:8px; background:linear-gradient(90deg,#78d9ff,rgba(120,217,255,.08)); transform-origin:left center; }
.dgf-b360-rscene--prescription .dgf-b360-rscene__signature span:nth-child(1){top:14px;width:104px;transform:rotate(-7deg)}.dgf-b360-rscene--prescription .dgf-b360-rscene__signature span:nth-child(2){top:31px;width:74px;transform:rotate(9deg);background:linear-gradient(90deg,#f5821f,transparent)}.dgf-b360-rscene--prescription .dgf-b360-rscene__signature span:nth-child(3){top:47px;width:119px;transform:rotate(-3deg)}

/* telemedicina: quadro de vídeo */
.dgf-b360-rscene--telemed .dgf-b360-rscene__signature { right:9%; left:auto; bottom:12%; width:118px; height:70px; border:1px solid rgba(120,217,255,.24); border-radius:14px; background:rgba(8,35,73,.56); }
.dgf-b360-rscene--telemed .dgf-b360-rscene__signature span { bottom:10px; width:13px; height:13px; border-radius:50%; background:rgba(120,217,255,.55); }.dgf-b360-rscene--telemed .dgf-b360-rscene__signature span:nth-child(1){left:27px}.dgf-b360-rscene--telemed .dgf-b360-rscene__signature span:nth-child(2){left:51px;background:rgba(245,130,31,.72)}.dgf-b360-rscene--telemed .dgf-b360-rscene__signature span:nth-child(3){left:75px;background:rgba(89,169,255,.62)}

/* evolução / relatórios: linha temporal */
.dgf-b360-rscene--evolution .dgf-b360-rscene__signature,
.dgf-b360-rscene--reports .dgf-b360-rscene__signature,
.dgf-b360-rscene--academic-reports .dgf-b360-rscene__signature { left:9%; bottom:12%; width:142px; height:64px; }
.dgf-b360-rscene--evolution .dgf-b360-rscene__signature::before,
.dgf-b360-rscene--reports .dgf-b360-rscene__signature::before,
.dgf-b360-rscene--academic-reports .dgf-b360-rscene__signature::before { content:''; position:absolute; left:9px; right:8px; top:35px; height:2px; background:rgba(120,217,255,.26); transform:rotate(-8deg); }
.dgf-b360-rscene--evolution .dgf-b360-rscene__signature span,
.dgf-b360-rscene--reports .dgf-b360-rscene__signature span,
.dgf-b360-rscene--academic-reports .dgf-b360-rscene__signature span { width:10px; height:10px; border-radius:50%; background:#78d9ff; box-shadow:0 0 13px rgba(120,217,255,.25); }.dgf-b360-rscene--evolution .dgf-b360-rscene__signature span:nth-child(1),.dgf-b360-rscene--reports .dgf-b360-rscene__signature span:nth-child(1),.dgf-b360-rscene--academic-reports .dgf-b360-rscene__signature span:nth-child(1){left:12px;top:40px}.dgf-b360-rscene--evolution .dgf-b360-rscene__signature span:nth-child(2),.dgf-b360-rscene--reports .dgf-b360-rscene__signature span:nth-child(2),.dgf-b360-rscene--academic-reports .dgf-b360-rscene__signature span:nth-child(2){left:65px;top:28px;background:#f5821f}.dgf-b360-rscene--evolution .dgf-b360-rscene__signature span:nth-child(3),.dgf-b360-rscene--reports .dgf-b360-rscene__signature span:nth-child(3),.dgf-b360-rscene--academic-reports .dgf-b360-rscene__signature span:nth-child(3){right:10px;top:17px;background:#48cfe1}

/* IA: rede neural */
.dgf-b360-rscene--ai .dgf-b360-rscene__signature { right:8%; left:auto; bottom:12%; width:118px; height:84px; }
.dgf-b360-rscene--ai .dgf-b360-rscene__signature::before,.dgf-b360-rscene--ai .dgf-b360-rscene__signature::after { content:''; position:absolute; left:24px; top:39px; width:70px; height:1px; background:rgba(120,217,255,.26); transform:rotate(25deg); }.dgf-b360-rscene--ai .dgf-b360-rscene__signature::after{transform:rotate(-24deg)}
.dgf-b360-rscene--ai .dgf-b360-rscene__signature span { width:13px; height:13px; border:1px solid #78d9ff; border-radius:50%; background:#0a2a4d; box-shadow:0 0 15px rgba(120,217,255,.22); }.dgf-b360-rscene--ai .dgf-b360-rscene__signature span:nth-child(1){left:12px;top:10px}.dgf-b360-rscene--ai .dgf-b360-rscene__signature span:nth-child(2){right:12px;top:15px}.dgf-b360-rscene--ai .dgf-b360-rscene__signature span:nth-child(3){left:52px;bottom:8px;border-color:#f5821f}

/* dashboards: mini histogram */
.dgf-b360-rscene--dashboard .dgf-b360-rscene__signature,
.dgf-b360-rscene--inventory .dgf-b360-rscene__signature { right:8%; left:auto; bottom:12%; display:flex; align-items:flex-end; gap:8px; width:116px; height:78px; padding:8px; }
.dgf-b360-rscene--dashboard .dgf-b360-rscene__signature span,
.dgf-b360-rscene--inventory .dgf-b360-rscene__signature span { position:relative; flex:1; bottom:auto; height:34%; border-radius:5px 5px 2px 2px; background:linear-gradient(#5bc3ff,#78d9ff); }.dgf-b360-rscene--dashboard .dgf-b360-rscene__signature span:nth-child(2),.dgf-b360-rscene--inventory .dgf-b360-rscene__signature span:nth-child(2){height:68%}.dgf-b360-rscene--dashboard .dgf-b360-rscene__signature span:nth-child(3),.dgf-b360-rscene--inventory .dgf-b360-rscene__signature span:nth-child(3){height:48%;background:linear-gradient(#f7a14f,#f5821f)}

/* TISS: lote/XML passando por validação */
.dgf-b360-rscene--tiss .dgf-b360-rscene__signature { left:9%; bottom:12%; width:144px; height:70px; overflow:hidden; }
.dgf-b360-rscene--tiss .dgf-b360-rscene__signature span { left:-25px; width:96px; height:18px; border:1px solid rgba(91,195,255,.25); border-radius:6px; background:rgba(8,35,73,.78); }.dgf-b360-rscene--tiss .dgf-b360-rscene__signature span:nth-child(1){top:5px}.dgf-b360-rscene--tiss .dgf-b360-rscene__signature span:nth-child(2){top:27px;left:15px}.dgf-b360-rscene--tiss .dgf-b360-rscene__signature span:nth-child(3){top:49px;left:55px;border-color:rgba(245,130,31,.30)}

/* acesso: anéis de autorização */
.dgf-b360-rscene--access .dgf-b360-rscene__signature { left:10%; bottom:13%; width:82px; height:82px; }
.dgf-b360-rscene--access .dgf-b360-rscene__signature span { inset:8px; border:1px solid rgba(120,217,255,.25); border-radius:50%; }.dgf-b360-rscene--access .dgf-b360-rscene__signature span:nth-child(2){inset:19px;border-color:rgba(91,195,255,.32)}.dgf-b360-rscene--access .dgf-b360-rscene__signature span:nth-child(3){inset:30px;border-color:rgba(245,130,31,.42)}

/* multiunidades / supervisão: nós conectados */
.dgf-b360-rscene--branches .dgf-b360-rscene__signature,
.dgf-b360-rscene--supervision .dgf-b360-rscene__signature,
.dgf-b360-rscene--community .dgf-b360-rscene__signature { right:8%; left:auto; bottom:12%; width:132px; height:84px; }
.dgf-b360-rscene--branches .dgf-b360-rscene__signature::before,.dgf-b360-rscene--supervision .dgf-b360-rscene__signature::before,.dgf-b360-rscene--community .dgf-b360-rscene__signature::before{content:'';position:absolute;left:19px;right:19px;top:43px;height:1px;background:rgba(120,217,255,.30);transform:rotate(-9deg)}
.dgf-b360-rscene--branches .dgf-b360-rscene__signature span,.dgf-b360-rscene--supervision .dgf-b360-rscene__signature span,.dgf-b360-rscene--community .dgf-b360-rscene__signature span{width:17px;height:17px;border-radius:50%;background:#0b335d;border:2px solid #78d9ff;box-shadow:0 0 15px rgba(120,217,255,.18)}.dgf-b360-rscene--branches .dgf-b360-rscene__signature span:nth-child(1),.dgf-b360-rscene--supervision .dgf-b360-rscene__signature span:nth-child(1),.dgf-b360-rscene--community .dgf-b360-rscene__signature span:nth-child(1){left:10px;top:45px}.dgf-b360-rscene--branches .dgf-b360-rscene__signature span:nth-child(2),.dgf-b360-rscene--supervision .dgf-b360-rscene__signature span:nth-child(2),.dgf-b360-rscene--community .dgf-b360-rscene__signature span:nth-child(2){left:57px;top:16px;border-color:#5bc3ff}.dgf-b360-rscene--branches .dgf-b360-rscene__signature span:nth-child(3),.dgf-b360-rscene--supervision .dgf-b360-rscene__signature span:nth-child(3),.dgf-b360-rscene--community .dgf-b360-rscene__signature span:nth-child(3){right:8px;top:42px;border-color:#f5821f}

/* escola / turmas / prática: blocos acadêmicos */
.dgf-b360-rscene--school .dgf-b360-rscene__signature,
.dgf-b360-rscene--classes .dgf-b360-rscene__signature,
.dgf-b360-rscene--practice .dgf-b360-rscene__signature { left:9%; bottom:12%; width:128px; height:78px; }
.dgf-b360-rscene--school .dgf-b360-rscene__signature span,
.dgf-b360-rscene--classes .dgf-b360-rscene__signature span,
.dgf-b360-rscene--practice .dgf-b360-rscene__signature span { width:43px; height:34px; border:1px solid rgba(123,224,206,.28); border-radius:7px; background:rgba(8,35,73,.76); transform:rotateX(15deg) rotateY(-9deg); }.dgf-b360-rscene--school .dgf-b360-rscene__signature span:nth-child(1),.dgf-b360-rscene--classes .dgf-b360-rscene__signature span:nth-child(1),.dgf-b360-rscene--practice .dgf-b360-rscene__signature span:nth-child(1){left:8px;top:28px}.dgf-b360-rscene--school .dgf-b360-rscene__signature span:nth-child(2),.dgf-b360-rscene--classes .dgf-b360-rscene__signature span:nth-child(2),.dgf-b360-rscene--practice .dgf-b360-rscene__signature span:nth-child(2){left:44px;top:12px}.dgf-b360-rscene--school .dgf-b360-rscene__signature span:nth-child(3),.dgf-b360-rscene--classes .dgf-b360-rscene__signature span:nth-child(3),.dgf-b360-rscene--practice .dgf-b360-rscene__signature span:nth-child(3){right:4px;top:33px;border-color:rgba(154,168,255,.32)}

/* pequenas mudanças de composição: não são apenas "o mesmo card com outro ícone" */
.dgf-b360-rscene--calendar .dgf-b360-rscene__module { top:43%; left:48%; }
.dgf-b360-rscene--reminders .dgf-b360-rscene__module { top:44%; left:54%; }
.dgf-b360-rscene--pay .dgf-b360-rscene__module { top:48%; left:46%; }
.dgf-b360-rscene--queue .dgf-b360-rscene__module { top:45%; left:53%; }
.dgf-b360-rscene--satisfaction .dgf-b360-rscene__module { top:43%; left:50%; }
.dgf-b360-rscene--finance .dgf-b360-rscene__module { top:49%; left:47%; }
.dgf-b360-rscene--record .dgf-b360-rscene__module { top:44%; left:47%; }
.dgf-b360-rscene--prescription .dgf-b360-rscene__module { top:46%; left:53%; }
.dgf-b360-rscene--telemed .dgf-b360-rscene__module { top:43%; left:51%; }
.dgf-b360-rscene--evolution .dgf-b360-rscene__module { top:48%; left:46%; }
.dgf-b360-rscene--documents .dgf-b360-rscene__module { top:44%; left:52%; }
.dgf-b360-rscene--ai .dgf-b360-rscene__module { top:46%; left:50%; }
.dgf-b360-rscene--dashboard .dgf-b360-rscene__module { top:43%; left:48%; }
.dgf-b360-rscene--tiss .dgf-b360-rscene__module { top:47%; left:53%; }
.dgf-b360-rscene--inventory .dgf-b360-rscene__module { top:44%; left:49%; }
.dgf-b360-rscene--reports .dgf-b360-rscene__module { top:48%; left:46%; }
.dgf-b360-rscene--access .dgf-b360-rscene__module { top:44%; left:53%; }
.dgf-b360-rscene--branches .dgf-b360-rscene__module { top:46%; left:48%; }
.dgf-b360-rscene--school .dgf-b360-rscene__module { top:43%; left:51%; }
.dgf-b360-rscene--supervision .dgf-b360-rscene__module { top:47%; left:47%; }
.dgf-b360-rscene--classes .dgf-b360-rscene__module { top:44%; left:53%; }
.dgf-b360-rscene--community .dgf-b360-rscene__module { top:46%; left:48%; }
.dgf-b360-rscene--academic-reports .dgf-b360-rscene__module { top:43%; left:52%; }
.dgf-b360-rscene--practice .dgf-b360-rscene__module { top:47%; left:49%; }

@media (max-width:640px) {
    .dgf-b360-rscene__signature { transform:scale(.78); transform-origin:left bottom; }
    .dgf-b360-rscene--pay .dgf-b360-rscene__signature,
    .dgf-b360-rscene--finance .dgf-b360-rscene__signature,
    .dgf-b360-rscene--telemed .dgf-b360-rscene__signature,
    .dgf-b360-rscene--ai .dgf-b360-rscene__signature,
    .dgf-b360-rscene--dashboard .dgf-b360-rscene__signature,
    .dgf-b360-rscene--inventory .dgf-b360-rscene__signature,
    .dgf-b360-rscene--branches .dgf-b360-rscene__signature,
    .dgf-b360-rscene--supervision .dgf-b360-rscene__signature,
    .dgf-b360-rscene--community .dgf-b360-rscene__signature { transform-origin:right bottom; }
}

/* ========================================================================
   v1.2.2 — Assinaturas visuais únicas por recurso
   Cada cena mantém a mesma linguagem 2.5D, mas o gesto/objeto secundário muda.
======================================================================== */
.dgf-b360-rscene__prop{position:absolute;z-index:8;pointer-events:none;transform-style:preserve-3d}
.dgf-b360-rscene__prop span,.dgf-b360-rscene__prop i,.dgf-b360-rscene__prop b,.dgf-b360-rscene__prop strong{position:absolute;box-sizing:border-box}

/* Agenda: slots que são preenchidos sequencialmente. */
.dgf-b360-rscene .prop-calendar{left:8%;bottom:12%;width:150px;height:82px;border:1px solid rgba(91,195,255,.18);border-radius:16px;background:rgba(6,31,65,.52);padding:14px}
.dgf-b360-rscene .prop-calendar .slot{left:16px;width:90px;height:12px;border-radius:7px;background:rgba(91,195,255,.16)}
.dgf-b360-rscene .prop-calendar .slot:nth-child(1){top:14px}.dgf-b360-rscene .prop-calendar .slot:nth-child(2){top:35px}.dgf-b360-rscene .prop-calendar .slot:nth-child(3){top:56px}
.dgf-b360-rscene .prop-calendar .cursor{right:18px;top:15px;width:14px;height:14px;border-radius:50%;background:#f5821f;box-shadow:0 0 16px rgba(245,130,31,.45)}
/* Lembretes: ondas de envio + check de confirmação. */
.dgf-b360-rscene .prop-reminders{right:8%;bottom:12%;width:128px;height:92px}.dgf-b360-rscene .prop-reminders .wave{left:18px;top:34px;width:54px;height:54px;border:1px solid rgba(120,217,255,.32);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%}.dgf-b360-rscene .prop-reminders .wave-b{left:5px;top:21px;width:80px;height:80px;opacity:.55}.dgf-b360-rscene .prop-reminders .check{right:8px;top:36px;display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#78d9ff;color:#06294d;font-weight:900}
/* Pay: moeda cruza a trilha e termina em recibo. */
.dgf-b360-rscene .prop-pay{left:9%;bottom:12%;width:154px;height:76px}.dgf-b360-rscene .prop-pay .coin{left:0;top:20px;display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#f5821f;color:#fff;font-size:11px;font-weight:900}.dgf-b360-rscene .prop-pay .flow{left:38px;right:39px;top:38px;height:2px;background:linear-gradient(90deg,#f5821f,#78d9ff)}.dgf-b360-rscene .prop-pay .receipt{right:0;top:8px;width:42px;height:58px;border:1px solid rgba(120,217,255,.35);border-radius:8px;background:rgba(7,35,70,.74)}
/* Fila: cartões numéricos avançam. */
.dgf-b360-rscene .prop-queue{right:8%;bottom:12%;width:142px;height:74px;display:flex;align-items:center;gap:7px}.dgf-b360-rscene .prop-queue span{position:relative;display:grid;width:42px;height:36px;place-items:center;border:1px solid rgba(91,195,255,.22);border-radius:9px;background:rgba(7,35,70,.74);color:#93a8c7;font-size:10px;font-weight:900}.dgf-b360-rscene .prop-queue .active{border-color:#f5821f;color:#fff;box-shadow:0 0 18px rgba(245,130,31,.18)}
/* Satisfação: estrelas acendem uma a uma. */
.dgf-b360-rscene .prop-satisfaction{left:9%;bottom:13%;width:150px;height:48px}.dgf-b360-rscene .prop-satisfaction span{position:relative;display:inline-block;margin-right:7px;color:rgba(255,255,255,.22);font-size:24px;text-shadow:0 0 14px transparent}
/* Financeiro: Pix se divide e baixa no banco. */
.dgf-b360-rscene .prop-finance{right:8%;bottom:12%;width:164px;height:86px}.dgf-b360-rscene .prop-finance .pix{left:0;top:28px;padding:7px 9px;border-radius:8px;background:#78d9ff;color:#07325b;font-size:10px;font-weight:900}.dgf-b360-rscene .prop-finance .split{left:52px;top:41px;width:44px;height:2px;background:#5bc3ff;transform-origin:left}.dgf-b360-rscene .prop-finance .split-b{transform:rotate(28deg)}.dgf-b360-rscene .prop-finance .split-a{transform:rotate(-28deg)}.dgf-b360-rscene .prop-finance .bank{right:0;top:26px;padding:8px 10px;border:1px solid rgba(245,130,31,.28);border-radius:8px;color:#f7a14f;font-size:9px;font-weight:900}
/* Prontuário: páginas deslizam como histórico longitudinal. */
.dgf-b360-rscene .prop-record{left:8%;bottom:11%;width:150px;height:96px}.dgf-b360-rscene .prop-record .page{width:82px;height:58px;border:1px solid rgba(91,195,255,.22);border-radius:8px;background:rgba(7,35,70,.78);box-shadow:0 12px 24px rgba(2,16,36,.16)}.dgf-b360-rscene .prop-record .page-a{left:4px;top:24px}.dgf-b360-rscene .prop-record .page-b{left:28px;top:14px}.dgf-b360-rscene .prop-record .page-c{left:52px;top:4px;border-color:rgba(120,217,255,.32)}
/* Prescrição: assinatura desenhada e carimbo final. */
.dgf-b360-rscene .prop-prescription{right:8%;bottom:12%;width:150px;height:80px}.dgf-b360-rscene .prop-prescription .rx{left:5px;top:20px;color:#5bc3ff;font:900 22px/1 sans-serif}.dgf-b360-rscene .prop-prescription .stroke{left:42px;top:38px;width:58px;height:2px;background:#78d9ff;transform:rotate(-9deg);transform-origin:left}.dgf-b360-rscene .prop-prescription .signed{right:0;top:24px;padding:7px;border:1px solid rgba(245,130,31,.34);border-radius:7px;color:#f5821f;font-size:8px;font-weight:900}
/* Telemedicina: participante + sinal + exame compartilhado. */
.dgf-b360-rscene .prop-telemed{right:8%;bottom:11%;width:154px;height:92px}.dgf-b360-rscene .prop-telemed .person{left:6px;top:27px;width:34px;height:34px;border:2px solid #78d9ff;border-radius:50%}.dgf-b360-rscene .prop-telemed .signal{left:48px;top:37px;width:52px;height:18px;border-top:2px solid #5bc3ff;border-radius:50%}.dgf-b360-rscene .prop-telemed .exam{right:0;top:13px;width:48px;height:62px;border:1px solid rgba(245,130,31,.27);border-radius:8px;background:rgba(7,35,70,.7)}
/* Evolução: três pontos avançam em uma linha clínica. */
.dgf-b360-rscene .prop-evolution{left:8%;bottom:13%;width:160px;height:70px}.dgf-b360-rscene .prop-evolution i{left:14px;right:12px;top:37px;height:2px;background:linear-gradient(90deg,rgba(91,195,255,.25),#78d9ff)}.dgf-b360-rscene .prop-evolution .dot{top:31px;width:14px;height:14px;border-radius:50%;background:#0a2a4d;border:2px solid #5bc3ff}.dgf-b360-rscene .prop-evolution .dot-a{left:14px}.dgf-b360-rscene .prop-evolution .dot-b{left:70px;border-color:#f5821f}.dgf-b360-rscene .prop-evolution .dot-c{right:10px;border-color:#78d9ff}
/* Documentos: duas folhas entram e recebem selo. */
.dgf-b360-rscene .prop-documents{right:8%;bottom:12%;width:142px;height:88px}.dgf-b360-rscene .prop-documents .doc{width:68px;height:54px;border:1px solid rgba(91,195,255,.24);border-radius:8px;background:rgba(7,35,70,.74)}.dgf-b360-rscene .prop-documents .doc-a{left:5px;top:22px;transform:rotate(-6deg)}.dgf-b360-rscene .prop-documents .doc-b{left:37px;top:8px;transform:rotate(5deg)}.dgf-b360-rscene .prop-documents .stamp{right:2px;bottom:6px;display:grid;width:31px;height:31px;place-items:center;border-radius:50%;background:#78d9ff;color:#06294d;font-weight:900}
/* IA: rede de quatro nós que converge em insight. */
.dgf-b360-rscene .prop-ai{right:8%;bottom:11%;width:140px;height:104px}.dgf-b360-rscene .prop-ai .node{width:17px;height:17px;border-radius:50%;background:#0a2a4d;border:2px solid #78d9ff;box-shadow:0 0 15px rgba(120,217,255,.2)}.dgf-b360-rscene .prop-ai .n1{left:7px;top:13px}.dgf-b360-rscene .prop-ai .n2{right:9px;top:19px;border-color:#5bc3ff}.dgf-b360-rscene .prop-ai .n3{left:30px;bottom:8px;border-color:#f5821f}.dgf-b360-rscene .prop-ai .n4{right:34px;bottom:10px}.dgf-b360-rscene .prop-ai .link{left:25px;top:49px;width:88px;height:1px;background:rgba(91,195,255,.26);transform:rotate(24deg)}.dgf-b360-rscene .prop-ai .l2{transform:rotate(-25deg)}
/* Dashboard: barras com alvo de decisão. */
.dgf-b360-rscene .prop-dashboard{right:8%;bottom:12%;width:150px;height:88px;display:flex;align-items:flex-end;gap:8px;padding:14px 50px 10px 8px}.dgf-b360-rscene .prop-dashboard .bar{position:relative;flex:1;border-radius:5px 5px 2px 2px;background:linear-gradient(#5bc3ff,#78d9ff)}.dgf-b360-rscene .prop-dashboard .b1{height:28%}.dgf-b360-rscene .prop-dashboard .b2{height:51%}.dgf-b360-rscene .prop-dashboard .b3{height:68%}.dgf-b360-rscene .prop-dashboard .b4{height:86%;background:linear-gradient(#f7a14f,#f5821f)}.dgf-b360-rscene .prop-dashboard .target{right:4px;top:22px;width:35px;height:35px;border:1px solid #78d9ff;border-radius:50%}
/* TISS: lotes XML atravessam validação. */
.dgf-b360-rscene .prop-tiss{left:8%;bottom:11%;width:158px;height:90px}.dgf-b360-rscene .prop-tiss .batch{left:0;width:66px;height:22px;padding:5px 8px;border:1px solid rgba(91,195,255,.25);border-radius:6px;background:rgba(7,35,70,.76);color:#91a9ca;font-size:8px;font-weight:900}.dgf-b360-rscene .prop-tiss .batch-a{top:5px}.dgf-b360-rscene .prop-tiss .batch-b{top:34px;left:32px}.dgf-b360-rscene .prop-tiss .batch-c{top:63px;left:74px;border-color:rgba(120,217,255,.45);color:#78d9ff}
/* Estoque: caixas reposicionam e alerta some. */
.dgf-b360-rscene .prop-inventory{right:8%;bottom:12%;width:142px;height:94px}.dgf-b360-rscene .prop-inventory .box{width:40px;height:34px;border:1px solid rgba(91,195,255,.25);background:rgba(7,35,70,.74);transform:skewY(-8deg)}.dgf-b360-rscene .prop-inventory .box-a{left:5px;bottom:5px}.dgf-b360-rscene .prop-inventory .box-b{left:48px;bottom:5px}.dgf-b360-rscene .prop-inventory .box-c{left:28px;bottom:42px;border-color:rgba(120,217,255,.35)}.dgf-b360-rscene .prop-inventory .alert{right:3px;top:8px;display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#f5821f;color:#fff;font-weight:900}
/* Relatórios: linhas financeiras + DRE. */
.dgf-b360-rscene .prop-reports{left:8%;bottom:12%;width:150px;height:90px}.dgf-b360-rscene .prop-reports .line{left:5px;height:3px;border-radius:4px;background:#5bc3ff}.dgf-b360-rscene .prop-reports .l1{top:22px;width:74px}.dgf-b360-rscene .prop-reports .l2{top:42px;width:102px;background:#78d9ff}.dgf-b360-rscene .prop-reports .l3{top:62px;width:55px;background:#f5821f}.dgf-b360-rscene .prop-reports strong{right:0;top:31px;color:rgba(255,255,255,.62);font-size:16px}
/* Acesso: círculos de permissão convergem numa chave. */
.dgf-b360-rscene .prop-access{right:9%;bottom:12%;width:110px;height:100px}.dgf-b360-rscene .prop-access .ring{inset:8px;border:1px solid rgba(120,217,255,.28);border-radius:50%}.dgf-b360-rscene .prop-access .r2{inset:24px;border-color:rgba(91,195,255,.35)}.dgf-b360-rscene .prop-access .key{left:48px;top:44px;width:16px;height:16px;border-radius:50%;background:#f5821f;box-shadow:0 0 18px rgba(245,130,31,.3)}
/* Multiunidades: três filiais conversam com hub central. */
.dgf-b360-rscene .prop-branches{right:8%;bottom:11%;width:154px;height:100px}.dgf-b360-rscene .prop-branches .branch{width:38px;height:36px;border:1px solid rgba(91,195,255,.25);border-radius:7px;background:rgba(7,35,70,.74)}.dgf-b360-rscene .prop-branches .branch-a{left:0;top:12px}.dgf-b360-rscene .prop-branches .branch-b{right:0;top:12px}.dgf-b360-rscene .prop-branches .branch-c{left:58px;bottom:0;border-color:rgba(120,217,255,.34)}.dgf-b360-rscene .prop-branches .hub{left:70px;top:37px;width:18px;height:18px;border-radius:50%;background:#f5821f}
/* Clínica-escola: triângulo docente-aluno-paciente com aprovação. */
.dgf-b360-rscene .prop-school{left:8%;bottom:10%;width:170px;height:112px}.dgf-b360-rscene .prop-school .teacher,.dgf-b360-rscene .prop-school .student,.dgf-b360-rscene .prop-school .patient{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:rgba(7,35,70,.78);border:1px solid rgba(91,195,255,.26)}.dgf-b360-rscene .prop-school .teacher{left:2px;top:2px;border-color:rgba(245,130,31,.4)}.dgf-b360-rscene .prop-school .teacher::after{content:'DOC';color:#f7a14f;font:900 8px sans-serif}.dgf-b360-rscene .prop-school .student{right:2px;top:2px}.dgf-b360-rscene .prop-school .student::after{content:'ALU';color:#5bc3ff;font:900 8px sans-serif}.dgf-b360-rscene .prop-school .patient{left:64px;bottom:0;border-color:rgba(120,217,255,.4)}.dgf-b360-rscene .prop-school .patient::after{content:'PAC';color:#78d9ff;font:900 8px sans-serif}.dgf-b360-rscene .prop-school .approval{left:72px;top:30px;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:#78d9ff;color:#06294d}.dgf-b360-rscene .prop-school .flow{left:28px;right:28px;top:45px;height:42px;border:1px dashed rgba(91,195,255,.25);border-radius:50%}
/* Supervisão: visão docente sobre cartão do aluno. */
.dgf-b360-rscene .prop-supervision{right:8%;bottom:11%;width:148px;height:96px}.dgf-b360-rscene .prop-supervision .teacher-eye{left:5px;top:27px;width:42px;height:26px;border:2px solid #f5821f;border-radius:50% 50% 45% 45%}.dgf-b360-rscene .prop-supervision .teacher-eye::after{content:'';position:absolute;left:14px;top:5px;width:10px;height:10px;border-radius:50%;background:#f5821f}.dgf-b360-rscene .prop-supervision .student-card{right:5px;top:10px;width:70px;height:62px;border:1px solid rgba(91,195,255,.28);border-radius:9px;background:rgba(7,35,70,.76)}.dgf-b360-rscene .prop-supervision .approval{right:24px;bottom:1px;display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:#78d9ff;color:#06294d}
/* Turmas: cartões se organizam em uma grade. */
.dgf-b360-rscene .prop-classes{left:8%;bottom:12%;width:154px;height:94px}.dgf-b360-rscene .prop-classes .class{width:64px;height:30px;border:1px solid rgba(91,195,255,.24);border-radius:7px;background:rgba(7,35,70,.74)}.dgf-b360-rscene .prop-classes .c1{left:0;top:0}.dgf-b360-rscene .prop-classes .c2{right:0;top:0}.dgf-b360-rscene .prop-classes .c3{left:45px;bottom:0;border-color:rgba(120,217,255,.36)}.dgf-b360-rscene .prop-classes .student-dot{left:70px;top:40px;width:15px;height:15px;border-radius:50%;background:#f5821f}
/* Comunidade: pessoas orbitam núcleo assistencial. */
.dgf-b360-rscene .prop-community{right:8%;bottom:10%;width:130px;height:110px}.dgf-b360-rscene .prop-community .center{left:49px;top:39px;width:34px;height:34px;border-radius:50%;background:#78d9ff;box-shadow:0 0 22px rgba(120,217,255,.24)}.dgf-b360-rscene .prop-community .person{width:16px;height:16px;border-radius:50%;background:#0a2a4d;border:2px solid #5bc3ff}.dgf-b360-rscene .prop-community .p1{left:8px;top:11px}.dgf-b360-rscene .prop-community .p2{right:7px;top:18px;border-color:#f5821f}.dgf-b360-rscene .prop-community .p3{left:21px;bottom:8px;border-color:#78d9ff}
/* Relatórios acadêmicos: três notas sobem por aluno. */
.dgf-b360-rscene .prop-academic{left:8%;bottom:12%;width:150px;height:90px;display:flex;align-items:flex-end;gap:9px;padding:24px 55px 7px 8px}.dgf-b360-rscene .prop-academic .score{position:relative;flex:1;background:linear-gradient(#5bc3ff,#78d9ff);border-radius:5px 5px 2px 2px}.dgf-b360-rscene .prop-academic .s1{height:36%}.dgf-b360-rscene .prop-academic .s2{height:62%}.dgf-b360-rscene .prop-academic .s3{height:82%;background:linear-gradient(#f7a14f,#f5821f)}.dgf-b360-rscene .prop-academic strong{right:2px;top:33px;color:rgba(255,255,255,.58);font-size:10px}
/* Formação prática: três competências são validadas e liberam PRONTO. */
.dgf-b360-rscene .prop-practice{right:8%;bottom:11%;width:150px;height:96px}.dgf-b360-rscene .prop-practice .skill{left:5px;width:84px;height:14px;border:1px solid rgba(91,195,255,.22);border-radius:6px;background:rgba(7,35,70,.74)}.dgf-b360-rscene .prop-practice .skill-a{top:8px}.dgf-b360-rscene .prop-practice .skill-b{top:33px}.dgf-b360-rscene .prop-practice .skill-c{top:58px}.dgf-b360-rscene .prop-practice .ready{right:0;top:32px;padding:8px 9px;border-radius:8px;background:#78d9ff;color:#06294d;font-size:8px;font-weight:900;opacity:.2}

@media(max-width:760px){.dgf-b360-rscene__prop{transform:scale(.78);transform-origin:left bottom}.dgf-b360-rscene__prop[style]{transform:scale(.78)}}


/* Bionexo palette and viewport fit; scene geometry comes from the reference. */
.dgf-b360-rmodal .dgf-b360-ritem { --dgf-color-primary: #ff9d4d; --dgf-color-heading: #f4faff; --dgf-color-body: #b6cede; --dgf-color-ink: #d1e2ee; }
.dgf-b360-rmodal .dgf-b360-ritem__copy h3 { color: #f4faff; font-size: clamp(28px, 2.8vw, 42px); overflow-wrap: anywhere; }
.dgf-b360-rmodal .dgf-b360-ritem__benefits li::before { color: #ffad66; background: rgba(245,130,31,.14); }
.dgf-b360-rmodal .dgf-b360-rscene { --scene-a: #78d9ff; --scene-b: #f5821f; border-radius: var(--dgf-radius-control, 12px); }
.dgf-b360-rscene .prop-trace { left: 9%; bottom: 9%; width: 130px; height: 78px; padding: 10px; border: 1px solid rgba(120,217,255,.3); border-radius: 8px; background: #0a2a4d; }
.dgf-b360-rscene .prop-trace .barcode { inset: 12px 14px 26px; background: repeating-linear-gradient(90deg, #78d9ff 0 2px, transparent 2px 5px, #78d9ff 5px 9px, transparent 9px 12px); }
.dgf-b360-rscene .prop-trace .scan { left: 6px; right: 6px; top: 8px; height: 2px; background: #f5821f; box-shadow: 0 0 12px #f5821f; }
.dgf-b360-rscene .prop-trace strong { bottom: 6px; left: 14px; font-size: 9px; color: #cdeeff; }
.dgf-b360-rscene .prop-orders { right: 8%; bottom: 10%; width: 154px; height: 82px; }
.dgf-b360-rscene .prop-orders span { width: 66px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(120,217,255,.4); border-radius: 8px; background: #0a2a4d; font: 700 9px sans-serif; color: #cdeeff; }
.dgf-b360-rscene .prop-orders .order { left: 0; top: 0; }
.dgf-b360-rscene .prop-orders .invoice { right: 0; bottom: 0; border-color: #f5821f; }
.dgf-b360-rscene .prop-orders .delivery { right: 14px; top: 0; font-style: normal; color: #ff9d4d; font-size: 22px; }
@media (min-width: 961px) and (max-width: 1199px) {
    .dgf-b360-ritem { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 24px; }
    .dgf-b360-ritem__visual, .dgf-b360-rscene { min-height: 420px; }
}
@media (max-width: 960px) { .dgf-b360-ritem { padding-bottom: max(42px, env(safe-area-inset-bottom)); } }
