/* Shared list UI (filters + expand details) */

.list-filters{
  background-color: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color-translucent);
  border-radius: .75rem;
  padding: .75rem;
}

.list-filters .form-control,
.list-filters .form-select { min-width: 0; }

.list-filters .form-label{
  font-size: .75rem;
  margin-bottom: .25rem;
}

.list-filters .btn { white-space: nowrap; }

.collapse-toggle{ width: 30px; height: 30px; padding: 0; line-height: 1; }
.collapse-toggle::before{ content: "▸"; }
.collapse-toggle:not(.collapsed)::before{ content: "▾"; }

tr.row-expanded > td{ background-color: var(--bs-tertiary-bg); }

/* When navigating to an accrual line anchor (#line-...), highlight the row */
tr[id^="line-"]:target > td{
  background-color: var(--bs-warning-bg-subtle);
}
tr[id^="line-"]:target{
  outline: 2px solid var(--bs-warning-border-subtle);
  outline-offset: -2px;
}

.list-details-card{ border-radius: .75rem; }
.list-details-card .meta{ color: var(--bs-secondary-color); }

.table thead a{ color: inherit; }
.table thead a:hover{ text-decoration: underline; }

.badge-soft{
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-body-color);
  border: 1px solid var(--bs-border-color-translucent);
}

/* Mobile / responsive tweaks */

/* Prevent iOS zoom by keeping form font size >=16px on small screens */
@media (max-width: 575.98px){
  input.form-control,
  select.form-select,
  textarea.form-control,
  input.form-control-sm,
  select.form-select-sm,
  textarea.form-control-sm{
    font-size: 16px;
  }
}

@media (max-width: 991.98px){
  /* Slightly tighter page padding */
  .app-content .container-fluid{ padding-left: .75rem; padding-right: .75rem; }

  /* Make card headers/actions wrap nicely */
  .card-header .d-flex{ flex-wrap: wrap; }

  /* Tables: slightly smaller text and better button spacing */
  .table{ font-size: .9rem; }
  .table .btn.btn-sm{ padding: .25rem .5rem; }

  /* Filter bars: avoid overflow */
  .list-filters{ padding: .75rem; }
}

/* Handy utility: full width on mobile, auto on md+ */
.w-100-mobile{ width: 100%; }
@media (min-width: 768px){
  .w-100-mobile{ width: auto; }
}

/* Fix AdminLTE sidebar colors when using data-bs-theme="dark"
   (Mobile sidebar opened: some items were rendering with light/white backgrounds) */
.app-sidebar[data-bs-theme="dark"]{
  /* Make sure the sidebar itself stays in dark palette */
  background-color: var(--bs-dark-bg-subtle) !important;

  /* Override AdminLTE sidebar variables (AdminLTE defaults are tuned for light sidebar) */
  --lte-sidebar-color: rgba(255,255,255,.85);
  --lte-sidebar-hover-color: #fff;
  --lte-sidebar-active-color: #fff;

  --lte-sidebar-hover-bg: rgba(255,255,255,.08);
  --lte-sidebar-menu-active-bg: rgba(255,255,255,.12);
  --lte-sidebar-menu-active-color: #fff;

  --lte-sidebar-submenu-bg: transparent;
  --lte-sidebar-submenu-color: rgba(255,255,255,.75);
  --lte-sidebar-submenu-hover-color: #fff;
  --lte-sidebar-submenu-hover-bg: rgba(255,255,255,.08);
  --lte-sidebar-submenu-active-color: #fff;
  --lte-sidebar-submenu-active-bg: rgba(255,255,255,.12);

  --lte-sidebar-header-color: rgba(255,255,255,.55);
}

.app-sidebar[data-bs-theme="dark"] .sidebar-wrapper{ background-color: inherit; }

.app-sidebar[data-bs-theme="dark"] .sidebar-wrapper .sidebar-menu > .nav-item > .nav-link{
  background-color: transparent;
}

.app-sidebar[data-bs-theme="dark"] .sidebar-wrapper .sidebar-menu > .nav-item > .nav-link.active{
  background-color: var(--lte-sidebar-menu-active-bg);
}


/* Sidebar usability (mobile): allow scrolling to bottom, nicer spacing */
.app-sidebar{
  display: flex;
  flex-direction: column;
  height: 100dvh;
  height: 100vh;
}

.app-sidebar .sidebar-brand{ flex: 0 0 auto; }

.app-sidebar .sidebar-wrapper{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.app-sidebar .sidebar-wrapper > nav{
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding-bottom: env(safe-area-inset-bottom);
}

/* Make menu items easier to tap on mobile */
.app-sidebar .sidebar-menu .nav-link{
  border-radius: .6rem;
  margin: .125rem .5rem;
  padding: .55rem .75rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}

.app-sidebar .sidebar-menu .nav-link p{
  margin: 0;
  flex: 1 1 auto;
}

.app-sidebar .sidebar-menu .nav-icon{
  width: 1.5rem;
  text-align: center;
  display: inline-flex;
  justify-content: center;
}

.app-sidebar .sidebar-footer{
  background-color: inherit;
}


/* Polished page layout helpers */
.ay-page-header{
  display:flex;
  flex-direction:column;
  gap:1rem;
  margin-bottom:.8rem;
}
@media (min-width: 992px){
  .ay-page-header{
    flex-direction:row;
    align-items:flex-start;
    justify-content:space-between;
  }
}
.ay-page-intro{ min-width:0; }
.ay-page-kicker{
  color: var(--bs-secondary-color);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  margin-bottom: .25rem;
}
.ay-page-title{
  font-size: clamp(1.15rem, 1rem + .5vw, 1.55rem);
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}
.ay-page-subtitle{
  color: var(--bs-secondary-color);
  font-size: .92rem;
  margin-top: .25rem;
  max-width: 62rem;
}
.ay-page-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.ay-page-actions .btn{
  border-radius: .8rem;
  min-height: 2.5rem;
}
.ay-surface-card{
  border-radius: 1rem;
  overflow:hidden;
  box-shadow: 0 .35rem 1.25rem rgba(0,0,0,.05);
}
.ay-surface-card .card-header{
  padding: 1rem 1.1rem;
}
.ay-summary-card{
  border-radius: 1rem;
  box-shadow: 0 .2rem .9rem rgba(0,0,0,.04);
}
.ay-summary-card .display-6,
.ay-summary-card .summary-value{
  letter-spacing: -.02em;
}
.ay-panel-toggle{
  position: relative;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  width:100%;
  text-align:left;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  cursor:pointer;
}
.card-header.ay-panel-toggle,
.card-header .ay-panel-toggle{
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.card-header.ay-panel-toggle:hover,
.card-header .ay-panel-toggle:hover{
  color: inherit;
}
.ay-panel-toggle > div:first-child > .small.text-muted,
.ay-panel-toggle > div:first-child > .text-muted.small,
.ay-panel-toggle > div:first-child > .list-help,
.ay-panel-toggle > div:first-child > .small.mt-1{
  display:none;
}
.ay-panel-toggle[aria-expanded='true'] > div:first-child > .small.text-muted,
.ay-panel-toggle[aria-expanded='true'] > div:first-child > .text-muted.small,
.ay-panel-toggle[aria-expanded='true'] > div:first-child > .list-help,
.ay-panel-toggle[aria-expanded='true'] > div:first-child > .small.mt-1{
  display:block;
}
.ay-panel-toggle .ay-panel-summary{
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
.ay-panel-toggle:hover .ay-panel-summary,
.ay-panel-toggle[aria-expanded='true'] .ay-panel-summary{
  background: var(--bs-primary-bg-subtle);
  border-color: var(--bs-primary-border-subtle);
  color: var(--bs-primary-text-emphasis);
}
.ay-panel-toggle::after{
  content:'›';
  font-size: 1.2rem;
  line-height: 1;
  color: var(--bs-secondary-color);
  transition: transform .2s ease;
  margin-top: .1rem;
}
.ay-panel-toggle[aria-expanded='true']::after{
  transform: rotate(90deg);
}
.ay-panel-heading{
  min-width:0;
}
.ay-panel-title{
  font-weight: 700;
}
.ay-panel-subtitle{
  color: var(--bs-secondary-color);
  font-size: .85rem;
  margin-top: .2rem;
}
.ay-panel-description{
  display:none;
}
.ay-panel-toggle[aria-expanded='true'] .ay-panel-description{
  display:block;
}
.ay-panel-kind{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.55rem;
  padding:.12rem .55rem;
  border-radius:999px;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  border:1px solid transparent;
}
.ay-panel-kind-view{
  background:var(--bs-info-bg-subtle);
  border-color:var(--bs-info-border-subtle);
  color:var(--bs-info-text-emphasis);
}
.ay-panel-kind-filter{
  background:var(--bs-warning-bg-subtle);
  border-color:var(--bs-warning-border-subtle);
  color:var(--bs-warning-text-emphasis);
}
.ay-panel-kind-create{
  background:var(--bs-success-bg-subtle);
  border-color:var(--bs-success-border-subtle);
  color:var(--bs-success-text-emphasis);
}
.ay-panel-meta-inline{
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:wrap;
}
.ay-panel-meta-inline .ay-panel-title{
  margin:0;
}
.ay-panel-status{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  justify-content:flex-end;
}
.ay-toolbar-card{
  border: 1px solid var(--bs-border-color-translucent);
  border-radius: 1rem;
  background: var(--bs-tertiary-bg);
  box-shadow: 0 .15rem .7rem rgba(0,0,0,.03);
}

.ay-detail-card{
  border:1px solid var(--bs-border-color-translucent);
  border-radius:1rem;
  box-shadow:0 .2rem .9rem rgba(0,0,0,.04);
}
.ay-detail-card .card-header{
  border:0;
  background:transparent;
  padding:1rem 1rem 0;
}
.ay-detail-card .card-body{
  padding:1rem;
}
.ay-detail-card-title{
  font-size:1rem;
  font-weight:700;
  letter-spacing:-.01em;
}
.ay-detail-meta-list{
  display:grid;
  grid-template-columns: 8rem 1fr;
  gap:.55rem .85rem;
  font-size:.92rem;
}
.ay-detail-meta-list dt{
  margin:0;
  color:var(--bs-secondary-color);
  font-weight:500;
}
.ay-detail-meta-list dd{
  margin:0;
}
.ay-detail-inline-note{
  color:var(--bs-secondary-color);
  font-size:.84rem;
}
.ay-data-table{
  margin-bottom:0;
}
.ay-data-table tbody td,
.ay-data-table tbody th{
  vertical-align:middle;
}
.ay-data-table thead th{
  font-size:.79rem;
  color:var(--bs-secondary-color);
  font-weight:600;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.ay-data-table .badge{
  font-weight:600;
}
@media (max-width: 767.98px){
  .ay-detail-meta-list{
    grid-template-columns:1fr;
    gap:.35rem;
  }
}
.ay-empty-state{
  border: 1px dashed var(--bs-border-color);
  border-radius: 1rem;
  padding: 1rem;
  color: var(--bs-secondary-color);
  background: var(--bs-tertiary-bg);
}
.ay-inline-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
}
.ay-form-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  align-items:center;
}
@media (max-width: 767.98px){
  .ay-page-actions,
  .ay-form-actions{ width:100%; }
  .ay-page-actions .btn,
  .ay-form-actions .btn{ width:100%; }
}


/* Micro UX polish */
.ay-page-actions .btn,
.page-actions .btn{
  font-weight: 600;
  letter-spacing: -.01em;
}
.ay-page-actions .btn-outline-secondary,
.page-actions .btn-outline-secondary{
  border-color: color-mix(in srgb, var(--bs-border-color) 78%, transparent);
  background: var(--bs-body-bg);
}
.ay-page-actions .btn-outline-primary,
.page-actions .btn-outline-primary,
.btn-outline-primary.ay-soft-primary{
  background: var(--bs-primary-bg-subtle);
  border-color: var(--bs-primary-border-subtle);
  color: var(--bs-primary-text-emphasis);
}
.ay-page-actions .btn-outline-primary:hover,
.page-actions .btn-outline-primary:hover,
.btn-outline-primary.ay-soft-primary:hover{
  background: var(--bs-primary);
  border-color: var(--bs-primary);
  color: #fff;
}
.ay-page-actions .btn-outline-secondary:hover,
.page-actions .btn-outline-secondary:hover{
  background: var(--bs-tertiary-bg);
}
.ay-toolbar-card,
.list-toolbar{
  border-radius: 1rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}
.ay-panel-summary{
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .3rem .65rem;
  border-radius: 999px;
  background: var(--bs-tertiary-bg);
  color: var(--bs-secondary-color);
  font-size: .78rem;
  border: 1px solid var(--bs-border-color-translucent);
}
.ay-panel-summary strong{
  color: var(--bs-body-color);
}
.ay-panel-action-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-size:.8rem;
  font-weight:600;
  color:var(--bs-primary);
}
.ay-panel-action-link::before{
  content:'Göster';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.28rem .6rem;
  border-radius:999px;
  border:1px solid var(--bs-primary-border-subtle);
  background:var(--bs-primary-bg-subtle);
  color:var(--bs-primary-text-emphasis);
}
.ay-panel-toggle[aria-expanded='true'] .ay-panel-action-link::before{
  content:'Gizle';
  background:var(--bs-tertiary-bg);
  border-color:var(--bs-border-color-translucent);
  color:var(--bs-body-color);
}
.ay-filter-chip,
.filter-chip{
  padding: .35rem .7rem;
  border-radius: 999px;
  background: var(--bs-tertiary-bg);
  border: 1px solid var(--bs-border-color-translucent);
}
.ay-data-table{
  --bs-table-bg: transparent;
}
.ay-data-table > :not(caption) > * > *{
  padding-top: .78rem;
  padding-bottom: .78rem;
  vertical-align: middle;
}
.ay-data-table thead th{
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--bs-secondary-color);
  font-weight: 700;
  white-space: nowrap;
}
.ay-data-table tbody tr:hover > *{
  background: color-mix(in srgb, var(--bs-primary-bg-subtle) 42%, transparent);
}
.ay-table-actions{
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-content: flex-end;
}
.ay-table-actions .btn{
  border-radius: .75rem;
}
.badge.badge-soft{
  font-weight: 500;
}
.alert.alert-danger,
.alert.alert-warning,
.alert.alert-info{
  border-radius: 1rem;
}
.alert .fw-semibold{
  letter-spacing: -.01em;
}
.ay-empty-state{
  border: 1px dashed var(--bs-border-color);
  border-radius: 1rem;
  background: var(--bs-tertiary-bg);
  color: var(--bs-secondary-color);
  padding: 1rem 1.1rem;
}
.ay-form-actions{
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.ay-form-actions .btn{
  min-height: 2.35rem;
  border-radius: .8rem;
}
@media (max-width: 991.98px){
  .ay-page-actions,
  .page-actions{
    width: 100%;
  }
  .ay-page-actions .btn,
  .page-actions .btn{
    flex: 1 1 auto;
  }
}
@media (max-width: 767.98px){
  .ay-page-header{
    gap: .85rem;
    margin-bottom: .85rem;
  }
  .ay-page-title{
    font-size: 1.18rem;
  }
  .ay-page-subtitle{
    font-size: .88rem;
  }
  .ay-data-table > :not(caption) > * > *{
    padding-top: .65rem;
    padding-bottom: .65rem;
  }
  .ay-table-actions,
  .actions-inline{
    justify-content: stretch;
  }
  .ay-table-actions .btn,
  .actions-inline .btn,
  .ay-form-actions .btn{
    width: 100%;
  }
  .table-responsive-md{
    margin-left: -.25rem;
    margin-right: -.25rem;
  }
}


/* Fine-grained detail / modal helpers */
.ay-status-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
}
.ay-meta-inline{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  color:var(--bs-secondary-color);
  font-size:.82rem;
}
.ay-meta-inline span + span::before{
  content:'·';
  margin-right:.45rem;
  color:var(--bs-border-color);
}
.ay-detail-section + .ay-detail-section{
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid var(--bs-border-color-translucent);
}
.ay-detail-section-title{
  color:var(--bs-secondary-color);
  font-size:.8rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:.4rem;
}
.ay-detail-text{
  white-space:pre-wrap;
  line-height:1.5;
}
.ay-detail-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:.85rem 1rem;
}
.ay-detail-grid .meta-label{
  color:var(--bs-secondary-color);
  margin-bottom:.15rem;
}
.ay-detail-grid .meta-value{
  font-weight:600;
}
.ay-modal-stack{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.ay-modal-note{
  border:1px solid var(--bs-border-color-translucent);
  border-radius:.9rem;
  background:var(--bs-tertiary-bg);
  padding:.85rem 1rem;
  color:var(--bs-secondary-color);
  font-size:.88rem;
}
.ay-modal-actions{
  width:100%;
  justify-content:space-between;
}
@media (max-width: 767.98px){
  .ay-detail-grid{ grid-template-columns:1fr; }
  .ay-modal-actions{ flex-direction:column-reverse; }
  .ay-modal-actions .btn{ width:100%; }
}


.ay-detail-page-header{
  display:flex;
  flex-direction:column;
  gap:1rem;
  margin-bottom:1rem;
  padding:1.05rem 1.1rem;
  border-radius:1.15rem;
}
.ay-detail-page-header > :first-child{
  min-width:0;
}
.ay-detail-page-header .eyebrow,
.ay-detail-page-header .ay-page-eyebrow{
  color:var(--bs-secondary-color);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ay-detail-page-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  color:var(--bs-secondary-color);
  font-size:.88rem;
}
.ay-detail-page-meta > span + span::before{
  content:'·';
  margin-right:.45rem;
  color:var(--bs-border-color);
}
.ay-kpi-card{
  border:1px solid var(--bs-border-color-translucent);
  border-radius:1rem;
  background:var(--bs-body-bg);
  padding:1rem;
  height:100%;
  box-shadow:0 .2rem .9rem rgba(0,0,0,.04);
}
.ay-kpi-label{
  color:var(--bs-secondary-color);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:.35rem;
}
.ay-kpi-value{
  font-size:1.1rem;
  font-weight:700;
  letter-spacing:-.02em;
}
.ay-kpi-note{
  color:var(--bs-secondary-color);
  font-size:.84rem;
  margin-top:.3rem;
}
.ay-empty-state{
  border:1px dashed var(--bs-border-color-translucent);
  border-radius:1rem;
  background:var(--bs-tertiary-bg);
  color:var(--bs-secondary-color);
  padding:1rem;
  font-size:.92rem;
}
@media (min-width: 992px){
  .ay-detail-page-header{
    flex-direction:row;
    justify-content:space-between;
    align-items:flex-start;
  }
}


/* Form / table consistency helpers */
.ay-form-label{
  font-size:.82rem;
  font-weight:600;
  margin-bottom:.35rem;
  color:var(--bs-body-color);
}
.ay-form-hint{
  color:var(--bs-secondary-color);
  font-size:.8rem;
  margin-top:.32rem;
  line-height:1.4;
}
.ay-form-note{
  border:1px solid var(--bs-border-color-translucent);
  border-radius:.9rem;
  background:var(--bs-tertiary-bg);
  padding:.85rem 1rem;
  color:var(--bs-secondary-color);
  font-size:.88rem;
}

.ay-form-intro{
  color:var(--bs-secondary-color);
  font-size:.86rem;
  margin-bottom:.85rem;
}
.ay-switch-list{
  display:grid;
  gap:.75rem;
}
.ay-switch-card{
  border:1px solid var(--bs-border-color-translucent);
  border-radius:1rem;
  background:var(--bs-tertiary-bg);
  padding:.85rem 1rem;
}
.ay-switch-card .form-check{
  margin-bottom:0;
}
.ay-switch-card .form-check-label{
  font-weight:600;
}
.ay-switch-card .ay-form-hint{
  margin-left:1.7rem;
}
.ay-form-section-title{
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--bs-secondary-color);
  margin-bottom:.5rem;
}
.ay-modal-note{
  color:var(--bs-secondary-color);
  font-size:.86rem;
  margin-top:.5rem;
}
@media (max-width: 767.98px){
  .ay-switch-card{
    padding:.75rem .85rem;
  }
  .ay-switch-card .ay-form-hint{
    margin-left:1.55rem;
  }
  .ay-form-intro{
    margin-bottom:.7rem;
  }
}
.ay-data-table .ay-col-date{ width: 9.5rem; }
.ay-data-table .ay-col-amount{ width: 10rem; }
.ay-data-table .ay-col-actions{ width: 1%; white-space: nowrap; }
.ay-data-table td.ay-col-actions,
.ay-data-table th.ay-col-actions{ text-align:right; }
.ay-table-actions{ min-width: 8rem; }
.modal-title{ font-weight:700; letter-spacing:-.01em; }
@media (max-width: 767.98px){
  .ay-data-table .ay-col-date,
  .ay-data-table .ay-col-amount,
  .ay-data-table .ay-col-actions{ width:auto; }
  .ay-table-actions{ min-width:0; }
}


