/*
 * CONT-003C_CONTACT_EXPLORER_ENTERPRISE_READ_ONLY
 */

.contact-explorer-enterprise {
    display: block;
    min-width: 0;
    padding: 22px;
}

.contact-explorer-enterprise[hidden] {
    display: none !important;
}

.contact-explorer-shell {
    display: grid;
    gap: 16px;
}

.contact-explorer-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.contact-explorer-title-group {
    display: grid;
    gap: 5px;
}

.contact-explorer-eyebrow {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.contact-explorer-title {
    margin: 0;
    color: var(--text);
    font-size: 26px;
    line-height: 1.15;
}

.contact-explorer-subtitle {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
}

.contact-explorer-create {
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--panel);
    color: var(--muted);
    font-weight: 700;
    cursor: not-allowed;
    opacity: .68;
}

.contact-explorer-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--panel);
}

.contact-explorer-search {
    width: min(460px, 100%);
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--surface);
    color: var(--text);
    outline: none;
}

.contact-explorer-search:focus {
    border-color: var(--accent);
}

.contact-explorer-count {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.contact-explorer-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--panel);
}

.contact-explorer-table-wrap {
    overflow-x: auto;
}

.contact-explorer-table {
    width: 100%;
    min-width: 880px;
    border-collapse: collapse;
}

.contact-explorer-table th,
.contact-explorer-table td {
    padding: 13px 15px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: middle;
}

.contact-explorer-table th {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.contact-explorer-table td {
    color: var(--text);
    font-size: 12px;
}

.contact-explorer-table tbody tr:last-child td {
    border-bottom: 0;
}

.contact-explorer-table tbody tr:hover {
    background: var(--surface);
}

.contact-explorer-person {
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-explorer-avatar {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: var(--surface);
    color: var(--text);
    font-size: 11px;
    font-weight: 800;
}

.contact-explorer-person strong,
.contact-explorer-person small {
    display: block;
}

.contact-explorer-person small {
    margin-top: 2px;
    color: var(--muted);
}

.contact-explorer-channel {
    color: var(--text);
    text-decoration: none;
}

.contact-explorer-channel:hover {
    text-decoration: underline;
}

.contact-explorer-muted {
    color: var(--muted);
}

.contact-explorer-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border: 1px solid var(--line);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

.contact-explorer-status[data-status="assigned"] {
    background: rgba(37, 180, 109, .12);
}

.contact-explorer-status[data-status="unassigned"] {
    background: rgba(235, 173, 32, .12);
}

.contact-explorer-status[data-status="invalid_multiple_primary"] {
    background: rgba(215, 73, 73, .12);
}

.contact-explorer-empty,
.contact-explorer-error,
.contact-explorer-loading {
    display: grid;
    min-height: 300px;
    padding: 36px;
    place-items: center;
    text-align: center;
}

.contact-explorer-state-inner {
    max-width: 520px;
}

.contact-explorer-state-inner h2 {
    margin: 0 0 8px;
    color: var(--text);
    font-size: 19px;
}

.contact-explorer-state-inner p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
}

@media (max-width: 760px) {
    .contact-explorer-header,
    .contact-explorer-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .contact-explorer-create {
        width: 100%;
    }
}

/* CONTACTS-005B-R1_INLINE_CREATE_CANONICAL_DETAIL_UI */
.contact-explorer-create {
    color: var(--text);
    cursor: pointer;
    opacity: 1;
}

.contact-explorer-create:hover:not(:disabled),
.contact-explorer-create:focus-visible,
.contact-explorer-table tr[data-contact-public-id]:focus-visible {
    border-color: var(--accent);
    outline: 2px solid color-mix(in srgb, var(--accent) 38%, transparent);
    outline-offset: 2px;
}

.contact-explorer-create:disabled {
    cursor: not-allowed;
    opacity: .58;
}

.contact-explorer-table tr[data-contact-public-id] {
    cursor: pointer;
}

.contact-inline-create-row:hover {
    background: transparent !important;
}

.contact-inline-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr)) auto;
    gap: 12px;
    align-items: end;
    padding: 5px 0;
}

.contact-inline-form label {
    display: grid;
    gap: 6px;
}

.contact-inline-form label > span,
.contact-detail-grid dt {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.contact-inline-form input {
    min-width: 0;
    height: 38px;
    padding: 0 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
    color: var(--text);
}

.contact-inline-actions {
    display: flex;
    gap: 7px;
}

.contact-inline-actions button {
    min-height: 38px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
    color: var(--text);
    cursor: pointer;
    font-weight: 700;
}

.contact-inline-error {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--danger, #ef6b73);
    font-size: 12px;
}

.contact-detail-card {
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--panel);
}

.contact-detail-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.contact-detail-grid > div {
    min-height: 74px;
    padding: 13px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--surface);
}

.contact-detail-grid dd {
    margin: 8px 0 0;
    color: var(--text);
    font-weight: 650;
    overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
    .contact-inline-form,
    .contact-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .contact-inline-form,
    .contact-detail-grid {
        grid-template-columns: 1fr;
    }
}

