/* Mo Media — Dashboard */

:root {
    --dash-primary: #007bff;
    --dash-primary-dark: #0056b3;
    --dash-primary-light: #e6f2ff;
    --dash-bg: #f3f5f9;
    --dash-sidebar: #111827;
    --dash-sidebar-hover: #1f2937;
    --dash-text: #1f2937;
    --dash-text-muted: #6b7280;
    --dash-border: #e5e7eb;
    --dash-white: #ffffff;
    --dash-danger: #dc3545;
    --dash-sidebar-width: 260px;
    --dash-topbar-height: 64px;
    --dash-radius: 10px;
    --dash-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);

    /* Logo sidebar: file 1024×1024 con molto spazio vuoto — zoom + crop nel frame */
    --dash-logo-login-height: 72px;
    --dash-logo-login-max-w: 240px;

    --dash-logo-sidebar-frame-w: 148px;
    --dash-logo-sidebar-frame-h: 40px;
    --dash-logo-sidebar-zoom: 1.5;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    font-family: 'Source Sans 3', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
    color: var(--dash-text);
    background: var(--dash-bg);
}

.dashboard-body {
    min-height: 100vh;
}

.dashboard-app {
    display: flex;
    min-height: 100vh;
}

.dashboard-sidebar {
    width: var(--dash-sidebar-width);
    flex-shrink: 0;
    background: var(--dash-sidebar);
    color: var(--dash-white);
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
    z-index: 30;
}

.dashboard-sidebar__brand {
    padding: 1.25rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.dashboard-sidebar__brand-link {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
    color: inherit;
    text-decoration: none;
}

.dashboard-sidebar__logo-frame {
    display: block;
    width: var(--dash-logo-sidebar-frame-w);
    max-width: 100%;
    height: var(--dash-logo-sidebar-frame-h);
    overflow: hidden;
    line-height: 0;
}

.dashboard-sidebar__logo {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    object-position: center center;
    transform: scale(var(--dash-logo-sidebar-zoom));
    transform-origin: center center;
}

.dashboard-sidebar__brand-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.dashboard-sidebar__brand-text small {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dashboard-sidebar__nav {
    flex: 1;
    padding: 1rem 0.75rem;
    overflow-y: auto;
}

.dashboard-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.dashboard-nav__link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0.9rem;
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    font-weight: 600;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.dashboard-nav__link:hover,
.dashboard-nav__link.is-active {
    background: var(--dash-sidebar-hover);
    color: var(--dash-white);
}

.dashboard-nav__link.is-active {
    box-shadow: inset 3px 0 0 var(--dash-primary);
}

.dashboard-nav__link.is-logout {
    color: #fca5a5;
}

.dashboard-nav__link.is-logout:hover {
    background: rgba(220, 53, 69, 0.15);
    color: #fecaca;
}

.dashboard-nav__icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    opacity: 0.9;
    background: currentColor;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
}

.dashboard-nav__icon--home {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 10.5 12 3l9 7.5V21a1 1 0 0 1-1 1h-5v-7H9v7H4a1 1 0 0 1-1-1v-10.5Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 10.5 12 3l9 7.5V21a1 1 0 0 1-1 1h-5v-7H9v7H4a1 1 0 0 1-1-1v-10.5Z'/%3E%3C/svg%3E");
}

.dashboard-nav__icon--videos {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='6' width='18' height='12' rx='2'/%3E%3Cpath d='m10 9.5 5 2.5-5 2.5v-5Z' fill='black' stroke='none'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='6' width='18' height='12' rx='2'/%3E%3Cpath d='m10 9.5 5 2.5-5 2.5v-5Z' fill='black' stroke='none'/%3E%3C/svg%3E");
}

.dashboard-nav__icon--teams {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Ccircle cx='16' cy='9' r='3'/%3E%3Cpath d='M3 20c0-3 3-5 5-5M21 20c0-2.5-2.5-4.5-5-4.5'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Ccircle cx='16' cy='9' r='3'/%3E%3Cpath d='M3 20c0-3 3-5 5-5M21 20c0-2.5-2.5-4.5-5-4.5'/%3E%3C/svg%3E");
}

.dashboard-nav__icon--articles {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M6 4h9l3 3v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1Z'/%3E%3Cpath d='M15 4v4h4M8 12h8M8 16h8'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M6 4h9l3 3v13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1Z'/%3E%3Cpath d='M15 4v4h4M8 12h8M8 16h8'/%3E%3C/svg%3E");
}

.dashboard-nav__icon--archive {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 7h18v3H3V7Z'/%3E%3Cpath d='M5 10v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-9'/%3E%3Cpath d='M10 14h4'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M3 7h18v3H3V7Z'/%3E%3Cpath d='M5 10v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-9'/%3E%3Cpath d='M10 14h4'/%3E%3C/svg%3E");
}

.dashboard-nav__icon--sponsors {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 3 3 7.5 12 12l9-4.5L12 3Z'/%3E%3Cpath d='M3 12.5 12 17l9-4.5M3 17.5 12 22l9-4.5'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 3 3 7.5 12 12l9-4.5L12 3Z'/%3E%3Cpath d='M3 12.5 12 17l9-4.5M3 17.5 12 22l9-4.5'/%3E%3C/svg%3E");
}

.dashboard-nav__icon--applications {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='4' y='3' width='16' height='18' rx='1'/%3E%3Cpath d='M8 8h8M8 12h8M8 16h5'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='4' y='3' width='16' height='18' rx='1'/%3E%3Cpath d='M8 8h8M8 12h8M8 17h5'/%3E%3C/svg%3E");
}

.dashboard-nav__icon--privacy {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 3 5 6v5c0 5 3.5 8.5 7 10 3.5-1.5 7-5 7-10V6l-7-3Z'/%3E%3Cpath d='M9.5 12.5 11 14l3.5-3.5'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 3 5 6v5c0 5 3.5 8.5 7 10 3.5-1.5 7-5 7-10V6l-7-3Z'/%3E%3Cpath d='M9.5 12.5 11 14l3.5-3.5'/%3E%3C/svg%3E");
}

.dashboard-nav__icon--guide {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h12v18H6a2 2 0 0 0-2 2V5Z'/%3E%3Cpath d='M8 7h8M8 11h8M8 15h5'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h12v18H6a2 2 0 0 0-2 2V5Z'/%3E%3Cpath d='M8 7h8M8 11h8M8 15h5'/%3E%3C/svg%3E");
}

.dashboard-nav__icon--external {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M14 5h5v5M10 14 19 5M19 14v5H5V5h5'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M14 5h5v5M10 14 19 5M19 14v5H5V5h5'/%3E%3C/svg%3E");
}

.dashboard-nav__icon--logout {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E");
}

.dashboard-nav__icon--settings {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 15.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Z'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.2a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.2a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3 1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.2a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8 1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.2a1.7 1.7 0 0 0-1.5 1Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 15.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Z'/%3E%3Cpath d='M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.2a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.2a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3 1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.2a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8 1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.2a1.7 1.7 0 0 0-1.5 1Z'/%3E%3C/svg%3E");
}

.dashboard-sidebar__user {
    padding: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.9rem;
}

.dashboard-sidebar__user-label {
    display: block;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.25rem;
}

.dashboard-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.dashboard-topbar {
    height: var(--dash-topbar-height);
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0 1.25rem;
    background: var(--dash-white);
    border-bottom: 1px solid var(--dash-border);
    position: sticky;
    top: 0;
    z-index: 20;
}

.dashboard-topbar__toggle {
    display: none;
    width: 42px;
    height: 42px;
    border: 1px solid var(--dash-border);
    border-radius: 8px;
    background: var(--dash-white);
    padding: 0.55rem;
}

.dashboard-topbar__toggle span {
    display: block;
    height: 2px;
    margin: 4px 0;
    background: var(--dash-text);
    border-radius: 2px;
}

.dashboard-topbar__title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
}

