/* =========================================
   LOOKUP INPUTS – MODERNIZED
   ========================================= */

.crmEntityFormView .input-group,
.entity-form .input-group {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.crmEntityFormView .input-group input.form-control,
.entity-form .input-group input.form-control,
.crmEntityFormView input.lookup,
.entity-form input.lookup {
  border: 1px solid #d6dbe3 !important;
  border-radius: 10px !important;
  min-height: 46px;
  padding: 10px 14px;
  font-size: 15px;
  box-shadow: none !important;
  background: #fff !important;
}

.crmEntityFormView .input-group-btn,
.entity-form .input-group-btn {
  display: flex !important;
  gap: 8px;
}

.crmEntityFormView .input-group-btn .btn,
.entity-form .input-group-btn .btn,
.crmEntityFormView .input-group-btn button,
.entity-form .input-group-btn button {
  min-width: 46px;
  min-height: 46px;
  padding: 0 12px;
  border: 1px solid #d6dbe3 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #374151 !important;
  box-shadow: none !important;
  transition: all 0.2s ease;
}

.crmEntityFormView .input-group-btn .btn:hover,
.entity-form .input-group-btn .btn:hover,
.crmEntityFormView .input-group-btn button:hover,
.entity-form .input-group-btn button:hover {
  background: #f8fafc !important;
  border-color: #c7d2de !important;
  color: #111827 !important;
}

.crmEntityFormView .input-group-btn .btn:focus,
.entity-form .input-group-btn .btn:focus,
.crmEntityFormView .input-group-btn button:focus,
.entity-form .input-group-btn button:focus {
  outline: none !important;
  border-color: #f59e0b !important;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.12) !important;
}

.crmEntityFormView .input-group-btn .btn.btn-default,
.entity-form .input-group-btn .btn.btn-default {
  background: #fff !important;
  color: #374151 !important;
  border-color: #d6dbe3 !important;
}

.crmEntityFormView .input-group,
.entity-form .input-group {
  margin-bottom: 0;
}

/* =========================================
   CUSTOM SECTIONS / SURFACES
   ========================================= */

#v1sAssetWrapper,
#v1sSparePartWrapper {
  background: #f8fafc !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  padding: 20px !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
  max-width: none !important;
  width: 100% !important;
}

#v1sAssetWrapper > label,
#v1sSparePartWrapper > label {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #111827 !important;
  margin-bottom: 14px !important;
}

#v1sAssetMultiContainer,
#v1sSparePartList {
  background: #ffffff !important;
  border: 1px solid #e7ecf2 !important;
  border-radius: 12px !important;
}

#v1sAssetMultiContainer label {
  border-radius: 10px;
  padding: 10px 10px !important;
  transition: background 0.2s ease, border-color 0.2s ease;
}

#v1sAssetMultiContainer label:hover {
  background: #f9fafb !important;
}

#v1sSparePartList > div {
  background: #ffffff !important;
  border: 1px solid #e8edf3 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04) !important;
}

#v1sAssetMultiRow td,
#v1sSparePartRow td {
  width: 100% !important;
}

#v1sAssetWrapper > div,
#v1sSparePartWrapper > div {
  width: 100% !important;
}

/* =========================================
   STANDARD FORM SECTIONS – QUIETER
   ========================================= */

.crmEntityFormView table,
.crmEntityFormView .table,
.entity-form table {
  border-collapse: separate !important;
  border-spacing: 0 8px !important;
}

.crmEntityFormView td,
.entity-form td {
  vertical-align: top !important;
}

.crmEntityFormView .form-control,
.entity-form .form-control,
.crmEntityFormView input[type="text"],
.crmEntityFormView input[type="number"],
.crmEntityFormView select,
.crmEntityFormView textarea,
.entity-form input[type="text"],
.entity-form input[type="number"],
.entity-form select,
.entity-form textarea {
  background: #ffffff !important;
  border: 1px solid #d8e0ea !important;
  border-radius: 10px !important;
  min-height: 46px !important;
  box-shadow: none !important;
}

.crmEntityFormView textarea,
.entity-form textarea {
  min-height: 130px !important;
}

.crmEntityFormView .form-control:focus,
.entity-form .form-control:focus,
.crmEntityFormView input:focus,
.crmEntityFormView select:focus,
.crmEntityFormView textarea:focus,
.entity-form input:focus,
.entity-form select:focus,
.entity-form textarea:focus {
  border-color: #f59e0b !important;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.12) !important;
  outline: none !important;
}