/* CONTACTS-005D-R2_FULL_WORKSPACE_CANONICAL_READ_MODEL_UI */
.contact-detail-shell { max-width: 1040px; }
.contact-detail-breadcrumb { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; }
.contact-detail-breadcrumb button { border:0; background:transparent; color:var(--muted); cursor:pointer; padding:0; }
.contact-profile-card { display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; padding:20px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }
.contact-profile-avatar { display:grid; width:88px; height:88px; place-items:center; border:1px solid var(--line); border-radius:50%; background:var(--surface); color:var(--text); font-size:26px; font-weight:850; }
.contact-profile-title-line { display:flex; align-items:center; gap:10px; }
.contact-profile-title-line h1 { margin:0; color:var(--text); font-size:26px; }
.contact-favorite-unconfigured { color:var(--muted); font-size:25px; }
.contact-profile-identity p { margin:5px 0; color:var(--muted); }
.contact-profile-company { color:var(--accent); text-decoration:none; font-weight:700; }
.contact-profile-badges { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
.contact-profile-badges span,.contact-readonly-badge { padding:5px 9px; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--muted); font-size:11px; font-weight:750; }
.contact-detail-actions { display:grid; grid-template-columns:repeat(5,minmax(92px,1fr)); gap:10px; padding:12px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }
.contact-detail-action,.contact-detail-more summary { display:grid; min-height:72px; place-items:center; align-content:center; gap:7px; border:1px solid var(--line); border-radius:10px; background:var(--surface); color:var(--text); cursor:pointer; text-decoration:none; }
.contact-detail-action small,.contact-detail-more small { font-weight:750; }
.contact-detail-action.is-disabled { cursor:not-allowed; opacity:.45; }
.contact-detail-more { position:relative; }
.contact-detail-more summary { list-style:none; }
.contact-detail-more summary::-webkit-details-marker { display:none; }
.contact-detail-more > div { position:absolute; z-index:5; top:78px; right:0; min-width:180px; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--panel); color:var(--muted); box-shadow:0 12px 30px rgba(0,0,0,.25); }
.contact-detail-more a { color:var(--accent); }
.contact-main-info header { display:flex; justify-content:space-between; align-items:center; padding-bottom:12px; border-bottom:1px solid var(--line); }
.contact-main-info h2 { margin:0; color:var(--text); font-size:14px; text-transform:uppercase; letter-spacing:.04em; }
.contact-main-info header span { color:var(--muted); font-size:11px; }
.contact-main-info dl { display:grid; gap:0; margin:0; }
.contact-info-row { display:grid; grid-template-columns:minmax(150px,220px) 1fr; gap:16px; padding:10px 0; border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent); }
.contact-info-row:last-child { border-bottom:0; }
.contact-info-row dt { color:var(--muted); font-size:12px; }
.contact-info-row dd { margin:0; color:var(--text); font-size:13px; overflow-wrap:anywhere; }
.contact-info-row a { color:var(--accent); text-decoration:none; }
@media (max-width:760px) {
 .contact-profile-card { grid-template-columns:auto 1fr; }
 .contact-readonly-badge { grid-column:1/-1; justify-self:start; }
 .contact-detail-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .contact-info-row { grid-template-columns:1fr; gap:4px; }
}

/* CONTACTS-005D-R6_EXPLICIT_CONTACT_OPEN_ACTION_RECOVERY */
.contact-explorer-open {
    display: block;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 800;
    line-height: inherit;
    text-align: left;
    cursor: pointer;
}