.dashboard-content {
    padding: 1.25rem;
}

.dashboard-content--azure {
    flex: 1;
    background: var(--dash-primary-light);
    min-height: calc(100vh - var(--dash-topbar-height));
}

.dashboard-panel {
    background: var(--dash-white);
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    box-shadow: var(--dash-shadow);
    padding: clamp(1rem, 3vw, 1.5rem);
}

.dashboard-panel__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.dashboard-panel__header-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.dashboard-panel__header h2,
.dashboard-welcome h2 {
    margin: 0 0 0.35rem;
    font-size: 1.35rem;
}

.dashboard-panel__header p,
.dashboard-welcome p {
    margin: 0;
    color: var(--dash-text-muted);
}

.dashboard-welcome {
    margin-bottom: 1.5rem;
}

.dashboard-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 1rem;
}

.dashboard-cards--compact {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.dashboard-card {
    display: block;
    padding: 1.1rem;
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    background: var(--dash-bg);
    color: inherit;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.dashboard-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--dash-shadow);
    border-color: var(--dash-primary);
}

.dashboard-card--outline {
    background: var(--dash-white);
}

.dashboard-card--static {
    pointer-events: none;
}

.dashboard-card h3 {
    margin: 0 0 0.5rem;
    font-size: 1rem;
}

.dashboard-card p {
    margin: 0;
    color: var(--dash-text-muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

.dashboard-card code,
.dashboard-table code {
    font-size: 0.82rem;
    background: var(--dash-primary-light);
    color: var(--dash-primary-dark);
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
}

.dashboard-card__icon {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--dash-primary-light);
    margin-bottom: 0.75rem;
    font-size: 1.2rem;
}

.dashboard-table-wrap {
    overflow-x: auto;
}

.dashboard-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.92rem;
}

.dashboard-table th,
.dashboard-table td {
    padding: 0.8rem 0.75rem;
    border-bottom: 1px solid var(--dash-border);
    text-align: left;
    vertical-align: top;
}

.dashboard-table__details p {
    margin: 0 0 0.5rem;
    white-space: pre-wrap;
}

.dashboard-table__details ul {
    margin: 0;
    padding-left: 1.1rem;
}

.dashboard-table__details li + li {
    margin-top: 0.25rem;
}

.dashboard-table thead th {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--dash-text-muted);
    background: var(--dash-bg);
}

.dashboard-muted {
    color: var(--dash-text-muted);
}

.dashboard-note {
    margin: 1.25rem 0 0;
    color: var(--dash-text-muted);
    font-size: 0.9rem;
}

.dashboard-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 1.1rem;
    border: none;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

.dashboard-btn--primary {
    background: var(--dash-primary);
    color: var(--dash-white);
}

.dashboard-btn--primary:hover {
    background: var(--dash-primary-dark);
}

.dashboard-btn--ghost {
    background: var(--dash-white);
    color: var(--dash-text);
    border: 1px solid var(--dash-border);
}

.dashboard-btn--danger {
    background: var(--dash-danger);
    color: var(--dash-white);
}

.dashboard-btn--small {
    padding: 0.45rem 0.75rem;
    font-size: 0.82rem;
}

.dashboard-btn--full {
    width: 100%;
}

.dashboard-alert {
    padding: 0.85rem 1rem;
    border-radius: 8px;
    margin-bottom: 1rem;
    font-size: 0.92rem;
}

