.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 10% 5%,rgba(236,72,153,.18),transparent 55%),radial-gradient(circle at 90% 0%,rgba(105,180,255,.12),transparent 50%),var(--color-app-background);overflow-x:hidden;width:100%}.app-content{width:100%;max-width:1400px;margin:0 auto;padding:3rem 0 4rem}.app-navbar{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1400px;margin:0 auto;padding:1.25rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.app-navbar__brand{display:flex;flex-direction:column;gap:.25rem}.app-navbar__logo{display:inline-flex;align-items:center;gap:.15rem;font-size:1.35rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#f472b6;text-decoration:none}.app-navbar__logo-icon{width:2rem;height:2rem;object-fit:contain;display:block}.app-navbar__logo-text{line-height:1}.app-navbar__tagline{font-size:.85rem;color:var(--color-text-muted)}.app-navbar__actions{display:flex;align-items:center;gap:1rem}.profile-menu{position:relative;display:inline-flex;align-items:stretch}.profile-menu__dropdown{position:absolute;right:0;top:calc(100% + .4rem);min-width:12rem;padding:.5rem;border-radius:var(--radius-lg);background:#060a12e0;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 40px #060a1266;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:.25rem;animation:dropdown-fade var(--transition-base) ease forwards;z-index:10}.profile-menu__dropdown:before{content:"";position:absolute;top:-.4rem;left:-.25rem;right:-.25rem;height:.5rem;background:transparent}.profile-menu__item{width:100%;display:inline-flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:inherit;font-size:.9rem;cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base);text-decoration:none}.profile-menu__item:hover,.profile-menu__item:focus-visible{background:transparent;border-color:#ec489973;color:#f9a8d4}.profile-menu__item--logout{color:#ec4899}.profile-menu__item--logout:hover,.profile-menu__item--logout:focus-visible{color:#f9a8d4}.balance-chip{display:flex;align-items:center;gap:.75rem;padding:.65rem .95rem;border-radius:var(--radius-md);background:linear-gradient(120deg,#ec48992e,#ec489914);border:1px solid var(--color-border-strong);box-shadow:0 18px 40px #ec489924;text-decoration:none;color:inherit}.balance-chip--link:focus-visible{outline:2px solid rgba(255,255,255,.12);outline-offset:3px}.balance-chip__icon{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:999px;background:#ec489926;color:var(--color-primary)}.balance-chip__content{display:flex;flex-direction:column;gap:.25rem;min-width:7rem}.balance-chip__label{font-size:.75rem;letter-spacing:.02em;color:var(--color-text-faint)}.balance-chip__value{font-size:1rem;font-weight:600}.cart-menu{position:relative;display:inline-flex;align-items:stretch}.cart-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-md);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:inherit;text-decoration:none;cursor:pointer;transition:background var(--transition-base),transform var(--transition-base);padding:0;margin:0}.cart-icon:hover,.cart-icon:focus-visible,.cart-icon.is-open{background:#ffffff1f;transform:translateY(-1px)}.cart-icon__badge{position:absolute;top:-.25rem;right:-.25rem;display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:700;line-height:1}.cart-menu__dropdown{position:absolute;right:0;top:calc(100% + .4rem);width:20rem;max-width:calc(100vw - 2rem);max-height:24rem;padding:.75rem;border-radius:var(--radius-lg);background:#060a12e0;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 40px #060a1266;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;flex-direction:column;gap:.75rem;animation:dropdown-fade var(--transition-base) ease forwards;z-index:10;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.cart-menu__dropdown::-webkit-scrollbar{display:none}.cart-menu__dropdown:before{content:"";position:absolute;top:-.4rem;left:-.25rem;right:-.25rem;height:.5rem;background:transparent}.cart-menu__empty{padding:1.5rem;text-align:center;color:var(--color-text-muted);font-size:.9rem}.cart-menu__items{display:flex;flex-direction:column;gap:.5rem;max-height:16rem;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.cart-menu__items::-webkit-scrollbar{display:none}.cart-menu__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08);background:#ffffff0a;transition:background var(--transition-base),border-color var(--transition-base);min-width:0;width:100%}.cart-menu__item:hover{background:#ffffff0f;border-color:#ffffff1f}.cart-menu__item-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0;overflow:hidden}.cart-menu__item-name{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-menu__item-details{font-size:.75rem;color:var(--color-text-muted)}.cart-menu__item-remove{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--color-text-muted);cursor:pointer;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base);padding:0;flex-shrink:0}.cart-menu__item-remove:hover,.cart-menu__item-remove:focus-visible{background:#ec489926;border-color:#ec48994d;color:#f9a8d4}.cart-menu__footer{display:flex;flex-direction:column;gap:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.12)}.cart-menu__total{font-size:1rem;font-weight:600;text-align:center}.cart-menu__checkout{width:100%;justify-content:center;box-sizing:border-box}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-md);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);transition:background var(--transition-base),transform var(--transition-base)}.icon-button:hover,.icon-button:focus-visible{background:#ffffff1f;transform:translateY(-1px)}.profile-chip{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.55rem .9rem .55rem .6rem;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);transition:background var(--transition-base),transform var(--transition-base);cursor:pointer;color:inherit;text-decoration:none}.profile-chip--link{text-decoration:none;color:inherit}.profile-chip--link:focus-visible{outline:2px solid rgba(255,255,255,.12);outline-offset:3px}.profile-chip__avatar{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border-radius:999px;background:#ffffff14}.profile-chip__name{font-size:.9rem;font-weight:500}.profile-chip__chevron{transition:transform var(--transition-base)}.profile-chip__chevron.is-open{transform:rotate(180deg)}.profile-chip:hover,.profile-chip:focus-visible{background:#ffffff1f;transform:translateY(-1px)}.app-footer{width:min(1180px,92vw);margin:0 auto;padding:1.75rem 0 2.5rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06);color:var(--color-text-muted);font-size:.85rem}.app-footer__links{display:flex;align-items:center;gap:1rem}.app-footer__link{color:var(--color-text-muted);transition:color var(--transition-base)}.app-footer__link:hover,.app-footer__link:focus-visible{color:#ec4899}@media(max-width:820px){.app-navbar{flex-direction:column;align-items:stretch;gap:1rem}.app-navbar__actions{justify-content:space-between}.app-footer{flex-direction:column;gap:.75rem;text-align:center}}@media(max-width:768px){.app-content{width:100%;padding:1.5rem 1rem 2.5rem}.app-navbar{width:100%;padding:1rem}.app-navbar__actions{flex-wrap:wrap;gap:.75rem}.balance-chip__content{min-width:auto}.balance-chip{padding:.5rem .75rem}}@media(max-width:480px){.app-navbar__actions{gap:.5rem}.balance-chip__content{min-width:5rem}.balance-chip__label{font-size:.7rem}.balance-chip__value{font-size:.9rem}}@keyframes dropdown-fade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.dashboard{display:flex;flex-direction:column;gap:2.5rem}.dashboard__header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.dashboard__title{font-size:clamp(1.6rem,1.2rem + 1vw,2.1rem);margin:0}.dashboard__subtitle{margin:.4rem 0 0;color:var(--color-text-muted);max-width:34rem}.dashboard__controls{display:flex;flex-direction:column;gap:1.25rem}.dashboard__controls-row{display:flex;align-items:center;gap:1rem}.filter-toggle{display:none;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius-md);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.filter-toggle:hover{background:#ffffff14;border-color:var(--color-border-strong)}.filter-overlay{display:none;position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;animation:fade-in .2s ease}.filter-overlay--visible{display:block!important}.filter-dropdown{display:none;position:fixed;bottom:0;left:0;right:0;max-height:85vh;background:#060a12fa;border-top:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:101;animation:slide-up .3s ease;overflow-y:auto}.filter-dropdown--visible{display:block!important}.filter-dropdown__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;background:#060a12fa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1}.filter-dropdown__header h3{margin:0;font-size:1.2rem;font-weight:600}.filter-dropdown__close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);background:#ffffff0f;border:none;color:inherit;cursor:pointer;transition:background var(--transition-base)}.filter-dropdown__close:hover{background:#ffffff1a}.filter-dropdown__content{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.filter-dropdown__active-filters{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.filter-dropdown__active-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.filter-dropdown__active-filters h4{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-weight:600}.filter-dropdown__clear-all{padding:.35rem .75rem;border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:inherit;font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);text-transform:uppercase;letter-spacing:.05em}.filter-dropdown__clear-all:hover{background:#ffffff1a;border-color:#ffffff1f}.filter-dropdown__active-list{display:flex;flex-direction:column;gap:.5rem}.filter-chip{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);font-size:.85rem}.filter-chip button{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:var(--radius-sm);background:#ffffff14;border:none;color:inherit;cursor:pointer;transition:background var(--transition-base);flex-shrink:0}.filter-chip button:hover{background:#ffffff1f}.filter-dropdown__no-filters{padding:.75rem;text-align:center;color:var(--color-text-muted);font-size:.85rem;font-style:italic}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.dashboard__section-header{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.25rem}.dashboard__section-header h2{font-size:clamp(1.3rem,1rem + .6vw,1.6rem);margin:0}.dashboard__section-header p{margin:0;color:var(--color-text-muted)}.dashboard__giftcards{padding:1.75rem;border-radius:var(--radius-lg);background:linear-gradient(140deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px #060a1273;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.giftcard-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.1rem}.giftcard-card__grid,.giftcard-grid{display:grid;width:100%;min-width:fit-content;grid-template-columns:minmax(120px,1.2fr) repeat(6,minmax(80px,1fr)) minmax(100px,.9fr) minmax(100px,1fr) minmax(150px,1.1fr);align-items:center;column-gap:0;row-gap:0;position:relative}.giftcard-card__grid{padding:.1rem 0}.giftcard-grid>*:not(:first-child),.giftcard-card__grid>*:not(:first-child){padding-left:.9rem;border-left:1px solid rgba(255,255,255,.12)}.giftcard-grid{padding:0 .9rem}.giftcard-grid--header{margin-bottom:.6rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint)}.giftcard-grid__cell{display:block}.giftcard-card__brand{display:flex;justify-content:center;align-items:center;min-height:32px}.giftcard-card__brand-logo{height:24px;width:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.45))}.giftcard-card__brand-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .65rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.09);background:#ffffff0a}.giftcard-card__brand-name{font-size:.78rem;letter-spacing:.02em}.giftcard-card__detail-value--muted{color:var(--color-text-muted);font-weight:500}.giftcard-grid__cell--center{text-align:center}.giftcard-grid__cell--align-right{text-align:right}.giftcard-card{padding:.65rem 1rem .65rem .9rem;border-radius:var(--radius-md);background:#0c122066;border:1px solid rgba(255,255,255,.06);box-shadow:0 25px 45px #04060c59}.giftcard-card__identity{display:flex;align-items:center;gap:.85rem}.giftcard-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:999px;background:#ec48992e;color:var(--color-primary)}.giftcard-card__info{display:flex;flex-direction:column;gap:.25rem}.giftcard-card__name{font-weight:600}.giftcard-card__code{font-size:.85rem;color:var(--color-text-muted)}.giftcard-card__cell{display:flex;flex-direction:column;align-items:center}.giftcard-card__detail-value{font-weight:600}.giftcard-card__price{color:#38d28a;font-weight:700}.giftcard-card__details{display:none}.giftcard-card__status-cell{display:flex;justify-content:center;padding-right:.5rem}.giftcard-card__action{display:flex;justify-content:flex-end;padding-left:1.85rem}.giftcard-card__cta{min-width:140px}.giftcard-card__status{font-size:.85rem;padding:.2rem .6rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f}.giftcard-card__status--debit{border-color:#38d58a47;background:#38d58a1f;color:#62f0a8}.giftcard-card__status--credit{border-color:#70c6ff47;background:#70c6ff1f;color:#9ed8ff}.giftcard-card__status--business{border-color:#f472b647;background:#f472b61f;color:#f9a8d4}.giftcard-card__status--default{border-color:#ffffff2e;background:#ffffff0f;color:var(--color-text-muted)}.dashboard__error{margin:0 0 1rem;color:#f87171;font-size:.9rem}@media(max-width:1024px){.dashboard__giftcards{padding:1.25rem}.giftcard-grid,.giftcard-card__grid{grid-template-columns:minmax(100px,1.2fr) repeat(6,minmax(70px,1fr)) minmax(90px,.9fr) minmax(90px,1fr) minmax(130px,1.1fr)}.filter-bar{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .3s ease,padding .3s ease;padding:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:.75rem}.filter-bar--expanded{max-height:2000px;opacity:1;padding:1.25rem 0;margin:0}.filter-toggle{display:flex;flex-shrink:0}}.filter-bar__clear-all{padding:.5rem 1rem;border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:inherit;font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;align-self:flex-end;margin-bottom:.4rem}.filter-bar__clear-all:hover{background:#ffffff1a;border-color:#ffffff1f}@media(max-width:768px){.dashboard__controls-row{gap:.75rem}.filter-bar--expanded{padding:1.25rem 0}.filter-bar .filter-field{width:100%;max-width:180px}.filter-bar__clear-all{align-self:center;margin-bottom:0;width:100%;max-width:180px;justify-content:center}.dashboard__giftcards{padding:1rem}.giftcard-grid--header{display:none}.giftcard-card{padding:1rem}.giftcard-card__grid{display:flex;flex-direction:column;gap:1rem;padding:0}.giftcard-grid__cell{padding:0!important;border:none!important}.giftcard-card__identity{display:flex;align-items:center;gap:.85rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.giftcard-card__details{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.giftcard-card__cell{display:none!important}.giftcard-card__detail-item{display:flex;flex-direction:column;gap:.25rem}.giftcard-card__detail-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.giftcard-card__detail-value{font-weight:600;font-size:.9rem}.giftcard-card__brand{justify-content:flex-start;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.giftcard-card__status-cell{padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08);justify-content:flex-start}.giftcard-card__action{padding:0;justify-content:stretch}.giftcard-card__cta{width:100%;justify-content:center}}@media(max-width:480px){.dashboard__controls{gap:1rem}.dashboard__controls-row{flex-direction:column}.search-bar{width:100%}.filter-toggle{width:100%;justify-content:center}.dashboard__giftcards{padding:.75rem}.giftcard-card__details{grid-template-columns:1fr}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--color-app-background);color:var(--color-text-primary);font-family:var(--font-sans);overflow-x:hidden}body{display:flex;flex-direction:column;background:radial-gradient(circle at 12% 20%,rgba(236,72,153,.1),transparent 55%),radial-gradient(circle at 82% 0%,rgba(98,132,255,.08),transparent 50%),var(--color-app-background);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,select{font:inherit;color:inherit;background:none;border:none;outline:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-md);padding:.75rem 1.1rem;font-size:.95rem;font-weight:600;letter-spacing:.01em;transition:background var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base);border:1px solid transparent}.btn svg{flex-shrink:0}.btn--primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-soft) 60%,var(--color-primary-strong) 100%);box-shadow:0 18px 32px #ec489940;color:#0a0d14}.btn--primary:hover,.btn--primary:focus-visible{transform:translateY(-1px);box-shadow:0 22px 42px #ec48994d}.btn--secondary{background:#ffffff14;border-color:#ffffff29;color:var(--color-text-primary)}.btn--secondary:hover,.btn--secondary:focus-visible{background:#ffffff24;transform:translateY(-1px)}.btn--ghost{background:#ffffff0a;border-color:#ffffff0f}.btn--ghost:hover,.btn--ghost:focus-visible{background:#ffffff1a}.link{color:var(--color-primary-soft);font-weight:500;transition:color var(--transition-base)}.link:hover,.link:focus-visible{color:var(--color-primary)}.input-field{display:flex;flex-direction:column;gap:.5rem}.input-field__label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint)}.input-field__control{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;border-radius:var(--radius-md);background:#ffffff0a;border:1px solid rgba(255,255,255,.06);transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.input-field__control input{flex:1;background:none;border:none;color:inherit}.input-field__control--masked .input-field__mask-wrapper{position:relative;flex:1}.input-field__control--masked .input-field__masked-input{width:100%;color:transparent;caret-color:#ff1f4b;text-shadow:none}.input-field__control--masked .input-field__masked-input::placeholder{color:transparent}.input-field__mask{position:absolute;inset:0;display:flex;align-items:center;font-weight:600;letter-spacing:.18em;color:#ff1f4b;pointer-events:none}.input-field__mask--placeholder{color:var(--color-text-muted);letter-spacing:.04em}.input-field__paste-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .8rem;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600;border-radius:var(--radius-sm);background:#ffffff14;border-color:#ffffff24;color:var(--color-text-primary);white-space:nowrap}.input-field__paste-btn svg{flex-shrink:0}.input-field__paste-btn:disabled{opacity:.6;cursor:not-allowed}.input-field__paste-controls{display:flex;align-items:center;gap:.5rem}.input-field__paste-check{color:#45d9a1;filter:drop-shadow(0 0 6px rgba(69,217,161,.45))}.input-field__control:focus-within{border-color:var(--color-border-strong);box-shadow:0 0 0 3px #ec489938;transform:translateY(-1px)}.search-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;width:min(420px,100%);border-radius:var(--radius-md);background:#ffffff0f;border:1px solid rgba(255,255,255,.08);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.search-bar input{flex:1;background:none;border:none;color:inherit}.search-bar:focus-within{border-color:var(--color-border-strong);box-shadow:0 0 0 3px #ec48992e}.filter-bar{display:grid;grid-template-columns:repeat(auto-fit,180px);justify-content:center;gap:1rem;width:100%}.filter-field{display:flex;flex-direction:column;gap:.4rem;width:180px}.filter-field label{display:flex;align-items:center;gap:.5rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint)}.filter-field label svg{flex-shrink:0}.filter-field label span{flex:1}.filter-select{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.filter-select select{flex:1;background:none;border:none;color:inherit;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;padding:2.5rem 1.5rem;position:relative;overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(236,72,153,.16),transparent 55%),radial-gradient(circle at 82% 0%,rgba(120,155,255,.12),transparent 50%),var(--color-app-background)}.login-page__background{position:absolute;inset:0;background:linear-gradient(135deg,#ec48991f,#ec489905),radial-gradient(circle at 20% 20%,rgba(236,72,153,.16),transparent 60%);filter:blur(60px);opacity:.75;pointer-events:none}.login-card{position:relative;width:min(420px,100%);padding:3rem 2.75rem;border-radius:var(--radius-lg);background:linear-gradient(160deg,#ffffff14,#0c1018e6);border:1px solid rgba(236,72,153,.35);box-shadow:0 0 30px #ec489940,0 30px 60px #04060c8c;display:flex;flex-direction:column;gap:2rem}.login-card__header{display:flex;flex-direction:column;gap:.9rem;text-align:center}.login-card__logo{margin:0 auto;width:4.25rem;height:4.25rem;border-radius:1.25rem;padding:.45rem;display:flex;align-items:center;justify-content:center;background:#ec48992e;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 30px #ec489938}.login-card__logo img{width:120%;height:120%;object-fit:contain;border-radius:inherit}.login-card__title{margin:0;font-size:1.8rem;font-weight:600}.login-card__subtitle{margin:0;color:var(--color-text-muted)}.login-card__form{display:flex;flex-direction:column;gap:1.25rem}.login-card__actions{display:flex;justify-content:flex-end;font-size:.85rem}.login-card__note{margin:0;text-align:center;color:var(--color-text-faint);font-size:.85rem}.login-card__error{padding:.75rem 1rem;border-radius:var(--radius-md);background:#ff44441f;border:1px solid rgba(255,68,68,.24);color:#ff6b6b;font-size:.9rem;text-align:center}.btn--icon{padding:.5rem;min-width:auto;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--color-text-primary)}.btn--icon:hover,.btn--icon:focus-visible{background:#ffffff1f;transform:translateY(-1px)}.input-field__key{font-family:Monaco,Menlo,Courier New,monospace;font-size:.85rem;letter-spacing:.02em}@media(max-width:520px){.login-card{padding:2.5rem 2rem}}.account-page{display:flex;flex-direction:column;gap:2.5rem;width:min(980px,94vw);margin:0 auto;padding:2.5rem 0 3.5rem}.account-page__header{display:flex;flex-direction:column;gap:.6rem}.account-page__header h1{font-size:clamp(1.8rem,1.3rem + 1vw,2.4rem);margin:0}.account-page__header p{margin:0;max-width:32rem;color:var(--color-text-muted)}.account-cards{display:grid;gap:1.75rem;grid-template-columns:minmax(0,1fr)}@media(min-width:880px){.account-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.account-card{padding:2.1rem;border-radius:var(--radius-lg);background:linear-gradient(160deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 55px #060a1280;display:flex;flex-direction:column;gap:1.5rem}.account-card--wallet{gap:1.5rem}.account-card__header h2{margin:0;font-size:clamp(1.3rem,1.1rem + .4vw,1.6rem)}.account-card__header p{margin:.35rem 0 0;color:var(--color-text-muted);max-width:32rem}.account-summary{display:flex;flex-direction:column;gap:.9rem}.account-summary__item{display:flex;justify-content:space-between;align-items:center;padding:.75rem .85rem;border-radius:var(--radius-md);background:#0c122085;border:1px solid rgba(255,255,255,.08)}.account-summary__label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint)}.account-summary__value{font-weight:600}.account-summary__cta{align-self:stretch;color:inherit;text-decoration:none}.account-summary__cta.balance-chip{width:100%;gap:.75rem}.account-summary__cta-icon{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;color:var(--color-primary)}.wallet-overview{display:flex;flex-direction:column;gap:.9rem}.wallet-overview__address{display:flex;flex-direction:column;gap:.45rem;padding:.85rem 1rem;border-radius:var(--radius-md);background:#0c122085;border:1px solid rgba(255,255,255,.08)}.wallet-overview__label{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint)}.wallet-overview__value{font-family:IBM Plex Mono,Menlo,Consolas,monospace;font-size:.95rem;word-break:break-all}.account-form{display:flex;flex-direction:column;gap:1.3rem}.account-form__hint{font-size:.85rem;color:var(--color-text-faint)}.wallet-page{display:flex;flex-direction:column;gap:2.25rem;width:min(980px,94vw);margin:0 auto;padding:2.5rem 0 3.5rem}.wallet-page__header{display:flex;flex-direction:column;gap:.6rem}.wallet-page__header h1{margin:0;font-size:clamp(1.8rem,1.3rem + 1vw,2.4rem)}.wallet-page__header p{margin:0;max-width:32rem;color:var(--color-text-muted)}.wallet-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.wallet-card{padding:1.6rem;border-radius:var(--radius-lg);background:linear-gradient(150deg,#ffffff14,#ffffff0d);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 45px #060a1280;display:flex;flex-direction:column;gap:1.2rem}.wallet-card--balance,.wallet-card--topup{max-width:520px}.wallet-card--balance{align-items:center;justify-content:center;text-align:center;gap:1rem}.wallet-card__icon{display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;border-radius:999px;background:#ec48992e;color:#f9a8d4;box-shadow:0 20px 36px #ec489938}.wallet-card__icon svg{width:1.5rem;height:1.5rem}.wallet-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.wallet-card--balance .wallet-card__header{flex-direction:column;align-items:center;gap:.45rem}.wallet-card__header h2{margin:0;font-size:1.2rem}.wallet-card__balance{font-size:1.4rem;font-weight:600;color:#fce7f3}.wallet-card__actions{display:flex;gap:.75rem}.wallet-card__actions .btn[disabled]{opacity:.6;cursor:not-allowed}.topup-form{display:flex;flex-direction:column;gap:1.4rem}.topup-form__field{display:flex;flex-direction:column;gap:.75rem}.topup-form__input{display:flex;align-items:center;gap:.65rem;padding:.75rem .95rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.12);background:#0c122073;transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.topup-form__input:focus-within{border-color:var(--color-border-strong);box-shadow:0 0 0 3px #ec48992e;transform:translateY(-1px)}.topup-form__currency{font-weight:600;color:var(--color-text-muted)}.topup-form__input input{flex:1;background:none;border:none;color:inherit;font-size:1.05rem;font-weight:600;outline:none}.topup-form__actions{display:flex;flex-direction:column;gap:.6rem}.wallet-card__toggle{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:var(--radius-md);background:#ec48991f;color:#f9a8d4;cursor:pointer;transition:background var(--transition-base),transform var(--transition-base)}.wallet-card__toggle:hover{background:#ec489933;transform:scale(1.05)}.wallet-card__toggle:active{transform:scale(.98)}.topup-display{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.topup-qr{display:flex;align-items:center;justify-content:center;padding:1.1rem;border-radius:var(--radius-lg);background:#ffffffe6;box-shadow:0 8px 24px #0000004d}.topup-qr svg{display:block;background:transparent}.topup-address{width:100%;display:flex;flex-direction:column;gap:.65rem}.topup-address__label{font-size:.85rem;font-weight:500;color:var(--color-text-muted);letter-spacing:.02em}.topup-address__field{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.12);background:#0c122073;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.topup-address__field:focus-within{border-color:var(--color-border-strong);box-shadow:0 0 0 3px #ec48992e}.topup-address__code{flex:1;font-family:Monaco,Menlo,Courier New,monospace;font-size:.85rem;line-height:1.5;color:var(--color-text);word-break:break-all;background:none;border:none;outline:none}.topup-address__copy{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:var(--radius-md);background:#ec48991f;color:#f9a8d4;cursor:pointer;flex-shrink:0;transition:background var(--transition-base),transform var(--transition-base)}.topup-address__copy:hover{background:#ec489933;transform:scale(1.05)}.topup-address__copy:active{transform:scale(.98)}.topup-instructions{width:100%;padding:1rem;border-radius:var(--radius-md);background:#ec489914;border:1px solid rgba(236,72,153,.15)}.topup-instructions__text{margin:0;font-size:.875rem;line-height:1.6;color:var(--color-text-muted);text-align:center}.topup-empty{padding:1.5rem;text-align:center;color:var(--color-text-muted)}.topup-empty p{margin:0;font-size:.9rem}.cart-page{max-width:800px;margin:0 auto;padding:2rem}.cart-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.cart-page__header h1{margin:0;font-size:2rem}.cart-list{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-direction:column;gap:1rem}.cart-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-radius:var(--radius-md);background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.cart-item__info{display:flex;flex-direction:column;gap:.5rem;flex:1}.cart-item__name{font-weight:600}.cart-item__price{color:var(--color-text-muted);font-size:.9rem}.cart-item__controls{display:flex;align-items:center;gap:.75rem}.cart-item__qty{width:60px;padding:.5rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:inherit;text-align:center}.cart-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12)}.cart-total{font-size:1.25rem}.contact-page{display:flex;flex-direction:column;gap:2.5rem;width:min(980px,94vw);margin:0 auto;padding:2.5rem 0 3.5rem}.contact-page__header{display:flex;flex-direction:column;gap:.6rem;text-align:center}.contact-page__header h1{font-size:clamp(1.8rem,1.3rem + 1vw,2.4rem);margin:0;background:linear-gradient(135deg,var(--color-primary-soft),var(--color-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-page__header p{max-width:32rem;margin:0 auto;color:var(--color-text-muted)}.contact-cards{display:grid;gap:1.75rem;grid-template-columns:minmax(0,1fr)}@media(min-width:880px){.contact-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-card{padding:2.5rem;border-radius:var(--radius-lg);background:linear-gradient(160deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 55px #060a1280;display:flex;flex-direction:column;gap:1.5rem;transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);position:relative;overflow:hidden}.contact-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:0;transition:opacity var(--transition-base)}.contact-card:hover{transform:translateY(-2px);box-shadow:0 40px 65px #ec489933;border-color:#ec48994d}.contact-card:hover:before{opacity:1}.contact-card__icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:var(--radius-md);background:linear-gradient(135deg,#ec489933,#ec48991a);border:1px solid rgba(236,72,153,.3);margin-bottom:.5rem}.contact-card__icon{color:var(--color-primary-soft)}.contact-card__header h2{margin:0;font-size:clamp(1.3rem,1.1rem + .4vw,1.6rem);font-weight:600}.contact-card__header p{margin:.5rem 0 0;color:var(--color-text-muted);line-height:1.6}.contact-card__content{margin-top:auto;padding-top:.5rem}.contact-link{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-radius:var(--radius-md);background:#0c122085;border:1px solid rgba(255,255,255,.08);text-decoration:none;color:inherit;transition:background var(--transition-base),border-color var(--transition-base),transform var(--transition-base);font-weight:500}.contact-link:hover,.contact-link:focus-visible{background:#ec48991f;border-color:#ec489966;transform:translate(4px);outline:none}.contact-link__label{font-size:1rem;color:var(--color-text-primary)}.contact-link__arrow{font-size:1.25rem;color:var(--color-primary);transition:transform var(--transition-base)}.contact-link:hover .contact-link__arrow{transform:translate(4px)}.contact-info{padding:1rem 1.25rem;border-radius:var(--radius-md);background:#0c122085;border:1px solid rgba(255,255,255,.08)}.contact-info__value{font-size:1rem;font-weight:500;color:var(--color-text-primary);font-family:var(--font-mono);letter-spacing:.02em}.jabber-chat{border-radius:var(--radius-md);background:#0c1220b3;border:1px solid rgba(255,255,255,.08);overflow:hidden;display:flex;flex-direction:column;min-height:280px;max-height:320px}.jabber-chat__header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#0000004d;border-bottom:1px solid rgba(255,255,255,.08)}.jabber-chat__status{display:flex;align-items:center;gap:.5rem}.jabber-chat__status-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b98199;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.jabber-chat__status-text{font-size:.75rem;color:var(--color-text-muted);font-weight:500}.jabber-chat__address{font-size:.8rem;font-family:var(--font-mono);color:var(--color-text-primary);font-weight:500}.jabber-chat__messages{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;min-height:0}.jabber-message{display:flex;flex-direction:column;gap:.25rem;max-width:85%}.jabber-message--sent{align-self:flex-end;align-items:flex-end}.jabber-message--received{align-self:flex-start;align-items:flex-start}.jabber-message__time{font-size:.65rem;color:var(--color-text-muted);padding:0 .5rem;font-weight:400}.jabber-message__bubble{padding:.6rem .85rem;border-radius:var(--radius-md);position:relative}.jabber-message--sent .jabber-message__bubble{background:linear-gradient(135deg,#ec489940,#ec489926);border:1px solid rgba(236,72,153,.3);border-bottom-right-radius:4px}.jabber-message--received .jabber-message__bubble{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-bottom-left-radius:4px}.jabber-message__sender{font-size:.7rem;font-weight:600;color:var(--color-primary-soft);margin-bottom:.3rem}.jabber-message__text{font-size:.85rem;line-height:1.4;color:var(--color-text-primary);word-wrap:break-word}.jabber-chat__input{padding:.75rem 1rem;background:#0003;border-top:1px solid rgba(255,255,255,.08)}.jabber-chat__input-placeholder{font-size:.8rem;color:var(--color-text-muted);font-style:italic;padding:.5rem .75rem;background:#ffffff08;border-radius:var(--radius-sm);border:1px dashed rgba(255,255,255,.1)}@media(max-width:600px){.contact-page{padding:2rem 0 3rem}.contact-card{padding:2rem}.contact-card__icon-wrapper{width:3.5rem;height:3.5rem}}:root{font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:dark;--font-sans: Inter, SF Pro Display, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--font-mono: JetBrains Mono, SFMono-Regular, ui-monospace, SFMono-Regular, Menlo, Monaco, Courier New, monospace;--color-app-background: #0b0d13;--color-app-surface: #11141d;--color-app-surface-elevated: #181c27;--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(236, 72, 153, .45);--color-primary: #ec4899;--color-primary-soft: #f472b6;--color-primary-strong: #db2777;--color-text-primary: #f9f7f4;--color-text-muted: rgba(255, 255, 255, .64);--color-text-faint: rgba(255, 255, 255, .44);--color-shadow: rgba(3, 6, 13, .6);--color-accent: #45d9a1;--color-warning: #ffd166;--radius-lg: 1.25rem;--radius-md: .85rem;--radius-sm: .65rem;--transition-base: .24s cubic-bezier(.25, .1, .25, 1)}.terms-page{display:flex;flex-direction:column;gap:3rem;width:min(780px,94vw);margin:0 auto;padding:2.5rem 0 3.5rem}.terms-page__header{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.08)}.terms-page__icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border-radius:var(--radius-md);background:linear-gradient(135deg,#ec489933,#ec48991a);border:1px solid rgba(236,72,153,.3)}.terms-page__icon{color:var(--color-primary-soft)}.terms-page__header h1{font-size:clamp(1.8rem,1.3rem + 1vw,2.4rem);margin:0;background:linear-gradient(135deg,var(--color-primary-soft),var(--color-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.terms-page__header p{margin:0;color:var(--color-text-muted);font-size:.9rem}.terms-content{padding:2.5rem;border-radius:var(--radius-lg);background:linear-gradient(160deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 55px #060a1280}.terms-list{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:1.25rem;list-style:none;counter-reset:rule-counter}.terms-list li{position:relative;padding-left:2.5rem;line-height:1.7;color:var(--color-text-muted);font-size:1rem;counter-increment:rule-counter}.terms-list li:before{content:counter(rule-counter);position:absolute;left:0;top:0;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:50%;background:linear-gradient(135deg,#ec489933,#ec48991a);border:1px solid rgba(236,72,153,.3);color:var(--color-primary-soft);font-weight:600;font-size:.85rem}@media(max-width:600px){.terms-page{padding:2rem 0 3rem}.terms-content{padding:1.75rem}.terms-page__icon-wrapper{width:4rem;height:4rem}}
