*{box-sizing:border-box}html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{max-width:100%;overflow-x:hidden;letter-spacing:-.01em}img,svg,video{max-width:100%}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}.nav-link{display:flex;align-items:center;gap:.8rem;border-radius:.75rem;padding:.75rem;color:#a1a1aa;transition:.2s}.nav-link svg{width:1.15rem}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.08);color:#fff}.nav-link.active{box-shadow:inset 3px 0 #f97316}.card{border:1px solid #e4e4e7;border-radius:1rem;background:#fff;padding:1.4rem;box-shadow:0 1px 2px rgba(0,0,0,.02)}.icon-box{display:grid;height:3rem;width:3rem;place-items:center;border-radius:.8rem}.icon-box svg{height:1.3rem}.icon-box.purple{background:#f3e8ff;color:#7e22ce}.icon-box.orange{background:#ffedd5;color:#ea580c}.icon-box.green{background:#dcfce7;color:#15803d}.icon-box.blue{background:#dbeafe;color:#1d4ed8}.quick-action{display:flex;align-items:center;gap:.5rem;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;background:rgba(255,255,255,.07);padding:.7rem 1rem;font-size:.85rem;font-weight:700}.quick-action svg{height:1rem}.input-wrap{display:flex;align-items:center;gap:.75rem;border:1px solid #d4d4d8;border-radius:.8rem;background:white;padding:0 1rem;transition:.2s}.input-wrap:focus-within{border-color:#7e22ce;box-shadow:0 0 0 3px #f3e8ff}.input-wrap>svg{height:1.2rem;color:#a1a1aa}.input-wrap input{min-width:0;flex:1;outline:none;padding:.85rem 0}.toast{position:fixed;right:1.5rem;bottom:1.5rem;z-index:80;display:flex;max-width:24rem;align-items:center;gap:.75rem;border-radius:.8rem;padding:1rem 1.2rem;color:white;box-shadow:0 14px 35px rgba(0,0,0,.2);animation:slidein .25s ease}.toast svg{height:1.2rem}.toast.success{background:#18181b}.toast.error{background:#b91c1c}.field-label{display:block;margin-bottom:.4rem;font-size:.85rem;font-weight:700}.field{width:100%;border:1px solid #d4d4d8;border-radius:.7rem;padding:.75rem .85rem;outline:none}.field:focus{border-color:#7e22ce;box-shadow:0 0 0 3px #f3e8ff}.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:rgba(24,24,27,.65);padding:1rem;backdrop-filter:blur(4px)}.modal.hidden{display:none}.modal-panel{max-height:92vh;width:100%;max-width:44rem;overflow-y:auto;border-radius:1.1rem;background:white;padding:1.5rem;box-shadow:0 25px 60px rgba(0,0,0,.25)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;text-align:center;color:#a1a1aa}.empty-state svg{height:2rem;width:2rem}.status{width:max-content;border-radius:999px;padding:.3rem .65rem;font-size:.7rem;font-weight:800;text-transform:uppercase}.status.paid{background:#dcfce7;color:#15803d}.status.pending{background:#ffedd5;color:#c2410c}.status.failed,.status.rejected{background:#fee2e2;color:#b91c1c}.gateway-option input{position:absolute;opacity:0}.gateway-option span{display:block;cursor:pointer;border:1px solid #e4e4e7;border-radius:.75rem;padding:.8rem;text-align:center;font-size:.8rem;font-weight:700}.gateway-option input:checked+span{border-color:#7e22ce;background:#f3e8ff;color:#6b21a8}@keyframes slidein{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Shared responsive behavior for every role and module. */
.app-main{min-width:0;max-width:100%}.app-main>div:last-of-type{min-width:0;max-width:100%}.app-main>div:last-of-type :where(h1,h2,h3,p,span,strong,small,code){overflow-wrap:anywhere}.app-main>div:last-of-type :where(input,select,textarea){max-width:100%}.app-main [class*="overflow-x-auto"],.app-main [class~="overflow-auto"]{-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:thin}.app-main [class*="overflow-x-auto"]:focus-visible{outline:3px solid #ddd6fe;outline-offset:2px}
@media(max-width:639px){body.mobile-navigation-open,body.modal-open{overflow:hidden}.app-main>div:last-of-type h1{font-size:1.75rem;line-height:1.15}.app-main>div:last-of-type h2{line-height:1.25}.app-main>div:last-of-type>.flex.justify-between,.app-main>div:last-of-type>.flex.items-center.justify-between{flex-direction:column;align-items:stretch;gap:1rem}.app-main>div:last-of-type>.flex.justify-between>button,.app-main>div:last-of-type>.flex.justify-between>a{width:100%;text-align:center;justify-content:center}.app-main>div:last-of-type>.flex.justify-between>div:last-child{display:flex;flex-wrap:wrap}.card{padding:1rem;border-radius:.9rem}.modal{align-items:end;padding:0}.modal-panel{max-height:94dvh;max-width:none;border-radius:1.2rem 1.2rem 0 0;padding:1.1rem}.modal-panel>.flex.justify-between{gap:.75rem}.modal-panel .grid.grid-cols-2,.card .grid.grid-cols-2{grid-template-columns:minmax(0,1fr)}.grid.grid-cols-3,.grid.grid-cols-4,[class*="grid-cols-[1fr_100px_130px]"]{grid-template-columns:minmax(0,1fr)}.app-main :where(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}.app-main :where(button,a.rounded-xl){min-height:44px}.toast{left:.75rem;right:.75rem;bottom:calc(.75rem + env(safe-area-inset-bottom));max-width:none}.header-dropdown{max-width:calc(100vw - 1rem)}.empty-state{padding-left:1rem;padding-right:1rem}table th,table td{white-space:normal}}
@media(max-width:479px){.modal-panel .grid.grid-cols-3,.app-main form .grid.grid-cols-2,.app-main form .grid.grid-cols-3{grid-template-columns:minmax(0,1fr)}.app-main .flex.gap-2:not(.overflow-auto):not(.overflow-x-auto){flex-wrap:wrap}}
@media(min-width:1600px){.app-main>div:last-of-type{margin-inline:auto;width:100%;max-width:1680px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:1023px){.admin-sidebar,.sidebar-collapsed .admin-sidebar{width:min(18rem,88vw);height:100dvh;padding-bottom:env(safe-area-inset-bottom)}}
@media(max-width:639px){.app-header{height:4.25rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.header-button{height:2.65rem;width:2.65rem}.header-dropdown{position:fixed;top:4.5rem;right:.5rem;left:.5rem;width:auto!important;max-height:calc(100dvh - 5rem)}.header-dropdown>div.max-h-96{max-height:calc(100dvh - 12rem)}}
