/* /Components/Account/AuthCard.razor.rz.scp.css */
.auth[b-caxs6zb98d] {
    min-height: 100vh; min-height: 100dvh;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: calc(24px + var(--safe-top)) 16px calc(24px + var(--safe-bottom));
    perspective: 1400px;
}
.auth-card[b-caxs6zb98d] {
    width: min(420px, 100%);
    padding: 34px 28px 28px;
    text-align: center;
    border-radius: var(--radius-xl);
    background: linear-gradient(160deg, rgba(255,255,255,.1), rgba(255,255,255,.03));
    box-shadow: 0 50px 100px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.06), inset 0 1px 0 rgba(255,255,255,.14);
    animation: auth-in-b-caxs6zb98d 1s var(--ease-spring) backwards;
}
@keyframes auth-in-b-caxs6zb98d { from { opacity: 0; transform: rotateX(28deg) translateY(60px) scale(.9); } }

.auth-logo-wrap[b-caxs6zb98d] { display: flex; justify-content: center; margin-top: -76px; margin-bottom: 18px; }
.auth-logo[b-caxs6zb98d] {
    width: 92px; height: 92px; border-radius: 30px; display: grid; place-items: center;
    background: radial-gradient(120% 90% at 30% 10%, rgba(255,255,255,.45), transparent 45%), linear-gradient(135deg, #7c3aed, #22d3ee);
    box-shadow: inset 0 2px 1px rgba(255,255,255,.55), inset 0 -10px 22px rgba(0,0,0,.25), 0 26px 50px -14px rgba(124,58,237,.9);
    animation: logo-float-b-caxs6zb98d 5s ease-in-out infinite, logo-in-b-caxs6zb98d 1.1s var(--ease-spring) backwards .15s;
}
@keyframes logo-float-b-caxs6zb98d { 0%, 100% { transform: translateY(0) rotateY(-10deg); } 50% { transform: translateY(-8px) rotateY(10deg); } }
@keyframes logo-in-b-caxs6zb98d { from { transform: rotateY(-180deg) scale(.3); opacity: 0; } }

.auth-title[b-caxs6zb98d] { font-size: 1.9rem; margin-bottom: 6px; }
.auth-sub[b-caxs6zb98d] { color: var(--text-2); margin: 0 0 22px; }
.auth-foot[b-caxs6zb98d] { margin-top: 22px; color: var(--text-2); text-align: center; animation: fade-in .8s ease .5s backwards; }
.auth-foot[b-caxs6zb98d]  a { color: white; font-weight: 700; border-bottom: 2px solid color-mix(in oklab, var(--accent-2) 70%, transparent); }

.auth-card[b-caxs6zb98d]  form { display: flex; flex-direction: column; gap: 14px; text-align: left; }
.auth-card[b-caxs6zb98d]  .field { animation: field-in-b-caxs6zb98d .7s var(--ease-out) backwards; animation-delay: calc(250ms + var(--i, 0) * 70ms); }
@keyframes field-in-b-caxs6zb98d { from { opacity: 0; transform: translateY(14px); } }
.auth-card[b-caxs6zb98d]  .auth-error {
    padding: 10px 14px; border-radius: 14px; font-size: .9rem;
    background: color-mix(in oklab, var(--danger) 18%, transparent); border: 1px solid color-mix(in oklab, var(--danger) 40%, transparent); color: #ffe4e6;
    animation: shake-b-caxs6zb98d .45s ease;
}
.auth-card[b-caxs6zb98d]  .auth-ok {
    padding: 10px 14px; border-radius: 14px; font-size: .9rem;
    background: color-mix(in oklab, var(--success) 18%, transparent); border: 1px solid color-mix(in oklab, var(--success) 40%, transparent); color: #d1fae5;
}
@keyframes shake-b-caxs6zb98d { 20%, 60% { transform: translateX(-7px); } 40%, 80% { transform: translateX(7px); } }
.auth-card[b-caxs6zb98d]  .pw-wrap { position: relative; }
.auth-card[b-caxs6zb98d]  .pw-wrap .input { padding-right: 48px; }
.auth-card[b-caxs6zb98d]  .pw-toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); }
.auth-card[b-caxs6zb98d]  .auth-ok { padding: 12px 14px; border-radius: 14px; margin-bottom: 14px; font-size: .9rem; line-height: 1.5;
    background: color-mix(in oklab, var(--success) 16%, transparent); border: 1px solid color-mix(in oklab, var(--success) 45%, transparent); }
.auth-card[b-caxs6zb98d]  .auth-forgot { text-align: right; margin: -6px 0 10px; font-size: .84rem; }
.auth-card[b-caxs6zb98d]  .auth-forgot a, .auth-card[b-caxs6zb98d]  .auth-link { color: var(--accent-2); font-weight: 600; }
.auth-card[b-caxs6zb98d]  .auth-codes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 10px 0; }
.auth-card[b-caxs6zb98d]  .auth-tabs { display: flex; margin-bottom: 14px; }
.auth-card[b-caxs6zb98d]  .auth-tabs > * { flex: 1; }

/* Verifica in due passaggi: codice grande e spaziato */
.auth-card[b-caxs6zb98d]  .auth-otp { text-align: center; font-size: 1.7rem; font-weight: 800; letter-spacing: .4em; padding-left: .4em; font-variant-numeric: tabular-nums; }
.auth-card[b-caxs6zb98d]  .auth-note { font-size: .82rem; color: var(--text-3); line-height: 1.5; margin: 4px 0 0; text-align: center; }
/* /Components/Account/DueFattori.razor.rz.scp.css */
.tf-status[b-iqip5pl2s1] { display: flex; align-items: center; gap: 16px; padding: 20px; margin-bottom: 14px; }
.tf-status h2[b-iqip5pl2s1] { margin: 0 0 4px; font-size: 1.25rem; }
.tf-status p[b-iqip5pl2s1] { margin: 0; }
.tf-status.on[b-iqip5pl2s1] { border-color: rgba(16, 185, 129, .45); background: radial-gradient(90% 120% at 0% 0%, rgba(16, 185, 129, .2), transparent 60%), var(--surface); }
.tf-shield[b-iqip5pl2s1] { font-size: 2.4rem; flex: none; filter: drop-shadow(0 10px 20px rgba(16, 185, 129, .45)); }
.tf-start[b-iqip5pl2s1] { margin-top: 4px; }
.tf-card[b-iqip5pl2s1] { padding: 18px; }
.tf-row[b-iqip5pl2s1] { display: flex; gap: 8px; align-items: center; }
.tf-row .input[b-iqip5pl2s1] { flex: 1; min-width: 0; }

.tf-steps[b-iqip5pl2s1] { list-style: none; padding: 0; margin: 0 0 10px; display: flex; flex-direction: column; gap: 12px; }
.tf-step[b-iqip5pl2s1] { display: flex; gap: 14px; padding: 18px 16px; }
.tf-num[b-iqip5pl2s1] {
    flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #fff;
    background: linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow: 0 8px 18px -8px var(--accent);
}
.tf-body[b-iqip5pl2s1] { flex: 1; min-width: 0; }
.tf-body h3[b-iqip5pl2s1] { margin: 4px 0 4px; font-size: 1.05rem; }
.tf-body p[b-iqip5pl2s1] { margin: 0 0 10px; }
.tf-stores[b-iqip5pl2s1] { display: flex; gap: 8px; flex-wrap: wrap; }
.tf-qr[b-iqip5pl2s1] {
    width: min(220px, 100%); aspect-ratio: 1; margin: 6px auto 12px; padding: 10px; border-radius: 18px; background: #fff;
    box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .7);
}
.tf-qr[b-iqip5pl2s1]  svg { width: 100%; height: 100%; display: block; }
.tf-manual summary[b-iqip5pl2s1] { cursor: pointer; color: var(--accent-2); font-weight: 600; font-size: .9rem; }
.tf-manual[open] summary[b-iqip5pl2s1] { margin-bottom: 8px; }
.tf-fields[b-iqip5pl2s1] { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; margin: 0; font-size: .9rem; }
.tf-fields dt[b-iqip5pl2s1] { color: var(--text-3); }
.tf-fields dd[b-iqip5pl2s1] { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.tf-key[b-iqip5pl2s1] { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.tf-key code[b-iqip5pl2s1] { font-size: 1rem; font-weight: 700; letter-spacing: .06em; padding: 4px 8px; border-radius: 8px; background: var(--surface-2); user-select: all; }
.tf-code[b-iqip5pl2s1] { text-align: center; font-size: 1.5rem; font-weight: 800; letter-spacing: .3em; font-variant-numeric: tabular-nums; }
@media (max-width: 420px) { .tf-fields[b-iqip5pl2s1] { grid-template-columns: 1fr; } .tf-fields dt[b-iqip5pl2s1] { margin-top: 4px; } }
/* /Components/Account/Profilo.razor.rz.scp.css */

.codes[b-zkgrpo7jwj] { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 8px; margin-bottom: 12px; }
.codes code[b-zkgrpo7jwj] { display: block; text-align: center; padding: 10px; border-radius: 12px; font-size: 1.05rem; letter-spacing: .12em; font-weight: 700;
    background: rgba(0,0,0,.35); border: 1px dashed var(--border-strong); user-select: all; }
.admin-card[b-zkgrpo7jwj] { color: var(--text); transition: border-color .12s; }
.admin-card:hover[b-zkgrpo7jwj] { border-color: var(--accent-2); }
.grow[b-zkgrpo7jwj] { flex: 1; min-width: 0; }
/* /Components/Layout/AppFooter.razor.rz.scp.css */
.app-footer[b-gggbckqk41] {
    display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 8px;
    padding: 18px 16px calc(18px + var(--safe-bottom)); margin-top: auto; /* sempre in fondo allo schermo */
    font-size: .72rem; color: var(--footer-fg, var(--text-3)); text-align: center; letter-spacing: .01em;
    border-top: 1px solid color-mix(in oklab, var(--border) 60%, transparent);
    background: var(--footer-bg, linear-gradient(to bottom, transparent, rgba(5, 4, 15, .35)));
}
html.fz-nofooter .app-footer[b-gggbckqk41] { display: none; }
.app-footer a[b-gggbckqk41] { color: var(--footer-fg, var(--text-2)); text-decoration: none; font-weight: 600; }
.app-footer a:hover[b-gggbckqk41] { color: var(--text); text-decoration: underline; }
.dot[b-gggbckqk41] { opacity: .5; }
.ver[b-gggbckqk41] { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-weight: 700; padding: 1px 8px; border-radius: 999px; border: 1px solid color-mix(in oklab, var(--border) 80%, transparent); }
/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Stili del layout definiti in wwwroot/app.css */
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-lfjs4ouduq],
.components-reconnect-repeated-attempt-visible[b-lfjs4ouduq],
.components-reconnect-failed-visible[b-lfjs4ouduq],
.components-pause-visible[b-lfjs4ouduq],
.components-resume-failed-visible[b-lfjs4ouduq],
.components-rejoining-animation[b-lfjs4ouduq] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-lfjs4ouduq],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-lfjs4ouduq],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-lfjs4ouduq],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-lfjs4ouduq],
#components-reconnect-modal.components-reconnect-retrying[b-lfjs4ouduq],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-lfjs4ouduq],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-lfjs4ouduq],
#components-reconnect-modal.components-reconnect-failed[b-lfjs4ouduq],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-lfjs4ouduq] {
    display: block;
}


#components-reconnect-modal[b-lfjs4ouduq] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-lfjs4ouduq 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-lfjs4ouduq 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-lfjs4ouduq 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-lfjs4ouduq]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-lfjs4ouduq 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-lfjs4ouduq {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-lfjs4ouduq {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-lfjs4ouduq {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-lfjs4ouduq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-lfjs4ouduq] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-lfjs4ouduq] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-lfjs4ouduq] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-lfjs4ouduq] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-lfjs4ouduq] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-lfjs4ouduq] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-lfjs4ouduq 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-lfjs4ouduq] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-lfjs4ouduq {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Abitudini/HabitDetail.razor.rz.scp.css */
.hd[b-fttl4n63nr] { display: flex; flex-direction: column; gap: 14px; }
.hd-meta[b-fttl4n63nr] { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; margin-top: -6px; }
.hd-stats[b-fttl4n63nr] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.hd-stats div[b-fttl4n63nr] { display: flex; flex-direction: column; gap: 2px; padding: 10px; border-radius: 16px; background: color-mix(in oklab, var(--c) 12%, rgba(255,255,255,.03)); border: 1px solid color-mix(in oklab, var(--c) 25%, var(--border)); animation: fade-up .45s var(--ease-out) both; }
.hd-stats b[b-fttl4n63nr] { font-family: var(--font-display); font-size: 1.25rem; }
.hd-stats span[b-fttl4n63nr] { font-size: .7rem; color: var(--text-2); }
@media (max-width: 640px) { .hd-stats[b-fttl4n63nr] { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hd-stats div:last-child[b-fttl4n63nr] { grid-column: 1 / -1; } }
.hd-title[b-fttl4n63nr] { font-size: .9rem; color: var(--text-2); margin-top: 4px; }

/* Calendario annuale: 53 colonne (settimane) × 7 righe (lun–dom), scorre in orizzontale dentro il riquadro */
.hd-heat-wrap[b-fttl4n63nr] { overflow-x: auto; padding-bottom: 4px; direction: rtl; scrollbar-width: thin; }
.hd-heat[b-fttl4n63nr] { display: flex; gap: 3px; direction: ltr; width: max-content; }
.hd-col[b-fttl4n63nr] { display: flex; flex-direction: column; gap: 3px; }
.hd-col i[b-fttl4n63nr], .hd-legend i[b-fttl4n63nr] { width: 12px; height: 12px; border-radius: 3px; background: rgba(255,255,255,.07); display: block; }
.hd-col i.l1[b-fttl4n63nr], .hd-legend i.l1[b-fttl4n63nr] { background: color-mix(in oklab, var(--c) 30%, transparent); }
.hd-col i.l2[b-fttl4n63nr], .hd-legend i.l2[b-fttl4n63nr] { background: color-mix(in oklab, var(--c) 50%, transparent); }
.hd-col i.l3[b-fttl4n63nr], .hd-legend i.l3[b-fttl4n63nr] { background: color-mix(in oklab, var(--c) 72%, transparent); }
.hd-col i.l4[b-fttl4n63nr], .hd-legend i.l4[b-fttl4n63nr] { background: var(--c); box-shadow: 0 0 6px color-mix(in oklab, var(--c) 70%, transparent); }
.hd-col i.rest.l0[b-fttl4n63nr] { background: transparent; box-shadow: inset 0 0 0 1px rgba(255,255,255,.07); }
.hd-col i.future[b-fttl4n63nr] { visibility: hidden; }
.hd-col i.sel[b-fttl4n63nr] { outline: 2px solid #fff; outline-offset: 1px; }
.hd-legend[b-fttl4n63nr] { display: flex; align-items: center; gap: 4px; justify-content: flex-end; }
.hd-legend i[b-fttl4n63nr] { width: 10px; height: 10px; }
.hd-confirm[b-fttl4n63nr] { padding: 12px; border-radius: 16px; background: color-mix(in oklab, var(--danger) 12%, transparent); border: 1px solid color-mix(in oklab, var(--danger) 45%, transparent); }
.hd-confirm p[b-fttl4n63nr] { margin: 0 0 10px; }
.grow[b-fttl4n63nr] { flex: 1; }
/* /Components/Pages/Abitudini/HabitRow.razor.rz.scp.css */
.hb-card[b-hgu5va2fao] { position: relative; display: flex; align-items: center; gap: 10px; padding: 12px 12px 12px 6px; border-radius: 22px; margin-bottom: 10px;
    border: 1px solid color-mix(in oklab, var(--c) 28%, var(--border));
    background: linear-gradient(150deg, color-mix(in oklab, var(--c) 14%, rgba(255,255,255,.05)), rgba(255,255,255,.02));
    transition: transform .3s var(--ease-out), border-color .3s, background .4s, box-shadow .3s;
    animation: hb-in-b-hgu5va2fao .5s var(--ease-spring) backwards; animation-delay: calc(var(--i) * 45ms); }
@keyframes hb-in-b-hgu5va2fao { from { opacity: 0; transform: translateY(14px) scale(.97); } }
.hb-card.done[b-hgu5va2fao] { border-color: color-mix(in oklab, var(--c) 60%, transparent); background: linear-gradient(150deg, color-mix(in oklab, var(--c) 30%, transparent), color-mix(in oklab, var(--c) 8%, transparent)); box-shadow: 0 14px 30px -20px var(--c); }
.hb-card.off[b-hgu5va2fao] { opacity: .55; }
.hb-card.hb-dragging[b-hgu5va2fao] { z-index: 5; box-shadow: 0 24px 40px -14px rgba(0,0,0,.9), 0 0 0 2px var(--c); transition: none; }

.hb-grip[b-hgu5va2fao] { flex: none; width: 18px; text-align: center; color: var(--text-3); cursor: grab; touch-action: none; user-select: none; font-size: .9rem; letter-spacing: -3px; }
.hb-main[b-hgu5va2fao] { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; border: 0; background: none; padding: 0; color: var(--text); text-align: left; cursor: pointer; }
.hb-ico[b-hgu5va2fao] { width: 46px; height: 46px; flex: none; border-radius: 15px; display: grid; place-items: center; font-size: 1.5rem;
    background: linear-gradient(145deg, color-mix(in oklab, var(--c) 55%, #0b0a1f), color-mix(in oklab, var(--c) 25%, #0b0a1f)); box-shadow: 0 8px 18px -10px var(--c), inset 0 1px 0 rgba(255,255,255,.2); }
.hb-text[b-hgu5va2fao] { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.hb-name[b-hgu5va2fao] { font-weight: 700; font-size: .98rem; }
.hb-card.done .hb-name[b-hgu5va2fao] { text-decoration: line-through; text-decoration-color: color-mix(in oklab, var(--c) 70%, transparent); text-decoration-thickness: 2px; }
.hb-sub[b-hgu5va2fao] { display: flex; gap: 10px; font-size: .76rem; color: var(--text-2); }
.hb-fire[b-hgu5va2fao] { font-weight: 800; color: #fdba74; }
.hb-week[b-hgu5va2fao] { display: flex; gap: 4px; margin-top: 2px; }
.hb-week i[b-hgu5va2fao] { width: 9px; height: 9px; border-radius: 3px; background: rgba(255,255,255,.1); }
.hb-week i.on[b-hgu5va2fao] { background: var(--c); box-shadow: 0 0 6px var(--c); }
.hb-week i.half[b-hgu5va2fao] { background: color-mix(in oklab, var(--c) 45%, transparent); }
.hb-week i.rest[b-hgu5va2fao] { background: transparent; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }

.hb-minus[b-hgu5va2fao] { flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--border-strong); background: rgba(0,0,0,.25); color: var(--text); font-size: 1.1rem; cursor: pointer; }
.hb-ring[b-hgu5va2fao] { flex: none; position: relative; width: 54px; height: 54px; border-radius: 50%; border: 0; padding: 0; cursor: pointer;
    background: conic-gradient(var(--c) var(--p), rgba(255,255,255,.1) 0); transition: transform .25s var(--ease-spring); }
.hb-ring:active[b-hgu5va2fao] { transform: scale(.88); }
.hb-ring-in[b-hgu5va2fao] { position: absolute; inset: 5px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 1rem; color: #fff;
    background: #0f0d27; transition: background .35s, transform .35s var(--ease-spring); }
.hb-card.done .hb-ring-in[b-hgu5va2fao] { background: var(--c); font-size: 1.35rem; animation: ring-pop-b-hgu5va2fao .45s var(--ease-spring); }
@keyframes ring-pop-b-hgu5va2fao { 0% { transform: scale(.6); } 60% { transform: scale(1.15); } 100% { transform: none; } }

@media (max-width: 420px) {
    .hb-ico[b-hgu5va2fao] { width: 40px; height: 40px; font-size: 1.3rem; border-radius: 13px; }
    .hb-ring[b-hgu5va2fao] { width: 50px; height: 50px; }
}
/* /Components/Pages/Abitudini/HabitSheet.razor.rz.scp.css */
.hs[b-skq43gglk8] { display: flex; flex-direction: column; gap: 16px; }
.hs-top[b-skq43gglk8] { display: flex; align-items: center; gap: 12px; }
.hs-preview[b-skq43gglk8] { width: 56px; height: 56px; flex: none; border-radius: 18px; display: grid; place-items: center; font-size: 1.8rem;
    background: linear-gradient(145deg, color-mix(in oklab, var(--c) 60%, #0b0a1f), color-mix(in oklab, var(--c) 25%, #0b0a1f)); box-shadow: 0 12px 24px -12px var(--c); }
.grow[b-skq43gglk8] { flex: 1; min-width: 0; }
.hs-icons[b-skq43gglk8] { display: grid; grid-template-columns: repeat(auto-fill, minmax(42px, 1fr)); gap: 6px; }
.hs-icon[b-skq43gglk8] { height: 42px; border-radius: 12px; border: 1px solid var(--border); background: rgba(255,255,255,.04); font-size: 1.3rem; cursor: pointer; transition: transform .2s var(--ease-spring); }
.hs-icon.on[b-skq43gglk8] { border-color: var(--c); background: color-mix(in oklab, var(--c) 30%, transparent); transform: scale(1.08); }
.hs-colors[b-skq43gglk8] { display: flex; flex-wrap: wrap; gap: 8px; }
.hs-color[b-skq43gglk8] { width: 30px; height: 30px; border-radius: 50%; border: 0; cursor: pointer; background: var(--sw); transition: transform .25s var(--ease-spring); }
.hs-color.on[b-skq43gglk8] { transform: scale(1.12); box-shadow: 0 0 0 3px #0b0a1f, 0 0 0 5px var(--sw); }
.hs-seg[b-skq43gglk8] { display: flex; flex-wrap: wrap; }
.hs-seg > *[b-skq43gglk8] { flex: 1 1 auto; }
.hs-row[b-skq43gglk8] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.hs-num[b-skq43gglk8] { width: 96px; text-align: center; }
.hs-times[b-skq43gglk8] { font-size: 1.3rem; min-width: 26px; text-align: center; }
.hs-days[b-skq43gglk8] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin-top: 10px; }
.hs-day[b-skq43gglk8] { height: 40px; border-radius: 12px; border: 1px solid var(--border); background: rgba(255,255,255,.04); color: var(--text-2); font-weight: 700; font-size: .78rem; cursor: pointer; }
.hs-day.on[b-skq43gglk8] { background: color-mix(in oklab, var(--c) 40%, transparent); border-color: var(--c); color: #fff; }
.hs-remind[b-skq43gglk8] { display: flex !important; flex-direction: row !important; align-items: center; justify-content: space-between; text-transform: none !important; letter-spacing: 0 !important; font-size: .9rem !important; color: var(--text) !important; cursor: pointer; }
.hs-time[b-skq43gglk8] { width: 130px; }
/* /Components/Pages/Abitudini/HabitsPage.razor.rz.scp.css */
.hb-hero[b-h7o9de7oj3] { margin-left: auto; }
.hb-bigring[b-h7o9de7oj3] { width: 112px; height: 112px; border-radius: 50%; display: grid; place-items: center; position: relative;
    background: conic-gradient(var(--accent) var(--p), rgba(255,255,255,.08) 0); box-shadow: 0 20px 50px -20px var(--accent); animation: big-in-b-h7o9de7oj3 1s var(--ease-spring) both .2s; }
.hb-bigring[b-h7o9de7oj3]::before { content: ""; position: absolute; inset: 10px; border-radius: 50%; background: #0c0b22; }
.hb-bigring span[b-h7o9de7oj3] { position: relative; font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; }
@keyframes big-in-b-h7o9de7oj3 { from { opacity: 0; transform: rotate(-120deg) scale(.5); } }

.hb-day[b-h7o9de7oj3] { position: sticky; top: calc(64px + var(--safe-top)); z-index: 20; display: flex; align-items: center; gap: 8px; padding: 8px; border-radius: 20px; margin-bottom: 16px; }
.hb-day .btn[b-h7o9de7oj3] { font-size: 1.5rem; }
.hb-day-mid[b-h7o9de7oj3] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; align-items: center; }
.hb-day-title[b-h7o9de7oj3] { font-family: var(--font-display); font-size: 1.05rem; animation: fade-up .35s var(--ease-out) both; }
.hb-day-mid .progress[b-h7o9de7oj3] { width: 100%; max-width: 420px; }
@media (max-width: 700px) { .hb-day[b-h7o9de7oj3] { top: calc(60px + var(--safe-top)); } }

.hb-list[b-h7o9de7oj3] { position: relative; max-width: 760px; margin: 0 auto; }
.hb-list.hb-sorting[b-h7o9de7oj3] { user-select: none; }
.hb-sec[b-h7o9de7oj3] { max-width: 760px; margin: 20px auto 10px; font-size: .9rem; color: var(--text-2); }
.hb-hint[b-h7o9de7oj3] { text-align: center; margin: 12px 0 0; }
.hb-templates[b-h7o9de7oj3] { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }

.hb-period[b-h7o9de7oj3] { display: flex; gap: 6px; margin: 10px 0 14px; justify-content: center; flex-wrap: wrap; }
.hb-archive[b-h7o9de7oj3] { max-width: 760px; margin: 22px auto 90px; }
.hb-arch-row[b-h7o9de7oj3] { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 14px; margin-top: 6px; background: rgba(255,255,255,.04); border: 1px solid var(--border); }
.hb-arch-ico[b-h7o9de7oj3] { font-size: 1.2rem; }


/* ---------- Panoramica a quadratini (settimana / mese / anno) ---------- */
.hk-list[b-h7o9de7oj3] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.hk-card[b-h7o9de7oj3] { display: flex; flex-direction: column; gap: 12px; padding: 14px; border-radius: 20px; border: 1px solid var(--border); cursor: pointer; text-align: left;
    background: linear-gradient(145deg, color-mix(in oklab, var(--c) 12%, rgba(255,255,255,.04)), rgba(255,255,255,.02)); color: var(--text); font: inherit; }
.hk-head[b-h7o9de7oj3] { display: flex; align-items: center; gap: 10px; }
.hk-ico[b-h7o9de7oj3] { width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; font-size: 1.1rem; background: color-mix(in oklab, var(--c) 30%, transparent); flex: none; }
.hk-name[b-h7o9de7oj3] { font-weight: 700; }
.hk-num[b-h7o9de7oj3] { font-weight: 800; color: var(--c); }
.hk-num small[b-h7o9de7oj3] { color: var(--text-3); font-weight: 600; }

.hk-grid[b-h7o9de7oj3] { display: grid; gap: 4px; }
.hk-week[b-h7o9de7oj3] { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.hk-month[b-h7o9de7oj3] { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.hk-year[b-h7o9de7oj3] { grid-template-rows: repeat(7, 1fr); grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 2px; }

.hk-cell[b-h7o9de7oj3] { aspect-ratio: 1; border-radius: 4px; background: rgba(255,255,255,.06); display: grid; place-items: center; }
.hk-week .hk-cell[b-h7o9de7oj3] { border-radius: 10px; }
.hk-month .hk-cell[b-h7o9de7oj3] { border-radius: 6px; }
.hk-year .hk-cell[b-h7o9de7oj3] { border-radius: 2px; }
.hk-cell i[b-h7o9de7oj3] { font-style: normal; font-size: .72rem; font-weight: 700; color: var(--text-3); }
.hk-cell.on[b-h7o9de7oj3] { background: var(--c); box-shadow: 0 0 10px -2px color-mix(in oklab, var(--c) 70%, transparent); }
.hk-cell.on i[b-h7o9de7oj3] { color: #fff; }
.hk-cell.part[b-h7o9de7oj3] { background: color-mix(in oklab, var(--c) calc(var(--o, .5) * 100%), rgba(255,255,255,.06)); }
.hk-cell.due[b-h7o9de7oj3] { background: rgba(255,255,255,.08); }
.hk-cell.off[b-h7o9de7oj3] { background: rgba(255,255,255,.03); }
.hk-cell.future[b-h7o9de7oj3] { background: transparent; box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
.hk-cell.pad[b-h7o9de7oj3] { background: transparent; }
.hk-cell.today[b-h7o9de7oj3] { outline: 2px solid color-mix(in oklab, var(--c) 80%, #fff); outline-offset: 1px; }
.hk-year .hk-cell.today[b-h7o9de7oj3] { outline-width: 1px; }
@media (max-width: 560px) { .hk-list[b-h7o9de7oj3] { grid-template-columns: minmax(0, 1fr); } }
.hk-period[b-h7o9de7oj3] { margin: 0 0 10px; font-size: .95rem; color: var(--text-2); font-weight: 700; }
.hk-week .hk-cell[b-h7o9de7oj3] { aspect-ratio: auto; min-height: 52px; display: flex; flex-direction: column; gap: 2px; justify-content: center; }
.hk-cell b[b-h7o9de7oj3] { font-size: .8rem; font-weight: 800; color: var(--text-2); line-height: 1; }
.hk-week .hk-cell b[b-h7o9de7oj3] { font-size: .95rem; }
.hk-month .hk-cell b[b-h7o9de7oj3] { font-size: .7rem; }
.hk-cell.on b[b-h7o9de7oj3] { color: #fff; }
.hk-cell.future b[b-h7o9de7oj3] { color: var(--text-3); opacity: .6; }
.hk-dow[b-h7o9de7oj3] { text-align: center; font-size: .68rem; font-weight: 700; color: var(--text-3); }
/* /Components/Pages/Admin/AdminAvvisi.razor.rz.scp.css */
.av-list[b-35nxaidk83] { display: flex; flex-direction: column; gap: 8px; }
.av-row[b-35nxaidk83] {
    --c: #8B5CF6;
    display: flex; align-items: center; gap: 8px; padding: 6px 10px 6px 6px; border-radius: 18px;
    background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--c);
}
.av-row.warn[b-35nxaidk83] { --c: #F59E0B; }
.av-row.off[b-35nxaidk83] { opacity: .55; }
.av-main[b-35nxaidk83] { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 6px; border: 0; background: none; color: var(--text); font: inherit; text-align: left; cursor: pointer; border-radius: 14px; }
.av-ico[b-35nxaidk83] { width: 40px; height: 40px; flex: none; border-radius: 12px; display: grid; place-items: center; font-size: 1.2rem; background: color-mix(in oklab, var(--c) 24%, transparent); }
.av-text[b-35nxaidk83] { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.av-title[b-35nxaidk83] { overflow-wrap: anywhere; }
.av-switch[b-35nxaidk83] { flex: none; display: flex; align-items: center; cursor: pointer; padding: 6px; }
/* /Components/Pages/Admin/AdminLog.razor.rz.scp.css */
/* Log del server: righe compatte, colore per gravità, dettagli tecnici a scomparsa. Niente animazioni. */
.lg-list[b-4gc3bshjak] { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.lg-row[b-4gc3bshjak] { padding: 12px 14px; border-left: 4px solid var(--warning); min-width: 0; }
.lg-row.err[b-4gc3bshjak] { border-left-color: var(--danger); }
.lg-row.fresh[b-4gc3bshjak] { box-shadow: 0 0 0 1px color-mix(in oklab, var(--accent) 55%, transparent); }
.lg-head[b-4gc3bshjak] { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.lg-head .grow[b-4gc3bshjak] { flex: 1; }
.lg-cat[b-4gc3bshjak] { font-size: .78rem; color: var(--text-3); margin-top: 6px; overflow-wrap: anywhere; }
.lg-msg[b-4gc3bshjak] { margin: 4px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .9rem; }
.lg-ex[b-4gc3bshjak] { margin-top: 8px; }
.lg-ex summary[b-4gc3bshjak] { cursor: pointer; color: var(--text-2); font-size: .82rem; }
.lg-ex pre[b-4gc3bshjak] { margin: 8px 0 0; max-height: 320px; overflow: auto; font-size: .72rem; line-height: 1.45; padding: 10px; border-radius: 10px;
    background: rgba(0,0,0,.35); border: 1px solid var(--border); white-space: pre-wrap; overflow-wrap: anywhere; }
/* /Components/Pages/Admin/AdminSpazio.razor.rz.scp.css */
/* Spazio su disco: barre impilate e barre orizzontali in CSS. Niente animazioni. */
.sp-disk[b-7btwxnh9kd], .sp-app[b-7btwxnh9kd] { margin-top: 14px; min-width: 0; }
.sp-head[b-7btwxnh9kd] { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.sp-big[b-7btwxnh9kd] { font-size: clamp(1.5rem, 6vw, 2.1rem); font-weight: 800; line-height: 1.15; margin: 4px 0 2px; }
.sp-big .muted[b-7btwxnh9kd] { font-size: .55em; font-weight: 600; }

.sp-bar[b-7btwxnh9kd] { display: flex; height: 26px; margin: 16px 0 12px; border-radius: 13px; overflow: hidden; background: rgba(255,255,255,.07); border: 1px solid var(--border); }
.sp-bar > span[b-7btwxnh9kd] { display: block; height: 100%; min-width: 0; }
.sp-bar > span + span[b-7btwxnh9kd] { box-shadow: inset 1px 0 0 rgba(0,0,0,.35); }
.sp-bar-sm[b-7btwxnh9kd] { height: 14px; margin: 10px 0 4px; }

.sp-legend[b-7btwxnh9kd] { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.sp-legend li[b-7btwxnh9kd] { display: flex; align-items: center; gap: 8px; font-size: .9rem; min-width: 0; }
.sp-legend i[b-7btwxnh9kd], .sp-h i[b-7btwxnh9kd] { width: 12px; height: 12px; border-radius: 4px; flex: none; }
.sp-legend .sp-free i[b-7btwxnh9kd] { background: rgba(255,255,255,.07); border: 1px solid var(--border); }
.sp-legend .grow[b-7btwxnh9kd], .sp-h .grow[b-7btwxnh9kd], .sp-row-head .grow[b-7btwxnh9kd] { flex: 1; min-width: 0; }
.sp-pct[b-7btwxnh9kd] { width: 64px; text-align: right; font-size: .8rem; }

.sp-h[b-7btwxnh9kd] { display: flex; align-items: center; gap: 8px; font-size: .98rem; margin: 18px 0 6px; }
.sp-rows[b-7btwxnh9kd] { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 8px; }
.sp-row-head[b-7btwxnh9kd] { display: flex; align-items: baseline; gap: 8px; font-size: .86rem; min-width: 0; }
.sp-name[b-7btwxnh9kd] { overflow-wrap: anywhere; }
.sp-track[b-7btwxnh9kd] { height: 8px; margin-top: 4px; border-radius: 4px; background: rgba(255,255,255,.06); overflow: hidden; }
.sp-track > span[b-7btwxnh9kd] { display: block; height: 100%; border-radius: 4px; }
.sp-note[b-7btwxnh9kd] { margin: 12px 4px 0; }
/* /Components/Pages/Admin/AdminUso.razor.rz.scp.css */
/* Panoramica d'uso: numeri grandi, barre in CSS. Niente animazioni. */
.us-kpis[b-9fr21egv6c] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 760px) { .us-kpis[b-9fr21egv6c] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.us-kpi[b-9fr21egv6c] { display: flex; flex-direction: column; gap: 2px; padding: 16px; min-width: 0; }
.us-kpi-ico[b-9fr21egv6c] { font-size: 1.2rem; }
.us-kpi-v[b-9fr21egv6c] { font-size: clamp(1.8rem, 6vw, 2.4rem); font-weight: 800; line-height: 1.1; margin-top: 4px; }
.us-kpi-l[b-9fr21egv6c] { font-weight: 700; }
.us-kpi-n[b-9fr21egv6c] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.us-grid[b-9fr21egv6c] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
@media (max-width: 760px) { .us-grid[b-9fr21egv6c] { grid-template-columns: 1fr; } }
.us-card[b-9fr21egv6c] { margin-top: 12px; min-width: 0; }
.us-grid .us-card[b-9fr21egv6c] { margin-top: 0; }

.us-cols[b-9fr21egv6c] { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; align-items: end; height: 170px; padding-top: 8px; }
.us-col[b-9fr21egv6c] { display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; min-width: 0; }
.us-col-v[b-9fr21egv6c] { font-weight: 800; font-size: .9rem; }
.us-col-bar[b-9fr21egv6c] { flex: 1; width: 100%; max-width: 44px; display: flex; align-items: flex-end; border-radius: 10px; background: rgba(255,255,255,.05); overflow: hidden; }
.us-col-bar i[b-9fr21egv6c] { display: block; width: 100%; min-height: 3px; border-radius: 10px; background: linear-gradient(180deg, var(--accent-2), var(--accent)); }
.us-col-l[b-9fr21egv6c] { font-size: .74rem; color: var(--text-2); text-transform: capitalize; }

.us-funnel[b-9fr21egv6c] { display: flex; flex-direction: column; gap: 14px; padding-top: 6px; }
.us-fbar[b-9fr21egv6c] { display: grid; grid-template-columns: 72px 1fr 36px; align-items: center; gap: 10px; }
.us-fbar-l[b-9fr21egv6c] { font-size: .85rem; color: var(--text-2); }
.us-fbar-v[b-9fr21egv6c] { text-align: right; font-weight: 800; }

.us-track[b-9fr21egv6c] { position: relative; display: block; height: 10px; border-radius: 6px; background: rgba(255,255,255,.06); overflow: hidden; }
.us-track i[b-9fr21egv6c] { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; }
.us-track i.ever[b-9fr21egv6c] { background: rgba(255,255,255,.14); }
.us-track i.recent[b-9fr21egv6c] { background: var(--c, var(--accent)); }

.us-apps[b-9fr21egv6c] { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px 18px; }
.us-apps li[b-9fr21egv6c] { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 6px 0; }
.us-apps li.unused[b-9fr21egv6c] { opacity: .45; }
.us-app-ico[b-9fr21egv6c] { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 12px; font-size: 1.25rem; background: color-mix(in oklab, var(--c) 28%, rgba(0,0,0,.25)); }
.us-app-main[b-9fr21egv6c] { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.us-app-head[b-9fr21egv6c] { display: flex; justify-content: space-between; gap: 8px; }
.us-app-head b[b-9fr21egv6c] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.us-people[b-9fr21egv6c] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.us-people li[b-9fr21egv6c] { display: flex; align-items: center; gap: 12px; padding: 10px 0; min-width: 0; flex-wrap: wrap; }
.us-people li + li[b-9fr21egv6c] { border-top: 1px solid var(--border); }
.us-person[b-9fr21egv6c] { display: flex; flex-direction: column; min-width: 160px; }
.us-person b[b-9fr21egv6c] { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.us-stats[b-9fr21egv6c] { display: flex; gap: 18px; margin-left: auto; }
.us-stats span[b-9fr21egv6c] { display: flex; flex-direction: column; align-items: flex-end; min-width: 44px; }
.us-stats b[b-9fr21egv6c] { font-size: 1rem; }
.us-stats small[b-9fr21egv6c] { font-size: .68rem; color: var(--text-3); text-transform: uppercase; letter-spacing: .06em; }
.us-note[b-9fr21egv6c] { margin: 10px 2px 0; }
/* /Components/Pages/Admin/AdminUtente.razor.rz.scp.css */
.ud-head[b-guq8o0424i] { display: flex; align-items: center; gap: 16px; padding: 18px; margin-bottom: 12px; }
.ud-id[b-guq8o0424i] { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ud-name[b-guq8o0424i] { margin: 0; font-size: 1.35rem; font-family: var(--font-display); overflow-wrap: anywhere; }
.ud-mail[b-guq8o0424i] { color: var(--text-2); text-decoration: none; overflow-wrap: anywhere; }
.ud-badges[b-guq8o0424i] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.ud-sec[b-guq8o0424i] { padding: 16px; margin-bottom: 12px; }
.ud-sec h2[b-guq8o0424i] { margin: 0 0 10px; font-size: 1rem; }
.ud-dl[b-guq8o0424i] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; margin: 0; }
.ud-dl > div[b-guq8o0424i] { min-width: 0; }
.ud-dl .wide[b-guq8o0424i] { grid-column: 1 / -1; }
.ud-dl dt[b-guq8o0424i] { font-size: .7rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-3); }
.ud-dl dd[b-guq8o0424i] { margin: 2px 0 0; font-weight: 600; overflow-wrap: anywhere; }
.ud-note[b-guq8o0424i] { font-style: italic; font-weight: 500; color: var(--text-2); }
.ud-devices[b-guq8o0424i] { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ud-devices li[b-guq8o0424i] { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 8px 10px; border-radius: 12px; background: rgba(255,255,255,.04); }
.ud-msg[b-guq8o0424i] { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; color: var(--text); text-decoration: none; }
.ud-actions[b-guq8o0424i] { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.ud-del[b-guq8o0424i] { color: #fecdd3; }
.ud-confirm[b-guq8o0424i] { display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 14px; background: color-mix(in oklab, var(--danger) 14%, transparent); }
.ud-code[b-guq8o0424i] { padding: 16px; margin-bottom: 12px; border-color: color-mix(in oklab, var(--accent) 50%, transparent); }
.ud-code-val[b-guq8o0424i] { font-family: var(--font-display); font-size: 2rem; font-weight: 700; letter-spacing: .14em; user-select: all; }
@media (max-width: 560px) { .ud-dl[b-guq8o0424i] { grid-template-columns: minmax(0, 1fr); } }
/* /Components/Pages/Admin/AdminUtenti.razor.rz.scp.css */
.au-tools[b-mj0c31zogh] { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.au-search[b-mj0c31zogh] { position: relative; display: flex; align-items: center; }
.au-search > span[b-mj0c31zogh] { position: absolute; left: 12px; pointer-events: none; }
.au-search .input[b-mj0c31zogh] { width: 100%; padding-left: 38px; }
.au-n[b-mj0c31zogh] { font-size: .72rem; opacity: .7; margin-left: 2px; }
.au-list[b-mj0c31zogh] { display: flex; flex-direction: column; gap: 6px; }
.au-row[b-mj0c31zogh] {
    display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 16px; text-decoration: none; color: var(--text);
    background: var(--surface); border: 1px solid var(--border);
    -webkit-tap-highlight-color: transparent;
}
.au-row:active[b-mj0c31zogh] { background: var(--surface-2); }
.au-row.suspended[b-mj0c31zogh] { opacity: .6; }
.au-main[b-mj0c31zogh] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.au-name[b-mj0c31zogh] { display: flex; align-items: center; gap: 6px; min-width: 0; }
.au-last[b-mj0c31zogh] { flex: none; text-align: right; max-width: 30%; }
.au-more[b-mj0c31zogh] { display: flex; justify-content: center; margin-top: 14px; }
@media (max-width: 560px) { .au-last[b-mj0c31zogh] { display: none; } }
/* /Components/Pages/Allenamenti/BodyMap.razor.rz.scp.css */
.bm[b-0ikdt7g157] { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-end; gap: 10px 26px; }
.bm figure[b-0ikdt7g157] { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.bm svg[b-0ikdt7g157] { width: 120px; height: auto; }
.bm path[b-0ikdt7g157] { stroke: rgba(255,255,255,.18); stroke-width: .6; }
.bm .bm-skin[b-0ikdt7g157] { fill: rgba(255,255,255,.08); }
.bm figcaption[b-0ikdt7g157] { font-size: .72rem; color: var(--text-3); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.bm-legend[b-0ikdt7g157] { flex-basis: 100%; display: flex; justify-content: center; gap: 14px; font-size: .72rem; color: var(--text-3); }
.bm-legend span[b-0ikdt7g157] { display: inline-flex; align-items: center; gap: 5px; }
.bm-legend i[b-0ikdt7g157] { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
@media (max-width: 560px) { .bm svg[b-0ikdt7g157] { width: 104px; } }
/* /Components/Pages/Allenamenti/CorpoPage.razor.rz.scp.css */
.cp-kpi[b-78wbloog46] { text-align: left; cursor: pointer; color: var(--text); font: inherit; }
.cp-kpi.on[b-78wbloog46] { border-color: var(--accent); background: color-mix(in oklab, var(--accent) 14%, transparent); }
.cp-photos[b-78wbloog46] { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.cp-photo[b-78wbloog46] { padding: 0; border: 0; border-radius: 14px; overflow: hidden; aspect-ratio: 3 / 4; background: var(--surface); cursor: pointer; }
.cp-photo img[b-78wbloog46] { width: 100%; height: 100%; object-fit: cover; }
.cp-del[b-78wbloog46] { position: fixed; z-index: 1300; left: 50%; bottom: calc(18px + var(--safe-bottom)); transform: translateX(-50%); }
/* /Components/Pages/Allenamenti/ProgressiPage.razor.rz.scp.css */
.pg-nav[b-nkgt4z977w] { display: flex; align-items: center; gap: 8px; padding: 6px; border-radius: 16px; }
/* /Components/Pages/Allenamenti/SchedaPage.razor.rz.scp.css */
.sd-day[b-oxr32ad7h1] { padding: 14px 16px; }
.sd-day-name[b-oxr32ad7h1] { text-align: left; background: none; border: 0; color: var(--text); font: inherit; cursor: pointer; padding: 0; }
.sd-day-name b[b-oxr32ad7h1] { font-family: var(--font-display); font-size: 1.05rem; }
.sd-ex[b-oxr32ad7h1] { display: flex; align-items: center; gap: 8px; padding: 6px 4px 6px 10px; border-radius: 14px; background: var(--surface); }
.sd-ico[b-oxr32ad7h1] { font-size: 1.1rem; }
.sd-ex-main[b-oxr32ad7h1] { text-align: left; background: none; border: 0; color: var(--text); font: inherit; cursor: pointer; min-width: 0; padding: 4px 0; }
/* /Components/Pages/Allenamenti/SchedePage.razor.rz.scp.css */
.sc-card[b-g85m7utk2t] { padding: 14px 16px; border-left: 4px solid var(--c); }
.sc-main[b-g85m7utk2t] { display: flex; align-items: center; gap: 12px; color: var(--text); }
.sc-dot[b-g85m7utk2t] { width: 12px; height: 12px; border-radius: 50%; background: var(--c); flex: none; }
.sc-tpl[b-g85m7utk2t] { padding: 16px; border-top: 3px solid var(--c); display: flex; flex-direction: column; }
.sc-tpl .btn[b-g85m7utk2t] { margin-top: auto; align-self: flex-start; }
/* Selezione multipla */
.sc-pick[b-g85m7utk2t] { width: 100%; background: none; border: 0; padding: 0; font: inherit; text-align: left; cursor: pointer; }
.sc-check[b-g85m7utk2t] { width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--border-strong); flex: none; display: grid; place-items: center; font-size: .8rem; color: #fff; }
.sc-card.sel[b-g85m7utk2t] { background: color-mix(in oklab, var(--accent) 16%, var(--surface)); }
.sc-card.sel .sc-check[b-g85m7utk2t] { background: var(--accent); border-color: var(--accent); }
.sc-selbar[b-g85m7utk2t] { position: sticky; bottom: calc(env(safe-area-inset-bottom) + 12px); z-index: 7; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding: 10px 12px; border-radius: 18px;
    background: color-mix(in oklab, var(--bg-1) 85%, var(--accent)); border: 1px solid color-mix(in oklab, var(--accent) 40%, transparent); box-shadow: 0 10px 40px rgba(0,0,0,.5); }
.sc-selbar b[b-g85m7utk2t] { flex: 1 1 auto; }
/* /Components/Pages/Allenamenti/TrainingShell.razor.rz.scp.css */
/* Stili comuni di Allenamenti (tutti con ::deep: si applicano ai contenuti delle pagine). Niente animazioni. */
.tr[b-6l0sq2jzyg] { display: flex; flex-direction: column; gap: 16px; }
.tr[b-6l0sq2jzyg]  .tr-sec { font-family: var(--font-display); font-size: 1rem; font-weight: 700; margin: 6px 0 -4px; display: flex; align-items: center; gap: 8px; }
.tr[b-6l0sq2jzyg]  .tr-sec .grow { flex: 1; }
.tr[b-6l0sq2jzyg]  .tr-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.tr[b-6l0sq2jzyg]  .tr-actions > .btn { flex: 1 1 160px; }

/* KPI in griglia */
.tr[b-6l0sq2jzyg]  .tr-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; }
.tr[b-6l0sq2jzyg]  .tr-kpi { padding: 12px 14px; border-radius: 16px; background: var(--surface); border: 1px solid var(--border); min-width: 0; }
.tr[b-6l0sq2jzyg]  .tr-kpi b { display: block; font-family: var(--font-display); font-size: 1.35rem; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.tr[b-6l0sq2jzyg]  .tr-kpi span { font-size: .72rem; color: var(--text-2); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.tr[b-6l0sq2jzyg]  .tr-kpi small { display: block; font-size: .75rem; color: var(--text-3); }

/* Righe di elenco (allenamenti, esercizi, schede) */
.tr[b-6l0sq2jzyg]  .tr-list { display: flex; flex-direction: column; gap: 8px; }
.tr[b-6l0sq2jzyg]  .tr-row { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: var(--surface); border: 1px solid transparent; color: var(--text); text-align: left; width: 100%; font: inherit; cursor: pointer; }
.tr[b-6l0sq2jzyg]  .tr-row:hover { background: var(--surface-2); border-color: var(--border); }
.tr[b-6l0sq2jzyg]  .tr-row .grow { flex: 1; min-width: 0; }
.tr[b-6l0sq2jzyg]  .tr-row .tr-ico { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem; flex: none; background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 45%, transparent), color-mix(in oklab, var(--accent-2) 30%, transparent)); }
.tr[b-6l0sq2jzyg]  .tr-row .tr-meta { font-size: .8rem; color: var(--text-2); }
.tr[b-6l0sq2jzyg]  .tr-row .tr-side { text-align: right; font-size: .82rem; color: var(--text-2); flex: none; }
.tr[b-6l0sq2jzyg]  .tr-row .tr-side b { display: block; color: var(--text); font-family: var(--font-display); font-size: .95rem; }
.tr[b-6l0sq2jzyg]  .tr-month { font-size: .78rem; color: var(--text-3); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; margin: 8px 0 0; }

/* Settimana in miniatura */
.tr[b-6l0sq2jzyg]  .tr-week { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.tr[b-6l0sq2jzyg]  .tr-wd { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 0; border-radius: 12px; background: rgba(0,0,0,.2); border: 1px solid transparent; font-size: .72rem; color: var(--text-3); }
.tr[b-6l0sq2jzyg]  .tr-wd b { font-family: var(--font-display); font-size: .95rem; color: var(--text-2); }
.tr[b-6l0sq2jzyg]  .tr-wd i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.12); font-style: normal; }
.tr[b-6l0sq2jzyg]  .tr-wd.planned i { background: transparent; box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--accent) 70%, transparent); }
.tr[b-6l0sq2jzyg]  .tr-wd.done i { background: linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow: none; }
.tr[b-6l0sq2jzyg]  .tr-wd.today { border-color: color-mix(in oklab, var(--accent) 60%, transparent); }
.tr[b-6l0sq2jzyg]  .tr-wd.today b { color: var(--text); }

/* Anello obiettivo settimanale */
.tr[b-6l0sq2jzyg]  .tr-ring { --p: 0; width: 86px; height: 86px; border-radius: 50%; flex: none; display: grid; place-items: center;
    background: radial-gradient(closest-side, #120f30 76%, transparent 77% 100%), conic-gradient(var(--accent) calc(var(--p) * 1%), rgba(255,255,255,.08) 0); }
.tr[b-6l0sq2jzyg]  .tr-ring b { font-family: var(--font-display); font-size: 1.25rem; line-height: 1; }
.tr[b-6l0sq2jzyg]  .tr-ring small { display: block; font-size: .65rem; color: var(--text-3); text-align: center; }

/* Etichette muscolo/attrezzo */
.tr[b-6l0sq2jzyg]  .tr-tag { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 99px; font-size: .7rem; font-weight: 600; background: var(--surface-2); color: var(--text-2); white-space: nowrap; }
.tr[b-6l0sq2jzyg]  .tr-tag.accent { background: color-mix(in oklab, var(--accent) 25%, transparent); color: #fff; }
.tr[b-6l0sq2jzyg]  .tr-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tr[b-6l0sq2jzyg]  .tr-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.tr[b-6l0sq2jzyg]  .tr-chips::-webkit-scrollbar { display: none; }
.tr[b-6l0sq2jzyg]  .tr-chips .chip { flex: none; }

/* Giorni della settimana selezionabili */
.tr[b-6l0sq2jzyg]  .tr-days { display: flex; gap: 6px; flex-wrap: wrap; }
.tr[b-6l0sq2jzyg]  .tr-days button { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--border); background: var(--surface); color: var(--text-2); font-weight: 700; cursor: pointer; }
.tr[b-6l0sq2jzyg]  .tr-days button.on { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; }

/* Campi numerici compatti */
.tr[b-6l0sq2jzyg]  .tr-num { width: 100%; min-width: 0; height: 40px; padding: 0 8px; border-radius: 11px; background: rgba(0,0,0,.28); border: 1px solid var(--border); color: var(--text); font: inherit; font-size: 16px; font-weight: 600; text-align: center; font-variant-numeric: tabular-nums; appearance: textfield; -moz-appearance: textfield; }
.tr[b-6l0sq2jzyg]  .tr-num::-webkit-outer-spin-button, .tr[b-6l0sq2jzyg]  .tr-num::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tr[b-6l0sq2jzyg]  .tr-num:focus { outline: none; border-color: var(--accent); }
.tr[b-6l0sq2jzyg]  .tr-field-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 10px; }
.tr[b-6l0sq2jzyg]  .tr-field-row .field label { font-size: .68rem; }

/* Mappa a quadratini dell'anno */
.tr[b-6l0sq2jzyg]  .tr-heat-wrap { overflow-x: auto; scrollbar-width: thin; padding-bottom: 4px; }
.tr[b-6l0sq2jzyg]  .tr-heat { display: grid; grid-auto-flow: column; grid-template-rows: repeat(7, 11px); grid-auto-columns: 11px; gap: 3px; width: max-content; }
.tr[b-6l0sq2jzyg]  .tr-heat i { border-radius: 3px; background: rgba(255,255,255,.06); }
.tr[b-6l0sq2jzyg]  .tr-heat i.l1 { background: color-mix(in oklab, var(--accent) 45%, transparent); }
.tr[b-6l0sq2jzyg]  .tr-heat i.l2 { background: color-mix(in oklab, var(--accent) 75%, transparent); }
.tr[b-6l0sq2jzyg]  .tr-heat i.l3 { background: var(--accent-2); }
.tr[b-6l0sq2jzyg]  .tr-heat i.pad { background: transparent; }
.tr[b-6l0sq2jzyg]  .tr-heat i.today { outline: 1px solid #fff; }

/* Calendario del mese */
.tr[b-6l0sq2jzyg]  .tr-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.tr[b-6l0sq2jzyg]  .tr-cal .dow { text-align: center; font-size: .7rem; color: var(--text-3); font-weight: 700; }
.tr[b-6l0sq2jzyg]  .tr-cal .cell { aspect-ratio: 1; min-height: 38px; border-radius: 12px; background: rgba(0,0,0,.2); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; font-size: .78rem; color: var(--text-3); border: 1px solid transparent; }
.tr[b-6l0sq2jzyg]  .tr-cal .cell.on { background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 55%, transparent), color-mix(in oklab, var(--accent-2) 35%, transparent)); color: #fff; }
.tr[b-6l0sq2jzyg]  .tr-cal .cell.today { border-color: #fff; }
.tr[b-6l0sq2jzyg]  .tr-cal .cell.pad { background: transparent; }
.tr[b-6l0sq2jzyg]  .tr-cal .cell span { font-size: .85rem; line-height: 1; }

/* Barre orizzontali (serie per muscolo) */
.tr[b-6l0sq2jzyg]  .tr-bars { display: flex; flex-direction: column; gap: 8px; }
.tr[b-6l0sq2jzyg]  .tr-bar { display: grid; grid-template-columns: 110px 1fr 44px; align-items: center; gap: 10px; font-size: .85rem; }
.tr[b-6l0sq2jzyg]  .tr-bar .progress { height: 8px; }
.tr[b-6l0sq2jzyg]  .tr-bar b { text-align: right; font-variant-numeric: tabular-nums; }

.tr[b-6l0sq2jzyg]  .tr-live { display: flex; align-items: center; gap: 14px; color: var(--text); }
.tr[b-6l0sq2jzyg]  .tr-hint { font-size: .85rem; color: var(--text-2); padding: 10px 12px; border-radius: 12px; background: color-mix(in oklab, var(--accent) 12%, transparent); border: 1px solid color-mix(in oklab, var(--accent) 30%, transparent); }
.tr[b-6l0sq2jzyg]  .tr-empty-mini { text-align: center; color: var(--text-3); padding: 18px 10px; font-size: .9rem; }
.tr[b-6l0sq2jzyg]  .tr-chart { position: relative; height: 220px; }
.tr[b-6l0sq2jzyg]  .tr-pr { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 14px; background: rgba(251,191,36,.12); border: 1px solid rgba(251,191,36,.35); font-weight: 600; }

@media (max-width: 560px) {
    .tr[b-6l0sq2jzyg]  .tr-bar { grid-template-columns: 92px 1fr 36px; }
    .tr[b-6l0sq2jzyg]  .tr-ring { width: 72px; height: 72px; }
}
/* /Components/Pages/Allenamenti/WorkoutPage.razor.rz.scp.css */
.wk-status[b-079l6h77di] { padding: 14px; }
.wk-rest[b-079l6h77di] { position: sticky; top: calc(64px + var(--safe-top)); z-index: 20; padding: 12px 14px; border-radius: 18px; display: flex; flex-direction: column; gap: 8px;
    border-color: color-mix(in oklab, var(--accent) 50%, transparent); }
.wk-rest-time[b-079l6h77di] { font-family: var(--font-display); font-size: 1.6rem; }
.wk-rest .progress[b-079l6h77di] { height: 6px; }
.wk-rest .progress > span[b-079l6h77di] { transition: none; }

.wk-ex[b-079l6h77di] { padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.wk-ex-name[b-079l6h77di] { font-family: var(--font-display); font-weight: 700; font-size: 1.08rem; color: var(--text); }
.wk-ex-name:hover[b-079l6h77di] { color: var(--accent-2); }
.wk-rest-tag[b-079l6h77di] { border: 0; cursor: pointer; font: inherit; font-size: .7rem; font-weight: 600; }
.wk-hint[b-079l6h77di] { font-size: .8rem; padding: 8px 10px; }

/* Griglia delle serie: Serie | Precedente | valori | ✓ */
.wk-sets[b-079l6h77di] { display: flex; flex-direction: column; gap: 6px; }
.wk-sets.k-weight .wk-head[b-079l6h77di], .wk-sets.k-weight .wk-set[b-079l6h77di],
.wk-sets.k-cardio .wk-head[b-079l6h77di], .wk-sets.k-cardio .wk-set[b-079l6h77di] { grid-template-columns: 38px minmax(64px, 1fr) minmax(56px, 1fr) minmax(52px, 1fr) 44px; }
.wk-sets.k-time .wk-head[b-079l6h77di], .wk-sets.k-time .wk-set[b-079l6h77di] { grid-template-columns: 38px minmax(64px, 1fr) minmax(80px, 1.4fr) 44px; }
.wk-head[b-079l6h77di], .wk-set[b-079l6h77di] { display: grid; align-items: center; gap: 6px; }
.wk-head[b-079l6h77di] { font-size: .66rem; color: var(--text-3); text-transform: uppercase; letter-spacing: .06em; font-weight: 700; text-align: center; }
.wk-set[b-079l6h77di] { padding: 3px; border-radius: 13px; }
.wk-set.done[b-079l6h77di] { background: color-mix(in oklab, var(--success) 16%, transparent); }
.wk-set.warm .wk-idx[b-079l6h77di] { color: var(--warning); }
.wk-idx[b-079l6h77di] { height: 40px; border-radius: 11px; border: 0; background: var(--surface-2); color: var(--text); font-weight: 800; cursor: pointer; }
.wk-prev[b-079l6h77di] { height: 40px; border: 0; background: none; color: var(--text-3); font-size: .8rem; font-variant-numeric: tabular-nums; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 2px; }
.wk-prev:not([disabled]):hover[b-079l6h77di] { color: var(--text); }
.wk-prev[disabled][b-079l6h77di] { cursor: default; }
.wk-check[b-079l6h77di] { height: 40px; border-radius: 11px; border: 1px solid var(--border); background: var(--surface); color: var(--text-3); font-weight: 900; font-size: 1.1rem; cursor: pointer; }
.wk-set.done .wk-check[b-079l6h77di] { background: var(--success); color: #052e1f; border-color: transparent; }
.wk-set.done[b-079l6h77di]  .tr-num, .wk-set.done .tr-num[b-079l6h77di] { border-color: transparent; background: rgba(0,0,0,.18); }

@media (max-width: 400px) {
    .wk-sets.k-weight .wk-head[b-079l6h77di], .wk-sets.k-weight .wk-set[b-079l6h77di],
    .wk-sets.k-cardio .wk-head[b-079l6h77di], .wk-sets.k-cardio .wk-set[b-079l6h77di] { grid-template-columns: 32px minmax(52px, 1fr) minmax(50px, 1fr) minmax(46px, 1fr) 40px; gap: 4px; }
    .wk-prev[b-079l6h77di] { font-size: .72rem; }
}
/* /Components/Pages/Amministrazione.razor.rz.scp.css */
.adm-sec[b-k77p3i96d1] { max-width: 900px; margin: 0 auto 26px; }
.adm-sec h2[b-k77p3i96d1] { font-size: 1.1rem; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.adm-row[b-k77p3i96d1] { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 14px 16px; margin-bottom: 10px; border-radius: 20px; }
.adm-row.suspended[b-k77p3i96d1] { opacity: .7; }
.adm-who[b-k77p3i96d1] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.adm-who b[b-k77p3i96d1] { font-size: 1rem; }
.adm-note[b-k77p3i96d1] { margin: 6px 0 0; font-size: .85rem; color: var(--text-2); font-style: italic; }
.adm-actions[b-k77p3i96d1] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.adm-code[b-k77p3i96d1] { max-width: 900px; margin: 0 auto 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    border-color: color-mix(in oklab, var(--accent-2) 60%, transparent); box-shadow: 0 0 0 1px color-mix(in oklab, var(--accent-2) 40%, transparent), 0 20px 40px -20px var(--accent-2); }
.adm-code-val[b-k77p3i96d1] { font-family: var(--font-display); font-size: 2.2rem; font-weight: 700; letter-spacing: .14em; user-select: all; }

.adm-msg[b-k77p3i96d1] { max-width: 900px; margin: 0 auto 22px; display: flex; align-items: center; gap: 14px; color: var(--text); transition: transform .3s var(--ease-spring), border-color .3s; }
.adm-msg:hover[b-k77p3i96d1] { transform: translateY(-2px); border-color: var(--accent-2); }
.grow[b-k77p3i96d1] { flex: 1; min-width: 0; }
/* /Components/Pages/Calcio/CalcioPage.razor.rz.scp.css */
.cz[b-dbalx35xgt] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; margin: 0 auto; width: 100%; }

/* ---- giorni */
.cz-days[b-dbalx35xgt] { display: flex; gap: 6px; padding-bottom: 2px; }
.cz-day[b-dbalx35xgt] {
    flex: 0 0 auto; width: 54px; padding: 7px 0 8px; border-radius: 16px; display: flex; flex-direction: column; align-items: center; gap: 1px;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-2); font: inherit; cursor: pointer;
}
.cz-day small[b-dbalx35xgt] { font-size: .68rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--text-3); }
.cz-day b[b-dbalx35xgt] { font-size: 1.12rem; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }
.cz-day.today small[b-dbalx35xgt] { color: #4ade80; }
.cz-day.active[b-dbalx35xgt] { background: linear-gradient(160deg, #16a34a, #0e7490); border-color: transparent; box-shadow: 0 10px 24px -12px rgba(22, 163, 74, .8); }
.cz-day.active small[b-dbalx35xgt], .cz-day.active b[b-dbalx35xgt] { color: #fff; }

.cz-leagues[b-dbalx35xgt] { display: flex; gap: 6px; padding-bottom: 2px; }
.cz-leagues .chip[b-dbalx35xgt] { flex: 0 0 auto; height: 34px; padding: 0 13px; }

/* ---- in diretta */
.cz-livebar[b-dbalx35xgt] {
    display: flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 14px; font-size: .86rem;
    background: rgba(244, 63, 94, .1); border: 1px solid rgba(244, 63, 94, .3); color: #fecdd3;
}
.cz-livebar small[b-dbalx35xgt] { margin-left: auto; color: var(--text-3); font-variant-numeric: tabular-nums; }
.cz-dot[b-dbalx35xgt] { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: #f43f5e; animation: cz-pulse-b-dbalx35xgt 1.4s ease-out infinite; }
@keyframes cz-pulse-b-dbalx35xgt { 0% { box-shadow: 0 0 0 0 rgba(244, 63, 94, .65); } 100% { box-shadow: 0 0 0 7px rgba(244, 63, 94, 0); } }

/* ---- elenco */
.cz-section[b-dbalx35xgt] { display: flex; flex-direction: column; gap: 8px; }
.cz-h[b-dbalx35xgt] { margin: 2px 4px 0; font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--text-2); }
.cz-group[b-dbalx35xgt] { display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); }

/* ---- loghi: iniziale sotto, logo sopra se si carica */
.cz-logo[b-dbalx35xgt] { position: relative; flex: 0 0 auto; width: 24px; height: 24px; display: grid; place-items: center; }
.cz-logo img[b-dbalx35xgt] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.cz-logo img[hidden][b-dbalx35xgt] { display: none; }
.cz-initial[b-dbalx35xgt] { width: 100%; height: 100%; border-radius: 50%; display: grid; place-items: center; font-size: .72rem; font-weight: 700; color: var(--text-2); background: rgba(255, 255, 255, .08); }
.cz-logo img:not([hidden]) + .cz-initial[b-dbalx35xgt], .cz-logo:has(img:not([hidden])) .cz-initial[b-dbalx35xgt] { visibility: hidden; }
.cz-logo.lg[b-dbalx35xgt] { width: 56px; height: 56px; }
.cz-logo.lg .cz-initial[b-dbalx35xgt] { font-size: 1.3rem; }

/* ---- caricamento */
.cz-skel[b-dbalx35xgt] { display: flex; align-items: center; gap: 12px; padding: 12px 14px 12px 10px; border-top: 1px solid var(--border); }
.cz-skel:first-child[b-dbalx35xgt] { border-top: 0; }
.cz-skel-time[b-dbalx35xgt] { width: 40px; height: 14px; border-radius: 6px; margin: 0 6px; }
.cz-skel-teams[b-dbalx35xgt] { flex: 1; display: flex; flex-direction: column; gap: 9px; }
.cz-skel-teams .skeleton[b-dbalx35xgt] { height: 14px; border-radius: 6px; width: 60%; }
.cz-skel-teams .skeleton + .skeleton[b-dbalx35xgt] { width: 48%; }

/* ---- scheda della partita */
.cz-detail[b-dbalx35xgt] { display: flex; flex-direction: column; gap: 16px; }
.cz-board[b-dbalx35xgt] {
    display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 10px;
    padding: 18px 12px; border-radius: 20px; background: linear-gradient(150deg, rgba(22, 163, 74, .2), rgba(14, 116, 144, .18)); border: 1px solid var(--border);
}
.cz-board.live[b-dbalx35xgt] { background: linear-gradient(150deg, rgba(244, 63, 94, .18), rgba(14, 116, 144, .16)); }
.cz-side[b-dbalx35xgt] { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; min-width: 0; }
.cz-side b[b-dbalx35xgt] { font-size: .95rem; overflow-wrap: anywhere; }
.cz-center[b-dbalx35xgt] { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.cz-big[b-dbalx35xgt] { display: flex; align-items: center; gap: 8px; font-size: 2.3rem; font-weight: 800; line-height: 1; }
.cz-big span[b-dbalx35xgt] { color: var(--text-3); font-weight: 500; }
.cz-big.pre[b-dbalx35xgt] { font-size: 1.6rem; color: var(--text-2); }
.cz-pens[b-dbalx35xgt] { color: var(--text-2); font-size: .78rem; }
.cz-state[b-dbalx35xgt] { display: inline-flex; align-items: center; gap: 6px; font-size: .78rem; color: var(--text-2); text-align: center; }
.cz-state.in[b-dbalx35xgt] { color: #fda4af; font-weight: 700; }

.cz-events[b-dbalx35xgt] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.cz-events li[b-dbalx35xgt] { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; }
.cz-events li.goal[b-dbalx35xgt], .cz-events li.pen[b-dbalx35xgt], .cz-events li.og[b-dbalx35xgt] { background: rgba(74, 222, 128, .08); }
.cz-events li.away[b-dbalx35xgt] { flex-direction: row-reverse; text-align: right; }
.cz-min[b-dbalx35xgt] { flex: 0 0 auto; min-width: 46px; font-size: .8rem; font-weight: 700; color: var(--text-2); }
.cz-events li.away .cz-min[b-dbalx35xgt] { text-align: right; }
.cz-ico[b-dbalx35xgt] { flex: 0 0 auto; width: 20px; display: grid; place-items: center; font-size: 1rem; }
.cz-card[b-dbalx35xgt] { width: 12px; height: 16px; border-radius: 2px; transform: rotate(8deg); box-shadow: 0 2px 4px rgba(0, 0, 0, .4); }
.cz-card.yellow[b-dbalx35xgt] { background: #facc15; }
.cz-card.red[b-dbalx35xgt] { background: #ef4444; }
.cz-who[b-dbalx35xgt] { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: .92rem; font-weight: 600; }
.cz-who small[b-dbalx35xgt] { font-size: .72rem; font-weight: 500; color: var(--text-3); }
.cz-none[b-dbalx35xgt], .cz-venue[b-dbalx35xgt] { margin: 0; text-align: center; color: var(--text-2); font-size: .86rem; }

.cz-follow[b-dbalx35xgt] { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cz-follow .btn[b-dbalx35xgt] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cz-follow .btn.on[b-dbalx35xgt] { color: #fde047; border-color: rgba(250, 204, 21, .4); }

@media (max-width: 380px) {
    .cz-day[b-dbalx35xgt] { width: 48px; }
    .cz-follow[b-dbalx35xgt] { grid-template-columns: 1fr; }
}

.cz-star-match[b-dbalx35xgt] { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.cz-star-match.on[b-dbalx35xgt] { color: #fde047; border-color: rgba(250, 204, 21, .4); }
/* /Components/Pages/Calcio/CalcioStar.razor.rz.scp.css */
.cz-star-top.on[b-exefoa4dy8] { color: #facc15; }
/* /Components/Pages/Calcio/CalendarioPage.razor.rz.scp.css */
.ca[b-hiynmphwaw] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; margin: 0 auto; width: 100%; }

.ca-leagues[b-hiynmphwaw] { display: flex; gap: 6px; padding-bottom: 2px; }
.ca-leagues .chip[b-hiynmphwaw] { flex: 0 0 auto; height: 34px; padding: 0 13px; }
.ca-leagues .chip.ca-fav:not(.active)[b-hiynmphwaw] { border-color: rgba(250, 204, 21, .45); color: #fde047; }

.ca-day[b-hiynmphwaw] { display: flex; flex-direction: column; gap: 8px; }
.ca-h[b-hiynmphwaw] { margin: 2px 4px 0; font-size: .82rem; font-weight: 700; letter-spacing: .02em; color: var(--text-2); }
.ca-group[b-hiynmphwaw] { display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); }

.ca-match[b-hiynmphwaw] {
    display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 14px 10px 10px; text-align: left;
    background: none; border: 0; border-top: 1px solid var(--border); color: inherit; font: inherit; cursor: pointer;
}
.ca-group > .ca-match:first-child[b-hiynmphwaw] { border-top: 0; }
.ca-match:hover[b-hiynmphwaw] { background: rgba(255, 255, 255, .03); }
.ca-match.fav[b-hiynmphwaw] { background: rgba(250, 204, 21, .06); }

.ca-time[b-hiynmphwaw] { flex: 0 0 52px; display: flex; justify-content: center; font-size: .82rem; font-weight: 650; color: var(--text-2); text-align: center; line-height: 1.15; }
.ca-match.post .ca-time[b-hiynmphwaw] { color: var(--text-3); font-weight: 600; font-size: .76rem; }
.ca-match.off .ca-time[b-hiynmphwaw] { color: #fbbf24; font-size: .72rem; }
.ca-live[b-hiynmphwaw] { display: flex; flex-direction: column; align-items: center; gap: 4px; color: #fb7185; }
.ca-dot[b-hiynmphwaw] { width: 7px; height: 7px; border-radius: 50%; background: #f43f5e; animation: ca-pulse-b-hiynmphwaw 1.4s ease-out infinite; }
@keyframes ca-pulse-b-hiynmphwaw { 0% { box-shadow: 0 0 0 0 rgba(244, 63, 94, .65); } 100% { box-shadow: 0 0 0 7px rgba(244, 63, 94, 0); } }

.ca-teams[b-hiynmphwaw] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.ca-team[b-hiynmphwaw] { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ca-name[b-hiynmphwaw] { flex: 1; min-width: 0; font-size: .95rem; font-weight: 550; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ca-score[b-hiynmphwaw] { flex: 0 0 auto; min-width: 22px; text-align: right; font-size: 1.02rem; font-weight: 750; color: var(--text); }
.ca-team.win .ca-name[b-hiynmphwaw], .ca-team.win .ca-score[b-hiynmphwaw] { font-weight: 800; }
.ca-team.lose .ca-name[b-hiynmphwaw], .ca-team.lose .ca-score[b-hiynmphwaw] { color: var(--text-3); font-weight: 500; }

.ca-league[b-hiynmphwaw] { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 2px; width: 64px; font-size: 1.05rem; }
.ca-league small[b-hiynmphwaw] { max-width: 100%; font-size: .64rem; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ca-logo[b-hiynmphwaw] { position: relative; flex: 0 0 auto; width: 24px; height: 24px; display: grid; place-items: center; }
.ca-logo img[b-hiynmphwaw] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.ca-logo img[hidden][b-hiynmphwaw] { display: none; }
.ca-initial[b-hiynmphwaw] { width: 100%; height: 100%; border-radius: 50%; display: grid; place-items: center; font-size: .72rem; font-weight: 700; color: var(--text-2); background: rgba(255, 255, 255, .08); }
.ca-logo:has(img:not([hidden])) .ca-initial[b-hiynmphwaw] { visibility: hidden; }

.ca-skel[b-hiynmphwaw] { display: flex; align-items: center; gap: 12px; padding: 12px 14px 12px 10px; border-top: 1px solid var(--border); }
.ca-skel:first-child[b-hiynmphwaw] { border-top: 0; }
.ca-skel-time[b-hiynmphwaw] { width: 40px; height: 14px; border-radius: 6px; margin: 0 6px; }
.ca-skel-teams[b-hiynmphwaw] { flex: 1; display: flex; flex-direction: column; gap: 9px; }
.ca-skel-teams .skeleton[b-hiynmphwaw] { height: 14px; border-radius: 6px; width: 60%; }
.ca-skel-teams .skeleton + .skeleton[b-hiynmphwaw] { width: 48%; }

@media (max-width: 380px) {
    .ca-time[b-hiynmphwaw] { flex-basis: 44px; }
    .ca-league[b-hiynmphwaw] { width: 28px; }
    .ca-league small[b-hiynmphwaw] { display: none; }
}
/* /Components/Pages/Calcio/ClassificaPage.razor.rz.scp.css */
.cl[b-zkjwxj3me9] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; margin: 0 auto; width: 100%; }
.cl-leagues[b-zkjwxj3me9] { display: flex; gap: 6px; padding-bottom: 2px; }
.cl-leagues .chip[b-zkjwxj3me9] { flex: 0 0 auto; height: 34px; padding: 0 13px; }

.cl-card[b-zkjwxj3me9] { border-radius: 18px; background: var(--surface); border: 1px solid var(--border); overflow: hidden; }
.cl-h[b-zkjwxj3me9] { margin: 0; padding: 12px 14px 4px; font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--text-2); }

.cl-table[b-zkjwxj3me9] { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .9rem; }
.cl-table th[b-zkjwxj3me9] {
    padding: 10px 4px; font-size: .7rem; font-weight: 700; letter-spacing: .04em; color: var(--text-3); text-align: center;
    border-bottom: 1px solid var(--border);
}
.cl-table td[b-zkjwxj3me9] { padding: 9px 4px; text-align: center; border-top: 1px solid rgba(255, 255, 255, .04); color: var(--text-2); font-variant-numeric: tabular-nums; }
.cl-table tbody tr:first-child td[b-zkjwxj3me9] { border-top: 0; }
.cl-table .pos[b-zkjwxj3me9] { width: 40px; padding-left: 10px; }
.cl-table .team[b-zkjwxj3me9] { width: auto; text-align: left; }
.cl-table th:not(.pos):not(.team)[b-zkjwxj3me9] { width: 34px; }
.cl-table .pts[b-zkjwxj3me9] { width: 40px; padding-right: 12px; font-weight: 800; color: var(--text); }
.cl-table .wide[b-zkjwxj3me9] { display: none; }
.cl-table tr.fav td[b-zkjwxj3me9] { background: rgba(250, 204, 21, .08); }
.cl-table tr.fav .cl-name[b-zkjwxj3me9] { color: #fde047; }

.cl-zone[b-zkjwxj3me9] { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; font-size: .78rem; font-weight: 700; color: var(--text-2); }
.cl-zone.on[b-zkjwxj3me9] { background: color-mix(in oklab, var(--zone) 30%, transparent); color: #fff; box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--zone) 60%, transparent); }

.cl-team[b-zkjwxj3me9] { display: flex; align-items: center; gap: 9px; min-width: 0; }
.cl-logo[b-zkjwxj3me9] { position: relative; flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, .06); }
.cl-logo:has(img:not([hidden]))[b-zkjwxj3me9] { background: none; }
.cl-logo img[b-zkjwxj3me9] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.cl-logo img[hidden][b-zkjwxj3me9] { display: none; }
.cl-name[b-zkjwxj3me9] { min-width: 0; font-weight: 600; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.cl-legend[b-zkjwxj3me9] { list-style: none; margin: 0; padding: 10px 14px 14px; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .76rem; color: var(--text-2); border-top: 1px solid var(--border); }
.cl-legend li[b-zkjwxj3me9] { display: inline-flex; align-items: center; gap: 6px; }
.cl-legend span[b-zkjwxj3me9] { width: 10px; height: 10px; border-radius: 3px; background: var(--zone); }

.cl-skel[b-zkjwxj3me9] { padding: 12px 14px; border-top: 1px solid var(--border); }
.cl-skel:first-child[b-zkjwxj3me9] { border-top: 0; }
.cl-skel .skeleton[b-zkjwxj3me9] { display: block; height: 14px; border-radius: 6px; width: 70%; }

@media (min-width: 560px) {
    .cl-table .wide[b-zkjwxj3me9] { display: table-cell; }
}
/* /Components/Pages/Calcio/MatchRow.razor.rz.scp.css */
.mr[b-p4g816alqc] { display: flex; align-items: stretch; border-top: 1px solid var(--border); }
.mr:first-child[b-p4g816alqc] { border-top: 0; }
.mr.fav[b-p4g816alqc] { background: rgba(250, 204, 21, .05); }

.mr-match[b-p4g816alqc] {
    flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 10px 4px 10px 10px; text-align: left;
    background: none; border: 0; color: inherit; font: inherit; cursor: pointer;
}
.mr-match:hover[b-p4g816alqc] { background: rgba(255, 255, 255, .03); }

.mr-time[b-p4g816alqc] {
    flex: 0 0 52px; display: flex; flex-direction: column; align-items: center; gap: 3px;
    font-size: .8rem; font-weight: 600; color: var(--text-3); text-align: center; line-height: 1.15; font-variant-numeric: tabular-nums;
}
.mr-time small[b-p4g816alqc] { font-size: .68rem; font-weight: 600; color: var(--text-3); text-transform: capitalize; }
.mr.in .mr-time[b-p4g816alqc] { color: #fb7185; }
.mr.off .mr-time[b-p4g816alqc] { color: #fbbf24; font-size: .72rem; }
.mr-dot[b-p4g816alqc] { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: #f43f5e; animation: mr-pulse-b-p4g816alqc 1.4s ease-out infinite; }
@keyframes mr-pulse-b-p4g816alqc { 0% { box-shadow: 0 0 0 0 rgba(244, 63, 94, .65); } 100% { box-shadow: 0 0 0 7px rgba(244, 63, 94, 0); } }

.mr-teams[b-p4g816alqc] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.mr-team[b-p4g816alqc] { display: flex; align-items: center; gap: 10px; min-width: 0; border-radius: 8px; }
.mr-name[b-p4g816alqc] { flex: 1; min-width: 0; font-size: .95rem; font-weight: 550; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mr-score[b-p4g816alqc] { flex: 0 0 auto; min-width: 22px; text-align: right; font-size: 1.02rem; font-weight: 750; color: var(--text); }
.mr.in .mr-score[b-p4g816alqc] { color: #fda4af; }
.mr-team.win .mr-name[b-p4g816alqc], .mr-team.win .mr-score[b-p4g816alqc] { font-weight: 800; }
.mr-team.lose .mr-name[b-p4g816alqc], .mr-team.lose .mr-score[b-p4g816alqc] { color: var(--text-3); font-weight: 500; }
.mr-team.goal[b-p4g816alqc] { animation: mr-goal-b-p4g816alqc 1.2s ease-in-out 4; }
.mr-team.goal .mr-score[b-p4g816alqc] { color: #4ade80; }
@keyframes mr-goal-b-p4g816alqc { 0%, 100% { background: transparent; } 50% { background: rgba(74, 222, 128, .2); } }

.mr-league[b-p4g816alqc] { flex: 0 0 auto; font-size: 1rem; }

.mr-star[b-p4g816alqc] {
    flex: 0 0 48px; display: grid; place-items: center; background: none; border: 0; cursor: pointer;
    color: var(--text-3); border-left: 1px solid var(--border);
}
.mr-star:hover[b-p4g816alqc] { color: var(--text); background: rgba(255, 255, 255, .03); }
.mr-star.on[b-p4g816alqc] { color: #facc15; }

@media (max-width: 380px) {
    .mr-time[b-p4g816alqc] { flex-basis: 44px; }
    .mr-star[b-p4g816alqc] { flex-basis: 42px; }
}
/* /Components/Pages/Calcio/PreferitiPage.razor.rz.scp.css */
.fz[b-xlkrb49bc6] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; margin: 0 auto; width: 100%; }
.fz-head[b-xlkrb49bc6] { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.fz-title[b-xlkrb49bc6] { margin: 0 2px; display: flex; align-items: center; gap: 8px; font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; color: var(--text); }
.fz-title[b-xlkrb49bc6]  svg { color: #facc15; }

.fz-livebar[b-xlkrb49bc6] {
    display: flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 14px; font-size: .86rem;
    background: rgba(244, 63, 94, .1); border: 1px solid rgba(244, 63, 94, .3); color: #fecdd3;
}
.fz-livebar small[b-xlkrb49bc6] { margin-left: auto; color: var(--text-3); font-variant-numeric: tabular-nums; }
.fz-dot[b-xlkrb49bc6] { flex: 0 0 auto; width: 7px; height: 7px; border-radius: 50%; background: #f43f5e; animation: fz-pulse-b-xlkrb49bc6 1.4s ease-out infinite; }
@keyframes fz-pulse-b-xlkrb49bc6 { 0% { box-shadow: 0 0 0 0 rgba(244, 63, 94, .65); } 100% { box-shadow: 0 0 0 7px rgba(244, 63, 94, 0); } }

.fz-section[b-xlkrb49bc6] { display: flex; flex-direction: column; gap: 8px; }
.fz-h[b-xlkrb49bc6] { margin: 2px 4px 0; font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--text-2); }
.fz-group[b-xlkrb49bc6] { display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); }

/* ---- squadre seguite */
.fz-team[b-xlkrb49bc6] { display: flex; align-items: center; gap: 4px; padding-right: 6px; border-top: 1px solid var(--border); }
.fz-team:first-child[b-xlkrb49bc6] { border-top: 0; }
.fz-team-go[b-xlkrb49bc6] { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 12px 8px 12px 14px; color: inherit; text-decoration: none; }
.fz-team-go:hover[b-xlkrb49bc6] { background: rgba(255, 255, 255, .03); }
.fz-team-txt[b-xlkrb49bc6] { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.fz-team-txt b[b-xlkrb49bc6] { font-size: 1rem; font-weight: 700; }
.fz-team-txt small[b-xlkrb49bc6] { font-size: .8rem; color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fz-unfollow[b-xlkrb49bc6] { color: #facc15; }

/* ---- scelta delle squadre */
.fz-pick[b-xlkrb49bc6] { display: flex; flex-direction: column; gap: 12px; }
.fz-leagues[b-xlkrb49bc6] { display: flex; gap: 6px; padding-bottom: 2px; }
.fz-leagues .chip[b-xlkrb49bc6] { flex: 0 0 auto; height: 34px; padding: 0 13px; }
.fz-pick-list[b-xlkrb49bc6] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.fz-pick-list li + li[b-xlkrb49bc6] { border-top: 1px solid var(--border); }
.fz-pick-item[b-xlkrb49bc6] {
    width: 100%; display: flex; align-items: center; gap: 12px; padding: 10px 6px; background: none; border: 0; color: inherit;
    font: inherit; text-align: left; cursor: pointer; border-radius: 10px;
}
.fz-pick-item:hover[b-xlkrb49bc6] { background: rgba(255, 255, 255, .04); }
.fz-pick-item > span:nth-child(2)[b-xlkrb49bc6] { flex: 1; min-width: 0; font-weight: 600; }
.fz-pick-item[b-xlkrb49bc6]  svg { color: var(--text-3); }
.fz-pick-item.on[b-xlkrb49bc6]  svg { color: #facc15; }
.fz-none[b-xlkrb49bc6] { margin: 12px 4px; color: var(--text-2); text-align: center; }

/* ---- caricamento */
.fz-skel[b-xlkrb49bc6] { display: flex; align-items: center; gap: 12px; padding: 12px 14px 12px 10px; border-top: 1px solid var(--border); }
.fz-skel:first-child[b-xlkrb49bc6] { border-top: 0; }
.fz-skel-time[b-xlkrb49bc6] { width: 40px; height: 14px; border-radius: 6px; margin: 0 6px; }
.fz-skel-teams[b-xlkrb49bc6] { flex: 1; display: flex; flex-direction: column; gap: 9px; }
.fz-skel-teams .skeleton[b-xlkrb49bc6] { height: 14px; border-radius: 6px; width: 60%; }
.fz-skel-teams .skeleton + .skeleton[b-xlkrb49bc6] { width: 48%; }
.fz-skel-line[b-xlkrb49bc6] { height: 16px; border-radius: 6px; width: 55%; }
/* /Components/Pages/Calcio/TeamLogo.razor.rz.scp.css */
.tl[b-fef2n3okkg] { position: relative; flex: 0 0 auto; width: 24px; height: 24px; display: grid; place-items: center; }
.tl img[b-fef2n3okkg] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.tl img[hidden][b-fef2n3okkg] { display: none; }
.tl-initial[b-fef2n3okkg] { width: 100%; height: 100%; border-radius: 50%; display: grid; place-items: center; font-size: .72rem; font-weight: 700; color: var(--text-2); background: rgba(255, 255, 255, .08); }
.tl:has(img:not([hidden])) .tl-initial[b-fef2n3okkg] { visibility: hidden; }
.tl.lg[b-fef2n3okkg] { width: 44px; height: 44px; }
.tl.lg .tl-initial[b-fef2n3okkg] { font-size: 1.1rem; }
/* /Components/Pages/Calcolatrice/Calcolatrice.razor.rz.scp.css */
/* =====================================================================
   Calcolatrice — dispositivo di vetro 3D, display animato, tasti a molla
   Gli elementi creati da calc.js (cifre, cursore, ripple, chip di stato)
   non hanno l'attributo di scope: si stilano con ::deep.
   ===================================================================== */

@property --ang { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

.calc-page[b-x1y4h8lk4e] { --kh: 62px; --kgap: 10px; }
.calc-page[b-x1y4h8lk4e]  .module { padding-bottom: calc(28px + var(--safe-bottom)); }

/* ---------- barra superiore ---------- */
.mode-seg button[b-x1y4h8lk4e] { min-width: 0; }
.hist-btn[b-x1y4h8lk4e] { position: relative; }
.hist-count[b-x1y4h8lk4e] {
    position: absolute; top: 3px; right: 3px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 9px;
    display: grid; place-items: center; font-size: .6rem; font-weight: 800; line-height: 1;
    background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: white;
}

/* ---------- impaginazione ---------- */
.calc-layout[b-x1y4h8lk4e] {
    position: relative; display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 24px;
    padding-top: 6px;
}
.calc-wrap[b-x1y4h8lk4e] { width: min(100%, 440px); transition: width .75s var(--ease-out); perspective: 1800px; }
.sci-on .calc-wrap[b-x1y4h8lk4e] { width: min(100%, 900px); }

.hist-panel[b-x1y4h8lk4e] { display: none; }

/* ---------- dispositivo ---------- */
.calc[b-x1y4h8lk4e] {
    position: relative; isolation: isolate;
    padding: 18px; border-radius: 38px;
    background:
        radial-gradient(120% 60% at 50% -10%, color-mix(in oklab, var(--accent) 22%, transparent), transparent 60%),
        linear-gradient(165deg, rgba(40,36,70,.92), rgba(18,16,36,.94) 45%, rgba(24,22,46,.94));
    border: 1px solid rgba(255,255,255,.12);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.22), inset 0 -1px 0 rgba(0,0,0,.4),
        0 50px 100px -30px rgba(0,0,0,.85),
        0 30px 80px -40px color-mix(in oklab, var(--accent) 70%, transparent);
    touch-action: manipulation;
}
/* bordo luminoso rotante */
.calc[b-x1y4h8lk4e]::before {
    content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1.5px; pointer-events: none; z-index: -1;
    background: conic-gradient(from var(--ang), var(--accent), transparent 22%, transparent 45%, var(--accent-2) 60%, transparent 78%, var(--accent));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    opacity: .75;
}

@media (pointer: fine) {
    .calc[b-x1y4h8lk4e] {
        transform: rotateX(calc(var(--my) * -2.2deg)) rotateY(calc(var(--mx) * 3deg));
        transition: transform .3s linear;
    }
}

/* ---------- display ---------- */
.display[b-x1y4h8lk4e] {
    position: relative; overflow: hidden; isolation: isolate;
    display: flex; flex-direction: column; justify-content: flex-end; gap: 2px;
    min-height: 168px; padding: 12px 18px 14px; border-radius: 26px;
    background:
        radial-gradient(90% 90% at 100% 110%, color-mix(in oklab, var(--accent) 22%, transparent), transparent 60%),
        radial-gradient(70% 80% at 0% -20%, color-mix(in oklab, var(--accent-2) 16%, transparent), transparent 60%),
        linear-gradient(180deg, rgba(2,4,16,.82), rgba(8,10,34,.66));
    box-shadow: inset 0 3px 16px rgba(0,0,0,.65), inset 0 0 0 1px rgba(255,255,255,.06), 0 1px 0 rgba(255,255,255,.1);
    transform: translateZ(14px);
    transition: min-height .5s var(--ease-out);
}
/* riflesso del vetro */
.display[b-x1y4h8lk4e]::after {
    content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2; border-radius: inherit;
    background: linear-gradient(115deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.02) 32%, transparent 33%, transparent 100%);
}
/* griglia a puntini molto tenue */
.display[b-x1y4h8lk4e]::before {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .35;
    background-image: radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px); background-size: 14px 14px;
    mask-image: linear-gradient(to top, black, transparent 80%);
}

.d-top[b-x1y4h8lk4e] { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: auto; position: relative; z-index: 3; }
.d-status[b-x1y4h8lk4e] { display: flex; gap: 6px; min-height: 22px; align-items: center; }
.d-status[b-x1y4h8lk4e]  .st {
    display: inline-grid; place-items: center; height: 20px; padding: 0 8px; border-radius: 7px;
    font: 700 .64rem/1 var(--font); letter-spacing: .12em; color: var(--text-2);
    background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.08);
    animation: st-in-b-x1y4h8lk4e .35s var(--ease-spring);
}
.d-status[b-x1y4h8lk4e]  .st-2 { color: white; background: color-mix(in oklab, var(--accent) 45%, transparent); border-color: transparent; }
.d-status[b-x1y4h8lk4e]  .st-m { color: white; background: color-mix(in oklab, var(--accent-2) 50%, transparent); border-color: transparent; }
@keyframes st-in-b-x1y4h8lk4e { from { transform: scale(.5); opacity: 0; } }

.d-actions[b-x1y4h8lk4e] { display: flex; gap: 6px; }
.d-act[b-x1y4h8lk4e] {
    display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border-radius: 10px;
    border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.06); color: var(--text-2);
    font: 600 .76rem var(--font); cursor: pointer; transition: all .25s var(--ease-out);
}
.d-act:hover[b-x1y4h8lk4e] { color: white; background: rgba(255,255,255,.12); }
.d-act:active[b-x1y4h8lk4e] { transform: scale(.94); }
.d-act.spesa[b-x1y4h8lk4e] { color: #fde7ef; background: color-mix(in oklab, var(--expense) 20%, transparent); border-color: color-mix(in oklab, var(--expense) 35%, transparent); }
.d-act.spesa:hover[b-x1y4h8lk4e] { background: color-mix(in oklab, var(--expense) 34%, transparent); }
.calc:not([data-filled]) .d-act[b-x1y4h8lk4e] { opacity: .45; }

.d-recall[b-x1y4h8lk4e] {
    min-height: 1.35em; font: 500 1rem/1.35 var(--font-display); color: var(--text-3);
    text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; direction: ltr;
}

.d-expr[b-x1y4h8lk4e] {
    --fs: 3.1rem;
    position: relative; font: 500 calc(var(--fs) * var(--k, 1)) / 1.18 var(--font-display);
    letter-spacing: -.01em; color: var(--text);
    text-align: right; white-space: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none;
    min-height: 1.2em; cursor: text; perspective: 600px;
    transition: font-size .2s var(--ease-out), color .3s;
    font-variant-numeric: tabular-nums;
}
.d-expr[b-x1y4h8lk4e]::-webkit-scrollbar { display: none; }
.calc[data-just] .d-expr[b-x1y4h8lk4e] {
    color: #fff;
    text-shadow: 0 0 26px color-mix(in oklab, var(--accent) 70%, transparent), 0 0 2px color-mix(in oklab, var(--accent-2) 60%, transparent);
}
.calc[data-error] .d-expr[b-x1y4h8lk4e] { color: color-mix(in oklab, var(--danger) 55%, var(--text)); }

.d-expr[b-x1y4h8lk4e]  .u { display: inline-block; white-space: pre; }
.d-expr[b-x1y4h8lk4e]  .u.o { color: color-mix(in oklab, var(--accent) 75%, white); margin: 0 .07em; }
.d-expr[b-x1y4h8lk4e]  .u.f { color: color-mix(in oklab, var(--accent-2) 70%, white); font-size: .82em; }
.d-expr[b-x1y4h8lk4e]  .u.c { color: #fcd34d; }
.d-expr[b-x1y4h8lk4e]  .u.x { color: color-mix(in oklab, var(--accent) 60%, white); }
.d-expr[b-x1y4h8lk4e]  .u.p { color: var(--text-2); font-weight: 400; }
.d-expr[b-x1y4h8lk4e]  .u.gh { opacity: .28; }
.d-expr[b-x1y4h8lk4e]  .u.ph { color: var(--text-3); }
.d-expr[b-x1y4h8lk4e]  .gs { font-style: normal; opacity: .5; }
.calc[data-just] .d-expr[b-x1y4h8lk4e]  .u { color: inherit; }
.d-expr[b-x1y4h8lk4e]  .caret {
    display: inline-block; width: 2.5px; height: .92em; margin: 0 -1.25px; vertical-align: -.1em; border-radius: 2px;
    background: linear-gradient(var(--accent), var(--accent-2));
    box-shadow: 0 0 12px var(--accent);
    animation: blink-b-x1y4h8lk4e 1.05s steps(1) infinite;
}
.calc[data-just] .d-expr[b-x1y4h8lk4e]  .caret { opacity: 0; animation: none; }
@keyframes blink-b-x1y4h8lk4e { 50% { opacity: 0; } }

/* cifra appena digitata: molla */
.d-expr[b-x1y4h8lk4e]  .u.nw { animation: pop-b-x1y4h8lk4e .34s var(--ease-spring) both; }
@keyframes pop-b-x1y4h8lk4e { from { opacity: 0; transform: translateY(.4em) scale(.5); } }
/* risultato: cifre che "rotolano" come un contatore */
.d-expr[b-x1y4h8lk4e]  .u.rl { animation: roll-b-x1y4h8lk4e .62s var(--ease-spring) both; animation-delay: calc(var(--d, 0) * 26ms); transform-origin: 50% 100%; }
@keyframes roll-b-x1y4h8lk4e { from { opacity: 0; transform: translateY(85%) rotateX(-85deg); filter: blur(4px); } }

.d-result[b-x1y4h8lk4e] {
    --fs: 1.55rem;
    min-height: 1.45em; font: 500 calc(var(--fs) * var(--k, 1)) / 1.35 var(--font-display);
    color: var(--text-2); text-align: right; white-space: nowrap; overflow: hidden; cursor: copy;
    transition: font-size .2s var(--ease-out);
    font-variant-numeric: tabular-nums;
}
.d-result[b-x1y4h8lk4e]  .eqs { color: var(--text-3); margin-right: .3em; }
.d-result[b-x1y4h8lk4e]  .pc { display: inline-block; white-space: pre; }
.d-result[b-x1y4h8lk4e]  .pc.tk { animation: tick-b-x1y4h8lk4e .28s var(--ease-out) both; }
@keyframes tick-b-x1y4h8lk4e { from { opacity: 0; transform: translateY(-55%); } }
.d-result[b-x1y4h8lk4e]  .err { color: var(--danger); font: 600 1rem var(--font); animation: pop-b-x1y4h8lk4e .4s var(--ease-spring) both; }
.d-result[b-x1y4h8lk4e]  .soft-err { color: color-mix(in oklab, var(--danger) 55%, var(--text-3)); font: 500 .9rem var(--font); }

/* ---------- pad dei tasti ---------- */
.pads[b-x1y4h8lk4e] {
    display: grid; grid-template-columns: minmax(0, 0fr) minmax(0, 1fr); gap: 0;
    margin-top: 16px; transition: grid-template-columns .75s var(--ease-out), gap .75s var(--ease-out);
}
.sci-on .pads[b-x1y4h8lk4e] { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; }

.pad-num[b-x1y4h8lk4e], .pad-sci-inner[b-x1y4h8lk4e] { display: grid; gap: var(--kgap); grid-auto-rows: var(--kh); }
.pad-num[b-x1y4h8lk4e] { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.pad-sci[b-x1y4h8lk4e] { min-width: 0; overflow: hidden; margin: -6px; padding: 6px 6px 10px; perspective: 1200px; }
.pad-sci-inner[b-x1y4h8lk4e] {
    grid-template-columns: repeat(6, minmax(0, 1fr)); min-width: 420px;
    transform-origin: 100% 50%; transform: rotateY(-80deg) translateZ(-60px); opacity: 0; visibility: hidden;
    transition: transform .75s var(--ease-out), opacity .45s var(--ease-out), visibility 0s .75s;
}
.sci-on .pad-sci-inner[b-x1y4h8lk4e] { transform: none; opacity: 1; visibility: visible; transition: transform .85s var(--ease-spring), opacity .5s var(--ease-out), visibility 0s; }

/* ---------- tasto 3D di vetro ---------- */
.key[b-x1y4h8lk4e] {
    --kc: rgba(255,255,255,.11); --kc2: rgba(255,255,255,.035); --ks: rgba(0,0,0,.5); --kt: var(--text);
    position: relative; isolation: isolate; overflow: hidden;
    min-width: 0; padding: 0; border: 0; border-radius: 20px; cursor: pointer; color: var(--kt);
    font: 500 1.5rem/1 var(--font-display);
    background: linear-gradient(180deg, var(--kc), var(--kc2));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.3), inset 0 -2px 0 rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.07),
        0 5px 0 -1px var(--ks), 0 16px 24px -12px rgba(0,0,0,.75);
    transform: translateY(0);
    transition: transform .55s var(--ease-spring), box-shadow .55s var(--ease-spring), filter .25s, background .3s, color .3s;
    user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
/* lucentezza del vetro nella metà superiore */
.key[b-x1y4h8lk4e]::before {
    content: ""; position: absolute; inset: 1px 1px 52% 1px; border-radius: 19px 19px 40% 40% / 19px 19px 14px 14px; z-index: -1; pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,.17), rgba(255,255,255,0));
}
.key:focus-visible[b-x1y4h8lk4e] { outline: 2px solid var(--accent-2); outline-offset: 2px; }
@media (hover: hover) {
    .key:hover[b-x1y4h8lk4e] { filter: brightness(1.18); transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255,255,255,.34), inset 0 -2px 0 rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.1), 0 7px 0 -1px var(--ks), 0 22px 30px -12px rgba(0,0,0,.8); }
}
.key[data-down][b-x1y4h8lk4e], .key.const:active[b-x1y4h8lk4e] {
    transform: translateY(4px) scale(.965); filter: brightness(1.35);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2), inset 0 2px 8px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.1),
        0 1px 0 -1px var(--ks), 0 4px 10px -6px rgba(0,0,0,.8);
    transition-duration: .06s;
}
.kf[b-x1y4h8lk4e] { position: relative; z-index: 1; display: grid; place-items: center; height: 100%; pointer-events: none; }
.calc[b-x1y4h8lk4e]  .kr {
    position: absolute; border-radius: 50%; pointer-events: none; z-index: 0;
    background: radial-gradient(circle, rgba(255,255,255,.5), rgba(255,255,255,0) 65%);
    transform: scale(0); animation: kr-b-x1y4h8lk4e .6s var(--ease-out) forwards;
}
@keyframes kr-b-x1y4h8lk4e { to { transform: scale(1.6); opacity: 0; } }

.key.op[b-x1y4h8lk4e] {
    --kc: color-mix(in oklab, var(--accent) 55%, transparent); --kc2: color-mix(in oklab, var(--accent) 22%, transparent);
    --ks: color-mix(in oklab, var(--accent) 35%, #000); --kt: #fff; font-size: 1.75rem;
}
.key.op2[b-x1y4h8lk4e] { --kc: color-mix(in oklab, var(--accent) 26%, rgba(255,255,255,.08)); --kc2: color-mix(in oklab, var(--accent) 8%, transparent); --kt: color-mix(in oklab, var(--accent) 45%, white); }
.key.util[b-x1y4h8lk4e] { --kc: color-mix(in oklab, var(--accent-2) 30%, rgba(255,255,255,.08)); --kc2: color-mix(in oklab, var(--accent-2) 10%, transparent); --ks: color-mix(in oklab, var(--accent-2) 25%, #000); --kt: #f3e8ff; font-size: 1.25rem; font-weight: 600; }
.key.par[b-x1y4h8lk4e] { --kc: rgba(255,255,255,.075); --kt: var(--text-2); font-size: 1.35rem; }
.key.eq[b-x1y4h8lk4e] {
    --ks: color-mix(in oklab, var(--accent-2) 40%, #000); --kt: #fff; font-size: 2.1rem; font-weight: 600;
    background: linear-gradient(160deg, var(--accent), color-mix(in oklab, var(--accent) 45%, var(--accent-2)) 55%, var(--accent-2));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.45), inset 0 -2px 0 rgba(0,0,0,.2),
        0 5px 0 -1px var(--ks), 0 20px 40px -14px color-mix(in oklab, var(--accent) 85%, transparent);
}
.key.eq[b-x1y4h8lk4e]::after {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.35) 48%, transparent 62%);
    transform: translateX(-120%); animation: sheen-b-x1y4h8lk4e 5s var(--ease-out) infinite 1.5s;
}
@keyframes sheen-b-x1y4h8lk4e { 0%, 70% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }

/* tasti scientifici */
.key.fn[b-x1y4h8lk4e] {
    --kc: rgba(255,255,255,.07); --kc2: rgba(255,255,255,.02); --kt: var(--text-2);
    border-radius: 15px; font: 600 .98rem/1 var(--font);
}
.key.fn[b-x1y4h8lk4e]::before { border-radius: 14px 14px 40% 40% / 14px 14px 10px 10px; }
.key.fn[b-x1y4h8lk4e]  sup, .key.fn[b-x1y4h8lk4e]  sub { font-size: .66em; line-height: 0; }
.key.fn.acc[b-x1y4h8lk4e] { --kt: color-mix(in oklab, var(--accent) 55%, white); font-size: .84rem; letter-spacing: .06em; }
.key.fn.mem[b-x1y4h8lk4e] { --kt: color-mix(in oklab, var(--accent-2) 55%, white); font-size: .86rem; }
.key.fn.cst[b-x1y4h8lk4e] { --kt: #fcd34d; font-size: 1.12rem; }
.key.fn.const[b-x1y4h8lk4e] { --kt: var(--text); font-size: .86rem; --kc: color-mix(in oklab, var(--accent-2) 16%, rgba(255,255,255,.06)); }
.key.fn.const small[b-x1y4h8lk4e] { opacity: .6; margin-left: 4px; }
.l2[b-x1y4h8lk4e] { display: none; }
.calc[data-second] .l1[b-x1y4h8lk4e] { display: none; }
.calc[data-second] .l2[b-x1y4h8lk4e] { display: inline; color: color-mix(in oklab, var(--accent) 45%, white); }
.calc[data-second] .key.second[b-x1y4h8lk4e] { --kc: var(--accent); --kc2: color-mix(in oklab, var(--accent) 60%, var(--accent-2)); --kt: #fff; }
.calc[b-x1y4h8lk4e]  .lab-rad { display: none; }
.calc[data-angle="rad"][b-x1y4h8lk4e]  .lab-rad { display: inline; }
.calc[data-angle="rad"][b-x1y4h8lk4e]  .lab-deg { display: none; }

.kbd-hint[b-x1y4h8lk4e] { margin: 16px auto 0; max-width: 560px; text-align: center; font-size: .74rem; color: var(--text-3); line-height: 2; }
.kbd-hint kbd[b-x1y4h8lk4e] {
    display: inline-block; min-width: 20px; padding: 1px 6px; margin: 0 1px; border-radius: 6px;
    font: 600 .7rem var(--font); color: var(--text-2);
    background: rgba(255,255,255,.06); border: 1px solid var(--border); border-bottom-width: 2px;
}

/* ---------- storico ---------- */
.hist-head[b-x1y4h8lk4e] { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 16px 16px 8px; }
.hist-head h2[b-x1y4h8lk4e] { font-size: 1.05rem; }
.hist-scroll[b-x1y4h8lk4e] { overflow-y: auto; overscroll-behavior: contain; padding: 0 8px 14px; flex: 1; min-height: 0; scrollbar-width: thin; }
.hist-day[b-x1y4h8lk4e] { position: sticky; top: 0; z-index: 1; padding: 10px 10px 6px; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--text-3); background: linear-gradient(var(--surface-solid) 60%, transparent); }
.calc-page[b-x1y4h8lk4e]  .sheet .hist-day { background: linear-gradient(rgba(22,20,58,.98) 60%, transparent); }
.hist-item[b-x1y4h8lk4e] {
    display: grid; gap: 2px; padding: 10px 12px; border-radius: 16px; text-align: right;
    transition: background .25s;
    animation: h-in-b-x1y4h8lk4e .55s var(--ease-spring) backwards; animation-delay: calc(var(--i, 0) * 35ms);
}
.hist-item:hover[b-x1y4h8lk4e] { background: rgba(255,255,255,.05); }
@keyframes h-in-b-x1y4h8lk4e { from { opacity: 0; transform: perspective(600px) translateY(-14px) rotateX(-30deg) scale(.96); } }
.h-expr[b-x1y4h8lk4e], .h-res[b-x1y4h8lk4e] { background: none; border: 0; padding: 2px 0; color: inherit; cursor: pointer; text-align: right; font: inherit; border-radius: 8px; }
.h-expr[b-x1y4h8lk4e] { color: var(--text-3); font-size: .86rem; word-break: break-all; transition: color .2s; }
.h-expr:hover[b-x1y4h8lk4e] { color: var(--text); }
.h-row[b-x1y4h8lk4e] { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.h-time[b-x1y4h8lk4e] { font-size: .7rem; color: var(--text-3); opacity: .7; }
.h-res[b-x1y4h8lk4e] { font: 600 1.25rem var(--font-display); color: var(--text); word-break: break-all; transition: color .2s, transform .3s var(--ease-spring); }
.h-res:hover[b-x1y4h8lk4e] { color: color-mix(in oklab, var(--accent) 45%, white); transform: translateX(-3px); }

/* ---------- costanti ---------- */
.const-list[b-x1y4h8lk4e] { display: grid; gap: 8px; }
.const-item[b-x1y4h8lk4e] {
    display: flex; align-items: center; gap: 14px; width: 100%; padding: 12px 14px; border-radius: 16px; text-align: left;
    background: var(--surface); border: 1px solid var(--border); color: var(--text); cursor: pointer; font: inherit;
    transition: background .25s, transform .3s var(--ease-spring), border-color .25s;
    animation: h-in-b-x1y4h8lk4e .5s var(--ease-spring) backwards; animation-delay: calc(var(--i, 0) * 25ms);
}
.const-item:hover[b-x1y4h8lk4e] { background: var(--surface-2); border-color: var(--border-strong); transform: translateX(4px); }
.const-item:active[b-x1y4h8lk4e] { transform: scale(.98); }
.c-sym[b-x1y4h8lk4e] {
    flex: none; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center;
    font: 700 1.1rem var(--font-display); color: white;
    background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 70%, transparent), color-mix(in oklab, var(--accent-2) 60%, transparent));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 8px 18px -8px var(--accent);
}
.c-body[b-x1y4h8lk4e] { display: grid; gap: 2px; min-width: 0; flex: 1; }
.c-name[b-x1y4h8lk4e] { font-weight: 600; font-size: .9rem; }
.c-val[b-x1y4h8lk4e] { font-size: .82rem; color: var(--text-2); }
.c-add[b-x1y4h8lk4e] { color: var(--text-3); font-size: 1.2rem; }

/* =====================================================================
   Responsive
   ===================================================================== */

/* Desktop largo: storico affiancato */
@media (min-width: 1100px) {
    .calc-layout[b-x1y4h8lk4e] { grid-template-columns: auto 330px; justify-content: center; align-items: start; justify-items: stretch; }
    .calc-wrap[b-x1y4h8lk4e] { width: 440px; }
    .sci-on .calc-wrap[b-x1y4h8lk4e] { width: 850px; }
    .hist-btn[b-x1y4h8lk4e] { display: none; }
    .hist-panel[b-x1y4h8lk4e] {
        display: flex; flex-direction: column; position: sticky; top: 76px; height: 640px; max-height: calc(100vh - 100px);
        border-radius: 30px; border: 1px solid var(--border);
        background: linear-gradient(170deg, rgba(255,255,255,.07), rgba(255,255,255,.02));

        box-shadow: var(--shadow-2);
    }
}

/* Telefono in verticale: il dispositivo riempie lo schermo, tasti comodi per il pollice */
@media (max-width: 699px) {
    .calc-page[b-x1y4h8lk4e]  .module { padding: calc(6px + var(--safe-top)) 12px calc(10px + var(--safe-bottom)); }
    .calc-page[b-x1y4h8lk4e]  .module-top { padding: 6px 0; }
    .calc-layout[b-x1y4h8lk4e] { padding-top: 0; }
    .calc-wrap[b-x1y4h8lk4e], .sci-on .calc-wrap[b-x1y4h8lk4e] { width: 100%; }
    .calc[b-x1y4h8lk4e] {
        display: flex; flex-direction: column;
        height: calc(100dvh - 72px - var(--safe-top) - var(--safe-bottom)); min-height: 470px;
        padding: 10px; border-radius: 30px;
    }
    .display[b-x1y4h8lk4e] { flex: none; min-height: 150px; padding: 10px 14px 12px; border-radius: 22px; }
    .d-expr[b-x1y4h8lk4e] { --fs: clamp(2.3rem, 11.5vw, 3rem); }
    .d-act.spesa span:last-child[b-x1y4h8lk4e] { display: none; }
    .d-act.spesa[b-x1y4h8lk4e] { padding: 0 9px; }

    .pads[b-x1y4h8lk4e] {
        flex: 1; min-height: 0; margin-top: 10px;
        grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 0fr) minmax(0, 1fr);
        transition: grid-template-rows .7s var(--ease-out), gap .7s var(--ease-out);
    }
    .sci-on .pads[b-x1y4h8lk4e] { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, .78fr) minmax(0, 1fr); gap: 8px; }
    .pad-num[b-x1y4h8lk4e] { grid-auto-rows: auto; grid-template-rows: repeat(6, minmax(0, 1fr)); gap: 9px; }
    .pad-sci[b-x1y4h8lk4e] { margin: -4px; padding: 4px 4px 7px; min-height: 0; }
    .pad-sci-inner[b-x1y4h8lk4e] {
        min-width: 0; height: 100%; gap: 6px;
        grid-auto-rows: auto; grid-template-rows: repeat(6, minmax(0, 1fr));
        transform-origin: 50% 100%; transform: rotateX(80deg) translateZ(-40px);
    }
    .sci-on .display[b-x1y4h8lk4e] { min-height: 118px; }
    .sci-on .d-expr[b-x1y4h8lk4e] { --fs: clamp(1.9rem, 9vw, 2.4rem); }
    .sci-on .d-recall[b-x1y4h8lk4e] { font-size: .88rem; }
    .sci-on .pad-num[b-x1y4h8lk4e] { gap: 7px; }
    .sci-on .key:not(.fn)[b-x1y4h8lk4e] { font-size: 1.3rem; border-radius: 16px; }
    .sci-on .key.eq[b-x1y4h8lk4e] { font-size: 1.7rem; }

    .key[b-x1y4h8lk4e] { border-radius: 22px; font-size: 1.65rem; }
    .key.op[b-x1y4h8lk4e] { font-size: 1.9rem; }
    .key.fn[b-x1y4h8lk4e] { border-radius: 11px; font-size: .8rem; }
    .key.fn.acc[b-x1y4h8lk4e], .key.fn.mem[b-x1y4h8lk4e] { font-size: .7rem; letter-spacing: .02em; }
    .key.fn.cst[b-x1y4h8lk4e] { font-size: .95rem; }
    .key.fn.const[b-x1y4h8lk4e] { font-size: .72rem; }
    .key.fn[b-x1y4h8lk4e]::before { border-radius: 10px 10px 40% 40% / 10px 10px 8px 8px; }
}
@media (max-width: 699px) and (max-height: 700px) {
    .display[b-x1y4h8lk4e] { min-height: 124px; }
    .sci-on .display[b-x1y4h8lk4e] { min-height: 100px; }
    .sci-on .d-recall[b-x1y4h8lk4e] { display: none; }
}

/* Telefono in orizzontale: pannello scientifico sempre affiancato */
@media (orientation: landscape) and (max-height: 540px) {
    .calc-page[b-x1y4h8lk4e]  .module { padding: calc(4px + var(--safe-top)) max(12px, env(safe-area-inset-right)) calc(8px + var(--safe-bottom)) max(12px, env(safe-area-inset-left)); }
    .calc-page[b-x1y4h8lk4e]  .module-top { padding: 4px 0; }
    .mode-seg[b-x1y4h8lk4e], .kbd-hint[b-x1y4h8lk4e] { display: none; }
    .calc-layout[b-x1y4h8lk4e] { padding-top: 0; }
    .calc-wrap[b-x1y4h8lk4e], .sci-on .calc-wrap[b-x1y4h8lk4e] { width: 100%; }
    .calc[b-x1y4h8lk4e] {
        display: flex; flex-direction: column; height: calc(100dvh - 68px - var(--safe-top) - var(--safe-bottom)); min-height: 280px;
        padding: 8px; border-radius: 24px; transform: none;
    }
    .display[b-x1y4h8lk4e], .sci-on .display[b-x1y4h8lk4e] { flex: none; min-height: 0; padding: 6px 14px 8px; border-radius: 18px; }
    .d-top[b-x1y4h8lk4e] { position: absolute; top: 6px; left: 12px; right: auto; }
    .d-actions[b-x1y4h8lk4e] { display: none; }
    .d-recall[b-x1y4h8lk4e], .sci-on .d-recall[b-x1y4h8lk4e] { display: block; font-size: .78rem; min-height: 1.2em; padding-left: 90px; }
    .d-expr[b-x1y4h8lk4e], .sci-on .d-expr[b-x1y4h8lk4e] { --fs: 1.8rem; }
    .d-result[b-x1y4h8lk4e] { --fs: 1.05rem; min-height: 1.3em; }
    .pads[b-x1y4h8lk4e], .sci-on .pads[b-x1y4h8lk4e] {
        flex: 1; min-height: 0; margin-top: 8px; gap: 10px;
        grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr);
    }
    .pad-sci[b-x1y4h8lk4e] { margin: -3px; padding: 3px 3px 6px; }
    .pad-sci-inner[b-x1y4h8lk4e], .sci-on .pad-sci-inner[b-x1y4h8lk4e] {
        min-width: 0; height: 100%; gap: 5px; grid-auto-rows: auto; grid-template-rows: repeat(6, minmax(0, 1fr));
        transform: none; opacity: 1; visibility: visible;
    }
    .pad-num[b-x1y4h8lk4e] { grid-auto-rows: auto; grid-template-rows: repeat(6, minmax(0, 1fr)); gap: 5px; }
    .key[b-x1y4h8lk4e], .sci-on .key:not(.fn)[b-x1y4h8lk4e] { border-radius: 12px; font-size: 1.1rem; }
    .key.op[b-x1y4h8lk4e] { font-size: 1.3rem; }
    .key.eq[b-x1y4h8lk4e], .sci-on .key.eq[b-x1y4h8lk4e] { font-size: 1.4rem; }
    .key.fn[b-x1y4h8lk4e] { border-radius: 10px; font-size: .74rem; }
    .key.fn.acc[b-x1y4h8lk4e], .key.fn.mem[b-x1y4h8lk4e], .key.fn.const[b-x1y4h8lk4e] { font-size: .64rem; }
    .key[b-x1y4h8lk4e]::before, .key.fn[b-x1y4h8lk4e]::before { border-radius: 9px 9px 40% 40% / 9px 9px 6px 6px; }
}

@media (prefers-reduced-motion: reduce) {
    .key.eq[b-x1y4h8lk4e]::after { animation: none; }
    .calc[b-x1y4h8lk4e] { transform: none !important; }
    .pad-sci-inner[b-x1y4h8lk4e] { transition: opacity .2s, visibility 0s; }
}

/* Telefono: nessuna animazione né transizione (solo reattività), le funzioni restano identiche. */
@media (max-width: 699px) {
    .calc-page[b-x1y4h8lk4e]  *, .calc-page[b-x1y4h8lk4e]  *::before, .calc-page[b-x1y4h8lk4e]  *::after {
        animation: none !important; transition: none !important;
    }
    .calc-page[b-x1y4h8lk4e]  .caret { opacity: 1; }
}
/* /Components/Pages/Calendario/BooksPanel.razor.rz.scp.css */
.books-panel[b-da9zcien22] { padding: 16px; border-radius: 24px; }
.bk-list[b-da9zcien22] { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.bk[b-da9zcien22] { width: 100%; display: flex; align-items: center; gap: 10px; padding: 7px 8px; border: 0; border-radius: 12px; background: none; cursor: pointer; text-align: left; color: var(--text-2); font-weight: 600; transition: background .2s, color .2s; }
.bk:hover[b-da9zcien22] { background: rgba(255,255,255,.05); color: var(--text); }
.bk.on[b-da9zcien22] { color: var(--text); }
.bk-box[b-da9zcien22] { width: 20px; height: 20px; border-radius: 7px; display: grid; place-items: center; font-size: .7rem; font-weight: 900; color: #fff; flex: none;
    border: 2px solid var(--c); transition: background .25s, transform .3s var(--ease-spring); }
.bk.on .bk-box[b-da9zcien22] { background: var(--c); box-shadow: 0 0 12px -2px var(--c); }
.bk:active .bk-box[b-da9zcien22] { transform: scale(.8); }
/* /Components/Pages/Calendario/BooksSheet.razor.rz.scp.css */
.bs[b-4p1k6htz2e] { display: flex; flex-direction: column; gap: 10px; }
.bs-row[b-4p1k6htz2e] { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: 16px; background: color-mix(in oklab, var(--c) 10%, rgba(255,255,255,.03)); border: 1px solid color-mix(in oklab, var(--c) 30%, var(--border)); animation: bs-in-b-4p1k6htz2e .45s var(--ease-spring) backwards; }
@keyframes bs-in-b-4p1k6htz2e { from { opacity: 0; transform: translateY(8px); } }
.bs-name[b-4p1k6htz2e] { flex: 1; min-width: 0; }
.bs-color[b-4p1k6htz2e] { width: 38px; height: 38px; padding: 0; border: 0; border-radius: 12px; background: none; cursor: pointer; flex: none; }
.bs-color[b-4p1k6htz2e]::-webkit-color-swatch-wrapper { padding: 0; }
.bs-color[b-4p1k6htz2e]::-webkit-color-swatch { border: 0; border-radius: 12px; box-shadow: inset 0 0 0 2px rgba(255,255,255,.2); }
.bs-vis[b-4p1k6htz2e] { display: flex; align-items: center; }
.bs-new[b-4p1k6htz2e] { display: flex; gap: 10px; align-items: center; margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--border); }
.bs-new .input[b-4p1k6htz2e] { flex: 1; min-width: 0; }
@media (max-width: 640px) { .bs-new[b-4p1k6htz2e] { flex-wrap: wrap; } .bs-new .btn[b-4p1k6htz2e] { width: 100%; } }
/* /Components/Pages/Calendario/CalAgenda.razor.rz.scp.css */
.ag-stage[b-gd7ps24d9t] { perspective: 1600px; }
.turn-next[b-gd7ps24d9t] { animation: ag-next-b-gd7ps24d9t .6s var(--ease-out) both; }
.turn-prev[b-gd7ps24d9t] { animation: ag-prev-b-gd7ps24d9t .6s var(--ease-out) both; }
.turn-none[b-gd7ps24d9t] { animation: ag-none-b-gd7ps24d9t .6s var(--ease-out) both; }
@keyframes ag-next-b-gd7ps24d9t { from { opacity: 0; transform: translateY(40px) rotateX(-12deg); } }
@keyframes ag-prev-b-gd7ps24d9t { from { opacity: 0; transform: translateY(-40px) rotateX(12deg); } }
@keyframes ag-none-b-gd7ps24d9t { from { opacity: 0; transform: translateY(20px); } }

.ag-list[b-gd7ps24d9t] { position: relative; max-width: 860px; margin: 0 auto; }
.ag-list[b-gd7ps24d9t]::before { content: ""; position: absolute; left: 31px; top: 40px; bottom: 10px; width: 2px; border-radius: 2px; background: linear-gradient(180deg, var(--accent), var(--accent-2), transparent); opacity: .35; }
.ag-month[b-gd7ps24d9t] { font-size: 1.05rem; margin: 18px 0 10px 76px; color: var(--text-2); }
.ag-month:first-child[b-gd7ps24d9t] { margin-top: 0; }

.ag-day[b-gd7ps24d9t] { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; margin-bottom: 12px; }
.ag-day.past[b-gd7ps24d9t] { opacity: .7; }
.ag-date[b-gd7ps24d9t] { position: sticky; top: 150px; align-self: start; width: 64px; height: 64px; border-radius: 20px; border: 1px solid var(--border); cursor: pointer; color: var(--text);
    display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.05;
    background: linear-gradient(160deg, rgba(40,40,100,.9), rgba(14,14,40,.95)); box-shadow: 0 12px 24px -14px rgba(0,0,0,.9); transition: transform .3s var(--ease-spring); }
.ag-date:hover[b-gd7ps24d9t] { transform: scale(1.06) rotate(-3deg); }
.ag-wd[b-gd7ps24d9t] { font-size: .64rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--text-2); }
.ag-num[b-gd7ps24d9t] { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; }
.ag-day.today .ag-date[b-gd7ps24d9t] { background: linear-gradient(145deg, var(--accent), var(--accent-2)); border-color: transparent; box-shadow: 0 16px 30px -12px var(--accent); }
.ag-day.today .ag-wd[b-gd7ps24d9t] { color: #fff; }

.ag-items[b-gd7ps24d9t] { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding-top: 4px; }
.ag-hol[b-gd7ps24d9t] { font-size: .82rem; font-weight: 650; color: #fbcfe8; padding: 8px 12px; border-radius: 12px; background: color-mix(in oklab, #EC4899 14%, transparent); }
.ag-ev[b-gd7ps24d9t] { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border-radius: 18px; cursor: pointer; text-align: left; color: var(--text);
    border: 1px solid color-mix(in oklab, var(--c) 30%, var(--border));
    background: linear-gradient(150deg, color-mix(in oklab, var(--c) 16%, rgba(255,255,255,.04)), rgba(255,255,255,.02));
    box-shadow: 0 14px 28px -20px var(--c); transition: transform .35s var(--ease-spring), box-shadow .3s; }
.ag-ev:hover[b-gd7ps24d9t] { transform: translateX(4px) translateY(-2px); box-shadow: 0 22px 36px -18px var(--c); }
.ag-ev.note[b-gd7ps24d9t] { border-style: dashed; }
.ag-dot[b-gd7ps24d9t] { width: 10px; height: 10px; border-radius: 50%; margin-top: 5px; flex: none; background: var(--c); box-shadow: 0 0 12px var(--c); }
.ag-time[b-gd7ps24d9t] { width: 96px; flex: none; font-size: .8rem; font-weight: 700; color: var(--text-2); padding-top: 1px; }
.ag-body[b-gd7ps24d9t] { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.ag-title[b-gd7ps24d9t] { font-weight: 700; }
.ag-sub[b-gd7ps24d9t] { display: flex; flex-wrap: wrap; gap: 4px 10px; }
.ag-notes[b-gd7ps24d9t] { font-size: .84rem; color: var(--text-2); white-space: pre-line; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.ag-photos[b-gd7ps24d9t] { display: flex; flex: none; }
.ag-photos img[b-gd7ps24d9t] { width: 46px; height: 46px; border-radius: 12px; object-fit: cover; border: 2px solid #0b0a1f; margin-left: -14px; box-shadow: 0 6px 12px rgba(0,0,0,.5); transition: transform .3s var(--ease-spring); }
.ag-photos img:first-child[b-gd7ps24d9t] { margin-left: 0; }
.ag-ev:hover .ag-photos img[b-gd7ps24d9t] { transform: rotate(-4deg); }
.ag-ev:hover .ag-photos img:nth-child(2)[b-gd7ps24d9t] { transform: rotate(3deg) translateY(-3px); }
.ag-more[b-gd7ps24d9t] { display: flex; justify-content: center; margin: 18px 0 8px; }

@media (max-width: 700px) {
    .ag-list[b-gd7ps24d9t]::before { left: 23px; }
    .ag-month[b-gd7ps24d9t] { margin-left: 60px; }
    .ag-day[b-gd7ps24d9t] { grid-template-columns: 48px minmax(0, 1fr); gap: 10px; }
    .ag-date[b-gd7ps24d9t] { width: 48px; height: 52px; border-radius: 16px; top: 140px; }
    .ag-num[b-gd7ps24d9t] { font-size: 1.25rem; }
    .ag-ev[b-gd7ps24d9t] { flex-wrap: wrap; gap: 6px 10px; padding: 10px 12px; }
    .ag-time[b-gd7ps24d9t] { width: auto; }
    .ag-body[b-gd7ps24d9t] { flex-basis: 100%; }
    .ag-photos img[b-gd7ps24d9t] { width: 38px; height: 38px; }
}
/* /Components/Pages/Calendario/CalDay.razor.rz.scp.css */
.d-stage[b-98kk0z8vmm] { perspective: 1800px; }
.d-page[b-98kk0z8vmm] { transform-style: preserve-3d; }
.turn-next[b-98kk0z8vmm] { animation: d-next-b-98kk0z8vmm .6s var(--ease-out) both; }
.turn-prev[b-98kk0z8vmm] { animation: d-prev-b-98kk0z8vmm .6s var(--ease-out) both; }
.turn-none[b-98kk0z8vmm] { animation: d-none-b-98kk0z8vmm .6s var(--ease-out) both; }
@keyframes d-next-b-98kk0z8vmm { from { opacity: 0; transform: translateX(14%) rotateY(-26deg) translateZ(-80px); } }
@keyframes d-prev-b-98kk0z8vmm { from { opacity: 0; transform: translateX(-14%) rotateY(26deg) translateZ(-80px); } }
@keyframes d-none-b-98kk0z8vmm { from { opacity: 0; transform: translateY(20px) scale(.97); } }

.d-grid[b-98kk0z8vmm] { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 20px; align-items: start; }
.d-left[b-98kk0z8vmm] { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 150px; }
@media (max-width: 1000px) { .d-grid[b-98kk0z8vmm] { grid-template-columns: minmax(0, 1fr); } .d-left[b-98kk0z8vmm] { position: static; } }

.d-hero[b-98kk0z8vmm] { position: relative; overflow: hidden; padding: 20px; border-radius: 28px; }
.d-orb[b-98kk0z8vmm] { position: absolute; width: 240px; height: 240px; right: -80px; top: -90px; border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle at 35% 35%, color-mix(in oklab, var(--accent-2) 80%, white), var(--accent) 55%, transparent 72%); opacity: .55; filter: blur(4px);
    animation: orb-b-98kk0z8vmm 9s ease-in-out infinite alternate; }
@keyframes orb-b-98kk0z8vmm { to { transform: translate(-30px, 20px) scale(1.12); } }
.d-date[b-98kk0z8vmm] { position: relative; display: flex; align-items: center; gap: 16px; }
.d-num[b-98kk0z8vmm] { font-family: var(--font-display); font-size: 4.2rem; font-weight: 700; line-height: .9; background: linear-gradient(160deg, #fff 30%, var(--accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 10px 20px rgba(0,0,0,.4)); }
.d-meta[b-98kk0z8vmm] { display: flex; flex-direction: column; line-height: 1.3; }
.d-wd[b-98kk0z8vmm] { font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; }
.d-rel[b-98kk0z8vmm] { font-size: .74rem; font-weight: 800; color: var(--accent-2); text-transform: uppercase; letter-spacing: .08em; margin-top: 2px; }
.d-hol[b-98kk0z8vmm] { position: relative; margin-top: 12px; font-weight: 650; font-size: .88rem; color: #fbcfe8; padding: 8px 12px; border-radius: 12px; background: color-mix(in oklab, #EC4899 16%, transparent); }
.d-stats[b-98kk0z8vmm] { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 16px 0; }
.d-stats div[b-98kk0z8vmm] { display: flex; flex-direction: column; align-items: center; padding: 8px; border-radius: 14px; background: rgba(0,0,0,.2); }
.d-stats b[b-98kk0z8vmm] { font-family: var(--font-display); font-size: 1.35rem; }
.d-stats span[b-98kk0z8vmm] { font-size: .7rem; color: var(--text-2); }
.d-actions[b-98kk0z8vmm] { position: relative; display: flex; gap: 8px; }
.d-actions .btn[b-98kk0z8vmm] { flex: 1; }

.d-note[b-98kk0z8vmm] { padding: 14px; border-radius: 22px; border-color: color-mix(in oklab, var(--c) 35%, var(--border));
    background: linear-gradient(160deg, color-mix(in oklab, var(--c) 14%, rgba(255,255,255,.04)), rgba(255,255,255,.02));
    animation: dn-in-b-98kk0z8vmm .6s var(--ease-spring) backwards; animation-delay: calc(var(--i, 0) * 70ms + 150ms); }
@keyframes dn-in-b-98kk0z8vmm { from { opacity: 0; transform: perspective(700px) rotateY(-30deg) translateX(-20px); } }
.dn-head[b-98kk0z8vmm] { width: 100%; display: flex; align-items: center; gap: 8px; border: 0; background: none; padding: 0; cursor: pointer; color: var(--text); text-align: left; }
.dn-ico[b-98kk0z8vmm] { font-size: 1.1rem; }
.dn-title[b-98kk0z8vmm] { flex: 1; min-width: 0; font-weight: 700; }
.dn-text[b-98kk0z8vmm] { margin: 8px 0 0; white-space: pre-line; color: var(--text-2); font-size: .9rem; max-height: 220px; overflow: auto; }
.dn-photos[b-98kk0z8vmm] { display: grid; gap: 6px; margin-top: 10px; }
.dn-photos.c1[b-98kk0z8vmm] { grid-template-columns: 1fr; }
.dn-photos.c2[b-98kk0z8vmm] { grid-template-columns: 1fr 1fr; }
.dn-photos.c3[b-98kk0z8vmm], .dn-photos.c4[b-98kk0z8vmm] { grid-template-columns: repeat(3, 1fr); }
.dn-photos.c1 .dn-ph[b-98kk0z8vmm] { aspect-ratio: 16 / 10; }
.dn-ph[b-98kk0z8vmm] { aspect-ratio: 1; padding: 0; border: 0; border-radius: 12px; overflow: hidden; cursor: zoom-in; background: rgba(255,255,255,.05); box-shadow: 0 10px 18px -12px rgba(0,0,0,.9); transition: transform .35s var(--ease-spring); }
.dn-ph img[b-98kk0z8vmm] { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
.dn-ph:hover[b-98kk0z8vmm] { transform: translateY(-3px) rotateX(6deg); }
.dn-ph:hover img[b-98kk0z8vmm] { transform: scale(1.08); }
/* /Components/Pages/Calendario/CalendarioPage.razor.rz.scp.css */
/* ---------- Hero: pagina di calendario 3D con la data di oggi ---------- */
.hero-flip[b-evut39l3hb] { perspective: 700px; margin-left: auto; }
.flip-card[b-evut39l3hb] {
    position: relative; width: 118px; height: 132px; border-radius: 24px; padding: 14px 10px 10px; text-align: center;
    display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 0;
    background: linear-gradient(180deg, color-mix(in oklab, var(--accent) 85%, #000) 0 34%, rgba(255,255,255,.96) 34% 100%);
    box-shadow: 0 30px 60px -22px color-mix(in oklab, var(--accent) 90%, transparent), 0 2px 0 rgba(255,255,255,.4) inset, 0 -10px 20px rgba(0,0,0,.08) inset;
    transform: rotateX(calc(var(--my) * -10deg + 8deg)) rotateY(calc(var(--mx) * 14deg - 12deg));
    transform-style: preserve-3d; animation: flip-in-b-evut39l3hb 1.1s var(--ease-spring) both .2s;
}
@keyframes flip-in-b-evut39l3hb { from { opacity: 0; transform: rotateX(-110deg) translateY(-30px); } }
.flip-card[b-evut39l3hb]::after { /* pagina che "si stacca" */
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 66%; border-radius: 0 0 24px 24px; pointer-events: none;
    background: linear-gradient(180deg, rgba(0,0,0,.08), transparent 30%);
}
.flip-ring[b-evut39l3hb] { position: absolute; top: -8px; left: 30px; width: 10px; height: 22px; border-radius: 6px; background: linear-gradient(90deg, #cbd5e1, #fff, #94a3b8); box-shadow: 0 3px 6px rgba(0,0,0,.4); }
.flip-ring.r2[b-evut39l3hb] { left: auto; right: 30px; }
.flip-month[b-evut39l3hb] { position: absolute; top: 12px; left: 0; right: 0; font-size: .8rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.flip-day[b-evut39l3hb] { font-family: var(--font-display); font-size: 3.4rem; font-weight: 700; line-height: .95; color: #111827; transform: translateZ(18px); }
.flip-wd[b-evut39l3hb] { font-size: .74rem; font-weight: 700; color: #4b5563; text-transform: capitalize; }

/* ---------- Barra strumenti ---------- */
.toolbar[b-evut39l3hb] {
    position: sticky; top: calc(64px + var(--safe-top)); z-index: 20;
    display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px;
    padding: 8px; margin-bottom: 18px; border-radius: 20px;
    background: linear-gradient(145deg, rgba(20,22,64,.8), rgba(8,12,34,.72));
    box-shadow: 0 20px 40px -24px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.08);
    animation: tb-in-b-evut39l3hb .7s var(--ease-spring) backwards .1s;
}
@keyframes tb-in-b-evut39l3hb { from { opacity: 0; transform: perspective(800px) rotateX(-40deg) translateY(-10px); } }
.tb-nav[b-evut39l3hb] { display: flex; align-items: center; justify-content: center; gap: 4px; min-width: 0; perspective: 600px; }
.tb-nav .btn[b-evut39l3hb] { font-size: 1.5rem; font-weight: 400; }
.tb-title[b-evut39l3hb] { font-size: 1.12rem; font-weight: 700; text-align: center; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; animation: title-flip-b-evut39l3hb .5s var(--ease-out) both; }
.tb-title span[b-evut39l3hb] { background: linear-gradient(120deg, #fff 20%, var(--accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
@keyframes title-flip-b-evut39l3hb { from { opacity: 0; transform: rotateX(80deg) translateY(-6px); } to { opacity: 1; transform: none; } }
.tb-extra[b-evut39l3hb] { display: flex; align-items: center; gap: 6px; justify-content: flex-end; }
.tb-extra .is-today[b-evut39l3hb] { opacity: .55; }
.tb-date[b-evut39l3hb] { width: 150px; height: 34px; border-radius: 11px; font-size: .86rem; padding: 0 10px; }

@media (max-width: 1100px) {
    .toolbar[b-evut39l3hb] { grid-template-columns: 1fr auto; }
    .tb-views[b-evut39l3hb] { grid-column: 1 / -1; display: flex; }
    .tb-views > *[b-evut39l3hb] { flex: 1; }
    .tb-nav[b-evut39l3hb] { justify-content: flex-start; }
}
@media (max-width: 700px) {
    .toolbar[b-evut39l3hb] { top: calc(60px + var(--safe-top)); grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 6px; }
    .tb-nav[b-evut39l3hb] { justify-content: space-between; }
    .tb-title[b-evut39l3hb] { font-size: 1rem; }
    .tb-extra[b-evut39l3hb] { justify-content: stretch; }
    .tb-extra > *[b-evut39l3hb] { flex: 1 1 auto; }
    .tb-date[b-evut39l3hb] { width: auto; min-width: 0; }
    .tb-views button[b-evut39l3hb] { padding: 7px 2px; font-size: .74rem; }
}

/* ---------- Layout ---------- */
.cal-root[b-evut39l3hb] { position: relative; touch-action: pan-y; }
.cal-split[b-evut39l3hb] { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
.cal-side[b-evut39l3hb] { position: sticky; top: 150px; display: flex; flex-direction: column; gap: 16px; }
.cal-hint[b-evut39l3hb] { margin: 12px 2px 0; text-align: center; }
@media (max-width: 1100px) {
    .cal-split[b-evut39l3hb] { grid-template-columns: minmax(0, 1fr); }
    .cal-side[b-evut39l3hb] { position: static; }
}
/* /Components/Pages/Calendario/CalMonth.razor.rz.scp.css */
/* ---------- Palcoscenico 3D e transizione "a pagina" tra i mesi ---------- */
.m-stage[b-gw1ziudb4n] { perspective: 1800px; perspective-origin: 50% 30%; }
.m-page[b-gw1ziudb4n] { transform-style: preserve-3d; will-change: transform; }
.turn-next[b-gw1ziudb4n] { transform-origin: 0% 50%; animation: turn-next-b-gw1ziudb4n .75s var(--ease-out) both; }
.turn-prev[b-gw1ziudb4n] { transform-origin: 100% 50%; animation: turn-prev-b-gw1ziudb4n .75s var(--ease-out) both; }
.turn-none[b-gw1ziudb4n] { animation: turn-none-b-gw1ziudb4n .7s var(--ease-out) both; }
@keyframes turn-next-b-gw1ziudb4n { from { opacity: 0; transform: translateX(28%) rotateY(-62deg) translateZ(-120px); filter: blur(4px); } 60% { opacity: 1; filter: none; } to { opacity: 1; transform: none; } }
@keyframes turn-prev-b-gw1ziudb4n { from { opacity: 0; transform: translateX(-28%) rotateY(62deg) translateZ(-120px); filter: blur(4px); } 60% { opacity: 1; filter: none; } to { opacity: 1; transform: none; } }
@keyframes turn-none-b-gw1ziudb4n { from { opacity: 0; transform: rotateX(18deg) translateZ(-140px); } to { opacity: 1; transform: none; } }

.m-wd[b-gw1ziudb4n] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; margin-bottom: 8px; text-align: center; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); }
.m-wd .we[b-gw1ziudb4n] { color: var(--text-3); }
.m-grid[b-gw1ziudb4n] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; transform-style: preserve-3d; }

/* ---------- Cella ---------- */
.cell[b-gw1ziudb4n] {
    position: relative; min-width: 0; min-height: 118px; padding: 8px 6px 6px; border-radius: 18px; cursor: pointer; overflow: hidden;
    display: flex; flex-direction: column; gap: 4px; outline: none;
    background: linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
    border: 1px solid var(--border);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 24px -18px rgba(0,0,0,.8);
    transform-style: preserve-3d;
    transition: transform .45s var(--ease-spring), box-shadow .35s var(--ease-out), border-color .3s, background .3s;
    animation: cell-in-b-gw1ziudb4n .55s var(--ease-out) backwards; animation-delay: calc(100ms + var(--i) * 10ms);
}
@keyframes cell-in-b-gw1ziudb4n { from { opacity: 0; transform: translateZ(-60px) rotateX(-35deg) translateY(14px); } to { opacity: 1; transform: none; } }
.cell:hover[b-gw1ziudb4n] { transform: translateY(-4px) translateZ(22px) rotateX(7deg); border-color: var(--border-strong); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 26px 40px -18px rgba(0,0,0,.9); z-index: 2; }
.cell:focus-visible[b-gw1ziudb4n] { outline: 2px solid var(--accent-2); outline-offset: 2px; }
.cell.weekend[b-gw1ziudb4n] { background: repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 6px, transparent 6px 12px), rgba(0,0,0,.16); }
.cell.weekend .c-num[b-gw1ziudb4n] { color: var(--text-2); }
.cell.out[b-gw1ziudb4n] { opacity: .38; }
.cell.out:hover[b-gw1ziudb4n] { opacity: .85; }
.cell.past:not(.today) .c-num[b-gw1ziudb4n] { color: var(--text-3); }
.cell.holiday[b-gw1ziudb4n] { border-color: color-mix(in oklab, #EC4899 40%, var(--border)); background: linear-gradient(160deg, color-mix(in oklab, #EC4899 14%, transparent), transparent 70%); }
.cell.selected[b-gw1ziudb4n] { border-color: color-mix(in oklab, var(--accent-2) 70%, transparent); background: linear-gradient(160deg, color-mix(in oklab, var(--accent) 30%, transparent), color-mix(in oklab, var(--accent-2) 8%, transparent)); box-shadow: 0 0 0 1px color-mix(in oklab, var(--accent-2) 60%, transparent), 0 18px 36px -18px var(--accent); }
.cell.over[b-gw1ziudb4n] { transform: translateZ(26px) scale(1.03); border-color: #fff; box-shadow: 0 0 0 2px var(--accent-2), 0 0 30px -4px var(--accent-2); }

.cell.today .c-num[b-gw1ziudb4n] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; width: 28px; height: 28px; border-radius: 10px; display: grid; place-items: center; box-shadow: 0 6px 14px -4px var(--accent); }
.cell.today[b-gw1ziudb4n]::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; pointer-events: none; border: 2px solid var(--accent-2); animation: today-pulse-b-gw1ziudb4n 2.4s ease-out infinite; }
@keyframes today-pulse-b-gw1ziudb4n { 0% { opacity: .9; transform: scale(1); } 100% { opacity: 0; transform: scale(1.12); } }

/* Foto di sfondo del giorno (prima foto degli eventi) */
.c-photo[b-gw1ziudb4n] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .22; filter: saturate(1.2); pointer-events: none; transition: opacity .4s, transform .8s var(--ease-out);
    mask-image: linear-gradient(180deg, rgba(0,0,0,.2), #000 60%); -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.2), #000 60%); }
.cell:hover .c-photo[b-gw1ziudb4n] { opacity: .4; transform: scale(1.06); }

.c-top[b-gw1ziudb4n] { position: relative; display: flex; align-items: center; gap: 4px; min-height: 28px; padding: 0 2px; transform: translateZ(14px); }
.c-num[b-gw1ziudb4n] { font-weight: 700; font-size: .98rem; line-height: 1; flex: none; }
.c-hol[b-gw1ziudb4n] { flex: 1; min-width: 0; font-size: .62rem; font-weight: 700; color: #fbcfe8; text-transform: uppercase; letter-spacing: .03em; }
.c-add[b-gw1ziudb4n] { margin-left: auto; width: 24px; height: 24px; border-radius: 8px; border: 0; cursor: pointer; font-weight: 700; color: #fff; flex: none;
    background: linear-gradient(135deg, var(--accent), var(--accent-2)); opacity: 0; transform: scale(.5) rotate(-90deg); transition: all .3s var(--ease-spring); }
.cell:hover .c-add[b-gw1ziudb4n], .c-add:focus-visible[b-gw1ziudb4n] { opacity: 1; transform: none; }

.c-events[b-gw1ziudb4n] { position: relative; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.chip-ev[b-gw1ziudb4n] {
    --c: var(--accent);
    display: flex; align-items: center; gap: 4px; min-width: 0; height: 22px; padding: 0 6px; border-radius: 7px; cursor: pointer; text-align: left;
    font-size: .72rem; font-weight: 600; color: var(--text); border: 0;
    background: color-mix(in oklab, var(--c) 20%, transparent);
    box-shadow: inset 3px 0 0 var(--c);
    transition: transform .25s var(--ease-spring), background .2s, box-shadow .25s;
    animation: chip-in-b-gw1ziudb4n .45s var(--ease-spring) backwards; animation-delay: calc(260ms + var(--i) * 10ms);
}
@keyframes chip-in-b-gw1ziudb4n { from { opacity: 0; transform: translateX(-8px) scale(.9); } }
.chip-ev:hover[b-gw1ziudb4n] { background: color-mix(in oklab, var(--c) 38%, transparent); transform: translateX(2px) translateZ(10px); box-shadow: inset 3px 0 0 var(--c), 0 8px 16px -8px var(--c); }
.chip-ev.solid[b-gw1ziudb4n] { background: linear-gradient(135deg, color-mix(in oklab, var(--c) 78%, #000), color-mix(in oklab, var(--c) 55%, #000)); color: #fff; box-shadow: 0 4px 10px -6px var(--c), inset 0 1px 0 rgba(255,255,255,.2); }
.chip-ev.note[b-gw1ziudb4n] { background: color-mix(in oklab, var(--c) 14%, rgba(255,255,255,.04)); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--c) 45%, transparent); color: var(--text); }
.chip-ev.multi[b-gw1ziudb4n] { border-radius: 7px; }
.chip-ev.cont-l[b-gw1ziudb4n] { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -8px; padding-left: 12px; }
.chip-ev.cont-r[b-gw1ziudb4n] { border-top-right-radius: 0; border-bottom-right-radius: 0; margin-right: -8px; }
.chip-ev.done[b-gw1ziudb4n] { opacity: .6; }
.chip-ev[draggable="true"][b-gw1ziudb4n] { cursor: grab; }
.ce-time[b-gw1ziudb4n] { font-size: .66rem; font-weight: 700; opacity: .85; flex: none; }
.ce-ico[b-gw1ziudb4n], .ce-ph[b-gw1ziudb4n] { flex: none; font-size: .7rem; }
.ce-title[b-gw1ziudb4n] { min-width: 0; flex: 1; }
.ce-more[b-gw1ziudb4n] { font-size: .66rem; font-weight: 700; color: var(--text-2); padding-left: 6px; }

.c-dots[b-gw1ziudb4n] { display: flex; justify-content: center; gap: 3px; margin-top: auto; }
.c-dots i[b-gw1ziudb4n] { width: 6px; height: 6px; border-radius: 50%; background: var(--c); box-shadow: 0 0 8px var(--c); }
.c-dots i.note[b-gw1ziudb4n] { background: transparent; box-shadow: inset 0 0 0 1.5px var(--c); }

/* ---------- Mobile ---------- */
@media (max-width: 700px) {
    .m-wd[b-gw1ziudb4n], .m-grid[b-gw1ziudb4n] { gap: 4px; }
    .cell[b-gw1ziudb4n] { min-height: 58px; padding: 6px 3px 5px; border-radius: 13px; align-items: center; }
    .c-top[b-gw1ziudb4n] { justify-content: center; min-height: 24px; }
    .c-num[b-gw1ziudb4n] { font-size: .86rem; }
    .cell.today .c-num[b-gw1ziudb4n] { width: 24px; height: 24px; border-radius: 8px; }
    .cell:hover[b-gw1ziudb4n] { transform: none; }
    .c-dots[b-gw1ziudb4n] { display: flex !important; }
}
/* /Components/Pages/Calendario/CalWeek.razor.rz.scp.css */
.w-stage[b-y5bmcwd1l2] { perspective: 1800px; }
.w-page[b-y5bmcwd1l2] { transform-style: preserve-3d; }
.turn-next[b-y5bmcwd1l2] { animation: w-next-b-y5bmcwd1l2 .65s var(--ease-out) both; }
.turn-prev[b-y5bmcwd1l2] { animation: w-prev-b-y5bmcwd1l2 .65s var(--ease-out) both; }
.turn-none[b-y5bmcwd1l2] { animation: w-none-b-y5bmcwd1l2 .6s var(--ease-out) both; }
@keyframes w-next-b-y5bmcwd1l2 { from { opacity: 0; transform: translateX(16%) rotateY(-30deg) translateZ(-100px); } }
@keyframes w-prev-b-y5bmcwd1l2 { from { opacity: 0; transform: translateX(-16%) rotateY(30deg) translateZ(-100px); } }
@keyframes w-none-b-y5bmcwd1l2 { from { opacity: 0; transform: rotateX(14deg) translateZ(-100px); } }

.only-mobile-block[b-y5bmcwd1l2] { display: none; }
@media (max-width: 700px) { .only-mobile-block[b-y5bmcwd1l2] { display: block; } }

.wl-day[b-y5bmcwd1l2] { margin-bottom: 10px; padding: 10px; border-radius: 20px; border: 1px solid var(--border); background: linear-gradient(160deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
    animation: wl-in-b-y5bmcwd1l2 .55s var(--ease-spring) backwards; animation-delay: calc(var(--i) * 50ms); transform-origin: 50% 0; }
@keyframes wl-in-b-y5bmcwd1l2 { from { opacity: 0; transform: rotateX(-50deg) translateY(-10px); } }
.wl-day.today[b-y5bmcwd1l2] { border-color: color-mix(in oklab, var(--accent-2) 60%, transparent); box-shadow: 0 0 0 1px color-mix(in oklab, var(--accent-2) 40%, transparent), 0 16px 30px -18px var(--accent); }
.wl-day.we[b-y5bmcwd1l2] { background: rgba(0,0,0,.14); }
.wl-head[b-y5bmcwd1l2] { width: 100%; display: flex; align-items: center; gap: 10px; border: 0; background: none; padding: 0; color: var(--text); cursor: pointer; text-align: left; }
.wl-num[b-y5bmcwd1l2] { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; font-weight: 800; background: rgba(255,255,255,.08); flex: none; }
.wl-day.today .wl-num[b-y5bmcwd1l2] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; }
.wl-name[b-y5bmcwd1l2] { flex: 1; min-width: 0; font-weight: 650; font-size: .92rem; }
.wl-count[b-y5bmcwd1l2] { font-size: .72rem; font-weight: 800; color: var(--accent-2); }
.wl-items[b-y5bmcwd1l2] { display: flex; flex-direction: column; gap: 5px; margin-top: 8px; }
.wl-ev[b-y5bmcwd1l2] { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; border: 0; cursor: pointer; text-align: left; color: var(--text);
    background: color-mix(in oklab, var(--c) 18%, rgba(255,255,255,.03)); box-shadow: inset 3px 0 0 var(--c); }
.wl-ev.note[b-y5bmcwd1l2] { box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--c) 45%, transparent); }
.wl-time[b-y5bmcwd1l2] { font-size: .72rem; font-weight: 700; color: var(--text-2); flex: none; }
.wl-title[b-y5bmcwd1l2] { flex: 1; min-width: 0; font-weight: 650; font-size: .88rem; }
.wl-ph[b-y5bmcwd1l2] { width: 30px; height: 30px; border-radius: 8px; object-fit: cover; flex: none; }
.wl-add[b-y5bmcwd1l2] { margin-top: 6px; border: 1px dashed var(--border-strong); background: none; border-radius: 10px; padding: 6px 10px; color: var(--text-3); font-size: .78rem; cursor: pointer; }
/* /Components/Pages/Calendario/CalYear.razor.rz.scp.css */
.y-stage[b-w2hj6ryr8e] { perspective: 2000px; }
.y-page[b-w2hj6ryr8e] { transform-style: preserve-3d; }
.turn-next[b-w2hj6ryr8e] { animation: y-next-b-w2hj6ryr8e .7s var(--ease-out) both; }
.turn-prev[b-w2hj6ryr8e] { animation: y-prev-b-w2hj6ryr8e .7s var(--ease-out) both; }
.turn-none[b-w2hj6ryr8e] { animation: y-none-b-w2hj6ryr8e .6s var(--ease-out) both; }
@keyframes y-next-b-w2hj6ryr8e { from { opacity: 0; transform: translateX(12%) rotateY(-24deg) translateZ(-160px); } to { opacity: 1; transform: none; } }
@keyframes y-prev-b-w2hj6ryr8e { from { opacity: 0; transform: translateX(-12%) rotateY(24deg) translateZ(-160px); } to { opacity: 1; transform: none; } }
@keyframes y-none-b-w2hj6ryr8e { from { opacity: 0; transform: translateZ(-120px); } to { opacity: 1; transform: none; } }

.y-summary[b-w2hj6ryr8e] { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.ys[b-w2hj6ryr8e] { display: flex; align-items: baseline; gap: 8px; padding: 10px 16px; border-radius: 16px; background: rgba(255,255,255,.05); border: 1px solid var(--border); animation: ys-in-b-w2hj6ryr8e .6s var(--ease-spring) both; }
.ys:nth-child(2)[b-w2hj6ryr8e] { animation-delay: .08s; } .ys:nth-child(3)[b-w2hj6ryr8e] { animation-delay: .16s; }
@keyframes ys-in-b-w2hj6ryr8e { from { opacity: 0; transform: translateY(12px) scale(.9); } }
.ys b[b-w2hj6ryr8e] { font-family: var(--font-display); font-size: 1.3rem; background: linear-gradient(120deg, #fff, var(--accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ys span[b-w2hj6ryr8e] { font-size: .8rem; color: var(--text-2); }

.y-grid[b-w2hj6ryr8e] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; perspective: 1400px; }
@media (max-width: 1100px) { .y-grid[b-w2hj6ryr8e] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .y-grid[b-w2hj6ryr8e] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }

.y-cell[b-w2hj6ryr8e] { animation: mini-in-b-w2hj6ryr8e .8s var(--ease-spring) both; animation-delay: calc(var(--i) * 55ms); transform-origin: 50% 0; }
@keyframes mini-in-b-w2hj6ryr8e { from { opacity: 0; transform: rotateX(-75deg) translateY(-30px) translateZ(-120px); } to { opacity: 1; transform: none; } }

.mini[b-w2hj6ryr8e] { padding: 14px 14px 12px; border-radius: 22px; }
.mini.current[b-w2hj6ryr8e] { border-color: color-mix(in oklab, var(--accent-2) 55%, var(--border)); box-shadow: var(--shadow-glow); }
.mini-head[b-w2hj6ryr8e] { width: 100%; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; border: 0; background: none; padding: 0 2px 8px; cursor: pointer; color: var(--text); text-align: left; }
.mini-head:hover .mini-name[b-w2hj6ryr8e] { background: linear-gradient(120deg, #fff, var(--accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mini-name[b-w2hj6ryr8e] { font-family: var(--font-display); font-weight: 700; font-size: 1.02rem; }
.mini-count[b-w2hj6ryr8e] { font-size: .74rem; font-weight: 800; color: #fff; min-width: 22px; text-align: center; padding: 1px 6px; border-radius: 99px; background: linear-gradient(135deg, var(--accent), var(--accent-2)); }
.mini-count:empty[b-w2hj6ryr8e] { display: none; }
.mini-wd[b-w2hj6ryr8e], .mini-grid[b-w2hj6ryr8e] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.mini-wd[b-w2hj6ryr8e] { font-size: .58rem; font-weight: 700; color: var(--text-3); text-align: center; margin-bottom: 3px; }

.hm[b-w2hj6ryr8e] {
    position: relative; aspect-ratio: 1; min-width: 0; border-radius: 6px; padding: 0; cursor: pointer;
    display: grid; place-items: center; font-size: .6rem; font-weight: 600; color: var(--text-3);
    background: rgba(255,255,255,.05); border: 1px solid transparent;
    transition: transform .3s var(--ease-spring), box-shadow .3s, background .3s;
    animation: hm-in-b-w2hj6ryr8e .5s var(--ease-out) backwards; animation-delay: calc(var(--i) * 55ms + var(--j) * 9ms + 200ms);
}
@keyframes hm-in-b-w2hj6ryr8e { from { opacity: 0; transform: scale(.3); } to { opacity: 1; transform: none; } }
.hm.blank[b-w2hj6ryr8e] { background: transparent; pointer-events: none; animation: none; }
.hm.we[b-w2hj6ryr8e] { background: rgba(0,0,0,.25); }
.hm.hol[b-w2hj6ryr8e] { border-color: color-mix(in oklab, #EC4899 70%, transparent); color: #fbcfe8; }
.hm.on[b-w2hj6ryr8e] { background: radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--c) 55%, white), var(--c)); opacity: calc(.35 + var(--a) * .65); color: #fff; box-shadow: 0 0 10px -1px var(--c), inset 0 1px 0 rgba(255,255,255,.35); text-shadow: 0 1px 2px rgba(0,0,0,.4); }
.hm.today[b-w2hj6ryr8e] { outline: 2px solid #fff; outline-offset: 1px; z-index: 1; animation: hm-in-b-w2hj6ryr8e .5s var(--ease-out) backwards, hm-today-b-w2hj6ryr8e 2s ease-in-out infinite 1.5s; }
@keyframes hm-today-b-w2hj6ryr8e { 50% { box-shadow: 0 0 16px 2px var(--accent-2); } }
.hm:hover[b-w2hj6ryr8e] { transform: scale(1.5) translateZ(20px); z-index: 3; opacity: 1; box-shadow: 0 8px 20px -4px rgba(0,0,0,.8), 0 0 14px var(--c); }

@media (max-width: 760px) {
    .mini[b-w2hj6ryr8e] { padding: 10px 10px 9px; border-radius: 18px; }
    .mini-name[b-w2hj6ryr8e] { font-size: .92rem; }
    .hm[b-w2hj6ryr8e] { border-radius: 4px; font-size: .56rem; font-weight: 700; animation: none; }
    .hm.today[b-w2hj6ryr8e] { animation: hm-today-b-w2hj6ryr8e 2s ease-in-out infinite 1.5s; }
    .hm:hover[b-w2hj6ryr8e] { transform: none; }
}
/* /Components/Pages/Calendario/DayPanel.razor.rz.scp.css */
.day-panel[b-ob44ial4nk] { padding: 16px; border-radius: 24px; animation: dp-in-b-ob44ial4nk .6s var(--ease-spring) both; transform-origin: 50% 0; scroll-margin-top: 150px; }
@keyframes dp-in-b-ob44ial4nk { from { opacity: 0; transform: perspective(900px) rotateX(-28deg) translateY(-10px); } }
.dp-head[b-ob44ial4nk] { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.dp-date[b-ob44ial4nk] { display: flex; align-items: center; gap: 12px; min-width: 0; }
.dp-num[b-ob44ial4nk] { width: 48px; height: 52px; border-radius: 16px; display: grid; place-items: center; font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; color: #fff;
    background: linear-gradient(145deg, var(--accent), var(--accent-2)); box-shadow: 0 14px 26px -12px var(--accent), inset 0 1px 0 rgba(255,255,255,.3); flex: none; }
.dp-meta[b-ob44ial4nk] { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.dp-meta b[b-ob44ial4nk] { font-family: var(--font-display); font-size: 1.05rem; }
.dp-hol[b-ob44ial4nk] { font-size: .8rem; font-weight: 650; color: #fbcfe8; padding: 6px 10px; border-radius: 10px; background: color-mix(in oklab, #EC4899 16%, transparent); margin-bottom: 8px; }
.dp-empty[b-ob44ial4nk] { margin: 6px 2px 12px; }

.dp-list[b-ob44ial4nk] { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.dp-list li[b-ob44ial4nk] { animation: dp-item-b-ob44ial4nk .5s var(--ease-spring) backwards; animation-delay: calc(var(--i) * 50ms + 80ms); }
@keyframes dp-item-b-ob44ial4nk { from { opacity: 0; transform: translateX(16px) rotateY(-20deg); } }
.dp-item[b-ob44ial4nk] { width: 100%; display: flex; align-items: center; gap: 10px; padding: 8px 10px 8px 0; border-radius: 14px; border: 1px solid transparent; cursor: pointer; text-align: left;
    background: color-mix(in oklab, var(--c) 10%, rgba(255,255,255,.03)); transition: transform .3s var(--ease-spring), background .2s, border-color .2s; }
.dp-item:hover[b-ob44ial4nk] { transform: translateX(3px); background: color-mix(in oklab, var(--c) 20%, rgba(255,255,255,.04)); border-color: color-mix(in oklab, var(--c) 40%, transparent); }
.dp-bar[b-ob44ial4nk] { width: 4px; align-self: stretch; border-radius: 0 4px 4px 0; background: var(--c); box-shadow: 0 0 10px var(--c); flex: none; }
.dp-item.note .dp-bar[b-ob44ial4nk] { background: repeating-linear-gradient(180deg, var(--c) 0 4px, transparent 4px 7px); box-shadow: none; }
.dp-time[b-ob44ial4nk] { width: 42px; font-size: .78rem; font-weight: 700; color: var(--text-2); flex: none; text-align: center; }
.dp-body[b-ob44ial4nk] { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.dp-title[b-ob44ial4nk] { font-weight: 650; font-size: .9rem; }
.dp-ph[b-ob44ial4nk] { position: relative; width: 38px; height: 38px; border-radius: 10px; overflow: hidden; flex: none; box-shadow: 0 6px 12px -6px rgba(0,0,0,.8); }
.dp-ph img[b-ob44ial4nk] { width: 100%; height: 100%; object-fit: cover; }
.dp-ph b[b-ob44ial4nk] { position: absolute; inset: 0; display: grid; place-items: center; font-size: .7rem; background: rgba(0,0,0,.45); color: #fff; }
.dp-actions[b-ob44ial4nk] { display: flex; gap: 8px; }
.dp-actions .btn[b-ob44ial4nk] { flex: 1; }
/* /Components/Pages/Calendario/EventSheet.razor.rz.scp.css */
.es[b-g7wk1khzfr] { display: flex; flex-direction: column; gap: 16px; }
.es-kind[b-g7wk1khzfr] { align-self: flex-start; }
.es-series[b-g7wk1khzfr] { font-size: .82rem; padding: 8px 12px; border-radius: 12px; background: color-mix(in oklab, var(--c) 16%, transparent); border: 1px solid color-mix(in oklab, var(--c) 40%, transparent); }
.es-title[b-g7wk1khzfr] { font-family: var(--font-display); font-weight: 700; border-color: color-mix(in oklab, var(--c) 45%, var(--border)); box-shadow: 0 0 0 0 transparent; transition: box-shadow .3s, border-color .3s; }
.es-title:focus[b-g7wk1khzfr] { box-shadow: 0 0 0 4px color-mix(in oklab, var(--c) 25%, transparent); }

.es-books[b-g7wk1khzfr] { gap: 8px; }
.es-books .chip[b-g7wk1khzfr] { --bc: var(--accent); }
.es-books .chip.active[b-g7wk1khzfr] { background: color-mix(in oklab, var(--bc) 32%, transparent); border-color: color-mix(in oklab, var(--bc) 70%, transparent); }
.es-dot[b-g7wk1khzfr] { width: 10px; height: 10px; border-radius: 50%; background: var(--bc); box-shadow: 0 0 8px var(--bc); display: inline-block; }

.es-when[b-g7wk1khzfr] { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: 20px; }
.es-allday[b-g7wk1khzfr] { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-weight: 650; cursor: pointer; }
.es-row[b-g7wk1khzfr] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.es-row > .label[b-g7wk1khzfr] { width: 64px; flex: none; }
.es-row > .input[type=date][b-g7wk1khzfr] { flex: 1 1 150px; min-width: 0; }
.es-row > .select[b-g7wk1khzfr] { flex: 1 1 170px; min-width: 0; }
.es-time[b-g7wk1khzfr] { width: 118px; flex: none; }
.es-dur[b-g7wk1khzfr] { padding-left: 72px; margin-top: -4px; }
.es-every[b-g7wk1khzfr] { display: inline-flex; align-items: center; gap: 6px; font-size: .88rem; color: var(--text-2); }
.es-num[b-g7wk1khzfr] { width: 64px; text-align: center; padding: 0 6px; }
.es-rule[b-g7wk1khzfr] { padding-left: 72px; }

.es-loc[b-g7wk1khzfr] { display: flex; gap: 8px; align-items: center; }
.es-loc .input[b-g7wk1khzfr] { flex: 1; min-width: 0; }
.es-notes[b-g7wk1khzfr] { min-height: 110px; field-sizing: content; max-height: 50vh; resize: vertical; }

.es-colors[b-g7wk1khzfr] { display: flex; flex-wrap: wrap; gap: 8px; }
.es-color[b-g7wk1khzfr] { width: 30px; height: 30px; border-radius: 50%; border: 0; cursor: pointer; background: var(--sw); color: #fff; font-size: .7rem; font-weight: 800;
    box-shadow: 0 4px 10px -4px var(--sw), inset 0 0 0 2px rgba(255,255,255,.15); transition: transform .3s var(--ease-spring), box-shadow .2s; }
.es-color:hover[b-g7wk1khzfr] { transform: scale(1.15); }
.es-color.on[b-g7wk1khzfr] { transform: scale(1.12); box-shadow: 0 0 0 3px #0b0a1f, 0 0 0 5px var(--sw), 0 6px 16px -4px var(--sw); }
.es-color.auto[b-g7wk1khzfr] { background: conic-gradient(from 90deg, var(--sw), color-mix(in oklab, var(--sw) 40%, #000), var(--sw)); }

.es-confirm[b-g7wk1khzfr] { padding: 14px; border-radius: 18px; background: color-mix(in oklab, var(--danger) 12%, transparent); border: 1px solid color-mix(in oklab, var(--danger) 45%, transparent); animation: es-shake-b-g7wk1khzfr .45s var(--ease-out); }
.es-confirm p[b-g7wk1khzfr] { margin: 0 0 10px; }
.es-confirm-actions[b-g7wk1khzfr] { display: flex; flex-wrap: wrap; gap: 8px; }
@keyframes es-shake-b-g7wk1khzfr { 20% { transform: translateX(-6px); } 40% { transform: translateX(5px); } 60% { transform: translateX(-3px); } 80% { transform: translateX(2px); } }

@media (max-width: 640px) {
    .es-row > .label[b-g7wk1khzfr] { width: 100%; }
    .es-dur[b-g7wk1khzfr], .es-rule[b-g7wk1khzfr] { padding-left: 0; }
    .es-time[b-g7wk1khzfr] { flex: 1 1 100px; width: auto; }
    .es-kind[b-g7wk1khzfr] { align-self: stretch; display: flex; }
    .es-kind > *[b-g7wk1khzfr] { flex: 1; }
}

.es-notify[b-g7wk1khzfr] { display: flex; flex-wrap: wrap; gap: 6px; }
.es-notify .chip[b-g7wk1khzfr] { height: 32px; font-size: .82rem; }
/* /Components/Pages/Calendario/TimeGrid.razor.rz.scp.css */
.tg[b-m06npvd5gg] { --hour-h: 52px; --lbl-w: 56px; border-radius: 24px; overflow: hidden; border: 1px solid var(--border);
    background: linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.015)); box-shadow: var(--shadow-2); }
.tg.detailed[b-m06npvd5gg] { --hour-h: 64px; }

/* Intestazione giorni */
.tg-head[b-m06npvd5gg] { display: grid; grid-template-columns: var(--lbl-w) repeat(var(--days), minmax(0, 1fr)); border-bottom: 1px solid var(--border); }
.tg-corner[b-m06npvd5gg] { display: grid; place-items: center; font-size: .7rem; font-weight: 800; color: var(--text-3); }
.tg-day[b-m06npvd5gg] { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 4px; border: 0; background: none; cursor: pointer; color: var(--text); position: relative; transition: background .2s; }
.tg-day:hover[b-m06npvd5gg] { background: rgba(255,255,255,.05); }
.tgd-name[b-m06npvd5gg] { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.tgd-num[b-m06npvd5gg] { font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 13px; transition: transform .3s var(--ease-spring); }
.tg-day:hover .tgd-num[b-m06npvd5gg] { transform: translateY(-2px) scale(1.06); }
.tg-day.today .tgd-num[b-m06npvd5gg] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; box-shadow: 0 10px 20px -8px var(--accent); }
.tg-day.we .tgd-name[b-m06npvd5gg] { color: var(--text-3); }
.tgd-hol[b-m06npvd5gg] { position: absolute; top: 6px; right: 8px; font-size: .75rem; }

/* Riga "tutto il giorno" */
.tg-allday[b-m06npvd5gg] { display: grid; grid-template-columns: var(--lbl-w) repeat(var(--days), minmax(0, 1fr)); border-bottom: 1px solid var(--border); background: rgba(0,0,0,.12); }
.tg-lbl[b-m06npvd5gg] { font-size: .6rem; line-height: 1.15; color: var(--text-3); text-align: right; padding: 8px 8px 0 0; text-transform: uppercase; font-weight: 700; letter-spacing: .04em; }
.ad-col[b-m06npvd5gg] { display: flex; flex-direction: column; gap: 3px; padding: 5px 4px; min-height: 36px; min-width: 0; border-left: 1px solid rgba(255,255,255,.05); transition: background .2s; }
.ad-col.over[b-m06npvd5gg] { background: color-mix(in oklab, var(--accent-2) 16%, transparent); }
.ad-hol[b-m06npvd5gg] { font-size: .7rem; font-weight: 650; color: #fbcfe8; padding: 3px 6px; }
.ad-ev[b-m06npvd5gg] { display: flex; align-items: center; gap: 4px; min-width: 0; height: 24px; padding: 0 8px; border-radius: 8px; border: 0; cursor: pointer; text-align: left;
    font-size: .74rem; font-weight: 650; color: #fff; background: linear-gradient(135deg, color-mix(in oklab, var(--c) 78%, #000), color-mix(in oklab, var(--c) 55%, #000));
    box-shadow: 0 4px 10px -6px var(--c); transition: transform .25s var(--ease-spring); animation: ad-in-b-m06npvd5gg .45s var(--ease-spring) backwards .2s; }
@keyframes ad-in-b-m06npvd5gg { from { opacity: 0; transform: scaleX(.6); } }
.ad-ev:hover[b-m06npvd5gg] { transform: translateY(-1px) scale(1.02); }
.ad-ev.note[b-m06npvd5gg] { background: color-mix(in oklab, var(--c) 16%, rgba(255,255,255,.04)); color: var(--text); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--c) 50%, transparent); }
.ad-ph[b-m06npvd5gg] { margin-left: auto; font-size: .66rem; }

/* Corpo scorrevole */
.tg-scroll[b-m06npvd5gg] { max-height: min(68vh, 720px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.tg-body[b-m06npvd5gg] { position: relative; display: grid; grid-template-columns: var(--lbl-w) repeat(var(--days), minmax(0, 1fr)); height: calc(var(--hour-h) * 24); }
.tg-hours[b-m06npvd5gg] { position: relative; }
.tg-hours span[b-m06npvd5gg] { display: block; height: var(--hour-h); font-size: .66rem; font-weight: 600; color: var(--text-3); text-align: right; padding-right: 8px; transform: translateY(-.55em); }

.tg-col[b-m06npvd5gg] { position: relative; border-left: 1px solid rgba(255,255,255,.05);
    background-image: repeating-linear-gradient(180deg, rgba(255,255,255,.06) 0 1px, transparent 1px calc(var(--hour-h) / 2), rgba(255,255,255,.025) calc(var(--hour-h) / 2) calc(var(--hour-h) / 2 + 1px), transparent calc(var(--hour-h) / 2 + 1px) var(--hour-h)); }
.tg-col.we[b-m06npvd5gg] { background-color: rgba(0,0,0,.12); }
.tg-col.today[b-m06npvd5gg] { background-color: color-mix(in oklab, var(--accent) 7%, transparent); }
.tg-col.over[b-m06npvd5gg] { background-color: color-mix(in oklab, var(--accent-2) 12%, transparent); }
.slot[b-m06npvd5gg] { display: block; width: 100%; height: var(--hour-h); border: 0; padding: 0; background: none; cursor: copy; position: relative; }
.slot:hover[b-m06npvd5gg] { background: linear-gradient(180deg, color-mix(in oklab, var(--accent) 16%, transparent), transparent); }
.slot:hover[b-m06npvd5gg]::after { content: "+"; position: absolute; top: 4px; left: 8px; font-weight: 800; color: var(--accent-2); }

/* Eventi con orario */
.ev[b-m06npvd5gg] { position: absolute; z-index: 2; display: flex; flex-direction: column; gap: 1px; min-height: 20px; padding: 4px 7px; border-radius: 10px; overflow: hidden; cursor: pointer; text-align: left;
    color: #fff; border: 0; border-left: 3px solid color-mix(in oklab, var(--c) 60%, white);
    background: linear-gradient(160deg, color-mix(in oklab, var(--c) 72%, #0b0a1f), color-mix(in oklab, var(--c) 45%, #0b0a1f));
    box-shadow: 0 10px 22px -12px var(--c), inset 0 1px 0 rgba(255,255,255,.16);
    transition: transform .3s var(--ease-spring), box-shadow .3s, z-index 0s;
    animation: ev-in-b-m06npvd5gg .55s var(--ease-spring) backwards .25s; transform-origin: 50% 0; }
@keyframes ev-in-b-m06npvd5gg { from { opacity: 0; transform: rotateX(-60deg) scale(.9); } }
.ev:hover[b-m06npvd5gg] { transform: translateX(2px) scale(1.02); z-index: 5; box-shadow: 0 20px 30px -12px var(--c), inset 0 1px 0 rgba(255,255,255,.2); }
.ev.past[b-m06npvd5gg] { opacity: .62; }
.ev.short[b-m06npvd5gg] { flex-direction: row; align-items: center; gap: 6px; padding-top: 1px; padding-bottom: 1px; }
.ev-title[b-m06npvd5gg] { font-size: .76rem; font-weight: 700; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ev.short .ev-title[b-m06npvd5gg] { -webkit-line-clamp: 1; flex: 1; min-width: 0; }
.ev-time[b-m06npvd5gg] { font-size: .66rem; opacity: .85; font-weight: 600; flex: none; }
.ev-loc[b-m06npvd5gg] { font-size: .7rem; opacity: .9; }
.ev-notes[b-m06npvd5gg] { font-size: .7rem; opacity: .8; white-space: pre-line; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.ev-ph[b-m06npvd5gg] { position: absolute; right: 5px; bottom: 5px; width: 30px; height: 30px; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,.5); }
.ev-ph img[b-m06npvd5gg] { width: 100%; height: 100%; object-fit: cover; }
.tg:not(.detailed) .ev-ph[b-m06npvd5gg] { display: none; }

/* Linea dell'ora attuale */
.now[b-m06npvd5gg] { position: absolute; left: -4px; right: 0; height: 2px; z-index: 4; pointer-events: none; background: #fb7185; box-shadow: 0 0 10px #fb7185; }
.now i[b-m06npvd5gg] { position: absolute; left: -2px; top: -5px; width: 12px; height: 12px; border-radius: 50%; background: #fb7185; box-shadow: 0 0 0 4px rgba(251,113,133,.25); animation: now-pulse-b-m06npvd5gg 2s ease-in-out infinite; }
.now span[b-m06npvd5gg] { position: absolute; right: 4px; top: -18px; font-size: .64rem; font-weight: 800; color: #fecdd3; }
@keyframes now-pulse-b-m06npvd5gg { 50% { box-shadow: 0 0 0 8px rgba(251,113,133,0); } }

@media (max-width: 700px) {
    .tg[b-m06npvd5gg] { --lbl-w: 44px; --hour-h: 48px; border-radius: 18px; }
    .tg-scroll[b-m06npvd5gg] { max-height: 64vh; }
    .slot:hover[b-m06npvd5gg]::after { display: none; }
}
/* /Components/Pages/Calendario/UpcomingPanel.razor.rz.scp.css */
.up-panel[b-m24dhxe5np] { padding: 16px; border-radius: 24px; }
.up-list[b-m24dhxe5np] { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.up-list li[b-m24dhxe5np] { animation: up-in-b-m24dhxe5np .5s var(--ease-out) backwards; animation-delay: calc(var(--i) * 45ms + 150ms); }
@keyframes up-in-b-m24dhxe5np { from { opacity: 0; transform: translateY(10px); } }
.up-item[b-m24dhxe5np] { width: 100%; display: flex; align-items: center; gap: 12px; padding: 7px 8px; border: 0; border-radius: 14px; background: none; cursor: pointer; text-align: left; transition: background .2s; }
.up-item:hover[b-m24dhxe5np] { background: rgba(255,255,255,.05); }
.up-when[b-m24dhxe5np] { width: 50px; height: 46px; border-radius: 13px; display: flex; flex-direction: column; align-items: center; justify-content: center; flex: none; line-height: 1.1;
    background: linear-gradient(160deg, color-mix(in oklab, var(--c) 45%, transparent), color-mix(in oklab, var(--c) 12%, transparent));
    border: 1px solid color-mix(in oklab, var(--c) 45%, transparent); }
.up-when b[b-m24dhxe5np] { font-size: .95rem; }
.up-when span[b-m24dhxe5np] { font-size: .64rem; color: var(--text-2); text-transform: uppercase; font-weight: 700; }
.up-body[b-m24dhxe5np] { display: flex; flex-direction: column; min-width: 0; }
.up-title[b-m24dhxe5np] { font-weight: 650; font-size: .9rem; }
/* /Components/Pages/Carburanti/CarburantiPage.razor.rz.scp.css */
.fu[b-7wixciozv2] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; margin: 0 auto; width: 100%; }

/* ---- carburante: quattro pulsanti grandi */
.fu-kinds[b-7wixciozv2] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.fu-kind[b-7wixciozv2] {
    display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 4px; border-radius: 18px;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-2); font-weight: 600; font-size: .88rem; cursor: pointer;
}
.fu-kind span[b-7wixciozv2] { font-size: 1.2rem; line-height: 1; }
.fu-kind:hover[b-7wixciozv2] { color: var(--text); border-color: var(--border-strong); }
.fu-kind.active[b-7wixciozv2] {
    color: #04130a; border-color: transparent;
    background: linear-gradient(145deg, #4ade80, #facc15); box-shadow: 0 10px 28px -10px rgba(74, 222, 128, .6);
}

.fu-bar[b-7wixciozv2] { display: flex; gap: 10px; align-items: center; }
.fu-where[b-7wixciozv2] {
    flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px; border-radius: 14px;
    background: var(--surface); border: 1px solid var(--border); color: var(--text); font-weight: 600; cursor: pointer; text-align: left;
}
.fu-where:hover[b-7wixciozv2] { border-color: var(--border-strong); }
.fu-where-name[b-7wixciozv2] { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fu-where-edit[b-7wixciozv2] { color: var(--text-3); font-size: 1.3rem; }
.fu-self[b-7wixciozv2] { flex: 0 0 auto; }

.fu-radius[b-7wixciozv2] { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.fu-radius .chip[b-7wixciozv2] { height: 32px; padding: 0 12px; }
.fu-sort button[b-7wixciozv2] { padding: 6px 11px; }

/* ---- il più conveniente */
.fu-best[b-7wixciozv2] {
    position: relative; overflow: hidden; isolation: isolate; border-radius: var(--radius-xl); padding: 18px 20px 20px; color: #fff;
    background: linear-gradient(160deg, #16a34a 0%, #15803d 45%, #064e3b 100%); box-shadow: var(--shadow-2);
    display: flex; flex-direction: column; gap: 12px;
}
.fu-best[b-7wixciozv2]::after {
    content: ""; position: absolute; inset: -45% -25% auto auto; width: 70%; aspect-ratio: 1; border-radius: 50%; z-index: -1;
    background: radial-gradient(circle, rgba(250, 204, 21, .45), transparent 62%);
}
.fu-best.fu-loading[b-7wixciozv2] { min-height: 210px; background: linear-gradient(160deg, #1f2937, #111827); }
.fu-best.fu-loading .skeleton[b-7wixciozv2] { background: rgba(255,255,255,.14); }
.fu-best-head[b-7wixciozv2] { display: flex; align-items: center; justify-content: space-between; }
.fu-best-tag[b-7wixciozv2] { font-size: .78rem; font-weight: 700; letter-spacing: .04em; padding: 5px 10px; border-radius: 99px; background: rgba(0,0,0,.2); }
.fu-best-body[b-7wixciozv2] { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; background: none; border: 0; padding: 0; color: inherit; text-align: left; cursor: pointer; }
.fu-price-big[b-7wixciozv2] { font-family: var(--font-display); font-size: clamp(3.6rem, 16vw, 5rem); font-weight: 600; line-height: 1; letter-spacing: -.03em; text-shadow: 0 10px 30px rgba(0,0,0,.25); }
.fu-price-big sup[b-7wixciozv2] { font-size: .45em; vertical-align: top; position: relative; top: .25em; margin-left: 1px; }
.fu-price-big small[b-7wixciozv2] { font-size: .28em; font-weight: 500; opacity: .85; margin-left: 8px; letter-spacing: 0; }
.fu-best-name[b-7wixciozv2] { font-size: 1.15rem; font-weight: 700; margin-top: 6px; }
.fu-best-addr[b-7wixciozv2] { font-size: .88rem; opacity: .85; }
.fu-save[b-7wixciozv2] {
    display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; padding: 10px 14px; border-radius: 14px;
    background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.16); font-size: .9rem;
}
.fu-save b[b-7wixciozv2] { color: #fde047; }
.fu-save-avg[b-7wixciozv2] { opacity: .8; }
.fu-btn-light[b-7wixciozv2] { background: #fff; color: #064e3b; font-weight: 700; border: 0; }
.fu-btn-light:hover[b-7wixciozv2] { background: #f0fdf4; }

.fu-star[b-7wixciozv2] { background: rgba(0,0,0,.2); border: 0; width: 36px; height: 36px; border-radius: 50%; color: rgba(255,255,255,.55); font-size: 1.15rem; cursor: pointer; }
.fu-star.on[b-7wixciozv2] { color: #fde047; }

/* ---- logo del marchio */
.fu-logo[b-7wixciozv2] {
    flex: 0 0 auto; width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center;
    font-weight: 800; font-size: .72rem; color: var(--f, #fff); letter-spacing: -.03em; overflow: hidden; white-space: nowrap;
    border: 1px solid rgba(0,0,0,.12);
    background: linear-gradient(145deg, color-mix(in oklab, var(--b) 94%, white), color-mix(in oklab, var(--b) 90%, black));
    box-shadow: 0 6px 16px -8px var(--b);
}
.fu-logo.lg[b-7wixciozv2] { width: 54px; height: 54px; border-radius: 16px; font-size: .9rem; }

.fu-title[b-7wixciozv2] { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--text-3); margin: 4px 0 10px; }

/* ---- preferiti */
.fu-favs[b-7wixciozv2] { display: flex; gap: 10px; padding-bottom: 4px; }
.fu-fav[b-7wixciozv2] {
    flex: 0 0 150px; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 12px; border-radius: 18px; text-align: left;
    background: var(--surface); border: 1px solid var(--border); color: var(--text); cursor: pointer; min-width: 0;
}
.fu-fav:hover[b-7wixciozv2] { border-color: var(--border-strong); }
.fu-fav .fu-logo[b-7wixciozv2] { width: 34px; height: 34px; border-radius: 11px; font-size: .72rem; margin-bottom: 4px; }
.fu-fav-name[b-7wixciozv2] { font-weight: 600; font-size: .88rem; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fu-fav-town[b-7wixciozv2] { font-size: .76rem; color: var(--text-3); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fu-fav strong[b-7wixciozv2] { font-size: 1.1rem; margin-top: 2px; }

/* ---- elenco */
.fu-list[b-7wixciozv2] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.fu-row[b-7wixciozv2] {
    width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 18px; text-align: left; cursor: pointer;
    background: var(--surface); border: 1px solid var(--border); color: var(--text);
}
.fu-row:hover[b-7wixciozv2] { border-color: var(--border-strong); background: var(--surface-2); }
.fu-row.stale[b-7wixciozv2] { opacity: .55; }
.fu-row-main[b-7wixciozv2] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.fu-row-name[b-7wixciozv2] { font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fu-mini-star[b-7wixciozv2] { color: #fde047; font-size: .8rem; }
.fu-row-sub[b-7wixciozv2] { font-size: .8rem; color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fu-row-meta[b-7wixciozv2] { font-size: .74rem; color: var(--text-3); }
.fu-row-price[b-7wixciozv2] { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; }
.fu-row-price strong[b-7wixciozv2] { font-family: var(--font-display); font-size: 1.15rem; font-weight: 600; white-space: nowrap; }
.fu-row-price small[b-7wixciozv2] { font-size: .74rem; font-weight: 600; }

.fu-foot[b-7wixciozv2] { color: var(--text-3); font-size: .74rem; text-align: center; margin: 2px 0 10px; }
.fu-center[b-7wixciozv2] { display: flex; justify-content: center; }
.fu-center-text[b-7wixciozv2] { text-align: center; }

/* ---- benvenuto */
.fu-welcome[b-7wixciozv2] {
    text-align: center; padding: 34px 22px; border-radius: var(--radius-xl); color: #fff;
    background: linear-gradient(160deg, #16a34a 0%, #15803d 45%, #064e3b 100%); box-shadow: var(--shadow-2);
}
.fu-welcome-ico[b-7wixciozv2] { font-size: 4.2rem; line-height: 1; }
.fu-welcome h2[b-7wixciozv2] { font-family: var(--font-display); margin: 12px 0 4px; font-size: 1.6rem; }
.fu-welcome p[b-7wixciozv2] { color: rgba(255,255,255,.85); margin: 0; }
.fu-welcome-actions[b-7wixciozv2] { display: flex; flex-direction: column; gap: 10px; max-width: 320px; margin: 20px auto 0; }

/* ---- fogli */
.fu-search[b-7wixciozv2] { display: flex; flex-direction: column; gap: 12px; }
.fu-results[b-7wixciozv2] { margin: 0; }
.fu-results .list-item[b-7wixciozv2] { width: 100%; text-align: left; background: none; border: 0; color: inherit; cursor: pointer; }
.fu-results .list-item > span[b-7wixciozv2] { display: flex; flex-direction: column; min-width: 0; }

.fu-detail[b-7wixciozv2] { display: flex; flex-direction: column; gap: 14px; }
.fu-detail-head[b-7wixciozv2] { display: flex; align-items: center; gap: 12px; }
.fu-detail-addr[b-7wixciozv2] { font-weight: 600; }
.fu-prices[b-7wixciozv2] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.fu-prices li[b-7wixciozv2] { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); }
.fu-prices li > span[b-7wixciozv2] { display: flex; flex-direction: column; min-width: 0; }
.fu-prices li b[b-7wixciozv2] { font-family: var(--font-display); font-size: 1.05rem; white-space: nowrap; }
.fu-prices li.hl[b-7wixciozv2] { border-color: color-mix(in oklab, #4ade80 55%, transparent); background: color-mix(in oklab, #4ade80 14%, transparent); }
.fu-detail-actions[b-7wixciozv2] { display: flex; gap: 10px; }

@media (max-width: 400px) {
    .fu-kind[b-7wixciozv2] { font-size: .8rem; padding: 10px 2px; }
    .fu-bar[b-7wixciozv2] { flex-wrap: wrap; }
    .fu-where[b-7wixciozv2] { flex-basis: 100%; }
}

/* ---- elenco o mappa, marchi */
.fu-view button[b-7wixciozv2] { padding: 7px 12px; }
.fu-brands[b-7wixciozv2] { display: flex; gap: 6px; padding-bottom: 2px; }
.fu-brands .chip[b-7wixciozv2] { flex: 0 0 auto; height: 32px; padding: 0 12px; gap: 6px; }
.fu-brand small[b-7wixciozv2] { color: var(--text-3); font-weight: 600; }
.fu-brand.active small[b-7wixciozv2] { color: inherit; opacity: .75; }
.fu-dot[b-7wixciozv2] { width: 9px; height: 9px; border-radius: 50%; background: var(--b); flex: 0 0 auto; }
.fu-list-head[b-7wixciozv2] { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 4px 0 10px; }
.fu-list-head .fu-title[b-7wixciozv2] { margin: 0; }

/* ---- mappa dei prezzi (gli stili di Leaflet e delle etichette sono in css/fuel.css) */
.fu-map[b-7wixciozv2] {
    position: relative; height: min(62vh, 560px); min-height: 340px; border-radius: var(--radius-xl); overflow: hidden;
    border: 1px solid var(--border); box-shadow: var(--shadow-2); background: #dfe7ec;
}
.fu-legend[b-7wixciozv2] { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; font-size: .78rem; color: var(--text-2); margin-top: -4px; }
.fu-legend span[b-7wixciozv2] { display: inline-flex; align-items: center; gap: 6px; }
.fu-legend i[b-7wixciozv2] { width: 10px; height: 10px; border-radius: 50%; }
.fu-legend .t0[b-7wixciozv2] { background: #16a34a; }
.fu-legend .t1[b-7wixciozv2] { background: #e0a100; }
.fu-legend .t2[b-7wixciozv2] { background: #dc2626; }
.fu-results-title[b-7wixciozv2] { margin: 4px 0 -4px; }
@media (max-width: 560px) {
    .fu-view[b-7wixciozv2] { flex: 1 1 100%; display: flex; }
    .fu-view button[b-7wixciozv2] { flex: 1; }
    .fu-radius > .grow[b-7wixciozv2] { display: none; }
    .fu-radius .chip[b-7wixciozv2] { flex: 1; justify-content: center; }
}
/* /Components/Pages/Compleanni/CompleanniPage.razor.rz.scp.css */
/* Compleanni: il prossimo in evidenza, ricerca, elenco compatto in ordine di arrivo (Oggi, Questa settimana, mesi). */
.bd[b-pev8al6xgp] { display: flex; flex-direction: column; gap: 12px; max-width: 720px; width: 100%; margin: 0 auto; }

/* ---- il prossimo ---- */
.bd-hero[b-pev8al6xgp] {
    display: flex; align-items: center; gap: 14px; width: 100%; padding: 16px; border-radius: 24px; cursor: pointer; text-align: left;
    font: inherit; color: var(--text); border: 1px solid color-mix(in oklab, var(--c) 40%, var(--border));
    background: radial-gradient(130% 160% at 0% 0%, color-mix(in oklab, var(--c) 34%, transparent), transparent 62%),
                radial-gradient(120% 140% at 100% 100%, rgba(245, 158, 11, .16), transparent 60%), var(--surface);
    box-shadow: var(--shadow-1);
}
.bd-hero.today[b-pev8al6xgp] { border-color: var(--c); box-shadow: 0 0 0 1px var(--c), 0 16px 40px -18px var(--c); }
.bd-hero-av[b-pev8al6xgp] {
    flex: none; width: 56px; height: 56px; border-radius: 18px; display: grid; place-items: center;
    font-family: var(--font-display); font-weight: 800; font-size: 1.2rem; color: #fff;
    background: linear-gradient(135deg, var(--c), color-mix(in oklab, var(--c) 55%, #000));
    box-shadow: 0 10px 24px -10px var(--c);
}
.bd-hero-txt[b-pev8al6xgp] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.bd-hero-k[b-pev8al6xgp] { font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); }
.bd-hero-name[b-pev8al6xgp] { font-family: var(--font-display); font-size: 1.3rem; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bd-hero-sub[b-pev8al6xgp] { font-size: .88rem; color: var(--text-2); }
.bd-hero-count[b-pev8al6xgp] {
    flex: none; min-width: 64px; display: flex; flex-direction: column; align-items: center; padding: 8px 10px; border-radius: 16px;
    background: color-mix(in oklab, var(--c) 18%, rgba(0, 0, 0, .25)); border: 1px solid color-mix(in oklab, var(--c) 35%, transparent);
}
.bd-hero-count b[b-pev8al6xgp] { font-family: var(--font-display); font-size: 1.5rem; line-height: 1.1; }
.bd-hero-count small[b-pev8al6xgp] { font-size: .72rem; color: var(--text-2); }

/* ---- ricerca ---- */
.bd-search[b-pev8al6xgp] {
    display: flex; align-items: center; gap: 8px; height: 46px; padding: 0 6px 0 14px; border-radius: 16px;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-3);
}
.bd-search:focus-within[b-pev8al6xgp] { border-color: color-mix(in oklab, #EC4899 60%, transparent); box-shadow: 0 0 0 3px color-mix(in oklab, #EC4899 20%, transparent); }
.bd-search input[b-pev8al6xgp] { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; font-size: 16px; }
.bd-search input[b-pev8al6xgp]::-webkit-search-cancel-button { display: none; }
.bd-search-x[b-pev8al6xgp] { width: 34px; height: 34px; border-radius: 50%; border: 0; background: var(--surface-2); color: var(--text-2); cursor: pointer; flex: none; }
.bd-none[b-pev8al6xgp] { margin: 8px 4px; color: var(--text-3); }

/* ---- elenco ---- */
.bd-group[b-pev8al6xgp] { display: flex; flex-direction: column; gap: 6px; }
.bd-gtitle[b-pev8al6xgp] { display: flex; align-items: baseline; gap: 8px; margin: 6px 4px 0; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.bd-gtitle small[b-pev8al6xgp] { font-size: .74rem; font-weight: 700; letter-spacing: 0; opacity: .8; }
.bd-list[b-pev8al6xgp] { list-style: none; margin: 0; padding: 0; border-radius: 18px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); }
.bd-list li + li[b-pev8al6xgp] { border-top: 1px solid rgba(255, 255, 255, .05); }
.bd-row[b-pev8al6xgp] {
    display: flex; align-items: center; gap: 12px; width: 100%; padding: 9px 12px; border: 0; background: none; cursor: pointer;
    font: inherit; color: var(--text); text-align: left; min-width: 0;
}
.bd-row:hover[b-pev8al6xgp] { background: rgba(255, 255, 255, .035); }
.bd-row.today[b-pev8al6xgp] { background: color-mix(in oklab, var(--c) 14%, transparent); }
.bd-av[b-pev8al6xgp] {
    flex: none; width: 38px; height: 38px; border-radius: 13px; display: grid; place-items: center;
    font-weight: 800; font-size: .86rem; color: #fff; background: linear-gradient(135deg, var(--c), color-mix(in oklab, var(--c) 55%, #000));
}
.bd-txt[b-pev8al6xgp] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.bd-txt b[b-pev8al6xgp] { font-weight: 700; }
.bd-txt small[b-pev8al6xgp] { color: var(--text-3); font-size: .8rem; }
.bd-bell[b-pev8al6xgp] { flex: none; font-size: .8rem; opacity: .75; }
.bd-when[b-pev8al6xgp] {
    flex: none; font-size: .78rem; font-weight: 700; color: var(--text-2); white-space: nowrap;
    padding: 4px 9px; border-radius: 99px; background: rgba(255, 255, 255, .05);
}
.bd-when.soon[b-pev8al6xgp] { color: var(--c); background: color-mix(in oklab, var(--c) 15%, transparent); }
.bd-when.now[b-pev8al6xgp] { color: #fff; background: linear-gradient(135deg, var(--c), #F59E0B); }

@media (max-width: 520px) {
    .bd-hero[b-pev8al6xgp] { padding: 14px; gap: 12px; border-radius: 22px; }
    .bd-hero-av[b-pev8al6xgp] { width: 48px; height: 48px; border-radius: 15px; font-size: 1.05rem; }
    .bd-hero-name[b-pev8al6xgp] { font-size: 1.15rem; }
    .bd-hero-count[b-pev8al6xgp] { min-width: 56px; padding: 6px 8px; }
    .bd-row[b-pev8al6xgp] { gap: 10px; padding: 8px 10px; }
}

/* ---- foglio di modifica ---- */
.bd-date[b-pev8al6xgp] { display: grid; grid-template-columns: 1fr 1.6fr 1.2fr; gap: 10px; }
.bd-sw[b-pev8al6xgp] { width: 32px; height: 32px; border-radius: 50%; border: 2px solid transparent; background: var(--c); cursor: pointer; }
.bd-sw.on[b-pev8al6xgp] { border-color: var(--text); transform: scale(1.12); }
/* /Components/Pages/Condivisi/CondivisiEntra.razor.rz.scp.css */
.ce[b-16g76xihlo] { max-width: 520px; margin: 24px auto 0; }
.ce-card[b-16g76xihlo] { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 28px 20px; }
.ce-card h2[b-16g76xihlo] { margin: 0; overflow-wrap: anywhere; }
.ce-card p[b-16g76xihlo] { margin: 0; }
.ce-ico[b-16g76xihlo] { font-size: 2.6rem; }
/* /Components/Pages/Contratti/ContractCategoriesSheet.razor.rz.scp.css */
.cc[b-8auqsmy9hb] { display: flex; flex-direction: column; gap: 6px; }
.cc-row[b-8auqsmy9hb] {
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 8px 14px; border-radius: 16px; cursor: pointer; text-align: left;
    background: var(--surface); border: 1px solid var(--border); color: var(--text); font: inherit; font-weight: 600;
    border-left: 4px solid var(--c, var(--border));
}
.cc-add[b-8auqsmy9hb] { border-style: dashed; border-left-width: 1px; color: var(--text-2); }
.cc-ico[b-8auqsmy9hb] { width: 30px; text-align: center; font-size: 1.25rem; flex: none; }
.cc-form[b-8auqsmy9hb] { display: flex; flex-direction: column; gap: 14px; }
.cc-icon-in[b-8auqsmy9hb] { flex: 0 0 64px; width: 64px; text-align: center; font-size: 1.3rem; padding: 0 6px; }
.cc-colors[b-8auqsmy9hb] { display: flex; flex-wrap: wrap; gap: 10px; }
.cc-color[b-8auqsmy9hb] { width: 34px; height: 34px; border-radius: 50%; background: var(--c); border: 2px solid transparent; cursor: pointer; }
.cc-color.on[b-8auqsmy9hb] { border-color: #fff; box-shadow: 0 0 0 3px color-mix(in oklab, var(--c) 60%, transparent); }
.cc-del[b-8auqsmy9hb] { align-self: flex-start; }
/* /Components/Pages/Contratti/ContractEditor.razor.rz.scp.css */
.ce[b-yk2yupykoj] { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 26px; align-items: start; }

/* ---------- Anteprima: fascicolo ---------- */
.ce-preview[b-yk2yupykoj] { position: sticky; top: 0; display: flex; flex-direction: column; gap: 14px; perspective: 900px; }
.ce-folder[b-yk2yupykoj] { position: relative; height: 170px; margin-top: 18px; transform-style: preserve-3d; animation: ce-in-b-yk2yupykoj .8s var(--ease-spring) backwards; }
.ce-tab[b-yk2yupykoj] {
    position: absolute; top: -20px; left: 12px; height: 26px; padding: 0 12px; border-radius: 10px 10px 0 0;
    display: inline-flex; align-items: center; gap: 5px; font-size: .72rem; font-weight: 700; color: #2a1605;
    background: linear-gradient(180deg, color-mix(in oklab, var(--cc) 80%, white), var(--cc));
    max-width: calc(100% - 24px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ce-paper[b-yk2yupykoj] {
    position: absolute; inset: 6px 10px 10px; border-radius: 6px; transform: translateY(-14px) rotate(-2deg);
    background: repeating-linear-gradient(180deg, #fbf5e8 0 17px, #e9dfc8 17px 18px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
    transition: transform .6s var(--ease-spring);
}
.ce-folder:hover .ce-paper[b-yk2yupykoj] { transform: translateY(-34px) rotate(-4deg); }
.ce-cover[b-yk2yupykoj] {
    position: absolute; inset: 0; border-radius: 4px 16px 16px 16px; padding: 22px 16px 14px;
    display: flex; flex-direction: column; gap: 4px; justify-content: flex-end;
    background:
        linear-gradient(160deg, rgba(255, 255, 255, .18), transparent 40%),
        linear-gradient(145deg, color-mix(in oklab, var(--cc) 62%, #3b1d04), color-mix(in oklab, var(--cc) 30%, #1c0e02));
    border: 1px solid color-mix(in oklab, var(--cc) 50%, transparent);
    box-shadow: 0 26px 50px -20px color-mix(in oklab, var(--cc) 70%, black), inset 0 1px 0 rgba(255, 255, 255, .25);
    transform-origin: bottom center; transform: rotateX(8deg);
    transition: transform .6s var(--ease-spring);
}
.ce-folder:hover .ce-cover[b-yk2yupykoj] { transform: rotateX(22deg); }
.ce-cover strong[b-yk2yupykoj] { font-family: var(--font-display); font-size: 1.1rem; }
.ce-cover .badge[b-yk2yupykoj] { align-self: flex-start; margin-top: 4px; }
@keyframes ce-in-b-yk2yupykoj { from { transform: rotateY(-40deg) translateZ(-80px); opacity: 0; } to { transform: none; opacity: 1; } }

.ce-facts[b-yk2yupykoj] { display: grid; gap: 8px; }
.ce-facts > div[b-yk2yupykoj] { display: flex; flex-direction: column; padding: 10px 12px; border-radius: 14px; background: rgba(0, 0, 0, .22); border: 1px solid var(--border); }
.ce-facts strong[b-yk2yupykoj] { font-size: 1rem; }

/* ---------- Form ---------- */
.ce-form[b-yk2yupykoj] { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.ce-cats[b-yk2yupykoj] { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 6px; }
.ce-cat[b-yk2yupykoj] {
    display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 42px; padding: 6px 10px; border-radius: 13px; cursor: pointer; text-align: left;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-2); font-size: .8rem; font-weight: 600;
    transition: transform .3s var(--ease-spring), background .2s, border-color .2s, color .2s;
}
.ce-cat:hover[b-yk2yupykoj] { transform: translateY(-2px); color: var(--text); }
.ce-cat.active[b-yk2yupykoj] { color: #fff; background: linear-gradient(135deg, color-mix(in oklab, var(--c) 38%, transparent), color-mix(in oklab, var(--c) 12%, transparent)); border-color: color-mix(in oklab, var(--c) 70%, transparent); box-shadow: 0 8px 20px -10px var(--c); }
.ce-cat-ico[b-yk2yupykoj] { font-size: 1.1rem; flex: none; }
.ce-cat-new[b-yk2yupykoj] { border-style: dashed; color: var(--text-3); justify-content: center; }
.ce-newcat[b-yk2yupykoj] { display: flex; gap: 8px; align-items: center; margin-top: 8px; }
.ce-newcat .input[b-yk2yupykoj] { min-width: 0; flex: 1; }
.ce-newcat .ce-newcat-ico[b-yk2yupykoj] { flex: 0 0 56px; text-align: center; font-size: 1.1rem; padding: 0 6px; }
.ce-cat-lbl[b-yk2yupykoj] { line-height: 1.15; min-width: 0; overflow-wrap: anywhere; } /* "Internet/Telefono" non deve uscire dal bottone */

.ce-block[b-yk2yupykoj] { padding: 14px; border-radius: 20px; background: rgba(0, 0, 0, .2); border: 1px solid var(--border); }
.ce-quick[b-yk2yupykoj] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; }
.ce-quick .chip[b-yk2yupykoj] { height: 30px; padding: 0 11px; font-size: .8rem; }
.ce-mini[b-yk2yupykoj] { width: 92px; flex: none; }
.ce-toggle[b-yk2yupykoj] { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: var(--surface); border: 1px solid var(--border); cursor: pointer; margin-top: 12px; }
.ce-form > .ce-toggle[b-yk2yupykoj] { margin-top: 0; }
.ce-hint[b-yk2yupykoj] { display: block; margin-top: 10px; font-size: .84rem; color: var(--text-2); padding: 8px 12px; border-radius: 12px; background: color-mix(in oklab, var(--accent) 12%, transparent); }
.ce-hint.soon[b-yk2yupykoj] { background: color-mix(in oklab, var(--warning) 16%, transparent); color: #fde68a; }
.ce-hint.late[b-yk2yupykoj] { background: color-mix(in oklab, var(--danger) 16%, transparent); color: #fecdd3; }

@media (max-width: 700px) {
    .ce[b-yk2yupykoj] { grid-template-columns: 1fr; gap: 16px; }
    .ce-preview[b-yk2yupykoj] { position: relative; display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; align-items: end; }
    .ce-folder[b-yk2yupykoj] { height: 120px; }
    .ce-cover[b-yk2yupykoj] { padding: 16px 10px 10px; }
    .ce-cover strong[b-yk2yupykoj] { font-size: .92rem; }
    .ce-cover .dim[b-yk2yupykoj] { display: none; }
    .ce-facts > div[b-yk2yupykoj] { padding: 6px 10px; }
    .ce-facts strong[b-yk2yupykoj] { font-size: .88rem; }
    .ce-cats[b-yk2yupykoj] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* /Components/Pages/Contratti/ContractFolder.razor.rz.scp.css */
/* Fascicolo: la linguetta sporge in alto, i fogli si alzano e la copertina si inclina al passaggio */
.fold[b-2zddaf6v7r] {
    position: relative; margin-top: 22px; min-height: 212px; border-radius: 6px 20px 20px 20px;
    transform-style: preserve-3d;
}
.fold-tab[b-2zddaf6v7r] {
    position: absolute; top: -22px; left: 0; z-index: 1; height: 28px; max-width: 70%;
    padding: 0 14px; border-radius: 12px 14px 0 0; display: inline-flex; align-items: center; gap: 6px;
    font-size: .74rem; font-weight: 800; letter-spacing: .02em; color: #2a1605;
    background: linear-gradient(180deg, color-mix(in oklab, var(--cc) 75%, white), color-mix(in oklab, var(--cc) 88%, #7a3d06));
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5);
}
.fold-back[b-2zddaf6v7r] {
    position: absolute; inset: 0; border-radius: inherit;
    background: linear-gradient(180deg, color-mix(in oklab, var(--cc) 70%, #4a2406), color-mix(in oklab, var(--cc) 35%, #1a0c02));
    box-shadow: 0 30px 60px -28px color-mix(in oklab, var(--cc) 70%, black);
}
.fold-papers[b-2zddaf6v7r] { position: absolute; inset: 0; pointer-events: none; transform-style: preserve-3d; }
.paper[b-2zddaf6v7r] {
    position: absolute; left: calc(10px + var(--k) * 8px); right: calc(16px - var(--k) * 4px); top: 10px; height: 70%;
    border-radius: 5px; transform: translateY(calc(var(--k) * 3px)) rotate(calc(var(--k) * 1.6deg - 1.5deg)) translateZ(2px);
    background:
        linear-gradient(90deg, transparent 18px, rgba(220, 80, 60, .35) 18px 19px, transparent 19px),
        repeating-linear-gradient(180deg, #fbf6ea 0 15px, #e7dcc4 15px 16px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, .3);
    transition: transform .6s var(--ease-spring);
    transition-delay: calc(var(--k) * 50ms);
}
.fold-photo[b-2zddaf6v7r] {
    position: absolute; right: 18px; top: 2px; width: 64px; height: 64px; padding: 4px 4px 12px; background: #fff; border-radius: 3px;
    transform: rotate(6deg) translateZ(4px); box-shadow: 0 6px 16px rgba(0, 0, 0, .4);
    transition: transform .6s var(--ease-spring);
}
.fold-photo[b-2zddaf6v7r]::before { content: ""; position: absolute; top: -8px; left: 22px; width: 10px; height: 22px; border: 2px solid #cbd5e1; border-radius: 6px; border-bottom-color: transparent; }
.fold-photo img[b-2zddaf6v7r] { width: 100%; height: 100%; object-fit: cover; border-radius: 1px; }

.fold-cover[b-2zddaf6v7r] {
    position: relative; z-index: 2; margin-top: 44px; min-height: 168px; padding: 16px 16px 14px;
    border-radius: 4px 18px 18px 18px; display: flex; flex-direction: column; gap: 4px;
    background:
        radial-gradient(120% 90% at 0% 0%, rgba(255, 255, 255, .16), transparent 55%),
        linear-gradient(160deg, color-mix(in oklab, var(--cc) 30%, rgba(40, 24, 8, .92)), rgba(22, 13, 5, .94));
    border: 1px solid color-mix(in oklab, var(--cc) 40%, rgba(255, 255, 255, .1));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 -6px 18px -8px rgba(0, 0, 0, .5);
    transform-origin: bottom center; transform: translateZ(8px);
    transition: transform .6s var(--ease-spring), box-shadow .4s;

}
@media (hover: hover) { .fold:hover .fold-cover[b-2zddaf6v7r] { transform: translateZ(8px) rotateX(-16deg); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 18px 30px -10px rgba(0, 0, 0, .6); } }
@media (hover: hover) { .fold:hover .paper[b-2zddaf6v7r] { transform: translateY(calc(-26px - var(--k) * 8px)) rotate(calc(var(--k) * 3deg - 3deg)) translateZ(2px); } }
@media (hover: hover) { .fold:hover .fold-photo[b-2zddaf6v7r] { transform: rotate(-4deg) translateY(-22px) translateZ(4px); } }

.fold-head[b-2zddaf6v7r] { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.fold-status[b-2zddaf6v7r] { display: inline-flex; align-items: center; gap: 6px; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--sc); }
.sdot[b-2zddaf6v7r] { width: 8px; height: 8px; border-radius: 50%; background: var(--sc); box-shadow: 0 0 10px var(--sc); display: inline-block; }
.fold-files[b-2zddaf6v7r] { font-size: .74rem; font-weight: 700; color: var(--text-2); padding: 2px 8px; border-radius: 99px; background: rgba(0, 0, 0, .3); margin-right: 34px; }
.fold-title[b-2zddaf6v7r] { font-size: 1.12rem; margin-top: 4px; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fold-prov[b-2zddaf6v7r] { color: var(--text-2); font-size: .84rem; }
.fold-meta[b-2zddaf6v7r] { display: flex; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 10px; border-top: 1px dashed rgba(255, 255, 255, .14); }
.fold-meta > div[b-2zddaf6v7r] { display: flex; flex-direction: column; min-width: 0; }
.fold-meta .right[b-2zddaf6v7r] { text-align: right; }
.fm-lbl[b-2zddaf6v7r] { font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; color: var(--text-3); font-weight: 700; }
.fm-val[b-2zddaf6v7r] { font-weight: 700; font-size: .95rem; white-space: nowrap; }
.fm-val small[b-2zddaf6v7r] { font-size: .7rem; color: var(--text-3); font-weight: 600; }
.fold-alert[b-2zddaf6v7r], .fold-renew[b-2zddaf6v7r] { margin-top: 8px; font-size: .74rem; font-weight: 700; padding: 5px 10px; border-radius: 10px; }
.fold-alert.danger[b-2zddaf6v7r] { background: color-mix(in oklab, var(--danger) 22%, transparent); color: #fecdd3; animation: pulse-a-b-2zddaf6v7r 2s ease-in-out infinite; }
.fold-alert.warning[b-2zddaf6v7r] { background: color-mix(in oklab, var(--warning) 20%, transparent); color: #fde68a; }
.fold-alert.info[b-2zddaf6v7r] { background: color-mix(in oklab, var(--info) 18%, transparent); color: #bfdbfe; }
.fold-renew[b-2zddaf6v7r] { background: rgba(0, 0, 0, .25); color: var(--text-2); font-weight: 600; }
@keyframes pulse-a-b-2zddaf6v7r { 50% { box-shadow: 0 0 0 4px color-mix(in oklab, var(--danger) 18%, transparent); } }

.fold-link[b-2zddaf6v7r] { position: absolute; inset: -22px 0 0 0; z-index: 5; border-radius: inherit; }
.fold-link:focus-visible[b-2zddaf6v7r] { outline: 2px solid var(--accent-2); outline-offset: 4px; }
.fold-fav[b-2zddaf6v7r] {
    position: absolute; right: 12px; top: 56px; z-index: 6; width: 32px; height: 32px; border-radius: 50%; cursor: pointer;
    border: 1px solid rgba(255, 255, 255, .18); background: rgba(0, 0, 0, .35); color: rgba(255, 255, 255, .45); font-size: .95rem; line-height: 1;
    transform: translateZ(20px); transition: transform .35s var(--ease-spring), color .2s, background .2s;
}
.fold-fav:hover[b-2zddaf6v7r] { color: #fff; transform: translateZ(20px) scale(1.12); }
.fold-fav.on[b-2zddaf6v7r] { color: #3b1d04; background: linear-gradient(135deg, #FDE68A, var(--accent-2)); border-color: transparent; box-shadow: 0 6px 16px -4px var(--accent-2); }

.fold.off[b-2zddaf6v7r] { filter: grayscale(.75) brightness(.8); }
.fold.off:hover[b-2zddaf6v7r] { filter: none; }

@media (hover: none) {
    .paper[b-2zddaf6v7r] { transform: translateY(calc(-10px - var(--k) * 5px)) rotate(calc(var(--k) * 2deg - 2deg)) translateZ(2px); }
}
/* /Components/Pages/Contratti/ContrattiArchivio.razor.rz.scp.css */
/* =====================================================================
   Contratti · Archivio — filtri e griglia di fascicoli
   ===================================================================== */
.filters[b-ad8gdoh35m] { display: flex; flex-direction: column; gap: 12px; padding: 14px; margin-bottom: 18px; border-radius: 24px; }
.f-row[b-ad8gdoh35m] { display: flex; gap: 8px; align-items: center; }
.f-search[b-ad8gdoh35m] {
    flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px;
    border-radius: 14px; background: rgba(0, 0, 0, .28); border: 1px solid var(--border); color: var(--text-2);
    transition: border-color .2s, box-shadow .2s;
}
.f-search:focus-within[b-ad8gdoh35m] { border-color: color-mix(in oklab, var(--accent) 70%, white); box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 25%, transparent); }
.f-search input[b-ad8gdoh35m] { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; color: var(--text); font: inherit; font-size: 16px; outline: none; }
.f-sort[b-ad8gdoh35m] { width: auto; flex: none; max-width: 42vw; height: 44px; }
.fav-chip[b-ad8gdoh35m] { height: 44px; flex: none; }
.fav-chip.active[b-ad8gdoh35m] { background: color-mix(in oklab, var(--accent-2) 35%, transparent); }
.f-scroll[b-ad8gdoh35m] { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; margin: 0 -14px; padding: 2px 14px; align-items: center; }
.f-scroll[b-ad8gdoh35m]::-webkit-scrollbar { display: none; }
.f-scroll > *[b-ad8gdoh35m] { flex: none; }
.f-status button[b-ad8gdoh35m] { display: inline-flex; align-items: center; gap: 6px; }
.f-status .cnt[b-ad8gdoh35m] { font-size: .72rem; opacity: .6; font-variant-numeric: tabular-nums; }
.sdot[b-ad8gdoh35m] { width: 8px; height: 8px; border-radius: 50%; background: var(--sc, var(--accent)); box-shadow: 0 0 8px var(--sc, var(--accent)); flex: none; display: inline-block; }
.cat-chip.active[b-ad8gdoh35m] { background: color-mix(in oklab, var(--c) 32%, transparent); border-color: color-mix(in oklab, var(--c) 70%, transparent); }
.tag-chip[b-ad8gdoh35m] { height: 30px; font-size: .8rem; }

.lib-head[b-ad8gdoh35m] { margin: 6px 0 4px; }
.lib-title[b-ad8gdoh35m] { font-size: 1.3rem; display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; }
.lib-cost[b-ad8gdoh35m] { font-size: .8rem; font-weight: 700; padding: 3px 10px; border-radius: 99px; background: var(--accent-soft); color: #fde68a; }

.fold-grid[b-ad8gdoh35m] { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 8px 18px; perspective: 1400px; }
@media (max-width: 560px) {
    .fold-grid[b-ad8gdoh35m] { grid-template-columns: minmax(0, 1fr); }
    .f-row[b-ad8gdoh35m] { flex-wrap: wrap; }
    .f-search[b-ad8gdoh35m] { flex-basis: 100%; }
    .f-sort[b-ad8gdoh35m] { flex: 1 1 auto; max-width: none; }
}
.ct-fav[b-ad8gdoh35m] { color: #fbbf24; }
.ct-fav.on[b-ad8gdoh35m] { text-shadow: 0 0 12px rgba(251, 191, 36, .7); }
/* /Components/Pages/Contratti/ContrattoDetail.razor.rz.scp.css */
/* =====================================================================
   Contratti · Dettaglio — fascicolo che si apre, foglio, allegati
   ===================================================================== */
.d-fav.on[b-9w71h3y3j6] { color: #3b1d04; background: linear-gradient(135deg, #FDE68A, var(--accent-2)); border-color: transparent; }

/* ---------- Fascicolo ---------- */
.dz-wrap[b-9w71h3y3j6] { overflow-x: clip; padding: 30px 8px 12px; margin: 0 -8px 14px; }
.dossier[b-9w71h3y3j6] {
    position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    perspective: 2400px; transform-style: preserve-3d; min-height: 380px;
}
.dossier[b-9w71h3y3j6]::before {
    /* linguetta del fascicolo, dietro la pagina destra */
    content: ""; position: absolute; top: -20px; right: 12%; width: 120px; height: 30px; border-radius: 12px 12px 0 0;
    background: linear-gradient(180deg, color-mix(in oklab, var(--cc) 70%, #f6d8a8), color-mix(in oklab, var(--cc) 55%, #7a4412));
}

.dz-left[b-9w71h3y3j6] {
    position: relative; padding: 26px 24px; display: flex; flex-direction: column; gap: 16px; align-items: flex-start;
    color: #fff3e0;
    animation: dz-fade-b-9w71h3y3j6 .7s var(--ease-out) backwards 1.25s;
}
@keyframes dz-fade-b-9w71h3y3j6 { from { opacity: 0; transform: translateX(20px); } }
.dz-cat[b-9w71h3y3j6] { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; }
.dz-cat-ico[b-9w71h3y3j6] { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; font-size: 1.5rem; background: color-mix(in oklab, var(--cc) 35%, rgba(0, 0, 0, .3)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 10px 20px -8px var(--cc); }
.dz-stamp[b-9w71h3y3j6] {
    position: absolute; top: 22px; right: 20px; padding: 6px 14px; border: 3px solid var(--sc); border-radius: 10px;
    color: var(--sc); font-family: var(--font-display); font-weight: 800; font-size: .95rem; text-transform: uppercase; letter-spacing: .12em;
    transform: rotate(-12deg); mix-blend-mode: screen; opacity: .92;
    box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--sc) 30%, transparent);
    animation: stamp-in-b-9w71h3y3j6 .6s var(--ease-spring) backwards 1.9s;
}
@keyframes stamp-in-b-9w71h3y3j6 { from { transform: rotate(-30deg) scale(2.6); opacity: 0; } }

.dz-ring[b-9w71h3y3j6] { position: relative; width: 128px; height: 128px; align-self: center; }
.dz-ring svg[b-9w71h3y3j6] { width: 100%; height: 100%; transform: rotate(-90deg); }
.rg-track[b-9w71h3y3j6] { fill: none; stroke: rgba(0, 0, 0, .3); stroke-width: 10; }
.rg-val[b-9w71h3y3j6] {
    fill: none; stroke: var(--sc); stroke-width: 10; stroke-linecap: round;
    stroke-dasharray: calc(var(--v) * 100) 100;
    filter: drop-shadow(0 0 6px var(--sc));
    animation: ring-b-9w71h3y3j6 1.6s var(--ease-out) backwards 1.4s;
}
@keyframes ring-b-9w71h3y3j6 { from { stroke-dasharray: 0 100; } }
.rg-center[b-9w71h3y3j6] { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.rg-center strong[b-9w71h3y3j6] { font-size: 2rem; line-height: 1; }
.dz-big[b-9w71h3y3j6] { display: flex; flex-direction: column; gap: 2px; }
.dz-big strong[b-9w71h3y3j6] { font-size: 1.5rem; font-family: var(--font-display); }
.dz-cancel[b-9w71h3y3j6] {
    display: flex; gap: 12px; align-items: center; width: 100%; padding: 12px 14px; border-radius: 16px;
    background: rgba(0, 0, 0, .28); border: 1px solid rgba(255, 255, 255, .12);
}
.dz-cancel .grow[b-9w71h3y3j6] { display: flex; flex-direction: column; }
.dz-cancel strong[b-9w71h3y3j6] { font-size: 1.1rem; }
.dz-c-ico[b-9w71h3y3j6] { font-size: 1.5rem; }
.dz-cancel.danger[b-9w71h3y3j6], .dz-cancel.late[b-9w71h3y3j6] { border-color: color-mix(in oklab, var(--danger) 60%, transparent); background: color-mix(in oklab, var(--danger) 18%, rgba(0, 0, 0, .3)); }
.dz-cancel.warning[b-9w71h3y3j6] { border-color: color-mix(in oklab, var(--warning) 60%, transparent); background: color-mix(in oklab, var(--warning) 14%, rgba(0, 0, 0, .3)); }
.dz-cancel.danger[b-9w71h3y3j6] { animation: pulse-c-b-9w71h3y3j6 2s ease-in-out infinite 2.4s; }
@keyframes pulse-c-b-9w71h3y3j6 { 50% { box-shadow: 0 0 0 6px color-mix(in oklab, var(--danger) 18%, transparent); } }

.dz-right[b-9w71h3y3j6] {
    position: relative; padding: 22px 22px 26px; border-radius: 4px 22px 22px 4px;
    background:
        radial-gradient(90% 60% at 100% 0%, rgba(255, 255, 255, .12), transparent 60%),
        linear-gradient(160deg, color-mix(in oklab, var(--cc) 34%, #6b3c12), color-mix(in oklab, var(--cc) 18%, #2a1606));
    box-shadow: 0 40px 80px -40px color-mix(in oklab, var(--cc) 70%, black), inset 0 1px 0 rgba(255, 255, 255, .15);
}
.paper-sheet[b-9w71h3y3j6] {
    position: relative; padding: 24px 22px 20px; border-radius: 6px; color: #2b1a0b;
    background:
        linear-gradient(90deg, transparent 26px, rgba(220, 80, 60, .3) 26px 27px, transparent 27px),
        repeating-linear-gradient(180deg, #fdf8ee 0 27px, #efe4cd 27px 28px);
    box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .7), 0 1px 0 rgba(255, 255, 255, .8) inset;
    transform: rotate(.6deg);
    animation: sheet-slide-b-9w71h3y3j6 .9s var(--ease-spring) backwards 1s;
}
@keyframes sheet-slide-b-9w71h3y3j6 { from { transform: translateY(40px) rotate(-3deg); opacity: 0; } }
.clip[b-9w71h3y3j6] {
    position: absolute; top: -14px; right: 40px; width: 16px; height: 46px; border: 3px solid #cbd5e1; border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .3);
}
.clip[b-9w71h3y3j6]::after { content: ""; position: absolute; left: 2px; right: 2px; top: 8px; bottom: -3px; border: 3px solid #cbd5e1; border-top: 0; border-radius: 0 0 8px 8px; }
.ps-title[b-9w71h3y3j6] { font-size: 1.45rem; padding-left: 18px; color: #1f1206; }
.ps-prov[b-9w71h3y3j6] { padding-left: 18px; color: #7a5a3a; font-weight: 600; }
.ps-grid[b-9w71h3y3j6] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; margin: 16px 0 0; padding-left: 18px; }
.ps-grid > div[b-9w71h3y3j6] { min-width: 0; }
.ps-grid .wide[b-9w71h3y3j6] { grid-column: 1 / -1; }
.ps-grid dt[b-9w71h3y3j6] { font-size: .66rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: #9a7a58; }
.ps-grid dd[b-9w71h3y3j6] { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.ps-tags[b-9w71h3y3j6] { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0 18px; }
.ps-tag[b-9w71h3y3j6] { font-size: .78rem; font-weight: 700; padding: 3px 10px; border-radius: 99px; background: color-mix(in oklab, var(--cc) 30%, #f3e3c4); color: #4a2a0a; }
.ps-tag:hover[b-9w71h3y3j6] { background: color-mix(in oklab, var(--cc) 50%, #f3e3c4); }
.ps-notes[b-9w71h3y3j6] { margin: 14px 0 0 18px; white-space: pre-wrap; font-family: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive; color: #1e3a8a; line-height: 28px; overflow-wrap: anywhere; }

/* copertina: parte chiusa sopra la pagina destra e si apre ruotando attorno al dorso */
.dz-cover[b-9w71h3y3j6] {
    position: absolute; top: 0; bottom: 0; left: 50%; right: 0; z-index: 3;
    transform-style: preserve-3d; transform-origin: left center; pointer-events: none;
    animation: cv-open-b-9w71h3y3j6 1.6s cubic-bezier(.65, 0, .25, 1) forwards .35s;
    transform: rotateY(0deg) translateZ(1px);
}
@keyframes cv-open-b-9w71h3y3j6 { to { transform: rotateY(-180deg) translateZ(1px); } }
.cv-face[b-9w71h3y3j6] { position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden; border-radius: 4px 22px 22px 4px; }
.cv-front[b-9w71h3y3j6] {
    display: flex; align-items: center; justify-content: center; padding: 30px;
    background:
        radial-gradient(120% 80% at 0% 0%, rgba(255, 255, 255, .18), transparent 50%),
        repeating-linear-gradient(95deg, rgba(0, 0, 0, .04) 0 2px, transparent 2px 7px),
        linear-gradient(150deg, color-mix(in oklab, var(--cc) 55%, #a0662a), color-mix(in oklab, var(--cc) 30%, #4b2708));
    box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .7), inset 0 1px 0 rgba(255, 255, 255, .3), inset 6px 0 12px -6px rgba(0, 0, 0, .5);
}
.cv-tab[b-9w71h3y3j6] {
    position: absolute; top: 18px; left: 18px; font-size: .78rem; font-weight: 800; padding: 4px 12px; border-radius: 8px;
    background: rgba(0, 0, 0, .25); color: #fff3e0;
}
.cv-label[b-9w71h3y3j6] {
    max-width: 80%; padding: 14px 18px; border-radius: 6px; background: #f8f0dd; color: #3b2107; text-align: center;
    font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; box-shadow: 0 2px 0 rgba(0, 0, 0, .2), inset 0 0 0 1px rgba(0, 0, 0, .12);
    transform: rotate(-2deg);
}
.cv-string[b-9w71h3y3j6] { position: absolute; right: 22px; top: 0; bottom: 0; width: 6px; background: linear-gradient(90deg, #7f1d1d, #dc2626, #7f1d1d); box-shadow: 0 0 6px rgba(0, 0, 0, .5); }
.cv-back[b-9w71h3y3j6] {
    transform: rotateY(180deg);
    border-radius: 22px 4px 4px 22px;
    background:
        radial-gradient(80% 60% at 0% 100%, color-mix(in oklab, var(--cc) 25%, transparent), transparent 70%),
        linear-gradient(200deg, color-mix(in oklab, var(--cc) 30%, #5b3510), #2a1604);
    box-shadow: inset -8px 0 14px -8px rgba(0, 0, 0, .6);
}

@media (max-width: 760px) {
    .dossier[b-9w71h3y3j6] { grid-template-columns: minmax(0, 1fr); min-height: 0; }
    .dz-left[b-9w71h3y3j6] {
        border-radius: 22px 22px 4px 4px;
        background: linear-gradient(200deg, color-mix(in oklab, var(--cc) 30%, #5b3510), #2a1604);
        padding: 22px 18px; animation-delay: .9s;
    }
    .dz-right[b-9w71h3y3j6] { border-radius: 4px 4px 22px 22px; padding: 16px 12px 20px; }
    .paper-sheet[b-9w71h3y3j6] { padding: 20px 14px 16px; animation-delay: .7s; }
    .ps-grid[b-9w71h3y3j6] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 10px; padding-left: 16px; }
    .ps-title[b-9w71h3y3j6], .ps-prov[b-9w71h3y3j6] { padding-left: 16px; }
    .dz-ring[b-9w71h3y3j6] { width: 104px; height: 104px; }
    .rg-center strong[b-9w71h3y3j6] { font-size: 1.6rem; }
    .dz-cover[b-9w71h3y3j6] { left: 0; transform-origin: center top; animation: cv-up-b-9w71h3y3j6 1.2s cubic-bezier(.65, 0, .25, 1) forwards .3s; transform: none; }
    .cv-face[b-9w71h3y3j6] { border-radius: 22px; }
    .dossier[b-9w71h3y3j6]::before { right: 16px; }
    @keyframes cv-up-b-9w71h3y3j6 { 70% { transform: rotateX(80deg); opacity: 1; } 100% { transform: rotateX(96deg); opacity: 0; visibility: hidden; } }
}
@media (max-width: 380px) { .ps-grid[b-9w71h3y3j6] { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Azioni rapide ---------- */
.quick[b-9w71h3y3j6] { display: grid; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 10px; margin-bottom: 18px; }
.q-btn[b-9w71h3y3j6] {
    display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; padding: 12px 14px; border-radius: 18px; cursor: pointer;
    background: linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02)); border: 1px solid var(--border); color: var(--text); text-align: left;
    transition: transform .35s var(--ease-spring), border-color .2s, background .2s;
}
.q-btn:hover[b-9w71h3y3j6] { transform: translateY(-3px); border-color: color-mix(in oklab, var(--accent) 50%, var(--border)); }
.q-btn span[b-9w71h3y3j6] { font-size: 1.3rem; }
.q-btn b[b-9w71h3y3j6] { font-size: .9rem; }
.q-btn small[b-9w71h3y3j6] { color: var(--text-3); font-size: .74rem; max-width: 100%; }
.q-btn.danger:hover[b-9w71h3y3j6] { border-color: color-mix(in oklab, var(--danger) 60%, transparent); background: color-mix(in oklab, var(--danger) 12%, transparent); }

/* ---------- Allegati ---------- */
.files[b-9w71h3y3j6] { margin-bottom: 20px; }
.dropzone[b-9w71h3y3j6] {
    position: relative; display: flex; align-items: center; gap: 18px; padding: 20px; border-radius: 20px;
    border: 2px dashed color-mix(in oklab, var(--accent-2) 45%, var(--border)); background: rgba(0, 0, 0, .2);
    transition: border-color .25s, background .25s, transform .4s var(--ease-spring), box-shadow .3s;
}
.dropzone:hover[b-9w71h3y3j6], .dropzone:focus-within[b-9w71h3y3j6] { border-color: var(--accent-2); background: color-mix(in oklab, var(--accent) 10%, rgba(0, 0, 0, .2)); }
.dropzone.dragging[b-9w71h3y3j6] { transform: scale(1.02); border-style: solid; border-color: var(--accent-2); background: color-mix(in oklab, var(--accent) 22%, rgba(0, 0, 0, .2)); box-shadow: 0 0 0 6px color-mix(in oklab, var(--accent-2) 20%, transparent), 0 20px 50px -20px var(--accent); }
.dropzone.dropped[b-9w71h3y3j6] { animation: dz-pop-b-9w71h3y3j6 .6s var(--ease-spring); }
@keyframes dz-pop-b-9w71h3y3j6 { 40% { transform: scale(.97); } }
.dropzone.busy[b-9w71h3y3j6] { border-style: solid; }
[b-9w71h3y3j6] .dz-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; font-size: 0; }
.dropzone.busy[b-9w71h3y3j6]  .dz-input { cursor: progress; }
.dz-art[b-9w71h3y3j6] { position: relative; width: 64px; height: 70px; flex: none; perspective: 400px; }
.dz-sheet[b-9w71h3y3j6] {
    position: absolute; inset: 6px 10px; border-radius: 5px; background: repeating-linear-gradient(180deg, #fdf8ee 0 9px, #e8dcc2 9px 10px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, .4); transition: transform .5s var(--ease-spring);
}
.dz-sheet.s1[b-9w71h3y3j6] { transform: rotate(-12deg) translateX(-6px); background: linear-gradient(180deg, #fecaca 0 22%, #fdf8ee 22%); }
.dz-sheet.s2[b-9w71h3y3j6] { transform: rotate(6deg) translateX(6px); }
.dz-sheet.s3[b-9w71h3y3j6] { transform: rotate(-2deg); }
.dropzone:hover .dz-sheet.s1[b-9w71h3y3j6], .dropzone.dragging .dz-sheet.s1[b-9w71h3y3j6] { transform: rotate(-22deg) translate(-14px, -6px); }
.dropzone:hover .dz-sheet.s2[b-9w71h3y3j6], .dropzone.dragging .dz-sheet.s2[b-9w71h3y3j6] { transform: rotate(16deg) translate(14px, -4px); }
.dropzone:hover .dz-sheet.s3[b-9w71h3y3j6], .dropzone.dragging .dz-sheet.s3[b-9w71h3y3j6] { transform: translateY(-12px); }
.dropzone.busy .dz-sheet.s3[b-9w71h3y3j6] { animation: dz-fly-b-9w71h3y3j6 1s ease-in-out infinite; }
@keyframes dz-fly-b-9w71h3y3j6 { 50% { transform: translateY(-18px) rotate(4deg); } }
.dz-text[b-9w71h3y3j6] { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
.dz-text u[b-9w71h3y3j6] { text-decoration-color: var(--accent-2); text-underline-offset: 3px; }
.dz-text .progress[b-9w71h3y3j6] { margin-top: 6px; height: 8px; }

.cam-btn[b-9w71h3y3j6] { display: none; margin-top: 10px; position: relative; }
.cam-btn.disabled[b-9w71h3y3j6] { opacity: .5; pointer-events: none; }
@media (pointer: coarse) { .cam-btn[b-9w71h3y3j6] { display: inline-flex; } }

.att-grid[b-9w71h3y3j6] { display: grid; grid-template-columns: repeat(auto-fill, minmax(156px, 1fr)); gap: 14px; margin-top: 16px; }
.att[b-9w71h3y3j6] { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 8px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); min-width: 0; }
.att-thumb[b-9w71h3y3j6] {
    position: relative; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; border: 0; padding: 0; cursor: zoom-in;
    display: grid; place-items: center; background: linear-gradient(160deg, #fdf8ee, #e9dcc0); color: #3b2107;
    transition: transform .45s var(--ease-spring), box-shadow .3s;
}
.att-thumb:hover[b-9w71h3y3j6] { transform: translateY(-4px) rotate(-1deg); box-shadow: 0 18px 30px -14px rgba(0, 0, 0, .8); }
.att-thumb img[b-9w71h3y3j6] { width: 100%; height: 100%; object-fit: cover; }
.att-thumb.pdf[b-9w71h3y3j6] { background: linear-gradient(180deg, #dc2626 0 26%, #fdf8ee 26%); }
.att-ico[b-9w71h3y3j6] { font-size: 2.2rem; filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .3)); }
.att-ext[b-9w71h3y3j6] { position: absolute; bottom: 8px; right: 8px; font-size: .66rem; font-weight: 800; padding: 2px 6px; border-radius: 6px; background: rgba(0, 0, 0, .75); color: #fff; }
.att-meta[b-9w71h3y3j6] { display: flex; flex-direction: column; min-width: 0; padding: 0 2px; }
.att-name[b-9w71h3y3j6] { font-weight: 600; font-size: .85rem; }
.att-actions[b-9w71h3y3j6] { display: flex; gap: 2px; justify-content: flex-end; }

/* ---------- Anteprima ---------- */
.pv[b-9w71h3y3j6] { position: relative; display: grid; place-items: center; }
.pv-frame[b-9w71h3y3j6] { width: 100%; height: min(72vh, 900px); border: 0; border-radius: 12px; background: #fff; }
.pv-img[b-9w71h3y3j6] { max-width: 100%; max-height: 72vh; object-fit: contain; border-radius: 12px; box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .8); animation: pv-in-b-9w71h3y3j6 .5s var(--ease-spring); }
@keyframes pv-in-b-9w71h3y3j6 { from { transform: scale(.9) rotateX(10deg); opacity: 0; } }
.pv-nav[b-9w71h3y3j6] {
    position: absolute; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border-radius: 50%; cursor: pointer;
    border: 1px solid var(--border-strong); background: rgba(10, 6, 2, .65); color: #fff; font-size: 1.6rem; line-height: 1;

}
.pv-nav.prev[b-9w71h3y3j6] { left: 8px; }
.pv-nav.next[b-9w71h3y3j6] { right: 8px; }
.pv.pdf .pv-nav[b-9w71h3y3j6] { top: auto; bottom: 12px; transform: none; }

@media (prefers-reduced-motion: reduce) {
    .dz-cover[b-9w71h3y3j6] { display: none; }
    .dz-left[b-9w71h3y3j6] { border-radius: 22px 4px 4px 22px; background: linear-gradient(200deg, color-mix(in oklab, var(--cc) 30%, #5b3510), #2a1604); }
}
/* /Components/Pages/Diario/DiarioPage.razor.rz.scp.css */
/* ---------- Hero: libro 3D con le pagine che si sfogliano ---------- */
.hero-book[b-zurpjbxw7r] { perspective: 900px; margin-left: auto; }
.book[b-zurpjbxw7r] { position: relative; width: 108px; height: 140px; transform-style: preserve-3d;
    transform: rotateY(calc(-24deg + var(--mx) * 16deg)) rotateX(calc(10deg + var(--my) * -8deg)); animation: book-in-b-zurpjbxw7r 1.1s var(--ease-spring) both .2s; }
@keyframes book-in-b-zurpjbxw7r { from { opacity: 0; transform: rotateY(-120deg) translateZ(-80px); } }
.bk-cover[b-zurpjbxw7r] { position: absolute; inset: 0; border-radius: 6px 16px 16px 6px; transform: translateZ(-10px);
    background: linear-gradient(135deg, var(--accent), color-mix(in oklab, var(--accent) 50%, #3b0a2a) 60%, var(--accent-2));
    box-shadow: 0 30px 60px -20px color-mix(in oklab, var(--accent) 90%, transparent), inset 6px 0 0 rgba(0,0,0,.25); }
.bk-page[b-zurpjbxw7r] { position: absolute; inset: 5px 6px 5px 4px; border-radius: 3px 12px 12px 3px; transform-origin: 0 50%;
    background: linear-gradient(90deg, #e9e3d6, #fffaf0 12%, #fffdf7); box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
    background-image: repeating-linear-gradient(180deg, transparent 0 11px, rgba(99, 102, 241, .18) 11px 12px), linear-gradient(90deg, #e9e3d6, #fffaf0 12%, #fffdf7); }
.bk-page.p1[b-zurpjbxw7r] { animation: page-flip-b-zurpjbxw7r 6s var(--ease-out) infinite; }
.bk-page.p2[b-zurpjbxw7r] { animation: page-flip-b-zurpjbxw7r 6s var(--ease-out) infinite 2s; }
.bk-page.p3[b-zurpjbxw7r] { animation: page-flip-b-zurpjbxw7r 6s var(--ease-out) infinite 4s; }
@keyframes page-flip-b-zurpjbxw7r { 0%, 20% { transform: rotateY(0); } 45%, 100% { transform: rotateY(-170deg); opacity: .15; } }
.bk-label[b-zurpjbxw7r] { position: absolute; left: 50%; bottom: -26px; transform: translateX(-50%); font-family: var(--font-display); font-weight: 700; color: var(--text-2); font-size: .85rem; }

/* ---------- Accadde oggi ---------- */
.otd[b-zurpjbxw7r] { margin-bottom: 18px; }
.otd-title[b-zurpjbxw7r] { font-size: 1rem; margin-bottom: 10px; }
.otd-card[b-zurpjbxw7r] { position: relative; width: 220px; height: 130px; border-radius: 20px; overflow: hidden; border: 1px solid var(--border); cursor: pointer; text-align: left; color: #fff; padding: 12px;
    display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; background: linear-gradient(160deg, rgba(80,30,80,.8), rgba(20,10,30,.9)); transition: transform .4s var(--ease-spring); }
.otd-card:hover[b-zurpjbxw7r] { transform: translateY(-4px) rotate(-1deg); }
.otd-card img[b-zurpjbxw7r] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.otd-card[b-zurpjbxw7r]::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,.8)); }
.otd-year[b-zurpjbxw7r], .otd-text[b-zurpjbxw7r] { position: relative; z-index: 1; }
.otd-year[b-zurpjbxw7r] { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--accent-2); }
.otd-text[b-zurpjbxw7r] { font-size: .84rem; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* ---------- Filtri ---------- */
.dfilters[b-zurpjbxw7r] { position: sticky; top: calc(64px + var(--safe-top)); z-index: 20; padding: 10px; border-radius: 22px; margin-bottom: 18px;
    background: linear-gradient(145deg, rgba(50,18,50,.82), rgba(18,10,30,.78)); box-shadow: 0 20px 40px -24px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.08); }
.df-top[b-zurpjbxw7r] { display: flex; gap: 8px; align-items: center; }
.df-search[b-zurpjbxw7r] { position: relative; flex: 1; min-width: 0; display: flex; align-items: center; }
.df-search > span[b-zurpjbxw7r] { position: absolute; left: 12px; font-size: .9rem; pointer-events: none; }
.df-search .input[b-zurpjbxw7r] { width: 100%; padding-left: 36px; height: 38px; }
.df-date[b-zurpjbxw7r] { width: 150px; height: 38px; }
.df-chips[b-zurpjbxw7r] { margin-top: 8px; gap: 6px; }
.df-chips .chip[b-zurpjbxw7r] { height: 32px; padding: 0 12px; }
.mood-chip[b-zurpjbxw7r] { font-size: 1.05rem; padding: 0 10px !important; }
.tag-chip i[b-zurpjbxw7r] { width: 9px; height: 9px; border-radius: 50%; background: var(--tc); box-shadow: 0 0 8px var(--tc); }
.tag-chip.active[b-zurpjbxw7r] { background: color-mix(in oklab, var(--tc) 32%, transparent); border-color: color-mix(in oklab, var(--tc) 70%, transparent); }
.df-clear[b-zurpjbxw7r] { color: var(--danger) !important; }
.df-count[b-zurpjbxw7r] { margin: 8px 4px 0; }
@media (max-width: 700px) {
    .dfilters[b-zurpjbxw7r] { top: calc(60px + var(--safe-top)); padding: 8px; }
    .df-top[b-zurpjbxw7r] { flex-wrap: wrap; }
    .df-date[b-zurpjbxw7r] { width: 44px; padding: 0 10px; flex: none; color: transparent; }
    .df-date[b-zurpjbxw7r]::-webkit-datetime-edit { display: none; }
}

/* ---------- Mesi ---------- */

/* Azioni in alto: solo l'icona, senza riquadro (come in Note). */
.dr-top-ico[b-zurpjbxw7r] { background: none; border: 0; box-shadow: none; font-size: 1.45rem; width: 44px; height: 44px; }
.dr-top-ico:hover[b-zurpjbxw7r] { background: var(--surface-1); }

/* ---------- Viste e navigazione (sempre un anno alla volta) ---------- */
.dv-views[b-zurpjbxw7r] { margin: 14px 0 10px; }
.dv-nav[b-zurpjbxw7r] { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.dv-title[b-zurpjbxw7r] { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--font-display); font-size: 1.15rem; text-align: center; }
.dv-today[b-zurpjbxw7r] { height: 28px; font-size: .78rem; font-family: inherit; }
/* /Components/Pages/Diario/DiaryList.razor.rz.scp.css */
.dl[b-tf3c9kcfca] { max-width: 900px; margin: 0 auto; position: relative; }
.dl[b-tf3c9kcfca]::before { content: ""; position: absolute; left: 33px; top: 30px; bottom: 0; width: 2px; background: linear-gradient(180deg, var(--accent), var(--accent-2), transparent); opacity: .35; border-radius: 2px; }
.dl-month[b-tf3c9kcfca] { margin: 22px 0 12px 80px; font-size: 1.05rem; color: var(--text-2); }
.dl-month:first-child[b-tf3c9kcfca] { margin-top: 0; }
.dl-card[b-tf3c9kcfca] { margin-bottom: 12px; }
.dl-open[b-tf3c9kcfca] { width: 100%; display: flex; align-items: stretch; gap: 14px; padding: 0; border: 0; background: none; cursor: pointer; text-align: left; color: var(--text); }
.dl-date[b-tf3c9kcfca] { position: relative; z-index: 1; width: 68px; height: 68px; flex: none; border-radius: 22px; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.05;
    background: linear-gradient(150deg, color-mix(in oklab, var(--mc) 60%, #1a0f2a), #140c22); border: 1px solid color-mix(in oklab, var(--mc) 50%, transparent);
    box-shadow: 0 14px 26px -14px var(--mc); transition: transform .4s var(--ease-spring); }
.dl-date b[b-tf3c9kcfca] { font-family: var(--font-display); font-size: 1.7rem; }
.dl-date span[b-tf3c9kcfca] { font-size: .66rem; font-weight: 800; text-transform: uppercase; color: var(--text-2); }
.dl-open:hover .dl-date[b-tf3c9kcfca] { transform: rotate(-6deg) scale(1.06); }
.dl-body[b-tf3c9kcfca] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; border-radius: 22px; border: 1px solid var(--border);
    background: linear-gradient(160deg, color-mix(in oklab, var(--mc) 12%, rgba(255,255,255,.05)), rgba(255,255,255,.02));
    transition: transform .4s var(--ease-spring), box-shadow .35s, border-color .3s; }
.dl-open:hover .dl-body[b-tf3c9kcfca] { transform: translateX(4px); border-color: color-mix(in oklab, var(--mc) 45%, var(--border)); box-shadow: 0 20px 40px -24px var(--mc); }
.dl-top[b-tf3c9kcfca] { display: flex; align-items: center; gap: 8px; }
.dl-mood[b-tf3c9kcfca] { font-size: 1.3rem; }
.dl-title[b-tf3c9kcfca] { font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; }
.dl-text[b-tf3c9kcfca] { color: var(--text-2); font-size: .92rem; white-space: pre-line; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
.dl-tags[b-tf3c9kcfca] { display: flex; flex-wrap: wrap; gap: 6px; }
.dl-tag[b-tf3c9kcfca] { font-size: .74rem; font-weight: 700; padding: 2px 9px; border-radius: 99px; color: color-mix(in oklab, var(--tc) 55%, white); background: color-mix(in oklab, var(--tc) 18%, transparent); border: 1px solid color-mix(in oklab, var(--tc) 40%, transparent); }
.dl-photos[b-tf3c9kcfca] { position: relative; flex: none; width: 150px; display: grid; gap: 4px; border-radius: 20px; overflow: hidden; }
.dl-photos.c1[b-tf3c9kcfca] { grid-template-columns: 1fr; }
.dl-photos.c2[b-tf3c9kcfca] { grid-template-columns: 1fr 1fr; }
.dl-photos.c3[b-tf3c9kcfca] { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
.dl-photos.c3 img:first-child[b-tf3c9kcfca] { grid-row: span 2; }
.dl-photos img[b-tf3c9kcfca] { width: 100%; height: 100%; min-height: 60px; object-fit: cover; transition: transform .7s var(--ease-out); }
.dl-open:hover .dl-photos img[b-tf3c9kcfca] { transform: scale(1.08); }
.dl-photos b[b-tf3c9kcfca] { position: absolute; right: 6px; bottom: 6px; padding: 2px 7px; border-radius: 8px; font-size: .72rem; background: rgba(0,0,0,.6); color: #fff; }

@media (max-width: 700px) {
    .dl[b-tf3c9kcfca]::before { left: 23px; }
    .dl-month[b-tf3c9kcfca] { margin-left: 60px; }
    .dl-open[b-tf3c9kcfca] { flex-wrap: wrap; gap: 10px; }
    .dl-date[b-tf3c9kcfca] { width: 48px; height: 52px; border-radius: 16px; }
    .dl-date b[b-tf3c9kcfca] { font-size: 1.25rem; }
    .dl-body[b-tf3c9kcfca] { flex: 1 1 calc(100% - 60px); }
    .dl-photos[b-tf3c9kcfca] { width: auto; height: 150px; margin-left: 58px; flex: 1 1 calc(100% - 58px); min-width: 0; }
}
/* /Components/Pages/Diario/DiaryMonth.razor.rz.scp.css */
.dm[b-f62zn7fx34] { position: relative; padding: 18px; border-radius: 30px; border: 1px solid var(--border); scroll-margin-top: 170px;
    background: linear-gradient(165deg, rgba(255,255,255,.06), rgba(255,255,255,.015));
    box-shadow: var(--shadow-2); perspective: 1400px;
    animation: dm-in-b-f62zn7fx34 .9s var(--ease-spring) backwards; animation-delay: calc(var(--k) * 70ms);
    /* comparsa guidata dallo scroll (dove supportata) */
    animation-timeline: view(); animation-range: entry 0% entry 40%; }
@keyframes dm-in-b-f62zn7fx34 { from { opacity: 0; transform: perspective(1200px) rotateX(-22deg) translateY(50px) scale(.96); } }
@supports not (animation-timeline: view()) { .dm[b-f62zn7fx34] { animation-timeline: auto; animation-range: normal; } }
.dm.no-match[b-f62zn7fx34] { opacity: .45; }

.dm-head[b-f62zn7fx34] { display: grid; grid-template-columns: auto 1fr; align-items: end; gap: 4px 16px; margin-bottom: 14px; }
.dm-title[b-f62zn7fx34] { display: flex; align-items: baseline; gap: 10px; }
.dm-name[b-f62zn7fx34] { font-size: clamp(1.4rem, 3.4vw, 2rem); font-weight: 700; background: linear-gradient(120deg, #fff 30%, var(--accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dm-year[b-f62zn7fx34] { font-family: var(--font-display); font-weight: 600; color: var(--text-3); font-size: 1.1rem; }
.dm-meta[b-f62zn7fx34] { justify-self: end; display: flex; gap: 6px; font-size: .85rem; color: var(--text-2); }
.dm-moods[b-f62zn7fx34] { grid-column: 1 / -1; display: flex; align-items: flex-end; gap: 2px; height: 22px; margin-top: 6px; }
.dm-moods i[b-f62zn7fx34] { flex: 1; height: calc(var(--h) * 20%); min-height: 2px; border-radius: 3px 3px 1px 1px; background: var(--mc); box-shadow: 0 0 8px var(--mc); opacity: .85;
    transform-origin: bottom; animation: mood-grow-b-f62zn7fx34 .8s var(--ease-spring) backwards .3s; }
@keyframes mood-grow-b-f62zn7fx34 { from { transform: scaleY(0); } }

.dm-wd[b-f62zn7fx34], .dm-grid[b-f62zn7fx34] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.dm-wd[b-f62zn7fx34] { font-size: .7rem; font-weight: 700; color: var(--text-3); text-align: center; margin-bottom: 6px; letter-spacing: .1em; }

/* ---------- Giorno ---------- */
.dd[b-f62zn7fx34] { position: relative; aspect-ratio: 4 / 3; min-width: 0; padding: 8px; border-radius: 18px; overflow: hidden; cursor: pointer; text-align: left; color: var(--text);
    display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
    border: 1px solid var(--border); background: rgba(255,255,255,.035);
    transition: transform .45s var(--ease-spring), box-shadow .35s, opacity .35s, filter .35s, border-color .3s;
    animation: dd-in-b-f62zn7fx34 .6s var(--ease-out) backwards; animation-delay: calc(var(--k) * 70ms + var(--j) * 12ms + 120ms); }
@keyframes dd-in-b-f62zn7fx34 { from { opacity: 0; transform: translateZ(-80px) rotateX(-40deg); } }
.dd.blank[b-f62zn7fx34] { background: transparent; border: 0; pointer-events: none; animation: none; }
.dd.we:not(.on)[b-f62zn7fx34] { background: rgba(0,0,0,.18); }
.dd:not(.future):hover[b-f62zn7fx34] { transform: translateY(-5px) translateZ(30px) rotateX(8deg); z-index: 2; border-color: var(--border-strong); box-shadow: 0 26px 40px -18px rgba(0,0,0,.9), 0 0 0 1px color-mix(in oklab, var(--mc) 50%, transparent); }
.dd:focus-visible[b-f62zn7fx34] { outline: 2px solid var(--accent-2); outline-offset: 2px; }
.dd.future[b-f62zn7fx34] { opacity: .3; cursor: default; }

.dd.on[b-f62zn7fx34] { background: linear-gradient(160deg, color-mix(in oklab, var(--mc) 32%, rgba(255,255,255,.05)), color-mix(in oklab, var(--mc) 8%, transparent));
    border-color: color-mix(in oklab, var(--mc) 40%, var(--border)); }
.dd.on:not(.photo)[b-f62zn7fx34]::before { content: ""; position: absolute; inset: auto -30% -50% -30%; height: 90%; border-radius: 50%; pointer-events: none;
    background: radial-gradient(closest-side, color-mix(in oklab, var(--accent) 45%, transparent), transparent); opacity: .5; }
.dd.photo[b-f62zn7fx34] { border-color: rgba(255,255,255,.18); color: #fff; }
.dd-img[b-f62zn7fx34] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-out), filter .4s; }
.dd.photo[b-f62zn7fx34]::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.45), transparent 35%, transparent 60%, rgba(0,0,0,.6)); }
.dd.photo:hover .dd-img[b-f62zn7fx34] { transform: scale(1.1); }

.dd-num[b-f62zn7fx34] { position: relative; z-index: 1; font-weight: 800; font-size: .95rem; line-height: 1; text-shadow: 0 1px 3px rgba(0,0,0,.5); }
.dd.today .dd-num[b-f62zn7fx34] { width: 26px; height: 26px; border-radius: 9px; display: grid; place-items: center; background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; box-shadow: 0 6px 14px -4px var(--accent); }
.dd.today[b-f62zn7fx34] { box-shadow: 0 0 0 2px var(--accent-2), 0 0 26px -6px var(--accent-2); }
.dd-mood[b-f62zn7fx34] { position: absolute; z-index: 1; top: 6px; right: 7px; font-size: 1.15rem; line-height: 1; filter: drop-shadow(0 3px 6px rgba(0,0,0,.5)); transition: transform .4s var(--ease-spring); }
.dd:hover .dd-mood[b-f62zn7fx34] { transform: scale(1.3) rotate(-10deg); }
.dd-text[b-f62zn7fx34] { position: relative; z-index: 1; font-size: .68rem; line-height: 1.3; color: var(--text-2); margin-top: 4px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.dd-foot[b-f62zn7fx34] { position: relative; z-index: 2; margin-top: auto; width: 100%; display: flex; align-items: center; gap: 3px; }
.dd-tag[b-f62zn7fx34] { width: 8px; height: 8px; border-radius: 50%; background: var(--tc); box-shadow: 0 0 6px var(--tc), 0 0 0 1.5px rgba(0,0,0,.35); }
.dd-count[b-f62zn7fx34] { margin-left: auto; font-size: .62rem; font-weight: 800; padding: 1px 5px; border-radius: 7px; background: rgba(0,0,0,.5); color: #fff; }
.dd-plus[b-f62zn7fx34] { position: absolute; inset: 0; display: grid; place-items: center; font-size: 1.3rem; color: var(--accent-2); opacity: 0; transform: scale(.5); transition: all .3s var(--ease-spring); }
.dd:not(.future):hover .dd-plus[b-f62zn7fx34] { opacity: .9; transform: none; }

/* Filtro attivo */
.dd.dim[b-f62zn7fx34] { opacity: .18; filter: grayscale(1); }
.dd.dim:hover[b-f62zn7fx34] { opacity: .6; filter: none; }
.dd.match[b-f62zn7fx34] { box-shadow: 0 0 0 2px var(--accent-2), 0 14px 30px -12px var(--accent); animation: dd-in-b-f62zn7fx34 .6s var(--ease-out) backwards, match-pulse-b-f62zn7fx34 2.4s ease-in-out infinite 1s; }
@keyframes match-pulse-b-f62zn7fx34 { 50% { box-shadow: 0 0 0 2px var(--accent-2), 0 0 26px -2px var(--accent-2); } }

@media (max-width: 700px) {
    .dm[b-f62zn7fx34] { padding: 12px; border-radius: 22px; }
    .dm-head[b-f62zn7fx34] { grid-template-columns: 1fr; }
    .dm-meta[b-f62zn7fx34] { justify-self: start; }
    .dm-wd[b-f62zn7fx34], .dm-grid[b-f62zn7fx34] { gap: 4px; }
    .dd[b-f62zn7fx34] { padding: 4px 5px; border-radius: 11px; aspect-ratio: 1 / 1.15; }
    .dd-num[b-f62zn7fx34] { font-size: .78rem; }
    .dd.today .dd-num[b-f62zn7fx34] { width: 20px; height: 20px; border-radius: 7px; }
    .dd-mood[b-f62zn7fx34] { top: auto; bottom: 3px; right: 3px; font-size: .8rem; }
    .dd-tag[b-f62zn7fx34] { width: 5px; height: 5px; }
    .dd-count[b-f62zn7fx34] { display: none; }
    .dd:not(.future):hover[b-f62zn7fx34] { transform: none; }
}
/* /Components/Pages/Diario/DiarySheet.razor.rz.scp.css */
.ds[b-xk0p4ohl8e] { display: flex; flex-direction: column; gap: 16px; animation: ds-in-b-xk0p4ohl8e .5s var(--ease-out) both; }
@keyframes ds-in-b-xk0p4ohl8e { from { opacity: 0; transform: translateY(12px); } }
.ds-when[b-xk0p4ohl8e] { margin-top: -6px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--accent-2); }

.ds-moods[b-xk0p4ohl8e] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.ds-mood[b-xk0p4ohl8e] { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 4px 8px; border-radius: 18px; cursor: pointer; color: var(--text-2);
    border: 1px solid var(--border); background: rgba(255,255,255,.04); transition: transform .4s var(--ease-spring), background .3s, border-color .3s, box-shadow .3s; }
.dsm-emoji[b-xk0p4ohl8e] { font-size: 1.8rem; line-height: 1; filter: grayscale(.6); transition: transform .45s var(--ease-spring), filter .3s; }
.dsm-label[b-xk0p4ohl8e] { font-size: .68rem; font-weight: 700; }
.ds-mood:hover[b-xk0p4ohl8e] { transform: translateY(-3px); }
.ds-mood:hover .dsm-emoji[b-xk0p4ohl8e] { filter: none; transform: scale(1.15) rotate(-8deg); }
.ds-mood.on[b-xk0p4ohl8e] { color: #fff; border-color: color-mix(in oklab, var(--c) 70%, transparent);
    background: linear-gradient(160deg, color-mix(in oklab, var(--c) 45%, transparent), color-mix(in oklab, var(--c) 12%, transparent)); box-shadow: 0 14px 28px -14px var(--c); }
.ds-mood.on .dsm-emoji[b-xk0p4ohl8e] { filter: none; transform: scale(1.25); animation: mood-pop-b-xk0p4ohl8e .6s var(--ease-spring); }
@keyframes mood-pop-b-xk0p4ohl8e { 0% { transform: scale(.6) rotate(-20deg); } 60% { transform: scale(1.4) rotate(8deg); } 100% { transform: scale(1.25); } }

.ds-title[b-xk0p4ohl8e] { font-family: var(--font-display); font-weight: 700; }

/* Carta a righe per il testo */
.ds-paper[b-xk0p4ohl8e] { position: relative; border-radius: 22px; padding: 4px; background: linear-gradient(160deg, color-mix(in oklab, var(--mc) 30%, transparent), transparent 60%); }
.ds-text[b-xk0p4ohl8e] { width: 100%; min-height: 220px; max-height: 55vh; field-sizing: content; resize: vertical; border-radius: 18px; line-height: 28px; padding: 14px 16px 26px;
    background: repeating-linear-gradient(180deg, transparent 0 27px, rgba(255,255,255,.06) 27px 28px), rgba(10,8,24,.75); background-attachment: local; background-position: 0 13px; }
.ds-words[b-xk0p4ohl8e] { position: absolute; right: 16px; bottom: 10px; pointer-events: none; }

.ds-tags[b-xk0p4ohl8e] { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ds-tag i[b-xk0p4ohl8e] { width: 9px; height: 9px; border-radius: 50%; background: var(--tc); box-shadow: 0 0 8px var(--tc); }
.ds-tag.active[b-xk0p4ohl8e] { background: color-mix(in oklab, var(--tc) 32%, transparent); border-color: color-mix(in oklab, var(--tc) 70%, transparent); color: #fff; animation: tag-pop-b-xk0p4ohl8e .4s var(--ease-spring); }
@keyframes tag-pop-b-xk0p4ohl8e { 50% { transform: scale(1.1); } }
.ds-newtag .input[b-xk0p4ohl8e] { height: 34px; width: 170px; border-radius: 99px; font-size: .85rem; padding: 0 14px; }

.ds-confirm[b-xk0p4ohl8e] { padding: 14px; border-radius: 18px; background: color-mix(in oklab, var(--danger) 12%, transparent); border: 1px solid color-mix(in oklab, var(--danger) 45%, transparent); }
.ds-confirm p[b-xk0p4ohl8e] { margin: 0 0 10px; }

@media (max-width: 640px) {
    .ds-moods[b-xk0p4ohl8e] { gap: 5px; }
    .ds-mood[b-xk0p4ohl8e] { padding: 8px 2px 6px; border-radius: 14px; }
    .dsm-emoji[b-xk0p4ohl8e] { font-size: 1.5rem; }
    .dsm-label[b-xk0p4ohl8e] { font-size: .58rem; }
    .ds-text[b-xk0p4ohl8e] { min-height: 180px; }
    .ds-newtag[b-xk0p4ohl8e] { flex: 1 1 100%; }
    .ds-newtag .input[b-xk0p4ohl8e] { width: 100%; }
}
/* /Components/Pages/Diario/DiaryWeek.razor.rz.scp.css */
.dw[b-x6b29h25wd] { display: flex; flex-direction: column; gap: 8px; }
.dw-day[b-x6b29h25wd] {
    display: flex; align-items: stretch; gap: 12px; width: 100%; padding: 10px; border-radius: 20px; cursor: pointer; text-align: left;
    background: linear-gradient(135deg, color-mix(in oklab, var(--mc) 14%, transparent), rgba(255,255,255,.02));
    border: 1px solid color-mix(in oklab, var(--mc) 30%, var(--border)); color: var(--text); font: inherit;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.dw-day.empty[b-x6b29h25wd] { background: transparent; border-style: dashed; border-color: var(--border); }
.dw-day.today[b-x6b29h25wd] { box-shadow: 0 0 0 1.5px color-mix(in oklab, var(--accent) 70%, transparent), 0 16px 34px -22px var(--accent); }
.dw-day.future[b-x6b29h25wd] { opacity: .45; cursor: default; }
.dw-day.dim[b-x6b29h25wd] { opacity: .35; }
.dw-day:not(:disabled):active[b-x6b29h25wd] { transform: scale(.99); }
.dw-date[b-x6b29h25wd] { width: 46px; flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; border-radius: 14px; background: rgba(0,0,0,.25); padding: 6px 0; }
.dw-date b[b-x6b29h25wd] { font-family: var(--font-display); font-size: 1.35rem; line-height: 1; }
.dw-date span[b-x6b29h25wd] { font-size: .66rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--text-2); }
.today .dw-date[b-x6b29h25wd] { background: linear-gradient(160deg, var(--accent), var(--accent-2)); }
.today .dw-date span[b-x6b29h25wd] { color: #fff; }
.dw-body[b-x6b29h25wd] { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 4px; }
.dw-top[b-x6b29h25wd] { display: flex; align-items: center; gap: 6px; min-width: 0; }
.dw-mood[b-x6b29h25wd] { font-size: 1.15rem; flex: none; }
.dw-title[b-x6b29h25wd] { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dw-text[b-x6b29h25wd] { font-size: .86rem; color: var(--text-2); line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.dw-foot[b-x6b29h25wd] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 2px; }
.dw-foot img[b-x6b29h25wd] { width: 44px; height: 44px; object-fit: cover; border-radius: 10px; }
.dw-tag[b-x6b29h25wd] { font-size: .7rem; font-weight: 700; padding: 2px 8px; border-radius: 99px; background: color-mix(in oklab, var(--tc) 25%, transparent); color: color-mix(in oklab, var(--tc) 60%, white); }
.dw-empty[b-x6b29h25wd] { color: var(--text-3); font-weight: 600; }
/* /Components/Pages/Diario/DiaryYear.razor.rz.scp.css */
.dy[b-7puviiljg1] { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.dy-m[b-7puviiljg1] {
    display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 20px; cursor: pointer; text-align: left; min-width: 0;
    background: linear-gradient(165deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border: 1px solid var(--border); color: var(--text); font: inherit;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.dy-m.cur[b-7puviiljg1] { border-color: color-mix(in oklab, var(--accent) 60%, transparent); box-shadow: 0 16px 34px -22px var(--accent); }
.dy-m.future[b-7puviiljg1] { opacity: .55; }
.dy-m:active[b-7puviiljg1] { transform: scale(.985); }
.dy-head[b-7puviiljg1] { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.dy-name[b-7puviiljg1] { font-family: var(--font-display); font-weight: 700; }
.dy-head em[b-7puviiljg1] { font-style: normal; font-size: .72rem; font-weight: 800; padding: 1px 8px; border-radius: 99px; background: color-mix(in oklab, var(--accent) 35%, transparent); }
.dy-grid[b-7puviiljg1] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.dy-grid i[b-7puviiljg1] { aspect-ratio: 1; border-radius: 4px; background: rgba(255,255,255,.07); display: grid; place-items: center; font-style: normal; font-size: .6rem; font-weight: 600; line-height: 1; color: var(--text-2); font-variant-numeric: tabular-nums; min-width: 0; overflow: hidden; }
.dy-grid i.e[b-7puviiljg1] { background: none; }
.dy-grid i.on[b-7puviiljg1] { background: var(--mc, var(--accent)); box-shadow: 0 0 6px -1px var(--mc, var(--accent)); color: #fff; font-weight: 800; }
.dy-grid i.ph[b-7puviiljg1] { outline: 1.5px solid rgba(255,255,255,.8); outline-offset: -1.5px; }
.dy-grid i.today[b-7puviiljg1] { outline: 2px solid #fff; outline-offset: 0; }

@media (max-width: 560px) {
    .dy[b-7puviiljg1] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .dy-m[b-7puviiljg1] { padding: 10px; }
    .dy-grid[b-7puviiljg1] { gap: 2px; }
    .dy-grid i[b-7puviiljg1] { font-size: .62rem; }
}
/* /Components/Pages/Diario/TagsSheet.razor.rz.scp.css */
.ts[b-mnk12g3jwt] { display: flex; flex-direction: column; gap: 10px; }
.ts-row[b-mnk12g3jwt] { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: 16px; background: color-mix(in oklab, var(--c) 10%, rgba(255,255,255,.03)); border: 1px solid color-mix(in oklab, var(--c) 30%, var(--border)); animation: ts-in-b-mnk12g3jwt .45s var(--ease-spring) backwards; }
@keyframes ts-in-b-mnk12g3jwt { from { opacity: 0; transform: translateY(8px); } }
.ts-name[b-mnk12g3jwt] { flex: 1; min-width: 0; }
.ts-use[b-mnk12g3jwt] { flex: none; }
.ts-color[b-mnk12g3jwt] { width: 38px; height: 38px; padding: 0; border: 0; border-radius: 12px; background: none; cursor: pointer; flex: none; }
.ts-color[b-mnk12g3jwt]::-webkit-color-swatch-wrapper { padding: 0; }
.ts-color[b-mnk12g3jwt]::-webkit-color-swatch { border: 0; border-radius: 12px; box-shadow: inset 0 0 0 2px rgba(255,255,255,.2); }
.ts-new[b-mnk12g3jwt] { display: flex; gap: 10px; align-items: center; margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--border); }
.ts-new .input[b-mnk12g3jwt] { flex: 1; min-width: 0; }
@media (max-width: 640px) { .ts-new[b-mnk12g3jwt] { flex-wrap: wrap; } .ts-new .btn[b-mnk12g3jwt] { width: 100%; } }
/* /Components/Pages/Dispensa/CatalogPicker.razor.rz.scp.css */
.cp-tools[b-4x6e2ga5oy] { position: sticky; top: -8px; z-index: 2; display: flex; flex-direction: column; gap: 10px; padding: 8px 0 12px; margin-top: -8px; background: linear-gradient(to bottom, rgba(20,17,50,.98) 75%, transparent); }
.cp-cats[b-4x6e2ga5oy] { padding-bottom: 2px; }

.cp-grid[b-4x6e2ga5oy] { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px; perspective: 1000px; }
.cp-tile[b-4x6e2ga5oy] {
    position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 6px 10px; border-radius: 20px;
    border: 1px solid var(--border); background: linear-gradient(160deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); color: var(--text);
    cursor: pointer; transform-style: preserve-3d;
    transition: transform .35s var(--ease-spring), border-color .2s, background .25s, box-shadow .3s;
    animation: cp-in-b-4x6e2ga5oy .45s var(--ease-out) both; animation-delay: calc(var(--i, 0) * 18ms);
    touch-action: manipulation;
}
@keyframes cp-in-b-4x6e2ga5oy { from { opacity: 0; transform: rotateX(-40deg) translateY(16px); } to { opacity: 1; transform: none; } }
.cp-tile:hover[b-4x6e2ga5oy] { transform: translateY(-3px); border-color: var(--border-strong); }
.cp-tile:active[b-4x6e2ga5oy] { transform: scale(.94); }
.cp-emo[b-4x6e2ga5oy] { font-size: 34px; line-height: 1; filter: drop-shadow(0 8px 8px rgba(0,0,0,.45)); transition: transform .4s var(--ease-spring); }
.cp-name[b-4x6e2ga5oy] { font-size: .78rem; font-weight: 600; text-align: center; line-height: 1.2; }
.cp-has[b-4x6e2ga5oy] { font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--text-3); }
.cp-check[b-4x6e2ga5oy] {
    position: absolute; top: 6px; right: 6px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center;
    font-size: .75rem; font-weight: 900; color: #1c0f00; background: linear-gradient(135deg, var(--accent), var(--accent-2));
    transform: scale(0); transition: transform .35s var(--ease-spring);
}
.cp-tile.sel[b-4x6e2ga5oy] {
    border-color: color-mix(in oklab, var(--accent) 70%, transparent);
    background: linear-gradient(160deg, color-mix(in oklab, var(--accent) 32%, transparent), color-mix(in oklab, var(--accent-2) 10%, transparent));
    box-shadow: 0 14px 30px -14px color-mix(in oklab, var(--accent) 90%, transparent);
    transform: translateY(-4px) rotateX(8deg);
}
.cp-tile.sel .cp-check[b-4x6e2ga5oy] { transform: scale(1); }
.cp-tile.sel .cp-emo[b-4x6e2ga5oy] { transform: scale(1.18) translateZ(20px); }

@media (max-width: 560px) {
    .cp-grid[b-4x6e2ga5oy] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .cp-tools[b-4x6e2ga5oy] { top: -8px; }
}
.cp-custom[b-4x6e2ga5oy] { border-style: dashed; }
/* /Components/Pages/Dispensa/ListaSpesa.razor.rz.scp.css */
/* =====================================================================
   Lista della spesa
   ===================================================================== */

@property --n { syntax: '<integer>'; initial-value: 0; inherits: false; }

.ls-shopbtn[b-zqq8gt9un0] { gap: 6px; font-size: 1.7rem; min-height: 46px; }
.ls-shopbtn span[b-zqq8gt9un0] { font-size: .9rem; }

/* ---------- Anello 3D nell'hero ---------- */
.ring3d[b-zqq8gt9un0] { position: relative; width: 120px; height: 120px; flex: none; perspective: 600px; }
.ring3d-disc[b-zqq8gt9un0] {
    position: absolute; inset: 0; border-radius: 50%;
    background: conic-gradient(from 0deg, var(--accent) calc(var(--p) * 1%), rgba(255,255,255,.08) 0);
    -webkit-mask: radial-gradient(circle, transparent 54%, #000 56%); mask: radial-gradient(circle, transparent 54%, #000 56%);
    transform: rotateX(58deg); box-shadow: 0 0 40px color-mix(in oklab, var(--accent) 50%, transparent);
    animation: disc-spin-b-zqq8gt9un0 14s linear infinite;
}
@keyframes disc-spin-b-zqq8gt9un0 { from { transform: rotateX(58deg) rotateZ(0deg); } to { transform: rotateX(58deg) rotateZ(360deg); } }
.ring3d-cart[b-zqq8gt9un0] { position: absolute; inset: 0; display: grid; place-items: center; font-size: 46px; filter: drop-shadow(0 16px 12px rgba(0,0,0,.55)); animation: cart-ride-b-zqq8gt9un0 3.2s ease-in-out infinite; }
@keyframes cart-ride-b-zqq8gt9un0 { 0%, 100% { transform: translateY(-6px) rotate(-6deg); } 50% { transform: translateY(-16px) rotate(6deg); } }

/* ---------- Barra aggiunta ---------- */
.ls-bar[b-zqq8gt9un0] { position: sticky; top: calc(62px + var(--safe-top)); z-index: 25; padding: 4px 0 6px; }
.ls-hint[b-zqq8gt9un0] { margin: 2px 4px 12px; }

/* ---------- Gruppi per reparto ---------- */
.ls-list[b-zqq8gt9un0] { display: flex; flex-direction: column; gap: 22px; }
.ls-group-h[b-zqq8gt9un0] { display: flex; align-items: center; gap: 10px; margin: 0 2px 10px; }
.ls-group-h h3[b-zqq8gt9un0] { font-size: 1.02rem; font-weight: 700; }
.ls-group-e[b-zqq8gt9un0] {
    width: 34px; height: 34px; border-radius: 12px; display: grid; place-items: center; font-size: 18px;
    background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 35%, transparent), color-mix(in oklab, var(--accent-2) 15%, transparent));
}
.ls-rows[b-zqq8gt9un0] { display: flex; flex-direction: column; gap: 8px; perspective: 1000px; }

@supports (animation-timeline: view()) {
    .ls-group[b-zqq8gt9un0] { animation: grp-rise-b-zqq8gt9un0 linear both; animation-timeline: view(); animation-range: entry 0% cover 22%; }
    @keyframes grp-rise-b-zqq8gt9un0 { from { opacity: .3; transform: perspective(1000px) rotateX(16deg) translateY(30px); } to { opacity: 1; transform: none; } }
}

/* ---------- Riga con swipe ---------- */
.srow[b-zqq8gt9un0] {
    position: relative; border-radius: 20px; touch-action: pan-y; user-select: none; -webkit-user-select: none;
    animation: row-in-b-zqq8gt9un0 .5s var(--ease-out) both; animation-delay: calc(var(--i, 0) * 35ms);
}
@keyframes row-in-b-zqq8gt9un0 { from { opacity: 0; transform: rotateX(-35deg) translateY(-10px); transform-origin: top; } to { opacity: 1; transform: none; } }
.swipe-bg[b-zqq8gt9un0] {
    position: absolute; inset: 0; border-radius: inherit; display: flex; align-items: center; justify-content: space-between; padding: 0 20px;
    font-weight: 800; font-size: .9rem; opacity: 0; transition: opacity .2s;
}
.srow.swiping .swipe-bg[b-zqq8gt9un0] { opacity: 1; }
.srow[data-dir="right"] .swipe-bg[b-zqq8gt9un0] { background: linear-gradient(90deg, color-mix(in oklab, #22c55e calc(30% + var(--p, 0) * 50%), transparent), transparent 80%); }
.srow[data-dir="left"] .swipe-bg[b-zqq8gt9un0] { background: linear-gradient(270deg, color-mix(in oklab, #f43f5e calc(30% + var(--p, 0) * 50%), transparent), transparent 80%); }
.srow[data-dir="right"] .sb-del[b-zqq8gt9un0], .srow[data-dir="left"] .sb-check[b-zqq8gt9un0] { opacity: 0; }
.sb[b-zqq8gt9un0] { transform: scale(calc(.8 + var(--p, 0) * .3)); transition: transform .2s var(--ease-spring); }
.srow.armed .sb[b-zqq8gt9un0] { transform: scale(1.2); }

.swipe-fg[b-zqq8gt9un0] {
    position: relative; display: flex; align-items: center; gap: 12px; padding: 10px 10px 10px 12px; border-radius: inherit; cursor: pointer;
    background: linear-gradient(150deg, rgba(34,30,60,.92), rgba(20,18,40,.92));
    border: 1px solid var(--border); box-shadow: 0 1px 0 rgba(255,255,255,.06) inset, 0 14px 26px -20px rgba(0,0,0,.9);
    transition: transform .35s var(--ease-out), background .3s, border-color .3s, opacity .3s;
    will-change: transform; outline: none;
}
.swipe-fg:hover[b-zqq8gt9un0] { border-color: var(--border-strong); }
.swipe-fg:focus-visible[b-zqq8gt9un0] { outline: 2px solid var(--accent-2); outline-offset: 2px; }

.check[b-zqq8gt9un0] {
    width: 30px; height: 30px; border-radius: 10px; flex: none; display: grid; place-items: center; color: transparent;
    border: 2px solid var(--border-strong); background: rgba(0,0,0,.25);
    transition: background .3s, border-color .3s, color .2s, transform .45s var(--ease-spring);
}
.check svg path[b-zqq8gt9un0] { stroke-dasharray: 24; stroke-dashoffset: 24; transition: stroke-dashoffset .4s var(--ease-out) .08s; }
.srow.done .check[b-zqq8gt9un0], .srow.just .check[b-zqq8gt9un0] {
    color: #052e16; border-color: transparent; background: linear-gradient(135deg, var(--accent), var(--accent-2));
    box-shadow: 0 6px 16px -4px color-mix(in oklab, var(--accent) 80%, transparent);
}
.srow.done .check svg path[b-zqq8gt9un0], .srow.just .check svg path[b-zqq8gt9un0] { stroke-dashoffset: 0; }
.srow.just .check[b-zqq8gt9un0] { animation: check-pop-b-zqq8gt9un0 .55s var(--ease-spring); }
@keyframes check-pop-b-zqq8gt9un0 { 0% { transform: scale(.6) rotate(-20deg); } 60% { transform: scale(1.25) rotate(6deg); } 100% { transform: none; } }

.s-emo[b-zqq8gt9un0] { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; font-size: 24px; flex: none; background: rgba(255,255,255,.06); transition: transform .45s var(--ease-spring), filter .3s; }
.srow.just .s-emo[b-zqq8gt9un0] { animation: emo-toss-b-zqq8gt9un0 .7s var(--ease-spring); }
@keyframes emo-toss-b-zqq8gt9un0 { 40% { transform: translateY(-10px) rotate(-14deg) scale(1.15); } 100% { transform: none; } }
.s-body[b-zqq8gt9un0] { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.s-name[b-zqq8gt9un0] {
    position: relative; font-weight: 600; width: fit-content; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    background: linear-gradient(currentColor, currentColor) no-repeat 0 55% / 0% 2px;
    transition: background-size .45s var(--ease-out), color .3s;
}
.srow.done .s-name[b-zqq8gt9un0], .srow.just .s-name[b-zqq8gt9un0] { background-size: 100% 2px; color: var(--text-3); }
.s-sub[b-zqq8gt9un0] { font-size: .74rem; color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.srow.done .swipe-fg[b-zqq8gt9un0] { opacity: .62; background: linear-gradient(150deg, rgba(24,22,44,.8), rgba(16,14,32,.8)); }
.srow.done .s-emo[b-zqq8gt9un0] { filter: grayscale(.7); }

.s-qty[b-zqq8gt9un0] { display: flex; align-items: center; gap: 2px; padding: 3px; border-radius: 14px; background: rgba(0,0,0,.25); flex: none; }
.s-btn[b-zqq8gt9un0] { width: 34px; height: 34px; border-radius: 11px; border: 0; background: var(--surface-2); color: var(--text); font-weight: 800; font-size: 1.1rem; cursor: pointer; transition: transform .25s var(--ease-spring); touch-action: manipulation; }
.s-btn:active[b-zqq8gt9un0] { transform: scale(.82); }
.s-btn[disabled][b-zqq8gt9un0] { opacity: .3; }
.s-btn.del[b-zqq8gt9un0] { background: transparent; color: var(--text-3); font-size: .9rem; }
.s-q[b-zqq8gt9un0] { min-width: 52px; text-align: center; font-weight: 700; font-size: .88rem; white-space: nowrap; animation: q-pop-b-zqq8gt9un0 .35s var(--ease-spring); }
@keyframes q-pop-b-zqq8gt9un0 { from { transform: scale(.6); opacity: .3; } to { transform: none; opacity: 1; } }

.ls-done .ls-group-h[b-zqq8gt9un0] { opacity: .85; }
.ls-alldone[b-zqq8gt9un0] { text-align: center; padding: 36px 20px; border-radius: 28px; border: 1px solid color-mix(in oklab, var(--accent) 40%, var(--border)); background: radial-gradient(100% 100% at 50% 0%, color-mix(in oklab, var(--accent) 22%, transparent), transparent 70%); }
.ls-alldone-e[b-zqq8gt9un0] { font-size: 60px; animation: party-b-zqq8gt9un0 1.8s var(--ease-spring) infinite; display: inline-block; }
@keyframes party-b-zqq8gt9un0 { 0%, 100% { transform: rotate(-10deg) scale(1); } 50% { transform: rotate(10deg) scale(1.12); } }
.ls-alldone h3[b-zqq8gt9un0] { font-size: 1.4rem; margin: 6px 0; }
.ls-alldone p[b-zqq8gt9un0] { margin: 0 auto 16px; max-width: 380px; }

/* ---------- Modalità negozio (schermo intero) ---------- */
.shop[b-zqq8gt9un0] {
    position: fixed; inset: 0; z-index: 150; display: flex; flex-direction: column;
    background: radial-gradient(120% 60% at 50% 0%, color-mix(in oklab, var(--accent) 22%, #05040f), #05040f 70%);
    animation: shop-in-b-zqq8gt9un0 .5s var(--ease-out) both;
}
@keyframes shop-in-b-zqq8gt9un0 { from { opacity: 0; transform: perspective(1200px) translateZ(-200px) rotateX(10deg); } to { opacity: 1; transform: none; } }
.shop-head[b-zqq8gt9un0] { display: flex; align-items: center; gap: 14px; padding: calc(14px + var(--safe-top)) 18px 14px; border-bottom: 1px solid var(--border); background: rgba(5,4,15,.6); }
.shop-title[b-zqq8gt9un0] { font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; margin-bottom: 8px; }
.shop-scan[b-zqq8gt9un0] { flex: none; text-decoration: none; font-size: 1.15rem; }
.shop-cart[b-zqq8gt9un0] {
    display: flex; align-items: center; gap: 10px; margin: 10px 16px 0; padding: 11px 16px; border-radius: 16px; text-decoration: none; color: var(--text);
    max-width: 728px; width: calc(100% - 32px); align-self: center;
    background: linear-gradient(135deg, rgba(139,92,246,.24), rgba(236,72,153,.16)); border: 1px solid rgba(167,139,250,.38);
}
.shop-cart b[b-zqq8gt9un0] { font-size: 1.1rem; }
.shop-count[b-zqq8gt9un0] { font-size: 1.1rem; color: var(--text-2); }
.shop-count b[b-zqq8gt9un0] { font-size: 2rem; color: var(--text); }
.shop-body[b-zqq8gt9un0] { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 8px 16px 24px; max-width: 760px; width: 100%; margin: 0 auto; }
.shop-cat[b-zqq8gt9un0] { position: sticky; top: 0; z-index: 2; margin: 14px -16px 8px; padding: 8px 16px; font-size: .85rem; text-transform: uppercase; letter-spacing: .08em; color: var(--text-2); background: linear-gradient(to bottom, rgba(5,4,15,.95), rgba(5,4,15,.7)); }
.shop-item[b-zqq8gt9un0] {
    width: 100%; display: flex; align-items: center; gap: 16px; min-height: 76px; padding: 12px 16px; margin-bottom: 10px; border-radius: 22px; cursor: pointer; text-align: left; color: var(--text);
    border: 1px solid var(--border-strong); background: linear-gradient(150deg, rgba(255,255,255,.09), rgba(255,255,255,.03));
    transition: transform .3s var(--ease-spring), opacity .4s, background .3s; touch-action: manipulation;
}
.shop-item:active[b-zqq8gt9un0] { transform: scale(.97); }
.shop-check[b-zqq8gt9un0] { width: 44px; height: 44px; border-radius: 14px; flex: none; display: grid; place-items: center; color: transparent; border: 3px solid var(--border-strong); transition: all .35s var(--ease-spring); }
.shop-item.done .shop-check[b-zqq8gt9un0] { color: #052e16; border-color: transparent; background: linear-gradient(135deg, var(--accent), var(--accent-2)); transform: scale(1.1) rotate(-6deg); }
.shop-emo[b-zqq8gt9un0] { font-size: 36px; flex: none; }
.shop-name[b-zqq8gt9un0] { flex: 1; min-width: 0; font-size: 1.25rem; font-weight: 700; background: linear-gradient(currentColor, currentColor) no-repeat 0 55% / 0% 3px; transition: background-size .45s var(--ease-out), color .3s; }
.shop-item.done .shop-name[b-zqq8gt9un0] { background-size: 100% 3px; color: var(--text-3); }
.shop-item.done[b-zqq8gt9un0] { opacity: .7; }
.shop-qty[b-zqq8gt9un0] { font-size: 1.05rem; font-weight: 700; color: var(--text-2); white-space: nowrap; }
.shop-done[b-zqq8gt9un0] { display: flex; flex-wrap: wrap; gap: 8px; }
.shop-chip[b-zqq8gt9un0] { padding: 8px 12px; border-radius: 99px; border: 1px solid var(--border); background: var(--surface); color: var(--text-3); text-decoration: line-through; cursor: pointer; font-size: .9rem; }
.done-h[b-zqq8gt9un0] { opacity: .8; }
.shop-win[b-zqq8gt9un0] { text-align: center; padding: 40px 10px 10px; }
.shop-win-e[b-zqq8gt9un0] { font-size: 80px; display: inline-block; animation: party-b-zqq8gt9un0 1.6s var(--ease-spring) infinite; }
.shop-win h2[b-zqq8gt9un0] { font-size: 1.8rem; margin-top: 8px; }
.shop-foot[b-zqq8gt9un0] { padding: 12px 16px calc(14px + var(--safe-bottom)); border-top: 1px solid var(--border); background: rgba(5,4,15,.75); }
.shop-foot .btn[b-zqq8gt9un0] { max-width: 760px; margin: 0 auto; display: flex; height: 58px; font-size: 1.05rem; }

/* ---------- Responsive ---------- */
@media (max-width: 560px) {
    .ls-bar[b-zqq8gt9un0] { top: calc(60px + var(--safe-top)); }
    .swipe-fg[b-zqq8gt9un0] { gap: 10px; padding: 9px 8px 9px 10px; }
    .s-emo[b-zqq8gt9un0] { width: 38px; height: 38px; font-size: 21px; }
    .s-btn[b-zqq8gt9un0] { width: 32px; height: 32px; }
    .s-q[b-zqq8gt9un0] { min-width: 44px; font-size: .82rem; }
    .shop-name[b-zqq8gt9un0] { font-size: 1.1rem; }
}

/* Scelta della lista (mia o condivise con me) */
/* Su una sola riga anche su telefono: se le liste sono tante si scorre la riga, non la pagina. */
.ls-lists[b-zqq8gt9un0] { display: flex; flex-wrap: nowrap; gap: 8px; margin: 4px 0 12px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.ls-lists[b-zqq8gt9un0]::-webkit-scrollbar { display: none; }
.ls-lists .chip[b-zqq8gt9un0] { cursor: pointer; flex: none; white-space: nowrap; }
@media (max-width: 560px) { .ls-lists[b-zqq8gt9un0] { gap: 6px; } .ls-lists .chip[b-zqq8gt9un0] { padding: 7px 11px; font-size: .84rem; } }
.ls-join[b-zqq8gt9un0] { opacity: .85; }
.ls-shared-note[b-zqq8gt9un0] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 12px; padding: 10px 12px; border-radius: 14px; background: rgba(255,255,255,.04); border: 1px solid var(--border); font-size: .9rem; }
.ls-shared-note .grow[b-zqq8gt9un0] { min-width: 0; flex: 1 1 200px; }

/* Selezione multipla (pulsante «Seleziona» o pressione lunga su una riga) */
.ls-tools[b-zqq8gt9un0] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 4px 10px; }
.ls-tools .ls-hint[b-zqq8gt9un0] { margin: 0; min-width: 0; flex: 1 1 200px; }
.pick[b-zqq8gt9un0] {
    width: 30px; height: 30px; border-radius: 50%; flex: none; display: grid; place-items: center; font-weight: 900; font-size: 1rem;
    border: 2px solid var(--border-strong); background: rgba(0,0,0,.25); color: #fff;
}
.srow.sel .pick[b-zqq8gt9un0] { border-color: transparent; background: linear-gradient(135deg, #f43f5e, #fb7185); }
.srow.sel .swipe-fg[b-zqq8gt9un0] { border-color: color-mix(in oklab, #f43f5e 60%, var(--border)); background: linear-gradient(150deg, rgba(80,24,44,.92), rgba(40,16,32,.92)); opacity: 1; }
.srow.selecting .swipe-fg[b-zqq8gt9un0] { padding-top: 13px; padding-bottom: 13px; }
.srow.selecting .s-q[b-zqq8gt9un0] { color: var(--text-2); }
.ls-selbar[b-zqq8gt9un0] {
    position: fixed; z-index: 120; left: 50%; transform: translateX(-50%); bottom: calc(14px + var(--safe-bottom));
    width: min(560px, calc(100% - 32px)); display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 20px;
    background: rgba(18,16,34,.97); border: 1px solid var(--border-strong); box-shadow: 0 18px 40px -12px rgba(0,0,0,.85);
}
.ls-selbar .grow[b-zqq8gt9un0] { flex: 1; }
.ls-selcount[b-zqq8gt9un0] { font-size: .95rem; color: var(--text-2); white-space: nowrap; }
.ls-selcount b[b-zqq8gt9un0] { font-size: 1.2rem; color: var(--text); }
.ls-selbar .btn-sm[b-zqq8gt9un0] { white-space: nowrap; }
.ls-list:has(.srow.selecting)[b-zqq8gt9un0] { padding-bottom: 80px; }

/* Ricerca nella lista e in modalità negozio */
.ls-bar[b-zqq8gt9un0] { margin: 0 0 4px; display: flex; align-items: center; gap: 8px; }
.ls-bar .ls-search[b-zqq8gt9un0] { flex: 1; min-width: 0; }
.ls-selbtn[b-zqq8gt9un0] { flex: none; width: 46px; height: 46px; }
.ls-selbtn.on[b-zqq8gt9un0] { color: #052e16; background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; }
.ls-search[b-zqq8gt9un0], .shop-search[b-zqq8gt9un0] { position: relative; display: flex; align-items: center; }
.ls-search .input[b-zqq8gt9un0], .shop-search .input[b-zqq8gt9un0] { width: 100%; padding-left: 42px; padding-right: 44px; }
.ls-search-i[b-zqq8gt9un0] { position: absolute; left: 14px; font-size: 1rem; opacity: .7; pointer-events: none; }
.ls-search .btn-icon[b-zqq8gt9un0], .shop-search .btn-icon[b-zqq8gt9un0] { position: absolute; right: 4px; }
.ls-search input[b-zqq8gt9un0]::-webkit-search-cancel-button, .shop-search input[b-zqq8gt9un0]::-webkit-search-cancel-button { display: none; }
.ls-noresult[b-zqq8gt9un0], .shop-noresult[b-zqq8gt9un0] { text-align: center; padding: 26px 12px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.ls-noresult p[b-zqq8gt9un0], .shop-noresult p[b-zqq8gt9un0] { margin: 0; overflow-wrap: anywhere; }
.shop-searchbar[b-zqq8gt9un0] { padding: 10px 16px 0; max-width: 760px; width: 100%; margin: 0 auto; }
.shop-search .input[b-zqq8gt9un0] { min-height: 50px; font-size: 1.05rem; }
/* /Components/Pages/Famiglia/FamigliaPage.razor.rz.scp.css */
/* Condivisione: elenchi di ciò che condivido e ricevo. Niente animazioni. */
.cv-sec[b-huu104m547] { margin-top: 14px; }
.cv-empty[b-huu104m547] { margin: 6px 0 0; line-height: 1.5; }
.cv-list[b-huu104m547] { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cv-row[b-huu104m547] { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 16px; background: rgba(255,255,255,.03); border: 1px solid var(--border); min-width: 0; flex-wrap: wrap; }
.cv-ico[b-huu104m547] { width: 40px; height: 40px; flex: none; border-radius: 12px; display: grid; place-items: center; font-size: 1.25rem; background: color-mix(in oklab, var(--accent) 20%, transparent); }
.cv-main[b-huu104m547] { flex: 1 1 180px; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cv-title[b-huu104m547] { font-weight: 700; color: var(--text); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cv-title:hover[b-huu104m547] { text-decoration: underline; }
.cv-people[b-huu104m547] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.cv-person[b-huu104m547] { font-size: .78rem; }
.cv-tips[b-huu104m547] { margin: 8px 0 0; padding-left: 18px; display: grid; gap: 6px; line-height: 1.5; }
.cv-tips a[b-huu104m547] { color: var(--accent-2); }
@media (max-width: 520px) {
    .cv-row > .btn[b-huu104m547] { margin-left: 52px; }
}
/* /Components/Pages/Garage/BudgetPicker.razor.rz.scp.css */
.gb[b-xfc7z0ttvb] { border-radius: 18px; border: 1px solid var(--border); background: var(--surface); padding: 12px 14px; display: flex; flex-direction: column; gap: 10px; }
.gb.on[b-xfc7z0ttvb] { border-color: rgba(124,58,237,.45); background: linear-gradient(140deg, rgba(124,58,237,.14), rgba(34,211,238,.05)), var(--surface); }
.gb-row[b-xfc7z0ttvb] { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.gb-txt[b-xfc7z0ttvb] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.gb-txt small[b-xfc7z0ttvb] { color: var(--text-3); font-size: .8rem; }
.gb-fields[b-xfc7z0ttvb] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.gb-fields .field[b-xfc7z0ttvb] { margin: 0; }
@media (max-width: 480px) { .gb-fields[b-xfc7z0ttvb] { grid-template-columns: 1fr; } }
/* /Components/Pages/Garage/GarageForm.razor.rz.scp.css */
.gf[b-jlm54za3wj] { display: flex; flex-direction: column; gap: 14px; }
.gf[b-jlm54za3wj]  .ge-kind { align-self: flex-start; }
.gf[b-jlm54za3wj]  .ge-photo { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.gf[b-jlm54za3wj]  .ge-pic { position: relative; display: block; width: 100%; aspect-ratio: 16 / 8; border-radius: 22px; overflow: hidden; cursor: pointer; border: 1px solid var(--border); }
.gf[b-jlm54za3wj]  .ge-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gf[b-jlm54za3wj]  .ge-pic-change { position: absolute; right: 10px; bottom: 10px; padding: 6px 12px; border-radius: 999px; background: rgba(0,0,0,.6); color: #fff; font-weight: 700; font-size: .85rem; }
.gf[b-jlm54za3wj]  .ge-drop {
    width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center;
    padding: 22px 16px; border-radius: 22px; cursor: pointer; border: 1.5px dashed color-mix(in srgb, var(--vc) 60%, transparent);
    background: linear-gradient(140deg, color-mix(in srgb, var(--vc) 22%, transparent), transparent), var(--surface);
}
.gf[b-jlm54za3wj]  .ge-drop-ico { font-size: 1.8rem; }
.gf[b-jlm54za3wj]  .ge-drop small { color: var(--text-3); }
.gf[b-jlm54za3wj]  .ge-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.gf[b-jlm54za3wj]  .ge-grid .field { margin: 0; min-width: 0; }
.gf[b-jlm54za3wj]  .ge-plate input { text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.gf[b-jlm54za3wj]  .ge-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.gf[b-jlm54za3wj]  .ge-colors { display: flex; flex-wrap: wrap; gap: 8px; }
.gf[b-jlm54za3wj]  .ge-color { width: 30px; height: 30px; border-radius: 50%; border: 2px solid transparent; background: var(--c); cursor: pointer; box-shadow: inset 0 0 0 2px rgba(0,0,0,.15); }
.gf[b-jlm54za3wj]  .ge-color.on { border-color: #fff; box-shadow: 0 0 0 2px var(--c); }
.gf[b-jlm54za3wj]  .ge-h { margin: 6px 0 -4px; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); display: flex; flex-direction: column; gap: 2px; }
.gf[b-jlm54za3wj]  .ge-h small { text-transform: none; letter-spacing: 0; font-weight: 600; }
.gf[b-jlm54za3wj]  .ge-dl { border-radius: 18px; border: 1px solid var(--border); background: var(--surface); padding: 12px 14px; display: flex; flex-direction: column; gap: 12px; }
.gf[b-jlm54za3wj]  .ge-dl.on { border-color: rgba(37,99,235,.4); }
.gf[b-jlm54za3wj]  .ge-dl-head { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.gf[b-jlm54za3wj]  .ge-dl-head .grow { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.gf[b-jlm54za3wj]  .ge-dl-head small { color: var(--text-3); font-size: .8rem; }
.gf[b-jlm54za3wj]  .ge-dl-ico { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; font-size: 1.2rem; background: rgba(255,255,255,.06); flex: none; }
.gf[b-jlm54za3wj]  .ge-note { margin: 0; color: var(--text-2); font-size: .88rem; }
.gf[b-jlm54za3wj]  .ge-verify { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; color: #93C5FD; font-weight: 700; font-size: .88rem; text-decoration: none; }
.gf[b-jlm54za3wj]  .ge-verify-ok { display: none; padding: 2px 8px; border-radius: 999px; background: rgba(34,197,94,.18); color: #86EFAC; font-size: .75rem; }
.gf[b-jlm54za3wj]  .ge-verify[data-copied] .ge-verify-ok { display: inline; }
@media (max-width: 520px) { .gf[b-jlm54za3wj]  .ge-grid { grid-template-columns: 1fr; } }
.gf[b-jlm54za3wj]  .gr-rule { margin: -4px 0 0; color: var(--text-3); font-size: .85rem; }
.gf[b-jlm54za3wj]  .ge-receipt { display: flex; align-items: center; gap: 12px; }
.gf[b-jlm54za3wj]  .ge-receipt-pic { width: 72px; height: 72px; border-radius: 14px; overflow: hidden; border: 1px solid var(--border); flex: none; display: block; cursor: pointer; }
.gf[b-jlm54za3wj]  .ge-receipt-pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gf[b-jlm54za3wj]  .ge-receipt-add { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 14px; border: 1.5px dashed var(--border); cursor: pointer; font-weight: 700; color: var(--text-2); }
.gf[b-jlm54za3wj]  .ge-kinds { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.gf[b-jlm54za3wj]  .ge-kindbtn {
    display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 9px 4px; border-radius: 14px; cursor: pointer; font: inherit;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-2); font-size: .74rem; font-weight: 700; text-align: center; min-width: 0;
}
.gf[b-jlm54za3wj]  .ge-kindbtn span:first-child { font-size: 1.25rem; }
.gf[b-jlm54za3wj]  .ge-kindbtn.active { border-color: rgba(37,99,235,.7); background: linear-gradient(140deg, rgba(37,99,235,.25), rgba(245,158,11,.08)); color: var(--text); }
.gf[b-jlm54za3wj]  .ge-fixedkind { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; }
@media (max-width: 380px) { .gf[b-jlm54za3wj]  .ge-kinds { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* /Components/Pages/Garage/GaragePage.razor.rz.scp.css */
.gg[b-wfwappptze] { display: flex; flex-direction: column; gap: 14px; max-width: 980px; width: 100%; margin: 0 auto; }

.gg-ok[b-wfwappptze] {
    display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 20px;
    background: linear-gradient(140deg, rgba(34,197,94,.16), rgba(34,197,94,.04)), var(--surface); border: 1px solid rgba(34,197,94,.35);
}
.gg-ok > span:first-child[b-wfwappptze] { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 900; color: #fff; background: linear-gradient(140deg, #22C55E, #16A34A); flex: none; }
.gg-ok > span:last-child[b-wfwappptze] { display: flex; flex-direction: column; gap: 2px; }
.gg-ok small[b-wfwappptze] { color: var(--text-3); }

.gg-todo[b-wfwappptze] { display: flex; flex-direction: column; gap: 8px; }
.gg-todo-row[b-wfwappptze] {
    --sc: #EAB308;
    display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-radius: 18px; color: inherit; text-decoration: none;
    background: linear-gradient(140deg, color-mix(in srgb, var(--sc) 18%, transparent), transparent 75%), var(--surface);
    border: 1px solid color-mix(in srgb, var(--sc) 45%, var(--border));
}
.gg-todo-row.urgent[b-wfwappptze], .gg-todo-row.grace[b-wfwappptze] { --sc: #F97316; }
.gg-todo-row.late[b-wfwappptze] { --sc: #EF4444; }
.gg-todo-ico[b-wfwappptze] { font-size: 1.25rem; }
.gg-todo-txt[b-wfwappptze] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.gg-todo-txt small[b-wfwappptze] { color: var(--text-2); }
.gg-todo-go[b-wfwappptze] { color: var(--text-3); font-size: 1.3rem; }

.gg-grid[b-wfwappptze] { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 14px; }
.gg-card[b-wfwappptze] {
    display: flex; flex-direction: column; border-radius: 26px; overflow: hidden; color: inherit; text-decoration: none; min-width: 0;
    background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-1);
}
.gg-card.late[b-wfwappptze] { border-color: rgba(239,68,68,.55); }
.gg-card.grace[b-wfwappptze], .gg-card.urgent[b-wfwappptze] { border-color: rgba(249,115,22,.5); }
.gg-pic[b-wfwappptze] { position: relative; display: block; }
.gg-plate[b-wfwappptze] { position: absolute; left: 12px; bottom: 12px; }
.gg-body[b-wfwappptze] { display: flex; flex-direction: column; gap: 12px; padding: 12px 14px 14px; }
.gg-name[b-wfwappptze] { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.gg-name b[b-wfwappptze] { font-size: 1.15rem; }
.gg-name small[b-wfwappptze] { color: var(--text-3); }
.gg-lights[b-wfwappptze] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.gg-light[b-wfwappptze] {
    --sc: #22C55E;
    display: flex; align-items: center; gap: 8px; padding: 7px 9px; border-radius: 13px; min-width: 0;
    background: color-mix(in srgb, var(--sc) 12%, transparent); border: 1px solid color-mix(in srgb, var(--sc) 30%, transparent);
}
.gg-light.soon[b-wfwappptze] { --sc: #EAB308; }
.gg-light.urgent[b-wfwappptze], .gg-light.grace[b-wfwappptze] { --sc: #F97316; }
.gg-light.late[b-wfwappptze] { --sc: #EF4444; }
.gg-light.none[b-wfwappptze] { --sc: #64748B; opacity: .7; }
.gg-light-ico[b-wfwappptze] { font-size: 1rem; }
.gg-light-txt[b-wfwappptze] { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.gg-light-txt span[b-wfwappptze] { font-size: .64rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.gg-light-txt b[b-wfwappptze] { font-size: .84rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.gg-add[b-wfwappptze] {
    min-height: 160px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border-radius: 26px; cursor: pointer;
    border: 1.5px dashed var(--border); background: transparent; color: var(--text-2); font: inherit; font-weight: 700;
}
.gg-add span[b-wfwappptze] { font-size: 1.8rem; }
/* /Components/Pages/Garage/LogEditor.razor.rz.scp.css */
.gl-del[b-ebpe82yt2f] { color: var(--danger); }
/* /Components/Pages/Garage/Plate.razor.rz.scp.css */
.gp-plate[b-4ci3c09wtk] {
    display: inline-flex; align-items: stretch; border-radius: 6px; overflow: hidden; flex: none;
    background: #f8fafc; color: #0f172a; border: 1.5px solid #1e293b; box-shadow: 0 2px 6px rgba(0,0,0,.25);
    font-family: "DIN Alternate", "Bahnschrift", "Arial Narrow", var(--font); letter-spacing: .06em;
}
.gp-eu[b-4ci3c09wtk] {
    display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 0;
    background: #1d4ed8; color: #fff; font-weight: 800; padding: 1px 3px 2px; font-size: .62em; line-height: 1;
}
.gp-eu i[b-4ci3c09wtk] { font-style: normal; color: #facc15; font-size: .8em; }
.gp-plate b[b-4ci3c09wtk] { padding: 2px 7px; font-weight: 800; white-space: nowrap; }
.gp-plate.md[b-4ci3c09wtk] { font-size: 1rem; }
.gp-plate.sm[b-4ci3c09wtk] { font-size: .78rem; border-width: 1px; border-radius: 5px; }
/* /Components/Pages/Garage/SlotSheet.razor.rz.scp.css */
.gs-stop[b-9x5gpztfk5] { color: var(--danger); }
/* /Components/Pages/Garage/SpesePage.razor.rz.scp.css */
.gx[b-ecbxq2eua8] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; width: 100%; margin: 0 auto; }
.gx-filters[b-ecbxq2eua8] { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.gx-chips[b-ecbxq2eua8] { display: flex; gap: 6px; }
.gx-total[b-ecbxq2eua8] {
    display: flex; flex-direction: column; gap: 2px; padding: 18px; border-radius: 26px;
    background: radial-gradient(120% 140% at 0% 0%, rgba(37,99,235,.28), transparent 60%), radial-gradient(120% 140% at 100% 100%, rgba(245,158,11,.18), transparent 60%), var(--surface);
    border: 1px solid var(--border); box-shadow: var(--shadow-1);
}
.gx-total-label[b-ecbxq2eua8] { font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.gx-total b[b-ecbxq2eua8] { font-family: var(--font-display); font-size: clamp(2rem, 9vw, 2.6rem); line-height: 1.1; }
.gx-total small[b-ecbxq2eua8] { color: var(--text-2); }
.gx-card[b-ecbxq2eua8] { padding: 14px 16px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); }
.gx-card h2[b-ecbxq2eua8] { margin: 0 0 8px; display: flex; justify-content: space-between; gap: 10px; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.gx-card h2 small[b-ecbxq2eua8] { letter-spacing: 0; text-transform: none; font-size: .9rem; color: var(--text); }
.gx-bars[b-ecbxq2eua8] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.gx-bars li[b-ecbxq2eua8] { display: flex; align-items: center; gap: 10px; }
.gx-bar-ico[b-ecbxq2eua8] { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: rgba(255,255,255,.06); flex: none; }
.gx-bar-main[b-ecbxq2eua8] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.gx-bar-top[b-ecbxq2eua8] { display: flex; justify-content: space-between; gap: 8px; font-size: .9rem; }
.gx-bar[b-ecbxq2eua8] { height: 7px; border-radius: 999px; background: rgba(255,255,255,.07); overflow: hidden; }
.gx-bar span[b-ecbxq2eua8] { display: block; height: 100%; width: var(--v); border-radius: inherit; background: linear-gradient(90deg, #2563EB, #F59E0B); }
.gx-list[b-ecbxq2eua8] { list-style: none; margin: 0; padding: 0; }
.gx-list li + li[b-ecbxq2eua8] { border-top: 1px solid rgba(255,255,255,.05); }
.gx-row[b-ecbxq2eua8] { width: 100%; display: flex; align-items: center; gap: 12px; padding: 9px 2px; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; min-width: 0; }
.gx-row-ico[b-ecbxq2eua8] { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; flex: none; background: color-mix(in srgb, var(--vc) 22%, transparent); }
.gx-row-txt[b-ecbxq2eua8] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.gx-row-txt small[b-ecbxq2eua8] { color: var(--text-3); font-size: .8rem; }
.gx-row-cost[b-ecbxq2eua8] { font-weight: 800; white-space: nowrap; }
/* /Components/Pages/Garage/VehicleDocs.razor.rz.scp.css */
.gd[b-wyn3k2a41a] { padding: 14px 16px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); display: flex; flex-direction: column; gap: 12px; }
.gd-head[b-wyn3k2a41a] { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.gd-head h2[b-wyn3k2a41a] { margin: 0; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.gd-head h2 small[b-wyn3k2a41a] { font-weight: 600; letter-spacing: 0; margin-left: 4px; }
.gd-add[b-wyn3k2a41a] { cursor: pointer; font-weight: 800; font-size: .86rem; color: #93C5FD; padding: 4px 8px; border-radius: 10px; }
.gd-add:hover[b-wyn3k2a41a] { background: rgba(255,255,255,.06); }
.gd-empty[b-wyn3k2a41a] { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 16px; border: 1.5px dashed var(--border); cursor: pointer; }
.gd-empty > span:first-child[b-wyn3k2a41a] { font-size: 1.6rem; }
.gd-empty > span:last-child[b-wyn3k2a41a] { display: flex; flex-direction: column; gap: 2px; }
.gd-empty small[b-wyn3k2a41a] { color: var(--text-3); }
.gd-grid[b-wyn3k2a41a] { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px; }
.gd-item[b-wyn3k2a41a] { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.gd-thumb[b-wyn3k2a41a] {
    display: grid; place-items: center; width: 100%; aspect-ratio: 3 / 4; border-radius: 14px; overflow: hidden; cursor: pointer; padding: 0;
    border: 1px solid var(--border); background: rgba(255,255,255,.04); color: inherit; text-decoration: none;
}
.gd-thumb img[b-wyn3k2a41a] { width: 100%; height: 100%; object-fit: cover; display: block; }
.gd-thumb.pdf[b-wyn3k2a41a] { background: linear-gradient(160deg, rgba(220,38,38,.3), rgba(251,146,60,.12)); }
.gd-thumb.pdf span[b-wyn3k2a41a] { font-weight: 900; letter-spacing: .08em; color: #FCA5A5; font-size: 1.05rem; padding: 6px 10px; border-radius: 8px; border: 2px solid currentColor; }
.gd-meta[b-wyn3k2a41a] { display: flex; align-items: center; gap: 4px; font-size: .8rem; color: var(--text-2); min-width: 0; }
.gd-meta .truncate[b-wyn3k2a41a] { flex: 1; min-width: 0; }
.gd-more[b-wyn3k2a41a] { border: 0; background: none; color: var(--text-3); cursor: pointer; padding: 2px 6px; border-radius: 8px; font-size: 1rem; line-height: 1; }
.gd-more:hover[b-wyn3k2a41a] { background: rgba(255,255,255,.08); color: var(--text); }
.gd-del[b-wyn3k2a41a] { color: var(--danger); }
/* /Components/Pages/Garage/VehiclePic.razor.rz.scp.css */
.gv-pic[b-2fh0g8f3mm] {
    position: relative; display: grid; place-items: center; overflow: hidden; flex: none;
    background: linear-gradient(140deg, var(--vc), color-mix(in srgb, var(--vc) 35%, #0b1020));
}
.gv-pic img[b-2fh0g8f3mm] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gv-pic-emo[b-2fh0g8f3mm] { font-size: 1.6rem; filter: drop-shadow(0 4px 10px rgba(0,0,0,.35)); }
.gv-pic.sm[b-2fh0g8f3mm] { width: 40px; height: 40px; border-radius: 12px; }
.gv-pic.sm .gv-pic-emo[b-2fh0g8f3mm] { font-size: 1.15rem; }
.gv-pic.md[b-2fh0g8f3mm] { width: 64px; height: 64px; border-radius: 18px; }
.gv-pic.lg[b-2fh0g8f3mm] { width: 100%; aspect-ratio: 16 / 9; border-radius: 0; }
.gv-pic.lg .gv-pic-emo[b-2fh0g8f3mm] { font-size: 3rem; }
.gv-pic.hero[b-2fh0g8f3mm] { width: 100%; height: 100%; }
.gv-pic.hero .gv-pic-emo[b-2fh0g8f3mm] { font-size: 4.2rem; }
/* /Components/Pages/Garage/VeicoloPage.razor.rz.scp.css */
.gv[b-zjwkr1ccvx] { display: flex; flex-direction: column; gap: 14px; max-width: 820px; width: 100%; margin: 0 auto; }
.gv-del:hover[b-zjwkr1ccvx] { color: var(--danger); }

/* ---------------------------------------------------------------- hero */
.gv-hero[b-zjwkr1ccvx] { position: relative; border-radius: 30px; overflow: hidden; border: 1px solid var(--border); box-shadow: var(--shadow-2); isolation: isolate; }
.gv-hero-pic[b-zjwkr1ccvx] { height: clamp(220px, 48vw, 340px); }
.gv-hero-txt[b-zjwkr1ccvx] {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 48px 18px 16px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
    background: linear-gradient(180deg, transparent, rgba(5,8,16,.85));
}
.gv-hero-txt h1[b-zjwkr1ccvx] { margin: 0; font-family: var(--font-display); font-size: clamp(1.6rem, 7vw, 2.2rem); line-height: 1.1; color: #fff; overflow-wrap: anywhere; }
.gv-hero-sub[b-zjwkr1ccvx] { color: rgba(255,255,255,.78); font-size: .9rem; }
.gv-km[b-zjwkr1ccvx] {
    position: absolute; top: 12px; right: 12px; padding: 7px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2);
    background: rgba(0,0,0,.5); color: #fff; font: inherit; font-weight: 800; font-size: .86rem; cursor: pointer;
}

/* ---------------------------------------------------------------- avvisi */
.gv-alert[b-zjwkr1ccvx] { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 18px; font-size: 1.2rem; }
.gv-alert .grow[b-zjwkr1ccvx] { display: flex; flex-direction: column; gap: 2px; font-size: .95rem; }
.gv-alert small[b-zjwkr1ccvx] { color: var(--text-2); font-size: .82rem; }
.gv-alert.late[b-zjwkr1ccvx] { background: rgba(239,68,68,.16); border: 1px solid rgba(239,68,68,.5); }
.gv-alert.grace[b-zjwkr1ccvx] { background: rgba(249,115,22,.16); border: 1px solid rgba(249,115,22,.5); }

/* ---------------------------------------------------------------- scadenze */
.gv-slots[b-zjwkr1ccvx] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.gv-slot[b-zjwkr1ccvx] {
    --sc: #22C55E;
    display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; min-width: 0;
    background: linear-gradient(150deg, color-mix(in srgb, var(--sc) 16%, transparent), transparent 70%), var(--surface);
    border: 1px solid color-mix(in srgb, var(--sc) 35%, var(--border));
}
.gv-slot.soon[b-zjwkr1ccvx] { --sc: #EAB308; }
.gv-slot.urgent[b-zjwkr1ccvx] { --sc: #F97316; }
.gv-slot.grace[b-zjwkr1ccvx] { --sc: #F97316; }
.gv-slot.late[b-zjwkr1ccvx] { --sc: #EF4444; }
.gv-slot-main[b-zjwkr1ccvx] {
    display: flex; align-items: flex-start; gap: 12px; padding: 14px 14px 8px; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; min-width: 0;
}
.gv-slot-ico[b-zjwkr1ccvx] { width: 40px; height: 40px; border-radius: 13px; display: grid; place-items: center; font-size: 1.25rem; flex: none; background: rgba(255,255,255,.07); }
.gv-slot-txt[b-zjwkr1ccvx] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.gv-slot-label[b-zjwkr1ccvx] { font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.gv-slot-txt b[b-zjwkr1ccvx] { font-size: 1.02rem; line-height: 1.25; }
.gv-slot-txt small[b-zjwkr1ccvx] { color: var(--text-2); font-size: .82rem; overflow-wrap: anywhere; }
.gv-dot[b-zjwkr1ccvx] { width: 11px; height: 11px; border-radius: 50%; background: var(--sc); box-shadow: 0 0 0 4px color-mix(in srgb, var(--sc) 25%, transparent); flex: none; margin-top: 6px; }
.gv-slot-actions[b-zjwkr1ccvx] { display: flex; align-items: center; gap: 8px; padding: 6px 12px 12px 66px; }
.gv-verify[b-zjwkr1ccvx] {
    display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border-radius: 999px; font-size: .82rem; font-weight: 800; text-decoration: none;
    color: #BFDBFE; background: rgba(59,130,246,.14); border: 1px solid rgba(59,130,246,.35);
}
.gv-copied[b-zjwkr1ccvx] { display: none; color: #86EFAC; font-weight: 700; }
.gv-verify[data-copied] .gv-copied[b-zjwkr1ccvx] { display: inline; }
.gv-renew[b-zjwkr1ccvx] {
    padding: 8px 14px; border-radius: 999px; border: 0; cursor: pointer; font: inherit; font-weight: 800; font-size: .86rem; color: #fff; white-space: nowrap;
    background: linear-gradient(140deg, #22C55E, #16A34A); box-shadow: 0 8px 20px -10px #16A34A;
}
.gv-slot-empty[b-zjwkr1ccvx] {
    flex-direction: row; align-items: center; gap: 12px; padding: 14px; cursor: pointer; font: inherit; color: var(--text-2); text-align: left;
    background: transparent; border: 1.5px dashed var(--border);
}

/* ---------------------------------------------------------------- spese, dati */
.gv-card[b-zjwkr1ccvx] { padding: 14px 16px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); }
.gv-card h2[b-zjwkr1ccvx] { margin: 0; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.gv-card h2 small[b-zjwkr1ccvx] { margin-left: 6px; letter-spacing: 0; text-transform: none; font-weight: 600; }
.gv-card h2 small b[b-zjwkr1ccvx] { color: var(--text); }
.gv-card-head[b-zjwkr1ccvx] { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.gv-add[b-zjwkr1ccvx] { border: 0; background: none; cursor: pointer; font: inherit; font-weight: 800; font-size: .86rem; color: #93C5FD; padding: 4px 8px; border-radius: 10px; }
.gv-add:hover[b-zjwkr1ccvx] { background: rgba(255,255,255,.06); }
.gv-empty[b-zjwkr1ccvx] { margin: 0; }
.gv-logs[b-zjwkr1ccvx] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.gv-logs li + li[b-zjwkr1ccvx] { border-top: 1px solid rgba(255,255,255,.05); }
.gv-log[b-zjwkr1ccvx] { width: 100%; display: flex; align-items: center; gap: 12px; padding: 9px 2px; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; min-width: 0; }
.gv-log-ico[b-zjwkr1ccvx] { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; background: rgba(255,255,255,.06); flex: none; }
.gv-log-txt[b-zjwkr1ccvx] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.gv-log-txt small[b-zjwkr1ccvx] { color: var(--text-3); font-size: .8rem; }
.gv-log-cost[b-zjwkr1ccvx] { font-weight: 800; white-space: nowrap; }
.gv-all[b-zjwkr1ccvx] { display: inline-block; margin-top: 8px; font-weight: 700; font-size: .86rem; color: #93C5FD; text-decoration: none; }
.gv-info dl[b-zjwkr1ccvx] { margin: 10px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
.gv-info dt[b-zjwkr1ccvx] { font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.gv-info dd[b-zjwkr1ccvx] { margin: 2px 0 0; overflow-wrap: anywhere; }
.gv-notes[b-zjwkr1ccvx] { margin: 12px 0 0; white-space: pre-wrap; color: var(--text-2); }

@media (max-width: 600px) {
    .gv-slots[b-zjwkr1ccvx] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.os[b-sxykq583md] {
    position: relative;
    /* Un po' meno dello schermo: sul telefono il piè di pagina resta in vista senza scorrere. */
    min-height: calc(100vh - 64px); min-height: calc(100dvh - 64px - var(--safe-bottom));
    max-width: 1080px; margin: 0 auto;
    /* In alto lo spazio del pulsante profilo (46px a 16px dal bordo): le icone partono sotto e non ci finiscono mai sotto. */
    padding: calc(80px + var(--safe-top)) 22px calc(48px + var(--safe-bottom));
    --icon: calc(78px * var(--icon-scale, 1)); --fit: 1;
    /* La home ha sempre i suoi colori (scelti in Personalizza): l'accento dell'ultima app aperta non deve tingere profilo e dettagli. */
    --accent: var(--home-accent, #8b5cf6); --accent-2: var(--home-accent-2, #22d3ee);
    display: flex; flex-direction: column; align-items: center;
}


/* ---------- Ricerca ---------- */
.search-wrap[b-sxykq583md] { position: relative; width: min(640px, 100%); margin: 26px 0 34px; z-index: 20; animation: search-in-b-sxykq583md 1s var(--ease-spring) both .15s; }
@keyframes search-in-b-sxykq583md { from { opacity: 0; transform: scale(.8) translateY(20px); } to { opacity: 1; transform: none; } }
.search[b-sxykq583md] {
    display: flex; align-items: center; gap: 12px; height: 62px; padding: 0 12px 0 20px; border-radius: 22px;
    color: var(--text-2); cursor: text;
    transition: box-shadow .4s var(--ease-out), transform .4s var(--ease-spring), border-color .3s;
}
.search.focused[b-sxykq583md] {
    transform: translateY(-3px) scale(1.02);
    border-color: color-mix(in oklab, var(--accent) 60%, transparent);
    box-shadow: 0 0 0 6px color-mix(in oklab, var(--accent) 18%, transparent), 0 30px 70px -20px color-mix(in oklab, var(--accent) 70%, transparent);
    color: var(--text);
}
.search input[b-sxykq583md] { flex: 1; min-width: 0; height: 100%; background: transparent; border: 0; outline: none; color: var(--text); font-size: 17px; font-weight: 500; }
.search input[b-sxykq583md]::placeholder { color: var(--text-3); }
.search input[b-sxykq583md]::-webkit-search-cancel-button { display: none; }
kbd[b-sxykq583md] { font-family: var(--font); font-size: .72rem; padding: 4px 8px; border-radius: 8px; background: var(--surface-2); border: 1px solid var(--border); color: var(--text-3); }

.results[b-sxykq583md] {
    position: absolute; left: 0; right: 0; top: calc(100% + 10px); padding: 8px; border-radius: 22px;
    max-height: 60vh; overflow-y: auto; background: rgba(18, 15, 48, .9);
    box-shadow: 0 40px 80px -20px rgba(0,0,0,.8);
    animation: res-in-b-sxykq583md .35s var(--ease-out) both; transform-origin: top center;
}
@keyframes res-in-b-sxykq583md { from { opacity: 0; transform: rotateX(-25deg) translateY(-10px); } to { opacity: 1; transform: none; } }
.result[b-sxykq583md] { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; transition: background .2s; animation: fade-up-b-sxykq583md .4s var(--ease-out) both; animation-delay: calc(var(--i) * 30ms); }
.result:hover[b-sxykq583md], .result.sel[b-sxykq583md] { background: var(--surface-2); }
@keyframes fade-up-b-sxykq583md { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ---------- Griglia app ---------- */
.grid-apps[b-sxykq583md] {
    width: 100%;
    display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: calc(26px * var(--fit)) 6px; justify-items: center;
}
@media (min-width: 1400px) { .os[b-sxykq583md] { max-width: 1180px; } .grid-apps[b-sxykq583md] { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
@media (max-width: 1000px) { .os[b-sxykq583md] { --icon: calc(72px * var(--icon-scale, 1)); } .grid-apps[b-sxykq583md] { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 700px) {
    .os[b-sxykq583md] { --icon: calc(clamp(52px, 15.5vw, 64px) * var(--icon-scale, 1)); padding-left: 16px; padding-right: 16px; }
    .grid-apps[b-sxykq583md] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(20px * var(--fit)) 4px; }
    /* Colonne scelte in Personalizza (già limitate a quante ci stanno con la dimensione delle icone). */
    html.fz-colsm .grid-apps[b-sxykq583md] { grid-template-columns: repeat(var(--cols-m, 4), minmax(0, 1fr)); }
    html.fz-colsm .os[b-sxykq583md] { --icon: calc(min(clamp(52px, 15.5vw, 64px) * var(--icon-scale, 1), (100vw - 32px) / var(--cols-m, 4) - 14px)); }
    /* Nomi delle app in proporzione alla colonna: con 5-6 colonne il testo si rimpicciolisce e resta leggibile per intero. */
    html.fz-colsm .app-name[b-sxykq583md] {
        font-size: clamp(.6rem, calc((100vw - 32px) / var(--cols-m, 4) / 6.4), calc(.8rem * max(var(--fit), .85))); letter-spacing: -.01em;
        /* i nomi di due parole («Link preferiti») vanno a capo invece di essere tagliati */
        white-space: normal; line-height: 1.15; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
    }
    .search-wrap[b-sxykq583md] { margin: 20px 0 26px; }
    .search[b-sxykq583md] { height: 54px; }
}
/* Schermi bassi (portatili, telefoni piccoli): orologio e spazi più compatti */
@media (max-height: 760px) {
    .search-wrap[b-sxykq583md] { margin: 16px 0 22px; }
}


.app[b-sxykq583md] {
    display: flex; flex-direction: column; align-items: center; gap: 10px; background: none; border: 0; padding: 0; cursor: pointer;
    width: 100%; max-width: calc(var(--icon) * var(--fit) + 30px); gap: calc(8px * var(--fit));
}

.app-icon[b-sxykq583md] {
    position: relative; display: grid; place-items: center;
    width: calc(var(--icon) * var(--fit)); aspect-ratio: 1; border-radius: 27%;
    background:
        radial-gradient(120% 90% at 30% 10%, rgba(255,255,255,.45), transparent 45%),
        linear-gradient(145deg, var(--a), var(--b));
    box-shadow:
        inset 0 2px 1px rgba(255,255,255,.55),
        inset 0 -10px 22px rgba(0,0,0,.28),
        0 2px 0 color-mix(in oklab, var(--b) 60%, black),
        0 18px 30px -10px color-mix(in oklab, var(--a) 75%, transparent),
        0 30px 60px -25px rgba(0,0,0,.9);
    transition: transform .08s ease-out;
    overflow: hidden;
}
.app-icon-box[b-sxykq583md] { position: relative; display: block; }
.app-icon.small[b-sxykq583md] { width: 56px; }
.app-glyph[b-sxykq583md] {
    font-size: calc(var(--icon) * var(--fit) * .5); line-height: 1;
    filter: drop-shadow(0 6px 8px rgba(0,0,0,.35));
}
.app-icon.small .app-glyph[b-sxykq583md] { font-size: 28px; }
.app-shine[b-sxykq583md] {
    position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.45) 45%, transparent 60%);
    transform: translateX(-120%);
}
/* Niente effetti al passaggio del mouse (riflesso che scorre, icona che ruota): solo la pressione al tocco. */
.app-shine[b-sxykq583md] { display: none; }
.app[b-sxykq583md] { text-decoration: none; color: inherit; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.app:active .app-icon[b-sxykq583md] { transform: scale(.93); }
.app:focus-visible .app-icon[b-sxykq583md] { outline: 3px solid white; outline-offset: 4px; }

.app-name[b-sxykq583md] {
    font-size: calc(.8rem * max(var(--fit), .85)); font-weight: 600; color: var(--text); text-align: center;
    text-shadow: 0 2px 10px rgba(0,0,0,.8); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
}

/* Riflesso sotto l'icona (pavimento lucido) */
.app[b-sxykq583md]::after {
    content: ""; width: 60%; height: 10px; margin-top: -6px; border-radius: 50%;
    background: radial-gradient(closest-side, color-mix(in oklab, var(--a) 60%, transparent), transparent);
    filter: blur(4px); opacity: .7; order: 1;
}
.app-name[b-sxykq583md] { order: 2; }

/* ---------- Menu utente ---------- */
.user-menu[b-sxykq583md] { position: absolute; top: calc(16px + var(--safe-top)); right: 16px; z-index: 40; animation: fade-in .8s ease .4s backwards; }
.user-chip[b-sxykq583md] { display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 14px 0 5px; border-radius: 99px; cursor: pointer; color: var(--text); font-weight: 600; }
.user-avatar[b-sxykq583md] { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: .85rem; background: linear-gradient(135deg, #8b5cf6, #22d3ee); box-shadow: inset 0 1px 0 rgba(255,255,255,.4); }
/* Menu aperto/chiuso nel browser con la classe .open (vedi fullzcodedepthv.js): nessun passaggio dal server. */
.user-menu:not(.open) .user-pop[b-sxykq583md] { display: none; }
.user-pop[b-sxykq583md] { position: absolute; right: 0; top: calc(100% + 10px); width: 240px; padding: 8px; border-radius: 20px; background: rgba(18, 15, 48, .92); box-shadow: 0 30px 60px -15px rgba(0,0,0,.8); }
.user-pop-head[b-sxykq583md] { display: flex; flex-direction: column; padding: 8px 10px 10px; border-bottom: 1px solid var(--border); margin-bottom: 6px; }
.user-pop[b-sxykq583md]  .user-pop-item, .user-pop-item[b-sxykq583md] { display: flex; width: 100%; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; border: 0; background: none; color: var(--text); font: inherit; font-weight: 600; text-align: left; cursor: pointer; }
.user-pop[b-sxykq583md]  .user-pop-item:hover, .user-pop-item:hover[b-sxykq583md] { background: var(--surface-2); }
.user-pop[b-sxykq583md]  .user-pop-item.danger { color: #fecdd3; }

/* La home compare subito, senza animazioni d'ingresso: tornando dalle app sembrava che ricaricasse tutto. */
.search-wrap[b-sxykq583md], .app[b-sxykq583md], .user-menu[b-sxykq583md] { animation: none !important; }

/* Telefono con la ricerca attiva: ricerca a sinistra e pallino del profilo a destra sulla stessa riga
   (una riga di spazio in più per le app). Il pallino resta assoluto in alto a destra; la ricerca va per prima nel
   flusso e gli lascia il posto con --hs-inset (letta da HomeSearch, che allarga i risultati a tutta la riga). */
@media (max-width: 700px) {
    .os.os-search[b-sxykq583md] { padding-top: calc(16px + var(--safe-top)); --hs-inset: 56px; --hs-h: 46px; }
    .os.os-search[b-sxykq583md]  .hs { order: -1; }
    .os-search .user-chip[b-sxykq583md] { position: relative; width: 46px; padding: 0; justify-content: center; }
    .os-search .admin-dot[b-sxykq583md] { position: absolute; top: -4px; right: -6px; }
    .os-search .user-pop[b-sxykq583md] { width: min(240px, calc(100vw - 32px)); }
}

.admin-dot[b-sxykq583md] { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px; display: grid; place-items: center; font-size: .7rem; font-weight: 800; color: #fff; background: var(--danger); box-shadow: 0 0 10px var(--danger); }


/* ---------- Riordino delle icone (pressione lunga + trascinamento, vedi js/home.js) ---------- */
.grid-apps[b-sxykq583md], .grid-apps *[b-sxykq583md] { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
.grid-apps.editing[b-sxykq583md] { touch-action: none; }
.grid-apps.editing .app[b-sxykq583md] { cursor: grab; }
.app.dragging[b-sxykq583md] { position: relative; z-index: 60; pointer-events: none; cursor: grabbing; }
.app.dragging .app-icon[b-sxykq583md] { animation: none; box-shadow: 0 24px 40px -10px rgba(0,0,0,.8), 0 0 0 3px rgba(255,255,255,.6); }


/* Telefono/tablet: nessuna transizione e niente riflesso sotto le icone, il tocco apre subito l'app. */
@media (hover: none), (pointer: coarse) {
    .app-icon[b-sxykq583md] { transition: none; }
    .app[b-sxykq583md]::after { display: none; }
}


/* ---------- Personalizza: colonne su schermo largo, nomi nascosti ---------- */
@media (min-width: 701px) {
    html.fz-colsd .grid-apps[b-sxykq583md] { grid-template-columns: repeat(var(--cols-d, 7), minmax(0, 1fr)); }
    html.fz-colsd .os[b-sxykq583md] { max-width: min(1280px, calc(var(--cols-d, 7) * (var(--icon) + 64px))); }
}
html.fz-nolabels .app-name[b-sxykq583md] { display: none; }
/* /Components/Pages/HomeSearch.razor.rz.scp.css */
/* Barra di ricerca della home: vetro scuro con bordo luminoso, risultati in un pannello sotto. Niente animazioni. */
.hs[b-tp2to9o42w] { position: relative; width: min(640px, 100%); margin: 0 auto 30px; z-index: 5; }
.hs-box[b-tp2to9o42w] {
    display: flex; align-items: center; gap: 10px; height: 54px; padding: 0 10px 0 18px; border-radius: 999px; cursor: text;
    background: rgba(12, 10, 30, .72); border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 14px 40px -18px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.06);
}
.hs.open .hs-box[b-tp2to9o42w], .hs-box:focus-within[b-tp2to9o42w] {
    border-color: color-mix(in oklab, var(--accent) 65%, transparent);
    box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 22%, transparent), 0 18px 40px -18px rgba(0,0,0,.85);
}
.hs-ico[b-tp2to9o42w] { color: var(--text-2); flex: none; }
.hs-input[b-tp2to9o42w] { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; font-size: 1.02rem; }
.hs-input[b-tp2to9o42w]::placeholder { color: var(--text-3); }
.hs-input[b-tp2to9o42w]::-webkit-search-cancel-button { display: none; }
.hs-clear[b-tp2to9o42w] { width: 34px; height: 34px; flex: none; border-radius: 50%; border: 0; background: rgba(255,255,255,.08); color: var(--text-2); cursor: pointer; font-size: .85rem; }
.hs-spin[b-tp2to9o42w] { width: 16px; height: 16px; flex: none; border-radius: 50%; border: 2px solid rgba(255,255,255,.18); border-top-color: var(--accent-2); animation: hs-spin-b-tp2to9o42w .7s linear infinite; }
@keyframes hs-spin-b-tp2to9o42w { to { transform: rotate(360deg); } }

.hs-panel[b-tp2to9o42w] {
    position: absolute; left: 0; right: 0; top: calc(100% + 8px); max-height: min(62vh, 520px); overflow-y: auto; overscroll-behavior: contain;
    padding: 6px; border-radius: 22px; background: rgba(14, 12, 34, .97); border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 30px 70px -20px rgba(0,0,0,.9);
}
.hs-empty[b-tp2to9o42w] { padding: 18px; text-align: center; color: var(--text-3); }
.hs-item[b-tp2to9o42w] { display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: 14px; color: var(--text); text-decoration: none; min-width: 0; }
.hs-item:hover[b-tp2to9o42w], .hs-item.sel[b-tp2to9o42w] { background: rgba(255,255,255,.07); }
.hs-item-ico[b-tp2to9o42w] { width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: 11px; font-size: 1.15rem; background: color-mix(in oklab, var(--c) 30%, rgba(0,0,0,.3)); }
.hs-item-txt[b-tp2to9o42w] { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.hs-item-txt b[b-tp2to9o42w] { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-item-txt small[b-tp2to9o42w] { color: var(--text-3); font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hs-item-go[b-tp2to9o42w] { color: var(--text-3); font-size: 1.3rem; }

@media (max-width: 700px) {
    .hs[b-tp2to9o42w] { margin-bottom: 24px; }
    .hs-box[b-tp2to9o42w] { height: 50px; }
    .hs-panel[b-tp2to9o42w] { max-height: 60vh; }
    /* Sulla riga del pallino del profilo (--hs-inset dalla home): barra più bassa e risultati larghi tutta la riga. */
    .hs[b-tp2to9o42w] { width: calc(100% - var(--hs-inset, 0px)); margin-left: 0; margin-right: var(--hs-inset, 0px); }
    .hs-box[b-tp2to9o42w] { height: var(--hs-h, 50px); }
    .hs-panel[b-tp2to9o42w] { right: calc(-1 * var(--hs-inset, 0px)); }
}
/* /Components/Pages/Lavoro/Attivita.razor.rz.scp.css */
/* ---------- KPI ---------- */
.a-kpis[b-l7idkkhawc] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 14px; margin-bottom: 18px; align-items: stretch; }
.a-kpis > div[b-l7idkkhawc] { min-width: 0; }
.a-kpi[b-l7idkkhawc] {
    width: 100%; height: 100%; display: flex; align-items: center; gap: 14px; text-align: left; cursor: pointer; color: var(--text); font: inherit; overflow: hidden;
    background: linear-gradient(150deg, color-mix(in oklab, var(--c) 22%, transparent), rgba(255,255,255,.02));
}
.a-kpi[b-l7idkkhawc]::before { content: ""; position: absolute; right: -30px; bottom: -40px; width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in oklab, var(--c) 45%, transparent), transparent); pointer-events: none; }
.a-kpi.active[b-l7idkkhawc] { border-color: var(--c); box-shadow: 0 0 0 1px var(--c), 0 20px 40px -20px var(--c); }
.a-kpi-ico[b-l7idkkhawc] { width: 46px; height: 46px; flex: none; border-radius: 15px; display: grid; place-items: center; font-size: 1.4rem; background: linear-gradient(135deg, color-mix(in oklab, var(--c) 60%, transparent), color-mix(in oklab, var(--c) 20%, transparent)); box-shadow: 0 10px 20px -10px var(--c), inset 0 1px 0 rgba(255,255,255,.25); transform: translateZ(30px); }
.a-ring[b-l7idkkhawc] { height: 100%; display: grid; place-items: center; padding: 12px 18px; }
@media (max-width: 1000px) { .a-kpis[b-l7idkkhawc] { grid-template-columns: repeat(2, minmax(0, 1fr)); } .a-ring-wrap[b-l7idkkhawc] { grid-column: 1 / -1; } .a-ring[b-l7idkkhawc] { display: flex; justify-content: center; } }
@media (max-width: 480px) { .a-kpi[b-l7idkkhawc] { padding: 14px; gap: 10px; } .a-kpi-ico[b-l7idkkhawc] { width: 38px; height: 38px; font-size: 1.1rem; } .a-kpi .kpi-value[b-l7idkkhawc] { font-size: 1.5rem; } }

/* ---------- Barra filtri ---------- */
.a-toolbar[b-l7idkkhawc] { position: sticky; top: calc(64px + var(--safe-top)); z-index: 20; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px; border-radius: 20px; margin-bottom: 20px; background: linear-gradient(145deg, rgba(40,28,40,.8), rgba(16,12,30,.75)); }
.a-search[b-l7idkkhawc] { flex: 1 1 240px; display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; border-radius: 13px; background: rgba(0,0,0,.28); border: 1px solid var(--border); color: var(--text-2); }
.a-search:focus-within[b-l7idkkhawc] { border-color: color-mix(in oklab, var(--accent) 70%, white); box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 22%, transparent); }
.a-search input[b-l7idkkhawc] { flex: 1; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; font-size: 16px; }
.a-filters[b-l7idkkhawc] { flex: 1 1 auto; padding-bottom: 0; }
.a-filters .chip[b-l7idkkhawc] { height: 34px; }
.a-selects[b-l7idkkhawc] { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.a-sel[b-l7idkkhawc] { height: 38px; width: auto; min-width: 150px; font-size: .88rem; border-radius: 12px; }
@media (max-width: 700px) {
    .a-toolbar[b-l7idkkhawc] { top: calc(60px + var(--safe-top)); }
    .a-search[b-l7idkkhawc], .a-filters[b-l7idkkhawc] { flex-basis: 100%; }
    .a-selects[b-l7idkkhawc] { width: 100%; }
    .a-sel[b-l7idkkhawc] { flex: 1; min-width: 0; }
}

/* ---------- Elenco raggruppato ---------- */
.a-groups[b-l7idkkhawc] { display: flex; flex-direction: column; gap: 22px; }
.a-ghead[b-l7idkkhawc] { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; padding: 0 4px; }
.a-gdate[b-l7idkkhawc] { width: 48px; height: 52px; flex: none; border-radius: 15px; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.05; background: rgba(255,255,255,.06); border: 1px solid var(--border); box-shadow: var(--shadow-1); }
.a-gdate .num[b-l7idkkhawc] { font-size: 1.3rem; font-weight: 700; }
.a-gdate span:last-child[b-l7idkkhawc] { font-size: .64rem; text-transform: uppercase; letter-spacing: .08em; color: var(--text-2); font-weight: 700; }
.a-ghead.today .a-gdate[b-l7idkkhawc] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; box-shadow: 0 10px 24px -10px var(--accent); }
.a-ghead.today .a-gdate span:last-child[b-l7idkkhawc] { color: #fff; }
.a-ghead.late .a-gdate[b-l7idkkhawc] { border-color: color-mix(in oklab, var(--danger) 60%, transparent); box-shadow: 0 0 20px -6px var(--danger); }

.a-list[b-l7idkkhawc] { display: flex; flex-direction: column; gap: 8px; perspective: 1200px; }
.a-item[b-l7idkkhawc] {
    position: relative; display: flex; align-items: center; gap: 14px; padding: 14px 14px 14px 18px; border-radius: 18px; cursor: pointer; overflow: hidden;
    background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    border: 1px solid var(--border); box-shadow: var(--shadow-1);

    transition: transform .4s var(--ease-spring), box-shadow .3s, border-color .3s, opacity .4s, background .3s;
    animation: item-in-b-l7idkkhawc .55s var(--ease-out) backwards; animation-delay: calc(min(var(--i), 12) * 40ms);
}
@keyframes item-in-b-l7idkkhawc { from { opacity: 0; transform: rotateX(-35deg) translateY(16px); } }
.a-item[b-l7idkkhawc]::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 4px; border-radius: 0 4px 4px 0; background: var(--tc); box-shadow: 0 0 14px var(--tc); }
.a-item:hover[b-l7idkkhawc] { transform: translateY(-2px) translateZ(12px) rotateX(3deg); border-color: color-mix(in oklab, var(--tc) 45%, var(--border)); box-shadow: 0 22px 40px -22px var(--tc), var(--shadow-1); }
.a-item.done[b-l7idkkhawc] { opacity: .6; background: rgba(255,255,255,.025); }
.a-item.done .a-title[b-l7idkkhawc] { text-decoration: line-through; text-decoration-color: color-mix(in oklab, var(--tc) 80%, white); }
.a-item.leaving[b-l7idkkhawc] { animation: item-out-b-l7idkkhawc .6s var(--ease-out) .35s forwards; }
@keyframes item-out-b-l7idkkhawc { to { opacity: 0; transform: translateX(60px) rotateY(-25deg) scale(.95); } }
.a-main[b-l7idkkhawc] { min-width: 0; }
.a-title[b-l7idkkhawc] { font-weight: 650; font-size: 1rem; overflow-wrap: anywhere; }
.a-meta[b-l7idkkhawc] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 3px; font-size: .78rem; color: var(--text-2); }
.a-prio[b-l7idkkhawc] { color: color-mix(in oklab, var(--pc) 55%, white); font-weight: 650; }
.a-proj[b-l7idkkhawc] { display: inline-flex; padding: 1px 9px; border-radius: 99px; font-size: .72rem; font-weight: 650; background: color-mix(in oklab, var(--tc, var(--accent)) 22%, transparent); color: #fff; }
.a-desc[b-l7idkkhawc] { margin-top: 4px; font-size: .82rem; color: var(--text-3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.a-actions[b-l7idkkhawc] { display: flex; gap: 6px; flex: none; opacity: 0; transform: translateX(10px); transition: opacity .25s, transform .35s var(--ease-spring); }
.a-item:hover .a-actions[b-l7idkkhawc], .a-item:focus-within .a-actions[b-l7idkkhawc] { opacity: 1; transform: none; }
.a-actions .btn[b-l7idkkhawc] { height: 30px; padding: 0 10px; font-size: .78rem; }
.a-actions .btn-icon[b-l7idkkhawc] { width: 30px; padding: 0; }
@media (hover: none), (max-width: 700px) {
    .a-item[b-l7idkkhawc] { flex-wrap: wrap; padding: 12px 12px 10px 16px; }
    .a-main[b-l7idkkhawc] { flex: 1 1 calc(100% - 50px); }
    .a-actions[b-l7idkkhawc] { opacity: 1; transform: none; width: 100%; padding-left: 44px; }
    .a-actions .btn[b-l7idkkhawc] { flex: 1; }
    .a-actions .btn-icon[b-l7idkkhawc] { flex: 0 0 34px; }
}

/* ---------- Kanban ---------- */
.kanban[b-l7idkkhawc] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: start; perspective: 1400px; }
.kb-col[b-l7idkkhawc] {
    border-radius: 22px; padding: 12px; min-height: 260px;
    background: linear-gradient(180deg, color-mix(in oklab, var(--pc) 16%, rgba(255,255,255,.04)), rgba(255,255,255,.015));
    border: 1px solid color-mix(in oklab, var(--pc) 30%, var(--border));
    box-shadow: var(--shadow-1); transition: box-shadow .25s, transform .35s var(--ease-spring);
}
.kb-col.over[b-l7idkkhawc] { transform: translateZ(20px) scale(1.01); box-shadow: 0 0 0 2px var(--pc), 0 30px 50px -25px var(--pc); }
.kb-head[b-l7idkkhawc] { display: flex; align-items: center; gap: 8px; padding: 4px 4px 12px; }
.kb-head strong[b-l7idkkhawc] { flex: 1; font-family: var(--font-display); }
.kb-ico[b-l7idkkhawc] { width: 30px; height: 30px; border-radius: 10px; display: grid; place-items: center; background: color-mix(in oklab, var(--pc) 35%, transparent); box-shadow: 0 6px 14px -6px var(--pc); }
.kb-list[b-l7idkkhawc] { display: flex; flex-direction: column; gap: 8px; }
.kb-card[b-l7idkkhawc] {
    padding: 12px; border-radius: 16px; cursor: grab; position: relative;
    background: linear-gradient(145deg, rgba(20,18,50,.85), rgba(12,10,32,.85)); border: 1px solid var(--border);
    border-top: 3px solid var(--tc); box-shadow: 0 12px 24px -16px rgba(0,0,0,.9);
    transition: transform .35s var(--ease-spring), box-shadow .3s;
}
.kb-card:hover[b-l7idkkhawc] { transform: translateY(-3px) rotateX(6deg) translateZ(10px); box-shadow: 0 22px 34px -16px var(--tc); }
.kb-card:active[b-l7idkkhawc] { cursor: grabbing; }
.kb-card.done[b-l7idkkhawc] { opacity: .55; }
.kb-card.done .kb-title[b-l7idkkhawc] { text-decoration: line-through; }
.kb-card.late[b-l7idkkhawc] { box-shadow: 0 0 0 1px color-mix(in oklab, var(--danger) 50%, transparent), 0 12px 24px -16px var(--danger); }
.kb-title[b-l7idkkhawc] { font-weight: 650; font-size: .92rem; overflow-wrap: anywhere; }
.kb-meta[b-l7idkkhawc] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; font-size: .74rem; color: var(--text-2); align-items: center; }
.kb-empty[b-l7idkkhawc] { padding: 26px 8px; text-align: center; font-size: .8rem; color: var(--text-3); border: 1.5px dashed var(--border); border-radius: 14px; }
@media (max-width: 1100px) { .kanban[b-l7idkkhawc] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* /Components/Pages/Lavoro/DaySheet.razor.rz.scp.css */
.ds-meta[b-69dmpa6vgq] { display: flex; flex-wrap: wrap; gap: 6px; }

.status-grid[b-69dmpa6vgq] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; perspective: 900px; }
@media (max-width: 560px) { .status-grid[b-69dmpa6vgq] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.st-btn[b-69dmpa6vgq] {
    position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
    min-height: 88px; padding: 12px 8px; border-radius: 20px; cursor: pointer; color: var(--text);
    border: 1px solid color-mix(in oklab, var(--c) 35%, var(--border));
    background: linear-gradient(160deg, color-mix(in oklab, var(--c) 26%, transparent), color-mix(in oklab, var(--c) 6%, transparent));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 14px 30px -18px var(--c);
    transform-style: preserve-3d;
    transition: transform .4s var(--ease-spring), box-shadow .3s, border-color .3s;
    animation: st-in-b-69dmpa6vgq .6s var(--ease-spring) backwards; animation-delay: calc(var(--i) * 40ms);
}
.st-btn[b-69dmpa6vgq]::before { content: ""; position: absolute; inset: -40% -10% auto; height: 80%; background: radial-gradient(closest-side, color-mix(in oklab, var(--c) 45%, transparent), transparent); opacity: .5; transition: opacity .3s; pointer-events: none; }
.st-btn:hover[b-69dmpa6vgq] { transform: translateY(-4px) rotateX(10deg) translateZ(10px); box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 22px 40px -16px var(--c); border-color: var(--c); }
.st-btn:active[b-69dmpa6vgq] { transform: scale(.94); }
.st-btn.active[b-69dmpa6vgq] { border-color: var(--c); background: linear-gradient(160deg, color-mix(in oklab, var(--c) 60%, transparent), color-mix(in oklab, var(--c) 22%, transparent)); box-shadow: 0 0 0 2px color-mix(in oklab, var(--c) 60%, transparent), 0 20px 40px -14px var(--c); }
.st-btn.active[b-69dmpa6vgq]::after { content: "✓"; position: absolute; top: 8px; right: 10px; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: .7rem; font-weight: 800; background: #fff; color: #0b0a1f; }
.st-ico[b-69dmpa6vgq] { font-size: 1.9rem; line-height: 1; filter: drop-shadow(0 6px 10px rgba(0,0,0,.4)); transform: translateZ(20px); }
.st-lbl[b-69dmpa6vgq] { font-weight: 650; font-size: .86rem; text-align: center; }
@keyframes st-in-b-69dmpa6vgq { from { opacity: 0; transform: rotateX(-50deg) translateY(20px) scale(.9); } to { opacity: 1; transform: none; } }

.dim-inv[b-69dmpa6vgq] { opacity: .75; font-variant-numeric: tabular-nums; }

.ds-times[b-69dmpa6vgq] { margin-top: 10px; }
@media (max-width: 560px) { .ds-times[b-69dmpa6vgq] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px; } .ds-times .input[b-69dmpa6vgq] { padding: 0 8px; } }

.ds-hours[b-69dmpa6vgq] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 14px; padding: 12px 16px; border-radius: 16px; background: rgba(0,0,0,.22); border: 1px solid var(--border); }
.ds-hours-val[b-69dmpa6vgq] { font-size: 1.5rem; font-weight: 700; background: linear-gradient(120deg, #fff, var(--accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
/* /Components/Pages/Lavoro/DayView.razor.rz.scp.css */
.d-stage[b-26tuvkdsld] { perspective: 1600px; }
.d-page[b-26tuvkdsld] { transform-style: preserve-3d; }
.turn-next[b-26tuvkdsld] { transform-origin: 0 50%; animation: d-next-b-26tuvkdsld .65s var(--ease-out) both; }
.turn-prev[b-26tuvkdsld] { transform-origin: 100% 50%; animation: d-prev-b-26tuvkdsld .65s var(--ease-out) both; }
.turn-none[b-26tuvkdsld] { animation: d-none-b-26tuvkdsld .6s var(--ease-out) both; }
@keyframes d-next-b-26tuvkdsld { from { opacity: 0; transform: translateX(18%) rotateY(-40deg); } to { opacity: 1; transform: none; } }
@keyframes d-prev-b-26tuvkdsld { from { opacity: 0; transform: translateX(-18%) rotateY(40deg); } to { opacity: 1; transform: none; } }
@keyframes d-none-b-26tuvkdsld { from { opacity: 0; transform: translateZ(-120px); } to { opacity: 1; transform: none; } }

.d-grid[b-26tuvkdsld] { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.d-left[b-26tuvkdsld] { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
@media (max-width: 900px) { .d-grid[b-26tuvkdsld] { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Scheda presenza ---------- */
.d-hero[b-26tuvkdsld] { overflow: hidden; padding: 22px; background: linear-gradient(150deg, color-mix(in oklab, var(--c) 34%, transparent), color-mix(in oklab, var(--c) 6%, transparent) 70%); border-color: color-mix(in oklab, var(--c) 40%, var(--border)); box-shadow: 0 30px 60px -30px var(--c), var(--shadow-1); }
.d-orb[b-26tuvkdsld] { position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; pointer-events: none; background: radial-gradient(circle at 35% 35%, color-mix(in oklab, var(--c) 70%, white), var(--c) 40%, transparent 70%); opacity: .45; filter: blur(6px); animation: orb-b-26tuvkdsld 9s ease-in-out infinite alternate; }
@keyframes orb-b-26tuvkdsld { to { transform: translate(-30px, 20px) scale(1.15); } }
.d-date[b-26tuvkdsld] { position: relative; display: flex; align-items: center; gap: 16px; transform: translateZ(40px); }
.d-num[b-26tuvkdsld] { font-size: clamp(3.6rem, 9vw, 5.2rem); font-weight: 700; line-height: .9; background: linear-gradient(180deg, #fff 30%, color-mix(in oklab, var(--c) 60%, white)); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 14px 24px color-mix(in oklab, var(--c) 60%, transparent)); }
.d-meta[b-26tuvkdsld] { display: flex; flex-direction: column; }
.d-wd[b-26tuvkdsld] { font-family: var(--font-display); font-size: 1.4rem; font-weight: 700; }
.d-hol[b-26tuvkdsld] { position: relative; margin-top: 10px; display: inline-block; font-weight: 700; font-size: .85rem; color: #fbcfe8; padding: 4px 12px; border-radius: 99px; background: color-mix(in oklab, #EC4899 25%, transparent); }
.d-status[b-26tuvkdsld] { position: relative; width: 100%; margin-top: 16px; display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 18px; border: 1px solid var(--border-strong); background: rgba(0,0,0,.25); color: var(--text); cursor: pointer; text-align: left; transform: translateZ(25px); transition: transform .35s var(--ease-spring), background .2s; }
.d-status:hover[b-26tuvkdsld] { background: rgba(0,0,0,.35); transform: translateZ(35px) translateY(-2px); }
.d-status .grow[b-26tuvkdsld] { display: flex; flex-direction: column; }
.d-st-ico[b-26tuvkdsld] { font-size: 2rem; filter: drop-shadow(0 8px 12px rgba(0,0,0,.4)); }
.d-st-lbl[b-26tuvkdsld] { font-family: var(--font-display); font-size: 1.2rem; font-weight: 700; }
.d-times[b-26tuvkdsld] { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 14px; transform: translateZ(15px); }
.d-times > div[b-26tuvkdsld] { display: flex; flex-direction: column; gap: 2px; padding: 10px; border-radius: 14px; background: rgba(0,0,0,.2); border: 1px solid var(--border); min-width: 0; }
.d-times .label[b-26tuvkdsld] { font-size: .62rem; }
.d-times b[b-26tuvkdsld] { font-size: 1.05rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 420px) { .d-times[b-26tuvkdsld] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.d-progress[b-26tuvkdsld] { position: relative; display: flex; flex-direction: column; gap: 6px; margin-top: 12px; }
.d-note[b-26tuvkdsld] { position: relative; margin-top: 14px; padding: 12px 14px; border-radius: 14px; background: rgba(0,0,0,.2); border-left: 3px solid var(--c); }
.d-note p[b-26tuvkdsld] { margin: 4px 0 0; white-space: pre-wrap; color: var(--text); }

/* ---------- Attività ---------- */
.d-task[b-26tuvkdsld] { border-left: 3px solid var(--tc); }
.d-task-title[b-26tuvkdsld] { display: block; font-weight: 600; }
.d-task.done .d-task-title[b-26tuvkdsld] { text-decoration: line-through; opacity: .6; }

/* ---------- Timeline con parallasse ---------- */
.d-timeline[b-26tuvkdsld] { overflow: hidden; }
.tl-bg[b-26tuvkdsld] { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.tl-glow[b-26tuvkdsld] { position: absolute; left: 30%; top: 10%; width: 70%; height: 60vh; max-height: 500px; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in oklab, var(--c) 35%, transparent), transparent); filter: blur(20px); }
.d-timeline > h3[b-26tuvkdsld], .tl[b-26tuvkdsld], .d-timeline > p[b-26tuvkdsld] { position: relative; z-index: 1; }
.tl[b-26tuvkdsld] { --hour: 46px; display: grid; grid-template-columns: 52px minmax(0, 1fr); max-height: 70vh; overflow-y: auto; overscroll-behavior: contain; border-radius: 14px; }
.tl-hours[b-26tuvkdsld] { display: grid; grid-template-rows: repeat(var(--hours), var(--hour)); }
.tl-hours span[b-26tuvkdsld] { font-size: .7rem; color: var(--text-3); padding-right: 8px; text-align: right; transform: translateY(-7px); font-variant-numeric: tabular-nums; }
.tl-hours span:first-child[b-26tuvkdsld] { transform: none; }
.tl-col[b-26tuvkdsld] { position: relative; height: calc(var(--hours) * var(--hour)); border-left: 1px solid var(--border); background-image: repeating-linear-gradient(to bottom, transparent 0 calc(var(--hour) - 1px), rgba(255,255,255,.06) calc(var(--hour) - 1px) var(--hour)); }
.tl-band[b-26tuvkdsld] { position: absolute; left: 0; right: 0; border-left: 3px solid var(--c); background: linear-gradient(90deg, color-mix(in oklab, var(--c) 24%, transparent), transparent); padding: 6px 10px; animation: band-grow-b-26tuvkdsld 1s var(--ease-out) backwards .2s; transform-origin: top; }
.tl-band span[b-26tuvkdsld] { font-size: .72rem; font-weight: 700; color: color-mix(in oklab, var(--c) 40%, white); }
@keyframes band-grow-b-26tuvkdsld { from { transform: scaleY(0); opacity: 0; } to { transform: none; opacity: 1; } }
.tl-ev[b-26tuvkdsld] { position: absolute; left: 24%; right: 8px; z-index: 2; min-height: 30px; padding: 6px 10px; border-radius: 12px; cursor: pointer; display: flex; flex-direction: column; overflow: hidden;
    background: linear-gradient(150deg, color-mix(in oklab, var(--tc) 70%, #0b0a1f), color-mix(in oklab, var(--tc) 40%, #0b0a1f)); border: 1px solid color-mix(in oklab, var(--tc) 70%, white 10%);
    box-shadow: 0 14px 28px -14px var(--tc), inset 0 1px 0 rgba(255,255,255,.25);
    transition: transform .35s var(--ease-spring); animation: tl-ev-in-b-26tuvkdsld .6s var(--ease-spring) backwards; animation-delay: calc(300ms + var(--i) * 80ms); }
@keyframes tl-ev-in-b-26tuvkdsld { from { opacity: 0; transform: translateX(40px) rotateY(-30deg); } to { opacity: 1; transform: none; } }
.tl-ev:hover[b-26tuvkdsld] { transform: translateX(-4px) scale(1.02); }
.tl-ev.done[b-26tuvkdsld] { opacity: .55; }
.tl-ev.done .tl-ev-title[b-26tuvkdsld] { text-decoration: line-through; }
.tl-ev-time[b-26tuvkdsld] { font-size: .68rem; font-weight: 700; opacity: .85; }
.tl-ev-title[b-26tuvkdsld] { font-weight: 650; font-size: .86rem; }
.tl-now[b-26tuvkdsld] { position: absolute; left: 0; right: 0; height: 2px; background: #ff4d6d; box-shadow: 0 0 10px #ff4d6d; z-index: 3; pointer-events: none; }
.tl-now i[b-26tuvkdsld] { position: absolute; left: -6px; top: -5px; width: 12px; height: 12px; border-radius: 50%; background: #ff4d6d; animation: now-p-b-26tuvkdsld 1.8s ease-in-out infinite; }
.tl-now span[b-26tuvkdsld] { position: absolute; right: 4px; top: -18px; font-size: .66rem; font-weight: 700; color: #ff8fa3; }
@keyframes now-p-b-26tuvkdsld { 50% { box-shadow: 0 0 0 8px rgba(255,77,109,0); } 0%, 100% { box-shadow: 0 0 0 0 rgba(255,77,109,.5); } }
/* /Components/Pages/Lavoro/Lavoro.razor.rz.scp.css */
/* ---------- Barra strumenti del calendario ---------- */
.toolbar[b-df5ggrp09x] {
    position: sticky; top: calc(64px + var(--safe-top)); z-index: 20;
    display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px;
    padding: 8px; margin-bottom: 18px; border-radius: 20px;
    background: linear-gradient(145deg, rgba(20,24,60,.78), rgba(10,12,34,.7));
    box-shadow: 0 20px 40px -24px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.08);
    animation: tb-in-b-df5ggrp09x .7s var(--ease-spring) backwards .1s;
}
@keyframes tb-in-b-df5ggrp09x { from { opacity: 0; transform: perspective(800px) rotateX(-40deg) translateY(-10px); } }
.tb-nav[b-df5ggrp09x] { display: flex; align-items: center; justify-content: center; gap: 4px; min-width: 0; perspective: 600px; }
.tb-nav .btn[b-df5ggrp09x] { font-size: 1.5rem; font-weight: 400; }
.tb-title[b-df5ggrp09x] { font-size: 1.12rem; font-weight: 700; text-align: center; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; animation: title-flip-b-df5ggrp09x .5s var(--ease-out) both; }
.tb-title span[b-df5ggrp09x] { background: linear-gradient(120deg, #fff 20%, var(--accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
@keyframes title-flip-b-df5ggrp09x { from { opacity: 0; transform: rotateX(80deg) translateY(-6px); } to { opacity: 1; transform: none; } }
.tb-extra[b-df5ggrp09x] { display: flex; align-items: center; gap: 6px; justify-content: flex-end; }
.tb-date[b-df5ggrp09x] { width: 150px; height: 34px; border-radius: 11px; font-size: .86rem; padding: 0 10px; }

@media (max-width: 1000px) {
    .toolbar[b-df5ggrp09x] { grid-template-columns: 1fr auto; }
    .tb-views[b-df5ggrp09x] { grid-column: 1 / -1; display: flex; }
    .tb-views > *[b-df5ggrp09x] { flex: 1; }
    .tb-nav[b-df5ggrp09x] { justify-content: flex-start; }
}
@media (max-width: 700px) {
    .toolbar[b-df5ggrp09x] { top: calc(60px + var(--safe-top)); grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 6px; }
    .tb-nav[b-df5ggrp09x] { justify-content: space-between; }
    .tb-title[b-df5ggrp09x] { font-size: 1rem; }
    .tb-extra[b-df5ggrp09x] { justify-content: stretch; flex-wrap: wrap; }
    .tb-extra > *[b-df5ggrp09x] { flex: 1 1 auto; }
    .tb-date[b-df5ggrp09x] { width: auto; min-width: 130px; }
    .tb-views button[b-df5ggrp09x] { padding: 7px 6px; font-size: .8rem; }
}

/* ---------- Layout viste ---------- */
.cal[b-df5ggrp09x] { position: relative; touch-action: pan-y; }
.cal-split[b-df5ggrp09x] { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 20px; align-items: start; }
.cal-side[b-df5ggrp09x] { position: sticky; top: 150px; }
.cal-gap[b-df5ggrp09x] { height: 20px; }
.cal-hint[b-df5ggrp09x] { margin: 12px 2px 0; text-align: center; }
@media (max-width: 1100px) { .cal-split[b-df5ggrp09x] { grid-template-columns: minmax(0, 1fr); } .cal-side[b-df5ggrp09x] { position: static; } }

/* ---------- Barra di marcatura multipla ---------- */
.selbar[b-df5ggrp09x] {
    position: fixed; z-index: 60; left: 50%; bottom: calc(16px + var(--safe-bottom)); transform: translateX(-50%);
    width: min(760px, calc(100vw - 24px)); padding: 12px; border-radius: 24px;
    background: linear-gradient(150deg, rgba(30,34,80,.94), rgba(12,14,40,.96));
    box-shadow: 0 30px 70px -20px rgba(0,0,0,.9), 0 0 0 1px color-mix(in oklab, var(--accent) 40%, transparent);
    animation: sel-in-b-df5ggrp09x .5s var(--ease-spring) both;
}
@keyframes sel-in-b-df5ggrp09x { from { opacity: 0; transform: translateX(-50%) translateY(60px) rotateX(40deg); } to { opacity: 1; transform: translateX(-50%); } }
.selbar-head[b-df5ggrp09x] { display: flex; align-items: center; gap: 8px; padding: 0 4px 10px; flex-wrap: wrap; }
.selbar-head strong[b-df5ggrp09x] { font-size: 1.3rem; }
.selbar-st[b-df5ggrp09x] { gap: 8px; }
.sel-st[b-df5ggrp09x] {
    display: flex; flex-direction: column; align-items: center; gap: 3px; min-width: 84px; padding: 10px 8px; border-radius: 16px; cursor: pointer; color: var(--text);
    border: 1px solid color-mix(in oklab, var(--c) 40%, var(--border));
    background: linear-gradient(160deg, color-mix(in oklab, var(--c) 30%, transparent), color-mix(in oklab, var(--c) 8%, transparent));
    font-size: .74rem; font-weight: 650; transition: transform .3s var(--ease-spring), box-shadow .3s;
}
.sel-st span:first-child[b-df5ggrp09x] { font-size: 1.4rem; }
.sel-st:hover[b-df5ggrp09x] { transform: translateY(-3px); box-shadow: 0 14px 26px -12px var(--c); }
.sel-st[disabled][b-df5ggrp09x] { opacity: .4; pointer-events: none; }

.lv-top-ico[b-df5ggrp09x] { background: none; border: 0; box-shadow: none; font-size: 1.45rem; width: 44px; height: 44px; }
.lv-top-ico:hover[b-df5ggrp09x] { background: var(--surface-1); }
/* /Components/Pages/Lavoro/MonthView.razor.rz.scp.css */
/* ---------- Palcoscenico 3D e transizione tra mesi ---------- */
.m-stage[b-icvp92sthg] { perspective: 1800px; perspective-origin: 50% 30%; }
.m-page[b-icvp92sthg] { transform-style: preserve-3d; will-change: transform; }
.turn-next[b-icvp92sthg] { transform-origin: 0% 50%; animation: turn-next-b-icvp92sthg .75s var(--ease-out) both; }
.turn-prev[b-icvp92sthg] { transform-origin: 100% 50%; animation: turn-prev-b-icvp92sthg .75s var(--ease-out) both; }
.turn-none[b-icvp92sthg] { animation: turn-none-b-icvp92sthg .7s var(--ease-out) both; }
@keyframes turn-next-b-icvp92sthg { from { opacity: 0; transform: translateX(28%) rotateY(-62deg) translateZ(-120px); filter: blur(4px); } 60% { opacity: 1; filter: none; } to { opacity: 1; transform: none; } }
@keyframes turn-prev-b-icvp92sthg { from { opacity: 0; transform: translateX(-28%) rotateY(62deg) translateZ(-120px); filter: blur(4px); } 60% { opacity: 1; filter: none; } to { opacity: 1; transform: none; } }
@keyframes turn-none-b-icvp92sthg { from { opacity: 0; transform: rotateX(18deg) translateZ(-140px); } to { opacity: 1; transform: none; } }

.m-wd[b-icvp92sthg] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; margin-bottom: 8px; text-align: center; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); }
.m-wd .we[b-icvp92sthg] { color: var(--text-3); }

.m-grid[b-icvp92sthg] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; transform-style: preserve-3d; }

/* ---------- Cella ---------- */
.cell[b-icvp92sthg] {
    --c: transparent;
    position: relative; min-width: 0; min-height: 104px; padding: 9px 9px 8px; border-radius: 18px; text-align: left;
    display: flex; flex-direction: column; align-items: stretch; gap: 3px; cursor: pointer; color: var(--text); overflow: hidden;
    background: linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
    border: 1px solid var(--border);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 24px -18px rgba(0,0,0,.8);
    transform-style: preserve-3d;
    transition: transform .45s var(--ease-spring), box-shadow .35s var(--ease-out), border-color .3s, background .3s;
    animation: cell-in-b-icvp92sthg .55s var(--ease-out) backwards; animation-delay: calc(120ms + var(--i) * 11ms);
}
@keyframes cell-in-b-icvp92sthg { from { opacity: 0; transform: translateZ(-60px) rotateX(-35deg) translateY(14px); } to { opacity: 1; transform: none; } }
.cell[b-icvp92sthg]::before { /* bagliore di stato */
    content: ""; position: absolute; inset: auto -20% -60% -20%; height: 110%; border-radius: 50%; pointer-events: none;
    background: radial-gradient(closest-side, color-mix(in oklab, var(--c) 55%, transparent), transparent);
    opacity: 0; transition: opacity .35s;
}
.cell:hover[b-icvp92sthg] { transform: translateY(-5px) translateZ(28px) rotateX(9deg); border-color: var(--border-strong); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 26px 40px -18px rgba(0,0,0,.9), 0 0 0 1px color-mix(in oklab, var(--c) 40%, transparent); z-index: 2; }
.cell:active[b-icvp92sthg] { transform: scale(.95); transition-duration: .12s; }
.cell:focus-visible[b-icvp92sthg] { outline: 2px solid var(--accent-2); outline-offset: 2px; }

.cell.marked[b-icvp92sthg] { background: linear-gradient(160deg, color-mix(in oklab, var(--c) 38%, transparent), color-mix(in oklab, var(--c) 9%, transparent)); border-color: color-mix(in oklab, var(--c) 45%, var(--border)); }
.cell.marked[b-icvp92sthg]::before, .cell.holiday[b-icvp92sthg]::before { opacity: .55; }
.cell.weekend:not(.marked)[b-icvp92sthg] { background: repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 6px, transparent 6px 12px), rgba(0,0,0,.18); }
.cell.weekend .c-num[b-icvp92sthg] { color: var(--text-3); }
.cell.holiday:not(.marked)[b-icvp92sthg] { border-color: color-mix(in oklab, #EC4899 45%, var(--border)); background: linear-gradient(160deg, color-mix(in oklab, #EC4899 16%, transparent), transparent); }
.cell.out[b-icvp92sthg] { opacity: .38; }
.cell.out:hover[b-icvp92sthg] { opacity: .8; }
.cell.future:not(.marked) .c-num[b-icvp92sthg] { color: var(--text-2); }

.cell.today[b-icvp92sthg] { border-color: transparent; box-shadow: 0 0 0 2px var(--accent-2), 0 0 30px -4px color-mix(in oklab, var(--accent-2) 70%, transparent), inset 0 1px 0 rgba(255,255,255,.14); }
.cell.today[b-icvp92sthg]::after { content: ""; position: absolute; inset: -2px; border-radius: inherit; pointer-events: none; border: 2px solid var(--accent-2); animation: today-pulse-b-icvp92sthg 2.4s ease-out infinite; }
@keyframes today-pulse-b-icvp92sthg { 0% { opacity: .9; transform: scale(1); } 100% { opacity: 0; transform: scale(1.12); } }
.cell.today .c-num[b-icvp92sthg] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; width: 28px; height: 28px; border-radius: 10px; display: grid; place-items: center; box-shadow: 0 6px 14px -4px var(--accent); }

.m-grid.selecting .cell[b-icvp92sthg] { cursor: copy; }
.cell.selected[b-icvp92sthg] { transform: translateZ(18px) scale(.97); border-color: #fff; box-shadow: 0 0 0 2px #fff, 0 0 30px -6px var(--accent-2); }
.c-check[b-icvp92sthg] { position: absolute; top: 6px; right: 6px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: .72rem; font-weight: 800; background: #fff; color: #0b0a1f; animation: pop-b-icvp92sthg .35s var(--ease-spring) both; }
@keyframes pop-b-icvp92sthg { from { transform: scale(0); } to { transform: none; } }

.c-top[b-icvp92sthg] { display: flex; align-items: center; justify-content: space-between; gap: 4px; transform: translateZ(14px); }
.c-num[b-icvp92sthg] { font-weight: 700; font-size: 1rem; line-height: 1; }
.c-ico[b-icvp92sthg] { font-size: 1.05rem; line-height: 1; filter: drop-shadow(0 4px 6px rgba(0,0,0,.45)); }
.c-hol[b-icvp92sthg] { font-size: .66rem; font-weight: 700; color: #fbcfe8; text-transform: uppercase; letter-spacing: .03em; }
.c-status[b-icvp92sthg] { font-size: .72rem; font-weight: 600; color: color-mix(in oklab, var(--c) 45%, white); }
.c-hours[b-icvp92sthg] { font-size: .95rem; font-weight: 700; margin-top: auto; transform: translateZ(10px); }
.c-hours small[b-icvp92sthg] { font-size: .7em; margin-left: 1px; color: var(--text-2); font-weight: 600; }
.c-note[b-icvp92sthg] { display: flex; align-items: center; gap: 4px; font-size: .7rem; color: var(--text-2); min-width: 0; }
.c-note-text[b-icvp92sthg] { min-width: 0; }
.c-dots[b-icvp92sthg] { display: flex; align-items: center; gap: 3px; flex-wrap: wrap; }
.c-dots i[b-icvp92sthg] { width: 7px; height: 7px; border-radius: 50%; background: var(--tc); box-shadow: 0 0 8px var(--tc); }
.c-dots i.done[b-icvp92sthg] { background: transparent; box-shadow: inset 0 0 0 1.5px var(--tc); opacity: .7; }
.c-dots b[b-icvp92sthg] { font-size: .62rem; color: var(--text-2); }

/* ---------- Mobile ---------- */
@media (max-width: 700px) {
    .m-wd[b-icvp92sthg], .m-grid[b-icvp92sthg] { gap: 4px; }
    .cell[b-icvp92sthg] { min-height: 64px; padding: 6px 5px 5px; border-radius: 12px; gap: 2px; align-items: center; text-align: center; }
    .c-top[b-icvp92sthg] { flex-direction: column; gap: 2px; }
    .c-num[b-icvp92sthg] { font-size: .86rem; }
    .cell.today .c-num[b-icvp92sthg] { width: 22px; height: 22px; border-radius: 8px; }
    .c-ico[b-icvp92sthg] { font-size: .9rem; }
    .c-hol[b-icvp92sthg] { display: none; }
    .c-hours[b-icvp92sthg] { font-size: .7rem; margin-top: 0; }
    .c-note[b-icvp92sthg] { position: absolute; top: 3px; right: 4px; font-size: .55rem; }
    .c-dots[b-icvp92sthg] { justify-content: center; gap: 2px; }
    .c-dots i[b-icvp92sthg] { width: 5px; height: 5px; }
    .c-dots b[b-icvp92sthg] { display: none; }
    .cell:hover[b-icvp92sthg] { transform: none; }
}
/* /Components/Pages/Lavoro/PeriodStats.razor.rz.scp.css */
.ps[b-m6t3tii6g4] { display: flex; flex-direction: column; gap: 14px; }
.ps-rings[b-m6t3tii6g4] { overflow: hidden; }
.ps-rings[b-m6t3tii6g4]::before { content: ""; position: absolute; inset: -30% -30% auto auto; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in oklab, var(--accent-2) 30%, transparent), transparent); pointer-events: none; }
.rings[b-m6t3tii6g4] { display: flex; justify-content: space-around; gap: 10px; flex-wrap: wrap; }

.ps-kpis[b-m6t3tii6g4] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ps-kpi[b-m6t3tii6g4] { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 20px; overflow: hidden; }
.ps-kpi[b-m6t3tii6g4]::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--c); box-shadow: 0 0 14px var(--c); }
.ps-kpi-ico[b-m6t3tii6g4] { width: 38px; height: 38px; flex: none; border-radius: 12px; display: grid; place-items: center; font-size: 1.15rem; background: color-mix(in oklab, var(--c) 22%, transparent); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); transform: translateZ(20px); }
.ps-kpi .kpi[b-m6t3tii6g4] { min-width: 0; gap: 1px; }
.ps-kpi .kpi-label[b-m6t3tii6g4] { font-size: .64rem; }
.ps-val[b-m6t3tii6g4] { font-size: 1.35rem !important; white-space: nowrap; }

.dist-bar[b-m6t3tii6g4] { display: flex; gap: 3px; height: 14px; border-radius: 99px; overflow: hidden; background: rgba(0,0,0,.3); }
.dist-bar i[b-m6t3tii6g4] { background: linear-gradient(180deg, color-mix(in oklab, var(--c) 70%, white), var(--c)); box-shadow: 0 0 12px var(--c); transform-origin: left; animation: dist-grow-b-m6t3tii6g4 1.2s var(--ease-out) backwards .4s; }
@keyframes dist-grow-b-m6t3tii6g4 { from { transform: scaleX(0); } }
.dist-legend[b-m6t3tii6g4] { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; font-size: .78rem; color: var(--text-2); }
.dist-legend span[b-m6t3tii6g4] { display: inline-flex; align-items: center; gap: 5px; }
.dist-legend i[b-m6t3tii6g4] { width: 9px; height: 9px; border-radius: 3px; background: var(--c); }
.dist-legend b[b-m6t3tii6g4] { color: var(--text); }

@media (max-width: 1100px) and (min-width: 701px) { .ps-kpis[b-m6t3tii6g4] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* /Components/Pages/Lavoro/StatRing.razor.rz.scp.css */
.ring[b-ybqp8bzyw3] { position: relative; width: var(--size); display: flex; flex-direction: column; align-items: center; gap: 8px; }
.ring svg[b-ybqp8bzyw3] { width: var(--size); height: var(--size); transform: rotate(-90deg); overflow: visible; filter: drop-shadow(0 0 10px color-mix(in oklab, var(--c1) 55%, transparent)); }
.track[b-ybqp8bzyw3] { fill: none; stroke: rgba(255,255,255,.08); stroke-width: 9; }
.val[b-ybqp8bzyw3] { fill: none; stroke-width: 9; stroke-linecap: round; stroke-dasharray: 263.89; stroke-dashoffset: var(--off); transition: stroke-dashoffset 1.2s var(--ease-out); animation: ring-in-b-ybqp8bzyw3 1.6s var(--ease-out) both; }
@keyframes ring-in-b-ybqp8bzyw3 { from { stroke-dashoffset: 263.89; } }
.ring-center[b-ybqp8bzyw3] { position: absolute; top: 0; left: 0; width: var(--size); height: var(--size); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.05; transform: translateZ(30px); }
.ring-value[b-ybqp8bzyw3] { font-size: calc(var(--size) * .2); font-weight: 700; }
.ring-sub[b-ybqp8bzyw3] { font-size: .7rem; color: var(--text-3); margin-top: 2px; }
.ring-label[b-ybqp8bzyw3] { font-size: .74rem; font-weight: 600; color: var(--text-2); text-transform: uppercase; letter-spacing: .06em; text-align: center; }
/* /Components/Pages/Lavoro/TaskCheck.razor.rz.scp.css */
.tcheck[b-h84frnx6c1] { position: relative; width: 30px; height: 30px; flex: none; padding: 0; border: 0; background: none; cursor: pointer; border-radius: 50%; transition: transform .35s var(--ease-spring); }
.tcheck:hover[b-h84frnx6c1] { transform: scale(1.12); }
.tcheck:active[b-h84frnx6c1] { transform: scale(.85); }
.tcheck svg[b-h84frnx6c1] { width: 100%; height: 100%; overflow: visible; }
.tc-ring[b-h84frnx6c1] { fill: rgba(0,0,0,.2); stroke: color-mix(in oklab, var(--c) 75%, white); stroke-width: 2; transition: fill .35s, stroke .35s; }
.tc-mark[b-h84frnx6c1] { fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 16; stroke-dashoffset: 16; transition: stroke-dashoffset .4s var(--ease-out) .08s; }
.tcheck.done .tc-ring[b-h84frnx6c1] { fill: var(--c); stroke: var(--c); }
.tcheck.done .tc-mark[b-h84frnx6c1] { stroke-dashoffset: 0; }
.tcheck.done[b-h84frnx6c1] { animation: tc-pop-b-h84frnx6c1 .5s var(--ease-spring); }
.tc-burst[b-h84frnx6c1] { position: absolute; inset: -6px; border-radius: 50%; pointer-events: none; border: 2px solid var(--c); opacity: 0; }
.tcheck.done .tc-burst[b-h84frnx6c1] { animation: tc-burst-b-h84frnx6c1 .6s ease-out; }
@keyframes tc-pop-b-h84frnx6c1 { 0% { transform: scale(.7); } 60% { transform: scale(1.2); } 100% { transform: none; } }
@keyframes tc-burst-b-h84frnx6c1 { from { opacity: .9; transform: scale(.6); } to { opacity: 0; transform: scale(1.6); } }
/* /Components/Pages/Lavoro/TaskSheet.razor.rz.scp.css */
.ts[b-cnw7a143k2] { position: relative; }
.ts[b-cnw7a143k2]::before { content: ""; position: absolute; left: -22px; top: -8px; bottom: 0; width: 4px; border-radius: 0 4px 4px 0; background: linear-gradient(var(--c), transparent); box-shadow: 0 0 18px var(--c); opacity: .85; }

.prio-grid[b-cnw7a143k2] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 480px) { .prio-grid[b-cnw7a143k2] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.prio[b-cnw7a143k2] {
    height: 46px; border-radius: 14px; cursor: pointer; font-weight: 650; font-size: .88rem; color: var(--text-2);
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    background: rgba(0,0,0,.22); border: 1px solid var(--border);
    transition: transform .35s var(--ease-spring), background .25s, color .25s, box-shadow .25s, border-color .25s;
}
.prio:hover[b-cnw7a143k2] { transform: translateY(-2px); color: var(--text); border-color: color-mix(in oklab, var(--pc) 50%, var(--border)); }
.prio.active[b-cnw7a143k2] { color: #fff; border-color: var(--pc); background: linear-gradient(150deg, color-mix(in oklab, var(--pc) 55%, transparent), color-mix(in oklab, var(--pc) 18%, transparent)); box-shadow: 0 12px 26px -12px var(--pc); transform: translateY(-2px) scale(1.03); }

.swatches[b-cnw7a143k2] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; min-height: 46px; }
.sw[b-cnw7a143k2] { width: 32px; height: 32px; border-radius: 50%; border: 2px solid transparent; cursor: pointer; background: radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--sc) 60%, white), var(--sc)); box-shadow: 0 6px 14px -6px var(--sc); transition: transform .35s var(--ease-spring), border-color .2s; }
.sw:hover[b-cnw7a143k2] { transform: scale(1.15) translateY(-2px); }
.sw.active[b-cnw7a143k2] { border-color: #fff; transform: scale(1.18); box-shadow: 0 0 0 3px color-mix(in oklab, var(--sc) 50%, transparent), 0 8px 18px -6px var(--sc); }
/* /Components/Pages/Lavoro/WeekView.razor.rz.scp.css */
.w-stage[b-nhf9z9pi97] { perspective: 1800px; }
.w-page[b-nhf9z9pi97] { transform-style: preserve-3d; }
.turn-next[b-nhf9z9pi97] { transform-origin: 0 50%; animation: w-next-b-nhf9z9pi97 .7s var(--ease-out) both; }
.turn-prev[b-nhf9z9pi97] { transform-origin: 100% 50%; animation: w-prev-b-nhf9z9pi97 .7s var(--ease-out) both; }
.turn-none[b-nhf9z9pi97] { animation: w-none-b-nhf9z9pi97 .6s var(--ease-out) both; }
@keyframes w-next-b-nhf9z9pi97 { from { opacity: 0; transform: translateX(22%) rotateY(-45deg) translateZ(-100px); } to { opacity: 1; transform: none; } }
@keyframes w-prev-b-nhf9z9pi97 { from { opacity: 0; transform: translateX(-22%) rotateY(45deg) translateZ(-100px); } to { opacity: 1; transform: none; } }
@keyframes w-none-b-nhf9z9pi97 { from { opacity: 0; transform: translateY(24px) rotateX(10deg); } to { opacity: 1; transform: none; } }

.only-mobile-block[b-nhf9z9pi97] { display: none; }
@media (max-width: 700px) { .only-mobile-block[b-nhf9z9pi97] { display: block; } }

/* ================= Desktop ================= */
.wk[b-nhf9z9pi97] {
    --hour: 52px;
    border-radius: var(--radius-l); overflow: hidden;
    background: linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.015));
    border: 1px solid var(--border); box-shadow: var(--shadow-2);

}
.wk-head[b-nhf9z9pi97], .wk-allday[b-nhf9z9pi97], .wk-body[b-nhf9z9pi97] { display: grid; grid-template-columns: 62px repeat(7, minmax(0, 1fr)); }
.wk-head[b-nhf9z9pi97] { border-bottom: 1px solid var(--border); background: rgba(0,0,0,.18); }
.wk-corner[b-nhf9z9pi97] { display: grid; place-items: center; font-size: .78rem; font-weight: 700; color: var(--accent-2); }

.wk-day[b-nhf9z9pi97] {
    position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 10px 4px 10px;
    border: 0; border-left: 1px solid var(--border); background: transparent; color: var(--text); cursor: pointer;
    transition: background .25s, transform .35s var(--ease-spring);
}
.wk-day[b-nhf9z9pi97]::after { content: ""; position: absolute; left: 14%; right: 14%; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--c); box-shadow: 0 0 12px var(--c); }
.wk-day:hover[b-nhf9z9pi97] { background: var(--surface); }
.wk-day:hover .wd-num[b-nhf9z9pi97] { transform: translateY(-2px) scale(1.08); }
.wd-name[b-nhf9z9pi97] { font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; color: var(--text-2); }
.wd-num[b-nhf9z9pi97] { font-size: 1.5rem; font-weight: 700; line-height: 1.1; transition: transform .35s var(--ease-spring); }
.wd-st[b-nhf9z9pi97] { font-size: .74rem; font-weight: 600; color: var(--text-2); display: inline-flex; gap: 4px; align-items: center; }
.wd-st.empty[b-nhf9z9pi97] { color: var(--text-3); opacity: 0; transition: opacity .2s; }
.wk-day:hover .wd-st.empty[b-nhf9z9pi97] { opacity: 1; }
.wk-day.we .wd-name[b-nhf9z9pi97], .wk-day.we .wd-num[b-nhf9z9pi97] { color: var(--text-3); }
.wk-day.today .wd-num[b-nhf9z9pi97] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; padding: 0 10px; border-radius: 12px; box-shadow: 0 8px 20px -6px var(--accent); }

.wk-allday[b-nhf9z9pi97] { border-bottom: 1px solid var(--border); min-height: 46px; }
.wk-lbl[b-nhf9z9pi97] { font-size: .62rem; text-transform: uppercase; letter-spacing: .1em; color: var(--text-3); display: grid; place-items: center; }
.ad-col[b-nhf9z9pi97] { position: relative; border-left: 1px solid var(--border); padding: 6px 6px 22px; display: flex; flex-direction: column; gap: 4px; min-width: 0; transition: background .2s; }
.ad-col.over[b-nhf9z9pi97], .wk-col.over[b-nhf9z9pi97] { background: color-mix(in oklab, var(--accent-2) 14%, transparent); box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--accent-2) 50%, transparent); }
.ad-hol[b-nhf9z9pi97] { font-size: .68rem; font-weight: 700; color: #fbcfe8; padding: 3px 7px; border-radius: 8px; background: color-mix(in oklab, #EC4899 22%, transparent); }
.ad-note[b-nhf9z9pi97] { display: flex; gap: 4px; align-items: center; font-size: .7rem; color: var(--text-2); border: 0; background: rgba(0,0,0,.2); border-radius: 8px; padding: 3px 7px; cursor: pointer; min-width: 0; text-align: left; }
.ad-task[b-nhf9z9pi97] { display: flex; align-items: center; gap: 6px; font-size: .76rem; font-weight: 600; padding: 3px 7px 3px 4px; border-radius: 10px; cursor: grab; min-width: 0;
    background: linear-gradient(135deg, color-mix(in oklab, var(--tc) 35%, transparent), color-mix(in oklab, var(--tc) 12%, transparent)); border: 1px solid color-mix(in oklab, var(--tc) 45%, transparent);
    transition: transform .3s var(--ease-spring), box-shadow .3s; }
.ad-task:hover[b-nhf9z9pi97] { transform: translateY(-2px); box-shadow: 0 10px 20px -10px var(--tc); }
.ad-task[b-nhf9z9pi97]  .tcheck { width: 20px; height: 20px; }
.ad-task.done[b-nhf9z9pi97] { opacity: .55; text-decoration: line-through; }
.ad-add[b-nhf9z9pi97] { position: absolute; right: 6px; bottom: 3px; width: 20px; height: 18px; border: 0; border-radius: 6px; background: transparent; color: var(--text-3); cursor: pointer; font-weight: 700; opacity: 0; transition: opacity .2s, background .2s; }
.ad-col:hover .ad-add[b-nhf9z9pi97] { opacity: 1; }
.ad-add:hover[b-nhf9z9pi97] { background: var(--surface-2); color: var(--text); }

.wk-body[b-nhf9z9pi97] { position: relative; max-height: min(68vh, 760px); overflow-y: auto; overscroll-behavior: contain; }
.wk-hours[b-nhf9z9pi97] { display: grid; grid-template-rows: repeat(var(--hours), var(--hour)); }
.wk-hours span[b-nhf9z9pi97] { font-size: .68rem; color: var(--text-3); text-align: right; padding: 0 8px; transform: translateY(-7px); font-variant-numeric: tabular-nums; }
.wk-hours span:first-child[b-nhf9z9pi97] { transform: none; }
.wk-col[b-nhf9z9pi97] {
    position: relative; height: calc(var(--hours) * var(--hour)); border-left: 1px solid var(--border);
    background-image: repeating-linear-gradient(to bottom, transparent 0 calc(var(--hour) - 1px), rgba(255,255,255,.06) calc(var(--hour) - 1px) var(--hour));
    transition: background-color .2s;
}
.wk-col.we[b-nhf9z9pi97] { background-color: rgba(0,0,0,.16); }
.wk-col.today[b-nhf9z9pi97] { background-color: color-mix(in oklab, var(--accent) 8%, transparent); }

.band[b-nhf9z9pi97] {
    position: absolute; left: 3px; right: 3px; border: 0; padding: 6px 7px; border-radius: 12px; cursor: pointer; color: var(--text);
    display: flex; flex-direction: column; justify-content: space-between; text-align: left;
    background: linear-gradient(180deg, color-mix(in oklab, var(--c) 26%, transparent), color-mix(in oklab, var(--c) 10%, transparent));
    border-left: 3px solid var(--c); box-shadow: inset 0 0 30px -12px var(--c);
    animation: band-in-b-nhf9z9pi97 .9s var(--ease-out) backwards .15s; transform-origin: top;
}
@keyframes band-in-b-nhf9z9pi97 { from { transform: scaleY(0); opacity: 0; } to { transform: none; opacity: 1; } }
.band-lbl[b-nhf9z9pi97] { font-size: .66rem; font-weight: 700; color: color-mix(in oklab, var(--c) 40%, white); opacity: .9; }
.band-lbl.end[b-nhf9z9pi97] { align-self: flex-start; }
.absent[b-nhf9z9pi97] { position: absolute; inset: 8px 4px auto; padding: 10px 6px; border-radius: 12px; display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: .72rem; font-weight: 700; color: color-mix(in oklab, var(--c) 40%, white);
    background: repeating-linear-gradient(135deg, color-mix(in oklab, var(--c) 18%, transparent) 0 8px, transparent 8px 16px); border: 1px dashed color-mix(in oklab, var(--c) 50%, transparent); }
.absent span:first-child[b-nhf9z9pi97] { font-size: 1.3rem; }

.ev[b-nhf9z9pi97] {
    position: absolute; z-index: 2; min-height: 26px; padding: 4px 6px; border-radius: 10px; cursor: grab; overflow: hidden;
    display: flex; flex-direction: column; gap: 1px;
    background: linear-gradient(150deg, color-mix(in oklab, var(--tc) 70%, #0b0a1f), color-mix(in oklab, var(--tc) 40%, #0b0a1f));
    border: 1px solid color-mix(in oklab, var(--tc) 70%, white 10%);
    box-shadow: 0 10px 22px -12px var(--tc), inset 0 1px 0 rgba(255,255,255,.25);
    transition: transform .35s var(--ease-spring), box-shadow .3s, z-index 0s;
    animation: ev-in-b-nhf9z9pi97 .55s var(--ease-spring) backwards .3s;
}
@keyframes ev-in-b-nhf9z9pi97 { from { opacity: 0; transform: translateZ(-40px) scale(.8); } to { opacity: 1; transform: none; } }
.ev:hover[b-nhf9z9pi97] { transform: translateY(-2px) scale(1.03); z-index: 5; box-shadow: 0 18px 30px -12px var(--tc), inset 0 1px 0 rgba(255,255,255,.3); }
.ev:active[b-nhf9z9pi97] { cursor: grabbing; }
.ev.done[b-nhf9z9pi97] { opacity: .55; }
.ev.done .ev-title[b-nhf9z9pi97] { text-decoration: line-through; }
.ev-top[b-nhf9z9pi97] { display: flex; align-items: center; gap: 5px; }
.ev-top[b-nhf9z9pi97]  .tcheck { width: 18px; height: 18px; }
.ev-time[b-nhf9z9pi97] { font-size: .66rem; font-weight: 700; opacity: .9; }
.ev-title[b-nhf9z9pi97] { font-size: .76rem; font-weight: 650; line-height: 1.2; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.ev-proj[b-nhf9z9pi97] { font-size: .64rem; opacity: .75; }

.now[b-nhf9z9pi97] { position: absolute; left: 0; right: 0; height: 2px; background: #ff4d6d; box-shadow: 0 0 10px #ff4d6d; z-index: 4; pointer-events: none; }
.now i[b-nhf9z9pi97] { position: absolute; left: -5px; top: -4px; width: 10px; height: 10px; border-radius: 50%; background: #ff4d6d; box-shadow: 0 0 0 4px rgba(255,77,109,.25); animation: now-pulse-b-nhf9z9pi97 1.8s ease-in-out infinite; }
@keyframes now-pulse-b-nhf9z9pi97 { 50% { box-shadow: 0 0 0 8px rgba(255,77,109,0); } }

/* ================= Mobile: lista ================= */
.wl[b-nhf9z9pi97] { display: flex; flex-direction: column; gap: 10px; perspective: 1000px; }
.wl-day[b-nhf9z9pi97] {
    position: relative; border-radius: 20px; padding: 4px 4px 8px; overflow: hidden;
    background: linear-gradient(150deg, color-mix(in oklab, var(--c) 18%, rgba(255,255,255,.05)), rgba(255,255,255,.02));
    border: 1px solid var(--border); box-shadow: var(--shadow-1);
    animation: wl-in-b-nhf9z9pi97 .6s var(--ease-out) backwards; animation-delay: calc(var(--i) * 60ms);
}
@keyframes wl-in-b-nhf9z9pi97 { from { opacity: 0; transform: rotateX(-40deg) translateY(20px); } to { opacity: 1; transform: none; } }
.wl-day[b-nhf9z9pi97]::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 4px; border-radius: 0 4px 4px 0; background: var(--c); box-shadow: 0 0 12px var(--c); }
.wl-day.we[b-nhf9z9pi97] { opacity: .8; }
.wl-day.today[b-nhf9z9pi97] { border-color: color-mix(in oklab, var(--accent-2) 60%, transparent); box-shadow: 0 0 0 1px color-mix(in oklab, var(--accent-2) 40%, transparent), 0 18px 40px -20px var(--accent-2); }
.wl-head[b-nhf9z9pi97] { width: 100%; display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 0; background: none; color: var(--text); text-align: left; cursor: pointer; }
.wl-date[b-nhf9z9pi97] { width: 46px; height: 50px; border-radius: 14px; flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(0,0,0,.25); border: 1px solid var(--border); }
.wl-day.today .wl-date[b-nhf9z9pi97] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; }
.wl-num[b-nhf9z9pi97] { font-size: 1.25rem; font-weight: 700; line-height: 1; }
.wl-name[b-nhf9z9pi97] { font-size: .64rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: var(--text-2); }
.wl-day.today .wl-name[b-nhf9z9pi97] { color: #fff; }
.wl-status[b-nhf9z9pi97] { display: flex; gap: 8px; flex-wrap: wrap; font-weight: 600; font-size: .9rem; }
.wl-hol[b-nhf9z9pi97] { display: block; font-size: .72rem; color: #fbcfe8; font-weight: 700; margin-top: 2px; }
.wl-hours[b-nhf9z9pi97] { font-size: 1.1rem; font-weight: 700; color: color-mix(in oklab, var(--c) 40%, white); }
.wl-note[b-nhf9z9pi97] { margin: 0 12px 6px 70px; font-size: .8rem; color: var(--text-2); }
.wl-tasks[b-nhf9z9pi97] { display: flex; flex-direction: column; gap: 4px; margin: 0 8px 4px 62px; }
.wl-task[b-nhf9z9pi97] { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 12px; background: rgba(0,0,0,.2); border-left: 3px solid var(--tc); cursor: pointer; font-size: .86rem; }
.wl-task[b-nhf9z9pi97]  .tcheck { width: 24px; height: 24px; }
.wl-task.done .grow[b-nhf9z9pi97] { text-decoration: line-through; opacity: .6; }
.wl-add[b-nhf9z9pi97] { margin-left: 62px; border: 0; background: none; color: var(--text-3); font-weight: 600; font-size: .8rem; padding: 4px 8px; cursor: pointer; border-radius: 8px; }
.wl-add:hover[b-nhf9z9pi97] { color: var(--text); background: var(--surface); }
/* /Components/Pages/Lavoro/YearStats.razor.rz.scp.css */
.ys[b-8m72ttd53e] { display: flex; flex-direction: column; gap: 16px; }
.ys-hero[b-8m72ttd53e] { display: flex; align-items: center; gap: 24px; justify-content: space-between; flex-wrap: wrap; }
.ys-kpis[b-8m72ttd53e] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; flex: 1 1 480px; }
.ys-kpis .kpi-value[b-8m72ttd53e] { font-size: clamp(1.5rem, 3.4vw, 2.2rem); }
@media (max-width: 700px) { .ys-kpis[b-8m72ttd53e] { grid-template-columns: repeat(2, minmax(0, 1fr)); flex-basis: 100%; } .ys-hero[b-8m72ttd53e] { justify-content: center; } }

.ys-row[b-8m72ttd53e] { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 16px; }
@media (max-width: 900px) { .ys-row[b-8m72ttd53e] { grid-template-columns: minmax(0, 1fr); } }

/* Barre 3D */
.bars[b-8m72ttd53e] { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 6px; height: 220px; align-items: end; perspective: 700px; }
.bar-col[b-8m72ttd53e] { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; border: 0; background: none; color: var(--text); cursor: pointer; padding: 0; min-width: 0; }
.bar[b-8m72ttd53e] { position: relative; width: 70%; max-width: 34px; height: calc(var(--h) * .8); min-height: 3px; transform-style: preserve-3d; transform: rotateX(12deg) rotateY(-14deg); transition: transform .4s var(--ease-spring); transform-origin: bottom; animation: bar-up-b-8m72ttd53e 1s var(--ease-out) backwards; animation-delay: calc(200ms + var(--i) * 60ms); }
@keyframes bar-up-b-8m72ttd53e { from { transform: rotateX(12deg) rotateY(-14deg) scaleY(0); } }
.bar-face[b-8m72ttd53e] { position: absolute; inset: 0; border-radius: 8px 8px 3px 3px; background: linear-gradient(180deg, var(--accent-2), var(--accent)); box-shadow: 0 0 18px -2px color-mix(in oklab, var(--accent-2) 70%, transparent), inset 0 1px 0 rgba(255,255,255,.4); }
.bar[b-8m72ttd53e]::after { content: ""; position: absolute; top: 0; right: -6px; width: 6px; height: 100%; background: color-mix(in oklab, var(--accent) 60%, black); transform: skewY(-40deg); transform-origin: left top; border-radius: 0 4px 2px 0; }
.bar-col:hover .bar[b-8m72ttd53e] { transform: rotateX(12deg) rotateY(-14deg) scaleY(1.04) translateZ(10px); }
.bar-col.cur .bar-face[b-8m72ttd53e] { background: linear-gradient(180deg, #fff, var(--accent-2)); }
.bar-val[b-8m72ttd53e] { font-size: .62rem; font-weight: 700; color: var(--text-2); white-space: nowrap; }
.bar-lbl[b-8m72ttd53e] { font-size: .66rem; color: var(--text-3); text-transform: capitalize; }
@media (max-width: 500px) { .bar-val[b-8m72ttd53e] { display: none; } .bars[b-8m72ttd53e] { gap: 3px; height: 170px; } }

.st-row[b-8m72ttd53e] { display: grid; grid-template-columns: 130px minmax(0, 1fr) 32px; align-items: center; gap: 10px; font-size: .86rem; }
.st-name[b-8m72ttd53e] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--text-2); }
.st-row b[b-8m72ttd53e] { text-align: right; }
.st-track[b-8m72ttd53e] { height: 10px; border-radius: 99px; background: rgba(0,0,0,.3); overflow: hidden; }
.st-track span[b-8m72ttd53e] { display: block; height: 100%; width: var(--v); border-radius: inherit; background: linear-gradient(90deg, color-mix(in oklab, var(--c) 60%, transparent), var(--c)); box-shadow: 0 0 12px var(--c); transform-origin: left; animation: dist-grow-b-8m72ttd53e 1.1s var(--ease-out) backwards; animation-delay: calc(300ms + var(--i) * 70ms); }
@keyframes dist-grow-b-8m72ttd53e { from { transform: scaleX(0); } }
/* /Components/Pages/Lavoro/YearView.razor.rz.scp.css */
.y-stage[b-t7e8nxau7t] { perspective: 2000px; }
.y-page[b-t7e8nxau7t] { transform-style: preserve-3d; }
.turn-next[b-t7e8nxau7t] { animation: y-next-b-t7e8nxau7t .7s var(--ease-out) both; }
.turn-prev[b-t7e8nxau7t] { animation: y-prev-b-t7e8nxau7t .7s var(--ease-out) both; }
@keyframes y-next-b-t7e8nxau7t { from { opacity: 0; transform: translateX(12%) rotateY(-24deg) translateZ(-160px); } to { opacity: 1; transform: none; } }
@keyframes y-prev-b-t7e8nxau7t { from { opacity: 0; transform: translateX(-12%) rotateY(24deg) translateZ(-160px); } to { opacity: 1; transform: none; } }

.y-grid[b-t7e8nxau7t] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; perspective: 1400px; }
@media (max-width: 1100px) { .y-grid[b-t7e8nxau7t] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .y-grid[b-t7e8nxau7t] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }

/* Cascata 3D: ogni mini-mese cade in posizione ruotando */
.y-cell[b-t7e8nxau7t] { animation: mini-in-b-t7e8nxau7t .8s var(--ease-spring) both; animation-delay: calc(var(--i) * 55ms); transform-origin: 50% 0; }
@keyframes mini-in-b-t7e8nxau7t { from { opacity: 0; transform: rotateX(-75deg) translateY(-30px) translateZ(-120px); } to { opacity: 1; transform: none; } }

.mini[b-t7e8nxau7t] { padding: 14px 14px 12px; border-radius: 22px; }
.mini.current[b-t7e8nxau7t] { border-color: color-mix(in oklab, var(--accent-2) 55%, var(--border)); box-shadow: var(--shadow-glow); }
.mini-head[b-t7e8nxau7t] { width: 100%; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; border: 0; background: none; padding: 0 2px 8px; cursor: pointer; color: var(--text); text-align: left; }
.mini-head:hover .mini-name[b-t7e8nxau7t] { background: linear-gradient(120deg, #fff, var(--accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mini-name[b-t7e8nxau7t] { font-family: var(--font-display); font-weight: 700; font-size: 1.02rem; transition: color .2s; }
.mini-hours[b-t7e8nxau7t] { font-size: .78rem; font-weight: 700; color: var(--accent-2); }
.mini-wd[b-t7e8nxau7t], .mini-grid[b-t7e8nxau7t] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; }
.mini-wd[b-t7e8nxau7t] { font-size: .58rem; font-weight: 700; color: var(--text-3); text-align: center; margin-bottom: 3px; }

.hm[b-t7e8nxau7t] {
    position: relative; aspect-ratio: 1; min-width: 0; border-radius: 6px; padding: 0; cursor: pointer;
    display: grid; place-items: center; font-size: .6rem; font-weight: 600; color: var(--text-3);
    background: rgba(255,255,255,.05); border: 1px solid transparent;
    transition: transform .3s var(--ease-spring), box-shadow .3s, background .3s;
    animation: hm-in-b-t7e8nxau7t .5s var(--ease-out) backwards; animation-delay: calc(var(--i) * 55ms + var(--j) * 9ms + 200ms);
}
@keyframes hm-in-b-t7e8nxau7t { from { opacity: 0; transform: scale(.3); } to { opacity: 1; transform: none; } }
.hm.blank[b-t7e8nxau7t] { background: transparent; pointer-events: none; animation: none; }
.hm.we[b-t7e8nxau7t] { background: rgba(0,0,0,.25); color: color-mix(in oklab, var(--text-3) 70%, transparent); }
.hm.hol[b-t7e8nxau7t] { border-color: color-mix(in oklab, #EC4899 70%, transparent); color: #fbcfe8; }
.hm.on[b-t7e8nxau7t] { background: radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--c) 55%, white), var(--c)); color: #fff; box-shadow: 0 0 10px -1px var(--c), inset 0 1px 0 rgba(255,255,255,.35); text-shadow: 0 1px 2px rgba(0,0,0,.4); }
.hm.note[b-t7e8nxau7t]::after { content: ""; position: absolute; top: 1px; right: 1px; width: 4px; height: 4px; border-radius: 50%; background: #fff; box-shadow: 0 0 4px #fff; }
.hm.today[b-t7e8nxau7t] { outline: 2px solid #fff; outline-offset: 1px; z-index: 1; animation: hm-in-b-t7e8nxau7t .5s var(--ease-out) backwards, hm-today-b-t7e8nxau7t 2s ease-in-out infinite 1.5s; }
@keyframes hm-today-b-t7e8nxau7t { 50% { box-shadow: 0 0 16px 2px var(--accent-2); } }
.hm:hover[b-t7e8nxau7t] { transform: scale(1.5) translateZ(20px); z-index: 3; box-shadow: 0 8px 20px -4px rgba(0,0,0,.8), 0 0 14px var(--c); }

.mini-bar[b-t7e8nxau7t] { display: flex; gap: 2px; height: 5px; margin-top: 10px; border-radius: 9px; overflow: hidden; background: rgba(255,255,255,.05); }
.mini-bar i[b-t7e8nxau7t] { background: var(--c); box-shadow: 0 0 8px var(--c); transform-origin: left; animation: bar-grow-b-t7e8nxau7t 1s var(--ease-out) both; animation-delay: calc(var(--i, 0) * 55ms + 500ms); }
@keyframes bar-grow-b-t7e8nxau7t { from { transform: scaleX(0); } to { transform: none; } }

.y-legend[b-t7e8nxau7t] { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 18px; font-size: .78rem; color: var(--text-2); }
.lg[b-t7e8nxau7t] { display: inline-flex; align-items: center; gap: 6px; }
.lg i[b-t7e8nxau7t] { width: 11px; height: 11px; border-radius: 4px; background: var(--c); box-shadow: 0 0 8px var(--c); }
.lg i.hol[b-t7e8nxau7t] { background: transparent; border: 1.5px solid #EC4899; box-shadow: none; }

@media (max-width: 760px) {
    .mini[b-t7e8nxau7t] { padding: 10px 10px 9px; border-radius: 18px; }
    .mini-name[b-t7e8nxau7t] { font-size: .92rem; }
    .hm[b-t7e8nxau7t] { border-radius: 4px; font-size: .56rem; font-weight: 700; animation: none; }
    .hm.today[b-t7e8nxau7t] { animation: hm-today-b-t7e8nxau7t 2s ease-in-out infinite 1.5s; }
    .hm:hover[b-t7e8nxau7t] { transform: none; }
}
/* /Components/Pages/LeMieApp.razor.rz.scp.css */
.lma-count[b-uxoja8rfos] { margin: 0 0 14px; color: var(--text-2); }
.lma-count b[b-uxoja8rfos] { color: var(--text); font-size: 1.1rem; }
.lma-grid[b-uxoja8rfos] { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.lma-app[b-uxoja8rfos] {
    position: relative; display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px 12px; border-radius: 18px;
    background: rgba(255,255,255,.05); border: 1px solid var(--border); color: var(--text); font: inherit; text-align: left; cursor: pointer;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.lma-app.on[b-uxoja8rfos] { background: rgba(255,255,255,.08); border-color: color-mix(in oklab, var(--accent) 45%, var(--border)); }
.lma-app.off .lma-icon[b-uxoja8rfos] { filter: grayscale(1); opacity: .45; }
.lma-app.off .lma-name[b-uxoja8rfos] { color: var(--text-3); }
.lma-app:active[b-uxoja8rfos] { transform: scale(.98); }
.lma-icon[b-uxoja8rfos] {
    width: 42px; height: 42px; flex: none; border-radius: 27%; display: grid; place-items: center; font-size: 1.3rem;
    background: radial-gradient(120% 90% at 30% 10%, rgba(255,255,255,.4), transparent 45%), linear-gradient(145deg, var(--a), var(--b));
    box-shadow: inset 0 1px 1px rgba(255,255,255,.5), 0 6px 14px -8px var(--a);
}
.lma-name[b-uxoja8rfos] { flex: 1; min-width: 0; font-weight: 700; font-size: .9rem; line-height: 1.2; overflow-wrap: normal; word-break: normal; }
.lma-check[b-uxoja8rfos] {
    width: 24px; height: 24px; flex: none; border-radius: 50%; display: grid; place-items: center; font-size: .8rem; font-weight: 900;
    border: 2px solid var(--border-strong, rgba(255,255,255,.25)); color: #fff;
}
.lma-app.on .lma-check[b-uxoja8rfos] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; }

@media (max-width: 560px) {
    .lma-grid[b-uxoja8rfos] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .lma-app[b-uxoja8rfos] { flex-direction: column; justify-content: center; gap: 6px; min-height: 104px; padding: 12px 6px 10px; text-align: center; }
    .lma-icon[b-uxoja8rfos] { width: 46px; height: 46px; font-size: 1.35rem; }
    .lma-name[b-uxoja8rfos] { flex: none; font-size: .78rem; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .lma-check[b-uxoja8rfos] { position: absolute; top: 6px; right: 6px; width: 20px; height: 20px; font-size: .7rem; }
}
/* /Components/Pages/Libri/BookCover.razor.rz.scp.css */
.bc[b-plelvb1rs5] {
    position: relative; isolation: isolate; display: block; aspect-ratio: 2 / 3; border-radius: 10px; overflow: hidden;
    background: hsl(var(--h) 45% 22%); box-shadow: 0 14px 28px -14px rgba(0, 0, 0, .8), inset 0 0 0 1px rgba(255, 255, 255, .06);
}
.bc-fake[b-plelvb1rs5] {
    position: absolute; inset: 0; display: flex; flex-direction: column; gap: 8px; padding: 14% 11% 11% 14%;
    background:
        radial-gradient(120% 70% at 100% 0%, hsl(calc(var(--h) + 30) 70% 55% / .35), transparent 60%),
        linear-gradient(160deg, hsl(var(--h) 55% 34%), hsl(calc(var(--h) + 40) 50% 16%));
    color: #fff;
}
/* dorso del libro */
.bc-fake[b-plelvb1rs5]::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6%; background: linear-gradient(90deg, rgba(0, 0, 0, .35), rgba(255, 255, 255, .08) 70%, rgba(0, 0, 0, .15)); }
.bc-rule[b-plelvb1rs5] { display: block; width: 28%; height: 2px; border-radius: 2px; background: hsl(calc(var(--h) + 30) 80% 75% / .9); }
.bc-fake b[b-plelvb1rs5] {
    font-family: Georgia, "Times New Roman", serif; font-size: .84rem; line-height: 1.2; font-weight: 700;
    display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere;
}
.bc-fake small[b-plelvb1rs5] { margin-top: auto; font-size: .6rem; opacity: .82; text-transform: uppercase; letter-spacing: .08em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bc.lg .bc-fake[b-plelvb1rs5] { gap: 12px; }
.bc.lg .bc-fake b[b-plelvb1rs5] { font-size: 1.2rem; }
.bc.lg .bc-fake small[b-plelvb1rs5] { font-size: .74rem; }
.bc.lg .bc-rule[b-plelvb1rs5] { height: 3px; }
.bc.lg[b-plelvb1rs5] { border-radius: 14px; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .9), inset 0 0 0 1px rgba(255, 255, 255, .08); }
.bc-img[b-plelvb1rs5] { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
/* /Components/Pages/Libri/EpubPage.razor.rz.scp.css */
.ep[b-sou8hxzxmn] { position: relative; display: flex; flex-direction: column; gap: 16px; max-width: 980px; margin: 0 auto; width: 100%; }

/* il campo del file è nascosto: si apre dalle <label for> */
.ep[b-sou8hxzxmn]  .ep-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; pointer-events: none; }
label.disabled[b-sou8hxzxmn] { opacity: .5; pointer-events: none; }

.ep-drop[b-sou8hxzxmn] {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 22px; cursor: pointer;
    border: 1.5px dashed rgba(245, 158, 11, .45);
    background: radial-gradient(120% 140% at 0% 0%, rgba(245, 158, 11, .2), transparent 60%), linear-gradient(135deg, rgba(239, 68, 68, .12), rgba(12, 9, 22, .6));
}
.ep-drop:hover[b-sou8hxzxmn] { border-color: rgba(245, 158, 11, .8); }
.ep-drop div[b-sou8hxzxmn] { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ep-drop b[b-sou8hxzxmn] { font-size: 1rem; }
.ep-drop small[b-sou8hxzxmn] { color: var(--text-2); font-size: .8rem; line-height: 1.35; }
.ep-drop-ico[b-sou8hxzxmn] { width: 48px; height: 48px; border-radius: 16px; display: grid; place-items: center; font-size: 1.5rem; background: linear-gradient(135deg, #f59e0b, #ef4444); box-shadow: 0 10px 24px -10px rgba(239, 68, 68, .8); }
.ep-drop.busy[b-sou8hxzxmn] { grid-template-columns: auto minmax(0, 1fr); cursor: default; border-style: solid; }
.ep-spin[b-sou8hxzxmn] { width: 40px; height: 40px; border-radius: 50%; border: 3px solid rgba(255, 255, 255, .15); border-top-color: #f59e0b; animation: ep-spin-b-sou8hxzxmn .8s linear infinite; }
@keyframes ep-spin-b-sou8hxzxmn { to { transform: rotate(360deg); } }
@media (max-width: 480px) {
    .ep-drop[b-sou8hxzxmn] { grid-template-columns: auto minmax(0, 1fr); }
    .ep-drop .btn[b-sou8hxzxmn] { grid-column: 1 / -1; }
}

.ep-error[b-sou8hxzxmn] { margin: 0; padding: 12px 14px; border-radius: 14px; background: rgba(239, 68, 68, .14); border: 1px solid rgba(239, 68, 68, .35); color: #fecaca; font-size: .9rem; }

.ep-grid[b-sou8hxzxmn] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 12px; }
.ep-item[b-sou8hxzxmn] { position: relative; min-width: 0; }
.ep-more[b-sou8hxzxmn] {
    position: absolute; top: 6px; right: 6px; z-index: 2; width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(12, 9, 22, .72); color: #fff; font: inherit; font-size: 1.1rem; font-weight: 800; line-height: 1; cursor: pointer;
    display: grid; place-items: center; padding: 0 0 4px;
}
.ep-more:hover[b-sou8hxzxmn], .ep-more:focus-visible[b-sou8hxzxmn] { background: linear-gradient(135deg, #f59e0b, #ef4444); border-color: transparent; }
.ep-book[b-sou8hxzxmn] { display: flex; flex-direction: column; gap: 6px; color: inherit; text-decoration: none; min-width: 0; }
.ep-book b[b-sou8hxzxmn] { font-size: .86rem; font-weight: 650; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ep-book small[b-sou8hxzxmn] { margin-top: -3px; font-size: .74rem; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ep-meta[b-sou8hxzxmn] { font-size: .72rem; color: var(--text-3); }
.ep-progress[b-sou8hxzxmn] { display: block; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.ep-progress span[b-sou8hxzxmn] { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #f59e0b, #ef4444); }
.ep-skel[b-sou8hxzxmn] { display: block; aspect-ratio: 2 / 3; border-radius: 10px; }
@media (min-width: 560px) { .ep-grid[b-sou8hxzxmn] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 16px; } }
@media (min-width: 860px) { .ep-grid[b-sou8hxzxmn] { grid-template-columns: repeat(6, minmax(0, 1fr)); } }

.ep-sheet[b-sou8hxzxmn] { display: flex; flex-direction: column; gap: 10px; }
.ep-sheet-meta[b-sou8hxzxmn] { margin: -4px 0 4px; color: var(--text-2); font-size: .88rem; }
.ep-del[b-sou8hxzxmn] { color: #fca5a5; }
.ep-confirm[b-sou8hxzxmn] { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: 16px; background: rgba(239, 68, 68, .1); border: 1px solid rgba(239, 68, 68, .3); }
.ep-confirm p[b-sou8hxzxmn] { margin: 0; font-size: .88rem; color: var(--text-2); }
.ep-confirm .row[b-sou8hxzxmn] { justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
/* /Components/Pages/Libri/LeggiPage.razor.rz.scp.css */
/* ---- temi: notte (scuro, come l'app), seppia, carta */
.rd[b-hd8r8y2ufj] {
    --paper: #15121f; --ink: #ebe6dc; --ink-2: #a9a2b4; --line: rgba(255, 255, 255, .08); --mark: #f59e0b;
    --fs: 1.12rem;
    display: flex; flex-direction: column; gap: 12px; max-width: 720px; margin: 0 auto; width: 100%;
}
.rd-seppia[b-hd8r8y2ufj] { --paper: #f3e9d2; --ink: #3d3021; --ink-2: #7d6a52; --line: rgba(61, 48, 33, .14); --mark: #b45309; }
.rd-carta[b-hd8r8y2ufj] { --paper: #fbfaf7; --ink: #1f1d1a; --ink-2: #6b665e; --line: rgba(0, 0, 0, .1); --mark: #c2410c; }
.rd-s0[b-hd8r8y2ufj] { --fs: 1rem; }
.rd-s1[b-hd8r8y2ufj] { --fs: 1.12rem; }
.rd-s2[b-hd8r8y2ufj] { --fs: 1.26rem; }
.rd-s3[b-hd8r8y2ufj] { --fs: 1.42rem; }
.rd-s4[b-hd8r8y2ufj] { --fs: 1.62rem; }

.rd-head[b-hd8r8y2ufj] { display: flex; align-items: center; gap: 10px; padding: 0 4px; font-size: .8rem; color: var(--text-2); }
.rd-chapter[b-hd8r8y2ufj] { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.rd-count[b-hd8r8y2ufj] { flex: 0 0 auto; color: var(--text-3); }
.rd-bar[b-hd8r8y2ufj] { height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.rd-bar span[b-hd8r8y2ufj] { display: block; height: 100%; background: linear-gradient(90deg, #f59e0b, #ef4444); }

/* ---- la pagina */
.rd-paper[b-hd8r8y2ufj] {
    padding: clamp(22px, 6vw, 48px) clamp(18px, 6vw, 56px); border-radius: 22px; background: var(--paper); color: var(--ink);
    border: 1px solid var(--line); box-shadow: 0 24px 50px -30px rgba(0, 0, 0, .9);
    font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
    font-size: var(--fs); line-height: 1.72; overflow-wrap: break-word; hyphens: auto;
}
.rd-sans .rd-paper[b-hd8r8y2ufj] { font-family: var(--font); line-height: 1.66; }
.rd-paper p[b-hd8r8y2ufj] { margin: 0 0 .95em; }
.rd-paper em[b-hd8r8y2ufj] { font-style: italic; }
.rd-ch[b-hd8r8y2ufj] {
    margin: .4em 0 .9em; text-align: center; font-family: inherit; font-size: 1.45em; line-height: 1.25; font-weight: 700; letter-spacing: .01em; color: var(--ink);
}
.rd-ch[b-hd8r8y2ufj]::after { content: ""; display: block; width: 44px; height: 2px; margin: .55em auto 0; border-radius: 2px; background: var(--mark); }
.rd-paper > .rd-ch:not(:first-child)[b-hd8r8y2ufj] { margin-top: 1.6em; }
.rd-hd[b-hd8r8y2ufj] { margin: 1.3em 0 .55em; font-family: inherit; font-size: .82em; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); text-align: center; }
.rd-lead[b-hd8r8y2ufj] { font-style: italic; color: var(--ink-2); text-align: center; margin-bottom: 1.4em !important; }
.rd-verse[b-hd8r8y2ufj] { white-space: pre-line; padding-left: .6em; }
.rd-pre[b-hd8r8y2ufj] { margin: 0 0 1em; padding: 12px; overflow-x: auto; font-size: .62em; line-height: 1.3; border-radius: 10px; background: var(--line); color: var(--ink); }
.rd-code[b-hd8r8y2ufj] {
    margin: 0 0 1em; padding: 12px 14px; overflow-x: auto; white-space: pre; overflow-wrap: normal; hyphens: none; tab-size: 4;
    font-family: ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace; font-size: .74em; line-height: 1.5;
    border-radius: 10px; border-left: 3px solid var(--mark); background: var(--line); color: var(--ink);
}
.rd-break[b-hd8r8y2ufj] { text-align: center; color: var(--ink-2); letter-spacing: .4em; }

.rd-wait[b-hd8r8y2ufj] { display: flex; flex-direction: column; gap: 12px; }
.rd-wait p[b-hd8r8y2ufj] { margin: 0 0 6px; color: var(--ink-2); font-family: var(--font); font-size: .9rem; }
.rd-wait .skeleton[b-hd8r8y2ufj] { display: block; height: 14px; border-radius: 6px; }
.rd-wait .skeleton:nth-child(3n)[b-hd8r8y2ufj] { width: 82%; }

/* ---- pagine */
.rd-nav[b-hd8r8y2ufj] { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: 4px 0 12px; }
.rd-nav .btn[b-hd8r8y2ufj] { height: 50px; }
.rd-nav > span[b-hd8r8y2ufj] { color: var(--text-3); font-size: .82rem; }
.rd-finish[b-hd8r8y2ufj] { white-space: nowrap; }

.rd-aa[b-hd8r8y2ufj] { font-family: Georgia, serif; font-weight: 700; font-size: 1rem; }

/* ---- indice */
.rd-toc[b-hd8r8y2ufj] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.rd-toc li + li[b-hd8r8y2ufj] { border-top: 1px solid var(--border); }
.rd-toc button[b-hd8r8y2ufj] {
    width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 11px 6px; text-align: left;
    background: none; border: 0; color: inherit; font: inherit; cursor: pointer; border-radius: 10px;
}
.rd-toc button:hover[b-hd8r8y2ufj] { background: rgba(255, 255, 255, .04); }
.rd-toc b[b-hd8r8y2ufj] { font-size: .94rem; font-weight: 650; }
.rd-toc small[b-hd8r8y2ufj] { grid-column: 1; font-size: .8rem; color: var(--text-3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rd-toc i[b-hd8r8y2ufj] { grid-column: 2; grid-row: 1; font-style: normal; font-size: .78rem; color: var(--text-3); }
.rd-toc li.on b[b-hd8r8y2ufj] { color: #fbbf24; }

/* ---- impostazioni */
.rd-settings[b-hd8r8y2ufj] { display: flex; flex-direction: column; gap: 16px; }
.rd-size[b-hd8r8y2ufj] { display: flex; align-items: center; gap: 12px; }
.rd-size .btn[b-hd8r8y2ufj] { width: 52px; height: 46px; font-family: Georgia, serif; }
.rd-size small[b-hd8r8y2ufj] { font-size: .85rem; }
.rd-size b[b-hd8r8y2ufj] { font-size: 1.35rem; }
.rd-dots[b-hd8r8y2ufj] { flex: 1; display: flex; justify-content: center; gap: 8px; }
.rd-dots i[b-hd8r8y2ufj] { width: 9px; height: 9px; border-radius: 50%; background: rgba(255, 255, 255, .14); }
.rd-dots i.on[b-hd8r8y2ufj] { background: #f59e0b; }
.rd-themes[b-hd8r8y2ufj] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.rd-theme[b-hd8r8y2ufj] {
    display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 6px; border-radius: 14px; cursor: pointer;
    font: inherit; font-size: .82rem; border: 2px solid transparent; background: var(--paper); color: var(--ink);
}
.rd-theme span[b-hd8r8y2ufj] { font-family: Georgia, serif; font-size: 1.3rem; font-weight: 700; }
.rd-theme.rd-notte[b-hd8r8y2ufj] { --paper: #15121f; --ink: #ebe6dc; border-color: rgba(255, 255, 255, .1); }
.rd-theme.rd-seppia[b-hd8r8y2ufj] { --paper: #f3e9d2; --ink: #3d3021; }
.rd-theme.rd-carta[b-hd8r8y2ufj] { --paper: #fbfaf7; --ink: #1f1d1a; }
.rd-theme.active[b-hd8r8y2ufj] { border-color: #f59e0b; box-shadow: 0 0 0 3px rgba(245, 158, 11, .25); }

/* ---- segnalibri e sottolineature */
.rd-bm-btn.on[b-hd8r8y2ufj] { color: #fbbf24; }
.rd-ribbon[b-hd8r8y2ufj] { flex: 0 0 auto; font-size: .9rem; line-height: 1; }
.rd-paper mark.rd-hl[b-hd8r8y2ufj] {
    color: inherit; background: color-mix(in srgb, var(--hl, var(--mark)) 26%, transparent); border-radius: 3px; cursor: pointer;
    text-decoration: underline; text-decoration-color: var(--hl, var(--mark)); text-decoration-thickness: .13em; text-underline-offset: .2em;
    -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
/* in alto: in basso sul telefono c'è il menu della selezione di Chrome */
.rd-pop[b-hd8r8y2ufj] {
    position: fixed; left: 50%; top: calc(10px + env(safe-area-inset-top)); z-index: 60; transform: translateX(-50%);
    display: none; align-items: center; gap: 8px; padding: 6px 8px 6px 16px; border-radius: 999px; max-width: calc(100vw - 24px);
    background: rgba(18, 14, 30, .96); border: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .9);
}
.rd-pop[data-show][b-hd8r8y2ufj] { display: flex; }
.rd-pop-l[b-hd8r8y2ufj] { font-size: .86rem; font-weight: 700; white-space: nowrap; color: #fff; margin-right: 2px; }
.rd-dot[b-hd8r8y2ufj] {
    flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; border: 0; padding: 0; cursor: pointer; background: var(--c);
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, .18);
}
.rd-dot.on[b-hd8r8y2ufj] { box-shadow: 0 0 0 2px rgba(18, 14, 30, .96), 0 0 0 4px #fff; }
@media (max-width: 360px) { .rd-pop-l[b-hd8r8y2ufj] { display: none; } .rd-pop[b-hd8r8y2ufj] { padding-left: 8px; } }

/* evidenziatore accanto al segnalibro: la riga sotto è del colore scelto */
.rd-pen-btn svg[b-hd8r8y2ufj] { overflow: visible; }

.rd-colors[b-hd8r8y2ufj] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.rd-color[b-hd8r8y2ufj] {
    display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 2px; border-radius: 14px; cursor: pointer;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-2); font: inherit; font-size: .74rem;
}
.rd-color i[b-hd8r8y2ufj] { width: 30px; height: 30px; border-radius: 50%; background: var(--c); }
.rd-color.on[b-hd8r8y2ufj] { color: #fff; border-color: var(--c); box-shadow: 0 0 0 2px color-mix(in srgb, var(--c) 45%, transparent); }
.rd-pen[b-hd8r8y2ufj] { display: flex; flex-direction: column; gap: 14px; }
.rd-pen p[b-hd8r8y2ufj] { margin: 0; color: var(--text-2); font-size: .9rem; line-height: 1.5; }

.rd-toc-tabs[b-hd8r8y2ufj] { margin-bottom: 12px; }
.rd-toc-tabs button[b-hd8r8y2ufj] { padding-left: 6px; padding-right: 6px; font-size: .8rem; }
.rd-none[b-hd8r8y2ufj] { margin: 18px 4px; color: var(--text-2); font-size: .9rem; line-height: 1.5; text-align: center; }
.rd-marks[b-hd8r8y2ufj] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.rd-marks li[b-hd8r8y2ufj] { display: flex; align-items: center; gap: 6px; }
.rd-marks li + li[b-hd8r8y2ufj] { border-top: 1px solid var(--border); }
.rd-mark-go[b-hd8r8y2ufj] {
    flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; padding: 11px 6px; text-align: left;
    background: none; border: 0; color: inherit; font: inherit; cursor: pointer; border-radius: 10px;
}
.rd-mark-go:hover[b-hd8r8y2ufj] { background: rgba(255, 255, 255, .04); }
.rd-mark-go b[b-hd8r8y2ufj] { font-size: .92rem; font-weight: 650; }
.rd-mark-go b small[b-hd8r8y2ufj] { font-weight: 500; color: var(--text-3); }
.rd-mark-go span[b-hd8r8y2ufj] { font-size: .84rem; color: var(--text-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rd-mark-go q[b-hd8r8y2ufj] {
    font-family: Georgia, serif; font-style: italic; font-size: .95rem; line-height: 1.45; padding-left: 10px; border-left: 3px solid var(--hl, #f59e0b);
    display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
}
.rd-mark-go small[b-hd8r8y2ufj] { font-size: .76rem; color: var(--text-3); }
.rd-marks li.on b[b-hd8r8y2ufj] { color: #fbbf24; }
.rd-markone[b-hd8r8y2ufj] { display: flex; flex-direction: column; gap: 12px; }
.rd-markone blockquote[b-hd8r8y2ufj] { margin: 0; padding: 4px 0 4px 14px; border-left: 3px solid var(--hl, #f59e0b); font-family: Georgia, serif; font-style: italic; font-size: 1.05rem; line-height: 1.55; }
.rd-markone small[b-hd8r8y2ufj] { color: var(--text-3); font-size: .8rem; }
/* /Components/Pages/Libri/LibreriaPage.razor.rz.scp.css */
.lr[b-ev0glrs6fp] { display: flex; flex-direction: column; gap: 16px; max-width: 980px; margin: 0 auto; width: 100%; }

.lr-stats[b-ev0glrs6fp] {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border-radius: 22px; overflow: hidden;
    background: linear-gradient(135deg, rgba(245, 158, 11, .35), rgba(239, 68, 68, .3));
}
.lr-stats > div[b-ev0glrs6fp] { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 16px 6px; background: rgba(12, 9, 22, .78); text-align: center; }
.lr-stats b[b-ev0glrs6fp] { font-size: 1.7rem; font-weight: 800; line-height: 1.1; background: linear-gradient(135deg, #fde68a, #fb923c); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lr-stats span[b-ev0glrs6fp] { font-size: .74rem; color: var(--text-2); }

.lr-tabs[b-ev0glrs6fp] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 5px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); }
.lr-tabs button[b-ev0glrs6fp] {
    height: 44px; border: 0; border-radius: 13px; background: none; color: var(--text-2); font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 0 4px; white-space: nowrap; overflow: hidden;
}
.lr-tabs button span[b-ev0glrs6fp] { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; display: inline-grid; place-items: center; font-size: .72rem; background: rgba(255, 255, 255, .08); }
.lr-tabs button.active[b-ev0glrs6fp] { color: #fff; background: linear-gradient(135deg, #f59e0b, #ef4444); }
.lr-tabs button.active span[b-ev0glrs6fp] { background: rgba(0, 0, 0, .22); }

.lr-grid[b-ev0glrs6fp] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 12px; }
.lr-item[b-ev0glrs6fp] { position: relative; min-width: 0; }
.lr-more[b-ev0glrs6fp] {
    position: absolute; top: 6px; right: 6px; z-index: 1; width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .18);
    background: rgba(12, 9, 22, .72); color: #fff; font: inherit; font-size: 1.1rem; font-weight: 800; line-height: 1; cursor: pointer;
    display: grid; place-items: center; padding: 0 0 4px;
}
.lr-more:hover[b-ev0glrs6fp], .lr-more:focus-visible[b-ev0glrs6fp] { background: linear-gradient(135deg, #f59e0b, #ef4444); border-color: transparent; }

.lr-sheet[b-ev0glrs6fp] { display: flex; flex-direction: column; gap: 12px; }
.lr-sheet-meta[b-ev0glrs6fp] { margin: -4px 0 0; color: var(--text-2); font-size: .9rem; }
.lr-sheet-label[b-ev0glrs6fp] { font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.lr-sheet-shelves[b-ev0glrs6fp] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 5px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); }
.lr-sheet-shelves button[b-ev0glrs6fp] {
    min-height: 48px; border: 0; border-radius: 13px; background: none; color: var(--text-2); font: inherit; font-size: .84rem; font-weight: 600; cursor: pointer;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 4px;
}
.lr-sheet-shelves button.active[b-ev0glrs6fp] { color: #fff; background: linear-gradient(135deg, #f59e0b, #ef4444); }
.lr-sheet-note[b-ev0glrs6fp] { color: var(--text-3); font-size: .76rem; text-align: center; }

.lr-book[b-ev0glrs6fp] { display: flex; flex-direction: column; gap: 6px; color: inherit; text-decoration: none; min-width: 0; }
.lr-book b[b-ev0glrs6fp] { font-size: .86rem; font-weight: 650; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lr-book small[b-ev0glrs6fp] { margin-top: -3px; font-size: .74rem; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lr-meta[b-ev0glrs6fp] { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: .72rem; color: var(--text-3); }
.lr-stars[b-ev0glrs6fp] { color: #fbbf24; letter-spacing: 1px; }
.lr-stars i[b-ev0glrs6fp] { font-style: normal; color: rgba(255, 255, 255, .15); }
.lr-progress[b-ev0glrs6fp] { display: block; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.lr-progress span[b-ev0glrs6fp] { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #f59e0b, #ef4444); }
.lr-skel[b-ev0glrs6fp] { display: block; aspect-ratio: 2 / 3; border-radius: 10px; }

@media (max-width: 380px) { .lr-tabs button[b-ev0glrs6fp] { font-size: .78rem; } }
@media (min-width: 560px) { .lr-grid[b-ev0glrs6fp] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 16px; } }
@media (min-width: 860px) { .lr-grid[b-ev0glrs6fp] { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
/* /Components/Pages/Libri/LibriPage.razor.rz.scp.css */
.lb[b-3i7wmv83j1] { display: flex; flex-direction: column; gap: 16px; max-width: 980px; margin: 0 auto; width: 100%; }

/* ---- ricerca grande */
.lb-search[b-3i7wmv83j1] {
    position: relative; display: flex; align-items: center; gap: 10px; height: 54px; padding: 0 14px 0 18px; border-radius: 18px;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-3);
    box-shadow: 0 16px 32px -22px rgba(0, 0, 0, .8);
}
.lb-search:focus-within[b-3i7wmv83j1] { border-color: rgba(245, 158, 11, .6); box-shadow: 0 0 0 4px rgba(245, 158, 11, .14); color: #fbbf24; }
.lb-search input[b-3i7wmv83j1] { flex: 1; min-width: 0; height: 100%; background: none; border: 0; outline: 0; color: var(--text); font: inherit; font-size: 1.02rem; }
.lb-search input[b-3i7wmv83j1]::-webkit-search-cancel-button { display: none; }
.lb-clear[b-3i7wmv83j1] { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .08); color: var(--text-2); cursor: pointer; }

.lb-genres[b-3i7wmv83j1] { display: flex; gap: 6px; padding-bottom: 2px; }
.lb-genres .chip[b-3i7wmv83j1] { flex: 0 0 auto; height: 34px; padding: 0 13px; }

.lb-h[b-3i7wmv83j1] { margin: 2px 2px -4px; font-family: var(--font-display); font-size: 1.1rem; font-weight: 650; color: var(--text); display: flex; align-items: baseline; gap: 8px; }
.lb-h small[b-3i7wmv83j1] { font-family: var(--font); font-size: .78rem; font-weight: 500; color: var(--text-3); }

/* ---- sto leggendo */
.lb-now[b-3i7wmv83j1] { display: flex; flex-direction: column; gap: 12px; }
.lb-now-row[b-3i7wmv83j1] { display: flex; gap: 12px; padding-bottom: 4px; }
.lb-now-item[b-3i7wmv83j1] {
    flex: 0 0 auto; width: 260px; display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 16px;
    background: linear-gradient(120deg, rgba(245, 158, 11, .14), rgba(239, 68, 68, .1)); border: 1px solid rgba(245, 158, 11, .25);
    color: inherit; text-decoration: none;
}
.lb-now-item[b-3i7wmv83j1]  .bc { flex: 0 0 56px; width: 56px; border-radius: 7px; }
.lb-now-text[b-3i7wmv83j1] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.lb-progress[b-3i7wmv83j1] { display: block; height: 4px; margin-top: 4px; border-radius: 4px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.lb-progress span[b-3i7wmv83j1] { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #f59e0b, #ef4444); }
.lb-now-item .lb-pc[b-3i7wmv83j1] { font-size: .72rem; color: var(--text-2); }
.lb-now-item b[b-3i7wmv83j1] { font-size: .92rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lb-now-item small[b-3i7wmv83j1] { font-size: .78rem; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---- griglia delle copertine */
.lb-grid[b-3i7wmv83j1] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 12px; }
.lb-book[b-3i7wmv83j1] { display: flex; flex-direction: column; gap: 6px; color: inherit; text-decoration: none; min-width: 0; }
.lb-cover[b-3i7wmv83j1] { position: relative; display: block; transition: transform .15s ease; }
.lb-book:hover .lb-cover[b-3i7wmv83j1] { transform: translateY(-3px); }
.lb-book b[b-3i7wmv83j1] { font-size: .86rem; font-weight: 650; line-height: 1.25; color: var(--text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lb-book small[b-3i7wmv83j1] { margin-top: -3px; font-size: .74rem; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb-badge[b-3i7wmv83j1] {
    position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: .8rem;
    background: rgba(10, 8, 20, .82); box-shadow: 0 4px 10px rgba(0, 0, 0, .5);
}

.lb-skel[b-3i7wmv83j1] { display: flex; flex-direction: column; gap: 7px; }
.lb-skel-cover[b-3i7wmv83j1] { display: block; aspect-ratio: 2 / 3; border-radius: 10px; }
.lb-skel-line[b-3i7wmv83j1] { display: block; height: 12px; border-radius: 6px; }
.lb-skel-line.short[b-3i7wmv83j1] { width: 60%; }

@media (min-width: 560px) { .lb-grid[b-3i7wmv83j1] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 16px; } }
@media (min-width: 860px) { .lb-grid[b-3i7wmv83j1] { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
/* /Components/Pages/Libri/LibroPage.razor.rz.scp.css */
.lp[b-8oztmqqv5s] { display: flex; flex-direction: column; gap: 18px; max-width: 860px; margin: 0 auto; width: 100%; }

/* ---- testata: copertina su sfondo sfumato con i colori della copertina */
.lp-hero[b-8oztmqqv5s] {
    position: relative; overflow: hidden; isolation: isolate; display: flex; align-items: flex-end; gap: 20px; padding: 22px;
    border-radius: 26px; border: 1px solid var(--border);
    background:
        radial-gradient(90% 120% at 0% 0%, hsl(var(--h, 30) 70% 50% / .35), transparent 65%),
        linear-gradient(150deg, rgba(245, 158, 11, .16), rgba(239, 68, 68, .12));
}
.lp-hero[b-8oztmqqv5s]::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(8, 6, 18, .2), rgba(8, 6, 18, .75)); }
.lp-cover[b-8oztmqqv5s] { flex: 0 0 150px; width: 150px; }
.lp-head[b-8oztmqqv5s] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; padding-bottom: 4px; }
.lp-head h1[b-8oztmqqv5s] { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.4rem, 4.2vw, 2.1rem); line-height: 1.15; font-weight: 700; color: #fff; overflow-wrap: anywhere; }
.lp-sub[b-8oztmqqv5s] { margin: -2px 0 0; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-size: .98rem; color: rgba(255, 255, 255, .78); }
.lp-authors[b-8oztmqqv5s] { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; font-size: 1rem; }
.lp-authors small[b-8oztmqqv5s] { margin-right: 6px; font-size: .78rem; color: rgba(255, 255, 255, .6); }
.lp-authors a[b-8oztmqqv5s] { color: #fcd34d; font-weight: 600; text-decoration: none; }
.lp-authors a:hover[b-8oztmqqv5s] { text-decoration: underline; }
.lp-meta[b-8oztmqqv5s] { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.lp-meta li[b-8oztmqqv5s] { padding: 5px 10px; border-radius: 999px; font-size: .78rem; color: rgba(255, 255, 255, .88); background: rgba(255, 255, 255, .1); }
/* ---- leggi */
.lp-read[b-8oztmqqv5s] { display: flex; flex-direction: column; gap: 8px; }
.lp-go[b-8oztmqqv5s] {
    display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-radius: 20px; color: #fff; text-decoration: none;
    background: linear-gradient(135deg, #f59e0b, #ef4444); box-shadow: 0 18px 36px -18px rgba(239, 68, 68, .9);
}
.lp-go:hover[b-8oztmqqv5s] { filter: brightness(1.06); }
.lp-go-icon[b-8oztmqqv5s] { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; font-size: 1.4rem; background: rgba(255, 255, 255, .18); }
.lp-go > span:last-child[b-8oztmqqv5s] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lp-go b[b-8oztmqqv5s] { font-size: 1.15rem; font-weight: 750; }
.lp-go small[b-8oztmqqv5s] { font-size: .82rem; opacity: .9; }
.lp-progress[b-8oztmqqv5s] { height: 5px; border-radius: 5px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.lp-progress span[b-8oztmqqv5s] { display: block; height: 100%; border-radius: 5px; background: linear-gradient(90deg, #f59e0b, #ef4444); }

/* ---- scaffali */
.lp-shelf[b-8oztmqqv5s] { display: flex; flex-direction: column; gap: 10px; }
.lp-source[b-8oztmqqv5s] { margin: 2px 0 0; font-size: .76rem; color: var(--text-3); text-align: center; }
.lp-source a[b-8oztmqqv5s] { color: var(--text-2); }
.lp-remove[b-8oztmqqv5s] {
    align-self: center; min-height: 40px; padding: 0 16px; border: 0; border-radius: 999px; background: none; color: #fca5a5;
    font: inherit; font-size: .84rem; font-weight: 600; cursor: pointer;
}
.lp-remove:hover[b-8oztmqqv5s], .lp-remove:focus-visible[b-8oztmqqv5s] { background: rgba(239, 68, 68, .12); }
.lp-shelves[b-8oztmqqv5s] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 5px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); }
.lp-shelves button[b-8oztmqqv5s] {
    height: 46px; border-radius: 13px; border: 0; background: none; color: var(--text-2); font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0 6px;
}
.lp-shelves button:hover[b-8oztmqqv5s] { color: var(--text); background: rgba(255, 255, 255, .04); }
.lp-shelves button.active[b-8oztmqqv5s] { color: #fff; background: linear-gradient(135deg, #f59e0b, #ef4444); box-shadow: 0 10px 22px -12px rgba(239, 68, 68, .9); }
.lp-stars[b-8oztmqqv5s] { display: flex; align-items: center; gap: 2px; padding: 4px 6px; flex-wrap: wrap; }
.lp-stars > span[b-8oztmqqv5s] { margin-right: 8px; font-size: .86rem; color: var(--text-2); }
.lp-stars button[b-8oztmqqv5s] { width: 36px; height: 36px; border: 0; background: none; font-size: 1.5rem; line-height: 1; color: rgba(255, 255, 255, .2); cursor: pointer; }
.lp-stars button.on[b-8oztmqqv5s] { color: #fbbf24; }
.lp-stars small[b-8oztmqqv5s] { margin-left: auto; color: var(--text-3); font-size: .78rem; }

/* ---- trama, generi, altri libri */
.lp-section[b-8oztmqqv5s] { display: flex; flex-direction: column; gap: 10px; }
.lp-section h2[b-8oztmqqv5s] { margin: 0; font-family: var(--font-display); font-size: 1.1rem; font-weight: 650; }
.lp-plot[b-8oztmqqv5s] {
    margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.04rem; line-height: 1.7; color: var(--text); white-space: pre-line;
    display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden;
}
.lp-plot.open[b-8oztmqqv5s] { display: block; -webkit-line-clamp: unset; }
.lp-more[b-8oztmqqv5s] { align-self: flex-start; padding: 0; border: 0; background: none; color: #fbbf24; font: inherit; font-weight: 600; cursor: pointer; }
.lp-opening[b-8oztmqqv5s] {
    margin: 0; padding: 16px 18px; border-radius: 16px; border-left: 3px solid #f59e0b; background: var(--surface);
    font-family: Georgia, "Times New Roman", serif; font-size: 1.04rem; line-height: 1.7; color: var(--text); white-space: pre-line;
}
.lp-toc[b-8oztmqqv5s] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; border-radius: 16px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); }
.lp-toc li + li[b-8oztmqqv5s] { border-top: 1px solid var(--border); }
.lp-toc a[b-8oztmqqv5s] { display: flex; flex-direction: column; gap: 2px; padding: 11px 16px; color: inherit; text-decoration: none; }
.lp-toc a:hover[b-8oztmqqv5s] { background: rgba(255, 255, 255, .04); }
.lp-toc b[b-8oztmqqv5s] { font-size: .92rem; font-weight: 650; }
.lp-toc small[b-8oztmqqv5s] { font-size: .8rem; color: var(--text-3); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lp-skel-text[b-8oztmqqv5s] { display: block; height: 16px; border-radius: 6px; }
.lp-skel-text.short[b-8oztmqqv5s] { width: 70%; }
.lp-none[b-8oztmqqv5s] { margin: 0; color: var(--text-2); }
.lp-section > .btn[b-8oztmqqv5s] { align-self: flex-start; }
.lp-genres[b-8oztmqqv5s] { display: flex; flex-wrap: wrap; gap: 6px; }
.lp-genres .chip[b-8oztmqqv5s] { cursor: default; }

.lp-others[b-8oztmqqv5s] { display: flex; gap: 12px; padding-bottom: 6px; }
.lp-other[b-8oztmqqv5s] { flex: 0 0 auto; width: 104px; display: flex; flex-direction: column; gap: 5px; color: inherit; text-decoration: none; }
.lp-other b[b-8oztmqqv5s] { font-size: .8rem; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lp-other small[b-8oztmqqv5s] { margin-top: -3px; font-size: .72rem; color: var(--text-3); }

/* ---- caricamento */
.lp-skel-cover[b-8oztmqqv5s] { flex: 0 0 150px; width: 150px; aspect-ratio: 2 / 3; border-radius: 14px; }
.lp-skel-line[b-8oztmqqv5s] { display: block; height: 22px; border-radius: 8px; width: 80%; }
.lp-skel-line.short[b-8oztmqqv5s] { height: 16px; width: 45%; }

@media (max-width: 520px) {
    .lp-hero[b-8oztmqqv5s] { flex-direction: column; align-items: center; text-align: center; padding: 22px 16px 18px; }
    .lp-cover[b-8oztmqqv5s], .lp-skel-cover[b-8oztmqqv5s] { flex-basis: auto; width: 46%; max-width: 180px; }
    .lp-head[b-8oztmqqv5s] { align-items: center; width: 100%; }
    .lp-authors[b-8oztmqqv5s], .lp-meta[b-8oztmqqv5s] { justify-content: center; }
    .lp-shelves button[b-8oztmqqv5s] { font-size: .8rem; }
}
.lp-marks[b-8oztmqqv5s] { display: flex; gap: 6px; padding: 10px 0 2px; }
.lp-marks .chip[b-8oztmqqv5s] { flex: 0 0 auto; height: 34px; padding: 0 13px; text-decoration: none; }
/* /Components/Pages/Link/CollectionEditor.razor.rz.scp.css */
.ce[b-wtnd1y58ta] { display: flex; flex-direction: column; gap: 16px; }

.ce-preview[b-wtnd1y58ta] {
    display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 22px 12px 16px; border-radius: 24px;
    background: radial-gradient(90% 120% at 50% 0%, color-mix(in oklab, var(--cc) 30%, transparent), transparent 70%), var(--surface);
    border: 1px solid var(--border); perspective: 600px;
}
.ce-name[b-wtnd1y58ta] { font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; max-width: 100%; }

/* Cartella 3D: retro + emoji + fronte inclinato */
.folder[b-wtnd1y58ta] { position: relative; width: 96px; height: 76px; transform-style: preserve-3d; animation: folder-float-b-wtnd1y58ta 4s ease-in-out infinite; }
.folder-back[b-wtnd1y58ta] {
    position: absolute; inset: 8px 0 0 0; border-radius: 12px 16px 16px 16px;
    background: linear-gradient(160deg, color-mix(in oklab, var(--cc) 75%, white), color-mix(in oklab, var(--cc) 80%, black));
}
.folder-back[b-wtnd1y58ta]::before { content: ""; position: absolute; top: -8px; left: 0; width: 40%; height: 14px; border-radius: 10px 10px 0 0; background: color-mix(in oklab, var(--cc) 70%, white); }
.folder-emoji[b-wtnd1y58ta] { position: absolute; left: 50%; top: 4px; font-size: 34px; transform: translateX(-50%) translateZ(8px); filter: drop-shadow(0 6px 8px rgba(0, 0, 0, .35)); transition: transform .4s var(--ease-spring); }
.folder-front[b-wtnd1y58ta] {
    position: absolute; left: 0; right: 0; bottom: 0; height: 58%; border-radius: 12px; transform-origin: bottom; transform: rotateX(-18deg) translateZ(14px);
    background: linear-gradient(170deg, color-mix(in oklab, var(--cc) 55%, white), var(--cc));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 16px 28px -12px color-mix(in oklab, var(--cc) 90%, black);
}
.ce-preview:hover .folder-emoji[b-wtnd1y58ta] { transform: translateX(-50%) translateZ(8px) translateY(-10px) rotate(-8deg); }
@keyframes folder-float-b-wtnd1y58ta { 50% { transform: translateY(-6px) rotateY(10deg); } }

.emoji-grid[b-wtnd1y58ta] { display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 6px; }
.emo[b-wtnd1y58ta] { height: 44px; border-radius: 12px; border: 1px solid transparent; background: var(--surface); font-size: 1.3rem; cursor: pointer; transition: transform .25s var(--ease-spring), background .2s; }
.emo:hover[b-wtnd1y58ta] { transform: scale(1.12); background: var(--surface-2); }
.emo.on[b-wtnd1y58ta] { background: color-mix(in oklab, var(--accent) 35%, transparent); border-color: color-mix(in oklab, var(--accent) 70%, transparent); }
.emo-custom[b-wtnd1y58ta] { height: 44px; text-align: center; padding: 0 6px; grid-column: span 2; }

.swatches[b-wtnd1y58ta] { display: flex; flex-wrap: wrap; gap: 10px; }
.sw[b-wtnd1y58ta] {
    width: 36px; height: 36px; border-radius: 50%; border: 2px solid transparent; cursor: pointer;
    background: radial-gradient(circle at 30% 30%, color-mix(in oklab, var(--c) 60%, white), var(--c));
    box-shadow: 0 6px 14px -6px var(--c); transition: transform .25s var(--ease-spring);
}
.sw:hover[b-wtnd1y58ta] { transform: scale(1.12); }
.sw.on[b-wtnd1y58ta] { border-color: #fff; transform: scale(1.12); box-shadow: 0 0 0 3px color-mix(in oklab, var(--c) 50%, transparent), 0 6px 14px -6px var(--c); }

@media (prefers-reduced-motion: reduce) { .folder[b-wtnd1y58ta] { animation: none; } }
/* /Components/Pages/Link/LinkEditor.razor.rz.scp.css */
.ed[b-udqzqg3e92] { display: flex; flex-direction: column; gap: 16px; }

.ed-preview[b-udqzqg3e92] {
    position: relative; display: flex; align-items: center; gap: 18px; padding: 18px; border-radius: 24px; overflow: hidden;
    background:
        radial-gradient(120% 140% at 0% 0%, color-mix(in oklab, var(--pc) 34%, transparent), transparent 60%),
        linear-gradient(160deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .015));
    border: 1px solid var(--border);
    perspective: 700px;
}
.ed-icon[b-udqzqg3e92] { transform-style: preserve-3d; animation: ed-icon-in-b-udqzqg3e92 .7s var(--ease-spring) both; }
.ed-icon[b-udqzqg3e92]  .licon { --s: 72px; }
.ed-icon.loading[b-udqzqg3e92]  .licon { animation: ed-spin-b-udqzqg3e92 1.4s var(--ease-out) infinite; }
@keyframes ed-icon-in-b-udqzqg3e92 { from { transform: rotateY(-90deg) scale(.6); opacity: 0; } }
@keyframes ed-spin-b-udqzqg3e92 { 0% { transform: rotateY(0); } 60%, 100% { transform: rotateY(360deg); } }
.ed-pv-text[b-udqzqg3e92] { min-width: 0; flex: 1; }
.ed-pv-title[b-udqzqg3e92] { font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; }
.ed-pv-domain[b-udqzqg3e92] { color: var(--text-2); font-size: .85rem; }
.ed-pv-note[b-udqzqg3e92] { font-size: .78rem; margin-top: 6px; display: flex; align-items: center; gap: 8px; }
.spin[b-udqzqg3e92] { width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .2); border-top-color: var(--accent-2); animation: spin-b-udqzqg3e92 .8s linear infinite; flex: none; }
@keyframes spin-b-udqzqg3e92 { to { transform: rotate(360deg); } }

.ed-url-row[b-udqzqg3e92] { display: flex; gap: 8px; }
.ed-url-row .input[b-udqzqg3e92] { flex: 1; min-width: 0; }
.ed-dup[b-udqzqg3e92] { font-size: .8rem; color: #fde68a; }

.tags-box[b-udqzqg3e92] {
    display: flex; flex-wrap: wrap; gap: 6px; align-items: center; min-height: 46px; padding: 6px 10px; border-radius: 14px;
    background: rgba(0, 0, 0, .25); border: 1px solid var(--border); transition: border-color .2s, box-shadow .2s;
}
.tags-box:focus-within[b-udqzqg3e92] { border-color: color-mix(in oklab, var(--accent) 70%, white); box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 25%, transparent); }
.tag-chip[b-udqzqg3e92] {
    display: inline-flex; align-items: center; gap: 4px; height: 28px; padding: 0 6px 0 10px; border-radius: 99px; font-size: .82rem; font-weight: 600;
    background: color-mix(in oklab, var(--accent) 30%, transparent); border: 1px solid color-mix(in oklab, var(--accent) 50%, transparent);
    animation: chip-in-b-udqzqg3e92 .35s var(--ease-spring);
}
.tag-chip button[b-udqzqg3e92] { border: 0; background: transparent; color: var(--text-2); cursor: pointer; width: 20px; height: 20px; border-radius: 50%; font-size: .7rem; }
.tag-chip button:hover[b-udqzqg3e92] { background: rgba(255, 255, 255, .15); color: #fff; }
@keyframes chip-in-b-udqzqg3e92 { from { transform: scale(.5); opacity: 0; } }
.tag-input[b-udqzqg3e92] { flex: 1; min-width: 120px; height: 32px; border: 0; background: transparent; color: var(--text); font: inherit; font-size: 16px; outline: none; }
.tag-sugg[b-udqzqg3e92] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.tag-sugg .chip[b-udqzqg3e92] { height: 28px; font-size: .78rem; }

.ed-pin[b-udqzqg3e92] { padding: 12px 14px; border-radius: 16px; background: var(--surface); cursor: pointer; }

.ed-stats[b-udqzqg3e92] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.ed-stats > div[b-udqzqg3e92] { display: flex; flex-direction: column; gap: 2px; padding: 12px; border-radius: 16px; background: var(--surface); min-width: 0; }
.ed-stats strong[b-udqzqg3e92] { font-size: 1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ed-stats .kpi-label[b-udqzqg3e92] { font-size: .66rem; color: var(--text-3); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }

.ed-check[b-udqzqg3e92] {
    display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 16px;
    background: color-mix(in oklab, var(--sc) 10%, transparent); border: 1px solid color-mix(in oklab, var(--sc) 30%, transparent);
}
.ed-check .sdot[b-udqzqg3e92] { width: 10px; height: 10px; border-radius: 50%; background: var(--sc); box-shadow: 0 0 10px var(--sc); margin-top: 6px; flex: none; }
.ed-check-actions[b-udqzqg3e92] { display: flex; flex-direction: column; gap: 6px; flex: none; }
.ed-break[b-udqzqg3e92] { word-break: break-all; }

@media (max-width: 560px) {
    .ed-stats[b-udqzqg3e92] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ed-stats > div:last-child[b-udqzqg3e92] { grid-column: span 2; }
    .ed-check[b-udqzqg3e92] { flex-wrap: wrap; }
    .ed-check-actions[b-udqzqg3e92] { flex-direction: row; width: 100%; }
    .ed-check-actions .btn[b-udqzqg3e92] { flex: 1; }
}

/* Raccolta: scelta o creazione al volo nella stessa riga */
.ed-col-row[b-udqzqg3e92] { display: flex; gap: 8px; align-items: center; }
.ed-col-row .select[b-udqzqg3e92], .ed-col-row .input[b-udqzqg3e92] { flex: 1; min-width: 0; }
/* /Components/Pages/Link/LinkIcon.razor.rz.scp.css */
.licon[b-ojtn6b850b] {
    --s: 76px;
    position: relative; flex: none; display: grid; place-items: center; overflow: hidden;
    width: var(--s); height: var(--s); border-radius: calc(var(--s) * .28);
    transform-style: preserve-3d;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, .45) inset,
        0 -6px 14px rgba(0, 0, 0, .18) inset,
        0 18px 30px -14px hsl(var(--h1) 80% 45% / .75),
        0 6px 12px -6px rgba(0, 0, 0, .6);
}
.licon.md[b-ojtn6b850b] { --s: 48px; }
.licon.sm[b-ojtn6b850b] { --s: 36px; }

.licon.gen[b-ojtn6b850b] { background: linear-gradient(145deg, hsl(var(--h1) 78% 58%), hsl(var(--h2) 82% 42%)); }
.licon.img[b-ojtn6b850b] { background: linear-gradient(160deg, #ffffff, hsl(var(--h1) 30% 88%)); }

.licon img[b-ojtn6b850b] {
    width: 58%; height: 58%; object-fit: contain; image-rendering: auto;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .18));
}
.licon-letter[b-ojtn6b850b] {
    font-family: var(--font-display); font-weight: 700; color: #fff;
    font-size: calc(var(--s) * .46); line-height: 1; letter-spacing: -.03em;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .28);
}
/* Riflesso vetro in alto, come le icone di un OS */
.licon-gloss[b-ojtn6b850b] {
    position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
    background:
        radial-gradient(120% 70% at 30% -10%, rgba(255, 255, 255, .55), transparent 55%),
        linear-gradient(to bottom, rgba(255, 255, 255, .12), transparent 45%);
    mix-blend-mode: soft-light;
}
/* /Components/Pages/Link/LinkPreferiti.razor.rz.scp.css */
/* =========================================================
   Link preferiti — speed dial 3D
   ========================================================= */

/* ---------- Hero: ventaglio di icone ---------- */
.hero-stack[b-lznzk11t0k] { position: relative; width: 150px; height: 84px; perspective: 600px; flex: none; }
.hs-item[b-lznzk11t0k] {
    position: absolute; top: 10px; left: calc(var(--k) * 34px);
    transform: rotateY(calc(28deg - var(--k) * 14deg)) rotateZ(calc(-10deg + var(--k) * 10deg)) translateZ(calc(var(--k) * 12px));
    animation: hs-in-b-lznzk11t0k .9s var(--ease-spring) both; animation-delay: calc(var(--k) * 120ms + 200ms);
    transition: transform .5s var(--ease-spring);
}
.hero-stack:hover .hs-item[b-lznzk11t0k] { transform: rotateY(0) rotateZ(calc(-6deg + var(--k) * 6deg)) translateY(-6px) translateZ(calc(var(--k) * 16px)); }
@keyframes hs-in-b-lznzk11t0k { from { opacity: 0; transform: translateY(40px) rotateX(60deg); } }
.hs-count[b-lznzk11t0k] {
    position: absolute; right: -6px; bottom: -4px; z-index: 3; min-width: 38px; height: 30px; padding: 0 10px; border-radius: 99px;
    display: grid; place-items: center; font-weight: 700; font-size: .95rem;
    background: linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow: 0 10px 24px -8px var(--accent);
    border: 2px solid rgba(8, 6, 24, .8);
}

/* ---------- Filtri ---------- */
.filters[b-lznzk11t0k] { display: flex; flex-direction: column; gap: 12px; padding: 14px; margin-bottom: 18px; border-radius: 24px; }
.f-row[b-lznzk11t0k] { display: flex; gap: 8px; align-items: center; }
.f-search[b-lznzk11t0k] {
    flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px;
    border-radius: 14px; background: rgba(0, 0, 0, .28); border: 1px solid var(--border); color: var(--text-2);
    transition: border-color .2s, box-shadow .2s;
}
.f-search:focus-within[b-lznzk11t0k] { border-color: color-mix(in oklab, var(--accent) 70%, white); box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 25%, transparent); }
.f-search input[b-lznzk11t0k] { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; color: var(--text); font: inherit; font-size: 16px; outline: none; }
.f-scroll[b-lznzk11t0k] { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; margin: 0 -14px; padding: 2px 14px; align-items: center; }
.f-scroll[b-lznzk11t0k]::-webkit-scrollbar { display: none; }
.f-scroll > *[b-lznzk11t0k] { flex: none; }
.f-sep[b-lznzk11t0k] { width: 1px; height: 22px; background: var(--border-strong); margin: 0 4px; }
.cnt[b-lznzk11t0k] { font-size: .72rem; opacity: .6; font-variant-numeric: tabular-nums; }
.col-chip[b-lznzk11t0k]::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--cc); box-shadow: 0 0 8px var(--cc); }
.col-chip.active[b-lznzk11t0k] { background: color-mix(in oklab, var(--cc) 38%, transparent); border-color: color-mix(in oklab, var(--cc) 70%, transparent); }
.add-chip[b-lznzk11t0k] { border-style: dashed; }
.broken-chip.active[b-lznzk11t0k] { background: color-mix(in oklab, var(--danger) 30%, transparent); border-color: color-mix(in oklab, var(--danger) 60%, transparent); }
.tag-chip-f[b-lznzk11t0k] { height: 30px; font-size: .8rem; }
@media (max-width: 560px) {
    .f-row[b-lznzk11t0k] { flex-wrap: wrap; }
    .f-search[b-lznzk11t0k] { flex-basis: 100%; }
}

.edit-banner[b-lznzk11t0k] {
    display: flex; align-items: center; gap: 12px; padding: 12px 14px; margin-bottom: 18px; border-radius: 18px;
    background: linear-gradient(120deg, color-mix(in oklab, var(--accent) 30%, transparent), color-mix(in oklab, var(--accent-2) 18%, transparent));
    border: 1px solid color-mix(in oklab, var(--accent) 50%, transparent); font-size: .88rem;
}
.eb-ico[b-lznzk11t0k] { font-size: 1.3rem; animation: eb-wiggle-b-lznzk11t0k 1.2s ease-in-out infinite; }
@keyframes eb-wiggle-b-lznzk11t0k { 25% { transform: rotate(-12deg); } 75% { transform: rotate(12deg); } }

/* ---------- Sezioni ---------- */
.dial-root[b-lznzk11t0k] { display: flex; flex-direction: column; gap: 22px; }
.sect[b-lznzk11t0k] { position: relative; }
.sect-head[b-lznzk11t0k] { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 2px 10px; min-width: 0; }
.sect-head h2[b-lznzk11t0k] { font-size: 1.2rem; display: flex; align-items: center; gap: 8px; min-width: 0; }
.sect-emoji[b-lznzk11t0k] { filter: drop-shadow(0 4px 10px rgba(249, 115, 22, .6)); }
.sort-sel[b-lznzk11t0k] { height: 36px; width: auto; font-size: .85rem; border-radius: 11px; padding-left: 10px; }

.col-sect[b-lznzk11t0k] {
    padding: 14px 12px 16px; border-radius: var(--radius-xl);
    background:
        radial-gradient(70% 90% at 0% 0%, color-mix(in oklab, var(--cc) 20%, transparent), transparent 65%),
        linear-gradient(170deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .012));
    border: 1px solid var(--border);
    transition: border-color .3s, box-shadow .3s, background .3s;
}
.col-sect[b-lznzk11t0k]::after {
    /* "pavimento" della galleria: linea di luce del colore della raccolta */
    content: ""; position: absolute; left: 10%; right: 10%; bottom: -1px; height: 2px; border-radius: 2px; pointer-events: none;
    background: linear-gradient(90deg, transparent, var(--cc), transparent); opacity: .55; filter: blur(.5px);
}
.col-sect[data-over][b-lznzk11t0k] { border-color: color-mix(in oklab, var(--cc) 70%, transparent); box-shadow: 0 0 0 3px color-mix(in oklab, var(--cc) 25%, transparent), 0 30px 60px -30px var(--cc); }
.col-title[b-lznzk11t0k] {
    display: flex; align-items: center; gap: 10px; min-width: 0; padding: 4px 6px 4px 4px; border: 0; border-radius: 14px;
    background: transparent; color: inherit; cursor: pointer; text-align: left;
}
.col-title.static[b-lznzk11t0k] { cursor: default; }
.col-title:hover:not(.static)[b-lznzk11t0k] { background: var(--surface); }
.col-emoji[b-lznzk11t0k] {
    width: 38px; height: 38px; flex: none; display: grid; place-items: center; font-size: 1.2rem; border-radius: 12px;
    background: linear-gradient(145deg, color-mix(in oklab, var(--cc) 80%, white), color-mix(in oklab, var(--cc) 75%, black));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .4), 0 10px 20px -8px var(--cc);
}
.col-title h2[b-lznzk11t0k] { font-size: 1.1rem; }
.cnt-pill[b-lznzk11t0k] { font-size: .72rem; font-weight: 700; padding: 2px 8px; border-radius: 99px; background: var(--surface-2); color: var(--text-2); flex: none; }
.chev[b-lznzk11t0k] { color: var(--text-3); transition: transform .35s var(--ease-spring); flex: none; }
.collapsed .chev[b-lznzk11t0k] { transform: rotate(-90deg); }
.collapsed[b-lznzk11t0k] { padding-bottom: 12px; }
.collapsed .sect-head[b-lznzk11t0k] { margin-bottom: 0; }
.col-empty[b-lznzk11t0k] { display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; padding: 22px; border: 1px dashed var(--border-strong); border-radius: 20px; }
.loose[b-lznzk11t0k] { --cc: #64748b; }

/* ---------- Griglia speed dial ---------- */
.dial-grid[b-lznzk11t0k] {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px 6px;
    perspective: 1200px; perspective-origin: 50% 0%;
}
@media (max-width: 560px) { .dial-grid[b-lznzk11t0k] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px 2px; } }
@media (max-width: 360px) { .dial-grid[b-lznzk11t0k] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.add-tile[b-lznzk11t0k] {
    display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px 6px 12px; border: 0; background: transparent; color: inherit; cursor: pointer;
    border-radius: 26px; transition: background .3s;
}
.add-tile:hover[b-lznzk11t0k] { background: var(--surface); }
.add-ico[b-lznzk11t0k] {
    width: clamp(58px, 15vw, 80px); height: clamp(58px, 15vw, 80px); border-radius: 28%; display: grid; place-items: center; font-size: 1.8rem;
    border: 2px dashed var(--border-strong); color: var(--text-2); margin-bottom: 20px;
    transition: transform .4s var(--ease-spring), border-color .3s, color .3s;
}
.add-tile:hover .add-ico[b-lznzk11t0k] { transform: rotate(90deg) scale(1.06); border-color: var(--cc, var(--accent)); color: #fff; }

.sk-tile[b-lznzk11t0k] { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 16px 6px; }
.sk-icon[b-lznzk11t0k] { width: 72px; height: 72px; border-radius: 22px; }
.sk-line[b-lznzk11t0k] { width: 70%; height: 12px; }

/* ---------- Dock dei fissati ---------- */
.dock-wrap[b-lznzk11t0k] { position: relative; display: flex; flex-direction: column; align-items: center; perspective: 900px; padding-top: 6px; }
.dock-label[b-lznzk11t0k] { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--text-2); margin-bottom: 8px; display: flex; gap: 6px; }
.dock[b-lznzk11t0k] {
    position: relative; display: flex; align-items: flex-end; gap: 10px; max-width: 100%; padding: 12px 16px 14px;
    overflow-x: auto; overflow-y: visible; scrollbar-width: none;
    border-radius: 30px; border: 1px solid var(--border-strong);
    background: linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .04));

    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 30px 60px -24px rgba(0, 0, 0, .8), 0 0 60px -20px var(--accent);
    transform: rotateX(14deg); transform-origin: 50% 100%;
}
.dock[b-lznzk11t0k]::-webkit-scrollbar { display: none; }
.dock-item[b-lznzk11t0k] { position: relative; flex: none; transform-origin: 50% 100%; transition: transform .35s var(--ease-spring), margin .35s var(--ease-spring); }
.dock-item[b-lznzk11t0k]  .licon { --s: 64px; -webkit-box-reflect: below 3px linear-gradient(transparent 70%, rgba(255, 255, 255, .2)); }
@media (hover: hover) {
    .dock[b-lznzk11t0k] { overflow: visible; flex-wrap: wrap; justify-content: center; }
    .dock-item:hover[b-lznzk11t0k] { transform: translateY(-14px) scale(1.35); margin: 0 12px; z-index: 2; }
    .dock-item:hover + .dock-item[b-lznzk11t0k], .dock-item:has(+ .dock-item:hover)[b-lznzk11t0k] { transform: translateY(-6px) scale(1.15); margin: 0 4px; }
}
.dock-item:active[b-lznzk11t0k] { transform: scale(.9); }
.dock-tip[b-lznzk11t0k] {
    position: absolute; left: 50%; bottom: calc(100% + 10px); transform: translateX(-50%) translateY(6px) scale(.8); white-space: nowrap;
    padding: 4px 10px; border-radius: 9px; font-size: .72rem; font-weight: 600; pointer-events: none; opacity: 0;
    background: rgba(14, 12, 40, .95); border: 1px solid var(--border-strong); transition: opacity .2s, transform .3s var(--ease-spring);
}
.dock-item:hover .dock-tip[b-lznzk11t0k], .dock-item:focus-visible .dock-tip[b-lznzk11t0k] { opacity: 1; transform: translateX(-50%) translateY(0) scale(.74); }
.dock-floor[b-lznzk11t0k] {
    width: min(620px, 90%); height: 30px; margin-top: -8px; pointer-events: none;
    background: radial-gradient(50% 50% at 50% 50%, color-mix(in oklab, var(--accent) 55%, transparent), transparent 70%); filter: blur(12px); opacity: .6;
}
@media (max-width: 560px) {
    .dock[b-lznzk11t0k] { gap: 8px; padding: 10px 12px 12px; transform: none; width: 100%; }
    .dock-item[b-lznzk11t0k]  .licon { --s: 52px; }
    .dock-tip[b-lznzk11t0k] { display: none; }
}

/* ---------- Vista lista ---------- */
.lrows[b-lznzk11t0k] { display: flex; flex-direction: column; gap: 6px; }
.lrow[b-lznzk11t0k] {
    display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 10px;
    padding: 6px 8px 6px 6px; border-radius: 16px; background: var(--surface); border: 1px solid transparent;
    transition: background .2s, border-color .2s, transform .35s var(--ease-spring);
}
.lrow:hover[b-lznzk11t0k] { background: var(--surface-2); border-color: var(--border); transform: translateX(3px); }
.lrow-main[b-lznzk11t0k] { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 4px; border-radius: 12px; }
.lrow-main:focus-visible[b-lznzk11t0k] { outline: 2px solid var(--accent-2); }
.lrow-text[b-lznzk11t0k] { display: flex; flex-direction: column; min-width: 0; }
.lrow-title[b-lznzk11t0k] { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lrow-url[b-lznzk11t0k] { font-size: .76rem; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lrow-meta[b-lznzk11t0k] { display: flex; align-items: center; gap: 4px; flex-wrap: nowrap; overflow: hidden; max-width: 34vw; }
.col-badge[b-lznzk11t0k] { background: color-mix(in oklab, var(--cc) 25%, transparent); color: #fff; }
.lrow-stats[b-lznzk11t0k] { white-space: nowrap; text-align: right; }
.lrow-actions[b-lznzk11t0k] { display: flex; gap: 2px; }
.pin-btn[b-lznzk11t0k] { filter: grayscale(1); opacity: .45; }
.pin-btn.on[b-lznzk11t0k] { filter: none; opacity: 1; }
.sdot[b-lznzk11t0k] { width: 8px; height: 8px; border-radius: 50%; background: var(--sc); box-shadow: 0 0 8px var(--sc); display: inline-block; flex: none; }
@media (max-width: 700px) {
    .lrow[b-lznzk11t0k] { grid-template-columns: minmax(0, 1fr) auto auto; }
    .lrow-meta[b-lznzk11t0k] { display: none; }
}

/* ---------- Job in corso ---------- */
.job-pill[b-lznzk11t0k] {
    position: fixed; left: 50%; bottom: calc(100px + var(--safe-bottom)); transform: translateX(-50%); z-index: 45;
    width: min(420px, calc(100vw - 32px)); display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 18px;
    animation: job-in-b-lznzk11t0k .5s var(--ease-spring);
}
.job-pill .progress[b-lznzk11t0k] { height: 6px; margin-top: 4px; }
@keyframes job-in-b-lznzk11t0k { from { opacity: 0; transform: translateX(-50%) translateY(30px) scale(.9); } }
.spin[b-lznzk11t0k] { width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .2); border-top-color: var(--accent-2); animation: spin-b-lznzk11t0k .8s linear infinite; flex: none; }
@keyframes spin-b-lznzk11t0k { to { transform: rotate(360deg); } }

/* ---------- Strumenti ---------- */
.tools[b-lznzk11t0k] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.tool[b-lznzk11t0k] { display: flex; gap: 14px; padding: 16px; border-radius: 22px; }
.tool h3[b-lznzk11t0k] { font-size: 1rem; margin-bottom: 4px; }
.tool p[b-lznzk11t0k] { margin: 0 0 12px; }
.tool-ico[b-lznzk11t0k] {
    width: 44px; height: 44px; flex: none; display: grid; place-items: center; font-size: 1.3rem; border-radius: 14px;
    background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 60%, transparent), color-mix(in oklab, var(--accent-2) 40%, transparent));
}
.file-btn[b-lznzk11t0k] { position: relative; cursor: pointer; }
.file-btn[b-lznzk11t0k]  input[type=file] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.file-btn.busy[b-lznzk11t0k] { opacity: .6; pointer-events: none; }
.import-res[b-lznzk11t0k] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
@media (max-width: 640px) { .tools[b-lznzk11t0k] { grid-template-columns: minmax(0, 1fr); } }

.empty-card[b-lznzk11t0k] { padding: 10px; }

@media (prefers-reduced-motion: reduce) {
    .eb-ico[b-lznzk11t0k], .hs-item[b-lznzk11t0k] { animation: none; }
}

/* Modalità disposizione su mobile: 3 colonne per far stare i pulsanti ◀ 📌 ▶ */
@media (max-width: 560px) { .dial-grid.editing[b-lznzk11t0k] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 6px; } }

/* Raccolte fuori schermo: il browser non le disegna finché non ci si avvicina (fondamentale con centinaia di link).
   "auto" ricorda l'altezza reale dopo il primo disegno, così la barra di scorrimento non salta. */
.col-sect[b-lznzk11t0k] { content-visibility: auto; contain-intrinsic-size: auto 420px; }

/* Molti link: ogni riga/tessera fuori schermo non viene disegnata (content-visibility) e le icone rinunciano
   agli effetti costosi da ripetere centinaia di volte (fusione del riflesso, ombre multiple, livelli 3D). */
.lite .lrow[b-lznzk11t0k] { content-visibility: auto; contain-intrinsic-size: auto 58px; transition: background .2s, border-color .2s; }
.lite .lrow:hover[b-lznzk11t0k] { transform: none; }
.lite[b-lznzk11t0k]  .cell { content-visibility: auto; contain-intrinsic-size: auto 150px; }
.lite[b-lznzk11t0k]  .licon { transform-style: flat; box-shadow: 0 1px 0 rgba(255, 255, 255, .4) inset, 0 6px 12px -6px rgba(0, 0, 0, .6); }
.lite[b-lznzk11t0k]  .licon-gloss { mix-blend-mode: normal; opacity: .35; }
.lite .col-sect[b-lznzk11t0k]::after { filter: none; }
/* /Components/Pages/Link/LinkTile.razor.rz.scp.css */
.cell[b-7hcpoyysls] { position: relative; display: flex; flex-direction: column; align-items: stretch; min-width: 0; }

.dial[b-7hcpoyysls] {
    position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px;
    width: 100%; padding: 16px 6px 12px; border-radius: 26px; text-align: center; color: inherit;
    transform-style: preserve-3d; border: 1px solid transparent; cursor: pointer;
    transition: transform .5s var(--ease-out), background .35s, border-color .35s, box-shadow .35s;
    -webkit-user-select: none; user-select: none;
}
.dial:hover[b-7hcpoyysls], .dial:focus-visible[b-7hcpoyysls] {
    background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .015));
    border-color: var(--border);
    box-shadow: 0 30px 50px -30px color-mix(in oklab, var(--accent) 70%, transparent);
}
.dial:focus-visible[b-7hcpoyysls] { outline: 2px solid var(--accent-2); outline-offset: 2px; }

.dial-stage[b-7hcpoyysls] { position: relative; transform: translateZ(34px); transform-style: preserve-3d; margin-bottom: 20px; }
.dial-stage[b-7hcpoyysls]  .licon {
    --s: clamp(58px, 15vw, 80px);
    -webkit-box-reflect: below 5px linear-gradient(transparent 58%, rgba(255, 255, 255, .22));
    transition: transform .5s var(--ease-spring), box-shadow .4s;
}
.dial:hover .dial-stage[b-7hcpoyysls]  .licon { transform: translateY(-5px) scale(1.07); }
.dial:active .dial-stage[b-7hcpoyysls]  .licon { transform: scale(.94); transition-duration: .12s; }

.dial-title[b-7hcpoyysls] {
    max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-weight: 600; font-size: .88rem; line-height: 1.25; transform: translateZ(20px);
    text-shadow: 0 2px 10px rgba(0, 0, 0, .55);
}
.dial-domain[b-7hcpoyysls] {
    max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-size: .72rem; color: var(--text-3); transform: translateZ(12px);
}

.dial-pin[b-7hcpoyysls] { position: absolute; top: -9px; left: -9px; font-size: .95rem; transform: translateZ(22px) rotate(-18deg); filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .5)); }
.dial-count[b-7hcpoyysls], .dial-warn[b-7hcpoyysls] {
    position: absolute; top: -7px; right: -9px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 99px;
    display: grid; place-items: center; font-size: .7rem; font-weight: 800; color: #fff; transform: translateZ(24px);
    border: 2px solid rgba(8, 6, 24, .9);
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    box-shadow: 0 6px 14px -4px color-mix(in oklab, var(--accent) 80%, transparent);
}
.dial-warn[b-7hcpoyysls] { background: linear-gradient(135deg, #fb7185, #e11d48); box-shadow: 0 6px 14px -4px rgba(225, 29, 72, .8); animation: warn-pulse-b-7hcpoyysls 2s ease-in-out infinite; }
@keyframes warn-pulse-b-7hcpoyysls { 50% { box-shadow: 0 0 0 6px rgba(225, 29, 72, .15), 0 6px 14px -4px rgba(225, 29, 72, .8); } }

.dial-more[b-7hcpoyysls] {
    position: absolute; top: 6px; right: 6px; z-index: 3; width: 30px; height: 30px; border-radius: 50%;
    display: grid; place-items: center; font-size: 1rem; line-height: 1; cursor: pointer;
    border: 1px solid var(--border); color: var(--text); background: rgba(10, 8, 30, .7);

    opacity: 0; transform: scale(.8); transition: opacity .2s, transform .3s var(--ease-spring);
}
.cell:hover .dial-more[b-7hcpoyysls], .dial-more:focus-visible[b-7hcpoyysls] { opacity: 1; transform: none; }
@media (hover: none) {
    .dial-more[b-7hcpoyysls] { opacity: .8; transform: none; top: 2px; right: 0; width: 28px; height: 28px; }
}

/* ---- Modalità modifica ("jiggle" come la home di un telefono) ---- */
.editing .dial[b-7hcpoyysls] { cursor: pointer; background: rgba(255, 255, 255, .03); border-color: var(--border); border-style: dashed; }
.editing[draggable="true"] .dial[b-7hcpoyysls] { cursor: grab; }
.jiggle .dial-stage[b-7hcpoyysls]  .licon { animation: jiggle-b-7hcpoyysls .3s ease-in-out infinite alternate; animation-delay: calc(var(--d, 0) * -60ms); }
@keyframes jiggle-b-7hcpoyysls { from { transform: rotate(-2.4deg); } to { transform: rotate(2.4deg); } }
.dial-steps[b-7hcpoyysls] { display: flex; gap: 3px; justify-content: center; margin-top: 6px; }
.step[b-7hcpoyysls] {
    width: min(32px, 30%); height: 30px; border-radius: 10px; border: 1px solid var(--border); cursor: pointer; flex: 0 1 auto;
    background: var(--surface-2); color: var(--text-2); font-size: .72rem; display: grid; place-items: center;
    transition: background .2s, transform .25s var(--ease-spring);
}
.step:hover[b-7hcpoyysls] { background: var(--surface-3); color: var(--text); }
.step:active[b-7hcpoyysls] { transform: scale(.9); }
.step[disabled][b-7hcpoyysls] { opacity: .3; pointer-events: none; }
.step.pin[b-7hcpoyysls] { filter: grayscale(1); opacity: .6; }
.step.pin.on[b-7hcpoyysls] { filter: none; opacity: 1; background: color-mix(in oklab, var(--accent) 35%, transparent); }

/* Indicatori drag & drop (attributi impostati da links.js) */
.cell[data-dragging][b-7hcpoyysls] { opacity: .35; transform: scale(.92); }
.cell[data-drop][b-7hcpoyysls]::before {
    content: ""; position: absolute; top: 10%; bottom: 28%; width: 4px; border-radius: 4px; z-index: 4;
    background: linear-gradient(var(--accent), var(--accent-2)); box-shadow: 0 0 16px var(--accent);
    animation: drop-in-b-7hcpoyysls .25s var(--ease-spring);
}
.cell[data-drop="before"][b-7hcpoyysls]::before { left: -7px; }
.cell[data-drop="after"][b-7hcpoyysls]::before { right: -7px; }
@keyframes drop-in-b-7hcpoyysls { from { transform: scaleY(0); } }

@media (prefers-reduced-motion: reduce) {
    .jiggle .dial-stage[b-7hcpoyysls]  .licon, .dial-warn[b-7hcpoyysls] { animation: none; }
}

/* ---- Molti link o schermo touch: tessere leggere per uno scroll fluido ----
   Niente riflesso (-webkit-box-reflect raddoppia il disegno di ogni icona), niente livelli 3D e ombre più semplici. */
.cell.lite .dial[b-7hcpoyysls], .cell.lite .dial-stage[b-7hcpoyysls] { transform-style: flat; }
.cell.lite .dial-stage[b-7hcpoyysls], .cell.lite .dial-title[b-7hcpoyysls], .cell.lite .dial-domain[b-7hcpoyysls] { transform: none; }
.cell.lite .dial-stage[b-7hcpoyysls]  .licon { -webkit-box-reflect: unset; box-shadow: 0 1px 0 rgba(255, 255, 255, .4) inset, 0 8px 16px -8px rgba(0, 0, 0, .6); }
.cell.lite .dial[b-7hcpoyysls] { transition: background .2s, border-color .2s; }
.cell.lite .dial-title[b-7hcpoyysls] { text-shadow: none; }
@media (hover: none) {
    .dial[b-7hcpoyysls], .dial-stage[b-7hcpoyysls] { transform-style: flat; }
    .dial-stage[b-7hcpoyysls], .dial-title[b-7hcpoyysls], .dial-domain[b-7hcpoyysls] { transform: none; }
    .dial-stage[b-7hcpoyysls]  .licon { -webkit-box-reflect: unset; }
    .dial-more[b-7hcpoyysls] { }
}
/* /Components/Pages/Media/MediaDetail.razor.rz.scp.css */
/* =====================================================================
   Dettaglio titolo — hero immersivo, posizione, avanzamento, timeline
   ===================================================================== */

/* ---------- Sfondo sfocato con parallasse ---------- */
.d-backdrop[b-s7pu6nqotz] {
    /* La fill dell'animazione "module-in" rende .module il blocco contenitore dei fixed: si allarga a tutta la viewport. */
    position: fixed; top: 0; bottom: 0; left: calc(50% - 50vw); width: 100vw; min-height: 100vh; z-index: -1; pointer-events: none; overflow: hidden;
    animation: bd-in-b-s7pu6nqotz 1.4s var(--ease-out) .65s backwards;
}
.d-bd-move[b-s7pu6nqotz] { position: absolute; inset: 0; }
.d-bd-inner[b-s7pu6nqotz] {
    position: absolute; left: 50%; top: -12vh; width: max(125vw, 90vh);
    transform: translate3d(-50%, calc(var(--scroll-y, 0px) * -0.22), 0) scale(1.05);
    filter: blur(60px) saturate(1.6) brightness(.85);
    opacity: .6;
}
.d-bd-inner[b-s7pu6nqotz]  .poster { border-radius: 0; box-shadow: none; }
.d-bd-inner[b-s7pu6nqotz]  .pg-title, .d-bd-inner[b-s7pu6nqotz]  .pg-type, .d-bd-inner[b-s7pu6nqotz]  .pg-meta { visibility: hidden; }
.d-bd-shade[b-s7pu6nqotz] {
    position: absolute; inset: 0;
    background:
        radial-gradient(120% 80% at 50% 0%, transparent 30%, rgba(5, 4, 15, .75) 80%),
        linear-gradient(to bottom, rgba(5, 4, 15, .15) 0%, rgba(5, 4, 15, .55) 45%, rgba(5, 4, 15, .92) 100%);
}
@keyframes bd-in-b-s7pu6nqotz { from { opacity: 0; } }
@supports (animation-timeline: scroll()) {
    .d-bd-move[b-s7pu6nqotz] { animation: bd-scroll-b-s7pu6nqotz linear both; animation-timeline: scroll(root); animation-range: 0 80vh; }
    @keyframes bd-scroll-b-s7pu6nqotz { to { opacity: .45; transform: scale(1.12); } }
}

/* ---------- Hero ---------- */
.d-hero[b-s7pu6nqotz] {
    position: relative; display: grid; grid-template-columns: minmax(200px, 280px) minmax(0, 1fr); gap: clamp(20px, 4vw, 48px);
    align-items: center; padding: 18px 0 64px;
}
.d-poster-col[b-s7pu6nqotz] { position: relative; perspective: 1000px; }
.d-poster-in[b-s7pu6nqotz] { animation: poster-in-b-s7pu6nqotz 1.2s var(--ease-spring) backwards .1s; transform-style: preserve-3d; }
@keyframes poster-in-b-s7pu6nqotz { from { opacity: 0; transform: rotateY(-70deg) rotateX(10deg) translateZ(-200px) scale(.8); } }
.d-poster[b-s7pu6nqotz] {
    position: relative; border-radius: 18px;
    -webkit-box-reflect: below 12px linear-gradient(transparent 80%, rgba(0, 0, 0, .24));
}
.d-poster[b-s7pu6nqotz]  .poster { border-radius: 18px; box-shadow: 0 0 0 1px rgba(255,255,255,.12) inset, 0 40px 90px -25px color-mix(in oklab, var(--pc) 80%, black), 0 0 70px -20px color-mix(in oklab, var(--pc) 70%, transparent); }
.d-poster-floor[b-s7pu6nqotz] {
    position: absolute; left: 6%; right: 6%; bottom: -30px; height: 40px; border-radius: 50%; z-index: -1;
    background: radial-gradient(closest-side, color-mix(in oklab, var(--pc) 70%, transparent), transparent);
    filter: blur(14px);
}

.d-info[b-s7pu6nqotz] { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.d-chips[b-s7pu6nqotz] { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.d-title[b-s7pu6nqotz] {
    font-size: clamp(2.1rem, 6.4vw, 4.4rem); font-weight: 700; line-height: .98; letter-spacing: -.035em;
    background: linear-gradient(120deg, #fff 20%, color-mix(in oklab, var(--pc) 45%, white) 60%, var(--accent-2));
    -webkit-background-clip: text; background-clip: text; color: transparent;
    text-wrap: balance; overflow-wrap: anywhere;
    filter: drop-shadow(0 10px 30px rgba(0, 0, 0, .5));
}
.d-rating[b-s7pu6nqotz] { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.d-rating-v[b-s7pu6nqotz] { font-size: 1.5rem; font-weight: 700; color: #FDE68A; }
.d-rating-v small[b-s7pu6nqotz] { font-size: .85rem; color: var(--text-3); }
.d-status-wrap[b-s7pu6nqotz] { overflow-x: auto; scrollbar-width: none; max-width: 100%; }
.d-status-wrap[b-s7pu6nqotz]::-webkit-scrollbar { display: none; }
.d-status button[b-s7pu6nqotz] { display: inline-flex; align-items: center; gap: 6px; }
.d-status .active[b-s7pu6nqotz] { background: color-mix(in oklab, var(--sc) 32%, rgba(255,255,255,.08)); }
.sdot[b-s7pu6nqotz] { width: 8px; height: 8px; border-radius: 50%; background: var(--sc); box-shadow: 0 0 8px var(--sc); flex: none; display: inline-block; }
.d-fav.on[b-s7pu6nqotz] { color: #fff; background: linear-gradient(135deg, var(--accent), #F472B6); border-color: transparent; }

@media (max-width: 700px) {
    .d-hero[b-s7pu6nqotz] { grid-template-columns: 1fr; justify-items: center; text-align: center; padding-top: 8px; }
    .d-poster-col[b-s7pu6nqotz] { width: min(230px, 60vw); margin-bottom: 44px; }
    .d-info[b-s7pu6nqotz] { align-items: center; width: 100%; }
    .d-chips[b-s7pu6nqotz], .d-rating[b-s7pu6nqotz] { justify-content: center; }
}

/* ---------- Griglia schede ---------- */
.d-grid[b-s7pu6nqotz] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-bottom: 16px; max-width: 760px; }
.d-notes[b-s7pu6nqotz] { grid-column: 1 / -1; }

/* Dove sei arrivato */
.d-now[b-s7pu6nqotz] { overflow: hidden; }
.d-now[b-s7pu6nqotz]::before {
    content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle, color-mix(in oklab, var(--pc) 45%, transparent), transparent 70%);
}
.d-now-body[b-s7pu6nqotz] { display: flex; align-items: center; gap: clamp(14px, 4vw, 28px); flex-wrap: wrap; }
.ring[b-s7pu6nqotz] { position: relative; width: 132px; height: 132px; flex: none; }
.ring svg[b-s7pu6nqotz] { width: 100%; height: 100%; transform: rotate(-90deg); overflow: visible; }
.ring-bg[b-s7pu6nqotz] { fill: none; stroke: rgba(0, 0, 0, .3); stroke-width: 11; }
.ring-fg[b-s7pu6nqotz] {
    fill: none; stroke-width: 11; stroke-linecap: round;
    stroke-dasharray: 326.73; stroke-dashoffset: calc(326.73 * (1 - var(--p)));
    filter: drop-shadow(0 0 8px rgba(225, 29, 72, .7));
    transition: stroke-dashoffset 1.2s var(--ease-out);
    animation: ring-in-b-s7pu6nqotz 1.6s var(--ease-out) .3s backwards;
}
@keyframes ring-in-b-s7pu6nqotz { from { stroke-dashoffset: 326.73; } }
.ring-c[b-s7pu6nqotz] { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ring-min[b-s7pu6nqotz] { font-size: 1.9rem; font-weight: 700; line-height: 1; }
.ring-dur[b-s7pu6nqotz] { font-size: .78rem; }
.d-now-where[b-s7pu6nqotz] { flex: 1 1 180px; min-width: 0; }
.big-sxe[b-s7pu6nqotz] { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; perspective: 600px; }
.bx[b-s7pu6nqotz] { display: flex; flex-direction: column; align-items: flex-start; padding: 12px 14px; border-radius: 18px; background: rgba(0, 0, 0, .25); border: 1px solid rgba(255, 255, 255, .1); }
.bx-l[b-s7pu6nqotz] { font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; color: rgba(255, 255, 255, .7); }
.bx-v[b-s7pu6nqotz] { font-size: clamp(2.4rem, 8vw, 3.2rem); font-weight: 700; line-height: 1.05; animation: flip-in-b-s7pu6nqotz .6s var(--ease-spring); display: inline-block; }
.bx-s[b-s7pu6nqotz] { font-size: .75rem; color: rgba(255, 255, 255, .6); }
@keyframes flip-in-b-s7pu6nqotz { from { transform: rotateX(-90deg); opacity: 0; } }
.film-where[b-s7pu6nqotz] { display: flex; flex-direction: column; }
.d-now-actions[b-s7pu6nqotz] { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.d-now-actions .btn[b-s7pu6nqotz] { flex: 1 1 160px; }

.d-notes-text[b-s7pu6nqotz] { margin: 0; white-space: pre-wrap; color: var(--text-2); line-height: 1.6; }

/* ---------- Timeline ---------- */
.d-timeline[b-s7pu6nqotz] { margin-bottom: 18px; }
.tl-wrap[b-s7pu6nqotz] { position: relative; view-timeline: --tl block; }
.tl-line[b-s7pu6nqotz] { position: absolute; left: 11px; top: 8px; bottom: 8px; width: 2px; border-radius: 2px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.tl-line-fill[b-s7pu6nqotz] { position: absolute; inset: 0; background: linear-gradient(to bottom, var(--accent), var(--accent-2)); transform-origin: top; box-shadow: 0 0 12px var(--accent); }
@supports (animation-timeline: view()) {
    .tl-line-fill[b-s7pu6nqotz] { animation: tl-fill-b-s7pu6nqotz linear both; animation-timeline: --tl; animation-range: cover 5% cover 75%; }
    @keyframes tl-fill-b-s7pu6nqotz { from { transform: scaleY(0); } to { transform: scaleY(1); } }
}
.tl[b-s7pu6nqotz] { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.tl-item[b-s7pu6nqotz] { position: relative; padding-left: 36px; }
.tl-dot[b-s7pu6nqotz] {
    position: absolute; left: 5px; top: 16px; width: 14px; height: 14px; border-radius: 50%;
    background: var(--bg-1); border: 2px solid color-mix(in oklab, var(--accent) 80%, white);
    box-shadow: 0 0 0 4px rgba(5, 4, 15, .8), 0 0 12px var(--accent);
}
.tl-dot.first[b-s7pu6nqotz] { background: var(--accent); animation: live-b-s7pu6nqotz 2s infinite; }
@keyframes live-b-s7pu6nqotz { 0% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--accent) 70%, transparent); } 100% { box-shadow: 0 0 0 12px transparent; } }
.tl-card[b-s7pu6nqotz] {
    position: relative; display: flex; flex-direction: column; gap: 4px; padding: 10px 44px 10px 14px; border-radius: 16px;
    background: var(--surface); border: 1px solid var(--border); transition: background .2s, border-color .2s, transform .35s var(--ease-spring);
}
.tl-card:hover[b-s7pu6nqotz] { background: var(--surface-2); border-color: var(--border-strong); transform: translateX(4px); }
.tl-when[b-s7pu6nqotz] { font-size: .75rem; color: var(--text-3); font-weight: 600; }
.tl-what[b-s7pu6nqotz] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.tl-sxe[b-s7pu6nqotz] { font-weight: 700; }
.tl-min[b-s7pu6nqotz] { font-size: .82rem; padding: 1px 8px; border-radius: 99px; background: var(--accent-soft); font-weight: 700; }
.tl-note[b-s7pu6nqotz] { color: var(--text-2); font-size: .88rem; overflow-wrap: anywhere; }
.tl-del[b-s7pu6nqotz] { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); opacity: .45; }
.tl-card:hover .tl-del[b-s7pu6nqotz], .tl-del:focus-visible[b-s7pu6nqotz] { opacity: 1; }
@media (hover: none) { .tl-del[b-s7pu6nqotz] { opacity: .7; } }

.d-danger[b-s7pu6nqotz] { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }

@media (prefers-reduced-motion: reduce) {
    .d-bd-inner[b-s7pu6nqotz] { transform: translate3d(-50%, 0, 0) scale(1.05); }
}

.d-shared[b-s7pu6nqotz] { margin-top: 8px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; font-size: .86rem;
    background: rgba(56, 189, 248, .14); border: 1px solid rgba(56, 189, 248, .4); }
.d-shared.mine[b-s7pu6nqotz] { background: color-mix(in oklab, var(--accent) 16%, transparent); border-color: color-mix(in oklab, var(--accent) 45%, transparent); }
/* /Components/Pages/Media/MediaEditor.razor.rz.scp.css */
.ed[b-jgwqzo6ero] { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 26px; align-items: start; }

.ed-preview[b-jgwqzo6ero] { position: sticky; top: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; perspective: 900px; }
.ed-poster[b-jgwqzo6ero] { position: relative; width: 100%; border-radius: 16px; animation: ed-in-b-jgwqzo6ero .8s var(--ease-spring) backwards; }
.ed-poster[b-jgwqzo6ero]  .poster { box-shadow: 0 30px 60px -20px color-mix(in oklab, var(--pc) 70%, black), 0 0 0 1px rgba(255, 255, 255, .1) inset; }
.ed-reflect[b-jgwqzo6ero] {
    width: 86%; height: 26px; margin-top: -4px; border-radius: 50%;
    background: radial-gradient(closest-side, color-mix(in oklab, var(--pc) 60%, transparent), transparent);
    filter: blur(6px); opacity: .8;
}
.ed-prev-meta[b-jgwqzo6ero] { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
@keyframes ed-in-b-jgwqzo6ero { from { transform: rotateY(-40deg) translateZ(-80px); opacity: 0; } to { transform: none; opacity: 1; } }

.ed-form[b-jgwqzo6ero] { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.ed-choices[b-jgwqzo6ero] { display: flex; flex-wrap: wrap; gap: 6px; }
.ed-choices .chip[b-jgwqzo6ero] { height: 32px; padding: 0 12px; }
.chip.st .st-dot[b-jgwqzo6ero] { width: 8px; height: 8px; border-radius: 50%; background: var(--sc); box-shadow: 0 0 8px var(--sc); }
.chip.st.active[b-jgwqzo6ero] { background: color-mix(in oklab, var(--sc) 28%, transparent); border-color: color-mix(in oklab, var(--sc) 60%, transparent); }
.pf-chip .pf-dot[b-jgwqzo6ero] { width: 10px; height: 10px; border-radius: 50%; background: linear-gradient(135deg, var(--pa), var(--pb)); box-shadow: 0 0 8px color-mix(in oklab, var(--pa) 70%, transparent); }
.pf-chip.active[b-jgwqzo6ero] { background: linear-gradient(135deg, color-mix(in oklab, var(--pa) 45%, transparent), color-mix(in oklab, var(--pb) 30%, transparent)); border-color: color-mix(in oklab, var(--pa) 70%, transparent); }

.ed-block[b-jgwqzo6ero] { padding: 14px; border-radius: 20px; background: rgba(0, 0, 0, .2); border: 1px solid var(--border); }

.ed-swatches[b-jgwqzo6ero] { display: flex; flex-wrap: wrap; gap: 8px; }
.sw[b-jgwqzo6ero] {
    width: 32px; height: 32px; border-radius: 11px; border: 2px solid transparent; cursor: pointer; padding: 0;
    background: linear-gradient(135deg, var(--c), color-mix(in oklab, var(--c) 50%, black));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3);
    transition: transform .25s var(--ease-spring), border-color .2s;
}
.sw:hover[b-jgwqzo6ero] { transform: translateY(-2px) scale(1.08); }
.sw.on[b-jgwqzo6ero] { border-color: #fff; transform: scale(1.12); box-shadow: 0 0 0 3px color-mix(in oklab, var(--c) 50%, transparent); }
.sw.custom[b-jgwqzo6ero] { position: relative; overflow: hidden; background: conic-gradient(red, yellow, lime, cyan, blue, magenta, red); }
.sw.custom input[b-jgwqzo6ero] { position: absolute; inset: -6px; width: calc(100% + 12px); height: calc(100% + 12px); opacity: 0; cursor: pointer; }

.ed-fav[b-jgwqzo6ero] { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: var(--surface); border: 1px solid var(--border); cursor: pointer; }

@media (max-width: 700px) {
    .ed[b-jgwqzo6ero] { grid-template-columns: 1fr; gap: 16px; }
    .ed-preview[b-jgwqzo6ero] { position: relative; flex-direction: row; justify-content: flex-start; gap: 14px; }
    .ed-poster[b-jgwqzo6ero] { width: 96px; flex: none; }
    .ed-reflect[b-jgwqzo6ero] { display: none; }
    .ed-prev-meta[b-jgwqzo6ero] { flex-direction: column; align-items: flex-start; }
}
.ed-newtag[b-jgwqzo6ero] { width: 110px; height: 34px; padding: 0 10px; font-size: .85rem; }
/* /Components/Pages/Media/MediaLibrary.razor.rz.scp.css */
/* =====================================================================
   Libreria Film & Serie — filtri e griglia dei poster (niente più sala «Continua a guardare»)
   ===================================================================== */

/* ---------- Filtri ---------- */
.filters[b-1knun5km55] { display: flex; flex-direction: column; gap: 10px; padding: 12px; margin-bottom: 14px; border-radius: 24px; }
.f-row[b-1knun5km55] { display: flex; gap: 8px; align-items: center; }
.f-search[b-1knun5km55] {
    flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px;
    border-radius: 14px; background: rgba(0, 0, 0, .28); border: 1px solid var(--border); color: var(--text-2);
    transition: border-color .2s, box-shadow .2s;
}
.f-search:focus-within[b-1knun5km55] { border-color: color-mix(in oklab, var(--accent) 70%, white); box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 25%, transparent); }
.f-search input[b-1knun5km55] { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; color: var(--text); font: inherit; font-size: 16px; outline: none; }
.f-sort[b-1knun5km55] { width: auto; flex: none; max-width: 42vw; height: 44px; }
.fav-chip[b-1knun5km55] { height: 44px; flex: none; }
.fav-chip.active[b-1knun5km55] { background: color-mix(in oklab, var(--accent) 40%, transparent); }
.f-scroll[b-1knun5km55] { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; margin: 0 -14px; padding: 2px 14px; align-items: center; }
.f-scroll[b-1knun5km55]::-webkit-scrollbar { display: none; }
.f-scroll > *[b-1knun5km55] { flex: none; }
.f-status button[b-1knun5km55] { display: inline-flex; align-items: center; gap: 6px; }
.f-status .cnt[b-1knun5km55] { font-size: .72rem; opacity: .6; font-variant-numeric: tabular-nums; }
.sdot[b-1knun5km55] { width: 8px; height: 8px; border-radius: 50%; background: var(--sc, var(--accent)); box-shadow: 0 0 8px var(--sc, var(--accent)); flex: none; display: inline-block; }
.f-sep[b-1knun5km55] { width: 1px; height: 22px; background: var(--border-strong); margin: 0 4px; }
.pf-chip .pf-dot[b-1knun5km55] { width: 10px; height: 10px; border-radius: 50%; background: linear-gradient(135deg, var(--pa), var(--pb)); box-shadow: 0 0 8px color-mix(in oklab, var(--pa) 70%, transparent); }
.pf-chip.active[b-1knun5km55] { background: linear-gradient(135deg, color-mix(in oklab, var(--pa) 45%, transparent), color-mix(in oklab, var(--pb) 30%, transparent)); border-color: color-mix(in oklab, var(--pa) 70%, transparent); }

/* ---------- Griglia ---------- */
.lib-head[b-1knun5km55] { margin: 6px 0 14px; }
.lib-title[b-1knun5km55] { font-size: 1.3rem; }
.lib-grid[b-1knun5km55] { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 26px 18px; perspective: 1400px; }
@media (max-width: 560px) { .lib-grid[b-1knun5km55] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; } }

.tile[b-1knun5km55] { position: relative; border-radius: 18px; transform-style: preserve-3d; }
.tile-poster[b-1knun5km55] { position: relative; transform-style: preserve-3d; border-radius: 16px; transition: box-shadow .5s var(--ease-out); }
.tile-poster[b-1knun5km55]  .poster { transition: box-shadow .5s var(--ease-out); }
.tile:hover .tile-poster[b-1knun5km55]  .poster { box-shadow: 0 0 0 1px color-mix(in oklab, var(--pc) 60%, transparent) inset, 0 30px 60px -18px color-mix(in oklab, var(--pc) 80%, black); }
.tile-poster[b-1knun5km55]::after {
    content: ""; position: absolute; left: 10%; right: 10%; bottom: -14px; height: 24px; border-radius: 50%; z-index: -1;
    background: color-mix(in oklab, var(--pc) 70%, transparent); filter: blur(16px); opacity: .45; transition: opacity .4s;
}
.tile:hover .tile-poster[b-1knun5km55]::after { opacity: .9; }
.tile-top[b-1knun5km55] { position: absolute; top: 8px; left: 8px; transform: translateZ(34px); pointer-events: none; }
.tile-progress[b-1knun5km55] {
    position: absolute; left: 8px; right: 8px; bottom: 8px; transform: translateZ(26px);
    display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 6px;
    padding: 7px 9px 8px; border-radius: 12px;
    background: rgba(6, 3, 14, .72);
    border: 1px solid rgba(255, 255, 255, .1);
    pointer-events: none;
}
.tile-sxe[b-1knun5km55] { font-weight: 700; font-size: .8rem; }
.tile-min[b-1knun5km55] { font-size: .75rem; color: var(--text-2); font-weight: 600; }
.tile-bar[b-1knun5km55] { flex-basis: 100%; height: 4px; border-radius: 9px; background: rgba(255, 255, 255, .15); overflow: hidden; }
.tile-bar span[b-1knun5km55] { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--pc), var(--accent)); box-shadow: 0 0 10px var(--accent); }
.tile-done[b-1knun5km55] {
    position: absolute; right: 10px; bottom: 10px; width: 30px; height: 30px; border-radius: 50%; transform: translateZ(30px);
    display: grid; place-items: center; font-weight: 800; color: #052e1f; background: var(--success);
    box-shadow: 0 6px 16px -4px rgba(52, 211, 153, .7); pointer-events: none;
}
.tile-meta[b-1knun5km55] { padding: 12px 4px 0; display: flex; flex-direction: column; gap: 3px; }
.tile-title[b-1knun5km55] { font-weight: 700; font-family: var(--font-display); }
.tile-sub[b-1knun5km55] { font-size: .78rem; color: var(--text-2); display: flex; align-items: center; gap: 6px; }
.tile-rating[b-1knun5km55] { font-size: .8rem; font-weight: 700; color: #FDE68A; }
.tile-rating .star[b-1knun5km55] { filter: drop-shadow(0 0 6px rgba(251, 191, 36, .7)); }
.tile-link[b-1knun5km55] { position: absolute; inset: 0; z-index: 5; border-radius: inherit; }
.tile-link:focus-visible[b-1knun5km55] { outline: 2px solid var(--accent-2); outline-offset: 4px; }
.tile-fav[b-1knun5km55] {
    position: absolute; top: 8px; right: 8px; z-index: 6; transform: translateZ(40px);
    width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .2); cursor: pointer;
    background: rgba(6, 3, 14, .55);
    color: rgba(255, 255, 255, .55); font-size: 1rem; line-height: 1;
    transition: transform .35s var(--ease-spring), color .2s, background .2s;
}
.tile-fav:hover[b-1knun5km55] { color: #fff; transform: translateZ(40px) scale(1.12); }
.tile-fav.on[b-1knun5km55] { color: #fff; background: linear-gradient(135deg, var(--accent), #F472B6); border-color: transparent; box-shadow: 0 6px 18px -4px var(--accent); animation: heart-b-1knun5km55 .5s var(--ease-spring); }
@keyframes heart-b-1knun5km55 { 0% { transform: translateZ(40px) scale(.6); } 60% { transform: translateZ(40px) scale(1.3); } 100% { transform: translateZ(40px) scale(1); } }

/* Tile: il tipo generato si sposta accanto al badge piattaforma, il titolo sopra la barra di avanzamento */
.tile-poster[b-1knun5km55]  .poster.has-pf .pg-type { padding-left: 26px; }
.tile-poster[b-1knun5km55]  .poster.has-prog .pg-title { bottom: 30%; }
.tile-poster[b-1knun5km55]  .poster.has-prog .pg-meta { display: none; }

@media (max-width: 560px) {
    .f-row[b-1knun5km55] { flex-wrap: wrap; }
    .f-search[b-1knun5km55] { flex-basis: 100%; }
    .f-sort[b-1knun5km55] { flex: 1 1 auto; max-width: none; }
}

/* Gestione etichette */
.lb-list[b-1knun5km55] { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.lb-list li[b-1knun5km55] { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 12px; background: var(--surface-1); }

.tile-share[b-1knun5km55] { position: absolute; top: 8px; right: 8px; max-width: calc(100% - 16px); pointer-events: none; display: flex; }
/* /Components/Pages/Media/PlatformBadge.razor.rz.scp.css */
.pf[b-05pfenq8sa] {
    display: inline-flex; align-items: center; gap: 6px; max-width: 100%;
    height: 24px; padding: 0 9px 0 3px; border-radius: 99px;
    background: linear-gradient(135deg, color-mix(in oklab, var(--pa) 38%, rgba(10, 8, 30, .7)), rgba(10, 8, 30, .72));
    border: 1px solid color-mix(in oklab, var(--pa) 55%, transparent);
    box-shadow: 0 4px 14px -6px color-mix(in oklab, var(--pa) 80%, transparent);

    font-size: .72rem; font-weight: 700; color: #fff; white-space: nowrap;
}
.pf.compact[b-05pfenq8sa] { padding: 0 3px; }
.pf-logo[b-05pfenq8sa] {
    min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px;
    display: grid; place-items: center;
    background: linear-gradient(135deg, var(--pa), var(--pb)); color: var(--pf);
    font-family: var(--font-display); font-size: .62rem; font-weight: 800; letter-spacing: -.01em;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35);
}
.pf-name[b-05pfenq8sa] { overflow: hidden; text-overflow: ellipsis; }
/* /Components/Pages/Media/Poster.razor.rz.scp.css */
/* Poster 2:3 — reale o generato. La dimensione la decide il contenitore. */
.poster[b-nlvfmzmthk] {
    --pc: #E11D48;
    --pc-2: color-mix(in oklch, var(--pc) 55%, #7C3AED);
    --pc-dark: color-mix(in oklab, var(--pc) 22%, #05040f);
    position: relative;
    aspect-ratio: 2 / 3;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    isolation: isolate;
    container-type: inline-size;
    background: var(--pc-dark);
    box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 0 0 1px rgba(255,255,255,.08) inset, 0 24px 50px -18px rgba(0,0,0,.85);
    user-select: none;
    -webkit-user-select: none;
}

/* L'immagine copre il poster generato; se è rotta resta trasparente (alt vuoto, niente testo). */
.poster img[b-nlvfmzmthk] { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; color: transparent; font-size: 0; }

/* ---------- Generato ---------- */
.pg-bg[b-nlvfmzmthk] {
    position: absolute; inset: 0; z-index: -2;
    background:
        radial-gradient(120% 70% at 20% 0%, color-mix(in oklab, var(--pc) 85%, white 5%) 0%, transparent 60%),
        radial-gradient(90% 60% at 100% 100%, var(--pc-2) 0%, transparent 70%),
        linear-gradient(170deg, color-mix(in oklab, var(--pc) 70%, black) 0%, var(--pc-dark) 70%, #05040f 100%);
}
.pg-art[b-nlvfmzmthk] { position: absolute; inset: 0; z-index: -1; overflow: hidden; }

/* v0: sole retrò con linee */
.pg-sun[b-nlvfmzmthk] {
    position: absolute; left: 50%; top: 22%; width: 78%; aspect-ratio: 1; transform: translateX(-50%); border-radius: 50%;
    background: linear-gradient(180deg, #ffd6a5 0%, color-mix(in oklab, var(--pc) 70%, #ffb86b) 45%, var(--pc) 100%);
    box-shadow: 0 0 60px 10px color-mix(in oklab, var(--pc) 60%, transparent);
    -webkit-mask: linear-gradient(180deg, #000 0 58%, transparent 58% 62%, #000 62% 70%, transparent 70% 76%, #000 76% 82%, transparent 82% 90%, #000 90% 94%, transparent 94%);
    mask: linear-gradient(180deg, #000 0 58%, transparent 58% 62%, #000 62% 70%, transparent 70% 76%, #000 76% 82%, transparent 82% 90%, #000 90% 94%, transparent 94%);
}
.pg-lines[b-nlvfmzmthk] {
    position: absolute; left: -10%; right: -10%; bottom: 0; height: 42%;
    background:
        repeating-linear-gradient(90deg, color-mix(in oklab, var(--pc) 55%, transparent) 0 1px, transparent 1px 12%),
        repeating-linear-gradient(180deg, color-mix(in oklab, var(--pc) 55%, transparent) 0 1px, transparent 1px 16%);
    transform: perspective(160px) rotateX(58deg); transform-origin: bottom;
    -webkit-mask: linear-gradient(to top, #000 40%, transparent);
    mask: linear-gradient(to top, #000 40%, transparent);
    opacity: .8;
}

/* v1: iniziale gigante */
.pg-letter[b-nlvfmzmthk] {
    position: absolute; right: -8%; top: -8%;
    font-family: var(--font-display); font-weight: 700; font-size: 118cqi; line-height: .9;
    color: transparent;
    -webkit-text-stroke: 1.5px color-mix(in oklab, var(--pc) 45%, white);
    background: linear-gradient(160deg, color-mix(in oklab, var(--pc) 80%, white) 0%, transparent 70%);
    -webkit-background-clip: text; background-clip: text;
    opacity: .75;
}

/* v2: raggi + sfera */
.pg-rays[b-nlvfmzmthk] {
    position: absolute; left: 50%; bottom: -30%; width: 220%; aspect-ratio: 1; transform: translateX(-50%);
    background: repeating-conic-gradient(from 0deg, color-mix(in oklab, var(--pc) 45%, transparent) 0 4deg, transparent 4deg 12deg);
    -webkit-mask: radial-gradient(closest-side, #000 20%, transparent 75%);
    mask: radial-gradient(closest-side, #000 20%, transparent 75%);
    animation: pg-spin-b-nlvfmzmthk 60s linear infinite;
}
.pg-orb[b-nlvfmzmthk] {
    position: absolute; left: 50%; top: 38%; width: 44%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #fff 0%, color-mix(in oklab, var(--pc) 60%, white) 18%, var(--pc) 55%, var(--pc-dark) 100%);
    box-shadow: 0 0 50px color-mix(in oklab, var(--pc) 70%, transparent), inset -8px -12px 24px rgba(0,0,0,.45);
}
@keyframes pg-spin-b-nlvfmzmthk { to { transform: translateX(-50%) rotate(360deg); } }

/* v3: bande diagonali + cornice */
.pg-bands[b-nlvfmzmthk] {
    position: absolute; inset: -20%;
    background: repeating-linear-gradient(125deg, transparent 0 14%, color-mix(in oklab, var(--pc) 50%, transparent) 14% 17%, transparent 17% 24%, color-mix(in oklab, var(--pc-2) 40%, transparent) 24% 25%);
}
.pg-frame[b-nlvfmzmthk] { position: absolute; inset: 7%; border: 1px solid rgba(255,255,255,.35); border-radius: 6px; box-shadow: inset 0 0 40px rgba(0,0,0,.35); }

.pg-type[b-nlvfmzmthk] {
    position: absolute; top: 7%; left: 8%; right: 8%;
    font-size: max(8px, 5.2cqi); font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
    color: rgba(255,255,255,.8);
}
.pg-title[b-nlvfmzmthk] {
    position: absolute; left: 8%; right: 8%; bottom: 13%;
    font-family: var(--font-display); font-weight: 700; text-transform: uppercase;
    font-size: clamp(12px, 12.5cqi, 64px); line-height: .95; letter-spacing: -.01em;
    color: #fff; text-shadow: 0 2px 20px rgba(0,0,0,.55), 0 0 1px rgba(0,0,0,.6);
    display: -webkit-box; -webkit-line-clamp: 4; line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden;
    overflow-wrap: anywhere;
}
.pg-meta[b-nlvfmzmthk] {
    position: absolute; left: 8%; right: 8%; bottom: 5.5%; display: flex; gap: 8px; flex-wrap: nowrap; overflow: hidden;
    font-size: max(8px, 4.6cqi); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.7); white-space: nowrap;
}
.pg-meta span + span[b-nlvfmzmthk]::before { content: "·"; margin-right: 8px; }

.pg-grain[b-nlvfmzmthk] {
    position: absolute; inset: 0; pointer-events: none; mix-blend-mode: overlay; opacity: .45;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* Luce che scorre sul poster (sheen) */
.poster-sheen[b-nlvfmzmthk] {
    position: absolute; inset: 0; pointer-events: none; z-index: 2;
    background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.22) 45%, rgba(255,255,255,.05) 52%, transparent 60%);
    background-size: 250% 100%; background-position: 130% 0;
    transition: background-position 1.1s var(--ease-out);
    mix-blend-mode: screen;
}
.poster[b-nlvfmzmthk]::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 3; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1), inset 0 -40px 60px -30px rgba(0,0,0,.6); }
:hover > .poster .poster-sheen[b-nlvfmzmthk], .poster:hover .poster-sheen[b-nlvfmzmthk] { background-position: -30% 0; }

@media (prefers-reduced-motion: reduce) { .pg-rays[b-nlvfmzmthk] { animation: none; } }
/* /Components/Pages/Media/ProgressEditor.razor.rz.scp.css */
.pe[b-b5jia0j85l] { display: flex; flex-direction: column; gap: 18px; }

.pe-head[b-b5jia0j85l] { display: flex; align-items: center; gap: 14px; }
.pe-mini[b-b5jia0j85l] { width: 54px; flex: none; transform: perspective(600px) rotateY(-14deg); filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .6)); }
.pe-mini[b-b5jia0j85l]  .poster { border-radius: 9px; }
.pe-title[b-b5jia0j85l] { font-family: var(--font-display); font-weight: 700; font-size: 1.15rem; }

/* Stepper giganti */
.pe-steppers[b-b5jia0j85l] { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.stepper[b-b5jia0j85l] {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    padding: 14px 8px 10px; border-radius: 22px;
    background: radial-gradient(120% 90% at 50% 0%, color-mix(in oklab, var(--pc, var(--accent)) 26%, transparent), rgba(0, 0, 0, .25));
    border: 1px solid var(--border);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}
.st-label[b-b5jia0j85l] { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--text-2); }
.st-sub[b-b5jia0j85l] { font-size: .75rem; color: var(--text-3); }
.st-row[b-b5jia0j85l] { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; }
.st-val[b-b5jia0j85l] {
    min-width: 2ch; text-align: center; font-size: clamp(2.4rem, 11vw, 3.2rem); font-weight: 700; line-height: 1;
    background: linear-gradient(180deg, #fff 30%, color-mix(in oklab, var(--accent) 60%, white));
    -webkit-background-clip: text; background-clip: text; color: transparent;
    animation: st-pop-b-b5jia0j85l .45s var(--ease-spring);
}
@keyframes st-pop-b-b5jia0j85l { from { transform: perspective(300px) rotateX(-70deg) translateY(-8px); opacity: 0; } to { transform: none; opacity: 1; } }
.st-btn[b-b5jia0j85l] {
    width: 48px; height: 48px; flex: none; border-radius: 16px; border: 1px solid var(--border-strong);
    background: linear-gradient(160deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .03));
    font-size: 1.6rem; font-weight: 600; line-height: 1; cursor: pointer; color: var(--text);
    transition: transform .25s var(--ease-spring), background .2s;
    touch-action: manipulation;
}
.st-btn:hover[b-b5jia0j85l] { background: color-mix(in oklab, var(--accent) 35%, transparent); }
.st-btn:active[b-b5jia0j85l] { transform: scale(.88); }
.st-btn[disabled][b-b5jia0j85l] { opacity: .35; pointer-events: none; }
.stepper[b-b5jia0j85l] { min-width: 0; }
@media (max-width: 480px) {
    .stepper[b-b5jia0j85l] { padding: 12px 6px 8px; }
    .st-row[b-b5jia0j85l] { gap: 2px; justify-content: space-between; }
    .st-btn[b-b5jia0j85l] { width: 40px; height: 40px; border-radius: 13px; font-size: 1.35rem; }
    .st-val[b-b5jia0j85l] { font-size: clamp(2rem, 9vw, 2.6rem); }
}

/* Minuto */
.pe-minute[b-b5jia0j85l] { display: flex; flex-direction: column; gap: 12px; padding: 16px; border-radius: 22px; background: rgba(0, 0, 0, .22); border: 1px solid var(--border); }
.pe-clock[b-b5jia0j85l] { font-size: 1.05rem; }
.pe-clock strong[b-b5jia0j85l] { font-size: 1.6rem; }
.pe-range[b-b5jia0j85l] {
    -webkit-appearance: none; appearance: none; width: 100%; height: 36px; background: transparent; cursor: pointer; margin: 0;
    touch-action: pan-y;
}
.pe-range[b-b5jia0j85l]::-webkit-slider-runnable-track {
    height: 12px; border-radius: 99px;
    background: linear-gradient(90deg, var(--accent), var(--accent-2)) 0 0 / var(--v) 100% no-repeat, rgba(255, 255, 255, .1);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, .5);
}
.pe-range[b-b5jia0j85l]::-moz-range-track { height: 12px; border-radius: 99px; background: rgba(255, 255, 255, .1); }
.pe-range[b-b5jia0j85l]::-moz-range-progress { height: 12px; border-radius: 99px; background: linear-gradient(90deg, var(--accent), var(--accent-2)); }
.pe-range[b-b5jia0j85l]::-webkit-slider-thumb {
    -webkit-appearance: none; width: 30px; height: 30px; margin-top: -9px; border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #fff, #ffe4ec 40%, var(--accent));
    box-shadow: 0 0 0 5px color-mix(in oklab, var(--accent) 35%, transparent), 0 8px 20px rgba(0, 0, 0, .5);
    transition: transform .2s var(--ease-spring);
}
.pe-range:active[b-b5jia0j85l]::-webkit-slider-thumb { transform: scale(1.18); }
.pe-range[b-b5jia0j85l]::-moz-range-thumb { width: 28px; height: 28px; border: 0; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, var(--accent)); box-shadow: 0 0 0 5px color-mix(in oklab, var(--accent) 35%, transparent); }
.pe-bumps[b-b5jia0j85l] { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.pe-bumps .btn[b-b5jia0j85l] { padding: 0; font-variant-numeric: tabular-nums; }

.pe-finish[b-b5jia0j85l] { font-size: 1rem; box-shadow: 0 14px 30px -14px color-mix(in oklab, var(--success) 80%, transparent); }
/* /Components/Pages/Media/RatingStars.razor.rz.scp.css */
.stars[b-eygdkao789] {
    --s: clamp(22px, 7.2vw, 30px);
    --gap: 3px;
    display: inline-flex;
    flex-direction: row-reverse; /* il DOM va da 10 a 0.5 → i selettori "~" colorano le stelle a sinistra */
    align-items: center;
    max-width: 100%;
}
.stars.sm[b-eygdkao789] { --s: 15px; --gap: 1px; }
.seg[b-eygdkao789] {
    width: calc(var(--s) / 2);
    height: var(--s);
    padding: 0; border: 0; margin: 0;
    background: rgba(255, 255, 255, .16);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2.2l2.95 6.28 6.85.8-5.07 4.7 1.36 6.77L12 17.3l-6.09 3.45 1.36-6.77L2.2 9.28l6.85-.8z'/></svg>") no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2.2l2.95 6.28 6.85.8-5.07 4.7 1.36 6.77L12 17.3l-6.09 3.45 1.36-6.77L2.2 9.28l6.85-.8z'/></svg>") no-repeat;
    -webkit-mask-size: var(--s) var(--s);
    mask-size: var(--s) var(--s);
    transition: background .25s, transform .3s var(--ease-spring);
    cursor: pointer;
}
.seg.l[b-eygdkao789] { -webkit-mask-position: 0 0; mask-position: 0 0; margin-left: var(--gap); }
.seg.r[b-eygdkao789] { -webkit-mask-position: 100% 0; mask-position: 100% 0; }
.stars.ro .seg[b-eygdkao789] { cursor: default; }
.seg.on[b-eygdkao789] { background: linear-gradient(180deg, #FDE68A, #F59E0B 60%, #E11D48); filter: drop-shadow(0 0 6px rgba(251, 191, 36, .6)); }

@media (hover: hover) {
    .stars:not(.ro):hover .seg[b-eygdkao789] { background: rgba(255, 255, 255, .16); filter: none; }
    .stars:not(.ro) .seg:hover[b-eygdkao789],
    .stars:not(.ro) .seg:hover ~ .seg[b-eygdkao789] { background: linear-gradient(180deg, #fff, #FBBF24); filter: drop-shadow(0 0 8px rgba(251, 191, 36, .7)); }
}
.stars:not(.ro) .seg:active[b-eygdkao789] { transform: scale(1.25); }
.seg:focus-visible[b-eygdkao789] { outline: 2px solid var(--accent-2); outline-offset: 1px; }
/* /Components/Pages/Menu/FoodForm.razor.rz.scp.css */
.ff[b-v5b05ka3k2] { display: flex; flex-direction: column; gap: 10px; }
.ff-top[b-v5b05ka3k2] { display: flex; gap: 8px; }
.ff-emoji[b-v5b05ka3k2] { flex: 0 0 60px; width: 60px; text-align: center; font-size: 1.4rem; padding: 0 4px; }
.ff-label[b-v5b05ka3k2] { font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); margin-top: 4px; }
.ff-grid[b-v5b05ka3k2] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ff-cell[b-v5b05ka3k2] {
    --c: var(--text-3);
    display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-items: center; gap: 2px 6px;
    padding: 8px 10px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); border-left: 3px solid var(--c);
}
.ff-cell span[b-v5b05ka3k2] { grid-column: 1 / -1; font-size: .72rem; font-weight: 700; color: var(--text-2); }
.ff-cell .input[b-v5b05ka3k2] { height: 38px; padding: 0 8px; font-weight: 700; }
.ff-cell small[b-v5b05ka3k2] { color: var(--text-3); }
.ff-cell.kcal[b-v5b05ka3k2] { --c: #F97316; } .ff-cell.p[b-v5b05ka3k2] { --c: #3B82F6; } .ff-cell.c[b-v5b05ka3k2] { --c: #22C55E; } .ff-cell.f[b-v5b05ka3k2] { --c: #EAB308; }
.ff-est[b-v5b05ka3k2] { align-self: flex-start; }
.ff-portion[b-v5b05ka3k2] { display: flex; align-items: center; gap: 8px; }
.ff-portion .num[b-v5b05ka3k2] { width: 90px; flex: none; }
/* /Components/Pages/Menu/FoodPickerSheet.razor.rz.scp.css */
.fp-search[b-jhkg2rzb36] { width: 100%; margin-bottom: 8px; }
.fp-newfood[b-jhkg2rzb36] {
    width: 100%; padding: 12px; border-radius: 14px; cursor: pointer; font-weight: 700; color: var(--accent);
    background: color-mix(in srgb, var(--accent) 10%, transparent); border: 1px dashed color-mix(in srgb, var(--accent) 50%, transparent);
    text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.fp-label[b-jhkg2rzb36] { font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); margin: 14px 0 6px; }
.fp-recent[b-jhkg2rzb36] { display: flex; gap: 6px; padding-bottom: 4px; }
.fp-chip[b-jhkg2rzb36] {
    flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 99px; cursor: pointer;
    background: var(--surface); border: 1px solid var(--border); color: var(--text); font-weight: 600; font-size: .85rem; white-space: nowrap;
}
.fp-foods[b-jhkg2rzb36] { display: flex; flex-direction: column; margin-top: 4px; }
.fp-food[b-jhkg2rzb36] {
    display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; cursor: pointer;
    padding: 10px 4px; background: none; border: 0; border-bottom: 1px solid var(--border); color: var(--text); transition: background .2s;
}
.fp-food:hover[b-jhkg2rzb36] { background: rgba(255,255,255,.04); }
.fp-emo[b-jhkg2rzb36] { font-size: 1.4rem; width: 32px; text-align: center; flex: none; }
.fp-name[b-jhkg2rzb36] { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.fp-name b[b-jhkg2rzb36] { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fp-name small[b-jhkg2rzb36] { color: var(--text-3); font-size: .76rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fp-kcal[b-jhkg2rzb36] { flex: none; font-weight: 700; }
.fp-kcal small[b-jhkg2rzb36] { color: var(--text-3); font-weight: 600; font-size: .72rem; }
.fp-none[b-jhkg2rzb36] { text-align: center; padding: 16px 0; }
.fp-slots[b-jhkg2rzb36] { margin-top: 14px; }
@media (max-width: 420px) { .fp-hide-xs[b-jhkg2rzb36] { display: none; } }
/* /Components/Pages/Menu/GramsEditor.razor.rz.scp.css */
.ge[b-6vzmab0tob] { display: flex; flex-direction: column; gap: 14px; }
.ge-preview[b-6vzmab0tob] {
    padding: 16px; border-radius: 20px; text-align: center;
    background: radial-gradient(120% 140% at 50% 0%, rgba(249,115,22,.24), transparent 65%), var(--surface);
    border: 1px solid var(--border);
}
.ge-kcal[b-6vzmab0tob] { display: flex; align-items: baseline; justify-content: center; gap: 6px; }
.ge-kcal span[b-6vzmab0tob] { font-size: 2.6rem; font-weight: 800; letter-spacing: -.03em; line-height: 1.1; background: linear-gradient(135deg, #FDBA74, #F97316 50%, #EF4444); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ge-kcal small[b-6vzmab0tob] { color: var(--text-2); font-weight: 700; }
.ge-macros[b-6vzmab0tob] { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 10px; }
.ge-macros span[b-6vzmab0tob] {
    font-size: .8rem; color: var(--text-2); padding: 5px 10px; border-radius: 99px;
    background: color-mix(in srgb, var(--c) 14%, transparent); border: 1px solid color-mix(in srgb, var(--c) 40%, transparent);
}
.ge-macros b[b-6vzmab0tob] { color: var(--c); }
.ge-qty[b-6vzmab0tob] { display: flex; align-items: center; gap: 10px; }
.ge-qty .btn[b-6vzmab0tob] { width: 52px; height: 52px; font-size: 1.4rem; flex: none; border-radius: 16px; }
.ge-input[b-6vzmab0tob] { position: relative; flex: 1; min-width: 0; }
.ge-input .input[b-6vzmab0tob] { width: 100%; text-align: center; font-size: 1.5rem; font-weight: 800; padding-right: 30px; }
.ge-input span[b-6vzmab0tob] { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--text-3); font-weight: 700; }
.ge-chips[b-6vzmab0tob] { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
/* /Components/Pages/Menu/MenuPage.razor.rz.scp.css */
/* Colori dei pasti */
.mn-strip[b-wtjrb9bfcy], .mn-track[b-wtjrb9bfcy] { --col: #FBBF24; --pra: #FB923C; --cen: #818CF8; --spu: #34D399; }

/* ---------- Navigazione ---------- */
.mn-views[b-wtjrb9bfcy] { margin-bottom: 12px; }
.mn-nav[b-wtjrb9bfcy] { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.mn-week[b-wtjrb9bfcy] { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; font-family: var(--font-display); font-size: 1.15rem; }
.mn-week .tiny[b-wtjrb9bfcy] { font-family: var(--font-body, inherit); }

/* ---------- Striscia dei 7 giorni ---------- */
.mn-strip[b-wtjrb9bfcy] {
    position: relative; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0;
    padding: 5px; border-radius: 22px; background: rgba(0,0,0,.28); border: 1px solid var(--border);
}
.mn-ind[b-wtjrb9bfcy] {
    position: absolute; top: 5px; bottom: 5px; left: 5px; width: calc((100% - 10px) / 7); border-radius: 17px; pointer-events: none;
    background: linear-gradient(160deg, var(--accent), var(--accent-2));
    box-shadow: 0 10px 24px -10px var(--accent);
    transform: translateX(calc(var(--cur, 0) * 100%));
    transition: transform .28s cubic-bezier(.2,.8,.2,1);
}
.mn-pill[b-wtjrb9bfcy] {
    position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 0 7px;
    border: 0; background: none; color: var(--text-2); font: inherit; cursor: pointer; border-radius: 17px;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.mn-pill-dow[b-wtjrb9bfcy] { font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.mn-pill-num[b-wtjrb9bfcy] { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; color: var(--text); line-height: 1.1; }
.mn-pill.today .mn-pill-num[b-wtjrb9bfcy] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.mn-pill-dots[b-wtjrb9bfcy] { display: flex; gap: 3px; margin-top: 2px; }
.mn-pill-dots i[b-wtjrb9bfcy] { width: 5px; height: 5px; border-radius: 50%; background: rgba(255,255,255,.18); }
.mn-pill-dots i.on.s-colazione[b-wtjrb9bfcy] { background: var(--col); }
.mn-pill-dots i.on.s-pranzo[b-wtjrb9bfcy] { background: var(--pra); }
.mn-pill-dots i.on.s-cena[b-wtjrb9bfcy] { background: var(--cen); }
.mn-pill-dots i.on.s-spuntino[b-wtjrb9bfcy] { background: var(--spu); }
.mn-back[b-wtjrb9bfcy] { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.mn-back .chip[b-wtjrb9bfcy] { height: 30px; font-size: .8rem; }

/* ---------- Card dei giorni ---------- */
.mn-track[b-wtjrb9bfcy] {
    position: relative; margin-top: 14px;
    display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px;
}
.mn-card[b-wtjrb9bfcy] {
    display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: 26px;
    background: linear-gradient(165deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
    border: 1px solid var(--border);
}
.mn-card.today[b-wtjrb9bfcy] {
    border-color: color-mix(in oklab, var(--accent) 55%, transparent);
    background: linear-gradient(165deg, color-mix(in oklab, var(--accent) 22%, transparent), rgba(255,255,255,.03) 70%);
    box-shadow: 0 24px 48px -28px var(--accent);
}
.mn-card.past[b-wtjrb9bfcy] { opacity: .6; }
.mn-card-head[b-wtjrb9bfcy] { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; }
.mn-card-head .mn-card-date[b-wtjrb9bfcy] { flex: 1; text-align: right; }
.mn-card-dow[b-wtjrb9bfcy] { font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; }
.mn-card-date[b-wtjrb9bfcy] { font-size: .82rem; color: var(--text-2); font-weight: 600; }

.mn-meal[b-wtjrb9bfcy] {
    --m: var(--pra);
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 10px 12px;
    border-radius: 18px; border: 1px solid color-mix(in oklab, var(--m) 30%, transparent);
    background: linear-gradient(135deg, color-mix(in oklab, var(--m) 16%, transparent), rgba(0,0,0,.18));
    color: var(--text); font: inherit; text-align: left; cursor: pointer;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.mn-meal.s-colazione[b-wtjrb9bfcy] { --m: var(--col); }
.mn-meal.s-cena[b-wtjrb9bfcy] { --m: var(--cen); }
.mn-meal.s-spuntino[b-wtjrb9bfcy] { --m: var(--spu); }
.mn-meal:active[b-wtjrb9bfcy] { transform: scale(.985); }
.mn-meal.empty[b-wtjrb9bfcy] { background: transparent; border-style: dashed; border-color: color-mix(in oklab, var(--m) 35%, var(--border)); }
.mn-meal-emoji[b-wtjrb9bfcy] {
    width: 44px; height: 44px; flex: none; border-radius: 14px; display: grid; place-items: center; font-size: 1.45rem;
    background: color-mix(in oklab, var(--m) 24%, rgba(0,0,0,.25));
}
.mn-meal.empty .mn-meal-emoji[b-wtjrb9bfcy] { background: rgba(255,255,255,.04); filter: grayscale(.4); opacity: .75; }
.mn-meal-text[b-wtjrb9bfcy] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.mn-meal-lbl[b-wtjrb9bfcy] { font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: color-mix(in oklab, var(--m) 70%, white); }
.mn-meal-dish[b-wtjrb9bfcy] { font-weight: 700; font-size: 1rem; line-height: 1.25; overflow-wrap: anywhere; }
.mn-meal.empty .mn-meal-dish[b-wtjrb9bfcy] { color: var(--text-3); font-weight: 600; }
.mn-meal-plus[b-wtjrb9bfcy] { color: color-mix(in oklab, var(--m) 70%, white); font-size: 1.2rem; font-weight: 700; }

/* ---------- Foglio ---------- */
.mn-form[b-wtjrb9bfcy] { gap: 16px; }
.mn-input[b-wtjrb9bfcy] { display: flex; gap: 8px; align-items: center; }
.mn-emoji-in[b-wtjrb9bfcy] { flex: 0 0 60px; width: 60px; height: 52px; text-align: center; font-size: 1.4rem; padding: 0 4px; }
.mn-favs[b-wtjrb9bfcy] { display: flex; flex-wrap: wrap; gap: 6px; }
.mn-favs .chip[b-wtjrb9bfcy] { height: 34px; }

/* ---------- Telefono: un giorno alla volta, scorrendo ---------- */
@media (max-width: 760px) {
    .mn-track[b-wtjrb9bfcy] {
        display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
        margin-left: -16px; margin-right: -16px; padding: 0 16px 6px; scrollbar-width: none;
        scroll-padding: 0 16px;
    }
    .mn-track[b-wtjrb9bfcy]::-webkit-scrollbar { display: none; }
    .mn-card[b-wtjrb9bfcy] { flex: 0 0 86%; scroll-snap-align: center; }
    .mn-card.past[b-wtjrb9bfcy] { opacity: .75; }
}
@media (prefers-reduced-motion: reduce) { .mn-ind[b-wtjrb9bfcy] { transition: none; } }

/* Calorie del pasto (alimenti del diario, come nella scheda Oggi) */
.mn-meal-kcal[b-wtjrb9bfcy] { font-size: .74rem; font-weight: 700; color: var(--text-3); }

/* Piatto scritto con il vecchio menu, mostrato in cima al foglio "Aggiungi" */
.mn-legacy[b-wtjrb9bfcy] {
    display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin-bottom: 10px; border-radius: 14px;
    background: var(--surface); border: 1px solid var(--border);
}
.mn-legacy-emo[b-wtjrb9bfcy] { font-size: 1.4rem; flex: none; }
.mn-legacy .grow[b-wtjrb9bfcy] { display: flex; flex-direction: column; min-width: 0; }
.mn-legacy b[b-wtjrb9bfcy] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Alimenti già nel pasto, con ✕ per rimuoverli (foglio "Aggiungi" aperto dal Menu) */
.mn-in[b-wtjrb9bfcy] { margin-bottom: 12px; padding: 6px 10px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); }
.mn-in-lbl[b-wtjrb9bfcy] { font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); margin: 4px 0 2px; }
.mn-in-item[b-wtjrb9bfcy] { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-top: 1px solid var(--border); }
.mn-in-lbl + .mn-in-item[b-wtjrb9bfcy] { border-top: 0; }
.mn-in-item .grow[b-wtjrb9bfcy] { display: flex; flex-direction: column; min-width: 0; }
.mn-in-item b[b-wtjrb9bfcy] { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mn-in-item small[b-wtjrb9bfcy] { font-size: .76rem; }

/* ---------- Valori del pasto ---------- */
.mn-meal-macros[b-wtjrb9bfcy] { display: flex; flex-wrap: wrap; gap: 2px 8px; font-size: .72rem; font-weight: 700; color: var(--text-2); }
.mn-meal-macros span[b-wtjrb9bfcy] { color: color-mix(in oklab, var(--c) 75%, white); }

/* ---------- Menu fisso ---------- */
.mn-fix[b-wtjrb9bfcy] {
    flex: none; width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; padding: 0;
    border: 1px solid var(--border); background: rgba(255,255,255,.04); font-size: .95rem; cursor: pointer;
    filter: grayscale(1); opacity: .55; -webkit-tap-highlight-color: transparent;
}
.mn-fix.on[b-wtjrb9bfcy] { filter: none; opacity: 1; border-color: color-mix(in oklab, var(--accent) 60%, transparent); background: color-mix(in oklab, var(--accent) 22%, transparent); }
.mn-fix-intro[b-wtjrb9bfcy] { margin: 0 0 12px; line-height: 1.5; color: var(--text-2); }
.mn-fix-list[b-wtjrb9bfcy] { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 6px; font-size: .88rem; }
.mn-fix-list li[b-wtjrb9bfcy] { overflow-wrap: anywhere; }
.mn-fix-days[b-wtjrb9bfcy] { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.mn-fix-actions[b-wtjrb9bfcy] { display: flex; flex-direction: column; gap: 8px; }

/* ---------- Voci già nel pasto: modifica dei grammi ---------- */
.mn-in-open[b-wtjrb9bfcy] { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.mn-in-open .grow[b-wtjrb9bfcy] { min-width: 0; display: flex; flex-direction: column; }
.mn-in-pen[b-wtjrb9bfcy] { color: var(--text-3); font-size: .9rem; }
.mn-in-item.editing[b-wtjrb9bfcy] { border-color: color-mix(in oklab, var(--accent) 55%, transparent); }
.mn-in-editor[b-wtjrb9bfcy] { padding: 10px 2px 4px; }
.mn-in-actions[b-wtjrb9bfcy] { display: flex; gap: 8px; margin-top: 10px; }

/* ---------- Lista della spesa dal menu ---------- */
.mn-shop[b-wtjrb9bfcy] { display: flex; flex-direction: column; gap: 10px; }
.mn-shop-hint[b-wtjrb9bfcy] { margin: 0; }
.mn-shop-list[b-wtjrb9bfcy] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: 16px; overflow: hidden; }
.mn-shop-list li + li[b-wtjrb9bfcy] { border-top: 1px solid var(--border); }
.mn-shop-row[b-wtjrb9bfcy] { display: flex; align-items: center; gap: 10px; padding: 10px 12px; cursor: pointer; min-width: 0; }
.mn-shop-row input[b-wtjrb9bfcy] { width: 18px; height: 18px; accent-color: var(--accent); flex: none; }
.mn-shop-row.off[b-wtjrb9bfcy] { opacity: .45; }
.mn-shop-row.off b[b-wtjrb9bfcy] { text-decoration: line-through; }
.mn-shop-emo[b-wtjrb9bfcy] { font-size: 1.25rem; flex: none; }
.mn-shop-name[b-wtjrb9bfcy] { display: flex; flex-direction: column; min-width: 0; }
.mn-shop-name b[b-wtjrb9bfcy] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.mn-shop-qty[b-wtjrb9bfcy] { font-weight: 700; white-space: nowrap; }
/* /Components/Pages/Menu/MenuYear.razor.rz.scp.css */
.my[b-nu8ycjx5ge] { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.my-m[b-nu8ycjx5ge] { display: flex; flex-direction: column; gap: 4px; padding: 12px; border-radius: 20px; background: linear-gradient(165deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border: 1px solid var(--border); }
.my-m.now[b-nu8ycjx5ge] { border-color: color-mix(in oklab, var(--accent) 55%, transparent); }
.my-name[b-nu8ycjx5ge] { margin: 0 0 4px 4px; font-family: var(--font-display); font-size: 1rem; }
.my-w[b-nu8ycjx5ge] {
    display: flex; align-items: center; gap: 10px; width: 100%; padding: 7px 8px; border-radius: 12px; border: 1px solid transparent;
    background: none; color: var(--text); font: inherit; cursor: pointer; text-align: left;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.my-w:active[b-nu8ycjx5ge] { background: var(--surface-2); }
.my-w.cur[b-nu8ycjx5ge] { background: color-mix(in oklab, var(--accent) 18%, transparent); }
.my-w.sel[b-nu8ycjx5ge] { border-color: color-mix(in oklab, var(--accent) 60%, transparent); }
.my-range[b-nu8ycjx5ge] { width: 72px; flex: none; font-size: .82rem; font-weight: 700; }
.my-bars[b-nu8ycjx5ge] { flex: 1; display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; align-items: end; height: 18px; }
.my-bars i[b-nu8ycjx5ge] { display: block; border-radius: 3px; background: rgba(255,255,255,.08); height: 100%; position: relative; overflow: hidden; }
.my-bars i[b-nu8ycjx5ge]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(min(var(--n), 4) / 4 * 100%); background: linear-gradient(0deg, var(--accent), var(--accent-2)); }
.my-n[b-nu8ycjx5ge] { width: 22px; flex: none; text-align: right; font-size: .78rem; font-weight: 800; }

@media (max-width: 560px) {
    .my[b-nu8ycjx5ge] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Pages/Menu/NutritionFoods.razor.rz.scp.css */
.nf-search[b-epupxm66qu] { width: 100%; margin-bottom: 14px; }
.nf-grid[b-epupxm66qu] { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.nf-card[b-epupxm66qu] {
    display: flex; flex-direction: column; gap: 8px; text-align: left; cursor: pointer; padding: 14px; color: var(--text);
    font: inherit; min-width: 0;
}
.nf-top[b-epupxm66qu] { display: flex; align-items: center; gap: 10px; min-width: 0; }
.nf-emo[b-epupxm66qu] { font-size: 1.6rem; flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: rgba(255,255,255,.06); }
.nf-name[b-epupxm66qu] { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.nf-name b[b-epupxm66qu] { font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nf-name small[b-epupxm66qu] { color: var(--text-3); font-size: .76rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nf-star[b-epupxm66qu] { flex: none; }
.nf-kcal[b-epupxm66qu] { color: var(--text-2); font-weight: 600; font-size: .85rem; }
.nf-kcal .num[b-epupxm66qu] { font-size: 1.35rem; font-weight: 800; color: var(--text); }
.nf-kcal small[b-epupxm66qu] { color: var(--text-3); }
.nf-bar[b-epupxm66qu] { display: flex; height: 7px; border-radius: 99px; overflow: hidden; gap: 2px; background: rgba(255,255,255,.05); }
.nf-bar span[b-epupxm66qu] { width: var(--w); background: var(--c); border-radius: 99px; }
.nf-macros[b-epupxm66qu] { display: flex; gap: 10px; font-size: .78rem; color: var(--text-3); }
.nf-macros b[b-epupxm66qu] { color: var(--c); }
.nf-none[b-epupxm66qu] { text-align: center; }
@media (max-width: 520px) { .nf-grid[b-epupxm66qu] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .nf-card[b-epupxm66qu] { padding: 12px; } }
/* /Components/Pages/Menu/NutritionProfileSheet.razor.rz.scp.css */
.np-intro[b-dvsm66cj1o] { margin: 0 0 14px; color: var(--text-2); }
.np[b-dvsm66cj1o] { display: flex; flex-direction: column; gap: 10px; }
.np-label[b-dvsm66cj1o] { font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); margin-top: 6px; }
.np-grid[b-dvsm66cj1o] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.np-grid.four[b-dvsm66cj1o] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.np-cell[b-dvsm66cj1o] {
    --c: var(--text-3);
    display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 6px;
    padding: 8px 10px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); border-left: 3px solid var(--c);
}
.np-cell span[b-dvsm66cj1o] { grid-column: 1 / -1; font-size: .72rem; font-weight: 700; color: var(--text-2); }
.np-cell .input[b-dvsm66cj1o] { height: 38px; padding: 0 8px; font-weight: 700; min-width: 0; }
.np-cell small[b-dvsm66cj1o] { color: var(--text-3); }
.np-cell.kcal[b-dvsm66cj1o] { --c: #F97316; } .np-cell.p[b-dvsm66cj1o] { --c: #3B82F6; } .np-cell.c[b-dvsm66cj1o] { --c: #22C55E; } .np-cell.f[b-dvsm66cj1o] { --c: #EAB308; }

.np-acts[b-dvsm66cj1o] { display: flex; flex-direction: column; gap: 6px; }
.np-act[b-dvsm66cj1o] {
    display: flex; flex-direction: column; align-items: flex-start; gap: 1px; text-align: left; cursor: pointer;
    padding: 10px 14px; border-radius: 14px; border: 1px solid var(--border); background: var(--surface); color: var(--text);
    transition: border-color .2s, background .2s, transform .2s;
}
.np-act small[b-dvsm66cj1o] { color: var(--text-3); font-size: .78rem; }
.np-act.active[b-dvsm66cj1o] { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 16%, transparent); box-shadow: 0 0 0 1px var(--accent) inset; }
.np-act:active[b-dvsm66cj1o] { transform: scale(.98); }

.np-result[b-dvsm66cj1o] {
    margin-top: 8px; padding: 16px; border-radius: 18px; text-align: center;
    background: radial-gradient(120% 140% at 50% 0%, rgba(249,115,22,.28), rgba(239,68,68,.08) 60%, transparent), var(--surface);
    border: 1px solid rgba(249,115,22,.35);
}
.np-kcal[b-dvsm66cj1o] { display: flex; align-items: baseline; justify-content: center; gap: 8px; }
.np-kcal span[b-dvsm66cj1o] { font-size: 2.4rem; font-weight: 800; letter-spacing: -.03em; background: linear-gradient(135deg, #FDBA74, #F97316 45%, #EF4444); -webkit-background-clip: text; background-clip: text; color: transparent; }
.np-kcal small[b-dvsm66cj1o] { color: var(--text-2); font-weight: 600; }
.np-sub[b-dvsm66cj1o] { font-size: .8rem; margin-top: 2px; }
.np-note[b-dvsm66cj1o] { margin: 4px 0 0; }

@media (max-width: 380px) { .np-grid[b-dvsm66cj1o] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* /Components/Pages/Menu/NutritionRings.razor.rz.scp.css */
.nr[b-yhj03pi9wg] { position: relative; width: min(250px, 70vw); aspect-ratio: 1; margin: 0 auto; }
.nr.small[b-yhj03pi9wg] { width: 44px; }
.nr-svg[b-yhj03pi9wg] { width: 100%; height: 100%; transform: rotate(-90deg); overflow: visible; }
.nr-track[b-yhj03pi9wg] { fill: none; stroke-width: 14; opacity: .16; }
.nr-bar[b-yhj03pi9wg] {
    fill: none; stroke-width: 14; stroke-linecap: round; stroke-dasharray: 100 100;
    transition: stroke-dashoffset 1.1s cubic-bezier(.22, 1, .36, 1);
    filter: drop-shadow(0 0 6px color-mix(in srgb, var(--glow) 70%, transparent));
    animation: nr-in-b-yhj03pi9wg 1.3s cubic-bezier(.22, 1, .36, 1) both;
}
.nr-bar.over[b-yhj03pi9wg] { animation: nr-in-b-yhj03pi9wg 1.3s cubic-bezier(.22, 1, .36, 1) both, nr-pulse-b-yhj03pi9wg 1.6s ease-in-out 1.3s infinite; }
.nr.small .nr-track[b-yhj03pi9wg], .nr.small .nr-bar[b-yhj03pi9wg] { stroke-width: 16; filter: none; }
@keyframes nr-in-b-yhj03pi9wg { from { stroke-dashoffset: 100; } }
@keyframes nr-pulse-b-yhj03pi9wg { 50% { filter: drop-shadow(0 0 14px #EF4444); } }
.nr-center[b-yhj03pi9wg] { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; pointer-events: none; }
.nr-big[b-yhj03pi9wg] { font-size: clamp(1.6rem, 7vw, 2.1rem); font-weight: 800; letter-spacing: -.03em; line-height: 1; }
.nr-cap[b-yhj03pi9wg] { font-size: .72rem; color: var(--text-3); font-weight: 600; margin-top: 4px; }
@media (prefers-reduced-motion: reduce) { .nr-bar[b-yhj03pi9wg] { animation: none; transition: none; } }
/* /Components/Pages/Menu/NutritionStats.razor.rz.scp.css */
.ns-views[b-dpprz1dnwg] { margin-bottom: 12px; }
.ns-nav[b-dpprz1dnwg] { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.ns-title[b-dpprz1dnwg] { flex: 1; text-align: center; font-size: 1.08rem; }

.ns-kpis[b-dpprz1dnwg] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.ns-kpi[b-dpprz1dnwg] { display: flex; flex-direction: column; gap: 4px; padding: 14px; min-width: 0; }
.ns-kpi .kpi-value[b-dpprz1dnwg] { font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; }
.ns-kpi .kpi-value small[b-dpprz1dnwg] { font-size: .8rem; color: var(--text-3); font-weight: 600; }
.ns-delta[b-dpprz1dnwg] { font-size: .76rem; font-weight: 600; }
.ns-delta.ok[b-dpprz1dnwg] { color: #4ADE80; } .ns-delta.over[b-dpprz1dnwg] { color: #F87171; } .ns-delta.under[b-dpprz1dnwg] { color: #FB923C; }

.ns-split[b-dpprz1dnwg] { padding: 14px 16px; margin-bottom: 12px; }
.ns-split-bar[b-dpprz1dnwg] { display: flex; height: 14px; border-radius: 99px; overflow: hidden; gap: 3px; }
.ns-split-bar span[b-dpprz1dnwg] {
    width: var(--w); background: linear-gradient(180deg, color-mix(in srgb, var(--c) 70%, white), var(--c));
    box-shadow: 0 0 10px color-mix(in srgb, var(--c) 60%, transparent); border-radius: 99px;
    animation: ns-grow-b-dpprz1dnwg 1.1s cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes ns-grow-b-dpprz1dnwg { from { width: 0; } }
.ns-split-legend[b-dpprz1dnwg] { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: .82rem; color: var(--text-2); }
.ns-split-legend span[b-dpprz1dnwg] { display: inline-flex; align-items: center; gap: 6px; }
.ns-split-legend i[b-dpprz1dnwg] { width: 9px; height: 9px; border-radius: 50%; background: var(--c); }
.ns-split-legend b[b-dpprz1dnwg] { color: var(--text); }

.ns-chart[b-dpprz1dnwg] { padding: 16px; margin-bottom: 12px; }
.ns-canvas[b-dpprz1dnwg] { position: relative; height: 240px; }
.ns-legend[b-dpprz1dnwg] { display: flex; gap: 12px; font-size: .74rem; color: var(--text-3); margin: -4px 0 8px; }
.ns-legend span[b-dpprz1dnwg]::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 5px; background: var(--c); }
.ns-legend .ok[b-dpprz1dnwg] { --c: #22C55E; } .ns-legend .under[b-dpprz1dnwg] { --c: #F97316; } .ns-legend .over[b-dpprz1dnwg] { --c: #EF4444; }
.ns-empty[b-dpprz1dnwg] { text-align: center; }

@media (max-width: 620px) {
    .ns-kpis[b-dpprz1dnwg] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ns-kpis > :first-child[b-dpprz1dnwg] { grid-column: 1 / -1; }
    .ns-canvas[b-dpprz1dnwg] { height: 210px; }
}
/* /Components/Pages/Menu/NutritionToday.razor.rz.scp.css */
.nt-nav[b-np9spfkf1x] { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.nt-day[b-np9spfkf1x] {
    flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 1px;
    background: none; border: 0; color: var(--text); cursor: pointer; padding: 4px;
}
.nt-day strong[b-np9spfkf1x] { font-size: 1.15rem; }
.nt-day small[b-np9spfkf1x] { color: var(--text-3); font-size: .78rem; }

.nt-start[b-np9spfkf1x] { text-align: center; padding: 28px 20px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.nt-start h3[b-np9spfkf1x] { margin: 0; }
.nt-start p[b-np9spfkf1x] { margin: 0 0 8px; }
.nt-start-emoji[b-np9spfkf1x] { font-size: 3rem; filter: drop-shadow(0 10px 20px rgba(249,115,22,.5)); animation: nt-float-b-np9spfkf1x 3s ease-in-out infinite; }
@keyframes nt-float-b-np9spfkf1x { 50% { transform: translateY(-8px); } }

.nt-hero[b-np9spfkf1x] {
    display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 22px; padding: 22px;
    background: radial-gradient(90% 120% at 0% 0%, rgba(249,115,22,.18), transparent 60%), radial-gradient(90% 120% at 100% 100%, rgba(59,130,246,.14), transparent 60%), var(--surface);
    margin-bottom: 14px;
}
.nt-macros[b-np9spfkf1x] { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.nt-macro-top[b-np9spfkf1x] { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: .88rem; }
.nt-macro-top span[b-np9spfkf1x] { display: inline-flex; align-items: center; gap: 7px; color: var(--text-2); font-weight: 600; }
.nt-macro-top i[b-np9spfkf1x] { width: 9px; height: 9px; border-radius: 50%; background: var(--c); box-shadow: 0 0 8px var(--c); }
.nt-macro-top b[b-np9spfkf1x] { font-size: 1.05rem; }
.nt-macro-top small[b-np9spfkf1x] { color: var(--text-3); font-weight: 600; font-size: .78rem; }
.nt-bar[b-np9spfkf1x] { height: 10px; border-radius: 99px; background: color-mix(in srgb, var(--c) 16%, transparent); overflow: hidden; margin-top: 6px; }
.nt-bar span[b-np9spfkf1x] {
    display: block; height: 100%; width: var(--v); border-radius: inherit;
    background: linear-gradient(90deg, color-mix(in srgb, var(--c) 55%, white), var(--c));
    box-shadow: 0 0 12px color-mix(in srgb, var(--c) 60%, transparent);
    transition: width 1s cubic-bezier(.22, 1, .36, 1); animation: nt-grow-b-np9spfkf1x 1.2s cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes nt-grow-b-np9spfkf1x { from { width: 0; } }

.nt-meal[b-np9spfkf1x] { margin-bottom: 12px; padding: 14px 14px 10px; }
.nt-meal-head[b-np9spfkf1x] { display: flex; align-items: center; gap: 12px; padding-bottom: 4px; }
.nt-meal-head h3[b-np9spfkf1x] { margin: 0; font-size: 1.02rem; }
.nt-meal-head small[b-np9spfkf1x] { font-size: .76rem; }
.nt-meal-ico[b-np9spfkf1x] {
    width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; font-size: 1.3rem; flex: none;
    background: linear-gradient(135deg, rgba(249,115,22,.3), rgba(239,68,68,.18)); box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}
.nt-add[b-np9spfkf1x] { flex: none; width: 40px; height: 40px; border-radius: 14px; font-size: 1.2rem; }
.nt-items[b-np9spfkf1x] { display: flex; flex-direction: column; margin-top: 6px; border-top: 1px solid var(--border); }

.nt-item[b-np9spfkf1x] {
    display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; cursor: pointer;
    padding: 10px 4px; background: none; border: 0; border-bottom: 1px solid var(--border); color: var(--text);
    transition: background .2s;
}
.nt-item:last-child[b-np9spfkf1x] { border-bottom: 0; }
.nt-item:hover[b-np9spfkf1x] { background: rgba(255,255,255,.04); }
.nt-emo[b-np9spfkf1x] { font-size: 1.4rem; width: 32px; text-align: center; flex: none; }
.nt-name[b-np9spfkf1x] { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.nt-name b[b-np9spfkf1x] { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nt-name small[b-np9spfkf1x] { color: var(--text-3); font-size: .76rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nt-kcal[b-np9spfkf1x] { flex: none; font-weight: 700; }
.nt-kcal small[b-np9spfkf1x] { color: var(--text-3); font-weight: 600; font-size: .72rem; }


@media (max-width: 620px) {
    .nt-hero[b-np9spfkf1x] { grid-template-columns: 1fr; gap: 18px; padding: 18px 16px; }
}
/* /Components/Pages/Messaggi/ChatStream.razor.rz.scp.css */
/* Fumetti della chat: i propri a destra col colore dell'app, gli altri a sinistra in vetro scuro.
   Il primo fumetto di un gruppo ha la "coda"; ora e spunte stanno dentro il fumetto, in basso a destra. */

.mg-none[b-e8nphihhv2] { text-align: center; color: var(--text-3); font-size: .9rem; margin: 28px 12px; }

.mg-day[b-e8nphihhv2] { display: flex; justify-content: center; margin: 14px 0 8px; }
.mg-day span[b-e8nphihhv2] {
    font-size: .72rem; font-weight: 700; letter-spacing: .02em; color: var(--text-2); padding: 5px 12px; border-radius: 10px;
    background: rgba(24, 21, 58, .92); border: 1px solid var(--border);
}

.mg-row[b-e8nphihhv2] { display: flex; align-items: flex-end; gap: 8px; min-width: 0; margin-top: 2px; position: relative; }
.mg-row.first[b-e8nphihhv2] { margin-top: 10px; }
.mg-day + .mg-row.first[b-e8nphihhv2] { margin-top: 0; }
.mg-row.mine[b-e8nphihhv2] { justify-content: flex-end; }

.mg-bubble[b-e8nphihhv2] {
    --r: 20px; --tail: 6px;
    position: relative; max-width: min(80%, 560px); min-width: 0; padding: 7px 10px 6px 12px;
    border-radius: var(--r); overflow-wrap: anywhere;
}
.mg-row.theirs .mg-bubble[b-e8nphihhv2] {
    background: linear-gradient(160deg, rgba(40, 36, 88, .95), rgba(26, 23, 62, .95));
    border: 1px solid rgba(255,255,255,.08); color: var(--text);
}
.mg-row.mine .mg-bubble[b-e8nphihhv2] {
    color: #fff;
    background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 82%, #1a0b3a), color-mix(in oklab, var(--accent-2) 62%, #1a0b3a));
    box-shadow: 0 10px 22px -16px color-mix(in oklab, var(--accent) 90%, transparent);
}
/* "coda": angolo vivo verso il mittente sul primo fumetto del gruppo; i successivi restano attaccati */
.mg-row.theirs.first .mg-bubble[b-e8nphihhv2] { border-top-left-radius: var(--tail); }
.mg-row.mine.first .mg-bubble[b-e8nphihhv2] { border-top-right-radius: var(--tail); }
.mg-row.theirs:not(.first) .mg-bubble[b-e8nphihhv2] { border-top-left-radius: 10px; }
.mg-row.mine:not(.first) .mg-bubble[b-e8nphihhv2] { border-top-right-radius: 10px; }
.mg-row.theirs:not(.last) .mg-bubble[b-e8nphihhv2] { border-bottom-left-radius: 10px; }
.mg-row.mine:not(.last) .mg-bubble[b-e8nphihhv2] { border-bottom-right-radius: 10px; }

.mg-author[b-e8nphihhv2] { display: block; font-size: .78rem; font-weight: 700; color: #fcd34d; margin-bottom: 2px; }

.mg-text[b-e8nphihhv2] { white-space: pre-wrap; line-height: 1.42; font-size: .97rem; }
/* ora e spunte: in linea alla fine del testo, a destra (vanno a capo da sole se non c'è spazio) */
.mg-meta[b-e8nphihhv2] {
    float: right; position: relative; top: 6px; margin-left: 10px; display: inline-flex; align-items: center; gap: 4px;
    font-size: .68rem; line-height: 1; white-space: nowrap; color: rgba(255,255,255,.62); user-select: none;
}
.mg-row.theirs .mg-meta[b-e8nphihhv2] { color: var(--text-3); }
.mg-meta.solo[b-e8nphihhv2] { float: none; top: 0; margin: 4px 0 0; justify-content: flex-end; display: flex; }
.mg-edited[b-e8nphihhv2] { font-style: italic; }
.mg-read[b-e8nphihhv2] { display: inline-flex; color: rgba(255,255,255,.7); }
.mg-read.on[b-e8nphihhv2] { color: #7dd3fc; }

/* ---------- Foto ---------- */
.mg-bubble.media[b-e8nphihhv2] { padding: 3px; }
.mg-photos[b-e8nphihhv2] { display: grid; gap: 3px; border-radius: 16px; overflow: hidden; margin-bottom: 4px; }
.mg-bubble.media .mg-photos[b-e8nphihhv2] { margin-bottom: 0; }
.mg-photos.n1[b-e8nphihhv2] { width: min(280px, 62vw); }
.mg-photos.n2[b-e8nphihhv2] { grid-template-columns: 1fr 1fr; width: min(300px, 64vw); }
.mg-photos.n3[b-e8nphihhv2] { grid-template-columns: 1fr 1fr; width: min(300px, 64vw); }
.mg-photos.n3 .mg-ph:first-child[b-e8nphihhv2] { grid-column: span 2; }
.mg-ph[b-e8nphihhv2] { display: block; padding: 0; border: 0; margin: 0; background: rgba(255,255,255,.06); cursor: zoom-in; line-height: 0; aspect-ratio: 1; overflow: hidden; }
.mg-photos.n1 .mg-ph[b-e8nphihhv2] { aspect-ratio: 4 / 3; max-height: 340px; }
.mg-photos.n3 .mg-ph:first-child[b-e8nphihhv2] { aspect-ratio: 2 / 1; }
.mg-ph img[b-e8nphihhv2] { width: 100%; height: 100%; object-fit: cover; display: block; }
/* ora sopra la foto quando non c'è testo */
.mg-bubble.media .mg-meta.solo[b-e8nphihhv2] {
    position: absolute; top: auto; left: auto; right: 8px; bottom: 8px; margin: 0; padding: 4px 7px; border-radius: 99px;
    background: rgba(0,0,0,.5); color: #fff;
}
.mg-bubble.media .mg-meta.solo .mg-read.on[b-e8nphihhv2] { color: #7dd3fc; }

/* ---------- Vocali ---------- */
.mg-voice[b-e8nphihhv2] { display: flex; align-items: center; gap: 6px; min-width: 0; max-width: 100%; margin: 2px 0 4px; }
.mg-voice-ico[b-e8nphihhv2] { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; flex: none; background: rgba(255,255,255,.12); font-size: 1rem; }
.mg-voice audio[b-e8nphihhv2] { height: 36px; min-width: 0; width: 230px; max-width: 100%; }
.mg-dur[b-e8nphihhv2] { font-size: .74rem; opacity: .75; flex: none; }

/* ---------- Modifica ---------- */
.mg-edit[b-e8nphihhv2] { width: min(420px, 70vw); min-height: 80px; margin: 4px 0; color: var(--text); }
.mg-edit-actions[b-e8nphihhv2] { display: flex; gap: 6px; justify-content: flex-end; margin-bottom: 2px; }

/* ---------- Tocco sul fumetto → menu ---------- */
.mg-bubble.tappable[b-e8nphihhv2] { cursor: pointer; -webkit-tap-highlight-color: transparent; user-select: text; }
.mg-row.menu-open[b-e8nphihhv2] { z-index: 40; margin-bottom: 48px; }
.mg-row.menu-open .mg-bubble[b-e8nphihhv2] { box-shadow: 0 0 0 2px rgba(255,255,255,.4), 0 16px 34px -14px rgba(0,0,0,.8); }
.mg-pop[b-e8nphihhv2] {
    position: absolute; top: calc(100% + 6px); right: 0; z-index: 41;
    display: flex; gap: 2px; padding: 4px; border-radius: 99px;
    background: rgb(26, 22, 62); border: 1px solid var(--border-strong); box-shadow: 0 14px 30px -12px rgba(0,0,0,.85);
}
.mg-row.theirs .mg-pop[b-e8nphihhv2] { right: auto; left: 0; }
.mg-pop-btn[b-e8nphihhv2] {
    display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 99px; border: 0; cursor: pointer;
    background: transparent; color: var(--text); font: inherit; font-size: .86rem; font-weight: 600; white-space: nowrap;
}
.mg-pop-btn:hover[b-e8nphihhv2], .mg-pop-btn:focus-visible[b-e8nphihhv2] { background: rgba(255,255,255,.09); }
.mg-pop-btn.danger[b-e8nphihhv2] { color: #fda4af; }
.mg-scrim[b-e8nphihhv2] { position: fixed; inset: 0; z-index: 39; border: 0; padding: 0; margin: 0; background: transparent; cursor: default; }

/* ---------- Selezione ---------- */
.mg-row.selectable[b-e8nphihhv2] { cursor: pointer; border-radius: 14px; padding: 2px 4px; align-items: center; }
.mg-row.selectable .mg-bubble[b-e8nphihhv2] { pointer-events: none; }
.mg-row.picked[b-e8nphihhv2] { background: color-mix(in oklab, var(--accent) 14%, transparent); }
.mg-row.mine.selectable .mg-check[b-e8nphihhv2] { order: 2; }
.mg-check[b-e8nphihhv2] {
    flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: .8rem; font-weight: 900; color: #fff;
    border: 2px solid var(--border-strong); background: rgba(0,0,0,.2);
}
.picked .mg-check[b-e8nphihhv2] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; }

@media (max-width: 560px) {
    .mg-bubble[b-e8nphihhv2] { max-width: 86%; }
}
/* /Components/Pages/Messaggi/MessaggiPage.razor.rz.scp.css */
/* =====================================================================
   Messaggi — chat in stile messaggistica, nel vetro scuro dell'app.
   La chat occupa esattamente lo schermo sotto la barra in alto dell'app: elenco e messaggi scorrono nel
   proprio riquadro, il campo di scrittura sta sempre in fondo (nessun position: sticky, che qui non funziona
   perché body ha overflow-x: hidden). Su schermi larghi l'amministratore vede elenco e chat affiancati.
   Nessuna animazione né transizione decorativa.
   ===================================================================== */

.mg-app[b-9825snsslc] {
    /* schermo meno la barra in alto dell'app (14px di margine + 66px di barra) */
    --mg-h: calc(100dvh - 80px - var(--safe-top));
    position: relative; min-width: 0; display: flex; height: var(--mg-h); min-height: 340px;
    /* il campo di scrittura arriva fino al bordo inferiore dello schermo (annulla il margine in fondo di .module) */
    margin-bottom: calc(-36px - var(--safe-bottom));
}
.mg-loading[b-9825snsslc] { display: flex; flex-direction: column; gap: 12px; max-width: 860px; margin: 24px auto 0; }

/* ---------- Barra in alto: interlocutore ---------- */
.mg-peer[b-9825snsslc] { flex: 1000 1 auto; min-width: 0; display: flex; align-items: center; }
.mg-peer-chat[b-9825snsslc], .mg-peer-app[b-9825snsslc] { display: flex; align-items: center; gap: 10px; min-width: 0; }
.mg-peer.is-chat .mg-peer-app[b-9825snsslc] { display: none; }
.mg-peer-txt[b-9825snsslc] { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.mg-peer-txt b[b-9825snsslc] { font-size: 1rem; font-weight: 700; }
.mg-peer-txt span[b-9825snsslc] { font-size: .76rem; color: var(--text-3); }
.mg-app-ico[b-9825snsslc] { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-size: 20px; flex: none;
    background: linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow: inset 0 1px 0 rgba(255,255,255,.3); }
.mg-back[b-9825snsslc] { flex: none; }

/* ---------- Avatar rotondi ---------- */
.mg-av[b-9825snsslc] {
    --h: 260;
    flex: none; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center;
    font-weight: 800; font-size: .95rem; letter-spacing: .02em; color: #fff;
    background: linear-gradient(135deg, hsl(var(--h) 72% 58%), hsl(calc(var(--h) + 40) 70% 40%));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
}
.mg-av.sm[b-9825snsslc] { width: 38px; height: 38px; font-size: .8rem; }
.mg-peer .mg-av[b-9825snsslc], .mg-chat-head .mg-av[b-9825snsslc] { width: 40px; height: 40px; font-size: .85rem; }
.mg-av.admin[b-9825snsslc] { font-size: 1.2rem; background: linear-gradient(135deg, var(--accent), var(--accent-2)); }

/* ---------- Colonna laterale: conversazioni ---------- */
.mg-side[b-9825snsslc] { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.mg-side-scroll[b-9825snsslc] { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-bottom: calc(16px + var(--safe-bottom)); }
.mg-side[b-9825snsslc]  .push-panel { margin: 0 0 12px; }
.mg-side-empty[b-9825snsslc] { padding-top: 10px; }
.mg-search[b-9825snsslc] {
    display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 14px; margin: 0 0 8px;
    border-radius: 99px; background: rgba(255,255,255,.06); border: 1px solid var(--border); color: var(--text-3);
}
.mg-search:focus-within[b-9825snsslc] { border-color: color-mix(in oklab, var(--accent) 60%, var(--border)); }
.mg-search input[b-9825snsslc] { flex: 1; min-width: 0; height: 100%; border: 0; outline: none; background: none; color: var(--text); font: inherit; font-size: .92rem; }
.mg-search input[b-9825snsslc]::placeholder { color: var(--text-3); }
.mg-threads[b-9825snsslc] { display: flex; flex-direction: column; }
.mg-thread[b-9825snsslc] {
    display: flex; align-items: center; gap: 12px; padding: 10px 10px; border-radius: 18px; color: var(--text);
    text-decoration: none; min-width: 0; position: relative;
}
.mg-thread + .mg-thread[b-9825snsslc]::before { content: ""; position: absolute; left: 70px; right: 10px; top: 0; height: 1px; background: var(--border); }
.mg-thread:hover[b-9825snsslc] { background: rgba(255,255,255,.045); }
.mg-thread:active[b-9825snsslc] { background: rgba(255,255,255,.07); }
.mg-thread.active[b-9825snsslc] { background: color-mix(in oklab, var(--accent) 18%, transparent); }
.mg-thread.active[b-9825snsslc]::before, .mg-thread.active + .mg-thread[b-9825snsslc]::before { display: none; }
.mg-thread-body[b-9825snsslc] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.mg-thread-top[b-9825snsslc], .mg-thread-bottom[b-9825snsslc] { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.mg-thread-top b[b-9825snsslc] { font-size: .98rem; font-weight: 650; }
.mg-when[b-9825snsslc] { flex: none; font-size: .74rem; color: var(--text-3); }
.mg-thread.unread .mg-when[b-9825snsslc] { color: color-mix(in oklab, var(--accent) 55%, white); font-weight: 700; }
.mg-thread-last[b-9825snsslc] { color: var(--text-2); font-size: .86rem; min-width: 0; }
.mg-thread.unread .mg-thread-last[b-9825snsslc] { color: var(--text); font-weight: 600; }
.mg-tick[b-9825snsslc] { color: var(--text-3); font-size: .78rem; letter-spacing: -.18em; margin-right: 6px; }
.mg-tick.on[b-9825snsslc] { color: #67e8f9; }
.mg-count[b-9825snsslc] {
    flex: none; min-width: 22px; height: 22px; padding: 0 7px; border-radius: 99px; display: grid; place-items: center;
    font-size: .74rem; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--accent), var(--accent-2));
}
button.mg-thread[b-9825snsslc] { width: 100%; text-align: left; font: inherit; cursor: pointer; border: 0; background: none; }
.mg-thread.picked[b-9825snsslc] { background: color-mix(in oklab, var(--accent) 14%, transparent); }
.mg-none[b-9825snsslc] { text-align: center; color: var(--text-3); font-size: .9rem; margin: 28px 12px; }

/* ---------- Colonna principale: conversazione ---------- */
.mg-main[b-9825snsslc] { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.mg-scroll[b-9825snsslc] { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }
/* messaggi in basso quando sono pochi, come nelle app di messaggistica */
.mg-stream[b-9825snsslc] { min-height: 100%; display: flex; flex-direction: column; justify-content: flex-end; min-width: 0; padding: 4px 2px 10px; }
.mg-stream[b-9825snsslc]  .push-panel { margin: 0 0 12px; }
.mg-chat-head[b-9825snsslc] { display: none; }

.mg-intro[b-9825snsslc] {
    align-self: center; max-width: 520px; margin: 4px auto 14px; display: flex; gap: 12px; align-items: flex-start;
    padding: 12px 16px; border-radius: 18px; font-size: .86rem; line-height: 1.45; color: #fde68a;
    background: rgba(250, 204, 21, .08); border: 1px solid rgba(250, 204, 21, .22);
}
.mg-intro-ico[b-9825snsslc] { font-size: 1.5rem; flex: none; line-height: 1; }
.mg-intro h2[b-9825snsslc] { font-size: .98rem; margin: 0 0 2px; color: #fef3c7; }
.mg-intro p[b-9825snsslc] { margin: 0; color: color-mix(in oklab, #fde68a 75%, var(--text-2)); }

.mg-placeholder[b-9825snsslc] { display: none; }

/* ---------- Campo di scrittura (sempre in fondo) ---------- */
.mg-composer[b-9825snsslc] { flex: none; position: relative; z-index: 20; padding: 6px 0 calc(12px + var(--safe-bottom)); }
.mg-input[b-9825snsslc] { display: flex; align-items: flex-end; gap: 8px; }
.mg-field[b-9825snsslc] {
    flex: 1; min-width: 0; display: flex; align-items: flex-end; gap: 2px; padding: 3px;
    border-radius: 26px; background: linear-gradient(145deg, rgba(38, 33, 86, .96), rgba(20, 17, 50, .97));
    border: 1px solid var(--border-strong); box-shadow: 0 10px 28px -16px rgba(0,0,0,.9);
}
.mg-field[hidden][b-9825snsslc] { display: none; }
.mg-field:focus-within[b-9825snsslc] { border-color: color-mix(in oklab, var(--accent) 65%, white); }
.mg-field textarea[b-9825snsslc] {
    flex: 1; min-width: 0; min-height: 44px; max-height: 30vh; padding: 11px 6px; field-sizing: content; resize: none;
    border: 0; outline: none; background: none; color: var(--text); font: inherit; font-size: 1rem; line-height: 1.4;
}
.mg-field textarea[b-9825snsslc]::placeholder { color: var(--text-3); }
.mg-tool[b-9825snsslc] {
    flex: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: none; color: var(--text-2);
    display: grid; place-items: center; cursor: pointer;
}
.mg-tool:hover[b-9825snsslc] { color: var(--text); background: rgba(255,255,255,.07); }
.mg-tool:disabled[b-9825snsslc] { opacity: .3; cursor: default; background: none; }
.mg-send[b-9825snsslc] {
    flex: none; width: 52px; height: 52px; border: 0; border-radius: 50%; cursor: pointer; color: #fff;
    display: grid; place-items: center; padding-left: 3px;
    background: rgba(255,255,255,.1);
}
.mg-input.ready .mg-send[b-9825snsslc], .mg-composer.has-att .mg-send[b-9825snsslc] {
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    box-shadow: 0 10px 24px -10px color-mix(in oklab, var(--accent) 90%, transparent), inset 0 1px 0 rgba(255,255,255,.3);
}
.mg-send:disabled[b-9825snsslc] { opacity: .45; cursor: default; }
.mg-send:active[b-9825snsslc] { transform: scale(.94); }

/* pulsante ↓ (lo mostra messages.js quando si stanno leggendo i messaggi vecchi) */
.mg-jump[b-9825snsslc] {
    position: absolute; right: 4px; top: -50px; width: 42px; height: 42px; border-radius: 50%; display: none; place-items: center;
    border: 1px solid var(--border-strong); background: rgba(28, 24, 66, .97); color: var(--text); cursor: pointer;
    box-shadow: 0 10px 24px -10px rgba(0,0,0,.9);
}
.mg-jump.show[b-9825snsslc] { display: grid; }

/* ---------- Allegati in preparazione e registrazione ---------- */
.mg-pending[b-9825snsslc] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 8px 6px; }
.mg-pend-ph[b-9825snsslc] { position: relative; width: 64px; height: 64px; border-radius: 14px; overflow: hidden; background: var(--surface-2); flex: none; border: 1px solid var(--border); }
.mg-pend-ph img[b-9825snsslc] { width: 100%; height: 100%; object-fit: cover; display: block; }
.mg-pend-ph.busy[b-9825snsslc] { animation: mg-pulse-b-9825snsslc 1s ease-in-out infinite alternate; }
@keyframes mg-pulse-b-9825snsslc { to { opacity: .4; } }
.mg-pend-ph button[b-9825snsslc], .mg-pend-audio button[b-9825snsslc] {
    position: absolute; top: 3px; right: 3px; width: 22px; height: 22px; border-radius: 50%; border: 0;
    background: rgba(0,0,0,.72); color: #fff; font-size: .7rem; cursor: pointer;
}
.mg-pend-audio[b-9825snsslc] {
    position: relative; display: flex; align-items: center; gap: 6px; min-width: 0; max-width: 100%;
    padding: 4px 32px 4px 10px; border-radius: 16px; background: rgba(28, 24, 66, .96); border: 1px solid var(--border); font-size: .8rem;
}
.mg-pend-audio audio[b-9825snsslc] { height: 36px; min-width: 0; max-width: 200px; }
.mg-pend-audio button[b-9825snsslc] { top: 50%; transform: translateY(-50%); right: 5px; }
.mg-rec[b-9825snsslc] {
    flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 0 6px 0 16px; border-radius: 26px;
    background: rgba(60, 14, 34, .96); border: 1px solid color-mix(in oklab, var(--danger) 50%, transparent);
}
.mg-rec-dot[b-9825snsslc] { width: 10px; height: 10px; border-radius: 50%; background: var(--danger); animation: mg-pulse-b-9825snsslc .8s ease-in-out infinite alternate; flex: none; }

/* ---------- Selezione per eliminare ---------- */
.mg-selbar[b-9825snsslc] {
    flex: none; position: relative; z-index: 25; margin: 0 0 10px;
    display: flex; align-items: center; gap: 6px; padding: 7px 7px 7px 14px; border-radius: 18px; flex-wrap: wrap;
    background: rgba(30, 26, 70, .98); border: 1px solid var(--border-strong); box-shadow: 0 14px 30px -18px rgba(0,0,0,.9);
}
.mg-sel-n[b-9825snsslc], .mg-sel-q[b-9825snsslc] { min-width: 0; font-size: .9rem; }
.mg-sel-q[b-9825snsslc] { font-weight: 600; }
.mg-check[b-9825snsslc] {
    flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: .8rem; font-weight: 900; color: #fff;
    border: 2px solid var(--border-strong); background: rgba(0,0,0,.2);
}
.picked .mg-check[b-9825snsslc] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; }

/* ---------- Nuovo messaggio (amministratore) ---------- */
.mg-mode[b-9825snsslc] { margin-bottom: 12px; }
.mg-rsearch[b-9825snsslc] { margin-bottom: 8px; }
.mg-recipients[b-9825snsslc] { display: flex; flex-direction: column; gap: 4px; max-height: 50vh; overflow-y: auto; }
.mg-recipient[b-9825snsslc] { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 14px; color: var(--text); text-decoration: none; background: var(--surface); border: 1px solid var(--border); }
.mg-recipient:active[b-9825snsslc] { background: var(--surface-2); }
.mg-bc-tools[b-9825snsslc] { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.mg-bc-tools .mg-pending[b-9825snsslc] { margin-left: 0; }

/* ---------- Telefono: una cosa alla volta ---------- */
@media (max-width: 899.98px) {
    .mg-app.list-mode .mg-main[b-9825snsslc] { display: none; }
    .mg-app.chat-mode .mg-side[b-9825snsslc] { display: none; }
    .wide-only[b-9825snsslc] { display: none !important; }
}

/* ---------- Schermi larghi: riquadri di vetro ---------- */
@media (min-width: 900px) {
    .mg-app[b-9825snsslc] { padding-bottom: calc(16px + var(--safe-bottom)); }
    .mg-app.one .mg-main[b-9825snsslc] { max-width: 900px; margin: 0 auto; }
    .mg-app.two[b-9825snsslc] { display: grid; grid-template-columns: minmax(300px, 380px) minmax(0, 1fr); gap: 18px; }
    .mg-side[b-9825snsslc], .mg-main[b-9825snsslc] {
        border-radius: 26px; border: 1px solid var(--border); overflow: hidden;
        background: linear-gradient(160deg, rgba(30, 27, 70, .8), rgba(12, 10, 32, .88));
    }
    .mg-side[b-9825snsslc] { padding: 12px 8px 0 12px; }
    .mg-side-scroll[b-9825snsslc] { padding: 0 4px 12px 0; }
    .mg-main[b-9825snsslc] {
        background:
            radial-gradient(70% 50% at 100% 0%, color-mix(in oklab, var(--accent) 10%, transparent), transparent 70%),
            radial-gradient(60% 50% at 0% 100%, color-mix(in oklab, var(--accent-2) 7%, transparent), transparent 70%),
            linear-gradient(160deg, rgba(22, 19, 54, .86), rgba(9, 8, 26, .92));
    }
    .mg-stream[b-9825snsslc] { padding: 8px 5% 10px; }
    .mg-composer[b-9825snsslc] { padding: 10px 5% 14px; border-top: 1px solid var(--border); background: rgba(8, 7, 24, .55); }
    .mg-jump[b-9825snsslc] { right: calc(5% + 4px); }
    .mg-main > .mg-selbar[b-9825snsslc] { margin: 10px 5% 4px; }
    /* amministratore con conversazione aperta: la barra in alto mostra l'app, l'intestazione della chat è nel riquadro */
    .mg-peer.is-chat.for-admin .mg-peer-chat[b-9825snsslc] { display: none; }
    .mg-peer.is-chat.for-admin .mg-peer-app[b-9825snsslc] { display: flex; }
    .mg-back[b-9825snsslc] { display: none !important; }
    .mg-chat-head[b-9825snsslc] {
        flex: none; display: flex; align-items: center; gap: 12px; padding: 12px 18px;
        border-bottom: 1px solid var(--border); background: rgba(8, 7, 24, .45);
    }
    .mg-placeholder[b-9825snsslc] {
        flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; padding: 24px;
    }
    .mg-placeholder h2[b-9825snsslc] { font-size: 1.3rem; margin: 6px 0 0; }
    .mg-placeholder p[b-9825snsslc] { max-width: 380px; margin: 0 0 8px; }
    .mg-ph-ico[b-9825snsslc] {
        width: 88px; height: 88px; border-radius: 50%; display: grid; place-items: center; font-size: 40px;
        background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 40%, transparent), color-mix(in oklab, var(--accent-2) 25%, transparent));
        border: 1px solid var(--border);
    }
}

/* Etichette al posto dei pulsanti foto (si aprono direttamente dal tocco): spente quando non si possono usare. */
.off[b-9825snsslc] { opacity: .3; pointer-events: none; }
/* /Components/Pages/Mestruale/MestrualePage.razor.rz.scp.css */
/* ---------- Primo avvio ---------- */
.ms-start[b-fod4a3gpnr] { text-align: center; padding: 28px 20px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.ms-start-ico[b-fod4a3gpnr] { font-size: 3rem; }
.ms-start h2[b-fod4a3gpnr] { margin: 0; font-family: var(--font-display); }

/* ---------- Anello + statistiche ---------- */
.ms-top[b-fod4a3gpnr] { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 14px; margin-top: 14px; }
@media (max-width: 860px) { .ms-top[b-fod4a3gpnr] { grid-template-columns: minmax(0, 1fr); } }

.ms-hero[b-fod4a3gpnr] { display: flex; align-items: center; gap: 22px; padding: 22px; flex-wrap: wrap;
    background: radial-gradient(90% 120% at 0% 0%, color-mix(in oklab, var(--pc) 28%, transparent), transparent 60%), linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); }
.ms-ring[b-fod4a3gpnr] { position: relative; width: min(220px, 60vw); aspect-ratio: 1; flex: none; margin-inline: auto; }
.ms-ring svg[b-fod4a3gpnr] { width: 100%; height: 100%; transform: rotate(0deg); }
.rg-track[b-fod4a3gpnr] { fill: none; stroke: rgba(255,255,255,.08); stroke-width: 16; }
.rg-seg[b-fod4a3gpnr] { fill: none; stroke-width: 16; stroke-linecap: round; transform: rotate(-90deg); transform-origin: 100px 100px; }
.rg-marker[b-fod4a3gpnr] { fill: #fff; stroke: var(--pc); stroke-width: 5; filter: drop-shadow(0 0 8px var(--pc)); }
.ms-ring-center[b-fod4a3gpnr] { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.rc-label[b-fod4a3gpnr] { font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; color: var(--text-2); font-weight: 700; }
.rc-day[b-fod4a3gpnr] { font-family: var(--font-display); font-size: 3.4rem; font-weight: 800; line-height: 1; }
.rc-phase[b-fod4a3gpnr] { margin-top: 4px; font-size: .82rem; font-weight: 700; color: var(--pc); }
.ms-hero-info[b-fod4a3gpnr] { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: 6px; }
.ms-next[b-fod4a3gpnr] { font-size: 1.15rem; margin: 0; }
.ms-cta[b-fod4a3gpnr] { margin-top: 8px; align-self: flex-start; color: #fff; border: 0;
    background: linear-gradient(135deg, var(--pc), color-mix(in oklab, var(--pc) 55%, #7c3aed)); box-shadow: 0 14px 30px -12px var(--pc); }
@media (max-width: 560px) { .ms-hero-info[b-fod4a3gpnr] { align-items: center; text-align: center; } .ms-cta[b-fod4a3gpnr] { align-self: stretch; } }

.ms-kpis[b-fod4a3gpnr] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-content: start; }
.ms-kpi[b-fod4a3gpnr] { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; }
.ms-kpi .k[b-fod4a3gpnr] { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: var(--text-2); }
.ms-kpi .v[b-fod4a3gpnr] { font-size: 1.7rem; font-weight: 800; }
.ms-kpi .v small[b-fod4a3gpnr] { font-size: .85rem; color: var(--text-2); font-weight: 600; }
.ms-kpi-note[b-fod4a3gpnr] { grid-column: 1 / -1; margin: 0; }

/* ---------- Calendario ---------- */
.ms-cal[b-fod4a3gpnr] { margin-top: 14px; }
.ms-week[b-fod4a3gpnr] { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin: 12px 0 6px; }
.ms-week span[b-fod4a3gpnr] { text-align: center; font-size: .72rem; font-weight: 700; opacity: .55; }
.ms-grid[b-fod4a3gpnr] { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.ms-d[b-fod4a3gpnr] { aspect-ratio: 1; max-height: 64px; border-radius: 14px; display: grid; place-items: center; position: relative; border: 0; cursor: pointer;
    background: var(--surface-1); color: var(--text); font: inherit; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.ms-d:active[b-fod4a3gpnr] { transform: scale(.94); }
.ms-d .n[b-fod4a3gpnr] { font-size: .85rem; font-weight: 600; }
.ms-d.period[b-fod4a3gpnr] { background: linear-gradient(145deg, #EC4899, #db2777); color: #fff; }
.ms-d.pred[b-fod4a3gpnr] { background: transparent; box-shadow: inset 0 0 0 2px color-mix(in oklab, #EC4899 70%, transparent); color: #fbcfe8; }
.ms-d.fertile[b-fod4a3gpnr] { background: color-mix(in oklab, #2DD4BF 22%, transparent); color: #ccfbf1; }
.ms-d.ovul[b-fod4a3gpnr] { background: linear-gradient(145deg, #A78BFA, #7C3AED); color: #fff; }
.ms-d.today .n[b-fod4a3gpnr] { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: #be185d; font-weight: 800; }
.ms-legend[b-fod4a3gpnr] { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 12px; font-size: .78rem; color: var(--text-2); }
.lg[b-fod4a3gpnr] { display: inline-block; width: 12px; height: 12px; border-radius: 4px; margin-right: 6px; vertical-align: -1px; }
.lg.period[b-fod4a3gpnr] { background: #EC4899; }
.lg.pred[b-fod4a3gpnr] { box-shadow: inset 0 0 0 2px #EC4899; }
.lg.fertile[b-fod4a3gpnr] { background: color-mix(in oklab, #2DD4BF 45%, transparent); }
.lg.ovul[b-fod4a3gpnr] { background: #A78BFA; }

/* ---------- Grafici e storico ---------- */
.ms-charts[b-fod4a3gpnr] { margin-top: 14px; }
.ms-chart[b-fod4a3gpnr] { position: relative; height: 220px; }
.ms-list[b-fod4a3gpnr] { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ms-list li[b-fod4a3gpnr] { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: var(--surface-1); }
.ms-li-dot[b-fod4a3gpnr] { width: 10px; height: 10px; border-radius: 50%; background: #EC4899; flex: none; box-shadow: 0 0 10px #EC4899; }

/* ---------- Primo avvio: date e durate ---------- */
.ms-first[b-fod4a3gpnr] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; width: min(560px, 100%); text-align: left; }
@media (max-width: 560px) { .ms-first[b-fod4a3gpnr] { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Viste del calendario ---------- */
.ms-cal-head[b-fod4a3gpnr] { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.ms-cal-title[b-fod4a3gpnr] { margin: 12px 0 0; }
.ms-weekrow[b-fod4a3gpnr] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.ms-wd[b-fod4a3gpnr] { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 2px; border-radius: 16px; border: 0; cursor: pointer;
    background: var(--surface-1); color: var(--text); font: inherit; min-height: 96px; touch-action: manipulation; }
.wd-name[b-fod4a3gpnr] { font-size: .7rem; text-transform: uppercase; font-weight: 700; opacity: .7; }
.wd-num[b-fod4a3gpnr] { font-size: 1.35rem; font-weight: 800; }
.wd-tag[b-fod4a3gpnr] { font-size: .62rem; font-weight: 700; min-height: 1em; }
.ms-wd.period[b-fod4a3gpnr] { background: linear-gradient(145deg, #EC4899, #db2777); color: #fff; }
.ms-wd.pred[b-fod4a3gpnr] { background: transparent; box-shadow: inset 0 0 0 2px color-mix(in oklab, #EC4899 70%, transparent); }
.ms-wd.fertile[b-fod4a3gpnr] { background: color-mix(in oklab, #2DD4BF 22%, transparent); }
.ms-wd.ovul[b-fod4a3gpnr] { background: linear-gradient(145deg, #A78BFA, #7C3AED); color: #fff; }
.ms-wd.today[b-fod4a3gpnr] { outline: 2px solid #fff; outline-offset: 2px; }

.ms-year[b-fod4a3gpnr] { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; margin-top: 12px; }
.ms-mini-title[b-fod4a3gpnr] { border: 0; background: none; color: var(--text); font: inherit; font-weight: 700; font-size: .85rem; padding: 0 0 6px; cursor: pointer; }
.ms-mini-grid[b-fod4a3gpnr] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.mm[b-fod4a3gpnr] { aspect-ratio: 1; display: grid; place-items: center; font-size: .6rem; border-radius: 5px; color: var(--text-2); cursor: pointer; }
.mm.period[b-fod4a3gpnr] { background: #EC4899; color: #fff; }
.mm.pred[b-fod4a3gpnr] { box-shadow: inset 0 0 0 1.5px #EC4899; }
.mm.fertile[b-fod4a3gpnr] { background: color-mix(in oklab, #2DD4BF 30%, transparent); }
.mm.ovul[b-fod4a3gpnr] { background: #A78BFA; color: #fff; }
.mm.today[b-fod4a3gpnr] { outline: 1.5px solid #fff; }
@media (max-width: 560px) { .ms-year[b-fod4a3gpnr] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Impostazioni ---------- */
.ms-switch-row[b-fod4a3gpnr] { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: var(--surface-1); cursor: pointer; }
/* /Components/Pages/Meteo/MeteoPage.razor.rz.scp.css */
.wx[b-pefh9grkfv] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; margin: 0 auto; width: 100%; }

/* ---- luoghi */
.wx-places[b-pefh9grkfv] { display: flex; gap: 8px; padding-bottom: 2px; }
.wx-places .chip[b-pefh9grkfv] { flex: 0 0 auto; gap: 4px; }

/* ---- scheda principale: il colore del cielo di adesso */
.wx-hero[b-pefh9grkfv] {
    position: relative; overflow: hidden; border-radius: var(--radius-xl); padding: 22px 22px 18px;
    color: #fff; box-shadow: var(--shadow-2); isolation: isolate;
    background: linear-gradient(160deg, #3b82f6, #1e3a8a);
}
.wx-hero[b-pefh9grkfv]::after { /* luce morbida in alto a destra */
    content: ""; position: absolute; inset: -40% -30% auto auto; width: 75%; aspect-ratio: 1; border-radius: 50%; z-index: -1;
    background: radial-gradient(circle, rgba(255,255,255,.28), transparent 65%);
}
.wx-hero.sky-clear[b-pefh9grkfv] { background: linear-gradient(165deg, #38bdf8 0%, #2563eb 55%, #1e40af 100%); }
.wx-hero.sky-clear[b-pefh9grkfv]::after { background: radial-gradient(circle, rgba(253, 224, 71, .55), transparent 62%); }
.wx-hero.sky-partly[b-pefh9grkfv] { background: linear-gradient(165deg, #60a5fa 0%, #3b82f6 45%, #475569 100%); }
.wx-hero.sky-cloudy[b-pefh9grkfv] { background: linear-gradient(165deg, #94a3b8 0%, #64748b 50%, #334155 100%); }
.wx-hero.sky-rain[b-pefh9grkfv] { background: linear-gradient(165deg, #64748b 0%, #334155 50%, #1e293b 100%); }
.wx-hero.sky-rain[b-pefh9grkfv]::after { background: radial-gradient(circle, rgba(125, 211, 252, .25), transparent 65%); }
.wx-hero.sky-storm[b-pefh9grkfv] { background: linear-gradient(165deg, #4c1d95 0%, #312e81 45%, #0f172a 100%); }
.wx-hero.sky-storm[b-pefh9grkfv]::after { background: radial-gradient(circle, rgba(250, 204, 21, .22), transparent 60%); }
.wx-hero.sky-snow[b-pefh9grkfv] { background: linear-gradient(165deg, #e0f2fe 0%, #93c5fd 50%, #64748b 100%); }
.wx-hero.sky-night[b-pefh9grkfv] { background: linear-gradient(165deg, #312e81 0%, #1e1b4b 55%, #0b0a1f 100%); }
.wx-hero.sky-night[b-pefh9grkfv]::after { background: radial-gradient(circle, rgba(199, 210, 254, .22), transparent 60%); }
.wx-hero.sky-night-cloudy[b-pefh9grkfv] { background: linear-gradient(165deg, #334155 0%, #1e293b 55%, #0f172a 100%); }
.wx-hero.wx-loading[b-pefh9grkfv] { min-height: 250px; }
.wx-hero.wx-loading .skeleton[b-pefh9grkfv] { background: rgba(255,255,255,.18); }

.wx-hero-top[b-pefh9grkfv] { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.wx-place[b-pefh9grkfv] { display: flex; flex-direction: column; min-width: 0; }
.wx-place strong[b-pefh9grkfv] { font-family: var(--font-display); font-size: 1.25rem; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wx-place span[b-pefh9grkfv] { font-size: .82rem; opacity: .8; }
.wx-time[b-pefh9grkfv] { font-size: .85rem; opacity: .8; padding-top: 4px; }

.wx-hero-main[b-pefh9grkfv] { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
.wx-temp[b-pefh9grkfv] { font-family: var(--font-display); font-size: clamp(5rem, 22vw, 7.5rem); font-weight: 300; line-height: 1; letter-spacing: -.04em; text-shadow: 0 10px 40px rgba(0,0,0,.25); }
.wx-big-ico[b-pefh9grkfv] { font-size: clamp(4.2rem, 18vw, 6rem); line-height: 1; filter: drop-shadow(0 12px 24px rgba(0,0,0,.3)); }
.wx-cond[b-pefh9grkfv] { font-size: 1.2rem; font-weight: 600; margin-top: 4px; }
.wx-range[b-pefh9grkfv] { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 6px; font-size: .92rem; opacity: .9; }
.wx-summary[b-pefh9grkfv] {
    margin-top: 16px; padding: 10px 14px; border-radius: 14px; font-size: .9rem; font-weight: 500;
    background: rgba(0,0,0,.18); border: 1px solid rgba(255,255,255,.16);
}

/* ---- schede */
.wx-card[b-pefh9grkfv] { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-l); padding: 14px 16px; box-shadow: var(--shadow-1); }
.wx-card-title[b-pefh9grkfv] { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--text-3); margin-bottom: 10px; }

.wx-hours[b-pefh9grkfv] { display: flex; gap: 4px; margin: 0 -6px; padding: 0 2px 4px; }
.wx-hour[b-pefh9grkfv] {
    flex: 0 0 56px; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 0 8px;
    border-radius: 16px;
}
.wx-hour.now[b-pefh9grkfv] { background: color-mix(in oklab, var(--accent) 22%, transparent); border: 1px solid color-mix(in oklab, var(--accent) 40%, transparent); }
.wx-hour-t[b-pefh9grkfv] { font-size: .78rem; color: var(--text-2); font-weight: 600; }
.wx-hour-ico[b-pefh9grkfv] { font-size: 1.5rem; line-height: 1; }
.wx-hour strong[b-pefh9grkfv] { font-size: 1rem; }
.wx-hour-rain[b-pefh9grkfv] { font-size: .72rem; color: #7dd3fc; min-height: 1em; font-weight: 600; }

.wx-days[b-pefh9grkfv] { list-style: none; margin: 0; padding: 0; }
.wx-days li[b-pefh9grkfv] { border-top: 1px solid var(--border); }
.wx-days li:first-child[b-pefh9grkfv] { border-top: 0; }
.wx-day[b-pefh9grkfv] {
    width: 100%; background: none; border: 0; color: inherit; font: inherit; cursor: pointer; text-align: left; border-radius: 12px;
    display: grid; grid-template-columns: 74px 52px 38px 1fr 38px 12px; align-items: center; gap: 8px;
    padding: 9px 4px;
}
.wx-day:hover[b-pefh9grkfv] { background: var(--surface); }
.wx-day-go[b-pefh9grkfv] { color: var(--text-3); font-size: 1.1rem; }
.wx-day-name[b-pefh9grkfv] { font-weight: 600; }
.wx-day-ico[b-pefh9grkfv] { display: flex; flex-direction: column; align-items: center; font-size: 1.35rem; line-height: 1; }
.wx-day-ico small[b-pefh9grkfv] { font-size: .66rem; color: #7dd3fc; font-weight: 700; margin-top: 2px; }
.wx-day-min[b-pefh9grkfv] { text-align: right; color: var(--text-3); }
.wx-day-max[b-pefh9grkfv] { font-weight: 600; }
.wx-bar[b-pefh9grkfv] { position: relative; height: 6px; border-radius: 99px; background: rgba(255,255,255,.08); }
.wx-bar span[b-pefh9grkfv] { position: absolute; top: 0; bottom: 0; border-radius: 99px; min-width: 6px; background: linear-gradient(90deg, #38bdf8, #a3e635, #facc15, #fb923c); background-size: 300% 100%; }
.wx-bar i[b-pefh9grkfv] { position: absolute; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: #fff; border: 2px solid var(--bg-1); }

.wx-tiles[b-pefh9grkfv] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.wx-tile[b-pefh9grkfv] {
    display: flex; flex-direction: column; gap: 6px; padding: 14px 16px; min-height: 108px;
    background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-l); box-shadow: var(--shadow-1);
}
.wx-tile-label[b-pefh9grkfv] { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--text-3); }
.wx-tile strong[b-pefh9grkfv] { font-family: var(--font-display); font-size: 1.9rem; font-weight: 500; line-height: 1.1; }
.wx-tile strong small[b-pefh9grkfv] { font-size: .9rem; color: var(--text-2); font-weight: 500; }
.wx-tile-sub[b-pefh9grkfv] { font-size: .84rem; color: var(--text-2); display: flex; align-items: center; gap: 6px; }
.wx-arrow[b-pefh9grkfv] { display: inline-block; font-weight: 800; color: var(--accent); }

.wx-foot[b-pefh9grkfv] { background: none; border: 0; color: var(--text-3); font-size: .74rem; text-align: center; padding: 4px 0 10px; cursor: pointer; }
.wx-foot:hover[b-pefh9grkfv] { color: var(--text-2); }
.wx-center[b-pefh9grkfv] { display: flex; justify-content: center; }

/* ---- benvenuto */
.wx-welcome[b-pefh9grkfv] {
    text-align: center; padding: 34px 22px; border-radius: var(--radius-xl); color: #fff;
    background: linear-gradient(165deg, #38bdf8 0%, #2563eb 55%, #312e81 100%); box-shadow: var(--shadow-2);
}
.wx-welcome-ico[b-pefh9grkfv] { font-size: 4.5rem; line-height: 1; }
.wx-welcome h2[b-pefh9grkfv] { font-family: var(--font-display); margin: 12px 0 4px; font-size: 1.6rem; }
.wx-welcome .muted[b-pefh9grkfv] { color: rgba(255,255,255,.82); }
.wx-welcome-actions[b-pefh9grkfv] { display: flex; flex-direction: column; gap: 10px; max-width: 320px; margin: 20px auto 0; }

/* ---- ricerca */
.wx-search[b-pefh9grkfv] { display: flex; flex-direction: column; gap: 12px; }
.wx-results[b-pefh9grkfv] { margin: 0; }
.wx-results .list-item[b-pefh9grkfv] { width: 100%; justify-content: space-between; text-align: left; background: none; border: 0; color: inherit; cursor: pointer; }
.wx-results .list-item > span[b-pefh9grkfv] { display: flex; flex-direction: column; min-width: 0; }
.wx-saved[b-pefh9grkfv] { display: flex; align-items: center; gap: 6px; }
.wx-saved .list-item[b-pefh9grkfv] { flex: 1; }

@media (min-width: 720px) {
    .wx-tiles[b-pefh9grkfv] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .wx-day[b-pefh9grkfv] { grid-template-columns: 100px 60px 44px 1fr 44px 14px; }
}
@media (max-width: 380px) {
    .wx-day[b-pefh9grkfv] { grid-template-columns: 58px 38px 32px 1fr 32px 10px; gap: 6px; }
}

/* ---- città scelta con la ✕ per toglierla */
.wx-chip[b-pefh9grkfv] { padding: 0 4px 0 14px; gap: 2px; }
.wx-chip button[b-pefh9grkfv] { background: none; border: 0; color: inherit; font: inherit; cursor: pointer; padding: 0; height: 100%; }
.wx-chip .wx-chip-x[b-pefh9grkfv] { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; margin-left: 4px; background: rgba(0,0,0,.25); }
.wx-chip .wx-chip-x:hover[b-pefh9grkfv] { background: rgba(0,0,0,.45); }

.wx-kn[b-pefh9grkfv] { font-size: .8rem !important; color: var(--text-3) !important; }
.wx-moon[b-pefh9grkfv] { font-size: 1.25rem !important; line-height: 1.25 !important; }

/* ---- giorno ora per ora */
.wx-dsum[b-pefh9grkfv] { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; padding: 14px 16px; margin-bottom: 12px; border-radius: 18px; background: linear-gradient(165deg, color-mix(in oklab, var(--accent) 30%, transparent), color-mix(in oklab, var(--accent-2) 18%, transparent)); border: 1px solid var(--border); }
.wx-dsum-main[b-pefh9grkfv] { display: flex; flex-direction: column; gap: 2px; }
.wx-dsum-main strong[b-pefh9grkfv] { font-size: 1.1rem; }
.wx-dsum-side[b-pefh9grkfv] { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; color: var(--text-2); }
.wx-dhours[b-pefh9grkfv] { list-style: none; margin: 0; padding: 0; }
.wx-dhours li[b-pefh9grkfv] { display: grid; grid-template-columns: 50px 30px 1fr auto auto 44px; align-items: center; gap: 8px; padding: 8px 6px; border-top: 1px solid var(--border); }
.wx-dhours li:first-child[b-pefh9grkfv] { border-top: 0; }
.wx-dhours li.past[b-pefh9grkfv] { opacity: .4; }
.wx-dhours li.now[b-pefh9grkfv] { background: color-mix(in oklab, var(--accent) 20%, transparent); border-radius: 12px; border-top-color: transparent; }
.wx-dh-t[b-pefh9grkfv] { color: var(--text-2); font-size: .86rem; font-weight: 600; }
.wx-dh-ico[b-pefh9grkfv] { font-size: 1.3rem; line-height: 1; }
.wx-dh-desc[b-pefh9grkfv] { font-size: .84rem; color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.wx-dh-rain[b-pefh9grkfv] { font-size: .78rem; color: #7dd3fc; font-weight: 600; white-space: nowrap; }
.wx-dh-wind[b-pefh9grkfv] { font-size: .78rem; color: var(--text-3); white-space: nowrap; }
.wx-dh-temp[b-pefh9grkfv] { text-align: right; font-size: 1.02rem; }
.wx-center-text[b-pefh9grkfv] { text-align: center; margin: 10px 0 0; }
@media (max-width: 400px) {
    .wx-dhours li[b-pefh9grkfv] { grid-template-columns: 44px 26px 1fr auto 38px; }
    .wx-dh-wind[b-pefh9grkfv] { display: none; }
}

/* ---- luna: riquadro (si tocca per le fasi del mese) */
.wx-tile-btn[b-pefh9grkfv] { color: inherit; font: inherit; text-align: left; cursor: pointer; }
.wx-tile-btn:hover[b-pefh9grkfv] { border-color: var(--border-strong); }
.wx-tile-go[b-pefh9grkfv] { float: right; font-size: 1rem; line-height: .8; color: var(--text-3); }
.wx-moon-row[b-pefh9grkfv] { display: flex; align-items: center; gap: 8px; min-width: 0; }
.wx-moon-row .wx-moon[b-pefh9grkfv] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wx-moon-times[b-pefh9grkfv] { display: flex; flex-wrap: wrap; gap: 0 10px; font-size: .82rem; color: var(--text-2); }

/* ---- fasi lunari del mese */
.mo[b-pefh9grkfv] { display: flex; flex-direction: column; gap: 14px; }
.mo-sel[b-pefh9grkfv] {
    display: flex; align-items: center; gap: 16px; padding: 16px; border-radius: 20px;
    background: linear-gradient(160deg, #1e1b4b, #0f172a); border: 1px solid var(--border); color: #fff;
}
.mo-sel[b-pefh9grkfv]  .moon-ico { flex: 0 0 auto; filter: drop-shadow(0 0 18px rgba(245, 239, 214, .25)); }
.mo-sel-text[b-pefh9grkfv] { display: flex; flex-direction: column; gap: 3px; min-width: 0; font-size: .86rem; color: rgba(255,255,255,.8); }
.mo-sel-text strong[b-pefh9grkfv] { font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; color: #fff; line-height: 1.15; }
.mo-sel-day[b-pefh9grkfv] { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: rgba(255,255,255,.6); }
.mo-times[b-pefh9grkfv] { display: flex; flex-wrap: wrap; gap: 0 12px; color: #fff; font-weight: 600; }
.mo-next[b-pefh9grkfv] { color: rgba(255,255,255,.7); }

.mo-head[b-pefh9grkfv] { display: flex; align-items: center; justify-content: space-between; }
.mo-head strong[b-pefh9grkfv] { font-size: 1.05rem; }
.mo-grid[b-pefh9grkfv] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.mo-wd[b-pefh9grkfv] { text-align: center; font-size: .7rem; font-weight: 700; color: var(--text-3); padding-bottom: 2px; }
.mo-day[b-pefh9grkfv] {
    display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 6px 0 5px; border-radius: 12px;
    background: none; border: 1px solid transparent; color: var(--text-2); font: inherit; font-size: .76rem; cursor: pointer; min-width: 0;
}
.mo-day:hover[b-pefh9grkfv] { background: var(--surface); }
.mo-day.q[b-pefh9grkfv] { color: var(--text); font-weight: 700; background: var(--surface); }
.mo-day.today[b-pefh9grkfv] { border-color: color-mix(in oklab, var(--accent) 60%, transparent); color: var(--text); }
.mo-day.sel[b-pefh9grkfv] { background: color-mix(in oklab, var(--accent) 24%, transparent); border-color: color-mix(in oklab, var(--accent) 70%, transparent); color: var(--text); }

.mo-list[b-pefh9grkfv] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mo-list li[b-pefh9grkfv] { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); }
.mo-list strong[b-pefh9grkfv] { flex: 1; }
.mo-list .num[b-pefh9grkfv] { color: var(--text-2); font-size: .86rem; }
.mo-list-ico[b-pefh9grkfv] { font-size: 1.2rem; line-height: 1; }

/* ---- vento: nome e scala Beaufort */
.wx-wind-more[b-pefh9grkfv] { color: var(--text-3); font-size: .78rem; }

/* ---- mare e venti (come le previsioni marine) */
.wx-sea-now[b-pefh9grkfv] { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.wx-sea-state[b-pefh9grkfv] {
    flex: 1 1 160px; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 14px 16px; border-radius: 16px; color: #fff;
    background: linear-gradient(160deg, var(--s1), var(--s2));
}
.wx-sea-state strong[b-pefh9grkfv] { font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; line-height: 1.1; }
.wx-sea-state span[b-pefh9grkfv] { opacity: .9; font-size: .9rem; }
.lv0[b-pefh9grkfv] { --s1: #22d3ee; --s2: #0e7490; --sc: #22d3ee; }
.lv1[b-pefh9grkfv] { --s1: #38bdf8; --s2: #1d4ed8; --sc: #38bdf8; }
.lv2[b-pefh9grkfv] { --s1: #6366f1; --s2: #3730a3; --sc: #818cf8; }
.lv3[b-pefh9grkfv] { --s1: #f59e0b; --s2: #b45309; --sc: #fbbf24; }
.lv4[b-pefh9grkfv] { --s1: #ef4444; --s2: #991b1b; --sc: #f87171; }
.wx-sea-facts[b-pefh9grkfv] { flex: 2 1 240px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.wx-sea-facts > span[b-pefh9grkfv] { display: flex; flex-direction: column; gap: 2px; padding: 8px 12px; border-radius: 12px; background: var(--surface); border: 1px solid var(--border); min-width: 0; }
.wx-sea-facts small[b-pefh9grkfv] { font-size: .7rem; color: var(--text-3); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.wx-sea-facts b[b-pefh9grkfv] { font-size: .95rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.wx-sea-hours[b-pefh9grkfv] { display: flex; gap: 6px; margin: 14px -4px 4px; padding: 0 4px 4px; }
.wx-sea-hour[b-pefh9grkfv] { flex: 0 0 70px; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 10px 4px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); }
.wx-sea-hour small[b-pefh9grkfv] { font-size: .66rem; color: var(--text-3); }
.wx-sea-wave[b-pefh9grkfv] { display: flex; align-items: center; gap: 3px; color: var(--sc); font-size: .9rem; }
.wx-sea-wave .wx-arrow[b-pefh9grkfv], .wx-sea-m .wx-arrow[b-pefh9grkfv] { color: inherit; }
.wx-sea-wind[b-pefh9grkfv] { font-size: .82rem; color: var(--text-2); display: flex; align-items: center; gap: 3px; }

.wx-sea-days[b-pefh9grkfv] { list-style: none; margin: 10px 0 0; padding: 0; }
.wx-sea-days li[b-pefh9grkfv] { border-top: 1px solid var(--border); }
.wx-sea-row[b-pefh9grkfv] {
    width: 100%; background: none; border: 0; color: inherit; font: inherit; cursor: pointer; text-align: left; border-radius: 12px;
    display: grid; grid-template-columns: 62px 1fr 74px 1.2fr 12px; align-items: center; gap: 8px; padding: 9px 4px; font-size: .88rem;
}
.wx-sea-row:hover[b-pefh9grkfv] { background: var(--surface); }
.wx-sea-days li:first-child[b-pefh9grkfv] { border-top: 0; }
.wx-sea-day[b-pefh9grkfv] { font-weight: 600; }
.wx-sea-badge[b-pefh9grkfv] { justify-self: start; padding: 3px 9px; border-radius: 99px; font-size: .74rem; font-weight: 700; color: #fff; background: linear-gradient(160deg, var(--s1), var(--s2)); white-space: nowrap; }
.wx-sea-m[b-pefh9grkfv] { display: flex; align-items: center; gap: 4px; font-weight: 600; }
.wx-sea-w[b-pefh9grkfv] { display: flex; align-items: center; gap: 4px; color: var(--text-2); white-space: nowrap; overflow: hidden; }
.wx-sea-w small[b-pefh9grkfv] { color: var(--text-3); overflow: hidden; text-overflow: ellipsis; }
.wx-sea-note[b-pefh9grkfv] { margin: 8px 0 0; }
@media (max-width: 480px) {
    .wx-sea-row[b-pefh9grkfv] { grid-template-columns: 50px 1fr 58px 64px 10px; gap: 6px; font-size: .84rem; }
    .wx-sea-w small[b-pefh9grkfv] { display: none; }
    .wx-sea-badge[b-pefh9grkfv] { font-size: .7rem; padding: 3px 7px; }
}

/* ---- mare: un giorno ora per ora */
.wx-sea-sum[b-pefh9grkfv] { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; margin-bottom: 12px; border-radius: 18px; color: #fff; background: linear-gradient(160deg, var(--s1), var(--s2)); }
.wx-sea-sum strong[b-pefh9grkfv] { font-family: var(--font-display); font-size: 1.3rem; font-weight: 600; }
.wx-sea-sum span[b-pefh9grkfv] { font-size: .88rem; opacity: .92; }
.wx-sea-dh[b-pefh9grkfv] { list-style: none; margin: 0; padding: 0; }
.wx-sea-dh li[b-pefh9grkfv] { display: grid; grid-template-columns: 50px 82px 92px 1fr; align-items: center; gap: 8px; padding: 8px 6px; border-top: 1px solid var(--border); font-size: .9rem; }
.wx-sea-dh li:first-child[b-pefh9grkfv] { border-top: 0; }
.wx-sea-dh li.head[b-pefh9grkfv] { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--text-3); padding-top: 0; }
.wx-sea-dh li.past[b-pefh9grkfv] { opacity: .4; }
.wx-sea-dh-t[b-pefh9grkfv] { color: var(--text-2); font-weight: 600; }
.wx-sea-dh-w[b-pefh9grkfv] { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.wx-sea-dh-w .wx-arrow[b-pefh9grkfv] { color: var(--text-2); }
.wx-sea-dh-n[b-pefh9grkfv] { display: flex; flex-direction: column; min-width: 0; font-weight: 600; font-size: .86rem; }
.wx-sea-dh-n small[b-pefh9grkfv] { font-weight: 500; color: var(--text-3); font-size: .74rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 380px) {
    .wx-sea-dh li[b-pefh9grkfv] { grid-template-columns: 44px 70px 82px 1fr; gap: 6px; font-size: .84rem; }
}
/* /Components/Pages/Note/NoteCard.razor.rz.scp.css */
/* =========================================================
   Note — foglietto nella bacheca
   ========================================================= */
.note-card[b-crz64pgosx] {
    --n-a: #2b2860; --n-b: #171538; --n-ink: #f4f3ff; --n-link: #1d4ed8; --n-soft: rgba(0, 0, 0, .09);
    position: relative; display: block; overflow: hidden;
    padding: 14px 14px 12px; border-radius: 20px;
    color: var(--n-ink);
    background:
        radial-gradient(120% 60% at 0% 0%, rgba(255, 255, 255, .35), transparent 55%),
        linear-gradient(160deg, var(--n-a), var(--n-b));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 1px 2px rgba(0, 0, 0, .3), 0 18px 34px -18px rgba(0, 0, 0, .9);
    cursor: pointer; outline: none;
    user-select: none; -webkit-user-select: none; -webkit-touch-callout: none;
    transform: perspective(900px) rotate(var(--rot, 0deg)) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateZ(var(--lift, 0px));
    transition: transform .5s var(--ease-spring), box-shadow .35s var(--ease-out);
    contain: layout paint;
}
.note-card.is-tilting[b-crz64pgosx] { --rot: 0deg; transition: transform .08s linear, box-shadow .3s; }
.note-card:hover[b-crz64pgosx] { --rot: 0deg; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 2px 4px rgba(0, 0, 0, .3), 0 30px 50px -20px rgba(0, 0, 0, .95); }
.note-card:focus-visible[b-crz64pgosx] { box-shadow: 0 0 0 3px var(--accent-2), 0 18px 34px -18px rgba(0, 0, 0, .9); }
.note-card:active[b-crz64pgosx] { transform: perspective(900px) scale(.975); }
.note-card.is-pressed[b-crz64pgosx] { transform: perspective(900px) scale(.95) translateZ(-10px); transition-duration: .15s; }

/* Vetro scuro predefinito */
.note-card.is-default[b-crz64pgosx] {
    --n-link: #93c5fd; --n-soft: rgba(255, 255, 255, .09);
    background: linear-gradient(160deg, rgba(62, 56, 130, .78), rgba(22, 19, 56, .86));
    border: 1px solid var(--border);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 18px 34px -18px rgba(0, 0, 0, .9);
}

/* Angolo piegato della carta */
.note-card.is-paper[b-crz64pgosx]::before {
    content: ""; position: absolute; right: 0; bottom: 0; width: 20px; height: 20px; z-index: 2; pointer-events: none;
    background: linear-gradient(135deg, rgba(0, 0, 0, .16) 0 50%, rgba(255, 255, 255, .7) 50% 100%);
    border-top-left-radius: 7px; box-shadow: -2px -2px 5px rgba(0, 0, 0, .08);
}

/* ---------- Foto ---------- */
.nc-photos[b-crz64pgosx] { display: grid; gap: 2px; margin: -14px -14px 10px; grid-template-columns: 1fr 1fr; }
.nc-photos.n1[b-crz64pgosx] { grid-template-columns: 1fr; }
.nc-photos img[b-crz64pgosx] { width: 100%; height: 100%; object-fit: cover; background: rgba(0, 0, 0, .15); max-height: 260px; }
.nc-photos.n3 img:first-child[b-crz64pgosx] { grid-column: span 2; aspect-ratio: 2 / 1 !important; }
.nc-more-photos[b-crz64pgosx] {
    position: absolute; right: 8px; top: 8px; z-index: 1; padding: 2px 9px; border-radius: 99px;
    background: rgba(0, 0, 0, .55); color: white; font-size: .75rem; font-weight: 700;
}

/* ---------- Pulsanti ---------- */
.nc-pin[b-crz64pgosx], .nc-more[b-crz64pgosx] {
    position: absolute; z-index: 3; display: grid; place-items: center;
    border: 0; border-radius: 12px; cursor: pointer; color: inherit;
    background: var(--n-soft);
    opacity: 0; transition: opacity .2s, transform .3s var(--ease-spring), background .2s;
}
.nc-pin[b-crz64pgosx] { top: 8px; right: 8px; width: 30px; height: 30px; font-size: .9rem; }
.nc-pin span[b-crz64pgosx] { filter: grayscale(1); opacity: .7; transition: filter .2s, opacity .2s; }
.nc-pin.on[b-crz64pgosx] { opacity: 1; background: transparent; }
.nc-pin.on span[b-crz64pgosx] { filter: none; opacity: 1; }
.nc-more[b-crz64pgosx] { right: 6px; bottom: 6px; width: 32px; height: 28px; }
.note-card:hover .nc-pin[b-crz64pgosx], .note-card:hover .nc-more[b-crz64pgosx], .note-card:focus-within .nc-pin[b-crz64pgosx], .note-card:focus-within .nc-more[b-crz64pgosx] { opacity: 1; }
.nc-pin:hover[b-crz64pgosx], .nc-more:hover[b-crz64pgosx] { transform: scale(1.12); background: color-mix(in oklab, var(--n-ink) 16%, transparent); }
@media (hover: none) { .nc-more[b-crz64pgosx] { display: none; } }

/* ---------- Contenuto ---------- */
.nc-content[b-crz64pgosx] { position: relative; }
.nc-title[b-crz64pgosx] { font-family: var(--font-display); font-size: 1.02rem; font-weight: 700; line-height: 1.25; margin: 0 26px 6px 0; overflow-wrap: anywhere; }
.nc-body[b-crz64pgosx] { font-size: .9rem; line-height: 1.45; overflow-wrap: anywhere; opacity: .93; }
.nc-empty[b-crz64pgosx] { margin: 0; font-style: italic; opacity: .55; font-size: .88rem; }

.md[b-crz64pgosx]  p { margin: 0 0 6px; }
.md[b-crz64pgosx]  p:last-child { margin-bottom: 0; }
.md[b-crz64pgosx]  ul, .md[b-crz64pgosx]  ol { margin: 0 0 6px; padding-left: 20px; }
.md[b-crz64pgosx]  li { margin: 1px 0; }
.md[b-crz64pgosx]  .md-h1 { font-family: var(--font-display); font-size: 1rem; font-weight: 700; margin: 4px 0 4px; }
.md[b-crz64pgosx]  .md-h2 { font-family: var(--font-display); font-size: .92rem; font-weight: 700; margin: 4px 0 3px; opacity: .9; }
.md[b-crz64pgosx]  a { color: var(--n-link); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.md[b-crz64pgosx]  code { font-family: ui-monospace, "Cascadia Code", monospace; font-size: .85em; padding: 1px 5px; border-radius: 5px; background: var(--n-soft); }
.md[b-crz64pgosx]  blockquote { margin: 0 0 6px; padding-left: 10px; border-left: 3px solid color-mix(in oklab, var(--n-ink) 35%, transparent); opacity: .85; }
.md[b-crz64pgosx]  hr { border: 0; border-top: 1px dashed color-mix(in oklab, var(--n-ink) 35%, transparent); margin: 8px 0; }
.md[b-crz64pgosx]  .md-more { opacity: .5; }

/* ---------- Checklist ---------- */
.nc-items[b-crz64pgosx] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; font-size: .9rem; }
.nc-items li[b-crz64pgosx] { display: flex; align-items: flex-start; gap: 8px; overflow-wrap: anywhere; line-height: 1.35; }
.nc-check[b-crz64pgosx] {
    flex: none; width: 17px; height: 17px; margin-top: 1px; padding: 0; cursor: pointer;
    border: 2px solid currentColor; border-radius: 6px; background: transparent; opacity: .6;
    transition: transform .25s var(--ease-spring), opacity .2s, background .2s;
}
.nc-check:hover[b-crz64pgosx] { opacity: 1; transform: scale(1.15); background: var(--n-soft); }
.nc-items-more[b-crz64pgosx] { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; font-size: .78rem; opacity: .65; font-weight: 600; }
.nc-progress[b-crz64pgosx] { height: 4px; border-radius: 99px; background: var(--n-soft); overflow: hidden; margin-top: 10px; }
.nc-progress span[b-crz64pgosx] { display: block; height: 100%; width: var(--v); background: currentColor; opacity: .55; border-radius: inherit; transition: width .6s var(--ease-out); }

/* ---------- Etichette e cestino ---------- */
.nc-labels[b-crz64pgosx] { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.nc-label[b-crz64pgosx] { padding: 2px 9px; border-radius: 99px; background: var(--n-soft); font-size: .72rem; font-weight: 600; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nc-trash[b-crz64pgosx] { margin-top: 10px; font-size: .74rem; font-weight: 600; opacity: .7; }

@media (max-width: 560px) {
    .note-card[b-crz64pgosx] { padding: 12px 12px 10px; border-radius: 18px; overflow: visible; }
    .note-card.is-paper[b-crz64pgosx]::before { display: none; }
    .nc-photos[b-crz64pgosx] { margin: -12px -12px 8px; }
    .nc-title[b-crz64pgosx] { font-size: .95rem; }
    /* Le note con checklist si espandono su più righe invece di essere tagliate. */
    .nc-body[b-crz64pgosx], .nc-items[b-crz64pgosx] { font-size: .84rem; }
    .nc-items li[b-crz64pgosx] { white-space: normal; }
   .nc-content[b-crz64pgosx] { max-height: none; }
}

.nc-share[b-crz64pgosx] { margin-top: 8px; display: flex; }
/* /Components/Pages/Note/NoteEditor.razor.rz.scp.css */
/* =========================================================
   Note — editor (sheet grande / schermo intero su mobile)
   ========================================================= */
.ne-backdrop[b-xe93yqt1qy] {
    position: fixed; inset: 0; z-index: 120; display: flex; align-items: center; justify-content: center; padding: 24px;
    background: rgba(3, 2, 12, .62);
    animation: ne-fade-b-xe93yqt1qy .25s ease both; perspective: 1400px;
}
@keyframes ne-fade-b-xe93yqt1qy { from { opacity: 0; } }

.ne[b-xe93yqt1qy] {
    --n-a: #2b2860; --n-b: #171538; --n-ink: #f4f3ff; --n-link: #1d4ed8; --n-soft: rgba(0, 0, 0, .08); --n-line: rgba(0, 0, 0, .12);
    position: relative; display: flex; flex-direction: column; overflow: hidden;
    width: min(760px, 100%); height: min(86vh, 920px); border-radius: 28px;
    color: var(--n-ink);
    background: radial-gradient(120% 50% at 0% 0%, rgba(255, 255, 255, .35), transparent 55%), linear-gradient(160deg, var(--n-a), var(--n-b));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 60px 120px -30px rgba(0, 0, 0, .9);
    animation: ne-in-b-xe93yqt1qy .45s var(--ease-spring) both;
}
.ne.flip[b-xe93yqt1qy] { animation: none; }
.ne.is-default[b-xe93yqt1qy] {
    --n-link: #93c5fd; --n-soft: rgba(255, 255, 255, .08); --n-line: rgba(255, 255, 255, .1);
    background: radial-gradient(90% 40% at 0% 0%, color-mix(in oklab, var(--accent) 22%, transparent), transparent 60%), linear-gradient(160deg, rgba(40, 35, 95, .98), rgba(14, 12, 40, .99));
    border: 1px solid var(--border-strong);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 60px 120px -30px rgba(0, 0, 0, .9);
}
@keyframes ne-in-b-xe93yqt1qy { from { opacity: 0; transform: rotateX(-12deg) translateY(50px) scale(.94); } }

/* ---------- Testata ---------- */
.ne-head[b-xe93yqt1qy] { display: flex; align-items: center; gap: 4px; padding: 10px 12px 2px; }
.ne-btn[b-xe93yqt1qy] { color: inherit; font-size: 1.05rem; }
.ne-btn:hover[b-xe93yqt1qy] { background: var(--n-soft); }
.ne-btn.on[b-xe93yqt1qy] { background: var(--n-soft); box-shadow: inset 0 0 0 1px var(--n-line); }
.ne-status[b-xe93yqt1qy] { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; font-weight: 600; opacity: .7; min-height: 24px; padding-left: 4px; }
.ne-status .dot[b-xe93yqt1qy] { width: 7px; height: 7px; border-radius: 50%; background: currentColor; animation: ne-pulse-b-xe93yqt1qy 1s ease-in-out infinite; }
.ne-status.s-saved svg[b-xe93yqt1qy] { animation: ne-check-b-xe93yqt1qy .45s var(--ease-spring); }
@keyframes ne-pulse-b-xe93yqt1qy { 50% { opacity: .25; transform: scale(.7); } }
@keyframes ne-check-b-xe93yqt1qy { from { transform: scale(0) rotate(-40deg); } }
.ne-retry[b-xe93yqt1qy] { border: 0; background: rgba(220, 38, 38, .2); color: inherit; padding: 4px 10px; border-radius: 99px; font: inherit; font-weight: 700; cursor: pointer; }
.dim-ink[b-xe93yqt1qy] { opacity: .6; }

.ne-trash[b-xe93yqt1qy] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 6px 14px 0; padding: 10px 14px; border-radius: 16px; background: var(--n-soft); font-size: .88rem; font-weight: 600; }
.ne-trash span[b-xe93yqt1qy] { flex: 1 1 200px; }

/* ---------- Corpo ---------- */
.ne-body[b-xe93yqt1qy] { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 4px 24px 22px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.ne-title[b-xe93yqt1qy] {
    width: 100%; border: 0; background: transparent; color: inherit; outline: none; padding: 10px 0 6px;
    font-family: var(--font-display); font-size: 1.55rem; font-weight: 700; letter-spacing: -.02em;
}
.ne-title[b-xe93yqt1qy]::placeholder, .ne-textarea[b-xe93yqt1qy]::placeholder, .ck-text[b-xe93yqt1qy]::placeholder { color: inherit; opacity: .45; }
.ne-textarea[b-xe93yqt1qy] {
    display: block; width: 100%; min-height: 32vh; resize: none; border: 0; background: transparent; color: inherit; outline: none;
    font: inherit; font-size: 1.04rem; line-height: 1.62; padding: 4px 0; field-sizing: content; overflow: hidden;
}
.ne-md[b-xe93yqt1qy] { font-size: 1.04rem; line-height: 1.62; min-height: 32vh; overflow-wrap: anywhere; padding: 4px 0; animation: ne-fade-b-xe93yqt1qy .2s; }
.md[b-xe93yqt1qy]  p { margin: 0 0 10px; }
.md[b-xe93yqt1qy]  ul, .md[b-xe93yqt1qy]  ol { margin: 0 0 10px; padding-left: 22px; }
.md[b-xe93yqt1qy]  .md-h1 { font-family: var(--font-display); font-size: 1.25rem; font-weight: 700; margin: 10px 0 6px; }
.md[b-xe93yqt1qy]  .md-h2 { font-family: var(--font-display); font-size: 1.08rem; font-weight: 700; margin: 8px 0 4px; }
.md[b-xe93yqt1qy]  a { color: var(--n-link); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.md[b-xe93yqt1qy]  code { font-family: ui-monospace, "Cascadia Code", monospace; font-size: .9em; padding: 1px 6px; border-radius: 6px; background: var(--n-soft); }
.md[b-xe93yqt1qy]  blockquote { margin: 0 0 10px; padding-left: 12px; border-left: 3px solid var(--n-line); opacity: .85; }
.md[b-xe93yqt1qy]  hr { border: 0; border-top: 1px dashed var(--n-line); margin: 12px 0; }

/* ---------- Foto ---------- */
.ne-photos[b-xe93yqt1qy] { display: grid; gap: 6px; margin: 6px 0 6px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ne-photos.n1[b-xe93yqt1qy] { grid-template-columns: minmax(0, 1fr); }
.ne-photos.n2[b-xe93yqt1qy] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ne-photos.n3[b-xe93yqt1qy] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ne-photo[b-xe93yqt1qy] {
    position: relative; padding: 0; border: 0; border-radius: 14px; overflow: hidden; cursor: zoom-in; aspect-ratio: 4 / 3;
    background: var(--n-soft); color: inherit; transition: transform .3s var(--ease-spring), box-shadow .3s;
    box-shadow: 0 10px 24px -14px rgba(0, 0, 0, .8); animation: ne-photo-in-b-xe93yqt1qy .45s var(--ease-spring) both;
}
.ne-photos.n1 .ne-photo[b-xe93yqt1qy] { aspect-ratio: 16 / 9; }
.ne-photo:hover[b-xe93yqt1qy] { transform: translateY(-2px) scale(1.02); }
.ne-photo img[b-xe93yqt1qy] { width: 100%; height: 100%; object-fit: cover; }
.ne-photo.busy[b-xe93yqt1qy] { display: grid; place-items: center; cursor: default; }
.ne-photo.busy small[b-xe93yqt1qy] { position: absolute; bottom: 6px; right: 8px; font-weight: 700; opacity: .6; }
@keyframes ne-photo-in-b-xe93yqt1qy { from { opacity: 0; transform: scale(.8) rotate(-3deg); } }
.spin[b-xe93yqt1qy] { width: 24px; height: 24px; border-radius: 50%; border: 3px solid currentColor; border-top-color: transparent; opacity: .6; animation: ne-spin-b-xe93yqt1qy .8s linear infinite; }
@keyframes ne-spin-b-xe93yqt1qy { to { transform: rotate(360deg); } }

/* ---------- Checklist ---------- */
.ck[b-xe93yqt1qy] { margin-top: 4px; }
.ck-list[b-xe93yqt1qy] { display: flex; flex-direction: column; position: relative; }
.ck-row[b-xe93yqt1qy] {
    position: relative; display: flex; align-items: center; gap: 6px; padding: 1px 2px; border-radius: 12px;
    background: transparent; transition: transform .22s var(--ease-out), background .2s, box-shadow .2s;
}
.ck-list.no-anim .ck-row[b-xe93yqt1qy] { transition: none !important; }
/* Voci lunghe vanno a capo: maniglia, casella e ✕ restano allineati alla prima riga. */
.ck-row[b-xe93yqt1qy] { align-items: flex-start; }
.ck-row .drag-handle[b-xe93yqt1qy] { margin-top: 2px; }
.ck-row .ck-box[b-xe93yqt1qy] { margin-top: 8px; }
.ck-row .ck-del[b-xe93yqt1qy] { margin-top: 4px; }
.ck-row.is-dragging[b-xe93yqt1qy] { z-index: 5; background: var(--n-soft); box-shadow: 0 16px 34px -12px rgba(0, 0, 0, .55); transition: box-shadow .2s, background .2s; }
.drag-handle[b-xe93yqt1qy] {
    flex: none; width: 22px; height: 36px; display: grid; place-items: center; opacity: .35; cursor: grab; touch-action: none;
    transition: opacity .2s;
}
.ck-row.is-dragging .drag-handle[b-xe93yqt1qy] { cursor: grabbing; opacity: .8; }
@media (hover: hover) and (pointer: fine) {
    .drag-handle[b-xe93yqt1qy] { opacity: 0; }
    .ck-row:hover .drag-handle[b-xe93yqt1qy] { opacity: .45; }
    .ck-row[b-xe93yqt1qy] { cursor: grab; }
    .ck-row .ck-text[b-xe93yqt1qy], .ck-row button[b-xe93yqt1qy] { cursor: auto; }
}
.ck-box[b-xe93yqt1qy] {
    flex: none; width: 24px; height: 24px; padding: 0; display: grid; place-items: center; cursor: pointer !important;
    border: 2px solid currentColor; border-radius: 8px; background: transparent; color: inherit; opacity: .7;
    transition: transform .3s var(--ease-spring), background .2s, opacity .2s;
}
.ck-box:hover[b-xe93yqt1qy] { opacity: 1; transform: scale(1.08); }
.ck-box:active[b-xe93yqt1qy] { transform: scale(.82); }
.ck-box svg[b-xe93yqt1qy] { width: 16px; height: 16px; fill: none; stroke: var(--n-b); stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 24; stroke-dashoffset: 24; transition: stroke-dashoffset .32s var(--ease-out) .05s; }
.ck-box.on[b-xe93yqt1qy] { background: currentColor; opacity: 1; animation: ck-pop-b-xe93yqt1qy .45s var(--ease-spring); }
.ck-box.on svg[b-xe93yqt1qy] { stroke-dashoffset: 0; }
.ck-box[disabled][b-xe93yqt1qy] { pointer-events: none; }
@keyframes ck-pop-b-xe93yqt1qy { 40% { transform: scale(1.28) rotate(-6deg); } }
.ck-text[b-xe93yqt1qy] {
    flex: 1; min-width: 0; min-height: 40px; border: 0; border-bottom: 1px solid transparent; background: transparent; color: inherit;
    font: inherit; font-size: 1rem; line-height: 1.4; padding: 9px 4px; outline: none; transition: border-color .2s;
    display: block; resize: none; overflow: hidden; field-sizing: content; white-space: pre-wrap; overflow-wrap: anywhere;
}
.ck-text:focus[b-xe93yqt1qy] { border-bottom-color: var(--n-line); }
.ck-row.is-leaving[b-xe93yqt1qy] { animation: ck-leave-b-xe93yqt1qy .45s ease-in forwards; }
.ck-row.is-leaving .ck-text[b-xe93yqt1qy] { text-decoration: line-through; opacity: .55; }
@keyframes ck-leave-b-xe93yqt1qy { 55% { opacity: 1; transform: none; } to { opacity: 0; transform: translateX(18px) scale(.97); } }
.ck-del[b-xe93yqt1qy] {
    flex: none; width: 32px; height: 32px; border: 0; border-radius: 10px; background: transparent; color: inherit; cursor: pointer;
    opacity: 0; transition: opacity .2s, background .2s;
}
.ck-del:hover[b-xe93yqt1qy] { background: var(--n-soft); opacity: .9 !important; }
.ck-row:hover .ck-del[b-xe93yqt1qy], .ck-row:focus-within .ck-del[b-xe93yqt1qy] { opacity: .55; }
@media (hover: none) { .ck-del[b-xe93yqt1qy] { opacity: .35; } }
.ck-add[b-xe93yqt1qy] { display: flex; align-items: center; gap: 6px; padding: 0 2px 0 30px; }
.ck-plus[b-xe93yqt1qy] { width: 24px; text-align: center; opacity: .5; font-size: 1.1rem; flex: none; }
.ck-add-btn[b-xe93yqt1qy] { flex: none; background: var(--n-soft); color: inherit; border-color: transparent; }
.ck-done-head[b-xe93yqt1qy] { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--n-line); }
.ck-done-head .btn[b-xe93yqt1qy] { color: inherit; }
.ck-done-toggle[b-xe93yqt1qy] { border: 0; background: transparent; color: inherit; font: inherit; font-weight: 700; font-size: .88rem; opacity: .7; cursor: pointer; padding: 6px 4px; display: inline-flex; gap: 8px; align-items: center; }
.chev[b-xe93yqt1qy] { display: inline-block; transition: transform .25s var(--ease-out); }
.chev.open[b-xe93yqt1qy] { transform: rotate(90deg); }
.ck-list.done[b-xe93yqt1qy] { animation: ne-fade-b-xe93yqt1qy .3s; }
.ck-row.is-done[b-xe93yqt1qy] { padding-left: 30px; }
.ck-row.is-done .ck-box[b-xe93yqt1qy] { opacity: .55; }
.ck-done-text[b-xe93yqt1qy] { flex: 1; min-width: 0; padding: 9px 4px; text-decoration: line-through; opacity: .55; overflow-wrap: anywhere; }

/* ---------- Etichette e meta ---------- */
.ne-labels[b-xe93yqt1qy] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.ne-label[b-xe93yqt1qy] { border: 0; border-radius: 99px; padding: 4px 11px; background: var(--n-soft); color: inherit; font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; }
.ne-meta[b-xe93yqt1qy] { margin-top: 16px; font-size: .74rem; opacity: .55; }

/* ---------- Barra strumenti ---------- */
.ne-foot[b-xe93yqt1qy] { position: relative; padding: 6px 10px calc(8px + var(--safe-bottom)); border-top: 1px solid var(--n-line); }
.ne-tools[b-xe93yqt1qy] { display: flex; align-items: center; gap: 2px; overflow-x: auto; scrollbar-width: none; }
.ne-tools[b-xe93yqt1qy]::-webkit-scrollbar { display: none; }
.ne-tool[b-xe93yqt1qy] {
    flex: none; width: 40px; height: 40px; display: grid; place-items: center; border: 0; border-radius: 12px; cursor: pointer;
    background: transparent; color: inherit; font: inherit; font-size: 1.1rem; transition: background .2s, transform .25s var(--ease-spring);
}
.ne-tool:hover[b-xe93yqt1qy], .ne-tool.on[b-xe93yqt1qy] { background: var(--n-soft); }
.ne-tool.on[b-xe93yqt1qy] { box-shadow: inset 0 0 0 1px var(--n-line); }
.ne-tool:active[b-xe93yqt1qy] { transform: scale(.88); }
.ne-tool.fmt[b-xe93yqt1qy] { font-size: .98rem; }
.ne-sep[b-xe93yqt1qy] { flex: none; width: 1px; height: 22px; background: currentColor; opacity: .18; margin: 0 4px; }
.ne-tools .grow[b-xe93yqt1qy] { flex: 1; }
.ne-done[b-xe93yqt1qy] { flex: none; margin-left: 4px; color: inherit; background: var(--n-soft); border-color: var(--n-line); font-weight: 700; }

/* Popover (colori, etichette, altro) */
.ne-pop[b-xe93yqt1qy] {
    position: absolute; left: 10px; bottom: calc(100% + 6px); z-index: 4; width: min(420px, calc(100% - 20px)); max-height: 50vh; overflow: auto;
    padding: 12px; border-radius: 18px; color: var(--text);
    background: rgba(22, 19, 54, .97); border: 1px solid var(--border-strong); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .85);
    animation: ne-pop-b-xe93yqt1qy .28s var(--ease-spring) both; transform-origin: bottom left;
}
.ne-pop.pop-menu[b-xe93yqt1qy] { left: auto; right: 10px; width: 250px; padding: 6px; transform-origin: bottom right; }
@keyframes ne-pop-b-xe93yqt1qy { from { opacity: 0; transform: translateY(10px) scale(.94); } }
.pop-title[b-xe93yqt1qy] { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--text-2); margin-bottom: 8px; }
.pop-colors[b-xe93yqt1qy] { display: flex; flex-wrap: wrap; gap: 9px; }
.pop-labels[b-xe93yqt1qy] { display: flex; flex-wrap: wrap; gap: 6px; }
.pop-new[b-xe93yqt1qy] { display: flex; gap: 8px; margin-top: 10px; }
.pop-new .input[b-xe93yqt1qy] { height: 38px; }
.swatch[b-xe93yqt1qy] {
    width: 34px; height: 34px; border-radius: 50%; cursor: pointer; padding: 0;
    background: linear-gradient(135deg, var(--sw-a), var(--sw-b)); border: 2px solid rgba(255, 255, 255, .22);
    transition: transform .25s var(--ease-spring), box-shadow .2s;
}
.swatch:hover[b-xe93yqt1qy] { transform: scale(1.12); }
.swatch.on[b-xe93yqt1qy] { box-shadow: 0 0 0 3px #16133a, 0 0 0 5px var(--accent); transform: scale(1.08); }
.qa-item[b-xe93yqt1qy] {
    display: flex; align-items: center; gap: 12px; width: 100%; padding: 11px 12px; border: 0; border-radius: 12px;
    background: transparent; color: var(--text); font: inherit; font-weight: 500; text-align: left; cursor: pointer; transition: background .2s;
}
.qa-item:hover[b-xe93yqt1qy] { background: var(--surface-2); }
.qa-item span[b-xe93yqt1qy] { width: 22px; text-align: center; }
.qa-item.danger[b-xe93yqt1qy] { color: #fda4af; }

/* ---------- Visore foto ---------- */
.ne-lightbox[b-xe93yqt1qy] {
    position: absolute; inset: 0; z-index: 10; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
    padding: 16px 16px calc(16px + var(--safe-bottom)); background: rgba(4, 3, 12, .94); color: #fff; animation: ne-fade-b-xe93yqt1qy .2s;
}
.ne-lightbox img[b-xe93yqt1qy] { max-width: 100%; max-height: calc(100% - 70px); object-fit: contain; border-radius: 14px; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .9); animation: ne-zoom-b-xe93yqt1qy .35s var(--ease-spring); }
@keyframes ne-zoom-b-xe93yqt1qy { from { transform: scale(.9); opacity: 0; } }
.lb-bar[b-xe93yqt1qy] { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.lb-count[b-xe93yqt1qy] { min-width: 56px; text-align: center; font-weight: 700; font-variant-numeric: tabular-nums; }

@media (max-width: 640px) {
    .ne-backdrop[b-xe93yqt1qy] { padding: 0; align-items: stretch; }
    /* Telefono: editor a schermo intero, pieno (niente pagina che traspare) e senza animazione d'apertura. */
    .ne[b-xe93yqt1qy], .ne.is-default[b-xe93yqt1qy] { width: 100%; height: 100%; border-radius: 0; border: 0; padding-top: var(--safe-top); animation: none; }
    .ne.is-default[b-xe93yqt1qy] { background: linear-gradient(160deg, #28235f, #0e0c28); }
    .ne-backdrop[b-xe93yqt1qy] { background: #07061a; animation: none; }
    .ne-textarea[b-xe93yqt1qy], .ne-md[b-xe93yqt1qy] { min-height: 58vh; }
    .ne-body[b-xe93yqt1qy] { padding: 2px 16px 20px; }
    .ne-title[b-xe93yqt1qy] { font-size: 1.35rem; }
    .ne-tool[b-xe93yqt1qy] { width: 38px; height: 40px; }
}

.ne-shared[b-xe93yqt1qy] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin: 0 16px 6px; padding: 10px 12px; border-radius: 14px;
    background: rgba(56, 189, 248, .14); border: 1px solid rgba(56, 189, 248, .4); font-size: .88rem; }
.ne-shared span[b-xe93yqt1qy] { flex: 1; min-width: 0; }
/* /Components/Pages/Note/NotesPage.razor.rz.scp.css */
/* =========================================================
   Note — bacheca
   ========================================================= */
kbd[b-vrasv8hpdk] {
    font: 600 .7rem var(--font); padding: 2px 7px; border-radius: 7px; flex: none;
    border: 1px solid var(--border-strong); color: var(--text-3); background: rgba(0, 0, 0, .25);
}

/* ---------- Hero: blocchetto di foglietti 3D ---------- */
.hero-pad[b-vrasv8hpdk] { position: relative; width: 160px; height: 104px; perspective: 700px; transform-style: preserve-3d; flex: none; }
.hp[b-vrasv8hpdk] {
    position: absolute; width: 84px; height: 84px; border-radius: 12px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 20px 30px -14px rgba(0, 0, 0, .8);
    animation: hp-in-b-vrasv8hpdk .9s var(--ease-spring) both, hp-float-b-vrasv8hpdk 6s ease-in-out infinite;
}
.hp1[b-vrasv8hpdk] { left: 0; top: 14px; background: linear-gradient(160deg, #fff3a3, #fcd34d); transform: rotate(-11deg) rotateY(20deg); animation-delay: .15s, 0s; }
.hp2[b-vrasv8hpdk] { left: 36px; top: 0; background: linear-gradient(160deg, #fdd5ec, #f9a8d4); transform: rotate(4deg) translateZ(20px); animation-delay: .3s, -2s; }
.hp3[b-vrasv8hpdk] {
    left: 70px; top: 16px; background: linear-gradient(160deg, #c3f6fb, #67e8f9); transform: rotate(12deg) rotateY(-18deg) translateZ(40px);
    animation-delay: .45s, -4s; padding: 18px 12px; display: flex; flex-direction: column; gap: 8px;
}
.hp3 i[b-vrasv8hpdk] { display: block; height: 5px; border-radius: 3px; background: rgba(8, 51, 68, .35); }
.hp3 i:nth-child(2)[b-vrasv8hpdk] { width: 72%; }
.hp3 i:nth-child(3)[b-vrasv8hpdk] { width: 48%; }
@keyframes hp-in-b-vrasv8hpdk { from { opacity: 0; translate: 0 40px; } }
@keyframes hp-float-b-vrasv8hpdk { 50% { translate: 0 -8px; } }

/* ---------- Toolbar ---------- */
.toolbar[b-vrasv8hpdk] { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.n-search[b-vrasv8hpdk] {
    flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 8px; height: 46px; padding: 0 12px 0 14px;
    border-radius: 15px; background: rgba(0, 0, 0, .28); border: 1px solid var(--border); color: var(--text-2);
    transition: border-color .2s, box-shadow .2s;
}
.n-search:focus-within[b-vrasv8hpdk] { border-color: color-mix(in oklab, var(--accent) 70%, white); box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 25%, transparent); }
.n-search input[b-vrasv8hpdk] { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; color: var(--text); font: inherit; font-size: 16px; outline: none; }
.n-search input[b-vrasv8hpdk]::-webkit-search-cancel-button { display: none; }
.n-search-x[b-vrasv8hpdk] { border: 0; background: var(--surface-2); color: var(--text); width: 28px; height: 28px; border-radius: 9px; cursor: pointer; flex: none; }

/* ---------- Filtri ---------- */
.filters[b-vrasv8hpdk] { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; margin: 0 -20px 18px; padding: 2px 20px 4px; align-items: center; }
.filters[b-vrasv8hpdk]::-webkit-scrollbar { display: none; }
.filters > *[b-vrasv8hpdk] { flex: none; }
.f-sep[b-vrasv8hpdk] { width: 1px; height: 22px; background: var(--border-strong); margin: 0 4px; }
.cnt[b-vrasv8hpdk] { font-size: .72rem; opacity: .6; font-variant-numeric: tabular-nums; }
.add-chip[b-vrasv8hpdk] { border-style: dashed; }

/* ---------- Sezioni e griglia masonry ---------- */
.n-section[b-vrasv8hpdk] { display: flex; align-items: center; gap: 8px; margin: 4px 4px 12px; font-family: var(--font); font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); }
.n-grid[b-vrasv8hpdk] { --gap: 16px; display: grid; grid-template-columns: repeat(auto-fill, minmax(228px, 1fr)); grid-auto-rows: 4px; column-gap: var(--gap); align-items: start; margin-bottom: 26px; }
.n-grid.is-list[b-vrasv8hpdk] { grid-template-columns: minmax(0, 1fr); max-width: 760px; margin-inline: auto; }
.n-grid.skel[b-vrasv8hpdk] { grid-auto-rows: auto; row-gap: 16px; }
.n-cell[b-vrasv8hpdk] { min-width: 0; grid-row-end: span 40; }
.n-cell[data-reveal][b-vrasv8hpdk] { transition-duration: .45s, .55s; transition-delay: calc(var(--i, 0) * 32ms); }
@media (max-width: 560px) {
    /* Telefono: una nota per riga, a tutta larghezza (su due colonne ogni nota prendeva mezzo schermo). */
    .n-grid[b-vrasv8hpdk] { --gap: 10px; grid-template-columns: minmax(0, 1fr); }
    .n-grid.is-list[b-vrasv8hpdk] { grid-template-columns: minmax(0, 1fr); }
    .n-grid.skel[b-vrasv8hpdk] { row-gap: 10px; }
}

.empty-card[b-vrasv8hpdk] { padding: 0; }
.trash-bar[b-vrasv8hpdk] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; margin-bottom: 16px; border-radius: 18px; font-size: .88rem; color: var(--text-2); }

/* ---------- Azioni rapide (Sheet) ---------- */
.qa-colors[b-vrasv8hpdk] { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 14px; }
.qa-labels[b-vrasv8hpdk] { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.qa-list[b-vrasv8hpdk] { display: flex; flex-direction: column; gap: 2px; }
.qa-item[b-vrasv8hpdk] {
    display: flex; align-items: center; gap: 12px; width: 100%; padding: 13px 14px; border: 0; border-radius: 14px;
    background: transparent; color: var(--text); font: inherit; font-weight: 500; text-align: left; cursor: pointer; transition: background .2s;
}
.qa-item:hover[b-vrasv8hpdk] { background: var(--surface-2); }
.qa-item span[b-vrasv8hpdk] { width: 24px; text-align: center; font-size: 1.1rem; }
.qa-item.danger[b-vrasv8hpdk] { color: #fda4af; }
.swatch[b-vrasv8hpdk] {
    width: 36px; height: 36px; border-radius: 50%; cursor: pointer; padding: 0;
    background: linear-gradient(135deg, var(--sw-a), var(--sw-b)); border: 2px solid rgba(255, 255, 255, .22);
    transition: transform .25s var(--ease-spring), box-shadow .2s;
}
.swatch:hover[b-vrasv8hpdk] { transform: scale(1.1); }
.swatch.on[b-vrasv8hpdk] { box-shadow: 0 0 0 3px var(--bg-1), 0 0 0 5px var(--accent); transform: scale(1.08); }

/* ---------- Gestione etichette ---------- */
.lbl-new[b-vrasv8hpdk] { display: flex; gap: 8px; }
.lbl-list[b-vrasv8hpdk] { display: flex; flex-direction: column; gap: 8px; margin-top: 16px; }
.lbl-row[b-vrasv8hpdk] { display: flex; align-items: center; gap: 10px; }
.lbl-row .input[b-vrasv8hpdk] { flex: 1; height: 42px; }

@media (max-width: 700px) {
    .toolbar[b-vrasv8hpdk] { flex-wrap: wrap; }
    .n-search[b-vrasv8hpdk] { flex-basis: 100%; }
}

/* Azioni in alto: solo l'icona, senza riquadro. */
.n-top-ico[b-vrasv8hpdk] { background: none; border: 0; box-shadow: none; font-size: 1.45rem; width: 44px; height: 44px; }
.n-top-ico:hover[b-vrasv8hpdk] { background: var(--surface-1); }

.qa-shared[b-vrasv8hpdk] { margin: 0 0 12px; padding: 10px 12px; border-radius: 14px; background: rgba(56, 189, 248, .12); border: 1px solid rgba(56, 189, 248, .35); font-size: .9rem; }

/* Il foglio Condividi si apre anche dall'editor (z-index 120): deve stare sopra. */
.n-over[b-vrasv8hpdk]  .sheet-backdrop { z-index: 130; }
/* /Components/Pages/Notifiche/NotifichePage.razor.rz.scp.css */
/* Area Notifiche: interruttori per app e dispositivi. Niente animazioni. */
.nf[b-asxyivv53j] { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.nf-h[b-asxyivv53j] { font-size: 1rem; margin: 14px 2px 0; display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.nf-note[b-asxyivv53j] { margin: 0 4px; line-height: 1.45; }
.nf-list[b-asxyivv53j], .nf-devices[b-asxyivv53j] { padding: 4px 0; margin: 0; list-style: none; display: flex; flex-direction: column; }
.nf-row[b-asxyivv53j], .nf-devices li[b-asxyivv53j] { display: flex; align-items: center; gap: 12px; padding: 12px 16px; min-width: 0; }
.nf-row[b-asxyivv53j] { cursor: pointer; }
.nf-row + .nf-row[b-asxyivv53j], .nf-devices li + li[b-asxyivv53j] { border-top: 1px solid var(--border); }
.nf-ico[b-asxyivv53j] { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 12px; font-size: 1.25rem; background: color-mix(in oklab, var(--accent) 16%, transparent); }
.nf-txt[b-asxyivv53j] { display: flex; flex-direction: column; min-width: 0; }
.nf-txt b[b-asxyivv53j] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nf-txt small[b-asxyivv53j] { line-height: 1.35; }
.nf-empty[b-asxyivv53j] { padding: 16px; }
.nf-actions[b-asxyivv53j] { display: flex; justify-content: flex-end; }
/* /Components/Pages/Notizie/NotiziePage.razor.rz.scp.css */
.nw[b-6gikvzzzt5] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; margin: 0 auto; width: 100%; }

/* ---- sezioni: una riga scorrevole di schede testuali */
.nw-tabs[b-6gikvzzzt5] { display: flex; gap: 6px; padding-bottom: 2px; }
.nw-tab[b-6gikvzzzt5] {
    flex: 0 0 auto; height: 38px; padding: 0 14px; border-radius: 999px; white-space: nowrap; cursor: pointer;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-2); font: inherit; font-size: .9rem; font-weight: 600;
}
.nw-tab:hover[b-6gikvzzzt5] { color: var(--text); border-color: var(--border-strong); }
.nw-tab.active[b-6gikvzzzt5] { background: var(--text); color: var(--bg-1, #0b0a1f); border-color: transparent; }
.nw-tab.follow:not(.active)[b-6gikvzzzt5] { color: #fbbf24; }

.nw-search[b-6gikvzzzt5] { display: flex; gap: 8px; }
.nw-search .input[b-6gikvzzzt5] { flex: 1; min-width: 0; }

.nw-head[b-6gikvzzzt5] { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nw-head-text[b-6gikvzzzt5] { display: flex; flex-direction: column; min-width: 0; }
.nw-head-text strong[b-6gikvzzzt5] { font-family: var(--font-display); font-size: 1.2rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nw-head-text span[b-6gikvzzzt5] { font-size: .8rem; color: var(--text-3); }

.nw-topics[b-6gikvzzzt5] { display: flex; gap: 6px; padding-bottom: 2px; }
.nw-topics .chip[b-6gikvzzzt5] { flex: 0 0 auto; height: 32px; padding: 0 12px; }
.nw-sources-btn[b-6gikvzzzt5] { margin-left: 4px; }

/* ---- notizia in apertura: foto grande con il titolo sopra */
.nw-hero[b-6gikvzzzt5] { position: relative; border-radius: var(--radius-xl); overflow: hidden; background: #111827; box-shadow: var(--shadow-2); }
.nw-hero-link[b-6gikvzzzt5] { display: block; position: relative; color: #fff; text-decoration: none; aspect-ratio: 16 / 10; }
.nw-hero img[b-6gikvzzzt5] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nw-hero-link[b-6gikvzzzt5]::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.88) 100%); }
.nw-hero-text[b-6gikvzzzt5] { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; }
.nw-hero-text h2[b-6gikvzzzt5] { margin: 0; font-family: var(--font-display); font-size: clamp(1.25rem, 4.6vw, 1.7rem); line-height: 1.22; font-weight: 650; text-wrap: balance; text-shadow: 0 2px 12px rgba(0,0,0,.4); }
.nw-hero-meta[b-6gikvzzzt5] { display: flex; align-items: center; gap: 8px; font-size: .8rem; font-weight: 600; opacity: .92; }
.nw-hero.noimg .nw-hero-link[b-6gikvzzzt5] { aspect-ratio: auto; min-height: 180px; background: linear-gradient(160deg, #e11d48, #7c2d12); }
.nw-hero.nw-skel[b-6gikvzzzt5] { aspect-ratio: 16 / 10; }

/* ---- elenco */
.nw-list[b-6gikvzzzt5] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.nw-item[b-6gikvzzzt5] { position: relative; border-bottom: 1px solid var(--border); }
.nw-item:last-child[b-6gikvzzzt5] { border-bottom: 0; }
.nw-link[b-6gikvzzzt5] { display: flex; gap: 14px; align-items: flex-start; padding: 14px 40px 14px 2px; color: inherit; text-decoration: none; border-radius: 14px; }
.nw-link:hover h3[b-6gikvzzzt5] { color: #fff; text-decoration: underline; text-decoration-color: color-mix(in oklab, var(--accent) 70%, transparent); text-underline-offset: 3px; }
.nw-link:visited h3[b-6gikvzzzt5] { color: var(--text-2); }
.nw-body[b-6gikvzzzt5] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.nw-meta[b-6gikvzzzt5] { display: flex; align-items: center; gap: 6px; font-size: .76rem; color: var(--text-3); min-width: 0; white-space: nowrap; }
.nw-meta b[b-6gikvzzzt5] { color: var(--text-2); font-weight: 650; overflow: hidden; text-overflow: ellipsis; }
.nw-body h3[b-6gikvzzzt5] {
    margin: 0; font-size: 1rem; line-height: 1.38; font-weight: 600; color: var(--text);
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.nw-thumb[hidden][b-6gikvzzzt5], .nw-hero img[hidden][b-6gikvzzzt5] { display: none; }
.nw-thumb[b-6gikvzzzt5] { flex: 0 0 auto; width: 92px; height: 92px; border-radius: 12px; object-fit: cover; background: var(--surface); }

.nw-badge[b-6gikvzzzt5] {
    flex: 0 0 auto; width: 18px; height: 18px; border-radius: 5px; display: inline-grid; place-items: center;
    background: var(--c); color: #fff; font-size: .62rem; font-weight: 800; line-height: 1;
}

/* Segnalibro «Leggi dopo» */
.nw-save[b-6gikvzzzt5] {
    position: absolute; right: 0; top: 10px; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center;
    background: none; border: 0; color: var(--text-3); cursor: pointer;
}
.nw-save:hover[b-6gikvzzzt5] { color: var(--text); background: var(--surface); }
.nw-save.on[b-6gikvzzzt5] { color: #fbbf24; }
.nw-save.on-dark[b-6gikvzzzt5] { top: 12px; right: 12px; z-index: 2; color: #fff; background: rgba(0,0,0,.35); }
.nw-save.on-dark.on[b-6gikvzzzt5] { color: #fbbf24; }

.nw-skel-row[b-6gikvzzzt5] { padding: 16px 2px; border-bottom: 1px solid var(--border); }

.nw-foot[b-6gikvzzzt5] { background: none; border: 0; color: var(--text-3); font-size: .74rem; text-align: center; padding: 6px 0 12px; cursor: pointer; font: inherit; font-size: .74rem; }
.nw-foot:hover[b-6gikvzzzt5] { color: var(--text-2); }
.nw-center[b-6gikvzzzt5] { display: flex; justify-content: center; }

/* ---- benvenuto di «Vicino a te» */
.nw-welcome[b-6gikvzzzt5] {
    text-align: center; padding: 34px 22px; border-radius: var(--radius-xl); color: #fff;
    background: linear-gradient(160deg, #e11d48 0%, #9f1239 50%, #4c0519 100%); box-shadow: var(--shadow-2);
}
.nw-welcome-ico[b-6gikvzzzt5] { font-size: 3.6rem; line-height: 1; }
.nw-welcome h2[b-6gikvzzzt5] { font-family: var(--font-display); margin: 12px 0 4px; font-size: 1.5rem; }
.nw-welcome p[b-6gikvzzzt5] { color: rgba(255,255,255,.85); margin: 0; }
.nw-welcome-actions[b-6gikvzzzt5] { display: flex; flex-direction: column; gap: 10px; max-width: 320px; margin: 20px auto 0; }
.nw-btn-light[b-6gikvzzzt5] { background: #fff; color: #9f1239; font-weight: 700; border: 0; }

/* ---- fogli */
.nw-sheet[b-6gikvzzzt5] { display: flex; flex-direction: column; gap: 12px; }
.nw-results[b-6gikvzzzt5] { margin: 0; }
.nw-results .list-item[b-6gikvzzzt5] { width: 100%; text-align: left; background: none; border: 0; color: inherit; cursor: pointer; }
.nw-results .list-item > span[b-6gikvzzzt5] { display: flex; flex-direction: column; min-width: 0; }
.nw-src-list[b-6gikvzzzt5] { list-style: none; margin: 0 0 12px; padding: 0; }
.nw-src-list li[b-6gikvzzzt5] { display: flex; align-items: center; gap: 10px; padding: 10px 2px; border-bottom: 1px solid var(--border); }
.nw-src-list .nw-badge[b-6gikvzzzt5] { width: 24px; height: 24px; border-radius: 7px; font-size: .74rem; }

@media (min-width: 720px) {
    .nw-thumb[b-6gikvzzzt5] { width: 128px; height: 88px; }
    .nw-body h3[b-6gikvzzzt5] { font-size: 1.05rem; }
}
@media (max-width: 380px) {
    .nw-thumb[b-6gikvzzzt5] { width: 76px; height: 76px; }
    .nw-body h3[b-6gikvzzzt5] { font-size: .95rem; }
}

/* Segnalibro in alto, accanto a Cerca: apre «Leggi dopo» */
.nw-saved-btn[b-6gikvzzzt5] { position: relative; }
.nw-saved-btn svg[b-6gikvzzzt5] { width: 20px; height: 20px; }
.nw-saved-btn.on[b-6gikvzzzt5] { color: #fbbf24; }
.nw-saved-count[b-6gikvzzzt5] {
    position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
    display: grid; place-items: center; background: #fbbf24; color: #1f1300; font-size: .66rem; font-weight: 800; line-height: 1;
}
/* /Components/Pages/Novita.razor.rz.scp.css */
.nv[b-t5oc31qen4] { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.nv-rel[b-t5oc31qen4] { padding: 18px; }
.nv-rel.latest[b-t5oc31qen4] { border-color: color-mix(in oklab, var(--accent) 50%, transparent); }
.nv-head[b-t5oc31qen4] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nv-ver[b-t5oc31qen4] { font-family: var(--font-display); font-weight: 800; font-size: 1.05rem; padding: 2px 10px; border-radius: 999px; background: color-mix(in oklab, var(--accent) 22%, transparent); }
.nv-title[b-t5oc31qen4] { margin: 10px 0 8px; font-size: 1.2rem; }
.nv-list[b-t5oc31qen4] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.nv-list li[b-t5oc31qen4] { display: flex; gap: 12px; align-items: flex-start; line-height: 1.5; color: var(--text-2); }
.nv-ico[b-t5oc31qen4] { width: 32px; height: 32px; flex: none; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.06); font-size: 1.05rem; }
/* /Components/Pages/Parcheggio/ParcheggioDettaglio.razor.rz.scp.css */
.pdt[b-48evw1ela8] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; width: 100%; margin: 0 auto; }
.pdt-del:hover[b-48evw1ela8] { color: var(--danger); }
.pdt-mapbox[b-48evw1ela8] { border-radius: 26px; overflow: hidden; isolation: isolate; border: 1px solid var(--border); box-shadow: var(--shadow-2); }
.pdt-map[b-48evw1ela8] { height: clamp(220px, 40vh, 360px); width: 100%; background: #dfe6ea; }
.pdt-head[b-48evw1ela8] { display: flex; flex-direction: column; gap: 3px; padding: 0 4px; }
.pdt-head h1[b-48evw1ela8] { font-size: clamp(1.4rem, 6vw, 1.9rem); overflow-wrap: anywhere; }
.pdt-head small[b-48evw1ela8] { color: var(--text-3); }
.pdt-grid[b-48evw1ela8] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pdt-grid div[b-48evw1ela8] { display: flex; flex-direction: column; gap: 3px; padding: 11px 12px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); min-width: 0; }
.pdt-grid span[b-48evw1ela8] { font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.pdt-grid b[b-48evw1ela8] { font-size: .95rem; line-height: 1.25; overflow-wrap: anywhere; }
.pdt-card[b-48evw1ela8] { padding: 14px 16px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); }
.pdt-card h2[b-48evw1ela8] { margin: 0 0 6px; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.pdt-card p[b-48evw1ela8] { margin: 0; white-space: pre-wrap; color: var(--text-2); }
.pdt-photo[b-48evw1ela8] { display: block; padding: 0; border: 1px solid var(--border); border-radius: 22px; overflow: hidden; cursor: zoom-in; background: var(--surface); }
.pdt-photo img[b-48evw1ela8] { display: block; width: 100%; max-height: 360px; object-fit: cover; }
.pdt-actions[b-48evw1ela8] { display: flex; gap: 8px; }
.pdt-go[b-48evw1ela8] { flex: 1; justify-content: center; }
@media (max-width: 420px) { .pdt-grid[b-48evw1ela8] { grid-template-columns: 1fr 1fr; } .pdt-grid div:last-child[b-48evw1ela8] { grid-column: span 2; } }
/* /Components/Pages/Parcheggio/ParcheggioPage.razor.rz.scp.css */
.pk[b-qry5s44hh0] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; width: 100%; margin: 0 auto; }

/* ---------------------------------------------------------------- nessun parcheggio: il pulsante grande */
.pk-start[b-qry5s44hh0] { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 18px 0 6px; text-align: center; }
.pk-park[b-qry5s44hh0] {
    position: relative; width: min(264px, 74vw); aspect-ratio: 1; border-radius: 50%; border: 0; cursor: pointer;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px;
    color: #fff; font: inherit; isolation: isolate;
    background: radial-gradient(120% 120% at 30% 15%, #60A5FA, #2563EB 55%, #1E3A8A);
    box-shadow: 0 26px 60px -22px #2563EB, inset 0 2px 0 rgba(255,255,255,.25), inset 0 -10px 30px rgba(15,23,42,.35);
}
.pk-park:active[b-qry5s44hh0] { transform: scale(.98); }
.pk-park:disabled[b-qry5s44hh0] { cursor: progress; }
.pk-park-p[b-qry5s44hh0] {
    display: grid; place-items: center; width: 92px; height: 92px; border-radius: 26px; background: #fff; color: #1D4ED8;
    font: 900 3.6rem/1 var(--font-display); box-shadow: 0 10px 24px -10px rgba(15,23,42,.6);
}
.pk-park b[b-qry5s44hh0] { font-size: 1.12rem; font-weight: 800; letter-spacing: -.01em; }
.pk-park-wait[b-qry5s44hh0] { display: none; }
.pk[data-locating] .pk-park-on[b-qry5s44hh0] { display: none; }
.pk[data-locating] .pk-park-wait[b-qry5s44hh0] { display: block; }
.pk-pulse[b-qry5s44hh0] { position: absolute; inset: -10px; border-radius: 50%; border: 3px solid rgba(56,189,248,.7); opacity: 0; z-index: -1; pointer-events: none; }
.pk[data-locating] .pk-pulse[b-qry5s44hh0] { animation: pk-pulse-b-qry5s44hh0 1.2s ease-out infinite; }
@keyframes pk-pulse-b-qry5s44hh0 { from { transform: scale(.94); opacity: .9; } to { transform: scale(1.12); opacity: 0; } }
.pk-hint[b-qry5s44hh0] { margin: 0; max-width: 420px; color: var(--text-3); font-size: .92rem; }
.pk-err[b-qry5s44hh0] { margin: 0; max-width: 440px; padding: 10px 14px; border-radius: 16px; color: #fecaca; background: rgba(251,113,133,.12); border: 1px solid rgba(251,113,133,.35); }

.pk-sec[b-qry5s44hh0] { display: flex; align-items: baseline; justify-content: space-between; margin-top: 8px; }
.pk-sec h3[b-qry5s44hh0] { font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.pk-sec a[b-qry5s44hh0] { color: #7dd3fc; text-decoration: none; font-weight: 700; font-size: .9rem; }
.pk-list[b-qry5s44hh0] { display: flex; flex-direction: column; gap: 8px; }

/* ---------------------------------------------------------------- auto parcheggiata */
.pk-car[b-qry5s44hh0] {
    display: flex; flex-direction: column; gap: 12px; padding: 10px 10px 14px; border-radius: 30px;
    background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-2);
}
.pk-mapbox[b-qry5s44hh0] { position: relative; border-radius: 22px; overflow: hidden; isolation: isolate; }
.pk-map[b-qry5s44hh0] { height: clamp(250px, 46vh, 420px); width: 100%; background: #dfe6ea; }
.pk-center[b-qry5s44hh0] {
    position: absolute; right: 10px; bottom: 26px; z-index: 500; width: 42px; height: 42px; border-radius: 50%; cursor: pointer;
    display: grid; place-items: center; border: 1px solid #ddd; background: #fff; color: #1D4ED8; box-shadow: 0 6px 16px -6px rgba(0,0,0,.45);
}
.pk-where[b-qry5s44hh0] { display: flex; align-items: center; gap: 12px; padding: 2px 6px; min-width: 0; }
.pk-where-p[b-qry5s44hh0] {
    flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: #fff;
    font: 900 1.4rem/1 var(--font-display); background: linear-gradient(140deg, #2563EB, #38BDF8);
}
.pk-where-txt[b-qry5s44hh0] { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pk-where-txt h2[b-qry5s44hh0] { font-size: 1.2rem; overflow-wrap: anywhere; }
.pk-where-txt small[b-qry5s44hh0] { color: var(--text-3); }
.pk-stats[b-qry5s44hh0] { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 4px; }
.pk-stats div[b-qry5s44hh0] { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid var(--border); min-width: 0; }
.pk-stats span[b-qry5s44hh0] { font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.pk-stats b[b-qry5s44hh0] { font-size: 1.02rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.pk-go-row[b-qry5s44hh0] { display: flex; gap: 8px; padding: 0 4px; }
.pk-go[b-qry5s44hh0] { flex: 1; justify-content: center; }
.pk-drag[b-qry5s44hh0] { margin: 0; padding: 0 6px; color: var(--text-3); font-size: .8rem; }

/* ---------------------------------------------------------------- timer */
.pk-timer[b-qry5s44hh0] {
    display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 24px;
    background: radial-gradient(90% 140% at 0% 0%, rgba(56,189,248,.18), transparent 70%), var(--surface); border: 1px solid rgba(56,189,248,.35);
}
.pk-timer[data-soon="1"][b-qry5s44hh0] { border-color: rgba(251,191,36,.6); background: radial-gradient(90% 140% at 0% 0%, rgba(251,191,36,.18), transparent 70%), var(--surface); }
.pk-timer[data-over="1"][b-qry5s44hh0] { border-color: rgba(251,113,133,.6); background: radial-gradient(90% 140% at 0% 0%, rgba(251,113,133,.2), transparent 70%), var(--surface); }
.pk-timer-top[b-qry5s44hh0] { display: flex; align-items: center; justify-content: space-between; color: var(--text-2); font-weight: 700; font-size: .9rem; }
.pk-x[b-qry5s44hh0] { border: 0; background: none; color: var(--text-3); cursor: pointer; padding: 4px 8px; border-radius: 8px; font: inherit; }
.pk-x:hover[b-qry5s44hh0] { color: var(--danger); }
.pk-left[b-qry5s44hh0] { font-size: clamp(2.2rem, 11vw, 3rem); line-height: 1.05; }
.pk-timer[data-over="1"] .pk-left[b-qry5s44hh0] { font-size: clamp(1.5rem, 7vw, 2rem); color: #fda4af; }
.pk-timer small[b-qry5s44hh0] { color: var(--text-3); }
.pk-timer-btns[b-qry5s44hh0] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.pk-add-timer[b-qry5s44hh0] {
    display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 24px; cursor: pointer; text-align: left;
    background: var(--surface); border: 1px dashed rgba(56,189,248,.45); color: inherit; font: inherit;
}
.pk-add-timer:hover[b-qry5s44hh0] { border-style: solid; }
.pk-add-ico[b-qry5s44hh0] { font-size: 1.5rem; }
.pk-add-txt[b-qry5s44hh0] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pk-add-txt small[b-qry5s44hh0] { color: var(--text-3); }
.pk-add-timer i[b-qry5s44hh0] { font-style: normal; color: var(--text-3); font-size: 1.3rem; }

/* ---------------------------------------------------------------- foto e nota */
.pk-extras[b-qry5s44hh0] { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pk-tile[b-qry5s44hh0] {
    position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; min-height: 118px; min-width: 0;
    padding: 12px 14px; border-radius: 22px; cursor: pointer; text-align: left; overflow: hidden;
    background: var(--surface); border: 1px solid var(--border); color: inherit; font: inherit;
}
.pk-tile:hover[b-qry5s44hh0] { border-color: rgba(56,189,248,.4); }
.pk-tile-ico[b-qry5s44hh0] { font-size: 1.5rem; margin-bottom: auto; }
.pk-tile b[b-qry5s44hh0] { overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pk-tile small[b-qry5s44hh0] { color: var(--text-3); font-size: .78rem; }
.pk-tile.has b[b-qry5s44hh0] { font-size: 1.05rem; }
.pk-tile .spin[b-qry5s44hh0] { margin-bottom: auto; }
.pk-photo[b-qry5s44hh0] { padding: 0; }
.pk-photo img[b-qry5s44hh0] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pk-photo-tag[b-qry5s44hh0] { position: relative; margin: 8px; align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: rgba(0,0,0,.55); color: #fff; font-size: .78rem; font-weight: 700; }

.pk-end[b-qry5s44hh0] {
    display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px; border-radius: 22px; border: 0; cursor: pointer;
    color: #fff; font: inherit; font-weight: 800; font-size: 1.06rem;
    background: linear-gradient(140deg, #059669, #34D399); box-shadow: 0 14px 30px -16px #10B981;
}
.pk-end:disabled[b-qry5s44hh0] { opacity: .6; cursor: progress; }
.pk-end span[b-qry5s44hh0] { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(255,255,255,.25); }
/* /Components/Pages/Parcheggio/ParkNoteSheet.razor.rz.scp.css */
.pn[b-irxkvqmm65] { display: flex; flex-direction: column; gap: 12px; }
.pn textarea[b-irxkvqmm65] { font-size: 1.05rem; resize: vertical; }
.pn-chips[b-irxkvqmm65] { display: flex; flex-wrap: wrap; gap: 6px; }
/* /Components/Pages/Parcheggio/ParkPhotoView.razor.rz.scp.css */
.pv[b-tjmjgw12no] {
    position: fixed; inset: 0; z-index: 2000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
    padding: calc(56px + var(--safe-top, 0px)) 16px calc(20px + var(--safe-bottom, 0px)); background: rgba(3, 5, 12, .94);
}
.pv img[b-tjmjgw12no] { max-width: 100%; max-height: 100%; min-height: 0; flex: 1 1 auto; object-fit: contain; border-radius: 16px; }
.pv-x[b-tjmjgw12no] {
    position: absolute; top: calc(12px + var(--safe-top, 0px)); right: 12px; width: 42px; height: 42px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.1); color: #fff; font-size: 1.05rem; cursor: pointer;
}
.pv-bar[b-tjmjgw12no] { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; flex: none; }
/* /Components/Pages/Parcheggio/ParkRow.razor.rz.scp.css */
.pr[b-6v5uur50t0] {
    display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 20px; min-width: 0;
    background: var(--surface); border: 1px solid var(--border); color: inherit; text-decoration: none;
}
.pr:hover[b-6v5uur50t0] { border-color: rgba(56,189,248,.4); }
.pr-pic[b-6v5uur50t0] { width: 48px; height: 48px; flex: none; border-radius: 14px; overflow: hidden; background: rgba(255,255,255,.06); }
.pr-pic img[b-6v5uur50t0] { width: 100%; height: 100%; object-fit: cover; display: block; }
.pr-p[b-6v5uur50t0] {
    display: grid; place-items: center; color: #fff; font: 900 1.3rem/1 var(--font-display);
    background: linear-gradient(140deg, rgba(37,99,235,.9), rgba(56,189,248,.75));
}
.pr-txt[b-6v5uur50t0] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pr-txt b[b-6v5uur50t0] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-txt small[b-6v5uur50t0] { color: var(--text-3); font-size: .8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-note[b-6v5uur50t0] { color: var(--text-2) !important; }
.pr-go[b-6v5uur50t0] { font-style: normal; color: var(--text-3); font-size: 1.3rem; }
/* /Components/Pages/Parcheggio/ParkTimerSheet.razor.rz.scp.css */
.pt[b-ytnlbom1my] { display: flex; flex-direction: column; gap: 16px; }
.pt-seg[b-ytnlbom1my] { align-self: stretch; display: grid; grid-template-columns: 1fr 1fr; }
.pt-grid[b-ytnlbom1my] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.pt-dur[b-ytnlbom1my] {
    padding: 14px 4px; border-radius: 16px; border: 1px solid var(--border); background: var(--surface); color: inherit;
    font: inherit; font-weight: 800; cursor: pointer; font-variant-numeric: tabular-nums;
}
.pt-dur.active[b-ytnlbom1my] { border-color: transparent; color: #fff; background: linear-gradient(140deg, #2563EB, #38BDF8); box-shadow: 0 10px 24px -12px #2563EB; }
.pt-time[b-ytnlbom1my] { font-size: 1.6rem; text-align: center; padding: 14px; font-variant-numeric: tabular-nums; }
.pt-preview[b-ytnlbom1my] {
    display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 14px; border-radius: 20px;
    background: radial-gradient(90% 140% at 50% 0%, rgba(56,189,248,.16), transparent 70%), var(--surface); border: 1px solid var(--border);
}
.pt-preview span[b-ytnlbom1my] { color: var(--text-3); font-size: .8rem; font-weight: 700; }
.pt-preview b[b-ytnlbom1my] { font-size: 2.2rem; line-height: 1.1; }
.pt-preview small[b-ytnlbom1my] { color: var(--text-2); }
.pt-warn[b-ytnlbom1my] { display: flex; flex-wrap: wrap; gap: 6px; }
.pt-link[b-ytnlbom1my] { color: var(--text-3); font-size: .82rem; text-decoration: none; }
.pt-link:hover[b-ytnlbom1my] { color: var(--text-2); }
@media (max-width: 380px) { .pt-grid[b-ytnlbom1my] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* /Components/Pages/Parcheggio/StoricoPage.razor.rz.scp.css */
.ps[b-bebwwpl1nm] { display: flex; flex-direction: column; gap: 8px; max-width: 760px; width: 100%; margin: 0 auto; }
.ps-count[b-bebwwpl1nm] { margin: 0; color: var(--text-3); font-size: .88rem; }
.ps-day[b-bebwwpl1nm] { margin: 10px 0 2px; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.ps-list[b-bebwwpl1nm] { display: flex; flex-direction: column; gap: 8px; }
.ps-cta[b-bebwwpl1nm] { align-self: center; }
/* /Components/Pages/Percorsi/PercorsoPage.razor.rz.scp.css */
.tkd[b-l0683b09am] { display: flex; flex-direction: column; gap: 14px; max-width: 860px; width: 100%; margin: 0 auto; }
.tkd-del:hover[b-l0683b09am] { color: var(--danger); }

.tkd-head[b-l0683b09am] { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 0 4px; }
.tkd-head h1[b-l0683b09am] { margin: 0; font-family: var(--font-display); font-size: clamp(1.5rem, 6vw, 2rem); line-height: 1.15; overflow-wrap: anywhere; }
.tkd-head p[b-l0683b09am] { margin: 0; color: var(--text-3); font-size: .88rem; }
.tkd-act[b-l0683b09am] {
    display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; border: 0; cursor: pointer;
    font: inherit; font-size: .8rem; font-weight: 700; color: #fff;
    background: linear-gradient(135deg, var(--tk-a), var(--tk-b)); box-shadow: 0 8px 20px -10px var(--tk-a);
}

.tkd-mapbox[b-l0683b09am] {
    position: relative; height: clamp(260px, 46vh, 520px); border-radius: var(--radius-l); overflow: hidden; isolation: isolate;
    border: 1px solid var(--border); box-shadow: var(--shadow-2); background: #dfe6ea;
}
.tkd-map[b-l0683b09am] { position: absolute; inset: 0; }
.tkd-legend[b-l0683b09am] {
    position: absolute; z-index: 500; left: 10px; bottom: 22px; display: flex; align-items: center; gap: 8px;
    padding: 6px 10px; border-radius: 999px; background: rgba(11,10,31,.82); color: #fff; font-size: .74rem; font-weight: 700;
}
.tkd-legend[hidden][b-l0683b09am] { display: none; }
.tkd-legend i[b-l0683b09am] { width: 72px; height: 6px; border-radius: 3px; background: linear-gradient(90deg, #3B82F6, #06B6D4, #10B981, #84CC16, #EAB308, #F97316, #EF4444); }

.tkd-stats[b-l0683b09am] {
    display: flex; flex-direction: column; gap: 14px; padding: 18px 16px; border-radius: var(--radius-xl);
    background:
        radial-gradient(90% 70% at 50% 0%, color-mix(in oklab, var(--tk-a) 22%, transparent), transparent 70%),
        var(--surface);
    border: 1px solid var(--border); box-shadow: var(--shadow-2);
}
.tkd-main[b-l0683b09am] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; text-align: center; }
.tkd-main div[b-l0683b09am] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.tkd-main b[b-l0683b09am] { font-family: var(--font-display); font-size: clamp(1.6rem, 8vw, 2.4rem); font-weight: 700; line-height: 1.05; letter-spacing: -.02em; }
.tkd-main span[b-l0683b09am], .tkd-grid span[b-l0683b09am] { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.tkd-grid[b-l0683b09am] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 640px) { .tkd-grid[b-l0683b09am] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.tkd-grid div[b-l0683b09am] {
    display: flex; flex-direction: column; gap: 3px; padding: 10px 12px; border-radius: 16px; min-width: 0;
    background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06);
}
.tkd-grid b[b-l0683b09am] { font-size: 1.05rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.tkd-card[b-l0683b09am] { padding: 14px 16px; border-radius: var(--radius-l); background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-1); }
.tkd-card h2[b-l0683b09am] { margin: 0 0 10px; font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.tkd-card h2 small[b-l0683b09am] { font-weight: 600; text-transform: none; letter-spacing: 0; margin-left: 4px; }
.tkd-chart[b-l0683b09am] { position: relative; height: 180px; }
.tkd-notes p[b-l0683b09am] { margin: 0; white-space: pre-wrap; color: var(--text-2); }

.tkd-splits[b-l0683b09am] { display: flex; flex-direction: column; gap: 4px; }
.tkd-split[b-l0683b09am] { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr) 5.4rem 4.4rem; align-items: center; gap: 10px; padding: 6px 0; font-size: .92rem; }
.tkd-split + .tkd-split[b-l0683b09am] { border-top: 1px solid rgba(255,255,255,.05); }
.tkd-split-n[b-l0683b09am] { color: var(--text-3); font-weight: 700; }
.tkd-split-bar[b-l0683b09am] { height: 8px; border-radius: 4px; background: rgba(255,255,255,.05); overflow: hidden; }
.tkd-split-bar i[b-l0683b09am] { display: block; height: 100%; width: var(--w); border-radius: 4px; background: linear-gradient(90deg, color-mix(in oklab, var(--tk-a) 55%, transparent), var(--tk-a)); }
.tkd-split.best .tkd-split-bar i[b-l0683b09am] { background: linear-gradient(90deg, var(--tk-a), var(--tk-b)); }
.tkd-split-v[b-l0683b09am] { font-weight: 700; text-align: right; white-space: nowrap; }
.tkd-split-t[b-l0683b09am] { color: var(--text-2); text-align: right; }
.tkd-split.best .tkd-split-v[b-l0683b09am]::after { content: " ⚡"; }

.tkd-acts[b-l0683b09am] { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 8px; }
.tkd-pick[b-l0683b09am] {
    display: flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 8px; border-radius: 14px; cursor: pointer;
    border: 1px solid var(--border); background: var(--surface); color: var(--text-2); font: inherit; font-weight: 700; font-size: .88rem;
}
.tkd-pick.on[b-l0683b09am] { color: #fff; border-color: transparent; background: linear-gradient(140deg, var(--a), var(--b)); }
/* /Components/Pages/Percorsi/RegistraPage.razor.rz.scp.css */
.tk[b-0osrjg8dy9] { --tk-a: #10B981; --tk-b: #0EA5E9; position: relative; display: flex; flex-direction: column; max-width: 760px; width: 100%; margin: 0 auto; }

/* ---- le tre schermate: le sceglie percorsi.js con data-state */
.tk-idle[b-0osrjg8dy9], .tk-live[b-0osrjg8dy9], .tk-done[b-0osrjg8dy9] { display: flex; flex-direction: column; gap: 14px; }
.tk-live[b-0osrjg8dy9], .tk-done[b-0osrjg8dy9] { display: none; }
.tk[data-state="rec"] .tk-idle[b-0osrjg8dy9], .tk[data-state="paused"] .tk-idle[b-0osrjg8dy9], .tk[data-state="done"] .tk-idle[b-0osrjg8dy9] { display: none; }
.tk[data-state="rec"] .tk-live[b-0osrjg8dy9], .tk[data-state="paused"] .tk-live[b-0osrjg8dy9] { display: flex; }
.tk[data-state="done"] .tk-done[b-0osrjg8dy9] { display: flex; }

/* ---- pronto */
.tk-hero[b-0osrjg8dy9] {
    position: relative; overflow: hidden; isolation: isolate; border-radius: var(--radius-xl); padding: 16px 16px 20px;
    display: flex; flex-direction: column; align-items: center; gap: 18px;
    background:
        radial-gradient(120% 70% at 50% 108%, color-mix(in oklab, var(--tk-a) 34%, transparent), transparent 70%),
        radial-gradient(70% 50% at 100% 0%, color-mix(in oklab, var(--tk-b) 22%, transparent), transparent 70%),
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
    border: 1px solid var(--border); box-shadow: var(--shadow-2);
}

.tk-gps[b-0osrjg8dy9] {
    align-self: stretch; display: flex; align-items: center; justify-content: center; gap: 8px;
    font-size: .82rem; font-weight: 600; color: var(--text-2);
}
.tk-gps i[b-0osrjg8dy9] { width: 9px; height: 9px; border-radius: 50%; background: var(--text-3); box-shadow: 0 0 0 4px rgba(255,255,255,.06); }
.tk-gps[data-q="good"] i[b-0osrjg8dy9] { background: #22c55e; box-shadow: 0 0 0 4px rgba(34,197,94,.2); }
.tk-gps[data-q="ok"] i[b-0osrjg8dy9] { background: #eab308; box-shadow: 0 0 0 4px rgba(234,179,8,.2); }
.tk-gps[data-q="bad"] i[b-0osrjg8dy9], .tk-gps[data-q="weak"] i[b-0osrjg8dy9] { background: #f97316; box-shadow: 0 0 0 4px rgba(249,115,22,.2); }
.tk-gps[data-q="denied"][b-0osrjg8dy9] { color: var(--danger); }
.tk-gps[data-q="denied"] i[b-0osrjg8dy9] { background: var(--danger); }

.tk-acts[b-0osrjg8dy9] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; width: 100%; }
.tk-act[b-0osrjg8dy9] {
    display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 2px 10px; min-width: 0;
    border-radius: 18px; border: 1px solid var(--border); background: var(--surface); color: var(--text-2);
    font: inherit; cursor: pointer; transition: background .15s, border-color .15s, transform .1s;
}
.tk-act:active[b-0osrjg8dy9] { transform: scale(.95); }
.tk-act-ico[b-0osrjg8dy9] { font-size: 1.65rem; line-height: 1; }
.tk-act-name[b-0osrjg8dy9] { font-size: clamp(.6rem, 2.5vw, .78rem); letter-spacing: -.01em; font-weight: 650; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-act.on[b-0osrjg8dy9] {
    color: #fff; border-color: transparent;
    background: linear-gradient(150deg, var(--a), var(--b));
    box-shadow: 0 10px 26px -10px var(--a), inset 0 1px 0 rgba(255,255,255,.3);
}

.tk-go[b-0osrjg8dy9] {
    width: 172px; height: 172px; margin: 10px 0 4px; border-radius: 50%; border: 0; cursor: pointer;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: #fff;
    background: radial-gradient(circle at 32% 26%, rgba(255,255,255,.35), transparent 42%), linear-gradient(150deg, var(--tk-a), var(--tk-b));
    box-shadow:
        0 0 0 10px color-mix(in oklab, var(--tk-a) 16%, transparent),
        0 0 0 22px color-mix(in oklab, var(--tk-a) 7%, transparent),
        0 24px 60px -12px color-mix(in oklab, var(--tk-a) 75%, transparent),
        inset 0 -8px 20px rgba(0,0,0,.18);
    transition: transform .12s;
}
.tk-go:active[b-0osrjg8dy9] { transform: scale(.95); }
.tk-go svg[b-0osrjg8dy9] { margin-left: 5px; filter: drop-shadow(0 4px 8px rgba(0,0,0,.25)); }
.tk-go b[b-0osrjg8dy9] { font-family: var(--font-display); font-size: 1.15rem; letter-spacing: .14em; text-transform: uppercase; }

.tk-hint[b-0osrjg8dy9] { margin: 0; max-width: 460px; text-align: center; font-size: .8rem; line-height: 1.45; color: var(--text-3); }

.tk-pending[b-0osrjg8dy9] {
    display: flex; align-items: center; gap: 10px; padding: 10px 12px 10px 14px; border-radius: var(--radius);
    background: color-mix(in oklab, var(--warning) 14%, transparent); border: 1px solid color-mix(in oklab, var(--warning) 35%, transparent);
    font-size: .9rem; font-weight: 600;
}
.tk-pending[hidden][b-0osrjg8dy9] { display: none; }

.tk-week[b-0osrjg8dy9] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px;
    border-radius: var(--radius-l); text-decoration: none; color: inherit;
    background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-1);
}
.tk-week-main[b-0osrjg8dy9] { display: flex; flex-direction: column; gap: 2px; }
.tk-week-label[b-0osrjg8dy9] { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.tk-week-km[b-0osrjg8dy9] { font-family: var(--font-display); font-size: 2.2rem; font-weight: 700; line-height: 1.05; letter-spacing: -.02em; }
.tk-week-km small[b-0osrjg8dy9] { font-size: .95rem; font-weight: 600; color: var(--text-2); margin-left: 5px; }
.tk-week-side[b-0osrjg8dy9] { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; color: var(--text-2); font-size: .9rem; }
.tk-week-side b[b-0osrjg8dy9] { color: var(--text); }

.tk-sec[b-0osrjg8dy9] { display: flex; align-items: baseline; justify-content: space-between; margin-top: 6px; padding: 0 4px; }
.tk-sec h2[b-0osrjg8dy9] { margin: 0; font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.tk-more[b-0osrjg8dy9] { font-size: .88rem; font-weight: 600; color: var(--accent); text-decoration: none; }
.tk-list[b-0osrjg8dy9] { display: flex; flex-direction: column; gap: 10px; }
.tk-first[b-0osrjg8dy9] { text-align: center; padding: 8px 12px; margin: 0; }

/* ---- registrazione */
.tk-mapbox[b-0osrjg8dy9] {
    position: relative; height: clamp(230px, 40vh, 460px); border-radius: var(--radius-l); overflow: hidden; isolation: isolate;
    border: 1px solid var(--border); box-shadow: var(--shadow-2); background: #dfe6ea;
}
.tk-map[b-0osrjg8dy9] { position: absolute; inset: 0; }
.tk-map-top[b-0osrjg8dy9] { position: absolute; z-index: 500; top: 10px; left: 10px; right: 10px; display: flex; justify-content: space-between; gap: 8px; pointer-events: none; }
.tk-rec[b-0osrjg8dy9], .tk-acc[b-0osrjg8dy9] {
    display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px;
    background: rgba(11,10,31,.82); color: #fff; font-size: .82rem; font-weight: 700; box-shadow: 0 6px 18px -6px rgba(0,0,0,.5);
}
.tk-acc:empty[b-0osrjg8dy9] { display: none; }
.tk-rec i[b-0osrjg8dy9] { width: 10px; height: 10px; border-radius: 50%; background: #ef4444; animation: tk-blink-b-0osrjg8dy9 1.2s ease-in-out infinite; }
.tk[data-state="paused"] .tk-rec i[b-0osrjg8dy9] { background: #fbbf24; animation: none; }
@keyframes tk-blink-b-0osrjg8dy9 { 50% { opacity: .25; } }
.tk-center[b-0osrjg8dy9] {
    position: absolute; z-index: 500; right: 12px; bottom: 26px; width: 46px; height: 46px; border-radius: 50%; border: 0;
    display: grid; place-items: center; background: #fff; color: #0b0a1f; box-shadow: 0 8px 20px -6px rgba(0,0,0,.5); cursor: pointer;
}
.tk-center[hidden][b-0osrjg8dy9] { display: none; }

.tk-panel[b-0osrjg8dy9] {
    position: relative; display: flex; flex-direction: column; gap: 14px; padding: 18px 16px 16px; border-radius: var(--radius-xl);
    background:
        radial-gradient(90% 60% at 50% 0%, color-mix(in oklab, var(--tk-a) 20%, transparent), transparent 70%),
        var(--surface);
    border: 1px solid var(--border); box-shadow: var(--shadow-2);
}
.tk-paused-label[b-0osrjg8dy9] {
    display: none; align-self: center; padding: 4px 12px; border-radius: 999px; font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
    background: color-mix(in oklab, var(--warning) 22%, transparent); color: var(--warning);
}
.tk[data-state="paused"] .tk-paused-label[b-0osrjg8dy9] { display: block; }

.tk-time[b-0osrjg8dy9] { display: flex; flex-direction: column; align-items: center; }
.tk-time b[b-0osrjg8dy9] { font-family: var(--font-display); font-size: clamp(3.6rem, 17vw, 5.4rem); font-weight: 600; line-height: 1; letter-spacing: -.03em; }
.tk-time span[b-0osrjg8dy9], .tk-stat span[b-0osrjg8dy9] { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }

.tk-stats[b-0osrjg8dy9] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.tk-stat[b-0osrjg8dy9] {
    display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 10px 6px; border-radius: 16px;
    background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06); min-width: 0;
}
.tk-stat b[b-0osrjg8dy9] { font-family: var(--font-display); font-size: 1.45rem; font-weight: 600; line-height: 1.1; }
.tk-stat.tk-big b[b-0osrjg8dy9] { font-size: 2.3rem; }
.tk-pc[b-0osrjg8dy9] { display: none; }
.tk[data-pace="1"] .tk-sp[b-0osrjg8dy9] { display: none; }
.tk[data-pace="1"] .tk-pc[b-0osrjg8dy9] { display: inline; }
@media (min-width: 640px) {
    .tk-stats[b-0osrjg8dy9] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .tk-stat.tk-big[b-0osrjg8dy9] { grid-column: span 2; }
}

/* comandi sempre a portata di pollice: fissi in basso durante la registrazione */
.tk-live[b-0osrjg8dy9] { padding-bottom: 84px; }
.tk-controls[b-0osrjg8dy9] {
    position: fixed; z-index: 800; left: 16px; right: 16px; bottom: calc(14px + var(--safe-bottom)); max-width: 560px; margin: 0 auto;
    display: flex; gap: 10px; padding: 8px; border-radius: 28px; background: rgba(11,10,31,.92); border: 1px solid var(--border-strong);
    box-shadow: 0 18px 50px -12px rgba(0,0,0,.8);
}
.tk[data-state="rec"] .tk-note[b-0osrjg8dy9], .tk[data-state="paused"] .tk-note[b-0osrjg8dy9] { bottom: calc(100px + var(--safe-bottom)); }
.tk-btn[b-0osrjg8dy9] {
    flex: 1 1 0; height: 64px; border: 0; border-radius: 22px; cursor: pointer; color: #fff;
    display: flex; align-items: center; justify-content: center; gap: 10px;
    font: inherit; font-size: 1.05rem; font-weight: 800; letter-spacing: .02em; transition: transform .1s;
}
.tk-btn:active[b-0osrjg8dy9] { transform: scale(.97); }
.tk-pause[b-0osrjg8dy9] { background: linear-gradient(150deg, #f59e0b, #ea580c); box-shadow: 0 14px 30px -14px #f59e0b; }
.tk-resume[b-0osrjg8dy9] { background: linear-gradient(150deg, var(--tk-a), var(--tk-b)); box-shadow: 0 14px 30px -14px var(--tk-a); }
.tk-stop[b-0osrjg8dy9] { background: linear-gradient(150deg, #ef4444, #be123c); box-shadow: 0 14px 30px -14px #ef4444; }
.tk-resume[b-0osrjg8dy9], .tk-stop[b-0osrjg8dy9] { display: none; }
.tk[data-state="paused"] .tk-pause[b-0osrjg8dy9] { display: none; }
.tk[data-state="paused"] .tk-resume[b-0osrjg8dy9], .tk[data-state="paused"] .tk-stop[b-0osrjg8dy9] { display: flex; }

/* ---- fine */
.tk-sum[b-0osrjg8dy9] {
    display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 16px 18px; border-radius: var(--radius-xl); text-align: center;
    background:
        radial-gradient(100% 80% at 50% 0%, color-mix(in oklab, var(--tk-a) 32%, transparent), transparent 72%),
        var(--surface);
    border: 1px solid var(--border); box-shadow: var(--shadow-2);
}
.tk-sum-act[b-0osrjg8dy9] { font-weight: 700; color: var(--text-2); }
.tk-sum-dist[b-0osrjg8dy9] { font-family: var(--font-display); font-size: clamp(3rem, 14vw, 4.4rem); font-weight: 700; line-height: 1.05; letter-spacing: -.03em; }
.tk-sum-grid[b-0osrjg8dy9] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: 100%; margin-top: 8px; }
.tk-sum-grid div[b-0osrjg8dy9] { display: flex; flex-direction: column; gap: 2px; }
.tk-sum-grid b[b-0osrjg8dy9] { font-family: var(--font-display); font-size: 1.2rem; }
.tk-sum-grid span[b-0osrjg8dy9] { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.tk-done-note[b-0osrjg8dy9] { margin: 0; color: var(--warning); font-size: .9rem; }
.tk-done-note:empty[b-0osrjg8dy9] { display: none; }
.tk-done-actions[b-0osrjg8dy9] { display: flex; flex-direction: column; gap: 10px; }
.tk-save[b-0osrjg8dy9] { background: linear-gradient(150deg, var(--tk-a), var(--tk-b)); border: 0; }
.tk-discard[b-0osrjg8dy9] { color: var(--danger); }

/* ---- avvisi */
.tk-note[b-0osrjg8dy9] {
    position: fixed; left: 16px; right: 16px; bottom: calc(16px + var(--safe-bottom)); z-index: 950; max-width: 560px; margin: 0 auto; padding: 12px 16px; border-radius: 16px;
    background: #1e1b4b; border: 1px solid var(--border-strong); color: var(--text); font-size: .9rem; font-weight: 500;
    box-shadow: 0 16px 40px -12px rgba(0,0,0,.7);
}
.tk-note[hidden][b-0osrjg8dy9] { display: none; }

@media (max-width: 380px) {
    .tk-go[b-0osrjg8dy9] { width: 150px; height: 150px; }
}
/* /Components/Pages/Percorsi/StoricoPage.razor.rz.scp.css */
.tks[b-0j3zdi10c0] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; width: 100%; margin: 0 auto; }
.tks-go[b-0j3zdi10c0] { align-self: center; }
.tk-import[b-0j3zdi10c0] { gap: 6px; cursor: pointer; }
.tk-import.busy[b-0j3zdi10c0] { opacity: .6; pointer-events: none; }

.tks-sum[b-0j3zdi10c0] {
    display: flex; flex-direction: column; gap: 16px; padding: 16px; border-radius: var(--radius-xl);
    background:
        radial-gradient(90% 70% at 0% 0%, color-mix(in oklab, var(--accent) 20%, transparent), transparent 70%),
        var(--surface);
    border: 1px solid var(--border); box-shadow: var(--shadow-2);
}
.tks-kpis[b-0j3zdi10c0] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.tks-kpi[b-0j3zdi10c0] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.tks-kpi + .tks-kpi[b-0j3zdi10c0] { border-left: 1px solid var(--border); padding-left: 10px; }
.tks-kpi-label[b-0j3zdi10c0] { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.tks-kpi-value[b-0j3zdi10c0] { font-family: var(--font-display); font-size: clamp(1.35rem, 6vw, 1.9rem); font-weight: 700; line-height: 1.1; white-space: nowrap; }
.tks-kpi-value small[b-0j3zdi10c0] { font-size: .78rem; font-weight: 600; color: var(--text-2); margin-left: 3px; }
.tks-kpi-sub[b-0j3zdi10c0] { font-size: .74rem; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.tks-bars[b-0j3zdi10c0] { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 5px; height: 96px; align-items: end; }
.tks-bar[b-0j3zdi10c0] { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; height: 100%; min-width: 0; }
.tks-bar span[b-0j3zdi10c0] {
    width: 100%; max-width: 26px; min-height: 4px; height: calc(var(--h) * .76); border-radius: 7px 7px 4px 4px;
    background: linear-gradient(180deg, color-mix(in oklab, var(--accent) 60%, transparent), color-mix(in oklab, var(--accent) 22%, transparent));
}
.tks-bar.now span[b-0j3zdi10c0] { background: linear-gradient(180deg, var(--accent-2), var(--accent)); box-shadow: 0 6px 16px -6px var(--accent); }
.tks-bar small[b-0j3zdi10c0] { height: 14px; font-size: .64rem; color: var(--text-3); white-space: nowrap; }

.tks-filter[b-0j3zdi10c0] { display: flex; gap: 8px; padding-bottom: 2px; }
.tks-filter .chip[b-0j3zdi10c0] { flex: 0 0 auto; }

.tks-month[b-0j3zdi10c0] { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-top: 6px; padding: 0 4px; }
.tks-month h2[b-0j3zdi10c0] { margin: 0; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.tks-month span[b-0j3zdi10c0] { font-size: .8rem; color: var(--text-3); }
.tks-list[b-0j3zdi10c0] { display: flex; flex-direction: column; gap: 10px; }
/* /Components/Pages/Percorsi/TrackCard.razor.rz.scp.css */
.tk-card[b-9ofm4nbjr1] {
    display: flex; align-items: center; gap: 14px; padding: 10px 14px 10px 10px; border-radius: var(--radius-l);
    text-decoration: none; color: inherit; min-width: 0;
    background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-1);
    transition: background .15s, border-color .15s;
}
.tk-card:hover[b-9ofm4nbjr1] { background: var(--surface-2); border-color: color-mix(in oklab, var(--a) 40%, var(--border)); }
.tk-card-shape[b-9ofm4nbjr1] {
    position: relative; flex: 0 0 auto; width: 76px; height: 76px; border-radius: 20px; overflow: hidden;
    background:
        radial-gradient(circle at 70% 20%, color-mix(in oklab, var(--b) 22%, transparent), transparent 60%),
        linear-gradient(160deg, color-mix(in oklab, var(--a) 16%, #12102e), #0d0b26);
    border: 1px solid rgba(255,255,255,.08);
}
.tk-card-shape[b-9ofm4nbjr1]  .tk-shape { position: absolute; inset: 0; width: 100%; height: 100%; }
.tk-card-act[b-9ofm4nbjr1] {
    position: absolute; right: 4px; bottom: 4px; width: 24px; height: 24px; border-radius: 9px; display: grid; place-items: center;
    font-size: .85rem; background: rgba(11,10,31,.75);
}
.tk-card-body[b-9ofm4nbjr1] { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1 1 auto; }
.tk-card-name[b-9ofm4nbjr1] { font-weight: 700; font-size: 1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-card-when[b-9ofm4nbjr1] { font-size: .8rem; color: var(--text-3); }
.tk-card-stats[b-9ofm4nbjr1] { display: flex; flex-wrap: wrap; gap: 2px 14px; margin-top: 3px; font-size: .8rem; color: var(--text-2); }
.tk-card-stats b[b-9ofm4nbjr1] { font-size: 1rem; color: var(--text); font-family: var(--font-display); }
/* /Components/Pages/Personalizza.razor.rz.scp.css */
/* Personalizza: anteprima a sinistra (in alto sul telefono), sezioni a destra. Niente animazioni. */
.pz[b-zcpor0kywn] { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 18px; align-items: start; }
@media (max-width: 860px) { .pz[b-zcpor0kywn] { grid-template-columns: 1fr; } }
.pz-preview[b-zcpor0kywn] { position: sticky; top: 16px; padding: 16px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
@media (max-width: 860px) { .pz-preview[b-zcpor0kywn] { position: static; } }
.pz-phone[b-zcpor0kywn] {
    width: 230px; border-radius: 30px; padding: 16px 12px 10px; border: 6px solid #0b0a18;
    background: radial-gradient(260px 180px at 80% -10%, var(--bg-glow-1, #2a1a6b) 0%, transparent 60%), radial-gradient(200px 160px at -10% 110%, var(--bg-glow-2, #0c3a5c) 0%, transparent 55%), var(--bg-0);
    box-shadow: 0 24px 50px -20px rgba(0,0,0,.8), inset 0 0 0 1px rgba(255,255,255,.08);
}
html.fz-noglow .pz-phone[b-zcpor0kywn] { background: var(--bg-0); }
.pz-pv-search[b-zcpor0kywn] { font-size: .62rem; color: var(--text-3); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; padding: 6px 10px; margin-bottom: 10px; background: rgba(12,10,30,.7); }
.pz-pv-grid[b-zcpor0kywn] { display: grid; grid-template-columns: repeat(var(--pv-cols, 4), minmax(0, 1fr)); gap: 10px 4px; justify-items: center; }
.pz-pv-app[b-zcpor0kywn] { display: flex; flex-direction: column; align-items: center; gap: 3px; min-width: 0; width: 100%; }
.pz-pv-app i[b-zcpor0kywn] {
    font-style: normal; display: grid; place-items: center; border-radius: 27%; aspect-ratio: 1;
    width: calc(min(40px, (206px / var(--pv-cols, 4)) - 8px) * var(--pv-scale, 1));
    max-width: 100%; font-size: calc(min(20px, (206px / var(--pv-cols, 4)) / 2.2) * var(--pv-scale, 1));
    background: linear-gradient(145deg, var(--a), var(--b));
}
.pz-pv-app small[b-zcpor0kywn] { font-size: .5rem; color: var(--text-2); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pz-pv-foot[b-zcpor0kywn] { margin-top: 12px; padding: 6px; border-radius: 10px; text-align: center; font-size: .5rem; color: var(--footer-fg, var(--text-3)); background: var(--footer-bg, rgba(255,255,255,.03)); }
.pz-pv-note[b-zcpor0kywn] { margin: 0; text-align: center; }

.pz-sections[b-zcpor0kywn] { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pz-sec[b-zcpor0kywn] { padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.pz-head[b-zcpor0kywn] { display: flex; align-items: center; gap: 10px; }
.pz-head h2[b-zcpor0kywn] { margin: 0; font-size: 1.05rem; }
.pz-ico[b-zcpor0kywn] { width: 36px; height: 36px; flex: none; display: grid; place-items: center; border-radius: 11px; background: color-mix(in oklab, var(--accent) 20%, transparent); font-size: 1.1rem; }
.pz-reset:disabled[b-zcpor0kywn] { opacity: .35; }
.pz-hint[b-zcpor0kywn] { margin: 0; }
.pz-label[b-zcpor0kywn] { font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); }
.pz-label .dim[b-zcpor0kywn] { text-transform: none; letter-spacing: 0; font-weight: 500; }
.pz-seg button:disabled[b-zcpor0kywn] { opacity: .3; cursor: not-allowed; }
.pz-seg-wrap[b-zcpor0kywn] { flex-wrap: wrap; }

.pz-swatches[b-zcpor0kywn] { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 10px; }
.pz-sw[b-zcpor0kywn] {
    display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px 4px; border-radius: 16px; cursor: pointer;
    border: 1px solid var(--border); background: rgba(255,255,255,.03); color: var(--text-2); font: inherit;
}
.pz-sw span[b-zcpor0kywn] { width: 44px; height: 44px; border-radius: 14px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.pz-sw.bg span[b-zcpor0kywn] { background: radial-gradient(40px 30px at 80% 0%, var(--b), transparent 70%), radial-gradient(36px 30px at 0% 100%, var(--c), transparent 70%), var(--a); }
.pz-sw.acc span[b-zcpor0kywn] { background: linear-gradient(135deg, var(--a), var(--b)); border-radius: 50%; }
.pz-sw.foot span[b-zcpor0kywn] { background: var(--a); height: 18px; width: 52px; border-radius: 6px; margin: 13px 0; }
.pz-sw.foot.accent span[b-zcpor0kywn] { background: linear-gradient(135deg, var(--home-accent, #8b5cf6), var(--home-accent-2, #22d3ee)); }
.pz-sw small[b-zcpor0kywn] { font-size: .74rem; }
.pz-sw.on[b-zcpor0kywn] { border-color: color-mix(in oklab, var(--accent) 75%, transparent); background: color-mix(in oklab, var(--accent) 16%, transparent); color: var(--text); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--accent) 50%, transparent); }
.pz-sw.custom input[b-zcpor0kywn] { width: 44px; height: 44px; padding: 0; border: 0; border-radius: 14px; background: none; cursor: pointer; }
.pz-sw.custom input[b-zcpor0kywn]::-webkit-color-swatch-wrapper { padding: 0; }
.pz-sw.custom input[b-zcpor0kywn]::-webkit-color-swatch { border: 0; border-radius: 14px; }

.pz-toggle[b-zcpor0kywn] { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.pz-toggle .grow[b-zcpor0kywn] { display: flex; flex-direction: column; min-width: 0; }
.pz-toggle small[b-zcpor0kywn] { line-height: 1.35; }
.pz-all[b-zcpor0kywn] { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 4px 2px 10px; }
/* /Components/Pages/Piante/OggiPage.razor.rz.scp.css */
.po[b-k8bbm8xs01] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; width: 100%; margin: 0 auto; --pl-a: #16A34A; --pl-b: #84CC16; }

/* vuota */
.po-empty[b-k8bbm8xs01] { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 34px 18px; border-radius: 28px;
    background: radial-gradient(90% 80% at 50% 0%, rgba(22,163,74,.28), transparent 70%), var(--surface); border: 1px solid var(--border); }
.po-empty-ico[b-k8bbm8xs01] { width: 86px; height: 86px; border-radius: 50%; display: grid; place-items: center; font-size: 2.6rem;
    background: linear-gradient(140deg, var(--pl-a), var(--pl-b)); box-shadow: 0 18px 40px -16px var(--pl-a); }
.po-empty h2[b-k8bbm8xs01] { margin: 6px 0 0; font-family: var(--font-display); font-size: 1.35rem; }
.po-empty p[b-k8bbm8xs01] { margin: 0 0 6px; color: var(--text-2); max-width: 420px; }

/* riepilogo */
.po-hero[b-k8bbm8xs01] {
    position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 22px 16px 16px; border-radius: 28px;
    background:
        radial-gradient(100% 90% at 50% 0%, rgba(14,165,233,.30), transparent 70%),
        linear-gradient(160deg, rgba(22,163,74,.20), rgba(132,204,22,.06)), var(--surface);
    border: 1px solid var(--border); box-shadow: var(--shadow-2);
}
.po-hero.ok[b-k8bbm8xs01] { background: radial-gradient(100% 90% at 50% 0%, rgba(132,204,22,.30), transparent 70%), linear-gradient(160deg, rgba(22,163,74,.22), rgba(132,204,22,.06)), var(--surface); }
.po-hero-ico[b-k8bbm8xs01] { font-size: 2.2rem; line-height: 1; }
.po-hero h2[b-k8bbm8xs01] { margin: 0; font-family: var(--font-display); font-size: clamp(1.25rem, 5.5vw, 1.6rem); font-weight: 700; }
.po-hero h2 b[b-k8bbm8xs01] { font-size: 1.15em; }
.po-hero p[b-k8bbm8xs01] { margin: 0; color: var(--text-2); }
.po-all[b-k8bbm8xs01] {
    margin-top: 4px; padding: 11px 22px; border-radius: 999px; border: 0; cursor: pointer; font: inherit; font-weight: 800; color: #fff;
    background: linear-gradient(135deg, #0EA5E9, #2563EB); box-shadow: 0 12px 28px -12px #0EA5E9;
}
.po-bell[b-k8bbm8xs01] { margin-top: 4px; border: 0; background: rgba(255,255,255,.06); color: var(--text-2); font: inherit; font-size: .8rem; font-weight: 700; padding: 5px 12px; border-radius: 999px; cursor: pointer; }

/* da annaffiare */
.po-list[b-k8bbm8xs01] { display: flex; flex-direction: column; gap: 8px; }
.po-row[b-k8bbm8xs01] {
    display: flex; align-items: center; gap: 10px; padding: 10px 10px 10px 10px; border-radius: 22px;
    background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-1);
}
.po-row-main[b-k8bbm8xs01] { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; color: inherit; text-decoration: none; }
.po-row-txt[b-k8bbm8xs01] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.po-row-txt b[b-k8bbm8xs01] { font-size: 1.04rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.po-row-txt small[b-k8bbm8xs01] { color: var(--text-3); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.po-row-txt small.late[b-k8bbm8xs01] { color: #F97316; }
.po-water[b-k8bbm8xs01] {
    width: 54px; height: 54px; flex: none; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center; color: #fff;
    background: linear-gradient(140deg, #38BDF8, #2563EB); box-shadow: 0 10px 24px -10px #0EA5E9;
}
.po-water:disabled[b-k8bbm8xs01] { opacity: .6; }

/* fatte e prossime */
.po-sec[b-k8bbm8xs01] { margin: 8px 4px 0; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.po-done[b-k8bbm8xs01], .po-day-plants[b-k8bbm8xs01] { display: flex; flex-wrap: wrap; gap: 6px; }
.po-chip[b-k8bbm8xs01] {
    display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px 4px 4px; border-radius: 999px; max-width: 100%;
    background: var(--surface); border: 1px solid var(--border); color: inherit; text-decoration: none; font-weight: 600; font-size: .9rem;
}
.po-chip[b-k8bbm8xs01]  .pl-pic { width: 32px; height: 32px; border-radius: 50%; font-size: 1rem; }
.po-chip span[b-k8bbm8xs01] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.po-chip i[b-k8bbm8xs01] { font-style: normal; color: var(--pl-b); font-weight: 800; }
.po-next[b-k8bbm8xs01] { display: flex; flex-direction: column; gap: 10px; }
.po-day[b-k8bbm8xs01] { display: grid; grid-template-columns: 6.2rem minmax(0, 1fr); gap: 10px; align-items: center; }
.po-day-label[b-k8bbm8xs01] { font-weight: 700; color: var(--text-2); font-size: .9rem; }
/* /Components/Pages/Piante/PiantaPage.razor.rz.scp.css */
.pd[b-cd0adyjwtp] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; width: 100%; margin: 0 auto; --pl-a: #16A34A; --pl-b: #84CC16; }
.pd-del:hover[b-cd0adyjwtp] { color: var(--danger); }

.pd-hero[b-cd0adyjwtp] { position: relative; border-radius: 30px; overflow: hidden; border: 1px solid var(--border); box-shadow: var(--shadow-2); isolation: isolate; }
.pd-photo[b-cd0adyjwtp] { height: clamp(240px, 52vw, 380px); }
.pd-title[b-cd0adyjwtp] {
    position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 18px 16px; display: flex; flex-direction: column; gap: 3px;
    background: linear-gradient(180deg, transparent, rgba(5,10,8,.82));
}
.pd-title h1[b-cd0adyjwtp] { margin: 0; font-family: var(--font-display); font-size: clamp(1.6rem, 7vw, 2.2rem); line-height: 1.1; color: #fff; overflow-wrap: anywhere; }
.pd-title i[b-cd0adyjwtp] { color: rgba(255,255,255,.75); font-size: .92rem; }
.pd-room[b-cd0adyjwtp] { align-self: flex-start; margin-top: 4px; padding: 3px 10px; border-radius: 999px; background: rgba(255,255,255,.16); color: #fff; font-size: .8rem; font-weight: 700; }

.pd-water[b-cd0adyjwtp] {
    display: flex; align-items: center; gap: 14px; padding: 14px; border-radius: 24px;
    background: radial-gradient(90% 120% at 0% 50%, rgba(56,189,248,.18), transparent 70%), var(--surface);
    border: 1px solid var(--border); box-shadow: var(--shadow-1);
}
.pd-water.due[b-cd0adyjwtp] { border-color: rgba(56,189,248,.5); }
.pd-ring[b-cd0adyjwtp] { position: relative; width: 58px; height: 58px; flex: none; display: grid; place-items: center; font-size: 1.3rem; }
.pd-ring svg[b-cd0adyjwtp] { position: absolute; inset: 0; transform: rotate(-90deg); }
.pd-ring circle[b-cd0adyjwtp] { fill: none; stroke-width: 4.5; }
.pd-ring .bg[b-cd0adyjwtp] { stroke: rgba(255,255,255,.08); }
.pd-ring .fg[b-cd0adyjwtp] { stroke: #38BDF8; stroke-linecap: round; stroke-dasharray: calc(var(--v) * 1) 100; }
.pd-water-txt[b-cd0adyjwtp] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pd-water-txt b[b-cd0adyjwtp] { font-size: 1.12rem; }
.pd-water-txt small[b-cd0adyjwtp] { color: var(--text-3); }
.pd-water-btn[b-cd0adyjwtp] {
    flex: none; padding: 12px 16px; border-radius: 999px; border: 0; cursor: pointer; font: inherit; font-weight: 800; color: #fff;
    background: linear-gradient(140deg, #38BDF8, #2563EB); box-shadow: 0 10px 24px -10px #0EA5E9;
}
.pd-ok[b-cd0adyjwtp] { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-weight: 900; color: #fff; background: linear-gradient(140deg, var(--pl-a), var(--pl-b)); }

.pd-grid[b-cd0adyjwtp] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pd-cell[b-cd0adyjwtp] {
    display: flex; flex-direction: column; gap: 3px; padding: 11px 12px; border-radius: 18px; min-width: 0; text-align: left;
    background: var(--surface); border: 1px solid var(--border); color: inherit; font: inherit;
}
button.pd-cell[b-cd0adyjwtp] { cursor: pointer; }
.pd-cell span[b-cd0adyjwtp] { font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.pd-cell b[b-cd0adyjwtp] { font-size: .98rem; line-height: 1.25; overflow-wrap: anywhere; }
.pd-cell small[b-cd0adyjwtp] { color: var(--text-3); font-size: .74rem; }

.pd-card[b-cd0adyjwtp] { padding: 14px 16px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); }
.pd-card h2[b-cd0adyjwtp] { margin: 0 0 10px; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.pd-card h2 small[b-cd0adyjwtp] { font-weight: 600; letter-spacing: 0; margin-left: 4px; }
.pd-care[b-cd0adyjwtp] { background: linear-gradient(140deg, rgba(22,163,74,.16), rgba(132,204,22,.05)), var(--surface); }
.pd-care-row[b-cd0adyjwtp] { display: flex; gap: 10px; color: var(--text-2); }
.pd-care-row + .pd-care-row[b-cd0adyjwtp] { margin-top: 8px; }
.pd-notes[b-cd0adyjwtp] { margin: 0; white-space: pre-wrap; color: var(--text-2); }
.pd-empty[b-cd0adyjwtp] { margin: 0; }
.pd-hist[b-cd0adyjwtp] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.pd-hist li[b-cd0adyjwtp] { display: flex; align-items: center; gap: 10px; padding: 7px 0; }
.pd-hist li + li[b-cd0adyjwtp] { border-top: 1px solid rgba(255,255,255,.05); }
.pd-dot[b-cd0adyjwtp] { width: 9px; height: 9px; border-radius: 50%; background: #38BDF8; flex: none; }
.pd-x[b-cd0adyjwtp] { border: 0; background: none; color: var(--text-3); cursor: pointer; padding: 4px 8px; border-radius: 8px; }
.pd-x:hover[b-cd0adyjwtp] { color: var(--danger); }
/* /Components/Pages/Piante/PiantePage.razor.rz.scp.css */
.pp[b-yswq56wjl6] { display: flex; flex-direction: column; gap: 12px; max-width: 960px; width: 100%; margin: 0 auto; --pl-a: #16A34A; --pl-b: #84CC16; }
.pp-bar[b-yswq56wjl6] { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 4px; }
.pp-count[b-yswq56wjl6] { color: var(--text-2); font-weight: 600; }
.pp-count b[b-yswq56wjl6] { font-size: 1.15rem; color: inherit; }
.pp-bell[b-yswq56wjl6] { border: 0; background: rgba(255,255,255,.06); color: var(--text-2); font: inherit; font-size: .8rem; font-weight: 700; padding: 6px 12px; border-radius: 999px; cursor: pointer; }
.pp-rooms[b-yswq56wjl6] { display: flex; gap: 6px; }
.pp-rooms .chip[b-yswq56wjl6] { flex: none; }

.pp-grid[b-yswq56wjl6] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 560px) { .pp-grid[b-yswq56wjl6] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 860px) { .pp-grid[b-yswq56wjl6] { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.pp-card[b-yswq56wjl6] {
    display: flex; flex-direction: column; gap: 8px; padding: 8px 8px 10px; border-radius: 26px; color: inherit; text-decoration: none; min-width: 0;
    background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-1);
}
.pp-card.due[b-yswq56wjl6] { border-color: rgba(56,189,248,.45); }
.pp-card-txt[b-yswq56wjl6] { display: flex; flex-direction: column; gap: 1px; padding: 0 4px; min-width: 0; }
.pp-card-txt b[b-yswq56wjl6] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-card-txt small[b-yswq56wjl6] { color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-level[b-yswq56wjl6] { display: flex; align-items: center; gap: 8px; padding: 0 4px; }
.pp-level-bar[b-yswq56wjl6] { flex: 1; height: 7px; border-radius: 4px; background: rgba(255,255,255,.07); overflow: hidden; }
.pp-level-bar i[b-yswq56wjl6] { display: block; height: 100%; width: max(var(--v), 6%); border-radius: 4px; background: linear-gradient(90deg, #2563EB, #38BDF8); }
.pp-card.due .pp-level-bar i[b-yswq56wjl6] { background: #F97316; }
.pp-level-txt[b-yswq56wjl6] { font-size: .74rem; font-weight: 700; color: var(--text-3); white-space: nowrap; }
.pp-card.due .pp-level-txt[b-yswq56wjl6] { color: #38BDF8; }

.pp-add[b-yswq56wjl6] {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 160px; border-radius: 26px; cursor: pointer;
    border: 1.5px dashed rgba(132,204,22,.45); background: transparent; color: var(--text-2); font: inherit; font-weight: 700;
}
.pp-add span[b-yswq56wjl6] { font-size: 2rem; color: var(--pl-b); line-height: 1; }
/* /Components/Pages/Piante/PlantEditor.razor.rz.scp.css */
.pe[b-7szugm0rxq] { display: flex; flex-direction: column; gap: 16px; --pl-a: #16A34A; --pl-b: #84CC16; }

/* foto */
.pe-photo[b-7szugm0rxq] { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.pe-drop[b-7szugm0rxq] {
    width: 100%; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 22px 16px; cursor: pointer; text-align: center;
    border-radius: 22px; border: 1.5px dashed color-mix(in oklab, var(--pl-a) 60%, transparent);
    background: radial-gradient(80% 90% at 50% 0%, color-mix(in oklab, var(--pl-a) 18%, transparent), transparent 70%), var(--surface);
}
.pe-drop:hover[b-7szugm0rxq] { border-color: var(--pl-b); }
.pe-drop-ico[b-7szugm0rxq] {
    width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; font-size: 1.7rem; margin-bottom: 4px;
    background: linear-gradient(140deg, var(--pl-a), var(--pl-b)); box-shadow: 0 10px 26px -12px var(--pl-a);
}
.pe-drop b[b-7szugm0rxq] { font-size: 1rem; }
.pe-drop small[b-7szugm0rxq] { color: var(--text-3); }
.pe-pic[b-7szugm0rxq] {
    position: relative; width: 168px; height: 168px; border-radius: 28px; overflow: hidden; cursor: pointer; display: block;
    background: var(--surface-2); box-shadow: var(--shadow-2); border: 1px solid var(--border);
}
.pe-pic img[b-7szugm0rxq] { width: 100%; height: 100%; object-fit: cover; display: block; }
.pe-pic-change[b-7szugm0rxq] {
    position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); padding: 4px 10px; border-radius: 999px; white-space: nowrap;
    background: rgba(11,10,31,.78); color: #fff; font-size: .76rem; font-weight: 700;
}
.pe-pic-remove[b-7szugm0rxq] { color: var(--text-3); }

/* riconoscimento */
.pe-id[b-7szugm0rxq] { display: flex; flex-direction: column; gap: 10px; padding: 12px; border-radius: 20px; background: var(--surface); border: 1px solid var(--border); }
.pe-id-busy[b-7szugm0rxq] { flex-direction: row; align-items: center; gap: 10px; font-weight: 600; color: var(--text-2); }
.pe-id-msg[b-7szugm0rxq] { color: var(--warning, #F59E0B); font-weight: 600; }
.pe-spin[b-7szugm0rxq] {
    width: 20px; height: 20px; border-radius: 50%; flex: none;
    border: 3px solid color-mix(in oklab, var(--pl-a) 30%, transparent); border-top-color: var(--pl-b);
    animation: pe-spin-b-7szugm0rxq .8s linear infinite;
}
@keyframes pe-spin-b-7szugm0rxq { to { transform: rotate(360deg); } }
.pe-id-head[b-7szugm0rxq] { margin: 0; font-size: .92rem; color: var(--text-2); }
.pe-id-head b[b-7szugm0rxq] { color: var(--text-1, #fff); }
.pe-guesses[b-7szugm0rxq] { display: flex; flex-direction: column; gap: 6px; }
.pe-guess[b-7szugm0rxq] {
    display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px; border-radius: 16px; cursor: pointer;
    text-align: left; font: inherit; color: inherit; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07);
}
.pe-guess.on[b-7szugm0rxq] { border-color: var(--pl-b); background: color-mix(in oklab, var(--pl-a) 16%, transparent); }
.pe-guess-img[b-7szugm0rxq] { position: relative; width: 52px; height: 52px; border-radius: 12px; overflow: hidden; display: grid; place-items: center; font-size: 1.5rem; background: var(--surface-2); }
.pe-guess-img img[b-7szugm0rxq] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pe-guess-txt[b-7szugm0rxq] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pe-guess-txt b[b-7szugm0rxq], .pe-guess-txt i[b-7szugm0rxq] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pe-guess-txt i[b-7szugm0rxq] { font-size: .8rem; color: var(--text-3); }
.pe-bar[b-7szugm0rxq] { height: 5px; border-radius: 3px; background: rgba(255,255,255,.07); overflow: hidden; margin-top: 3px; }
.pe-bar span[b-7szugm0rxq] { display: block; height: 100%; width: var(--v); border-radius: 3px; background: linear-gradient(90deg, var(--pl-a), var(--pl-b)); }
.pe-guess-pct[b-7szugm0rxq] { font-weight: 800; font-size: .95rem; color: var(--text-2); }
.pe-guess.on .pe-guess-pct[b-7szugm0rxq] { color: var(--pl-b); }
.pe-more[b-7szugm0rxq] { cursor: pointer; text-align: center; padding: 9px; border-radius: 14px; font-weight: 700; font-size: .88rem; color: var(--pl-b); background: color-mix(in oklab, var(--pl-a) 10%, transparent); }
.pe-more small[b-7szugm0rxq] { font-weight: 500; color: var(--text-3); }

/* catalogo */
.pe-care[b-7szugm0rxq] {
    display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 12px; margin-top: -6px; border-radius: 18px;
    background: linear-gradient(140deg, color-mix(in oklab, var(--pl-a) 18%, transparent), color-mix(in oklab, var(--pl-b) 8%, transparent));
    border: 1px solid color-mix(in oklab, var(--pl-a) 35%, transparent);
}
.pe-care-emo[b-7szugm0rxq] { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; font-size: 1.5rem; background: rgba(255,255,255,.08); }
.pe-care b[b-7szugm0rxq] { display: block; }
.pe-care i[b-7szugm0rxq] { display: block; font-size: .8rem; color: var(--text-3); }
.pe-care p[b-7szugm0rxq] { margin: 4px 0 0; font-size: .85rem; color: var(--text-2); }
.pe-care-tip[b-7szugm0rxq] { color: var(--text-3) !important; }
.pe-sugg[b-7szugm0rxq], .pe-chips[b-7szugm0rxq] { display: flex; flex-wrap: wrap; gap: 6px; }
.pe-sugg[b-7szugm0rxq] { margin-top: -8px; }

/* annaffiatura */
.pe-step[b-7szugm0rxq] { display: flex; align-items: center; gap: 12px; }
.pe-step-btn[b-7szugm0rxq] {
    width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--border); background: var(--surface-2); color: inherit;
    font-size: 1.4rem; font-weight: 700; cursor: pointer;
}
.pe-step-btn:disabled[b-7szugm0rxq] { opacity: .35; cursor: default; }
.pe-step-v[b-7szugm0rxq] { flex: 1; display: flex; align-items: baseline; justify-content: center; gap: 6px; }
.pe-step-v b[b-7szugm0rxq] { font-family: var(--font-display); font-size: 2rem; line-height: 1; }
.pe-step-v span[b-7szugm0rxq] { color: var(--text-3); font-weight: 600; }
.pe-link[b-7szugm0rxq] { border: 0; background: none; padding: 0; color: var(--pl-b); font: inherit; font-weight: 700; cursor: pointer; }

/* avviso */
.pe-remind[b-7szugm0rxq] { display: flex; flex-direction: column; gap: 10px; padding: 12px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); }
.pe-remind-row[b-7szugm0rxq] { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; }
.pe-remind-row span:first-child[b-7szugm0rxq] { display: flex; flex-direction: column; gap: 2px; }
.pe-remind-row small[b-7szugm0rxq] { color: var(--text-3); }
.pe-seg[b-7szugm0rxq] { width: 100%; }
.pe-seg button[b-7szugm0rxq] { flex: 1; }
.pe-time[b-7szugm0rxq] { font-size: 1.3rem; font-weight: 700; text-align: center; }
/* /Components/Pages/Piante/PlantPic.razor.rz.scp.css */
.pl-pic[b-x2jyp617o7] {
    position: relative; display: grid; place-items: center; flex: none; overflow: hidden;
    width: 56px; height: 56px; border-radius: 18px; font-size: 1.7rem;
    background: radial-gradient(90% 90% at 30% 20%, rgba(132,204,22,.28), transparent 70%), linear-gradient(140deg, #14532D, #166534);
}
.pl-pic img[b-x2jyp617o7] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pl-pic.sm[b-x2jyp617o7] { width: 44px; height: 44px; border-radius: 14px; font-size: 1.35rem; }
.pl-pic.lg[b-x2jyp617o7] { width: 100%; height: auto; aspect-ratio: 1; border-radius: 22px; font-size: 3rem; }
.pl-pic.hero[b-x2jyp617o7] { width: 100%; height: 100%; border-radius: 0; font-size: 5rem; }
/* /Components/Pages/Piante/PlantTimeSheet.razor.rz.scp.css */
.pt[b-1wshgn12ax] { display: flex; flex-direction: column; gap: 14px; }
.pt p[b-1wshgn12ax] { margin: 0; }
.pt-time[b-1wshgn12ax] { font-size: 2rem; font-weight: 800; text-align: center; padding: 14px; }
.pt-chips[b-1wshgn12ax] { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.pt-link[b-1wshgn12ax] { font-size: .86rem; color: var(--text-3); text-align: center; }
/* /Components/Pages/Podcast/EpisodeRow.razor.rz.scp.css */
.er[b-wwh2b4w4wc] {
    display: flex; align-items: center; gap: 4px; padding: 4px 10px 4px 4px; border-radius: 18px;
    background: var(--surface); border: 1px solid var(--border);
}
.er:hover[b-wwh2b4w4wc] { border-color: var(--border-strong); }
.er.on[b-wwh2b4w4wc] { border-color: rgba(192, 38, 211, .55); background: linear-gradient(120deg, rgba(192, 38, 211, .2), rgba(124, 58, 237, .14)); }
.er-main[b-wwh2b4w4wc] {
    flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 8px 6px 8px 8px; background: none; border: 0;
    color: inherit; font: inherit; text-align: left; cursor: pointer; border-radius: 14px;
}
.er-text[b-wwh2b4w4wc] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.er-text b[b-wwh2b4w4wc] { font-size: .95rem; font-weight: 650; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.er.done .er-text b[b-wwh2b4w4wc] { color: var(--text-2); }
.er-meta[b-wwh2b4w4wc] { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: .72rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--text-3); }
.er-meta i[b-wwh2b4w4wc] { font-style: normal; }
.er-show[b-wwh2b4w4wc] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #e879f9; }
.er-state[b-wwh2b4w4wc] { display: flex; align-items: center; gap: 8px; font-size: .78rem; color: var(--text-3); }
.er-check[b-wwh2b4w4wc] { color: #4ade80; font-weight: 800; }
.er-progress[b-wwh2b4w4wc] { width: 64px; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .12); overflow: hidden; flex: 0 0 auto; }
.er-progress span[b-wwh2b4w4wc] { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #c026d3, #8b5cf6); }

.er-play[b-wwh2b4w4wc] {
    flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; cursor: pointer;
    border: 0; background: linear-gradient(135deg, #c026d3, #7c3aed); color: #fff; box-shadow: 0 8px 18px -8px rgba(192, 38, 211, .9);
}
.er-play:active[b-wwh2b4w4wc] { transform: scale(.93); }
.er.on .er-play[b-wwh2b4w4wc] { background: #fff; color: #6b21a8; }

/* barre dell'equalizzatore sulla puntata che suona (stato: resta animato) */
.er-eq[b-wwh2b4w4wc] { display: inline-flex; align-items: flex-end; gap: 2px; height: 12px; }
.er-eq i[b-wwh2b4w4wc] { width: 3px; height: 100%; border-radius: 2px; background: #e879f9; transform-origin: bottom; animation: er-eq-b-wwh2b4w4wc 1s ease-in-out infinite; }
.er-eq i:nth-child(2)[b-wwh2b4w4wc] { animation-delay: -.35s; background: #c4b5fd; }
.er-eq i:nth-child(3)[b-wwh2b4w4wc] { animation-delay: -.7s; }
@keyframes er-eq-b-wwh2b4w4wc { 0%, 100% { transform: scaleY(.3); } 50% { transform: scaleY(1); } }
.er.on .er-state[b-wwh2b4w4wc] { color: #f5d0fe; }
/* /Components/Pages/Podcast/EpisodeSheet.razor.rz.scp.css */
.es[b-p6zqipm067] { display: flex; flex-direction: column; gap: 14px; }
.es-head[b-p6zqipm067] { display: flex; gap: 14px; align-items: flex-start; }
.es-head[b-p6zqipm067]  .pcv.sm { width: 76px; border-radius: 14px; }
.es-title[b-p6zqipm067] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.es-title b[b-p6zqipm067] { font-family: var(--font-display); font-size: 1.08rem; line-height: 1.3; }
.es-title a[b-p6zqipm067] { color: #e879f9; font-weight: 600; text-decoration: none; font-size: .9rem; }
.es-title small[b-p6zqipm067] { color: var(--text-3); font-size: .8rem; }
.es-actions[b-p6zqipm067] { display: grid; grid-template-columns: 1.3fr 1fr; gap: 8px; }
.es-play[b-p6zqipm067] { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: linear-gradient(135deg, #c026d3, #7c3aed); border: 0; }
.es-progress[b-p6zqipm067] { height: 5px; border-radius: 5px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.es-progress span[b-p6zqipm067] { display: block; height: 100%; background: linear-gradient(90deg, #c026d3, #8b5cf6); }
.es-left[b-p6zqipm067] { margin-top: -8px; color: var(--text-3); font-size: .78rem; }
.es-desc[b-p6zqipm067] { margin: 0; white-space: pre-line; color: var(--text-2); font-size: .92rem; line-height: 1.6; overflow-wrap: anywhere; }
/* /Components/Pages/Podcast/InAscoltoPage.razor.rz.scp.css */
.ia[b-elcb6w7hjm] { display: flex; flex-direction: column; gap: 22px; }
.ia section[b-elcb6w7hjm] { display: flex; flex-direction: column; gap: 12px; }
.ia-h[b-elcb6w7hjm] { margin: 0 2px; font-family: var(--font-display); font-size: 1.1rem; font-weight: 650; display: flex; align-items: baseline; gap: 8px; }
.ia-h small[b-elcb6w7hjm] { font-family: var(--font); font-size: .78rem; font-weight: 500; color: var(--text-3); }
.ia-list[b-elcb6w7hjm] { display: flex; flex-direction: column; gap: 8px; }
.ia-item[b-elcb6w7hjm] { position: relative; display: flex; align-items: center; gap: 6px; }
.ia-item[b-elcb6w7hjm]  .er { flex: 1; min-width: 0; }
.ia-x[b-elcb6w7hjm] {
    flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; border: 0; background: none; color: var(--text-3); cursor: pointer; font-size: .9rem;
}
.ia-x:hover[b-elcb6w7hjm] { background: var(--surface); color: var(--text); }
/* /Components/Pages/Podcast/PodcastCover.razor.rz.scp.css */
.pcv[b-k6f94vmo7f] {
    position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 1; border-radius: 16px; overflow: hidden; flex: 0 0 auto;
    background: linear-gradient(145deg, hsl(var(--h) 70% 52%), hsl(calc(var(--h) + 40) 65% 30%));
    box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .9), inset 0 0 0 1px rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .92); font-family: var(--font-display); font-weight: 800; font-size: 2.2em; line-height: 1;
}
.pcv img[b-k6f94vmo7f] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pcv img[hidden][b-k6f94vmo7f] { display: none; }
.pcv.sm[b-k6f94vmo7f] { width: 52px; border-radius: 12px; font-size: 1.2rem; }
.pcv.xs[b-k6f94vmo7f] { width: 44px; border-radius: 10px; font-size: 1rem; }
.pcv.lg[b-k6f94vmo7f] { border-radius: 24px; font-size: 4rem; box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .95), inset 0 0 0 1px rgba(255, 255, 255, .1); }
/* /Components/Pages/Podcast/PodcastPage.razor.rz.scp.css */
.ps[b-xtyrb01105] { display: flex; flex-direction: column; gap: 16px; }

/* ---- ricerca grande */
.ps-search[b-xtyrb01105] {
    position: relative; display: flex; align-items: center; gap: 10px; height: 54px; padding: 0 14px 0 18px; border-radius: 18px;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-3); box-shadow: 0 16px 32px -22px rgba(0, 0, 0, .8);
}
.ps-search:focus-within[b-xtyrb01105] { border-color: rgba(192, 38, 211, .6); box-shadow: 0 0 0 4px rgba(192, 38, 211, .15); color: #e879f9; }
.ps-search input[b-xtyrb01105] { flex: 1; min-width: 0; height: 100%; background: none; border: 0; outline: 0; color: var(--text); font: inherit; font-size: 1.02rem; }
.ps-search input[b-xtyrb01105]::-webkit-search-cancel-button { display: none; }
.ps-clear[b-xtyrb01105] { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .08); color: var(--text-2); cursor: pointer; }

.ps-h[b-xtyrb01105] { margin: 2px 2px -4px; font-family: var(--font-display); font-size: 1.1rem; font-weight: 650; color: var(--text); display: flex; align-items: baseline; gap: 8px; }
.ps-h small[b-xtyrb01105] { font-family: var(--font); font-size: .78rem; font-weight: 500; color: var(--text-3); }

.ps-genres[b-xtyrb01105] { display: flex; gap: 6px; padding-bottom: 2px; }
.ps-genres .chip[b-xtyrb01105] { flex: 0 0 auto; height: 34px; padding: 0 13px; }

/* ---- griglia delle copertine */
.ps-grid[b-xtyrb01105] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
.ps-card[b-xtyrb01105] { display: flex; flex-direction: column; gap: 7px; color: inherit; text-decoration: none; min-width: 0; }
.ps-cover[b-xtyrb01105] { position: relative; display: block; transition: transform .15s ease; }
.ps-card:hover .ps-cover[b-xtyrb01105] { transform: translateY(-3px); }
.ps-card b[b-xtyrb01105] { font-size: .9rem; font-weight: 650; line-height: 1.25; color: var(--text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ps-card small[b-xtyrb01105] { margin-top: -3px; font-size: .76rem; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ps-rank[b-xtyrb01105] {
    position: absolute; left: 8px; bottom: 8px; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 10px; display: grid; place-items: center;
    background: rgba(10, 6, 24, .78); color: #fff; font-family: var(--font-display); font-weight: 800; font-size: .9rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .5);
}
.ps-badge[b-xtyrb01105] {
    position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
    background: rgba(10, 6, 24, .82); color: #facc15; font-size: .85rem; box-shadow: 0 4px 10px rgba(0, 0, 0, .5);
}

.ps-skel[b-xtyrb01105] { display: flex; flex-direction: column; gap: 7px; }
.ps-skel-cover[b-xtyrb01105] { display: block; aspect-ratio: 1; border-radius: 16px; }
.ps-skel-line[b-xtyrb01105] { display: block; height: 12px; border-radius: 6px; }
.ps-skel-line.short[b-xtyrb01105] { width: 60%; }

@media (min-width: 560px) { .ps-grid[b-xtyrb01105] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 760px) { .ps-grid[b-xtyrb01105] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 18px; } }
@media (min-width: 940px) { .ps-grid[b-xtyrb01105] { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
/* /Components/Pages/Podcast/PodcastShell.razor.rz.scp.css */
.pcs[b-9sif37ulnm] { display: flex; flex-direction: column; gap: 18px; max-width: 980px; margin: 0 auto; width: 100%; }
.pcs.has-player[b-9sif37ulnm] { padding-bottom: 88px; }

/* ---- mini lettore in basso */
.pc-mini[b-9sif37ulnm] {
    position: fixed; z-index: 45; left: 50%; bottom: calc(12px + var(--safe-bottom)); transform: translateX(-50%);
    width: min(940px, calc(100% - 20px)); display: flex; align-items: center; gap: 4px; padding: 8px 8px 8px 8px; border-radius: 22px;
    background: linear-gradient(115deg, rgba(46, 16, 101, .97), rgba(88, 28, 135, .97) 50%, rgba(112, 26, 117, .97));
    border: 1px solid rgba(255, 255, 255, .14); color: #fff; overflow: hidden;
    box-shadow: 0 22px 44px -14px rgba(0, 0, 0, .85), 0 0 0 1px rgba(0, 0, 0, .25);
}
.pc-mini-bar[b-9sif37ulnm] { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255, 255, 255, .12); }
.pc-mini-bar span[b-9sif37ulnm] { display: block; height: 100%; width: 0; background: linear-gradient(90deg, #f0abfc, #c4b5fd); }
.pc-mini-open[b-9sif37ulnm] {
    flex: 1; min-width: 0; display: flex; align-items: center; gap: 11px; padding: 0 4px 0 0; background: none; border: 0;
    color: inherit; font: inherit; text-align: left; cursor: pointer;
}
.pc-mini-text[b-9sif37ulnm] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pc-mini-text b[b-9sif37ulnm] { font-size: .92rem; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-mini-text small[b-9sif37ulnm] { display: flex; align-items: center; gap: 6px; font-size: .76rem; color: rgba(255, 255, 255, .72); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pc-mini.error .pc-mini-text small[b-9sif37ulnm] { color: #fecaca; }
.pc-mini-btn[b-9sif37ulnm], .pc-mini-play[b-9sif37ulnm] {
    flex: 0 0 auto; display: grid; place-items: center; border: 0; cursor: pointer; border-radius: 50%; color: #fff;
}
.pc-mini-btn[b-9sif37ulnm] { width: 40px; height: 40px; background: none; color: rgba(255, 255, 255, .88); }
.pc-mini-btn:hover[b-9sif37ulnm] { background: rgba(255, 255, 255, .12); }
.pc-mini-play[b-9sif37ulnm] { width: 46px; height: 46px; background: #fff; color: #581c87; box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .6); }
.pc-mini-play:active[b-9sif37ulnm], .pc-big-play:active[b-9sif37ulnm] { transform: scale(.94); }
@media (max-width: 360px) { .hide-xs[b-9sif37ulnm] { display: none; } }

.pc-spin[b-9sif37ulnm] {
    display: inline-block; width: 12px; height: 12px; border-radius: 50%; flex: 0 0 auto;
    border: 2px solid rgba(255, 255, 255, .25); border-top-color: #f0abfc; animation: pc-spin-b-9sif37ulnm .8s linear infinite;
}
.pc-spin.big[b-9sif37ulnm] { width: 30px; height: 30px; border-width: 3px; border-color: rgba(88, 28, 135, .2); border-top-color: #7e22ce; }
@keyframes pc-spin-b-9sif37ulnm { to { transform: rotate(360deg); } }

/* ---- lettore a tutto schermo */
.pc-full[b-9sif37ulnm] {
    position: fixed; inset: 0; z-index: 90; overflow: hidden; color: #fff;
    background: radial-gradient(120% 80% at 50% 0%, hsl(var(--h) 55% 32%), #0b0618 70%);
}
.pc-full-bg[b-9sif37ulnm] {
    position: absolute; inset: -10%; width: 120%; height: 120%; object-fit: cover; filter: blur(48px) saturate(1.4) brightness(.55);
    transform: scale(1.1); opacity: .9;
}
.pc-full-bg[hidden][b-9sif37ulnm] { display: none; }
.pc-full[b-9sif37ulnm]::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 4, 20, .25), rgba(8, 4, 20, .85)); }
.pc-full-in[b-9sif37ulnm] {
    position: relative; z-index: 1; height: 100%; max-width: 520px; margin: 0 auto; overflow-y: auto;
    display: flex; flex-direction: column; gap: 18px;
    padding: calc(14px + var(--safe-top)) 24px calc(24px + var(--safe-bottom));
}
.pc-full-top[b-9sif37ulnm] { display: flex; align-items: center; justify-content: space-between; }
.pc-full-top > span[b-9sif37ulnm] { font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.pc-round[b-9sif37ulnm] {
    width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; border: 0; cursor: pointer;
    background: rgba(255, 255, 255, .12); color: #fff;
}
.pc-round:hover[b-9sif37ulnm] { background: rgba(255, 255, 255, .2); }
.pc-full-art[b-9sif37ulnm] { width: min(100%, 46vh, 420px); align-self: center; margin-top: 2vh; transition: transform .35s ease; transform: scale(.9); }
.pc-full-art.on[b-9sif37ulnm] { transform: scale(1); }
.pc-full-text[b-9sif37ulnm] { display: flex; flex-direction: column; gap: 6px; margin-top: 6px; }
.pc-full-text b[b-9sif37ulnm] { font-family: var(--font-display); font-size: 1.3rem; line-height: 1.25; font-weight: 700; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pc-full-text a[b-9sif37ulnm] { color: #f0abfc; font-weight: 600; text-decoration: none; font-size: .95rem; }

.pc-seek[b-9sif37ulnm] { display: flex; flex-direction: column; gap: 6px; }
.pc-seek input[type=range][b-9sif37ulnm] {
    -webkit-appearance: none; appearance: none; width: 100%; height: 22px; background: none; margin: 0; cursor: pointer; --v: 0%;
}
.pc-seek input[type=range][b-9sif37ulnm]::-webkit-slider-runnable-track {
    height: 6px; border-radius: 6px; background: linear-gradient(90deg, #fff var(--v), rgba(255, 255, 255, .2) var(--v));
}
.pc-seek input[type=range][b-9sif37ulnm]::-moz-range-track { height: 6px; border-radius: 6px; background: rgba(255, 255, 255, .2); }
.pc-seek input[type=range][b-9sif37ulnm]::-moz-range-progress { height: 6px; border-radius: 6px; background: #fff; }
.pc-seek input[type=range][b-9sif37ulnm]::-webkit-slider-thumb {
    -webkit-appearance: none; width: 18px; height: 18px; margin-top: -6px; border-radius: 50%; background: #fff; border: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .5);
}
.pc-seek input[type=range][b-9sif37ulnm]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 0; }
.pc-times[b-9sif37ulnm] { display: flex; justify-content: space-between; font-size: .76rem; color: rgba(255, 255, 255, .7); font-variant-numeric: tabular-nums; }

.pc-ctrl[b-9sif37ulnm] { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pc-big-play[b-9sif37ulnm] {
    width: 78px; height: 78px; border-radius: 50%; display: grid; place-items: center; border: 0; cursor: pointer;
    background: #fff; color: #3b0764; box-shadow: 0 16px 34px -12px rgba(0, 0, 0, .8);
}
.pc-big-skip[b-9sif37ulnm] { width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; border: 0; cursor: pointer; background: none; color: #fff; }
.pc-big-skip:hover[b-9sif37ulnm] { background: rgba(255, 255, 255, .1); }
.pc-rate[b-9sif37ulnm] {
    min-width: 50px; height: 36px; padding: 0 10px; border-radius: 999px; display: grid; place-items: center; border: 0; cursor: pointer;
    background: rgba(255, 255, 255, .12); color: #fff; font: inherit; font-size: .84rem; font-weight: 700; font-variant-numeric: tabular-nums;
}
.pc-rate.on[b-9sif37ulnm] { background: rgba(240, 171, 252, .3); color: #fae8ff; }
.pc-sleep[b-9sif37ulnm] { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.pc-sleep-note[b-9sif37ulnm] { margin: 0; text-align: center; font-size: .82rem; color: rgba(255, 255, 255, .75); }
.pc-full-foot[b-9sif37ulnm] { display: flex; justify-content: center; margin-top: auto; padding-top: 6px; }

@media (min-width: 720px) {
    .pc-mini[b-9sif37ulnm] { padding: 10px 12px; }
    .pcs.has-player[b-9sif37ulnm] { padding-bottom: 96px; }
}
/* /Components/Pages/Podcast/SeguitiPage.razor.rz.scp.css */
.sg[b-gf3tjpd3je] { display: flex; flex-direction: column; gap: 22px; }
.sg section[b-gf3tjpd3je] { display: flex; flex-direction: column; gap: 12px; }
.sg-h[b-gf3tjpd3je] { margin: 0 2px; font-family: var(--font-display); font-size: 1.1rem; font-weight: 650; display: flex; align-items: baseline; gap: 8px; }
.sg-h small[b-gf3tjpd3je] { font-family: var(--font); font-size: .78rem; font-weight: 500; color: var(--text-3); }

.sg-shows[b-gf3tjpd3je] { display: flex; gap: 14px; padding-bottom: 4px; }
.sg-show[b-gf3tjpd3je] { flex: 0 0 auto; width: 112px; display: flex; flex-direction: column; gap: 7px; color: inherit; text-decoration: none; }
.sg-show span[b-gf3tjpd3je] { font-size: .8rem; font-weight: 600; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.sg-day[b-gf3tjpd3je] { margin: 6px 4px -4px; font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); }
.sg-list[b-gf3tjpd3je] { display: flex; flex-direction: column; gap: 8px; }
.sg-skel[b-gf3tjpd3je] { display: block; height: 76px; border-radius: 18px; }

@media (min-width: 720px) { .sg-show[b-gf3tjpd3je] { width: 132px; } }
/* /Components/Pages/Podcast/ShowPage.razor.rz.scp.css */
.sp[b-rlb65ysn9d] { display: flex; flex-direction: column; gap: 16px; }

/* ---- testata con la copertina e il suo colore sfocato dietro */
.sp-hero[b-rlb65ysn9d] {
    position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; align-items: center; gap: 18px;
    padding: 26px 20px 22px; border-radius: 28px; text-align: center; border: 1px solid rgba(255, 255, 255, .1);
    background: radial-gradient(120% 90% at 50% 0%, hsl(var(--h) 55% 30%), #0d0820 75%);
    box-shadow: 0 30px 60px -36px rgba(0, 0, 0, .95);
}
.sp-bg[b-rlb65ysn9d] {
    position: absolute; inset: -20%; z-index: -2; width: 140%; height: 140%; object-fit: cover;
    filter: blur(44px) saturate(1.5) brightness(.5); opacity: .95;
}
.sp-bg[hidden][b-rlb65ysn9d] { display: none; }
.sp-hero[b-rlb65ysn9d]::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10, 6, 24, .1), rgba(10, 6, 24, .72)); }
.sp-cover[b-rlb65ysn9d] { width: min(62vw, 240px); }
.sp-head[b-rlb65ysn9d] { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; }
.sp-genre[b-rlb65ysn9d] {
    padding: 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, .12); color: #f5d0fe;
    font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.sp-head h1[b-rlb65ysn9d] { margin: 4px 0 0; font-family: var(--font-display); font-size: clamp(1.4rem, 5vw, 2rem); line-height: 1.15; font-weight: 750; color: #fff; }
.sp-author[b-rlb65ysn9d] { margin: 0; color: rgba(255, 255, 255, .75); font-size: .95rem; }
.sp-actions[b-rlb65ysn9d] { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 12px; }
.sp-play[b-rlb65ysn9d], .sp-follow[b-rlb65ysn9d] {
    height: 48px; padding: 0 22px; border-radius: 999px; border: 0; cursor: pointer; font: inherit; font-weight: 700; font-size: .95rem;
    display: inline-flex; align-items: center; gap: 9px;
}
.sp-play[b-rlb65ysn9d] { background: #fff; color: #581c87; box-shadow: 0 12px 26px -12px rgba(0, 0, 0, .8); }
.sp-follow[b-rlb65ysn9d] { background: rgba(255, 255, 255, .14); color: #fff; border: 1px solid rgba(255, 255, 255, .2); }
.sp-follow.on[b-rlb65ysn9d] { background: rgba(250, 204, 21, .18); border-color: rgba(250, 204, 21, .45); color: #fde68a; }
.sp-play:active[b-rlb65ysn9d], .sp-follow:active[b-rlb65ysn9d] { transform: scale(.96); }

.sp-about[b-rlb65ysn9d] { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 0 4px; }
.sp-about p[b-rlb65ysn9d] { margin: 0; white-space: pre-line; color: var(--text-2); font-size: .93rem; line-height: 1.6; overflow-wrap: anywhere; }
.sp-about p.clamp[b-rlb65ysn9d] { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sp-about button[b-rlb65ysn9d] { padding: 0; border: 0; background: none; color: #e879f9; font: inherit; font-weight: 700; font-size: .88rem; cursor: pointer; }

.sp-list-head[b-rlb65ysn9d] { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; }
.sp-list-head h2[b-rlb65ysn9d] { margin: 0 2px; font-family: var(--font-display); font-size: 1.1rem; font-weight: 650; }
.sp-list[b-rlb65ysn9d] { display: flex; flex-direction: column; gap: 8px; }

.sp-skel-cover[b-rlb65ysn9d] { display: block; width: min(62vw, 240px); aspect-ratio: 1; border-radius: 24px; }
.sp-skel-line[b-rlb65ysn9d] { display: block; width: 220px; height: 18px; border-radius: 8px; }
.sp-skel-line.short[b-rlb65ysn9d] { width: 140px; }
.sp-skel-row[b-rlb65ysn9d] { display: block; height: 76px; border-radius: 18px; }

@media (min-width: 720px) {
    .sp-hero[b-rlb65ysn9d] { flex-direction: row; align-items: center; text-align: left; padding: 30px; gap: 30px; }
    .sp-cover[b-rlb65ysn9d] { width: 220px; flex: 0 0 auto; }
    .sp-head[b-rlb65ysn9d] { align-items: flex-start; }
    .sp-actions[b-rlb65ysn9d] { justify-content: flex-start; }
}
/* /Components/Pages/Progetti/CestinoPage.razor.rz.scp.css */
/* Cestino */
.pjm[b-x5x4xtyanq] { display: flex; flex-direction: column; gap: 12px; padding-bottom: 40px; }
.pjc-head[b-x5x4xtyanq] { align-items: center; gap: 12px; flex-wrap: wrap; }
.pjc-head p[b-x5x4xtyanq] { margin: 0; font-size: .9rem; min-width: 220px; }
/* /Components/Pages/Progetti/ModelliPage.razor.rz.scp.css */
/* Modelli */
.pjm[b-j919xg9tvy] { display: flex; flex-direction: column; gap: 12px; padding-bottom: 40px; }
.pjh-sec[b-j919xg9tvy] { font-family: var(--font-display); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--text-3); margin: 10px 2px 0; }
.pjm-grid[b-j919xg9tvy] { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.pjm-card[b-j919xg9tvy] { display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); }
.pjm-card .grow[b-j919xg9tvy] { min-width: 0; }
.pjm-card .dim[b-j919xg9tvy] { font-size: .84rem; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.pjm-ico[b-j919xg9tvy] { font-size: 1.8rem; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: rgba(255,255,255,.05); flex: none; }
.pjm-howto ol[b-j919xg9tvy] { margin: 10px 0; padding-left: 1.3em; line-height: 1.6; color: var(--text-2); }
.pjm-howto p[b-j919xg9tvy] { margin: 0; font-size: .86rem; }
.pjm-emoji[b-j919xg9tvy] { width: 90px; font-size: 1.4rem; text-align: center; }
@media (max-width: 640px) { .pjm-grid[b-j919xg9tvy] { grid-template-columns: 1fr; } }
/* /Components/Pages/Progetti/NewProjectSheet.razor.rz.scp.css */
/* «Nuovo progetto» */
.np[b-wfp3pshbju] { display: flex; flex-direction: column; gap: 6px; }
.np-areas[b-wfp3pshbju] { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.np-custom[b-wfp3pshbju] { width: 160px; height: 36px; }
.np-tpls[b-wfp3pshbju] { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.np-tpl[b-wfp3pshbju] { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 14px; border-radius: 16px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font: inherit; text-align: left; cursor: pointer; }
.np-tpl:hover[b-wfp3pshbju] { border-color: var(--border-strong); }
.np-tpl.active[b-wfp3pshbju] { border-color: var(--accent); background: color-mix(in oklab, var(--accent) 14%, transparent); box-shadow: 0 0 0 1px var(--accent); }
.np-tpl-ico[b-wfp3pshbju] { font-size: 1.6rem; line-height: 1; flex: none; }
.np-tpl-body[b-wfp3pshbju] { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding-right: 18px; }
.np-tpl-body b[b-wfp3pshbju] { display: flex; align-items: center; gap: 6px; }
.np-tpl-body .dim[b-wfp3pshbju] { font-size: .82rem; line-height: 1.35; }
.np-tpl-check[b-wfp3pshbju] { position: absolute; top: 10px; right: 10px; width: 20px; height: 20px; border-radius: 50%; background: var(--accent); color: #fff; font-size: .7rem; font-weight: 800; display: none; place-items: center; }
.np-tpl.active .np-tpl-check[b-wfp3pshbju] { display: grid; }
.np-hint[b-wfp3pshbju] { font-size: .82rem; margin: 10px 0 0; }
@media (max-width: 640px) { .np-tpls[b-wfp3pshbju] { grid-template-columns: 1fr; } }
/* /Components/Pages/Progetti/ProgettiPage.razor.rz.scp.css */
/* Progetti · home: schede con copertina, ricerca, filtri */
.pjh[b-teijxktxq3] { display: flex; flex-direction: column; gap: 14px; padding-bottom: 90px; }

.pjh-tools[b-teijxktxq3] { display: flex; gap: 10px; }
.pjh-search[b-teijxktxq3] { position: relative; flex: 1; max-width: 560px; display: block; }
.pjh-search svg[b-teijxktxq3] { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--text-3); pointer-events: none; }
.pjh-search .input[b-teijxktxq3] { width: 100%; padding-left: 42px; height: 46px; border-radius: 14px; }
.pjh-chips[b-teijxktxq3] { display: flex; gap: 8px; }
.pjh-chips .chip[b-teijxktxq3] { flex: none; }
.pjh-n[b-teijxktxq3] { font-size: .75rem; opacity: .7; margin-left: 2px; }
.pjh-sec[b-teijxktxq3] { font-family: var(--font-display); font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--text-3); margin: 10px 2px -2px; }

.pjh-grid[b-teijxktxq3] { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.pjh-card[b-teijxktxq3] { position: relative; display: flex; flex-direction: column; border-radius: 22px; overflow: hidden; background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)); border: 1px solid var(--border); color: var(--text); text-decoration: none; box-shadow: 0 14px 34px -22px rgba(0,0,0,.9); transition: border-color .15s, transform .15s; }
.pjh-card:hover[b-teijxktxq3] { border-color: color-mix(in oklab, var(--pj-accent) 55%, transparent); transform: translateY(-2px); }
.pjh-card:focus-visible[b-teijxktxq3] { outline: 2px solid var(--pj-accent); outline-offset: 3px; }
.pjh-card.sk[b-teijxktxq3] { pointer-events: none; }
.pjh-star[b-teijxktxq3] { position: absolute; top: 14px; right: 10px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(8,7,24,.55); color: rgba(255,255,255,.8); font-size: 1.05rem; cursor: pointer; display: grid; place-items: center; }
.pjh-star:hover[b-teijxktxq3] { background: rgba(8,7,24,.8); color: #fff; }
.pjh-star.on[b-teijxktxq3] { color: #facc15; }
.pjh-card[b-teijxktxq3]::before { content: ""; display: block; height: 4px; background: linear-gradient(90deg, var(--pj-accent), color-mix(in oklab, var(--pj-accent) 25%, transparent)); }
.pjh-body[b-teijxktxq3] { padding: 18px 56px 18px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.pjh-title[b-teijxktxq3] { font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.pjh-desc[b-teijxktxq3] { color: var(--text-2); font-size: .9rem; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pjh-meta[b-teijxktxq3] { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 4px; }
.pjh-meta > span[b-teijxktxq3] { display: inline-flex; align-items: center; gap: 4px; height: 24px; padding: 0 9px; border-radius: 99px; font-size: .76rem; background: var(--surface); border: 1px solid var(--border); color: var(--text-2); white-space: nowrap; }
.pjh-st.st-attivo[b-teijxktxq3] { color: var(--success) !important; border-color: color-mix(in oklab, var(--success) 35%, transparent) !important; }
.pjh-st.st-fatto[b-teijxktxq3] { color: color-mix(in oklab, var(--pj-accent) 70%, white) !important; }
.pjh-st.st-pausa[b-teijxktxq3] { color: var(--warning) !important; }
.pjh-due.late[b-teijxktxq3] { color: var(--danger) !important; border-color: color-mix(in oklab, var(--danger) 40%, transparent) !important; }
.pjh-tag[b-teijxktxq3] { background: transparent !important; }
.pjh-prog[b-teijxktxq3] { display: flex; align-items: center; gap: 10px; font-size: .78rem; color: var(--text-2); }
.pjh-prog .progress[b-teijxktxq3] { flex: 1; height: 6px; }
.pjh-prog .progress > span[b-teijxktxq3] { background: linear-gradient(90deg, var(--pj-accent), color-mix(in oklab, var(--pj-accent) 50%, #22d3ee)); box-shadow: none; }

.pjh-hits .list-item[b-teijxktxq3] { text-decoration: none; color: var(--text); }
.pjh-hit[b-teijxktxq3] { display: flex; flex-direction: column; min-width: 0; }
.pjh-hit .dim[b-teijxktxq3] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* primo progetto */
.pjh-welcome[b-teijxktxq3] { text-align: center; padding: 26px 8px 10px; max-width: 860px; margin: 0 auto; }
.pjh-welcome-ico[b-teijxktxq3] { font-size: 3.2rem; }
.pjh-welcome h2[b-teijxktxq3] { font-family: var(--font-display); font-size: 1.7rem; margin: 8px 0 6px; }
.pjh-welcome > p[b-teijxktxq3] { max-width: 520px; margin: 0 auto 22px; }
.pjh-starts[b-teijxktxq3] { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; text-align: left; }
.pjh-start[b-teijxktxq3] { display: flex; flex-direction: column; gap: 6px; padding: 18px; border-radius: 20px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font: inherit; cursor: pointer; }
.pjh-start:hover[b-teijxktxq3] { border-color: color-mix(in oklab, var(--accent) 55%, transparent); background: var(--surface-2); }
.pjh-start-ico[b-teijxktxq3] { font-size: 1.8rem; }
.pjh-start b[b-teijxktxq3] { font-family: var(--font-display); font-size: 1.05rem; }
.pjh-start .dim[b-teijxktxq3] { font-size: .84rem; line-height: 1.4; }

.pjh-fab[b-teijxktxq3] { display: none; }
@media (max-width: 640px) {
    .pjh-grid[b-teijxktxq3] { grid-template-columns: 1fr; gap: 12px; }
    .pjh-starts[b-teijxktxq3] { grid-template-columns: 1fr 1fr; }
    .pjh-fab[b-teijxktxq3] { display: grid; }
}
/* /Components/Pages/Promemoria/Bell3D.razor.rz.scp.css */
.bell3d[b-q70bfgp8v3] { position: relative; width: var(--size); height: var(--size); perspective: 600px; flex: none; }
.bell-float[b-q70bfgp8v3] { position: absolute; inset: 0; transform-style: preserve-3d; animation: bell-float-b-q70bfgp8v3 5s ease-in-out infinite; }
.bell-swing[b-q70bfgp8v3] { position: absolute; inset: 8% 14% 6%; transform-origin: 50% 4%; transform-style: preserve-3d; animation: bell-swing-b-q70bfgp8v3 3.2s ease-in-out infinite; }
.ringing .bell-swing[b-q70bfgp8v3] { animation: bell-ring-b-q70bfgp8v3 .9s ease-in-out infinite; }
.bell-knob[b-q70bfgp8v3] { position: absolute; left: 50%; top: 0; width: 18%; height: 14%; transform: translateX(-50%); border-radius: 50% 50% 30% 30%;
    background: radial-gradient(circle at 35% 30%, #fff8, transparent 45%), linear-gradient(135deg, var(--b1), color-mix(in oklab, var(--b1) 50%, #7c2d12)); box-shadow: inset 0 -3px 5px rgba(0,0,0,.35); }
.bell-body[b-q70bfgp8v3] { position: absolute; left: 6%; right: 6%; top: 10%; bottom: 14%; border-radius: 48% 48% 14% 14% / 62% 62% 12% 12%;
    background:
        radial-gradient(120% 90% at 30% 20%, rgba(255,255,255,.75), transparent 38%),
        linear-gradient(100deg, color-mix(in oklab, var(--b1) 60%, #7c2d12) 0%, var(--b1) 28%, color-mix(in oklab, var(--b1) 70%, white) 45%, var(--b1) 62%, var(--b2) 100%);
    box-shadow: inset -10px -12px 22px rgba(0,0,0,.35), inset 8px 6px 14px rgba(255,255,255,.25), 0 18px 30px -12px color-mix(in oklab, var(--b2) 80%, transparent);
    transform: translateZ(10px); }
.bell-shine[b-q70bfgp8v3] { position: absolute; left: 18%; top: 16%; width: 16%; height: 52%; border-radius: 50%; background: linear-gradient(180deg, rgba(255,255,255,.8), transparent); filter: blur(1px); transform: rotate(12deg); }
.bell-lip[b-q70bfgp8v3] { position: absolute; left: 0; right: 0; bottom: 8%; height: 14%; border-radius: 50%;
    background: linear-gradient(180deg, color-mix(in oklab, var(--b1) 70%, white), color-mix(in oklab, var(--b2) 70%, #450a0a)); box-shadow: 0 6px 10px -4px rgba(0,0,0,.6); transform: translateZ(12px); }
.bell-clapper[b-q70bfgp8v3] { position: absolute; left: 50%; bottom: -2%; width: 16%; height: 16%; margin-left: -8%; border-radius: 50%; transform-origin: 50% -250%;
    background: radial-gradient(circle at 35% 30%, #fff, color-mix(in oklab, var(--b1) 80%, #7c2d12) 60%); box-shadow: 0 4px 8px rgba(0,0,0,.5); animation: bell-clap-b-q70bfgp8v3 3.2s ease-in-out infinite; }
.ringing .bell-clapper[b-q70bfgp8v3] { animation: bell-clap-b-q70bfgp8v3 .9s ease-in-out infinite; }
.bell-wave[b-q70bfgp8v3] { position: absolute; left: 50%; top: 45%; width: 70%; height: 70%; border-radius: 50%; border: 2px solid color-mix(in oklab, var(--b1) 70%, transparent); transform: translate(-50%, -50%) scale(.6); opacity: 0; pointer-events: none; }
.ringing .bell-wave[b-q70bfgp8v3], .bell3d:hover .bell-wave[b-q70bfgp8v3] { animation: bell-wave-b-q70bfgp8v3 1.8s ease-out infinite; }
.bell-wave.w2[b-q70bfgp8v3] { animation-delay: .6s !important; }
.bell-wave.w3[b-q70bfgp8v3] { animation-delay: 1.2s !important; }
.bell-shadow[b-q70bfgp8v3] { position: absolute; left: 22%; right: 22%; bottom: -4%; height: 8%; border-radius: 50%; background: radial-gradient(closest-side, rgba(0,0,0,.55), transparent); filter: blur(3px); animation: bell-shadow-b-q70bfgp8v3 5s ease-in-out infinite; }
@keyframes bell-float-b-q70bfgp8v3 { 0%, 100% { transform: translateY(0) rotateY(-18deg); } 50% { transform: translateY(-6%) rotateY(18deg); } }
@keyframes bell-swing-b-q70bfgp8v3 { 0%, 100% { transform: rotate(0); } 10% { transform: rotate(14deg); } 20% { transform: rotate(-11deg); } 30% { transform: rotate(7deg); } 40% { transform: rotate(-4deg); } 50% { transform: rotate(0); } }
@keyframes bell-ring-b-q70bfgp8v3 { 0%, 100% { transform: rotate(-22deg); } 50% { transform: rotate(22deg); } }
@keyframes bell-clap-b-q70bfgp8v3 { 0%, 100% { transform: rotate(0); } 10% { transform: rotate(-18deg); } 20% { transform: rotate(14deg); } 30% { transform: rotate(-9deg); } 40% { transform: rotate(5deg); } 50% { transform: rotate(0); } }
@keyframes bell-wave-b-q70bfgp8v3 { from { opacity: .9; transform: translate(-50%, -50%) scale(.6); } to { opacity: 0; transform: translate(-50%, -50%) scale(1.8); } }
@keyframes bell-shadow-b-q70bfgp8v3 { 0%, 100% { transform: scaleX(1); opacity: .9; } 50% { transform: scaleX(.8); opacity: .6; } }
/* /Components/Pages/Promemoria/Clock3D.razor.rz.scp.css */
.clk[b-s4yep37pdv] { position: relative; width: var(--size); height: var(--size); flex: none; border-radius: 50%; transform-style: preserve-3d; }
.clk-float[b-s4yep37pdv] { position: absolute; inset: 0; transform-style: preserve-3d; animation: clk-float-b-s4yep37pdv 7s ease-in-out infinite; }
.clk-layer[b-s4yep37pdv] { position: absolute; inset: 0; border-radius: 50%; transform: translateZ(var(--z));
    background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 70%, #1e0a14), color-mix(in oklab, var(--accent-2) 55%, #14061a)); filter: brightness(calc(1 - var(--l))); }
.clk-face[b-s4yep37pdv] { position: absolute; inset: 0; border-radius: 50%; transform: translateZ(2px);
    background: radial-gradient(circle at 50% 45%, rgba(40,20,50,.94), rgba(12,8,26,.97) 70%);
    border: 5px solid color-mix(in oklab, var(--accent) 65%, white);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.08), inset 0 10px 30px rgba(0,0,0,.6), 0 30px 60px -20px color-mix(in oklab, var(--accent) 80%, transparent), 0 0 40px -10px var(--accent-2); }
.clk-tick[b-s4yep37pdv] { position: absolute; left: 50%; top: 6%; width: 2px; height: 7%; margin-left: -1px; background: rgba(255,255,255,.4); border-radius: 2px; transform-origin: 50% calc((var(--size) - 10px) * .44); transform: rotate(var(--a)); }
.clk-tick.big[b-s4yep37pdv] { width: 4px; margin-left: -2px; height: 10%; background: #fff; box-shadow: 0 0 8px var(--accent-2); }
.clk-hand[b-s4yep37pdv] { position: absolute; left: 50%; bottom: 50%; transform-origin: 50% 100%; border-radius: 4px; translate: -50% 0; }
.clk-hand.h[b-s4yep37pdv] { width: 6px; height: 24%; background: linear-gradient(#fff, #f5d0fe); animation: clk-spin-b-s4yep37pdv 43200s linear infinite; animation-delay: calc(var(--hs) * -1s); box-shadow: 0 2px 6px rgba(0,0,0,.5); }
.clk-hand.m[b-s4yep37pdv] { width: 4px; height: 34%; background: linear-gradient(#fff, #fecdd3); animation: clk-spin-b-s4yep37pdv 3600s linear infinite; animation-delay: calc(var(--ms) * -1s); box-shadow: 0 2px 6px rgba(0,0,0,.5); }
.clk-hand.s[b-s4yep37pdv] { width: 2px; height: 40%; background: var(--accent-2); animation: clk-spin-b-s4yep37pdv 60s steps(60) infinite; animation-delay: calc(var(--ss) * -1s); box-shadow: 0 0 8px var(--accent-2); }
.clk-pin[b-s4yep37pdv] { position: absolute; left: 50%; top: 50%; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, var(--accent)); box-shadow: 0 0 10px var(--accent); }
.clk-glass[b-s4yep37pdv] { position: absolute; inset: 0; border-radius: 50%; background: linear-gradient(140deg, rgba(255,255,255,.28), transparent 38%, transparent 70%, rgba(255,255,255,.08)); pointer-events: none; }
@keyframes clk-spin-b-s4yep37pdv { from { rotate: 0deg; } to { rotate: 360deg; } }
@keyframes clk-float-b-s4yep37pdv { 0%, 100% { transform: rotateX(8deg) rotateY(-16deg); } 50% { transform: rotateX(-6deg) rotateY(16deg) translateY(-4px); } }
/* /Components/Pages/Promemoria/MiniCalendar.razor.rz.scp.css */
.mc[b-gq2pl2tadd] { padding: 14px; }
.mc-head[b-gq2pl2tadd] { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; text-align: center; font-family: var(--font-display); }
.mc-grid[b-gq2pl2tadd] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.mc-dow[b-gq2pl2tadd] { text-align: center; font-size: .68rem; font-weight: 700; color: var(--text-3); letter-spacing: .06em; padding-bottom: 2px; }
.mc-day[b-gq2pl2tadd] {
    position: relative; aspect-ratio: 1; min-height: 34px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    border: 1px solid transparent; border-radius: 11px; background: rgba(255,255,255,.03); color: var(--text); cursor: pointer; padding: 0; font-size: .86rem;
    transition: transform .3s var(--ease-spring), background .2s, border-color .2s;
    animation: mc-in-b-gq2pl2tadd .5s var(--ease-out) backwards; animation-delay: calc(var(--i) * 12ms);
}
.mc-day:hover[b-gq2pl2tadd] { background: var(--surface-2); transform: translateY(-2px) scale(1.06); }
.mc-day.past[b-gq2pl2tadd] { color: var(--text-3); }
.mc-day.has[b-gq2pl2tadd] { background: rgba(255,255,255,.07); }
.mc-day.today[b-gq2pl2tadd] { border-color: color-mix(in oklab, var(--accent) 70%, white); box-shadow: 0 0 16px -4px var(--accent); }
.mc-day.sel[b-gq2pl2tadd] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; transform: scale(1.06); }
.mc-dots[b-gq2pl2tadd] { display: flex; gap: 2px; height: 5px; }
.mc-dots i[b-gq2pl2tadd] { width: 5px; height: 5px; border-radius: 50%; background: var(--dc); box-shadow: 0 0 6px var(--dc); }
.mc-day.sel .mc-dots i[b-gq2pl2tadd] { background: #fff; }
@keyframes mc-in-b-gq2pl2tadd { from { opacity: 0; transform: rotateX(-50deg) scale(.8); } }

.mc-mode[b-gq2pl2tadd] { display: flex; margin-bottom: 10px; }
.mc-mode button[b-gq2pl2tadd] { flex: 1; }
.mc-year[b-gq2pl2tadd] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.mc-ym[b-gq2pl2tadd] {
    display: flex; flex-direction: column; gap: 4px; padding: 7px 6px 8px; border-radius: 12px; cursor: pointer; text-align: left; min-width: 0;
    background: rgba(255,255,255,.03); border: 1px solid transparent; color: var(--text); font: inherit;
}
.mc-ym:hover[b-gq2pl2tadd] { background: var(--surface-2); }
.mc-ym.cur[b-gq2pl2tadd] { border-color: color-mix(in oklab, var(--accent) 60%, transparent); }
.mc-ym-head[b-gq2pl2tadd] { display: flex; align-items: center; justify-content: space-between; gap: 4px; font-size: .74rem; font-weight: 700; }
.mc-ym-head em[b-gq2pl2tadd] { font-style: normal; font-size: .64rem; padding: 0 5px; border-radius: 99px; background: color-mix(in oklab, var(--accent) 35%, transparent); }
.mc-ym-grid[b-gq2pl2tadd] { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.mc-ym-grid i[b-gq2pl2tadd] { aspect-ratio: 1; border-radius: 4px; background: rgba(255,255,255,.06); display: grid; place-items: center; font-style: normal; font-size: .6rem; font-weight: 600; line-height: 1; color: var(--text-2); font-variant-numeric: tabular-nums; min-width: 0; overflow: hidden; }
.mc-ym-grid i.past[b-gq2pl2tadd] { color: var(--text-3); }
.mc-ym-grid i.e[b-gq2pl2tadd] { background: none; }
.mc-ym-grid i.has[b-gq2pl2tadd] { background: var(--dc); box-shadow: 0 0 4px var(--dc); color: #fff; font-weight: 800; }
.mc-ym-grid i.today[b-gq2pl2tadd] { outline: 1.5px solid #fff; color: #fff; }
@media (max-width: 560px) {
    .mc-year[b-gq2pl2tadd] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .mc-ym[b-gq2pl2tadd] { padding: 8px 8px 10px; }
    .mc-ym-head[b-gq2pl2tadd] { font-size: .84rem; }
    .mc-ym-grid[b-gq2pl2tadd] { gap: 3px; }
    .mc-ym-grid i[b-gq2pl2tadd] { font-size: .68rem; }
}
/* /Components/Pages/Promemoria/PromemoriaPage.razor.rz.scp.css */

.pm-hero-bell[b-1vkwxpydih] { margin-right: 8px; }

/* ---------- Testata: orologio + calendario ---------- */
.pm-top[b-1vkwxpydih] { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px; margin-bottom: 18px; align-items: start; }
.pm-now[b-1vkwxpydih] { display: flex; align-items: center; gap: 22px; height: 100%; padding: 22px; overflow: visible;
    background: linear-gradient(140deg, color-mix(in oklab, var(--accent) 26%, transparent), color-mix(in oklab, var(--accent-2) 10%, transparent) 60%, rgba(255,255,255,.02)); }
.pm-now-text[b-1vkwxpydih] { min-width: 0; }
.pm-now-time[b-1vkwxpydih] { font-size: clamp(2.4rem, 6vw, 3.4rem); font-weight: 700; line-height: 1; letter-spacing: -.04em;
    background: linear-gradient(120deg, #fff, color-mix(in oklab, var(--accent-2) 70%, white)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pm-next[b-1vkwxpydih] { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; width: 100%; margin-top: 12px; padding: 10px 12px; border-radius: 14px; cursor: pointer; text-align: left; color: var(--text); font: inherit;
    background: rgba(0,0,0,.25); border: 1px solid color-mix(in oklab, var(--c) 40%, var(--border)); transition: transform .3s var(--ease-spring), background .2s; }
.pm-next:hover[b-1vkwxpydih] { transform: translateY(-2px); background: rgba(0,0,0,.35); }
.pm-next strong[b-1vkwxpydih] { max-width: 100%; }
.pm-next-rel[b-1vkwxpydih] { font-size: .8rem; font-weight: 700; color: color-mix(in oklab, var(--c) 60%, white); }


/* ---------- Inserimento rapido ---------- */
@keyframes pm-spark-b-1vkwxpydih { 0%, 100% { transform: rotate(0) scale(1); } 50% { transform: rotate(18deg) scale(1.15); } }

/* ---------- Tab viste ---------- */
.pm-views[b-1vkwxpydih] { scroll-snap-type: none; margin-bottom: 18px; padding: 4px; border-radius: 18px; background: rgba(0,0,0,.25); border: 1px solid var(--border); width: fit-content; max-width: 100%; gap: 4px; }
.pm-tab[b-1vkwxpydih] { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 13px; border: 0; background: transparent; color: var(--text-2); font-weight: 600; font-size: .88rem; cursor: pointer; white-space: nowrap; transition: all .3s var(--ease-out); }
.pm-tab:hover[b-1vkwxpydih] { color: var(--text); background: var(--surface); }
.pm-tab.active[b-1vkwxpydih] { color: #fff; background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 70%, transparent), color-mix(in oklab, var(--accent-2) 40%, transparent)); box-shadow: 0 8px 20px -8px var(--accent); }
@keyframes pm-pulse-b-1vkwxpydih { 50% { box-shadow: 0 0 0 5px color-mix(in oklab, var(--danger) 25%, transparent); } }

/* ---------- Layout ---------- */
.pm-layout[b-1vkwxpydih] { display: block; }
.pm-main[b-1vkwxpydih] { min-width: 0; }
.pm-dayhead[b-1vkwxpydih] { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; font-family: var(--font-display); font-size: 1.1rem; }

/* ---------- Timeline scroll-driven ---------- */
.pm-tl[b-1vkwxpydih] { position: relative; display: flex; flex-direction: column; gap: 24px; }
.pm-tl[b-1vkwxpydih]::before { content: ""; position: absolute; left: 14px; top: 8px; bottom: 8px; width: 2px; border-radius: 2px; background: linear-gradient(var(--border-strong), transparent); }
.pm-group[b-1vkwxpydih] { position: relative; display: flex; flex-direction: column; gap: 10px; }
.pm-group[b-1vkwxpydih]::before { content: ""; position: absolute; left: 14px; top: 30px; bottom: 0; width: 2px; border-radius: 2px; transform-origin: top;
    background: linear-gradient(var(--accent), var(--accent-2)); box-shadow: 0 0 12px var(--accent); }
@supports (animation-timeline: view()) {
    .pm-group[b-1vkwxpydih]::before { animation: pm-line-b-1vkwxpydih linear both; animation-timeline: view(); animation-range: entry 20% cover 60%; }
    @keyframes pm-line-b-1vkwxpydih { from { transform: scaleY(0); } to { transform: scaleY(1); } }
}
.pm-ghead[b-1vkwxpydih] { display: flex; align-items: center; gap: 12px; position: relative; z-index: 1; }
.pm-gdate[b-1vkwxpydih] { width: 30px; height: 36px; flex: none; border-radius: 11px; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1;
    background: rgba(18,14,40,.95); border: 1px solid var(--border-strong); box-shadow: var(--shadow-1); }
.pm-gdate .num[b-1vkwxpydih] { font-size: 1rem; font-weight: 700; }
.pm-gdate span:last-child:not(:first-child)[b-1vkwxpydih] { font-size: .52rem; text-transform: uppercase; letter-spacing: .06em; color: var(--text-2); font-weight: 700; }
.pm-ghead.today .pm-gdate[b-1vkwxpydih] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; box-shadow: 0 8px 22px -8px var(--accent); }
.pm-ghead.today .pm-gdate span[b-1vkwxpydih] { color: #fff !important; }
.pm-ghead.late .pm-gdate[b-1vkwxpydih] { border-color: var(--danger); box-shadow: 0 0 18px -4px var(--danger); }

/* ---------- Fatti ---------- */
.pm-done[b-1vkwxpydih] { display: flex; align-items: center; gap: 12px; margin-left: 34px; padding: 10px 12px; border-radius: 16px; background: rgba(255,255,255,.04); border: 1px solid var(--border);
    animation: pm-done-in-b-1vkwxpydih .5s var(--ease-out) backwards; animation-delay: calc(min(var(--i), 14) * 40ms); }
.pm-done-check[b-1vkwxpydih] { width: 28px; height: 28px; flex: none; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #052e1f; background: var(--c); box-shadow: 0 0 12px -2px var(--c); }
.pm-done-title[b-1vkwxpydih] { font-weight: 600; text-decoration: line-through; text-decoration-color: color-mix(in oklab, var(--c) 70%, transparent); overflow-wrap: anywhere; }
@keyframes pm-done-in-b-1vkwxpydih { from { opacity: 0; transform: translateY(12px) rotateX(-30deg); } }

/* ---------- Colonna laterale ---------- */

@media (max-width: 1000px) {
    .pm-top[b-1vkwxpydih] { grid-template-columns: minmax(0, 1fr); }
    .pm-layout[b-1vkwxpydih] { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
    .pm-now[b-1vkwxpydih] { gap: 14px; padding: 16px; }
    .pm-now[b-1vkwxpydih]  .clk { --size: 96px !important; }
    .pm-done[b-1vkwxpydih] { margin-left: 26px; }
    .pm-tl[b-1vkwxpydih]::before, .pm-group[b-1vkwxpydih]::before { left: 10px; }
}
@keyframes pm-pv-in-b-1vkwxpydih { from { opacity: 0; transform: rotateX(-70deg) translateY(-6px); } }
/* /Components/Pages/Promemoria/PushPanel.razor.rz.scp.css */
.push-panel[b-sxiaobn1ze] { display: flex; align-items: center; gap: 14px; padding: 14px 16px; margin-bottom: 16px; flex-wrap: wrap;
    border-color: color-mix(in oklab, var(--accent) 45%, var(--border)); }
.push-panel.on[b-sxiaobn1ze] { border-color: var(--border); }
.pp-ico[b-sxiaobn1ze] { font-size: 1.6rem; flex: none; }
.pp-text[b-sxiaobn1ze] { display: flex; flex-direction: column; gap: 2px; min-width: 180px; }
.pp-actions[b-sxiaobn1ze] { gap: 8px; flex: none; margin-left: auto; }
/* /Components/Pages/Promemoria/ReminderAlertHost.razor.rz.scp.css */
.rah-backdrop[b-5qviwpsbf4] { position: fixed; inset: 0; z-index: 300; display: flex; align-items: center; justify-content: center; padding: 16px; perspective: 1400px;
    background: radial-gradient(circle at 50% 40%, color-mix(in oklab, #EF4444 22%, transparent), rgba(3,2,12,.78) 70%);
    animation: rah-fade-b-5qviwpsbf4 .35s ease both; }
.rah-card[b-5qviwpsbf4] { position: relative; width: min(460px, 100%); max-height: calc(100dvh - 32px); overflow-y: auto; text-align: center; padding: 26px 22px 20px; border-radius: 32px;
    background: linear-gradient(160deg, rgba(60,20,50,.96), rgba(18,10,36,.98)); border: 1px solid color-mix(in oklab, var(--c) 55%, rgba(255,255,255,.2));
    box-shadow: 0 60px 120px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.05), 0 0 80px -20px var(--c), inset 0 1px 0 rgba(255,255,255,.14);
    animation: rah-in-b-5qviwpsbf4 .7s cubic-bezier(.34, 1.56, .64, 1) both, rah-glow-b-5qviwpsbf4 2.4s ease-in-out infinite .7s; }
.rah-card[b-5qviwpsbf4]::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; padding: 2px;
    background: conic-gradient(from var(--rah-a, 0deg), transparent, var(--c), #EC4899, transparent 40%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
    animation: rah-spin-b-5qviwpsbf4 3s linear infinite; }
.rah-close[b-5qviwpsbf4] { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border-radius: 12px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); color: #fff; cursor: pointer; }
.rah-bell[b-5qviwpsbf4] { display: flex; justify-content: center; margin: 0 auto 6px; }
.rah-kicker[b-5qviwpsbf4] { font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; color: color-mix(in oklab, var(--c) 60%, white); }
.rah-title[b-5qviwpsbf4] { margin: 6px 0 4px; font-size: clamp(1.4rem, 5vw, 1.9rem); overflow-wrap: anywhere; }
.rah-when[b-5qviwpsbf4] { color: #d6d3f0; font-size: .92rem; }
.rah-notes[b-5qviwpsbf4] { margin: 12px 0 0; padding: 10px 12px; border-radius: 14px; background: rgba(0,0,0,.25); color: #c9c6e6; font-size: .9rem; white-space: pre-line; text-align: left; }
.rah-actions[b-5qviwpsbf4] { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.rah-actions .rah-done[b-5qviwpsbf4] { grid-column: 1 / -1; color: #052e1f; border: 0; background: linear-gradient(135deg, #34d399, #a3e635); box-shadow: 0 16px 36px -14px #34d399; font-size: 1.05rem; }
.rah-more[b-5qviwpsbf4] { margin-top: 10px; font-size: .8rem; color: #a8a4cc; }
@property --rah-a { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes rah-spin-b-5qviwpsbf4 { to { --rah-a: 360deg; } }
@keyframes rah-fade-b-5qviwpsbf4 { from { opacity: 0; } }
@keyframes rah-in-b-5qviwpsbf4 { from { opacity: 0; transform: rotateX(-40deg) translateY(60px) scale(.8); } }
@keyframes rah-glow-b-5qviwpsbf4 { 50% { box-shadow: 0 60px 120px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(255,255,255,.05), 0 0 120px -10px var(--c), inset 0 1px 0 rgba(255,255,255,.14); } }
@media (max-width: 480px) {
    .rah-backdrop[b-5qviwpsbf4] { align-items: flex-end; padding: 10px; }
    .rah-actions[b-5qviwpsbf4] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Promemoria/ReminderCard.razor.rz.scp.css */
/* Elemento della timeline: il wrapper anima l'ingresso, la card interna ha il tilt 3D. */
.rc-item[b-vrqli4pb7c] { position: relative; padding-left: 34px; perspective: 1100px; animation: rc-in-b-vrqli4pb7c .6s var(--ease-out) backwards; animation-delay: calc(min(var(--i), 14) * 45ms); }
@keyframes rc-in-b-vrqli4pb7c { from { opacity: 0; transform: translateX(-24px) rotateY(-22deg); } }
.rc-dot[b-vrqli4pb7c] { position: absolute; left: 7px; top: 26px; width: 16px; height: 16px; border-radius: 50%; background: var(--c); border: 3px solid rgba(10,8,24,.95);
    box-shadow: 0 0 0 2px color-mix(in oklab, var(--c) 60%, transparent), 0 0 16px var(--c); z-index: 1; }
.rc-item.preview .rc-dot[b-vrqli4pb7c] { background: transparent; box-shadow: 0 0 0 2px color-mix(in oklab, var(--c) 50%, transparent); }

.rc-card[b-vrqli4pb7c] { display: flex; align-items: flex-start; gap: 12px; padding: 14px 14px 14px 16px; cursor: pointer; border-radius: 20px;
    background: linear-gradient(135deg, color-mix(in oklab, var(--c) 16%, rgba(255,255,255,.06)), rgba(255,255,255,.02));
    border-color: color-mix(in oklab, var(--c) 22%, var(--border)); }
.rc-card[b-vrqli4pb7c]::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 4px; border-radius: 0 4px 4px 0; background: var(--c); box-shadow: 0 0 14px var(--c); }
.rc-card:hover[b-vrqli4pb7c] { border-color: color-mix(in oklab, var(--c) 50%, var(--border)); box-shadow: 0 24px 44px -24px var(--c), var(--shadow-1); }
.rc-card.late[b-vrqli4pb7c] { border-color: color-mix(in oklab, var(--danger) 55%, transparent); box-shadow: 0 0 0 1px color-mix(in oklab, var(--danger) 30%, transparent), 0 16px 40px -22px var(--danger); }
.rc-card.late[b-vrqli4pb7c]::before { background: var(--danger); animation: rc-blink-b-vrqli4pb7c 1.6s ease-in-out infinite; }
.rc-card.hot .rc-emo[b-vrqli4pb7c] { animation: rc-wiggle-b-vrqli4pb7c 2.6s ease-in-out infinite; }
.rc-emo[b-vrqli4pb7c] { width: 40px; height: 40px; flex: none; border-radius: 13px; display: grid; place-items: center; font-size: 1.3rem;
    background: linear-gradient(135deg, color-mix(in oklab, var(--c) 55%, transparent), color-mix(in oklab, var(--c) 15%, transparent));
    box-shadow: 0 10px 20px -10px var(--c), inset 0 1px 0 rgba(255,255,255,.25); transform: translateZ(26px); }
.rc-ghost[b-vrqli4pb7c] { width: 32px; height: 32px; flex: none; display: grid; place-items: center; border-radius: 50%; border: 2px dashed color-mix(in oklab, var(--c) 60%, transparent); color: var(--text-2); }
.rc-main[b-vrqli4pb7c] { min-width: 0; padding-top: 1px; }
.rc-title[b-vrqli4pb7c] { font-weight: 650; font-size: 1rem; overflow-wrap: anywhere; line-height: 1.3; }
.rc-meta[b-vrqli4pb7c] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-top: 4px; font-size: .78rem; color: var(--text-2); }
.rc-time[b-vrqli4pb7c] { font-weight: 700; color: var(--text); }
.rc-rel[b-vrqli4pb7c] { color: color-mix(in oklab, var(--c) 60%, white); font-weight: 600; }
.rc-prio[b-vrqli4pb7c] { color: color-mix(in oklab, var(--pc) 60%, white); font-weight: 650; }
.rc-notes[b-vrqli4pb7c] { margin-top: 6px; font-size: .82rem; color: var(--text-3); display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: pre-line; }
.rc-actions[b-vrqli4pb7c] { display: flex; gap: 4px; flex: none; align-self: center; }
.rc-item.preview .rc-card[b-vrqli4pb7c] { opacity: .62; border-style: dashed; }
.rc-item.preview .rc-card:hover[b-vrqli4pb7c] { opacity: .9; }
.rc-item.leaving[b-vrqli4pb7c] { animation: rc-out-b-vrqli4pb7c .7s var(--ease-out) .45s forwards; }
.rc-item.leaving .rc-title[b-vrqli4pb7c] { text-decoration: line-through; text-decoration-color: var(--c); }
@keyframes rc-out-b-vrqli4pb7c { to { opacity: 0; transform: translateX(70px) rotateY(-30deg) scale(.94); height: 0; } }
@keyframes rc-blink-b-vrqli4pb7c { 50% { opacity: .35; } }
@keyframes rc-wiggle-b-vrqli4pb7c { 0%, 80%, 100% { rotate: 0deg; } 85% { rotate: -12deg; } 90% { rotate: 10deg; } 95% { rotate: -6deg; } }
@media (max-width: 560px) {
    .rc-item[b-vrqli4pb7c] { padding-left: 26px; }
    .rc-dot[b-vrqli4pb7c] { left: 3px; }
    .rc-card[b-vrqli4pb7c] { gap: 10px; padding: 12px 10px 12px 14px; }
    .rc-emo[b-vrqli4pb7c] { width: 34px; height: 34px; font-size: 1.1rem; border-radius: 11px; }
    .rc-actions[b-vrqli4pb7c] { flex-direction: column; }
}
/* /Components/Pages/Promemoria/ReminderCheck.razor.rz.scp.css */
.rcheck[b-729djlb6yd] { position: relative; width: 32px; height: 32px; flex: none; padding: 0; border: 0; background: none; cursor: pointer; border-radius: 50%; transition: transform .35s var(--ease-spring); }
.rcheck:hover[b-729djlb6yd] { transform: scale(1.12); }
.rcheck:active[b-729djlb6yd] { transform: scale(.85); }
.rcheck svg[b-729djlb6yd] { width: 100%; height: 100%; overflow: visible; }
.rc-ring[b-729djlb6yd] { fill: rgba(0,0,0,.22); stroke: color-mix(in oklab, var(--c) 75%, white); stroke-width: 2; transition: fill .35s, stroke .35s; }
.rcheck:hover .rc-ring[b-729djlb6yd] { fill: color-mix(in oklab, var(--c) 25%, transparent); }
.rc-mark[b-729djlb6yd] { fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 16; stroke-dashoffset: 16; transition: stroke-dashoffset .4s var(--ease-out) .08s; }
.rcheck.done .rc-ring[b-729djlb6yd] { fill: var(--c); stroke: var(--c); }
.rcheck.done .rc-mark[b-729djlb6yd] { stroke-dashoffset: 0; }
.rcheck.done[b-729djlb6yd] { animation: rc-pop-b-729djlb6yd .5s var(--ease-spring); }
.rc-burst[b-729djlb6yd] { position: absolute; inset: -6px; border-radius: 50%; pointer-events: none; border: 2px solid var(--c); opacity: 0; }
.rcheck.done .rc-burst[b-729djlb6yd] { animation: rc-burst-b-729djlb6yd .6s ease-out; }
.rcheck.done .rc-burst.b2[b-729djlb6yd] { animation: rc-burst-b-729djlb6yd .8s ease-out .12s; border-style: dashed; }
@keyframes rc-pop-b-729djlb6yd { 0% { transform: scale(.7); } 60% { transform: scale(1.22); } 100% { transform: none; } }
@keyframes rc-burst-b-729djlb6yd { from { opacity: .9; transform: scale(.6) rotate(0); } to { opacity: 0; transform: scale(1.8) rotate(40deg); } }
/* /Components/Pages/Promemoria/ReminderSheet.razor.rz.scp.css */
.rs-kind button[b-h0mz8g2p6e] { padding: 8px 6px; font-size: .84rem; }
.rs-emojis[b-h0mz8g2p6e] { margin-top: 12px; padding: 4px 2px 8px; }
.rs-emo[b-h0mz8g2p6e] { width: 42px; height: 42px; border-radius: 13px; border: 1px solid var(--border); background: var(--surface); font-size: 1.25rem; cursor: pointer; transition: transform .3s var(--ease-spring), background .2s, border-color .2s; }
.rs-emo:hover[b-h0mz8g2p6e] { transform: translateY(-3px) scale(1.08); }
.rs-emo.active[b-h0mz8g2p6e] { background: color-mix(in oklab, var(--c) 35%, transparent); border-color: var(--c); transform: scale(1.1); box-shadow: 0 8px 20px -8px var(--c); }
.rs-when[b-h0mz8g2p6e] { margin-top: 14px; }
.rs-allday[b-h0mz8g2p6e] { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; white-space: nowrap; }
.rs-days[b-h0mz8g2p6e] { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; }
.rs-day[b-h0mz8g2p6e] { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--border); background: var(--surface); color: var(--text-2); font-weight: 700; cursor: pointer; transition: all .25s var(--ease-spring); }
.rs-day.active[b-h0mz8g2p6e] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; transform: scale(1.08); box-shadow: 0 8px 18px -8px var(--accent); }
.rs-n[b-h0mz8g2p6e] { width: 90px; }
.rs-hint[b-h0mz8g2p6e] { margin: 10px 0 0; padding: 10px 12px; border-radius: 12px; background: color-mix(in oklab, var(--c) 12%, transparent); border: 1px solid color-mix(in oklab, var(--c) 30%, transparent); font-size: .86rem; }
.rs-swatches[b-h0mz8g2p6e] { display: flex; flex-wrap: wrap; gap: 8px; }
.rs-sw[b-h0mz8g2p6e] { width: 30px; height: 30px; border-radius: 50%; border: 2px solid transparent; background: var(--sc); cursor: pointer; box-shadow: 0 4px 12px -4px var(--sc); transition: transform .25s var(--ease-spring); }
.rs-sw:hover[b-h0mz8g2p6e] { transform: scale(1.12); }
.rs-sw.active[b-h0mz8g2p6e] { border-color: #fff; transform: scale(1.15); }
.rs-history[b-h0mz8g2p6e] { margin-top: 16px; }
.rs-history ul[b-h0mz8g2p6e] { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: .86rem; }
.rs-history li span:first-child[b-h0mz8g2p6e] { color: var(--success); font-weight: 800; margin-right: 6px; }
/* /Components/Pages/Promemoria/SnoozeSheet.razor.rz.scp.css */
.sz-grid[b-oigmv5nj9p] { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; perspective: 900px; }
.sz-opt[b-oigmv5nj9p] { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px 14px; border-radius: 16px; text-align: left; cursor: pointer; color: var(--text); font: inherit;
    background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); border: 1px solid var(--border);
    transition: transform .35s var(--ease-spring), border-color .2s, background .2s; animation: sz-in-b-oigmv5nj9p .5s var(--ease-out) backwards; animation-delay: calc(var(--i) * 50ms); }
.sz-opt:hover[b-oigmv5nj9p] { transform: translateY(-3px) rotateX(8deg); border-color: color-mix(in oklab, var(--accent) 60%, transparent); background: color-mix(in oklab, var(--accent) 16%, transparent); }
.sz-opt:active[b-oigmv5nj9p] { transform: scale(.96); }
.sz-ico[b-oigmv5nj9p] { font-size: 1.4rem; }
.sz-move[b-oigmv5nj9p] { margin-top: 8px; gap: 8px; }
.sz-move .input[b-oigmv5nj9p] { flex: 1 1 140px; width: auto; min-width: 0; }
@keyframes sz-in-b-oigmv5nj9p { from { opacity: 0; transform: translateY(14px) rotateX(-30deg); } }
/* /Components/Pages/Radio/RadioPage.razor.rz.scp.css */
.rd[b-yxqk9goz2v] { display: flex; flex-direction: column; gap: 14px; max-width: 860px; margin: 0 auto; width: 100%; }

.rd-search[b-yxqk9goz2v] { display: flex; flex-direction: column; gap: 10px; }
.rd-search .seg[b-yxqk9goz2v] { align-self: flex-start; }

.rd-section[b-yxqk9goz2v] { display: flex; flex-direction: column; gap: 10px; }

/* ---- cuore in alto (apre le preferite) */
.rd-favs-btn[b-yxqk9goz2v] { position: relative; }
.rd-favs-btn.on[b-yxqk9goz2v] { color: #f472b6; }
.rd-favs-count[b-yxqk9goz2v] {
    position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
    display: grid; place-items: center; background: #ec4899; color: #fff; font-size: .66rem; font-weight: 800; line-height: 1;
}
.rd-favs-head[b-yxqk9goz2v] { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rd-favs-head .rd-h[b-yxqk9goz2v] { margin: 0 2px; }
.rd-h[b-yxqk9goz2v] { margin: 4px 2px 0; font-family: var(--font-display); font-size: 1.05rem; font-weight: 650; color: var(--text); }

.rd-genres[b-yxqk9goz2v] { display: flex; gap: 6px; padding-bottom: 2px; }
.rd-genres .chip[b-yxqk9goz2v] { flex: 0 0 auto; height: 34px; padding: 0 13px; }

/* ---- logo: iniziale colorata sotto, immagine sopra (se c'è e si carica) */
.rd-logo[b-yxqk9goz2v] {
    position: relative; flex: 0 0 auto; width: 52px; height: 52px; border-radius: 14px; overflow: hidden;
    display: grid; place-items: center; background: linear-gradient(145deg, var(--c), color-mix(in oklab, var(--c) 55%, #000));
    color: #fff; font-weight: 800; font-size: 1.25rem;
}
.rd-logo img[b-yxqk9goz2v] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #fff; padding: 3px; }
.rd-logo img[hidden][b-yxqk9goz2v] { display: none; }

/* ---- elenco */
.rd-list[b-yxqk9goz2v], .rd-grid[b-yxqk9goz2v] { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.rd-card[b-yxqk9goz2v] {
    position: relative; display: flex; align-items: center; border-radius: 18px;
    background: var(--surface); border: 1px solid var(--border);
}
.rd-card:hover[b-yxqk9goz2v] { border-color: var(--border-strong); }
.rd-card.on[b-yxqk9goz2v] { border-color: color-mix(in oklab, #ec4899 55%, transparent); background: linear-gradient(120deg, rgba(139, 92, 246, .22), rgba(236, 72, 153, .14)); }
.rd-play[b-yxqk9goz2v] {
    flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 10px 6px 10px 10px;
    background: none; border: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; border-radius: 18px;
}
.rd-text[b-yxqk9goz2v] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.rd-text b[b-yxqk9goz2v] { font-size: .98rem; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-text small[b-yxqk9goz2v] { font-size: .78rem; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-fav[b-yxqk9goz2v] {
    flex: 0 0 auto; width: 44px; height: 44px; margin-right: 6px; border-radius: 50%; display: grid; place-items: center;
    background: none; border: 0; color: var(--text-3); cursor: pointer;
}
.rd-fav:hover[b-yxqk9goz2v] { color: var(--text); background: var(--surface); }
.rd-fav.on[b-yxqk9goz2v] { color: #f472b6; }

/* barre dell'equalizzatore sulla radio che suona (stato: resta animato) */
.rd-eq[b-yxqk9goz2v] { display: inline-flex; align-items: flex-end; gap: 3px; height: 18px; margin-right: 4px; }
.rd-eq i[b-yxqk9goz2v] { width: 4px; height: 100%; border-radius: 2px; background: #f472b6; transform-origin: bottom; animation: rd-eq-b-yxqk9goz2v 1s ease-in-out infinite; }
.rd-eq i:nth-child(2)[b-yxqk9goz2v] { animation-delay: -.35s; background: #c084fc; }
.rd-eq i:nth-child(3)[b-yxqk9goz2v] { animation-delay: -.7s; }
@keyframes rd-eq-b-yxqk9goz2v { 0%, 100% { transform: scaleY(.3); } 50% { transform: scaleY(1); } }

.rd-spin[b-yxqk9goz2v] {
    flex: 0 0 auto; display: inline-block; width: 16px; height: 16px; border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .25); border-top-color: #f472b6; animation: rd-spin-b-yxqk9goz2v .8s linear infinite;
}
@keyframes rd-spin-b-yxqk9goz2v { to { transform: rotate(360deg); } }

/* ---- caricamento */
.rd-skel[b-yxqk9goz2v] { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 18px; background: var(--surface); }
.rd-skel-line[b-yxqk9goz2v] { height: 14px; width: 55%; border-radius: 7px; }


/* ---- lettore in alto; scorrendo l'elenco si aggancia in cima allo schermo (data-float messo da radio.js:
   «sticky» non funziona perché html/body hanno overflow-x: hidden) */
.rd[data-float] .rd-player[b-yxqk9goz2v] {
    position: fixed; top: calc(8px + var(--safe-top)); left: 50%; transform: translateX(-50%);
    width: min(860px, calc(100% - 32px)); z-index: 40;
}
.rd-player[b-yxqk9goz2v] {
    position: relative; z-index: 20;
    display: flex; align-items: center; gap: 8px; padding: 10px 10px 10px 10px; border-radius: 22px;
    background: linear-gradient(120deg, #2e1065 0%, #4c1d95 45%, #831843 100%);
    border: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .7), 0 0 0 1px rgba(0, 0, 0, .2);
    color: #fff;
}
.rd-player .rd-logo[b-yxqk9goz2v] { width: 48px; height: 48px; border-radius: 13px; }
.rd-player-text[b-yxqk9goz2v] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.rd-player-text b[b-yxqk9goz2v] { font-size: .98rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-status[b-yxqk9goz2v] { display: flex; align-items: center; gap: 6px; font-size: .78rem; color: rgba(255, 255, 255, .78); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rd-player.error .rd-status[b-yxqk9goz2v] { color: #fecaca; white-space: normal; }
.rd-live[b-yxqk9goz2v] { width: 8px; height: 8px; border-radius: 50%; background: #f43f5e; box-shadow: 0 0 0 0 rgba(244, 63, 94, .6); animation: rd-live-b-yxqk9goz2v 1.6s ease-out infinite; }
@keyframes rd-live-b-yxqk9goz2v { 0% { box-shadow: 0 0 0 0 rgba(244, 63, 94, .6); } 100% { box-shadow: 0 0 0 8px rgba(244, 63, 94, 0); } }
.rd-pbtn[b-yxqk9goz2v] {
    flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
    background: rgba(255, 255, 255, .1); border: 0; color: rgba(255, 255, 255, .85); cursor: pointer;
}
.rd-pbtn:hover[b-yxqk9goz2v] { background: rgba(255, 255, 255, .18); color: #fff; }
.rd-pbtn.on[b-yxqk9goz2v] { color: #fbcfe8; background: rgba(244, 114, 182, .28); }
.rd-toggle[b-yxqk9goz2v] {
    flex: 0 0 auto; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center;
    background: #fff; color: #4c1d95; border: 0; cursor: pointer; box-shadow: 0 6px 18px -6px rgba(0, 0, 0, .6);
}
.rd-toggle.stop[b-yxqk9goz2v] { background: #f43f5e; color: #fff; }
.rd-toggle:active[b-yxqk9goz2v] { transform: scale(.94); }

.rd-sleep[b-yxqk9goz2v] { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.rd-sleep .btn-danger[b-yxqk9goz2v] { grid-column: 1 / -1; }

@media (min-width: 720px) {
    .rd-list[b-yxqk9goz2v], .rd-grid[b-yxqk9goz2v] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rd-player[b-yxqk9goz2v] { padding: 12px 14px; }
}
@media (max-width: 380px) {
    .rd-pbtn[b-yxqk9goz2v] { width: 36px; height: 36px; }
    .rd-player .rd-logo[b-yxqk9goz2v] { width: 42px; height: 42px; }
}
/* /Components/Pages/Rubrica/RubricaShell.razor.rz.scp.css */
/* Stili comuni della Rubrica (classi rb-*). Niente animazioni: solo colori, ombre e passaggi istantanei. */
.rb[b-9ll8pnhvq8] { display: flex; flex-direction: column; gap: 16px; }
.rb[b-9ll8pnhvq8]  .rb-sec { font-family: var(--font-display); font-size: 1rem; font-weight: 700; margin: 6px 0 -6px; display: flex; align-items: center; gap: 8px; }
.rb[b-9ll8pnhvq8]  .rb-sec .grow { flex: 1; }
.rb[b-9ll8pnhvq8]  .rb-hint { font-size: .85rem; color: var(--text-2); padding: 10px 12px; border-radius: 12px; background: color-mix(in oklab, var(--accent) 12%, transparent); border: 1px solid color-mix(in oklab, var(--accent) 30%, transparent); }
.rb[b-9ll8pnhvq8]  .rb-empty-mini { text-align: center; color: var(--text-3); padding: 18px 10px; font-size: .9rem; }

/* Avatar: foto o iniziali */
.rb[b-9ll8pnhvq8]  .rb-av, [b-9ll8pnhvq8] .rb-av { --s: 44px; width: var(--s); height: var(--s); border-radius: 50%; flex: none; display: grid; place-items: center; overflow: hidden;
    font-family: var(--font-display); font-weight: 700; font-size: calc(var(--s) * .38); color: #fff; letter-spacing: .02em;
    background: linear-gradient(140deg, var(--av, #6366F1), color-mix(in oklab, var(--av, #6366F1) 55%, #0b0a1f)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); }
.rb[b-9ll8pnhvq8]  .rb-av img, [b-9ll8pnhvq8] .rb-av img { width: 100%; height: 100%; object-fit: cover; }
.rb[b-9ll8pnhvq8]  .rb-av.sm { --s: 34px; }
.rb[b-9ll8pnhvq8]  .rb-av.lg { --s: 64px; }
.rb[b-9ll8pnhvq8]  .rb-av.xl { --s: 112px; box-shadow: 0 10px 40px color-mix(in oklab, var(--av) 45%, transparent), inset 0 0 0 2px rgba(255,255,255,.18); }

/* Barra di ricerca fissa in alto */
.rb[b-9ll8pnhvq8]  .rb-search { position: sticky; top: calc(env(safe-area-inset-top) + 8px); z-index: 5; display: flex; gap: 8px; align-items: center; padding: 6px; border-radius: 18px;
    background: color-mix(in oklab, var(--bg-1) 80%, transparent); border: 1px solid var(--border); }
.rb[b-9ll8pnhvq8]  .rb-search input { flex: 1; min-width: 0; height: 44px; border: 0; background: transparent; color: var(--text); font: inherit; font-size: 16px; padding: 0 8px; outline: none; }
.rb[b-9ll8pnhvq8]  .rb-search .ico { padding-left: 10px; color: var(--text-3); }
.rb[b-9ll8pnhvq8]  .rb-search .clear { background: var(--surface-2); border: 0; color: var(--text-2); width: 30px; height: 30px; border-radius: 50%; cursor: pointer; flex: none; }

.rb[b-9ll8pnhvq8]  .rb-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; margin-top: -6px; }
.rb[b-9ll8pnhvq8]  .rb-chips::-webkit-scrollbar { display: none; }
.rb[b-9ll8pnhvq8]  .rb-chips .chip { flex: none; }
.rb[b-9ll8pnhvq8]  .rb-chips .chip .n { opacity: .6; font-size: .75em; margin-left: 2px; }
.rb[b-9ll8pnhvq8]  .rb-chip-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c); display: inline-block; }

/* Preferiti: fila di avatar grandi */
.rb[b-9ll8pnhvq8]  .rb-favs { display: flex; gap: 14px; overflow-x: auto; scrollbar-width: none; padding: 4px 2px 6px; }
.rb[b-9ll8pnhvq8]  .rb-favs::-webkit-scrollbar { display: none; }
.rb[b-9ll8pnhvq8]  .rb-fav { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 72px; flex: none; color: var(--text); text-align: center; font-size: .78rem; font-weight: 600; }
.rb[b-9ll8pnhvq8]  .rb-fav span.name { width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rb[b-9ll8pnhvq8]  .rb-fav:hover .rb-av { box-shadow: 0 0 0 3px color-mix(in oklab, var(--accent) 60%, transparent); }

/* Elenco dei contatti */
.rb[b-9ll8pnhvq8]  .rb-list { display: flex; flex-direction: column; border-radius: 20px; background: var(--surface); border: 1px solid var(--border); overflow: clip; }
.rb[b-9ll8pnhvq8]  .rb-letter { position: sticky; top: calc(env(safe-area-inset-top) + 66px); z-index: 2; padding: 4px 16px; font-family: var(--font-display); font-weight: 800; font-size: .8rem; letter-spacing: .08em;
    color: var(--accent); background: color-mix(in oklab, var(--bg-1) 88%, var(--accent)); border-block: 1px solid var(--border); scroll-margin-top: 130px; }
.rb[b-9ll8pnhvq8]  .rb-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 14px; color: var(--text); min-height: 64px; position: relative; }
.rb[b-9ll8pnhvq8]  .rb-row + .rb-row { border-top: 1px solid color-mix(in oklab, var(--border) 60%, transparent); }
.rb[b-9ll8pnhvq8]  .rb-row:hover { background: var(--surface-2); }
.rb[b-9ll8pnhvq8]  .rb-row .main { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; color: inherit; }
.rb[b-9ll8pnhvq8]  .rb-row .txt { min-width: 0; display: flex; flex-direction: column; }
.rb[b-9ll8pnhvq8]  .rb-row .nm { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rb[b-9ll8pnhvq8]  .rb-row .nm b { font-weight: 800; }
.rb[b-9ll8pnhvq8]  .rb-row .sb { font-size: .8rem; color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rb[b-9ll8pnhvq8]  .rb-row .dots { display: inline-flex; gap: 3px; margin-left: 6px; vertical-align: middle; }
.rb[b-9ll8pnhvq8]  .rb-row .dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--c); display: inline-block; }
.rb[b-9ll8pnhvq8]  .rb-row .check { width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--border-strong); flex: none; display: grid; place-items: center; font-size: .8rem; }
.rb[b-9ll8pnhvq8]  .rb-row.sel { background: color-mix(in oklab, var(--accent) 16%, transparent); }
.rb[b-9ll8pnhvq8]  .rb-row.sel .check { background: var(--accent); border-color: var(--accent); color: #fff; }
.rb[b-9ll8pnhvq8]  .rb-call { width: 42px; height: 42px; border-radius: 50%; flex: none; display: grid; place-items: center; font-size: 1.05rem; color: #fff;
    background: linear-gradient(135deg, #22C55E, #16A34A); box-shadow: 0 4px 14px rgba(34,197,94,.35); }
.rb[b-9ll8pnhvq8]  .rb-call:hover { filter: brightness(1.1); }

/* Barra delle lettere (lato destro) */
.rb[b-9ll8pnhvq8]  .rb-scrub { position: fixed; right: 2px; top: 50%; transform: translateY(-50%); z-index: 6; display: flex; flex-direction: column; align-items: center;
    padding: 6px 2px; border-radius: 99px; background: color-mix(in oklab, var(--bg-1) 55%, transparent); touch-action: none; user-select: none; }
.rb[b-9ll8pnhvq8]  .rb-scrub button { border: 0; background: none; color: var(--accent); font-weight: 800; font-size: .62rem; line-height: 1; padding: 2px 5px; cursor: pointer; font-family: var(--font-display); }
.rb[b-9ll8pnhvq8]  .rb-scrub button.off { color: var(--text-3); opacity: .45; }
/* Su computer si scorre con la rotella: la barra delle lettere serve solo al telefono. */
@media (min-width: 900px) { .rb[b-9ll8pnhvq8]  .rb-scrub { display: none; } }

/* Barra della selezione multipla */
.rb[b-9ll8pnhvq8]  .rb-selbar { position: sticky; bottom: calc(env(safe-area-inset-bottom) + 12px); z-index: 7; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; padding: 10px 12px; border-radius: 18px;
    background: color-mix(in oklab, var(--bg-1) 85%, var(--accent)); border: 1px solid color-mix(in oklab, var(--accent) 40%, transparent); box-shadow: 0 10px 40px rgba(0,0,0,.5); }
.rb[b-9ll8pnhvq8]  .rb-selbar b { flex: 1 1 auto; }

/* Scheda del contatto */
.rb[b-9ll8pnhvq8]  .rb-hero { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 22px 16px 18px; border-radius: 24px;
    background: radial-gradient(120% 90% at 50% 0%, color-mix(in oklab, var(--av, var(--accent)) 30%, transparent), transparent 70%), var(--surface); border: 1px solid var(--border); }
.rb[b-9ll8pnhvq8]  .rb-hero h2 { margin: 6px 0 0; font-size: 1.6rem; line-height: 1.15; word-break: break-word; }
.rb[b-9ll8pnhvq8]  .rb-hero .role { color: var(--text-2); font-size: .92rem; }
.rb[b-9ll8pnhvq8]  .rb-hero .av-btn { display: inline-block; position: relative; border: 0; padding: 0; background: none; cursor: pointer; border-radius: 50%; }
.rb[b-9ll8pnhvq8]  .rb-hero .av-btn .cam { position: absolute; right: 2px; bottom: 2px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-size: .9rem;
    background: var(--surface-2); border: 2px solid var(--bg-1); }
.rb[b-9ll8pnhvq8]  .rb-tags { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.rb[b-9ll8pnhvq8]  .rb-tag { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 99px; font-size: .74rem; font-weight: 600;
    background: color-mix(in oklab, var(--c, var(--accent)) 22%, transparent); color: var(--text); border: 1px solid color-mix(in oklab, var(--c, var(--accent)) 40%, transparent); }

.rb[b-9ll8pnhvq8]  .rb-acts { display: grid; grid-template-columns: repeat(auto-fit, minmax(68px, 1fr)); gap: 8px; width: 100%; max-width: 480px; margin-top: 8px; }
.rb[b-9ll8pnhvq8]  .rb-act { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 10px 4px; border-radius: 16px; color: var(--text); font-size: .74rem; font-weight: 600;
    background: var(--surface-2); border: 1px solid var(--border); cursor: pointer; font-family: inherit; }
.rb[b-9ll8pnhvq8]  .rb-act .i { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-size: 1.15rem; color: #fff; background: var(--c, var(--accent)); }
.rb[b-9ll8pnhvq8]  .rb-act:hover { border-color: var(--border-strong); }
.rb[b-9ll8pnhvq8]  .rb-act.off { opacity: .4; pointer-events: none; }

.rb[b-9ll8pnhvq8]  .rb-card { border-radius: 20px; background: var(--surface); border: 1px solid var(--border); overflow: hidden; }
.rb[b-9ll8pnhvq8]  .rb-card > .rb-card-h { padding: 12px 16px 4px; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; color: var(--text-3); display: flex; align-items: center; gap: 8px; }
.rb[b-9ll8pnhvq8]  .rb-card > .rb-card-h .grow { flex: 1; }
.rb[b-9ll8pnhvq8]  .rb-line { display: flex; align-items: center; gap: 10px; padding: 10px 12px 10px 16px; min-height: 58px; }
.rb[b-9ll8pnhvq8]  .rb-line + .rb-line { border-top: 1px solid color-mix(in oklab, var(--border) 60%, transparent); }
.rb[b-9ll8pnhvq8]  .rb-line .txt { flex: 1; min-width: 0; display: flex; flex-direction: column; color: var(--text); }
.rb[b-9ll8pnhvq8]  .rb-line .txt small { font-size: .74rem; color: var(--text-3); font-weight: 600; }
.rb[b-9ll8pnhvq8]  .rb-line .txt span { overflow-wrap: anywhere; white-space: pre-line; }
.rb[b-9ll8pnhvq8]  .rb-line .txt a { color: var(--text); }
.rb[b-9ll8pnhvq8]  .rb-mini { width: 38px; height: 38px; border-radius: 50%; flex: none; display: grid; place-items: center; font-size: .95rem; color: var(--text);
    background: var(--surface-2); border: 1px solid var(--border); cursor: pointer; }
.rb[b-9ll8pnhvq8]  .rb-mini.call { background: linear-gradient(135deg, #22C55E, #16A34A); border-color: transparent; color: #fff; }
.rb[b-9ll8pnhvq8]  .rb-mini:hover { border-color: var(--border-strong); }

.rb[b-9ll8pnhvq8]  .rb-job { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; color: var(--text); width: 100%; text-align: left; background: none; border: 0; font: inherit; cursor: pointer; }
.rb[b-9ll8pnhvq8]  .rb-job + .rb-job { border-top: 1px solid color-mix(in oklab, var(--border) 60%, transparent); }
.rb[b-9ll8pnhvq8]  .rb-job:hover { background: var(--surface-2); }
.rb[b-9ll8pnhvq8]  .rb-job .when { flex: none; width: 46px; text-align: center; border-radius: 12px; padding: 4px 0; background: var(--surface-2); font-size: .7rem; color: var(--text-2); line-height: 1.2; }
.rb[b-9ll8pnhvq8]  .rb-job .when b { display: block; font-size: 1.1rem; color: var(--text); font-family: var(--font-display); }
.rb[b-9ll8pnhvq8]  .rb-job .grow { flex: 1; min-width: 0; }
.rb[b-9ll8pnhvq8]  .rb-job .cost { flex: none; font-weight: 700; font-variant-numeric: tabular-nums; }
.rb[b-9ll8pnhvq8]  .rb-job .thumbs { display: flex; gap: 6px; margin-top: 6px; }
.rb[b-9ll8pnhvq8]  .rb-job .thumbs img { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; }

.rb[b-9ll8pnhvq8]  .rb-qr { width: min(260px, 70vw); aspect-ratio: 1; margin: 0 auto; background: #fff; border-radius: 16px; padding: 10px; }
.rb[b-9ll8pnhvq8]  .rb-qr svg { width: 100%; height: 100%; display: block; }

/* Gruppi */
.rb[b-9ll8pnhvq8]  .rb-group { display: flex; align-items: center; gap: 12px; padding: 10px 12px 10px 14px; min-height: 62px; }
.rb[b-9ll8pnhvq8]  .rb-group + .rb-group { border-top: 1px solid color-mix(in oklab, var(--border) 60%, transparent); }
.rb[b-9ll8pnhvq8]  .rb-group .g-ico { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; font-size: 1.3rem; flex: none;
    background: color-mix(in oklab, var(--c) 28%, transparent); border: 1px solid color-mix(in oklab, var(--c) 45%, transparent); }
.rb[b-9ll8pnhvq8]  .rb-group .main { flex: 1; min-width: 0; color: var(--text); display: flex; flex-direction: column; }
.rb[b-9ll8pnhvq8]  .rb-group .main small { color: var(--text-2); font-size: .8rem; }
.rb[b-9ll8pnhvq8]  .rb-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.rb[b-9ll8pnhvq8]  .rb-swatches button { width: 32px; height: 32px; border-radius: 50%; border: 2px solid transparent; background: var(--c); cursor: pointer; }
.rb[b-9ll8pnhvq8]  .rb-swatches button.on { border-color: #fff; box-shadow: 0 0 0 2px var(--c); }
.rb[b-9ll8pnhvq8]  .rb-emojis { display: flex; flex-wrap: wrap; gap: 6px; }
.rb[b-9ll8pnhvq8]  .rb-emojis button { width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--border); background: var(--surface); font-size: 1.2rem; cursor: pointer; }
.rb[b-9ll8pnhvq8]  .rb-emojis button.on { border-color: var(--accent); background: color-mix(in oklab, var(--accent) 20%, transparent); }

/* Editor: righe di numeri/email ripetibili */
.rb[b-9ll8pnhvq8]  .rb-multi { display: flex; flex-direction: column; gap: 8px; }
.rb[b-9ll8pnhvq8]  .rb-multi-row { display: grid; grid-template-columns: 118px 1fr 40px; gap: 8px; align-items: center; }
.rb[b-9ll8pnhvq8]  .rb-multi-row .select, .rb[b-9ll8pnhvq8]  .rb-multi-row .input { min-width: 0; }
.rb[b-9ll8pnhvq8]  .rb-del { width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--border); background: none; color: var(--text-2); cursor: pointer; }
.rb[b-9ll8pnhvq8]  .rb-del:hover { color: #F87171; border-color: #F87171; }
.rb[b-9ll8pnhvq8]  .rb-pick { display: flex; flex-wrap: wrap; gap: 8px; }
.rb[b-9ll8pnhvq8]  details.rb-more { border-radius: 14px; border: 1px solid var(--border); padding: 0 12px; }
.rb[b-9ll8pnhvq8]  details.rb-more > summary { cursor: pointer; padding: 12px 0; font-weight: 600; color: var(--text-2); list-style: none; }
.rb[b-9ll8pnhvq8]  details.rb-more > summary::-webkit-details-marker { display: none; }
.rb[b-9ll8pnhvq8]  details.rb-more > summary::after { content: "＋"; float: right; color: var(--text-3); }
.rb[b-9ll8pnhvq8]  details.rb-more[open] > summary::after { content: "－"; }
.rb[b-9ll8pnhvq8]  details.rb-more > div { display: flex; flex-direction: column; gap: 12px; padding-bottom: 12px; }

/* Importa / doppioni */
.rb[b-9ll8pnhvq8]  .rb-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.rb[b-9ll8pnhvq8]  .rb-tile { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); color: var(--text); text-align: left; font: inherit; cursor: pointer; position: relative; }
.rb[b-9ll8pnhvq8]  .rb-tile:hover { border-color: var(--border-strong); background: var(--surface-2); }
.rb[b-9ll8pnhvq8]  .rb-tile .e { font-size: 1.6rem; flex: none; }
.rb[b-9ll8pnhvq8]  .rb-tile small { display: block; color: var(--text-2); font-size: .8rem; margin-top: 2px; }
.rb[b-9ll8pnhvq8]  .rb-tile.off { opacity: .5; cursor: default; }
.rb[b-9ll8pnhvq8]  .rb-dup { padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
.rb[b-9ll8pnhvq8]  .rb-dup + .rb-dup { border-top: 1px solid var(--border); }
.rb[b-9ll8pnhvq8]  .rb-dup label { display: flex; gap: 10px; align-items: center; cursor: pointer; }
.rb[b-9ll8pnhvq8]  .rb-dup label .txt { min-width: 0; display: flex; flex-direction: column; }
.rb[b-9ll8pnhvq8]  .rb-dup label small { color: var(--text-2); font-size: .78rem; }

@media (max-width: 560px) {
    .rb[b-9ll8pnhvq8]  .rb-multi-row { grid-template-columns: 104px 1fr 40px; }
    .rb[b-9ll8pnhvq8]  .rb-row { padding-right: 26px; }
}
.rb[b-9ll8pnhvq8]  .rb-ph { width: 20px; height: 20px; display: block; }
.rb[b-9ll8pnhvq8]  .rb-mini .rb-ph { width: 17px; height: 17px; }

/* Riordino dei gruppi trascinando la maniglia */
.rb[b-9ll8pnhvq8]  .rb-grip { width: 40px; height: 44px; flex: none; display: grid; place-items: center; color: var(--text-3); font-size: 1.3rem; cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; background: none; border: 0; }
.rb[b-9ll8pnhvq8]  .rb-sorting { user-select: none; -webkit-user-select: none; }
.rb[b-9ll8pnhvq8]  .rb-dragging { position: relative; z-index: 3; background: var(--bg-2); box-shadow: 0 10px 30px rgba(0,0,0,.5); border-radius: 14px; }
.rb[b-9ll8pnhvq8]  .rb-dragging .rb-grip { cursor: grabbing; color: var(--accent); }
.rb[b-9ll8pnhvq8]  .rb-group .check { width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--border-strong); flex: none; display: grid; place-items: center; font-size: .8rem; }
.rb[b-9ll8pnhvq8]  .rb-group.sel { background: color-mix(in oklab, var(--accent) 16%, transparent); }
.rb[b-9ll8pnhvq8]  .rb-group.sel .check { background: var(--accent); border-color: var(--accent); color: #fff; }

/* Anteprima dell'importazione: una casella per contatto */
.rb[b-9ll8pnhvq8]  .rb-imp { border-radius: 14px; }
.rb[b-9ll8pnhvq8]  .rb-imp .rb-row { min-height: 60px; height: 60px; }
.rb[b-9ll8pnhvq8]  .rb-imp-check { width: 22px; height: 22px; flex: none; accent-color: var(--accent); }
/* /Components/Pages/Scadenze/DeadlineRow.razor.rz.scp.css */
.dl-row[b-mtxo8rl78p] {
    display: flex; align-items: center; gap: 8px; padding: 6px 8px 6px 6px; border-radius: 18px;
    background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--c);
}
.dl-row.late[b-mtxo8rl78p] { background: color-mix(in oklab, var(--danger) 12%, var(--surface)); border-color: color-mix(in oklab, var(--danger) 40%, var(--border)); border-left-color: var(--danger); }
.dl-row.urgent[b-mtxo8rl78p] { border-left-color: var(--warning); }
.dl-row.done[b-mtxo8rl78p] { opacity: .6; }
.dl-main[b-mtxo8rl78p] { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 6px; border: 0; background: none; color: var(--text); font: inherit; text-align: left; cursor: pointer; border-radius: 14px; }
.dl-ico[b-mtxo8rl78p] { width: 44px; height: 44px; flex: none; border-radius: 14px; display: grid; place-items: center; font-size: 1.35rem;
    background: color-mix(in oklab, var(--c) 22%, transparent); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--c) 40%, transparent); }
.dl-text[b-mtxo8rl78p] { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.dl-title[b-mtxo8rl78p] { font-weight: 700; }
.dl-subj[b-mtxo8rl78p] { font-weight: 500; color: var(--text-2); }
.dl-sub[b-mtxo8rl78p] { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: .8rem; color: var(--text-2); }
.dl-date[b-mtxo8rl78p] { font-weight: 700; color: var(--text); }
.dl-left[b-mtxo8rl78p] { font-weight: 600; }
.late .dl-left[b-mtxo8rl78p] { color: #fecdd3; }
.urgent .dl-left[b-mtxo8rl78p] { color: #fde68a; }
.soon .dl-left[b-mtxo8rl78p] { color: color-mix(in oklab, var(--c) 50%, white); }
.dl-tag[b-mtxo8rl78p] { padding: 1px 7px; border-radius: 99px; background: rgba(255,255,255,.07); font-size: .72rem; }
.dl-done[b-mtxo8rl78p] {
    width: 44px; height: 44px; flex: none; border-radius: 50%; cursor: pointer; font-size: 1.15rem; font-weight: 800;
    color: #04260f; background: linear-gradient(135deg, #4ade80, #22c55e); border: 0; box-shadow: 0 8px 18px -8px #22c55e;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.dl-done:active[b-mtxo8rl78p] { transform: scale(.92); }

.dl-share[b-mtxo8rl78p] { display: flex; margin-top: 3px; min-width: 0; }
/* /Components/Pages/Scadenze/DeadlineTypesSheet.razor.rz.scp.css */
.tt[b-pmj01r7aep] { display: flex; flex-direction: column; gap: 6px; }
.tt-row[b-pmj01r7aep] {
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 8px 14px; border-radius: 16px; cursor: pointer; text-align: left;
    background: var(--surface); border: 1px solid var(--border); color: var(--text); font: inherit; font-weight: 600;
    border-left: 4px solid var(--c, var(--border));
}
.tt-add[b-pmj01r7aep] { border-style: dashed; border-left-width: 1px; color: var(--text-2); }
.tt-ico[b-pmj01r7aep] { width: 30px; text-align: center; font-size: 1.25rem; flex: none; }
.tt-form[b-pmj01r7aep] { display: flex; flex-direction: column; gap: 14px; }
.tt-icon-in[b-pmj01r7aep] { flex: 0 0 64px; width: 64px; text-align: center; font-size: 1.3rem; padding: 0 6px; }
.tt-colors[b-pmj01r7aep] { display: flex; flex-wrap: wrap; gap: 10px; }
.tt-color[b-pmj01r7aep] { width: 34px; height: 34px; border-radius: 50%; background: var(--c); border: 2px solid transparent; cursor: pointer; }
.tt-color.on[b-pmj01r7aep] { border-color: #fff; box-shadow: 0 0 0 3px color-mix(in oklab, var(--c) 60%, transparent); }
.tt-del[b-pmj01r7aep] { align-self: flex-start; }
/* /Components/Pages/Scadenze/ScadenzePage.razor.rz.scp.css */
.sc-empty[b-t1y2hsomlw] { padding-bottom: 20px; }
.sc-starters[b-t1y2hsomlw] { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 6px; }
.sc-starters .chip[b-t1y2hsomlw] { border-color: color-mix(in oklab, var(--c) 45%, var(--border)); }

.sc-group[b-t1y2hsomlw] { margin-bottom: 22px; }
.sc-ghead[b-t1y2hsomlw] { font-family: var(--font-display); font-size: 1rem; margin: 0 0 10px; }
.sc-ghead.late[b-t1y2hsomlw] { color: #fecdd3; }
.sc-list[b-t1y2hsomlw] { display: flex; flex-direction: column; gap: 8px; }
.sc-more[b-t1y2hsomlw] { display: flex; align-items: center; gap: 8px; margin: 4px 0 10px; padding: 8px 4px; border: 0; background: none; color: var(--text-2); font: inherit; font-weight: 700; cursor: pointer; }

.sc-form[b-t1y2hsomlw] { gap: 14px; }
.sc-kinds[b-t1y2hsomlw] { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 6px; }
.sc-kind[b-t1y2hsomlw] {
    display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 6px 10px; border-radius: 13px; cursor: pointer; text-align: left;
    background: var(--surface); border: 1px solid var(--border); color: var(--text-2); font: inherit; font-size: .82rem; font-weight: 600;
}
.sc-kind.active[b-t1y2hsomlw] { color: #fff; background: color-mix(in oklab, var(--c) 28%, transparent); border-color: color-mix(in oklab, var(--c) 70%, transparent); }
.sc-kind-new[b-t1y2hsomlw] { border-style: dashed; color: var(--text-3); justify-content: center; }
.sc-newtype[b-t1y2hsomlw] { display: flex; gap: 8px; align-items: center; margin-top: 8px; }
.sc-newtype .input[b-t1y2hsomlw] { min-width: 0; flex: 1; }
.sc-newtype .sc-newtype-ico[b-t1y2hsomlw] { flex: 0 0 56px; text-align: center; font-size: 1.1rem; padding: 0 6px; }
.sc-kind-lbl[b-t1y2hsomlw] { min-width: 0; overflow-wrap: anywhere; line-height: 1.15; }
.sc-quick[b-t1y2hsomlw] { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.sc-quick .chip[b-t1y2hsomlw] { height: 32px; padding: 0 12px; font-size: .82rem; }
.sc-mini[b-t1y2hsomlw] { width: 90px; flex: none; }
.sc-toggle[b-t1y2hsomlw] { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: var(--surface); border: 1px solid var(--border); cursor: pointer; }
.sc-hint[b-t1y2hsomlw] { display: block; font-size: .85rem; color: var(--text-2); padding: 9px 12px; border-radius: 12px; background: color-mix(in oklab, var(--accent) 14%, transparent); }
.sc-logs[b-t1y2hsomlw] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.sc-logs li[b-t1y2hsomlw] { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); font-size: .88rem; }
.sc-log-check[b-t1y2hsomlw] { width: 26px; height: 26px; flex: none; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #04260f; background: #4ade80; }

@media (max-width: 560px) {
    .sc-kinds[b-t1y2hsomlw] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Condivisione ---------- */
.sc-fields[b-t1y2hsomlw] { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: inherit; }
.sc-shared[b-t1y2hsomlw] { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; padding: 10px 12px; border-radius: 14px;
    background: rgba(56, 189, 248, .14); border: 1px solid rgba(56, 189, 248, .4); font-size: .88rem; }
.sc-shared span[b-t1y2hsomlw] { flex: 1; min-width: 0; }
.sc-sharebtn[b-t1y2hsomlw] { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border-radius: 14px; cursor: pointer;
    border: 1px dashed var(--border); background: rgba(255,255,255,.03); color: var(--text); font: inherit; text-align: left; }
.sc-sharebtn.on[b-t1y2hsomlw] { border-style: solid; border-color: color-mix(in oklab, var(--accent) 50%, transparent); background: color-mix(in oklab, var(--accent) 14%, transparent); }
.sc-kind-ro[b-t1y2hsomlw] { cursor: default; }
.sc-garage[b-t1y2hsomlw] { text-decoration: none; color: inherit; }
/* /Components/Pages/Scaffale/CercaPage.razor.rz.scp.css */
.sx[b-dwcv0rk149] { max-width: 760px; width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
.sx-bar[b-dwcv0rk149] { display: flex; gap: 10px; align-items: stretch; }
.sx-search[b-dwcv0rk149] { position: relative; flex: 1; min-width: 0; display: flex; align-items: center; }
.sx-search > span[b-dwcv0rk149] { position: absolute; left: 16px; opacity: .6; pointer-events: none; }
.sx-search .input[b-dwcv0rk149] { padding-left: 44px; padding-right: 44px; }
.sx-search .btn[b-dwcv0rk149] { position: absolute; right: 6px; }
.sx-scan[b-dwcv0rk149] { flex: none; gap: 8px; }
@media (max-width: 480px) { .sx-scan span[b-dwcv0rk149] { display: none; } .sx-scan[b-dwcv0rk149] { width: 56px; padding: 0; justify-content: center; } }
.sx-h[b-dwcv0rk149] { margin: 12px 4px 0; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.sx-h small[b-dwcv0rk149] { font-weight: 600; letter-spacing: 0; text-transform: none; font-size: .78rem; }
.sx-list[b-dwcv0rk149] { display: flex; flex-direction: column; gap: 8px; }
.sx-msg[b-dwcv0rk149] { margin: 6px 4px; color: var(--text-2); display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

/* il pulsante ✕ è nostro: niente quello del browser */
input[type=search][b-dwcv0rk149]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; display: none; }
/* /Components/Pages/Scaffale/ConfrontaPage.razor.rz.scp.css */
.cf[b-n83nfd8fu8] { max-width: 760px; width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.cf-cta[b-n83nfd8fu8] { align-self: center; }
.cf-h[b-n83nfd8fu8] { margin: 6px 4px 0; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.cf-bar[b-n83nfd8fu8] { display: flex; gap: 10px; }
.cf-search[b-n83nfd8fu8] { position: relative; flex: 1; min-width: 0; display: flex; align-items: center; }
.cf-search > span[b-n83nfd8fu8] { position: absolute; left: 16px; opacity: .6; pointer-events: none; }
.cf-search .input[b-n83nfd8fu8] { padding-left: 44px; }
.cf-list[b-n83nfd8fu8] { display: flex; flex-direction: column; gap: 8px; }
.cf-pick[b-n83nfd8fu8] { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 20px; cursor: pointer; text-align: left; color: var(--text); font: inherit; border: 1px solid var(--border); background: var(--surface); }
.cf-pick:hover[b-n83nfd8fu8] { background: var(--surface-2); }
.cf-thumb[b-n83nfd8fu8] { width: 48px; height: 48px; border-radius: 14px; flex: none; position: relative; overflow: hidden; display: grid; place-items: center; background: #fff; font-size: 20px; }
.cf-thumb img[b-n83nfd8fu8] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #fff; }
.cf-thumb > span[b-n83nfd8fu8] { opacity: .5; }
.cf-info[b-n83nfd8fu8] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cf-info b[b-n83nfd8fu8] { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.cf-info small[b-n83nfd8fu8] { color: var(--text-3); font-size: .8rem; }
.cf-ns[b-n83nfd8fu8] { --c: #64748b; font-style: normal; display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: var(--c); color: #fff; font-weight: 900; }
.cf-msg[b-n83nfd8fu8] { margin: 4px; color: var(--text-2); }
.cf-one .cf-head[b-n83nfd8fu8] { flex-direction: row; text-align: left; align-items: center; }
.cf-heads[b-n83nfd8fu8] { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cf-heads > div[b-n83nfd8fu8] { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 12px 10px 8px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); min-width: 0; }
.cf-head[b-n83nfd8fu8] { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; text-decoration: none; color: var(--text); min-width: 0; width: 100%; }
.cf-head .cf-thumb[b-n83nfd8fu8] { width: 76px; height: 76px; border-radius: 20px; font-size: 30px; }
.cf-head b[b-n83nfd8fu8] { font-size: .95rem; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.cf-head small[b-n83nfd8fu8] { color: var(--text-3); font-size: .78rem; }
.cf-one .cf-head[b-n83nfd8fu8] { padding: 12px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); gap: 12px; }
.cf-one .cf-head .cf-thumb[b-n83nfd8fu8] { width: 56px; height: 56px; }
.cf-table[b-n83nfd8fu8] { width: 100%; border-collapse: separate; border-spacing: 0 6px; font-variant-numeric: tabular-nums; table-layout: fixed; }
.cf-table th[b-n83nfd8fu8] { text-align: left; font-weight: 600; color: var(--text-2); font-size: .86rem; padding: 0 8px 0 2px; width: 34%; }
.cf-table td[b-n83nfd8fu8] { text-align: center; padding: 9px 6px; background: var(--surface); font-weight: 700; }
.cf-table td:nth-child(2)[b-n83nfd8fu8] { border-radius: 12px 0 0 12px; }
.cf-table td:nth-child(3)[b-n83nfd8fu8] { border-radius: 0 12px 12px 0; border-left: 1px solid var(--border); }
.cf-table td.win[b-n83nfd8fu8] { background: rgba(16,185,129,.16); color: #6ee7b7; }
.cf-table td.fit.ok[b-n83nfd8fu8] { color: #6ee7b7; }
.cf-table td.fit.bad[b-n83nfd8fu8] { color: #fda4af; }
.cf-table td.fit.maybe[b-n83nfd8fu8], .cf-table td.fit.unknown[b-n83nfd8fu8] { color: #fde68a; }
.cf-note[b-n83nfd8fu8] { font-size: .78rem; text-align: center; margin: 0; }
/* /Components/Pages/Scaffale/ProdottoPage.razor.rz.scp.css */
.pp[b-ehpou08zen] { max-width: 760px; width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.pp-top[b-ehpou08zen] { display: flex; gap: 16px; align-items: flex-start; }
.pp-img[b-ehpou08zen] { width: clamp(104px, 30vw, 150px); aspect-ratio: 1; border-radius: 26px; background: #fff; flex: none; position: relative; overflow: hidden; display: grid; place-items: center; font-size: 42px; box-shadow: var(--shadow-1); }
.pp-img img[b-ehpou08zen] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #fff; }
.pp-img > span[b-ehpou08zen] { opacity: .4; }
.pp-title[b-ehpou08zen] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.pp-title h1[b-ehpou08zen] { margin: 0; font-size: clamp(1.3rem, 5.4vw, 1.75rem); line-height: 1.2; overflow-wrap: anywhere; }
.pp-title p[b-ehpou08zen] { margin: 0; color: var(--text-2); }
.pp-code[b-ehpou08zen] { color: var(--text-3); font-variant-numeric: tabular-nums; letter-spacing: .05em; font-size: .78rem; }
.pp-scores[b-ehpou08zen] { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; align-items: stretch; }
.pp-ns[b-ehpou08zen] { display: flex; flex-direction: column; gap: 3px; padding: 6px 8px 8px; border-radius: 14px; background: #fff; }
.pp-ns small[b-ehpou08zen] { font-size: .56rem; font-weight: 900; letter-spacing: .08em; color: #334155; text-align: center; }
.pp-ns span[b-ehpou08zen] { display: flex; gap: 2px; align-items: center; }
.pp-ns i[b-ehpou08zen] { --c: #64748b; font-style: normal; width: 22px; height: 24px; display: grid; place-items: center; background: var(--c); color: rgba(255,255,255,.75); font-weight: 900; font-size: .75rem; opacity: .45; }
.pp-ns i:first-child[b-ehpou08zen] { border-radius: 8px 0 0 8px; }
.pp-ns i:last-child[b-ehpou08zen] { border-radius: 0 8px 8px 0; }
.pp-ns i.on[b-ehpou08zen] { opacity: 1; color: #fff; width: 32px; height: 34px; font-size: 1.15rem; border-radius: 9px; box-shadow: 0 0 0 2px #fff, 0 4px 10px rgba(0,0,0,.3); position: relative; z-index: 1; }
.pp-nova[b-ehpou08zen] { display: flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); max-width: 210px; }
.pp-nova b[b-ehpou08zen] { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; color: #fff; font-size: 1.1rem; flex: none; }
.pp-nova span[b-ehpou08zen] { font-size: .78rem; color: var(--text-2); line-height: 1.2; }
.pp-nova.n1 b[b-ehpou08zen] { background: #00aa00; } .pp-nova.n2 b[b-ehpou08zen] { background: #ffcc00; color: #3f3200; } .pp-nova.n3 b[b-ehpou08zen] { background: #ff6600; } .pp-nova.n4 b[b-ehpou08zen] { background: #ff0000; }

.pp-fit[b-ehpou08zen] { display: flex; flex-direction: column; gap: 3px; padding: 12px 16px; border-radius: 18px; border: 1px solid; }
.pp-fit b[b-ehpou08zen] { font-size: 1rem; }
.pp-fit span[b-ehpou08zen] { font-size: .88rem; }
.pp-fit.ok[b-ehpou08zen] { color: #6ee7b7; background: rgba(16,185,129,.1); border-color: rgba(16,185,129,.3); }
.pp-fit.bad[b-ehpou08zen] { color: #fda4af; background: rgba(244,63,94,.1); border-color: rgba(244,63,94,.32); }
.pp-fit.maybe[b-ehpou08zen], .pp-fit.unknown[b-ehpou08zen] { color: #fde68a; background: rgba(251,191,36,.09); border-color: rgba(251,191,36,.3); }

.pp-actions[b-ehpou08zen] { display: flex; flex-wrap: wrap; gap: 8px; }
.pp-actions .btn-primary[b-ehpou08zen] { flex: 1 1 220px; justify-content: center; }

.pp-card[b-ehpou08zen] { padding: 16px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); display: flex; flex-direction: column; gap: 10px; }
.pp-card h2[b-ehpou08zen] { margin: 0; font-size: 1rem; display: flex; align-items: baseline; gap: 8px; }
.pp-card h2 small[b-ehpou08zen], .pp-card h3 small[b-ehpou08zen] { font-weight: 500; font-size: .78rem; color: var(--text-3); text-transform: none; letter-spacing: 0; }
.pp-card h3[b-ehpou08zen] { margin: 6px 0 0; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.pp-kpis[b-ehpou08zen] { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; }
.pp-kpis > div[b-ehpou08zen] { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 16px; background: rgba(0,0,0,.2); min-width: 0; }
.pp-kpis > div.best[b-ehpou08zen] { background: rgba(16,185,129,.12); }
.pp-kpis small[b-ehpou08zen] { font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.pp-kpis b[b-ehpou08zen] { font-family: var(--font-display); font-size: 1.45rem; font-variant-numeric: tabular-nums; }
.pp-kpis b.pp-unit[b-ehpou08zen] { font-size: 1.1rem; }
.pp-kpis span[b-ehpou08zen] { font-size: .78rem; color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pp-spark[b-ehpou08zen] { width: 100%; height: 60px; display: block; }
.pp-spark-l[b-ehpou08zen] { margin: -6px 0 0; display: flex; justify-content: space-between; gap: 8px; font-size: .72rem; color: var(--text-3); }
.pp-stores[b-ehpou08zen] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pp-stores li[b-ehpou08zen] { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border-radius: 14px; background: rgba(0,0,0,.18); }
.pp-stores li.best[b-ehpou08zen] { background: rgba(16,185,129,.12); box-shadow: inset 0 0 0 1px rgba(16,185,129,.3); }
.pp-stores li > span[b-ehpou08zen] { display: flex; flex-direction: column; min-width: 0; }
.pp-stores li > span b[b-ehpou08zen] { font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pp-stores small[b-ehpou08zen] { color: var(--text-3); font-size: .76rem; }
.pp-stores li > b[b-ehpou08zen] { font-family: var(--font-display); font-variant-numeric: tabular-nums; flex: none; }
.pp-none[b-ehpou08zen] { margin: 0; color: var(--text-2); line-height: 1.5; }
.pp-op[b-ehpou08zen] { margin: 0; font-size: .82rem; }

.pp-nut[b-ehpou08zen] { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.pp-nut th[b-ehpou08zen], .pp-nut td[b-ehpou08zen] { padding: 7px 4px; border-bottom: 1px solid var(--border); text-align: left; font-weight: 500; }
.pp-nut td:nth-child(2)[b-ehpou08zen] { text-align: right; font-weight: 700; }
.pp-nut td:last-child[b-ehpou08zen] { width: 26px; text-align: right; }
.pp-nut tr.sub th[b-ehpou08zen] { padding-left: 18px; color: var(--text-2); font-size: .9rem; }
.pp-nut tr:last-child th[b-ehpou08zen], .pp-nut tr:last-child td[b-ehpou08zen] { border-bottom: 0; }
.lv[b-ehpou08zen], .pp-legend i[b-ehpou08zen] { display: inline-block; width: 12px; height: 12px; border-radius: 50%; vertical-align: middle; }
.lv.low[b-ehpou08zen], .pp-legend i.low[b-ehpou08zen] { background: #22c55e; }
.lv.moderate[b-ehpou08zen], .pp-legend i.moderate[b-ehpou08zen] { background: #f59e0b; }
.lv.high[b-ehpou08zen], .pp-legend i.high[b-ehpou08zen] { background: #ef4444; }
.pp-legend[b-ehpou08zen] { margin: 0; font-size: .76rem; color: var(--text-3); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.pp-legend i[b-ehpou08zen] { margin-left: 6px; }
.pp-serv[b-ehpou08zen] { margin: 0; font-size: .82rem; }

.pp-chips[b-ehpou08zen] { display: flex; flex-wrap: wrap; gap: 6px; }
.pp-chip[b-ehpou08zen] { padding: 5px 11px; border-radius: 999px; font-size: .84rem; font-weight: 600; }
.pp-chip.bad[b-ehpou08zen] { color: #fda4af; background: rgba(244,63,94,.14); }
.pp-chip.maybe[b-ehpou08zen] { color: #fde68a; background: rgba(251,191,36,.12); }
.pp-adds[b-ehpou08zen] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pp-adds li[b-ehpou08zen] { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; border-radius: 12px; background: rgba(0,0,0,.16); }
.pp-adds li > b[b-ehpou08zen] { flex: none; min-width: 54px; font-variant-numeric: tabular-nums; color: var(--text-2); }
.pp-adds li.limit > b[b-ehpou08zen] { color: #fbbf24; }
.pp-adds span[b-ehpou08zen] { display: flex; flex-direction: column; gap: 2px; font-size: .92rem; }
.pp-adds small[b-ehpou08zen] { color: var(--text-3); }
.pp-adds em[b-ehpou08zen] { font-style: normal; font-size: .8rem; color: #fde68a; }
.pp-ingr summary[b-ehpou08zen] { cursor: pointer; list-style: none; }
.pp-ingr summary[b-ehpou08zen]::-webkit-details-marker { display: none; }
.pp-ingr summary h2[b-ehpou08zen]::after { content: "›"; margin-left: auto; transform: rotate(90deg); color: var(--text-3); }
.pp-ingr[open] summary h2[b-ehpou08zen]::after { transform: rotate(-90deg); }
.pp-ingr p[b-ehpou08zen] { margin: 0; color: var(--text-2); line-height: 1.55; font-size: .92rem; }
.pp-src[b-ehpou08zen] { font-size: .78rem; text-align: center; margin: 4px 0 0; }
.pp-src a[b-ehpou08zen] { color: var(--text-2); }
/* /Components/Pages/Scaffale/ProductRow.razor.rz.scp.css */
.pr[b-ki5mrfgh5j] {
    display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 20px; text-decoration: none; color: var(--text);
    border: 1px solid var(--border); background: linear-gradient(150deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
}
.pr:hover[b-ki5mrfgh5j] { background: var(--surface-2); }
.pr-thumb[b-ki5mrfgh5j] { width: 52px; height: 52px; border-radius: 14px; flex: none; position: relative; overflow: hidden; display: grid; place-items: center; background: #fff; font-size: 22px; }
.pr-thumb img[b-ki5mrfgh5j] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #fff; }
.pr-thumb > span[b-ki5mrfgh5j] { opacity: .5; }
.pr-info[b-ki5mrfgh5j] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pr-info b[b-ki5mrfgh5j] { font-weight: 650; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.pr-info small[b-ki5mrfgh5j] { color: var(--text-3); font-size: .8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pr-ns[b-ki5mrfgh5j] { --c: #64748b; font-style: normal; flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--c); color: #fff; font-weight: 900; font-size: .82rem; }
.pr-amt[b-ki5mrfgh5j] { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex: none; text-align: right; }
.pr-amt b[b-ki5mrfgh5j] { font-family: var(--font-display); font-variant-numeric: tabular-nums; }
.pr-amt small[b-ki5mrfgh5j] { color: var(--text-3); font-size: .74rem; white-space: nowrap; }
/* /Components/Pages/Scaffale/ProfileButton.razor.rz.scp.css */
.pf-btn[b-3duxmajztt] { position: relative; gap: 6px; }
.pf-btn i[b-3duxmajztt] { font-style: normal; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; display: inline-grid; place-items: center; font-size: .7rem; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--accent), var(--accent-2)); }
.pf-btn.on[b-3duxmajztt] { border-color: color-mix(in oklab, var(--accent) 50%, transparent); }
.pf-intro[b-3duxmajztt] { margin: 0 0 6px; line-height: 1.5; }
.pf-ok[b-3duxmajztt] { color: var(--success); }
.pf-bad[b-3duxmajztt] { color: var(--danger); }
.pf-h[b-3duxmajztt] { margin: 14px 0 8px; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.pf-chips[b-3duxmajztt] { display: flex; flex-wrap: wrap; gap: 8px; }
.pf-note[b-3duxmajztt] { margin: 16px 0 0; font-size: .82rem; }
/* /Components/Pages/Scaffale/ScaffalePage.razor.rz.scp.css */
.sc-cartpage[b-6s97vgvdwi] { max-width: 760px; width: 100%; margin: 0 auto; }
.sp-lists[b-6s97vgvdwi] { display: flex; gap: 8px; margin-bottom: 12px; padding-bottom: 2px; }
.sp-lists .chip[b-6s97vgvdwi] { flex: none; }
.sp-sk[b-6s97vgvdwi] { display: flex; flex-direction: column; align-items: center; gap: 14px; padding-top: 18px; }
/* /Components/Pages/Scaffale/SpesaPage.razor.rz.scp.css */
.sd[b-w46atzeaii] { max-width: 760px; width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.sd-cta[b-w46atzeaii] { align-self: center; }
.sd-head[b-w46atzeaii] { display: flex; flex-direction: column; gap: 3px; padding: 18px 18px 16px; border-radius: 26px; background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 28%, transparent), color-mix(in oklab, var(--accent-2) 14%, transparent)); border: 1px solid color-mix(in oklab, var(--accent) 38%, transparent); }
.sd-head small[b-w46atzeaii] { color: var(--text-2); font-size: .82rem; }
.sd-head h1[b-w46atzeaii] { margin: 2px 0 0; font-size: clamp(1.35rem, 5.4vw, 1.8rem); overflow-wrap: anywhere; }
.sd-head p[b-w46atzeaii] { margin: 0; color: var(--text-2); font-size: .88rem; }
.sd-total[b-w46atzeaii] { font-family: var(--font-display); font-size: clamp(2.1rem, 9vw, 2.8rem); font-variant-numeric: tabular-nums; letter-spacing: -.02em; margin-top: 8px; }
.sd-head > span[b-w46atzeaii] { color: var(--text-2); font-size: .86rem; }
.sd-people[b-w46atzeaii] { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); }
.sd-people > div[b-w46atzeaii] { display: flex; align-items: center; gap: 10px; }
.sd-people i[b-w46atzeaii] { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 800; font-size: .8rem; color: #fff; flex: none; background: linear-gradient(135deg, hsl(var(--h) 75% 58%), hsl(calc(var(--h) + 40) 80% 52%)); }
.sd-people span[b-w46atzeaii] { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.sd-people small[b-w46atzeaii] { color: var(--text-3); font-size: .78rem; }
.sd-people > div > b[b-w46atzeaii] { font-variant-numeric: tabular-nums; }
.sd-items[b-w46atzeaii] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.sd-row[b-w46atzeaii] { display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 18px; text-decoration: none; color: var(--text); border: 1px solid var(--border); background: var(--surface); }
a.sd-row:hover[b-w46atzeaii] { background: var(--surface-2); }
.sd-thumb[b-w46atzeaii] { width: 44px; height: 44px; border-radius: 12px; flex: none; position: relative; overflow: hidden; display: grid; place-items: center; background: #fff; font-size: 20px; }
.sd-thumb img[b-w46atzeaii] { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #fff; }
.sd-thumb > span[b-w46atzeaii] { opacity: .5; }
.sd-info[b-w46atzeaii] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.sd-info b[b-w46atzeaii] { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sd-info small[b-w46atzeaii] { color: var(--text-3); font-size: .78rem; }
.sd-amt[b-w46atzeaii] { display: flex; flex-direction: column; align-items: flex-end; flex: none; }
.sd-amt b[b-w46atzeaii] { font-variant-numeric: tabular-nums; }
.sd-amt small[b-w46atzeaii] { color: var(--text-3); font-size: .74rem; white-space: nowrap; }
.sd-del[b-w46atzeaii] { align-self: center; color: var(--danger); margin-top: 6px; }
/* /Components/Pages/Scaffale/SpesePage.razor.rz.scp.css */
.ss[b-uwbgsrxqkv] { max-width: 760px; width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.ss-cta[b-uwbgsrxqkv] { align-self: center; }
.ss-kpis[b-uwbgsrxqkv] { display: grid; grid-template-columns: 1.4fr 1fr; gap: 10px; }
.ss-kpis > div[b-uwbgsrxqkv] { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); min-width: 0; }
.ss-kpis > div.main[b-uwbgsrxqkv] { background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 30%, transparent), color-mix(in oklab, var(--accent-2) 18%, transparent)); border-color: color-mix(in oklab, var(--accent) 40%, transparent); }
.ss-kpis small[b-uwbgsrxqkv] { font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); }
.ss-kpis b[b-uwbgsrxqkv] { font-family: var(--font-display); font-size: clamp(1.4rem, 6vw, 2rem); font-variant-numeric: tabular-nums; }
.ss-kpis span[b-uwbgsrxqkv] { font-size: .8rem; color: var(--text-2); }
.ss-card[b-uwbgsrxqkv] { padding: 14px 16px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); display: flex; flex-direction: column; gap: 10px; }
.ss-card h3[b-uwbgsrxqkv] { margin: 0; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.ss-card h3 small[b-uwbgsrxqkv] { font-weight: 500; text-transform: none; letter-spacing: 0; }
.ss-store[b-uwbgsrxqkv] { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: baseline; }
.ss-store span[b-uwbgsrxqkv] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.ss-store small[b-uwbgsrxqkv] { color: var(--text-3); font-weight: 500; margin-left: 6px; }
.ss-store b[b-uwbgsrxqkv] { font-variant-numeric: tabular-nums; }
.ss-store i[b-uwbgsrxqkv] { grid-column: 1 / -1; height: 6px; border-radius: 6px; background: rgba(255,255,255,.08); position: relative; overflow: hidden; }
.ss-store i[b-uwbgsrxqkv]::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); border-radius: 6px; background: linear-gradient(90deg, var(--accent), var(--accent-2)); }
.ss-month[b-uwbgsrxqkv] { margin: 10px 4px 0; display: flex; justify-content: space-between; align-items: baseline; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.ss-month b[b-uwbgsrxqkv] { font-size: .95rem; letter-spacing: 0; color: var(--text-2); font-variant-numeric: tabular-nums; }
.ss-list[b-uwbgsrxqkv] { display: flex; flex-direction: column; gap: 8px; }
.ss-row[b-uwbgsrxqkv] { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 20px; text-decoration: none; color: var(--text); border: 1px solid var(--border); background: linear-gradient(150deg, rgba(255,255,255,.07), rgba(255,255,255,.02)); }
.ss-row:hover[b-uwbgsrxqkv] { background: var(--surface-2); }
.ss-ico[b-uwbgsrxqkv] { width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; font-size: 20px; flex: none; background: color-mix(in oklab, var(--accent) 18%, transparent); }
.ss-info[b-uwbgsrxqkv] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ss-info b[b-uwbgsrxqkv] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-info small[b-uwbgsrxqkv] { color: var(--text-3); font-size: .8rem; }
.ss-people[b-uwbgsrxqkv] { display: inline-flex; }
.ss-people i[b-uwbgsrxqkv] { margin-left: -6px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: .68rem; font-weight: 800; color: #fff; box-shadow: 0 0 0 2px var(--bg-1); background: linear-gradient(135deg, hsl(var(--h) 75% 58%), hsl(calc(var(--h) + 40) 80% 52%)); }
.ss-amt[b-uwbgsrxqkv] { font-family: var(--font-display); font-size: 1.1rem; font-variant-numeric: tabular-nums; flex: none; }
/* /Components/Pages/Spese/Parts/AccountCard.razor.rz.scp.css */
.cc-wrap[b-2djba5oeuo] {
    position: relative; width: 100%; aspect-ratio: 1.586; border-radius: 22px; perspective: 1400px; cursor: pointer;
    animation: cc-in-b-2djba5oeuo .9s var(--ease-spring) backwards; animation-delay: calc(var(--i, 0) * 90ms);
    outline: none;
}
.cc-wrap.compact[b-2djba5oeuo] { width: 280px; }
.cc-wrap.preview[b-2djba5oeuo] { max-width: 340px; margin: 0 auto; cursor: default; }
.cc-wrap:focus-visible[b-2djba5oeuo] { box-shadow: 0 0 0 3px var(--accent-2); }
.cc-wrap.archived[b-2djba5oeuo] { filter: grayscale(.7) brightness(.8); }
@keyframes cc-in-b-2djba5oeuo { from { opacity: 0; transform: perspective(1000px) translateY(50px) rotateX(40deg) rotateZ(-6deg) scale(.85); } }

.cc[b-2djba5oeuo] { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform .9s var(--ease-spring); border-radius: inherit; }
.cc.flipped[b-2djba5oeuo] { transform: rotateY(180deg); }
.cc-face[b-2djba5oeuo] {
    position: absolute; inset: 0; border-radius: inherit; overflow: hidden; backface-visibility: hidden; -webkit-backface-visibility: hidden;
    padding: 18px 20px; display: flex; flex-direction: column; color: white;
    background:
        radial-gradient(120% 90% at 100% 0%, rgba(255,255,255,.28), transparent 45%),
        radial-gradient(90% 120% at 0% 100%, color-mix(in oklab, var(--c2) 90%, black), transparent 70%),
        linear-gradient(135deg, var(--c), var(--c2));
    border: 1px solid rgba(255,255,255,.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35), inset 0 -20px 40px rgba(0,0,0,.25), 0 30px 50px -22px color-mix(in oklab, var(--c) 85%, black);
}
.cc-back[b-2djba5oeuo] { transform: rotateY(180deg); padding: 0; }

/* Riflesso olografico che segue il puntatore (usa --gx/--gy del tilt globale) */
.cc-holo[b-2djba5oeuo] {
    position: absolute; inset: -40%; pointer-events: none; mix-blend-mode: overlay; opacity: .55;
    background:
        conic-gradient(from calc(var(--mx, 0) * 90deg) at var(--gx, 50%) var(--gy, 50%), #ff7ad9, #7afcff, #fffb7a, #a18cff, #ff7ad9),
        repeating-linear-gradient(115deg, rgba(255,255,255,.0) 0 8px, rgba(255,255,255,.08) 8px 9px);
    filter: blur(18px) saturate(1.3);
    transition: opacity .4s;
}
.cc-wrap:hover .cc-holo[b-2djba5oeuo] { opacity: .85; }
.cc-orb[b-2djba5oeuo] { position: absolute; width: 70%; aspect-ratio: 1; right: -25%; top: -45%; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.22), transparent 65%); pointer-events: none; }

.cc-top[b-2djba5oeuo] { display: flex; align-items: center; justify-content: space-between; position: relative; }
.cc-icon[b-2djba5oeuo] { font-size: 24px; filter: drop-shadow(0 4px 8px rgba(0,0,0,.35)); }
.cc-type[b-2djba5oeuo] { font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; opacity: .85; }
.cc-mid[b-2djba5oeuo] { display: flex; align-items: center; gap: 10px; margin-top: 10px; position: relative; }
.cc-chip[b-2djba5oeuo] {
    width: 42px; height: 31px; border-radius: 7px; position: relative; display: grid; grid-template-rows: repeat(3, 1fr); padding: 4px 6px; gap: 2px;
    background: linear-gradient(135deg, #fde68a, #d4a017 45%, #fef3c7 60%, #b8860b);
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.25), 0 2px 5px rgba(0,0,0,.3);
}
.cc-chip i[b-2djba5oeuo] { display: block; border-top: 1px solid rgba(80,50,0,.45); }
.cc-nfc[b-2djba5oeuo] { opacity: .8; transform: rotate(0deg); }
.cc-balance-label[b-2djba5oeuo] { margin-top: auto; font-size: .68rem; text-transform: uppercase; letter-spacing: .14em; opacity: .75; position: relative; }
.cc-balance[b-2djba5oeuo] { font-size: clamp(1.35rem, 3.2vw, 1.75rem); font-weight: 700; letter-spacing: -0.02em; position: relative; text-shadow: 0 2px 12px rgba(0,0,0,.35); line-height: 1.15; }
.cc-balance.negative[b-2djba5oeuo] { color: #ffe4e6; }
.cc-bottom[b-2djba5oeuo] { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; margin-top: 6px; position: relative; }
.cc-name[b-2djba5oeuo] { font-weight: 600; font-size: .92rem; text-shadow: 0 1px 4px rgba(0,0,0,.35); }
.cc-number[b-2djba5oeuo] { font-family: var(--font-display); letter-spacing: .12em; font-size: .8rem; opacity: .85; white-space: nowrap; }

.cc-stripe[b-2djba5oeuo] { height: 20%; margin-top: 8%; background: linear-gradient(90deg, #111, #2a2a2a 40%, #111); }
.cc-back-body[b-2djba5oeuo] { padding: 10px 18px 14px; display: flex; flex-direction: column; gap: 8px; flex: 1; min-height: 0; }
.cc-stats[b-2djba5oeuo] { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; }
.cc-stats > div[b-2djba5oeuo] { display: flex; flex-direction: column; min-width: 0; }
.cc-stats .lbl[b-2djba5oeuo] { font-size: .62rem; text-transform: uppercase; letter-spacing: .1em; opacity: .75; }
.cc-stats .num[b-2djba5oeuo] { font-weight: 700; font-size: .9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-stats .pos[b-2djba5oeuo] { color: #bbf7d0; } .cc-stats .neg[b-2djba5oeuo] { color: #fecdd3; }
.cc-actions[b-2djba5oeuo] { display: flex; gap: 6px; margin-top: auto; flex-wrap: wrap; }
.cc-actions[b-2djba5oeuo]  .btn { background: rgba(0,0,0,.28); border-color: rgba(255,255,255,.2); height: 30px; padding: 0 10px; font-size: .78rem; border-radius: 10px; }

.cc-shadow[b-2djba5oeuo] { position: absolute; left: 8%; right: 8%; bottom: -14px; height: 24px; border-radius: 50%; background: color-mix(in oklab, var(--c) 60%, black); filter: blur(18px); opacity: .6; z-index: -1; transform: translateZ(-40px); }

.cc-wrap.compact .cc-face[b-2djba5oeuo] { padding: 14px 16px; }
.cc-wrap.compact .cc-balance[b-2djba5oeuo] { font-size: 1.35rem; }
.cc-wrap.compact .cc-chip[b-2djba5oeuo] { width: 36px; height: 26px; }
@media (max-width: 480px) { .cc-wrap.compact[b-2djba5oeuo] { width: 250px; } .cc-face[b-2djba5oeuo] { padding: 14px 16px; } }
/* /Components/Pages/Spese/Parts/CategoryPicker.razor.rz.scp.css */
.cp[b-5zrp00uq8o] { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.cp-head[b-5zrp00uq8o] { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 24px; }
.cp-pill[b-5zrp00uq8o] { font-size: .78rem; font-weight: 600; padding: 3px 10px; border-radius: 99px; background: color-mix(in oklab, var(--c) 25%, transparent); border: 1px solid color-mix(in oklab, var(--c) 45%, transparent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 62%; }
.cp-pill.none[b-5zrp00uq8o] { --c: #64748B; color: var(--text-3); }

.cp-grid[b-5zrp00uq8o] { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 8px; }
.cp-tile[b-5zrp00uq8o] {
    display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 4px 8px; border-radius: 16px; cursor: pointer; min-width: 0;
    background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.06); color: var(--text-2); font: inherit;
}
.cp-tile:hover[b-5zrp00uq8o] { background: rgba(255,255,255,.07); color: var(--text); }
.cp-ico[b-5zrp00uq8o] {
    width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; font-size: 21px;
    background: radial-gradient(circle at 30% 25%, color-mix(in oklab, var(--c) 60%, white 8%), color-mix(in oklab, var(--c) 35%, black 20%));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 6px 14px -8px var(--c);
}
.cp-name[b-5zrp00uq8o] { font-size: .72rem; font-weight: 600; line-height: 1.2; text-align: center; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 100%; }
.cp-tile.active[b-5zrp00uq8o] {
    color: white;
    background: linear-gradient(160deg, color-mix(in oklab, var(--c) 32%, transparent), rgba(255,255,255,.03));
    border-color: color-mix(in oklab, var(--c) 70%, white 10%);
    box-shadow: 0 16px 28px -14px var(--c), inset 0 1px 0 rgba(255,255,255,.12);
}
.cp-add[b-5zrp00uq8o] { --c: #64748B; border-style: dashed; border-color: rgba(255,255,255,.18); }
.cp-add .cp-ico[b-5zrp00uq8o] { background: transparent; border: 1px dashed currentColor; box-shadow: none; font-size: 22px; color: var(--accent-2, #22D3EE); }

.cp-subs[b-5zrp00uq8o] { display: flex; flex-wrap: wrap; gap: 8px; }
.cp-sub.active[b-5zrp00uq8o] { background: color-mix(in oklab, var(--c) 35%, transparent); border-color: color-mix(in oklab, var(--c) 70%, transparent); }

.cp-new[b-5zrp00uq8o] { display: flex; flex-direction: column; gap: 10px; padding: 12px; border-radius: 16px; border: 1px solid var(--border); background: rgba(0,0,0,.18); }
.cp-new-icons[b-5zrp00uq8o] { display: grid; grid-template-columns: repeat(auto-fill, minmax(38px, 1fr)); gap: 6px; }
.cp-emoji[b-5zrp00uq8o] { height: 38px; border-radius: 11px; border: 1px solid var(--border); background: rgba(255,255,255,.03); font-size: 1.15rem; cursor: pointer; }
.cp-emoji.active[b-5zrp00uq8o] { border-color: var(--accent-2, #22D3EE); background: color-mix(in oklab, var(--accent-2, #22D3EE) 22%, transparent); }
.cp-new-row[b-5zrp00uq8o] { gap: 8px; flex-wrap: wrap; }
.cp-new-row .input[b-5zrp00uq8o] { min-width: 0; flex: 1 1 180px; }
.cp-asSub[b-5zrp00uq8o] { display: flex; align-items: center; gap: 8px; font-size: .85rem; color: var(--text-2); }

/* Telefono: due righe che scorrono di lato, come nell'editor dei movimenti */
@media (max-width: 640px) {
    .cp-grid[b-5zrp00uq8o] { grid-auto-flow: column; grid-template-rows: repeat(2, auto); grid-template-columns: none; grid-auto-columns: 80px; overflow-x: auto; scrollbar-width: none; padding: 4px 2px 6px; scroll-snap-type: x proximity; }
    .cp-grid[b-5zrp00uq8o]::-webkit-scrollbar { display: none; }
    .cp-tile[b-5zrp00uq8o] { scroll-snap-align: start; }
}
/* /Components/Pages/Spese/Parts/ChartCanvas.razor.rz.scp.css */
.chart-box[b-xu6nm5rim8] { position: relative; width: 100%; min-width: 0; }
.chart-box canvas[b-xu6nm5rim8] { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }
/* /Components/Pages/Spese/Parts/ExportSheet.razor.rz.scp.css */
.ex[b-mqdx6cojrp] { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ex-label[b-mqdx6cojrp] { font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); margin-top: 4px; }
.ex-periods[b-mqdx6cojrp] { display: flex; flex-wrap: wrap; gap: 6px; }
.ex-dates[b-mqdx6cojrp] { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ex-period[b-mqdx6cojrp] { margin: 0; }
.ex-formats[b-mqdx6cojrp] { display: flex; flex-direction: column; gap: 8px; }
.ex-format[b-mqdx6cojrp] {
    --c: var(--accent);
    display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 18px; text-decoration: none; text-align: left; cursor: pointer;
    color: var(--text); font: inherit; width: 100%;
    border: 1px solid color-mix(in oklab, var(--c) 40%, var(--border));
    background: linear-gradient(135deg, color-mix(in oklab, var(--c) 18%, transparent), rgba(255,255,255,.02));
}
.ex-format.pdf[b-mqdx6cojrp] { --c: #EF4444; }
.ex-format.xlsx[b-mqdx6cojrp] { --c: #10B981; }
.ex-format.csv[b-mqdx6cojrp] { --c: #94A3B8; }
.ex-format .grow[b-mqdx6cojrp] { display: flex; flex-direction: column; min-width: 0; }
.ex-format small[b-mqdx6cojrp] { color: var(--text-2); font-size: .78rem; line-height: 1.35; }
.ex-ico[b-mqdx6cojrp] { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: 14px; font-size: 1.4rem; background: color-mix(in oklab, var(--c) 22%, rgba(0,0,0,.2)); }
.ex-go[b-mqdx6cojrp] { font-size: 1.2rem; font-weight: 800; color: color-mix(in oklab, var(--c) 75%, white); }
/* /Components/Pages/Spese/Parts/FinanceShell.razor.rz.scp.css */
/* Stili condivisi da tutte le pagine del modulo Finanze (applicati tramite ::deep sotto .fin). */

.fin[b-d77eew6i7u] { position: relative; }

.fin-fab[b-d77eew6i7u] { box-shadow: 0 20px 40px -10px color-mix(in oklab, var(--accent) 80%, transparent), inset 0 1px 0 rgba(255,255,255,.35); }
.fin-fab[b-d77eew6i7u]::before {
    content: ""; position: absolute; inset: -6px; border-radius: 26px; border: 2px solid color-mix(in oklab, var(--accent-2) 60%, transparent);
    animation: fab-ping-b-d77eew6i7u 2.8s var(--ease-out) infinite 1.2s; pointer-events: none;
}
@keyframes fab-ping-b-d77eew6i7u { 0% { transform: scale(.9); opacity: .9; } 70%, 100% { transform: scale(1.35); opacity: 0; } }

/* ---------- Layout ---------- */
[b-d77eew6i7u] .fin-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
[b-d77eew6i7u] .fin-toolbar .spacer { flex: 1; }
[b-d77eew6i7u] .fin-section { margin-top: 26px; }
[b-d77eew6i7u] .fin-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
[b-d77eew6i7u] .fin-section-head h2 { font-size: 1.2rem; display: flex; align-items: center; gap: 8px; }
[b-d77eew6i7u] .fin-section-head a.more, [b-d77eew6i7u] .link { color: var(--accent-2); font-weight: 600; font-size: .86rem; white-space: nowrap; }
[b-d77eew6i7u] .fin-section-head a.more:hover, [b-d77eew6i7u] .link:hover { text-decoration: underline; }
[b-d77eew6i7u] .fin-grid-main { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 16px; }
@media (max-width: 960px) { [b-d77eew6i7u] .fin-grid-main { grid-template-columns: minmax(0, 1fr); } }

/* ---------- KPI card ---------- */
[b-d77eew6i7u] .kcard { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
[b-d77eew6i7u] .kcard .k-ico {
    width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; font-size: 18px;
    background: linear-gradient(135deg, color-mix(in oklab, var(--kc, var(--accent)) 55%, transparent), color-mix(in oklab, var(--kc, var(--accent)) 20%, transparent));
    box-shadow: 0 10px 20px -10px var(--kc, var(--accent)), inset 0 1px 0 rgba(255,255,255,.25);
}
[b-d77eew6i7u] .kcard .k-label { font-size: .72rem; color: var(--text-2); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
[b-d77eew6i7u] .kcard .k-value { font-family: var(--font-display); font-size: clamp(1.35rem, 2.6vw, 1.75rem); font-weight: 700; letter-spacing: -0.03em; line-height: 1.1; }
[b-d77eew6i7u] .kcard .k-foot { font-size: .78rem; color: var(--text-3); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
[b-d77eew6i7u] .kcard::before {
    content: ""; position: absolute; width: 160px; height: 160px; right: -60px; top: -70px; border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle, color-mix(in oklab, var(--kc, var(--accent)) 35%, transparent), transparent 70%);
}
[b-d77eew6i7u] .delta { display: inline-flex; align-items: center; gap: 3px; padding: 1px 8px; border-radius: 99px; font-weight: 700; font-size: .74rem; }
[b-d77eew6i7u] .delta.good { background: rgba(52,211,153,.16); color: #6ee7b7; }
[b-d77eew6i7u] .delta.bad { background: rgba(251,113,133,.16); color: #fda4af; }
[b-d77eew6i7u] .delta.flat { background: rgba(255,255,255,.08); color: var(--text-2); }

/* ---------- Transizione 3D tra mesi ---------- */
[b-d77eew6i7u] .month-stage { perspective: 1400px; }
[b-d77eew6i7u] .month-stage > .ms-inner { transform-origin: 50% 0; }
[b-d77eew6i7u] .month-stage.next > .ms-inner { animation: ms-next-b-d77eew6i7u .65s var(--ease-out) both; }
[b-d77eew6i7u] .month-stage.prev > .ms-inner { animation: ms-prev-b-d77eew6i7u .65s var(--ease-out) both; }
@keyframes ms-next-b-d77eew6i7u { from { opacity: 0; transform: rotateY(-24deg) translate3d(80px, 0, -120px); } to { opacity: 1; transform: none; } }
@keyframes ms-prev-b-d77eew6i7u { from { opacity: 0; transform: rotateY(24deg) translate3d(-80px, 0, -120px); } to { opacity: 1; transform: none; } }

/* ---------- Gruppi per giorno ---------- */
[b-d77eew6i7u] .day-group { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
[b-d77eew6i7u] .day-head {
    position: sticky; top: calc(64px + var(--safe-top)); z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 8px 14px; border-radius: 14px; background: rgba(12, 10, 34, .72);
    border: 1px solid var(--border); font-size: .84rem;
}
[b-d77eew6i7u] .day-head .d-label { font-weight: 700; font-family: var(--font-display); }
[b-d77eew6i7u] .day-head .d-num { font-size: 1.1rem; font-weight: 800; color: var(--accent-2); margin-right: 6px; }
[b-d77eew6i7u] .day-head .d-total { font-weight: 700; font-variant-numeric: tabular-nums; }

/* ---------- Legenda categorie con barre ---------- */
[b-d77eew6i7u] .cat-legend { display: flex; flex-direction: column; gap: 10px; }
[b-d77eew6i7u] .cl-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; padding: 6px 8px; border-radius: 12px; transition: background .2s; }
[b-d77eew6i7u] .cl-row.clickable { cursor: pointer; }
[b-d77eew6i7u] .cl-row.clickable:hover { background: rgba(255,255,255,.05); }
[b-d77eew6i7u] .cl-ico { grid-row: span 2; width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; font-size: 17px; background: color-mix(in oklab, var(--c) 35%, transparent); box-shadow: inset 0 1px 0 rgba(255,255,255,.15); }
[b-d77eew6i7u] .cl-name { font-weight: 600; font-size: .9rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
[b-d77eew6i7u] .cl-amt { font-weight: 700; font-variant-numeric: tabular-nums; font-size: .9rem; white-space: nowrap; }
[b-d77eew6i7u] .cl-bar { grid-column: 2 / span 2; height: 6px; border-radius: 99px; background: rgba(255,255,255,.06); overflow: hidden; }
[b-d77eew6i7u] .cl-bar > span { display: block; height: 100%; width: var(--v); border-radius: inherit; background: linear-gradient(90deg, color-mix(in oklab, var(--c) 60%, transparent), var(--c)); box-shadow: 0 0 12px var(--c); animation: bar-grow-b-d77eew6i7u 1.1s var(--ease-out) backwards; animation-delay: calc(var(--i, 0) * 70ms); }
@keyframes bar-grow-b-d77eew6i7u { from { width: 0; } }
[b-d77eew6i7u] .cl-pct { color: var(--text-3); font-size: .74rem; font-weight: 600; margin-left: 6px; }

/* ---------- Donut con centro ---------- */
[b-d77eew6i7u] .donut-wrap { position: relative; }
[b-d77eew6i7u] .donut-center { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; text-align: center; }
[b-d77eew6i7u] .donut-center .dc-label { font-size: .72rem; color: var(--text-3); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
[b-d77eew6i7u] .donut-center .dc-value { font-family: var(--font-display); font-size: 1.45rem; font-weight: 700; letter-spacing: -0.02em; }

/* ---------- Form ---------- */
[b-d77eew6i7u] .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
[b-d77eew6i7u] .form-grid .span-2 { grid-column: 1 / -1; }
@media (max-width: 560px) { [b-d77eew6i7u] .form-grid { grid-template-columns: minmax(0, 1fr); } }
[b-d77eew6i7u] .switch-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 14px; border-radius: 14px; background: rgba(255,255,255,.04); border: 1px solid var(--border); }
[b-d77eew6i7u] .switch-row .sr-text { display: flex; flex-direction: column; min-width: 0; }
[b-d77eew6i7u] .switch-row .sr-text small { color: var(--text-3); }
[b-d77eew6i7u] .danger-zone { margin-top: 18px; padding-top: 14px; border-top: 1px dashed rgba(251,113,133,.35); display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
[b-d77eew6i7u] .input-euro { position: relative; }
[b-d77eew6i7u] .input-euro::before { content: "€"; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--text-3); font-weight: 600; pointer-events: none; }
[b-d77eew6i7u] .input-euro .input { padding-left: 32px; font-variant-numeric: tabular-nums; }

/* ---------- Varie ---------- */
[b-d77eew6i7u] .glow-num { background: linear-gradient(120deg, #fff 20%, var(--accent-2) 60%, var(--accent)); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 8px 30px color-mix(in oklab, var(--accent) 45%, transparent)); }
[b-d77eew6i7u] .pill-stat { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 99px; background: rgba(255,255,255,.06); border: 1px solid var(--border); font-size: .82rem; font-weight: 600; white-space: nowrap; }
[b-d77eew6i7u] .empty-mini { text-align: center; padding: 26px 10px; color: var(--text-3); }
[b-d77eew6i7u] .empty-mini .em-ico { font-size: 34px; display: block; margin-bottom: 6px; animation: float 4s ease-in-out infinite; }
[b-d77eew6i7u] .tag-toggle { cursor: pointer; }
[b-d77eew6i7u] .search-box { position: relative; flex: 1 1 220px; min-width: 0; }
[b-d77eew6i7u] .search-box svg { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--text-3); pointer-events: none; }
[b-d77eew6i7u] .search-box .input { padding-left: 42px; height: 44px; }
[b-d77eew6i7u] .count-badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px; background: var(--accent); color: white; font-size: .7rem; font-weight: 800; display: inline-grid; place-items: center; }
[b-d77eew6i7u] .hero-stat { text-align: right; }
[b-d77eew6i7u] .hero-stat .hs-label { font-size: .72rem; color: var(--text-2); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
[b-d77eew6i7u] .hero-stat .hs-value { font-family: var(--font-display); font-size: clamp(1.4rem, 3.5vw, 2.1rem); font-weight: 700; letter-spacing: -0.03em; }
@media (max-width: 700px) { [b-d77eew6i7u] .hero-stat { display: none; } }
/* /Components/Pages/Spese/Parts/MonthNav.razor.rz.scp.css */
.month-nav[b-moblmrqkof] { display: inline-flex; align-items: center; gap: 4px; padding: 5px; border-radius: 18px; }
.mn-label-wrap[b-moblmrqkof] { perspective: 500px; min-width: 150px; text-align: center; overflow: hidden; }
.mn-label[b-moblmrqkof] { display: inline-flex; align-items: baseline; gap: 6px; font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; transform-origin: 50% 50% -30px; }
.mn-year[b-moblmrqkof] { color: var(--text-3); font-weight: 600; font-size: .9rem; }
.mn-label.next[b-moblmrqkof] { animation: mn-next-b-moblmrqkof .55s var(--ease-out) both; }
.mn-label.prev[b-moblmrqkof] { animation: mn-prev-b-moblmrqkof .55s var(--ease-out) both; }
.mn-today[b-moblmrqkof] { margin-left: 2px; }
@keyframes mn-next-b-moblmrqkof { from { opacity: 0; transform: rotateX(-85deg) translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes mn-prev-b-moblmrqkof { from { opacity: 0; transform: rotateX(85deg) translateY(-12px); } to { opacity: 1; transform: none; } }
@media (max-width: 480px) { .mn-label-wrap[b-moblmrqkof] { min-width: 118px; } .mn-label[b-moblmrqkof] { font-size: .98rem; } }
/* /Components/Pages/Spese/Parts/Num.razor.rz.scp.css */
.countup[b-x08779gsk8] { font-variant-numeric: tabular-nums; white-space: nowrap; }
/* /Components/Pages/Spese/Parts/Ring.razor.rz.scp.css */
.ring[b-4mf59zxc7j] { position: relative; width: var(--size); height: var(--size); flex: none; perspective: 600px; }
.ring-tilt[b-4mf59zxc7j] { position: absolute; inset: 0; transform-style: preserve-3d; animation: ring-in-b-4mf59zxc7j 1.1s var(--ease-spring) both; border-radius: 50%; }
.ring svg[b-4mf59zxc7j] { width: 100%; height: 100%; transform: rotate(-90deg); overflow: visible; filter: drop-shadow(0 10px 18px rgba(0,0,0,.45)); }
.ring-track[b-4mf59zxc7j] { fill: none; stroke: rgba(255,255,255,.08); stroke-width: var(--stroke); }
.ring-bar[b-4mf59zxc7j] {
    fill: none; stroke-width: var(--stroke); stroke-linecap: round; stroke-dasharray: 100 100; stroke-dashoffset: var(--off);
    transition: stroke-dashoffset 1.3s var(--ease-out);
    animation: ring-draw-b-4mf59zxc7j 1.5s var(--ease-out) both .15s;
    filter: drop-shadow(0 0 6px color-mix(in oklab, var(--c2) 70%, transparent));
}
.ring.over .ring-bar[b-4mf59zxc7j] { stroke: #fb7185; filter: drop-shadow(0 0 8px rgba(251,113,133,.8)); }
.ring-shine[b-4mf59zxc7j] {
    position: absolute; inset: 6%; border-radius: 50%; pointer-events: none;
    background: conic-gradient(from 0deg, transparent 0 70%, rgba(255,255,255,.22) 80%, transparent 90%);
    mask: radial-gradient(circle, transparent 60%, black 62%, black 70%, transparent 72%);
    -webkit-mask: radial-gradient(circle, transparent 60%, black 62%, black 70%, transparent 72%);
    animation: ring-spin-b-4mf59zxc7j 6s linear infinite;
}
.ring-center[b-4mf59zxc7j] { position: absolute; inset: 0; display: grid; place-items: center; text-align: center; transform: translateZ(20px); }
@keyframes ring-draw-b-4mf59zxc7j { from { stroke-dashoffset: 100; } }
@keyframes ring-in-b-4mf59zxc7j { from { transform: rotateX(55deg) rotateZ(-40deg) scale(.7); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes ring-spin-b-4mf59zxc7j { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ring-shine[b-4mf59zxc7j] { animation: none; } }
/* /Components/Pages/Spese/Parts/SwatchPicker.razor.rz.scp.css */
.picker[b-bsy2dp5qh0] { display: flex; flex-direction: column; gap: 10px; }
.swatches[b-bsy2dp5qh0] { display: flex; flex-wrap: wrap; gap: 8px; }
.sw-color[b-bsy2dp5qh0] {
    width: 32px; height: 32px; border-radius: 11px; border: 2px solid transparent; cursor: pointer; position: relative;
    background: linear-gradient(135deg, var(--c), color-mix(in oklab, var(--c) 60%, black));
    box-shadow: 0 6px 14px -6px var(--c), inset 0 1px 0 rgba(255,255,255,.3);
    transition: transform .3s var(--ease-spring), border-color .2s;
    display: grid; place-items: center; color: white; font-weight: 800;
}
.sw-color:hover[b-bsy2dp5qh0] { transform: translateY(-2px) scale(1.08); }
.sw-color.active[b-bsy2dp5qh0] { border-color: white; transform: scale(1.12); box-shadow: 0 0 0 3px color-mix(in oklab, var(--c) 45%, transparent), 0 8px 18px -6px var(--c); }
.sw-color.custom[b-bsy2dp5qh0] { background: conic-gradient(#f43f5e, #f59e0b, #84cc16, #22d3ee, #6366f1, #d946ef, #f43f5e); overflow: hidden; }
.sw-color.custom input[b-bsy2dp5qh0] { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.sw-color.custom span[b-bsy2dp5qh0] { pointer-events: none; text-shadow: 0 1px 3px rgba(0,0,0,.6); }
.emoji-input[b-bsy2dp5qh0] { width: 84px; text-align: center; font-size: 22px; height: 46px; }
.swatches:has(.sw-emoji)[b-bsy2dp5qh0] { max-height: 168px; overflow-y: auto; padding: 2px; }
.sw-emoji[b-bsy2dp5qh0] {
    width: 40px; height: 40px; border-radius: 12px; border: 1px solid transparent; background: rgba(255,255,255,.05); font-size: 20px; cursor: pointer;
    transition: transform .3s var(--ease-spring), background .2s;
}
.sw-emoji:hover[b-bsy2dp5qh0] { transform: scale(1.15) rotate(-6deg); background: rgba(255,255,255,.1); }
.sw-emoji.active[b-bsy2dp5qh0] { background: color-mix(in oklab, var(--accent) 40%, transparent); border-color: color-mix(in oklab, var(--accent) 70%, white); transform: scale(1.1); }
/* /Components/Pages/Spese/Parts/TransactionEditor.razor.rz.scp.css */
.txe[b-p440skw051] { --tc: #fb7185; --tc2: #f97316; display: flex; flex-direction: column; gap: 16px; }
.txe.type-entrata[b-p440skw051] { --tc: #34d399; --tc2: #22d3ee; }
.txe.type-trasferimento[b-p440skw051] { --tc: #60a5fa; --tc2: #a78bfa; }

/* Tipo */
.txe-types button[b-p440skw051] { display: inline-flex; align-items: center; justify-content: center; gap: 6px; transition: color .25s, background .35s var(--ease-out), box-shadow .35s; }
.txe-types .t-ico[b-p440skw051] { font-weight: 800; }
.txe-types .active.t-uscita[b-p440skw051] { background: linear-gradient(135deg, rgba(251,113,133,.45), rgba(249,115,22,.25)); color: white; box-shadow: 0 8px 20px -10px #fb7185; }
.txe-types .active.t-entrata[b-p440skw051] { background: linear-gradient(135deg, rgba(52,211,153,.45), rgba(34,211,238,.25)); color: white; box-shadow: 0 8px 20px -10px #34d399; }
.txe-types .active.t-trasferimento[b-p440skw051] { background: linear-gradient(135deg, rgba(96,165,250,.45), rgba(167,139,250,.25)); color: white; box-shadow: 0 8px 20px -10px #60a5fa; }

/* Importo */
.amount-stage[b-p440skw051] { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 14px 0 6px; perspective: 700px; min-height: 104px; }
.amount-orb[b-p440skw051] {
    position: absolute; width: 240px; height: 120px; border-radius: 50%; left: 50%; top: 50%; transform: translate(-50%, -50%);
    background: radial-gradient(closest-side, color-mix(in oklab, var(--tc) 55%, transparent), transparent);
    filter: blur(24px); opacity: .55; pointer-events: none; transition: background .5s;
    animation: orb-pulse-b-p440skw051 3.2s ease-in-out infinite;
}
@keyframes orb-pulse-b-p440skw051 { 0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: .45; } 50% { transform: translate(-50%, -50%) scale(1.15); opacity: .7; } }
.amount-display[b-p440skw051], .amount-input[b-p440skw051] {
    position: relative; display: flex; align-items: baseline; justify-content: center; gap: 8px; max-width: 100%;
    font-family: var(--font-display); font-weight: 700; letter-spacing: -0.04em; font-variant-numeric: tabular-nums;
}
.amount-display[b-p440skw051] { font-size: clamp(2.6rem, 12vw, 3.6rem); animation: amt-pop-b-p440skw051 .35s var(--ease-spring); overflow-wrap: anywhere; text-align: center; }
@keyframes amt-pop-b-p440skw051 { from { transform: rotateX(28deg) scale(.94); opacity: .6; } }
.amount-display .val[b-p440skw051], .amount-field[b-p440skw051] {
    background: linear-gradient(120deg, #fff 15%, var(--tc) 60%, var(--tc2)); -webkit-background-clip: text; background-clip: text; color: transparent;
    filter: drop-shadow(0 6px 22px color-mix(in oklab, var(--tc) 45%, transparent));
}
.amount-display .cur[b-p440skw051], .amount-input .cur[b-p440skw051] { font-size: .5em; color: var(--text-2); font-weight: 600; }
.amount-input[b-p440skw051] { font-size: 3.2rem; width: 100%; }
.amount-input .cur[b-p440skw051] { font-size: 1.6rem; }
.amount-field[b-p440skw051] {
    width: min(100%, 380px); border: 0; outline: none; text-align: center; font: inherit; letter-spacing: inherit;
    padding: 4px 8px; border-radius: 18px; caret-color: var(--tc);
    background-color: transparent;
    border-bottom: 2px solid color-mix(in oklab, var(--tc) 40%, transparent);
    transition: border-color .3s;
}
.amount-field[b-p440skw051]::placeholder { color: rgba(255,255,255,.18); -webkit-text-fill-color: rgba(255,255,255,.18); }
.amount-field:focus[b-p440skw051] { border-bottom-color: var(--tc); }
.amount-expr[b-p440skw051] { position: relative; color: var(--text-2); font-weight: 600; margin-top: 2px; font-variant-numeric: tabular-nums; }

/* Tastierino */
.keypad[b-p440skw051] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; perspective: 800px; }
.key[b-p440skw051] {
    height: 50px; border-radius: 15px; border: 1px solid rgba(255,255,255,.08); cursor: pointer; user-select: none;
    font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; color: var(--text);
    background: linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.04));
    box-shadow: 0 4px 0 rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.14);
    transition: transform .12s, box-shadow .12s, background .2s;
    touch-action: manipulation;
}
.key:active[b-p440skw051] { transform: translateY(3px) rotateX(10deg); box-shadow: 0 1px 0 rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.1); background: color-mix(in oklab, var(--tc) 25%, rgba(255,255,255,.06)); }
.key.op[b-p440skw051] { color: var(--tc); background: color-mix(in oklab, var(--tc) 14%, rgba(255,255,255,.04)); }
.key.fn[b-p440skw051] { color: var(--text-2); font-size: 1.1rem; }

/* Sezioni */
.txe-sec[b-p440skw051] { display: flex; flex-direction: column; gap: 10px; }
.sec-head[b-p440skw051] { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 24px; }
.sel-pill[b-p440skw051] { font-size: .78rem; font-weight: 600; padding: 3px 10px; border-radius: 99px; background: color-mix(in oklab, var(--c) 25%, transparent); border: 1px solid color-mix(in oklab, var(--c) 45%, transparent); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 60%; }

.cat-grid[b-p440skw051] { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 8px; perspective: 900px; }
.cat-tile[b-p440skw051] {
    display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 4px 8px; border-radius: 16px; cursor: pointer; min-width: 0;
    background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.06); color: var(--text-2);
    transition: transform .35s var(--ease-spring), background .25s, border-color .25s, box-shadow .3s, color .2s;
    animation: tile-in-b-p440skw051 .5s var(--ease-out) backwards; animation-delay: calc(min(var(--i), 20) * 18ms);
}
@keyframes tile-in-b-p440skw051 { from { opacity: 0; transform: translateY(12px) rotateX(30deg); } }
.cat-tile:hover[b-p440skw051] { background: rgba(255,255,255,.07); transform: translateY(-2px); color: var(--text); }
.cat-ico[b-p440skw051] {
    width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; font-size: 21px;
    background: radial-gradient(circle at 30% 25%, color-mix(in oklab, var(--c) 60%, white 8%), color-mix(in oklab, var(--c) 35%, black 20%));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 6px 14px -8px var(--c);
    transition: transform .4s var(--ease-spring);
}
.cat-name[b-p440skw051] { font-size: .72rem; font-weight: 600; line-height: 1.2; text-align: center; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 100%; }
.cat-tile.active[b-p440skw051] {
    color: white; transform: translateY(-4px) scale(1.04);
    background: linear-gradient(160deg, color-mix(in oklab, var(--c) 32%, transparent), rgba(255,255,255,.03));
    border-color: color-mix(in oklab, var(--c) 70%, white 10%);
    box-shadow: 0 16px 28px -14px var(--c), inset 0 1px 0 rgba(255,255,255,.12);
}
.cat-tile.active .cat-ico[b-p440skw051] { transform: translateZ(20px) rotate(-8deg) scale(1.1); }
.sub-row[b-p440skw051] { display: flex; flex-wrap: wrap; gap: 8px; animation: sub-in-b-p440skw051 .45s var(--ease-out); }
@keyframes sub-in-b-p440skw051 { from { opacity: 0; transform: translateY(-8px); } }
.sub-chip[b-p440skw051] { animation: tile-in-b-p440skw051 .4s var(--ease-out) backwards; animation-delay: calc(var(--i) * 30ms); }
.sub-chip.active[b-p440skw051] { background: color-mix(in oklab, var(--c) 35%, transparent); border-color: color-mix(in oklab, var(--c) 70%, transparent); }

.acc-row[b-p440skw051] { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px 2px 4px; }
.acc-row[b-p440skw051]::-webkit-scrollbar { display: none; }
.acc-chip[b-p440skw051] {
    flex: none; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px 0 10px; border-radius: 13px; cursor: pointer;
    border: 1px solid var(--border); background: rgba(255,255,255,.04); color: var(--text-2); font-weight: 600; font-size: .87rem;
    transition: all .3s var(--ease-out);
}
.acc-chip span[b-p440skw051] { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 9px; background: color-mix(in oklab, var(--c) 35%, transparent); font-size: 15px; }
.acc-chip.active[b-p440skw051] { color: white; border-color: color-mix(in oklab, var(--c) 75%, white 10%); background: linear-gradient(135deg, color-mix(in oklab, var(--c) 45%, transparent), color-mix(in oklab, var(--c) 15%, transparent)); box-shadow: 0 10px 22px -12px var(--c); }
.transfer-arrow[b-p440skw051] { align-self: center; font-size: 1.2rem; color: #93c5fd; animation: bob-b-p440skw051 1.6s ease-in-out infinite; }
@keyframes bob-b-p440skw051 { 50% { transform: translateY(4px); } }

.date-row[b-p440skw051] { gap: 8px; }
.date-input[b-p440skw051] { width: auto; flex: 1 1 150px; height: 38px; border-radius: 12px; }

.suggest-wrap[b-p440skw051] { position: relative; }
.suggest[b-p440skw051] {
    position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 5; border-radius: 16px; padding: 6px; display: flex; flex-direction: column; gap: 2px;
    background: rgba(22, 19, 58, .97); animation: sug-in-b-p440skw051 .3s var(--ease-out); max-height: 290px; overflow-y: auto;
}
@keyframes sug-in-b-p440skw051 { from { opacity: 0; transform: translateY(-6px) scale(.98); } }
.sug[b-p440skw051] { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; border: 0; background: transparent; cursor: pointer; text-align: left; color: var(--text); min-width: 0; }
.sug:hover[b-p440skw051], .sug.sel[b-p440skw051] { background: rgba(255,255,255,.08); }
.sug-ico[b-p440skw051] { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: color-mix(in oklab, var(--c) 35%, transparent); flex: none; }
.sug-title[b-p440skw051] { display: block; font-weight: 600; }
.sug-sub[b-p440skw051] { display: block; font-size: .75rem; color: var(--text-3); }
.sug-amt[b-p440skw051] { font-weight: 600; color: var(--text-2); font-size: .88rem; }

.more-toggle[b-p440skw051] {
    display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 14px; border-radius: 14px; border: 1px dashed var(--border-strong);
    background: transparent; color: var(--text); cursor: pointer; font-weight: 600; text-align: left;
}
.more-toggle > span:first-child[b-p440skw051] { flex: none; }
.more-toggle .small[b-p440skw051] { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.more-toggle svg[b-p440skw051] { transition: transform .35s var(--ease-spring); }
.more-toggle.open svg[b-p440skw051] { transform: rotate(180deg); }
.more[b-p440skw051] { animation: sub-in-b-p440skw051 .4s var(--ease-out); }
.tag-row[b-p440skw051] { gap: 6px; margin-top: 4px; }
.tag-chip[b-p440skw051] { height: 30px; font-size: .8rem; }

.txe-error[b-p440skw051] { color: var(--danger); font-size: .85rem; font-weight: 600; align-self: center; }
.del-btn:hover[b-p440skw051] { color: var(--danger); }

@media (max-width: 640px) {
    .txe[b-p440skw051] { gap: 14px; }
    .cat-grid[b-p440skw051] { grid-auto-flow: column; grid-template-rows: repeat(2, auto); grid-template-columns: none; grid-auto-columns: 80px; overflow-x: auto; scrollbar-width: none; padding: 4px 2px 6px; scroll-snap-type: x proximity; }
    .cat-grid[b-p440skw051]::-webkit-scrollbar { display: none; }
    .cat-tile[b-p440skw051] { scroll-snap-align: start; }
    .amount-stage[b-p440skw051] { min-height: 86px; padding-top: 6px; }
}
/* /Components/Pages/Spese/Parts/TxRow.razor.rz.scp.css */
.tx-row[b-mjtfuf2dap] {
    position: relative; display: flex; align-items: center; gap: 14px; padding: 11px 14px; border-radius: 18px; cursor: pointer;
    background: linear-gradient(100deg, color-mix(in oklab, var(--c) 9%, transparent), rgba(255,255,255,.025) 45%);
    border: 1px solid rgba(255,255,255,.05);
    transition: background .25s, border-color .25s, transform .4s var(--ease-spring), box-shadow .3s;
}
.tx-row:hover[b-mjtfuf2dap] { border-color: color-mix(in oklab, var(--c) 40%, var(--border)); transform: translateX(4px) scale(1.005); box-shadow: 0 14px 30px -18px color-mix(in oklab, var(--c) 80%, transparent); }
.tx-row:focus-visible[b-mjtfuf2dap] { outline: 2px solid var(--accent-2); outline-offset: 2px; }
.tx-row:active[b-mjtfuf2dap] { transform: scale(.985); }
.tx-row.anim[b-mjtfuf2dap] { animation: row-in-b-mjtfuf2dap .6s var(--ease-out) backwards; animation-delay: calc(min(var(--i), 16) * 32ms); }
@keyframes row-in-b-mjtfuf2dap { from { opacity: 0; transform: perspective(700px) translate3d(0, 18px, -40px) rotateX(18deg); } }
.tx-ico[b-mjtfuf2dap] {
    width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; font-size: 20px; flex: none;
    background: radial-gradient(circle at 30% 25%, color-mix(in oklab, var(--c) 70%, white 10%), color-mix(in oklab, var(--c) 45%, #000 20%));
    box-shadow: 0 8px 18px -8px color-mix(in oklab, var(--c) 90%, transparent), inset 0 1px 0 rgba(255,255,255,.3), inset 0 -4px 10px rgba(0,0,0,.2);
    transform: translateZ(10px);
}
.tx-row.tr .tx-ico[b-mjtfuf2dap] { font-weight: 800; color: white; }
.tx-main[b-mjtfuf2dap] { display: flex; flex-direction: column; gap: 2px; }
.tx-title[b-mjtfuf2dap] { font-weight: 600; }
.tx-sub[b-mjtfuf2dap] { font-size: .8rem; color: var(--text-3); display: flex; gap: 6px; align-items: center; }
.tx-sub .dot[b-mjtfuf2dap] { opacity: .6; }
.tx-tag[b-mjtfuf2dap] { padding: 0 7px; border-radius: 99px; background: rgba(255,255,255,.07); color: var(--text-2); font-size: .7rem; line-height: 1.6; }
.tx-tag.rec[b-mjtfuf2dap] { color: var(--accent-2); }
.tx-amt[b-mjtfuf2dap] { font-weight: 700; font-size: 1.02rem; white-space: nowrap; }
.tx-row.in .tx-amt[b-mjtfuf2dap] { color: var(--income); text-shadow: 0 0 18px rgba(52,211,153,.35); }
.tx-row.out .tx-amt[b-mjtfuf2dap] { color: var(--text); }
.tx-row.tr .tx-amt[b-mjtfuf2dap] { color: #93c5fd; }
@media (max-width: 480px) { .tx-row[b-mjtfuf2dap] { padding: 10px 11px; gap: 11px; } .tx-ico[b-mjtfuf2dap] { width: 38px; height: 38px; font-size: 18px; } }
/* /Components/Pages/Spese/SpeseBudget.razor.rz.scp.css */
.budget-hero[b-iljry7b65q] { display: flex; align-items: center; gap: 28px; padding: 24px 26px; border-radius: var(--radius-xl); }
.ring-val[b-iljry7b65q] { font-size: 1.8rem; font-weight: 700; font-family: var(--font-display); }
.ring-lbl[b-iljry7b65q] { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; color: var(--text-2); }
.bh-stats[b-iljry7b65q] { flex: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 22px; min-width: 0; }
.bh-stat[b-iljry7b65q] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bh-stat .k-label[b-iljry7b65q] { font-size: .7rem; color: var(--text-2); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.bh-v[b-iljry7b65q] { font-family: var(--font-display); font-size: clamp(1.2rem, 2.8vw, 1.6rem); font-weight: 700; letter-spacing: -0.02em; }
.bh-stat.highlight[b-iljry7b65q] { padding: 10px 14px; border-radius: 16px; background: rgba(0,0,0,.2); border: 1px solid rgba(255,255,255,.1); }
@media (max-width: 640px) {
    .budget-hero[b-iljry7b65q] { flex-direction: column; padding: 20px 16px; gap: 18px; }
    .bh-stats[b-iljry7b65q] { width: 100%; gap: 12px; }
    .bh-stat.highlight[b-iljry7b65q] { grid-column: 1 / -1; }
}

.bline[b-iljry7b65q] { display: flex; flex-direction: column; gap: 10px; cursor: pointer; padding: 16px 18px; border-left: 3px solid var(--c); }
.bline.state-sforato[b-iljry7b65q] { box-shadow: 0 0 0 1px rgba(251,113,133,.35), 0 18px 40px -20px rgba(251,113,133,.6); animation: pulse-danger-b-iljry7b65q 2.6s ease-in-out infinite; }
@keyframes pulse-danger-b-iljry7b65q { 50% { box-shadow: 0 0 0 1px rgba(251,113,133,.6), 0 18px 50px -14px rgba(251,113,133,.8); } }
.progress.pace[b-iljry7b65q] { overflow: visible; height: 12px; }
.progress.pace > span[b-iljry7b65q] { overflow: hidden; }
.progress.pace[b-iljry7b65q]::after { content: ""; position: absolute; top: -4px; bottom: -4px; left: var(--pace); width: 2px; border-radius: 2px; background: rgba(255,255,255,.85); box-shadow: 0 0 8px white; }

.nob-grid[b-iljry7b65q] { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.nob[b-iljry7b65q] {
    display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 16px; border: 1px solid var(--border); background: rgba(255,255,255,.03);
    color: var(--text); cursor: pointer; text-align: left; min-width: 0; transition: all .35s var(--ease-spring);
    animation: nob-in-b-iljry7b65q .5s var(--ease-out) backwards; animation-delay: calc(min(var(--i), 15) * 35ms);
}
.nob:hover[b-iljry7b65q] { transform: translateY(-3px); border-color: color-mix(in oklab, var(--c) 60%, transparent); background: color-mix(in oklab, var(--c) 10%, transparent); }
.nob .cl-ico[b-iljry7b65q] { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: color-mix(in oklab, var(--c) 35%, transparent); flex: none; }
@keyframes nob-in-b-iljry7b65q { from { opacity: 0; transform: translateY(12px) scale(.96); } }
/* /Components/Pages/Spese/SpeseCategorie.razor.rz.scp.css */
.cat-cards[b-usltccnekt] { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; perspective: 1400px; }
.cat-cards > div[b-usltccnekt] { min-width: 0; }
.catc[b-usltccnekt] { height: 100%; display: flex; flex-direction: column; gap: 14px; overflow: hidden; }
.catc[b-usltccnekt]::before {
    content: ""; position: absolute; width: 220px; height: 220px; right: -90px; top: -110px; border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle, color-mix(in oklab, var(--c) 45%, transparent), transparent 70%);
}
.catc.archived[b-usltccnekt] { opacity: .55; filter: saturate(.3); }
.catc-head[b-usltccnekt] { display: flex; align-items: center; gap: 14px; cursor: pointer; position: relative; }
.catc-head h3[b-usltccnekt] { font-size: 1.1rem; }
.catc-ico[b-usltccnekt] {
    width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; font-size: 28px; flex: none;
    background: radial-gradient(circle at 30% 25%, color-mix(in oklab, var(--c) 75%, white 10%), color-mix(in oklab, var(--c) 40%, black 25%));
    box-shadow: 0 14px 26px -12px var(--c), inset 0 2px 0 rgba(255,255,255,.3), inset 0 -6px 14px rgba(0,0,0,.25);
    transition: transform .5s var(--ease-spring);
}
.catc:hover .catc-ico[b-usltccnekt] { transform: rotate(-10deg) scale(1.08) translateZ(30px); }
.catc-ico.big[b-usltccnekt] { width: 76px; height: 76px; font-size: 40px; border-radius: 24px; }
.edit-hint[b-usltccnekt] { opacity: 0; transition: opacity .2s; }
.catc-head:hover .edit-hint[b-usltccnekt] { opacity: .8; }
.catc-children[b-usltccnekt] { display: flex; flex-wrap: wrap; gap: 6px; position: relative; }
.chip.child[b-usltccnekt] { height: 30px; font-size: .8rem; background: color-mix(in oklab, var(--c) 12%, transparent); border-color: color-mix(in oklab, var(--c) 30%, var(--border)); }
.chip.child:hover[b-usltccnekt] { background: color-mix(in oklab, var(--c) 25%, transparent); }
.chip.child.archived[b-usltccnekt] { opacity: .5; text-decoration: line-through; }
.chip .cnt[b-usltccnekt] { font-size: .66rem; padding: 0 6px; border-radius: 99px; background: rgba(0,0,0,.3); color: var(--text-2); }
.chip.add[b-usltccnekt] { height: 30px; font-size: .8rem; border-style: dashed; background: transparent; }

.new-cat[b-usltccnekt] {
    min-height: 150px; border-radius: var(--radius-l); border: 2px dashed var(--border-strong); background: rgba(255,255,255,.02); color: var(--text-2);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; cursor: pointer; font-weight: 600;
    transition: all .4s var(--ease-spring);
}
.new-cat .plus[b-usltccnekt] { font-size: 2.2rem; line-height: 1; background: linear-gradient(135deg, var(--accent), var(--accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.new-cat:hover[b-usltccnekt] { transform: translateY(-5px) rotateX(8deg); color: white; border-color: var(--accent-2); }

.cat-preview[b-usltccnekt] { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px; border-radius: 22px; background: radial-gradient(circle at 50% 0%, color-mix(in oklab, var(--c) 30%, transparent), transparent 70%); animation: prev-pop-b-usltccnekt .6s var(--ease-spring); }
.cat-preview .catc-ico[b-usltccnekt] { animation: float 4s ease-in-out infinite; }
@keyframes prev-pop-b-usltccnekt { from { opacity: 0; transform: scale(.8) rotateX(40deg); } }
/* /Components/Pages/Spese/SpeseConti.razor.rz.scp.css */
.summary > div > .card[b-hojmfp1rmx] { height: 100%; }
@media (max-width: 560px) {
    .summary[b-hojmfp1rmx] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px; }
    .summary .card[b-hojmfp1rmx] { padding: 12px 10px; border-radius: 18px; }
    .summary[b-hojmfp1rmx]  .k-value { font-size: .98rem; }
    .summary[b-hojmfp1rmx]  .k-label { font-size: .6rem; letter-spacing: .03em; }
    .summary[b-hojmfp1rmx]  .k-foot { display: none; }
}

.acc-grid[b-hojmfp1rmx] { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 26px 22px; perspective: 1400px; }
@media (max-width: 400px) { .acc-grid[b-hojmfp1rmx] { grid-template-columns: minmax(0, 1fr); } }
.acc-cell[b-hojmfp1rmx] { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.acc-share[b-hojmfp1rmx] { display: flex; flex-direction: column; gap: 4px; padding: 0 6px; }
.add-tile[b-hojmfp1rmx] {
    aspect-ratio: 1.586; border-radius: 22px; border: 2px dashed var(--border-strong); background: rgba(255,255,255,.02); color: var(--text-2);
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; cursor: pointer; font-weight: 600;
    transition: all .4s var(--ease-spring); animation: add-in-b-hojmfp1rmx .8s var(--ease-spring) backwards; animation-delay: calc(var(--i) * 90ms);
}
.add-tile .plus[b-hojmfp1rmx] { font-size: 2.4rem; line-height: 1; background: linear-gradient(135deg, var(--accent), var(--accent-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.add-tile:hover[b-hojmfp1rmx] { transform: translateY(-6px) rotateX(8deg); border-color: var(--accent-2); color: white; background: rgba(255,255,255,.05); }
@keyframes add-in-b-hojmfp1rmx { from { opacity: 0; transform: scale(.8) rotateY(30deg); } }

.preview-stage[b-hojmfp1rmx] { padding: 12px 10px 4px; perspective: 1000px; animation: prev-in-b-hojmfp1rmx .8s var(--ease-spring); }
@keyframes prev-in-b-hojmfp1rmx { from { opacity: 0; transform: rotateX(50deg) translateY(30px); } }

/* Etichetta dei conti condivisi (miei con altri, o di altri con me) */
.acc-shared[b-hojmfp1rmx] { display: flex; justify-content: center; margin-top: 6px; }
/* /Components/Pages/Spese/SpeseDashboard.razor.rz.scp.css */
/* Patrimonio */
.nw[b-4qpxr8zshm] { padding: 26px 26px 0; overflow: hidden; border-radius: var(--radius-xl); }
.nw[b-4qpxr8zshm]::before {
    content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
    background:
        radial-gradient(600px 300px at calc(20% + var(--mx) * 6%) 0%, rgba(255,255,255,.14), transparent 60%),
        linear-gradient(115deg, transparent 30%, rgba(255,255,255,.07) 45%, transparent 60%);
    background-size: 100% 100%, 250% 100%;
    animation: nw-sheen-b-4qpxr8zshm 7s ease-in-out infinite;
}
@keyframes nw-sheen-b-4qpxr8zshm { 0%, 100% { background-position: 0 0, 120% 0; } 50% { background-position: 0 0, -20% 0; } }
.nw-grid[b-4qpxr8zshm] { position: relative; display: flex; gap: 20px; align-items: center; justify-content: space-between; z-index: 1; }
.nw-main[b-4qpxr8zshm] { min-width: 0; }
.nw-label[b-4qpxr8zshm] { font-size: .78rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; color: rgba(255,255,255,.75); }
.nw-value[b-4qpxr8zshm] { font-family: var(--font-display); font-size: clamp(2.5rem, 8vw, 4.4rem); font-weight: 700; letter-spacing: -0.045em; line-height: 1.05; margin: 6px 0 10px; }
.nw-meta[b-4qpxr8zshm] { gap: 8px; }
.nw-pills[b-4qpxr8zshm] { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.nw-ring[b-4qpxr8zshm] { flex: none; }
.ring-val[b-4qpxr8zshm] { font-size: 1.6rem; font-weight: 700; font-family: var(--font-display); }
.ring-lbl[b-4qpxr8zshm] { font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; color: var(--text-2); }
.nw-spark[b-4qpxr8zshm] { position: relative; margin: 10px -26px 0; opacity: .9; mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent); -webkit-mask-image: linear-gradient(to right, transparent, black 12%, black 88%, transparent); }
@media (max-width: 640px) {
    .nw[b-4qpxr8zshm] { padding: 20px 18px 0; }
    .nw-spark[b-4qpxr8zshm] { margin: 6px -18px 0; }
    .nw-ring[b-4qpxr8zshm]  .ring { --size: 104px !important; }
    .ring-val[b-4qpxr8zshm] { font-size: 1.15rem; }
}

.kpis[b-4qpxr8zshm] { margin-top: 16px; }
@media (max-width: 900px) { .kpis[b-4qpxr8zshm] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 380px) { .kpis[b-4qpxr8zshm] { gap: 10px; } .kpis[b-4qpxr8zshm]  .k-value { font-size: 1.2rem; } }
.kpis .card[b-4qpxr8zshm] { padding: 16px 18px; }

/* Carosello conti */
.cards-rail[b-4qpxr8zshm] {
    display: flex; gap: 18px; overflow-x: auto; padding: 14px 4px 30px; margin: -14px -4px -16px; scroll-snap-type: x mandatory; scrollbar-width: none;

}
.cards-rail[b-4qpxr8zshm]::-webkit-scrollbar { display: none; }
.cards-rail[b-4qpxr8zshm] >  * { scroll-snap-align: start; flex: none; }
.add-card[b-4qpxr8zshm] {
    width: 180px; flex: none; aspect-ratio: 1.586; border-radius: 22px; border: 2px dashed var(--border-strong); display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 6px; color: var(--text-2); font-weight: 600; transition: all .35s var(--ease-spring);
    align-self: center; height: auto;
}
.add-card span[b-4qpxr8zshm] { font-size: 2rem; line-height: 1; }
.add-card:hover[b-4qpxr8zshm] { color: white; border-color: var(--accent-2); transform: translateY(-4px) rotate(-2deg); background: rgba(255,255,255,.04); }

.donut-row[b-4qpxr8zshm] { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 18px; align-items: center; }
@media (max-width: 520px) { .donut-row[b-4qpxr8zshm] { grid-template-columns: minmax(0, 1fr); } .donut-wrap[b-4qpxr8zshm] { max-width: 230px; margin: 0 auto; width: 100%; } }

.budget-pace[b-4qpxr8zshm] { overflow: visible; }
.budget-pace[b-4qpxr8zshm]::after { content: ""; position: absolute; top: -4px; bottom: -4px; left: var(--pace); width: 2px; border-radius: 2px; background: rgba(255,255,255,.8); box-shadow: 0 0 8px white; }
.risk-row[b-4qpxr8zshm] { display: flex; align-items: center; gap: 10px; }
.risk-row .cl-ico[b-4qpxr8zshm] { flex: none; }

.upcoming[b-4qpxr8zshm] { display: flex; flex-direction: column; gap: 8px; }
.up-row[b-4qpxr8zshm] { display: flex; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 14px; background: rgba(255,255,255,.03); animation: up-in-b-4qpxr8zshm .6s var(--ease-out) backwards; animation-delay: calc(var(--i) * 60ms); }
@keyframes up-in-b-4qpxr8zshm { from { opacity: 0; transform: translateX(20px) rotateY(-20deg); } }
.up-date[b-4qpxr8zshm] {
    width: 44px; height: 48px; border-radius: 12px; flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1;
    background: linear-gradient(160deg, color-mix(in oklab, var(--c) 50%, transparent), color-mix(in oklab, var(--c) 15%, transparent));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 8px 16px -10px var(--c);
}
.ud-day[b-4qpxr8zshm] { font-family: var(--font-display); font-weight: 800; font-size: 1.15rem; }
.ud-mon[b-4qpxr8zshm] { font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; opacity: .85; margin-top: 2px; }
.kpis > div > .card[b-4qpxr8zshm] { height: 100%; }
/* /Components/Pages/Spese/SpeseMovimenti.razor.rz.scp.css */
.all-pill[b-ya88fczrbo] { display: inline-flex; align-items: center; gap: 8px; padding: 5px 5px 5px 14px; border-radius: 18px; font-weight: 600; }

.filters[b-ya88fczrbo] { margin-bottom: 16px; animation: filters-in-b-ya88fczrbo .5s var(--ease-out); transform-origin: top center; }
@keyframes filters-in-b-ya88fczrbo { from { opacity: 0; transform: perspective(900px) rotateX(-25deg) translateY(-10px); } }
.filters-grid[b-ya88fczrbo] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.filters-grid .span-all[b-ya88fczrbo] { grid-column: 1 / -1; }
@media (max-width: 800px) { .filters-grid[b-ya88fczrbo] { grid-template-columns: minmax(0, 1fr); } }
.type-seg[b-ya88fczrbo] { flex-wrap: wrap; }
.active-filters[b-ya88fczrbo] { gap: 6px; margin: -4px 0 14px; }

.totals[b-ya88fczrbo] { margin-bottom: 20px; }
.totals .tot[b-ya88fczrbo] { padding: 14px 16px; }
@media (max-width: 560px) {
    .totals[b-ya88fczrbo] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px; }
    .totals .tot[b-ya88fczrbo] { padding: 11px 10px; border-radius: 18px; }
    .totals[b-ya88fczrbo]  .k-value { font-size: .98rem; }
    .totals[b-ya88fczrbo]  .k-label { font-size: .6rem; letter-spacing: .04em; }
}
/* /Components/Pages/Spese/SpeseObiettivi.razor.rz.scp.css */
.overall[b-k0mold8xnx] { display: flex; align-items: center; gap: 24px; padding: 22px 24px; border-radius: var(--radius-xl); }
.ring-val[b-k0mold8xnx] { font-size: 1.5rem; font-weight: 700; font-family: var(--font-display); }
.ring-lbl[b-k0mold8xnx] { font-size: .66rem; text-transform: uppercase; letter-spacing: .12em; color: var(--text-2); }
.ov-text[b-k0mold8xnx] { min-width: 0; }
.ov-text .k-label[b-k0mold8xnx] { font-size: .72rem; color: var(--text-2); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.ov-value[b-k0mold8xnx] { font-family: var(--font-display); font-size: clamp(1.5rem, 4vw, 2.2rem); font-weight: 700; letter-spacing: -0.03em; }
.ov-value .dim[b-k0mold8xnx] { font-size: .55em; font-weight: 600; }
@media (max-width: 600px) { .overall[b-k0mold8xnx] { flex-direction: column; text-align: center; } .overall .row[b-k0mold8xnx] { justify-content: center; } }

.goal-grid[b-k0mold8xnx] { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; }
.goal-grid > div[b-k0mold8xnx] { min-width: 0; }
.goal[b-k0mold8xnx] { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; height: 100%; padding: 22px 18px 18px; overflow: hidden; }
.goal[b-k0mold8xnx]::before {
    content: ""; position: absolute; inset: -30% -30% auto; height: 70%; pointer-events: none;
    background: radial-gradient(circle at 50% 70%, color-mix(in oklab, var(--c) 45%, transparent), transparent 65%);
    opacity: .6; transition: opacity .4s;
}
.goal:hover[b-k0mold8xnx]::before { opacity: 1; }
.goal.done[b-k0mold8xnx] { border-color: color-mix(in oklab, #fbbf24 55%, transparent); box-shadow: 0 0 0 1px rgba(251,191,36,.3), 0 20px 50px -20px rgba(251,191,36,.6); }
.goal-ring[b-k0mold8xnx] { position: relative; margin-bottom: 6px; transform-style: preserve-3d; }
.gr-inner[b-k0mold8xnx] { display: flex; flex-direction: column; align-items: center; line-height: 1.1; }
.gr-icon[b-k0mold8xnx] { font-size: 38px; filter: drop-shadow(0 8px 14px rgba(0,0,0,.45)); animation: float 5s ease-in-out infinite; }
.gr-pct[b-k0mold8xnx] { font-weight: 700; font-size: 1.05rem; margin-top: 4px; }
.trophy[b-k0mold8xnx] { position: absolute; top: -4px; right: -8px; font-size: 30px; animation: trophy-b-k0mold8xnx 2.4s var(--ease-spring) infinite; filter: drop-shadow(0 6px 12px rgba(251,191,36,.6)); }
@keyframes trophy-b-k0mold8xnx { 0%, 100% { transform: rotate(-10deg) scale(1); } 50% { transform: rotate(10deg) scale(1.15); } }
.goal-name[b-k0mold8xnx] { font-size: 1.1rem; max-width: 100%; position: relative; }
.goal-amt[b-k0mold8xnx] { position: relative; }
.goal-meta[b-k0mold8xnx] { min-height: 34px; position: relative; }
.need[b-k0mold8xnx] { margin-top: 3px; font-weight: 700; color: var(--accent-2); font-size: .8rem; }
.goal-actions[b-k0mold8xnx] { width: 100%; gap: 6px; margin-top: auto; position: relative; }
/* /Components/Pages/Spese/SpeseReport.razor.rz.scp.css */
.range-bar[b-lde3aj4lbs] { gap: 12px; }
.presets[b-lde3aj4lbs] { display: flex; max-width: 100%; padding: 4px; scroll-snap-type: none; }
.presets > button[b-lde3aj4lbs] { flex: none; }
.custom-range[b-lde3aj4lbs] { gap: 6px; flex-wrap: nowrap; }
.custom-range .input[b-lde3aj4lbs] { height: 40px; width: 150px; border-radius: 12px; font-size: .9rem; padding: 0 10px; }
@media (max-width: 560px) { .custom-range[b-lde3aj4lbs] { width: 100%; } .custom-range .input[b-lde3aj4lbs] { flex: 1; width: auto; min-width: 0; } }

.rk > div > .card[b-lde3aj4lbs] { height: 100%; }
@media (max-width: 900px) { .rk[b-lde3aj4lbs] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.rk .card[b-lde3aj4lbs] { padding: 16px 18px; }

.donut-row[b-lde3aj4lbs] { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 18px; align-items: center; animation: drill-in-b-lde3aj4lbs .6s var(--ease-out); }
@keyframes drill-in-b-lde3aj4lbs { from { opacity: 0; transform: perspective(900px) rotateY(-20deg) scale(.95); } }
@media (max-width: 560px) { .donut-row[b-lde3aj4lbs] { grid-template-columns: minmax(0, 1fr); } .donut-wrap[b-lde3aj4lbs] { max-width: 250px; width: 100%; margin: 0 auto; } }

.payees[b-lde3aj4lbs] { display: flex; flex-direction: column; gap: 6px; }
.payee[b-lde3aj4lbs] { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 14px; transition: background .2s, transform .35s var(--ease-spring); animation: pay-in-b-lde3aj4lbs .55s var(--ease-out) backwards; animation-delay: calc(var(--i) * 55ms); }
.payee:hover[b-lde3aj4lbs] { background: rgba(255,255,255,.05); transform: translateX(4px); }
@keyframes pay-in-b-lde3aj4lbs { from { opacity: 0; transform: translateX(-20px); } }
.payee .rank[b-lde3aj4lbs] { width: 22px; text-align: center; font-family: var(--font-display); font-weight: 800; color: var(--text-3); }
.payee:nth-child(1) .rank[b-lde3aj4lbs] { color: #fbbf24; text-shadow: 0 0 12px rgba(251,191,36,.6); }
.payee:nth-child(2) .rank[b-lde3aj4lbs] { color: #e5e7eb; }
.payee:nth-child(3) .rank[b-lde3aj4lbs] { color: #f59e0b; }
.payee .cl-ico[b-lde3aj4lbs] { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: color-mix(in oklab, var(--c) 35%, transparent); flex: none; }

/* Heatmap */
.heat-scroll[b-lde3aj4lbs] { overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
.heat[b-lde3aj4lbs] { display: flex; gap: 6px; min-width: min-content; perspective: 900px; }
.heat-days[b-lde3aj4lbs] { display: grid; grid-template-rows: 16px repeat(7, 14px); gap: 3px; font-size: .62rem; color: var(--text-3); }
.heat-days span:first-child[b-lde3aj4lbs] { grid-row: 2; }
.heat-grid[b-lde3aj4lbs] { display: flex; gap: 3px; transform: rotateX(12deg); transform-origin: bottom; }
.heat-col[b-lde3aj4lbs] { display: grid; grid-template-rows: 16px repeat(7, 14px); gap: 3px; animation: heat-in-b-lde3aj4lbs .5s var(--ease-out) backwards; animation-delay: calc(min(var(--w), 60) * 14ms); }
@keyframes heat-in-b-lde3aj4lbs { from { opacity: 0; transform: translateY(10px) scale(.6); } }
.heat-mon[b-lde3aj4lbs] { font-size: .62rem; color: var(--text-3); white-space: nowrap; width: 14px; overflow: visible; text-transform: capitalize; }
.hc[b-lde3aj4lbs] {
    width: 14px; height: 14px; border-radius: 4px; display: block;
    background: color-mix(in oklab, var(--accent) calc(var(--l) * 100%), rgba(255,255,255,.06));
    box-shadow: 0 0 calc(var(--l) * 12px) color-mix(in oklab, var(--accent) calc(var(--l) * 80%), transparent);
    transition: transform .25s var(--ease-spring);
}
.heat-col .hc:hover[b-lde3aj4lbs] { transform: scale(1.6) translateZ(10px); z-index: 2; position: relative; outline: 1px solid white; }
.hc.out[b-lde3aj4lbs] { background: transparent; box-shadow: none; }
.heat-legend[b-lde3aj4lbs] { display: flex; align-items: center; gap: 4px; margin-top: 10px; flex-wrap: wrap; }
.heat-legend .hc[b-lde3aj4lbs] { width: 12px; height: 12px; }

.compare-grid[b-lde3aj4lbs] { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 20px; align-items: start; }
@media (max-width: 860px) { .compare-grid[b-lde3aj4lbs] { grid-template-columns: minmax(0, 1fr); } }
.cmp-list[b-lde3aj4lbs] { display: flex; flex-direction: column; gap: 6px; }
.cmp-row[b-lde3aj4lbs] { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; background: rgba(255,255,255,.03); animation: pay-in-b-lde3aj4lbs .5s var(--ease-out) backwards; animation-delay: calc(var(--i) * 50ms); }
/* /Components/Pages/Spese/SpeseRicorrenti.razor.rz.scp.css */
.rsum > div > .card[b-8qw4yhzsyk] { height: 100%; }
@media (max-width: 560px) {
    .rsum[b-8qw4yhzsyk] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px; }
    .rsum .card[b-8qw4yhzsyk] { padding: 12px 10px; border-radius: 18px; }
    .rsum[b-8qw4yhzsyk]  .k-value { font-size: .98rem; }
    .rsum[b-8qw4yhzsyk]  .k-label { font-size: .58rem; letter-spacing: .03em; }
    .rsum[b-8qw4yhzsyk]  .k-foot { display: none; }
}

.timeline[b-8qw4yhzsyk] { display: flex; gap: 10px; overflow-x: auto; padding: 6px 2px 14px; scrollbar-width: none; scroll-snap-type: x proximity; perspective: 900px; }
.timeline[b-8qw4yhzsyk]::-webkit-scrollbar { display: none; }
.tl-item[b-8qw4yhzsyk] {
    flex: none; width: 170px; display: flex; gap: 10px; align-items: center; padding: 10px; border-radius: 18px; scroll-snap-align: start;
    background: linear-gradient(150deg, color-mix(in oklab, var(--c) 22%, transparent), rgba(255,255,255,.03));
    border: 1px solid color-mix(in oklab, var(--c) 30%, var(--border));
    animation: tl-in-b-8qw4yhzsyk .7s var(--ease-spring) backwards; animation-delay: calc(min(var(--i), 12) * 60ms);
}
@keyframes tl-in-b-8qw4yhzsyk { from { opacity: 0; transform: rotateY(-50deg) translateX(40px); } }
.tl-date[b-8qw4yhzsyk] { width: 42px; height: 46px; border-radius: 12px; flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; background: color-mix(in oklab, var(--c) 45%, transparent); box-shadow: inset 0 1px 0 rgba(255,255,255,.2); }
.tl-date .d[b-8qw4yhzsyk] { font-family: var(--font-display); font-weight: 800; font-size: 1.1rem; }
.tl-date .m[b-8qw4yhzsyk] { font-size: .6rem; text-transform: uppercase; letter-spacing: .08em; margin-top: 2px; }
.tl-body[b-8qw4yhzsyk] { display: flex; flex-direction: column; min-width: 0; font-size: .85rem; }

.rec[b-8qw4yhzsyk] { display: flex; flex-direction: column; gap: 12px; height: 100%; border-top: 3px solid var(--c); }
.rec.paused[b-8qw4yhzsyk] { opacity: .6; filter: saturate(.4); }
.rec-ico[b-8qw4yhzsyk] {
    width: 46px; height: 46px; border-radius: 15px; display: grid; place-items: center; font-size: 22px; flex: none;
    background: radial-gradient(circle at 30% 25%, color-mix(in oklab, var(--c) 70%, white 8%), color-mix(in oklab, var(--c) 40%, black 20%));
    box-shadow: 0 10px 20px -10px var(--c), inset 0 1px 0 rgba(255,255,255,.3);
}
.rec-amt[b-8qw4yhzsyk] { font-weight: 700; font-size: 1.05rem; white-space: nowrap; }
.rec-next[b-8qw4yhzsyk] { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.rec-actions[b-8qw4yhzsyk] { gap: 6px; margin-top: auto; }
.freq[b-8qw4yhzsyk] { flex-wrap: wrap; }

/* Oggi: ricorrenze del giorno (numerino sull'icona del Budget) */
.today-list[b-8qw4yhzsyk] { display: flex; flex-direction: column; gap: 10px; }
.today-item[b-8qw4yhzsyk] { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-left: 4px solid var(--c); }
.today-item.late[b-8qw4yhzsyk] { border-left-color: var(--warning); }
.today-item .btn[b-8qw4yhzsyk] { flex: none; }
/* Promemoria: scelte su più righe sul telefono */
.remind-days[b-8qw4yhzsyk] { flex-wrap: wrap; }
.remind-days button[b-8qw4yhzsyk] { flex: 1 1 auto; white-space: nowrap; }
.remind-next[b-8qw4yhzsyk] { margin: 0; }
/* /Components/Pages/Sport/MotorCalendarPage.razor.rz.scp.css */
.mc[b-hqtqsj09xy] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.mc-item[b-hqtqsj09xy] {
    position: relative; width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 20px; text-align: left;
    background: var(--surface); border: 1px solid var(--border); color: var(--text); font: inherit; cursor: pointer; overflow: hidden;
}
.mc-item:hover[b-hqtqsj09xy] { background: rgba(255, 255, 255, .06); }
.mc-item.past[b-hqtqsj09xy] { background: linear-gradient(90deg, color-mix(in oklab, var(--c, #64748b) 14%, transparent), var(--surface) 60%); }
.mc-item.now[b-hqtqsj09xy] {
    border-color: color-mix(in oklab, var(--accent) 60%, transparent);
    background: linear-gradient(120deg, color-mix(in oklab, var(--accent) 28%, transparent), color-mix(in oklab, var(--accent-2) 10%, transparent));
    box-shadow: 0 14px 30px -20px var(--accent);
}
.mc-round[b-hqtqsj09xy] { flex: 0 0 26px; font-size: .78rem; font-weight: 800; color: var(--text-3); text-align: center; }
.mc-flag[b-hqtqsj09xy] { flex: 0 0 auto; font-size: 1.9rem; line-height: 1; }
.mc-main[b-hqtqsj09xy] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mc-main b[b-hqtqsj09xy] { font-size: .98rem; font-weight: 700; }
.mc-main small[b-hqtqsj09xy] { font-size: .78rem; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mc-item.past .mc-main b[b-hqtqsj09xy] { color: var(--text-2); }
.mc-win[b-hqtqsj09xy] { margin-top: 3px; font-size: .82rem; font-weight: 650; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mc-win em[b-hqtqsj09xy] { font-style: normal; font-weight: 500; color: var(--text-3); }
.mc-badge[b-hqtqsj09xy] { flex: 0 0 auto; }
.mc-sheet-where[b-hqtqsj09xy] { margin: 0 0 12px; color: var(--text-2); font-size: .9rem; }
/* /Components/Pages/Sport/MotorResults.razor.rz.scp.css */
.mr-podium[b-ro035jev7b] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; align-items: end; margin-bottom: 16px; }
.mr-step[b-ro035jev7b] { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 0; text-align: center; }
.mr-step b[b-ro035jev7b] { font-size: .95rem; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mr-step small[b-ro035jev7b] { font-size: .74rem; color: var(--text-3); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mr-step .mr-flag[b-ro035jev7b] { font-size: 1.5rem; }
.mr-block[b-ro035jev7b] {
    margin-top: 8px; width: 100%; display: grid; place-items: center; border-radius: 14px 14px 6px 6px;
    background: linear-gradient(180deg, color-mix(in oklab, var(--c) 55%, transparent), color-mix(in oklab, var(--c) 12%, transparent));
    border: 1px solid color-mix(in oklab, var(--c) 50%, transparent); border-bottom: 0;
}
.mr-block .num[b-ro035jev7b] { font-size: 1.6rem; font-weight: 800; color: #fff; text-shadow: 0 2px 8px rgba(0, 0, 0, .5); }
.mr-step.p1 .mr-block[b-ro035jev7b] { height: 92px; }
.mr-step.p2 .mr-block[b-ro035jev7b] { height: 70px; }
.mr-step.p3 .mr-block[b-ro035jev7b] { height: 54px; }

.mr-list[b-ro035jev7b] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); }
.mr-row[b-ro035jev7b] { display: flex; align-items: center; gap: 10px; padding: 10px 14px 10px 10px; }
.mr-row + .mr-row[b-ro035jev7b] { border-top: 1px solid var(--border); }
.mr-row.out[b-ro035jev7b] { opacity: .6; }
.mr-pos[b-ro035jev7b] { flex: 0 0 26px; text-align: center; font-weight: 750; color: var(--text-2); }
.mr-bar[b-ro035jev7b] { flex: 0 0 4px; align-self: stretch; border-radius: 4px; background: var(--c); }
.mr-who[b-ro035jev7b] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.mr-who b[b-ro035jev7b] { font-size: .93rem; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mr-who small[b-ro035jev7b] { font-size: .76rem; color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mr-detail[b-ro035jev7b] { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 1px; font-size: .86rem; color: var(--text); }
.mr-detail small[b-ro035jev7b] { font-size: .72rem; color: #4ade80; }
.mr-skel[b-ro035jev7b] { padding: 12px 14px; }
.mr-skel .skeleton[b-ro035jev7b] { display: block; height: 22px; border-radius: 8px; }
.mr-who .mr-flag[b-ro035jev7b] { margin-right: 4px; }
/* /Components/Pages/Sport/MotorSessions.razor.rz.scp.css */
.mss[b-h7tr7fpiv1] { display: flex; flex-direction: column; gap: 12px; }
.mss-day[b-h7tr7fpiv1] { display: flex; flex-direction: column; gap: 6px; }
.mss-day h3[b-h7tr7fpiv1] { margin: 0 4px; font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-3); }
.mss-list[b-h7tr7fpiv1] { display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); }
.mss-row[b-h7tr7fpiv1] {
    display: flex; align-items: center; gap: 12px; padding: 13px 14px; min-height: 52px; width: 100%; text-align: left;
    background: none; border: 0; color: var(--text); font: inherit; cursor: pointer;
}
.mss-row + .mss-row[b-h7tr7fpiv1] { border-top: 1px solid var(--border); }
.mss-row:disabled[b-h7tr7fpiv1] { cursor: default; }
.mss-row:not(:disabled):hover[b-h7tr7fpiv1] { background: rgba(255, 255, 255, .04); }
.mss-time[b-h7tr7fpiv1] { flex: 0 0 46px; font-weight: 700; color: var(--text-2); }
.mss-name[b-h7tr7fpiv1] { flex: 1; min-width: 0; font-weight: 600; }
.mss-row.race .mss-name[b-h7tr7fpiv1] { font-weight: 800; }
.mss-row.race .mss-time[b-h7tr7fpiv1] { color: var(--accent); }
.mss-row.done:not(.race) .mss-name[b-h7tr7fpiv1], .mss-row.off .mss-name[b-h7tr7fpiv1] { color: var(--text-2); }
.mss-row.off .mss-name[b-h7tr7fpiv1] { text-decoration: line-through; }
.mss-row.next-up[b-h7tr7fpiv1] { background: linear-gradient(90deg, color-mix(in oklab, var(--accent) 16%, transparent), transparent 70%); }
.mss-state[b-h7tr7fpiv1] { flex: 0 0 auto; font-size: .8rem; }
.mss-res[b-h7tr7fpiv1] { color: var(--accent); font-weight: 650; }
.mss-done[b-h7tr7fpiv1], .mss-off[b-h7tr7fpiv1] { color: var(--text-3); }
.mss-count[b-h7tr7fpiv1] { padding: 4px 9px; border-radius: 99px; font-weight: 650; color: #fff; background: color-mix(in oklab, var(--accent) 55%, transparent); }
.mss-live[b-h7tr7fpiv1] { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 99px; font-weight: 700; color: #fecdd3; background: rgba(244, 63, 94, .16); }
.mss-dot[b-h7tr7fpiv1] { width: 7px; height: 7px; border-radius: 50%; background: #f43f5e; animation: mss-pulse-b-h7tr7fpiv1 1.4s ease-out infinite; }
@keyframes mss-pulse-b-h7tr7fpiv1 { 0% { box-shadow: 0 0 0 0 rgba(244, 63, 94, .65); } 100% { box-shadow: 0 0 0 7px rgba(244, 63, 94, 0); } }
/* /Components/Pages/Sport/MotorShell.razor.rz.scp.css */
.ms[b-d7zmyhp94n] { display: flex; flex-direction: column; gap: 16px; max-width: 760px; margin: 0 auto; width: 100%; }
/* /Components/Pages/Sport/MotorStandingsPage.razor.rz.scp.css */
.mst-seg[b-1l80ta17s7] { align-self: flex-start; }
.mst[b-1l80ta17s7] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); }
.mst-row[b-1l80ta17s7] { display: flex; align-items: center; gap: 12px; padding: 11px 14px 11px 10px; border-left: 4px solid var(--c); }
.mst-row + .mst-row[b-1l80ta17s7] { border-top: 1px solid var(--border); }
.mst-row.top[b-1l80ta17s7] { background: linear-gradient(90deg, color-mix(in oklab, var(--c) 16%, transparent), transparent 70%); }
.mst-pos[b-1l80ta17s7] { flex: 0 0 26px; text-align: center; font-weight: 800; color: var(--text-2); }
.mst-row.top .mst-pos[b-1l80ta17s7] { color: var(--text); font-size: 1.05rem; }
.mst-who[b-1l80ta17s7] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mst-who b[b-1l80ta17s7] { font-size: .95rem; font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mst-who small[b-1l80ta17s7] { display: flex; gap: 8px; font-size: .76rem; color: var(--text-3); overflow: hidden; white-space: nowrap; }
.mst-who small span[b-1l80ta17s7] { overflow: hidden; text-overflow: ellipsis; }
.mst-wins[b-1l80ta17s7] { flex: 0 0 auto; color: #fcd34d; }
.mst-bar[b-1l80ta17s7] { margin-top: 4px; height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .07); overflow: hidden; }
.mst-bar span[b-1l80ta17s7] { display: block; height: 100%; width: var(--w); border-radius: 4px; background: var(--c); }
.mst-pts[b-1l80ta17s7] { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; min-width: 48px; }
.mst-pts b[b-1l80ta17s7] { font-size: 1.1rem; font-weight: 800; }
.mst-pts small[b-1l80ta17s7] { font-size: .68rem; color: var(--text-3); text-transform: uppercase; letter-spacing: .04em; }
.mst-flag[b-1l80ta17s7] { margin-right: 6px; }
/* /Components/Pages/Sport/MotorWeekendPage.razor.rz.scp.css */
.mw-hero[b-4dk75ovhg4] {
    position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 4px; padding: 20px 20px 18px; border-radius: 26px;
    background:
        radial-gradient(120% 140% at 100% 0%, color-mix(in oklab, var(--accent-2) 45%, transparent), transparent 55%),
        linear-gradient(150deg, color-mix(in oklab, var(--accent) 55%, #0b0f1a), #0b0f1a 85%);
    border: 1px solid color-mix(in oklab, var(--accent) 40%, transparent);
    box-shadow: 0 24px 48px -28px color-mix(in oklab, var(--accent) 90%, transparent), inset 0 1px 0 rgba(255, 255, 255, .12);
}
.mw-hero[b-4dk75ovhg4]::after {
    content: ""; position: absolute; right: -40px; bottom: -40px; width: 220px; height: 220px; border-radius: 50%; pointer-events: none;
    background: repeating-conic-gradient(rgba(255, 255, 255, .06) 0 25%, transparent 0 50%) 0 0 / 28px 28px;
    mask: radial-gradient(circle, #000 40%, transparent 70%);
}
.mw-flag[b-4dk75ovhg4] { position: absolute; right: 18px; top: 14px; font-size: 3rem; line-height: 1; filter: drop-shadow(0 6px 14px rgba(0, 0, 0, .45)); }
.mw-kicker[b-4dk75ovhg4] { font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .72); padding-right: 64px; }
.mw-hero h2[b-4dk75ovhg4] { margin: 2px 64px 0 0; font-family: var(--font-display); font-size: clamp(1.5rem, 6vw, 2rem); font-weight: 800; line-height: 1.1; color: #fff; }
.mw-where[b-4dk75ovhg4] { margin: 4px 0 0; color: rgba(255, 255, 255, .78); font-size: .9rem; }
.mw-dates[b-4dk75ovhg4] { margin: 0; color: rgba(255, 255, 255, .6); font-size: .84rem; }
.mw-next[b-4dk75ovhg4] {
    position: relative; z-index: 1; margin-top: 14px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 12px;
    padding: 12px 14px; border-radius: 18px; background: rgba(0, 0, 0, .32); border: 1px solid rgba(255, 255, 255, .12);
}
.mw-next-label[b-4dk75ovhg4] { font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.mw-next b[b-4dk75ovhg4] { grid-row: span 2; font-size: 1.25rem; font-weight: 800; color: #fff; }
.mw-next small[b-4dk75ovhg4] { color: rgba(255, 255, 255, .7); font-size: .84rem; }
.mw-next.live[b-4dk75ovhg4] { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.mw-next.live b[b-4dk75ovhg4] { font-size: 1rem; }
.mw-next.live small[b-4dk75ovhg4] { flex-basis: 100%; }
.mw-dot[b-4dk75ovhg4] { width: 9px; height: 9px; border-radius: 50%; background: #f43f5e; animation: mw-pulse-b-4dk75ovhg4 1.4s ease-out infinite; }
@keyframes mw-pulse-b-4dk75ovhg4 { 0% { box-shadow: 0 0 0 0 rgba(244, 63, 94, .65); } 100% { box-shadow: 0 0 0 8px rgba(244, 63, 94, 0); } }

.mw-note[b-4dk75ovhg4] { margin: 0; color: var(--text-3); font-size: .88rem; text-align: center; padding: 8px; }

.mw-last[b-4dk75ovhg4] { display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); }
.mw-last-head[b-4dk75ovhg4] { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mw-last-head small[b-4dk75ovhg4] { font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-3); }
.mw-last-head h3[b-4dk75ovhg4] { margin: 2px 0 0; font-size: 1.08rem; font-weight: 750; }
.mw-podium[b-4dk75ovhg4] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mw-podium li[b-4dk75ovhg4] {
    display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 16px;
    background: linear-gradient(90deg, color-mix(in oklab, var(--c) 22%, transparent), transparent 75%);
    border-left: 4px solid var(--c);
}
.mw-pos[b-4dk75ovhg4] { flex: 0 0 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: .9rem; color: #111; background: #e5e7eb; }
.mw-podium li:nth-child(1) .mw-pos[b-4dk75ovhg4] { background: linear-gradient(135deg, #fde68a, #f59e0b); }
.mw-podium li:nth-child(2) .mw-pos[b-4dk75ovhg4] { background: linear-gradient(135deg, #f1f5f9, #94a3b8); }
.mw-podium li:nth-child(3) .mw-pos[b-4dk75ovhg4] { background: linear-gradient(135deg, #fdba74, #b45309); }
.mw-who[b-4dk75ovhg4] { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.mw-who b[b-4dk75ovhg4] { font-size: .95rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mw-who small[b-4dk75ovhg4] { font-size: .76rem; color: var(--text-3); }
.mw-time[b-4dk75ovhg4] { flex: 0 0 auto; font-size: .84rem; color: var(--text-2); }
/* /Components/Pages/Sport/SportBell.razor.rz.scp.css */
.sb-bell.on[b-wh7eackdzk] { color: #fbbf24; }

.sb[b-wh7eackdzk] { display: flex; flex-direction: column; gap: 14px; }
.sb-intro[b-wh7eackdzk] { margin: 0; color: var(--text-2); font-size: .92rem; line-height: 1.45; }
.sb-intro b[b-wh7eackdzk] { color: var(--text); }
.sb-hint[b-wh7eackdzk] { margin: 0; color: var(--text-3); font-size: .84rem; line-height: 1.4; }

.sb-warn[b-wh7eackdzk] {
    display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; border-radius: 16px; text-decoration: none;
    background: rgba(245, 158, 11, .12); border: 1px solid rgba(245, 158, 11, .35);
}
.sb-warn b[b-wh7eackdzk] { color: #fde68a; font-size: .92rem; }
.sb-warn span[b-wh7eackdzk] { color: var(--text-2); font-size: .84rem; }

.sb-list[b-wh7eackdzk] { display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); }
.sb-row[b-wh7eackdzk] { display: flex; align-items: center; gap: 12px; padding: 12px 14px; cursor: pointer; }
.sb-row + .sb-row[b-wh7eackdzk] { border-top: 1px solid var(--border); }
.sb-ico[b-wh7eackdzk] {
    flex: 0 0 auto; width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; font-size: 1.1rem;
    background: color-mix(in oklab, var(--accent) 18%, transparent);
}
.sb-text[b-wh7eackdzk] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.sb-text b[b-wh7eackdzk] { font-size: .95rem; font-weight: 650; }
.sb-text small[b-wh7eackdzk] { color: var(--text-3); font-size: .78rem; }
/* /Components/Pages/Sport/SportHead.razor.rz.scp.css */
.sh-sports[b-vejn5q09ls] {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 5px; margin-bottom: 12px; border-radius: 20px;
    background: rgba(0, 0, 0, .28); border: 1px solid var(--border); max-width: 520px;
}
.sh-sport[b-vejn5q09ls] {
    display: flex; align-items: center; justify-content: center; gap: 7px; min-width: 0; height: 44px; padding: 0 8px; border-radius: 15px;
    color: var(--text-2); font-weight: 650; font-size: .9rem; text-decoration: none; white-space: nowrap; overflow: hidden;
}
.sh-sport span:last-child[b-vejn5q09ls] { overflow: hidden; text-overflow: ellipsis; }
.sh-short[b-vejn5q09ls] { display: none; }
@media (max-width: 520px) {
    .sh-sport:has(.sh-short) .sh-long[b-vejn5q09ls] { display: none; }
    .sh-short[b-vejn5q09ls] { display: inline; }
}
.sh-sport:hover[b-vejn5q09ls] { color: var(--text); background: var(--surface); }
.sh-ico[b-vejn5q09ls] { font-size: 1.15rem; line-height: 1; }
.sh-sport.on[b-vejn5q09ls] {
    color: #fff; background: linear-gradient(135deg, var(--a), color-mix(in oklab, var(--b) 75%, var(--a)));
    box-shadow: 0 10px 22px -12px var(--a), inset 0 1px 0 rgba(255, 255, 255, .25);
}

@media (max-width: 380px) {
    .sh-sport[b-vejn5q09ls] { font-size: .82rem; gap: 5px; padding: 0 4px; }
}
/* /Components/Pages/Strumenti/ConvertiTab.razor.rz.scp.css */
/* =====================================================================
   Strumenti › Converti — chip categorie 3D, convertitore di vetro con
   pulsante ⇄ rotante, elenco "tutte le unità", recenti, forno
   (quasi tutto è creato da tools-convert.js → ::deep)
   ===================================================================== */

.cv[b-ly5cti2mbx] { min-width: 0; }

/* ---------- categorie ---------- */
.cv-cats[b-ly5cti2mbx] { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
@media (max-width: 700px) {
    .cv-cats[b-ly5cti2mbx] { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -20px 16px; padding: 4px 20px 8px; scroll-snap-type: x proximity; }
    .cv-cats[b-ly5cti2mbx]::-webkit-scrollbar { display: none; }
}
.cv[b-ly5cti2mbx]  .cv-cat {
    display: inline-flex; align-items: center; gap: 7px; flex: none; height: 40px; padding: 0 14px 0 10px; border-radius: 14px; cursor: pointer;
    border: 1px solid var(--border); background: var(--surface); color: var(--text-2); font-weight: 600; font-size: .86rem;
    transition: transform .35s var(--ease-spring), background .25s, color .2s, border-color .25s, box-shadow .3s;
    animation: cat-in-b-ly5cti2mbx .6s var(--ease-spring) backwards; animation-delay: calc(var(--i) * 30ms); scroll-snap-align: center;
}
.cv[b-ly5cti2mbx]  .cv-cat .cc-ico { font-size: 1.1rem; transition: transform .45s var(--ease-spring); }
.cv[b-ly5cti2mbx]  .cv-cat:hover { color: var(--text); border-color: var(--border-strong); transform: translateY(-2px); }
.cv[b-ly5cti2mbx]  .cv-cat:hover .cc-ico { transform: rotate(-12deg) scale(1.2); }
.cv[b-ly5cti2mbx]  .cv-cat.active {
    color: white; border-color: transparent;
    background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 75%, transparent), color-mix(in oklab, var(--accent-2) 55%, transparent));
    box-shadow: 0 12px 26px -12px color-mix(in oklab, var(--accent) 90%, transparent), inset 0 1px 0 rgba(255,255,255,.3);
    transform: translateY(-2px);
}
@keyframes cat-in-b-ly5cti2mbx { from { opacity: 0; transform: perspective(600px) rotateX(-60deg) translateY(-10px); } }

/* ---------- impaginazione ---------- */
.cv-layout[b-ly5cti2mbx] { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.cv-side[b-ly5cti2mbx] { display: grid; gap: 18px; min-width: 0; }
@media (max-width: 900px) { .cv-layout[b-ly5cti2mbx] { grid-template-columns: minmax(0, 1fr); } }

/* ---------- convertitore ---------- */
.cv-card[b-ly5cti2mbx] {
    min-height: 260px;
    background:
        radial-gradient(120% 70% at 0% 0%, color-mix(in oklab, var(--accent) 22%, transparent), transparent 60%),
        radial-gradient(90% 60% at 100% 100%, color-mix(in oklab, var(--accent-2) 18%, transparent), transparent 60%),
        linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.02));
    box-shadow: var(--shadow-2), 0 40px 80px -40px color-mix(in oklab, var(--accent) 60%, transparent);
}
.cv-card:empty[b-ly5cti2mbx] { background-image: linear-gradient(90deg, var(--surface) 25%, var(--surface-2) 50%, var(--surface) 75%); background-size: 200% 100%; animation: sk-b-ly5cti2mbx 1.4s infinite; }
@keyframes sk-b-ly5cti2mbx { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.cv-card.swap-in > *[b-ly5cti2mbx] { animation: cv-in-b-ly5cti2mbx .55s var(--ease-out) backwards; }
.cv-card.swap-in > :nth-child(2)[b-ly5cti2mbx] { animation-delay: 40ms; } .cv-card.swap-in > :nth-child(3)[b-ly5cti2mbx] { animation-delay: 80ms; }
.cv-card.swap-in > :nth-child(4)[b-ly5cti2mbx] { animation-delay: 120ms; } .cv-card.swap-in > :nth-child(5)[b-ly5cti2mbx] { animation-delay: 160ms; }
@keyframes cv-in-b-ly5cti2mbx { from { opacity: 0; transform: perspective(800px) translateY(14px) rotateX(-18deg); } }

.cv[b-ly5cti2mbx]  .cv-row {
    display: grid; grid-template-columns: 26px minmax(0, 1fr) minmax(0, 210px); align-items: center; gap: 10px;
    padding: 10px; border-radius: 22px; background: rgba(0,0,0,.25); border: 1px solid var(--border);
    box-shadow: inset 0 2px 10px rgba(0,0,0,.35);
}
.cv[b-ly5cti2mbx]  .cv-lab { font-size: .7rem; font-weight: 800; color: var(--text-3); text-transform: uppercase; letter-spacing: .08em; writing-mode: vertical-rl; transform: rotate(180deg); text-align: center; }
.cv[b-ly5cti2mbx]  .cv-in {
    height: 60px; font-family: var(--font-display); font-size: 1.7rem; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums;
    background: transparent; border-color: transparent; padding: 0 8px; min-width: 0;
}
.cv[b-ly5cti2mbx]  .cv-row.b .cv-in { color: color-mix(in oklab, var(--accent-2) 55%, white); }
.cv[b-ly5cti2mbx]  .cv-in:focus { background: rgba(0,0,0,.2); }
.cv[b-ly5cti2mbx]  .cv-pick .pick-btn { width: 100%; }
@media (max-width: 520px) {
    .cv[b-ly5cti2mbx]  .cv-row { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 8px; }
    .cv[b-ly5cti2mbx]  .cv-lab { display: none; }
    .cv[b-ly5cti2mbx]  .cv-in { height: 54px; font-size: 1.5rem; }
}

.cv[b-ly5cti2mbx]  .cv-swap {
    display: grid; place-items: center; width: 48px; height: 48px; margin: -10px auto; position: relative; z-index: 2; border-radius: 50%; cursor: pointer;
    border: 1px solid rgba(255,255,255,.25); color: white; font-size: 1.35rem; font-weight: 700;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    box-shadow: 0 12px 26px -8px color-mix(in oklab, var(--accent) 90%, transparent), inset 0 1px 0 rgba(255,255,255,.4), inset 0 -4px 10px rgba(0,0,0,.2);
    transition: transform .3s var(--ease-spring);
}
.cv[b-ly5cti2mbx]  .cv-swap:hover { transform: scale(1.08); }
.cv[b-ly5cti2mbx]  .cv-swap:active { transform: scale(.92); }
.cv[b-ly5cti2mbx]  .cv-swap.spin span { animation: swap-spin-b-ly5cti2mbx .6s var(--ease-spring); }
@keyframes swap-spin-b-ly5cti2mbx { from { transform: rotate(0); } to { transform: rotate(180deg); } }
.cv[b-ly5cti2mbx]  .cv-swap span { display: inline-block; }

.cv[b-ly5cti2mbx]  .cv-formula { margin-top: 14px; text-align: center; color: var(--text-2); font-size: .9rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.cv[b-ly5cti2mbx]  .cv-formula.bump { animation: tl-bump-b-ly5cti2mbx .45s var(--ease-spring); }
@keyframes tl-bump-b-ly5cti2mbx { from { transform: translateY(5px); opacity: .4; } }
.cv[b-ly5cti2mbx]  .cv-fx { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; font-size: .8rem; color: var(--text-3); }
.cv[b-ly5cti2mbx]  .cv-ing-field { margin-bottom: 12px; }
.cv[b-ly5cti2mbx]  .cv-ing .pick-btn { width: 100%; }
.cv[b-ly5cti2mbx]  .cv-loading { padding: 4px 0; }
.cv[b-ly5cti2mbx]  .cv-error { text-align: center; padding: 20px 10px; color: var(--text-2); }
.cv[b-ly5cti2mbx]  .cv-error .big { font-size: 3rem; animation: float 4s ease-in-out infinite; }
.cv[b-ly5cti2mbx]  .tl-actions { justify-content: center; }

/* ---------- tutte le unità ---------- */
.cv[b-ly5cti2mbx]  .cv-all-list { display: flex; flex-direction: column; gap: 4px; max-height: 420px; overflow-y: auto; overscroll-behavior: contain; margin-right: -8px; padding-right: 8px; }
.cv[b-ly5cti2mbx]  .cv-all-row {
    display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 8px; width: 100%; text-align: left;
    padding: 9px 12px; border-radius: 12px; border: 1px solid transparent; background: transparent; cursor: pointer; font-size: .88rem;
    transition: background .2s, border-color .2s, transform .3s var(--ease-spring);
    animation: row-in-b-ly5cti2mbx .45s var(--ease-out) backwards; animation-delay: calc(var(--i) * 18ms);
}
.cv[b-ly5cti2mbx]  .cv-all-row:hover { background: var(--surface-2); transform: translateX(3px); }
.cv[b-ly5cti2mbx]  .cv-all-row.on { border-color: color-mix(in oklab, var(--accent) 50%, transparent); background: color-mix(in oklab, var(--accent) 14%, transparent); }
.cv[b-ly5cti2mbx]  .ar-name { color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cv[b-ly5cti2mbx]  .ar-val { font-weight: 700; text-align: right; }
.cv[b-ly5cti2mbx]  .ar-sym { color: var(--text-3); font-size: .78rem; min-width: 34px; }
@keyframes row-in-b-ly5cti2mbx { from { opacity: 0; transform: translateX(10px); } }

/* ---------- recenti ---------- */
.cv[b-ly5cti2mbx]  .cv-recent-list { display: flex; flex-direction: column; gap: 6px; }
.cv[b-ly5cti2mbx]  .cv-rec {
    display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 14px; text-align: left; cursor: pointer;
    background: var(--surface); border: 1px solid var(--border); font-size: .88rem; color: var(--text-2); min-width: 0;
    transition: transform .3s var(--ease-spring), background .2s, color .2s;
    animation: row-in-b-ly5cti2mbx .45s var(--ease-out) backwards; animation-delay: calc(var(--i) * 30ms);
}
.cv[b-ly5cti2mbx]  .cv-rec:hover { transform: translateY(-2px); background: var(--surface-2); color: var(--text); }
.cv[b-ly5cti2mbx]  .rc-txt { min-width: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }

/* ---------- forno ---------- */
.cv[b-ly5cti2mbx]  .oven { border-top: 1px solid var(--border); margin-top: 20px; }
.cv[b-ly5cti2mbx]  .oven-details { margin-top: 12px; }
.cv[b-ly5cti2mbx]  .oven-details summary { cursor: pointer; color: var(--text-2); font-size: .85rem; font-weight: 600; }
.cv[b-ly5cti2mbx]  .oven-table { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; margin-top: 10px; }
.cv[b-ly5cti2mbx]  .ot-row { display: flex; justify-content: space-between; gap: 6px; padding: 7px 10px; border-radius: 10px; background: var(--surface); font-size: .8rem; }
.cv[b-ly5cti2mbx]  .ot-row.on { background: linear-gradient(135deg, color-mix(in oklab, #f97316 45%, transparent), color-mix(in oklab, #ef4444 35%, transparent)); color: white; box-shadow: 0 8px 20px -10px #f97316; }
/* /Components/Pages/Strumenti/DateTab.razor.rz.scp.css */
/* =====================================================================
   Strumenti › Date — card 3D dei conti alla rovescia e calcolatori
   ===================================================================== */

.dt[b-wfxnnsafvz] { display: grid; gap: 22px; min-width: 0; }
.cd-h[b-wfxnnsafvz] { font-size: 1.25rem; display: flex; align-items: center; gap: 8px; }
.cd-grid[b-wfxnnsafvz] { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
@media (max-width: 480px) { .cd-grid[b-wfxnnsafvz] { grid-template-columns: minmax(0, 1fr); } }

.cd-card[b-wfxnnsafvz] {
    --c: var(--accent);
    position: relative; overflow: hidden; cursor: pointer; padding: 18px; border-radius: 28px; min-width: 0;
    background:
        radial-gradient(120% 80% at 0% 0%, color-mix(in oklab, var(--c) 45%, transparent), transparent 60%),
        radial-gradient(80% 80% at 100% 100%, color-mix(in oklab, var(--c) 22%, transparent), transparent 60%),
        linear-gradient(160deg, rgba(255,255,255,.1), rgba(255,255,255,.02));
    border: 1px solid color-mix(in oklab, var(--c) 45%, var(--border));
    box-shadow: 0 30px 60px -30px color-mix(in oklab, var(--c) 80%, transparent), var(--shadow-1);

    transform-style: preserve-3d; outline: none;
}
.cd-card:focus-visible[b-wfxnnsafvz] { box-shadow: 0 0 0 2px var(--accent-2); }
.cd-card.past[b-wfxnnsafvz] { filter: saturate(.35); opacity: .75; }
.cd-glow[b-wfxnnsafvz] { position: absolute; width: 180px; height: 180px; right: -60px; top: -60px; border-radius: 50%; background: radial-gradient(circle, color-mix(in oklab, var(--c) 70%, transparent), transparent 70%); filter: blur(20px); animation: cd-orbit-b-wfxnnsafvz 9s ease-in-out infinite alternate; pointer-events: none; }
@keyframes cd-orbit-b-wfxnnsafvz { to { transform: translate(-40px, 60px) scale(1.2); } }
.cd-top[b-wfxnnsafvz] { display: flex; align-items: center; gap: 12px; transform: translateZ(30px); }
.cd-emoji[b-wfxnnsafvz] { font-size: 2.4rem; filter: drop-shadow(0 10px 12px rgba(0,0,0,.45)); animation: float 5s ease-in-out infinite; display: inline-block; }
.cd-title[b-wfxnnsafvz] { font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cd-when[b-wfxnnsafvz] { font-size: .78rem; color: var(--text-2); min-height: 1.2em; }
.cd-count[b-wfxnnsafvz] { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 8px; margin-top: 16px; transform: translateZ(40px); }
.cd-unit[b-wfxnnsafvz] { display: flex; flex-direction: column; align-items: center; padding: 10px 4px; border-radius: 16px; background: rgba(0,0,0,.3); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 20px -12px rgba(0,0,0,.8); min-width: 0; }
.cd-unit b[b-wfxnnsafvz] { font-size: 1.3rem; line-height: 1.1; min-height: 1.1em; }
.cd-unit.big b[b-wfxnnsafvz] { font-size: 1.8rem; background: linear-gradient(120deg, #fff, color-mix(in oklab, var(--c) 60%, white)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cd-unit span[b-wfxnnsafvz] { font-size: .64rem; color: var(--text-3); text-transform: uppercase; letter-spacing: .08em; }
.cd-state[b-wfxnnsafvz] { margin-top: 12px; font-size: .8rem; color: var(--text-2); min-height: 1.2em; transform: translateZ(20px); }

/* editor */
.cd-emojis[b-wfxnnsafvz] { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.cd-emo[b-wfxnnsafvz] { width: 42px; height: 42px; border-radius: 13px; border: 1px solid var(--border); background: var(--surface); font-size: 1.3rem; cursor: pointer; transition: transform .25s var(--ease-spring), background .2s; }
.cd-emo:hover[b-wfxnnsafvz] { transform: translateY(-2px) scale(1.08); }
.cd-emo.active[b-wfxnnsafvz] { background: color-mix(in oklab, var(--accent) 35%, transparent); border-color: var(--accent); transform: scale(1.1); }
.cd-emo-in[b-wfxnnsafvz] { width: 80px; height: 42px; text-align: center; font-size: 1.2rem; }
.cd-colors[b-wfxnnsafvz] { display: flex; flex-wrap: wrap; gap: 10px; }
.cd-col[b-wfxnnsafvz] { width: 36px; height: 36px; border-radius: 50%; border: 2px solid transparent; background: var(--c); cursor: pointer; box-shadow: 0 6px 14px -6px var(--c); transition: transform .25s var(--ease-spring); }
.cd-col.active[b-wfxnnsafvz] { border-color: white; transform: scale(1.15); }

/* festività trovate */
.dt[b-wfxnnsafvz]  .dt-hols { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.dt[b-wfxnnsafvz]  .dt-hol { font-size: .76rem; padding: 4px 10px; border-radius: 99px; background: color-mix(in oklab, var(--warning) 16%, transparent); color: #fde68a; animation: hol-in-b-wfxnnsafvz .4s var(--ease-spring) backwards; animation-delay: calc(var(--i) * 30ms); }
@keyframes hol-in-b-wfxnnsafvz { from { opacity: 0; transform: scale(.8); } }
.dt[b-wfxnnsafvz]  input[type="date"].input { min-width: 0; }
/* /Components/Pages/Strumenti/QrTab.razor.rz.scp.css */
/* =====================================================================
   Strumenti › QR — anteprima 3D, moduli per tipo, mirino della fotocamera
   ===================================================================== */

.qr[b-rr7q8i1ici] { min-width: 0; }
.qr-layout[b-rr7q8i1ici] { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 18px; align-items: start; }
@media (max-width: 900px) { .qr-layout[b-rr7q8i1ici] { grid-template-columns: minmax(0, 1fr); } }

.qr-modes[b-rr7q8i1ici] { margin-bottom: 14px; display: flex; }

/* moduli: visibile solo quello del tipo attivo (data-mode sulla radice, impostato dal JS) */
.qf[b-rr7q8i1ici] { display: none; animation: qf-in-b-rr7q8i1ici .45s var(--ease-out); }
.qr[data-mode="text"] .qf-text[b-rr7q8i1ici], .qr[data-mode="url"] .qf-url[b-rr7q8i1ici], .qr[data-mode="wifi"] .qf-wifi[b-rr7q8i1ici],
.qr[data-mode="vcard"] .qf-vcard[b-rr7q8i1ici], .qr[data-mode="email"] .qf-email[b-rr7q8i1ici] { display: block; }
@keyframes qf-in-b-rr7q8i1ici { from { opacity: 0; transform: translateY(8px); } }

/* anteprima */
.qr-preview-wrap[b-rr7q8i1ici] { display: grid; place-items: center; padding: 22px 0 10px; perspective: 1000px; }
.qr-preview[b-rr7q8i1ici] {
    position: relative; width: min(100%, 300px); padding: 16px 16px 12px; border-radius: 28px;
    background: linear-gradient(160deg, #ffffff, #e9e7ff);
    box-shadow: 0 40px 70px -30px color-mix(in oklab, var(--accent) 90%, transparent), 0 0 0 1px rgba(255,255,255,.6), inset 0 -6px 18px rgba(99,102,241,.18);
}
.qr-preview.pop[b-rr7q8i1ici] { animation: qr-pop-b-rr7q8i1ici .5s var(--ease-spring); }
@keyframes qr-pop-b-rr7q8i1ici { from { transform: perspective(900px) rotateY(-14deg) scale(.96); } }
.qr-preview canvas[b-rr7q8i1ici] { display: block; width: 100%; height: auto; aspect-ratio: 1; image-rendering: pixelated; border-radius: 10px; }
.qr-caption[b-rr7q8i1ici] { text-align: center; color: #1e1b4b; font-weight: 700; font-size: .85rem; margin-top: 6px; min-height: 1.2em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qr.qr-empty .qr-preview canvas[b-rr7q8i1ici] { opacity: .15; }
.qr [data-role="status"][b-rr7q8i1ici] { text-align: center; }

/* fotocamera */
.qr-cam[b-rr7q8i1ici] {
    position: relative; aspect-ratio: 1; width: min(100%, 360px); margin: 0 auto; border-radius: 26px; overflow: hidden;
    background: radial-gradient(circle at 50% 40%, rgba(255,255,255,.06), rgba(0,0,0,.5)); border: 1px solid var(--border);
    box-shadow: inset 0 3px 18px rgba(0,0,0,.6);
}
.qr-cam video[b-rr7q8i1ici] { width: 100%; height: 100%; object-fit: cover; display: block; opacity: 0; transition: opacity .4s; }
.qr-cam.on video[b-rr7q8i1ici] { opacity: 1; }
.qr-cam-idle[b-rr7q8i1ici] { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: var(--text-3); font-size: .9rem; transition: opacity .3s; }
.qr-cam-idle span:first-child[b-rr7q8i1ici] { font-size: 3rem; animation: float 4s ease-in-out infinite; }
.qr-cam.on .qr-cam-idle[b-rr7q8i1ici] { opacity: 0; }
.qr-frame[b-rr7q8i1ici] { position: absolute; inset: 16%; pointer-events: none; opacity: .35; transition: opacity .3s; }
.qr-cam.on .qr-frame[b-rr7q8i1ici] { opacity: 1; }
.qr-frame i[b-rr7q8i1ici] { position: absolute; width: 28px; height: 28px; border: 4px solid var(--accent-2); }
.qr-frame i:nth-child(1)[b-rr7q8i1ici] { left: 0; top: 0; border-right: 0; border-bottom: 0; border-radius: 10px 0 0 0; }
.qr-frame i:nth-child(2)[b-rr7q8i1ici] { right: 0; top: 0; border-left: 0; border-bottom: 0; border-radius: 0 10px 0 0; }
.qr-frame i:nth-child(3)[b-rr7q8i1ici] { left: 0; bottom: 0; border-right: 0; border-top: 0; border-radius: 0 0 0 10px; }
.qr-frame i:nth-child(4)[b-rr7q8i1ici] { right: 0; bottom: 0; border-left: 0; border-top: 0; border-radius: 0 0 10px 0; }
.qr-laser[b-rr7q8i1ici] { position: absolute; left: 6%; right: 6%; height: 2px; top: 0; background: linear-gradient(90deg, transparent, var(--accent-2), transparent); box-shadow: 0 0 14px var(--accent-2); display: none; }
.qr-cam.on .qr-laser[b-rr7q8i1ici] { display: block; animation: laser-b-rr7q8i1ici 2s ease-in-out infinite alternate; }
@keyframes laser-b-rr7q8i1ici { to { top: 100%; } }

/* risultato */
.qr[b-rr7q8i1ici]  .qr-res { margin-top: 14px; padding: 16px; border-radius: 20px; background: rgba(0,0,0,.25); border: 1px solid color-mix(in oklab, var(--accent) 40%, var(--border)); animation: res-in-b-rr7q8i1ici .55s var(--ease-spring); min-width: 0; }
.qr[b-rr7q8i1ici]  .qr-res.none { text-align: center; color: var(--text-2); border-color: var(--border); }
@keyframes res-in-b-rr7q8i1ici { from { opacity: 0; transform: perspective(800px) rotateX(-30deg) translateY(12px); } }
.qr[b-rr7q8i1ici]  .qr-kind { font-weight: 700; margin-bottom: 8px; }
.qr[b-rr7q8i1ici]  .qr-link { color: var(--accent-2); text-decoration: underline; overflow-wrap: anywhere; }
.qr[b-rr7q8i1ici]  .qr-text { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-family: inherit; font-size: .9rem; max-height: 220px; overflow-y: auto; }
.qr[b-rr7q8i1ici]  .qr-row { display: grid; grid-template-columns: 90px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 6px 0; border-top: 1px solid rgba(255,255,255,.05); }
.qr[b-rr7q8i1ici]  .qr-row .k { color: var(--text-3); font-size: .8rem; }
.qr[b-rr7q8i1ici]  .qr-row .v { font-weight: 600; overflow-wrap: anywhere; }
.qr[b-rr7q8i1ici]  .qr-row .v.mono { font-family: ui-monospace, Consolas, monospace; }
/* /Components/Pages/Strumenti/Strumenti.razor.rz.scp.css */
/* =====================================================================
   Strumenti — stili comuni a tutte le schede (via ::deep: valgono anche
   per il markup delle schede figlie e per gli elementi creati da tools.js)
   ===================================================================== */

/* ---------- hero: ingranaggi fluttuanti ---------- */
.hero-gears[b-3ovlohilw2] { position: relative; width: 150px; height: 90px; flex: none; }
.hero-gears > div[b-3ovlohilw2] { position: absolute; }
.hero-gears > div:nth-child(1)[b-3ovlohilw2] { left: 10px; top: 0; }
.hero-gears > div:nth-child(2)[b-3ovlohilw2] { left: 70px; top: 36px; }
.hero-gears > div:nth-child(3)[b-3ovlohilw2] { left: 108px; top: -6px; }
.g[b-3ovlohilw2] { display: inline-block; font-size: 2.2rem; filter: drop-shadow(0 12px 16px rgba(0,0,0,.5)); }
.g1[b-3ovlohilw2] { animation: gear-spin-b-3ovlohilw2 14s linear infinite; font-size: 2.8rem; }
.g2[b-3ovlohilw2] { animation: float-y-b-3ovlohilw2 5s ease-in-out infinite; }
.g3[b-3ovlohilw2] { animation: float-y-b-3ovlohilw2 6s ease-in-out infinite -2s; }
@keyframes gear-spin-b-3ovlohilw2 { to { transform: rotate(360deg); } }
@keyframes float-y-b-3ovlohilw2 { 0%, 100% { transform: translateY(0) rotate(-8deg); } 50% { transform: translateY(-10px) rotate(8deg); } }

/* ---------- transizione tra schede ---------- */
/* niente perspective/transform persistenti: creerebbero un contenitore per gli elementi position:fixed (sheet, popover) */
.tl-stage[b-3ovlohilw2] { min-width: 0; }
.tl-panel[b-3ovlohilw2] { animation: tl-panel-in-b-3ovlohilw2 .65s var(--ease-out) backwards; transform-origin: 50% 0; min-width: 0; }
@keyframes tl-panel-in-b-3ovlohilw2 {
    from { opacity: 0; transform: perspective(1600px) translate3d(0, 26px, -90px) rotateX(9deg); filter: blur(6px); }
    to { opacity: 1; transform: none; filter: none; }
}

/* ---------- mattoni comuni ---------- */
.tools[b-3ovlohilw2]  .tl-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.tools[b-3ovlohilw2]  .tl-grid.one { grid-template-columns: minmax(0, 1fr); }
.tools[b-3ovlohilw2]  .tl-grid .span-2 { grid-column: 1 / -1; }
@media (max-width: 860px) { .tools[b-3ovlohilw2]  .tl-grid { grid-template-columns: minmax(0, 1fr); } }

.tools[b-3ovlohilw2]  .tl-card { padding: 20px; overflow: hidden; scroll-margin-top: 90px; }
.tools[b-3ovlohilw2]  .tl-card.flash { animation: tl-flash-b-3ovlohilw2 1.6s var(--ease-out); }
@keyframes tl-flash-b-3ovlohilw2 { 0%, 40% { box-shadow: 0 0 0 2px var(--accent-2), 0 0 60px -10px var(--accent-2); } }
.tools[b-3ovlohilw2]  .tl-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.tools[b-3ovlohilw2]  .tl-head h2 { font-size: 1.15rem; }
.tools[b-3ovlohilw2]  .tl-head .tl-ico {
    width: 42px; height: 42px; border-radius: 14px; display: grid; place-items: center; font-size: 22px; flex: none;
    background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 60%, transparent), color-mix(in oklab, var(--accent-2) 45%, transparent));
    box-shadow: 0 10px 24px -10px color-mix(in oklab, var(--accent) 90%, transparent), inset 0 1px 0 rgba(255,255,255,.3);
    transform: translateZ(20px);
}
.tools[b-3ovlohilw2]  .tl-head .tl-sub { color: var(--text-3); font-size: .8rem; }

.tools[b-3ovlohilw2]  .tl-fields { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.tools[b-3ovlohilw2]  .tl-fields.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tools[b-3ovlohilw2]  .tl-fields.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 480px) { .tools[b-3ovlohilw2]  .tl-fields.three { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tools[b-3ovlohilw2]  .tl-fields .full { grid-column: 1 / -1; }
.tools[b-3ovlohilw2]  .field .input { min-width: 0; }
.tools[b-3ovlohilw2]  .suffix { position: relative; }
.tools[b-3ovlohilw2]  .suffix > .input { padding-right: 52px; }
.tools[b-3ovlohilw2]  .suffix > i { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-style: normal; color: var(--text-3); font-size: .85rem; pointer-events: none; }

/* risultati */
.tools[b-3ovlohilw2]  .tl-outs { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); margin-top: 16px; }
.tools[b-3ovlohilw2]  .tl-out {
    position: relative; padding: 12px 14px; border-radius: 16px; min-width: 0;
    background: rgba(0,0,0,.22); border: 1px solid var(--border);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.tools[b-3ovlohilw2]  .tl-out.main {
    background: linear-gradient(145deg, color-mix(in oklab, var(--accent) 30%, rgba(0,0,0,.2)), color-mix(in oklab, var(--accent-2) 16%, rgba(0,0,0,.2)));
    border-color: color-mix(in oklab, var(--accent) 45%, transparent);
    box-shadow: 0 16px 34px -18px color-mix(in oklab, var(--accent) 90%, transparent), inset 0 1px 0 rgba(255,255,255,.14);
}
.tools[b-3ovlohilw2]  .tl-out .k { font-size: .7rem; font-weight: 700; color: var(--text-2); text-transform: uppercase; letter-spacing: .08em; }
.tools[b-3ovlohilw2]  .tl-out .v { font-family: var(--font-display); font-size: 1.35rem; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.tools[b-3ovlohilw2]  .tl-out.main .v { font-size: 1.7rem; }
.tools[b-3ovlohilw2]  .tl-out .s { font-size: .76rem; color: var(--text-3); }
.tools[b-3ovlohilw2]  .v.bump { animation: tl-bump-b-3ovlohilw2 .45s var(--ease-spring); }
@keyframes tl-bump-b-3ovlohilw2 { 0% { transform: translateY(6px) scale(.97); opacity: .4; } 100% { transform: none; opacity: 1; } }

.tools[b-3ovlohilw2]  .tl-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.tools[b-3ovlohilw2]  .tl-note { font-size: .78rem; color: var(--text-3); margin-top: 10px; }
.tools[b-3ovlohilw2]  .tl-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.tools[b-3ovlohilw2]  .tl-chips .chip { height: 32px; padding: 0 12px; }
.tools[b-3ovlohilw2]  .seg { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.tools[b-3ovlohilw2]  .seg::-webkit-scrollbar { display: none; }

/* stepper numerico (persone, dadi…) */
.tools[b-3ovlohilw2]  .stepper { display: inline-flex; align-items: center; gap: 4px; padding: 3px; border-radius: 14px; background: rgba(0,0,0,.25); border: 1px solid var(--border); }
.tools[b-3ovlohilw2]  .stepper button { width: 38px; height: 38px; border-radius: 11px; border: 0; background: var(--surface-2); font-size: 1.1rem; font-weight: 700; cursor: pointer; transition: transform .2s var(--ease-spring), background .2s; }
.tools[b-3ovlohilw2]  .stepper button:active { transform: scale(.88); }
.tools[b-3ovlohilw2]  .stepper output, .tools[b-3ovlohilw2]  .stepper input { min-width: 36px; width: 46px; text-align: center; font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; background: transparent; border: 0; color: var(--text); }

.tools[b-3ovlohilw2]  .budget-btn { background: linear-gradient(135deg, color-mix(in oklab, #7C3AED 45%, transparent), color-mix(in oklab, #22D3EE 25%, transparent)); border-color: color-mix(in oklab, #7C3AED 50%, transparent); }

/* ---------- selettore con ricerca (creato da tools.js) ---------- */
.tools[b-3ovlohilw2]  .pick-btn {
    display: flex; align-items: center; gap: 8px; min-width: 0; height: 46px; padding: 0 12px; border-radius: 14px; cursor: pointer; text-align: left;
    background: var(--surface-2); border: 1px solid var(--border); color: var(--text); font-weight: 600; transition: border-color .2s, background .2s, transform .25s var(--ease-spring);
}
.tools[b-3ovlohilw2]  .pick-btn:hover { border-color: var(--border-strong); background: var(--surface-3); }
.tools[b-3ovlohilw2]  .pick-btn:active { transform: scale(.97); }
.tools[b-3ovlohilw2]  .pick-btn .pb-ico { font-size: 1.15rem; flex: none; }
.tools[b-3ovlohilw2]  .pick-btn .pb-txt { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tools[b-3ovlohilw2]  .pick-btn .pb-sym { color: var(--text-3); font-size: .8rem; flex: none; }
.tools[b-3ovlohilw2]  .pick-btn::after { content: ""; width: 7px; height: 7px; border-right: 2px solid var(--text-3); border-bottom: 2px solid var(--text-3); transform: rotate(45deg) translateY(-3px); flex: none; margin-left: 2px; }

.tools[b-3ovlohilw2]  .pp-backdrop { position: fixed; inset: 0; z-index: 90; background: transparent; }
.tools[b-3ovlohilw2]  .pick-pop {
    position: fixed; z-index: 91; display: flex; flex-direction: column; gap: 8px; padding: 10px; max-height: 380px;
    border-radius: 20px; background: linear-gradient(160deg, rgba(34,30,80,.97), rgba(14,12,40,.98)); border: 1px solid var(--border-strong);
    box-shadow: 0 30px 70px -20px rgba(0,0,0,.85), inset 0 1px 0 rgba(255,255,255,.1);
    animation: pp-in-b-3ovlohilw2 .32s var(--ease-spring) both; transform-origin: 50% 0;
}
.tools[b-3ovlohilw2]  .pick-pop.out { animation: pp-out-b-3ovlohilw2 .18s ease-in both; }
@keyframes pp-in-b-3ovlohilw2 { from { opacity: 0; transform: perspective(900px) rotateX(-22deg) translateY(-8px) scale(.96); } }
@keyframes pp-out-b-3ovlohilw2 { to { opacity: 0; transform: translateY(-6px) scale(.97); } }
.tools[b-3ovlohilw2]  .pp-head { display: none; align-items: center; justify-content: space-between; padding: 2px 4px 0 8px; }
.tools[b-3ovlohilw2]  .pp-search { height: 42px; flex: none; }
.tools[b-3ovlohilw2]  .pp-list { overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 2px; min-height: 0; }
.tools[b-3ovlohilw2]  .pp-item {
    display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 10px; border-radius: 11px; border: 0; background: transparent; cursor: pointer; text-align: left; font-size: .9rem;
    animation: pp-item-b-3ovlohilw2 .35s var(--ease-out) backwards; animation-delay: calc(var(--i) * 12ms);
}
@keyframes pp-item-b-3ovlohilw2 { from { opacity: 0; transform: translateX(-6px); } }
.tools[b-3ovlohilw2]  .pp-item:hover, .tools[b-3ovlohilw2]  .pp-item.act { background: var(--surface-2); }
.tools[b-3ovlohilw2]  .pp-item.sel { background: color-mix(in oklab, var(--accent) 26%, transparent); }
.tools[b-3ovlohilw2]  .pp-ico { font-size: 1.1rem; width: 24px; text-align: center; flex: none; }
.tools[b-3ovlohilw2]  .pp-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tools[b-3ovlohilw2]  .pp-sym { color: var(--text-3); font-size: .78rem; flex: none; max-width: 45%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tools[b-3ovlohilw2]  .pp-empty { padding: 16px; text-align: center; color: var(--text-3); font-size: .85rem; }
@media (max-width: 640px) {
    .tools[b-3ovlohilw2]  .pp-backdrop { background: rgba(3,2,12,.55); animation: fade-in-b-3ovlohilw2 .25s both; }
    .tools[b-3ovlohilw2]  .pick-pop { left: 0; right: 0; bottom: 0; top: auto; width: 100%; max-height: 72vh; border-radius: 26px 26px 0 0; padding: 12px 14px calc(14px + var(--safe-bottom)); animation: pp-up-b-3ovlohilw2 .38s var(--ease-out) both; }
    .tools[b-3ovlohilw2]  .pick-pop.out { animation: pp-down-b-3ovlohilw2 .2s ease-in both; }
    .tools[b-3ovlohilw2]  .pp-head { display: flex; }
    .tools[b-3ovlohilw2]  .pp-item { padding: 12px 10px; font-size: .95rem; }
    @keyframes pp-up-b-3ovlohilw2 { from { transform: translateY(100%); } }
    @keyframes pp-down-b-3ovlohilw2 { to { transform: translateY(100%); } }
}
@keyframes fade-in-b-3ovlohilw2 { from { opacity: 0; } }
/* /Components/Pages/Strumenti/TimerTab.razor.rz.scp.css */
/* =====================================================================
   Strumenti › Timer — preset 3D, anelli luminosi che si svuotano,
   pomodoro e cronometro (card e anelli creati da tools-timer.js → ::deep)
   ===================================================================== */

.tm[b-2y4ttr5ncx] { display: grid; gap: 18px; min-width: 0; --ring-a: var(--accent); --ring-b: var(--accent-2); }

/* ---------- preset ---------- */
.tm-presets[b-2y4ttr5ncx] { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 10px; }
.tm-preset[b-2y4ttr5ncx] {
    position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px 12px 10px; border-radius: 18px; cursor: pointer; text-align: left;
    border: 1px solid var(--border); background: linear-gradient(150deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); color: var(--text);
    box-shadow: 0 10px 22px -16px rgba(0,0,0,.8), inset 0 1px 0 rgba(255,255,255,.08);
    transition: transform .35s var(--ease-spring), border-color .25s, box-shadow .3s;
    animation: tp-in-b-2y4ttr5ncx .6s var(--ease-spring) backwards; animation-delay: calc(var(--i) * 35ms);
    transform-style: preserve-3d;
}
.tm-preset:hover[b-2y4ttr5ncx] { transform: perspective(600px) translateY(-4px) rotateX(8deg); border-color: color-mix(in oklab, var(--accent) 55%, var(--border)); box-shadow: 0 18px 30px -16px color-mix(in oklab, var(--accent) 80%, transparent); }
.tm-preset:active[b-2y4ttr5ncx] { transform: scale(.94); }
.tm-preset.pop[b-2y4ttr5ncx] { animation: tp-pop-b-2y4ttr5ncx .5s var(--ease-spring); }
.tp-ico[b-2y4ttr5ncx] { font-size: 1.6rem; transform: translateZ(18px); filter: drop-shadow(0 6px 8px rgba(0,0,0,.4)); }
.tp-name[b-2y4ttr5ncx] { font-weight: 600; font-size: .86rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.tp-dur[b-2y4ttr5ncx] { font-size: .78rem; color: var(--accent-2); font-weight: 700; }
@keyframes tp-in-b-2y4ttr5ncx { from { opacity: 0; transform: perspective(600px) rotateY(-50deg) translateX(-10px); } }
@keyframes tp-pop-b-2y4ttr5ncx { 40% { transform: scale(1.1); box-shadow: 0 0 0 3px var(--accent-2); } }

/* ---------- durata personalizzata ---------- */
.tm-form[b-2y4ttr5ncx] { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 14px; align-items: end; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border); }
.tm-dur[b-2y4ttr5ncx] { display: flex; align-items: end; gap: 4px; }
.tm-dur .field[b-2y4ttr5ncx] { width: 74px; }
.tm-dur .input[b-2y4ttr5ncx] { text-align: center; font-size: 1.3rem; font-weight: 700; height: 52px; }
.tm-colon[b-2y4ttr5ncx] { font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; color: var(--text-3); padding-bottom: 10px; }
.tm-start[b-2y4ttr5ncx] { height: 52px; }
@media (max-width: 700px) {
    .tm-form[b-2y4ttr5ncx] { grid-template-columns: minmax(0, 1fr); }
    .tm-dur[b-2y4ttr5ncx] { justify-content: space-between; }
    .tm-dur .field[b-2y4ttr5ncx] { flex: 1; width: auto; }
    .tm-dur .input[b-2y4ttr5ncx] { height: 58px; font-size: 1.5rem; }
    .tm-start[b-2y4ttr5ncx] { width: 100%; }
}
[data-act="notify"].on[b-2y4ttr5ncx] { color: var(--success); }

/* ---------- timer attivi ---------- */
.tm-list[b-2y4ttr5ncx] { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; }
@media (max-width: 480px) { .tm-list[b-2y4ttr5ncx] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
.tm[b-2y4ttr5ncx]  .tm-empty { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 18px; border-radius: 20px; border: 1px dashed var(--border-strong); color: var(--text-3); font-size: .9rem; }
.tm[b-2y4ttr5ncx]  .te-ico { font-size: 1.4rem; animation: float 4s ease-in-out infinite; display: inline-block; }

.tm[b-2y4ttr5ncx]  .tmc {
    position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px 12px 12px; border-radius: 26px;
    background: radial-gradient(90% 60% at 50% 0%, color-mix(in oklab, var(--accent) 18%, transparent), transparent 70%), linear-gradient(160deg, rgba(255,255,255,.09), rgba(255,255,255,.02));
    border: 1px solid var(--border); box-shadow: var(--shadow-2);

    animation: tmc-in-b-2y4ttr5ncx .7s var(--ease-spring) backwards; animation-delay: calc(var(--i) * 50ms);
    min-width: 0;
}
.tm[b-2y4ttr5ncx]  .tmc.leaving { animation: tmc-out-b-2y4ttr5ncx .28s ease-in forwards; }
@keyframes tmc-in-b-2y4ttr5ncx { from { opacity: 0; transform: perspective(900px) rotateX(-40deg) translateY(30px) scale(.85); } }
@keyframes tmc-out-b-2y4ttr5ncx { to { opacity: 0; transform: perspective(900px) rotateX(30deg) scale(.8); } }
.tm[b-2y4ttr5ncx]  .tmc.pause { --ring-a: #94a3b8; --ring-b: #64748b; }
.tm[b-2y4ttr5ncx]  .tmc.done { --ring-a: #fb7185; --ring-b: #f97316; border-color: color-mix(in oklab, var(--danger) 50%, transparent); animation: tmc-alarm-b-2y4ttr5ncx 1.2s ease-in-out infinite; }
@keyframes tmc-alarm-b-2y4ttr5ncx { 50% { box-shadow: 0 0 0 3px color-mix(in oklab, var(--danger) 50%, transparent), 0 0 50px -6px var(--danger); } }

.tm[b-2y4ttr5ncx]  .tmc-ring { position: relative; width: min(100%, 170px); aspect-ratio: 1; transform: translateZ(26px); }
.tm[b-2y4ttr5ncx]  .ring { width: 100%; height: 100%; transform: rotate(0deg); overflow: visible; }
.tm[b-2y4ttr5ncx]  .ring .trk { fill: none; stroke: rgba(255,255,255,.07); stroke-width: 10; }
.tm[b-2y4ttr5ncx]  .ring .bar { fill: none; stroke-width: 10; stroke-linecap: round; transform: rotate(-90deg); transform-origin: 60px 60px; filter: drop-shadow(0 0 6px var(--ring-a)); transition: stroke-dashoffset .25s linear; }
.tm[b-2y4ttr5ncx]  .ring .tip { fill: white; filter: drop-shadow(0 0 5px var(--ring-b)); transition: opacity .3s; }
.tm[b-2y4ttr5ncx]  .tmc-core, .tm[b-2y4ttr5ncx]  .pomo-core {
    position: absolute; inset: 16%; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0;
    background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.14), rgba(0,0,0,.35) 70%);
    box-shadow: inset 0 2px 0 rgba(255,255,255,.12), inset 0 -10px 24px rgba(0,0,0,.45), 0 14px 30px -12px rgba(0,0,0,.8);
}
.tm[b-2y4ttr5ncx]  .tmc-ico { font-size: 1.35rem; line-height: 1; }
.tm[b-2y4ttr5ncx]  .tmc-time { font-size: clamp(1.15rem, 5vw, 1.55rem); font-weight: 700; line-height: 1.15; }
.tm[b-2y4ttr5ncx]  .tmc-end { font-size: .66rem; color: var(--text-3); white-space: nowrap; }
.tm[b-2y4ttr5ncx]  .tmc-name { font-weight: 700; font-size: .92rem; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tm[b-2y4ttr5ncx]  .tmc-btns { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; }
.tm[b-2y4ttr5ncx]  .tmc-btn {
    min-width: 38px; height: 36px; padding: 0 8px; border-radius: 12px; border: 1px solid var(--border); background: var(--surface-2); cursor: pointer; font-weight: 700; font-size: .9rem;
    transition: transform .25s var(--ease-spring), background .2s;
}
.tm[b-2y4ttr5ncx]  .tmc-btn:hover { background: var(--surface-3); transform: translateY(-2px); }
.tm[b-2y4ttr5ncx]  .tmc-btn:active { transform: scale(.9); }
.tm[b-2y4ttr5ncx]  .tmc-btn.main { background: linear-gradient(135deg, var(--accent), var(--accent-2)); border-color: transparent; }
.tm[b-2y4ttr5ncx]  .tmc-btn.del:hover { background: color-mix(in oklab, var(--danger) 30%, transparent); }

/* ---------- pomodoro ---------- */
.tm-bottom[b-2y4ttr5ncx] { align-items: stretch; }
.tm[b-2y4ttr5ncx]  [data-role="pomo"] { --ring-a: #f97316; --ring-b: #ef4444; }
.tm[b-2y4ttr5ncx]  [data-role="pomo"][data-phase="short"], .tm[b-2y4ttr5ncx]  [data-role="pomo"][data-phase="long"] { --ring-a: #34d399; --ring-b: #22d3ee; }
.tm[b-2y4ttr5ncx]  .pomo-dial { position: relative; width: min(100%, 250px); aspect-ratio: 1; margin: 0 auto; }
.tm[b-2y4ttr5ncx]  [data-role="pomo"][data-status="run"] .pomo-dial { animation: pomo-breathe-b-2y4ttr5ncx 4s ease-in-out infinite; }
@keyframes pomo-breathe-b-2y4ttr5ncx { 50% { transform: scale(1.025); filter: drop-shadow(0 0 30px color-mix(in oklab, var(--ring-a) 50%, transparent)); } }
.tm[b-2y4ttr5ncx]  .ring.big .trk, .tm[b-2y4ttr5ncx]  .ring.big .bar { stroke-width: 8; }
.tm[b-2y4ttr5ncx]  .pomo-core { inset: 14%; gap: 2px; text-align: center; }
.tm[b-2y4ttr5ncx]  .pomo-phase { font-size: .78rem; font-weight: 700; color: var(--text-2); }
.tm[b-2y4ttr5ncx]  .pomo-time { font-size: clamp(2rem, 9vw, 2.6rem); font-weight: 700; line-height: 1.05; }
.tm[b-2y4ttr5ncx]  .pomo-today { font-size: .72rem; }
.tm[b-2y4ttr5ncx]  .tomatoes { letter-spacing: -2px; }
.tm[b-2y4ttr5ncx]  .pomo-btns, .tm[b-2y4ttr5ncx]  .sw-btns { display: flex; gap: 10px; justify-content: center; margin-top: 16px; flex-wrap: wrap; }
.tm[b-2y4ttr5ncx]  .pomo-btns .btn-primary, .tm[b-2y4ttr5ncx]  .sw-btns .btn-primary { min-width: 140px; }
.tm[b-2y4ttr5ncx]  .pomo-settings { margin-top: 16px; padding: 14px; border-radius: 18px; background: rgba(0,0,0,.2); border: 1px solid var(--border); animation: tl-panel-set-b-2y4ttr5ncx .4s var(--ease-out); }
.tm[b-2y4ttr5ncx]  .pomo-settings .tl-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@keyframes tl-panel-set-b-2y4ttr5ncx { from { opacity: 0; transform: translateY(-8px); } }
.pomo-task[b-2y4ttr5ncx] { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--border); display: flex; flex-direction: column; gap: 8px; }

/* ---------- cronometro ---------- */
.tm[b-2y4ttr5ncx]  .sw-dial {
    display: grid; place-items: center; padding: 26px 10px; border-radius: 26px;
    background: radial-gradient(80% 90% at 50% 120%, color-mix(in oklab, var(--accent-2) 30%, transparent), transparent 60%), linear-gradient(180deg, rgba(2,4,16,.8), rgba(8,10,34,.6));
    box-shadow: inset 0 3px 16px rgba(0,0,0,.65), inset 0 0 0 1px rgba(255,255,255,.06);
}
.tm[b-2y4ttr5ncx]  .sw-time { font-size: clamp(2.2rem, 10vw, 3.4rem); font-weight: 700; text-shadow: 0 0 30px color-mix(in oklab, var(--accent-2) 60%, transparent); }
.tm[b-2y4ttr5ncx]  [data-role="sw"][data-status="run"] .sw-time { color: color-mix(in oklab, var(--accent-2) 40%, white); }
.tm[b-2y4ttr5ncx]  .sw-laps { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 4px; max-height: 260px; overflow-y: auto; overscroll-behavior: contain; }
.tm[b-2y4ttr5ncx]  .sw-laps li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; padding: 8px 12px; border-radius: 12px; background: var(--surface); font-size: .88rem; animation: lap-in-b-2y4ttr5ncx .4s var(--ease-spring); }
.tm[b-2y4ttr5ncx]  .sw-laps li.best { background: color-mix(in oklab, var(--success) 18%, transparent); }
.tm[b-2y4ttr5ncx]  .sw-laps li.worst { background: color-mix(in oklab, var(--danger) 16%, transparent); }
@keyframes lap-in-b-2y4ttr5ncx { from { opacity: 0; transform: translateY(-8px) scale(.97); } }
/* /Components/Pages/Strumenti/VarieTab.razor.rz.scp.css */
/* =====================================================================
   Strumenti › Varie — moneta e dadi 3D, sorteggio, livella
   ===================================================================== */

.vr[b-0d1l56rvtx] { min-width: 0; }

/* ---------- moneta ---------- */
.coin-row[b-0d1l56rvtx] { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; }
.coin[b-0d1l56rvtx] { width: 92px; height: 92px; flex: none; border: 0; padding: 0; background: none; cursor: pointer; perspective: 600px; }
.coin-inner[b-0d1l56rvtx] { position: relative; display: block; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 1.2s cubic-bezier(.2, .8, .25, 1); }
.coin .face[b-0d1l56rvtx] {
    position: absolute; inset: 0; border-radius: 50%; display: grid; place-items: center; backface-visibility: hidden; -webkit-backface-visibility: hidden;
    font-family: var(--font-display); font-weight: 800; font-size: 2rem; color: #5b3a00;
    background: radial-gradient(circle at 35% 30%, #fff3c4, #f5c542 45%, #b7791f 100%);
    box-shadow: inset 0 0 0 5px rgba(255,255,255,.35), inset 0 -8px 14px rgba(120,53,15,.5), 0 16px 26px -12px rgba(0,0,0,.8);
}
.coin .face.tails[b-0d1l56rvtx] { transform: rotateY(180deg); background: radial-gradient(circle at 35% 30%, #f1f5f9, #cbd5e1 45%, #64748b 100%); color: #1e293b; }
.coin:active .coin-inner[b-0d1l56rvtx] { scale: .95; }
.coin-res[b-0d1l56rvtx] { font-family: var(--font-display); font-size: 1.4rem; font-weight: 700; }

/* ---------- dadi ---------- */
.dice-ctl[b-0d1l56rvtx] { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.dice-stage[b-0d1l56rvtx] { display: block; width: 100%; margin-top: 14px; padding: 26px 10px; border-radius: 24px; border: 1px dashed var(--border-strong); background: radial-gradient(circle at 50% 120%, color-mix(in oklab, var(--accent) 25%, transparent), transparent 70%); cursor: pointer; }
.dice-stage:active[b-0d1l56rvtx] { transform: scale(.99); }
.vr[b-0d1l56rvtx]  .dice { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; perspective: 700px; }
.vr[b-0d1l56rvtx]  .die { --s: 58px; width: var(--s); height: var(--s); position: relative; }
.vr[b-0d1l56rvtx]  .die.cube .die-inner { position: absolute; inset: 0; transform-style: preserve-3d; transition: transform 1.1s cubic-bezier(.2, .9, .25, 1.05); }
.vr[b-0d1l56rvtx]  .df {
    position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); padding: 8px; border-radius: 12px;
    background: linear-gradient(145deg, #ffffff, #dcdcf0); box-shadow: inset 0 0 0 1px rgba(0,0,0,.08), inset 0 -4px 10px rgba(0,0,0,.12);
    backface-visibility: hidden; -webkit-backface-visibility: hidden;
}
.vr[b-0d1l56rvtx]  .df i { display: block; margin: auto; width: 9px; height: 9px; border-radius: 50%; }
.vr[b-0d1l56rvtx]  .df i.on { background: radial-gradient(circle at 35% 35%, #4b5563, #0b0a1f); }
.vr[b-0d1l56rvtx]  .df.f1 i.on { background: radial-gradient(circle at 35% 35%, #fb7185, #9f1239); width: 13px; height: 13px; }
.vr[b-0d1l56rvtx]  .f1 { transform: translateZ(29px); }
.vr[b-0d1l56rvtx]  .f6 { transform: rotateY(180deg) translateZ(29px); }
.vr[b-0d1l56rvtx]  .f2 { transform: rotateY(90deg) translateZ(29px); }
.vr[b-0d1l56rvtx]  .f5 { transform: rotateY(-90deg) translateZ(29px); }
.vr[b-0d1l56rvtx]  .f3 { transform: rotateX(90deg) translateZ(29px); }
.vr[b-0d1l56rvtx]  .f4 { transform: rotateX(-90deg) translateZ(29px); }
.vr[b-0d1l56rvtx]  .die.landed { animation: die-land-b-0d1l56rvtx .4s var(--ease-spring); }
@keyframes die-land-b-0d1l56rvtx { 50% { transform: translateY(-6px) scale(1.06); } }

.vr[b-0d1l56rvtx]  .die.poly .die-inner {
    position: absolute; inset: -4px; display: grid; place-items: center;
    background: linear-gradient(145deg, color-mix(in oklab, var(--accent) 70%, white), var(--accent-2));
    clip-path: polygon(50% 0, 100% 38%, 82% 100%, 18% 100%, 0 38%);
    box-shadow: inset 0 -8px 16px rgba(0,0,0,.3);
    filter: drop-shadow(0 12px 14px rgba(0,0,0,.5));
}
.vr[b-0d1l56rvtx]  .die.poly.d4 .die-inner { clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.vr[b-0d1l56rvtx]  .die.poly.d8 .die-inner { clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }
.vr[b-0d1l56rvtx]  .die.poly.d12 .die-inner { clip-path: polygon(50% 0, 90% 20%, 100% 62%, 75% 100%, 25% 100%, 0 62%, 10% 20%); }
.vr[b-0d1l56rvtx]  .die.poly.d20 .die-inner { clip-path: polygon(50% 0, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%); }
.vr[b-0d1l56rvtx]  .die.poly .pv { font-size: 1.5rem; font-weight: 800; color: white; text-shadow: 0 2px 4px rgba(0,0,0,.4); padding-top: 6px; }
.vr[b-0d1l56rvtx]  .die.poly.spin .die-inner { animation: poly-spin-b-0d1l56rvtx 1s cubic-bezier(.2, .8, .3, 1); }
@keyframes poly-spin-b-0d1l56rvtx { from { transform: rotateY(-720deg) rotateZ(-200deg) translateY(-30px) scale(.7); } }

.dice-sum[b-0d1l56rvtx] { text-align: center; margin-top: 12px; font-size: 1rem; color: var(--text-2); min-height: 2.2rem; }
.vr[b-0d1l56rvtx]  .dice-sum strong { font-size: 1.8rem; color: var(--text); animation: tl-bump-b-0d1l56rvtx .5s var(--ease-spring); display: inline-block; }
@keyframes tl-bump-b-0d1l56rvtx { from { transform: scale(.6); opacity: 0; } }
.dice-hist[b-0d1l56rvtx] { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 8px; }
.vr[b-0d1l56rvtx]  .dh { font-size: .72rem; padding: 3px 9px; border-radius: 99px; background: var(--surface); color: var(--text-3); }
.vr[b-0d1l56rvtx]  .dh:first-child { color: var(--text); background: var(--surface-2); }

/* ---------- sorteggio ---------- */
.draw-out[b-0d1l56rvtx] { margin-top: 14px; min-height: 10px; }
.vr[b-0d1l56rvtx]  .draw-ticker { text-align: center; font-size: 1.6rem; font-weight: 700; padding: 18px; border-radius: 20px; background: rgba(0,0,0,.25); animation: tick-blur-b-0d1l56rvtx .12s linear infinite alternate; }
@keyframes tick-blur-b-0d1l56rvtx { to { filter: blur(1px); transform: translateY(2px); } }
.vr[b-0d1l56rvtx]  .draw-title { font-weight: 700; margin-bottom: 8px; }
.vr[b-0d1l56rvtx]  .draw-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vr[b-0d1l56rvtx]  .draw-chip {
    display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 8px; border-radius: 99px; font-weight: 700;
    background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 45%, transparent), color-mix(in oklab, var(--accent-2) 30%, transparent));
    box-shadow: 0 10px 22px -12px var(--accent); animation: chip-in-b-0d1l56rvtx .6s var(--ease-spring) backwards; animation-delay: calc(var(--i) * 90ms);
}
.vr[b-0d1l56rvtx]  .draw-chip b { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: rgba(0,0,0,.3); font-size: .75rem; }
@keyframes chip-in-b-0d1l56rvtx { from { opacity: 0; transform: perspective(500px) rotateY(90deg) scale(.6); } }
.vr[b-0d1l56rvtx]  .teams { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.vr[b-0d1l56rvtx]  .team { padding: 12px; border-radius: 18px; background: color-mix(in oklab, var(--c) 18%, rgba(0,0,0,.2)); border: 1px solid color-mix(in oklab, var(--c) 45%, transparent); animation: chip-in-b-0d1l56rvtx .6s var(--ease-spring) backwards; animation-delay: calc(var(--i) * 100ms); }
.vr[b-0d1l56rvtx]  .team-h { font-weight: 800; color: color-mix(in oklab, var(--c) 60%, white); margin-bottom: 6px; }
.vr[b-0d1l56rvtx]  .team ul { margin: 0; padding-left: 18px; font-size: .9rem; }

/* ---------- livella ---------- */
.level[b-0d1l56rvtx] {
    position: relative; width: min(100%, 250px); aspect-ratio: 1; margin: 0 auto; border-radius: 50%; container-type: inline-size;
    background: radial-gradient(circle at 50% 40%, rgba(163,230,53,.35), rgba(21,128,61,.55) 70%, rgba(6,78,59,.8));
    box-shadow: inset 0 10px 30px rgba(0,0,0,.5), inset 0 -4px 12px rgba(255,255,255,.12), 0 20px 40px -20px rgba(0,0,0,.8), 0 0 0 6px rgba(255,255,255,.06);
    transition: box-shadow .3s;
}
.level.is-level[b-0d1l56rvtx] { box-shadow: inset 0 10px 30px rgba(0,0,0,.5), 0 0 0 6px color-mix(in oklab, var(--success) 60%, transparent), 0 0 50px -6px var(--success); }
.lv-ring[b-0d1l56rvtx] { position: absolute; left: 50%; top: 50%; border-radius: 50%; border: 2px solid rgba(255,255,255,.35); transform: translate(-50%, -50%); }
.lv-ring.r1[b-0d1l56rvtx] { width: 22%; height: 22%; }
.lv-ring.r2[b-0d1l56rvtx] { width: 60%; height: 60%; border-style: dashed; border-color: rgba(255,255,255,.18); }
.lv-cross[b-0d1l56rvtx] { position: absolute; inset: 0; background: linear-gradient(rgba(255,255,255,.15), rgba(255,255,255,.15)) center / 1px 100% no-repeat, linear-gradient(rgba(255,255,255,.15), rgba(255,255,255,.15)) center / 100% 1px no-repeat; border-radius: 50%; }
.lv-bubble[b-0d1l56rvtx] {
    position: absolute; left: 50%; top: 50%; width: 18%; height: 18%; border-radius: 50%; transform: translate(-50%, -50%);
    background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.95), rgba(236,252,203,.7) 40%, rgba(190,242,100,.35) 75%);
    box-shadow: 0 4px 10px rgba(0,0,0,.3), inset 0 -3px 6px rgba(0,0,0,.15);
    transition: transform .12s linear;
}
.lv-read[b-0d1l56rvtx] { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
/* /Components/Pages/Televideo/TelevideoApp.razor.rz.scp.css */
.tv-bar[b-7yaqxtbu43] { display: flex; gap: 8px; align-items: center; margin-bottom: 12px; }
.tv-region[b-7yaqxtbu43] { flex: 1; min-width: 0; }
.tv-go[b-7yaqxtbu43] { width: 92px; flex: none; text-align: center; font-size: 1.1rem; font-weight: 800; letter-spacing: .12em; }
.tv-home[b-7yaqxtbu43] { flex: none; font-weight: 800; letter-spacing: .06em; }

/* Lo schermo: bordo scuro arrotondato come un televisore, pagina RAI in scala. */
.tv-screen[b-7yaqxtbu43] {
    position: relative; width: 100%; aspect-ratio: 644 / 400; border-radius: 18px; overflow: hidden;
    background: #000; border: 6px solid #0b0b12;
    box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 24px 50px -24px rgba(29, 78, 216, .7), inset 0 0 40px rgba(0,0,0,.8);
}
.tv-screen img[b-7yaqxtbu43] { position: absolute; inset: 0; width: 100%; height: 100%; display: block; image-rendering: pixelated; user-select: none; -webkit-user-drag: none; }
.tv-area[b-7yaqxtbu43] {
    position: absolute; padding: 0; border: 0; background: transparent; cursor: pointer; border-radius: 3px;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.tv-area:hover[b-7yaqxtbu43], .tv-area:focus-visible[b-7yaqxtbu43] { background: rgba(255, 255, 0, .22); outline: 1px solid rgba(255,255,0,.7); }
.tv-area:active[b-7yaqxtbu43] { background: rgba(255, 255, 0, .35); }
.tv-msg[b-7yaqxtbu43] {
    position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
    font-family: ui-monospace, "Cascadia Code", Consolas, monospace; color: #ff0; text-align: center; padding: 12px;
}
.tv-msg b[b-7yaqxtbu43] { font-size: 2rem; color: #fff; }
.tv-msg small[b-7yaqxtbu43] { color: #0ff; }
.tv-loading[b-7yaqxtbu43] { position: absolute; inset: 0; background: rgba(0,0,0,.35); display: grid; place-items: center; }
.tv-loading span[b-7yaqxtbu43] { width: 34px; height: 34px; border-radius: 50%; border: 3px solid rgba(255,255,255,.25); border-top-color: #fff; animation: tv-spin-b-7yaqxtbu43 .8s linear infinite; }
@keyframes tv-spin-b-7yaqxtbu43 { to { transform: rotate(360deg); } }

.tv-nav[b-7yaqxtbu43] { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; }
.tv-nav .btn[b-7yaqxtbu43] { flex: none; min-width: 84px; font-weight: 700; }
.tv-now[b-7yaqxtbu43] { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 2px; }
.tv-now strong[b-7yaqxtbu43] { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-size: 1.6rem; letter-spacing: .1em; color: #ff0; text-shadow: 0 0 10px rgba(255,255,0,.35); }
.tv-sub[b-7yaqxtbu43] { display: inline-flex; align-items: center; gap: 6px; font-size: .85rem; color: var(--text-2); }
.tv-subbtn[b-7yaqxtbu43] { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--border); background: var(--surface); color: var(--text); cursor: pointer; font-size: 1rem; }
.tv-subbtn:disabled[b-7yaqxtbu43] { opacity: .35; cursor: default; }
.tv-note[b-7yaqxtbu43] { text-align: center; margin: 12px 0 0; }

/* Telefono: la pagina RAI (16:9) torna 4:3 come il televideo originale, così il testo non è schiacciato,
   e lo schermo prende quasi tutta la larghezza con una cornice sottile. */
@media (max-width: 560px) {
    .tv-bar[b-7yaqxtbu43] { margin-bottom: 10px; gap: 6px; }
    .tv-go[b-7yaqxtbu43] { width: 70px; letter-spacing: .06em; }
    .tv-home[b-7yaqxtbu43] { padding: 0 12px; }
    .tv-screen[b-7yaqxtbu43] { aspect-ratio: 4 / 3; border-width: 2px; border-radius: 10px; margin-inline: -6px; width: calc(100% + 12px); }
    .tv-nav .btn[b-7yaqxtbu43] { min-width: 72px; padding: 0 10px; }
}
/* /Components/Pages/Traduttore/DizionarioPage.razor.rz.scp.css */
.dz[b-8bsz6o5ptr] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; margin: 0 auto; width: 100%; }
.dz-top[b-8bsz6o5ptr] { display: flex; justify-content: center; }

/* ---- ricerca con suggerimenti */
.dz-search[b-8bsz6o5ptr] { position: relative; }
.dz-search .input[b-8bsz6o5ptr] { width: 100%; padding-left: 44px; border-radius: 16px; }
.dz-search-ico[b-8bsz6o5ptr] { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: var(--text-3); pointer-events: none; }
.dz-suggest[b-8bsz6o5ptr] {
    position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 30; list-style: none; margin: 0; padding: 6px;
    background: #141a2e; border: 1px solid var(--border-strong); border-radius: 16px; box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .7);
}
.dz-suggest button[b-8bsz6o5ptr] {
    width: 100%; text-align: left; padding: 10px 12px; border-radius: 10px; background: none; border: 0; color: var(--text);
    font: inherit; font-size: .98rem; cursor: pointer;
}
.dz-suggest button:hover[b-8bsz6o5ptr] { background: rgba(255, 255, 255, .07); }

/* ---- la parola */
.dz-word[b-8bsz6o5ptr] { display: flex; flex-direction: column; gap: 18px; padding: 20px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); }
.dz-head[b-8bsz6o5ptr] {
    display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap;
    margin: -20px -20px 0; padding: 22px 20px 20px; border-radius: 24px 24px 0 0;
    background: linear-gradient(140deg, rgba(14, 165, 233, .24), rgba(99, 102, 241, .2) 60%, rgba(99, 102, 241, .05));
    border-bottom: 1px solid var(--border);
}
.dz-head-text[b-8bsz6o5ptr] { min-width: 0; }
.dz-head h2[b-8bsz6o5ptr] { margin: 0; font-family: var(--font-display); font-size: clamp(1.9rem, 7vw, 2.5rem); line-height: 1.1; font-weight: 700; overflow-wrap: anywhere; }
.dz-pron[b-8bsz6o5ptr] { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; color: var(--text-2); font-size: .95rem; }
.dz-ipa[b-8bsz6o5ptr] { color: #7dd3fc; font-family: "Segoe UI", "Noto Sans", system-ui, sans-serif; }
.dz-head-actions[b-8bsz6o5ptr] { display: flex; align-items: center; gap: 8px; }
.dz-listen[b-8bsz6o5ptr] {
    width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; border: 0; color: #fff;
    background: linear-gradient(145deg, #0ea5e9, #6366f1); box-shadow: 0 8px 18px -8px rgba(14, 165, 233, .8);
}
.dz-listen:active[b-8bsz6o5ptr] { transform: scale(.94); }
.dz-translate[b-8bsz6o5ptr] { height: 40px; border-radius: 12px; background: rgba(255, 255, 255, .1); color: var(--text); border: 1px solid var(--border); }

.dz-lemma[b-8bsz6o5ptr] {
    text-align: left; padding: 12px 14px; border-radius: 14px; cursor: pointer; font: inherit; font-size: .92rem;
    background: rgba(251, 191, 36, .1); border: 1px solid rgba(251, 191, 36, .35); color: #fde68a;
}

.dz-part h3[b-8bsz6o5ptr] { margin: 0 0 8px; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.dz-pos[b-8bsz6o5ptr] {
    font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #7dd3fc;
    padding: 4px 10px; border-radius: 999px; background: rgba(14, 165, 233, .14);
}
.dz-info[b-8bsz6o5ptr] { font-size: .85rem; font-weight: 500; color: var(--text-3); font-style: italic; }
.dz-defs[b-8bsz6o5ptr] { margin: 0; padding-left: 26px; display: flex; flex-direction: column; gap: 12px; }
.dz-defs li[b-8bsz6o5ptr] { line-height: 1.5; padding-left: 2px; }
.dz-defs li[b-8bsz6o5ptr]::marker { color: var(--text-3); font-weight: 700; font-variant-numeric: tabular-nums; }
.dz-def[b-8bsz6o5ptr] { color: var(--text); font-size: 1rem; }
.dz-label[b-8bsz6o5ptr] {
    display: inline-block; margin-right: 6px; padding: 1px 8px; border-radius: 6px; vertical-align: 1px;
    font-size: .7rem; font-weight: 700; background: rgba(167, 139, 250, .16); color: #c4b5fd;
}
.dz-ex[b-8bsz6o5ptr] {
    display: block; margin-top: 5px; padding-left: 12px; border-left: 2px solid color-mix(in oklab, #6366f1 60%, transparent);
    color: var(--text-2); font-style: italic; font-size: .92rem; quotes: none;
}

.dz-words h3[b-8bsz6o5ptr] { margin: 0 0 8px; font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.dz-chips[b-8bsz6o5ptr] { display: flex; flex-wrap: wrap; gap: 6px; }
.dz-chips.center[b-8bsz6o5ptr] { justify-content: center; margin-top: 10px; }
.dz-chips .chip[b-8bsz6o5ptr] { height: 32px; padding: 0 12px; }
.dz-ant[b-8bsz6o5ptr] { border-color: rgba(244, 63, 94, .35); }
.dz-etym[b-8bsz6o5ptr] { margin: 0; color: var(--text-2); line-height: 1.55; font-size: .94rem; }
.dz-source[b-8bsz6o5ptr] { font-size: .74rem; color: var(--text-3); border-top: 1px solid var(--border); padding-top: 12px; }
.dz-source a[b-8bsz6o5ptr] { color: var(--text-2); }

.dz-sk[b-8bsz6o5ptr] { display: block; height: 16px; width: 90%; border-radius: 8px; }
.dz-sk.big[b-8bsz6o5ptr] { height: 38px; width: 45%; }
.dz-sk.short[b-8bsz6o5ptr] { width: 55%; }

.dz-welcome[b-8bsz6o5ptr] {
    text-align: center; padding: 34px 22px; border-radius: 24px; color: #fff;
    background: linear-gradient(150deg, #0284c7 0%, #4f46e5 60%, #312e81 100%); box-shadow: var(--shadow-2);
}
.dz-welcome-ico[b-8bsz6o5ptr] { font-size: 3.2rem; line-height: 1; }
.dz-welcome h2[b-8bsz6o5ptr] { font-family: var(--font-display); margin: 12px 0 4px; font-size: 1.45rem; }
.dz-welcome p[b-8bsz6o5ptr] { margin: 0; color: rgba(255, 255, 255, .85); }

@media (max-width: 420px) {
    .dz-word[b-8bsz6o5ptr] { padding: 16px; }
    .dz-head[b-8bsz6o5ptr] { margin: -16px -16px 0; padding: 18px 16px 16px; }
    .dz-defs[b-8bsz6o5ptr] { padding-left: 22px; }
}
/* /Components/Pages/Traduttore/TraduttorePage.razor.rz.scp.css */
.tr[b-6jmex7wu4y] { display: flex; flex-direction: column; gap: 14px; max-width: 760px; margin: 0 auto; width: 100%; }

/* ---- lingue: due pillole e lo scambio in mezzo */
.tr-langs[b-6jmex7wu4y] { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; }
.tr-lang[b-6jmex7wu4y] {
    width: 100%; min-width: 0; height: 46px; padding: 0 34px 0 14px; border-radius: 14px; cursor: pointer;
    background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
    border: 1px solid var(--border); color: var(--text); font: inherit; font-weight: 650; font-size: .95rem;
    appearance: none; -webkit-appearance: none; text-overflow: ellipsis;
}
.tr-lang:hover[b-6jmex7wu4y] { border-color: var(--border-strong); }
.tr-lang option[b-6jmex7wu4y] { background: #111827; color: #fff; }
.tr-swap[b-6jmex7wu4y] {
    width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; cursor: pointer;
    background: linear-gradient(145deg, #0ea5e9, #6366f1); color: #fff; border: 0;
    box-shadow: 0 8px 18px -8px rgba(14, 165, 233, .8);
}
.tr-swap:disabled[b-6jmex7wu4y] { opacity: .4; cursor: default; box-shadow: none; }
.tr-swap:not(:disabled):active[b-6jmex7wu4y] { transform: rotate(180deg); }

/* ---- schede del testo e della traduzione */
.tr-card[b-6jmex7wu4y] {
    border-radius: 22px; padding: 16px 16px 10px; background: var(--surface); border: 1px solid var(--border);
    display: flex; flex-direction: column; gap: 8px;
}
.tr-src:focus-within[b-6jmex7wu4y] { border-color: color-mix(in oklab, #0ea5e9 60%, transparent); box-shadow: 0 0 0 3px rgba(14, 165, 233, .15); }
.tr-src.listening[b-6jmex7wu4y] { border-color: #f43f5e; box-shadow: 0 0 0 3px rgba(244, 63, 94, .18); }
.tr-input[b-6jmex7wu4y] {
    width: 100%; min-height: 120px; max-height: 50vh; resize: none; field-sizing: content;
    background: none; border: 0; outline: 0; color: var(--text); font: inherit; font-size: 1.2rem; line-height: 1.45; padding: 0;
}
.tr-input[b-6jmex7wu4y]::placeholder { color: var(--text-3); }

.tr-tools[b-6jmex7wu4y] { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; min-height: 44px; }
.tr-ico[b-6jmex7wu4y] {
    width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; cursor: pointer;
    background: none; border: 0; color: var(--text-2);
}
.tr-ico:hover[b-6jmex7wu4y] { background: rgba(255, 255, 255, .08); color: var(--text); }
.tr-ico.rec[b-6jmex7wu4y] { background: rgba(244, 63, 94, .18); }
.tr-rec-dot[b-6jmex7wu4y] { width: 14px; height: 14px; border-radius: 50%; background: #f43f5e; animation: tr-rec-b-6jmex7wu4y 1.2s ease-in-out infinite; }
@keyframes tr-rec-b-6jmex7wu4y { 50% { transform: scale(.7); opacity: .6; } }
.tr-count[b-6jmex7wu4y] { margin-left: auto; font-size: .74rem; color: var(--text-3); font-variant-numeric: tabular-nums; padding: 0 8px; }
.tr-count.warn[b-6jmex7wu4y] { color: #fbbf24; }
.tr-go[b-6jmex7wu4y] { min-width: 110px; height: 42px; border-radius: 14px; font-weight: 700; }

.tr-out[b-6jmex7wu4y] {
    background: linear-gradient(150deg, rgba(14, 165, 233, .16), rgba(99, 102, 241, .14));
    border-color: color-mix(in oklab, #6366f1 40%, transparent);
}
.tr-out.stale[b-6jmex7wu4y] { opacity: .6; }
.tr-out-head[b-6jmex7wu4y] { display: flex; align-items: baseline; gap: 10px; font-size: .8rem; font-weight: 700; color: #7dd3fc; text-transform: uppercase; letter-spacing: .04em; }
.tr-detected[b-6jmex7wu4y] { text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--text-3); }
.tr-out-text[b-6jmex7wu4y] { margin: 0; font-size: 1.3rem; line-height: 1.45; color: var(--text); white-space: pre-wrap; overflow-wrap: anywhere; font-weight: 500; }
.tr-alts[b-6jmex7wu4y] { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: .82rem; color: var(--text-3); }
.tr-alts .chip[b-6jmex7wu4y] { height: 28px; padding: 0 10px; cursor: default; }
.tr-out .tr-tools .grow[b-6jmex7wu4y] { flex: 1; }
.tr-err[b-6jmex7wu4y] { color: #fecaca; background: rgba(244, 63, 94, .12); border-color: rgba(244, 63, 94, .4); padding-bottom: 16px; }
.tr-sk[b-6jmex7wu4y] { display: block; height: 22px; width: 80%; border-radius: 8px; }
.tr-sk.short[b-6jmex7wu4y] { width: 45%; margin-bottom: 8px; }

/* ---- recenti */
.tr-recents[b-6jmex7wu4y] { display: flex; flex-direction: column; gap: 6px; }
.tr-recents-head[b-6jmex7wu4y] { display: flex; align-items: center; justify-content: space-between; }
.tr-recents h2[b-6jmex7wu4y] { margin: 0 2px; font-family: var(--font-display); font-size: 1.05rem; }
.tr-recents ul[b-6jmex7wu4y] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.tr-recents li + li[b-6jmex7wu4y] { border-top: 1px solid var(--border); }
.tr-recent[b-6jmex7wu4y] {
    width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 4px; text-align: left; cursor: pointer;
    background: none; border: 0; color: inherit; font: inherit; border-radius: 12px;
}
.tr-recent:hover[b-6jmex7wu4y] { background: var(--surface); }
.tr-recent-langs[b-6jmex7wu4y] { flex: 0 0 auto; font-size: .85rem; color: var(--text-3); white-space: nowrap; }
.tr-recent-text[b-6jmex7wu4y] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tr-recent-text b[b-6jmex7wu4y], .tr-recent-text span[b-6jmex7wu4y] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-recent-text b[b-6jmex7wu4y] { font-weight: 600; font-size: .95rem; }
.tr-recent-text span[b-6jmex7wu4y] { font-size: .85rem; color: var(--text-3); }


@media (max-width: 420px) {
    .tr-lang[b-6jmex7wu4y] { height: 44px; font-size: .88rem; padding: 0 28px 0 10px; background-position: right 8px center; }
    .tr-input[b-6jmex7wu4y] { font-size: 1.1rem; min-height: 100px; }
    .tr-out-text[b-6jmex7wu4y] { font-size: 1.18rem; }
    .tr-go[b-6jmex7wu4y] { min-width: 96px; }
    .tr-count[b-6jmex7wu4y] { padding: 0 4px; }
}
/* /Components/Pages/Viaggi/TravelShell.razor.rz.scp.css */
/* Stili comuni di Viaggi (stessa base di Allenamenti, classi tr-*; in fondo quelle proprie tv-*). Niente animazioni. */
.tr[b-z4vp82gkp8] { display: flex; flex-direction: column; gap: 16px; }
.tr[b-z4vp82gkp8]  .tr-sec { font-family: var(--font-display); font-size: 1rem; font-weight: 700; margin: 6px 0 -4px; display: flex; align-items: center; gap: 8px; }
.tr[b-z4vp82gkp8]  .tr-sec .grow { flex: 1; }
.tr[b-z4vp82gkp8]  .tr-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.tr[b-z4vp82gkp8]  .tr-actions > .btn { flex: 1 1 160px; }

/* KPI in griglia */
.tr[b-z4vp82gkp8]  .tr-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 10px; }
.tr[b-z4vp82gkp8]  .tr-kpi { padding: 12px 14px; border-radius: 16px; background: var(--surface); border: 1px solid var(--border); min-width: 0; }
.tr[b-z4vp82gkp8]  .tr-kpi b { display: block; font-family: var(--font-display); font-size: 1.35rem; font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.tr[b-z4vp82gkp8]  .tr-kpi span { font-size: .72rem; color: var(--text-2); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.tr[b-z4vp82gkp8]  .tr-kpi small { display: block; font-size: .75rem; color: var(--text-3); }

/* Righe di elenco (allenamenti, esercizi, schede) */
.tr[b-z4vp82gkp8]  .tr-list { display: flex; flex-direction: column; gap: 8px; }
.tr[b-z4vp82gkp8]  .tr-row { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 16px; background: var(--surface); border: 1px solid transparent; color: var(--text); text-align: left; width: 100%; font: inherit; cursor: pointer; }
.tr[b-z4vp82gkp8]  .tr-row:hover { background: var(--surface-2); border-color: var(--border); }
.tr[b-z4vp82gkp8]  .tr-row .grow { flex: 1; min-width: 0; }
.tr[b-z4vp82gkp8]  .tr-row .tr-ico { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem; flex: none; background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 45%, transparent), color-mix(in oklab, var(--accent-2) 30%, transparent)); }
.tr[b-z4vp82gkp8]  .tr-row .tr-meta { font-size: .8rem; color: var(--text-2); }
.tr[b-z4vp82gkp8]  .tr-row .tr-side { text-align: right; font-size: .82rem; color: var(--text-2); flex: none; }
.tr[b-z4vp82gkp8]  .tr-row .tr-side b { display: block; color: var(--text); font-family: var(--font-display); font-size: .95rem; }
.tr[b-z4vp82gkp8]  .tr-month { font-size: .78rem; color: var(--text-3); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; margin: 8px 0 0; }

/* Settimana in miniatura */
.tr[b-z4vp82gkp8]  .tr-week { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.tr[b-z4vp82gkp8]  .tr-wd { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 0; border-radius: 12px; background: rgba(0,0,0,.2); border: 1px solid transparent; font-size: .72rem; color: var(--text-3); }
.tr[b-z4vp82gkp8]  .tr-wd b { font-family: var(--font-display); font-size: .95rem; color: var(--text-2); }
.tr[b-z4vp82gkp8]  .tr-wd i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.12); font-style: normal; }
.tr[b-z4vp82gkp8]  .tr-wd.planned i { background: transparent; box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--accent) 70%, transparent); }
.tr[b-z4vp82gkp8]  .tr-wd.done i { background: linear-gradient(135deg, var(--accent), var(--accent-2)); box-shadow: none; }
.tr[b-z4vp82gkp8]  .tr-wd.today { border-color: color-mix(in oklab, var(--accent) 60%, transparent); }
.tr[b-z4vp82gkp8]  .tr-wd.today b { color: var(--text); }

/* Anello obiettivo settimanale */
.tr[b-z4vp82gkp8]  .tr-ring { --p: 0; width: 86px; height: 86px; border-radius: 50%; flex: none; display: grid; place-items: center;
    background: radial-gradient(closest-side, #120f30 76%, transparent 77% 100%), conic-gradient(var(--accent) calc(var(--p) * 1%), rgba(255,255,255,.08) 0); }
.tr[b-z4vp82gkp8]  .tr-ring b { font-family: var(--font-display); font-size: 1.25rem; line-height: 1; }
.tr[b-z4vp82gkp8]  .tr-ring small { display: block; font-size: .65rem; color: var(--text-3); text-align: center; }

/* Etichette muscolo/attrezzo */
.tr[b-z4vp82gkp8]  .tr-tag { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 99px; font-size: .7rem; font-weight: 600; background: var(--surface-2); color: var(--text-2); white-space: nowrap; }
.tr[b-z4vp82gkp8]  .tr-tag.accent { background: color-mix(in oklab, var(--accent) 25%, transparent); color: #fff; }
.tr[b-z4vp82gkp8]  .tr-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tr[b-z4vp82gkp8]  .tr-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.tr[b-z4vp82gkp8]  .tr-chips::-webkit-scrollbar { display: none; }
.tr[b-z4vp82gkp8]  .tr-chips .chip { flex: none; }

/* Giorni della settimana selezionabili */
.tr[b-z4vp82gkp8]  .tr-days { display: flex; gap: 6px; flex-wrap: wrap; }
.tr[b-z4vp82gkp8]  .tr-days button { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--border); background: var(--surface); color: var(--text-2); font-weight: 700; cursor: pointer; }
.tr[b-z4vp82gkp8]  .tr-days button.on { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; border-color: transparent; }

/* Campi numerici compatti */
.tr[b-z4vp82gkp8]  .tr-num { width: 100%; min-width: 0; height: 40px; padding: 0 8px; border-radius: 11px; background: rgba(0,0,0,.28); border: 1px solid var(--border); color: var(--text); font: inherit; font-size: 16px; font-weight: 600; text-align: center; font-variant-numeric: tabular-nums; appearance: textfield; -moz-appearance: textfield; }
.tr[b-z4vp82gkp8]  .tr-num::-webkit-outer-spin-button, .tr[b-z4vp82gkp8]  .tr-num::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.tr[b-z4vp82gkp8]  .tr-num:focus { outline: none; border-color: var(--accent); }
.tr[b-z4vp82gkp8]  .tr-field-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 10px; }
.tr[b-z4vp82gkp8]  .tr-field-row .field label { font-size: .68rem; }

/* Mappa a quadratini dell'anno */
.tr[b-z4vp82gkp8]  .tr-heat-wrap { overflow-x: auto; scrollbar-width: thin; padding-bottom: 4px; }
.tr[b-z4vp82gkp8]  .tr-heat { display: grid; grid-auto-flow: column; grid-template-rows: repeat(7, 11px); grid-auto-columns: 11px; gap: 3px; width: max-content; }
.tr[b-z4vp82gkp8]  .tr-heat i { border-radius: 3px; background: rgba(255,255,255,.06); }
.tr[b-z4vp82gkp8]  .tr-heat i.l1 { background: color-mix(in oklab, var(--accent) 45%, transparent); }
.tr[b-z4vp82gkp8]  .tr-heat i.l2 { background: color-mix(in oklab, var(--accent) 75%, transparent); }
.tr[b-z4vp82gkp8]  .tr-heat i.l3 { background: var(--accent-2); }
.tr[b-z4vp82gkp8]  .tr-heat i.pad { background: transparent; }
.tr[b-z4vp82gkp8]  .tr-heat i.today { outline: 1px solid #fff; }

/* Calendario del mese */
.tr[b-z4vp82gkp8]  .tr-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.tr[b-z4vp82gkp8]  .tr-cal .dow { text-align: center; font-size: .7rem; color: var(--text-3); font-weight: 700; }
.tr[b-z4vp82gkp8]  .tr-cal .cell { aspect-ratio: 1; min-height: 38px; border-radius: 12px; background: rgba(0,0,0,.2); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; font-size: .78rem; color: var(--text-3); border: 1px solid transparent; }
.tr[b-z4vp82gkp8]  .tr-cal .cell.on { background: linear-gradient(135deg, color-mix(in oklab, var(--accent) 55%, transparent), color-mix(in oklab, var(--accent-2) 35%, transparent)); color: #fff; }
.tr[b-z4vp82gkp8]  .tr-cal .cell.today { border-color: #fff; }
.tr[b-z4vp82gkp8]  .tr-cal .cell.pad { background: transparent; }
.tr[b-z4vp82gkp8]  .tr-cal .cell span { font-size: .85rem; line-height: 1; }

/* Barre orizzontali (serie per muscolo) */
.tr[b-z4vp82gkp8]  .tr-bars { display: flex; flex-direction: column; gap: 8px; }
.tr[b-z4vp82gkp8]  .tr-bar { display: grid; grid-template-columns: 110px 1fr 44px; align-items: center; gap: 10px; font-size: .85rem; }
.tr[b-z4vp82gkp8]  .tr-bar .progress { height: 8px; }
.tr[b-z4vp82gkp8]  .tr-bar b { text-align: right; font-variant-numeric: tabular-nums; }

.tr[b-z4vp82gkp8]  .tr-live { display: flex; align-items: center; gap: 14px; color: var(--text); }
.tr[b-z4vp82gkp8]  .tr-hint { font-size: .85rem; color: var(--text-2); padding: 10px 12px; border-radius: 12px; background: color-mix(in oklab, var(--accent) 12%, transparent); border: 1px solid color-mix(in oklab, var(--accent) 30%, transparent); }
.tr[b-z4vp82gkp8]  .tr-empty-mini { text-align: center; color: var(--text-3); padding: 18px 10px; font-size: .9rem; }
.tr[b-z4vp82gkp8]  .tr-chart { position: relative; height: 220px; }
.tr[b-z4vp82gkp8]  .tr-pr { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 14px; background: rgba(251,191,36,.12); border: 1px solid rgba(251,191,36,.35); font-weight: 600; }

@media (max-width: 560px) {
    .tr[b-z4vp82gkp8]  .tr-bar { grid-template-columns: 92px 1fr 36px; }
    .tr[b-z4vp82gkp8]  .tr-ring { width: 72px; height: 72px; }
}

/* ---- Viaggi */
/* La mappa occupa lo spazio visibile sotto titolo e schede (si vede tutta senza scorrere). */
.tr[b-z4vp82gkp8]  .tv-map { height: clamp(360px, calc(100dvh - 340px), 780px); border-radius: 22px; overflow: hidden; border: 1px solid var(--border); background: #dfe7ec; }
.tr[b-z4vp82gkp8]  .tv-map.small { height: 260px; border-radius: 16px; }
.tr[b-z4vp82gkp8]  .tv-stats { display: flex; flex-wrap: wrap; gap: 8px; }
.tr[b-z4vp82gkp8]  .tv-stat { flex: 1 1 110px; padding: 10px 12px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); }
.tr[b-z4vp82gkp8]  .tv-stat b { display: block; font-family: var(--font-display); font-size: 1.25rem; font-variant-numeric: tabular-nums; }
.tr[b-z4vp82gkp8]  .tv-stat span { font-size: .7rem; color: var(--text-2); text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.tr[b-z4vp82gkp8]  .tv-cover { position: relative; border-radius: 20px; overflow: hidden; min-height: 150px; display: flex; align-items: flex-end; padding: 16px; color: #fff;
    background: linear-gradient(135deg, color-mix(in oklab, var(--c, #06B6D4) 70%, #000), #12102e); }
.tr[b-z4vp82gkp8]  .tv-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.tr[b-z4vp82gkp8]  .tv-cover > div { position: relative; }
.tr[b-z4vp82gkp8]  .tv-cover h2 { margin: 0; font-size: 1.5rem; text-shadow: 0 2px 10px rgba(0,0,0,.7); }
.tr[b-z4vp82gkp8]  .tv-trip { display: flex; gap: 12px; align-items: center; padding: 10px; border-radius: 18px; background: var(--surface); border: 1px solid transparent; color: var(--text); }
.tr[b-z4vp82gkp8]  .tv-trip:hover { background: var(--surface-2); border-color: var(--border); }
.tr[b-z4vp82gkp8]  .tv-thumb { width: 72px; height: 72px; border-radius: 14px; flex: none; overflow: hidden; display: grid; place-items: center; font-size: 1.8rem;
    background: linear-gradient(135deg, color-mix(in oklab, var(--c, #06B6D4) 60%, transparent), #12102e); }
.tr[b-z4vp82gkp8]  .tv-thumb img { width: 100%; height: 100%; object-fit: cover; }
.tr[b-z4vp82gkp8]  .tv-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 8px; }
.tr[b-z4vp82gkp8]  .tv-photo { position: relative; padding: 0; border: 0; border-radius: 14px; overflow: hidden; aspect-ratio: 1; background: var(--surface); cursor: pointer; }
.tr[b-z4vp82gkp8]  .tv-photo img { width: 100%; height: 100%; object-fit: cover; }
.tr[b-z4vp82gkp8]  .tv-photo .pin { position: absolute; left: 6px; bottom: 6px; font-size: .7rem; padding: 2px 6px; border-radius: 99px; background: rgba(0,0,0,.65); color: #fff; }
.tr[b-z4vp82gkp8]  .tv-add { aspect-ratio: 1; border-radius: 14px; border: 2px dashed var(--border-strong); background: none; color: var(--text-2); font: inherit; font-weight: 700; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
.tr[b-z4vp82gkp8]  .tv-add.drag { border-color: var(--accent); color: var(--text); }
.tr[b-z4vp82gkp8]  .tv-day { border-left: 3px solid var(--accent); padding: 4px 0 4px 14px; display: flex; flex-direction: column; gap: 8px; }
.tr[b-z4vp82gkp8]  .tv-day h4 { margin: 0; font-size: .95rem; }
.tr[b-z4vp82gkp8]  .tv-stars { display: inline-flex; gap: 2px; }
.tr[b-z4vp82gkp8]  .tv-stars button { background: none; border: 0; font-size: 1.4rem; cursor: pointer; padding: 0 2px; color: var(--text-3); line-height: 1; }
.tr[b-z4vp82gkp8]  .tv-stars button.on { color: #fbbf24; }
.tr[b-z4vp82gkp8]  .tv-results { display: flex; flex-direction: column; gap: 6px; max-height: 240px; overflow-y: auto; }
.tr[b-z4vp82gkp8]  .tv-progress { display: grid; grid-template-columns: 140px 1fr 56px; gap: 10px; align-items: center; font-size: .88rem; }
.tr[b-z4vp82gkp8]  .tv-progress .progress { height: 8px; }
.tr[b-z4vp82gkp8]  .tv-ach { display: flex; gap: 12px; align-items: center; padding: 10px 12px; border-radius: 14px; background: var(--surface); }
.tr[b-z4vp82gkp8]  .tv-ach.off { opacity: .55; }
.tr[b-z4vp82gkp8]  .tv-ach .ico { font-size: 1.6rem; width: 40px; text-align: center; }
@media (max-width: 560px) {
    .tr[b-z4vp82gkp8]  .tv-map { height: clamp(320px, calc(100dvh - 320px), 660px); }
    .tr[b-z4vp82gkp8]  .tv-progress { grid-template-columns: 110px 1fr 48px; }
}

/* /Components/Pages/Viaggi/TripPage.razor.rz.scp.css */
/* Azioni sulla foto aperta a schermo intero (sopra il visore). */
.tp-photo-actions[b-kkc6y6g14b] { position: fixed; z-index: 1300; left: 50%; bottom: calc(18px + var(--safe-bottom)); transform: translateX(-50%); display: flex; gap: 8px; }
/* /Components/Photos/PhotoLightbox.razor.rz.scp.css */
.lb[b-6wgt5ncxnf] { position: fixed; inset: 0; z-index: 300; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; outline: none; perspective: 1400px;
    background: rgba(3,2,10,.9); animation: lb-fade-b-6wgt5ncxnf .3s ease both; touch-action: pan-y; }
@keyframes lb-fade-b-6wgt5ncxnf { from { opacity: 0; } }
.lb-bg[b-6wgt5ncxnf] { position: absolute; inset: -10%; background-size: cover; background-position: center; filter: blur(60px) saturate(1.6) brightness(.45); opacity: .7; z-index: -1; transition: background-image .4s; }

.lb-top[b-6wgt5ncxnf] { display: flex; align-items: center; gap: 10px; padding: calc(12px + var(--safe-top)) 16px 8px; }
.lb-count[b-6wgt5ncxnf] { font-weight: 700; font-size: .9rem; padding: 5px 11px; border-radius: 10px; background: rgba(255,255,255,.08); }
.lb-cap[b-6wgt5ncxnf] { color: var(--text-2); font-size: .9rem; min-width: 0; }

.lb-stage[b-6wgt5ncxnf] { display: grid; place-items: center; min-height: 0; padding: 0 16px; }
.lb-img[b-6wgt5ncxnf] { max-width: min(100%, 1600px); max-height: 100%; object-fit: contain; border-radius: 14px; box-shadow: 0 40px 90px -30px rgba(0,0,0,.95); user-select: none; -webkit-user-drag: none; }
.lb-img.in[b-6wgt5ncxnf] { animation: lb-in-b-6wgt5ncxnf .55s var(--ease-spring) both; }
.lb-img.from-right[b-6wgt5ncxnf] { animation: lb-right-b-6wgt5ncxnf .5s var(--ease-out) both; }
.lb-img.from-left[b-6wgt5ncxnf] { animation: lb-left-b-6wgt5ncxnf .5s var(--ease-out) both; }
@keyframes lb-in-b-6wgt5ncxnf { from { opacity: 0; transform: scale(.7) rotateX(24deg); } }
@keyframes lb-right-b-6wgt5ncxnf { from { opacity: 0; transform: translateX(22%) rotateY(-35deg) scale(.9); } }
@keyframes lb-left-b-6wgt5ncxnf { from { opacity: 0; transform: translateX(-22%) rotateY(35deg) scale(.9); } }

.lb-nav[b-6wgt5ncxnf] { position: absolute; top: 50%; width: 52px; height: 52px; margin-top: -26px; border-radius: 18px; border: 1px solid var(--border-strong); cursor: pointer;
    background: rgba(20,18,50,.6); color: #fff; font-size: 2rem; line-height: 1; display: grid; place-items: center; transition: transform .3s var(--ease-spring), background .2s; }
.lb-nav:hover[b-6wgt5ncxnf] { background: color-mix(in oklab, var(--accent) 50%, transparent); transform: scale(1.08); }
.lb-nav.prev[b-6wgt5ncxnf] { left: 16px; }
.lb-nav.next[b-6wgt5ncxnf] { right: 16px; }

.lb-strip[b-6wgt5ncxnf] { display: flex; justify-content: center; gap: 8px; padding: 10px 16px calc(14px + var(--safe-bottom)); overflow-x: auto; scrollbar-width: none; }
.lb-strip[b-6wgt5ncxnf]::-webkit-scrollbar { display: none; }
.lb-th[b-6wgt5ncxnf] { flex: none; width: 54px; height: 54px; padding: 0; border-radius: 12px; overflow: hidden; border: 2px solid transparent; cursor: pointer; opacity: .55; background: none; transition: all .3s var(--ease-out); }
.lb-th img[b-6wgt5ncxnf] { width: 100%; height: 100%; object-fit: cover; }
.lb-th.on[b-6wgt5ncxnf] { opacity: 1; border-color: #fff; transform: translateY(-4px); box-shadow: 0 10px 20px -8px var(--accent-2); }
.lb-th:hover[b-6wgt5ncxnf] { opacity: 1; }

@media (max-width: 700px) {
    .lb-nav[b-6wgt5ncxnf] { display: none; }
    .lb-stage[b-6wgt5ncxnf] { padding: 0 6px; }
    .lb-img[b-6wgt5ncxnf] { border-radius: 10px; }
    .lb-th[b-6wgt5ncxnf] { width: 44px; height: 44px; }
}
/* /Components/Photos/PhotoPicker.razor.rz.scp.css */
.pp[b-kzhogo9u4x] { position: relative; border-radius: 20px; padding: 10px; margin: 0 -10px; outline: none; transition: background .3s, box-shadow .3s; }
.pp.ph-drop[b-kzhogo9u4x] { background: color-mix(in oklab, var(--accent) 16%, transparent); box-shadow: inset 0 0 0 2px var(--accent-2); }
.pp.ph-drop[b-kzhogo9u4x]::after { content: "Rilascia per aggiungere"; position: absolute; inset: 0; display: grid; place-items: center; border-radius: inherit; font-weight: 700; color: #fff; background: rgba(5,4,15,.55); pointer-events: none; }

.pp-grid[b-kzhogo9u4x] { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 10px; perspective: 900px; }
.pp-cell[b-kzhogo9u4x] { position: relative; aspect-ratio: 1; border-radius: 16px; animation: pp-in-b-kzhogo9u4x .55s var(--ease-spring) backwards; animation-delay: calc(var(--i, 0) * 45ms); }
@keyframes pp-in-b-kzhogo9u4x { from { opacity: 0; transform: rotateY(-70deg) scale(.6); } to { opacity: 1; transform: none; } }

.pp-img[b-kzhogo9u4x] { position: absolute; inset: 0; padding: 0; border: 0; border-radius: inherit; overflow: hidden; cursor: zoom-in; background: rgba(255,255,255,.06);
    box-shadow: 0 14px 26px -16px rgba(0,0,0,.9), inset 0 0 0 1px rgba(255,255,255,.1); transition: transform .35s var(--ease-spring), box-shadow .3s; }
.pp-img img[b-kzhogo9u4x] { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
.pp-img:hover[b-kzhogo9u4x] { transform: translateY(-3px) rotateX(6deg); box-shadow: 0 22px 34px -16px rgba(0,0,0,.95), 0 0 0 2px color-mix(in oklab, var(--accent-2) 60%, transparent); }
.pp-img:hover img[b-kzhogo9u4x] { transform: scale(1.08); }

.pp-del[b-kzhogo9u4x] { position: absolute; top: -6px; right: -6px; width: 26px; height: 26px; border-radius: 50%; border: 0; cursor: pointer; font-size: .7rem; font-weight: 800;
    background: rgba(12,10,32,.92); color: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.25); opacity: 0; transform: scale(.6); transition: all .25s var(--ease-spring); }
.pp-cell:hover .pp-del[b-kzhogo9u4x], .pp-del:focus-visible[b-kzhogo9u4x] { opacity: 1; transform: none; }
.pp-del:hover[b-kzhogo9u4x] { background: var(--danger); }
@media (hover: none) { .pp-del[b-kzhogo9u4x] { opacity: 1; transform: none; } }

.pp-cover[b-kzhogo9u4x], .pp-new[b-kzhogo9u4x] { position: absolute; left: 6px; bottom: 6px; padding: 2px 7px; border-radius: 8px; font-size: .62rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; pointer-events: none; }
.pp-cover[b-kzhogo9u4x] { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: #fff; box-shadow: 0 4px 10px -2px rgba(0,0,0,.6); }
.pp-new[b-kzhogo9u4x] { left: auto; right: 6px; background: rgba(5,4,15,.72); color: var(--accent-2); }

.pp-busy[b-kzhogo9u4x] { display: grid; place-items: center; background: linear-gradient(110deg, rgba(255,255,255,.05) 30%, rgba(255,255,255,.14) 50%, rgba(255,255,255,.05) 70%); background-size: 200% 100%; animation: pp-in-b-kzhogo9u4x .4s both, pp-shimmer-b-kzhogo9u4x 1.2s linear infinite; }
@keyframes pp-shimmer-b-kzhogo9u4x { to { background-position: -200% 0; } }
.pp-spin[b-kzhogo9u4x] { width: 26px; height: 26px; border-radius: 50%; border: 3px solid rgba(255,255,255,.15); border-top-color: var(--accent-2); animation: pp-rot-b-kzhogo9u4x .8s linear infinite; }
@keyframes pp-rot-b-kzhogo9u4x { to { transform: rotate(360deg); } }

.pp-add[b-kzhogo9u4x] { aspect-ratio: 1; border-radius: 16px; border: 1.5px dashed var(--border-strong); background: rgba(255,255,255,.03); color: var(--text-2); cursor: pointer;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; transition: all .3s var(--ease-out); }
.pp-add:hover[b-kzhogo9u4x] { color: #fff; border-color: var(--accent-2); background: color-mix(in oklab, var(--accent) 14%, transparent); transform: translateY(-2px); }
.pp-add-ico[b-kzhogo9u4x] { font-size: 1.5rem; line-height: 1; }
.pp-add-lbl[b-kzhogo9u4x] { font-size: .78rem; font-weight: 650; }
.pp-add-count[b-kzhogo9u4x] { font-size: .66rem; color: var(--text-3); }
.pp-hint[b-kzhogo9u4x] { margin: 8px 2px 0; }

@media (max-width: 640px) {
    .pp-grid[b-kzhogo9u4x] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }

}
@media (max-width: 700px) { .pp-add.pp-cam[b-kzhogo9u4x] { display: flex !important; } }
/* /Components/Shared/AnnouncementsBar.razor.rz.scp.css */
.ann-stack[b-0dn87tm5uf] { width: 100%; max-width: 640px; display: flex; flex-direction: column; gap: 10px; margin: 0 auto 22px; }
.ann[b-0dn87tm5uf] {
    --c: #8B5CF6;
    position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 14px 44px 14px 14px; border-radius: 20px; text-align: left;
    background: linear-gradient(135deg, color-mix(in oklab, var(--c) 26%, rgba(12,10,30,.85)), rgba(12,10,30,.8));
    border: 1px solid color-mix(in oklab, var(--c) 45%, transparent);
    box-shadow: 0 18px 40px -24px var(--c);

    animation: ann-in-b-0dn87tm5uf .35s ease-out both;
}
.ann.warn[b-0dn87tm5uf] { --c: #F59E0B; }
@keyframes ann-in-b-0dn87tm5uf { from { opacity: 0; transform: translateY(-8px); } }
.ann-ico[b-0dn87tm5uf] { width: 38px; height: 38px; flex: none; border-radius: 12px; display: grid; place-items: center; font-size: 1.2rem; background: color-mix(in oklab, var(--c) 30%, transparent); }
.ann-body[b-0dn87tm5uf] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ann-kind[b-0dn87tm5uf] { font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: color-mix(in oklab, var(--c) 60%, white); }
.ann-title[b-0dn87tm5uf] { font-size: 1rem; line-height: 1.3; overflow-wrap: anywhere; }
.ann-text[b-0dn87tm5uf] { margin: 2px 0 0; font-size: .88rem; line-height: 1.45; color: var(--text-2); white-space: pre-line; overflow-wrap: anywhere; }
.ann-close[b-0dn87tm5uf] {
    position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; border-radius: 50%; border: 0; cursor: pointer;
    background: rgba(255,255,255,.08); color: var(--text); font-size: .9rem;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
.ann-close:active[b-0dn87tm5uf] { background: rgba(255,255,255,.18); }
/* /Components/Shared/AppBadge.razor.rz.scp.css */
.app-badge[b-avb37vqoas] {
    position: absolute; top: -6px; right: -6px; z-index: 2;
    min-width: 22px; height: 22px; padding: 0 6px; border-radius: 99px;
    display: grid; place-items: center;
    font-size: .72rem; font-weight: 800; line-height: 1; color: #fff; font-variant-numeric: tabular-nums;
    background: #ef4444; border: 2px solid #07061a;
    box-shadow: 0 4px 10px -2px rgba(239, 68, 68, .7);
    pointer-events: none;
}
/* /Components/Shared/SupportLink.razor.rz.scp.css */
.support-link[b-we8vpnlrp3] { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; -webkit-tap-highlight-color: transparent; }
.support-link.pill[b-we8vpnlrp3] {
    height: 34px; padding: 0 14px; border-radius: 99px; font-size: .8rem; font-weight: 600; color: var(--text-2);
    background: rgba(255,255,255,.05); border: 1px solid var(--border);
}
.support-link.pill:hover[b-we8vpnlrp3], .support-link.pill:active[b-we8vpnlrp3] { color: var(--text); background: rgba(255,255,255,.09); }
.support-link.link[b-we8vpnlrp3] { color: var(--text-2); font-weight: 600; }
.support-link.link:hover[b-we8vpnlrp3] { color: var(--text); text-decoration: underline; }
.support-ico[b-we8vpnlrp3] { font-size: 1rem; line-height: 1; }
.support-link.link .support-ico[b-we8vpnlrp3] { font-size: .85rem; }
/* /Components/Sharing/JoinShareSheet.razor.rz.scp.css */
.js[b-2djoqgxffz] { display: flex; flex-direction: column; gap: 12px; }
.js-intro[b-2djoqgxffz] { margin: 0; line-height: 1.5; color: var(--text-2); }
.js-code[b-2djoqgxffz] { text-align: center; text-transform: uppercase; letter-spacing: .14em; font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-weight: 800; font-size: 1.5rem; }
.js-error[b-2djoqgxffz] { margin: 0; padding: 10px 12px; border-radius: 12px; background: color-mix(in oklab, var(--danger) 18%, transparent); border: 1px solid color-mix(in oklab, var(--danger) 45%, transparent); color: var(--text); font-size: .9rem; }
.js-note[b-2djoqgxffz] { margin: 0; }
/* /Components/Sharing/ShareBadge.razor.rz.scp.css */
.shb[b-03bg8r2nmf] {
    display: inline-flex; align-items: center; gap: 2px; max-width: 100%; height: 22px; padding: 0 8px; border-radius: 999px;
    font-size: .72rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: middle;
    border: 1px solid var(--border); background: rgba(255,255,255,.06); color: var(--text-2);
}
.shb.mine[b-03bg8r2nmf] { border-color: color-mix(in oklab, var(--accent) 45%, transparent); background: color-mix(in oklab, var(--accent) 18%, transparent); color: var(--text); }
.shb.other[b-03bg8r2nmf] { border-color: rgba(56, 189, 248, .45); background: rgba(56, 189, 248, .14); color: var(--text); }
.shb.other.ro[b-03bg8r2nmf] { border-color: rgba(148, 163, 184, .45); background: rgba(148, 163, 184, .12); }
/* /Components/Sharing/ShareSheet.razor.rz.scp.css */
/* Foglio "Condividi": codice grande, scelta del permesso a schede, elenco delle persone. Niente animazioni. */
.sh[b-pwsl0s2fta] { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.sh-what[b-pwsl0s2fta] { display: flex; align-items: center; gap: 12px; margin: 0; padding: 10px 12px; border-radius: 16px; background: rgba(255,255,255,.04); border: 1px solid var(--border); }
.sh-what-ico[b-pwsl0s2fta] { width: 40px; height: 40px; flex: none; border-radius: 12px; display: grid; place-items: center; font-size: 1.3rem; background: color-mix(in oklab, var(--accent) 22%, transparent); }
.sh-what > span:last-child[b-pwsl0s2fta] { display: flex; flex-direction: column; min-width: 0; }
.sh-what b[b-pwsl0s2fta] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sh-intro[b-pwsl0s2fta] { margin: 0; line-height: 1.5; color: var(--text-2); }
.sh-label[b-pwsl0s2fta] { font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); margin-top: 4px; }

.sh-perm[b-pwsl0s2fta] { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.sh-opt[b-pwsl0s2fta] {
    display: flex; align-items: center; gap: 10px; padding: 12px; min-width: 0; text-align: left; cursor: pointer;
    border-radius: 16px; border: 1px solid var(--border); background: rgba(255,255,255,.03); color: var(--text); font: inherit;
}
.sh-opt > span:last-child[b-pwsl0s2fta] { display: flex; flex-direction: column; min-width: 0; }
.sh-opt small[b-pwsl0s2fta] { color: var(--text-3); font-size: .74rem; line-height: 1.3; }
.sh-opt-ico[b-pwsl0s2fta] { font-size: 1.25rem; flex: none; }
.sh-opt.active[b-pwsl0s2fta] { border-color: color-mix(in oklab, var(--accent) 70%, transparent); background: color-mix(in oklab, var(--accent) 18%, transparent); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--accent) 45%, transparent); }
@media (max-width: 420px) { .sh-perm[b-pwsl0s2fta] { grid-template-columns: 1fr; } }
.sh-create[b-pwsl0s2fta] { margin-top: 4px; }

.sh-code[b-pwsl0s2fta] {
    display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 14px; text-align: center; border-radius: 20px;
    background: linear-gradient(160deg, color-mix(in oklab, var(--accent) 22%, transparent), rgba(255,255,255,.02));
    border: 1px solid color-mix(in oklab, var(--accent) 40%, transparent);
}
.sh-code-label[b-pwsl0s2fta] { font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--text-2); }
.sh-code-val[b-pwsl0s2fta] { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; font-size: clamp(1.7rem, 8vw, 2.3rem); font-weight: 800; letter-spacing: .12em; user-select: all; }
.sh-code-btns[b-pwsl0s2fta] { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }

.sh-people[b-pwsl0s2fta] { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.sh-people li[b-pwsl0s2fta] { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 14px; background: rgba(255,255,255,.03); border: 1px solid var(--border); min-width: 0; }
.sh-person[b-pwsl0s2fta] { display: flex; flex-direction: column; min-width: 0; }
.sh-person b[b-pwsl0s2fta] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sh-mini[b-pwsl0s2fta] { flex: none; }
.sh-mini button[b-pwsl0s2fta] { min-width: 38px; padding: 0 8px; }
.sh-none[b-pwsl0s2fta] { margin: 0; }
.sh-rule[b-pwsl0s2fta] { margin: 4px 0 0; }
