/*
 * DATA-003F — Enterprise Data Center Premium Layout
 * Scope esclusivo: #enterprise-data-center-workspace
 */

#enterprise-data-center-workspace {
    --dc-bg: #071a2d;
    --dc-surface: #0a2138;
    --dc-surface-2: #0b253f;
    --dc-border: #244663;
    --dc-text: #f5f8fc;
    --dc-muted: #9dafc2;
    --dc-yellow: #ffbf1f;
    --dc-green: #43bd39;
    --dc-blue: #3978f6;
    --dc-cyan: #20bad2;
    --dc-red: #ef6254;
    --dc-purple: #9659e7;
    --dc-gap: 16px;

    display: block !important;
    width: 100%;
    min-width: 0;
    padding: 0 !important;
    color: var(--dc-text);
}

#enterprise-data-center-workspace,
#enterprise-data-center-workspace * {
    box-sizing: border-box;
}

#enterprise-data-center-workspace .dc-premium {
    display: flex;
    flex-direction: column;
    gap: var(--dc-gap);
    width: 100%;
    min-width: 0;
}

#enterprise-data-center-workspace .dc-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 4px;
}

#enterprise-data-center-workspace .dc-eyebrow {
    margin: 0 0 7px;
    color: var(--dc-yellow);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

#enterprise-data-center-workspace .dc-header h1 {
    margin: 0;
    color: var(--dc-text);
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

#enterprise-data-center-workspace .dc-subtitle {
    margin: 9px 0 0;
    color: var(--dc-muted);
    font-size: 14px;
}

#enterprise-data-center-workspace .dc-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

#enterprise-data-center-workspace .dc-button {
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid var(--dc-border);
    border-radius: 9px;
    background: var(--dc-surface);
    color: var(--dc-text);
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
}

#enterprise-data-center-workspace .dc-button-primary {
    border-color: var(--dc-yellow);
    background: var(--dc-yellow);
    color: #102033;
}

#enterprise-data-center-workspace .dc-grid-four {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--dc-gap);
}

#enterprise-data-center-workspace .dc-grid-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--dc-gap);
}

#enterprise-data-center-workspace .dc-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--dc-border);
    border-radius: 14px;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(47, 111, 169, .10),
            transparent 42%
        ),
        var(--dc-surface);
}

#enterprise-data-center-workspace .dc-status-card {
    min-height: 178px;
    padding: 22px;
}

#enterprise-data-center-workspace .dc-card-label {
    display: block;
    margin-bottom: 15px;
    color: var(--dc-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

#enterprise-data-center-workspace .dc-card-value {
    display: block;
    max-width: calc(100% - 65px);
    color: var(--dc-text);
    font-size: 20px;
    font-weight: 850;
    line-height: 1.22;
}

#enterprise-data-center-workspace .dc-card-value.dc-green {
    color: var(--dc-green);
    font-size: 38px;
}

#enterprise-data-center-workspace .dc-card-detail {
    display: block;
    margin-top: 25px;
    color: #b5c2d0;
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

#enterprise-data-center-workspace .dc-symbol {
    position: absolute;
    top: 43px;
    right: 20px;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border: 1px solid var(--dc-border);
    border-radius: 11px;
    background: rgba(68, 113, 153, .16);
    color: #adc0d4;
    font-size: 23px;
    font-weight: 800;
}

#enterprise-data-center-workspace .dc-symbol-blue {
    border-color: rgba(57, 120, 246, .45);
    background: rgba(57, 120, 246, .12);
    color: var(--dc-blue);
}

#enterprise-data-center-workspace .dc-symbol-green {
    border-color: rgba(67, 189, 57, .42);
    background: rgba(67, 189, 57, .10);
    color: var(--dc-green);
}

#enterprise-data-center-workspace .dc-symbol-purple {
    border-color: rgba(150, 89, 231, .44);
    background: rgba(150, 89, 231, .10);
    color: var(--dc-purple);
}

#enterprise-data-center-workspace .dc-workflow-card {
    min-height: 135px;
    padding: 22px;
}

#enterprise-data-center-workspace .dc-workflow-head {
    display: flex;
    align-items: center;
    gap: 14px;
}

#enterprise-data-center-workspace .dc-step {
    display: grid;
    place-items: center;
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    border-radius: 50%;
    background: #728296;
    color: white;
    font-weight: 850;
}

#enterprise-data-center-workspace .dc-workflow-title {
    color: var(--dc-text);
    font-size: 17px;
    font-weight: 800;
}

#enterprise-data-center-workspace .dc-workflow-description {
    margin: 13px 0 0 53px;
    color: #b8c4d1;
    font-size: 13px;
    line-height: 1.45;
}

#enterprise-data-center-workspace .dc-workflow-active-green {
    border-color: rgba(67, 189, 57, .85);
}

#enterprise-data-center-workspace .dc-workflow-active-green .dc-step {
    background: var(--dc-green);
}

#enterprise-data-center-workspace .dc-workflow-active-blue {
    border-color: rgba(115, 137, 255, .9);
}