.contact-explorer-open:hover,
.contact-explorer-open:focus-visible {
    color: var(--ms-accent, #58c8f2);
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.contact-explorer-open:focus-visible {
    outline: 2px solid var(--ms-focus, #58c8f2);
    outline-offset: 3px;
    border-radius: 3px;
}

/* CONTACTS-005E-R5-REFERENCE-VISUAL-CONTACT-WORKSPACE */
.contact-reference-workspace {
    width: min(100%, 720px);
    margin: 0 auto;
    display: grid;
    gap: 14px;
    color: var(--text-primary, #f5f8fc);
}

.contact-reference-workspace .contact-reference-hero,
.contact-reference-workspace .contact-reference-actions,
.contact-reference-workspace .contact-reference-information {
    border: 1px solid color-mix(in srgb, var(--border-color, #2d4965) 86%, #69b8ff 14%);
    border-radius: 16px;
    background:
        radial-gradient(circle at 15% 5%, rgba(52, 134, 211, .13), transparent 38%),
        linear-gradient(145deg, rgba(18, 40, 61, .98), rgba(10, 27, 44, .98));
    box-shadow: 0 14px 34px rgba(0, 8, 18, .22), inset 0 1px rgba(255,255,255,.025);
}

.contact-reference-workspace .contact-reference-hero {
    min-height: 150px;
    padding: 20px 22px;
    align-items: center;
}

.contact-reference-workspace .contact-reference-name {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: clamp(1.45rem, 3vw, 2rem);
    letter-spacing: -.025em;
}

.contact-reference-workspace .contact-reference-favorite {
    width: 27px;
    height: 27px;
    object-fit: contain;
    filter: drop-shadow(0 0 8px rgba(255, 190, 28, .3));
}

.contact-reference-workspace .contact-reference-favorite-copy {
    display: none !important;
}

.contact-reference-workspace .contact-reference-avatar {
    width: 92px !important;
    min-width: 92px;
    height: 92px !important;
    overflow: hidden;
    padding: 0 !important;
    border: 2px solid rgba(133, 198, 255, .42);
    border-radius: 50%;
    background: #0a2137;
    box-shadow: 0 8px 22px rgba(0, 9, 20, .32);
}

.contact-reference-workspace .contact-reference-avatar-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.contact-reference-workspace .contact-reference-company {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #5fa8ff;
    font-weight: 700;
}

.contact-reference-workspace .contact-reference-inline-icon {
    width: 19px;
    height: 19px;
    object-fit: contain;
}

.contact-reference-workspace .contact-reference-actions {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    padding: 12px;
}

.contact-reference-workspace .contact-reference-action {
    min-height: 78px;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 9px 6px !important;
    border: 1px solid rgba(74, 126, 172, .42) !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, rgba(21, 53, 80, .9), rgba(13, 37, 59, .9)) !important;
    color: var(--text-primary, #f7fbff) !important;
    font-weight: 700;
    text-decoration: none;
    box-shadow: inset 0 1px rgba(255,255,255,.03);
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.contact-reference-workspace .contact-reference-action:hover,
.contact-reference-workspace .contact-reference-action:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(81, 169, 255, .82) !important;
    background: linear-gradient(180deg, rgba(25, 67, 102, .96), rgba(13, 43, 70, .96)) !important;
}

.contact-reference-workspace .contact-reference-action-icon {
    width: 34px;
    height: 34px;
    object-fit: contain;
    filter: drop-shadow(0 4px 7px rgba(0, 0, 0, .24));
}

.contact-reference-workspace .contact-reference-information {
    padding: 16px 18px 18px;
}

.contact-reference-workspace .contact-detail-grid {
    gap: 0 !important;
}

.contact-reference-workspace .contact-reference-field-row {
    display: grid !important;
    grid-template-columns: minmax(180px, 36%) 1fr;
    align-items: center;
    min-height: 39px;
    border-bottom: 1px solid rgba(87, 128, 164, .25);
}

.contact-reference-workspace .contact-reference-field-row:last-child {
    border-bottom: 0;
}

.contact-reference-workspace .contact-reference-field-label {
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--text-secondary, #b8c7d8);
}

.contact-reference-workspace .contact-reference-field-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    object-fit: contain;
    opacity: .92;
}

.contact-reference-workspace .contact-reference-field-row dd,
.contact-reference-workspace a[href^="mailto:"],
.contact-reference-workspace a[href^="tel:"],
.contact-reference-workspace a[href*="linkedin"] {
    color: #5aa7ff;
}

.contact-reference-workspace .contact-reference-badge-active,
.contact-reference-workspace .contact-reference-badge-client,
.contact-reference-workspace .contact-reference-badge-neutral {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
}

.contact-reference-workspace .contact-reference-badge-active {
    color: #7ec4ff;
    border: 1px solid rgba(69, 157, 255, .38);
    background: rgba(30, 105, 185, .2);
}

.contact-reference-workspace .contact-reference-badge-client {
    color: #8fe379;
    border: 1px solid rgba(91, 190, 72, .38);
    background: rgba(46, 132, 42, .2);
}

.contact-reference-workspace .contact-reference-badge-neutral {
    color: #f2c96f;
    border: 1px solid rgba(221, 169, 53, .35);
    background: rgba(151, 103, 19, .18);
}

@media (max-width: 680px) {
    .contact-reference-workspace { width: 100%; gap: 10px; }
    .contact-reference-workspace .contact-reference-hero { padding: 16px; }
    .contact-reference-workspace .contact-reference-avatar {
        width: 74px !important;
        min-width: 74px;
        height: 74px !important;
    }
    .contact-reference-workspace .contact-reference-actions { gap: 6px; padding: 8px; }
    .contact-reference-workspace .contact-reference-action { min-height: 68px; font-size: .72rem; }
    .contact-reference-workspace .contact-reference-action-icon { width: 28px; height: 28px; }
    .contact-reference-workspace .contact-reference-field-row {
        grid-template-columns: minmax(130px, 42%) 1fr;
    }
}

/* CONTACTS-005E-R6-LARGE-OFFICIAL-ICONS-AND-THEME-ROADMAP */
.contact-reference-workspace {
    --contact-action-icon-size: 48px;
    --contact-field-icon-size: 23px;
    --contact-inline-icon-size: 25px;
    --contact-favorite-icon-size: 34px;
}

.contact-reference-workspace .contact-reference-favorite {
    width: var(--contact-favorite-icon-size);
    height: var(--contact-favorite-icon-size);
}

.contact-reference-workspace .contact-reference-inline-icon {
    width: var(--contact-inline-icon-size);
    height: var(--contact-inline-icon-size);
}

.contact-reference-workspace .contact-reference-action {
    min-height: 92px;
    gap: 8px;
}

.contact-reference-workspace .contact-reference-action-icon {
    width: var(--contact-action-icon-size);
    height: var(--contact-action-icon-size);
}

.contact-reference-workspace .contact-reference-field-icon {
    width: var(--contact-field-icon-size);
    height: var(--contact-field-icon-size);
    flex-basis: var(--contact-field-icon-size);
}

@media (max-width: 680px) {
    .contact-reference-workspace {
        --contact-action-icon-size: 41px;
        --contact-field-icon-size: 20px;
        --contact-inline-icon-size: 22px;
        --contact-favorite-icon-size: 30px;
    }
    .contact-reference-workspace .contact-reference-action { min-height: 82px; }
}

/* CONTACTS-005F-R4-CANONICAL-UPDATE-WRITE-SCOPE-INLINE-UI */
.contact-reference-information > header {
    display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}
.contact-reference-information > header > span { margin-left: auto; }
.contact-inline-edit-trigger,
.contact-edit-actions button {
    min-height: 36px; padding: 7px 13px; border: 1px solid rgba(80, 160, 235, .46);
    border-radius: 9px; background: rgba(18, 57, 89, .88); color: #f7fbff;
    font: inherit; font-weight: 800; cursor: pointer;
}
.contact-inline-edit-trigger { color: #67b4ff; }
.contact-inline-edit-form { display: grid; gap: 15px; }
.contact-inline-edit-form > header { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.contact-inline-edit-form h2 { margin: 0; }
.contact-inline-edit-form header span { color: var(--text-secondary, #b8c7d8); font-size: .78rem; }
.contact-edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.contact-edit-field { display: grid; gap: 6px; color: var(--text-secondary, #b8c7d8); font-size: .78rem; font-weight: 750; }
.contact-edit-field-wide { grid-column: 1 / -1; }
.contact-edit-field input,
.contact-edit-field textarea {
    width: 100%; box-sizing: border-box; border: 1px solid rgba(78, 132, 179, .48);
    border-radius: 9px; background: rgba(8, 27, 44, .88); color: #f7fbff;
    padding: 10px 11px; font: inherit; outline: none;
}
.contact-edit-field input:focus,
.contact-edit-field textarea:focus { border-color: #55aaff; box-shadow: 0 0 0 3px rgba(55, 142, 226, .16); }
.contact-edit-feedback { min-height: 20px; margin: 0; color: #ffca45; }
.contact-edit-actions { display: flex; justify-content: flex-end; gap: 9px; }
.contact-edit-actions .is-primary { background: #1f78c8; border-color: #55aaff; }
.contact-edit-actions button:disabled { opacity: .58; cursor: wait; }
@media (max-width: 680px) {
    .contact-edit-grid { grid-template-columns: 1fr; }
    .contact-edit-field-wide { grid-column: auto; }
}

/* CONTACTS-005G-R6-CANONICAL-SOFT-DELETE-AUDIT-EVENT-UI */
.contact-soft-delete-trigger {
    min-height: 36px; padding: 7px 13px; border-radius: 9px;
    border: 1px solid rgba(244, 94, 94, .58);
    background: rgba(105, 24, 35, .72); color: #ffd7db;
    font: inherit; font-weight: 850; cursor: pointer;
}
.contact-soft-delete-trigger:hover:not(:disabled) {
    background: rgba(142, 31, 45, .9); border-color: rgba(255, 127, 127, .86);
}
.contact-soft-delete-trigger:disabled { opacity: .62; cursor: wait; }


/*
 * GRID-RESIZE-005B-COMPANY-CONTACT-CANONICAL-RESIZE
 * Contact Explorer — Enterprise column resize.
 */

.contact-explorer-table {
    table-layout: fixed;
}

.contact-explorer-table
thead th[data-column-key] {
    position: relative;
}

.contact-explorer-table
[data-column-key] {
    box-sizing: border-box;
    overflow: hidden;
}

.contact-explorer__column-resizer {
    position: absolute;

    z-index: 20;

    top: 4px;
    right: -4px;
    bottom: 4px;

    display: block;

    width: 9px;
    min-width: 9px;

    cursor: col-resize;
    touch-action: none;
    user-select: none;

    background: transparent;
}

.contact-explorer__column-resizer::after {
    content: "";

    position: absolute;

    top: 5px;
    right: 3px;
    bottom: 5px;

    width: 2px;

    border-radius: 2px;

    background:
        rgba(99, 174, 225, .46);

    transition:
        width .12s ease,
        background-color .12s ease,
        box-shadow .12s ease;
}

.contact-explorer__column-resizer:hover::after,
.contact-explorer-table
th.is-resizing
.contact-explorer__column-resizer::after {
    width: 3px;

    background:
        rgba(82, 197, 244, .95);

    box-shadow:
        0 0 7px
        rgba(82, 197, 244, .52);
}

.contact-explorer-table.is-resizing-columns,
.contact-explorer-table.is-resizing-columns * {
    cursor: col-resize !important;
    user-select: none !important;
}

.contact-explorer-table
th.is-auto-sized {
    box-shadow:
        inset -2px 0 0
        rgba(82, 197, 244, .9);
}


/* CONTACTS-001E-R2-REFERENCE-SCREEN-LIVE-PARITY START */
.contact-detail-shell.contact-v2-workspace{
    width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;
    box-sizing:border-box!important;display:grid!important;gap:10px!important;
}
.contact-v2-grid{
    width:100%!important;min-width:0!important;display:grid!important;
    grid-template-columns:minmax(280px,340px) minmax(0,1fr) minmax(300px,380px)!important;
    gap:10px!important;align-items:start!important;
}
.contact-v2-left,.contact-v2-center,.contact-v2-right{
    min-width:0!important;display:grid!important;gap:10px!important;align-content:start!important;
}
.contact-v2-card,.contact-v2-tabs{
    min-width:0!important;border:1px solid var(--line)!important;border-radius:12px!important;
    background:var(--panel)!important;overflow:hidden!important;box-sizing:border-box!important;
}
.contact-v2-card>header{
    min-height:36px!important;display:flex!important;align-items:center!important;padding:0 10px!important;
    border-bottom:1px solid var(--line)!important;box-sizing:border-box!important;
}
.contact-v2-profile{padding:14px!important}
.contact-v2-profile-top{display:flex!important;align-items:center!important;gap:14px!important}
.contact-v2-profile .contact-profile-avatar{width:78px!important;height:78px!important;min-width:78px!important;font-size:22px!important}
.contact-v2-profile-copy h1{margin:0!important;font-size:20px!important}
.contact-v2-profile-copy p{margin:4px 0!important;font-size:12px!important;color:var(--muted)!important}
.contact-v2-profile-actions{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;margin-top:12px!important}
.contact-v2-profile-actions .contact-detail-action,.contact-v2-profile-actions .contact-detail-more summary{min-height:58px!important;padding:6px!important}
.contact-v2-workspace .contact-main-info{padding:12px!important;max-height:none!important;overflow:visible!important}
.contact-v2-workspace .contact-main-info dl{display:grid!important;grid-template-columns:1fr!important}
.contact-v2-workspace .contact-info-row{grid-template-columns:minmax(115px,38%) minmax(0,1fr)!important;gap:8px!important;padding:6px 0!important}
.contact-v2-astra{min-height:170px!important}
.contact-v2-tabs{min-height:44px!important;display:flex!important;align-items:center!important;gap:28px!important;padding:0 14px!important}
.contact-v2-tabs button{height:42px!important;border:0!important;border-bottom:2px solid transparent!important;background:transparent!important;color:var(--muted)!important;font:inherit!important}
.contact-v2-tabs button.is-active{color:var(--text)!important;border-bottom-color:#28a9ff!important}
.contact-v2-timeline{min-height:480px!important;display:flex!important;flex-direction:column!important}
.contact-v2-timeline-head{min-height:42px!important}
.contact-v2-summary{min-height:230px!important}
.contact-v2-summary-grid,.contact-v2-kpi-row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;padding:10px!important}
.contact-v2-kpi-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.contact-v2-summary-grid>div,.contact-v2-kpi-row>div{border:1px solid rgba(112,148,184,.16)!important;border-radius:10px!important;padding:10px!important;min-height:70px!important;box-sizing:border-box!important}
.contact-v2-summary-grid span,.contact-v2-kpi-row span{display:block!important;color:var(--muted)!important;font-size:10px!important;margin-bottom:6px!important}
.contact-v2-summary-grid strong,.contact-v2-kpi-row strong{font-size:15px!important}
.contact-v2-widget-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;padding:10px!important}
.contact-v2-widget{min-height:76px!important;border:1px solid rgba(112,148,184,.18)!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;color:var(--text)!important;text-decoration:none!important;font-size:11px!important}
.contact-v2-company-card{display:grid!important;gap:6px!important;padding:12px!important}
.contact-v2-company-card a{color:#55aaff!important;text-decoration:none!important;font-weight:700!important}
.contact-v2-empty{min-height:90px!important;padding:12px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;color:var(--muted)!important;font-size:11px!important;box-sizing:border-box!important}
.contact-v2-bottom-bar{width:100%!important;min-height:52px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--panel)!important;display:flex!important;align-items:center!important;gap:8px!important;padding:6px 10px!important;overflow-x:auto!important;box-sizing:border-box!important}
.contact-v2-bottom-bar>a,.contact-v2-bottom-bar .contact-detail-action{flex:0 0 auto!important;min-height:36px!important;padding:0 10px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:0!important;background:transparent!important;color:var(--text)!important;text-decoration:none!important;font-size:11px!important}
@media(max-width:1280px){
    .contact-v2-grid{grid-template-columns:minmax(260px,320px) minmax(0,1fr)!important}
    .contact-v2-right{grid-column:1/-1!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
    .contact-v2-grid{grid-template-columns:1fr!important}
    .contact-v2-right{grid-template-columns:1fr!important}
}
@media(max-width:620px){
    .contact-v2-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .contact-v2-summary-grid,.contact-v2-kpi-row{grid-template-columns:1fr!important}
}
/* CONTACTS-001E-R2-REFERENCE-SCREEN-LIVE-PARITY END */


/* CONTACTS-001F-R3-OPERATIVE-WORKSPACE START */
.contact-detail-shell.contact-v2-workspace{width:min(100%,1460px)!important;margin:0 auto!important;padding:10px 12px 18px!important}
.contact-v2-grid{grid-template-columns:minmax(300px,330px) minmax(560px,1fr) minmax(330px,390px)!important;gap:10px!important}
.contact-v2-left,.contact-v2-center,.contact-v2-right{gap:10px!important}
.contact-v2-timeline{min-height:500px!important}.contact-v2-summary{min-height:210px!important}
.contact-v2-quick-actions>header{justify-content:space-between!important}.contact-v2-quick-actions>header span{color:var(--muted)!important;font-size:10px!important}
.contact-v2-quick-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;padding:10px!important}
.contact-v2-quick-grid .contact-detail-action,.contact-v2-quick{min-height:66px!important;padding:7px!important;border:1px solid rgba(112,148,184,.18)!important;border-radius:10px!important;background:rgba(18,43,68,.42)!important;color:var(--text)!important;text-decoration:none!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;font-size:10px!important}
.contact-v2-related .contact-v2-empty{min-height:72px!important}.contact-v2-recent-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px!important}.contact-v2-recent-grid>div{min-height:58px!important;border:1px solid rgba(112,148,184,.16)!important;border-radius:9px!important;padding:9px!important}.contact-v2-recent-grid span{display:block!important;color:var(--muted)!important;font-size:10px!important;margin-bottom:5px!important}
.contact-v2-bottom-bar{display:none!important}
@media(max-width:1320px){.contact-v2-grid{grid-template-columns:minmax(280px,320px) minmax(0,1fr)!important}.contact-v2-right{grid-column:1/-1!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){.contact-v2-grid{grid-template-columns:1fr!important}.contact-v2-right{grid-template-columns:1fr!important}}
/* CONTACTS-001F-R3-OPERATIVE-WORKSPACE END */



/* CONTACTS-001L-CANONICAL-COMPANY-QA-HOST-REUSE START */
.contact-v2-right > #ms-r5-qa.contact-v2-company-qa-host{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;box-sizing:border-box!important;align-self:start!important}
/* CONTACTS-001L-CANONICAL-COMPANY-QA-HOST-REUSE END */

/* CONTACTS-001M-R2-QUICK-ACTIONS-REAL-DOM-ALIGNMENT START */

/* Il DOM live Aziende certificato è:
   SECTION#ms-r5-qa
     1) .head
     2) contenitore azioni
     3) footer "Mostra tutte le azioni"
   Qui agiamo sui figli reali, senza assumere classi interne. */

#ms-r5-qa[data-contact-company-qa-host="true"]{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
}

/* Header */
#ms-r5-qa[data-contact-company-qa-host="true"] > :first-child{
    width:100%!important;
    min-height:38px!important;
    box-sizing:border-box!important;
}

/* Contenitore reale delle azioni = secondo figlio del widget */
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2){
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:minmax(118px,auto)!important;
    gap:10px!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    padding:10px!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
}

/* Ogni azione diventa una card regolare */
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) > button,
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) > a,
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) > [role="button"]{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:118px!important;
    height:auto!important;
    margin:0!important;
    padding:10px 8px!important;
    box-sizing:border-box!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;

    position:relative!important;
    inset:auto!important;
    float:none!important;
    transform:none!important;
    overflow:hidden!important;

    text-align:center!important;
    vertical-align:middle!important;
}

/* Neutralizza eventuali width/position legacy sui wrapper interni */
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) > * > *{
    position:static!important;
    inset:auto!important;
    float:none!important;
    transform:none!important;
}

/* Icona perfettamente centrata */
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) img{
    display:block!important;
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    min-height:56px!important;
    max-width:56px!important;
    max-height:56px!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0 auto!important;
    padding:0!important;
    flex:0 0 56px!important;
}

/* Testi del modulo: bianchi e leggibili */
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) strong,
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) b{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    color:#ffffff!important;
    -webkit-text-fill-color:#ffffff!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1.15!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:center!important;
    text-shadow:none!important;
}

#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) small,
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) p{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    color:rgba(255,255,255,.78)!important;
    -webkit-text-fill-color:rgba(255,255,255,.78)!important;
    font-size:9px!important;
    font-weight:500!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    text-align:center!important;
    text-shadow:none!important;
}

/* Se il testo titolo è direttamente nel bottone, rendilo comunque bianco. */
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) > button,
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) > a,
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) > [role="button"],
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(2) span{
    color:#ffffff!important;
}

