/* ============================================================
   C-GESTUS Planner · v2.2.3
   Menu flutuante + leque sem contentor + perfil no topo
   ============================================================ */

:root{
    --v223-blue:#1197dc;
    --v223-blue-deep:#0874c4;
    --v223-ink:#132733;
    --v223-line:rgba(92,146,173,.20);
    --v223-glass:rgba(255,255,255,.88);
    --v223-shadow:0 18px 52px rgba(15,54,73,.16)
}

/* ------------------------------------------------------------
   Perfil
   ------------------------------------------------------------ */
.v223-profile-trigger{
    min-height:44px;
    display:flex;
    align-items:center;
    gap:8px;
    padding:4px 7px 4px 5px;
    border:1px solid rgba(101,146,167,.16);
    border-radius:15px;
    background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(244,249,251,.72));
    color:var(--v223-ink);
    box-shadow:0 8px 24px rgba(17,59,78,.07),inset 0 1px 0 rgba(255,255,255,.92);
    cursor:pointer
}
.v223-profile-trigger:hover{
    transform:translateY(-1px);
    border-color:rgba(17,151,220,.28);
    box-shadow:0 10px 28px rgba(17,93,132,.10),inset 0 1px 0 rgba(255,255,255,.96)
}
.v223-profile-avatar{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:2px solid rgba(255,255,255,.94);
    border-radius:50%;
    background:linear-gradient(145deg,#1ba3e5,#0b76c5);
    color:#fff;
    box-shadow:0 5px 16px rgba(15,125,184,.20);
    font-size:10px;
    font-weight:900;
    letter-spacing:.03em
}
.v223-profile-avatar img{
    width:100%;height:100%;object-fit:cover;display:block
}
.v223-profile-trigger-copy{
    display:grid;
    gap:1px;
    min-width:0;
    text-align:left
}
.v223-profile-trigger-copy strong{
    max-width:132px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px
}
.v223-profile-trigger-copy small{
    color:#8b999f;
    font-size:6.5px
}
.v223-profile-trigger>.apm-icon{
    width:13px;height:13px;color:#81929a
}
.v223-profile-menu{
    position:fixed;
    right:16px;
    top:66px;
    z-index:315;
    width:min(310px,calc(100vw - 24px));
    overflow:hidden;
    border:1px solid rgba(92,146,173,.18);
    border-radius:18px;
    background:rgba(255,255,255,.94);
    box-shadow:0 26px 70px rgba(11,42,58,.20),inset 0 1px 0 rgba(255,255,255,.96);
    backdrop-filter:blur(24px) saturate(1.08);
    -webkit-backdrop-filter:blur(24px) saturate(1.08)
}
.v223-profile-menu[hidden]{display:none!important}
.v223-profile-card{
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:11px;
    align-items:center;
    padding:14px;
    border-bottom:1px solid rgba(91,145,171,.13)
}
.v223-profile-avatar-large{width:52px;height:52px;flex-basis:52px;font-size:14px}
.v223-profile-card strong,.v223-profile-card small,.v223-profile-card span{display:block}
.v223-profile-card strong{font-size:11px}
.v223-profile-card small{
    margin-top:2px;
    overflow:hidden;
    color:#7c8d94;
    font-size:7px;
    text-overflow:ellipsis;
    white-space:nowrap
}
.v223-profile-card>div>span{
    margin-top:5px;
    color:#1785bf;
    font-size:7px;
    font-weight:800
}
.v223-profile-menu nav{display:grid;padding:7px}
.v223-profile-menu nav>a,
.v223-profile-logout{
    min-height:40px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:8px 10px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#455b65;
    font-size:9px;
    font-weight:760;
    text-align:left
}
.v223-profile-menu nav>a:hover{background:#f1f8fb;color:#147cb2}
.v223-profile-menu nav .apm-icon,.v223-profile-logout .apm-icon{width:17px;height:17px}
.v223-profile-logout{
    width:calc(100% - 14px);
    margin:0 7px 7px;
    border:1px solid rgba(206,73,65,.18);
    background:#fff8f7;
    color:#b84740;
    cursor:pointer
}
.v223-profile-logout:hover{background:#fff1ef;border-color:rgba(206,73,65,.28)}

/* ------------------------------------------------------------
   Botão flutuante: é o único invólucro permanente do Hub.
   ------------------------------------------------------------ */
.v223-floating-menu{display:none}
body[data-menu-desktop="hub"] .v223-floating-menu,
body[data-menu-mobile="hub"] .v223-floating-menu{
    position:fixed;
    left:72px;
    top:50%;
    z-index:245;
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(95,181,224,.34);
    border-radius:50%;
    background:radial-gradient(circle at 34% 28%,#2db0e9 0,#1599dd 40%,#0870c4 100%);
    color:#fff;
    box-shadow:0 15px 34px rgba(3,103,164,.30),0 0 0 7px rgba(25,155,218,.08),inset 0 1px 0 rgba(255,255,255,.42);
    cursor:grab;
    touch-action:none;
    user-select:none;
    -webkit-user-select:none;
    transition:box-shadow .18s ease,filter .18s ease,opacity .14s ease
}
body[data-menu-desktop="hub"] .v223-floating-menu:active,
body[data-menu-mobile="hub"] .v223-floating-menu:active{cursor:grabbing}
.v223-floating-menu img{width:31px;height:31px;object-fit:contain;filter:brightness(0) invert(1)}
.v223-floating-menu small{
    position:absolute;
    left:50%;
    bottom:-16px;
    transform:translateX(-50%);
    padding:2px 5px;
    border-radius:999px;
    background:rgba(255,255,255,.88);
    color:#52717f;
    box-shadow:0 5px 14px rgba(19,58,76,.08);
    font-size:6px;
    font-weight:850;
    letter-spacing:.03em;
    white-space:nowrap
}
.v223-floating-ring{
    position:absolute;
    inset:-8px;
    border:1px solid rgba(50,176,231,.24);
    border-radius:50%;
    opacity:.8
}
.v223-floating-menu.is-dragging{filter:saturate(1.18) brightness(1.05);box-shadow:0 20px 44px rgba(3,103,164,.34),0 0 0 10px rgba(25,155,218,.10)}
.v223-floating-menu.is-open{
    opacity:0;
    pointer-events:none
}

/* O hub não precisa de botão duplicado no cabeçalho nem no fundo. */
body[data-menu-desktop="hub"] .v220-hub-trigger-desktop,
body[data-menu-mobile="hub"] .v220-hub-trigger-desktop,
body[data-menu-mobile="hub"] .v220-mobile-menu-dock,
body[data-menu-desktop="hub"] .v220-mobile-menu-dock{display:none!important}

/* ------------------------------------------------------------
   Leque: remove completamente o retângulo/modal exterior.
   ------------------------------------------------------------ */
body[data-menu-desktop="hub"] .v21-modal-backdrop,
body[data-menu-mobile="hub"] .v21-modal-backdrop{
    z-index:218!important;
    background:rgba(11,29,39,.16)!important;
    backdrop-filter:blur(2.5px) saturate(.96)!important;
    -webkit-backdrop-filter:blur(2.5px) saturate(.96)!important
}
body[data-menu-desktop="hub"] .v223-floating-fan,
body[data-menu-mobile="hub"] .v223-floating-fan{
    position:fixed!important;
    inset:0!important;
    left:0!important;
    top:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-width:none!important;
    max-height:none!important;
    overflow:visible!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    pointer-events:none!important;
    z-index:228!important
}
body[data-menu-desktop="hub"] .v223-floating-fan[hidden],
body[data-menu-mobile="hub"] .v223-floating-fan[hidden]{display:none!important}
body[data-menu-desktop="hub"] .v223-floating-fan .v222-fan-head,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-fan-head,
body[data-menu-desktop="hub"] .v223-floating-fan .v222-fan-footer,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-fan-footer{display:none!important}
body[data-menu-desktop="hub"] .v223-floating-fan .v220-hub-body,
body[data-menu-mobile="hub"] .v223-floating-fan .v220-hub-body{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:0!important;
    overflow:visible!important;
    padding:0!important;
    background:transparent!important;
    pointer-events:none!important
}
body[data-menu-desktop="hub"] .v223-floating-fan .v220-hub-panel,
body[data-menu-mobile="hub"] .v223-floating-fan .v220-hub-panel{
    min-height:0!important;
    pointer-events:none!important
}
body[data-menu-desktop="hub"] .v223-floating-fan .v222-fan-home,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-fan-home,
body[data-menu-desktop="hub"] .v223-floating-fan .v222-create-panel,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-create-panel{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    padding:0!important;
    background:transparent!important;
    pointer-events:none!important
}
body[data-menu-desktop="hub"] .v223-floating-fan .v222-fan-stage,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-fan-stage,
body[data-menu-desktop="hub"] .v223-floating-fan .v222-create-stage,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-create-stage{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    transform:none!important;
    overflow:visible!important;
    pointer-events:none!important
}
body[data-menu-desktop="hub"] .v223-floating-fan .v222-fan-rails,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-fan-rails,
body[data-menu-desktop="hub"] .v223-floating-fan .v222-create-rails,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-create-rails{display:none!important}

/* Núcleo aberto: ocupa exatamente o ponto onde estava o botão arrastável. */
body[data-menu-desktop="hub"] .v223-floating-fan .v222-fan-core,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-fan-core,
body[data-menu-desktop="hub"] .v223-floating-fan .v222-create-core,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-create-core{
    position:fixed!important;
    left:var(--v223-origin-x,72px)!important;
    top:var(--v223-origin-y,50%)!important;
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    min-height:62px!important;
    display:grid!important;
    place-items:center!important;
    align-content:center!important;
    gap:1px!important;
    transform:translate(-50%,-50%)!important;
    border:1px solid rgba(101,190,232,.38)!important;
    border-radius:50%!important;
    background:radial-gradient(circle at 34% 28%,#30b2eb,#1596db 43%,#076cc0)!important;
    color:#fff!important;
    box-shadow:0 18px 46px rgba(2,101,160,.38),0 0 0 8px rgba(31,161,222,.10),0 0 42px rgba(31,161,222,.34),inset 0 1px 0 rgba(255,255,255,.42)!important;
    pointer-events:auto!important;
    z-index:244!important
}
body[data-menu-desktop="hub"] .v223-floating-fan .v222-fan-core img,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-fan-core img{width:29px!important;height:29px!important;filter:brightness(0) invert(1)}
body[data-menu-desktop="hub"] .v223-floating-fan .v222-fan-core span,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-fan-core span,
body[data-menu-desktop="hub"] .v223-floating-fan .v222-create-core span,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-create-core span{font-size:5.8px!important;font-weight:850!important;color:#fff!important}
body[data-menu-desktop="hub"] .v223-floating-fan .v222-create-core .apm-icon,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-create-core .apm-icon{width:22px!important;height:22px!important}

/* Peças do primeiro leque */
body[data-menu-desktop="hub"] .v223-floating-fan .v222-fan-node,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-fan-node{
    position:fixed!important;
    left:var(--v223-origin-x,72px)!important;
    top:var(--v223-origin-y,50%)!important;
    width:132px!important;
    min-height:58px!important;
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:7px!important;
    align-items:center!important;
    padding:8px 10px!important;
    transform:translate(-50%,-50%) translate(var(--v223-tx,0px),var(--v223-ty,0px))!important;
    transform-origin:center!important;
    border:1px solid rgba(100,157,184,.20)!important;
    border-radius:17px 25px 25px 17px!important;
    background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(246,250,252,.82))!important;
    color:#193442!important;
    box-shadow:0 15px 36px rgba(15,54,73,.13),inset 0 1px 0 rgba(255,255,255,.95)!important;
    backdrop-filter:blur(16px) saturate(1.08)!important;
    -webkit-backdrop-filter:blur(16px) saturate(1.08)!important;
    pointer-events:auto!important;
    z-index:238!important
}
body[data-menu-desktop="hub"] .v223-floating-fan .v222-fan-node:hover,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-fan-node:hover{
    border-color:rgba(19,151,214,.38)!important;
    box-shadow:0 18px 42px rgba(11,96,140,.17),0 0 0 4px rgba(30,157,219,.05)!important
}
body[data-menu-desktop="hub"] .v223-floating-fan .v222-node-create,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-node-create{
    background:linear-gradient(145deg,#2aaee7,#138fd4)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.34)!important
}
.v223-floating-fan .v222-node-icon{
    width:33px!important;height:33px!important;border-radius:11px!important
}
.v223-floating-fan .v222-node-copy strong{font-size:8.5px!important}
.v223-floating-fan .v222-node-copy small{font-size:5.7px!important;color:#86969d!important}
.v223-floating-fan .v222-node-create .v222-node-copy small{color:rgba(255,255,255,.72)!important}

/* Criar: segunda coroa em volta do mesmo núcleo. */
body[data-menu-desktop="hub"] .v223-floating-fan .v222-create-action,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-create-action{
    position:fixed!important;
    left:var(--v223-origin-x,72px)!important;
    top:var(--v223-origin-y,50%)!important;
    width:112px!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    padding:8px 10px!important;
    transform:translate(-50%,-50%) translate(var(--v223-tx,0px),var(--v223-ty,0px))!important;
    transform-origin:center!important;
    border:1px solid rgba(98,157,184,.20)!important;
    border-radius:16px 23px 23px 16px!important;
    background:rgba(255,255,255,.94)!important;
    color:#183542!important;
    box-shadow:0 13px 32px rgba(15,54,73,.13),inset 0 1px 0 rgba(255,255,255,.94)!important;
    backdrop-filter:blur(15px)!important;
    -webkit-backdrop-filter:blur(15px)!important;
    pointer-events:auto!important;
    z-index:239!important
}
body[data-menu-desktop="hub"] .v223-floating-fan .v222-create-action:hover,
body[data-menu-mobile="hub"] .v223-floating-fan .v222-create-action:hover{
    border-color:rgba(20,151,215,.34)!important;
    box-shadow:0 17px 38px rgba(10,93,136,.17)!important
}
.v223-floating-fan .v222-create-action .apm-icon{width:19px!important;height:19px!important;color:#118bd0!important}
.v223-floating-fan .v222-create-action span{font-size:7.6px!important;font-weight:820!important}

/* Camadas com muitas opções: só aparece o próprio painel, sem contentor externo. */
body[data-menu-desktop="hub"] .v223-floating-fan [data-hub-panel="organize"]:not([hidden]),
body[data-menu-desktop="hub"] .v223-floating-fan [data-hub-panel="applications"]:not([hidden]),
body[data-menu-desktop="hub"] .v223-floating-fan [data-hub-panel="customize"]:not([hidden]),
body[data-menu-desktop="hub"] .v223-floating-fan [data-hub-panel="system"]:not([hidden]),
body[data-menu-mobile="hub"] .v223-floating-fan [data-hub-panel="organize"]:not([hidden]),
body[data-menu-mobile="hub"] .v223-floating-fan [data-hub-panel="applications"]:not([hidden]),
body[data-menu-mobile="hub"] .v223-floating-fan [data-hub-panel="customize"]:not([hidden]),
body[data-menu-mobile="hub"] .v223-floating-fan [data-hub-panel="system"]:not([hidden]){
    position:fixed!important;
    left:var(--v223-panel-left,120px)!important;
    top:var(--v223-panel-top,100px)!important;
    width:min(560px,calc(100vw - 28px))!important;
    max-height:min(72dvh,650px)!important;
    min-height:0!important;
    overflow:auto!important;
    padding:14px!important;
    border:1px solid rgba(91,148,175,.20)!important;
    border-radius:20px!important;
    background:rgba(252,253,254,.93)!important;
    box-shadow:0 25px 70px rgba(12,46,63,.18),inset 0 1px 0 rgba(255,255,255,.96)!important;
    backdrop-filter:blur(24px) saturate(1.06)!important;
    -webkit-backdrop-filter:blur(24px) saturate(1.06)!important;
    pointer-events:auto!important;
    z-index:236!important
}
.v223-floating-fan .v220-panel-intro{margin-bottom:10px!important}
.v223-floating-fan .v220-panel-intro span{font-size:13px!important}
.v223-floating-fan .v220-panel-intro p{margin-top:2px!important;font-size:7px!important}
.v223-floating-fan .v220-organize-grid,
.v223-floating-fan .v220-feature-grid{gap:7px!important}
.v223-floating-fan .v220-organize-grid>a,
.v223-floating-fan .v220-feature-grid>a{min-height:56px!important;border-radius:12px!important}
.v223-floating-fan .v220-organize-grid>a small{display:none!important}

/* ------------------------------------------------------------
   Definições: perfil e posição do Menu
   ------------------------------------------------------------ */
.v223-profile-settings{margin-bottom:14px}
.v223-profile-note{color:#89989f;font-size:8px}
.v223-profile-settings-grid{
    display:grid;
    grid-template-columns:82px minmax(180px,1fr) minmax(260px,1.4fr) auto;
    gap:14px;
    align-items:center
}
.v223-avatar-preview{
    width:78px;height:78px;display:grid;place-items:center;overflow:hidden;
    border:3px solid rgba(255,255,255,.94);border-radius:50%;
    background:linear-gradient(145deg,#1ca4e5,#0a75c5);color:#fff;
    box-shadow:0 13px 32px rgba(8,110,168,.20);font-size:18px;font-weight:900
}
.v223-avatar-preview img{width:100%;height:100%;object-fit:cover}
.v223-profile-copy strong,.v223-profile-copy small{display:block}
.v223-profile-copy strong{font-size:12px}
.v223-profile-copy small{margin-top:2px;color:#7e8f96;font-size:8px}
.v223-profile-copy p{margin:7px 0 0;color:#8d9ba1;font-size:7px;line-height:1.45}
.v223-avatar-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.v223-avatar-upload{
    min-height:58px;display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:center;
    padding:9px 11px;border:1px dashed rgba(74,145,180,.33);border-radius:12px;background:#f8fbfc;cursor:pointer
}
.v223-avatar-upload .apm-icon{width:21px;height:21px;color:#118bd0}
.v223-avatar-upload span{display:grid;gap:2px}.v223-avatar-upload strong{font-size:9px}.v223-avatar-upload small{color:#88979e;font-size:7px}
.v223-avatar-upload input{position:absolute;opacity:0;pointer-events:none}
.v223-avatar-remove{justify-self:end}
.v223-floating-menu-help{
    display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:10px 12px;
    border:1px solid rgba(75,149,183,.17);border-radius:13px;background:#f7fbfd
}
.v223-floating-menu-help>div{display:flex;align-items:center;gap:9px}.v223-floating-menu-help .apm-icon{width:20px;height:20px;color:#148cca}
.v223-floating-menu-help span{display:grid;gap:2px}.v223-floating-menu-help strong{font-size:9px}.v223-floating-menu-help small{color:#7e8f96;font-size:7px}

/* ------------------------------------------------------------
   Dark
   ------------------------------------------------------------ */
html[data-theme="dark"] .v223-profile-trigger,
html[data-theme="dark"] .v223-profile-menu,
html[data-theme="dark"] .v223-floating-fan .v222-fan-node,
html[data-theme="dark"] .v223-floating-fan .v222-create-action,
html[data-theme="dark"] .v223-floating-fan [data-hub-panel]:not([hidden]){
    background:linear-gradient(145deg,rgba(47,60,67,.95),rgba(34,45,51,.90))!important;
    border-color:rgba(132,177,197,.18)!important;
    color:#edf5f7!important;
    box-shadow:0 22px 58px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05)!important
}
html[data-theme="dark"] .v223-profile-trigger-copy small,
html[data-theme="dark"] .v223-profile-card small,
html[data-theme="dark"] .v223-profile-menu nav>a,
html[data-theme="dark"] .v223-floating-fan .v222-node-copy small,
html[data-theme="dark"] .v223-floating-fan .v220-panel-intro p{color:#a1b0b6!important}
html[data-theme="dark"] .v223-profile-menu nav>a:hover{background:rgba(53,105,130,.20);color:#75c9ef}
html[data-theme="dark"] .v223-floating-menu small{background:rgba(38,49,55,.92);color:#dbe7ea}
html[data-theme="dark"] .v223-profile-settings-grid .v223-avatar-upload,
html[data-theme="dark"] .v223-floating-menu-help{background:#2b383e;border-color:rgba(134,178,198,.16)}

/* ------------------------------------------------------------
   Mobile
   ------------------------------------------------------------ */
@media(max-width:820px){
    .v223-profile-trigger{width:42px;min-height:42px;padding:3px;border-radius:14px}
    .v223-profile-trigger-copy,.v223-profile-trigger>.apm-icon{display:none}
    .v223-profile-avatar{width:34px;height:34px;flex-basis:34px}
    .v223-profile-menu{right:8px;top:60px;width:min(300px,calc(100vw - 16px))}

    body[data-menu-mobile="hub"] .v223-floating-menu{
        width:48px;height:48px;left:150px;top:33px;z-index:246;
        box-shadow:0 10px 27px rgba(3,103,164,.27),0 0 0 5px rgba(25,155,218,.07),inset 0 1px 0 rgba(255,255,255,.4)
    }
    body[data-menu-mobile="hub"] .v223-floating-menu img{width:25px;height:25px}
    body[data-menu-mobile="hub"] .v223-floating-menu small{display:none}
    body[data-menu-mobile="hub"] .v223-floating-ring{inset:-5px}

    body[data-menu-mobile="hub"] .v223-floating-fan .v222-fan-core,
    body[data-menu-mobile="hub"] .v223-floating-fan .v222-create-core{
        width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important
    }
    body[data-menu-mobile="hub"] .v223-floating-fan .v222-fan-node{
        width:120px!important;min-height:52px!important;grid-template-columns:29px 1fr!important;padding:7px 8px!important;border-radius:15px 22px 22px 15px!important
    }
    body[data-menu-mobile="hub"] .v223-floating-fan .v222-node-icon{width:28px!important;height:28px!important}
    body[data-menu-mobile="hub"] .v223-floating-fan .v222-node-copy strong{font-size:7.5px!important}
    body[data-menu-mobile="hub"] .v223-floating-fan .v222-node-copy small{font-size:5px!important}
    body[data-menu-mobile="hub"] .v223-floating-fan .v222-create-action{
        width:104px!important;min-height:48px!important;padding:7px 9px!important
    }
    body[data-menu-mobile="hub"] .v223-floating-fan [data-hub-panel="organize"]:not([hidden]),
    body[data-menu-mobile="hub"] .v223-floating-fan [data-hub-panel="applications"]:not([hidden]),
    body[data-menu-mobile="hub"] .v223-floating-fan [data-hub-panel="customize"]:not([hidden]),
    body[data-menu-mobile="hub"] .v223-floating-fan [data-hub-panel="system"]:not([hidden]){
        width:calc(100vw - 20px)!important;
        max-height:66dvh!important;
        padding:12px!important;
        border-radius:18px!important
    }
    .v223-profile-settings-grid{grid-template-columns:72px minmax(0,1fr);gap:11px}
    .v223-avatar-preview{width:66px;height:66px}
    .v223-avatar-form{grid-column:1/-1;grid-template-columns:1fr}
    .v223-avatar-remove{grid-column:1/-1;justify-self:stretch}.v223-avatar-remove .button{width:100%}
    .v223-floating-menu-help{align-items:flex-start;flex-direction:column}.v223-floating-menu-help>button{width:100%}
}

@media(max-width:500px){
    .v21-topbar.v220-topbar{gap:5px!important}
    .v220-brand{max-width:118px!important}
    .v220-wordmark strong{font-size:9px!important}.v220-wordmark small{font-size:5.8px!important}
    .v21-top-actions.v220-top-actions{gap:3px!important}
    .v21-top-actions .v21-icon-button{width:30px!important;height:30px!important;min-width:30px!important}
    body[data-menu-mobile="hub"] .v223-floating-menu{left:146px;top:32px}
}

@media(prefers-reduced-motion:reduce){
    .v223-floating-menu,.v223-profile-trigger,.v223-floating-fan *{transition:none!important;animation:none!important}
}

/* Pequeno recorte geométrico nas peças, invertido conforme o lado de abertura. */
.v223-floating-fan[data-v223-side="right"] .v222-fan-node,
.v223-floating-fan[data-v223-side="right"] .v222-create-action{
    clip-path:polygon(9px 0,100% 0,100% 100%,9px 100%,0 calc(100% - 10px),0 10px)
}
.v223-floating-fan[data-v223-side="left"] .v222-fan-node,
.v223-floating-fan[data-v223-side="left"] .v222-create-action{
    clip-path:polygon(0 0,calc(100% - 9px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 9px) 100%,0 100%)
}
