/* GENERATED by scratchpad gen_compat.php: Bootstrap-4 + legacy theme class names on the pa design tokens (scoped under .pa).
   Temporary: delete once every page uses native components. */
.pa {
  /* ---- grid (BS4) ---- */
  .container-fluid { width: 100%; padding: 0 var(--s4); margin: 0 auto; }
  .row { display: flex; flex-wrap: wrap; margin-left: -15px; margin-right: -15px; }
  .no-gutters { margin-left: 0; margin-right: 0; } .no-gutters > [class*='col'] { padding-left: 0; padding-right: 0; }
  [class*='col-'], .col { position: relative; width: 100%; min-height: 1px; padding-left: 15px; padding-right: 15px; }
  .col { flex: 1 0 0%; max-width: 100%; } .col-auto { flex: 0 0 auto; width: auto; max-width: none; }
  .col-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
  .col-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
  .col-3 { flex: 0 0 25%; max-width: 25%; }
  .col-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
  .col-6 { flex: 0 0 50%; max-width: 50%; }
  .col-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .col-9 { flex: 0 0 75%; max-width: 75%; }
  .col-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
  .col-12 { flex: 0 0 100%; max-width: 100%; }
  .offset-1 { margin-left: 8.333333%; }
  .offset-2 { margin-left: 16.666667%; }
  .offset-3 { margin-left: 25%; }
  .offset-4 { margin-left: 33.333333%; }
  .offset-5 { margin-left: 41.666667%; }
  .offset-6 { margin-left: 50%; }
  .offset-7 { margin-left: 58.333333%; }
  .offset-8 { margin-left: 66.666667%; }
  .offset-9 { margin-left: 75%; }
  .offset-10 { margin-left: 83.333333%; }
  .offset-11 { margin-left: 91.666667%; }
  .offset-0 { margin-left: 0; }
  @media (min-width: 576px) {
    .col-sm-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .col-sm-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .col-sm-3 { flex: 0 0 25%; max-width: 25%; }
    .col-sm-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .col-sm-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
    .col-sm-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .col-sm-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .col-sm-9 { flex: 0 0 75%; max-width: 75%; }
    .col-sm-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .col-sm-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
    .col-sm { flex: 1 0 0%; max-width: 100%; }
    .col-sm-auto { flex: 0 0 auto; width: auto; max-width: none; }
    .offset-sm-1 { margin-left: 8.333333%; }
    .offset-sm-2 { margin-left: 16.666667%; }
    .offset-sm-3 { margin-left: 25%; }
    .offset-sm-4 { margin-left: 33.333333%; }
    .offset-sm-5 { margin-left: 41.666667%; }
    .offset-sm-6 { margin-left: 50%; }
    .offset-sm-7 { margin-left: 58.333333%; }
    .offset-sm-8 { margin-left: 66.666667%; }
    .offset-sm-9 { margin-left: 75%; }
    .offset-sm-10 { margin-left: 83.333333%; }
    .offset-sm-11 { margin-left: 91.666667%; }
    .offset-sm-0 { margin-left: 0; }
  }
  @media (min-width: 768px) {
    .col-md-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .col-md-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .col-md-3 { flex: 0 0 25%; max-width: 25%; }
    .col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .col-md-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-md-6 { flex: 0 0 50%; max-width: 50%; }
    .col-md-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .col-md-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .col-md-9 { flex: 0 0 75%; max-width: 75%; }
    .col-md-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .col-md-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .col-md-12 { flex: 0 0 100%; max-width: 100%; }
    .col-md { flex: 1 0 0%; max-width: 100%; }
    .col-md-auto { flex: 0 0 auto; width: auto; max-width: none; }
    .offset-md-1 { margin-left: 8.333333%; }
    .offset-md-2 { margin-left: 16.666667%; }
    .offset-md-3 { margin-left: 25%; }
    .offset-md-4 { margin-left: 33.333333%; }
    .offset-md-5 { margin-left: 41.666667%; }
    .offset-md-6 { margin-left: 50%; }
    .offset-md-7 { margin-left: 58.333333%; }
    .offset-md-8 { margin-left: 66.666667%; }
    .offset-md-9 { margin-left: 75%; }
    .offset-md-10 { margin-left: 83.333333%; }
    .offset-md-11 { margin-left: 91.666667%; }
    .offset-md-0 { margin-left: 0; }
  }
  @media (min-width: 992px) {
    .col-lg-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .col-lg-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
    .col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .col-lg-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-lg-6 { flex: 0 0 50%; max-width: 50%; }
    .col-lg-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .col-lg-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .col-lg-9 { flex: 0 0 75%; max-width: 75%; }
    .col-lg-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .col-lg-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
    .col-lg { flex: 1 0 0%; max-width: 100%; }
    .col-lg-auto { flex: 0 0 auto; width: auto; max-width: none; }
    .offset-lg-1 { margin-left: 8.333333%; }
    .offset-lg-2 { margin-left: 16.666667%; }
    .offset-lg-3 { margin-left: 25%; }
    .offset-lg-4 { margin-left: 33.333333%; }
    .offset-lg-5 { margin-left: 41.666667%; }
    .offset-lg-6 { margin-left: 50%; }
    .offset-lg-7 { margin-left: 58.333333%; }
    .offset-lg-8 { margin-left: 66.666667%; }
    .offset-lg-9 { margin-left: 75%; }
    .offset-lg-10 { margin-left: 83.333333%; }
    .offset-lg-11 { margin-left: 91.666667%; }
    .offset-lg-0 { margin-left: 0; }
  }
  @media (min-width: 1200px) {
    .col-xl-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .col-xl-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .col-xl-3 { flex: 0 0 25%; max-width: 25%; }
    .col-xl-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .col-xl-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-xl-6 { flex: 0 0 50%; max-width: 50%; }
    .col-xl-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .col-xl-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .col-xl-9 { flex: 0 0 75%; max-width: 75%; }
    .col-xl-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .col-xl-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .col-xl-12 { flex: 0 0 100%; max-width: 100%; }
    .col-xl { flex: 1 0 0%; max-width: 100%; }
    .col-xl-auto { flex: 0 0 auto; width: auto; max-width: none; }
    .offset-xl-1 { margin-left: 8.333333%; }
    .offset-xl-2 { margin-left: 16.666667%; }
    .offset-xl-3 { margin-left: 25%; }
    .offset-xl-4 { margin-left: 33.333333%; }
    .offset-xl-5 { margin-left: 41.666667%; }
    .offset-xl-6 { margin-left: 50%; }
    .offset-xl-7 { margin-left: 58.333333%; }
    .offset-xl-8 { margin-left: 66.666667%; }
    .offset-xl-9 { margin-left: 75%; }
    .offset-xl-10 { margin-left: 83.333333%; }
    .offset-xl-11 { margin-left: 91.666667%; }
    .offset-xl-0 { margin-left: 0; }
  }
  /* ---- spacing (BS4 scale: .25/.5/1/1.5/3rem) ---- */
  .mt-1 { margin-top: .25rem; }
  .mt-3 { margin-top: 1rem; }
  .mb-1 { margin-bottom: .25rem; }
  .mb-3 { margin-bottom: 1rem; }
  .ml-0 { margin-left: 0; }
  .ml-1 { margin-left: .25rem; }
  .ml-2 { margin-left: .5rem; }
  .ml-3 { margin-left: 1rem; }
  .ml-4 { margin-left: 1.5rem; }
  .ml-5 { margin-left: 3rem; }
  .mr-0 { margin-right: 0; }
  .mr-1 { margin-right: .25rem; }
  .mr-2 { margin-right: .5rem; }
  .mr-3 { margin-right: 1rem; }
  .mr-4 { margin-right: 1.5rem; }
  .mr-5 { margin-right: 3rem; }
  .mx-0 { margin-left: 0; margin-right: 0; }
  .mx-1 { margin-left: .25rem; margin-right: .25rem; }
  .mx-2 { margin-left: .5rem; margin-right: .5rem; }
  .mx-3 { margin-left: 1rem; margin-right: 1rem; }
  .mx-4 { margin-left: 1.5rem; margin-right: 1.5rem; }
  .mx-5 { margin-left: 3rem; margin-right: 3rem; }
  .my-0 { margin-top: 0; margin-bottom: 0; }
  .my-1 { margin-top: .25rem; margin-bottom: .25rem; }
  .my-2 { margin-top: .5rem; margin-bottom: .5rem; }
  .my-3 { margin-top: 1rem; margin-bottom: 1rem; }
  .my-4 { margin-top: 1.5rem; margin-bottom: 1.5rem; }
  .my-5 { margin-top: 3rem; margin-bottom: 3rem; }
  .pt-0 { padding-top: 0; }
  .pt-1 { padding-top: .25rem; }
  .pt-2 { padding-top: .5rem; }
  .pt-3 { padding-top: 1rem; }
  .pt-4 { padding-top: 1.5rem; }
  .pt-5 { padding-top: 3rem; }
  .pb-0 { padding-bottom: 0; }
  .pb-1 { padding-bottom: .25rem; }
  .pb-2 { padding-bottom: .5rem; }
  .pb-3 { padding-bottom: 1rem; }
  .pb-4 { padding-bottom: 1.5rem; }
  .pb-5 { padding-bottom: 3rem; }
  .pl-0 { padding-left: 0; }
  .pl-1 { padding-left: .25rem; }
  .pl-2 { padding-left: .5rem; }
  .pl-3 { padding-left: 1rem; }
  .pl-4 { padding-left: 1.5rem; }
  .pl-5 { padding-left: 3rem; }
  .pr-0 { padding-right: 0; }
  .pr-1 { padding-right: .25rem; }
  .pr-2 { padding-right: .5rem; }
  .pr-3 { padding-right: 1rem; }
  .pr-4 { padding-right: 1.5rem; }
  .pr-5 { padding-right: 3rem; }
  .px-0 { padding-left: 0; padding-right: 0; }
  .px-1 { padding-left: .25rem; padding-right: .25rem; }
  .px-2 { padding-left: .5rem; padding-right: .5rem; }
  .px-3 { padding-left: 1rem; padding-right: 1rem; }
  .px-4 { padding-left: 1.5rem; padding-right: 1.5rem; }
  .px-5 { padding-left: 3rem; padding-right: 3rem; }
  .py-0 { padding-top: 0; padding-bottom: 0; }
  .py-1 { padding-top: .25rem; padding-bottom: .25rem; }
  .py-2 { padding-top: .5rem; padding-bottom: .5rem; }
  .py-3 { padding-top: 1rem; padding-bottom: 1rem; }
  .py-4 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
  .py-5 { padding-top: 3rem; padding-bottom: 3rem; }
  .mt-n1 { margin-top: -.25rem; }
  .mt-n2 { margin-top: -.5rem; }
  .mt-n3 { margin-top: -1rem; }
  .mt-n4 { margin-top: -1.5rem; }
  .mt-n5 { margin-top: -3rem; }
  .mb-n1 { margin-bottom: -.25rem; }
  .mb-n2 { margin-bottom: -.5rem; }
  .mb-n3 { margin-bottom: -1rem; }
  .mb-n4 { margin-bottom: -1.5rem; }
  .mb-n5 { margin-bottom: -3rem; }
  .ml-n1 { margin-left: -.25rem; }
  .ml-n2 { margin-left: -.5rem; }
  .ml-n3 { margin-left: -1rem; }
  .ml-n4 { margin-left: -1.5rem; }
  .ml-n5 { margin-left: -3rem; }
  .mr-n1 { margin-right: -.25rem; }
  .mr-n2 { margin-right: -.5rem; }
  .mr-n3 { margin-right: -1rem; }
  .mr-n4 { margin-right: -1.5rem; }
  .mr-n5 { margin-right: -3rem; }
  .mx-n1 { margin-left: -.25rem; margin-right: -.25rem; }
  .mx-n2 { margin-left: -.5rem; margin-right: -.5rem; }
  .mx-n3 { margin-left: -1rem; margin-right: -1rem; }
  .mx-n4 { margin-left: -1.5rem; margin-right: -1.5rem; }
  .mx-n5 { margin-left: -3rem; margin-right: -3rem; }
  .my-n1 { margin-top: -.25rem; margin-bottom: -.25rem; }
  .my-n2 { margin-top: -.5rem; margin-bottom: -.5rem; }
  .my-n3 { margin-top: -1rem; margin-bottom: -1rem; }
  .my-n4 { margin-top: -1.5rem; margin-bottom: -1.5rem; }
  .my-n5 { margin-top: -3rem; margin-bottom: -3rem; }
  .mx-auto { margin-left:auto;margin-right:auto }
  .ml-auto { margin-left:auto }
  .mr-auto { margin-right:auto }
  .m-auto { margin:auto }
  .my-auto { margin-top:auto;margin-bottom:auto }
  .p-0 { padding: 0; } .m-0 { margin: 0; } .p-3 { padding: 1rem; } .p-4 { padding: 1.5rem; } .m-3 { margin: 1rem; }
  .m-t-12 { margin-top: 12px; }
  .m-t-40 { margin-top: 40px; }
  .m-t-45 { margin-top: 45px; }
  .m-b-12 { margin-bottom: 12px; }
  .m-b-40 { margin-bottom: 40px; }
  .m-b-45 { margin-bottom: 45px; }
  .m-l-12 { margin-left: 12px; }
  .m-l-40 { margin-left: 40px; }
  .m-l-45 { margin-left: 45px; }
  .m-r-12 { margin-right: 12px; }
  .m-r-40 { margin-right: 40px; }
  .m-r-45 { margin-right: 45px; }
  .p-t-0 { padding-top: 0px; }
  .p-t-5 { padding-top: 5px; }
  .p-t-10 { padding-top: 10px; }
  .p-t-12 { padding-top: 12px; }
  .p-t-15 { padding-top: 15px; }
  .p-t-20 { padding-top: 20px; }
  .p-t-25 { padding-top: 25px; }
  .p-t-30 { padding-top: 30px; }
  .p-t-35 { padding-top: 35px; }
  .p-t-40 { padding-top: 40px; }
  .p-t-45 { padding-top: 45px; }
  .p-t-50 { padding-top: 50px; }
  .p-b-0 { padding-bottom: 0px; }
  .p-b-5 { padding-bottom: 5px; }
  .p-b-10 { padding-bottom: 10px; }
  .p-b-12 { padding-bottom: 12px; }
  .p-b-15 { padding-bottom: 15px; }
  .p-b-20 { padding-bottom: 20px; }
  .p-b-25 { padding-bottom: 25px; }
  .p-b-30 { padding-bottom: 30px; }
  .p-b-35 { padding-bottom: 35px; }
  .p-b-40 { padding-bottom: 40px; }
  .p-b-45 { padding-bottom: 45px; }
  .p-b-50 { padding-bottom: 50px; }
  .p-l-0 { padding-left: 0px; }
  .p-l-5 { padding-left: 5px; }
  .p-l-10 { padding-left: 10px; }
  .p-l-12 { padding-left: 12px; }
  .p-l-15 { padding-left: 15px; }
  .p-l-20 { padding-left: 20px; }
  .p-l-25 { padding-left: 25px; }
  .p-l-30 { padding-left: 30px; }
  .p-l-35 { padding-left: 35px; }
  .p-l-40 { padding-left: 40px; }
  .p-l-45 { padding-left: 45px; }
  .p-l-50 { padding-left: 50px; }
  .p-r-0 { padding-right: 0px; }
  .p-r-5 { padding-right: 5px; }
  .p-r-10 { padding-right: 10px; }
  .p-r-12 { padding-right: 12px; }
  .p-r-15 { padding-right: 15px; }
  .p-r-20 { padding-right: 20px; }
  .p-r-25 { padding-right: 25px; }
  .p-r-30 { padding-right: 30px; }
  .p-r-35 { padding-right: 35px; }
  .p-r-40 { padding-right: 40px; }
  .p-r-45 { padding-right: 45px; }
  .p-r-50 { padding-right: 50px; }
  .p-y-10 { padding-top: 10px; padding-bottom: 10px; }
  .p-x-10 { padding-left: 10px; padding-right: 10px; }
  .p-y-15 { padding-top: 15px; padding-bottom: 15px; }
  .p-x-15 { padding-left: 15px; padding-right: 15px; }
  .p-y-20 { padding-top: 20px; padding-bottom: 20px; }
  .p-x-20 { padding-left: 20px; padding-right: 20px; }
  .p-y-30 { padding-top: 30px; padding-bottom: 30px; }
  .p-x-30 { padding-left: 30px; padding-right: 30px; }
  .p-y-40 { padding-top: 40px; padding-bottom: 40px; }
  .p-x-40 { padding-left: 40px; padding-right: 40px; }
  .p-y-50 { padding-top: 50px; padding-bottom: 50px; }
  .p-x-50 { padding-left: 50px; padding-right: 50px; }
  /* ---- display, flex, float ---- */
  .d-none { display: none !important; }
  .d-block { display: block !important; }
  .d-inline { display: inline !important; }
  .d-inline-block { display: inline-block !important; }
  .d-flex { display: flex !important; }
  .d-inline-flex { display: inline-flex !important; }
  .d-table { display: table !important; }
  .d-table-cell { display: table-cell !important; }
  @media (min-width: 576px) { .d-sm-none { display: none !important; } .d-sm-block { display: block !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-flex { display: flex !important; } .d-sm-inline-flex { display: inline-flex !important; } }
  @media (min-width: 768px) { .d-md-none { display: none !important; } .d-md-block { display: block !important; } .d-md-inline-block { display: inline-block !important; } .d-md-flex { display: flex !important; } .d-md-inline-flex { display: inline-flex !important; } }
  @media (min-width: 992px) { .d-lg-none { display: none !important; } .d-lg-block { display: block !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-flex { display: flex !important; } .d-lg-inline-flex { display: inline-flex !important; } }
  @media (min-width: 1200px) { .d-xl-none { display: none !important; } .d-xl-block { display: block !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-flex { display: flex !important; } .d-xl-inline-flex { display: inline-flex !important; } }
  @media (max-width: 991.98px) { .hidden-md-down { display: none !important; } } @media (max-width: 767.98px) { .hidden-sm-down { display: none !important; } } @media (max-width: 1199.98px) { .hidden-lg-down { display: none !important; } }
  .flex-row { flex-direction: row; } .flex-column { flex-direction: column; } .flex-wrap { flex-wrap: wrap; } .flex-nowrap { flex-wrap: nowrap; } .flex-fill { flex: 1 1 auto; } .flex-grow-1 { flex-grow: 1; } .flex-shrink-0 { flex-shrink: 0; } .flex-row-reverse { flex-direction: row-reverse; }
  .justify-content-start { justify-content: flex-start !important; }
  .justify-content-end { justify-content: flex-end !important; }
  .justify-content-center { justify-content: center !important; }
  .justify-content-between { justify-content: space-between !important; }
  .justify-content-around { justify-content: space-around !important; }
  .align-items-start { align-items: flex-start !important; } .align-self-start { align-self: flex-start !important; }
  .align-items-end { align-items: flex-end !important; } .align-self-end { align-self: flex-end !important; }
  .align-items-center { align-items: center !important; } .align-self-center { align-self: center !important; }
  .align-items-baseline { align-items: baseline !important; } .align-self-baseline { align-self: baseline !important; }
  .align-items-stretch { align-items: stretch !important; } .align-self-stretch { align-self: stretch !important; }
  .float-left { float: left !important; } .float-right { float: right !important; } .float-none { float: none !important; } .clearfix::after { content: ''; display: table; clear: both; } .pull-right { float: right; } .pull-left { float: left; }
  .position-relative { position: relative; } .position-absolute { position: absolute; } .position-fixed { position: fixed; } .overflow-hidden { overflow: hidden; } .overflow-auto { overflow: auto; } .invisible { visibility: hidden; } .visible { visibility: visible; }
  .w-25 { width: 25%; } .w-50 { width: 50%; } .w-75 { width: 75%; } .w-100 { width: 100%; } .h-100 { height: 100%; } .mw-100 { max-width: 100%; } .vh-100 { height: 100vh; }
  /* ---- text, colour, border ---- */
  .text-left { text-align: left !important; } .text-right { text-align: right !important; } .text-center { text-align: center !important; } .text-justify { text-align: justify; }
  .text-uppercase { text-transform: uppercase; } .text-lowercase { text-transform: lowercase; } .text-capitalize { text-transform: capitalize; } .text-nowrap, .no-wrap { white-space: nowrap; } .text-break { word-break: break-word; } .text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .text-decoration-none { text-decoration: none; }
  .font-weight-bold, .bold { font-weight: 700; } .font-weight-semibold { font-weight: 600; } .font-weight-normal, .font-weight-400 { font-weight: 400; } .font-weight-light, .font-weight-300 { font-weight: 300; } .font-italic { font-style: italic; }
  .font-size-md { font-size: 1rem; } .font-size-small, .small, small { font-size: 85%; } .lead { font-size: var(--fs-lg); font-weight: 300; }
  .text-primary, .cPrimary { color: var(--accent); } .text-secondary { color: var(--text-dim); } .text-white { color: #fff; } .text-dark { color: var(--text); } .text-info { color: var(--info); } .text-light { color: var(--text-dim); }
  .bg-primary, .bgPrimary { background-color: var(--accent); color: var(--accent-ink); } .bg-secondary { background-color: var(--surface-3); } .bg-success, .bgSuccess { background-color: #0e9a49; color: #fff; } .bg-danger { background-color: #d03a41; color: #fff; } .bg-info, .bgInfo { background-color: #3aa6e8; color: #04131f; } .bg-dark, .bg-inverse { background-color: var(--surface); } .bg-light, .bg-lighten { background-color: var(--surface-2); } .bg-white { background-color: #fff; } .bg-transparent { background-color: transparent; }
  .border { border: 1px solid var(--border) !important; } .border-top { border-top: 1px solid var(--border) !important; } .border-bottom { border-bottom: 1px solid var(--border) !important; } .border-left { border-left: 1px solid var(--border) !important; } .border-right { border-right: 1px solid var(--border) !important; } .border-0 { border: 0 !important; } .border-left-0 { border-left: 0 !important; } .border-right-0 { border-right: 0 !important; } .border-top-0 { border-top: 0 !important; } .border-bottom-0 { border-bottom: 0 !important; } .border-bottom-dashed { border-bottom: 1px dashed var(--border-strong); }
  .rounded { border-radius: var(--radius-sm); } .rounded-0 { border-radius: 0 !important; } .rounded-circle { border-radius: 50%; } .no-shadow, .shadow-none { box-shadow: none; } .index-2 { position: relative; z-index: 2; }
  /* ---- cards ---- */
  .card-block, .card-body { padding: var(--s5); } .card-header { padding: var(--s4) var(--s5); border-bottom: 1px solid var(--border); background: transparent; } .card-footer { padding: var(--s4) var(--s5); border-top: 1px solid var(--border); }
  .card-title { margin: 0 0 var(--s2); font-size: var(--fs-md); } .card-header .card-title { margin: 0; } .card-subtitle { color: var(--text-faint); font-size: var(--fs-sm); } .card-inverse { background: var(--surface); } .card { margin-bottom: var(--s4); } .card-text { color: var(--text-dim); } .card-content { padding: var(--s4); }
  .head { padding: var(--s3) var(--s4); border-radius: var(--radius-sm); color: #fff; margin-bottom: var(--s4); } .widget { margin-bottom: var(--s5); } .widget-title { font-size: var(--fs-md); margin-bottom: var(--s3); color: #fff; } .widget-about p { font-size: var(--fs-sm); }
  /* ---- buttons ---- */
  .btn-secondary, .btn-dark { --_bg: var(--surface-3); --_bd: var(--border-strong); } .btn-info { --_bg: #3aa6e8; --_fg: #04131f; --_bd: #3aa6e8; } .btn-warning { --_bg: var(--warning); --_fg: #231a00; --_bd: var(--warning); } .btn-link { --_bg: transparent; --_bd: transparent; --_fg: var(--accent); }
  .btn-outline-primary, .btn-outline-default, .btn-outline-secondary, .btn-outline-dark, .btn-outline-light { --_bg: transparent; --_bd: var(--border-strong); } .btn-outline-primary { --_fg: var(--accent); --_bd: var(--accent); } .btn-outline-danger { --_bg: transparent; --_fg: var(--danger); --_bd: var(--danger); }
  .btn-xs { padding: .25rem .5rem; font-size: var(--fs-xs); } .btn-small { padding: .4rem .75rem; font-size: var(--fs-xs); } .btn-rounded { border-radius: 99px; } .btn-flat { box-shadow: none; } .btn-floating { border-radius: 50%; padding: .65rem; } .btn-md { padding: .6rem 1.1rem; } .btn-shadow { box-shadow: none; } .btn-add { padding: .3rem .6rem; }
  .btn-group > .btn { border-radius: 0; } .btn-group > .btn:first-child { border-radius: var(--radius-sm) 0 0 var(--radius-sm); } .btn-group > .btn:last-child { border-radius: 0 var(--radius-sm) var(--radius-sm) 0; } .btn-group { gap: 0; position: relative; }
  /* ---- forms ---- */
  .form-control-sm { padding: .35rem .6rem; font-size: var(--fs-xs); } .form-control-lg { padding: .8rem 1rem; font-size: var(--fs-md); } .input-lg { padding: .8rem 1rem; } select.form-control { appearance: none; padding-right: 2.2rem; } textarea.form-control { min-height: 100px; }
  .col-form-label { padding-top: .65rem; font-size: var(--fs-sm); font-weight: 600; } .form-inline { display: flex; flex-wrap: wrap; gap: var(--s2); align-items: center; } .form-row { display: flex; flex-wrap: wrap; gap: var(--s3); }
  .input-group-addon, .input-group-text, .input-group-prepend, .input-group-append { display: flex; align-items: center; padding: 0 .85rem; background: var(--surface-3); border: 1px solid var(--border-strong); color: var(--text-dim); font-size: var(--fs-sm); } .input-group > .form-control { flex: 1; width: auto; border-radius: 0; } .input-group > :first-child { border-radius: var(--radius-sm) 0 0 var(--radius-sm); } .input-group > :last-child { border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
  .input-icon-left { position: relative; } .input-icon-left .form-control, .input-icon-left input { padding-left: 2.6rem; } .input-icon-left > i { position: absolute; left: 0; top: 0; width: 2.6rem; height: 100%; display: grid; place-items: center; color: var(--text-faint); pointer-events: none; z-index: 2; }
  .custom-control { display: flex; align-items: center; gap: .5rem; font-size: var(--fs-sm); color: var(--text-dim); cursor: pointer; margin: 0 0 var(--s2); } .custom-control-input { position: static; opacity: 1; width: 1.05rem; height: 1.05rem; accent-color: var(--accent); margin: 0; } .custom-control-indicator { display: none; } .custom-control-description { line-height: 1.3; } .custom-checkbox-disabled { opacity: .5; } .form-check { display: flex; align-items: center; gap: .5rem; } .form-check-input { margin: 0; accent-color: var(--accent); } .form-check-label { margin: 0; }
  .has-error .form-control, .form-control.is-invalid { border-color: var(--danger); } .invalid-feedback, .help-block { color: var(--danger); font-size: var(--fs-xs); } .form-control:disabled, .form-control[readonly] { opacity: .65; }
  /* ---- tables ---- */
  .table-responsive { display: block; width: 100%; overflow-x: auto; } .table-striped tbody tr:nth-child(odd) td { background: rgba(255,255,255,.02); } .table-hover tbody tr:hover td { background: var(--surface-2); } .table-sm th, .table-sm td { padding: .4rem .6rem; } .table-bordered th, .table-bordered td { border: 1px solid var(--border); } .thead-dark th { background: var(--surface-3); } .table th { vertical-align: middle; } table.dataTable { width: 100% !important; }
  .greyGridTable { width: 100%; border-collapse: collapse; } .greyGridTable td, .greyGridTable th { border: 1px solid var(--border); padding: .5rem .7rem; } .tableHide { }
  @media (max-width: 992px) { .tableHide { display: none !important; } }
  /* ---- tabs, pills, dropdown, collapse ---- */
  .nav-tabs, .nav-pills { display: flex; flex-wrap: wrap; list-style: none; margin: 0 0 var(--s4); padding: 0; gap: var(--s1); } .nav-tabs { border-bottom: 1px solid var(--border); }
  .nav-tabs .nav-item, .nav-pills .nav-item { list-style: none; } .nav-tabs .nav-link { display: block; padding: .7rem 1rem; color: var(--text-dim); font-weight: 600; font-size: var(--fs-sm); border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; border-radius: 0; background: none; } .nav-tabs .nav-link:hover { color: #fff; background: none; text-decoration: none; } .nav-tabs .nav-link.active, .nav-tabs .nav-item.active .nav-link { color: var(--accent); border-bottom-color: var(--accent); background: none; }
  .nav-pills .nav-link { padding: .5rem .9rem; border-radius: var(--radius-sm); color: var(--text-dim); } .nav-pills .nav-link.active { background: var(--accent-soft); color: var(--accent); } .nav-icon-left li a > i, .nav-link > i { margin-right: .4rem; } .tabs-color { }
  .tab-content > .tab-pane { display: none; } .tab-content > .tab-pane.active { display: block; } .fade { transition: opacity .15s; } .fade:not(.show):not(.modal) { opacity: 1; } .tab-pane.fade { opacity: 1; }
  .dropdown-item { display: flex; align-items: center; gap: var(--s3); padding: .55rem .7rem; border-radius: var(--radius-sm); color: var(--text); font-size: var(--fs-sm); } .dropdown-item:hover { background: var(--surface-3); color: #fff; text-decoration: none; } .dropdown-divider { height: 1px; margin: var(--s2) 0; background: var(--border); } .dropdown-header { padding: .4rem .7rem; font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .08em; color: var(--text-faint); } .dropdown-block { }
  .dropdown-menu.show, .btn-group.open > .dropdown-menu, .dropdown.show > .dropdown-menu { display: block; } .dropdown-toggle::after { content: ''; display: inline-block; margin-left: .4em; border-top: .3em solid; border-left: .3em solid transparent; border-right: .3em solid transparent; vertical-align: middle; } .dropup .dropdown-menu { top: auto; bottom: calc(100% + 8px); }
  .collapse:not(.show) { display: none; } .collapsing { overflow: hidden; } .collapsed { } .accordion .card { margin-bottom: var(--s2); } .accordion .card-header h5 { margin: 0; font-size: var(--fs-md); } .accordion .card-header a { color: var(--text); display: block; }
  /* ---- misc ---- */
  .badge-primary, .badge-default { background: var(--accent-soft); color: var(--accent); border-color: rgba(225,138,7,.3); } .badge-secondary, .badge-dark { background: var(--surface-3); color: var(--text-dim); } .badge-light { background: var(--surface-2); } .badge-pill { border-radius: 99px; } .badge-light-success { background: var(--success-soft); color: var(--success); } .badge-light-danger { background: var(--danger-soft); color: var(--danger); } .badge-light-warning { background: var(--warning-soft); color: var(--warning); } .badge-outline-dark { background: transparent; border-color: var(--border-strong); }
  .alert-secondary { background: var(--surface-2); } .alert-dismissible { position: relative; padding-right: 2.5rem; } .alert .close { position: absolute; right: .75rem; top: .5rem; } .alert-link { text-decoration: underline; }
  .progress-lg { height: 14px; } .progress-bar-success { background: var(--success); } .progress-bar-warning { background: var(--warning); } .progress-bar-danger { background: var(--danger); } .progress-bar-striped { background-image: linear-gradient(45deg, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%); background-size: 1rem 1rem; } .progress-bar-animated { animation: pa-stripes 1s linear infinite; } .progress-bar.bg-warning { background: var(--warning); } .progress-bar.bg-success { background: var(--success); } .progress-bar.bg-danger { background: var(--danger); } @keyframes pa-stripes { to { background-position: 1rem 0; } }
  .page-item { list-style: none; } .page-item.disabled .page-link { opacity: .45; pointer-events: none; } .page-item.active .page-link { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); } .page-link { display: grid; place-items: center; min-width: 36px; height: 36px; padding: 0 .6rem; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--text-dim); font-size: var(--fs-sm); background: none; }
  .list-unstyled { list-style: none; padding-left: 0; } .list-inline { list-style: none; padding-left: 0; } .list-inline-item { display: inline-block; margin-right: .5rem; } .list-group { display: flex; flex-direction: column; padding: 0; margin: 0; list-style: none; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; } .list-group-item { padding: .75rem 1rem; border-bottom: 1px solid var(--border); background: var(--surface); color: var(--text); } .list-group-item:last-child { border-bottom: 0; }
  .breadcrumbs { padding: var(--s3) 0; border-bottom: 1px solid var(--border); background: var(--surface); } .breadcrumb { display: flex; flex-wrap: wrap; gap: var(--s2); list-style: none; margin: 0; padding: 0; font-size: var(--fs-sm); } .breadcrumb > li { float: none; display: flex; align-items: center; } .breadcrumb > li + li::before { content: '/'; margin-right: var(--s2); color: var(--border-strong); } .breadcrumb a { color: var(--text-dim); } .breadcrumb > li.active a { color: var(--text-faint); pointer-events: none; }
  .embed-responsive { position: relative; display: block; width: 100%; overflow: hidden; } .embed-responsive::before { content: ''; display: block; padding-top: 56.25%; } .embed-responsive > * { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; } .jumbotron { padding: var(--s6); background: var(--surface); border-radius: var(--radius-lg); border: 1px solid var(--border); } .media { display: flex; gap: var(--s3); } .media-body { flex: 1; } .pdf-hide { }
  section.bg-image { position: relative; background-size: cover; background-position: center; padding: var(--s7) 0; overflow: hidden; } section.bg-image .overlay { position: absolute; inset: 0; background: rgba(10,11,14,.82); z-index: 1; } section.bg-image .container { position: relative; z-index: 2; } .bg-image-sm { padding: var(--s6) 0; }
  .heading { text-align: center; margin: 0 auto var(--s6); max-width: 800px; } .heading i { display: inline-grid; place-items: center; width: 60px; height: 60px; font-size: 1.6rem; color: var(--accent); border: 2px solid var(--accent); border-radius: 50%; margin-bottom: var(--s4); } .heading h2 { margin-bottom: var(--s3); } .heading-left { text-align: left; margin-left: 0; }
  .promo { padding: var(--s5) 0; background: var(--accent); color: var(--accent-ink); } .promo > div { display: flex; align-items: center; justify-content: center; gap: var(--s4); flex-wrap: wrap; } .promo h2, .promo h3 { color: inherit; margin: 0; font-size: var(--fs-lg); font-weight: 600; } .promo.bg-danger { background: #d03a41; color: #fff; }
  .divider-line { border-top: 1px solid var(--border); }
  .sidebar { border-left: 1px solid var(--border); padding-left: var(--s5); height: 100%; } .sidebar-left { border-left: 0; border-right: 1px solid var(--border); padding-left: 0; padding-right: var(--s5); }
  .toolbar { padding: var(--s3) 0; margin-bottom: var(--s4); } .toolbar-nav { display: flex; gap: var(--s3); list-style: none; padding: 0; margin: 0; } .toolbar-profile { }
  .hero { position: relative; display: flex; align-items: center; min-height: 260px; background-size: cover; background-position: center; } .hero .overlay { position: absolute; inset: 0; background: rgba(10,11,14,.78); z-index: 1; } .hero .hero-block { position: relative; z-index: 2; } .hero-title { color: #fff; } .hero-profile { align-items: flex-end; }
  .carousel { position: relative; background: #111; overflow: hidden; border-radius: var(--radius); } .carousel-inner { position: relative; overflow: hidden; } .carousel-item { display: none; position: relative; } .carousel-item.active { display: block; animation: pa-fade .6s; } @keyframes pa-fade { from { opacity: 0; } to { opacity: 1; } }
  .carousel-caption { position: absolute; inset: 0; z-index: 3; display: flex; align-items: center; justify-content: center; text-align: center; padding: var(--s4); } .carousel-caption p { color: #d3d7e0; } .carousel-title { color: #fff; font-size: var(--fs-2xl); margin: 0; } .carousel-overlay { position: absolute; inset: 0; background: rgba(10,11,14,.6); z-index: 2; }
  .carousel-control-prev, .carousel-control-next { position: absolute; top: 0; bottom: 0; width: 12%; z-index: 4; display: flex; align-items: center; justify-content: center; opacity: .55; color: #fff; text-decoration: none; } .carousel-control-prev:hover, .carousel-control-next:hover { opacity: 1; text-decoration: none; } .carousel-control-prev { left: 0; } .carousel-control-next { right: 0; } .carousel-control-prev-icon::before { content: '‹'; font-size: 3rem; line-height: 1; } .carousel-control-next-icon::before { content: '›'; font-size: 3rem; line-height: 1; }
  .profile-avatar { display: inline-block; }
  /* ---- site helpers ---- */
  .fContainer { display: flex !important; } .fCenterX { margin-left: auto !important; margin-right: auto !important; } .fCenterY { margin-top: auto !important; margin-bottom: auto !important; } .fPushX { margin-left: auto; } .fPushY { margin-top: auto; } .fw { font-weight: 400; } .b7 { color: #b7b7b7; } .fakeBtn { cursor: pointer; }
  .pp { display: inline-block; border-radius: 50%; background-repeat: no-repeat; background-position: center; background-size: cover; image-rendering: auto; } .smallPp { width: 30px; height: 30px; min-width: 30px; }
  .perfectHr, .perfectHrSmall { margin: .5em 0; } .perfectHrSmall { margin: .25em 0; } .compactHeader { display: inline-block; margin-bottom: 0; }
  .quickContainer { padding: 15px; background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius); line-height: 24px; transition: border-color .15s, background .15s; } .quickContainer:hover { background: var(--surface-3); border-color: var(--border-strong); } .quickContainerDisabled { pointer-events: none; opacity: .5; } .quickIcon { font-size: 30px; color: var(--accent); }
  .infoCard { background: rgba(0,0,0,.2); padding: 10px; border-radius: var(--radius-sm); width: 100%; margin-bottom: 5px; display: flex; } .infoLabel { display: inline-block; font-weight: 400; align-items: center; }
  .numCircle, .numCircleBig { border: 2px solid; border-radius: 50%; margin-right: 10px; display: inline-flex; align-items: center; justify-content: center; } .numCircle { width: 30px; height: 30px; } .numCircleBig { width: 40px; height: 40px; } .numContainer { width: 25px; height: 25px; background: var(--accent); color: var(--accent-ink); border-radius: 50%; font-size: .8rem; font-weight: 700; } .levelCircle { border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
  .achievementBg { border-radius: 50%; width: 40px; height: 40px; background: #1f3d2a; border: 2px solid #05ff6d; }
  .gameButton { padding: 20px 15px; font-size: 20px; } .gameButtonLabel { margin-left: -20px; } .optionBox { padding: 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg); } blockquote { padding: 10px; background: var(--surface-2); border-radius: var(--radius-sm); border-left: 3px solid var(--accent); max-height: 160px; overflow: hidden; margin: 0 0 var(--s3); }
  .upload-btn-wrapper { position: relative; overflow: hidden; display: inline-block; } .upload-btn-wrapper input[type=file] { font-size: 100px; position: absolute; left: 0; top: 0; opacity: 0; } .filebtn { border: 2px solid var(--border-strong); color: var(--text-dim); background: var(--surface-2); padding: 8px 20px; border-radius: var(--radius-sm); font-weight: 700; }
  .forumPost { padding-top: 7px; word-break: break-word; } .forumPost .table { width: 100% !important; } .emptyDeviceEntry, .deviceEntry { padding: var(--s3); border: 1px solid var(--border); border-radius: var(--radius-sm); margin-bottom: var(--s2); } .actionRow { display: flex; gap: var(--s2); } .cheatBoxImg { width: 100%; border-radius: var(--radius-sm); } .invoice-box { background: var(--surface); padding: var(--s5); border: 1px solid var(--border); border-radius: var(--radius); }
  .subtitle { font-size: var(--fs-md); text-transform: uppercase; letter-spacing: .06em; color: var(--text-faint); } .star i { margin-right: 2px; } .star { display: flex; } .img { } .m-t-N { }
}

/* ==== Profile / tabs / post-card polish (staging review fixes) ==== */
.pa {
  /* tab bars built by initTabs() (users/, account/): <ul.toolbar-nav><li><a.li-active|li-inactive> */
  .toolbar-nav { gap: var(--s1); align-items: flex-end; flex-wrap: wrap; }
  .toolbar-nav li { list-style: none; }
  .toolbar-nav li > a { display: inline-flex; align-items: center; gap: .5rem; padding: .9rem 1rem; color: var(--text-dim); font-size: var(--fs-sm); font-weight: 500; text-decoration: none; border-bottom: 2px solid transparent; transition: color .15s, border-color .15s; }
  .toolbar-nav li > a i { color: var(--text-faint); transition: color .15s; }
  .toolbar-nav li > a:hover { color: var(--text); }
  .toolbar-nav li.active > a, .toolbar-nav li > a.li-active { color: #fff; border-bottom-color: var(--accent); }
  .toolbar-nav li.active > a i, .toolbar-nav li > a.li-active i { color: var(--accent); }

  /* profile header: banner, avatar overlapping it, name beside the avatar, tabs under the banner */
  .hero-profile { min-height: 240px; align-items: flex-end; }
  .hero-profile .hero-block { position: relative; z-index: 2; padding-bottom: var(--s4); padding-left: calc(200px + var(--s5)); }
  .toolbar-profile { margin-bottom: 0; padding: 0; background: var(--surface); border-bottom: 1px solid var(--border); }
  .toolbar-profile > .container { display: flex; align-items: flex-end; gap: var(--s4); }
  .toolbar-profile .profile-avatar { flex: none; order: 1; position: relative; z-index: 3; margin-top: -148px; }
  .toolbar-profile .profile-avatar .pp { display: block; border: 4px solid var(--bg); box-shadow: var(--shadow); background-color: var(--surface-2); }
  .toolbar-profile .toolbar-nav { order: 2; }
  .toolbar-profile .dropdown { order: 3; float: none; margin-left: auto; align-self: center; }
  .toolbar-profile .dropdown .btn { float: none; }

  /* "profile is N% complete" strip: a quiet info bar, not a full-width accent block */
  .toolbar-profile + .promo { background: var(--surface-2); color: var(--text-dim); border-bottom: 1px solid var(--border); padding: var(--s3) 0 !important; margin-top: 0 !important; }
  .toolbar-profile + .promo > .container { display: flex; align-items: center; gap: var(--s4); flex-wrap: wrap; }
  .toolbar-profile + .promo h2 { margin: 0; font-size: var(--fs-md); font-weight: 600; color: var(--text); }

  /* cards for the profile sidebar widgets */
  .widget-about { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: var(--s4); }
  .widget-about .widget-title { margin-bottom: var(--s3); }
  .widget-about .perfectHr { border: 0; border-top: 1px solid var(--border); margin: .6em 0; }

  /* user level badge: always a true circle regardless of the digits (inline width/height still override, e.g. member/ list) */
  .levelCircle { box-sizing: border-box; flex: none; width: 32px; height: 32px; padding: 0; border-radius: 50%; font-size: .8rem; font-weight: 600; line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
  .levelCircle > span { margin: 0 !important; line-height: 1; }

  /* numbered step circles (member/download etc.): never let the flex row squeeze them into ovals */
  .numCircle, .numCircleBig { box-sizing: border-box; flex: none; padding: 0; line-height: 1; }
  .numCircle > h5, .numCircleBig > h5 { margin: 0 !important; padding: 0; font-size: .9rem; font-weight: 700; line-height: 1; }
  .numCircleBig > h5 { font-size: 1.1rem; }

  /* legacy pages open with a bare <section> right after the breadcrumbs and relied on the old theme's default section padding */
  .breadcrumbs + section:not([class]) { padding-top: var(--s6); }

  /* hard-coded old-theme grey (#292c31) in inline styles (member/, statistics/, account/, moderator/): map it onto the theme.
     The big wrapper box becomes transparent (the inner .cards already are the boxes), badges blend with their card, zebra rows get a subtle stripe. */
  .container[style*="292c31"] { background: transparent !important; padding: 0 var(--s4) !important; border-radius: 0 !important; }
  .achievementBg[style*="292c31"] { background-color: var(--surface) !important; }
  [style*="292c31"]:not(.container):not(.achievementBg) { background-color: var(--surface-2) !important; }

  /* /member dashboard: equal-height card pairs and consistent card spacing */
  .row.cards-equal > [class*="col-"] { display: flex; }
  .row.cards-equal .card { width: 100%; }
  #lowContent .card { margin-bottom: var(--s5); }
  #lowContent .card-header { display: flex; align-items: center; gap: var(--s3); }
  #lowContent .card-header .card-title { margin: 0; display: flex; align-items: center; gap: .5rem; }
  #topCards .card-block > div[style*="display: flex"] { align-items: center; padding: .15rem 0; }
  #topCards hr { border: 0; border-top: 1px solid var(--border); }

  .btn-block + .btn-block { margin-top: var(--s2); }

  /* forum posts as shown on profiles / topic lists */
  .post.post-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: var(--s4) var(--s5); margin-bottom: var(--s4); }
  .post.post-card .post-header { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s3); }
  .post.post-card .post-header > div { display: block; width: auto; padding: 0; }
  .post.post-card .post-header > div:first-child { flex: none; width: auto; }
  .post.post-card .post-header > div:last-child { flex: 1; position: relative; min-width: 0; padding-right: var(--s6); }
  .post.post-card .post-header .dropdown { position: absolute; top: 0; right: 0; float: none; }
  .post.post-card .post-header .dropdown > a { color: var(--text-faint); }
  .post.post-card .post-title { font-size: var(--fs-lg); line-height: 1.3; }
  .post.post-card .post-title a { color: #fff; }
  .post.post-card .post-meta { margin: 2px 0 0; }
  .post.post-card .post-meta a { color: var(--text-dim); } .post.post-card .post-meta a:hover { color: var(--accent); }
  .post.post-card > p { margin: 0 0 var(--s3); color: var(--text); }
  .post.post-card .post-footer { display: flex; flex-wrap: wrap; gap: var(--s4); font-size: var(--fs-sm); }
  .post.post-card .post-footer a { color: var(--text-faint); } .post.post-card .post-footer a:hover { color: var(--accent); }

  @media (max-width: 768px) {
    .hero-profile .hero-block { padding-left: calc(120px + var(--s4)); }
    .toolbar-profile .profile-avatar { margin-top: -90px; } .toolbar-profile > .container { gap: 0 var(--s4); }
    .toolbar-profile .profile-avatar .pp { width: 120px !important; height: 120px !important; }
    .toolbar-profile > .container { flex-wrap: wrap; }
    .toolbar-profile .toolbar-nav { order: 4; width: 100%; overflow-x: auto; flex-wrap: nowrap; }
    .toolbar-nav li > a { white-space: nowrap; }
    .post.post-card { padding: var(--s4); }
  }
}

/* ==== Account / store pages: consistent buttons, table headings, card sections ==== */
.pa {
  /* legacy green "success" buttons -> the brand orange used everywhere else */
  .btn-success { --_bg: var(--accent); --_fg: var(--accent-ink); --_bd: var(--accent); }
  .btn-success:hover { --_bg: var(--accent-hover); --_bd: var(--accent-hover); box-shadow: var(--glow); filter: none; }

  /* tables: the legacy pages zero the header padding inline (padding-left:0 / padding-top:0); put comfortable padding back */
  .table th, .table td { padding: .7rem 1rem !important; vertical-align: middle; }
  .table thead th { color: var(--text-faint); font-size: var(--fs-xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; background: var(--surface-2); border-bottom: 1px solid var(--border); white-space: nowrap; }
  .table thead th:first-child { border-top-left-radius: var(--radius-sm); } .table thead th:last-child { border-top-right-radius: var(--radius-sm); }
  .table tbody td { border-top: 1px solid var(--border); }
  .table-striped tbody tr:nth-child(odd) { background: transparent; }
  .table-striped tbody tr:nth-child(even) td { background: rgba(255,255,255,.02); }

  /* "Store Account" tab: cards in a tidy grid */
  #tab-billing .acct-cards { margin-bottom: var(--s5); }
  #tab-billing .card { margin-bottom: 0; }
  #tab-billing .card-block .form-group:last-child { margin-bottom: 0; }
  #tab-billing .form-group { margin-bottom: var(--s4); }
  #tab-billing .form-group > label { display: block; margin-bottom: var(--s2); font-size: var(--fs-sm); font-weight: 600; color: var(--text); }
  #tab-billing .form-text { margin-top: var(--s2); font-size: var(--fs-xs); }
  #tab-billing .fContainer > .form-control { flex: 1; min-width: 0; }
  #tab-billing .fContainer > .btn { flex: none; height: 44px; }
  #tab-billing .card-title i { color: var(--accent); margin-right: .4rem; }
  #tab-billing .col-md-12 > .fContainer > label { font-size: var(--fs-md); font-weight: 600; color: #fff; margin: 0; }
  #tab-billing h5.text-uppercase { font-size: var(--fs-sm); letter-spacing: .08em; color: var(--text-faint); margin-top: var(--s5); }
}