.dashboard-alert--error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.dashboard-alert--success {
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.dashboard-alert--warning {
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
}

.dashboard-flash {
    position: fixed;
    top: 1.25rem;
    left: 50%;
    z-index: 1200;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: min(92vw, 320px);
    padding: 0.95rem 1.15rem;
    border-radius: 10px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
    transform: translate(-50%, -120%);
    opacity: 0;
    animation: dashboard-flash-in 0.35s ease forwards;
}

.dashboard-flash.is-hiding {
    animation: dashboard-flash-out 0.25s ease forwards;
}

.dashboard-flash--success {
    background: #065f46;
    color: #ffffff;
    border: 1px solid #047857;
}

.dashboard-flash__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    font-weight: 700;
    flex-shrink: 0;
}

.dashboard-flash__text {
    font-size: 0.98rem;
    font-weight: 600;
}

@keyframes dashboard-flash-in {
    from {
        transform: translate(-50%, -120%);
        opacity: 0;
    }

    to {
        transform: translate(-50%, 0);
        opacity: 1;
    }
}

@keyframes dashboard-flash-out {
    from {
        transform: translate(-50%, 0);
        opacity: 1;
    }

    to {
        transform: translate(-50%, -120%);
        opacity: 0;
    }
}

.dashboard-login-body {
    min-height: 100vh;
    background: var(--dash-bg);
}

.dashboard-login {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    min-height: 100vh;
}

.dashboard-login__hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: clamp(2rem, 5vw, 4rem);
    background:
        linear-gradient(160deg, rgba(200, 16, 46, 0.18) 0%, transparent 42%),
        linear-gradient(180deg, #171717 0%, #111827 100%);
    color: #ffffff;
    overflow: hidden;
}

.dashboard-login__hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.08), transparent 28%),
        radial-gradient(circle at 80% 0%, rgba(200, 16, 46, 0.22), transparent 32%);
    pointer-events: none;
}

.dashboard-login__hero-inner {
    position: relative;
    z-index: 1;
    max-width: 34rem;
}

.dashboard-login__hero-kicker {
    margin: 0 0 0.85rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
}

.dashboard-login__hero-title {
    margin: 0 0 1rem;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
    line-height: 1.15;
    font-weight: 700;
}

.dashboard-login__hero-text {
    margin: 0;
    max-width: 32ch;
    font-size: 1rem;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.78);
}

.dashboard-login__main {
    display: grid;
    place-items: center;
    padding: clamp(1.25rem, 4vw, 2.5rem);
}

.dashboard-login__card {
    width: min(100%, 420px);
    background: var(--dash-white);
    border: 1px solid var(--dash-border);
    border-radius: 18px;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.08);
    padding: clamp(1.5rem, 3vw, 2rem);
}

.dashboard-login__brand {
    text-align: center;
    margin-bottom: 1.5rem;
}

.dashboard-login__logo-link {
    display: inline-block;
    margin-bottom: 1.25rem;
    text-decoration: none;
}

.dashboard-login__logo-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
    line-height: 0;
}

.dashboard-login__logo {
    display: block;
    width: auto;
    height: var(--dash-logo-login-height);
    max-width: min(100%, var(--dash-logo-login-max-w));
    object-fit: contain;
    object-position: center center;
}

.dashboard-login__brand h1 {
    margin: 0 0 0.35rem;
    font-size: 1.45rem;
    font-weight: 700;
    color: var(--dash-text);
}

.dashboard-login__brand p {
    margin: 0;
    color: var(--dash-text-muted);
    font-size: 0.95rem;
}

.dashboard-login__form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.dashboard-login__submit {
    margin-top: 0.35rem;
    min-height: 46px;
    font-size: 0.95rem;
    font-weight: 700;
}

.dashboard-login__back {
    margin: 1.25rem 0 0;
    text-align: center;
    font-size: 0.9rem;
}

.dashboard-login__back a {
    color: var(--dash-text-muted);
    text-decoration: none;
}

.dashboard-login__back a:hover {
    color: var(--dash-primary-dark);
    text-decoration: underline;
}

@media (max-width: 900px) {
    .dashboard-login {
        grid-template-columns: 1fr;
    }

    .dashboard-login__hero {
        min-height: 220px;
        align-items: center;
    }

    .dashboard-login__hero-text {
        max-width: none;
    }
}

.dashboard-field label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.9rem;
    font-weight: 600;
}

.dashboard-field input,
.dashboard-field textarea,
.dashboard-field select {
    width: 100%;
    padding: 0.75rem 0.85rem;
    border: 1px solid var(--dash-border);
    border-radius: 8px;
    font: inherit;
    background: var(--dash-white);
}

.dashboard-field textarea {
    min-height: 5rem;
    line-height: 1.55;
    resize: vertical;
}

.dashboard-field input:focus,
.dashboard-field textarea:focus,
.dashboard-field select:focus {
    outline: 2px solid rgba(0, 123, 255, 0.25);
    border-color: var(--dash-primary);
}

.dashboard-settings {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.dashboard-settings__section {
    width: 100%;
}

.dashboard-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.dashboard-form--grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 1rem;
}

.dashboard-form--inline {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 1rem;
}

.dashboard-form--boxed {
    padding: 1rem;
    margin-bottom: 1.25rem;
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    background: var(--dash-bg);
}

.dashboard-form--boxed h3 {
    margin: 0 0 0.75rem;
    font-size: 1rem;
}

.dashboard-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.dashboard-form--grid .dashboard-form__actions {
    grid-column: 1 / -1;
}

.dashboard-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dashboard-badge--success {
    background: #dcfce7;
    color: #166534;
}

.dashboard-badge--warning {
    background: #fef3c7;
    color: #92400e;
}

.dashboard-badge--info {
    background: var(--dash-primary-light);
    color: var(--dash-primary-dark);
    margin-left: 0.35rem;
}

