*{box-sizing:border-box}:root{--sc-primary:#6d28d9;--sc-secondary:#f97316;--sc-ink:#17151f;--sc-muted:#71717a;--sc-line:#e4e4e7;--sc-page:#f7f7fb;--sc-surface:#fff;--sc-primary-soft:color-mix(in srgb,var(--sc-primary) 10%,white);--sc-secondary-soft:color-mix(in srgb,var(--sc-secondary) 14%,white);--sc-focus:color-mix(in srgb,var(--sc-primary) 18%,white)}html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{max-width:100%;overflow-x:hidden;background:var(--sc-page);color:#18181b;letter-spacing:-.01em}img,svg,video{max-width:100%}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}.bg-purple-700,.hover\:bg-purple-800:hover{background-color:var(--sc-primary)!important}.text-purple-700{color:var(--sc-primary)!important}.border-purple-100{border-color:color-mix(in srgb,var(--sc-primary) 18%,white)!important}.border-purple-200,.hover\:border-purple-300:hover{border-color:color-mix(in srgb,var(--sc-primary) 30%,white)!important}.bg-purple-50,.bg-purple-50\/60{background-color:var(--sc-primary-soft)!important}.bg-purple-100{background-color:color-mix(in srgb,var(--sc-primary) 18%,white)!important}.text-purple-800,.text-purple-900{color:color-mix(in srgb,var(--sc-primary) 82%,black)!important}.bg-orange-500,.hover\:bg-orange-600:hover{background-color:var(--sc-secondary)!important}.text-orange-600,.text-orange-700{color:color-mix(in srgb,var(--sc-secondary) 84%,#7c2d12)!important}.bg-orange-50,.bg-orange-100{background-color:var(--sc-secondary-soft)!important}.border-orange-200,.border-amber-200{border-color:color-mix(in srgb,var(--sc-secondary) 28%,white)!important}.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 var(--sc-secondary)}.card{border:1px solid var(--sc-line);border-radius:1rem;background:var(--sc-surface);padding:1.4rem;box-shadow:0 12px 30px rgba(24,24,27,.04)}.icon-box{display:grid;height:3rem;width:3rem;place-items:center;border-radius:.8rem}.icon-box svg{height:1.3rem}.icon-box.purple{background:var(--sc-primary-soft);color:var(--sc-primary)}.icon-box.orange{background:var(--sc-secondary-soft);color:var(--sc-secondary)}.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:var(--sc-primary);box-shadow:0 0 0 3px var(--sc-focus)}.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:var(--sc-ink)}.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;background:#fff;padding:.75rem .85rem;outline:none}.field:focus{border-color:var(--sc-primary);box-shadow:0 0 0 3px var(--sc-focus)}.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:var(--sc-secondary-soft);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 var(--sc-line);border-radius:.75rem;padding:.8rem;text-align:center;font-size:.8rem;font-weight:700}.gateway-option input:checked+span{border-color:var(--sc-primary);background:var(--sc-primary-soft);color:color-mix(in srgb,var(--sc-primary) 82%,black)}@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)}}

/* Device-wide hardening: keep dense admin pages readable without squeezed columns. */
:where(.card,.modal-panel,section,article,form,td,th){min-width:0}
:where(h1,h2,h3,h4,p,li,dd,dt,label,summary,b,strong,small,span,a){overflow-wrap:anywhere}
:where(input,select,textarea,button){max-width:100%}
:where(button,a,input,select,textarea,summary){-webkit-tap-highlight-color:transparent}
:where(table){border-collapse:collapse}
.app-main :where(.grid){min-width:0}
.app-main :where(.flex){min-width:0}
.app-main :where(.field,input,select,textarea){line-height:1.35}
.app-main :where(textarea.field){resize:vertical}
.app-main :where(.rounded-xl.bg-purple-700,.rounded-xl.bg-orange-500,button,a.rounded-xl){display:inline-flex;align-items:center;justify-content:center;gap:.45rem}
.app-main :where(.status){white-space:nowrap}
.app-main :where(.card>.overflow-x-auto,section.overflow-x-auto,.overflow-x-auto){max-width:100%}
.app-main :where(table){width:100%}
.app-main :where(th,td){vertical-align:top}
.app-main :where(td .flex){flex-wrap:wrap}
.app-main :where(details summary){list-style:none}
.app-main :where(details summary::-webkit-details-marker){display:none}
.app-main :where(details summary)::after{content:"";display:inline-block;margin-left:.45rem;border:.28rem solid transparent;border-top-color:currentColor;transform:translateY(.15rem)}
.app-main :where(details[open] summary)::after{transform:rotate(180deg) translateY(.15rem)}
.home-shell :where(img,video,svg){max-width:100%;height:auto}
.home-shell :where(a,button){min-height:44px}
.home-shell :where(h1,h2,h3,p,span,strong,small){overflow-wrap:anywhere}
.home-shell :where(section){max-width:100%}
.home-shell :where(.grid,.flex){min-width:0}
.home-shell :where(.max-w-3xl,.max-w-4xl,.max-w-7xl){max-width:100%}
.home-shell :where(.home-hero-brand){min-width:0}
.home-shell :where(.home-hero-brand .truncate){min-width:0;max-width:calc(100vw - 6.5rem)}

@media(max-width:1279px){
  .app-main>div:last-of-type{padding-left:1.25rem;padding-right:1.25rem}
  .app-main .xl\:grid-cols-\[\.85fr_1\.15fr\],
  .app-main .xl\:grid-cols-\[1\.05fr_\.95fr\],
  .app-main .xl\:grid-cols-\[1\.35fr_\.8fr\],
  .app-main .xl\:grid-cols-\[1\.45fr_\.75fr\],
  .app-main .xl\:grid-cols-\[220px_1fr\],
  .app-main .xl\:grid-cols-\[240px_1fr\],
  .app-main .xl\:grid-cols-\[320px_1fr\],
  .app-main .xl\:grid-cols-\[1fr_1fr\],
  .app-main .xl\:grid-cols-\[minmax\(0\,1fr\)_24rem\]{grid-template-columns:minmax(0,1fr)!important}
}

@media(max-width:767px){
  .app-main>div:last-of-type{padding:1rem}
  .app-main>div:last-of-type>.grid{gap:1rem}
  .app-main :where(.md\:grid-cols-2,.md\:grid-cols-3,.md\:grid-cols-4,.md\:grid-cols-5,.lg\:grid-cols-2,.lg\:grid-cols-3,.lg\:grid-cols-4,.lg\:grid-cols-5){grid-template-columns:minmax(0,1fr)!important}
  .app-main [class*="md:grid-cols-["],
  .app-main [class*="lg:grid-cols-["],
  .app-main [class*="xl:grid-cols-["]{grid-template-columns:minmax(0,1fr)!important}
  .app-main :where(.md\:flex-row,.lg\:flex-row){flex-direction:column!important;align-items:stretch!important}
  .app-main :where(.md\:items-center,.lg\:items-center,.md\:items-end,.lg\:items-end){align-items:stretch!important}
  .app-main :where(.md\:justify-between,.lg\:justify-between){justify-content:flex-start!important}
  .app-main :where(.sm\:col-span-2,.md\:col-span-2,.lg\:col-span-2,.xl\:col-span-2,.col-span-full){grid-column:auto!important}
  .app-main :where(.hidden.md\:grid,.hidden.lg\:grid,.hidden.xl\:grid){display:none!important}
  .app-main :where(table){font-size:.82rem}
  .app-main :where(th,td){padding:.7rem .85rem}
  .app-main :where(.min-w-\[560px\],.min-w-\[760px\],.min-w-\[820px\],.min-w-\[850px\],.min-w-\[900px\],.min-w-\[920px\],.min-w-\[980px\],.min-w-\[1050px\],.min-w-\[1120px\],.min-w-\[1150px\]){min-width:46rem}
  .app-main :where(.grid.min-w-\[560px\]){min-width:38rem}
  .app-main :where(.max-w-xs){max-width:100%}
  .app-main :where(.float-right){float:none;display:block;margin-top:.35rem}
  .app-main :where(.text-right){text-align:left}
  .app-main :where(.justify-end){justify-content:flex-start}
  .app-main :where(.w-60,.w-64,.w-72,.w-80,.min-w-56,.min-w-64){width:100%;min-width:0}
  .app-main :where(.p-6,.p-7,.p-8,.p-10){padding:1rem}
  .app-main :where(.px-6,.px-8){padding-left:1rem;padding-right:1rem}
  .app-main :where(.py-16,.py-20){padding-top:3rem;padding-bottom:3rem}
  .home-shell :where(.md\:grid-cols-2,.md\:grid-cols-3,.md\:grid-cols-4,.md\:grid-cols-6,.lg\:grid-cols-2,.lg\:grid-cols-3){grid-template-columns:minmax(0,1fr)!important}
  .home-shell :where(.md\:flex-row,.lg\:flex-row){flex-direction:column!important}
  .home-shell :where(.md\:items-center,.lg\:items-center,.md\:items-end,.lg\:items-end){align-items:stretch!important}
  .home-shell :where(.text-4xl,.text-5xl,.text-6xl,.text-7xl){font-size:clamp(2rem,10vw,3.25rem)!important;line-height:1.05!important}
  .home-shell :where(.tracking-\[\.22em\],.tracking-\[\.24em\]){letter-spacing:.12em!important}
  .home-shell :where(.px-6,.px-8){padding-left:1rem;padding-right:1rem}
  .home-shell :where(.py-16,.py-20){padding-top:3.5rem;padding-bottom:3.5rem}
  .home-shell :where(.rounded-\[2rem\]){border-radius:1.25rem!important}
}

@media(max-width:639px){
  body{letter-spacing:0}
  .app-main>div:last-of-type{padding:.9rem}
  .app-header{gap:.5rem}
  .app-header :where(.relative){position:static}
  .app-header :where(#accountMenuButton){padding:.35rem}
  .app-main :where(.card){box-shadow:0 8px 22px rgba(24,24,27,.035)}
  .app-main :where(.flex.gap-3,.flex.gap-4){gap:.65rem}
  .app-main :where(.grid.gap-6){gap:1rem}
  .app-main :where(.grid.gap-5){gap:.9rem}
  .app-main :where(.rounded-2xl){border-radius:1rem}
  .app-main :where(.rounded-xl){border-radius:.8rem}
  .app-main :where(.text-3xl){font-size:1.75rem;line-height:1.12}
  .app-main :where(.text-2xl){font-size:1.35rem;line-height:1.2}
  .app-main :where(.text-xl){font-size:1.12rem;line-height:1.25}
  .app-main :where(.space-y-4>:not([hidden])~:not([hidden])){margin-top:.85rem}
  .app-main :where(.field){padding:.7rem .8rem}
  .app-main :where(.min-h-20){min-height:5rem}
  .app-main :where(.min-h-24){min-height:6rem}
  .app-main :where(.min-h-28,.min-h-32,.min-h-36){min-height:7rem}
  .app-main :where(.max-h-\[620px\],.max-h-96){max-height:none}
  .app-main :where(.overflow-auto:not(.sidebar-scroll):not(.header-dropdown)){max-width:100%;overflow-x:auto}
  .modal-panel :where(.grid){grid-template-columns:minmax(0,1fr)!important}
  .modal-panel :where(button){width:100%}
  .home-shell :where(.home-top){display:none}
  .home-shell :where(.home-nav nav){overflow-x:auto;justify-content:flex-start;flex-wrap:nowrap;scrollbar-width:none}
  .home-shell :where(.home-nav nav::-webkit-scrollbar){display:none}
  .home-shell :where(.home-nav nav a){white-space:nowrap}
  .home-shell :where(.home-brand-wedge){justify-content:flex-start;text-align:left}
  .home-shell :where(.home-brand-wedge>span:last-child){min-width:0;max-width:calc(100vw - 6rem)}
  .home-shell :where(.home-hero .flex.gap-3){flex-direction:column}
  .home-shell :where(.home-hero .flex.gap-3 a){width:100%}
  .home-shell :where(.home-card,.home-service-card,.home-check-panel){border-radius:1rem}
  .home-shell :where(.home-gallery-track,.notice-ticker-track){animation-duration:55s}
}

@media(max-width:380px){
  .app-main>div:last-of-type{padding:.75rem}
  .app-main :where(.card,.modal-panel){padding:.85rem}
  .app-main :where(.min-w-\[560px\],.min-w-\[760px\],.min-w-\[820px\],.min-w-\[850px\],.min-w-\[900px\],.min-w-\[920px\],.min-w-\[980px\],.min-w-\[1050px\],.min-w-\[1120px\],.min-w-\[1150px\]){min-width:42rem}
  .home-shell :where(.home-brand-wedge strong){font-size:1rem}
  .home-shell :where(.home-brand-wedge small){font-size:.65rem}
}