/* =========================================
   YES / NO / RADIO GROUPS – CLEANER
   ========================================= */

.crmEntityFormView .radio input[type="radio"],
.crmEntityFormView .radio-inline input[type="radio"],
.entity-form .radio input[type="radio"],
.entity-form .radio-inline input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.crmEntityFormView .radio-inline,
.crmEntityFormView .radio,
.entity-form .radio-inline,
.entity-form .radio {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 92px !important;
  min-height: 44px !important;
  margin: 0 10px 8px 0 !important;
  padding: 0 16px !important;
  border: 1px solid #d7dee8 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #374151 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

.crmEntityFormView .radio-inline:hover,
.crmEntityFormView .radio:hover,
.entity-form .radio-inline:hover,
.entity-form .radio:hover {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
}

.crmEntityFormView .radio-inline:has(input[type="radio"]:checked),
.crmEntityFormView .radio:has(input[type="radio"]:checked),
.entity-form .radio-inline:has(input[type="radio"]:checked),
.entity-form .radio:has(input[type="radio"]:checked) {
  background: #fff7ed !important;
  border-color: #f59e0b !important;
  color: #9a3412 !important;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.12) !important;
}

.crmEntityFormView .radio-inline input[type="radio"] + span,
.entity-form .radio-inline input[type="radio"] + span {
  display: inline-block;
}

.crmEntityFormView fieldset,
.entity-form fieldset {
  margin-bottom: 8px !important;
}

/* =========================================
   BOOLEAN / OPTIONSET FIELDS
   ========================================= */

.crmEntityFormView .control,
.entity-form .control {
  border-radius: 10px;
}

.boolean-radio-cell .boolean-radio {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.boolean-radio-cell .boolean-radio input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.boolean-radio-cell .boolean-radio input[type="radio"] + label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 96px !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  border: 1px solid #d7dee8 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #374151 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
  margin: 0 !important;
}

.boolean-radio-cell .boolean-radio input[type="radio"] + label:hover {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
}

.boolean-radio-cell .boolean-radio input[type="radio"]:checked + label {
  background: #fff7ed !important;
  border-color: #f59e0b !important;
  color: #9a3412 !important;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.12) !important;
}

.boolean-radio-cell .field-label {
  display: block !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #111827 !important;
  margin-bottom: 10px !important;
}

/* =========================================
   V1S SPARE PART TOGGLE – SAME LOOK AS HEALTHCHECK
   ========================================= */

#v1sSparePartToggleGroup {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.v1s-toggle-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 96px !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  border: 1px solid #d7dee8 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #374151 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
  margin: 0 !important;
  outline: none !important;
}

.v1s-toggle-btn:hover {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
  color: #111827 !important;
}

.v1s-toggle-btn.is-active {
  background: #fff7ed !important;
  border-color: #f59e0b !important;
  color: #9a3412 !important;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.12) !important;
}

#v1sSparePartQuestionLabel {
  display: block !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: #111827 !important;
  margin-bottom: 10px !important;
}

/* =========================================
   POWER PAGES LOGIN – HIDE EXTERNAL LOGIN AREA
   ========================================= */

#external-login-heading {
  display: none !important;
}

form[action*="/Account/Login/ExternalLogin"] {
  display: none !important;
}

/* =========================================
   PROFILE / ACCOUNT CLEANUP
   ========================================= */

/* "Wie können wir Sie erreichen?" ausblenden */
#ContentContainer_MainContent_MainContent_ContentBottom_MarketingOptionsPanel .profile-page-heading,
#ContentContainer_MainContent_MainContent_ContentBottom_MarketingOptionsPanel legend {
  display: none !important;
}

/* Link "Externe Authentifizierung verwalten" ausblenden */
a.list-group-item[href*="/Account/Manage/ChangeLogin"] {
  display: none !important;
}

#ContentContainer_MainContent_MainContent_ContentBottom_MarketingOptionsPanel {
  display: none !important;
}

a.list-group-item[href*="/Account/Manage/ChangeLogin"] {
  display: none !important;
}