.dashboard-badge--muted {
    background: rgba(15, 23, 42, 0.08);
    color: #475569;
}

.dashboard-list-toolbar {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    margin-bottom: 1.25rem;
    padding: 0.85rem;
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    background: var(--dash-bg);
}

.dashboard-list-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.dashboard-list-tabs__item {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--dash-border);
    border-radius: 0.45rem;
    background: #fff;
    color: var(--dash-text);
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 600;
}

.dashboard-list-tabs__item span {
    color: var(--dash-text-muted);
    font-weight: 700;
}

.dashboard-list-tabs__item.is-active {
    border-color: rgba(47, 111, 237, 0.45);
    background: rgba(47, 111, 237, 0.08);
    color: var(--dash-primary-dark);
}

.dashboard-list-tabs--kind {
    margin: 0 0 1rem;
}

.dashboard-list-tabs--kind .dashboard-list-tabs__item {
    min-width: 7.5rem;
    justify-content: center;
}

.dashboard-list-toolbar__search {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.dashboard-list-toolbar__search input[type="search"] {
    flex: 1 1 220px;
    min-width: 0;
    padding: 0.6rem 0.75rem;
    border: 1px solid var(--dash-border);
    border-radius: 0.45rem;
    font: inherit;
}

.dashboard-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--dash-border);
    color: var(--dash-text-muted);
    font-size: 0.9rem;
}

.dashboard-archive-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    gap: 0.85rem;
    margin-bottom: 1.5rem;
}

.dashboard-archive-section {
    margin-bottom: 2rem;
}

.dashboard-archive-section h3 {
    margin: 0 0 0.85rem;
    font-size: 1.05rem;
}

.dashboard-archive-list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.dashboard-archive-item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 0.85rem;
    align-items: center;
    padding: 0.75rem;
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    background: #fff;
}

.dashboard-archive-item--video {
    grid-template-columns: minmax(0, 1fr) auto;
}

.dashboard-archive-item:has(.dashboard-archive-item__body:first-child) {
    grid-template-columns: minmax(0, 1fr) auto;
}

.dashboard-archive-item__thumb {
    width: 72px;
    height: 54px;
    overflow: hidden;
    border-radius: 0.35rem;
    background: #111;
}

.dashboard-archive-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dashboard-archive-item__body {
    min-width: 0;
}

.dashboard-archive-item__body h4 {
    margin: 0.35rem 0 0.2rem;
    font-size: 0.98rem;
    line-height: 1.3;
}

.dashboard-archive-item__body p {
    margin: 0;
    color: var(--dash-text-muted);
    font-size: 0.82rem;
}

.dashboard-archive-item__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: flex-end;
}

@media (max-width: 720px) {
    .dashboard-archive-item {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .dashboard-archive-item__actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

.dashboard-table-wrap--spaced {
    margin-top: 1rem;
}

.dashboard-table__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}

.dashboard-inline-form {
    display: inline;
}

.dashboard-content > .dashboard-alert {
    margin-bottom: 1rem;
}

.dashboard-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.45);
    z-index: 25;
}

.dashboard-overlay[hidden] {
    display: none !important;
}

@media (max-width: 900px) {
    .dashboard-sidebar {
        position: fixed;
        left: 0;
        top: 0;
        transform: translateX(-100%);
        transition: transform 0.25s ease;
    }

    .dashboard-sidebar.is-open {
        transform: translateX(0);
    }

    .dashboard-topbar__toggle {
        display: inline-flex;
        flex-direction: column;
        justify-content: center;
    }

    .dashboard-content {
        padding: 1rem;
    }
}

/* Gestione homepage */
.dashboard-home-manager {
    width: 100%;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.dashboard-home-section-title {
    margin: 1.5rem 0 0.35rem;
    font-size: 1.05rem;
}

.dashboard-note--tight {
    margin-top: 0;
    margin-bottom: 1rem;
}

.dashboard-home-grid-slots {
    margin-bottom: 1.5rem;
    padding: 1rem;
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    background: var(--dash-bg);
}

.dashboard-home-grid-slots__head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.dashboard-home-grid-slots__head h3 {
    margin: 0 0 0.35rem;
    font-size: 1.05rem;
}

.dashboard-home-grid-slots__head p {
    margin: 0;
    max-width: 62ch;
    color: var(--dash-text-muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.dashboard-home-grid-slots__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
    gap: 0.85rem;
    align-items: stretch;
}

#homepage-video-slots,
#homepage-highlight-slots {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dashboard-home-grid-slot {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    height: 100%;
    min-height: 140px;
    padding: 0.85rem;
    border: 1px dashed var(--dash-border);
    border-radius: var(--dash-radius);
    background: #fff;
}

.dashboard-home-grid-slot.is-filled {
    border-style: solid;
}

.dashboard-home-grid-slot__label {
    flex: 0 0 auto;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--dash-text-muted);
}

.dashboard-home-grid-slot__card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    gap: 0.65rem;
    align-items: center;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
}

.dashboard-home-grid-slot__thumb {
    width: 72px;
    height: 54px;
    overflow: hidden;
    border-radius: 0.35rem;
    background: #111;
}

.dashboard-home-grid-slot__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dashboard-home-grid-slot__body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.dashboard-home-grid-slot__body strong {
    font-size: 0.92rem;
    line-height: 1.3;
}

.dashboard-home-grid-slot__body span {
    color: var(--dash-text-muted);
    font-size: 0.8rem;
}

.dashboard-home-grid-slot__empty .dashboard-field {
    margin: 0;
}

.dashboard-home-grid-slot__pick {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    width: 100%;
    min-height: 88px;
    padding: 0.85rem;
    border: 0;
    border-radius: 0.45rem;
    background: rgba(47, 111, 237, 0.06);
    color: var(--dash-text);
    font-size: 0.92rem;
    font-weight: 700;
    cursor: pointer;
    text-align: center;
    transition: background 0.15s ease;
}