/* Filter simplification + compact list rows */
.ay-filter-form .ay-filter-quick-row{
  row-gap: .75rem;
}
.ay-filter-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
}
.ay-advanced-filters{
  border-top: 1px solid var(--bs-border-color-translucent);
  padding-top: .75rem;
}
.ay-advanced-filters > summary{
  cursor:pointer;
  list-style:none;
  font-weight:600;
  color: var(--bs-secondary-color);
  display:flex;
  align-items:center;
  gap:.45rem;
}
.ay-advanced-filters > summary::-webkit-details-marker{ display:none; }
.ay-advanced-filters > summary::before{
  content: "+";
  display:inline-flex;
  width:1.2rem;
  height:1.2rem;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background: var(--bs-tertiary-bg);
  color: var(--bs-body-color);
  font-weight:700;
}
.ay-advanced-filters[open] > summary::before{ content: "−"; }
.ay-advanced-grid{ padding-top: .75rem; }
.ay-inline-checks{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem 1rem;
  align-items:center;
}
.ay-data-table-compact > :not(caption) > * > *{
  padding-top: .55rem !important;
  padding-bottom: .55rem !important;
}
.ay-data-table-compact .expense-meta,
.ay-data-table-compact .amount-meta,
.ay-data-table-compact .small,
.ay-data-table-compact .text-muted.small{
  font-size: .76rem;
  line-height: 1.25;
}
.ay-data-table-compact .badge{ font-size: .7rem; }
.ay-data-table-compact .btn.btn-sm{
  padding: .22rem .48rem;
}
.ay-data-table-compact .ay-table-actions{
  gap:.35rem;
}
@media (max-width: 991.98px){
  .ay-filter-actions{
    justify-content:flex-start !important;
  }
  .ay-advanced-filters{
    padding-top: .65rem;
  }
}


.ay-row-title{ font-weight:600; line-height:1.25; }
.ay-row-meta{ font-size:.78rem; line-height:1.3; color: var(--bs-secondary-color); }
.ay-row-meta + .ay-row-meta{ margin-top:.15rem; }
.ay-row-note{ font-size:.74rem; color: var(--bs-secondary-color); }
.ay-action-split{ display:flex; justify-content:flex-end; gap:.35rem; align-items:center; }
.ay-action-split .dropdown-toggle{ padding-left:.45rem; padding-right:.45rem; }
.ay-inline-dot{ color: var(--bs-secondary-color); margin:0 .25rem; }
.ay-data-table-compact .amount-stack .amount-meta + .amount-meta{ margin-top:.1rem; }
@media (max-width: 767.98px){
  .ay-action-split{ justify-content:flex-start; }
}


/* Round 10: leaner list density and mobile-friendly rows */
@media (max-width: 767.98px) {
  .ay-data-table-compact > :not(caption) > * > * {
    padding-top: .55rem;
    padding-bottom: .55rem;
  }
  .ay-row-title { font-size: .95rem; }
  .ay-row-meta, .ay-row-note, .amount-meta { font-size: .77rem; }
  .ay-col-actions .btn { min-width: auto; }
}

@media (max-width: 991.98px) {
  .ay-col-date { width: 1%; white-space: nowrap; }
  .ay-col-actions { width: 1%; white-space: nowrap; }
}

.receipts-table .receipt-title,
.expenses-table .expense-title {
  font-weight: 600;
}

.ay-table-actions,
.ay-action-split {
  align-items: center;
}


/* Round 11: fewer secondary links + mobile detail cards */
.ay-detail-panel-card{
  border:1px solid var(--bs-border-color-translucent);
  border-radius:1rem;
  background:var(--bs-body-bg);
}
.ay-detail-meta-list{
  display:grid;
  gap:.45rem;
}
.ay-detail-meta-item{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.45rem .6rem;
  border-radius:.75rem;
  background:var(--bs-tertiary-bg);
}
.ay-detail-meta-item .label{
  color:var(--bs-secondary-color);
  font-size:.8rem;
}
.ay-detail-meta-item .value{
  text-align:right;
  font-weight:500;
}
.ay-detail-note{
  color:var(--bs-secondary-color);
  font-size:.8rem;
}
.ay-detail-description-block{
  padding:.85rem 1rem;
  border:1px solid var(--bs-border-color);
  border-radius:.95rem;
  background:var(--bs-body-bg);
}
.ay-detail-description-label{
  color:var(--bs-secondary-color);
  font-size:.78rem;
  margin-bottom:.35rem;
}
.ay-detail-description-text{
  font-size:.95rem;
  line-height:1.55;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.ay-detail-fact-card{
  height:100%;
  padding:.7rem .85rem;
  border-radius:.85rem;
  background:var(--bs-body-bg);
  border:1px solid var(--bs-border-color);
}
.ay-detail-fact-label{
  color:var(--bs-secondary-color);
  font-size:.78rem;
  margin-bottom:.2rem;
}
.ay-detail-fact-value{
  font-weight:600;
  overflow-wrap:anywhere;
}
.ay-detail-section-card{
  height:100%;
  padding:.9rem 1rem;
  border-radius:.95rem;
  border:1px solid var(--bs-border-color);
  background:var(--bs-body-bg);
}
.ay-detail-section-title{
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--bs-secondary-color);
  margin-bottom:.45rem;
}
.ay-detail-section-text{
  color:var(--bs-body-color);
  line-height:1.55;
  overflow-wrap:anywhere;
}
@media (max-width: 767.98px){
  .list-details-card{
    margin:.4rem .45rem .8rem;
    border:1px solid var(--bs-border-color-translucent);
    border-radius:1rem;
    box-shadow:none !important;
  }
  .list-details-card .card-body{
    padding:.85rem !important;
  }
  .list-details-card .detail-stat{
    padding:.65rem .75rem;
  }
  .list-details-card .ay-action-split,
  .list-details-card .detail-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:.5rem;
  }
  .list-details-card .ay-action-split > *,
  .list-details-card .detail-actions > *{
    width:100%;
  }
  .list-details-card .dropdown,
  .list-details-card .dropdown-toggle,
  .list-details-card .btn{
    width:100%;
  }
  .ay-detail-meta-item{
    flex-direction:column;
    gap:.2rem;
  }
  .ay-detail-meta-item .value{
    text-align:left;
  }
}


.ay-flash {
  border-width: 1px;
  border-radius: 1rem;
  box-shadow: 0 0.35rem 1rem rgba(15, 23, 42, 0.06);
}
.ay-flash-title {
  font-weight: 700;
  margin-bottom: .25rem;
}
.ay-flash-success {
  border-color: rgba(25, 135, 84, 0.18);
}
.ay-flash-danger {
  border-color: rgba(220, 53, 69, 0.18);
}
.ay-flash-meta {
  margin-top: .45rem;
  color: var(--bs-secondary-color);
  font-size: .88rem;
}
.ay-flash-list {
  margin-top: .55rem;
  padding-left: 1.1rem;
  color: var(--bs-body-color);
}
.ay-flash-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  align-items: flex-start;
  margin-top: .9rem;
}
.ay-flash-undo-note {
  color: var(--bs-secondary-color);
  font-size: .76rem;
  line-height: 1.35;
}
@media (max-width: 767.98px) {
  .ay-flash-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .ay-flash-actions .btn,
  .ay-flash-actions form {
    width: 100%;
  }
}
.ay-empty-state {
  background: rgba(248, 249, 250, 0.9);
  border: 1px dashed rgba(108, 117, 125, 0.24);
  border-radius: 1rem;
  color: #5c6670;
}


/* Utility screens polish */
.ay-chip-list{ display:flex; flex-wrap:wrap; gap:.5rem; }
.ay-chip{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.4rem .65rem; border-radius:999px;
  background:rgba(0,0,0,.045); color:inherit; font-size:.82rem;
}
.ay-metric-card{ border-radius:1rem; box-shadow:0 .2rem .9rem rgba(0,0,0,.04); }
.ay-metric-card .card-body{ padding:1rem 1.05rem; }
.ay-metric-label{ color:var(--bs-secondary-color); font-size:.85rem; }
.ay-metric-value{ font-size:1.45rem; font-weight:700; line-height:1.15; letter-spacing:-.02em; }
.ay-metric-note{ color:var(--bs-secondary-color); font-size:.82rem; margin-top:.25rem; }
.ay-soft-panel{ border:1px solid rgba(0,0,0,.08); border-radius:1rem; padding:1rem 1.05rem; background:rgba(0,0,0,.01); }
.ay-meta-stack{ display:flex; flex-direction:column; gap:.2rem; }
.ay-status-pill{ display:inline-flex; align-items:center; border-radius:999px; padding:.25rem .55rem; font-size:.74rem; font-weight:600; background:rgba(0,0,0,.06); }
 .ay-status-pill.is-success{ background:rgba(25,135,84,.12); color:#146c43; }
 .ay-status-pill.is-danger{ background:rgba(220,53,69,.12); color:#b02a37; }
 .ay-status-pill.is-warning{ background:rgba(255,193,7,.18); color:#997404; }
 .ay-status-pill.is-primary{ background:rgba(13,110,253,.12); color:#0a58ca; }
 .ay-status-pill.is-secondary{ background:rgba(108,117,125,.14); color:#495057; }
 .ay-list-card{ border:1px solid rgba(0,0,0,.08); border-radius:1rem; padding:1rem 1.05rem; }
 .ay-list-card + .ay-list-card{ margin-top:.85rem; }
 .ay-table-note{ color:var(--bs-secondary-color); font-size:.8rem; }
@media (max-width: 767.98px){
  .ay-chip-list{ gap:.4rem; }
  .ay-metric-value{ font-size:1.25rem; }
  .ay-soft-panel,
  .ay-list-card{ padding:.9rem; }
}


/* Final utility-screen polish */
.ay-utility-subtitle{max-width:52rem;}
.ay-soft-panel{border-radius:1rem;padding:.9rem 1rem;background:rgba(13,110,253,.04);border:1px solid rgba(13,110,253,.08);color:var(--bs-body-color);}
.ay-utility-card .card-body{padding:1rem 1.05rem;}
.ay-utility-card .display-6{font-size:clamp(1.4rem,1.1rem + .8vw,1.95rem);line-height:1.1;}
.ay-compact-table td,.ay-compact-table th{padding-top:.55rem;padding-bottom:.55rem;}
.ay-inline-actions{display:flex;flex-wrap:wrap;gap:.5rem;}
.ay-inline-actions .btn{border-radius:.8rem;}
.ay-list-card{border-radius:1rem;}
.ay-kpi-stack{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
@media (max-width: 767.98px){
  .ay-page-actions{width:100%;}
  .ay-page-actions .btn{flex:1 1 100%;}
  .ay-inline-actions{width:100%;}
  .ay-inline-actions .btn{flex:1 1 100%;}
  .ay-soft-panel{padding:.8rem .9rem;}
}


.ay-main-no-default-header .app-content{
  padding-top: 1.35rem;
}

.ay-workspace{
  display:flex;
  flex-direction:column;
  gap:.7rem;
  margin-bottom:1rem;
  padding:1rem 1rem .9rem;
  border:1px solid color-mix(in srgb, var(--bs-border-color) 80%, transparent);
  border-radius:1.1rem;
  background:linear-gradient(180deg, color-mix(in srgb, var(--bs-body-bg) 88%, var(--bs-tertiary-bg) 12%), var(--bs-body-bg));
  box-shadow:0 .35rem 1.2rem rgba(0,0,0,.04);
}
.ay-workspace-bar{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  align-items:center;
}
.ay-workspace-trigger{
  border:1px solid color-mix(in srgb, var(--bs-border-color) 82%, transparent);
  background:var(--bs-body-bg);
  color:var(--bs-body-color);
  border-radius:999px;
  min-height:2.65rem;
  padding:.55rem 1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  font-weight:600;
  line-height:1;
  box-shadow:0 .12rem .45rem rgba(0,0,0,.03);
  transition:background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.ay-workspace-trigger:hover{
  border-color:var(--bs-primary-border-subtle);
  background:var(--bs-primary-bg-subtle);
  color:var(--bs-primary-text-emphasis);
  transform:translateY(-1px);
}
.ay-workspace-trigger-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.45rem;
  height:1.45rem;
  border-radius:999px;
  background:rgba(var(--bs-primary-rgb), .08);
  color:var(--bs-primary-text-emphasis);
  font-size:.78rem;
  font-weight:700;
  flex-shrink:0;
}
.ay-workspace-trigger--views .ay-workspace-trigger-icon{
  background:rgba(var(--bs-info-rgb), .12);
  color:var(--bs-info-text-emphasis);
}
.ay-workspace-trigger--filter .ay-workspace-trigger-icon{
  background:rgba(var(--bs-primary-rgb), .10);
  color:var(--bs-primary-text-emphasis);
}
.ay-workspace-trigger--create .ay-workspace-trigger-icon{
  background:rgba(var(--bs-success-rgb), .12);
  color:var(--bs-success-text-emphasis);
}
.ay-workspace-trigger.is-active .ay-workspace-trigger-icon{
  background:rgba(255,255,255,.18);
  color:inherit;
}
.ay-workspace-trigger.is-active{
  background:linear-gradient(180deg, color-mix(in srgb, var(--bs-primary) 92%, white 8%), var(--bs-primary));
  border-color:var(--bs-primary);
  color:#fff;
  box-shadow:0 .45rem 1.15rem rgba(13,110,253,.18);
}
.ay-workspace-trigger .ay-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.55rem;
  min-height:1.55rem;
  padding:0 .45rem;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  font-size:.75rem;
  font-weight:700;
}
.ay-workspace-trigger:not(.is-active) .ay-count{
  background:var(--bs-tertiary-bg);
  color:var(--bs-secondary-color);
}
.ay-workspace-help{
  color:var(--bs-secondary-color);
  font-size:.84rem;
  margin:0;
}
.ay-workspace-managed > .card-header,
.ay-workspace-managed > button.card-header,
.ay-workspace-managed > .ay-panel-toggle{
  display:none !important;
}
.ay-workspace-managed > .collapse{
  transition:none;
}
.ay-workspace-managed .card-body{
  padding:1rem 1rem 1.05rem;
}
.ay-workspace-managed .list-toolbar{
  margin-bottom:0;
}
.ay-toolpane-card{
  border-radius:1.05rem;
  overflow:hidden;
  box-shadow:0 .35rem 1.2rem rgba(0,0,0,.05);
}
.ay-toolpane-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1rem;
}
.ay-toolpane-kicker{
  color:var(--bs-secondary-color);
  font-size:.78rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
  margin-bottom:.2rem;
}
.ay-toolpane-title{
  font-size:1.03rem;
  font-weight:700;
  letter-spacing:-.01em;
}
.ay-toolpane-subtitle{
  color:var(--bs-secondary-color);
  font-size:.88rem;
  margin-top:.2rem;
  max-width:52rem;
}
.ay-toolpane-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.35rem;
}
.ay-current-view-card{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  flex-wrap:wrap;
  padding:.9rem 1rem;
  border:1px solid color-mix(in srgb, var(--bs-border-color) 86%, transparent);
  border-radius:1rem;
  background:var(--bs-tertiary-bg);
}
.ay-current-view-state{
  display:flex;
  align-items:center;
}
.ay-inline-save-form{
  display:flex;
  gap:.75rem;
  align-items:flex-end;
  flex-wrap:wrap;
}
.ay-soft-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.8rem;
  padding:.25rem .7rem;
  border-radius:999px;
  background:var(--bs-tertiary-bg);
  color:var(--bs-secondary-color);
  font-size:.78rem;
  font-weight:600;
}
.ay-soft-badge.is-primary{
  background:var(--bs-primary-bg-subtle);
  color:var(--bs-primary-text-emphasis);
}
.ay-soft-chip{
  display:inline-flex;
  align-items:center;
  min-height:2rem;
  padding:.4rem .8rem;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--bs-border-color) 85%, transparent);
  background:var(--bs-body-bg);
  color:var(--bs-body-color);
  text-decoration:none;
  font-size:.84rem;
}
.ay-soft-chip:hover{
  border-color:var(--bs-primary-border-subtle);
  background:var(--bs-primary-bg-subtle);
  color:var(--bs-primary-text-emphasis);
}
.ay-saved-view-item{
  padding:.9rem 1rem;
  border:1px solid color-mix(in srgb, var(--bs-border-color) 86%, transparent);
  border-radius:1rem;
  background:var(--bs-body-bg);
}
.ay-saved-view-item.is-active{
  background:var(--bs-primary-bg-subtle);
  border-color:var(--bs-primary-border-subtle);
}
.ay-inline-details summary{
  list-style:none;
}
.ay-inline-details summary::-webkit-details-marker{
  display:none;
}
.ay-workspace-panel-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.85rem;
}
.ay-workspace-panel-title{
  font-size:1rem;
  font-weight:700;
  letter-spacing:-.01em;
}
.ay-workspace-panel-note{
  color:var(--bs-secondary-color);
  font-size:.84rem;
}
@media (max-width: 767.98px){
  .ay-main-no-default-header .app-content{
    padding-top:1rem;
  }
  .ay-workspace{
    padding:.85rem .85rem .8rem;
  }
  .ay-workspace-bar{
    gap:.5rem;
  }
  .ay-workspace-trigger{
    flex:1 1 calc(50% - .5rem);
    justify-content:center;
  }
  .ay-toolpane-head,
  .ay-current-view-card,
  .ay-inline-save-form{
    flex-direction:column;
    align-items:stretch;
  }
  .ay-toolpane-meta{
    align-items:flex-start;
  }
}