/* Link "Externe Authentifizierung verwalten" ausblenden */
a.list-group-item[href*="/Account/Manage/ChangeLogin"],
a.list-group-item[title*="Authentifizierung verwalten"],
a.list-group-item[aria-label*="Authentifizierung verwalten"] {
  display: none !important;
}

a#search,
a[aria-label="Suchen"],
a[title="Suchen"] {
  display: none !important;
}

/* zweiten Trenner vor dem Profil-Menü entfernen */
.navbar-nav > li:last-child {
  border-left: none !important;
  border-right: none !important;
}

.navbar-nav > li:last-child::before,
.navbar-nav > li:last-child::after,
.navbar-nav > li:last-child > a::before,
.navbar-nav > li:last-child > a::after {
  content: none !important;
  display: none !important;
}

/* Profil-Dropdown ohne eigenen Separator */
.navbar-nav > li.dropdown {
  border-left: none !important;
  border-right: none !important;
}

.navbar-nav > li.dropdown::before,
.navbar-nav > li.dropdown::after,
.navbar-nav > li.dropdown > a::before,
.navbar-nav > li.dropdown > a::after {
  content: none !important;
  display: none !important;
}

/* Profil-Dropdown ohne eigenen Separator */
.navbar-nav > li.dropdown {
  border-left: none !important;
  border-right: none !important;
}

.navbar-nav > li.dropdown::before,
.navbar-nav > li.dropdown::after,
.navbar-nav > li.dropdown > a::before,
.navbar-nav > li.dropdown > a::after {
  content: none !important;
  display: none !important;
}

/* Separator vor dem User-/Dropdown-Menü entfernen */
.navbar-nav > li.dropdown::before,
.navbar-nav > li.dropdown::after,
.navbar-nav > li.nav-item.dropdown::before,
.navbar-nav > li.nav-item.dropdown::after,
.navbar-nav > li.dropdown > a::before,
.navbar-nav > li.dropdown > a::after,
.navbar-nav > li.nav-item.dropdown > a::before,
.navbar-nav > li.nav-item.dropdown > a::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Falls der Trenner vom vorherigen Menüpunkt erzeugt wird */
.navbar-nav > li.dropdown,
.navbar-nav > li.nav-item.dropdown {
  border-left: 0 !important;
  border-right: 0 !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* extra Separator vor dem Profil-Menü killen */
nav .navbar-nav > li:last-child > a,
nav .navbar-nav > li:last-child > .nav-link,
nav .navbar-nav > li:last-child > .dropdown-toggle {
  border-left: none !important;
  box-shadow: none !important;
  margin-left: 0 !important;
  padding-left: 16px !important;
}

nav .navbar-nav > li:last-child::before,
nav .navbar-nav > li:last-child::after,
nav .navbar-nav > li:last-child > a::before,
nav .navbar-nav > li:last-child > a::after,
nav .navbar-nav > li:last-child > .nav-link::before,
nav .navbar-nav > li:last-child > .nav-link::after,
nav .navbar-nav > li:last-child > .dropdown-toggle::before,
nav .navbar-nav > li:last-child > .dropdown-toggle::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
}

/* falls die zweite Linie vom vorletzten Punkt kommt */
nav .navbar-nav > li:nth-last-child(2) > a,
nav .navbar-nav > li:nth-last-child(2) > .nav-link {
  border-right: none !important;
  box-shadow: none !important;
}

nav .navbar-nav > li:nth-last-child(2)::after,
nav .navbar-nav > li:nth-last-child(2) > a::after,
nav .navbar-nav > li:nth-last-child(2) > .nav-link::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
}

.navbar-nav > li.divider-vertical:last-of-type {
  display: none !important;
}