.dashboard-home-grid-slot__pick:hover {
    background: rgba(47, 111, 237, 0.12);
}

@media (max-width: 1100px) {
    #homepage-video-slots,
    #homepage-highlight-slots {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    #homepage-video-slots,
    #homepage-highlight-slots,
    .dashboard-home-grid-slots__list {
        grid-template-columns: minmax(0, 1fr);
    }

    .dashboard-home-grid-slot {
        min-height: 120px;
    }

    .dashboard-home-grid-slot__card {
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .dashboard-home-grid-slot__card .dashboard-btn {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .dashboard-home-grid-slot__pick {
        min-height: 72px;
    }
}

body.dashboard-picker-open {
    overflow: hidden;
}

.dashboard-article-picker {
    position: fixed;
    inset: 0;
    z-index: 80;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.dashboard-article-picker[hidden] {
    display: none;
}

.dashboard-article-picker__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 39, 0.45);
}

.dashboard-article-picker__panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    width: min(100%, 560px);
    max-height: min(82vh, 680px);
    padding: 1rem 1rem 0.85rem;
    border-radius: 0.75rem;
    background: #fff;
    box-shadow: 0 18px 48px rgba(15, 23, 42, 0.28);
}

.dashboard-article-picker__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.dashboard-article-picker__head h3 {
    margin: 0 0 0.25rem;
    font-size: 1.05rem;
}

.dashboard-article-picker__head p {
    margin: 0;
    color: var(--dash-text-muted);
    font-size: 0.85rem;
}

.dashboard-article-picker__search input {
    width: 100%;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--dash-border);
    border-radius: 0.5rem;
    font: inherit;
}

.dashboard-article-picker__search input:focus {
    outline: 2px solid rgba(47, 111, 237, 0.35);
    outline-offset: 1px;
}

.dashboard-article-picker__list {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    overflow: auto;
    padding-bottom: 0.35rem;
    min-height: 0;
}

.dashboard-article-picker__item {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    width: 100%;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--dash-border);
    border-radius: 0.55rem;
    background: #fff;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.dashboard-article-picker__item:hover {
    border-color: rgba(47, 111, 237, 0.45);
    background: rgba(47, 111, 237, 0.04);
}

.dashboard-article-picker__thumb {
    width: 56px;
    height: 42px;
    overflow: hidden;
    border-radius: 0.35rem;
    background: #111;
}

.dashboard-article-picker__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dashboard-article-picker__meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.dashboard-article-picker__meta strong {
    font-size: 0.92rem;
    line-height: 1.3;
}

.dashboard-article-picker__meta span {
    color: var(--dash-text-muted);
    font-size: 0.78rem;
}

.dashboard-article-picker__badge {
    flex-shrink: 0;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.06);
    color: var(--dash-text-muted);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.dashboard-article-picker__empty {
    margin: 0 0 0.75rem;
    color: var(--dash-text-muted);
    font-size: 0.9rem;
    text-align: center;
}

.dashboard-home-preview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.dashboard-home-preview__block {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem;
    border: 1px dashed var(--dash-border);
    border-radius: var(--dash-radius);
    background: var(--dash-bg);
}

.dashboard-home-preview__block strong {
    font-size: 0.95rem;
    line-height: 1.4;
}

.dashboard-home-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.dashboard-home-item {
    display: grid;
    grid-template-columns: auto 72px minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 0.9rem;
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    background: var(--dash-white);
    transition: box-shadow 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.dashboard-home-item.is-hero {
    border-color: var(--dash-primary);
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.15);
}

.dashboard-home-item.is-dragging {
    opacity: 0.55;
}

.dashboard-home-item__drag {
    cursor: grab;
    color: var(--dash-text-muted);
    font-size: 1.1rem;
    user-select: none;
}

.dashboard-home-item__thumb {
    width: 72px;
    height: 54px;
    border-radius: 6px;
    overflow: hidden;
    background: var(--dash-bg);
}

.dashboard-home-item__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dashboard-home-item__content h3 {
    margin: 0.2rem 0;
    font-size: 0.95rem;
    line-height: 1.35;
}

.dashboard-home-item__edit-link {
    color: inherit;
    text-decoration: none;
}

.dashboard-home-item__edit-link:hover {
    color: var(--dash-primary);
    text-decoration: underline;
}

.dashboard-home-item__content p {
    margin: 0;
    font-size: 0.8rem;
    color: var(--dash-text-muted);
}

.dashboard-home-item__category {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--dash-primary);
}

.dashboard-home-item__controls {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    align-items: flex-end;
    min-width: 120px;
}

.dashboard-home-item__position {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--dash-text-muted);
}

.dashboard-toggle,
.dashboard-radio {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.dashboard-toggle--danger {
    margin: 0 0 0.85rem;
    color: var(--dash-danger);
}

@media (max-width: 900px) {
    .dashboard-home-item {
        grid-template-columns: auto 1fr;
    }

    .dashboard-home-item__thumb {
        display: none;
    }

    .dashboard-home-item__controls {
        grid-column: 1 / -1;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }
}

/* Gestione articoli */

.dashboard-articles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
    gap: 1.25rem;
    align-items: stretch;
}

.dashboard-article-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--dash-white);
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    overflow: hidden;
    box-shadow: var(--dash-shadow);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-article-card:hover {
    border-color: rgba(0, 123, 255, 0.35);
    box-shadow: 0 10px 28px rgba(0, 123, 255, 0.12);
}

.dashboard-article-card__link {
    display: flex;
    flex-direction: column;
    flex: 1;
    color: inherit;
    text-decoration: none;
}

