/* =========================================================
   Profilo pubblico
   ========================================================= */

.mv-public-profile {
   width: min(1180px, 100%);
   margin: 0 auto;
   padding: 0px 0 72px;
}

.mv-public-profile-layout {
   display: grid;
   grid-template-columns: minmax(0, 1fr) 360px;
   align-items: start;
   gap: 26px;
}

.mv-public-profile-timeline,
.mv-public-profile-sidebar {
   min-width: 0;
}

.mv-public-profile-sidebar {
   position: sticky;
   top: 128px;
   align-self: start;

   display: grid;
   gap: 14px;

   max-height: calc(100vh - 146px);

   overflow-y: auto;
   overflow-x: hidden;

   overscroll-behavior: contain;

   /* Firefox */
   scrollbar-width: none;

   /* Edge Legacy / IE */
   -ms-overflow-style: none;
}

.mv-public-profile-sidebar::-webkit-scrollbar {
   width: 0;
   height: 0;
   display: none;
   background: transparent;
}

/* =========================================================
   Sidebar details
   ========================================================= */

.mv-public-profile-sidebar-details {
   display: block;
   width: 100%;
}

.mv-public-profile-sidebar-summary {
   display: none;
}

.mv-public-profile-sidebar-content {
   display: grid;
   gap: 14px;
   width: 100%;
   min-width: 0;
}

.mv-public-profile-sidebar-details:not([open])
> .mv-public-profile-sidebar-content {
   display: grid;
}

/* =========================================================
   Avvisi
   ========================================================= */

.mv-public-profile-alert {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   margin-bottom: 20px;
   padding: 14px 16px;
   border: 1px solid var(--mv-border);
   border-radius: 12px;
   background: var(--mv-surface);
   color: var(--mv-muted);
   font-size: 13px;
   line-height: 1.55;
}

.mv-public-profile-alert > i {
   flex: 0 0 auto;
   margin-top: 2px;
   color: var(--mv-primary);
   font-size: 15px;
}

.mv-public-profile-alert > div {
   display: grid;
   gap: 3px;
}

.mv-public-profile-alert strong {
   color: var(--mv-text);
   font-size: 13px;
   font-weight: 800;
}

.mv-public-profile-alert span {
   color: var(--mv-muted);
}

.mv-public-profile-alert-warning {
   border-color: #efd7a5;
   background: #fffaf0;
}

.mv-public-profile-alert-warning > i,
.mv-public-profile-alert-warning strong {
   color: #8a5d0a;
}

/* =========================================================
   Timeline
   ========================================================= */

.mv-public-profile-timeline {
      display: grid;
      gap: 14px;
      align-content: start;
   }

.mv-public-profile-pings-list {
      display: grid;
      gap: 14px;
      padding-top: 2px;
   }

.mv-public-profile-timeline-header {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   gap: 20px;
   padding: 4px 2px 14px;
   border-bottom: 1px solid var(--mv-border);
}

.mv-public-profile-timeline-header h1 {
   margin: 0;
   color: var(--mv-text);
   font-size: 24px;
   font-weight: 850;
   line-height: 1.15;
   letter-spacing: -.03em;
}

.mv-public-profile-timeline-header p {
   margin: 5px 0 0;
   color: var(--mv-muted);
   font-size: 12px;
   line-height: 1.5;
}

.mv-public-profile-timeline-header p strong {
   color: var(--mv-text);
   font-weight: 750;
}

.mv-public-profile-timeline-count {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   flex: 0 0 auto;
   min-width: 34px;
   height: 30px;
   padding: 0 10px;
   border-radius: 8px;
   background: rgba(66, 185, 146, .11);
   color: #187b5d;
   font-size: 12px;
   font-weight: 850;
}

.mv-public-profile-pings-list {
   display: grid;
   gap: 14px;

   min-width: 0;
   width: 100%;
}

.mv-public-profile-pings-list .ping-card {
   min-width: 0;
   width: 100%;
   margin: 0;
   box-sizing: border-box;
}