/* killt den Divider vor dem User-Menü gezielt */
li.divider-vertical[aria-hidden="true"]:has(+ li a[title="Serdar Dedesah"]) {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

/* Sicherheitsnetz: falls der Divider selbst noch etwas zeichnet */
li.divider-vertical[aria-hidden="true"]:has(+ li a[title="Serdar Dedesah"])::before,
li.divider-vertical[aria-hidden="true"]:has(+ li a[title="Serdar Dedesah"])::after {
  content: none !important;
  display: none !important;
}

li.divider-vertical[aria-hidden="true"] {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

li.divider-vertical[aria-hidden="true"]::before,
li.divider-vertical[aria-hidden="true"]::after {
  content: none !important;
  display: none !important;
}

button[aria-label="Aktionsmenü"][data-bs-toggle="dropdown"] {
  display: none !important;
}

.v1s-confirm-wrap{
  max-width:980px;
  margin:12px auto 36px;
  padding:0 20px;
}

.v1s-confirm-card{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:18px;
  padding:26px;
  box-shadow:0 8px 24px rgba(0,0,0,.05);
}

.v1s-confirm-header h1{
  margin:0 0 8px;
  font-size:44px;
  line-height:1.08;
  font-weight:700;
  color:#1f2937;
}

.v1s-confirm-header p{
  margin:0 0 18px;
  color:#4b5563;
  font-size:19px;
  line-height:1.4;
}

.v1s-token-info{
  margin-bottom:14px;
  padding:10px 14px;
  background:#f9fafb;
  border:1px dashed #d1d5db;
  border-radius:10px;
  font-size:14px;
  word-break:break-all;
}

.v1s-expiry-box{
  margin-bottom:16px;
  padding:12px 16px;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  border-radius:12px;
}

.v1s-expiry-title{
  font-size:14px;
  font-weight:700;
  color:#1e3a8a;
  margin-bottom:4px;
  text-transform:none;
}

.v1s-expiry-countdown{
  font-size:18px;
  font-weight:800;
  color:#1d4ed8;
  line-height:1.2;
}

.v1s-expired{
  background:#fef2f2;
  border-color:#fecaca;
}

.v1s-expired .v1s-expiry-title,
.v1s-expired .v1s-expiry-countdown{
  color:#991b1b;
}

.v1s-appointment-box{
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:16px 18px;
  background:#f9fafb;
  margin-bottom:18px;
}

.v1s-appointment-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:10px 0;
  border-bottom:1px solid #eceff3;
}

.v1s-appointment-row:last-child{
  border-bottom:none;
}

.v1s-label{
  font-weight:700;
  font-size:18px;
  color:#111827;
  min-width:130px;
}

.v1s-value{
  font-size:18px;
  color:#111827;
  text-align:right;
  line-height:1.35;
}

.v1s-button-group{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:14px 0 12px;
}

.v1s-btn{
  border:none;
  border-radius:12px;
  padding:12px 18px;
  cursor:pointer;
  font-size:17px;
  font-weight:600;
  transition:.18s ease;
}

.v1s-btn:hover{
  transform:translateY(-1px);
  opacity:.97;
}

.v1s-btn-primary{
  background:#2563eb;
  color:#fff;
}

.v1s-btn-secondary{
  background:#e5e7eb;
  color:#111827;
}

.v1s-btn-choice{
  background:#e5e7eb;
  color:#111827;
}

.v1s-btn-choice.v1s-btn-active{
  background:#2563eb;
  color:#ffffff;
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
}

.v1s-selected-info{
  margin:4px 0 14px;
  padding:12px 14px;
  background:#f8fafc;
  border:1px solid #e5e7eb;
  border-radius:10px;
  font-size:16px;
  line-height:1.35;
}

.v1s-comment-wrap label{
  display:block;
  margin-bottom:8px;
  font-size:17px;
}

.v1s-comment-wrap textarea{
  width:100%;
  border:1px solid #d1d5db;
  border-radius:12px;
  padding:14px;
  min-height:120px;
  box-sizing:border-box;
  font-size:17px;
  line-height:1.45;
  resize:vertical;
}

.v1s-submit-wrap{
  margin-top:16px;
}

.v1s-btn-submit[disabled]{
  opacity:.5;
  cursor:not-allowed;
  transform:none !important;
}

.v1s-message{
  padding:16px 18px;
  border-radius:10px;
  margin:18px 0;
  font-size:17px;
  line-height:1.4;
}

.v1s-message-success{
  background:#ecfdf5;
  border:1px solid #a7f3d0;
  color:#065f46;
}

.v1s-message-error{
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#991b1b;
}

@media(max-width:900px){
  .v1s-confirm-card{
    padding:22px;
  }

  .v1s-confirm-header h1{
    font-size:36px;
  }

  .v1s-confirm-header p{
    font-size:18px;
  }

  .v1s-label,
  .v1s-value{
    font-size:17px;
  }

  .v1s-btn,
  .v1s-comment-wrap textarea,
  .v1s-comment-wrap label{
    font-size:16px;
  }

  .v1s-expiry-countdown{
    font-size:17px;
  }
}

@media(max-width:640px){
  .v1s-confirm-wrap{
    margin:18px auto 28px;
    padding:0 12px;
  }

  .v1s-confirm-card{
    padding:18px;
  }

  .v1s-confirm-header h1{
    font-size:30px;
  }

  .v1s-confirm-header p{
    font-size:17px;
  }

  .v1s-appointment-row{
    flex-direction:column;
    gap:6px;
  }

  .v1s-label,
  .v1s-value{
    font-size:16px;
    text-align:left;
    min-width:auto;
  }

  .v1s-button-group{
    flex-direction:column;
  }

  .v1s-btn{
    width:100%;
    font-size:16px;
  }

  .v1s-comment-wrap label{
    font-size:16px;
  }

  .v1s-comment-wrap textarea{
    font-size:16px;
    min-height:110px;
  }

  .v1s-expiry-countdown{
    font-size:16px;
  }
}

/* =========================================
   FSD GLOBAL HEADER / NAVIGATION
   ========================================= */

html body .navbar,
html body .navbar.navbar-inverse,
html body .navbar.navbar-dark,
html body .navbar-static-top,
html body header.navbar,
html body .navbar-expand-sm,
html body .navbar-expand-md,
html body .navbar-expand-lg,
html body .navbar-expand-xl {
  background-color: #0E0E1A !important;
  background-image: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
}

html body .navbar .container,
html body .navbar .container-fluid {
  background: transparent !important;
}

html body .navbar a,
html body .navbar .navbar-brand,
html body .navbar .nav-link,
html body .navbar .navbar-nav > li > a,
html body .navbar .dropdown-toggle,
html body .navbar button,
html body .navbar .btn {
  color: rgba(255, 255, 255, 0.86) !important;
}

html body .navbar a:hover,
html body .navbar .navbar-brand:hover,
html body .navbar .nav-link:hover,
html body .navbar .navbar-nav > li > a:hover,
html body .navbar .dropdown-toggle:hover,
html body .navbar .navbar-nav > .active > a,
html body .navbar .navbar-nav > .active > a:hover,
html body .navbar .navbar-nav > .open > a,
html body .navbar .navbar-nav > .open > a:hover,
html body .navbar .navbar-nav > .open > a:focus {
  color: #B696DD !important;
  background-color: transparent !important;
  background-image: none !important;
}

html body .navbar .dropdown-menu {
  background-color: #0E0E1A !important;
  background-image: none !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.25) !important;
}