/* List preferences and bulk action helpers */
.ay-column-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap:.75rem;
}
.ay-column-choice{
  border:1px solid var(--bs-border-color);
  border-radius:.9rem;
  padding:.7rem .85rem;
  background:var(--bs-body-bg);
}
.ay-column-choice .form-check-label{
  font-weight:600;
}
.ay-column-choice .ay-form-hint{
  margin-top:.2rem;
}
.ay-inline-summary-badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.18rem .55rem;
  border-radius:999px;
  font-size:.75rem;
  border:1px solid var(--bs-border-color);
  background:var(--bs-light-bg-subtle);
  color:var(--bs-secondary-color);
}
.ay-bulk-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:flex-end;
}
.ay-bulk-toolbar .ay-bulk-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.ay-selection-note{
  font-size:.85rem;
  color:var(--bs-secondary-color);
}
.ay-list-preferences-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:end;
  justify-content:space-between;
}
.ay-list-preferences-toolbar .ay-list-preferences-main{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:end;
}
.ay-sort-choice{
  min-width:13rem;
}
.ay-sort-choice .form-label{
  margin-bottom:.35rem;
}
.ay-sort-inline-note{
  font-size:.85rem;
  color:var(--bs-secondary-color);
}

.ay-form-actions-sticky{
  position: sticky;
  bottom: .85rem;
  z-index: 20;
  padding: .8rem .9rem;
  border: 1px solid color-mix(in srgb, var(--bs-border-color) 82%, transparent);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--bs-body-bg) 88%, transparent);
  backdrop-filter: blur(10px);
  box-shadow: 0 .45rem 1.6rem rgba(0,0,0,.08);
}
.ay-form-actions-sticky .btn{
  box-shadow: none;
}
.ay-dirty-indicator{
  margin-right: auto;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 2.35rem;
  padding: .35rem .75rem;
  border-radius: 999px;
  border: 1px solid var(--bs-border-color-translucent);
  background: var(--bs-tertiary-bg);
  color: var(--bs-secondary-color);
  font-size: .82rem;
  font-weight: 600;
}
.ay-dirty-indicator-dot{
  width: .6rem;
  height: .6rem;
  border-radius: 999px;
  background: var(--bs-success);
  box-shadow: 0 0 0 .15rem color-mix(in srgb, var(--bs-success) 18%, transparent);
}
.ay-dirty-indicator.is-dirty{
  border-color: var(--bs-warning-border-subtle);
  background: var(--bs-warning-bg-subtle);
  color: var(--bs-warning-text-emphasis);
}
.ay-dirty-indicator.is-dirty .ay-dirty-indicator-dot{
  background: var(--bs-warning-text-emphasis);
  box-shadow: 0 0 0 .15rem color-mix(in srgb, var(--bs-warning) 22%, transparent);
}
@media (max-width: 767.98px){
  .ay-form-actions-sticky{
    bottom: .5rem;
    padding: .75rem;
  }
  .ay-dirty-indicator{
    width: 100%;
    justify-content: center;
    margin-right: 0;
  }
}


.ay-validation-summary{
  display:none;
  border-radius:1rem;
  border-width:1px;
  box-shadow:0 .45rem 1.4rem rgba(0,0,0,.06);
}
.ay-validation-summary .validation-summary-errors ul,
.ay-validation-summary ul{
  margin:.65rem 0 0 1rem;
  padding:0;
}
.ay-validation-summary-title{
  font-weight:700;
  font-size:.98rem;
}
.ay-validation-summary-text{
  margin-top:.25rem;
  color:var(--bs-danger-text-emphasis);
  font-size:.88rem;
}
.ay-field-invalid-focus{
  outline:2px solid color-mix(in srgb, var(--bs-danger) 55%, transparent);
  outline-offset:2px;
  box-shadow:0 0 0 .2rem color-mix(in srgb, var(--bs-danger) 18%, transparent);
}
.ay-empty-state-card{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  padding:1.15rem 1.2rem;
  border:1px dashed color-mix(in srgb, var(--bs-border-color) 82%, transparent);
  border-radius:1rem;
  background:color-mix(in srgb, var(--bs-body-bg) 94%, var(--bs-tertiary-bg));
}
.ay-empty-state-card--compact{
  padding:1rem;
}
.ay-empty-state-icon{
  width:2.35rem;
  height:2.35rem;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--bs-tertiary-bg);
  color:var(--bs-secondary-color);
  flex:0 0 auto;
  font-size:1rem;
}
.ay-empty-state-content{
  min-width:0;
}
.ay-empty-state-title{
  font-weight:700;
  color:var(--bs-emphasis-color);
}
.ay-empty-state-text{
  margin-top:.2rem;
  color:var(--bs-secondary-color);
  font-size:.92rem;
}

.ay-filter-spotlight{
  border:1px solid color-mix(in srgb, var(--bs-primary) 16%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, var(--bs-primary-bg-subtle) 62%, white), white);
  border-radius:1rem;
  padding:.95rem 1rem;
  display:grid;
  gap:.75rem;
}
.ay-filter-spotlight-main{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}
.ay-filter-spotlight-title{
  font-size:1rem;
  font-weight:700;
  letter-spacing:-.01em;
}
.ay-filter-spotlight-note{
  color:var(--bs-secondary-color);
  font-size:.9rem;
}
.ay-filter-spotlight-metrics{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}
.ay-filter-metric{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  border-radius:999px;
  padding:.4rem .72rem;
  background:var(--bs-body-bg);
  border:1px solid var(--bs-border-color-translucent);
  font-size:.82rem;
}
.ay-filter-metric strong{ color:var(--bs-body-color); }
.ay-focus-grid{
  display:grid;
  gap:.9rem;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.ay-focus-card{
  display:grid;
  gap:.35rem;
  padding:1rem;
  border-radius:1rem;
  border:1px solid var(--bs-border-color-translucent);
  background:var(--bs-body-bg);
  text-decoration:none;
  color:inherit;
  min-height:100%;
}
.ay-focus-card:hover{
  border-color:color-mix(in srgb, var(--bs-primary) 28%, var(--bs-border-color));
  box-shadow:0 .45rem 1.2rem rgba(15, 23, 42, .08);
  color:inherit;
}
.ay-focus-card-label{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--bs-secondary-color);
  font-weight:700;
}
.ay-focus-card-value{
  font-size:1.5rem;
  font-weight:700;
  line-height:1;
}
.ay-focus-card-note{
  color:var(--bs-secondary-color);
  font-size:.84rem;
}
.ay-focus-card-link{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  font-size:.84rem;
  font-weight:600;
  color:var(--bs-primary);
}
.ay-focus-card-link::after{
  content:'→';
}
.ay-focus-card.is-accent{
  background:linear-gradient(180deg, color-mix(in srgb, var(--bs-primary-bg-subtle) 75%, white), white);
}
.ay-focus-card.is-danger .ay-focus-card-value,
.ay-focus-card.is-danger .ay-focus-card-link{ color:var(--bs-danger); }
.ay-focus-card.is-warning .ay-focus-card-value,
.ay-focus-card.is-warning .ay-focus-card-link{ color:var(--bs-warning-text-emphasis); }
.ay-focus-card.is-success .ay-focus-card-value,
.ay-focus-card.is-success .ay-focus-card-link{ color:var(--bs-success); }
@media (max-width: 767.98px){
  .ay-filter-spotlight-main{
    flex-direction:column;
    align-items:stretch;
  }
}

.ay-empty-state-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.85rem;
}
@media (max-width: 767.98px){
  .ay-empty-state-card{
    flex-direction:column;
    gap:.75rem;
  }
}


.ay-upload-dropzone {
  border: 1.5px dashed rgba(13, 110, 253, .35);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(13,110,253,.04), rgba(13,110,253,.01));
  padding: 1rem 1.1rem;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.ay-upload-dropzone:hover,
.ay-upload-dropzone.is-dragging {
  border-color: rgba(13, 110, 253, .75);
  background: rgba(13,110,253,.06);
  box-shadow: 0 0 0 .2rem rgba(13,110,253,.08);
}

.ay-upload-dropzone-title {
  font-weight: 700;
  margin-bottom: .25rem;
}

.ay-upload-dropzone-meta {
  color: var(--bs-secondary-color);
  font-size: .925rem;
}

.ay-upload-preview {
  border: 1px solid var(--bs-border-color);
  border-radius: .9rem;
  background: var(--bs-tertiary-bg);
  padding: .75rem .9rem;
}

.ay-upload-preview-title {
  font-size: .875rem;
  font-weight: 700;
  margin-bottom: .35rem;
}

.ay-upload-preview-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .35rem;
}

.ay-upload-preview-list li {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  font-size: .875rem;
}

.ay-upload-preview-name {
  font-weight: 500;
  overflow-wrap: anywhere;
}

.ay-upload-preview-size {
  color: var(--bs-secondary-color);
  white-space: nowrap;
}

.ay-bulk-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  padding: .85rem 1rem;
  border-bottom: 1px solid var(--bs-border-color);
  background: rgba(108,117,125,.04);
}

.ay-bulk-toolbar[hidden] { display: none !important; }
.ay-bulk-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.ay-bulk-select-cell { width: 3rem; white-space: nowrap; }


.ay-skip-link{
  position: absolute;
  left: 1rem;
  top: -3rem;
  z-index: 1100;
  padding: .65rem .9rem;
  border-radius: .75rem;
  background: var(--bs-primary);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.18);
}

.ay-skip-link:focus{
  top: 1rem;
}

:focus-visible{
  outline: 3px solid rgba(13,110,253,.45);
  outline-offset: 2px;
}

.ay-compare-slot{
  background: linear-gradient(180deg, rgba(13,110,253,.04), rgba(13,110,253,.01));
}

.ay-compare-slot .btn{
  white-space: nowrap;
}


/* Slightly tighter vertical rhythm on content stacks */
.app-main .row.g-3{
  --bs-gutter-y: .85rem;
}

.ay-surface-card--filter{
  border-top: 3px solid color-mix(in srgb, var(--bs-primary) 28%, transparent);
}
.ay-surface-card--list{
  border-top: 3px solid color-mix(in srgb, var(--bs-info) 24%, transparent);
}
.ay-surface-card--audit{
  border-top: 3px solid color-mix(in srgb, var(--bs-warning) 32%, transparent);
}

.ay-notification-item{
  position: relative;
  border-left: 4px solid transparent;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.ay-notification-item.kind-info{
  border-left-color: color-mix(in srgb, var(--bs-info) 58%, white);
  background: linear-gradient(90deg, rgba(var(--bs-info-rgb), .06), transparent 18rem);
}
.ay-notification-item.kind-success{
  border-left-color: color-mix(in srgb, var(--bs-success) 56%, white);
  background: linear-gradient(90deg, rgba(var(--bs-success-rgb), .06), transparent 18rem);
}
.ay-notification-item.kind-warning{
  border-left-color: color-mix(in srgb, var(--bs-warning) 62%, white);
  background: linear-gradient(90deg, rgba(var(--bs-warning-rgb), .08), transparent 18rem);
}
.ay-notification-item.kind-danger{
  border-left-color: color-mix(in srgb, var(--bs-danger) 58%, white);
  background: linear-gradient(90deg, rgba(var(--bs-danger-rgb), .08), transparent 18rem);
}
.ay-notification-item.category-rule .ay-notification-meta{
  padding-bottom: .45rem;
  border-bottom: 1px dashed color-mix(in srgb, var(--bs-warning) 24%, var(--bs-border-color));
}
.ay-notification-item.category-event .ay-notification-meta{
  padding-bottom: .45rem;
  border-bottom: 1px dashed color-mix(in srgb, var(--bs-info) 20%, var(--bs-border-color));
}
.ay-notification-item.is-unread{
  box-shadow: inset 0 0 0 1px rgba(var(--bs-primary-rgb), .08);
}
.ay-notification-shell{
  align-items: stretch !important;
}
.ay-notification-content{
  display: grid;
  gap: .4rem;
}
.ay-notification-title{
  letter-spacing: -.01em;
}
.ay-notification-message{
  line-height: 1.45;
  max-width: 62rem;
}
.ay-notification-actions{
  align-content: flex-start;
}
@media (min-width: 992px){
  .ay-notification-actions{
    min-width: 10.5rem;
    padding-left: .9rem;
    border-left: 1px solid var(--bs-border-color-translucent);
  }
}
@media (max-width: 991.98px){
  .ay-notification-actions{
    padding-top: .75rem;
    margin-top: .15rem;
    border-top: 1px solid var(--bs-border-color-translucent);
  }
}

.ay-audit-parent-row > td{
  background: linear-gradient(180deg, color-mix(in srgb, var(--bs-warning-bg-subtle) 62%, white), transparent);
}
.ay-audit-related-preview{
  display: grid;
  gap: .4rem;
  padding: .6rem .7rem;
  border-radius: .85rem;
  background: color-mix(in srgb, var(--bs-warning-bg-subtle) 58%, white);
  border: 1px solid color-mix(in srgb, var(--bs-warning) 18%, var(--bs-border-color));
}
.ay-audit-related-title{
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--bs-secondary-color);
}
.ay-audit-related-item,
.ay-audit-related-entry{
  display: grid;
  gap: .2rem;
}
.ay-audit-related-label{
  display: inline-flex;
  align-items: center;
  padding: .1rem .45rem;
  border-radius: 999px;
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color-translucent);
  font-size: .72rem;
  font-weight: 600;
}
.ay-audit-related-text{
  color: var(--bs-secondary-color);
  font-size: .82rem;
}
.ay-audit-related-time{
  color: var(--bs-secondary-color);
  font-size: .75rem;
  font-weight: 600;
}
.ay-audit-related-panel{
  height: 100%;
  padding: .95rem 1rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, color-mix(in srgb, var(--bs-warning-bg-subtle) 65%, white), white);
  border: 1px solid color-mix(in srgb, var(--bs-warning) 18%, var(--bs-border-color));
}
.ay-audit-related-stack{
  display: grid;
  gap: .75rem;
}
.ay-audit-related-entry{
  padding-bottom: .75rem;
  border-bottom: 1px dashed var(--bs-border-color-translucent);
}
.ay-audit-related-entry:last-child{
  border-bottom: 0;
  padding-bottom: 0;
}
.ay-audit-related-entry-head{
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
}
.ay-audit-related-entry-body{
  display: grid;
  gap: .15rem;
}


