:root{--ecom-primary:#5a4b86;--ecom-primary-2:#6676df;--ecom-primary-soft:#f1eef8;--ecom-success:#278269;--ecom-warning:#b77b24;--ecom-danger:#bd4a55;--ecom-info:#347e9b;--ecom-ink:#27364d;--ecom-muted:#697586;--ecom-line:#e1e5ec;--ecom-surface:#fff;--ecom-bg:#f4f6f9;--ecom-shadow:0 .55rem 1.6rem rgba(30,41,59,.075)}
.app-shell .page-content{color:var(--ecom-ink);background:var(--ecom-bg)}
.app-shell .page-content>.container,.app-shell .page-content>.container-fluid{max-width:none;padding-inline:0}
.app-shell .page-content h1,.app-shell .page-content h2,.app-shell .page-content h3,.app-shell .page-content h4,.app-shell .page-content h5,.app-shell .page-content h6{color:var(--ecom-ink);font-weight:850;letter-spacing:-.012em}
.app-shell .page-content>h1,.app-shell .page-content>h2,.app-shell .page-content>h3{margin-bottom:1.15rem!important;font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.65}
.app-shell .page-content .card{border:1px solid var(--ecom-line);border-radius:1rem;background:var(--ecom-surface);box-shadow:var(--ecom-shadow);transform:none;transition:border-color .2s ease,box-shadow .2s ease}
.app-shell .page-content .card:hover{transform:none;box-shadow:0 .7rem 1.8rem rgba(30,41,59,.09)}
.app-shell .page-content .card-header{min-height:3.8rem;display:flex;align-items:center;padding:.8rem 1.1rem;border-bottom:1px solid var(--ecom-line);background:#f9fafc;font-weight:800}
.app-shell .page-content .card-header.bg-primary{border:0!important;color:#fff!important;background:linear-gradient(135deg,var(--ecom-primary-2),var(--ecom-primary))!important}
.app-shell .page-content .card-header.bg-success{border:0!important;color:#fff!important;background:linear-gradient(135deg,#369b80,#24715e)!important}
.app-shell .page-content .card-header.bg-info{border:0!important;color:#fff!important;background:linear-gradient(135deg,#4d99b6,#326d86)!important}
.app-shell .page-content .card-body{padding:1.15rem}
.app-shell .page-content .card-footer{padding:.85rem 1.1rem;border-top:1px solid var(--ecom-line);background:#fafbfc}
.app-shell .page-content .card-body.py-2.bg-light{padding:1rem!important;background:#f8f9fc!important}.app-shell .page-content .card-body.py-2.bg-light>.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.7rem;margin:0}.app-shell .page-content .card-body.py-2.bg-light>.row>[class*=col-]{display:flex;width:auto;min-height:4.35rem;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.7rem .85rem;border:1px solid #e5e8ef;border-radius:.7rem;background:#fff;text-align:center}.app-shell .page-content .card-body.py-2.bg-light small{color:var(--ecom-muted)!important;font-size:.72rem}.app-shell .page-content .card-body.py-2.bg-light strong{font-size:.94rem;line-height:1.55}
.app-shell .page-content .form-label{margin-bottom:.42rem;color:#344054;font-size:.78rem;font-weight:800}
.app-shell .page-content .form-control,.app-shell .page-content .form-select,.app-shell .page-content .input-group-text{min-height:2.85rem;border-color:#d8dee8;border-radius:.68rem;background-color:#fbfcfe;font-size:.8rem;box-shadow:none}
.app-shell .page-content .form-control,.app-shell .page-content .form-select{padding:.58rem .9rem}
.app-shell .page-content .form-control::placeholder{color:#98a2b3}
.app-shell .page-content .form-control:focus,.app-shell .page-content .form-select:focus{border-color:#887aad;background-color:#fff;box-shadow:0 0 0 .2rem rgba(90,75,134,.1)}
.app-shell .page-content .form-select{padding-left:2.5rem;background-position:left .85rem center;background-size:.8rem .6rem;cursor:pointer}
.app-shell .page-content textarea.form-control{min-height:6rem}
.app-shell .page-content .form-check-input{width:1.08rem;height:1.08rem;border-color:#cbd3df}.app-shell .page-content .form-check-input:checked{border-color:var(--ecom-primary);background-color:var(--ecom-primary)}
.app-shell .page-content .btn{display:inline-flex;min-height:2.65rem;align-items:center;justify-content:center;gap:.38rem;padding:.48rem .9rem;border-radius:.66rem;font-size:.78rem;font-weight:800;box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.app-shell .page-content .btn:hover{transform:translateY(-1px)}.app-shell .page-content .btn:disabled{transform:none;opacity:.58}
.app-shell .page-content .btn-sm{min-height:2.3rem;padding:.38rem .72rem;font-size:.73rem}.app-shell .page-content .btn-lg{min-height:3.15rem;padding:.65rem 1.15rem;font-size:.9rem}
.app-shell .page-content .btn-primary{color:#fff;border-color:var(--ecom-primary);background:linear-gradient(135deg,#675c9b,var(--ecom-primary))}.app-shell .page-content .btn-primary:hover{border-color:#493c70;background:linear-gradient(135deg,#5e518f,#493c70);box-shadow:0 .55rem 1.1rem rgba(90,75,134,.2)}
.app-shell .page-content .btn-success{color:#fff;border-color:var(--ecom-success);background:var(--ecom-success)}.app-shell .page-content .btn-danger{color:#fff;border-color:var(--ecom-danger);background:var(--ecom-danger)}.app-shell .page-content .btn-warning{color:#5b431b;border-color:#ead7b4;background:#fff8ea}.app-shell .page-content .btn-info{color:#fff;border-color:var(--ecom-info);background:var(--ecom-info)}.app-shell .page-content .btn-secondary{color:#475467;border-color:#d4dae4;background:#eef1f5}
.app-shell .page-content .btn-outline-primary{color:var(--ecom-primary);border-color:#bdb5d2;background:#fff}.app-shell .page-content .btn-outline-secondary{color:#64748b;border-color:#d7dde6;background:#fff}.app-shell .page-content .btn-outline-success{color:var(--ecom-success);border-color:#a7cfc4;background:#f7fcfa}.app-shell .page-content .btn-outline-danger{color:var(--ecom-danger);border-color:#e8bdc1;background:#fff8f8}.app-shell .page-content .btn-outline-warning{color:#8a641f;border-color:#e7d19e;background:#fffaf0}
.app-shell .page-content .btn-group{display:inline-flex;gap:.35rem}.app-shell .page-content .btn-group>.btn{border-radius:.58rem!important}
.app-shell .page-content .table-responsive{overflow:hidden;border:1px solid var(--ecom-line);border-radius:.9rem;background:#fff;box-shadow:0 .35rem 1.1rem rgba(30,41,59,.05)}
.app-shell .page-content .table{margin-bottom:0;vertical-align:middle}.app-shell .page-content .table>:not(caption)>*>*{padding:.78rem .8rem;border-color:#edf0f4}
.app-shell .page-content .table thead th,.app-shell .page-content .table-light th{color:#344054;background:#f7f8fb;font-size:.77rem;font-weight:900;white-space:nowrap}.app-shell .page-content .table tbody td{color:#3f4c61;font-size:.79rem}.app-shell .page-content .table-hover>tbody>tr:hover>*{background:#faf9fd;box-shadow:none}
.app-shell .page-content .table-success>*{--bs-table-bg:#f2faf6}.app-shell .page-content .table-info>*{--bs-table-bg:#f3f8fb}.app-shell .page-content .table-warning>*{--bs-table-bg:#fffaf0}.app-shell .page-content .table-danger>*{--bs-table-bg:#fff5f6}
.app-shell .page-content .badge{padding:.34rem .55rem;border-radius:.48rem;font-size:.68rem;font-weight:850}.app-shell .page-content .bg-success{background-color:#3c8b65!important}.app-shell .page-content .bg-danger{background-color:#c44d58!important}.app-shell .page-content .bg-info{background-color:#57b5d5!important}.app-shell .page-content .bg-warning{background-color:#e7b94f!important}.app-shell .page-content .bg-secondary{background-color:#737d8a!important}
.app-shell .page-content .today-payments-widget .today-payment-summary{color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.app-shell .page-content .today-payments-widget .today-payment-summary h5,.app-shell .page-content .today-payments-widget .today-payment-summary .fs-5{color:#fff!important;text-shadow:0 1px 1px rgba(15,23,42,.16)}
.app-shell .page-content .today-payments-widget .today-payment-summary small{color:rgba(255,255,255,.88)!important;font-weight:700}
.app-shell .page-content .today-payments-widget .today-payment-summary .badge{color:#fff!important;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.14)!important}
.app-shell .page-content nav{padding:0;background:transparent}.app-shell .page-content .pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem;direction:rtl}.app-shell .page-content .page-link{display:grid;min-width:2.3rem;height:2.3rem;place-items:center;padding:.3rem .5rem;border:1px solid #dfe3ea!important;border-radius:.55rem!important;color:var(--ecom-primary);background:#fff;font-size:.75rem;font-weight:800;box-shadow:none}.app-shell .page-content .page-item.active .page-link{color:#fff;border-color:var(--ecom-primary)!important;background:linear-gradient(135deg,var(--ecom-primary-2),var(--ecom-primary))}.app-shell .page-content .page-item.disabled .page-link{color:#a3aab5;background:#f4f5f7}.app-shell .page-content .page-link:hover{border-color:#a99fc3!important;background:var(--ecom-primary-soft)}
.app-shell .page-content .ecom-pagination{padding:.75rem 1rem;border:1px solid var(--ecom-line);border-radius:.8rem;background:#fafbfc}.app-shell .page-content .ecom-pagination .btn{min-width:2.3rem;height:2.3rem;padding:.3rem .5rem}.app-shell .page-content .ecom-pagination .btn svg{width:1rem;height:1rem}.app-shell .page-content .ecom-pagination>.badge{min-height:2rem;display:inline-flex;align-items:center;padding-inline:.7rem;background:#70798a!important}
.app-shell .page-content .modal-content{overflow:hidden;border:1px solid var(--ecom-line);border-radius:1rem;box-shadow:0 1.5rem 4rem rgba(15,23,42,.24)}.app-shell .page-content .modal-header{min-height:3.8rem;padding:.8rem 1.1rem;border-bottom:1px solid var(--ecom-line);background:#f8f9fc}.app-shell .page-content .modal-header.bg-primary{color:#fff;background:linear-gradient(135deg,var(--ecom-primary-2),var(--ecom-primary))!important}.app-shell .page-content .modal-title{font-size:1rem;font-weight:900}.app-shell .page-content .modal-body{padding:1.2rem}.app-shell .page-content .modal-footer{padding:.8rem 1.1rem;border-top:1px solid var(--ecom-line);background:#fafbfc}
.app-shell .page-content .alert{border-width:1px;border-radius:.75rem;font-size:.78rem}.app-shell .page-content .dropdown-menu{padding:.45rem;border:1px solid var(--ecom-line);border-radius:.72rem;box-shadow:0 .8rem 2rem rgba(15,23,42,.14)}.app-shell .page-content .dropdown-item{padding:.55rem .7rem;border-radius:.48rem;font-size:.78rem}.app-shell .page-content .dropdown-item:hover{background:var(--ecom-primary-soft)}
.app-shell .page-content .accordion-item{overflow:hidden;margin-bottom:.65rem;border:1px solid var(--ecom-line);border-radius:.75rem}.app-shell .page-content .accordion-button{padding:.85rem 1rem;color:var(--ecom-ink);background:#fff;font-size:.82rem;font-weight:850;box-shadow:none}.app-shell .page-content .accordion-button:not(.collapsed){color:var(--ecom-primary);background:var(--ecom-primary-soft)}
.app-shell .page-content .nav-tabs{gap:.35rem;padding:.35rem;border:1px solid var(--ecom-line);border-radius:.75rem;background:#f7f8fb}.app-shell .page-content .nav-tabs .nav-link{padding:.55rem .85rem;border:0!important;border-radius:.55rem;color:#667085;font-size:.78rem;font-weight:800}.app-shell .page-content .nav-tabs .nav-link.active{color:var(--ecom-primary);background:#fff;box-shadow:0 .2rem .7rem rgba(30,41,59,.08)}
.app-shell .page-content .spinner-border{color:var(--ecom-primary)!important}.app-shell .page-content .progress{height:.65rem;border-radius:999px;background:#eceff4}.app-shell .page-content .progress-bar{background:linear-gradient(90deg,var(--ecom-primary-2),var(--ecom-primary))}
.app-shell .page-content>h3+.d-flex{flex-wrap:wrap;gap:.65rem;padding:.8rem 1rem;border:1px solid var(--ecom-line);border-radius:.85rem;background:#fff;box-shadow:0 .35rem 1rem rgba(30,41,59,.05)}
@media(max-width:767.98px){.app-shell .page-content .card-body{padding:.9rem}.app-shell .page-content .card-header{align-items:flex-start;flex-wrap:wrap;gap:.65rem}.app-shell .page-content .card-header>div{display:flex;flex-wrap:wrap;gap:.4rem}.app-shell .page-content .table-responsive{overflow-x:auto;border-radius:.75rem}.app-shell .page-content .table{min-width:48rem}.app-shell .page-content .card-footer>.d-flex{align-items:stretch!important;flex-direction:column;gap:.75rem}.app-shell .page-content .btn{white-space:normal}.app-shell .page-content>h3+.d-flex{align-items:stretch!important;flex-direction:column}.app-shell .page-content>h3+.d-flex>div{display:flex;flex-wrap:wrap;gap:.4rem}}

/* Shared layout rhythm: keeps legacy and new pages visually aligned without changing page logic. */
.app-shell .page-content :where(.container,.container-fluid){min-width:0}
.app-shell .page-content :where(.container,.container-fluid)>.row{--bs-gutter-x:1rem;--bs-gutter-y:1rem}
.app-shell .page-content :where(.container,.container-fluid)>.row+.row{margin-top:.15rem}
.app-shell .page-content .row>[class*="col-"]{min-width:0}
.app-shell .page-content :where(.card,.table-responsive,.list-group,.accordion,.alert){min-width:0}
.app-shell .page-content .card+.card,.app-shell .page-content .table-responsive+.card,.app-shell .page-content .card+.table-responsive{margin-top:1rem}
.app-shell .page-content .card-header{justify-content:space-between;gap:.75rem}
.app-shell .page-content .card-header>:where(h1,h2,h3,h4,h5,h6,.card-title){margin:0;color:inherit;font-size:1rem;line-height:1.65}
.app-shell .page-content .card-header>:where(.d-flex,.btn-group){display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}
.app-shell .page-content .card-title{margin-bottom:.75rem;font-size:1rem;font-weight:900}
.app-shell .page-content .card-subtitle{color:var(--ecom-muted);font-size:.78rem;line-height:1.8}
.app-shell .page-content .card-body>.row{--bs-gutter-x:1rem;--bs-gutter-y:.9rem}
.app-shell .page-content .card-body>form>.row{--bs-gutter-x:1rem;--bs-gutter-y:.9rem}
.app-shell .page-content .card-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem}

/* Forms and filters */
.app-shell .page-content :where(.form-control,.form-select){color:#29374c!important;line-height:1.65}
.app-shell .page-content :where(.form-control,.form-select):disabled,.app-shell .page-content :where(.form-control,.form-select)[readonly]{color:#586579!important;background:#f1f3f7!important}
.app-shell .page-content .input-group{align-items:stretch}
.app-shell .page-content .input-group-text{padding-inline:.8rem;color:#667085;background:#f4f6fa;font-weight:750}
.app-shell .page-content .form-text{margin-top:.35rem;color:#7b8797;font-size:.7rem;line-height:1.7}
.app-shell .page-content .invalid-feedback,.app-shell .page-content .validation-message{margin-top:.32rem;color:var(--ecom-danger);font-size:.72rem;font-weight:650}
.app-shell .page-content fieldset{padding:1rem;border:1px solid var(--ecom-line);border-radius:.85rem;background:#fff}
.app-shell .page-content legend{float:none;width:auto;margin:0 0 .7rem;padding-inline:.45rem;color:var(--ecom-ink);font-size:.82rem;font-weight:900}
.app-shell .page-content hr{margin:1rem 0;border-color:#e8ebf0;opacity:1}

/* Tables, lists and action groups */
.app-shell .page-content .table-responsive{max-width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c8c2d8 transparent}
.app-shell .page-content .table-responsive::-webkit-scrollbar{height:.48rem}.app-shell .page-content .table-responsive::-webkit-scrollbar-thumb{border-radius:999px;background:#c8c2d8}
.app-shell .page-content .table thead{border-bottom:1px solid #dfe4ec}
.app-shell .page-content .table thead th,.app-shell .page-content .table-light th{font-size:.81rem;line-height:1.55}
.app-shell .page-content .table tbody td{font-size:.83rem;line-height:1.65}
.app-shell .page-content .table>:not(caption)>*>*:first-child{padding-inline-start:1rem}.app-shell .page-content .table>:not(caption)>*>*:last-child{padding-inline-end:1rem}
.app-shell .page-content .table .btn-group,.app-shell .page-content td>.d-flex{display:flex;flex-wrap:nowrap;align-items:center;gap:.32rem}
.app-shell .page-content .table .btn-sm{min-width:2.25rem}
.app-shell .page-content .list-group{overflow:hidden;border:1px solid var(--ecom-line);border-radius:.85rem;background:#fff;box-shadow:0 .3rem 1rem rgba(30,41,59,.045)}
.app-shell .page-content .list-group-item{display:flex;min-height:3.2rem;align-items:center;gap:.65rem;padding:.72rem .9rem;border-color:#edf0f4;color:#3f4c61;background:#fff;font-size:.8rem;line-height:1.7}
.app-shell .page-content .list-group-item:hover{background:#faf9fd}
.app-shell .page-content .list-group-item.active{border-color:transparent;color:#fff;background:linear-gradient(135deg,var(--ecom-primary-2),var(--ecom-primary))}
.app-shell .page-content :where(.d-grid,.d-flex)>.btn{flex-shrink:0}
.app-shell .page-content .btn :where(i,svg){flex:0 0 auto}
.app-shell .page-content .btn svg{width:1rem;height:1rem}

/* Common Bootstrap surfaces that were visually inconsistent in older pages. */
.app-shell .page-content .border.rounded,.app-shell .page-content .border.rounded-2,.app-shell .page-content .border.rounded-3{border-color:var(--ecom-line)!important;background:#fff}
.app-shell .page-content .shadow-sm{box-shadow:0 .4rem 1.2rem rgba(30,41,59,.065)!important}
.app-shell .page-content .bg-light{background-color:#f8f9fc!important}
.app-shell .page-content .text-muted{color:var(--ecom-muted)!important}
.app-shell .page-content .offcanvas{border-color:var(--ecom-line);background:#fff}.app-shell .page-content .offcanvas-header{min-height:3.8rem;border-bottom:1px solid var(--ecom-line);background:#f8f9fc}.app-shell .page-content .offcanvas-title{font-size:1rem;font-weight:900}
.app-shell .page-content .breadcrumb{display:flex;flex-wrap:wrap;gap:.2rem;margin-bottom:1rem;padding:.58rem .8rem;border:1px solid var(--ecom-line);border-radius:.7rem;background:#fff;font-size:.75rem}
.app-shell .page-content .empty-state,.app-shell .page-content .text-center.py-5{padding:2.5rem 1rem!important;border:1px dashed #d8dde7;border-radius:.85rem;color:var(--ecom-muted);background:#fafbfc}

@media(max-width:991.98px){.app-shell .page-content .card-header{min-height:3.55rem}.app-shell .page-content .card-body>.row,.app-shell .page-content .card-body>form>.row{--bs-gutter-x:.8rem;--bs-gutter-y:.8rem}}
@media(max-width:575.98px){.app-shell .page-content{padding:.65rem}.app-shell .page-content .card{border-radius:.82rem}.app-shell .page-content .card-header{padding:.72rem .82rem}.app-shell .page-content .card-body{padding:.82rem}.app-shell .page-content .card-footer{align-items:stretch;flex-direction:column}.app-shell .page-content .card-footer>.btn,.app-shell .page-content .card-footer>.btn-group{width:100%}.app-shell .page-content .card-footer>.btn-group>.btn{flex:1}.app-shell .page-content fieldset{padding:.82rem}.app-shell .page-content .list-group-item{padding:.68rem .75rem}.app-shell .page-content .modal-body{padding:1rem}}