.dashboard-article-card__thumb {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--dash-bg);
}

.dashboard-article-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.2s ease;
}

.dashboard-article-card__thumb:hover img {
    transform: scale(1.03);
}

.dashboard-article-card__body {
    flex: 1;
    padding: 1rem 1.1rem 0.75rem;
}

.dashboard-article-card__category {
    display: inline-block;
    margin-bottom: 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--dash-primary);
}

.dashboard-article-card__body h3 {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    line-height: 1.35;
    transition: color 0.2s ease;
}

.dashboard-article-card__link:hover .dashboard-article-card__body h3 {
    color: var(--dash-primary);
}

.dashboard-article-card__body p {
    margin: 0;
    font-size: 0.82rem;
    color: var(--dash-text-muted);
}

.dashboard-article-card__body code {
    font-size: 0.75rem;
    background: var(--dash-bg);
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
}

.dashboard-article-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.75rem 1.1rem 1rem;
    border-top: 1px solid var(--dash-border);
}

.dashboard-article-card__actions .dashboard-inline-form {
    margin: 0;
}

.dashboard-article-editor .dashboard-panel__header {
    margin-bottom: 1.25rem;
}

.dashboard-article-form__layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(260px, 300px);
    gap: 2rem;
    align-items: start;
}

.dashboard-article-form__main {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: relative;
    z-index: 1;
}

.dashboard-article-form__sidebar {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: sticky;
    top: calc(var(--dash-topbar-height) + 1rem);
    align-self: start;
    z-index: 4;
    isolation: isolate;
}

.dashboard-form__actions--main {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--dash-border);
}

.dashboard-form__actions--sticky {
    position: relative;
    bottom: auto;
    z-index: 5;
    padding: 1rem 0 0;
    margin-top: 0.35rem;
    background: var(--dash-white);
    border-top: 1px solid var(--dash-border);
}

.dashboard-form-box {
    background: var(--dash-white);
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    padding: 1rem 1.1rem;
}

.dashboard-form-box h3 {
    margin: 0 0 0.85rem;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--dash-text-muted);
}

.dashboard-form-box .dashboard-field:last-child {
    margin-bottom: 0;
}

.dashboard-textarea-summary {
    min-height: 7rem;
}

.dashboard-textarea-large {
    min-height: 360px;
    font-family: inherit;
    line-height: 1.55;
    resize: vertical;
}

.dashboard-image-preview {
    margin-bottom: 0.85rem;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--dash-border);
    background: var(--dash-bg);
}

.dashboard-image-preview img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 180px;
    object-fit: cover;
}

.dashboard-btn--full {
    width: 100%;
    justify-content: center;
}

.dashboard-field__hint {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.78rem;
    color: var(--dash-text-muted);
    line-height: 1.4;
}

@media (max-width: 1024px) {
    .dashboard-article-form__layout {
        grid-template-columns: 1fr;
    }

    .dashboard-article-form__sidebar {
        position: static;
        z-index: auto;
    }

    .dashboard-form__actions--sticky {
        position: sticky;
        bottom: 0.75rem;
        padding: 1rem;
        margin: 0 -0.25rem;
        border: 1px solid var(--dash-border);
        border-radius: var(--dash-radius);
        box-shadow: var(--dash-shadow);
    }
}

/* Gestione squadre */

.dashboard-squadre-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.25rem;
}

.dashboard-squadra-card {
    display: flex;
    flex-direction: column;
    background: var(--dash-white);
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    overflow: hidden;
    box-shadow: var(--dash-shadow);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-squadra-card:hover {
    border-color: rgba(0, 123, 255, 0.35);
    box-shadow: 0 10px 28px rgba(0, 123, 255, 0.12);
}

.dashboard-squadra-card__link {
    display: flex;
    gap: 1rem;
    padding: 1rem 1.1rem 0.75rem;
    color: inherit;
    text-decoration: none;
}

.dashboard-squadra-card__logo {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
    border-radius: 12px;
    overflow: hidden;
    background: var(--dash-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--dash-border);
}

.dashboard-squadra-card__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0.35rem;
}

.dashboard-squadra-card__logo span {
    font-weight: 800;
    color: var(--dash-primary);
}

.dashboard-squadra-card__body h3 {
    margin: 0.25rem 0 0.4rem;
    font-size: 1rem;
    transition: color 0.2s ease;
}

.dashboard-squadra-card__link:hover .dashboard-squadra-card__body h3 {
    color: var(--dash-primary);
}

.dashboard-squadra-card__category {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--dash-primary);
}

.dashboard-squadra-card__body p {
    margin: 0 0 0.25rem;
    font-size: 0.82rem;
    color: var(--dash-text-muted);
}

.dashboard-squadra-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding: 0.75rem 1.1rem 1rem;
    border-top: 1px solid var(--dash-border);
}

.dashboard-form-box__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
}

.dashboard-form-box__header h3 {
    margin: 0;
}

.dashboard-repeater {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.dashboard-repeater-row {
    position: relative;
    padding: 2.5rem 0.85rem 0.85rem;
    border: 1px dashed var(--dash-border);
    border-radius: 8px;
    background: var(--dash-bg);
}

.dashboard-repeater-row__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.75rem;
}

.dashboard-repeater-row--risultato .dashboard-repeater-row__grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.dashboard-repeater-remove {
    position: absolute;
    top: 0.45rem;
    right: 0.45rem;
    min-width: 32px;
    padding-inline: 0.5rem;
    z-index: 1;
}

.dashboard-repeater-empty {
    margin: 0;
    padding: 0.85rem 1rem;
    border-radius: 8px;
    background: var(--dash-bg);
    color: var(--dash-text-muted);
    font-size: 0.88rem;
}