/* Shared index workspace surfaces (accruals / expenses / receipts) */
.page-actions{ display:flex; flex-wrap:wrap; gap:.5rem; }
.summary-card{ border:1px solid var(--bs-border-color); border-radius:.9rem; background:var(--bs-body-bg); height:100%; }
.summary-card .summary-label{ font-size:.8rem; color:var(--bs-secondary-color); }
.summary-card .summary-value{ font-size:1.2rem; font-weight:700; }
.list-toolbar{ border:1px solid var(--bs-border-color); border-radius:1rem; background:var(--bs-tertiary-bg); padding:1rem; }
.quick-filter-bar{ display:flex; flex-wrap:wrap; gap:.5rem; }
.quick-filter-bar .btn{ white-space:nowrap; }
.filter-chip{ display:inline-flex; align-items:center; padding:.35rem .6rem; border-radius:999px; background:var(--bs-light-bg-subtle); color:var(--bs-body-color); border:1px solid var(--bs-border-color); font-size:.8rem; }
.create-card-note{ border:1px dashed var(--bs-border-color); border-radius:.9rem; background:var(--bs-tertiary-bg); }
.list-help{ font-size:.85rem; color:var(--bs-secondary-color); }
.status-stack,
.amount-stack{ display:flex; flex-direction:column; gap:.2rem; }
.amount-primary{ font-weight:700; }
.amount-meta{ font-size:.78rem; color:var(--bs-secondary-color); }
.actions-inline{ display:flex; justify-content:flex-end; gap:.5rem; align-items:center; }
.detail-stat{ border:1px solid var(--bs-border-color); border-radius:.9rem; padding:.75rem .9rem; background:var(--bs-body-bg); height:100%; }
.detail-stat-label{ color:var(--bs-secondary-color); font-size:.78rem; margin-bottom:.2rem; }
.detail-stat-value{ font-size:1rem; font-weight:700; }
.detail-actions{ display:flex; gap:.5rem; flex-wrap:wrap; }
.panel-toggle{ border:0; background:transparent; width:100%; text-align:left; padding:0; color:inherit; }
.flag-badges{ display:flex; flex-wrap:wrap; gap:.35rem; }
.table-accruals > :not(caption) > * > *,
.expenses-table > :not(caption) > * > *,
.receipts-table > :not(caption) > * > *{ padding-top:.75rem; padding-bottom:.75rem; }
.accrual-title,
.expense-title,
.receipt-title{ font-weight:600; }
.accrual-meta,
.expense-meta,
.receipt-meta{ font-size:.82rem; color:var(--bs-secondary-color); }
.accrual-meta{ max-width:28rem; }
.accruals-table-responsive{ overflow-x:auto; overflow-y:visible; }
.accruals-table-responsive .dropdown-menu{ z-index:2000; }
@media (max-width: 767.98px){
  .actions-inline{ justify-content:flex-start; }
  .accrual-meta{ max-width:none; }
}

.ay-workspace + .row{
  --bs-gutter-y:.85rem;
}
.ay-index-list-card .card-body{
  padding-top:.85rem;
}
.ay-index-list-stack{
  --bs-gutter-y:.85rem;
}


/* Visual hierarchy package - accruals & receipts */
.ay-module-shell{
  display:grid;
  gap:1rem;
}
.ay-module-shell--accrual{
  --ay-module-rgb:13,110,253;
  --ay-module:#0d6efd;
  --ay-module-text:var(--bs-primary-text-emphasis);
}
.ay-module-shell--receipt{
  --ay-module-rgb:25,135,84;
  --ay-module:#198754;
  --ay-module-text:var(--bs-success-text-emphasis);
}
.ay-module-shell .ay-page-header{
  margin-bottom:0;
  padding:1.05rem 1.1rem;
  border:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb), .22) 55%, var(--bs-border-color));
  border-radius:1.15rem;
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .08) 70%, white), white);
  box-shadow:0 .4rem 1.1rem rgba(15,23,42,.05);
}
.ay-page-context{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.55rem;
  margin-bottom:.45rem;
}
.ay-page-module-badge{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-height:1.9rem;
  padding:.3rem .75rem;
  border-radius:999px;
  background:rgba(var(--ay-module-rgb), .1);
  border:1px solid rgba(var(--ay-module-rgb), .14);
  color:var(--ay-module-text);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.02em;
}
.ay-page-context-note{
  color:var(--bs-secondary-color);
  font-size:.82rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.ay-module-shell .ay-page-actions .btn-outline-primary{
  border-color:rgba(var(--ay-module-rgb), .28);
  color:var(--ay-module);
}
.ay-module-shell .ay-page-actions .btn-outline-primary:hover{
  background:rgba(var(--ay-module-rgb), .08);
  border-color:rgba(var(--ay-module-rgb), .4);
  color:var(--ay-module);
}
.ay-summary-card--module{
  position:relative;
  overflow:hidden;
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .18) 55%, var(--bs-border-color));
}
.ay-summary-card--module::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:.28rem;
  background:var(--ay-module);
  opacity:.9;
}
.ay-summary-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.85rem;
  margin-bottom:.55rem;
}
.ay-summary-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2rem;
  height:2rem;
  border-radius:.8rem;
  background:rgba(var(--ay-module-rgb), .1);
  color:var(--ay-module-text);
  font-weight:800;
  flex-shrink:0;
}
.ay-summary-card--accent{
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .09) 70%, white), white);
}
.ay-summary-card--warning .ay-summary-card__icon{
  background:rgba(var(--bs-warning-rgb), .14);
  color:var(--bs-warning-text-emphasis);
}
.ay-summary-card--success .ay-summary-card__icon{
  background:rgba(var(--bs-success-rgb), .14);
  color:var(--bs-success-text-emphasis);
}
.ay-summary-card--danger .ay-summary-card__icon{
  background:rgba(var(--bs-danger-rgb), .12);
  color:var(--bs-danger-text-emphasis);
}
.ay-module-shell .ay-workspace{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .2) 55%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .07) 55%, white), var(--bs-body-bg));
}
.ay-module-shell .ay-workspace-trigger:hover{
  border-color:rgba(var(--ay-module-rgb), .32);
  background:rgba(var(--ay-module-rgb), .07);
  color:var(--ay-module-text);
}
.ay-module-shell .ay-workspace-trigger.is-active{
  background:linear-gradient(180deg, color-mix(in srgb, var(--ay-module) 88%, white 12%), var(--ay-module));
  border-color:var(--ay-module);
  box-shadow:0 .45rem 1.15rem rgba(var(--ay-module-rgb), .22);
}
.ay-module-shell .ay-workspace-trigger--filter .ay-workspace-trigger-icon,
.ay-module-shell .ay-workspace-trigger--create .ay-workspace-trigger-icon,
.ay-module-shell .ay-workspace-trigger--views .ay-workspace-trigger-icon{
  background:rgba(var(--ay-module-rgb), .11);
  color:var(--ay-module-text);
}
.ay-module-shell .ay-filter-spotlight{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .18) 55%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .08) 62%, white), white);
}
.ay-module-shell .ay-focus-card:hover{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .3) 60%, var(--bs-border-color));
}
.ay-module-shell .ay-focus-card-link,
.ay-module-shell .ay-focus-card.is-accent .ay-focus-card-value{
  color:var(--ay-module);
}
.ay-module-shell .ay-focus-card.is-accent{
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .08) 70%, white), white);
}
.ay-index-list-card > .card-header.ay-list-card-header{
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .06) 65%, white), white);
  border-bottom:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb), .14) 45%, var(--bs-border-color));
}
.ay-section-eyebrow{
  color:var(--ay-module);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-bottom:.18rem;
}
.ay-section-title{
  display:block;
  font-size:1rem;
  margin-bottom:.1rem;
}
.ay-section-meta{
  display:inline-flex;
  align-items:center;
  min-height:2rem;
  padding:.25rem .75rem;
  border-radius:999px;
  background:rgba(var(--ay-module-rgb), .07);
  border:1px solid rgba(var(--ay-module-rgb), .1);
}
.ay-module-shell .list-toolbar{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .14) 45%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 52%, var(--bs-tertiary-bg)), var(--bs-tertiary-bg));
}
.ay-module-shell .filter-chip,
.ay-module-shell .ay-filter-chip{
  background:rgba(var(--ay-module-rgb), .06);
  border-color:rgba(var(--ay-module-rgb), .12);
}
.ay-module-shell .table-accruals thead th,
.ay-module-shell .receipts-table thead th{
  background:color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 60%, var(--bs-tertiary-bg));
  border-bottom-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .16) 45%, var(--bs-border-color));
}
.ay-module-shell .ay-detail-panel-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .15) 50%, var(--bs-border-color-translucent));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .03) 35%, white), var(--bs-body-bg));
}
.ay-module-shell .detail-stat,
.ay-module-shell .ay-detail-fact-card,
.ay-module-shell .ay-detail-description-block{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .12) 45%, var(--bs-border-color));
}
.ay-module-shell .detail-stat-label,
.ay-module-shell .ay-detail-fact-label,
.ay-module-shell .ay-detail-description-label{
  color:var(--ay-module);
}
.ay-module-shell .ay-detail-section-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .12) 45%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .035) 45%, white), white);
}
.ay-module-shell .ay-detail-section-title{
  color:var(--ay-module);
}
@media (max-width: 767.98px){
  .ay-module-shell .ay-page-header{
    padding:1rem;
  }
  .ay-summary-card__icon{
    width:1.8rem;
    height:1.8rem;
  }
}



.ay-module-shell--expense{
  --ay-module-rgb:253,126,20;
  --ay-module:#fd7e14;
  --ay-module-text:var(--bs-warning-text-emphasis);
}
.ay-module-shell--refund{
  --ay-module-rgb:111,66,193;
  --ay-module:#6f42c1;
  --ay-module-text:#5b2ea6;
}
.ay-module-shell .expenses-table thead th,
.ay-module-shell .refunds-table thead th{
  background:color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 60%, var(--bs-tertiary-bg));
  border-bottom-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .16) 45%, var(--bs-border-color));
}
.ay-module-shell .ay-surface-card,
.ay-module-shell .ay-detail-card,
.ay-module-shell .ay-kpi-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .13) 48%, var(--bs-border-color));
}
.ay-module-shell .ay-kpi-card{
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 60%, white), white);
}
.ay-module-shell .ay-kpi-label,
.ay-module-shell .ay-kpi-note,
.ay-module-shell .ay-detail-page-header .ay-page-eyebrow{
  color:var(--ay-module);
}
.ay-module-shell .ay-detail-page-header{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .2) 55%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .08) 70%, white), white);
  box-shadow:0 .4rem 1.1rem rgba(15,23,42,.05);
}
.ay-module-shell .badge-soft,
.ay-module-shell .ay-badge-soft{
  background:rgba(var(--ay-module-rgb), .08);
  color:var(--ay-module-text);
  border:1px solid rgba(var(--ay-module-rgb), .12);
}
.ay-module-shell .ay-list-details-card,
.ay-module-shell .list-details-card{
  border:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb), .13) 48%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .035) 50%, white), white);
  border-radius:1rem;
}
.ay-module-shell .ay-detail-note-card{
  border:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb), .14) 48%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .06) 55%, white), white);
  border-radius:1rem;
  padding:1rem;
}
.ay-module-shell .ay-detail-note-title{
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--ay-module);
  margin-bottom:.4rem;
}
.ay-module-shell .ay-detail-note-text{
  color:var(--bs-body-color);
  line-height:1.55;
  word-break:break-word;
}
.ay-module-shell .ay-detail-link-stack{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.ay-module-shell .ay-detail-mini-card{
  border:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb), .12) 45%, var(--bs-border-color));
  background:var(--bs-body-bg);
  border-radius:.9rem;
  padding:.85rem .95rem;
  height:100%;
}
.ay-module-shell .ay-detail-mini-label{
  color:var(--bs-secondary-color);
  font-size:.76rem;
  margin-bottom:.15rem;
}
.ay-module-shell .ay-detail-mini-value{
  font-weight:700;
}
.ay-module-shell .ay-quick-help-card{
  border:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb), .15) 50%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .06) 55%, white), white);
  border-radius:1rem;
  padding:1rem;
}
.ay-module-shell .ay-quick-help-title{
  font-weight:700;
  margin-bottom:.25rem;
}
.ay-module-shell .ay-quick-help-note{
  color:var(--bs-secondary-color);
  font-size:.9rem;
}



/* Visual hierarchy package - reports + finance status badges */
.ay-module-shell--report{
  --ay-module-rgb:99,102,241;
  --ay-module:#6366f1;
  --ay-module-text:#4338ca;
}
.ay-module-shell--report .ay-page-header{
  margin-bottom:0;
}
.ay-module-shell--report .ay-summary-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .16) 55%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 55%, white), white);
}
.ay-module-shell--report .ay-summary-card .text-muted.small{
  color:var(--ay-module-text) !important;
}
.ay-module-shell--report .ay-summary-card .display-6,
.ay-module-shell--report .ay-summary-card .summary-value{
  font-size:1.85rem;
}
.ay-module-shell--report .ay-surface-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .14) 50%, var(--bs-border-color));
}
.ay-module-shell--report .ay-data-table-compact thead th,
.ay-module-shell--report .table thead th{
  background:color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 60%, var(--bs-tertiary-bg));
  border-bottom-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .16) 45%, var(--bs-border-color));
}
.ay-module-shell--report .table-light{
  --bs-table-bg:color-mix(in srgb, rgba(var(--ay-module-rgb), .06) 50%, white);
}
.ay-report-nav-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .18) 50%, var(--bs-border-color)) !important;
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 55%, white), white);
}
.ay-report-nav{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}
.ay-report-nav .nav-link{
  border-radius:999px;
  padding:.5rem .9rem;
  border:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb), .15) 50%, var(--bs-border-color));
  background:var(--bs-body-bg);
  color:var(--bs-secondary-color);
  font-weight:600;
}
.ay-report-nav .nav-link:hover{
  border-color:rgba(var(--ay-module-rgb), .34);
  color:var(--ay-module-text);
  background:rgba(var(--ay-module-rgb), .05);
}
.ay-report-nav .nav-link.active{
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .18) 45%, white), rgba(var(--ay-module-rgb), .12));
  border-color:rgba(var(--ay-module-rgb), .38);
  color:var(--ay-module-text);
  box-shadow:0 .45rem 1.15rem rgba(var(--ay-module-rgb), .16);
}
.ay-report-focus-grid{
  display:grid;
  gap:.9rem;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
}
.ay-report-focus-card{
  display:grid;
  gap:.35rem;
  padding:1rem;
  border-radius:1rem;
  border:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb), .14) 50%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 60%, white), white);
  text-decoration:none;
  color:inherit;
  min-height:100%;
}
.ay-report-focus-card:hover{
  color:inherit;
  border-color:rgba(var(--ay-module-rgb), .34);
  box-shadow:0 .55rem 1.2rem rgba(var(--ay-module-rgb), .12);
}
.ay-report-focus-kicker{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--ay-module-text);
  font-weight:700;
}
.ay-report-focus-title{
  font-size:1rem;
  font-weight:700;
  letter-spacing:-.01em;
}
.ay-report-focus-note{
  color:var(--bs-secondary-color);
  font-size:.86rem;
}
.ay-report-focus-link{
  color:var(--ay-module);
  font-size:.84rem;
  font-weight:600;
}
.ay-report-focus-link::after{
  content:' →';
}
.ay-report-section-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .16) 50%, var(--bs-border-color));
}
.ay-report-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
}
.ay-report-section-title{
  font-size:1rem;
  font-weight:800;
  letter-spacing:-.01em;
}
.ay-report-section-note{
  color:var(--bs-secondary-color);
  font-size:.88rem;
  max-width:56rem;
}
.ay-report-inline-stats{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.5rem;
}
.ay-report-stat-pill{
  display:inline-flex;
  align-items:center;
  min-height:1.9rem;
  padding:.3rem .7rem;
  border-radius:999px;
  border:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb), .16) 50%, var(--bs-border-color));
  background:color-mix(in srgb, rgba(var(--ay-module-rgb), .06) 55%, white);
  color:var(--ay-module-text);
  font-size:.78rem;
  font-weight:700;
}
.ay-report-stat-pill.is-positive{
  background:rgba(25,135,84,.1);
  border-color:rgba(25,135,84,.18);
  color:#146c43;
}
.ay-report-stat-pill.is-negative{
  background:rgba(220,53,69,.1);
  border-color:rgba(220,53,69,.18);
  color:#b02a37;
}
.ay-report-stat-pill.is-neutral{
  background:#f8f9fa;
  border-color:#d7dde3;
  color:#5c6670;
}
.ay-report-table-wrap{
  border:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb), .10) 40%, var(--bs-border-color));
  border-radius:1rem;
  overflow:hidden;
}
.ay-report-footnote{
  margin-top:.8rem;
  color:var(--bs-secondary-color);
  font-size:.86rem;
}
.ay-report-account-stack{
  display:grid;
  gap:1rem;
}
.ay-report-account-card{
  border:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb), .12) 45%, var(--bs-border-color));
  border-radius:1rem;
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .03) 35%, white), rgba(255,255,255,.98));
  padding:1rem;
}
.ay-report-account-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:.85rem;
}
.ay-report-account-title{
  font-weight:800;
  letter-spacing:-.01em;
}
.ay-report-account-note{
  color:var(--bs-secondary-color);
  font-size:.84rem;
}
@media (max-width: 767.98px){
  .ay-report-inline-stats{
    justify-content:flex-start;
  }
}
.ay-status-badge{
  display:inline-flex;
  align-items:center;
  min-height:1.7rem;
  padding:.28rem .62rem;
  border-radius:999px;
  font-size:.74rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.02em;
  border:1px solid transparent;
}
.ay-status-badge.is-neutral{
  background:#f8f9fa;
  color:#5c6670;
  border-color:#d7dde3;
}
.ay-status-badge.is-primary{
  background:rgba(13,110,253,.1);
  color:#0b5ed7;
  border-color:rgba(13,110,253,.18);
}
.ay-status-badge.is-success{
  background:rgba(25,135,84,.11);
  color:#146c43;
  border-color:rgba(25,135,84,.18);
}
.ay-status-badge.is-warning{
  background:rgba(255,193,7,.18);
  color:#997404;
  border-color:rgba(255,193,7,.22);
}
.ay-status-badge.is-danger{
  background:rgba(220,53,69,.11);
  color:#b02a37;
  border-color:rgba(220,53,69,.18);
}