.mv-public-profile-pings-empty {
   display: grid;
   justify-items: center;
   gap: 8px;
   padding: 48px 24px;
   border: 1px dashed var(--mv-border);
   border-radius: 14px;
   background: var(--mv-surface);
   text-align: center;
}

.mv-public-profile-pings-empty-icon {
   display: grid;
   place-items: center;
   width: 46px;
   height: 46px;
   border-radius: 12px;
   background: rgba(66, 185, 146, .1);
   color: var(--mv-primary);
   font-size: 19px;
}

.mv-public-profile-pings-empty strong {
   color: var(--mv-text);
   font-size: 15px;
   font-weight: 800;
}

.mv-public-profile-pings-empty p {
   margin: 0;
   color: var(--mv-muted);
   font-size: 12px;
   line-height: 1.5;
}

/* =========================================================
   Card sidebar
   ========================================================= */

.mv-public-profile-card {
   min-width: 0;
   padding: 18px;
   border: 1px solid var(--mv-border);
   border-radius: 14px;
   background: var(--mv-surface);
   box-shadow: 0 7px 22px rgba(23, 33, 43, .03);
}

.mv-public-profile-card-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   margin-bottom: 14px;
   padding-bottom: 11px;
   border-bottom: 1px solid var(--mv-border);
}

.mv-public-profile-card-header h2 {
   margin: 0;
   color: var(--mv-text);
   font-size: 14px;
   font-weight: 850;
   line-height: 1.25;
   letter-spacing: -.01em;
}

/* =========================================================
   Scorciatoie account
   ========================================================= */

.mv-public-profile-shortcuts {
   padding: 16px;
}

.mv-public-profile-shortcuts .mv-public-profile-card-header {
   margin-bottom: 10px;
   padding-bottom: 9px;
}

.mv-public-profile-shortcuts-nav {
   display: grid;
   gap: 6px;
}

.mv-public-profile-shortcuts-nav a {
   display: grid;
   grid-template-columns: 28px minmax(0, 1fr) 12px;
   align-items: center;
   gap: 9px;

   min-height: 40px;
   padding: 8px 9px;

   border-radius: 9px;

   background: var(--mv-bg);

   color: var(--mv-text);

   font-size: 12px;
   font-weight: 700;
   line-height: 1.3;

   text-decoration: none;

   transition:
      background-color .16s ease,
      color .16s ease;
}

.mv-public-profile-shortcuts-nav a:hover {
   background: rgba(66, 185, 146, .08);
   color: var(--mv-primary);
}

.mv-public-profile-shortcuts-nav a > i:first-child {
   display: grid;
   place-items: center;

   width: 28px;
   height: 28px;

   border-radius: 8px;

   background: #fff;

   color: var(--mv-primary);

   font-size: 11px;
}

.mv-public-profile-shortcuts-nav a > span {
   min-width: 0;
}

.mv-public-profile-shortcuts-nav a > i:last-child {
   color: var(--mv-muted);
   font-size: 8px;

   transition: transform .16s ease;
}

.mv-public-profile-shortcuts-nav a:hover > i:last-child {
   transform: translateX(2px);
}

/* =========================================================
   Identità
   ========================================================= */

.mv-public-profile-identity-card {
   position: static;
   z-index: 2;

   padding: 20px;

   border-color: rgba(66, 185, 146, .22);

   background:
      linear-gradient(
         180deg,
         rgba(66, 185, 146, .055) 0,
         rgba(255, 255, 255, 0) 115px
      ),
      var(--mv-surface);

   box-shadow:
      0 12px 34px rgba(23, 33, 43, .055);
}

.mv-public-profile-identity-top {
   display: flex;
   align-items: center;
   gap: 14px;
}

.mv-public-profile-avatar {
   display: grid;
   place-items: center;
   flex: 0 0 auto;

   width: 64px;
   height: 64px;

   overflow: hidden;

   border: 3px solid #fff;
   border-radius: 50%;

   background: var(--mv-surface);

   box-shadow:
      0 9px 24px rgba(23, 33, 43, .14),
      0 0 0 1px rgba(66, 185, 146, .18);
}

