/* Dog Unit Motor Spares — estilos do site. Ajuste aqui cores, tamanhos e animações. */
/* Suporte a efeitos 3D na renderização e profundidade das janelas */
        .perspective-1000 { perspective: 1000px; }
        .rotate-y-1:hover { transform: rotateY(1.5deg) rotateX(0.5deg); }
        .animate-fade-in { animation: fadeIn 0.4s ease-out forwards; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
        /* Marca de água do logotipo no fundo de todas as páginas */
        #marca-agua { position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .035;
            background: url('https://i.ibb.co/8g2VpfFP/Dog-Unit-Motor-Spares-Logo-1.png') center / contain no-repeat; }
        .tabs::-webkit-scrollbar { display: none; }
        /* ===== GLASSMORPHISM CLARO + LED ===== */
        :root { --ink:#0f2742; --mut:#4b6382; --glass:rgba(238,246,255,.82); --led:rgba(56,189,248,.70); --sh-d:#c9dcf0; }
        body.min-h-screen { font-family:"Manrope",system-ui,sans-serif; color:var(--ink);
            background: radial-gradient(42rem 26rem at 8% 0%, rgba(56,189,248,.30), transparent 62%), radial-gradient(38rem 24rem at 100% 100%, rgba(59,130,246,.34), transparent 62%), linear-gradient(135deg,#050d1f 0%,#0a2350 48%,#103b7a 100%) !important; background-attachment: fixed !important; background-size:140% 140%,140% 140%,100% 100%; animation:fundoFlutuante 28s ease-in-out infinite alternate; }
        html { background:#050d1f; }
        @keyframes fundoFlutuante {
            0% { background-position:0% 0%,100% 100%,center center; }
            100% { background-position:16% 12%,84% 88%,center center; }
        }
        #marca-agua { opacity:.045; }
        .neu { background:var(--glass); -webkit-backdrop-filter:blur(16px) saturate(150%); backdrop-filter:blur(16px) saturate(150%);
            border:1px solid rgba(255,255,255,.85) !important; border-radius:2rem !important;
            box-shadow:14px 16px 34px rgba(25,70,130,.20), -10px -10px 24px rgba(255,255,255,.95), 0 0 0 1px var(--led), 0 0 22px rgba(56,189,248,.38); }
        .neu-in { background:rgba(255,255,255,.62); border:1px solid rgba(255,255,255,.7) !important; border-radius:1.4rem !important;
            box-shadow:inset 5px 5px 12px rgba(25,70,130,.16), inset -5px -5px 12px rgba(255,255,255,.95), 0 0 0 1px rgba(56,189,248,.28); }
        .neu-bar { background:linear-gradient(180deg,rgba(205,216,232,.94),rgba(136,151,176,.92)); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
            box-shadow:0 12px 30px rgba(25,70,130,.18), 0 2px 16px rgba(56,189,248,.55); border-bottom:1px solid rgba(255,255,255,.35); }
        .neu-bar .marca-2 { color:#06406d; }
        /* Cabeçalho: marca maior, com contorno curvo e brilho ao foco/hover. */
        .brand-lockup { position:relative; isolation:isolate; display:inline-flex; align-items:center; gap:.2rem; padding:.2rem .75rem; color:inherit; font:inherit;
            background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(212,231,250,.55)); border:1px solid rgba(255,255,255,.9);
            border-radius:1.5rem; box-shadow:0 5px 16px rgba(25,70,130,.18),0 0 14px rgba(56,189,248,.28); cursor:pointer;
            transition:box-shadow .22s,transform .22s,border-color .22s; }
        .brand-lockup::before { content:""; position:absolute; z-index:0; inset:-2px; padding:2px; border-radius:inherit; pointer-events:none; background:conic-gradient(from 0deg,#38bdf8,#fbbf24,#60a5fa,#67e8f9,#38bdf8); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation:brandGlowTurn 7s ease-in-out infinite alternate; opacity:.78; }
        .brand-logo,.brand-lockup .marca { position:relative; z-index:1; }
        @keyframes brandGlowTurn { from { transform:rotate(0deg); filter:hue-rotate(0deg) drop-shadow(0 0 4px rgba(56,189,248,.8)); } to { transform:rotate(180deg); filter:hue-rotate(180deg) drop-shadow(0 0 9px rgba(251,191,36,.9)); } }
        .brand-lockup:hover, .brand-lockup:focus-visible { border-color:#38bdf8; box-shadow:0 8px 20px rgba(25,70,130,.22),0 0 24px rgba(56,189,248,.78),0 0 42px rgba(56,189,248,.4); transform:translateY(-1px); outline:none; }
        .brand-logo { width:5.8rem; height:5.8rem; object-fit:contain; filter:drop-shadow(0 4px 8px rgba(15,60,140,.25)); }
        .brand-lockup .marca-1 { font-size:2.55rem; }
        .brand-lockup .marca-2 { font-size:1rem; letter-spacing:.35em; }
        .neu-bar .neu-btn { border-radius:1.1rem !important; }
        .neu-bar .neu-btn:hover, .neu-bar .neu-btn:focus-visible { color:#075985; box-shadow:9px 10px 20px rgba(25,70,130,.28),-6px -6px 14px #fff,0 0 30px rgba(56,189,248,.95),0 0 44px rgba(56,189,248,.42); transform:translateY(-2px) scale(1.035); outline:none; }
        @media (min-width:640px) { .brand-logo { width:7rem; height:7rem; } .brand-lockup .marca-1 { font-size:3.55rem; } .brand-lockup .marca-2 { font-size:1.25rem; letter-spacing:.43em; } }
        .neu-btn { background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(206,228,250,.75)); color:#0b4a8f; border:1px solid rgba(255,255,255,.95) !important; border-radius:9999px !important; font-weight:800;
            box-shadow:7px 8px 16px rgba(25,70,130,.22), -5px -5px 12px rgba(255,255,255,.95), 0 0 12px rgba(56,189,248,.40); transition:box-shadow .2s, transform .2s, color .2s; }
        .neu-btn:hover { color:#0369a1; box-shadow:9px 10px 20px rgba(25,70,130,.26), -6px -6px 14px #fff, 0 0 20px rgba(56,189,248,.75); transform:translateY(-1px); }
        .neu-btn:active, .neu-btn.on { box-shadow:inset 4px 4px 10px rgba(25,70,130,.25), inset -4px -4px 10px rgba(255,255,255,.9), 0 0 14px rgba(56,189,248,.6); transform:scale(.985); }
        .neu-btn:disabled { opacity:.45; cursor:not-allowed; }
        .neu-btn-ac { color:#0b4a8f; }
        input, select, textarea { background:rgba(255,255,255,.62) !important; color:var(--ink) !important; border:1px solid rgba(56,189,248,.35) !important; border-radius:1rem !important; outline:none;
            box-shadow:inset 3px 3px 8px rgba(25,70,130,.12), inset -3px -3px 8px rgba(255,255,255,.9) !important; transition:box-shadow .2s, border-color .2s; }
        input:focus, select:focus, textarea:focus { border-color:#0ea5e9 !important; box-shadow:inset 3px 3px 8px rgba(25,70,130,.12), 0 0 0 3px rgba(56,189,248,.35), 0 0 16px rgba(56,189,248,.5) !important; }
        ::placeholder { color:#6b84a3 !important; }
        .text-zinc-200, .text-zinc-300 { color:#14304f !important; } .text-zinc-400, .text-zinc-500 { color:var(--mut) !important; }
        .text-emerald-400 { color:#047857 !important; } .text-amber-400, .text-amber-500, .text-amber-500\/80 { color:#b45309 !important; } .text-red-400 { color:#dc2626 !important; }
        .border-zinc-800 { border-color:rgba(70,130,190,.25) !important; }
        .bg-clip-text { background-image:linear-gradient(90deg,#0b3a82,#0284c7,#0891b2) !important; }
        .fab { position:fixed; right:max(1rem,env(safe-area-inset-right)); bottom:max(1rem,env(safe-area-inset-bottom)); z-index:60; display:flex; flex-direction:column; gap:.8rem; }
        .fab a { width:3.6rem; height:3.6rem; border-radius:9999px; display:flex; align-items:center; justify-content:center; border:2px solid rgba(255,255,255,.9);
            box-shadow:8px 10px 20px rgba(25,70,130,.30), -4px -4px 10px rgba(255,255,255,.9), 0 0 18px var(--c,rgba(56,189,248,.8)); transition:transform .2s; overflow:hidden; }
        .fab a:hover { transform:scale(1.1); }
        .marca { display:inline-flex; flex-direction:column; line-height:1; }
        .marca-g { display:flex; align-items:center; }
        .marca-1 { font-family:"Racing Sans One","Russo One",sans-serif; font-weight:400; font-size:2.3rem; letter-spacing:.05em; color:#0a2a5e; text-transform:uppercase; text-shadow:2px 2px 0 #fff, 0 0 16px rgba(56,189,248,.65); }
        .marca-2 { font-family:"Rajdhani",sans-serif; font-style:normal; font-weight:700; font-size:1rem; letter-spacing:.46em; color:#0284c7; text-transform:uppercase; margin-top:.25rem; }
        @media (min-width:640px) { .marca-1 { font-size:3.2rem; } .marca-2 { font-size:1.2rem; } }
        .marca-g .marca-1 { font-size:3.4rem; } .marca-g .marca-2 { font-size:1.28rem; }
        .novidades-carrossel { overflow:hidden; }
        .novidades-track { display:flex; width:max-content; animation:novidades-desliza 72s linear infinite; will-change:transform; }
        .novidades-carrossel:hover .novidades-track, .novidades-carrossel:focus-within .novidades-track { animation-play-state:paused; }
        .novidades-sequencia { display:flex; flex:none; gap:.75rem; padding-right:.75rem; }
        @keyframes novidades-desliza { from { transform:translateX(0); } to { transform:translateX(-50%); } }
        @media (prefers-reduced-motion:reduce) { body.min-h-screen { animation:none !important; } .novidades-track { animation:none; } .neu-btn,.brand-lockup { transition:none !important; } .neu-bar .neu-btn:hover,.brand-lockup:hover { transform:none; } }
        .font-marca { font-family:"Orbitron","Sora",sans-serif; letter-spacing:.05em; }
        .font-display { font-family:"Sora","Manrope",sans-serif; }
        .card { transition:transform .25s, box-shadow .25s; }
        .card:hover { transform:translateY(-4px); box-shadow:18px 20px 40px rgba(25,70,130,.26), -10px -10px 24px #fff, 0 0 0 1px var(--led), 0 0 34px rgba(56,189,248,.65); }
        .neon { box-shadow: 0 0 0 1px rgba(52,211,153,.35), 0 0 24px rgba(52,211,153,.18); }

        /* Painéis de ADM e Gestor: menu expansível e indicadores responsivos. */
        .staff-menu { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr)); gap:.65rem; }
        .staff-menu-group { overflow:hidden; border:1px solid rgba(255,255,255,.8); border-radius:1rem; background:rgba(238,246,255,.72); box-shadow:0 5px 14px rgba(25,70,130,.12),0 0 12px rgba(56,189,248,.18); }
        .staff-menu-group summary { display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding:.75rem 1rem; color:#0f3d69; font-size:.78rem; font-weight:800; cursor:pointer; list-style:none; }
        .staff-menu-group summary::-webkit-details-marker { display:none; }
        .staff-menu-group[open] summary { border-bottom:1px solid rgba(56,189,248,.22); }
        .staff-menu-chevron { transition:transform .2s; color:#0284c7; font-size:1.1rem; }
        .staff-menu-group[open] .staff-menu-chevron { transform:rotate(180deg); }
        .staff-menu-items { display:flex; flex-wrap:wrap; gap:.45rem; padding:.65rem; }
        .staff-menu-item { padding:.5rem .75rem; border:1px solid rgba(56,189,248,.25); border-radius:999px; background:rgba(255,255,255,.75); color:#16436c; font-size:.72rem; font-weight:750; cursor:pointer; transition:transform .18s,box-shadow .18s,background .18s; }
        .staff-menu-item:hover,.staff-menu-item:focus-visible { transform:translateY(-1px); box-shadow:0 0 14px rgba(56,189,248,.42); outline:2px solid transparent; }
        .staff-menu-item.is-active { color:#fff; background:linear-gradient(140deg,#075985,#0369a1); border-color:#0284c7; }
        .staff-dashboard { display:grid; gap:1rem; color:#102c49; }
        .staff-section-heading { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem; }
        .staff-section-heading h3 { margin:0; color:#0c2c4a; font-family:"Sora","Manrope",sans-serif; font-size:clamp(1.25rem,2.5vw,1.75rem); font-weight:800; }
        .staff-section-heading p { margin:.25rem 0 0; color:#4b6382; font-size:.8rem; }
        .staff-eyebrow { color:#0369a1 !important; font-size:.65rem !important; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
        .staff-toolbar { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.5rem; }
        .staff-period-control { display:inline-flex; flex-wrap:wrap; gap:.25rem; padding:.25rem; border:1px solid rgba(14,116,180,.18); border-radius:999px; background:rgba(219,239,255,.66); }
        .staff-period-button { min-height:2.35rem; padding:.45rem .75rem; border:1px solid transparent; border-radius:999px; color:#31516f; background:transparent; font-size:.7rem; font-weight:850; cursor:pointer; transition:background .2s,color .2s,box-shadow .2s; }
        .staff-period-button:hover,.staff-period-button:focus-visible { outline:none; color:#075985; background:rgba(255,255,255,.85); }
        .staff-period-button.is-active { color:#fff; border-color:#075985; background:linear-gradient(135deg,#0e7490,#0369a1); box-shadow:0 3px 10px rgba(3,105,161,.28); }
        .staff-kpi-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
        .staff-kpi-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
        .staff-kpi-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
        .staff-kpi { min-width:0; padding:.85rem; border:1px solid rgba(255,255,255,.86); border-radius:1.15rem; background:rgba(255,255,255,.76); box-shadow:0 6px 18px rgba(25,70,130,.12),0 0 12px rgba(56,189,248,.15); }
        .staff-kpi p { margin:0; color:#4b6382; font-size:.68rem; font-weight:800; }
        .staff-kpi strong { display:block; margin-top:.35rem; color:#b45309; font-size:clamp(1rem,2vw,1.4rem); font-weight:900; overflow-wrap:anywhere; }
        .staff-kpi small { display:block; margin-top:.25rem; color:#58718c; font-size:.65rem; }
        .staff-insight-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr)); gap:.75rem; }
        .staff-chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
        .staff-bar-chart { display:block; width:100%; height:12rem; overflow:visible; }
        .staff-panel-card { min-width:0; padding:1rem; border:1px solid rgba(255,255,255,.85); border-radius:1.2rem; background:rgba(255,255,255,.72); box-shadow:0 5px 16px rgba(25,70,130,.1); }
        .staff-panel-card h4,.staff-shortcuts h4 { margin:0 0 .75rem; color:#12395d; font-size:.88rem; font-weight:850; }
        .staff-day-pair { display:grid; grid-template-columns:repeat(auto-fit,minmax(9rem,1fr)); gap:.75rem; }
        .staff-day-pair div { display:grid; gap:.25rem; padding:.7rem; border-radius:.9rem; background:rgba(219,239,255,.7); }
        .staff-day-pair span,.staff-muted { color:#536d88; font-size:.72rem; }
        .staff-day-pair b { color:#0c3459; font-size:.85rem; }
        .staff-stock-alerts,.staff-ranking { display:grid; gap:.5rem; margin:0; padding:0; list-style:none; }
        .staff-stock-alerts li,.staff-ranking li { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem; color:#234563; font-size:.75rem; }
        .staff-stock-alerts b,.staff-ranking b { color:#0c3459; }
        .staff-shortcuts > div { display:flex; flex-wrap:wrap; gap:.55rem; }
        .staff-disclaimer { margin:0; color:#526b85; font-size:.68rem; line-height:1.5; }
        .staff-badge { display:inline-flex; padding:.25rem .55rem; border-radius:999px; font-size:.65rem; font-weight:850; white-space:nowrap; }
        .staff-badge.is-ok { color:#065f46; background:#d1fae5; }
        .staff-badge.is-low { color:#92400e; background:#fef3c7; }
        .staff-badge.is-empty { color:#991b1b; background:#fee2e2; }
        .staff-search { display:grid; gap:.35rem; max-width:28rem; color:#31516f; font-size:.7rem; font-weight:800; }
        .staff-operation-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); align-items:end; gap:.8rem; max-width:48rem; }
        .staff-operation-form label { display:grid; gap:.35rem; color:#31516f; font-size:.72rem; font-weight:800; }
        .staff-sale-total { grid-column:1/-1; margin:0; color:#12395d; font-size:.9rem; font-weight:850; }
        .staff-empty,.staff-error { padding:1rem; border:1px solid rgba(56,189,248,.3); border-radius:1rem; background:rgba(255,255,255,.72); color:#3f5d78; font-size:.8rem; }
        .staff-error { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; color:#991b1b; }
        .staff-ranking li { display:grid; grid-template-columns:minmax(0,1fr) auto; }
        .staff-ranking-bar { grid-column:1/-1; height:.42rem; overflow:hidden; border-radius:999px; background:#dbeafe; }
        .staff-ranking-bar i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#0284c7,#f59e0b); }
        [data-stock-row][hidden] { display:none; }
        @media (min-width:700px) { .staff-kpi-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } .staff-kpi-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); } .staff-kpi-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); } }
        @media (prefers-reduced-motion:reduce) { .staff-menu-chevron,.staff-menu-item { transition:none; } }

        /* Identidade do pessoal: título de marca, sessão activa e brilho suave nas bordas. */
        .brand-lockup { gap:.55rem; }
        .brand-logo { width:6.3rem; height:6.3rem; }
        @media (min-width:640px) { .brand-logo { width:7.6rem; height:7.6rem; } }
        .staff-identity { position:relative; isolation:isolate; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.35rem; border:1px solid rgba(125,211,252,.75); border-radius:1.65rem; background:linear-gradient(135deg,rgba(240,248,255,.94),rgba(209,231,250,.82)); box-shadow:0 12px 30px rgba(10,40,78,.2),0 0 19px rgba(56,189,248,.26); }
        .staff-identity::before { content:""; position:absolute; z-index:-1; inset:-2px; border-radius:inherit; padding:2px; background:conic-gradient(from 0deg,#38bdf8,#fbbf24,#60a5fa,#67e8f9,#38bdf8); -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation:staffEdgeGlow 9s linear infinite; opacity:.9; }
        @keyframes staffEdgeGlow { to { filter:hue-rotate(360deg); } }
        .staff-identity-copy { min-width:0; }
        .staff-identity-eyebrow { margin:0 0 .15rem; color:#1d6a9d; font-size:.62rem; font-weight:900; letter-spacing:.2em; text-transform:uppercase; }
        .staff-identity-title { margin:0; color:#0c2c4a; font-family:"Racing Sans One","Russo One",sans-serif; font-size:clamp(1.7rem,4vw,3.15rem); font-weight:400; line-height:1.04; letter-spacing:.035em; text-shadow:1px 2px 0 #fff,0 0 16px rgba(56,189,248,.28); }
        .staff-identity-sub { margin:.4rem 0 0; color:#365b7d; font-size:.75rem; font-weight:700; }
        .staff-session { display:flex; align-items:center; gap:.5rem; padding:.65rem .85rem; border:1px solid rgba(56,189,248,.3); border-radius:999px; background:rgba(255,255,255,.68); color:#335773; font-size:.68rem; font-weight:750; white-space:nowrap; }
        .staff-session time { color:#0b4a71; font-family:ui-monospace,monospace; font-size:.8rem; font-weight:900; font-variant-numeric:tabular-nums; }
        .staff-session-dot { width:.5rem; height:.5rem; border-radius:50%; background:#10b981; box-shadow:0 0 0 4px rgba(16,185,129,.12),0 0 12px rgba(16,185,129,.55); }
        .staff-menu { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
        @media (min-width:900px) { .staff-menu { grid-template-columns:repeat(4,minmax(0,1fr)); } }
        .staff-menu-group { border-radius:1.15rem; }
        .staff-menu-group summary { min-height:3.2rem; font-size:.82rem; }
        .staff-menu-items { display:grid; grid-template-columns:repeat(auto-fit,minmax(7.4rem,1fr)); }
        .staff-menu-item { border-radius:.8rem; text-align:left; font-size:.74rem; }
        .staff-report-actions { display:flex; flex-wrap:wrap; align-items:flex-end; gap:.65rem; padding:.85rem; border:1px solid rgba(255,255,255,.85); border-radius:1.1rem; background:rgba(255,255,255,.58); }
        .staff-report-actions label { display:grid; min-width:12rem; gap:.3rem; color:#31516f; font-size:.7rem; font-weight:800; }
        .staff-readonly-note { margin:0 0 1rem; padding:.75rem 1rem; border:1px solid rgba(2,132,199,.2); border-radius:.9rem; background:rgba(219,239,255,.65); color:#365b7d; font-size:.76rem; }
        .promo-dialog { width:min(92vw,34rem); max-width:none; max-height:88vh; padding:0; overflow:auto; border:1px solid rgba(125,211,252,.8); border-radius:1.5rem; color:#102c49; background:rgba(245,250,255,.98); box-shadow:0 20px 60px rgba(4,20,42,.45),0 0 28px rgba(56,189,248,.28); }
        .promo-dialog::backdrop { background:rgba(4,16,34,.68); backdrop-filter:blur(5px); }
        .promo-card { display:grid; gap:.8rem; padding:1.35rem; }
        .promo-card h2 { margin:0; color:#0c2c4a; font-family:"Sora","Manrope",sans-serif; font-size:1.5rem; font-weight:850; }
        .promo-card p { margin:0; color:#365b7d; line-height:1.65; white-space:pre-line; }
        .promo-card .promo-dates { color:#60758b; font-size:.7rem; }
        .promo-public-image { width:100%; max-height:16rem; border-radius:1rem; object-fit:cover; }
        .christmas-toggle { position:fixed; z-index:70; left:max(1rem,env(safe-area-inset-left)); bottom:max(1rem,env(safe-area-inset-bottom)); display:grid; width:3.25rem; height:3.25rem; place-items:center; border:1px solid rgba(255,255,255,.95); border-radius:50%; background:linear-gradient(145deg,#fff,#e2f3ff); box-shadow:0 8px 20px rgba(9,42,73,.25),0 0 18px rgba(16,185,129,.55); font-size:1.5rem; cursor:pointer; transition:transform .2s,box-shadow .2s; }
        .christmas-toggle:hover { transform:translateY(-3px) rotate(-8deg); box-shadow:0 0 24px rgba(16,185,129,.8); }
        .christmas-greeting { position:fixed; z-index:71; left:max(1rem,env(safe-area-inset-left)); bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 4rem); width:min(21rem,calc(100vw - 2rem)); padding:1.1rem 1.25rem; border:1px solid rgba(167,243,208,.9); border-radius:1.25rem; background:linear-gradient(145deg,rgba(6,55,48,.96),rgba(10,84,65,.96)); color:#f0fdf4; box-shadow:0 12px 36px rgba(0,0,0,.28),0 0 24px rgba(16,185,129,.4); animation:holidayAppear .35s ease-out both; }
        .christmas-greeting strong { display:block; margin:.2rem 0; font-family:"Racing Sans One","Russo One",sans-serif; font-size:1.45rem; font-weight:400; }
        .christmas-greeting p { margin:0; color:#d1fae5; font-size:.78rem; line-height:1.5; }
        .christmas-icons { font-size:1.15rem; letter-spacing:.15em; }
        .christmas-close { position:absolute; top:.35rem; right:.55rem; border:0; color:#d1fae5; background:transparent; font-size:1.3rem; cursor:pointer; }
        @keyframes holidayAppear { from { opacity:0; transform:translateY(10px) scale(.97); } to { opacity:1; transform:translateY(0) scale(1); } }
        @media (max-width:639px) { .staff-identity { padding:1rem; } .staff-session { width:100%; justify-content:center; } }
        @media (prefers-reduced-motion:reduce) { .staff-identity::before,.christmas-greeting { animation:none !important; } .christmas-toggle { transition:none; } }

        /* Melhorias de leitura e organização do painel em computadores e telemóveis. */
        .staff-layout { display:block; min-width:0; }
        #v-painel.staff-mode { position:relative; isolation:isolate; }
        #v-painel.staff-mode::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:var(--du-panel-watermark,url('icon.svg')) center/ min(100vw,100vh) auto no-repeat; opacity:.11; }
        .staff-mode .staff-layout { display:grid; grid-template-columns:minmax(13rem,16rem) minmax(0,1fr); grid-template-areas:"toggle content" "menu content"; align-items:stretch; gap:.65rem 1rem; }
        .staff-menu-toggle { grid-area:toggle; display:inline-flex; align-items:center; justify-content:flex-start; gap:.7rem; width:100%; min-height:3.1rem; padding:.7rem .9rem; border:1px solid rgba(255,255,255,.9); border-radius:1rem; background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(216,235,252,.88)); color:#10436c; box-shadow:0 6px 16px rgba(25,70,130,.14),0 0 12px rgba(56,189,248,.2); font-size:.82rem; font-weight:900; cursor:pointer; }
        .staff-menu-toggle svg { width:1.4rem; height:1.4rem; flex:none; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
        .staff-menu-toggle:hover,.staff-menu-toggle:focus-visible { outline:2px solid #38bdf8; outline-offset:2px; }
        .staff-mode #painel-tabs { grid-area:menu; position:sticky; top:1rem; align-self:start; min-height:calc(100vh - 5rem); max-height:calc(100vh - 5rem); overflow:auto; padding:.45rem; border:1px solid rgba(255,255,255,.72); border-radius:1.2rem; background:rgba(207,225,245,.78); box-shadow:0 12px 28px rgba(6,38,76,.2); }
        .staff-mode #painel-corpo { grid-area:content; width:100%; min-height:70vh; scroll-margin-top:6rem; }
        .staff-mode .staff-layout.menu-collapsed { grid-template-columns:minmax(0,1fr); grid-template-areas:"toggle" "content"; }
        .staff-mode .staff-layout.menu-collapsed #painel-tabs { display:none; }
        .staff-mode .staff-menu { display:grid; grid-template-columns:minmax(0,1fr); gap:.65rem; margin:0; }
        .staff-mode .staff-menu-group { border-radius:1rem; }
        .staff-mode .staff-menu-group summary { min-height:2.9rem; padding:.75rem .85rem; font-size:.84rem; }
        .staff-mode .staff-menu-items { display:grid; grid-template-columns:minmax(0,1fr); gap:.38rem; padding:.55rem; }
        .staff-mode .staff-menu-item { width:100%; min-height:2.6rem; padding:.65rem .8rem; border-radius:.8rem; font-size:.84rem; }
        .staff-mode #painel-corpo { position:relative; isolation:isolate; min-width:0; overflow:hidden; background-image:linear-gradient(rgba(238,246,255,.93),rgba(231,242,253,.94)); }
        .staff-mode #painel-corpo::before { content:""; position:absolute; z-index:-1; inset:0; pointer-events:none; background:var(--du-panel-watermark,url('icon.svg')) center/ min(88vw,80vh) auto no-repeat; opacity:.13; }
        .staff-mode #painel-corpo .staff-dashboard > * { position:relative; z-index:1; }
        .staff-language { display:grid; gap:.25rem; min-width:8rem; color:#31516f; font-size:.68rem; font-weight:850; }
        .staff-language select { width:100%; padding:.5rem .7rem; border-radius:.8rem !important; font-size:.8rem; }
        .staff-mode #painel-corpo table { font-family:"Manrope",system-ui,sans-serif; font-size:.9rem; line-height:1.45; }
        .staff-mode #painel-corpo th { padding:.8rem .75rem; color:#284865; font-size:.78rem; font-weight:900; }
        .staff-mode #painel-corpo td { padding:.75rem; color:#183650; font-size:.9rem; }
        .staff-mode .staff-kpi p { font-size:.78rem; line-height:1.4; }
        .staff-mode .staff-kpi strong { font-size:clamp(1.15rem,2vw,1.55rem); }
        .staff-mode .staff-kpi small,.staff-mode .staff-day-pair span,.staff-mode .staff-muted { font-size:.75rem; line-height:1.45; }
        .staff-mode .staff-disclaimer { font-size:.76rem; line-height:1.55; }
        .staff-search { width:min(100%,56rem); max-width:56rem; margin:.8rem 0; font-size:.82rem; }
        .staff-search input { width:100%; min-height:3.1rem; padding:.8rem 1rem; font-size:1rem; }
        .team-create-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); align-items:end; gap:.8rem; }
        .team-create-form label { display:grid; gap:.35rem; color:#31516f; font-size:.82rem; font-weight:850; }
        .team-phone-field { display:flex; align-items:center; gap:.5rem; }
        .team-phone-field > span { padding:.6rem .7rem; border:1px solid rgba(56,189,248,.25); border-radius:.75rem; background:#e5f1fc; color:#16436c; }
        .team-phone-field input { min-width:0; }
        .team-levels { padding:.8rem 1rem; border:1px solid rgba(56,189,248,.28); border-radius:1rem; background:rgba(255,255,255,.62); color:#16436c; font-weight:850; }
        .team-levels summary { cursor:pointer; }
        .team-row-actions,.staff-row-actions { display:flex; flex-wrap:wrap; gap:.4rem; min-width:12rem; }
        .staff-row-actions .neu-btn { white-space:nowrap; }
        .team-inactive-panel { margin:.8rem 0; }
        .team-inactive-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:.7rem; }
        .team-inactive-heading h4 { margin:0 0 .3rem; }
        .team-inactive-heading p { margin:0; max-width:48rem; }
        .team-inactive-heading label { display:grid; gap:.3rem; min-width:10rem; color:#31516f; font-size:.76rem; font-weight:850; }
        .finance-edit-modal { min-width:min(100%,30rem); max-width:42rem; }
        .finance-edit-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); align-items:end; gap:.85rem; }
        .finance-edit-form > label:not(.finance-edit-check) { display:grid; gap:.35rem; color:#31516f; font-size:.8rem; font-weight:850; }
        .finance-edit-form > .staff-muted { grid-column:1/-1; margin:0; }
        .finance-edit-check { display:flex; align-items:center; gap:.55rem; min-height:2.8rem; color:#31516f; font-size:.82rem; font-weight:800; }
        .finance-edit-check input { width:1.1rem; height:1.1rem; accent-color:#0284c7; }
        .finance-edit-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:.55rem; grid-column:1/-1; padding-top:.35rem; }
        #modal-corpo.staff-order-modal-host { max-height:90vh; overflow:auto; }
        .staff-order-modal { display:grid; gap:1rem; padding:1rem; color:#183650; }
        .staff-order-modal > header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
        .staff-order-modal h2 { margin:0; color:#0c2c4a; font-size:1.3rem; font-weight:900; }
        .staff-order-modal header p:not(.staff-eyebrow) { margin:.35rem 0 0; color:#536d88; font-size:.78rem; }
        .staff-modal-close { width:2.4rem; height:2.4rem; flex:none; border:1px solid rgba(56,189,248,.28); border-radius:50%; background:#fff; color:#16436c; font-size:1.5rem; cursor:pointer; }
        .staff-order-items { overflow:auto; max-width:100%; border:1px solid rgba(56,189,248,.2); border-radius:1rem; }
        .staff-order-items table { min-width:32rem; }
        .staff-invoice-subtotal,.invoice-totals { display:grid; gap:.45rem; padding:.85rem 1rem; border-radius:1rem; background:rgba(219,239,255,.7); color:#224665; }
        .staff-invoice-subtotal { grid-template-columns:1fr auto; align-items:center; }
        .staff-invoice-status { padding:.9rem; border:1px solid rgba(56,189,248,.28); border-radius:1rem; background:rgba(255,255,255,.68); color:#234563; }
        .staff-invoice-status p { margin:0 0 .8rem; }
        .staff-invoice-form { max-width:none; grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); }
        .invoice-meta { display:grid; grid-template-columns:repeat(auto-fit,minmax(13rem,1fr)); gap:.35rem 1rem; padding:.8rem 1rem; border-radius:1rem; background:#f0f6fc; }
        .invoice-meta p,.invoice-totals p { margin:0; }
        .invoice-totals { margin:1rem 0; justify-items:end; }
        .invoice-grand-total { color:#0c2c4a; font-size:1.2rem; font-weight:900; }
        .invoice-paid,.invoice-pending { padding:.75rem; border-radius:.8rem; font-weight:800; }
        .invoice-paid { background:#dcfce7; color:#166534; }
        .invoice-pending { background:#fef3c7; color:#92400e; }
        .team-delete { color:#991b1b !important; border-color:rgba(220,38,38,.28) !important; }
        .team-one-time { position:relative; padding:1rem; border:1px solid rgba(16,185,129,.5); border-radius:1rem; background:rgba(236,253,245,.96); color:#065f46; }
        .team-one-time p { margin:.5rem 0; }
        .team-one-time code { display:inline-block; padding:.2rem .5rem; border-radius:.4rem; background:#d1fae5; font-size:1rem; font-weight:900; letter-spacing:.05em; user-select:all; }
        .team-dismiss { margin-left:.5rem; border:0; background:transparent; color:#31516f; text-decoration:underline; cursor:pointer; }
        .staff-contact-details { display:inline-block; color:#31516f; font-size:.78rem; }
        .staff-contact-details summary { cursor:pointer; font-weight:800; text-decoration:underline; text-underline-offset:2px; }
        .staff-contact-details span { display:block; padding:.4rem .55rem; margin-top:.3rem; border-radius:.55rem; background:rgba(255,255,255,.8); color:#183650; white-space:nowrap; }
        .staff-promo-migration { align-items:flex-start; font-size:.95rem; line-height:1.55; }
        .staff-promo-migration p { margin:.45rem 0 0; color:#6b2730; }
        .staff-promo-migration code { font-weight:850; }
        .staff-schema-note { margin:0 0 1rem; padding:.8rem 1rem; border:1px solid rgba(217,119,6,.35); border-radius:1rem; background:rgba(255,251,235,.94); color:#713f12; font-size:.82rem; line-height:1.5; }
        .staff-schema-note p { margin:.3rem 0 0; }
        .staff-schema-note code { font-weight:850; }
        .auth-feedback { padding:.8rem .9rem; border-radius:.85rem; text-align:center; font-size:.94rem; font-weight:850; line-height:1.45; }
        .auth-feedback-error { border:1px solid rgba(220,38,38,.55); background:rgba(254,226,226,.95); color:#b91c1c; }
        .auth-feedback-success { border:1px solid rgba(16,185,129,.55); background:rgba(209,250,229,.95); color:#047857; }
        @media (max-width:899px) {
            .staff-mode .staff-layout { grid-template-columns:minmax(0,1fr); grid-template-areas:"toggle" "menu" "content"; }
            .staff-mode #painel-tabs { position:static; min-height:0; max-height:min(60vh,34rem); overflow:auto; }
            .staff-mode .staff-menu { grid-template-columns:repeat(2,minmax(0,1fr)); }
            .staff-mode #painel-corpo { padding:1rem !important; }
            .staff-language { min-width:8.5rem; }
        }
        @media (max-width:560px) {
            .staff-chart-grid { grid-template-columns:minmax(0,1fr); }
            .staff-bar-chart { height:10.5rem; }
            .staff-mode .staff-menu { grid-template-columns:minmax(0,1fr); }
            .staff-mode #painel-tabs { max-height:55vh; }
            .staff-mode .staff-identity { align-items:stretch; }
            .staff-mode .staff-identity-copy { width:100%; }
            .staff-mode .staff-language { width:100%; }
            .staff-mode #painel-corpo table { min-width:38rem; }
            .team-row-actions { min-width:11rem; }
            .staff-period-control { width:100%; border-radius:1rem; }
            .staff-period-button { flex:1 1 calc(50% - .25rem); }
            .team-inactive-heading { align-items:stretch; flex-direction:column; }
            .team-inactive-heading label { width:100%; }
            .finance-edit-modal { min-width:0; }
            .finance-edit-actions > button { flex:1; }
        }
        /* Mosaico isométrico discreto para ocupar as margens vazias em ecrãs largos. */
        .side-mosaic { display:none; position:fixed; z-index:1; top:9rem; bottom:1.5rem; width:clamp(2rem,4vw,4.25rem); pointer-events:none; opacity:.72; background-image:linear-gradient(30deg,rgba(56,189,248,.32) 12%,transparent 12.5%,transparent 87%,rgba(56,189,248,.32) 87.5%,rgba(56,189,248,.32)),linear-gradient(150deg,rgba(251,191,36,.25) 12%,transparent 12.5%,transparent 87%,rgba(251,191,36,.25) 87.5%,rgba(251,191,36,.25)),linear-gradient(30deg,rgba(96,165,250,.2) 12%,transparent 12.5%,transparent 87%,rgba(96,165,250,.2) 87.5%,rgba(96,165,250,.2)); background-size:48px 28px; background-position:0 0,0 0,24px 14px; mask-image:linear-gradient(to bottom,transparent,black 8%,black 92%,transparent); filter:drop-shadow(0 0 10px rgba(56,189,248,.18)); }
        .side-mosaic-left { left:1rem; }
        .side-mosaic-right { right:1rem; transform:scaleX(-1); }
        @media (min-width:1440px) { .side-mosaic { display:block; } }
        @media print {
            #marca-agua { position:fixed; inset:0; opacity:.07; background-position:center; background-size:contain; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
        }
        @media (prefers-reduced-motion:reduce) { .staff-mode #painel-corpo::before { transition:none; } .brand-lockup::before { animation:none !important; } .staff-period-button { transition:none; } }
