/* Royal Touch: subtle 3D interactions only. No print/accounting logic. */
@media screen{
  :root{
    --touch-shadow:0 9px 18px rgba(9,43,36,.16),0 2px 0 rgba(7,45,38,.22);
    --touch-shadow-hover:0 14px 26px rgba(9,43,36,.2),0 3px 0 rgba(7,45,38,.28);
    --touch-shadow-press:0 4px 10px rgba(9,43,36,.18),0 1px 0 rgba(7,45,38,.24);
    --touch-highlight:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.66));
  }

  button,
  .btn,
  .icon-btn,
  .login-submit,
  .lux-select-btn{
    position:relative;
    transform:translateY(0);
    transition:transform .16s ease,box-shadow .16s ease,filter .16s ease,border-color .16s ease,background .16s ease;
    box-shadow:var(--touch-shadow);
    will-change:transform;
  }

  button:hover,
  .btn:hover,
  .icon-btn:hover,
  .login-submit:hover,
  .lux-select-btn:hover{
    transform:translateY(-2px);
    box-shadow:var(--touch-shadow-hover);
    filter:saturate(1.04);
  }

  button:active,
  .btn:active,
  .icon-btn:active,
  .login-submit:active,
  .lux-select-btn:active{
    transform:translateY(2px) scale(.985);
    box-shadow:var(--touch-shadow-press);
    filter:saturate(.98);
  }

  .btn.primary,
  .login-submit,
  #ownerPaymentForm .btn,
  #printSelectedOwners,
  #saveOwnerPdf,
  #waterReviewBtn,
  #approveWaterBill,
  #printWaterBill,
  #createIndependentInvoice,
  #printIndependentInvoice{
    overflow:hidden;
  }

  .btn.primary:before,
  .login-submit:before,
  #ownerPaymentForm .btn:before,
  #printSelectedOwners:before,
  #saveOwnerPdf:before,
  #waterReviewBtn:before,
  #approveWaterBill:before,
  #printWaterBill:before,
  #createIndependentInvoice:before,
  #printIndependentInvoice:before{
    content:"";
    position:absolute;
    inset:1px 2px auto 2px;
    height:48%;
    border-radius:inherit;
    background:var(--touch-highlight);
    opacity:.22;
    pointer-events:none;
  }

  .panel,
  .card,
  .stat-card,
  .association-card,
  .feature-card,
  .metric-card{
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  }

  .panel:hover,
  .card:hover,
  .stat-card:hover,
  .association-card:hover,
  .feature-card:hover,
  .metric-card:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 34px rgba(12,52,45,.12);
  }

  .sidebar,
  aside,
  .side-nav{
    box-shadow:0 22px 46px rgba(3,28,24,.22),inset 1px 0 0 rgba(255,255,255,.06);
  }

  .nav button,
  .sidebar button,
  aside button{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 14px rgba(0,0,0,.13);
  }
}

@media screen and (prefers-reduced-motion:reduce){
  button,
  .btn,
  .icon-btn,
  .login-submit,
  .lux-select-btn,
  .panel,
  .card,
  .stat-card,
  .association-card,
  .feature-card,
  .metric-card{
    transition:none!important;
  }
}