#enterprise-data-center-workspace .dc-workflow-active-blue .dc-step {
    background: var(--dc-blue);
}

#enterprise-data-center-workspace .dc-workflow-disabled {
    opacity: .72;
}

#enterprise-data-center-workspace .dc-kpi-card {
    min-height: 118px;
    padding: 20px 22px;
}

#enterprise-data-center-workspace .dc-kpi-content {
    display: flex;
    align-items: center;
    gap: 15px;
}

#enterprise-data-center-workspace .dc-kpi-symbol {
    display: grid;
    place-items: center;
    width: 49px;
    height: 49px;
    border: 1px solid rgba(57, 120, 246, .5);
    border-radius: 10px;
    background: rgba(57, 120, 246, .10);
    color: var(--dc-blue);
    font-size: 20px;
    font-weight: 850;
}

#enterprise-data-center-workspace .dc-kpi-symbol-cyan {
    border-color: rgba(32, 186, 210, .5);
    background: rgba(32, 186, 210, .10);
    color: var(--dc-cyan);
}

#enterprise-data-center-workspace .dc-kpi-symbol-red {
    border-color: rgba(239, 98, 84, .5);
    background: rgba(239, 98, 84, .10);
    color: var(--dc-red);
}

#enterprise-data-center-workspace .dc-kpi-symbol-green {
    border-color: rgba(43, 187, 135, .5);
    background: rgba(43, 187, 135, .10);
    color: #2bbb87;
}

#enterprise-data-center-workspace .dc-kpi-value {
    color: var(--dc-text);
    font-size: 31px;
    font-weight: 850;
}

#enterprise-data-center-workspace .dc-panel {
    min-height: 270px;
    padding: 22px;
}

#enterprise-data-center-workspace .dc-panel-title {
    margin: 0 0 21px;
    color: var(--dc-muted);
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
}

#enterprise-data-center-workspace .dc-data-row {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) 62px 72px minmax(90px, 150px);
    align-items: center;
    gap: 12px;
    min-height: 32px;
    color: var(--dc-text);
    font-size: 13px;
}

#enterprise-data-center-workspace .dc-data-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#enterprise-data-center-workspace .dc-data-number,
#enterprise-data-center-workspace .dc-data-percent {
    text-align: right;
}

#enterprise-data-center-workspace .dc-data-percent {
    color: #b3c0ce;
}

#enterprise-data-center-workspace .dc-progress {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #142e45;
}

#enterprise-data-center-workspace .dc-progress > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2ca95a, #82b927);
}

#enterprise-data-center-workspace .dc-panel-footer {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) 62px 72px minmax(90px, 150px);
    gap: 12px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--dc-border);
    font-size: 14px;
}

#enterprise-data-center-workspace .dc-integrity-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 29px;
    padding-top: 24px;
    border-top: 1px solid var(--dc-border);
    color: #c3ced9;
}

#enterprise-data-center-workspace .dc-integrity-value {
    color: var(--dc-green);
    font-size: 27px;
    font-weight: 850;
}

#enterprise-data-center-workspace .dc-log {
    min-height: 88px;
    padding: 20px 22px;
}

#enterprise-data-center-workspace .dc-log p {
    margin: 5px 0 0;
    color: #b8c4d1;
    font-size: 13px;
}

@media (max-width: 1380px) {
    #enterprise-data-center-workspace .dc-grid-four {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1040px) {
    #enterprise-data-center-workspace .dc-grid-four,
    #enterprise-data-center-workspace .dc-grid-two {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #enterprise-data-center-workspace .dc-header {
        flex-direction: column;
    }
}

@media (max-width: 700px) {
    #enterprise-data-center-workspace .dc-grid-four,
    #enterprise-data-center-workspace .dc-grid-two {
        grid-template-columns: 1fr;
    }

    #enterprise-data-center-workspace .dc-actions {
        width: 100%;
    }

    #enterprise-data-center-workspace .dc-button {
        flex: 1;
    }

    #enterprise-data-center-workspace .dc-data-row,
    #enterprise-data-center-workspace .dc-panel-footer {
        grid-template-columns: minmax(90px, 1fr) 50px 55px;
    }

    #enterprise-data-center-workspace .dc-progress {
        display: none;
    }
}

/* DATA-003G DARK SHELL — START */

/*
 * Regole applicate esclusivamente alla pagina Data Center dedicata.
 * Non influenzano index.html né gli altri workspace.
 */

html[data-theme="dark"] {
    background: #061727 !important;
}

body.data-center-premium-page {
    --dc-shell-bg: #061727;
    --dc-shell-bg-2: #071b2e;
    --dc-shell-border: #284760;
    --dc-shell-text: #f5f8fc;

    min-height: 100vh !important;
    margin: 0 !important;
    background:
        radial-gradient(
            circle at 75% 0%,
            rgba(25, 85, 132, .17),
            transparent 32%
        ),
        linear-gradient(
            180deg,
            var(--dc-shell-bg) 0%,
            var(--dc-shell-bg-2) 100%
        ) !important;
    color: var(--dc-shell-text) !important;
}