.mv-public-profile-avatar img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.mv-public-profile-avatar span {
   color: #fff;
   font-size: 28px;
   font-weight: 850;
   line-height: 1;
}

.mv-public-profile-identity-name {
   min-width: 0;
}

.mv-public-profile-identity-name h2 {
   overflow: hidden;

   margin: 0 0 8px;

   color: var(--mv-text);
   font-size: 24px;
   font-weight: 850;
   line-height: 1.08;
   letter-spacing: -.035em;

   text-overflow: ellipsis;
   white-space: nowrap;
}

.mv-public-profile-name-row {
   display: flex;
   align-items: center;
   gap: 9px;
}

.mv-public-profile-role {
   display: flex;
   align-items: center;
   gap: 5px;

   margin-top: 4px;

   color: var(--mv-muted);

   font-size: 11px;
   font-weight: 650;
   line-height: 1.3;
}

.mv-public-profile-role i {
   color: var(--mv-primary);
   font-size: 10px;
}

.mv-public-profile-identity-name .mv-user-presence {
   padding: 0;
   border: 0;
   background: transparent;
}

.mv-public-profile-identity-name .mv-user-presence-label {
   display: none;
}

.mv-public-profile-identity-name .mv-user-presence i {
   font-size: 11px;
   margin: 0;
}

.mv-public-profile-motto {
   margin: 17px 0 0;

   color: var(--mv-text);
   font-size: 14px;
   font-weight: 750;
   line-height: 1.55;

   overflow-wrap: anywhere;
}

.mv-public-profile-bio {
   margin-top: 10px;

   color: var(--mv-muted);
   font-size: 13px;
   line-height: 1.65;

   overflow-wrap: anywhere;
}

.mv-public-profile-meta {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 8px;

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

   border-top: 1px solid var(--mv-border);
}

.mv-public-profile-meta span {
   display: flex;
   align-items: center;
   gap: 7px;

   min-width: 0;
   padding: 8px 9px;

   border-radius: 8px;

   background: var(--mv-bg);

   color: var(--mv-muted);
   font-size: 11px;
   font-weight: 650;
   line-height: 1.3;
}

.mv-public-profile-meta i {
   flex: 0 0 auto;
   width: 13px;

   color: var(--mv-primary);
   font-size: 11px;
   text-align: center;
}

.mv-public-profile-follow-stats {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 8px;

   margin-top: 15px;
}

.mv-public-profile-follow-stats > div {
   display: grid;
   justify-items: center;
   gap: 3px;

   min-width: 0;
   padding: 12px 8px;

   border: 1px solid var(--mv-border);
   border-radius: 10px;

   background: #fff;

   text-align: center;
}

.mv-public-profile-follow-stats strong {
   color: var(--mv-text);
   font-size: 17px;
   font-weight: 850;
   line-height: 1.1;
}

.mv-public-profile-follow-stats span {
   color: var(--mv-muted);
   font-size: 11px;
   font-weight: 650;
   line-height: 1.25;
   text-transform: none;
   letter-spacing: 0;
}

/* =========================================================
   Terminal — Profilo pubblico, timeline e identità
   ========================================================= */

/* Avvisi */

.mv-public-profile-alert {
   border-color: var(--mv-border);
   background: var(--mv-terminal-panel);
   color: var(--mv-terminal-soft);
}

.mv-public-profile-alert strong {
   color: var(--mv-terminal-bright);
}

.mv-public-profile-alert-warning {
   border-color: var(--mv-terminal-warning);
   background: var(--mv-terminal-panel-alt);
}

.mv-public-profile-alert-warning > i,
.mv-public-profile-alert-warning strong {
   color: var(--mv-terminal-warning);
}

/* Timeline */

.mv-public-profile-timeline-header h1,
.mv-public-profile-timeline-header p strong {
   color: var(--mv-terminal-bright);
}