/* Detail refinement pack */
.ay-module-shell .ay-detail-mini-card{
  box-shadow:0 .35rem .85rem rgba(15,23,42,.04);
}
.ay-module-shell .ay-detail-card .table tbody td{
  vertical-align:middle;
}
.ay-module-shell .ay-detail-card .ay-empty-state-card{
  margin:0;
}
.ay-module-shell .ay-detail-card .ay-empty-state-card--compact{
  padding:.95rem 1rem;
  border-radius:.85rem;
}
.ay-module-shell .ay-detail-card .ay-empty-state-title{
  font-size:.95rem;
}
.ay-module-shell .ay-detail-card .ay-empty-state-text{
  font-size:.86rem;
}


/* Dashboard refinement + shared empty states */
.ay-module-shell--dashboard{
  --ay-module-rgb:14,116,144;
  --ay-module:#0e7490;
  --ay-module-text:#155e75;
}
.ay-module-shell--dashboard .ay-page-header{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .18) 55%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .08) 70%, white), white);
}
.ay-module-shell--dashboard .ay-chip{
  border-color:rgba(var(--ay-module-rgb), .12);
  background:rgba(var(--ay-module-rgb), .05);
}
.ay-module-shell--dashboard .dashboard-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .14) 48%, var(--bs-border-color));
}
.ay-module-shell--dashboard .dashboard-kpi-label{
  color:var(--ay-module);
  font-weight:700;
}
.ay-empty-state,
.ay-empty-state-inline{
  display:block;
  padding:.9rem 1rem;
  border:1px dashed color-mix(in srgb, var(--bs-border-color) 82%, transparent);
  border-radius:.95rem;
  background:color-mix(in srgb, var(--bs-body-bg) 94%, var(--bs-tertiary-bg));
  color:var(--bs-secondary-color);
}
.table .ay-empty-state,
.table-responsive .ay-empty-state{
  margin:.25rem 0;
}


/* Management + navigation refinement */
.ay-module-shell--admin{
  --ay-module-rgb:71,85,105;
  --ay-module:#475569;
  --ay-module-text:#334155;
}
.ay-module-shell--utility{
  --ay-module-rgb:8,145,178;
  --ay-module:#0891b2;
  --ay-module-text:#0f766e;
}
.ay-module-shell--operations{
  --ay-module-rgb:234,88,12;
  --ay-module:#ea580c;
  --ay-module-text:#c2410c;
}
.ay-module-shell--admin .ay-page-header,
.ay-module-shell--utility .ay-page-header,
.ay-module-shell--operations .ay-page-header{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .18) 55%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .08) 70%, white), white);
  box-shadow:0 .4rem 1.1rem rgba(15,23,42,.05);
}
.ay-module-shell--admin .ay-summary-card,
.ay-module-shell--utility .ay-summary-card,
.ay-module-shell--operations .ay-summary-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .16) 55%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 55%, white), white);
}
.ay-module-shell--admin .ay-summary-card .text-muted.small,
.ay-module-shell--utility .ay-summary-card .text-muted.small,
.ay-module-shell--operations .ay-summary-card .text-muted.small{
  color:var(--ay-module-text) !important;
}
.ay-module-shell--admin .ay-summary-card .display-6,
.ay-module-shell--utility .ay-summary-card .display-6,
.ay-module-shell--operations .ay-summary-card .display-6{
  font-size:1.85rem;
}
.ay-module-shell--admin .ay-surface-card,
.ay-module-shell--utility .ay-surface-card,
.ay-module-shell--operations .ay-surface-card,
.ay-module-shell--admin .ay-utility-card,
.ay-module-shell--utility .ay-utility-card,
.ay-module-shell--operations .ay-utility-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .14) 50%, var(--bs-border-color));
}
.ay-module-shell--admin .ay-chip,
.ay-module-shell--utility .ay-chip,
.ay-module-shell--operations .ay-chip{
  border-color:rgba(var(--ay-module-rgb), .12);
  background:rgba(var(--ay-module-rgb), .05);
}
.ay-module-shell--admin .ay-workspace,
.ay-module-shell--utility .ay-workspace,
.ay-module-shell--operations .ay-workspace{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .2) 55%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .07) 55%, white), var(--bs-body-bg));
}
.ay-module-shell--admin .ay-workspace-trigger:hover,
.ay-module-shell--utility .ay-workspace-trigger:hover,
.ay-module-shell--operations .ay-workspace-trigger:hover{
  border-color:rgba(var(--ay-module-rgb), .32);
  background:rgba(var(--ay-module-rgb), .07);
  color:var(--ay-module-text);
}
.ay-module-shell--admin .ay-workspace-trigger.is-active,
.ay-module-shell--utility .ay-workspace-trigger.is-active,
.ay-module-shell--operations .ay-workspace-trigger.is-active{
  background:linear-gradient(180deg, color-mix(in srgb, var(--ay-module) 88%, white 12%), var(--ay-module));
  border-color:var(--ay-module);
  box-shadow:0 .45rem 1.15rem rgba(var(--ay-module-rgb), .22);
}
.ay-module-shell--admin .ay-workspace-trigger-icon,
.ay-module-shell--utility .ay-workspace-trigger-icon,
.ay-module-shell--operations .ay-workspace-trigger-icon{
  background:rgba(var(--ay-module-rgb), .11);
  color:var(--ay-module-text);
}
.ay-module-shell--admin .list-toolbar,
.ay-module-shell--utility .list-toolbar,
.ay-module-shell--operations .list-toolbar{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .14) 45%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 52%, var(--bs-tertiary-bg)), var(--bs-tertiary-bg));
}
.ay-module-shell--admin .table thead th,
.ay-module-shell--utility .table thead th,
.ay-module-shell--operations .table thead th{
  background:color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 60%, var(--bs-tertiary-bg));
  border-bottom-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .16) 45%, var(--bs-border-color));
}
.ay-module-shell--admin .ay-filter-chip,
.ay-module-shell--utility .ay-filter-chip,
.ay-module-shell--operations .ay-filter-chip{
  background:rgba(var(--ay-module-rgb), .06);
  border-color:rgba(var(--ay-module-rgb), .12);
}
.ay-module-shell--admin .ay-focus-card-link,
.ay-module-shell--utility .ay-focus-card-link,
.ay-module-shell--operations .ay-focus-card-link,
.ay-module-shell--admin .ay-focus-card.is-accent .ay-focus-card-value,
.ay-module-shell--utility .ay-focus-card.is-accent .ay-focus-card-value,
.ay-module-shell--operations .ay-focus-card.is-accent .ay-focus-card-value{
  color:var(--ay-module);
}
.ay-module-shell--admin .ay-focus-card.is-accent,
.ay-module-shell--utility .ay-focus-card.is-accent,
.ay-module-shell--operations .ay-focus-card.is-accent{
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .08) 70%, white), white);
}
.ay-module-shell--admin .ay-page-module-badge,
.ay-module-shell--utility .ay-page-module-badge,
.ay-module-shell--operations .ay-page-module-badge{
  background:rgba(var(--ay-module-rgb), .1);
  border-color:rgba(var(--ay-module-rgb), .14);
  color:var(--ay-module-text);
}

.ay-sidebar-wrapper .nav-header{
  margin:1rem .9rem .45rem;
  padding:0;
  font-size:.72rem;
  letter-spacing:.08em;
  color:rgba(226,232,240,.72) !important;
}
.ay-sidebar-wrapper .nav-header:first-of-type{
  margin-top:.6rem;
}
.ay-side-link{
  margin:.12rem .75rem;
  border-radius:.9rem;
  transition:all .15s ease;
}
.ay-side-link p{
  font-weight:600;
}
.ay-side-link .nav-icon{
  width:1.9rem;
  text-align:center;
  margin-right:.15rem;
  border-radius:.7rem;
}
.ay-side-link:hover{
  background:rgba(255,255,255,.06);
}
.ay-side-link.active{
  box-shadow:0 .45rem 1.1rem rgba(2,6,23,.25);
}
.ay-side-link.active p,
.ay-side-link.active .nav-icon{
  color:#fff;
}
.ay-side-link--system.active{
  background:linear-gradient(180deg, rgba(71,85,105,.95), rgba(51,65,85,.95));
}
.ay-side-link--dashboard.active{
  background:linear-gradient(180deg, rgba(14,116,144,.95), rgba(8,145,178,.95));
}
.ay-side-link--people.active{
  background:linear-gradient(180deg, rgba(79,70,229,.95), rgba(99,102,241,.95));
}
.ay-side-link--finance.active{
  background:linear-gradient(180deg, rgba(37,99,235,.95), rgba(29,78,216,.95));
}
.ay-side-link--operations.active{
  background:linear-gradient(180deg, rgba(234,88,12,.96), rgba(194,65,12,.96));
}
.ay-side-link--reports.active{
  background:linear-gradient(180deg, rgba(99,102,241,.95), rgba(79,70,229,.95));
}
.ay-side-chip{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  margin:.25rem .95rem .55rem;
  padding:.3rem .7rem;
  border-radius:999px;
  font-size:.74rem;
  color:#cbd5e1;
  background:rgba(148,163,184,.12);
  border:1px solid rgba(148,163,184,.18);
}


/* Management detail shell + topbar context */
.ay-topbar-context{
  display:flex;
  align-items:center;
  gap:.5rem;
  min-width:0;
  flex:1 1 auto;
}
.ay-topbar-chip{
  display:inline-flex;
  align-items:center;
  min-height:1.9rem;
  padding:.3rem .72rem;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.03em;
  border:1px solid transparent;
  white-space:nowrap;
}
.ay-topbar-chip--system{ background:rgba(71,85,105,.1); color:#334155; border-color:rgba(71,85,105,.16); }
.ay-topbar-chip--dashboard{ background:rgba(14,116,144,.1); color:#155e75; border-color:rgba(14,116,144,.16); }
.ay-topbar-chip--people{ background:rgba(99,102,241,.1); color:#4338ca; border-color:rgba(99,102,241,.16); }
.ay-topbar-chip--finance{ background:rgba(37,99,235,.1); color:#1d4ed8; border-color:rgba(37,99,235,.16); }
.ay-topbar-chip--operations{ background:rgba(234,88,12,.12); color:#c2410c; border-color:rgba(234,88,12,.18); }
.ay-topbar-chip--reports{ background:rgba(79,70,229,.1); color:#4338ca; border-color:rgba(79,70,229,.16); }
.ay-topbar-mode{
  font-weight:700;
  color:var(--bs-body-color);
  white-space:nowrap;
}
.ay-topbar-note{
  color:var(--bs-secondary-color);
  font-size:.88rem;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ay-topbar-apartman{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-height:1.9rem;
  padding:.28rem .7rem;
  border-radius:999px;
  background:var(--bs-tertiary-bg);
  border:1px solid var(--bs-border-color);
  color:var(--bs-secondary-color);
  font-size:.78rem;
  font-weight:600;
  white-space:nowrap;
}
.ay-side-context{
  margin:.35rem .9rem .75rem;
  padding:.75rem .8rem;
  border-radius:1rem;
  background:rgba(15,23,42,.28);
  border:1px solid rgba(148,163,184,.16);
}
.ay-side-context-label{
  color:#94a3b8;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:.22rem;
}
.ay-side-context-name{
  color:#fff;
  font-weight:700;
  line-height:1.35;
}
.ay-side-context-meta{
  color:#cbd5e1;
  font-size:.78rem;
  margin-top:.25rem;
}
.ay-side-context-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
  margin-top:.55rem;
}
.ay-side-context-tag{
  display:inline-flex;
  align-items:center;
  min-height:1.55rem;
  padding:.2rem .58rem;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(255,255,255,.06);
  color:#e2e8f0;
  font-size:.72rem;
  font-weight:700;
}
.ay-side-context-tag--dashboard{ border-color:rgba(34,211,238,.24); background:rgba(14,116,144,.26); }
.ay-side-context-tag--people{ border-color:rgba(129,140,248,.24); background:rgba(99,102,241,.22); }
.ay-side-context-tag--finance{ border-color:rgba(96,165,250,.24); background:rgba(37,99,235,.24); }
.ay-side-context-tag--operations{ border-color:rgba(251,146,60,.24); background:rgba(234,88,12,.24); }
.ay-side-context-tag--reports{ border-color:rgba(165,180,252,.24); background:rgba(79,70,229,.24); }
.ay-side-context-tag--system{ border-color:rgba(148,163,184,.2); background:rgba(71,85,105,.24); }
.ay-side-context--finance{ border-color:rgba(59,130,246,.28); background:linear-gradient(180deg, rgba(37,99,235,.18), rgba(15,23,42,.28)); }
.ay-side-context--operations{ border-color:rgba(251,146,60,.28); background:linear-gradient(180deg, rgba(234,88,12,.18), rgba(15,23,42,.28)); }
.ay-side-context--reports{ border-color:rgba(129,140,248,.28); background:linear-gradient(180deg, rgba(79,70,229,.18), rgba(15,23,42,.28)); }
.ay-side-context--dashboard{ border-color:rgba(34,211,238,.24); background:linear-gradient(180deg, rgba(14,116,144,.18), rgba(15,23,42,.28)); }
.ay-side-context--people{ border-color:rgba(129,140,248,.28); background:linear-gradient(180deg, rgba(99,102,241,.18), rgba(15,23,42,.28)); }
.ay-side-context--system{ border-color:rgba(148,163,184,.22); background:linear-gradient(180deg, rgba(71,85,105,.18), rgba(15,23,42,.28)); }
.ay-module-shell--admin .ay-detail-page-header,
.ay-module-shell--utility .ay-detail-page-header,
.ay-module-shell--operations .ay-detail-page-header{
  border-width:1px;
  border-style:solid;
}
.ay-module-shell--admin .ay-detail-page-header{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .2) 55%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .08) 68%, white), white);
}
.ay-module-shell--utility .ay-detail-page-header{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .2) 55%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .08) 68%, white), white);
}
.ay-module-shell--operations .ay-detail-page-header{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .2) 55%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .08) 68%, white), white);
}
.ay-module-shell--admin .ay-kpi-card,
.ay-module-shell--utility .ay-kpi-card,
.ay-module-shell--operations .ay-kpi-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .14) 50%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 60%, white), white);
}
.ay-module-shell--admin .ay-detail-card,
.ay-module-shell--utility .ay-detail-card,
.ay-module-shell--operations .ay-detail-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .14) 50%, var(--bs-border-color));
}
.ay-module-shell--admin .ay-detail-card .card-header,
.ay-module-shell--utility .ay-detail-card .card-header,
.ay-module-shell--operations .ay-detail-card .card-header{
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .05) 55%, white), white);
  border-bottom-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .14) 50%, var(--bs-border-color));
}
.ay-module-shell--admin .ay-detail-card-title,
.ay-module-shell--utility .ay-detail-card-title,
.ay-module-shell--operations .ay-detail-card-title,
.ay-module-shell--admin .ay-page-eyebrow,
.ay-module-shell--utility .ay-page-eyebrow,
.ay-module-shell--operations .ay-page-eyebrow{
  color:var(--ay-module);
}
.ay-module-shell--admin .ay-form-note,
.ay-module-shell--utility .ay-form-note,
.ay-module-shell--operations .ay-form-note{
  border-left:3px solid rgba(var(--ay-module-rgb), .26);
  padding-left:.8rem;
}
@media (max-width: 991.98px){
  .ay-topbar-context{ display:none !important; }
}