/* Shell generale. */
body.data-center-premium-page .app-shell {
    min-height: 100vh !important;
    background: transparent !important;
}

body.data-center-premium-page .main,
body.data-center-premium-page main.main,
body.data-center-premium-page .main-content,
body.data-center-premium-page .workspace-container,
body.data-center-premium-page .content-area {
    background: transparent !important;
}

/* Rimuove il pannello bianco che avvolge il workspace. */
body.data-center-premium-page
#enterprise-data-center-workspace {
    margin: 0 !important;
    padding: 24px 26px 28px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Mantiene la sidebar nello stesso blu scuro della soluzione approvata. */
body.data-center-premium-page .sidebar {
    background:
        linear-gradient(
            180deg,
            #07192a 0%,
            #061522 100%
        ) !important;
    border-right: 1px solid #28435b !important;
}

/* Topbar integrata nello sfondo scuro. */
body.data-center-premium-page .topbar {
    background: #071d31 !important;
    border: 1px solid #294963 !important;
    box-shadow: none !important;
}

body.data-center-premium-page .topbar,
body.data-center-premium-page .topbar * {
    color: #f3f7fb;
}

/* Campo ricerca e controlli topbar. */
body.data-center-premium-page .search,
body.data-center-premium-page .topbar-search,
body.data-center-premium-page .select,
body.data-center-premium-page .language-selector,
body.data-center-premium-page .theme-selector,
body.data-center-premium-page .user-menu {
    border-color: #294963 !important;
    background: #0a2741 !important;
    color: #edf4fb !important;
}

body.data-center-premium-page .search input,
body.data-center-premium-page .topbar input {
    background: transparent !important;
    color: #edf4fb !important;
}

body.data-center-premium-page .search input::placeholder,
body.data-center-premium-page .topbar input::placeholder {
    color: #91a8bc !important;
}

/* Elimina qualunque sfondo chiaro ereditato dalle sezioni workspace. */
body.data-center-premium-page
main.main > section.workspace,
body.data-center-premium-page
main.main > section.workspace.workspace-active {
    background: transparent !important;
}

/* Titolo sempre leggibile: nella live era quasi bianco su bianco. */
body.data-center-premium-page
#enterprise-data-center-workspace .dc-header h1 {
    color: #f7f9fc !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

/* Sottotitolo più leggibile. */
body.data-center-premium-page
#enterprise-data-center-workspace .dc-subtitle {
    color: #a9bac9 !important;
}

/* Mantiene tutte le card nella stessa famiglia cromatica. */
body.data-center-premium-page
#enterprise-data-center-workspace .dc-card {
    border-color: #294c68 !important;
    background:
        radial-gradient(
            circle at 100% 0,
            rgba(44, 108, 158, .12),
            transparent 42%
        ),
        linear-gradient(
            145deg,
            #0a2138 0%,
            #092039 100%
        ) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.015),
        0 8px 24px rgba(0,0,0,.08) !important;
}

/* Impedisce al Theme Engine di riportare il workspace al chiaro. */
html[data-theme="dark"]
body.data-center-premium-page
#enterprise-data-center-workspace,
html[data-theme="dark"]
body.data-center-premium-page
#enterprise-data-center-workspace .dc-premium {
    background: transparent !important;
}

/* Desktop: usa meglio tutta la larghezza disponibile. */
body.data-center-premium-page
#enterprise-data-center-workspace .dc-premium {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Riduce lo spazio vuoto sopra il titolo. */
body.data-center-premium-page
#enterprise-data-center-workspace .dc-header {
    margin-top: 0 !important;
}

/* Responsive. */
@media (max-width: 900px) {
    body.data-center-premium-page
    #enterprise-data-center-workspace {
        padding: 18px !important;
    }
}

/* DATA-003G DARK SHELL — END */

/* DATA-004 NATIVE WORKSPACE SHELL — START */

#enterprise-data-center-workspace {
    min-height: calc(100vh - 88px);
    width: 100%;
    margin: 0;
    padding: 24px;
    border: 0;
    border-radius: 0;
    background:
        radial-gradient(
            circle at 80% 0%,
            rgba(27, 91, 141, 0.18),
            transparent 34%
        ),
        linear-gradient(
            180deg,
            #061725 0%,
            #071c2e 100%
        );
    color: #f5f8fc;
}

#enterprise-data-center-workspace[hidden] {
    display: none !important;
}

#enterprise-data-center-workspace.is-active {
    display: block !important;
}

#enterprise-data-center-workspace .dc-premium {
    width: 100%;
    max-width: none;
    margin: 0;
}

/* DATA-004 NATIVE WORKSPACE SHELL — END */
/* PATCH 002 — Single Workspace Visibility Owner
 *
 * L'attributo hidden impostato dal router ufficiale deve prevalere
 * sulle regole visuali del layout premium.
 */
#enterprise-data-center-workspace[hidden] {
    display: none !important;
}