.mv-public-profile-timeline-count {
   background: var(--mv-terminal-panel-alt);
   color: var(--mv-terminal-bright);
}

.mv-public-profile-pings-empty {
   border-color: var(--mv-border);
   background: var(--mv-terminal-panel);
}

.mv-public-profile-pings-empty-icon {
   background: var(--mv-terminal-panel-alt);
   color: var(--mv-terminal-bright);
}

.mv-public-profile-pings-empty strong {
   color: var(--mv-terminal-bright);
}

/* Card sidebar */

.mv-public-profile-card {
   border-color: var(--mv-border);
   background: var(--mv-terminal-panel);
   box-shadow: 0 7px 22px rgba(0, 0, 0, .18);
}

.mv-public-profile-card-header h2 {
   color: var(--mv-terminal-bright);
}

/* Scorciatoie account */

.mv-public-profile-shortcuts-nav a {
   background: var(--mv-terminal-panel-alt);
   color: var(--mv-terminal-soft);
}

.mv-public-profile-shortcuts-nav a:hover {
   background: var(--mv-terminal-black);
   color: var(--mv-terminal-bright);
}

.mv-public-profile-shortcuts-nav a > i:first-child {
   background: var(--mv-terminal-black);
   color: var(--mv-terminal-bright);
}

/* Identità */

.mv-public-profile-identity-card {
   border-color: var(--mv-border);
   background:
      linear-gradient(
         180deg,
         rgba(57, 255, 136, .045) 0,
         rgba(57, 255, 136, 0) 115px
      ),
      var(--mv-terminal-panel);
   box-shadow: 0 12px 34px rgba(0, 0, 0, .22);
}

.mv-public-profile-avatar {
   border-color: var(--mv-border);
   background: var(--mv-terminal-panel-alt);
   box-shadow:
      0 9px 24px rgba(0, 0, 0, .25),
      0 0 0 1px var(--mv-border);
}

.mv-public-profile-avatar span {
   color: var(--mv-terminal-bright);
}

.mv-public-profile-identity-name h2,
.mv-public-profile-motto {
   color: var(--mv-terminal-bright);
}

.mv-public-profile-meta span {
   background: var(--mv-terminal-panel-alt);
   color: var(--mv-terminal-soft);
}

.mv-public-profile-follow-stats > div {
   border-color: var(--mv-border);
   background: var(--mv-terminal-panel-alt);
}

.mv-public-profile-follow-stats strong {
   color: var(--mv-terminal-bright);
}

/* =========================================================
   Azioni profilo
   ========================================================= */

.mv-public-profile-actions {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 8px;
   margin-top: 14px;
}

.mv-public-profile-actions form {
   margin: 0;
}

.mv-public-profile-actions .mv-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 7px;
   width: 100%;
   min-height: 38px;
   margin: 0;
   padding: 8px 10px;
   border-radius: 8px;
   font-size: 11px;
   font-weight: 750;
   line-height: 1;
}

/* =========================================================
   Presenza
   ========================================================= */

.mv-user-presence {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   color: inherit;
   line-height: 1;
   text-decoration: none;
}

.mv-user-presence i {
   font-size: 9px;
}

.mv-user-presence-label {
   color: inherit;
   font-size: 11px;
   font-weight: 700;
}

.mv-user-presence.is-online {
   color: #1f9d63;
}

.mv-user-presence.is-away {
   color: #d99113;
}

.mv-user-presence.is-offline {
   color: #9aa4af;
}

/* =========================================================
   Stato IRC
   ========================================================= */

.mv-public-profile-irc-state {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   flex: 0 0 auto;
   font-size: 10px;
   font-weight: 750;
   line-height: 1;
}

.mv-public-profile-irc-state i {
   font-size: 7px;
}

.mv-public-profile-irc-state.is-online {
   color: #1f9d63;
}

.mv-public-profile-irc-state.is-offline {
   color: #9aa4af;
}

/* =========================================================
   Statistiche
   ========================================================= */

.mv-public-profile-side-stats {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 9px;
   margin: 0;
}