html body .navbar .dropdown-menu a,
html body .navbar .dropdown-menu > li > a,
html body .navbar .dropdown-item {
  color: rgba(255, 255, 255, 0.86) !important;
  background-color: transparent !important;
}

html body .navbar .dropdown-menu a:hover,
html body .navbar .dropdown-menu > li > a:hover,
html body .navbar .dropdown-item:hover,
html body .navbar .dropdown-item:focus {
  color: #B696DD !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
}


/* =========================================
   FSD GLOBAL FOOTER
   ========================================= */

html body footer,
html body #footer,
html body .footer,
html body .site-footer,
html body .page-footer,
html body .footer-bottom,
html body .portal-footer,
html body .adx-footer,
html body .adx_footer,
html body .power-pages-footer {
  background-color: #0E0E1A !important;
  background-image: none !important;
  color: rgba(255, 255, 255, 0.72) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
}

html body footer *,
html body #footer *,
html body .footer *,
html body .site-footer *,
html body .page-footer *,
html body .footer-bottom *,
html body .portal-footer *,
html body .adx-footer *,
html body .adx_footer *,
html body .power-pages-footer * {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

html body footer a,
html body #footer a,
html body .footer a,
html body .site-footer a,
html body .page-footer a,
html body .footer-bottom a,
html body .portal-footer a,
html body .adx-footer a,
html body .adx_footer a,
html body .power-pages-footer a {
  color: rgba(255, 255, 255, 0.82) !important;
  text-decoration: none !important;
}

html body footer a:hover,
html body #footer a:hover,
html body .footer a:hover,
html body .site-footer a:hover,
html body .page-footer a:hover,
html body .footer-bottom a:hover,
html body .portal-footer a:hover,
html body .adx-footer a:hover,
html body .adx_footer a:hover,
html body .power-pages-footer a:hover {
  color: #B696DD !important;
  text-decoration: none !important;
}

html body footer p,
html body footer span,
html body footer li,
html body #footer p,
html body #footer span,
html body #footer li,
html body .footer p,
html body .footer span,
html body .footer li,
html body .site-footer p,
html body .site-footer span,
html body .site-footer li,
html body .page-footer p,
html body .page-footer span,
html body .page-footer li,
html body .footer-bottom p,
html body .footer-bottom span,
html body .footer-bottom li,
html body .portal-footer p,
html body .portal-footer span,
html body .portal-footer li,
html body .adx-footer p,
html body .adx-footer span,
html body .adx-footer li,
html body .adx_footer p,
html body .adx_footer span,
html body .adx_footer li,
html body .power-pages-footer p,
html body .power-pages-footer span,
html body .power-pages-footer li {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* VISIONARY / FSD Portal Messages
   Put this into Power Pages Portal CSS / site CSS. */

#v1sPortalMessageArea {
  display: none;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin-top: 24px;
  margin-bottom: 16px;
  padding: 24px;
  border: 1px solid #d9e3f0;
  background: #ffffff;
  border-radius: 12px;
}

#v1sPortalMessageArea * {
  box-sizing: border-box;
}