/* Footer separato, mai dentro la griglia */
#ms-r5-qa[data-contact-company-qa-host="true"] > :nth-child(3){
    width:100%!important;
    min-height:36px!important;
    margin:0!important;
    padding:6px 10px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    color:#ffffff!important;
    text-align:center!important;
}

/* Evita che la vecchia patch 001M possa forzare layout diversi. */
#ms-r5-qa[data-contact-company-qa-host="true"] .ms-r7g-grid,
#ms-r5-qa[data-contact-company-qa-host="true"] .grid,
#ms-r5-qa[data-contact-company-qa-host="true"] .actions,
#ms-r5-qa[data-contact-company-qa-host="true"] .body{
    box-sizing:border-box!important;
}

/* CONTACTS-001M-R2-QUICK-ACTIONS-REAL-DOM-ALIGNMENT END */

/* CONTACTS-001N-R2-RIGHT-COLUMN-WIDGET-ALIGNMENT START */
.contact-v2-right{
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-content:start!important;
    align-items:start!important;
}
.contact-v2-right > *{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    justify-self:stretch!important;
    align-self:start!important;
    box-sizing:border-box!important;
    transform:none!important;
    left:auto!important;
    right:auto!important;
}
.contact-v2-right > #ms-r5-qa[data-contact-company-qa-host="true"]{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    justify-self:stretch!important;
    align-self:start!important;
    box-sizing:border-box!important;
}
.contact-v2-right > .contact-v2-card{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    border-radius:12px!important;
    overflow:hidden!important;
}
.contact-v2-right > .contact-v2-card > header{
    width:100%!important;
    min-height:38px!important;
    height:38px!important;
    margin:0!important;
    padding:0 10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    box-sizing:border-box!important;
}
.contact-v2-right > .contact-v2-card > header strong{
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1!important;
}
.contact-v2-right .contact-v2-kpi-row,
.contact-v2-right .contact-v2-company-card,
.contact-v2-right .contact-v2-empty,
.contact-v2-right .contact-v2-recent-grid{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
}
.contact-v2-right .contact-v2-kpi-row{
    padding:10px!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
}
.contact-v2-right .contact-v2-kpi-row > div{
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
}
.contact-v2-right .contact-v2-recent-grid{
    padding:10px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
}
.contact-v2-right .contact-v2-company-card{
    padding:10px!important;
}
.contact-v2-right .contact-v2-empty{
    min-height:82px!important;
    padding:10px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
}
.contact-v2-right > #ms-r5-qa,
.contact-v2-right > .contact-v2-card{
    grid-column:1!important;
}
/* CONTACTS-001N-R2-RIGHT-COLUMN-WIDGET-ALIGNMENT END */