.mv-public-profile-side-stats > div {
   display: grid;
   align-content: start;
   gap: 4px;
   min-width: 0;
   padding: 12px;
   border: 1px solid var(--mv-border);
   border-radius: 10px;
   background: var(--mv-bg);
}

.mv-public-profile-side-stats dt {
   order: 2;
   color: var(--mv-muted);
   font-size: 10px;
   font-weight: 700;
   line-height: 1.3;
}

.mv-public-profile-side-stats dd {
   order: 1;
   min-width: 0;
   margin: 0;
   color: var(--mv-text);
   font-size: 15px;
   font-weight: 850;
   line-height: 1.25;
   overflow-wrap: anywhere;
}

.mv-public-profile-side-stats > div:first-child {
   grid-column: 1 / -1;
}

.mv-public-profile-side-stats > div:first-child dd {
   font-size: 14px;
}

@media (max-width: 480px) {

   .mv-public-profile-side-stats {
      grid-template-columns: 1fr;
   }

   .mv-public-profile-side-stats > div:first-child {
      grid-column: auto;
   }
}

/* =========================================================
   Interessi e alias
   ========================================================= */

.mv-public-profile-side-tags {
   display: flex;
   flex-wrap: wrap;
   gap: 7px;
}

.mv-public-profile-side-tags span {
   display: inline-flex;
   align-items: center;
   min-height: 29px;
   padding: 6px 9px;
   border: 1px solid rgba(66, 185, 146, .22);
   border-radius: 8px;
   background: rgba(66, 185, 146, .08);
   color: #176747;
   font-size: 11px;
   font-weight: 750;
   line-height: 1.2;
}

/* =========================================================
   Collegamenti
   ========================================================= */

.mv-public-profile-side-links {
   display: grid;
   gap: 8px;
}

.mv-public-profile-side-links a {
   display: grid;
   grid-template-columns: 18px minmax(0, 1fr) 13px;
   align-items: center;
   gap: 8px;
   min-height: 40px;
   padding: 9px 11px;
   border: 1px solid var(--mv-border);
   border-radius: 9px;
   background: var(--mv-bg);
   color: var(--mv-text);
   font-size: 12px;
   font-weight: 700;
   text-decoration: none;
   transition:
      border-color .16s ease,
      background-color .16s ease,
      color .16s ease;
}

.mv-public-profile-side-links a:hover {
   border-color: rgba(66, 185, 146, .42);
   background: rgba(66, 185, 146, .06);
   color: var(--mv-primary);
}

.mv-public-profile-side-links i {
   color: var(--mv-primary);
   text-align: center;
}

.mv-public-profile-side-links i:last-child {
   color: var(--mv-muted);
   font-size: 9px;
}

/* =========================================================
   Terminal — Presenza, statistiche e collegamenti
   ========================================================= */

/* Presenza IRC: manteniamo distinti i tre stati */

.mv-user-presence.is-online,
.mv-public-profile-irc-state.is-online {
   color: var(--mv-terminal-bright);
}

.mv-user-presence.is-away {
   color: var(--mv-terminal-warning);
}

.mv-user-presence.is-offline,
.mv-public-profile-irc-state.is-offline {
   color: var(--mv-terminal-dim);
}

/* Statistiche */

.mv-public-profile-side-stats > div {
   border-color: var(--mv-border);
   background: var(--mv-terminal-panel-alt);
}

.mv-public-profile-side-stats dt {
   color: var(--mv-terminal-dim);
}

.mv-public-profile-side-stats dd {
   color: var(--mv-terminal-bright);
}

/* Interessi e alias */

.mv-public-profile-side-tags span {
   border-color: var(--mv-border);
   background: var(--mv-terminal-panel-alt);
   color: var(--mv-terminal-soft);
}

/* Collegamenti */

.mv-public-profile-side-links a {
   border-color: var(--mv-border);
   background: var(--mv-terminal-panel-alt);
   color: var(--mv-terminal-soft);
}