.app-header .container-fluid{
  gap:.75rem;
}
.app-header .navbar-nav{
  align-items:center;
}
.ay-topnav-shortcuts > .nav-link{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.5rem .8rem;
  border-radius:.85rem;
  border:1px solid rgba(148,163,184,.18);
  background:rgba(255,255,255,.72);
  font-weight:600;
}
.ay-topnav-shortcuts .dropdown-menu{
  min-width:17rem;
  padding:.5rem;
  border-radius:1rem;
}
.ay-topnav-shortcuts .dropdown-item{
  border-radius:.75rem;
  padding:.55rem .7rem;
}
.ay-topnav-shortcuts .dropdown-header{
  padding:.35rem .45rem .45rem;
  font-size:.72rem;
  letter-spacing:.06em;
}
.ay-topnav-inline-link .nav-link{
  padding:.45rem .7rem;
  white-space:nowrap;
}
.ay-topnav-inline-link-item{
  border-radius:.8rem;
  font-weight:600;
  color:#475569;
}
.ay-topnav-inline-link-item:hover{
  background:rgba(15,23,42,.04);
  color:#0f172a;
}
.ay-topnav-inline-link-item.active{
  background:rgba(37,99,235,.1);
  color:#1d4ed8;
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.12);
}
@media (max-width: 1399.98px){
  .ay-topbar-note{ display:none; }
  .ay-topbar-actions{ display:none !important; }
}


.ay-topbar-actions{
  display:flex;
  align-items:center;
  gap:.45rem;
  margin-left:.25rem;
  padding-left:.25rem;
  border-left:1px solid rgba(148,163,184,.18);
}
.ay-topbar-action{
  display:inline-flex;
  align-items:center;
  min-height:1.8rem;
  padding:.22rem .62rem;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(148,163,184,.18);
  color:var(--bs-body-color);
  font-size:.76rem;
  font-weight:600;
  text-decoration:none;
  transition:all .18s ease;
}
.ay-topbar-action:hover{
  color:var(--bs-primary);
  border-color:rgba(59,130,246,.24);
  background:#fff;
}
.ay-module-shell--finance{
  --ay-module-accent:#2563eb;
  --ay-module-soft:rgba(37,99,235,.08);
}
.ay-module-shell--people{
  --ay-module-accent:#4f46e5;
  --ay-module-soft:rgba(99,102,241,.08);
}
.ay-module-shell--finance .ay-page-header,
.ay-module-shell--people .ay-page-header{
  border:1px solid color-mix(in srgb, var(--ay-module-accent) 10%, transparent);
  background:linear-gradient(180deg, color-mix(in srgb, var(--ay-module-accent) 9%, white 91%), #fff 72%);
}
.ay-module-shell--finance .ay-summary-card,
.ay-module-shell--people .ay-summary-card{
  border-color:color-mix(in srgb, var(--ay-module-accent) 10%, var(--bs-border-color));
}
.ay-module-shell--finance .ay-workspace,
.ay-module-shell--people .ay-workspace,
.ay-module-shell--finance .ay-surface-card,
.ay-module-shell--people .ay-surface-card,
.ay-module-shell--finance .ay-utility-card,
.ay-module-shell--people .ay-utility-card{
  border-color:color-mix(in srgb, var(--ay-module-accent) 10%, var(--bs-border-color));
}
.ay-module-shell--finance .ay-page-module-badge,
.ay-module-shell--people .ay-page-module-badge{
  color:color-mix(in srgb, var(--ay-module-accent) 78%, black 22%);
  background:color-mix(in srgb, var(--ay-module-accent) 9%, white 91%);
  border-color:color-mix(in srgb, var(--ay-module-accent) 14%, transparent);
}


.ay-nav-section-heading{
  display:flex;
  align-items:center;
  gap:.45rem;
}
.ay-nav-section-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.3rem;
  height:1.3rem;
  border-radius:.45rem;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:0;
  border:1px solid rgba(148,163,184,.16);
  background:rgba(148,163,184,.14);
  color:#e2e8f0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.ay-nav-section-badge--system{ background:rgba(71,85,105,.22); border-color:rgba(148,163,184,.22); }
.ay-nav-section-badge--dashboard{ background:rgba(14,116,144,.28); border-color:rgba(34,211,238,.24); }
.ay-nav-section-badge--finance{ background:rgba(37,99,235,.28); border-color:rgba(96,165,250,.22); }
.ay-nav-section-badge--operations{ background:rgba(234,88,12,.3); border-color:rgba(251,146,60,.24); }
.ay-nav-section-badge--reports{ background:rgba(79,70,229,.3); border-color:rgba(165,180,252,.24); }

.ay-topbar-action{
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  min-height:2rem;
  padding:.34rem .8rem;
  border-radius:999px;
  border:1px solid var(--bs-border-color);
  background:rgba(255,255,255,.75);
  color:var(--bs-body-color);
  font-size:.8rem;
  font-weight:600;
  text-decoration:none;
  box-shadow:0 .15rem .4rem rgba(15,23,42,.04);
}
.ay-topbar-action:hover{
  text-decoration:none;
  transform:translateY(-1px);
  box-shadow:0 .35rem .8rem rgba(15,23,42,.08);
}
.ay-topbar-action.is-active{
  border-color:rgba(59,130,246,.28);
  background:linear-gradient(180deg, rgba(59,130,246,.12), rgba(255,255,255,.96));
  color:#1d4ed8;
  box-shadow:0 .35rem .9rem rgba(37,99,235,.12);
}
.ay-topbar-action.is-active .ay-topbar-action-icon{
  background:rgba(37,99,235,.14);
  color:#1d4ed8;
}
.ay-topbar-action-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.35rem;
  height:1.35rem;
  border-radius:999px;
  font-size:.74rem;
  background:var(--bs-tertiary-bg);
}
.ay-topbar-action--system .ay-topbar-action-icon{ background:rgba(71,85,105,.12); color:#334155; }
.ay-topbar-action--dashboard .ay-topbar-action-icon{ background:rgba(14,116,144,.12); color:#155e75; }
.ay-topbar-action--people .ay-topbar-action-icon{ background:rgba(99,102,241,.12); color:#4338ca; }
.ay-topbar-action--finance .ay-topbar-action-icon{ background:rgba(37,99,235,.12); color:#1d4ed8; }
.ay-topbar-action--operations .ay-topbar-action-icon{ background:rgba(234,88,12,.12); color:#c2410c; }
.ay-topbar-action--reports .ay-topbar-action-icon{ background:rgba(79,70,229,.12); color:#4338ca; }

.ay-module-shell--people{
  --ay-module:#4f46e5;
  --ay-module-rgb:79,70,229;
  --ay-module-text:#3730a3;
}
.ay-module-shell--finance{
  --ay-module:#2563eb;
  --ay-module-rgb:37,99,235;
  --ay-module-text:#1d4ed8;
}
.ay-module-shell--people .ay-detail-page-header,
.ay-module-shell--finance .ay-detail-page-header{
  border-width:1px;
  border-style:solid;
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .2) 55%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb), .08) 68%, white), white);
}
.ay-module-shell--people .ay-kpi-card,
.ay-module-shell--finance .ay-kpi-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .14) 50%, var(--bs-border-color));
}
.ay-module-shell--people .ay-page-module-badge,
.ay-module-shell--finance .ay-page-module-badge{
  background:rgba(var(--ay-module-rgb), .1);
  border-color:rgba(var(--ay-module-rgb), .14);
  color:var(--ay-module-text);
}
.ay-module-shell--people .ay-surface-card,
.ay-module-shell--finance .ay-surface-card{
  border-color:color-mix(in srgb, rgba(var(--ay-module-rgb), .12) 48%, var(--bs-border-color));
}


/* Landing / auth / helper screens */
.ay-guide-callout{
  border:1px solid var(--bs-border-color);
  border-radius:1rem;
  padding:1rem 1.05rem;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.92));
  box-shadow:0 .25rem .75rem rgba(15,23,42,.04);
}
.ay-guide-callout--compact{ padding:.85rem .95rem; }
.ay-guide-callout-eyebrow{
  font-size:.74rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-weight:700;
  color:#64748b;
  margin-bottom:.3rem;
}
.ay-guide-callout-title{
  font-size:1rem;
  font-weight:700;
  line-height:1.25;
  margin-bottom:.3rem;
}
.ay-guide-callout-text{
  color:var(--bs-secondary-color);
  font-size:.9rem;
  line-height:1.55;
}
.ay-guide-callout-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:.85rem;
}
.ay-guide-callout--finance{ border-color:rgba(37,99,235,.16); background:linear-gradient(180deg, rgba(37,99,235,.06), rgba(255,255,255,.98)); }
.ay-guide-callout--people{ border-color:rgba(99,102,241,.16); background:linear-gradient(180deg, rgba(99,102,241,.06), rgba(255,255,255,.98)); }
.ay-guide-callout--system{ border-color:rgba(71,85,105,.16); background:linear-gradient(180deg, rgba(71,85,105,.05), rgba(255,255,255,.98)); }
.ay-guide-callout--reports{ border-color:rgba(79,70,229,.16); background:linear-gradient(180deg, rgba(79,70,229,.06), rgba(255,255,255,.98)); }
.ay-guide-callout--warning{ border-color:rgba(245,158,11,.2); background:linear-gradient(180deg, rgba(245,158,11,.07), rgba(255,255,255,.98)); }
.ay-guide-callout--info{ border-color:rgba(14,116,144,.16); background:linear-gradient(180deg, rgba(14,116,144,.06), rgba(255,255,255,.98)); }
.ay-guide-callout--success{ border-color:rgba(34,197,94,.18); background:linear-gradient(180deg, rgba(34,197,94,.06), rgba(255,255,255,.98)); }
.ay-guide-callout--neutral{ border-color:rgba(148,163,184,.18); background:linear-gradient(180deg, rgba(148,163,184,.07), rgba(255,255,255,.98)); }

.ay-landing-shell{
  display:grid;
  gap:1rem;
}
.ay-landing-grid,
.ay-guide-grid,
.ay-helper-grid{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.ay-mini-stat{
  border:1px solid var(--bs-border-color);
  border-radius:1rem;
  padding:1rem 1.05rem;
  background:#fff;
  box-shadow:0 .2rem .7rem rgba(15,23,42,.04);
}
.ay-mini-stat-label{
  color:var(--bs-secondary-color);
  font-size:.82rem;
  margin-bottom:.35rem;
}
.ay-mini-stat-value{
  font-size:1.35rem;
  font-weight:700;
  line-height:1.1;
}
.ay-mini-stat-note{
  color:var(--bs-secondary-color);
  font-size:.86rem;
  margin-top:.3rem;
}
.ay-auth-shell{
  min-height:calc(100vh - 10rem);
  display:grid;
  align-items:start;
  padding-block:1.25rem 2rem;
}
.ay-auth-grid{
  display:grid;
  gap:1.25rem;
  align-items:start;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,430px);
}
.ay-auth-hero{
  border:1px solid rgba(37,99,235,.12);
  border-radius:1.25rem;
  padding:1.35rem 1.4rem;
  background:linear-gradient(180deg, rgba(37,99,235,.06), rgba(255,255,255,.98));
  box-shadow:0 .5rem 1.2rem rgba(15,23,42,.05);
}
.ay-auth-hero-title{
  font-size:clamp(1.4rem, 1.1rem + .8vw, 2rem);
  font-weight:800;
  line-height:1.1;
  margin-bottom:.5rem;
}
.ay-auth-hero-text{
  color:var(--bs-secondary-color);
  max-width:46rem;
  line-height:1.7;
}
.ay-auth-card{
  border-radius:1.25rem;
  overflow:hidden;
  box-shadow:0 .65rem 1.6rem rgba(15,23,42,.08);
}
.ay-auth-card .card-header,
.ay-auth-card .card-body{ padding:1.15rem 1.2rem; }
.ay-form-stack{ display:grid; gap:1rem; }
.ay-form-section{
  border:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb, 59,130,246), .12) 50%, var(--bs-border-color));
  border-radius:1rem;
  padding:1rem 1.05rem;
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb, 59,130,246), .03) 40%, white), rgba(255,255,255,.98));
}
.ay-form-section + .ay-form-section{ margin-top:.9rem; }
.ay-form-section-head{ margin-bottom:.85rem; }
.ay-form-section-eyebrow{
  color:var(--ay-module-text, var(--bs-primary));
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:.18rem;
}
.ay-form-section-title{
  font-size:.96rem;
  font-weight:700;
  margin-bottom:.2rem;
}
.ay-form-section-text,
.ay-form-section-note{
  color:var(--bs-secondary-color);
  font-size:.85rem;
}
.ay-form-section-note{ margin-bottom:.85rem; }
.ay-form-section--warning{
  border-color:rgba(245,158,11,.2);
  background:linear-gradient(180deg, rgba(245,158,11,.06), rgba(255,255,255,.98));
}
.ay-form-section--people{
  border-color:rgba(99,102,241,.16);
  background:linear-gradient(180deg, rgba(99,102,241,.05), rgba(255,255,255,.98));
}
.ay-form-section--finance{
  border-color:rgba(37,99,235,.16);
  background:linear-gradient(180deg, rgba(37,99,235,.05), rgba(255,255,255,.98));
}
.ay-form-section--admin{
  border-color:rgba(71,85,105,.16);
  background:linear-gradient(180deg, rgba(71,85,105,.04), rgba(255,255,255,.98));
}
.ay-helper-surface{
  border-radius:1rem;
  border:1px solid var(--bs-border-color);
  box-shadow:0 .35rem 1rem rgba(15,23,42,.04);
}
.ay-task-grid{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}
.ay-task-card{
  border:1px solid color-mix(in srgb, rgba(var(--ay-module-rgb, 59,130,246), .12) 50%, var(--bs-border-color));
  border-radius:1rem;
  padding:1rem 1.05rem;
  background:linear-gradient(180deg, color-mix(in srgb, rgba(var(--ay-module-rgb, 59,130,246), .035) 45%, white), rgba(255,255,255,.98));
  min-height:100%;
}
.ay-task-card-title{ font-size:.98rem; font-weight:700; margin-bottom:.2rem; }
.ay-task-card-text{ color:var(--bs-secondary-color); font-size:.86rem; line-height:1.5; }
.ay-task-pill{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.32rem .58rem;
  border-radius:999px;
  background:rgba(15,23,42,.04);
  font-size:.76rem;
  font-weight:700;
  color:#475569;
  margin-bottom:.55rem;
}
@media (max-width: 991.98px){
  .ay-auth-grid{ grid-template-columns:1fr; }
}


.ay-status-message{
  border:1px solid rgba(148,163,184,.18);
  border-radius:1rem;
  padding:1rem 1.05rem;
  background:linear-gradient(180deg, rgba(148,163,184,.07), rgba(255,255,255,.98));
}
.ay-status-message--compact{ padding:.85rem .95rem; }
.ay-status-message-eyebrow{
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:.2rem;
  color:var(--bs-secondary-color);
}
.ay-status-message-title{
  font-size:.96rem;
  font-weight:700;
  color:var(--bs-emphasis-color);
}
.ay-status-message-text{
  color:var(--bs-secondary-color);
  font-size:.9rem;
  margin-top:.25rem;
  line-height:1.6;
}
.ay-status-message-list{
  margin:.65rem 0 0;
  padding-left:1.15rem;
  color:var(--bs-emphasis-color);
}
.ay-status-message-list li + li{ margin-top:.25rem; }
.ay-status-message-actions{
  margin-top:.8rem;
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}
.ay-status-message--warning{ border-color:rgba(245,158,11,.22); background:linear-gradient(180deg, rgba(245,158,11,.08), rgba(255,255,255,.98)); }
.ay-status-message--warning .ay-status-message-eyebrow{ color:rgb(180,83,9); }
.ay-status-message--info{ border-color:rgba(14,116,144,.18); background:linear-gradient(180deg, rgba(14,116,144,.07), rgba(255,255,255,.98)); }
.ay-status-message--info .ay-status-message-eyebrow{ color:rgb(14,116,144); }
.ay-status-message--success{ border-color:rgba(22,163,74,.18); background:linear-gradient(180deg, rgba(34,197,94,.06), rgba(255,255,255,.98)); }
.ay-status-message--success .ay-status-message-eyebrow{ color:rgb(21,128,61); }
.ay-status-message--danger{ border-color:rgba(220,38,38,.18); background:linear-gradient(180deg, rgba(220,38,38,.06), rgba(255,255,255,.98)); }
.ay-status-message--danger .ay-status-message-eyebrow{ color:rgb(185,28,28); }
.ay-status-message--neutral{ border-color:rgba(148,163,184,.18); background:linear-gradient(180deg, rgba(148,163,184,.07), rgba(255,255,255,.98)); }