/* CONTACTS-001S-QUICK-ACTIONS-AUTHORITATIVE-3X3 START */

#ms-r5-qa[data-contact-company-qa-host="true"]{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

/* Header */
#ms-r5-qa[data-contact-company-qa-host="true"] > .head{
  width:100%!important;
  box-sizing:border-box!important;
}

/* UNICA griglia: 3 colonne x 3 righe */
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:10px!important;
  box-sizing:border-box!important;

  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(3,108px)!important;
  gap:8px!important;

  align-items:stretch!important;
  justify-items:stretch!important;
  align-content:start!important;
  justify-content:stretch!important;
}

#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid > [data-contact-qa-authoritative-index]{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;

  height:108px!important;
  min-height:108px!important;
  max-height:108px!important;

  margin:0!important;
  padding:7px 5px!important;
  box-sizing:border-box!important;

  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;

  position:relative!important;
  inset:auto!important;
  float:none!important;
  clear:none!important;
  transform:none!important;

  overflow:hidden!important;
  text-align:center!important;
  text-decoration:none!important;

  grid-column:auto!important;
  grid-row:auto!important;
  align-self:stretch!important;
  justify-self:stretch!important;
}

/* Posizioni ESPLICITE */
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid > [data-contact-qa-authoritative-index="1"]{grid-column:1!important;grid-row:1!important}
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid > [data-contact-qa-authoritative-index="2"]{grid-column:2!important;grid-row:1!important}
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid > [data-contact-qa-authoritative-index="3"]{grid-column:3!important;grid-row:1!important}
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid > [data-contact-qa-authoritative-index="4"]{grid-column:1!important;grid-row:2!important}
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid > [data-contact-qa-authoritative-index="5"]{grid-column:2!important;grid-row:2!important}
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid > [data-contact-qa-authoritative-index="6"]{grid-column:3!important;grid-row:2!important}
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid > [data-contact-qa-authoritative-index="7"]{grid-column:1!important;grid-row:3!important}
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid > [data-contact-qa-authoritative-index="8"]{grid-column:2!important;grid-row:3!important}
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid > [data-contact-qa-authoritative-index="9"]{grid-column:3!important;grid-row:3!important}