.mv-public-profile-side-links a:hover {
   border-color: var(--mv-terminal-bright);
   background: var(--mv-terminal-black);
   color: var(--mv-terminal-bright);
}

.mv-public-profile-side-links i {
   color: var(--mv-terminal-bright);
}

.mv-public-profile-side-links i:last-child {
   color: var(--mv-terminal-dim);
}

/* =========================================================
   Moderazione
   ========================================================= */

.mv-profile-moderation {
   width: 100%;
}

.mv-profile-moderation-state {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   flex: 0 0 auto;
   padding: 5px 7px;
   border-radius: 6px;
   font-size: 9px;
   font-weight: 750;
   line-height: 1;
}

.mv-profile-moderation-state.is-clear {
   color: #187b5d;
   background: rgba(66, 185, 146, .11);
}

.mv-profile-moderation-statuses {
   display: grid;
   gap: 9px;
}

.mv-profile-moderation-status {
   display: grid;
   grid-template-columns: 32px minmax(0, 1fr);
   gap: 10px;
   padding: 11px;
   border: 1px solid var(--mv-border);
   border-radius: 9px;
   background: var(--mv-bg);
}

.mv-profile-moderation-status.is-muted {
   border-color: #efd09a;
   background: #fffaf0;
}

.mv-profile-moderation-status.is-banned {
   border-color: #ebb0b0;
   background: #fff5f5;
}

.mv-profile-moderation-status-icon {
   display: grid;
   place-items: center;
   width: 32px;
   height: 32px;
   border-radius: 7px;
   background: #fff;
}

.mv-profile-moderation-status.is-muted
.mv-profile-moderation-status-icon {
   color: #a86400;
}

.mv-profile-moderation-status.is-banned
.mv-profile-moderation-status-icon {
   color: #b93636;
}

.mv-profile-moderation-status-content {
   display: grid;
   gap: 3px;
   min-width: 0;
}

.mv-profile-moderation-status-content strong {
   color: var(--mv-text);
   font-size: 11px;
   font-weight: 800;
}

.mv-profile-moderation-status-content span,
.mv-profile-moderation-status-content small {
   color: var(--mv-muted);
   font-size: 10px;
   line-height: 1.4;
}

.mv-profile-moderation-status form {
   grid-column: 1 / -1;
   margin: 0;
}

.mv-profile-moderation-actions {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 8px;
   margin-top: 12px;
}

.mv-profile-moderation-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 6px;
   min-height: 34px;
   margin: 0;
   padding: 0 10px;
   border: 1px solid transparent;
   border-radius: 7px;
   background: #fff;
   font: inherit;
   font-size: 10px;
   font-weight: 750;
   line-height: 1;
   cursor: pointer;
}

.mv-profile-moderation-button.is-mute {
   color: #8a5200;
   border-color: #edcf98;
   background: #fff8e9;
}

.mv-profile-moderation-button.is-ban {
   color: #b52f2f;
   border-color: #eab0b0;
   background: #fff4f4;
}

.mv-profile-moderation-button.is-revoke {
   width: 100%;
   color: #374151;
   border-color: #d1d5db;
   background: #fff;
}

.mv-profile-moderation form {
   margin: 0;
}

/* =========================================================
   Modal moderazione
   ========================================================= */

.mv-modal[hidden] {
   display: none;
}

.mv-modal {
   position: fixed;
   inset: 0;
   z-index: 5000;
}

.mv-modal-backdrop {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, .45);
   backdrop-filter: blur(2px);
}

.mv-modal-dialog {
   position: relative;
   width: min(560px, calc(100vw - 32px));
   margin: 8vh auto;
   overflow: hidden;
   border-radius: 14px;
   background: #fff;
   box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}

.mv-modal-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 18px 22px;
   border-bottom: 1px solid #eceff3;
}

.mv-modal-header h3 {
   margin: 0;
   font-size: 22px;
}

.mv-modal-close {
   border: 0;
   background: transparent;
   color: #6b7280;
   font-size: 28px;
   line-height: 1;
   cursor: pointer;
}