.v1s-portal-message-header {
  margin-bottom: 14px;
  width: 100%;
  max-width: none;
}

.v1s-portal-message-title {
  margin: 0 0 8px 0;
  font-size: 18px;
  font-weight: 700;
  color: #222222;
}

.v1s-portal-message-description {
  margin: 0;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.5;
}

#v1sPortalMessageList {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100% !important;
  max-width: none !important;
  margin-bottom: 16px;
}

.v1s-portal-message-state {
  font-size: 14px;
  color: #6b7280;
}

.v1s-portal-message-state.is-error {
  color: #a4262c;
}

.v1s-portal-message-item {
  padding: 12px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f8fafc;
}

.v1s-portal-message-item.is-fsd-response {
  border-color: #dbe7d3;
  background: #f6fbf2;
}

.v1s-portal-message-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 6px;
  font-size: 13px;
  line-height: 1.4;
  color: #374151;
}

.v1s-portal-message-meta strong {
  color: #111827;
}

.v1s-portal-message-date {
  margin-left: auto;
  color: #6b7280;
}

.v1s-portal-message-text {
  font-size: 15px;
  line-height: 1.5;
  color: #222222;
  white-space: pre-wrap;
}

#v1sPortalMessageComposer {
  width: 100% !important;
  max-width: none !important;
  border-top: 1px solid #eef2f7;
  padding-top: 14px;
}

.v1s-portal-message-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 700;
  font-size: 14px;
  color: #222222;
}

#v1sPortalMessageText {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 160px;
  border: 1px solid #cfcfcf;
  border-radius: 10px;
  padding: 14px;
  font-size: 15px;
  line-height: 1.5;
  background: #ffffff;
  color: #111827;
  resize: vertical;
}

.v1s-portal-message-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%;
  max-width: none;
  margin-top: 12px;
}

#v1sSendPortalMessageBtn {
  min-width: 150px;
  border-radius: 6px;
  font-weight: 700;
}

#v1sSendPortalMessageBtn:disabled,
#v1sPortalMessageText:disabled {
  cursor: not-allowed;
  opacity: .75;
}

#v1sPortalMessageFeedback {
  font-size: 14px;
  line-height: 1.4;
}

#v1sPortalMessageFeedback.is-success {
  color: #107c10;
  font-weight: 600;
}

#v1sPortalMessageFeedback.is-error {
  color: #a4262c;
  font-weight: 600;
}

/* =========================================
   V1S PORTAL MESSAGES – FINAL OVERRIDES
   ========================================= */

#v1sPortalMessageArea {
  width: 100% !important;
  max-width: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

#v1sPortalMessageList,
#v1sPortalMessageComposer,
.v1s-portal-message-actions {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

#v1sPortalMessageText {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 160px !important;
  box-sizing: border-box !important;
}

/* =========================================
   V1S PORTAL MESSAGES – CARD LOOK FINAL
   Restores compact card design, but wider.
   ========================================= */

#v1sPortalMessageArea {
  display: none;
  width: 100% !important;
  max-width: 760px !important;
  box-sizing: border-box !important;
  margin: 28px 0 18px 0 !important;
  padding: 24px !important;
  border: 1px solid #d9e3f0 !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04) !important;
  clear: both !important;
}