/* Icone */
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid img{
  display:block!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  margin:0 auto 3px!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  position:static!important;
  transform:none!important;
}

/* Testi */
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid strong,
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid b{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.1!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-shadow:none!important;
}

#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid small,
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-grid p{
  display:block!important;
  width:100%!important;
  margin:1px 0 0!important;
  padding:0 2px!important;
  color:rgba(255,255,255,.72)!important;
  -webkit-text-fill-color:rgba(255,255,255,.72)!important;
  font-size:7px!important;
  font-weight:500!important;
  line-height:1.1!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-shadow:none!important;
}

/* Toggle DOPO la terza riga */
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-footer{
  width:100%!important;
  min-height:34px!important;
  margin:0!important;
  padding:6px 10px 8px!important;
  box-sizing:border-box!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;

  position:static!important;
  inset:auto!important;
  transform:none!important;

  color:#fff!important;
  text-align:center!important;
}
#ms-r5-qa[data-contact-company-qa-host="true"] > .contact-qa-authoritative-footer *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* CONTACTS-001S-QUICK-ACTIONS-AUTHORITATIVE-3X3 END */

/* CONTACTS-001T-DIRECT-HOST-STRICT-3X3 START */

/*
DOM verificato via console:
#ms-r5-qa[data-contact-company-qa-host="true"]
  button 1  = Mostra tutte le azioni
  button 2  = Nuova opportunità
  button 3  = Nuova offerta
  button 4  = Nuovo ordine
  button 5  = Nuovo contatto
  button 6  = Invia email
  button 7  = Chiama azienda
  button 8  = Nuova nota
  button 9  = Pianifica attività
  button 10 = Pianifica viaggio

Questa patch è scoped SOLO al Quick Actions Contatti.
*/

