/* Patch 088 - Shop centralizzato, toolbar opaca, mascotte, clock e timer */
.board-edit-palette,
.board-edit-palette:hover {
    opacity:1 !important;
    background:#fff !important;
    backdrop-filter:none;
}
.board-settings-gear {
    display:inline-grid;
    place-items:center;
    width:1em;
    height:1em;
    font-family:"Segoe UI Symbol","Segoe UI",sans-serif;
    font-size:24px;
    font-weight:400;
    line-height:1;
    transform:none;
}

/* Impedisce il flash a dimensione nativa dell'immagine prima del bootstrap JS della mascotte. */
.board-mascot {
    width:72px;
    height:72px;
    max-width:160px !important;
    max-height:160px !important;
    overflow:visible;
}
.board-mascot .board-mascot-motion,
.board-mascot .board-mascot-art {
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
}
.board-mascot .board-mascot-art { object-fit:contain; }

.timer-duration-fields-ms { grid-template-columns:repeat(3,minmax(0,1fr)); }
.board-element-timer { min-width:230px; min-height:112px; }
.board-timer { min-width:230px; min-height:112px; overflow:hidden; }
.board-timer .timer-value {
    max-width:100%;
    white-space:nowrap;
    font-size:clamp(19px,3.1vw,34px);
    letter-spacing:.025em;
}
.board-timer.is-expired .timer-value {
    color:#ff4545;
    animation:timer-expired-flash .7s steps(2,end) infinite !important;
}
@keyframes timer-expired-flash {
    0%,49% { color:#ff4545; opacity:1; text-shadow:0 0 5px #ff454555; }
    50%,100% { color:#ff9090; opacity:.38; text-shadow:none; }
}
.board-element-clock_analog,
.board-element-clock-analog { min-width:72px; min-height:72px; aspect-ratio:1 / 1; }
.board-element-clock_digital,
.board-element-clock-digital { min-width:140px; min-height:82px; }

/* Ricerca Shop utente */
.shop-console-search { position:relative; display:block; }
.shop-console-search > span { position:absolute; left:9px; top:50%; transform:translateY(-50%); pointer-events:none; }
.shop-console-search input { width:100%; min-height:36px; box-sizing:border-box; padding-left:31px; }

/* Shop utente */
.user-shop-dialog { width:min(980px,calc(100vw - 28px)); max-width:none; }
.user-shop-body { display:grid; gap:14px; }
.user-shop-section { display:grid; gap:8px; }
.user-shop-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.user-shop-section-head h3 { margin:0; font-size:13px; }
.user-shop-section-head span { color:#6b7787; font-size:9px; }
.user-shop-list { display:grid; gap:6px; }
.user-shop-row {
    display:grid;
    grid-template-columns:36px minmax(0,1fr) minmax(100px,auto) minmax(110px,auto);
    gap:9px;
    align-items:center;
    padding:9px 10px;
    border:1px solid #dfe5ec;
    border-radius:9px;
    background:#fff;
}
.user-shop-row.owned { grid-template-columns:36px minmax(0,1fr) minmax(150px,auto); background:#f7fbf8; border-color:#d3e5d7; }
.user-shop-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:8px; background:#f0f3f7; font-size:18px; }
.user-shop-main { min-width:0; display:grid; gap:2px; }
.user-shop-main strong { font-size:11px; }
.user-shop-main small,.user-shop-main span { color:#6b7787; font-size:8.5px; line-height:1.3; }
.user-shop-price { font-size:12px; font-weight:850; white-space:nowrap; }
.user-shop-state { color:#287547; font-size:9px; font-weight:800; }
.user-shop-action { text-align:right; }
.user-shop-action .primary-button { min-width:105px; justify-content:center; }

@media(max-width:900px){
    .user-shop-row,.user-shop-row.owned{grid-template-columns:34px minmax(0,1fr)}
    .user-shop-price,.user-shop-state,.user-shop-action{grid-column:2}
}
@media(max-width:620px){
    .timer-duration-fields-ms{grid-template-columns:1fr}
}

/* Shop preview, ordinamento e selezione cestino */
.table-sort {
    appearance:none;
    border:0;
    padding:0;
    background:transparent;
    color:inherit;
    font:inherit;
    font-weight:inherit;
    cursor:pointer;
    text-align:left;
    white-space:nowrap;
}
.table-sort:hover { text-decoration:underline; }
.shop-preview-cell { width:76px; text-align:center; vertical-align:middle !important; }
.shop-preview-button {
    display:inline-grid;
    place-items:center;
    width:58px;
    height:58px;
    padding:3px;
    border:1px solid #d8e0e8;
    border-radius:8px;
    background:#fff;
    cursor:pointer;
    overflow:hidden;
}
.shop-preview-button:hover { border-color:#7e9dbc; box-shadow:0 1px 5px #315f9128; }
.shop-preview-button img { display:block; width:100%; height:100%; object-fit:contain; }
.shop-preview-empty { color:#a0a8b2; }
.shop-preview-dialog { width:min(820px,calc(100vw - 28px)); max-width:none; }
.shop-preview-hero { display:grid; place-items:center; min-height:220px; max-height:420px; padding:12px; border:1px solid #e1e6ec; border-radius:10px; background:#f7f9fb; }
.shop-preview-hero img { max-width:100%; max-height:380px; object-fit:contain; }
.shop-preview-frame-head { display:flex; justify-content:space-between; gap:10px; align-items:center; margin:12px 0 7px; }
.shop-preview-frame-head span { color:#6b7787; font-size:9px; }
.shop-preview-frame-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:8px; max-height:330px; overflow:auto; }
.shop-preview-frame-grid figure { margin:0; display:grid; gap:4px; padding:6px; border:1px solid #e0e6ec; border-radius:8px; background:#fff; }
.shop-preview-frame-grid img { width:100%; aspect-ratio:1; object-fit:contain; background:#f6f8fa; border-radius:5px; }
.shop-preview-frame-grid figcaption { font-size:8.5px; color:#667384; text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.user-shop-row { grid-template-columns:36px minmax(0,1fr) minmax(100px,auto) minmax(110px,auto) 64px; }
.user-shop-row.owned { grid-template-columns:36px minmax(0,1fr) minmax(150px,auto) 64px; }
.user-shop-row .shop-preview-button { justify-self:end; }

.trash-style-tool { min-width:34px !important; width:34px; padding:0 !important; justify-content:center; }
.trash-style-dialog { width:min(720px,calc(100vw - 28px)); max-width:none; }
.trash-style-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:9px; }
.trash-style-card {
    display:grid;
    grid-template-rows:96px auto auto;
    gap:4px;
    min-width:0;
    padding:7px;
    border:1px solid #dce3ea;
    border-radius:9px;
    background:#fff;
    color:#344255;
    text-align:left;
    cursor:pointer;
}
.trash-style-card:hover { border-color:#7e9dbc; }
.trash-style-card.selected { border-color:#d9a21b; box-shadow:0 0 0 2px #d9a21b28; background:#fffaf0; }
.trash-style-card img { width:100%; height:96px; object-fit:contain; }
.trash-style-card strong { font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.trash-style-card small { font-size:8px; color:#768292; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.trash-style-fallback { display:grid; place-items:center; width:100%; height:96px; font-size:46px; }

@media(max-width:900px){
    .user-shop-row,.user-shop-row.owned{grid-template-columns:34px minmax(0,1fr) 64px}
    .user-shop-price,.user-shop-state,.user-shop-action{grid-column:2}
    .user-shop-row .shop-preview-button{grid-column:3;grid-row:1 / span 3}
}

/* Patch 093 - Dashboard account actions e spaziatura */
.dashboard-auth-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-top:10px;
}
.dashboard-auth-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:38px;
    padding:7px 12px;
    border:1px solid #cfd8e3;
    border-radius:8px;
    background:#fff;
    color:#263445;
    text-decoration:none;
    font:inherit;
    font-size:10px;
    font-weight:800;
    line-height:1.2;
    box-shadow:0 1px 3px #1d2a3614;
    cursor:pointer;
}
.dashboard-auth-button:hover {
    border-color:#9fb1c4;
    background:#f7f9fb;
    box-shadow:0 2px 7px #1d2a3620;
}
.dashboard-auth-icon {
    display:inline-grid;
    place-items:center;
    flex:0 0 23px;
    width:23px;
    height:23px;
    border-radius:6px;
    background:#f2f5f8;
    overflow:hidden;
}
.dashboard-auth-icon img { display:block; width:19px; height:19px; object-fit:contain; }
.dashboard-auth-icon.provider-symbol { font-size:15px; font-weight:900; }
.dashboard-auth-button.microsoft .dashboard-auth-icon { color:#2667a8; background:#edf4fb; }
.dashboard-auth-button.google .dashboard-auth-icon { color:#3e6fa8; background:#f3f6fa; }
.dashboard-auth-button.tackora .dashboard-auth-icon { background:#fff8e7; }
.dashboard-secondary-grid + .user-storage-card { margin-top:12px; }

@media(max-width:620px){
    .dashboard-auth-actions { align-items:stretch; }
    .dashboard-auth-button { width:100%; }
}

/* Patch 094 - Cloudflare Turnstile */
.postit-turnstile { width:100%; min-height:38px; display:flex; align-items:center; justify-content:center; margin:2px 0; }
.postit-turnstile > div { max-width:100%; }
.postit-turnstile-error { border:1px solid #e5b5b5; border-radius:8px; background:#fff2f2; color:#7e3232; padding:8px 10px; font-size:10px; }
.postit-local-submit:disabled { opacity:.55; cursor:not-allowed; }


/* =============================================================
   Patch 095 - toolbar, condivisioni, cestino e audit operativo
   ============================================================= */
.board-tools-top {
    background:#ffffffc9 !important;
    backdrop-filter:blur(8px) !important;
    opacity:.58 !important;
    transition:opacity .16s ease,background .16s ease,max-width .2s ease !important;
}
.board-tools-top:hover,
.board-tools-top:has(:focus-visible) {
    opacity:1 !important;
    background:#fffffff2 !important;
}
.board-tools-top .tool-button[data-postit-drop-zone].is-drop-active {
    position:relative;
    z-index:2;
    transform:none !important;
    outline:2px solid #b84949 !important;
    outline-offset:0 !important;
    box-shadow:inset 0 0 0 2px #b8494930 !important;
}
.board-trash-style-setting {
    display:grid;
    gap:4px;
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid #e2e6eb;
}
.board-trash-style-setting > span { font-size:10px; font-weight:800; color:#4d5968; }
.board-trash-style-setting > small { font-size:8px; color:#788392; line-height:1.35; }
.board-trash-style-setting .secondary-button { margin-top:0; }
.settings-toggle-row > .settings-toggle-copy { display:grid; gap:2px; cursor:pointer; }
.settings-toggle-row > .settings-toggle-copy small { color:#6d7887; font-weight:400; }
.pending-board-share-list {
    margin-top:10px;
    padding:8px;
    border:1px solid #dbe4ed;
    border-radius:8px;
    background:#f8fafc;
}
.pending-board-share-list h3 { margin:0 0 6px; }
.invite-not-found-dialog { width:min(520px,calc(100vw - 28px)); }
.invite-not-found-dialog label { display:grid; gap:5px; font-size:10px; font-weight:700; color:#5f6977; }
.invite-not-found-dialog input { min-height:36px; border:1px solid #ccd4de; border-radius:7px; padding:6px 8px; background:#fff; }

.audit-summary-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-bottom:10px;
}
.audit-summary-card {
    border:1px solid #dce3ea;
    border-radius:9px;
    background:#fff;
    padding:10px 12px;
    display:grid;
    gap:2px;
}
.audit-summary-card strong { font-size:21px; line-height:1; }
.audit-summary-card span { font-size:9px; color:#667382; font-weight:800; }
.audit-summary-card.error { border-color:#e3b3b3; background:#fff6f6; }
.audit-summary-card.error strong { color:#b73737; }
.audit-level-badge {
    display:inline-flex;
    min-width:44px;
    justify-content:center;
    border-radius:999px;
    padding:2px 6px;
    font-size:8px;
    font-weight:900;
    background:#edf1f5;
    color:#596575;
}
.audit-level-badge.error { background:#ffe6e6; color:#aa2929; }
.admin-table tr.audit-row-error td { background:#fff6f6; border-bottom-color:#f1caca; }
.audit-error-detail { max-width:520px; white-space:normal; word-break:break-word; color:#8f2e2e; }
.audit-table-wrap { max-height:calc(100vh - 360px); }

@media(max-width:800px){
    .audit-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* =============================================================
   Patch 096 - Console Contenuti + effetti board
   ============================================================= */
.content-studio-tabs { position:sticky; top:0; z-index:15; padding:5px; border:1px solid #e0e5eb; border-radius:10px; background:#f8fafcfa; backdrop-filter:blur(8px); }
.content-studio-overview { display:grid; gap:12px; }
.content-studio-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:9px; }
.content-studio-card { min-width:0; display:grid; grid-template-columns:38px minmax(0,1fr) auto; grid-template-rows:auto auto; gap:5px 8px; align-items:center; padding:10px; border:1px solid #dce3ea; border-radius:10px; background:#fff; }
.content-studio-card > span { grid-row:1/3; width:38px; height:38px; display:grid; place-items:center; border-radius:9px; background:#eef4fa; font-size:20px; }
.content-studio-card > div { min-width:0; display:grid; gap:2px; }
.content-studio-card > div strong { font-size:11px; }
.content-studio-card > div small { color:#718093; font-size:8px; }
.content-studio-card .mini-button { grid-column:3; grid-row:1; white-space:nowrap; }
.content-studio-card .link-button { grid-column:3; grid-row:2; border:0; background:transparent; color:#315f91; padding:0; font-size:8px; cursor:pointer; text-align:right; }
.content-studio-workflow { display:flex; gap:8px; align-items:center; padding:9px 11px; border:1px solid #d8e3ef; border-radius:9px; background:#f4f8fc; font-size:9px; }
.content-studio-workflow strong { white-space:nowrap; }
.content-studio-workflow span { color:#657386; }
.content-background-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:9px; }
.content-background-card { display:grid; grid-template-columns:100px minmax(0,1fr) auto; gap:8px; padding:8px; border:1px solid #dce3ea; border-radius:10px; background:#fff; align-items:start; }
.content-background-card.disabled { opacity:.62; }
.content-background-preview { grid-row:1/3; width:100px; height:72px; overflow:hidden; border:1px solid #d9e0e8; border-radius:7px; background:#f1f3f5; display:grid; place-items:center; }
.content-background-preview img { width:100%; height:100%; object-fit:cover; }
.content-background-info { min-width:0; display:grid; gap:2px; }
.content-background-info strong,.content-background-info small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.content-background-info small { color:#6e7b8b; font-size:8px; }
.content-background-info p { margin:3px 0 0; color:#657386; font-size:8px; line-height:1.35; }
.content-background-actions { grid-column:2/4; display:flex; gap:4px; flex-wrap:wrap; }
.effect-library-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:9px; margin-top:10px; }
.effect-library-card { display:grid; grid-template-columns:96px minmax(0,1fr) auto; gap:8px; padding:8px; border:1px solid #dce3ea; border-radius:10px; background:#fff; align-items:start; }
.effect-library-card.disabled { opacity:.60; }
.effect-library-card > div:nth-child(2) { min-width:0; display:grid; gap:2px; }
.effect-library-card > div:nth-child(2) small { font-size:8px; color:#6b7888; }
.effect-preview { --effect-color:#fff; --effect-opacity:.7; --effect-size:12px; position:relative; width:96px; height:62px; overflow:hidden; border-radius:7px; background:linear-gradient(145deg,#29323c,#14181d); }
.effect-preview span { position:absolute; width:var(--effect-size); height:var(--effect-size); background:var(--effect-color); opacity:var(--effect-opacity); left:10%; top:10%; border-radius:50%; }
.effect-preview span:nth-child(2){left:31%;top:37%;transform:scale(.55)} .effect-preview span:nth-child(3){left:54%;top:15%;transform:scale(.8)} .effect-preview span:nth-child(4){left:76%;top:48%;transform:scale(.65)} .effect-preview span:nth-child(5){left:17%;top:72%;transform:scale(.75)} .effect-preview span:nth-child(6){left:65%;top:75%;transform:scale(.45)} .effect-preview span:nth-child(7){left:88%;top:18%;transform:scale(.5)} .effect-preview span:nth-child(8){left:42%;top:67%;transform:scale(.6)}
.effect-preview.effect-rain span { width:2px; height:calc(var(--effect-size) * 1.8); border-radius:2px; transform:rotate(12deg); }
.effect-preview.effect-confetti span { border-radius:2px; transform:rotate(32deg); }
.effect-editor-preview { display:grid; gap:5px; padding:8px; border:1px solid #dde4eb; border-radius:9px; background:#f8fafc; }
.effect-editor-preview .effect-preview { width:100%; height:110px; }
.utility-preset-row { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:7px; margin:8px 0 10px; }
.utility-preset-row button { display:grid; gap:2px; padding:10px; border:1px solid #d7e0ea; border-radius:9px; background:#fff; cursor:pointer; text-align:left; }
.utility-preset-row button:hover { border-color:#91aac4; background:#f5f9fd; }
.utility-preset-row b { font-size:14px; color:#315f91; } .utility-preset-row span { font-size:8px; color:#667588; }
.utility-editor-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:10px; }
.utility-editor-steps span { display:flex; gap:6px; align-items:center; padding:7px; border:1px solid #dfe5ec; border-radius:8px; background:#f8fafc; font-size:8px; font-weight:700; }
.utility-editor-steps b { width:19px; height:19px; display:grid; place-items:center; border-radius:50%; background:#e6eff9; color:#315f91; }
.utility-entitlement-preview { display:grid; grid-template-columns:auto auto 1fr; gap:4px 8px; align-items:center; margin-top:10px; padding:8px 10px; border:1px solid #d7e3ef; border-radius:9px; background:#f4f8fc; }
.utility-entitlement-preview small { grid-column:1/4; color:#687789; font-size:8px; text-transform:uppercase; font-weight:800; }
.utility-entitlement-preview code { font-size:9px; } .utility-entitlement-preview strong { font-size:9px; color:#315f91; } .utility-entitlement-preview span { font-size:8px; color:#687789; }

.board-visual-effect { position:absolute; inset:0; overflow:hidden; pointer-events:none; contain:layout paint; }
.board-visual-effect.background { z-index:0; }
.board-visual-effect.foreground { z-index:25000; }
.board-visual-effect > i { position:absolute; left:var(--effect-x); top:-5%; display:block; width:var(--effect-particle-size); height:var(--effect-particle-size); opacity:var(--effect-opacity,.7); background:var(--effect-color,#fff); animation:board-effect-fall var(--effect-duration) linear var(--effect-delay) infinite; will-change:transform; }
.board-visual-effect.effect-snow > i { border-radius:50%; box-shadow:0 0 calc(var(--effect-particle-size) * .45) color-mix(in srgb,var(--effect-color,#fff) 55%,transparent); }
.board-visual-effect.effect-rain > i { width:max(1px,calc(var(--effect-particle-size) * .12)); height:calc(var(--effect-particle-size) * 2.8); border-radius:999px; transform:rotate(10deg); }
.board-visual-effect.effect-confetti > i { width:calc(var(--effect-particle-size) * .65); height:var(--effect-particle-size); border-radius:2px; }
.board-visual-effect.effect-confetti > i:nth-child(3n/**/+1) { filter:hue-rotate(70deg); } .board-visual-effect.effect-confetti > i:nth-child(3n/**/+2) { filter:hue-rotate(155deg); }
@keyframes board-effect-fall { from { transform:translate3d(0,-8vh,0) rotate(var(--effect-rotate)); } to { transform:translate3d(var(--effect-drift),112vh,0) rotate(calc(var(--effect-rotate) + 540deg)); } }
@media (prefers-reduced-motion:reduce) { .board-visual-effect > i { animation-duration:30s !important; } }
@media(max-width:760px){ .content-studio-grid,.content-background-grid,.effect-library-grid { grid-template-columns:1fr; } .content-background-card,.effect-library-card { grid-template-columns:80px minmax(0,1fr); } .content-background-preview,.effect-preview { width:80px; } .utility-editor-steps { grid-template-columns:1fr; } }

/* Patch 097 - stato entitlement sfondi personali */
.board-setting-note {
    display:block;
    margin:4px 0 7px;
    padding:6px 8px;
    border:1px solid #d8dee7;
    border-radius:6px;
    background:#f3f6f9;
    color:#5f6875;
    font-size:8.5px;
    line-height:1.35;
}

/* Patch 101 - editor Utility System Content */
.utility-editor-modal { width:min(940px,calc(100vw - 28px)); max-width:none; }
.admin-modal .utility-editor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; }
.utility-editor-grid > label { min-width:0; }
.utility-editor-grid .utility-field-title { display:block; min-height:17px; }
.utility-editor-grid input,
.utility-editor-grid select,
.utility-editor-grid textarea { width:100%; box-sizing:border-box; }
@media (max-width:820px) {
    .admin-modal .utility-editor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
    .admin-modal .utility-editor-grid { grid-template-columns:1fr; }
}


/* =============================================================
   Patch 102 - System Admin Catalogo: stile sorgente + modali
   ============================================================= */
.catalog-v2-heading { align-items:flex-end; gap:18px; }
.catalog-kind-nav { display:grid; grid-template-columns:repeat(8,minmax(104px,1fr)); gap:8px; margin:0 0 14px; }
.catalog-kind-nav button { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:8px; min-height:46px; padding:8px 10px; border:1px solid #d7dee7; border-radius:10px; background:#fff; color:#344255; box-shadow:0 1px 2px #1e293b0a; cursor:pointer; text-align:left; }
.catalog-kind-nav button:hover { border-color:#9db4cc; background:#f7fafc; box-shadow:0 2px 6px #24364a12; }
.catalog-kind-nav button.active { border-color:#6f98bf; background:#edf5fc; color:#24577f; box-shadow:0 0 0 2px #6f98bf24; }
.catalog-kind-nav button > span { font-size:18px; }
.catalog-kind-nav button strong { font-size:12px; }
.catalog-kind-nav button small { min-width:24px; padding:2px 6px; border-radius:999px; background:#eef2f6; color:#5d6978; text-align:center; }
.catalog-kind-nav button.active small { background:#dcebf8; color:#24577f; }
.catalog-v2-card { display:flex; flex-direction:column; gap:12px; }
.catalog-v2-toolbar { display:flex; align-items:end; justify-content:space-between; gap:18px; }
.catalog-v2-toolbar h2 { margin:0 0 3px; }
.catalog-v2-toolbar > div > span { font-size:12px; color:#6d7886; }
.catalog-v2-search { display:flex; align-items:center; gap:7px; min-width:min(360px,100%); padding:6px 10px; border:1px solid #d7dee7; border-radius:9px; background:#fff; }
.catalog-v2-search input { width:100%; border:0 !important; background:transparent !important; outline:none; }
.catalog-kpi-row { display:grid; grid-template-columns:repeat(4,minmax(120px,1fr)); gap:8px; }
.catalog-kpi-row > div { display:flex; flex-direction:column; padding:10px 12px; border:1px solid #e0e6ed; border-radius:9px; background:#f8fafc; }
.catalog-kpi-row strong { font-size:19px; }
.catalog-kpi-row span { font-size:11px; color:#687586; }
.catalog-kpi-row.compact { grid-template-columns:repeat(2,minmax(160px,260px)); margin-top:12px; }
.catalog-v2-table code { font-size:10px; }
.catalog-item-editor { width:min(1120px,96vw); max-height:92vh; color:#263445; }
.catalog-item-editor-body { display:flex; flex-direction:column; gap:12px; overflow:auto; }
.catalog-editor-tabs { display:flex; gap:6px; flex-wrap:wrap; position:sticky; top:0; z-index:3; padding:4px 0 8px; background:#fff; border-bottom:1px solid #e0e6ed; box-shadow:0 1px 3px #1b2a3b0d; }
.catalog-editor-tabs button { padding:7px 11px; border:1px solid #d6dee7; border-radius:8px; background:#fff; color:#4b596a; cursor:pointer; }
.catalog-editor-tabs button:hover { border-color:#9db4cc; background:#f7fafc; }
.catalog-editor-tabs button.active { border-color:#6f98bf; background:#edf5fc; color:#24577f; box-shadow:0 0 0 1px #6f98bf22; }
.catalog-editor-section { display:flex; flex-direction:column; gap:12px; }
.catalog-price-preview { display:flex; justify-content:space-between; align-items:center; padding:10px 12px; border:1px solid #e0e6ed; border-radius:9px; background:#f8fafc; }
.catalog-price-preview span { font-size:12px; color:#687586; }
.catalog-price-preview strong { font-size:20px; }
.bundle-v2-summary { display:grid; grid-template-columns:repeat(4,minmax(110px,1fr)); gap:8px; }
.bundle-v2-summary > div { display:flex; flex-direction:column; padding:9px 11px; border:1px solid #e0e6ed; border-radius:8px; background:#f8fafc; }
.bundle-v2-summary strong { font-size:17px; }
.bundle-v2-summary span { font-size:10px; color:#687586; }
.bundle-v2-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:390px; overflow:auto; padding-right:3px; }
.bundle-v2-item { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 10px; border:1px solid #e0e6ed; border-radius:9px; background:#fff; }
.bundle-v2-item.selected { border-color:#7ca2c6; background:#f5f9fd; }
.bundle-v2-choice { display:grid !important; grid-template-columns:auto 54px minmax(0,1fr) !important; align-items:center !important; gap:9px !important; min-width:0; width:100%; }
.bundle-v2-preview { display:grid; place-items:center; width:54px; height:54px; overflow:hidden; border:1px solid #dce3ea; border-radius:8px; background:#f6f8fa; color:#4a596a; font-size:23px; }
.bundle-v2-preview > img { display:block; width:100%; height:100%; padding:4px; object-fit:contain; }
.bundle-v2-copy { display:flex; flex-direction:column; gap:2px; min-width:0; }
.bundle-v2-copy strong,.bundle-v2-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bundle-v2-copy small { color:#7a8593; }
.bundle-v2-item > label:last-child { width:150px; font-size:10px; }
.bundle-v2-item input[type=number] { width:100%; }
.catalog-default-grid { display:grid; grid-template-columns:repeat(2,minmax(240px,1fr)); gap:10px; }
.catalog-default-grid .check-label { align-items:flex-start; padding:12px; border:1px solid #e0e6ed; border-radius:9px; background:#fff; }
.catalog-default-grid .check-label span { display:flex; flex-direction:column; gap:2px; }
.catalog-default-grid .check-label small { color:#6d7886; }
.compact-table th,.compact-table td { padding-top:7px; padding-bottom:7px; font-size:11px; }
.catalog-editor-section h4 { margin:6px 0 0; font-size:13px; }
.catalog-v2-heading .primary-button,.catalog-item-editor .primary-button { border-color:#4f7eaa !important; background:#4f7eaa !important; color:#fff !important; }
.catalog-v2-heading .primary-button:hover,.catalog-item-editor .primary-button:hover { background:#416d96 !important; }
.catalog-item-editor .secondary-button { border-color:#ccd6e1 !important; background:#fff !important; color:#344255 !important; }
.bundle-v2-skin-preview { position:relative; display:block; width:100%; height:100%; min-width:36px; min-height:36px; overflow:hidden; }
.bundle-v2-skin-preview i { position:absolute; width:17px; height:13px; border-radius:2px; background:#ffe77a; box-shadow:0 1px 2px #0002; }
.bundle-v2-skin-preview i:nth-child(1) { left:8%; top:12%; transform:rotate(-3deg); }
.bundle-v2-skin-preview i:nth-child(2) { right:9%; top:24%; background:#a8ddf1; transform:rotate(4deg); }
.bundle-v2-skin-preview i:nth-child(3) { left:31%; bottom:9%; background:#f5bfd5; transform:rotate(2deg); }
@media(max-width:1050px){ .catalog-kind-nav{grid-template-columns:repeat(4,minmax(110px,1fr))}.bundle-v2-grid{grid-template-columns:1fr} }
@media(max-width:720px){ .catalog-kind-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-v2-toolbar{align-items:stretch;flex-direction:column}.catalog-v2-search{min-width:0}.catalog-kpi-row,.bundle-v2-summary,.catalog-default-grid{grid-template-columns:1fr 1fr}.bundle-v2-item{align-items:flex-start;flex-direction:column}.bundle-v2-item>label:last-child{width:100%} }


/* Patch 103 - Ordini catalogo */
.orders-console { display:flex; flex-direction:column; gap:12px; }
.orders-filter-bar { display:grid; grid-template-columns:minmax(260px,1fr) minmax(150px,210px) auto; gap:8px; align-items:end; }
.orders-filter-bar label { display:grid; gap:4px; min-width:0; color:#5d6978; font-size:10px; font-weight:750; }
.orders-filter-bar input,.orders-filter-bar select { width:100%; min-height:36px; box-sizing:border-box; }
.orders-kpi-row { margin:0; }
.orders-table td { vertical-align:top; }
.orders-table td:first-child,.orders-table td:nth-child(2) { min-width:165px; }
.orders-table small { color:#6d7886; }
.order-detail-dialog { width:min(1040px,calc(100vw - 28px)); max-width:none; }
.order-detail-summary { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:8px; margin-bottom:12px; }
.order-detail-summary > div { display:flex; flex-direction:column; gap:3px; padding:10px 12px; border:1px solid #dfe5ec; border-radius:9px; background:#f8fafc; }
.order-detail-summary span { color:#6d7886; font-size:9px; text-transform:uppercase; letter-spacing:.04em; }
.order-detail-summary strong { font-size:12px; color:#2f3d4f; }
@media(max-width:760px){
    .orders-filter-bar { grid-template-columns:1fr; }
    .order-detail-summary { grid-template-columns:1fr 1fr; }
}


/* Patch 103 - Shop/catalogo utente: stili sorgente ripristinati dal CSS pubblicato */
.shop-page-heading{align-items:flex-end;gap:16px}.shop-heading-actions{display:flex;align-items:center;gap:8px}.shop-cart-pill{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid var(--border-color,#39404c);border-radius:999px;background:rgba(255,255,255,.04);font-size:11px;font-weight:800}.catalog-shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.catalog-shop-main{min-width:0}.catalog-shop-categories{display:grid;grid-template-columns:repeat(10,minmax(82px,1fr));gap:7px;margin-bottom:12px}.catalog-shop-category{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;min-height:44px;padding:7px 9px;border:1px solid var(--border-color,#39404c);border-radius:9px;background:var(--panel-bg,#171a20);color:inherit;cursor:pointer;text-align:left}.catalog-shop-category:hover,.catalog-shop-category.active{border-color:var(--accent-color,#d99a2b);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-color,#d99a2b) 30%,transparent)}.catalog-shop-category>span{font-size:16px}.catalog-shop-category strong{font-size:10px}.catalog-shop-category small{padding:1px 5px;border-radius:999px;background:rgba(255,255,255,.08);font-size:9px;text-align:center}.catalog-shop-browser{display:flex;flex-direction:column;gap:12px}.catalog-shop-toolbar{display:flex;justify-content:space-between;gap:8px}.catalog-shop-toolbar .shop-console-search{flex:1}.catalog-shop-toolbar select{min-width:160px}.catalog-shop-section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.08)}.catalog-shop-section-head h2{margin:0;font-size:18px}.catalog-shop-section-head span,.catalog-shop-section-head small{font-size:10px;opacity:.7}.catalog-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.catalog-shop-card{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.025);overflow:hidden;transition:border-color .16s ease,transform .16s ease}.catalog-shop-card:hover{border-color:color-mix(in srgb,var(--accent-color,#d99a2b) 50%,transparent);transform:translateY(-1px)}.catalog-shop-card.owned{box-shadow:inset 0 0 0 1px rgba(91,183,120,.16)}.catalog-shop-card.unavailable{opacity:.7}.catalog-shop-preview{display:flex;align-items:center;justify-content:center;width:100%;height:132px;border:0;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.12);color:inherit;cursor:pointer;overflow:hidden}.catalog-shop-preview>img{width:100%;height:100%;object-fit:contain;padding:10px}.catalog-shop-preview>span{font-size:40px;opacity:.88}.catalog-shop-card-body{display:flex;flex:1;flex-direction:column;gap:5px;padding:10px}.catalog-shop-card-body h3{margin:0;font-size:14px}.catalog-shop-card-body p{margin:3px 0 0;font-size:10px;line-height:1.35;opacity:.75;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.catalog-shop-code{font-size:8px;opacity:.55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-shop-card-badges{display:flex;gap:4px;flex-wrap:wrap}.shop-kind-badge,.shop-owned-badge,.shop-cart-badge,.shop-tenant-badge,.shop-discount-badge{display:inline-flex;align-items:center;min-height:18px;padding:2px 6px;border-radius:999px;font-size:8px;font-weight:900}.shop-kind-badge{background:rgba(255,255,255,.08)}.shop-owned-badge{background:rgba(67,160,93,.17);color:#72c88a}.shop-cart-badge{background:color-mix(in srgb,var(--accent-color,#d99a2b) 16%,transparent);color:var(--accent-color,#d99a2b)}.shop-tenant-badge{background:rgba(83,134,190,.16);color:#83b1df}.shop-discount-badge{background:rgba(204,76,76,.18);color:#eb8a8a}.shop-bundle-summary{display:flex;justify-content:space-between;gap:8px;margin-top:4px;padding:6px 7px;border-radius:7px;background:rgba(255,255,255,.035);font-size:9px}.catalog-shop-availability{margin-top:auto;padding-top:4px;font-size:9px;opacity:.65}.catalog-shop-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:9px 10px;border-top:1px solid rgba(255,255,255,.07)}.catalog-shop-price{display:flex;flex-direction:column}.catalog-shop-price del{font-size:9px;opacity:.55}.catalog-shop-price strong{font-size:15px}.catalog-shop-price small{font-size:8px;opacity:.58}.catalog-shop-card-actions{display:flex;gap:5px}.secondary-button.compact,.primary-button.compact{padding:5px 8px;min-height:28px;font-size:9px}.catalog-cart-panel{position:sticky;top:12px;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 84px);overflow:auto}.catalog-cart-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.catalog-cart-head h2{margin:0;font-size:17px}.catalog-cart-head span{font-size:9px;opacity:.65}.link-button.danger{border:0;background:transparent;color:#d67676;cursor:pointer;font-size:9px}.catalog-cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:190px;text-align:center;padding:20px}.catalog-cart-empty>span{font-size:34px}.catalog-cart-empty strong{font-size:13px}.catalog-cart-empty small{max-width:230px;font-size:9px;line-height:1.4;opacity:.65}.catalog-cart-items{display:flex;flex-direction:column;gap:6px}.catalog-cart-row{display:flex;justify-content:space-between;gap:8px;padding:8px;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:rgba(255,255,255,.025)}.catalog-cart-row.invalid{border-color:rgba(209,83,83,.42);background:rgba(209,83,83,.07)}.catalog-cart-row>div:first-child{display:flex;flex-direction:column;min-width:0}.catalog-cart-row strong{font-size:10px}.catalog-cart-row small{font-size:8px;opacity:.62}.catalog-cart-row>div:first-child>span{font-size:8px;color:#e58b8b}.catalog-cart-row-price{display:flex;align-items:center;gap:5px;white-space:nowrap}.catalog-cart-row-price button{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:0;border-radius:5px;background:rgba(255,255,255,.06);color:inherit;cursor:pointer}.catalog-cart-totals{display:flex;flex-direction:column;gap:5px;padding-top:9px;border-top:1px solid rgba(255,255,255,.08)}.catalog-cart-totals>div{display:flex;justify-content:space-between;font-size:10px}.catalog-cart-totals .discount{color:#74c68a}.catalog-cart-totals .total{padding-top:6px;border-top:1px dashed rgba(255,255,255,.1);font-size:14px}.catalog-checkout-button{width:100%;justify-content:center}.catalog-checkout-note{font-size:8px;line-height:1.4;opacity:.58;text-align:center}.shop-inline-warning{padding:7px 8px;border:1px solid rgba(213,107,107,.35);border-radius:7px;background:rgba(213,107,107,.08);font-size:9px;color:#e79b9b}.shop-product-detail{width:min(860px,96vw)}.shop-detail-hero{display:grid;grid-template-columns:210px 1fr;gap:16px}.shop-detail-preview{display:flex;align-items:center;justify-content:center;min-height:180px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(0,0,0,.12);overflow:hidden}.shop-detail-preview>img{width:100%;height:180px;object-fit:contain;padding:10px}.shop-detail-preview span{font-size:50px}.shop-detail-info{display:flex;flex-direction:column;gap:8px}.shop-detail-info p{margin:0;line-height:1.45}.shop-detail-price{display:flex;align-items:baseline;gap:8px;margin-top:auto}.shop-detail-price del{opacity:.55}.shop-detail-price strong{font-size:24px}.shop-bundle-detail-head{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.shop-bundle-detail-head h3{margin:0}.shop-bundle-detail-head span{font-size:9px;opacity:.65}.shop-bundle-component-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}.shop-bundle-component{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;border:1px solid rgba(255,255,255,.07);border-radius:8px}.bundle-component-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;background:rgba(255,255,255,.05);font-size:17px}.shop-bundle-component>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.shop-bundle-component>div:nth-child(2) strong,.shop-bundle-component>div:nth-child(2) small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-bundle-component strong{font-size:10px}.shop-bundle-component small{font-size:8px;opacity:.62}.bundle-component-price{display:flex;flex-direction:column;align-items:flex-end}.checkout-dialog{width:min(620px,94vw)}.checkout-summary-total{display:flex;justify-content:space-between;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:9px}.checkout-summary-total strong{font-size:23px}.checkout-items-mini{display:flex;flex-direction:column;gap:4px;margin-top:10px}.checkout-items-mini>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:10px}.checkout-success-dialog{width:min(520px,92vw)}.checkout-success-number{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px;margin-bottom:10px;border:1px solid rgba(93,177,119,.3);border-radius:9px;background:rgba(93,177,119,.07)}.checkout-success-number span{font-size:9px;opacity:.65}.checkout-success-number strong{font-size:20px}.shop-orders-page{display:flex;flex-direction:column;gap:12px}.shop-section-title h2{margin:0}.shop-section-title p{margin:3px 0 0;font-size:11px;opacity:.7}
@media(max-width:1240px){.catalog-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-shop-categories{grid-template-columns:repeat(4,minmax(90px,1fr))}}@media(max-width:900px){.catalog-shop-layout{grid-template-columns:1fr}.catalog-cart-panel{position:static;max-height:none}.catalog-shop-categories{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:620px){.shop-page-heading{align-items:stretch}.shop-heading-actions{justify-content:space-between}.catalog-shop-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-shop-toolbar{flex-direction:column}.catalog-shop-toolbar select{width:100%}.catalog-shop-grid{grid-template-columns:1fr}.catalog-shop-section-head{align-items:flex-start;flex-direction:column}.shop-detail-hero{grid-template-columns:1fr}.shop-bundle-component-list{grid-template-columns:1fr}.catalog-shop-card-footer{align-items:stretch;flex-direction:column}.catalog-shop-card-actions>*{flex:1}}


/* Patch 103 - Preview Catalogo */
.catalog-list-element { display:flex; align-items:center; gap:10px; min-width:0; }
.catalog-list-preview { flex:0 0 48px; display:grid; place-items:center; width:48px; height:48px; overflow:hidden; border:1px solid #dce3ea; border-radius:8px; background:#f6f8fa; color:#475569; }
.catalog-list-preview.large { width:86px; height:86px; flex-basis:86px; }
.catalog-list-preview > img { display:block; width:100%; height:100%; object-fit:contain; padding:4px; box-sizing:border-box; }
.catalog-list-copy { display:flex; flex-direction:column; gap:2px; min-width:0; }
.catalog-list-copy strong,.catalog-list-copy code,.catalog-list-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.catalog-list-copy small { color:#6d7886; max-width:520px; }
.catalog-preview-color,.catalog-shop-color-preview { display:block; width:100%; height:100%; min-width:28px; min-height:28px; }
.catalog-preview-icon { font-size:24px; line-height:1; }
.catalog-editor-preview { display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid #e0e6ed; border-radius:9px; background:#f8fafc; }
.catalog-editor-preview > div { display:flex; flex-direction:column; gap:2px; }
.catalog-editor-preview small { color:#6d7886; }
.catalog-effect-preview { position:relative; display:grid; place-items:center; width:100%; height:100%; min-width:34px; min-height:34px; overflow:hidden; isolation:isolate; }
.catalog-effect-preview::before,.catalog-effect-preview::after { content:"✦  ·  ✦"; position:absolute; inset:auto; color:#fff; opacity:.58; font-size:10px; letter-spacing:3px; transform:rotate(-12deg); }
.catalog-effect-preview::before { top:8%; left:8%; }
.catalog-effect-preview::after { right:4%; bottom:8%; transform:rotate(14deg); }
.catalog-effect-preview b { position:relative; z-index:1; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#0003; color:#fff; font-size:18px; text-shadow:0 1px 3px #0007; }
.catalog-effect-preview.shop b { width:46px; height:46px; font-size:28px; }
.bundle-v2-preview .catalog-effect-preview { min-height:100%; }
.bundle-component-icon .catalog-effect-preview { border-radius:6px; }

/* Catalog asset revision workflow */
.admin-modal-inline-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 10px 0;
    flex-wrap: wrap;
}

.revision-impact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.revision-impact-grid > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid #dfe5ec;
    border-radius: 9px;
    background: #f8fafc;
}

.revision-impact-grid small {
    color: #6d7886;
}

.revision-impact-grid strong {
    font-size: 18px;
}

@media (max-width: 650px) {
    .revision-impact-grid {
        grid-template-columns: 1fr;
    }
}

/* Patch 108 - Shop pre-beta, preview cursori/effetti e carrello visuale */
.shop-bundle-owned-note{margin-top:3px;padding:5px 7px;border-radius:7px;background:rgba(67,160,93,.11);color:#79c98e;font-size:8px;font-weight:700}
.shop-cursor-card-preview{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:inherit!important;opacity:.9}.shop-cursor-card-preview b{font-size:36px;line-height:1}.shop-cursor-card-preview small{font-size:8px;opacity:.68}
.catalog-cart-row{align-items:center}.catalog-cart-preview{flex:0 0 42px;width:42px;height:42px;padding:3px;border:1px solid rgba(255,255,255,.07);border-radius:7px;background:rgba(0,0,0,.12);color:inherit;cursor:pointer;overflow:hidden}.catalog-cart-preview img{width:100%;height:100%;object-fit:contain}.catalog-cart-preview span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:20px}.catalog-cart-row>div:nth-child(2){display:flex;flex:1;flex-direction:column;min-width:0}.catalog-cart-detail-link{align-self:flex-start;margin-top:2px;padding:0;font-size:8px}.catalog-cart-row-price{margin-left:auto}
.shop-effect-live-preview{position:relative;width:100%;height:180px;overflow:hidden;background:radial-gradient(circle at 50% 15%,rgba(255,255,255,.08),rgba(0,0,0,.12))}.shop-effect-live-preview>span{position:absolute!important;left:var(--effect-x);top:-24px;width:var(--effect-particle-size);height:var(--effect-particle-size);font-size:inherit!important;border-radius:50%;background:var(--effect-color,#fff);opacity:var(--effect-opacity,.7);animation:shop-effect-fall var(--effect-duration) linear var(--effect-delay) infinite;pointer-events:none}.shop-effect-live-preview.effect-rain>span{width:2px!important;height:18px!important;border-radius:2px}.shop-effect-live-preview.effect-confetti>span{border-radius:2px}.shop-effect-live-preview.effect-snow>span{box-shadow:0 0 4px currentColor}@keyframes shop-effect-fall{from{transform:translate3d(0,-24px,0) rotate(var(--effect-rotate,0deg))}to{transform:translate3d(var(--effect-drift,0px),230px,0) rotate(calc(var(--effect-rotate,0deg) + 360deg))}}
.shop-cursor-test{display:flex;min-height:180px;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:20px;text-align:center}.shop-cursor-test strong{font-size:15px}.shop-cursor-test small{font-size:9px;opacity:.65}

/* Patch 110 - impostazioni lavagna in modale e configurazione Bundle senza modale intermedia */
.board-settings-modal-backdrop { padding:14px; }
.board-settings-modal {
    width:min(1060px,calc(100vw - 28px));
    max-width:none;
    max-height:calc(100dvh - 28px);
    min-height:min(690px,calc(100dvh - 28px));
}
.board-settings-modal > header { align-items:flex-start; }
.board-settings-modal > header h2 { margin:0; font-size:17px; }
.board-settings-modal > header small { display:block; margin-top:2px; color:#6d7886; font-size:9px; }
.board-settings-modal-body { display:grid; gap:12px; padding:14px; min-height:0; overflow:auto; }
.board-settings-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.board-settings-summary > span { display:flex; align-items:baseline; gap:6px; min-width:0; padding:9px 11px; border:1px solid #e1e6ec; border-radius:9px; background:#f7f9fb; }
.board-settings-summary b { font-size:18px; color:#2e3947; }
.board-settings-summary small { color:#6d7886; font-size:9px; }
.board-settings-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; min-width:0; }
.board-settings-area { min-width:0; padding:12px; border:1px solid #dfe5ec; border-radius:10px; background:#fff; box-shadow:0 1px 2px #11182708; }
.board-settings-layout > .board-settings-area-wide { grid-column:1/-1; }
.board-settings-area-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid #edf0f4; }
.board-settings-area-head > div { min-width:0; }
.board-settings-area-head strong,.board-settings-area-head small { display:block; }
.board-settings-area-head strong { font-size:12px; color:#2f3a48; }
.board-settings-area-head small { margin-top:2px; color:#6f7a89; font-size:9px; line-height:1.35; }
.board-settings-fields { display:grid; gap:9px; min-width:0; }
.board-settings-modal .compact-select { display:grid; gap:4px; min-width:0; width:100%; }
.board-settings-modal .compact-select > span { font-weight:700; color:#566171; }
.board-settings-modal .compact-select > small { color:#7a8592; font-size:8.5px; line-height:1.35; }
.board-settings-modal .compact-select select { width:100%; min-width:0; }
.board-settings-modal .board-setting-group { margin:0; }
.board-settings-decoration-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.board-settings-decoration-grid .board-trash-style-setting { margin:0; padding:0; border:0; }
.board-settings-background-head { align-items:center; }
.board-settings-background-section { margin:0; padding:0; border:0; background:transparent; }
.board-settings-background-grid { grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); max-height:260px; gap:8px; }
.board-settings-background-grid .personal-background-card { padding:6px; }
.board-settings-background-grid .personal-background-card span { font-size:9px; }
.board-background-mode-setting { max-width:260px; margin-top:10px; }
.board-settings-personal-grid { display:grid; grid-template-columns:minmax(220px,1fr) minmax(300px,1.25fr) minmax(180px,.75fr); gap:12px; align-items:start; }
.board-settings-zoom-control { margin:0; }
.board-settings-snap-setting { min-height:58px; padding:8px 10px; border:1px solid #e2e7ed; border-radius:8px; background:#f8fafc; align-items:flex-start; }
.board-settings-snap-setting > span { display:grid; gap:2px; }
.board-settings-snap-setting strong { font-size:10px; }
.board-settings-snap-setting small { color:#7a8592; font-size:8.5px; line-height:1.35; font-weight:400; }
.board-settings-report-area { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.board-settings-report-area .board-settings-area-head { flex:1; margin:0; padding:0; border:0; }
.board-settings-export-button { flex:0 0 auto; margin:0; }
.board-settings-modal-footer { justify-content:space-between; }
.board-settings-modal-footer > small { color:#6f7a89; font-size:9px; }
.trash-style-modal-backdrop { z-index:30100; }
@media(max-width:820px){
    .board-settings-modal { width:min(720px,calc(100vw - 18px)); max-height:calc(100dvh - 18px); min-height:0; }
    .board-settings-layout { grid-template-columns:1fr; }
    .board-settings-layout > .board-settings-area-wide { grid-column:auto; }
    .board-settings-decoration-grid,.board-settings-personal-grid { grid-template-columns:1fr; }
    .board-settings-report-area { align-items:stretch; flex-direction:column; }
    .board-settings-export-button { width:100%; }
}
@media(max-width:520px){
    .board-settings-modal-backdrop { padding:6px; }
    .board-settings-modal { width:calc(100vw - 12px); max-height:calc(100dvh - 12px); }
    .board-settings-summary { grid-template-columns:1fr 1fr 1fr; gap:4px; }
    .board-settings-summary > span { align-items:center; flex-direction:column; gap:0; padding:7px 4px; text-align:center; }
    .board-settings-background-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .board-settings-modal-footer { align-items:stretch; flex-direction:column; }
}


/* Patch 111 - impostazioni lavagna a schede, preset, KPI e preferiti */
.board-settings-tabbed-modal { min-height:min(720px,calc(100dvh - 28px)); }
.board-settings-tabs {
    display:flex;
    align-items:flex-end;
    gap:2px;
    padding:8px 12px 0;
    border-bottom:1px solid #dfe4ea;
    background:#f4f6f8;
    overflow-x:auto;
    flex:0 0 auto;
}
.board-settings-tabs button {
    position:relative;
    flex:0 0 auto;
    min-width:118px;
    padding:9px 14px 8px;
    border:1px solid transparent;
    border-bottom:0;
    border-radius:9px 9px 0 0;
    background:transparent;
    color:#657180;
    font-size:10px;
    font-weight:700;
    cursor:pointer;
}
.board-settings-tabs button:hover { background:#e9edf2; color:#344152; }
.board-settings-tabs button.active {
    margin-bottom:-1px;
    border-color:#d9dfe7;
    border-bottom:1px solid #fff;
    background:#fff;
    color:#273444;
    box-shadow:0 -2px 7px #1118270a;
}
.board-settings-tab-body { display:block; padding:14px; }
.board-settings-tab-panel { display:grid; gap:12px; min-width:0; }
.board-settings-section-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding-bottom:9px;
    border-bottom:1px solid #e8ecf1;
}
.board-settings-section-heading > div { min-width:0; }
.board-settings-section-heading strong { display:block; color:#2d3947; font-size:13px; }
.board-settings-section-heading small { display:block; margin-top:2px; color:#728091; font-size:9px; line-height:1.4; }
.board-settings-section-heading > b { flex:0 0 auto; padding:4px 8px; border:1px solid #dbe2ea; border-radius:999px; background:#f7f9fb; color:#526173; font-size:10px; }
.board-settings-card-grid { display:grid; gap:12px; min-width:0; }
.board-settings-card-grid.two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
.board-settings-card {
    min-width:0;
    padding:12px;
    border:1px solid #dfe5ec;
    border-radius:10px;
    background:#fff;
    box-shadow:0 1px 2px #11182708;
}
.board-settings-card h3 { margin:0 0 8px; color:#394655; font-size:11px; }
.board-settings-card > small { display:block; margin:-3px 0 10px; color:#778392; font-size:8.5px; line-height:1.45; }
.board-settings-inline-warning { display:block; margin-top:7px; padding:7px 8px; border:1px solid #e6dfbd; border-radius:7px; background:#fffbea; color:#74652b; font-size:8.5px; line-height:1.45; }
.board-default-note-color-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.board-default-note-swatches { margin:0; }
.board-default-note-swatches .color-swatch.selected,
.board-default-note-swatches .color-picker-swatch.selected { outline:2px solid #4f8bd8; outline-offset:2px; }
.board-default-note-color-row > b { color:#566171; font-size:10px; }
.board-settings-personal-grid-tabbed { grid-template-columns:minmax(320px,1.35fr) minmax(220px,.75fr); margin-top:10px; }
.board-settings-background-heading { align-items:center; }
.board-settings-background-mode-card { width:min(320px,100%); padding:10px 12px; }
.board-settings-background-mode-card .board-background-mode-setting { max-width:none; margin:0; }
.board-settings-background-grid-tabbed { max-height:none; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); }
.board-settings-background-grid-tabbed .personal-background-card:disabled { opacity:.55; cursor:not-allowed; }
.board-settings-kpi-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.board-settings-kpi-grid article { display:grid; gap:2px; padding:13px 14px; border:1px solid #dfe5ec; border-radius:10px; background:linear-gradient(180deg,#fff,#f8fafc); }
.board-settings-kpi-grid b { color:#2d3947; font-size:20px; line-height:1; }
.board-settings-kpi-grid span { color:#748091; font-size:9px; }
.board-settings-report-card { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.board-settings-report-card h3 { margin:0 0 3px; }
.board-settings-report-card small { color:#748091; font-size:9px; }
.board-settings-tools-grid { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
.board-settings-status { padding:8px 10px; margin-bottom:12px; border:1px solid; border-radius:8px; font-size:9px; font-weight:700; }
.board-settings-status.success { border-color:#b9dcc7; background:#f0faf4; color:#2f6d47; }
.board-settings-status.error { border-color:#e7bcbc; background:#fff4f4; color:#9a3d3d; }
.board-settings-actions-footer { align-items:center; gap:12px; }
.board-settings-footer-left { display:flex; align-items:center; gap:10px; min-width:0; margin-right:auto; }
.board-settings-footer-left small { max-width:330px; color:#748091; font-size:8.5px; line-height:1.35; }
.board-settings-footer-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; flex-wrap:wrap; }
.board-settings-footer-actions button { white-space:nowrap; }

@media(max-width:900px){
    .board-settings-card-grid.two-columns,.board-settings-personal-grid-tabbed { grid-template-columns:1fr; }
    .board-settings-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .board-settings-actions-footer { align-items:stretch; flex-direction:column; }
    .board-settings-footer-left { width:100%; justify-content:space-between; }
    .board-settings-footer-actions { width:100%; justify-content:flex-end; }
}
@media(max-width:620px){
    .board-settings-tabs { padding-left:6px; padding-right:6px; }
    .board-settings-tabs button { min-width:104px; padding:8px 10px 7px; }
    .board-settings-kpi-grid { grid-template-columns:1fr 1fr; }
    .board-settings-report-card { align-items:stretch; flex-direction:column; }
    .board-settings-footer-left { align-items:stretch; flex-direction:column; }
    .board-settings-footer-actions { display:grid; grid-template-columns:1fr 1fr; }
    .board-settings-footer-actions button { width:100%; }
}

/* Patch 112 - schede personalizzazione visuali, tab senza scroll e footer compatto */
.board-settings-tabs{
    display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr));
    align-items:end;
    gap:2px;
    overflow:visible;
    padding:7px 10px 0;
}
.board-settings-tabs button{
    min-width:0;
    width:100%;
    padding:8px 6px 7px;
    font-size:9px;
    line-height:1.15;
    white-space:normal;
}
.board-settings-personalization-heading{align-items:center;}
.board-settings-owned-switch{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#5f6c7a;font-size:9px;font-weight:700;cursor:pointer;}
.board-settings-owned-switch input{margin:0;}
.board-settings-personalization-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:10px;align-items:stretch;}
.board-settings-product-card{display:grid;grid-template-rows:118px auto auto;gap:8px;min-width:0;padding:9px;border:1px solid #dfe5ec;border-radius:10px;background:#fff;box-shadow:0 1px 2px #11182708;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;}
.board-settings-product-card.active{border-color:#4f8bd8;box-shadow:0 0 0 2px rgba(79,139,216,.14),0 2px 7px #11182710;}
.board-settings-product-card.not-owned{background:#f5f6f7;border-color:#d8dde3;}
.board-settings-product-card.not-owned .board-settings-product-preview{filter:grayscale(1);opacity:.58;}
.board-settings-product-card.tenant-blocked{border-style:dashed;}
.board-settings-product-card.special{background:#fafbfc;}
.board-settings-product-preview{display:flex;align-items:center;justify-content:center;min-width:0;height:118px;overflow:hidden;border:1px solid #e1e6ec;border-radius:8px;background:#f3f5f7;}
.board-settings-product-preview img{display:block;width:100%;height:100%;object-fit:contain;}
.board-settings-product-preview>span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:38px;line-height:1;background:#eef2f5;}
.board-settings-product-preview.none>span{font-size:32px;color:#8994a1;background:repeating-linear-gradient(135deg,#f8f9fa,#f8f9fa 8px,#f0f2f4 8px,#f0f2f4 16px);}
.board-settings-product-preview.theme>span{color:#5f6e80;background:linear-gradient(135deg,#f8fafc,#e9eef4);}
.board-settings-product-info{display:grid;align-content:start;gap:3px;min-width:0;}
.board-settings-product-info>strong{overflow:hidden;color:#334052;font-size:10px;text-overflow:ellipsis;white-space:nowrap;}
.board-settings-product-info>small{display:-webkit-box;overflow:hidden;color:#748091;font-size:8px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.board-settings-product-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px;}
.board-settings-product-badges span{padding:2px 5px;border-radius:999px;font-size:7px;font-weight:800;line-height:1.2;}
.board-settings-product-badges .owned{background:#e8f6ed;color:#2f7047;}
.board-settings-product-badges .tenant{background:#eef2ff;color:#4757a6;}
.board-settings-product-badges .available{background:#edf5fb;color:#376783;}
.board-settings-product-badges .shop{background:#f0f1f3;color:#626c78;}
.board-settings-product-badges .blocked{background:#fff0f0;color:#9a4545;}
.board-settings-product-card>button{width:100%;align-self:end;}
.board-settings-product-card>button.active{border-color:#4f8bd8;background:#edf5ff;color:#315f98;}
.board-settings-tenant-note{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid #dfe5ec;border-radius:8px;background:#f8fafc;color:#687586;font-size:8.5px;line-height:1.4;}
.board-settings-tenant-note strong{flex:0 0 auto;color:#465466;}
.board-settings-actions-footer{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;min-height:0;padding:7px 10px!important;white-space:nowrap;}
.board-settings-load-defaults{flex:0 0 auto;padding:6px 9px!important;font-size:9px!important;line-height:1.1;}
.board-settings-footer-actions{display:flex!important;flex:1 1 auto;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:nowrap!important;min-width:0;}
.board-settings-footer-actions button{width:auto!important;padding:6px 9px!important;font-size:9px!important;line-height:1.1;white-space:nowrap;}
@media(max-width:900px){
    .board-settings-tabs{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:5px;}
    .board-settings-tabs button{border-bottom:1px solid transparent;border-radius:7px;}
    .board-settings-tabs button.active{margin-bottom:0;border-bottom-color:#d9dfe7;}
    .board-settings-actions-footer{gap:5px!important;}
    .board-settings-load-defaults,.board-settings-footer-actions button{padding:5px 6px!important;font-size:8px!important;}
}
@media(max-width:620px){
    .board-settings-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}
    .board-settings-personalization-grid{grid-template-columns:1fr 1fr;}
    .board-settings-actions-footer{overflow-x:auto;}
}

/* Patch 114 - impostazioni lavagna stabili al resize, preview Skin reale e Shop utente leggibile */
.board-settings-modal-backdrop { cursor:default; }
.board-settings-modal { resize:both; }
.board-settings-theme-default-preview { position:relative; isolation:isolate; }
.board-settings-theme-effect-preview {
    position:relative !important;
    inset:auto !important;
    width:100%;
    height:100%;
    min-height:100%;
    overflow:hidden;
    background:linear-gradient(145deg,#283241,#151b23);
}
.board-settings-theme-effect-preview > i { z-index:1; }
.board-settings-theme-empty-preview,
.board-settings-theme-system-cursor {
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    background:linear-gradient(145deg,#f8fafc,#e8edf3) !important;
    color:#5a6878 !important;
}
.board-settings-theme-system-cursor { font-size:48px !important; }
.board-settings-theme-empty-preview { font-size:34px !important; color:#8b96a3 !important; }

/* Lo Shop è UI utente: non eredita i pannelli quasi neri della Skin della board. */
.catalog-shop-category {
    border-color:#d7dee7;
    background:#fff;
    color:#344152;
    box-shadow:0 1px 2px #1118270a;
}
.catalog-shop-category:hover {
    border-color:#aebdcd;
    background:#f7f9fb;
    color:#263445;
    box-shadow:0 0 0 1px #aebdcd33;
}
.catalog-shop-category.active {
    border-color:var(--accent-color,#d99a2b);
    background:color-mix(in srgb,var(--accent-color,#d99a2b) 9%,#fff);
    color:#263445;
    box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-color,#d99a2b) 24%,transparent);
}
.catalog-shop-category small { background:#eef2f6; color:#657180; }
.catalog-shop-category.active small { background:color-mix(in srgb,var(--accent-color,#d99a2b) 15%,#fff); color:#5d4b22; }

/* Patch 115 - Skin come categoria autonoma nelle impostazioni lavagna */
.board-settings-tabs { grid-template-columns:repeat(9,minmax(0,1fr)); }
.board-settings-skin-grid { align-items:stretch; }
.board-settings-skin-preview { padding:8px; background:#eef2f5; }
.board-settings-skin-miniature {
    position:relative;
    width:100%;
    height:100%;
    min-height:100px;
    overflow:hidden;
    border:2px solid #315f91;
    border-radius:8px;
    background:#b98555;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.board-settings-skin-miniature .skin-mini-toolbar {
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:15px;
    background:#315f91;
    opacity:.92;
}
.board-settings-skin-miniature .skin-mini-note {
    position:absolute;
    width:36%;
    height:35%;
    border-radius:3px;
    box-shadow:0 3px 8px rgba(15,23,42,.18);
}
.board-settings-skin-miniature .skin-mini-note.note-a { left:8%; top:27%; background:#ffe77a; transform:rotate(-2deg); }
.board-settings-skin-miniature .skin-mini-note.note-b { right:9%; top:22%; background:#a8ddf1; transform:rotate(2deg); }
.board-settings-skin-miniature .skin-mini-note.note-c { left:33%; bottom:7%; width:34%; height:31%; background:#f5bfd5; transform:rotate(1deg); }
.board-settings-skin-default-miniature {
    background:linear-gradient(135deg,#bd8958,#a87448);
    border-color:#315f91;
}
.board-settings-skin-shop-miniature { border-color:#7b8794; }
.board-settings-skin-card.not-owned .board-settings-skin-miniature { filter:grayscale(1); }
@media(max-width:900px){
    .board-settings-tabs { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media(max-width:620px){
    .board-settings-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

/* Patch 116 - filtri Shop robusti, stato Catalogo Contenuti ed effetti avanzati */
.catalog-shop-category { text-decoration:none; }
.catalog-shop-category:visited { color:#344152; }
.catalog-shop-category.active:visited { color:#263445; }

.content-catalog-pending-badge {
    display:inline-grid;
    place-items:center;
    min-width:18px;
    height:18px;
    padding:0 5px;
    margin-left:4px;
    border-radius:999px;
    background:#d97706;
    color:#fff;
    font-size:9px;
    font-weight:900;
    line-height:1;
    box-shadow:0 1px 2px #0002;
}
.content-catalog-pending-note {
    display:inline-flex;
    align-items:center;
    width:max-content;
    margin-top:4px;
    padding:3px 6px;
    border:1px solid #f1c27a;
    border-radius:999px;
    background:#fff7e6;
    color:#9a5a00;
    font-size:8px;
    font-weight:800;
}
.content-studio-tabs .content-catalog-pending-badge { margin-left:auto; }

.effect-palette-editor {
    display:grid;
    gap:8px;
    padding:9px 10px;
    border:1px solid #dce4ec;
    border-radius:9px;
    background:#f8fafc;
}
.effect-palette-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.effect-palette-head small { color:#6b7888; font-size:8px; }
.effect-palette-colors { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.effect-palette-color { display:flex; align-items:center; gap:4px; padding:4px; border:1px solid #d7e0e8; border-radius:8px; background:#fff; }
.effect-palette-color input[type="color"] { width:36px; height:30px; padding:1px; border:0; background:transparent; cursor:pointer; }
.effect-palette-color .mini-button { width:24px; height:24px; min-height:24px; padding:0; display:grid; place-items:center; }
.effect-wind-range { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; padding:9px 10px; border:1px solid #dce4ec; border-radius:9px; background:#f8fafc; }
.effect-wind-range > small { grid-column:1/-1; color:#687789; font-size:8px; }
.effect-wind-range label { display:grid; gap:4px; }

.effect-preview span {
    background:var(--effect-particle-color,var(--effect-color));
    opacity:var(--effect-particle-opacity,var(--effect-opacity));
}
.effect-preview.effect-rain span { transform:rotate(var(--effect-angle,0deg)); transform-origin:center; }

.board-visual-effect > i {
    opacity:var(--effect-particle-opacity,var(--effect-opacity,.7));
    background:var(--effect-particle-color,var(--effect-color,#fff));
}
.board-visual-effect.effect-snow > i {
    box-shadow:0 0 calc(var(--effect-particle-size) * .45) color-mix(in srgb,var(--effect-particle-color,var(--effect-color,#fff)) 55%,transparent);
}
.board-visual-effect.effect-rain > i {
    animation-name:board-effect-rain-fall;
    transform-origin:center;
}
/* La goccia segue e mantiene l'orientamento della stessa traiettoria generata dal vento. */
@keyframes board-effect-rain-fall {
    from { transform:translate3d(0,-8vh,0) rotate(var(--effect-angle,0deg)); }
    to { transform:translate3d(var(--effect-drift),112vh,0) rotate(var(--effect-angle,0deg)); }
}

.shop-effect-live-preview>span {
    background:var(--effect-particle-color,var(--effect-color,#fff));
    opacity:var(--effect-particle-opacity,var(--effect-opacity,.7));
}
.shop-effect-live-preview.effect-rain>span { animation-name:shop-effect-rain-fall; transform-origin:center; }
@keyframes shop-effect-rain-fall {
    from { transform:translate3d(0,-24px,0) rotate(var(--effect-angle,0deg)); }
    to { transform:translate3d(var(--effect-drift,0px),230px,0) rotate(var(--effect-angle,0deg)); }
}

@media(max-width:760px){
    .effect-wind-range { grid-template-columns:1fr; }
    .effect-wind-range > small { grid-column:auto; }
}
.board-visual-effect.effect-confetti > i { filter:none; }
.shop-effect-live-preview.effect-snow>span { box-shadow:0 0 4px color-mix(in srgb,var(--effect-particle-color,var(--effect-color,#fff)) 60%,transparent); }


/* 251: one aligned action row; copy label is inline rather than above select. */
.board-settings-actions-footer { justify-content:flex-start!important; align-items:center!important; overflow-x:auto; }
.board-settings-actions-footer .board-settings-load-defaults { margin-right:0!important; flex:0 0 auto; }
.board-settings-footer-actions { justify-content:flex-start!important; align-items:center!important; }
.board-settings-actions-footer button,.board-settings-actions-footer select { height:34px!important; min-height:34px!important; box-sizing:border-box; font-size:10px!important; padding:6px 9px!important; }
.board-settings-footer-actions .board-style-source { display:flex!important; flex-direction:row!important; flex-wrap:nowrap!important; align-items:center!important; gap:6px; margin:0!important; white-space:nowrap; font-size:10px; }
.board-settings-footer-actions .board-style-source select { margin:0!important; width:190px; min-width:140px; }