#v1sPortalMessageArea > div:first-child {
  margin-bottom: 18px !important;
}

#v1sPortalMessageArea h3 {
  margin: 0 0 10px 0 !important;
  font-size: 22px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  color: #111827 !important;
}

#v1sPortalMessageArea p {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: #4b5563 !important;
}

#v1sPortalMessageList {
  width: 100% !important;
  max-width: none !important;
  margin: 18px 0 20px 0 !important;
  padding: 0 0 18px 0 !important;
  border-bottom: 1px solid #eef2f7 !important;
}

#v1sPortalMessageList > div {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

#v1sPortalMessageComposer {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  border-top: 0 !important;
  padding-top: 0 !important;
}

#v1sPortalMessageComposer label,
#v1sPortalMessageComposer label[for="v1sPortalMessageText"] {
  display: block !important;
  order: 1 !important;
  margin: 0 0 2px 0 !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: #111827 !important;
}

#v1sPortalMessageText {
  order: 2 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 150px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid #d8e0ea !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  resize: vertical !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

#v1sPortalMessageText:focus {
  border-color: #b696dd !important;
  box-shadow: 0 0 0 4px rgba(182, 150, 221, 0.16) !important;
  outline: none !important;
}

#v1sPortalMessageComposer > div:last-child {
  order: 3 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  margin-top: 10px !important;
}

#v1sSendPortalMessageBtn {
  min-width: 180px !important;
  min-height: 48px !important;
  padding: 0 22px !important;
  border: none !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #b000ff 0%, #8b5cf6 100%) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(139, 92, 246, 0.22) !important;
}

#v1sSendPortalMessageBtn:hover {
  filter: brightness(1.04) !important;
  transform: translateY(-1px) !important;
}

#v1sSendPortalMessageBtn:disabled,
#v1sPortalMessageText:disabled {
  cursor: not-allowed !important;
  opacity: .75 !important;
  transform: none !important;
}

#v1sPortalMessageFeedback {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

#v1sPortalMessageFeedback.is-success {
  color: #107c10 !important;
  font-weight: 600 !important;
}

#v1sPortalMessageFeedback.is-error {
  color: #a4262c !important;
  font-weight: 600 !important;
}

@media (max-width: 900px) {
  #v1sPortalMessageArea {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* =========================================
   V1S PORTAL MESSAGES – FULL FORM WIDTH
   ========================================= */

#v1sPortalMessageArea {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

#v1sPortalMessageArea,
#v1sPortalMessageArea > div,
#v1sPortalMessageList,
#v1sPortalMessageComposer,
#v1sPortalMessageComposer > div,
.v1s-portal-message-actions {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

#v1sPortalMessageText {
  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  box-sizing: border-box !important;
}

#v1sPortalMessageArea,
#v1sPortalMessageArea *,
#v1sPortalMessageText,
#v1sSendPortalMessageBtn {
  pointer-events: auto !important;
}

#v1sPortalMessageText {
  user-select: text !important;
  cursor: text !important;
}

#v1sSendPortalMessageBtn {
  cursor: pointer !important;
}

/* =========================================
   V1S PORTAL MESSAGES – HARD FULL WIDTH / UNLOCK
   Put this as the LAST block in Portal CSS.
   ========================================= */

#v1sPortalMessageArea,
#v1sPortalMessageArea > div,
#v1sPortalMessageList,
#v1sPortalMessageComposer,
#v1sPortalMessageComposer > div,
.v1s-portal-message-header,
.v1s-portal-message-actions {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

#v1sPortalMessageArea {
  clear: both !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  pointer-events: auto !important;
  opacity: 1 !important;
}

#v1sPortalMessageText {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 160px !important;
  box-sizing: border-box !important;
  pointer-events: auto !important;
  user-select: text !important;
  cursor: text !important;
}

#v1sSendPortalMessageBtn {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* =========================================
   V1S PORTAL MESSAGES – FINAL FULL WIDTH + NAME LABELS
   Put this block at the very end of the global Portal CSS.
   ========================================= */

#v1sPortalMessageArea {
  display: none;
  width: 100% !important;
  max-width: none !important;
  clear: both !important;
  box-sizing: border-box !important;
  margin: 28px 0 18px 0 !important;
  padding: 28px !important;
  border: 1px solid #d9e3f0 !important;
  background: #ffffff !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06) !important;
}

