/* MASTER SUITE — UI-002 Enterprise Refresh */

/* -------------------------------------------------------------------
   Variabili utente
   ------------------------------------------------------------------- */

:root {
    --ms-ui-sidebar-expanded: var(--ms-sidebar-width);
    --ms-ui-font-scale: 1;
    --ms-ui-container-scale: 1;
    --ms-user-accent: var(--accent, #f4bd2b);
}

/* -------------------------------------------------------------------
   Sidebar
   ------------------------------------------------------------------- */

.sidebar {
    width: var(--ms-sidebar-width) !important;
    min-width: var(--ms-sidebar-width) !important;
    transition:
        width 180ms ease,
        min-width 180ms ease,
        transform 180ms ease;
}

body.ms-sidebar-collapsed .sidebar {
    width: 66px !important;
    min-width: 66px !important;
}

body.ms-sidebar-collapsed .sidebar .brand small,
body.ms-sidebar-collapsed .sidebar .section-label,
body.ms-sidebar-collapsed .sidebar .nav-item > span:not(.nav-icon),
body.ms-sidebar-collapsed .sidebar .nav-item > b,
body.ms-sidebar-collapsed .sidebar .nav-subitem,
body.ms-sidebar-collapsed .sidebar .astra-card p,
body.ms-sidebar-collapsed .sidebar .astra-card strong,
body.ms-sidebar-collapsed .sidebar .astra-card button {
    display: none !important;
}

body.ms-sidebar-collapsed .sidebar .nav-item {
    justify-content: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.ms-sidebar-collapsed .sidebar .nav-icon {
    margin: 0 !important;
}

/* Il vecchio comando in basso non viene eliminato dal DOM:
   resta disponibile al rollback, ma non viene mostrato. */

.sidebar .collapse {
    display: none !important;
}

/* -------------------------------------------------------------------
   Workspace: resta la sua icona ufficiale già registrata
   ------------------------------------------------------------------- */

.sidebar .nav-item[data-ui002-workspace="true"] {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    margin: 7px auto 10px !important;
    padding: 0 !important;

    display: grid !important;
    place-items: center !important;

    border: 1px solid var(--accent, #f4bd2b) !important;
    border-radius: 10px !important;

    background: transparent !important;
    color: var(--accent, #f4bd2b) !important;
}

.sidebar .nav-item[data-ui002-workspace="true"] .nav-icon {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 19px !important;
}

.sidebar .nav-item[data-ui002-workspace="true"] > span:not(.nav-icon),
.sidebar .nav-item[data-ui002-workspace="true"] > b {
    display: none !important;
}

/* -------------------------------------------------------------------
   Topbar definitiva
   ------------------------------------------------------------------- */

.topbar {
    display: flex;
    align-items: center;
    gap: 9px;
}

/* Comandi rimossi visivamente ma non distrutti. */

.topbar > .quick-create,
.topbar > .top-icon:not(#themeToggle) {
    display: none !important;
}

.ui002-sidebar-toggle {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;

    display: grid;
    place-items: center;

    border: 1px solid var(--line, rgba(127, 127, 127, .24));
    border-radius: 8px;

    background: var(--surface, transparent);
    color: inherit;

    font-size: 18px;
    cursor: pointer;
}

.ui002-sidebar-toggle:hover,
.ui002-sidebar-toggle:focus-visible {
    border-color: var(--accent, #f4bd2b);
    outline: none;
}

.ui002-language-control {
    height: 36px;
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    padding: 0 9px;

    border: 1px solid var(--line, rgba(127, 127, 127, .24));
    border-radius: 8px;

    background: var(--surface, transparent);
    color: inherit;
}

.ui002-language-flag {
    font-size: 17px;
    line-height: 1;
}

.ui002-language-control select {
    max-width: 112px;
    border: 0;
    outline: 0;

    background: transparent;
    color: inherit;

    font: inherit;
    cursor: pointer;
}

.ui002-language-control option {
    color: #111827;
    background: #ffffff;
}

#themeToggle {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
}

/* -------------------------------------------------------------------
   Scala interfaccia
   ------------------------------------------------------------------- */

body {
    font-size: calc(100% * var(--ms-ui-font-scale));
}

.workspace {
    zoom: var(--ms-ui-container-scale);
}

/* -------------------------------------------------------------------
   Estensione Theme Panel
   ------------------------------------------------------------------- */

.ui002-theme-extension {
    display: grid;
    gap: 16px;

    margin-top: 16px;
    padding-top: 16px;

    border-top: 1px solid var(--line, rgba(127, 127, 127, .24));
}

.ui002-theme-section {
    display: grid;
    gap: 10px;
}

.ui002-theme-heading {
    display: grid;
    gap: 2px;
}

.ui002-theme-heading strong {
    font-size: 12px;
    letter-spacing: .04em;
}

.ui002-theme-heading small {
    color: var(--muted, #7b8799);
    font-size: 11px;
    line-height: 1.4;
}

.ui002-theme-modes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

.ui002-theme-modes button,
.ui002-palette-button,
.ui002-save-palette,
.ui002-reset-extra {
    min-height: 34px;

    border: 1px solid var(--line, rgba(127, 127, 127, .24));
    border-radius: 8px;

    background: var(--surface, transparent);
    color: inherit;

    cursor: pointer;
}

.ui002-theme-modes button.is-active,
.ui002-palette-button.is-active {
    border-color: var(--accent, #f4bd2b);
    box-shadow: 0 0 0 1px var(--accent, #f4bd2b);
}

.ui002-palette-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.ui002-palette-button {
    display: flex;
    align-items: center;
    gap: 8px;

    padding: 7px 9px;
    text-align: left;
}

.ui002-palette-swatch {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;

    border-radius: 50%;
    background: var(--palette-color);

    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .32),
        0 1px 3px rgba(0, 0, 0, .15);
}

.ui002-custom-palette {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 8px;
}

.ui002-custom-palette input[type="color"] {
    width: 52px;
    height: 38px;

    padding: 2px;

    border: 1px solid var(--line, rgba(127, 127, 127, .24));
    border-radius: 8px;

    background: transparent;
    cursor: pointer;
}

.ui002-custom-palette input[type="text"] {
    min-width: 0;

    border: 1px solid var(--line, rgba(127, 127, 127, .24));
    border-radius: 8px;

    padding: 0 10px;

    background: var(--surface, transparent);
    color: inherit;
}

.ui002-save-palette {
    grid-column: 1 / -1;
}

.ui002-user-palettes {
    display: grid;
    gap: 7px;
}

.ui002-user-palette-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px;
    gap: 6px;
}

.ui002-user-palette-row > button:first-child {
    min-height: 32px;

    display: flex;
    align-items: center;
    gap: 8px;

    border: 1px solid var(--line, rgba(127, 127, 127, .24));
    border-radius: 7px;

    padding: 5px 8px;

    background: var(--surface, transparent);
    color: inherit;

    text-align: left;
    cursor: pointer;
}

.ui002-delete-palette {
    border: 1px solid var(--line, rgba(127, 127, 127, .24));
    border-radius: 7px;

    background: transparent;
    color: inherit;

    cursor: pointer;
}

.ui002-extra-controls {
    display: grid;
    gap: 13px;
}

.ui002-range {
    display: grid;
    gap: 6px;
}

.ui002-range-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    font-size: 12px;
}

.ui002-range output {
    min-width: 58px;
    color: var(--muted, #7b8799);
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.ui002-range input[type="range"] {
    width: 100%;
    accent-color: var(--accent, #f4bd2b);
    cursor: pointer;
}

@media (max-width: 900px) {
    .ui002-language-control select {
        max-width: 76px;
    }
}

/* THEME-003B-R7-1 — FINAL GLOBAL SEARCH LIGHT/DARK CONTRACT
   Light => search chiara.
   Dark  => search scura.
   Nessun colore fisso Navy. */

.topbar .global-search,
.global-search {
    background: var(--ms-theme-surface) !important;
    color: var(--ms-theme-text) !important;
    border-color: var(--ms-theme-border) !important;
    box-shadow: none !important;
}

.topbar .global-search input,
.global-search input {
    background: transparent !important;
    color: var(--ms-theme-text) !important;
    caret-color: var(--ms-theme-text) !important;
}

.topbar .global-search input::placeholder,
.global-search input::placeholder {
    color: var(--ms-theme-muted) !important;
    opacity: 1 !important;
}

.topbar .global-search > span,
.global-search > span {
    color: var(--ms-theme-text) !important;
}

.topbar .global-search kbd,
.global-search kbd {
    background: var(--ms-theme-surface-soft) !important;
    color: var(--ms-theme-text) !important;
    border-color: var(--ms-theme-border) !important;
}

.topbar .global-search:focus-within,
.global-search:focus-within {
    background: var(--ms-theme-surface) !important;
    border-color: var(--ms-theme-accent) !important;
}

/* THEME-003C — GLOBAL SEARCH CANONICAL LIGHT/DARK CONTRACT */
body .topbar .global-search,
body .global-search {
    background: var(--ms-theme-surface) !important;
    background-image: none !important;
    color: var(--ms-theme-text) !important;
    border: 1px solid var(--ms-theme-border) !important;
    box-shadow: none !important;
}

body .topbar .global-search input,
body .global-search input {
    background: transparent !important;
    color: var(--ms-theme-text) !important;
    caret-color: var(--ms-theme-text) !important;
}

body .topbar .global-search input::placeholder,
body .global-search input::placeholder {
    color: var(--ms-theme-muted) !important;
    opacity: 1 !important;
}

body .topbar .global-search > span,
body .global-search > span {
    color: var(--ms-theme-text) !important;
}

body .topbar .global-search kbd,
body .global-search kbd {
    background: var(--ms-theme-surface-soft) !important;
    color: var(--ms-theme-text) !important;
    border: 1px solid var(--ms-theme-border) !important;
}

body .topbar .global-search:focus-within,
body .global-search:focus-within {
    background: var(--ms-theme-surface) !important;
    border-color: var(--ms-theme-accent) !important;
}

/* THEME-003C-R1 — SEARCH FINAL CANONICAL OVERRIDE */
html body .topbar .global-search,
html body .global-search {
    background: var(--ms-theme-surface) !important;
    background-image: none !important;
    color: var(--ms-theme-text) !important;
    border-color: var(--ms-theme-border) !important;
    box-shadow: none !important;
}

html body .topbar .global-search input,
html body .global-search input {
    background: transparent !important;
    color: var(--ms-theme-text) !important;
}

html body .topbar .global-search input::placeholder,
html body .global-search input::placeholder {
    color: var(--ms-theme-muted) !important;
    opacity: 1 !important;
}

html body .topbar .global-search kbd,
html body .global-search kbd {
    background: var(--ms-theme-surface-soft) !important;
    color: var(--ms-theme-text) !important;
    border-color: var(--ms-theme-border) !important;
}