.mv-modal-close:hover {
   color: #111827;
}

.mv-modal-body {
   padding: 22px;
}

.mv-form-group {
   margin-bottom: 20px;
}

.mv-form-group:last-child {
   margin-bottom: 0;
}

.mv-form-group label {
   display: block;
   margin-bottom: 8px;
   font-weight: 700;
}

.mv-form-group textarea,
.mv-form-group select {
   width: 100%;
   box-sizing: border-box;
   padding: 12px 14px;
   border: 1px solid #d9dee5;
   border-radius: 8px;
   background: #fff;
   font: inherit;
}

.mv-form-group textarea {
   min-height: 120px;
   resize: vertical;
}

.mv-form-group textarea:focus,
.mv-form-group select:focus {
   outline: none;
   border-color: #42b992;
   box-shadow: 0 0 0 3px rgba(66, 185, 146, .15);
}

.mv-modal-footer {
   display: flex;
   justify-content: flex-end;
   gap: 10px;
   padding: 18px 22px;
   border-top: 1px solid #eceff3;
}

body.mv-modal-open {
   overflow: hidden;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 980px) {

   .mv-public-profile {
      width: min(780px, 100%);
   }

   .mv-public-profile-layout {
      grid-template-columns: 1fr;
   }

   .mv-public-profile-sidebar {
      position: static;
      top: auto;

      grid-column: 1;
      grid-row: 1;

      display: block;

      width: 100%;
      max-height: none;

      overflow: visible;

      overscroll-behavior: auto;
   }

   .mv-public-profile-timeline {
      grid-column: 1;
      grid-row: 2;
   }

   .mv-public-profile-sidebar-details {
      display: block;

      width: 100%;

      border: 1px solid var(--mv-border);
      border-radius: 10px;

      background: var(--mv-surface);

      overflow: hidden;
   }

   .mv-public-profile-sidebar-summary {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;

      min-height: 46px;
      padding: 0 14px;

      color: var(--mv-text);

      font-size: 13px;
      font-weight: 750;
      line-height: 1;

      cursor: pointer;
      list-style: none;
      user-select: none;
   }

   .mv-public-profile-sidebar-summary::-webkit-details-marker {
      display: none;
   }

   .mv-public-profile-sidebar-summary::marker {
      content: "";
   }

   .mv-public-profile-sidebar-summary > span {
      display: inline-flex;
      align-items: center;
      gap: 8px;
   }

   .mv-public-profile-sidebar-summary i {
      color: var(--mv-muted);
      font-size: 12px;
   }

   .mv-public-profile-sidebar-chevron {
      transition: transform .16s ease;
   }

   .mv-public-profile-sidebar-details[open]
   .mv-public-profile-sidebar-chevron {
      transform: rotate(180deg);
   }

   .mv-public-profile-sidebar-details:not([open])
   > .mv-public-profile-sidebar-content {
      display: none;
   }

   .mv-public-profile-sidebar-content {
      gap: 14px;

      padding: 14px;

      border-top: 1px solid var(--mv-border);

      background: var(--mv-bg);
   }

   .mv-public-profile-identity-card {
      position: static;
   }

}