.ay-inline-status{
  border:1px solid rgba(148,163,184,.18);
  border-radius:1rem;
  padding:.9rem 1rem;
  background:linear-gradient(180deg, rgba(148,163,184,.07), rgba(255,255,255,.98));
}
.ay-inline-status--compact{ padding:.75rem .9rem; border-radius:.9rem; }
.ay-inline-status strong{ font-weight:700; }
.ay-inline-status--neutral{ border-color:rgba(148,163,184,.18); background:linear-gradient(180deg, rgba(148,163,184,.07), rgba(255,255,255,.98)); }
.ay-inline-status--info{ border-color:rgba(14,116,144,.18); background:linear-gradient(180deg, rgba(14,116,144,.07), rgba(255,255,255,.98)); }
.ay-inline-status--success{ border-color:rgba(22,163,74,.18); background:linear-gradient(180deg, rgba(34,197,94,.06), rgba(255,255,255,.98)); }
.ay-inline-status--warning{ border-color:rgba(245,158,11,.22); background:linear-gradient(180deg, rgba(245,158,11,.08), rgba(255,255,255,.98)); }
.ay-inline-status--danger{ border-color:rgba(220,38,38,.18); background:linear-gradient(180deg, rgba(220,38,38,.06), rgba(255,255,255,.98)); }



/* Phase 6 UX standardization */
.ay-flash-stack{
  display:grid;
  gap:.85rem;
  margin-bottom:1rem;
}
.ay-flash{
  position:relative;
  overflow:hidden;
  margin-bottom:0;
  padding-right:3rem;
}
.ay-flash::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:.32rem;
  background:rgba(255,255,255,.45);
}
.ay-flash-success::before{
  background:var(--bs-success);
}
.ay-flash-danger::before{
  background:var(--bs-danger);
}
.ay-flash[data-ay-auto-dismiss]::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:.2rem;
  background:rgba(15,23,42,.08);
}
.ay-flash .btn-close{
  position:absolute;
  top:.8rem;
  right:.8rem;
}

.ay-toast-stack{
  z-index:2000;
  gap:.8rem;
}
.ay-toast{
  position:relative;
  min-width:min(24rem, calc(100vw - 1.5rem));
  border-radius:1.1rem;
  overflow:hidden;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 1.25rem 2.75rem rgba(15,23,42,.18);
  backdrop-filter:blur(12px);
}
.ay-toast::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:.34rem;
  background:var(--ay-toast-accent, #64748b);
}
.ay-toast-header{
  display:flex;
  align-items:center;
  gap:.7rem;
  border-bottom:1px solid rgba(148,163,184,.16);
  background:linear-gradient(180deg, rgba(248,250,252,.98), rgba(255,255,255,.96));
  padding:.9rem 1rem .8rem 1rem;
}
.ay-toast-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.9rem;
  height:1.9rem;
  border-radius:999px;
  background:color-mix(in srgb, var(--ay-toast-accent, #64748b) 14%, white);
  color:var(--ay-toast-accent, #64748b);
  font-weight:800;
  font-size:1rem;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ay-toast-accent, #64748b) 22%, transparent);
}
.ay-toast-title{
  font-size:1rem;
  font-weight:800;
  letter-spacing:.01em;
}
.ay-toast-body{
  font-size:.95rem;
  color:#0f172a;
  background:rgba(255,255,255,.98);
  padding:.95rem 1rem 1rem 1rem;
}
.ay-toast .btn-close{
  opacity:.7;
}
.ay-toast .btn-close:hover{
  opacity:1;
}
.ay-toast--success{
  --ay-toast-accent:#16a34a;
}
.ay-toast--warning{
  --ay-toast-accent:#d97706;
}
.ay-toast--danger{
  --ay-toast-accent:#dc2626;
}
.ay-toast--neutral{
  --ay-toast-accent:#475569;
}
.ay-toast--success .ay-toast-header{
  background:linear-gradient(180deg, rgba(22,163,74,.13), rgba(255,255,255,.97));
}
.ay-toast--warning .ay-toast-header{
  background:linear-gradient(180deg, rgba(217,119,6,.14), rgba(255,255,255,.97));
}
.ay-toast--danger .ay-toast-header{
  background:linear-gradient(180deg, rgba(220,38,38,.16), rgba(255,255,255,.97));
}
.ay-toast--neutral .ay-toast-header{
  background:linear-gradient(180deg, rgba(71,85,105,.14), rgba(255,255,255,.97));
}

.list-toolbar{
  position:relative;
  overflow:hidden;
  box-shadow:0 .18rem .7rem rgba(15,23,42,.04);
}
.list-toolbar::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:.28rem;
  background:color-mix(in srgb, var(--bs-primary) 55%, transparent);
  opacity:.9;
}
.list-toolbar .btn,
.list-toolbar .form-select,
.list-toolbar .form-control{
  min-height:2.35rem;
}
.ay-list-preferences-toolbar,
.ay-bulk-toolbar{
  row-gap:.65rem;
}
.ay-bulk-toolbar{
  padding:.8rem .9rem;
  border:1px dashed color-mix(in srgb, var(--bs-border-color) 82%, transparent);
  border-radius:.95rem;
  background:color-mix(in srgb, var(--bs-body-bg) 92%, var(--bs-tertiary-bg));
}
.table-responsive{
  border-radius:1rem;
}
.table-responsive > .table{
  margin-bottom:0;
}

.ay-form-actions-sticky{
  gap:.65rem;
}
.ay-form-actions-sticky .btn{
  min-height:2.5rem;
}

.ay-validation-summary{
  padding:.95rem 1rem;
}
.ay-validation-summary-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:1.8rem;
  min-height:1.8rem;
  margin-left:.3rem;
  padding:0 .5rem;
  border-radius:999px;
  background:rgba(var(--bs-danger-rgb), .12);
  color:var(--bs-danger-text-emphasis);
  font-size:.8rem;
  font-weight:700;
  vertical-align:middle;
}

@media (max-width: 767.98px){
  .ay-flash-stack{
    gap:.7rem;
    margin-bottom:.85rem;
  }
  .list-toolbar{
    padding:.9rem;
  }
  .list-toolbar .d-flex.flex-wrap.gap-2.align-items-center,
  .list-toolbar .d-flex.flex-wrap.gap-2,
  .list-toolbar .ay-bulk-actions,
  .list-toolbar .ay-list-preferences-main{
    width:100%;
  }
  .list-toolbar .btn,
  .list-toolbar .form-select,
  .ay-bulk-toolbar .btn,
  .ay-bulk-toolbar .form-select{
    width:100%;
  }
  .ay-form-actions-sticky{
    flex-direction:column;
    align-items:stretch !important;
  }
  .ay-form-actions-sticky .btn,
  .ay-form-actions-sticky > *:not(.ay-dirty-indicator){
    width:100%;
  }
}


/* Phase 6 follow-up: topbar stability + stronger validation visuals */
.app-header .container-fluid{
  flex-wrap:nowrap;
  align-items:center;
}
.app-header .navbar-brand{
  flex:0 0 auto;
}
.app-header .navbar-nav.ms-auto{
  flex:0 1 auto;
  min-width:0;
  flex-wrap:nowrap;
  gap:.2rem;
}
.ay-topbar-context{
  min-width:0;
  overflow:hidden;
}
.ay-topbar-mode,
.ay-topbar-apartman,
.ay-topbar-chip,
.ay-topbar-note{
  flex:0 1 auto;
}
.ay-topbar-note,
.ay-topbar-apartman{
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width: 1799.98px){
  .ay-topbar-actions{ display:none !important; }
}
@media (max-width: 1699.98px){
  .ay-topbar-apartman{ display:none; }
}
@media (max-width: 1499.98px){
  .ay-topbar-mode{ display:none; }
}

.ay-global-validation-alert{
  border-width:1px;
  box-shadow:0 .65rem 1.6rem rgba(220,38,38,.12);
}
.ay-validation-summary,
.ay-global-validation-alert{
  display:none;
  border-radius:1rem;
  border:1px solid rgba(var(--bs-danger-rgb), .22);
  background:linear-gradient(180deg, rgba(var(--bs-danger-rgb), .08), rgba(255,255,255,.98));
  box-shadow:0 .45rem 1.4rem rgba(220,38,38,.08);
}
.ay-validation-summary-badge{
  display:inline-flex;
  align-items:center;
  min-height:1.75rem;
  padding:.22rem .65rem;
  border-radius:999px;
  background:rgba(var(--bs-danger-rgb), .12);
  color:var(--bs-danger-text-emphasis);
  font-weight:700;
  font-size:.78rem;
  margin-bottom:.45rem;
}
.ay-validation-summary-title{
  font-size:1rem;
}
.ay-validation-summary-text{
  margin-top:.35rem;
  font-size:.92rem;
}
.ay-validation-summary ul,
.ay-global-validation-alert ul{
  margin:.85rem 0 0 1rem;
}
.field-validation-error,
.text-danger.field-validation-error,
span.field-validation-error{
  display:block;
  margin-top:.4rem;
  padding:.45rem .6rem;
  border-radius:.8rem;
  background:rgba(var(--bs-danger-rgb), .08);
  color:var(--bs-danger-text-emphasis) !important;
  font-size:.85rem;
  font-weight:600;
  box-shadow:inset 0 0 0 1px rgba(var(--bs-danger-rgb), .12);
}
.input-validation-error,
.is-invalid{
  border-color:rgba(var(--bs-danger-rgb), .55) !important;
  box-shadow:0 0 0 .22rem rgba(var(--bs-danger-rgb), .12) !important;
  background-image:none;
}
.ay-module-shell--admin .ay-page-header,
.ay-module-shell--admin .ay-summary-card,
.ay-module-shell--admin .ay-surface-card,
.ay-module-shell--admin .ay-workspace{
  border-color:color-mix(in srgb, #475569 12%, var(--bs-border-color));
}
.ay-module-shell--admin .ay-page-header{
  background:linear-gradient(180deg, rgba(71,85,105,.08), #fff 72%);
}


.form-control.is-invalid,
.form-select.is-invalid,
textarea.is-invalid,
.input-validation-error,
.is-invalid{
  border-color:rgba(var(--bs-danger-rgb), .68) !important;
  box-shadow:0 0 0 .24rem rgba(var(--bs-danger-rgb), .14) !important;
  background-image:none;
}

.field-validation-valid{
  display:none !important;
}


.ay-page-section-stack {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}

.ay-section-preferences-card {
  border: 1px solid rgba(13,110,253,.08);
}

.ay-section-pref-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .9rem 1rem;
  border: 1px dashed rgba(108,117,125,.22);
  border-radius: 1rem;
  background: rgba(248,249,250,.65);
}

[data-ay-page-section][hidden] {
  display: none !important;
}

.ay-page-layout-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
  padding: 0;
  margin-bottom: .25rem;
  background: transparent;
  border: 0;
}

.ay-page-layout-tools__main {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  flex-wrap: wrap;
}

.ay-page-layout-tools__hidden-strip {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  flex-wrap: wrap;
  min-height: 2rem;
}

.ay-page-layout-tools__title {
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #6c757d;
}

.ay-page-layout-tools__status {
  font-size: .875rem;
  color: #6c757d;
}

.ay-page-layout-tools__actions,
.ay-page-layout-tools__hidden-list {
  display: flex;
  align-items: center;
  gap: .35rem;
  flex-wrap: wrap;
}

.ay-page-layout-tools__reset {
  padding: .15rem .25rem;
  color: #6c757d;
  text-decoration: none;
}

.ay-page-layout-tools__reset:hover,
.ay-page-layout-tools__reset:focus {
  color: var(--bs-primary);
  text-decoration: none;
}

.ay-section-hidden-chip {
  border-radius: 999px;
  border-color: rgba(108, 117, 125, 0.15);
  background: rgba(248, 249, 250, 0.84);
  color: #495057;
  padding-inline: .72rem;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}

.ay-section-hidden-chip:hover,
.ay-section-hidden-chip:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(var(--bs-primary-rgb), .18);
  background: rgba(255, 255, 255, .96);
  color: var(--bs-primary);
  box-shadow: 0 .28rem .85rem rgba(13, 110, 253, .12);
}

.ay-page-section-host {
  position: relative;
  padding-top: .1rem;
}

.ay-section-floating-host {
  position: relative;
}

.ay-section-inline-anchor {
  display: flex;
  justify-content: flex-end;
  margin-bottom: .45rem;
}

.ay-section-inline-anchor--floating {
  position: absolute;
  top: .65rem;
  right: .8rem;
  z-index: 4;
  margin-bottom: 0;
}

.ay-section-header-host,
.dashboard-group-header.ay-section-header-host,
.ay-form-section-head.ay-section-header-host,
.card-header.ay-section-header-host {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: flex-start;
  gap: .9rem;
}

.ay-section-header-host > .ay-panel-status,
.ay-section-header-host > .ay-section-meta,
.ay-section-header-host > .ay-section-meta-pill {
  justify-self: end;
}

button.card-header.ay-section-header-button-host {
  padding-right: 9rem;
}

.ay-section-inline-group {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: .16rem;
  flex-wrap: nowrap;
  flex: 0 0 auto;
  align-self: flex-start;
  justify-self: end;
  grid-column: -1;
  padding: .12rem;
  border-radius: .9rem;
  opacity: .62;
  transition: opacity .22s ease, background-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.ay-page-section-host:hover .ay-section-inline-group,
.ay-page-section-host:focus-within .ay-section-inline-group {
  opacity: 1;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 .35rem 1rem rgba(15, 23, 42, .08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.ay-section-inline-btn {
  width: 1.9rem;
  min-width: 1.9rem;
  min-height: 1.9rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: .68rem;
  background: transparent;
  color: rgba(108, 117, 125, .92);
  opacity: .34;
  box-shadow: none;
  transition: opacity .18s ease, color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ay-page-section-host:hover .ay-section-inline-btn,
.ay-page-section-host:focus-within .ay-section-inline-btn,
.ay-page-section-host:hover .ay-section-inline-grip,
.ay-page-section-host:focus-within .ay-section-inline-grip {
  opacity: .88;
}

.ay-section-inline-btn:hover,
.ay-section-inline-btn:focus-visible,
.ay-section-inline-grip:hover,
.ay-section-inline-grip:focus-visible {
  transform: translateY(-1px) scale(1.02);
  background: rgba(var(--bs-primary-rgb), .08);
  box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb), .12), 0 .25rem .8rem rgba(13, 110, 253, .12);
  color: var(--bs-primary);
  opacity: 1;
}

.ay-section-inline-grip {
  width: 1.9rem;
  min-width: 1.9rem;
  min-height: 1.9rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .68rem;
  border: 0;
  background: transparent;
  color: rgba(108, 117, 125, .92);
  cursor: grab;
  user-select: none;
  opacity: .34;
  transition: opacity .18s ease, transform .18s ease, color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.ay-section-inline-grip svg {
  width: .95rem;
  height: .95rem;
  display: block;
}

.ay-section-inline-grip:active {
  cursor: grabbing;
}

.ay-page-section-host.is-dragging {
  opacity: .86;
}

@media (prefers-reduced-motion: reduce) {
  .ay-section-inline-group,
  .ay-section-inline-btn,
  .ay-section-inline-grip,
  .ay-section-hidden-chip,
  .ay-section-inline-icon svg {
    transition: none;
  }
}

.ay-page-section-stack.is-dragging [data-ay-page-section] {
  transition: transform .12s ease, box-shadow .12s ease;
}

.ay-page-section-stack.is-dragging .ay-drop-target {
  box-shadow: inset 0 .18rem 0 rgba(var(--bs-primary-rgb), .35);
}

@media (max-width: 991.98px) {
  button.card-header.ay-section-header-button-host {
    padding-right: 7.6rem;
  }

  .ay-section-inline-anchor--floating {
    top: .45rem;
    right: .55rem;
  }
}

@media (max-width: 767.98px) {
  .ay-page-layout-tools__main {
    justify-content: flex-end;
  }

  .ay-page-layout-tools__hidden-strip {
    width: 100%;
  }

  .ay-section-inline-anchor--floating {
    top: .5rem;
    right: .55rem;
  }

  button.card-header.ay-section-header-button-host {
    padding-right: 6.4rem;
  }
}

.ay-filter-section{
  margin-bottom: 1rem;
}
.ay-filter-section .card-header{
  background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), .055), rgba(255,255,255,.98));
}
.ay-filter-section .card-body{
  background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), .028), rgba(255,255,255,1) 9rem);
}
.ay-list-section .card-body{
  background: #fff;
}
.ay-section-inline-icon{
  width: 1rem;
  height: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.ay-section-inline-icon svg{
  width: 1rem;
  height: 1rem;
  display: block;
  transition: transform .18s ease, opacity .18s ease;
}

.ay-section-inline-btn:hover .ay-section-inline-icon svg,
.ay-section-inline-btn:focus-visible .ay-section-inline-icon svg,
.ay-section-inline-grip:hover svg,
.ay-section-inline-grip:focus-visible svg {
  transform: scale(1.04);
}
.ay-section-hidden-chip{
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  border-radius: 999px;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  .ay-section-inline-group {
    width: auto;
    justify-content: flex-end;
    opacity: .95;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 .2rem .6rem rgba(15, 23, 42, .06);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .ay-page-layout-tools__main {
    align-items: stretch;
  }
}

.ay-page-section-stack.is-dragging {
  gap: .8rem;
  cursor: grabbing;
}

.ay-page-section-stack.is-dragging [data-ay-page-section]:not(.is-dragging) {
  opacity: .72;
  transform: scale(.995);
  filter: saturate(.96);
}

.ay-page-section-host.is-dragging {
  opacity: 1;
  z-index: 8;
  transform: rotate(.3deg) scale(1.01);
  filter: saturate(1.03);
  box-shadow: 0 1rem 2.4rem rgba(13, 110, 253, .16), 0 0 0 1px rgba(var(--bs-primary-rgb), .16);
}

.ay-page-section-host.is-dragging .ay-section-inline-group {
  opacity: 1;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 .55rem 1.5rem rgba(13, 110, 253, .16);
}

.ay-page-section-host.ay-drop-target {
  outline: none;
  border-radius: 1rem;
}

.ay-page-section-host.ay-drop-target::before {
  content: "";
  position: absolute;
  left: .55rem;
  right: .55rem;
  top: -.48rem;
  height: .3rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(var(--bs-primary-rgb), .18), rgba(var(--bs-primary-rgb), .68), rgba(var(--bs-primary-rgb), .18));
  box-shadow: 0 .3rem 1rem rgba(13, 110, 253, .18);
}

.ay-page-section-host.ay-drop-target--end::before {
  top: auto;
  bottom: -.48rem;
}

.ay-page-section-stack.is-dragging.ay-drop-target-empty {
  min-height: 5rem;
  outline: 2px dashed rgba(var(--bs-primary-rgb), .3);
  outline-offset: .4rem;
  border-radius: 1rem;
}

body.ay-section-drag-active,
body.ay-section-drag-active * {
  cursor: grabbing !important;
}

.ay-section-inline-grip {
  background: transparent;
}

.ay-section-inline-grip.is-drag-armed,
.ay-section-inline-grip.is-dragging {
  opacity: 1;
  background: rgba(var(--bs-primary-rgb), .12);
  box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb), .12), 0 .25rem .8rem rgba(13, 110, 253, .14);
  color: var(--bs-primary);
}