.dashboard-details {
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    background: var(--dash-white);
    overflow: hidden;
}

.dashboard-details summary {
    padding: 0.9rem 1.1rem;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.dashboard-details summary::-webkit-details-marker {
    display: none;
}

.dashboard-details summary::after {
    content: '+';
    float: right;
    color: var(--dash-text-muted);
}

.dashboard-details[open] summary::after {
    content: '−';
}

.dashboard-details__body {
    padding: 0 1.1rem 1.1rem;
    border-top: 1px solid var(--dash-border);
}

.dashboard-details__intro {
    margin: 0.85rem 0 1rem;
}

.dashboard-details__intro code {
    font-size: 0.8em;
    background: var(--dash-bg);
    padding: 0.1rem 0.35rem;
    border-radius: 4px;
}

.dashboard-details--nested {
    margin-top: 1rem;
    border-style: dashed;
}

.dashboard-tuttocampo-status {
    margin: 0 0 1rem;
    padding: 0.85rem 1rem;
    border-radius: 8px;
    background: var(--dash-primary-light);
    border: 1px solid rgba(0, 123, 255, 0.15);
}

.dashboard-tuttocampo-status p {
    margin: 0.25rem 0;
}

.dashboard-tuttocampo-status code {
    font-size: 0.78rem;
    word-break: break-all;
}

.dashboard-squadra-editor .dashboard-form-box {
    margin-bottom: 0;
}

.dashboard-squadra-editor .dashboard-article-form__main {
    gap: 1.25rem;
}

.dashboard-textarea-code {
    width: 100%;
    min-height: 10rem;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.82rem;
    line-height: 1.5;
    resize: vertical;
}

.dashboard-image-preview--logo img,
.dashboard-image-preview--small img {
    max-height: 120px;
    object-fit: contain;
    background: var(--dash-bg);
}

.dashboard-image-preview--small {
    max-width: 100px;
}

.dashboard-image-preview--banner-mobile {
    aspect-ratio: 1920 / 500;
}

.dashboard-image-preview--banner-mobile img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center center;
}

.dashboard-candidature-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.85rem;
    margin-bottom: 1rem;
}

.dashboard-stat-card {
    padding: 0.9rem 1rem;
    background: var(--dash-white);
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
}

.dashboard-stat-card__label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--dash-text-muted);
}

.dashboard-stat-card__value {
    font-size: 1.35rem;
    line-height: 1;
    color: var(--dash-text);
}

.dashboard-candidature-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 1.25rem;
}

.dashboard-filter-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.8rem;
    border: 1px solid var(--dash-border);
    border-radius: 999px;
    background: var(--dash-white);
    color: var(--dash-text);
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.dashboard-filter-chip:hover,
.dashboard-filter-chip.is-active {
    background: var(--dash-primary-light);
    border-color: var(--dash-primary);
    color: var(--dash-primary-dark);
}

.dashboard-candidature-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.dashboard-candidature-card {
    padding: 1rem 1.1rem;
    background: var(--dash-white);
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    box-shadow: var(--dash-shadow);
}

.dashboard-candidature-card__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.75rem;
}

.dashboard-candidature-card__head h3 {
    margin: 0.35rem 0 0;
    font-size: 1.08rem;
}

.dashboard-candidature-card__head time {
    flex-shrink: 0;
    font-size: 0.82rem;
    color: var(--dash-text-muted);
    white-space: nowrap;
}

.dashboard-candidature-card__badge {
    display: inline-block;
    padding: 0.18rem 0.55rem;
    border-radius: 999px;
    background: var(--dash-primary-light);
    color: var(--dash-primary-dark);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dashboard-candidature-card__org {
    margin: 0.2rem 0 0;
    font-size: 0.88rem;
    color: var(--dash-text-muted);
}

.dashboard-candidature-card__contacts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    margin-bottom: 0.85rem;
    font-size: 0.88rem;
}

.dashboard-candidature-card__contacts a {
    color: var(--dash-primary-dark);
    font-weight: 600;
    text-decoration: none;
}

.dashboard-candidature-card__contacts a:hover {
    text-decoration: underline;
}

.dashboard-candidature-card__message p {
    margin: 0;
    line-height: 1.6;
    white-space: pre-wrap;
}

.dashboard-candidature-card__extra {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.65rem 1rem;
    margin: 0.85rem 0 0;
    padding-top: 0.85rem;
    border-top: 1px solid var(--dash-border);
}

.dashboard-candidature-card__extra div {
    min-width: 0;
}

.dashboard-candidature-card__extra dt {
    margin: 0 0 0.15rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--dash-text-muted);
}

.dashboard-candidature-card__extra dd {
    margin: 0;
    font-size: 0.9rem;
    color: var(--dash-text);
}

.dashboard-candidature-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--dash-border);
}

.dashboard-sponsor-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.dashboard-sponsor-card {
    display: grid;
    grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.4fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    background: var(--dash-white);
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    box-shadow: var(--dash-shadow);
}

.dashboard-sponsor-card__meta {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
}

.dashboard-sponsor-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: var(--dash-primary-light);
    color: var(--dash-primary-dark);
    font-weight: 800;
}

.dashboard-sponsor-card__meta h3 {
    margin: 0 0 0.25rem;
}

.dashboard-sponsor-card__meta p {
    margin: 0 0 0.35rem;
    color: var(--dash-text-muted);
    font-size: 0.9rem;
}

.dashboard-sponsor-form__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.85fr);
    gap: 1rem;
    align-items: start;
}