@media (max-width: 700px) {

   .mv-public-profile {
      padding: 20px 0 46px;
   }

   .mv-public-profile-pings-empty {
      padding: 28px 16px;
   }

   .mv-public-profile-timeline-header {
      align-items: flex-start;
   }

   .mv-public-profile-sidebar {
      grid-template-columns: 1fr;
   }

   .mv-public-profile-identity-card {
      grid-column: auto;
   }

   .mv-public-profile-card {
      padding: 16px;
   }

   .mv-public-profile-actions,
   .mv-profile-moderation-actions {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 480px) {

   .mv-public-profile-identity-top {
      align-items: flex-start;
   }

   .mv-public-profile-avatar {
      width: 60px;
      height: 60px;
      border-radius: 50%;
   }

   .mv-public-profile-avatar span {
      font-size: 24px;
   }

   .mv-public-profile-identity-name h2 {
      font-size: 21px;
   }

   .mv-public-profile-follow-stats {
      grid-template-columns: 1fr 1fr;
   }

   .mv-modal-dialog {
      width: calc(100vw - 20px);
      margin: 20px auto;
   }

   .mv-modal-footer {
      flex-direction: column;
   }

   .mv-modal-footer .mv-button {
      width: 100%;
   }
}

/* =========================================================
   Terminal — Moderazione
   ========================================================= */

.mv-profile-moderation-state.is-clear {
   color: var(--mv-terminal-bright);
   background: var(--mv-terminal-panel-alt);
}

.mv-profile-moderation-status {
   border-color: var(--mv-border);
   background: var(--mv-terminal-panel-alt);
}

.mv-profile-moderation-status.is-muted {
   border-color: var(--mv-terminal-warning);
   background: var(--mv-terminal-panel);
}

.mv-profile-moderation-status.is-banned {
   border-color: var(--mv-terminal-danger);
   background: var(--mv-terminal-panel);
}

.mv-profile-moderation-status-icon {
   background: var(--mv-terminal-black);
}

.mv-profile-moderation-status.is-muted
.mv-profile-moderation-status-icon {
   color: var(--mv-terminal-warning);
}

.mv-profile-moderation-status.is-banned
.mv-profile-moderation-status-icon {
   color: var(--mv-terminal-danger);
}

.mv-profile-moderation-status-content strong {
   color: var(--mv-terminal-soft);
}

.mv-profile-moderation-status-content span,
.mv-profile-moderation-status-content small {
   color: var(--mv-terminal-dim);
}

/* Pulsanti moderazione */

.mv-profile-moderation-button {
   background: var(--mv-terminal-panel-alt);
}

.mv-profile-moderation-button.is-mute {
   color: var(--mv-terminal-warning);
   border-color: var(--mv-terminal-warning);
   background: var(--mv-terminal-panel);
}

.mv-profile-moderation-button.is-ban {
   color: var(--mv-terminal-danger);
   border-color: var(--mv-terminal-danger);
   background: var(--mv-terminal-panel);
}

.mv-profile-moderation-button.is-revoke {
   color: var(--mv-terminal-soft);
   border-color: var(--mv-border);
   background: var(--mv-terminal-panel-alt);
}

/* =========================================================
   Terminal — Modal moderazione
   ========================================================= */

.mv-modal-backdrop {
   background: rgba(0, 0, 0, .78);
}

.mv-modal-dialog {
   border: 1px solid var(--mv-border);
   background: var(--mv-terminal-panel);
   color: var(--mv-terminal-soft);
   box-shadow: 0 20px 60px rgba(0, 0, 0, .45);
}

.mv-modal-header,
.mv-modal-footer {
   border-color: var(--mv-border);
}

.mv-modal-header h3,
.mv-form-group label {
   color: var(--mv-terminal-bright);
}

.mv-modal-close {
   color: var(--mv-terminal-dim);
}

.mv-modal-close:hover {
   color: var(--mv-terminal-bright);
}

.mv-form-group textarea,
.mv-form-group select {
   border-color: var(--mv-border);
   background: var(--mv-terminal-panel-alt);
   color: var(--mv-terminal-soft);
}

.mv-form-group textarea:focus,
.mv-form-group select:focus {
   border-color: var(--mv-terminal-bright);
   box-shadow: 0 0 0 3px rgba(57, 255, 136, .10);
}

/* =========================================================
   Terminal — Sidebar responsive
   ========================================================= */

@media (max-width: 980px) {

   .mv-public-profile-sidebar-details {
      border-color: var(--mv-border);
      background: var(--mv-terminal-panel);
   }

   .mv-public-profile-sidebar-summary {
      color: var(--mv-terminal-bright);
   }

   .mv-public-profile-sidebar-summary i {
      color: var(--mv-terminal-dim);
   }

   .mv-public-profile-sidebar-content {
      border-top-color: var(--mv-border);
      background: var(--mv-terminal-black);
   }
}