/* Il SECTION stesso diventa la griglia autoritativa. */
#ms-r5-qa[data-contact-company-qa-host="true"]{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(3,108px) 34px!important;
  grid-auto-flow:row!important;
  gap:8px!important;

  width:100%!important;
  min-width:0!important;
  max-width:none!important;

  margin:0!important;
  padding:10px!important;
  box-sizing:border-box!important;

  align-items:stretch!important;
  justify-items:stretch!important;
  align-content:start!important;
  justify-content:stretch!important;

  overflow:hidden!important;
}

/* Tutte le 9 azioni: stessa geometria, stesso display. */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action{
  display:flex!important;

  width:100%!important;
  min-width:0!important;
  max-width:none!important;

  height:108px!important;
  min-height:108px!important;
  max-height:108px!important;

  margin:0!important;
  padding:7px 5px!important;
  box-sizing:border-box!important;

  grid-column:auto!important;
  grid-row:auto!important;

  align-self:stretch!important;
  justify-self:stretch!important;

  position:relative!important;
  inset:auto!important;
  float:none!important;
  clear:none!important;
  transform:none!important;

  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;

  overflow:hidden!important;
  text-align:center!important;
}

/* Posizioni 3 × 3 esplicite.
   nth-child include il toggle come child 1. */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action:nth-child(2){
  grid-column:1!important; grid-row:1!important;
}
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action:nth-child(3){
  grid-column:2!important; grid-row:1!important;
}
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action:nth-child(4){
  grid-column:3!important; grid-row:1!important;
}
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action:nth-child(5){
  grid-column:1!important; grid-row:2!important;
}
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action:nth-child(6){
  grid-column:2!important; grid-row:2!important;
}
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action:nth-child(7){
  grid-column:3!important; grid-row:2!important;
}
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action:nth-child(8){
  grid-column:1!important; grid-row:3!important;
}
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action:nth-child(9){
  grid-column:2!important; grid-row:3!important;
}
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action:nth-child(10){
  grid-column:3!important; grid-row:3!important;
}