.dashboard-sponsor-form__editor,
.dashboard-sponsor-form__sidebar {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.sponsor-crop-stage {
    position: relative;
    width: 100%;
    min-height: 120px;
    overflow: hidden;
    border: 1px dashed var(--dash-border);
    background: #eef2f7;
    cursor: grab;
    touch-action: none;
}

.sponsor-crop-stage:active {
    cursor: grabbing;
}

.sponsor-crop-stage canvas {
    display: block;
    width: 100%;
}

.sponsor-crop-stage__hint {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    margin: 0;
    padding: 1rem;
    text-align: center;
    color: var(--dash-text-muted);
    pointer-events: none;
}

.sponsor-site-preview {
    overflow: hidden;
    border: 1px solid var(--dash-border);
    background: #fff;
}

.sponsor-site-preview--compact {
    max-width: 100%;
}

.sponsor-site-preview__bar {
    padding: 0.45rem 0.75rem;
    background: #111827;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-align: center;
    border-bottom: 3px solid #c8102e;
}

.sponsor-site-preview__banner {
    position: relative;
    width: 100%;
    aspect-ratio: 32 / 3;
    background: #f3f4f6;
    overflow: hidden;
}

.sponsor-site-preview__banner canvas,
.sponsor-site-preview__banner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sponsor-site-preview__current {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dashboard-banner-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 1rem;
}

.dashboard-banner-tabs__link {
    display: inline-flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.65rem 0.95rem;
    border: 1px solid var(--dash-border);
    border-radius: 8px;
    background: var(--dash-surface);
    color: var(--dash-text);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.dashboard-banner-tabs__link:hover {
    border-color: var(--dash-primary);
}

.dashboard-banner-tabs__link.is-active {
    border-color: var(--dash-primary);
    background: rgba(0, 123, 255, 0.08);
}

.dashboard-banner-tabs__size {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--dash-text-muted);
}

.sponsor-site-preview--mobile .sponsor-site-preview__banner {
    aspect-ratio: 1920 / 500;
}

.sponsor-site-preview--mobile .sponsor-site-preview__current {
    object-fit: contain;
    background: #f3f4f6;
}

.sponsor-crop-stage--mobile {
    min-height: 180px;
}

.dashboard-sponsor-card__banners {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    width: 100%;
}

.dashboard-sponsor-card__banner-label {
    margin: 0 0 0.45rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--dash-text-muted);
}

.dashboard-sponsor-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.dashboard-video-list {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.dashboard-video-card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--dash-border);
    border-radius: 8px;
    background: var(--dash-surface);
}

.dashboard-video-card__provider {
    display: inline-block;
    margin-bottom: 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--dash-text-muted);
}

.dashboard-video-card__meta h3 {
    margin: 0 0 0.35rem;
}

.dashboard-video-card__meta code {
    display: block;
    margin-top: 0.45rem;
    word-break: break-all;
}

.dashboard-video-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.dashboard-video-form__field[hidden] {
    display: none;
}

/* —— Guida —— */
.dashboard-guide {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    max-width: 920px;
}

.dashboard-guide__toc {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.25rem;
}

.dashboard-guide__toc a {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.75rem;
    border-radius: 999px;
    border: 1px solid var(--dash-border);
    background: var(--dash-bg);
    color: var(--dash-text);
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 600;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.dashboard-guide__toc a:hover {
    border-color: var(--dash-accent, #2f6fed);
    background: rgba(47, 111, 237, 0.06);
}

.dashboard-guide__section {
    scroll-margin-top: 1rem;
}

.dashboard-guide__heading {
    margin: 0 0 1rem;
    font-size: 1.2rem;
    font-weight: 750;
    letter-spacing: -0.01em;
}

.dashboard-guide__body {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
}

.dashboard-guide__body > p,
.dashboard-guide__card p {
    margin: 0;
    color: var(--dash-text-muted);
    line-height: 1.55;
    font-size: 0.95rem;
}

.dashboard-guide__body h3,
.dashboard-guide__card h3 {
    margin: 0 0 0.4rem;
    font-size: 1.02rem;
    font-weight: 700;
}

.dashboard-guide__list {
    margin: 0.35rem 0 0;
    padding-left: 1.2rem;
    color: var(--dash-text-muted);
    line-height: 1.55;
    font-size: 0.94rem;
}

.dashboard-guide__list li + li {
    margin-top: 0.35rem;
}

.dashboard-guide__list strong,
.dashboard-guide__list em {
    color: var(--dash-text);
}

.dashboard-guide__note {
    padding: 0.85rem 1rem;
    border-radius: var(--dash-radius);
    border: 1px solid var(--dash-border);
    background: var(--dash-bg);
}

.dashboard-guide__card {
    padding: 1rem 1.1rem;
    border: 1px solid var(--dash-border);
    border-radius: var(--dash-radius);
    background: var(--dash-bg);
}

.dashboard-guide__card--muted {
    background: transparent;
}

.dashboard-guide__card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.35rem;
}

.dashboard-guide__card-head h3 {
    margin: 0;
}

.dashboard-guide__path {
    display: inline-block;
    margin-left: 0.35rem;
    padding: 0.12rem 0.45rem;
    border-radius: 0.35rem;
    background: rgba(0, 0, 0, 0.05);
    color: var(--dash-text-muted);
    font-size: 0.75rem;
    font-weight: 600;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    vertical-align: middle;
}

.dashboard-guide__card a:not(.dashboard-btn) {
    color: var(--dash-accent, #2f6fed);
    font-weight: 600;
    text-decoration: none;
}

.dashboard-guide__card a:not(.dashboard-btn):hover {
    text-decoration: underline;
}

@media (max-width: 640px) {
    .dashboard-guide__card-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 1024px) {
    .dashboard-sponsor-card {
        grid-template-columns: 1fr;
    }

    .dashboard-sponsor-card__banners {
        grid-template-columns: 1fr;
    }

    .dashboard-sponsor-form__layout {
        grid-template-columns: 1fr;
    }
}