#v1sPortalMessageArea,
#v1sPortalMessageArea *,
#v1sPortalMessageList,
#v1sPortalMessageComposer,
#v1sPortalMessageComposer > div,
.v1s-portal-message-actions {
  box-sizing: border-box !important;
}

#v1sPortalMessageArea > div,
#v1sPortalMessageList,
#v1sPortalMessageComposer,
.v1s-portal-message-actions {
  width: 100% !important;
  max-width: none !important;
}

.v1s-portal-message-header {
  margin-bottom: 20px !important;
}

.v1s-portal-message-title,
#v1sPortalMessageArea h3 {
  margin: 0 0 10px 0 !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  color: #111827 !important;
}

.v1s-portal-message-description,
#v1sPortalMessageArea p {
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: #4b5563 !important;
}

#v1sPortalMessageList {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 18px 0 22px 0 !important;
  padding: 0 0 22px 0 !important;
  border-bottom: 1px solid #eef2f7 !important;
}

.v1s-portal-message-state {
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: #6b7280 !important;
}

.v1s-portal-message-state.is-error {
  color: #a4262c !important;
  font-weight: 600 !important;
}

.v1s-portal-message-item {
  width: 100% !important;
  max-width: none !important;
  padding: 16px 18px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  background: #f8fafc !important;
}

.v1s-portal-message-item.is-fsd-response {
  border-color: #dbe7d3 !important;
  background: #f6fbf2 !important;
}

.v1s-portal-message-meta {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-bottom: 8px !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: #374151 !important;
}

.v1s-portal-message-sender {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  min-width: 0 !important;
}

.v1s-portal-message-sender strong {
  color: #111827 !important;
  font-weight: 800 !important;
}

.v1s-portal-party {
  color: #6d28d9 !important;
  font-weight: 700 !important;
}

.v1s-portal-message-to {
  color: #4b5563 !important;
  font-weight: 500 !important;
}

.v1s-portal-message-date {
  margin-left: auto !important;
  color: #64748b !important;
  white-space: nowrap !important;
}

.v1s-portal-message-text {
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: #111827 !important;
  white-space: pre-wrap !important;
}

#v1sPortalMessageComposer {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  border-top: 0 !important;
  padding-top: 0 !important;
}

.v1s-portal-message-label,
#v1sPortalMessageComposer label,
#v1sPortalMessageComposer label[for="v1sPortalMessageText"] {
  display: block !important;
  margin: 0 0 2px 0 !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  color: #111827 !important;
}

#v1sPortalMessageText {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  min-height: 170px !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 1px solid #d8e0ea !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #111827 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  resize: vertical !important;
  box-shadow: none !important;
  user-select: text !important;
  cursor: text !important;
  pointer-events: auto !important;
}

#v1sPortalMessageText:focus {
  border-color: #b696dd !important;
  box-shadow: 0 0 0 4px rgba(182, 150, 221, 0.16) !important;
  outline: none !important;
}

.v1s-portal-message-actions {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-top: 12px !important;
}

#v1sSendPortalMessageBtn {
  min-width: 200px !important;
  min-height: 52px !important;
  padding: 0 24px !important;
  border: none !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #b000ff 0%, #8b5cf6 100%) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  box-shadow: 0 10px 22px rgba(139, 92, 246, 0.24) !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}

#v1sSendPortalMessageBtn:hover {
  filter: brightness(1.04) !important;
  transform: translateY(-1px) !important;
}

#v1sSendPortalMessageBtn:disabled,
#v1sPortalMessageText:disabled {
  cursor: not-allowed !important;
  opacity: .75 !important;
  transform: none !important;
}

#v1sPortalMessageFeedback {
  font-size: 15px !important;
  line-height: 1.4 !important;
}

#v1sPortalMessageFeedback.is-success {
  color: #107c10 !important;
  font-weight: 700 !important;
}

#v1sPortalMessageFeedback.is-error {
  color: #a4262c !important;
  font-weight: 700 !important;
}

@media (max-width: 900px) {
  #v1sPortalMessageArea {
    padding: 22px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .v1s-portal-message-date {
    width: 100% !important;
    margin-left: 0 !important;
  }

  #v1sSendPortalMessageBtn {
    width: 100% !important;
  }
}