/* La nona azione era display:none: la riattiviamo SOLO qui. */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action:nth-child(10){
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Toggle SEMPRE sotto le tre righe. */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-more-toggle{
  display:flex!important;

  grid-column:1 / -1!important;
  grid-row:4!important;

  width:auto!important;
  min-width:0!important;
  max-width:none!important;

  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;

  margin:0!important;
  padding:4px 8px!important;

  align-self:stretch!important;
  justify-self:stretch!important;

  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;

  position:relative!important;
  inset:auto!important;
  transform:none!important;

  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-align:center!important;
  box-sizing:border-box!important;
}

/* Icone omogenee */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action img{
  display:block!important;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  max-width:46px!important;
  max-height:46px!important;

  margin:0 auto 3px!important;
  padding:0!important;

  object-fit:contain!important;
  object-position:center!important;

  position:static!important;
  transform:none!important;
}

/* Testi leggibili */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action strong,
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action b{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;

  color:#fff!important;
  -webkit-text-fill-color:#fff!important;

  font-size:10px!important;
  font-weight:800!important;
  line-height:1.1!important;

  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-shadow:none!important;
}

#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action small,
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action p{
  display:block!important;
  width:100%!important;
  margin:1px 0 0!important;
  padding:0 2px!important;

  color:rgba(255,255,255,.74)!important;
  -webkit-text-fill-color:rgba(255,255,255,.74)!important;

  font-size:7px!important;
  font-weight:500!important;
  line-height:1.1!important;

  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-shadow:none!important;
}

/* CONTACTS-001T-DIRECT-HOST-STRICT-3X3 END */

/* CONTACTS-001U-QUICK-ACTIONS-CLEAN-LABELS-LARGE-ICONS START */

/* Scope esclusivo al Quick Actions Contatti. */
#ms-r5-qa[data-contact-company-qa-host="true"]{
  grid-template-rows:repeat(3,118px) 34px!important;
}

/* Card: più aria verticale, icona + solo titolo. */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action{
  height:118px!important;
  min-height:118px!important;
  max-height:118px!important;

  padding:9px 6px!important;
  gap:7px!important;

  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;

  text-align:center!important;
  overflow:hidden!important;
}

/* Nasconde le descrizioni aggiuntive sotto il titolo. */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action small,
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action p,
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action .ms-r7g-meta{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Icona più grande, perfettamente centrata. */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action img{
  display:block!important;

  width:60px!important;
  height:60px!important;
  min-width:60px!important;
  min-height:60px!important;
  max-width:60px!important;
  max-height:60px!important;

  flex:0 0 60px!important;

  margin:0 auto!important;
  padding:0!important;

  object-fit:contain!important;
  object-position:center!important;

  position:static!important;
  inset:auto!important;
  transform:none!important;
}

/* Qualunque wrapper dell'icona resta centrato. */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action > span:first-child{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  min-height:64px!important;

  margin:0 auto!important;
  padding:0!important;

  position:static!important;
  transform:none!important;
}

/* Titolo unico e centrato. */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action strong,
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action b{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  width:100%!important;
  min-height:24px!important;

  margin:0!important;
  padding:0 2px!important;

  color:#fff!important;
  -webkit-text-fill-color:#fff!important;

  font-size:11px!important;
  font-weight:800!important;
  line-height:1.15!important;

  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;

  position:static!important;
  transform:none!important;
  text-shadow:none!important;
}

/* Neutralizza eventuali offset dei wrapper interni. */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action > *{
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
}

/* CONTACTS-001U-QUICK-ACTIONS-CLEAN-LABELS-LARGE-ICONS END */

/* CONTACTS-001V-QA-DOM-CLEANUP START */
#ms-r5-qa[data-contact-company-qa-host="true"]{
  grid-template-rows:repeat(3,122px) 34px!important;
}
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action{
  height:122px!important;
  min-height:122px!important;
  max-height:122px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  gap:5px!important;
}
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action img{
  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  min-height:68px!important;
  max-width:68px!important;
  max-height:68px!important;
  object-fit:contain!important;
  margin:0 auto!important;
}
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action strong,
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action b{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-align:center!important;
  font-size:11px!important;
  line-height:1.1!important;
}
/* CONTACTS-001V-QA-DOM-CLEANUP END */

/* CONTACTS-001W-QA-ICON-60PX START */
/* Scope esclusivo: Quick Actions Contatti */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action img {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    min-height: 60px !important;
    max-width: 60px !important;
    max-height: 60px !important;
    flex: 0 0 60px !important;
    object-fit: contain !important;
    object-position: center !important;
    margin: 0 auto !important;
}
/* CONTACTS-001W-QA-ICON-60PX END */

/* CONTACTS-001X-QA-REMOVE-ARROWS START */
/* Scope esclusivo Quick Actions Contatti */
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action .arrow,
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action .chevron,
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action [class*="arrow"],
#ms-r5-qa[data-contact-company-qa-host="true"] > button.ms-r7g-standard-action [class*="chevron"] {
    display: none !important;
    visibility: hidden !important;
}

/* CONTACTS-001X-QA-REMOVE-ARROWS END */