.ay-section-inline-grip.is-dragging {
  transform: scale(1.05);
}

.ay-section-inline-grip:active {
  cursor: grabbing;
}

.ay-page-context-strip{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:.85rem;
  padding:1rem 1.1rem;
  border-radius:1.15rem;
  border:1px solid rgba(59,130,246,.14);
  background:linear-gradient(180deg, rgba(59,130,246,.08), rgba(255,255,255,.96));
  box-shadow:0 .45rem 1.35rem rgba(15,23,42,.06);
}
.ay-page-context-strip__content{
  flex:1 1 26rem;
  min-width:16rem;
}
.ay-page-context-strip__eyebrow,
.ay-section-context-strip__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:1.6rem;
  padding:.18rem .6rem;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ay-page-context-strip__eyebrow{
  margin-bottom:.5rem;
  background:rgba(59,130,246,.12);
  color:#1d4ed8;
}
.ay-page-context-strip__title{
  font-size:1rem;
  font-weight:800;
  color:#0f172a;
  margin-bottom:.28rem;
}
.ay-page-context-strip__text{
  color:#475569;
  font-size:.92rem;
  line-height:1.55;
  max-width:72rem;
}
.ay-page-context-strip__steps{
  display:flex;
  align-items:flex-start;
  justify-content:flex-end;
  gap:.45rem;
  flex-wrap:wrap;
  flex:0 1 22rem;
}
.ay-page-context-strip__step{
  display:inline-flex;
  align-items:center;
  min-height:2rem;
  padding:.34rem .72rem;
  border-radius:999px;
  border:1px solid rgba(59,130,246,.14);
  background:rgba(255,255,255,.84);
  color:#1e3a8a;
  font-weight:700;
  font-size:.82rem;
}

.ay-page-section-host{
  --ay-section-rgb:71,85,105;
}
.ay-section-role--summary,
.ay-section-role--finance{
  --ay-section-rgb:59,130,246;
}
.ay-section-role--guide{
  --ay-section-rgb:124,58,237;
}
.ay-section-role--workspace,
.ay-section-role--operation,
.ay-section-role--profileform,
.ay-section-role--emailprefs,
.ay-section-role--followup{
  --ay-section-rgb:245,158,11;
}
.ay-section-role--list,
.ay-section-role--history,
.ay-section-role--flow{
  --ay-section-rgb:71,85,105;
}
.ay-section-role--focus,
.ay-section-role--priority{
  --ay-section-rgb:16,185,129;
}
.ay-section-role--sidebar{
  --ay-section-rgb:100,116,139;
}

.ay-section-context-strip{
  display:flex;
  align-items:flex-start;
  gap:.8rem;
  margin:0 0 .95rem;
  padding:.72rem .9rem;
  border-radius:0 0 1rem 1rem;
  border:1px solid rgba(var(--ay-section-rgb), .14);
  background:linear-gradient(180deg, rgba(var(--ay-section-rgb), .055), rgba(255,255,255,.96));
}
.ay-section-context-strip--attached{
  margin-top:-1px;
}
.ay-section-context-strip__eyebrow{
  flex:0 0 auto;
  background:rgba(var(--ay-section-rgb), .12);
  color:rgba(var(--ay-section-rgb), 1);
}
.ay-section-context-strip__body{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:.18rem;
}
.ay-section-context-strip__hint{
  font-size:.86rem;
  font-weight:800;
  color:#0f172a;
}
.ay-section-context-strip__description{
  color:#475569;
  font-size:.88rem;
  line-height:1.5;
}

.ay-page-section-host[data-ay-section-tone="summary"] .ay-kpi-card,
.ay-page-section-host[data-ay-section-tone="focus"] .ay-kpi-card,
.ay-page-section-host[data-ay-section-tone="priority"] .ay-kpi-card{
  border-color:rgba(var(--ay-section-rgb), .16);
}

.ay-field-validation-host{
  position:relative;
}
form [data-valmsg-for],
form .field-validation-error,
form .field-validation-valid{
  display:none !important;
}
.ay-inline-validation,
span.field-validation-error,
.field-validation-error{
  display:none !important;
  position:relative;
}
.ay-inline-validation::before,
span.field-validation-error::before,
.field-validation-error::before{
  content:'!';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.2rem;
  height:1.2rem;
  margin-right:.45rem;
  border-radius:999px;
  background:rgba(var(--bs-danger-rgb), .14);
  color:var(--bs-danger-text-emphasis);
  font-size:.78rem;
  font-weight:800;
}
.ay-validation-revealed-section{
  animation:ayValidationReveal 1.6s ease;
}
@keyframes ayValidationReveal{
  0%{ box-shadow:0 0 0 0 rgba(220,38,38,.18); }
  40%{ box-shadow:0 0 0 .4rem rgba(220,38,38,.10); }
  100%{ box-shadow:0 0 0 0 rgba(220,38,38,0); }
}

@media (max-width: 991.98px){
  .ay-page-context-strip{
    padding:.9rem .95rem;
  }
  .ay-page-context-strip__steps{
    justify-content:flex-start;
  }
  .ay-section-context-strip{
    flex-direction:column;
    gap:.55rem;
  }
}


.ay-page-context-strip,
.ay-section-context-strip{
  display:none !important;
}

.ay-section-title-host{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
}

.ay-section-role-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.45rem;
  padding:.08rem .5rem;
  border-radius:999px;
  border:1px solid rgba(var(--ay-section-rgb, 100,116,139), .16);
  background:rgba(var(--ay-section-rgb, 100,116,139), .08);
  color:rgba(var(--ay-section-rgb, 100,116,139), 1);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.03em;
  white-space:nowrap;
}

.ay-section-role-badge--floating{
  margin-right:auto;
}

.ay-page-section-host{
  position:relative;
}

.ay-page-section-host > .card,
.ay-page-section-host > .row > [class*='col'] > .card,
.ay-page-section-host > .dashboard-group,
.ay-page-section-host > .dashboard-section,
.ay-page-section-host > .ay-form-section{
  position:relative;
}

.ay-page-section-host > .card:first-child::before,
.ay-page-section-host > .row > [class*='col'] > .card:first-child::before,
.ay-page-section-host > .dashboard-group:first-child::before,
.ay-page-section-host > .dashboard-section:first-child::before,
.ay-page-section-host > .ay-form-section:first-child::before{
  content:'';
  position:absolute;
  left:0;
  top:.9rem;
  bottom:.9rem;
  width:3px;
  border-radius:999px;
  background:rgba(var(--ay-section-rgb, 100,116,139), .22);
  pointer-events:none;
}

.ay-page-section-host[data-ay-section-tone='workspace'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='operation'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='followup'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='workspace'] > .row > [class*='col'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='operation'] > .row > [class*='col'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='followup'] > .row > [class*='col'] > .card:first-child::before{
  background:rgba(var(--ay-section-rgb, 245,158,11), .28);
}

.ay-page-section-host[data-ay-section-tone='summary'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='finance'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='summary'] > .row > [class*='col'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='finance'] > .row > [class*='col'] > .card:first-child::before{
  background:rgba(var(--ay-section-rgb, 59,130,246), .28);
}

.ay-page-section-host[data-ay-section-tone='focus'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='priority'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='focus'] > .row > [class*='col'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='priority'] > .row > [class*='col'] > .card:first-child::before{
  background:rgba(var(--ay-section-rgb, 16,185,129), .3);
}

.ay-page-section-host[data-ay-section-tone='list'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='history'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='flow'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='list'] > .row > [class*='col'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='history'] > .row > [class*='col'] > .card:first-child::before,
.ay-page-section-host[data-ay-section-tone='flow'] > .row > [class*='col'] > .card:first-child::before{
  background:rgba(var(--ay-section-rgb, 71,85,105), .22);
}

.ay-page-section-host[data-ay-section-tone='sidebar'],
.ay-page-section-host[data-ay-section-tone='guide']{
  opacity:.97;
}

.ay-page-section-host[data-ay-section-tone='sidebar'] .card,
.ay-page-section-host[data-ay-section-tone='guide'] .card{
  box-shadow:0 .35rem .95rem rgba(15,23,42,.045);
}

@media (max-width: 767.98px){
  .ay-section-role-badge{
    font-size:.66rem;
    padding:.08rem .45rem;
  }
}

/* Rebuild wave: clearer filter/list/action hierarchy */
.ay-main-action{
  font-weight:700;
  box-shadow:0 .35rem 1rem rgba(13,110,253,.18);
}

.ay-page-actions .dropdown-menu{
  border-radius:1rem;
  padding:.45rem;
  border-color:var(--bs-border-color-translucent);
  box-shadow:0 .75rem 1.8rem rgba(15,23,42,.12);
}

.ay-page-actions .dropdown-item{
  border-radius:.7rem;
  padding:.55rem .8rem;
  font-weight:500;
}

.ay-workspace-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
}

.ay-region-kicker{
  display:inline-flex;
  align-items:center;
  padding:.22rem .58rem;
  border-radius:999px;
  background:var(--bs-tertiary-bg);
  border:1px solid var(--bs-border-color-translucent);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--bs-secondary-color);
}

.ay-workspace-title{
  font-size:.92rem;
  font-weight:700;
  letter-spacing:-.01em;
}

.ay-workspace-bar{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}

.ay-workspace-trigger{
  justify-content:flex-start;
  min-height:3.35rem;
  border-radius:1rem;
  padding:.8rem .95rem;
}

.ay-workspace-trigger-text{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.18rem;
  line-height:1.15;
}

.ay-workspace-trigger-text strong{
  font-size:.92rem;
}

.ay-workspace-trigger-text small{
  font-size:.74rem;
  color:var(--bs-secondary-color);
}

.ay-workspace-trigger.is-active .ay-workspace-trigger-text small{
  color:rgba(255,255,255,.84);
}

.ay-section-identity{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:.75rem;
  flex-wrap:wrap;
}

.ay-section-identity__main{
  display:flex;
  align-items:flex-start;
  gap:.7rem;
  min-width:0;
}

.ay-section-role{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.7rem;
  padding:.2rem .65rem;
  border-radius:999px;
  background:var(--bs-primary-bg-subtle);
  border:1px solid var(--bs-primary-border-subtle);
  color:var(--bs-primary-text-emphasis);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
}

.ay-section-note{
  color:var(--bs-secondary-color);
  font-size:.84rem;
  margin-top:.18rem;
}

.ay-section-meta-pill{
  display:inline-flex;
  align-items:center;
  min-height:1.75rem;
  padding:.2rem .65rem;
  border-radius:999px;
  background:var(--bs-tertiary-bg);
  border:1px solid var(--bs-border-color-translucent);
  font-size:.78rem;
  font-weight:600;
  color:var(--bs-secondary-color);
}

.ay-role-card--filter{
  border:1px solid color-mix(in srgb, var(--bs-warning) 16%, var(--bs-border-color));
  background:linear-gradient(180deg, color-mix(in srgb, var(--bs-warning-bg-subtle) 76%, white), white) !important;
  box-shadow:inset 0 0 0 1px rgba(255,193,7,.05);
}

.ay-role-card--filter .card-header{
  background:transparent;
  border-bottom:1px solid color-mix(in srgb, var(--bs-warning) 12%, var(--bs-border-color));
}

.ay-role-card--filter .ay-panel-kind-filter{
  background:var(--bs-warning-bg-subtle);
  border-color:var(--bs-warning-border-subtle);
  color:var(--bs-warning-text-emphasis);
}

.ay-results-strip{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
  padding:.7rem .85rem;
  border-radius:.9rem;
  background:var(--bs-tertiary-bg);
  border:1px solid var(--bs-border-color-translucent);
}

.ay-results-strip__label{
  display:inline-flex;
  align-items:center;
  min-height:1.7rem;
  padding:.2rem .62rem;
  border-radius:999px;
  background:var(--bs-success-bg-subtle);
  border:1px solid var(--bs-success-border-subtle);
  color:var(--bs-success-text-emphasis);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.ay-results-strip__meta{
  font-size:.84rem;
  color:var(--bs-secondary-color);
}

.ay-index-list-card > .card-header.ay-list-card-header{
  padding:1rem 1.05rem;
}

.ay-panel-subtitle{
  font-size:.82rem;
  max-width:38rem;
}

@media (max-width: 767.98px){
  .ay-workspace-bar{
    grid-template-columns:1fr;
  }

  .ay-section-identity__main{
    flex-direction:column;
    gap:.45rem;
  }

  .ay-results-strip{
    align-items:flex-start;
  }
}

.ay-page-actions .dropdown-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}


/* v0.11.37.63 dashboard + form/detail hierarchy polish */
.ay-guide-callout{
  border-radius:.9rem;
  padding:.82rem .92rem;
  background:var(--bs-body-bg);
  box-shadow:none;
}
.ay-guide-callout--compact{ padding:.72rem .82rem; }
.ay-guide-callout-eyebrow{
  font-size:.68rem;
  margin-bottom:.14rem;
  color:var(--bs-secondary-color);
}
.ay-guide-callout-title{
  font-size:.92rem;
  margin-bottom:.18rem;
}
.ay-guide-callout-text{
  font-size:.84rem;
  line-height:1.45;
  max-width:58rem;
}
.ay-guide-callout-actions{
  margin-top:.65rem;
  gap:.4rem;
}
.ay-guide-callout-actions .btn{
  padding:.34rem .62rem;
  font-size:.78rem;
}
.ay-guide-callout--dashboard,
.ay-guide-callout--utility{
  border-color:rgba(14,116,144,.14);
  background:var(--bs-body-bg);
}
.ay-form-section{
  padding:.9rem 1rem;
  background:var(--bs-body-bg);
  box-shadow:none;
}
.ay-form-section-head{
  display:flex;
  flex-direction:column;
  gap:.16rem;
  margin-bottom:.7rem;
}
.ay-form-section-head-top{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
}
.ay-form-section-eyebrow{
  font-size:.67rem;
  letter-spacing:.06em;
  margin-bottom:0;
}
.ay-form-section-title{
  font-size:.92rem;
  margin-bottom:0;
}
.ay-form-section-text,
.ay-form-section-note{
  font-size:.8rem;
  line-height:1.4;
}
.ay-form-note{
  font-size:.84rem;
  color:var(--bs-secondary-color);
}
.ay-detail-page-header .ay-page-actions{
  align-items:flex-start;
  justify-content:flex-end;
  gap:.45rem;
}
.ay-detail-page-header .ay-page-actions .btn{
  min-height:2.2rem;
  padding:.45rem .8rem;
  font-size:.88rem;
}
.ay-detail-page-meta{
  gap:.4rem .85rem;
  font-size:.82rem;
}
.ay-detail-card .card-header{
  padding:.88rem 1rem 0;
}
.ay-detail-card .card-body{
  padding:.92rem 1rem 1rem;
}
.dashboard-actions .dropdown-menu{
  border-radius:.85rem;
  box-shadow:0 .45rem 1rem rgba(15,23,42,.08);
}
.dashboard-actions .dropdown-item{
  padding:.55rem .8rem;
}
.dashboard-hero-note{
  padding:.8rem .9rem;
}
.dashboard-hero-note-title{
  font-size:.78rem;
}
.dashboard-group-nav{
  overflow:auto;
  white-space:nowrap;
  scrollbar-width:thin;
}
@media (max-width: 991.98px){
  .ay-detail-page-header .ay-page-actions,
  .dashboard-actions{
    width:100%;
  }
  .dashboard-actions .dropdown,
  .dashboard-actions .dropdown .btn{
    width:100%;
  }
}
