.button{min-height:44px;height:44px;border:1px solid transparent;border-radius:var(--radius-md);padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14px;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.button:hover{transform:none}.button:focus-visible,.icon-button:focus-visible,.nav-link:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,details summary:focus-visible{outline:2px solid var(--primary-2);outline-offset:2px}.button-primary{background:var(--action);color:var(--on-action)}.button-primary:hover{background:var(--action-hover)}.button-secondary{background:transparent;border-color:var(--border-strong);color:var(--text)}.button-secondary:hover{background:rgba(255,255,255,.04);border-color:var(--border-strong)}.button-danger{background:rgba(235,111,115,.12);border-color:rgba(235,111,115,.3);color:#ff9b9e}.button-small{height:36px;padding:0 12px;font-size:13px}.button-block{width:100%}.icon-button{width:44px;height:44px;padding:0;border-radius:var(--radius-md);border:1px solid var(--border);background:transparent;color:var(--muted);display:grid;place-items:center}.icon-button:hover{background:rgba(255,255,255,.05);color:var(--text)}.nav-button{width:100%;font:inherit;text-align:left}.field{display:flex;flex-direction:column;gap:7px}.field>span{font-size:13px;font-weight:700}.field input,.field textarea,.field select,select{width:100%;background:var(--deep);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:11px 12px}.field input::placeholder,.field textarea::placeholder{color:#6f7480}.field input:disabled,.field textarea:disabled{opacity:.55}.stack-form{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}.filter-bar{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(120px,1fr) minmax(120px,1fr) minmax(150px,1fr) auto;gap:10px;background:var(--surface);border:1px solid var(--border);padding:12px;border-radius:var(--radius-lg);margin-bottom:10px}.filter-bar input,.filter-bar select{background:var(--deep);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:10px}
.owner-filter-bar{
  display:flex;
  align-items:flex-end;
  gap:12px;
  width:100%;
  min-width:0;
  margin:0;
}

.owner-filter-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}

.owner-filter-search{
  flex:1 1 auto;
  min-width:0;
}

.owner-filter-status{
  flex:0 0 230px;
  width:230px;
}

.owner-filter-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.owner-filter-input-wrap{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  min-width:0;
}

.owner-filter-input-wrap>.icon{
  position:absolute;
  left:12px;
  width:18px;
  height:18px;
  max-width:18px;
  max-height:18px;
  color:var(--muted);
  pointer-events:none;
}

.owner-filter-input-wrap>input{
  width:100%;
  min-width:0;
  height:44px;
  padding:0 13px 0 40px;
  background:var(--deep);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  outline:0;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.owner-filter-input-wrap>input::placeholder{
  color:#6f7480;
}

.owner-filter-input-wrap>input:hover{
  border-color:var(--border-strong);
}

.owner-filter-input-wrap>input:focus{
  border-color:var(--primary-2);
  box-shadow:0 0 0 3px rgba(167,139,250,.10);
}

.owner-filter-dropdown{
  position:relative;
  width:100%;
  min-width:0;
}

.owner-filter-trigger{
  width:100%;
  min-width:0;
  height:44px;
  padding:0 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--deep);
  color:var(--text);
  font:inherit;
  font-size:14px;
  font-weight:600;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.owner-filter-trigger:hover{
  border-color:var(--border-strong);
  background:var(--surface-raised);
}

.owner-filter-trigger:focus-visible{
  outline:2px solid var(--primary-2);
  outline-offset:2px;
}

.owner-filter-chevron{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-right:1.8px solid currentColor;
  border-bottom:1.8px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
  opacity:.72;
}

.owner-filter-dropdown.open .owner-filter-chevron{
  transform:rotate(225deg) translateY(-1px);
}

.owner-filter-menu{
  position:absolute;
  z-index:40;
  left:0;
  right:0;
  top:calc(100% + 7px);
  padding:6px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow);
  overflow:hidden;
  opacity:0;
  transform:translateY(-6px);
  transform-origin:top;
  max-height:0;
  pointer-events:none;
  transition:max-height .20s ease,opacity .16s ease,transform .20s ease;
}

.owner-filter-dropdown.open .owner-filter-menu{
  max-height:240px;
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.owner-filter-option{
  width:100%;
  min-height:40px;
  padding:0 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:13px;
  font-weight:600;
  text-align:left;
  cursor:pointer;
}

.owner-filter-option:hover{
  background:rgba(139,92,246,.08);
}

.owner-filter-option.active{
  background:rgba(139,92,246,.12);
  color:var(--primary-2);
}

.owner-filter-option.active::after{
  content:'✓';
  font-size:13px;
  font-weight:800;
}

.owner-filter-submit{
  flex:0 0 auto;
  width:112px;
  min-width:112px;
  height:44px;
  white-space:nowrap;
}

.owner-filter-submit>.icon{
  width:17px;
  height:17px;
  max-width:17px;
  max-height:17px;
}
.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--border);border-radius:var(--radius-full);font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.badge-paid,.badge-completed,.badge-success{color:var(--success);border-color:rgba(69,196,138,.25);background:rgba(69,196,138,.08)}.badge-pending,.badge-processing,.badge-expired{color:var(--warning);border-color:rgba(228,170,82,.25);background:rgba(228,170,82,.08)}.badge-failed{color:#ff9b9e;border-color:rgba(235,111,115,.28);background:rgba(235,111,115,.08)}.badge-refunded{color:var(--primary-2);border-color:rgba(167,139,250,.28);background:rgba(167,139,250,.08)}.panel,.summary-card,.info-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.summary-card{display:flex;flex-direction:column;gap:18px}.summary-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.summary-row.total{font-size:18px}.text-link{color:var(--primary-2);font-weight:700}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:800}.eyebrow.accent{color:var(--primary-2)}.alert{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border);margin-bottom:16px}.alert-error{color:#ffb0b2;background:rgba(235,111,115,.08);border-color:rgba(235,111,115,.25)}.empty-state{min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--muted)}.empty-state h3{color:var(--text);margin:12px 0 6px}.empty-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:rgba(139,92,246,.1);color:var(--primary-2)}.stack-list{display:flex;flex-direction:column;gap:10px}.list-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--border);background:var(--panel);border-radius:var(--radius-md);transition:background .15s ease,border-color .15s ease}.deposit-history-card{min-width:0}.deposit-history-main{min-width:0;flex:1}.deposit-reference{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deposit-history-card .align-right{flex:0 0 auto;min-width:max-content}.list-card:hover{background:var(--surface-raised);border-color:rgba(167,139,250,.24)}.list-card strong{display:block}.list-card span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.align-right{text-align:right;display:flex;align-items:flex-end;flex-direction:column;gap:6px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat-card{padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.stat-card span,.stat-card small{display:block;color:var(--muted)}.stat-card strong{display:block;font-size:20px;letter-spacing:-.03em;margin:6px 0}.stat-card.featured{max-width:440px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-card{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.service-card h3{margin:8px 0}.service-card p{color:var(--muted);font-size:13px;line-height:1.7}.service-footer{display:flex;justify-content:space-between;align-items:center}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.category-card{padding:18px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.category-card:hover{border-color:rgba(139,92,246,.35)}.category-card span,.category-card small{display:block}.category-card small{margin-top:6px;color:var(--muted);font-size:12px}.security-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.security-card{padding:22px;background:var(--surface);border:1px solid var(--border);border-radius:16px}.security-card h3{margin:0 0 8px}.security-card p{margin:0;color:var(--muted);line-height:1.7}.conversation{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.message{max-width:80%;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.message.mine{margin-left:auto;background:rgba(139,92,246,.10);border-color:rgba(139,92,246,.25)}.message-meta{display:flex;gap:10px;font-size:12px}.message-meta span{color:var(--muted)}.message p{margin:8px 0 0;white-space:pre-wrap}.inline-form{display:flex;gap:8px}.inline-form input{flex:1;background:var(--deep);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:12px}.notification-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--border);background:var(--panel);border-radius:var(--radius-md)}.notification-card.has-actions{grid-template-columns:34px minmax(0,1fr) auto}
.notification-card.unread{border-color:rgba(139,92,246,.3);background:rgba(139,92,246,.05)}.notification-card p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-card .button{min-height:32px;height:32px;padding:0 10px;font-size:12px}.notification-card .inline-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.notification-card .content-icon{width:34px;height:34px;min-width:34px;display:grid;place-items:center;border-radius:9px;background:rgba(139,92,246,.1);color:var(--primary-2)}.code-block{overflow:auto;padding:14px;border:1px solid var(--border);background:var(--deep);border-radius:12px;font-size:12px;color:#d4d6de}.switch-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:12px}.table-scroll{overflow:auto}.table-panel table{min-width:700px}.table-panel th,.table-panel td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border);font-size:13px;white-space:nowrap}.table-panel th{color:var(--muted);font-size:11px;text-transform:uppercase}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{border:0;background:transparent;color:var(--muted);padding:10px 12px;border-bottom:2px solid transparent}.tab.active{color:var(--text);border-bottom-color:var(--primary)}.tab-panel{display:none}.tab-panel.active{display:block}.rank{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--deep);font-weight:800}.ranking-list{display:flex;flex-direction:column;gap:10px}.ranking-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--border);background:var(--surface);border-radius:14px}.ranking-card div span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.faq-list details{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:0 16px;margin-bottom:10px}.faq-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:86px 1fr auto;align-items:center;gap:10px;padding:16px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:11px;color:var(--primary-2);font-weight:800;text-transform:uppercase}.faq-list details p{padding:0 0 18px;margin:0;color:var(--muted);line-height:1.8}.loading-visual{display:grid;place-items:center;color:var(--primary-2);margin-bottom:12px}.config-list{margin:18px 0;display:flex;flex-direction:column;gap:8px}.config-list div{display:flex;justify-content:space-between;gap:14px;padding:12px;border:1px solid var(--border);border-radius:12px}.config-list span{color:var(--muted)}
.icon{width:1.1em;height:1.1em;max-width:none;max-height:none;flex:0 0 auto}
.empty-state>.icon{width:44px;height:44px;max-width:44px;max-height:44px;margin:0 auto 12px;color:var(--primary-2)}
.security-card{min-width:0;overflow:hidden}
.security-card>svg{width:28px;height:28px;max-width:28px;max-height:28px;flex:0 0 28px;color:var(--primary-2);margin-bottom:14px}
.notification-card{min-width:0}
.notification-card>.content-icon{width:40px;height:40px;min-width:40px;min-height:40px}
.notification-card>.content-icon>.icon{width:22px;height:22px;max-width:22px;max-height:22px}
.notification-card>div:nth-child(2){min-width:0;overflow-wrap:anywhere}
.notification-card>div:nth-child(2)>strong{display:block;overflow-wrap:anywhere}
.notification-content{
  min-width:0;
}

.notification-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}

.notification-head strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.notification-head time{
  flex:0 0 auto;
  color:var(--muted);
  font-size:10px;
  line-height:1.3;
  white-space:nowrap;
}

.notification-card>.content-icon>.icon{
  width:19px;
  height:19px;
  max-width:19px;
  max-height:19px;
}

.notification-card p{overflow-wrap:anywhere;word-break:break-word}


.analytics-custom{margin:12px 0;flex-wrap:wrap}
.small-value{font-size:16px!important;overflow-wrap:anywhere}

.panel,.summary-card,.info-card,.stat-card,.service-card,.category-card,.security-card{min-width:0}
.stat-card,.service-card,.category-card,.info-card,.summary-card{overflow-wrap:anywhere}
.stat-card strong,.service-card h3,.service-card p,.category-card span,.category-card small,.info-card strong,.info-card p{overflow-wrap:anywhere;word-break:break-word}
.service-card>div{min-width:0}
.service-footer{min-width:0;flex-wrap:wrap}
.align-right{min-width:0;max-width:100%}
.align-right>*{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
.summary-row>*{min-width:0;overflow-wrap:anywhere;word-break:break-word}

.thumbnail-preview{display:block;width:100%;max-width:360px;max-height:220px;object-fit:cover;border:1px solid var(--border);border-radius:12px;background:var(--deep);padding:4px}


/* =========================
   MODAL SYSTEM
   ========================= */
#modal-root{
  position:relative;
  z-index:9999;
}

.modal-backdrop{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(0,0,0,.76);
  z-index:var(--z-modal,100);
}

.modal{
  position:relative;
  width:min(100%,620px);
  max-height:min(92vh,860px);
  overflow:auto;
  overscroll-behavior:contain;
  background:var(--surface);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:0 24px 80px rgba(0,0,0,.45);
  padding:22px;
  scrollbar-width:thin;
}

.modal::-webkit-scrollbar{
  width:7px;
}

.modal::-webkit-scrollbar-thumb{
  background:var(--border);
  border-radius:999px;
}

.modal-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  background:rgba(255,255,255,.04);
}

body.no-scroll{
  overflow:hidden;
}

/* =========================
   PRODUCT CREATE / EDIT MODAL
   ========================= */
.product-form-modal{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.product-modal-head{
  padding-right:52px;
}

.product-modal-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--primary-2);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.11em;
}

.product-modal-head h2{
  margin:5px 0 6px;
  font-size:20px;
  line-height:1.15;
}

.product-modal-head p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}

.product-modal-section{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(255,255,255,.02);
}

.product-modal-section-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.product-modal-section-title strong{
  font-size:13px;
}

.product-modal-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.product-modal-grid .full{
  grid-column:1/-1;
}

.product-thumbnail-box{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:14px;
  align-items:center;
}

.product-thumbnail-preview{
  width:120px;
  height:90px;
  object-fit:cover;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--deep);
}

.product-thumbnail-empty{
  width:120px;
  height:90px;
  display:grid;
  place-items:center;
  border:1px dashed var(--border);
  border-radius:14px;
  background:var(--deep);
  color:var(--muted);
  font-size:11px;
  text-align:center;
  padding:10px;
}

.product-upload-info{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:7px;
}

.product-upload-info strong{
  font-size:13px;
}

.product-upload-info small{
  color:var(--muted);
  line-height:1.55;
}

.product-form-modal .thumbnail-preview{
  width:120px;
  height:90px;
  max-width:120px;
  max-height:90px;
  object-fit:cover;
  margin:0;
}

.product-form-modal [data-thumbnail-progress]{
  width:100%;
  height:7px;
  accent-color:var(--primary);
}

.product-modal-actions{
  position:sticky;
  bottom:-22px;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin:2px -22px -22px;
  padding:14px 22px 18px;
  background:linear-gradient(to top,var(--surface) 76%,transparent);
}

@media(max-width:600px){
  .modal-backdrop{
    padding:10px;
    align-items:flex-end;
  }

  .modal{
    width:100%;
    max-height:92vh;
    border-radius:18px 18px 14px 14px;
    padding:18px;
  }

  .product-modal-grid{
    grid-template-columns:1fr;
  }

  .product-modal-grid .full{
    grid-column:auto;
  }

  .product-thumbnail-box{
    grid-template-columns:1fr;
  }

  .product-thumbnail-preview,
  .product-thumbnail-empty,
  .product-form-modal .thumbnail-preview{
    width:100%;
    height:170px;
    max-width:none;
    max-height:170px;
  }

  .product-modal-actions{
    bottom:-18px;
    margin:2px -18px -18px;
    padding:12px 18px 16px;
  }

  .product-modal-actions .button{
    flex:1;
  }
}

.cart-count{
  position:absolute;
  top:4px;
  right:4px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--error);
  color:#fff;
  border:2px solid var(--deep);
  font-size:9px;
  font-weight:900;
  line-height:1;
}

.cart-count[hidden]{
  display:none!important;
}


/* =========================================================
   CUSTOMER UI POLISH
   ========================================================= */

.notification-button,
.cart-button{
  position:relative;
}

.notification-count{
  position:absolute;
  top:4px;
  right:4px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--error);
  color:#fff;
  border:2px solid var(--deep);
  font-size:9px;
  font-weight:900;
  line-height:1;
}

.notification-count[hidden]{
  display:none!important;
}

.search-section{
  margin-top:28px;
}

.search-section:first-child{
  margin-top:0;
}

.search-chip-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.search-loading{
  min-height:80px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
}

.empty-state.compact{
  min-height:110px;
}

@media(max-width:860px){
  .search-chip-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:480px){
  .search-chip-grid{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   PAGINATION
========================================================= */

.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:6px;
  margin:18px 0 4px;
}

.pagination-link{
  min-width:36px;
  height:36px;
  padding:0 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
  color:var(--text);
  font-size:14px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  transition:
    border-color .18s ease,
    background .18s ease,
    color .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}

.pagination-link:hover{
  border-color:var(--primary-2);
  transform:translateY(-1px);
}

.pagination-link.pagination-icon{
  width:36px;
  padding:0;
}

.pagination-link.active{
  border-color:var(--primary);
  background:var(--primary);
  color:#fff;
  box-shadow:0 8px 18px rgba(139,92,246,.22);
}

.pagination-link:focus-visible{
  outline:2px solid var(--primary-2);
  outline-offset:2px;
}

@media (max-width:520px){
  .pagination{
    gap:5px;
    margin-top:16px;
  }

  .pagination-link{
    min-width:34px;
    height:34px;
    padding:0 8px;
  }

  .pagination-link.pagination-icon{
    width:34px;
  }
}
/* =========================================================
   TOAST FEEDBACK
   ========================================================= */

#toast-root.toast-root{
  position:fixed;
  top:calc(var(--header) + 12px);
  right:16px;
  z-index:var(--z-toast);
  display:flex;
  flex-direction:column;
  gap:8px;
  width:min(420px,calc(100vw - 24px));
  pointer-events:none;
}

#toast-root .toast{
  pointer-events:auto;
  display:flex;
  align-items:flex-start;
  gap:10px;
  width:100%;
  padding:12px 14px;
  background:var(--surface);
  color:var(--text);
  border:1px solid var(--border-strong);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow);
  font-size:13px;
  line-height:1.45;
  overflow-wrap:anywhere;
}

#toast-root .toast.success{
  border-color:rgba(69,196,138,.32);
  background:rgba(69,196,138,.08);
}

#toast-root .toast.error{
  border-color:rgba(235,111,115,.32);
  background:rgba(235,111,115,.08);
}

#toast-root .toast.info{
  border-color:rgba(113,167,242,.32);
  background:rgba(113,167,242,.08);
}

@media(max-width:600px){
  #toast-root.toast-root{
    top:calc(var(--header) + 8px);
    right:12px;
    width:calc(100vw - 24px);
  }

  #toast-root .toast{
    padding:11px 12px;
    font-size:12px;
  }
}


/* =========================================================
   JYY'R GLOBAL PICKER ENGINE
   ========================================================= */

.jyyr-select{
  position:relative;
  width:100%;
  min-width:0;
}

.jyyr-select-trigger{
  width:100%;
  min-height:44px;
  height:44px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--deep);
  color:var(--text);
  font:inherit;
  cursor:pointer;
}

.jyyr-select-trigger:hover{
  border-color:var(--border-strong);
  background:var(--surface-raised);
}

.jyyr-select-trigger:focus-visible{
  outline:2px solid var(--primary-2);
  outline-offset:2px;
}

.jyyr-select-chevron{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-right:1.8px solid currentColor;
  border-bottom:1.8px solid currentColor;
  opacity:.72;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
}

.jyyr-select.open .jyyr-select-chevron{
  transform:rotate(225deg) translateY(-1px);
}

.jyyr-select-menu{
  position:fixed;
  z-index:10040;
  max-height:260px;
  overflow:auto;
  padding:6px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--surface);
  box-shadow:var(--shadow);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-7px) scale(.985);
  transform-origin:top center;
  will-change:opacity,transform;
  transition:
    opacity .18s ease,
    transform .20s cubic-bezier(.22,1,.36,1),
    visibility 0s linear .20s;
}

.jyyr-select.open .jyyr-select-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
  transition-delay:0s;
}

.jyyr-select-option{
  width:100%;
  min-height:40px;
  padding:0 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--text);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transform:translateX(0);
  transition:
    background .14s ease,
    color .14s ease,
    transform .14s ease;
}

.jyyr-select-option:hover,
.jyyr-select-option:focus-visible{
  background:rgba(139,92,246,.08);
  transform:translateX(2px);
  outline:0;
}

.jyyr-select-option.active{
  background:rgba(139,92,246,.12);
  color:var(--primary-2);
}

.jyyr-select-option.active::after{
  content:'✓';
  font-weight:800;
}

.jyyr-picker-input{
  width:100%;
  height:44px;
  padding:0 12px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--deep);
  color:var(--text);
  cursor:pointer;
}

.jyyr-picker-input:focus-visible{
  outline:2px solid var(--primary-2);
  outline-offset:2px;
}

.jyyr-date-field{
  width:100%;
  min-width:0;
}

.jyyr-picker-modal{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.jyyr-picker-head{
  padding-right:48px;
}

.jyyr-picker-kicker{
  color:var(--primary-2);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.jyyr-picker-head h2{
  margin:4px 0 0;
  font-size:20px;
}

.jyyr-calendar-nav{
  display:grid;
  grid-template-columns:44px 1fr 44px;
  align-items:center;
  gap:10px;
}

.jyyr-calendar-nav strong{
  text-align:center;
}

.jyyr-calendar-weekdays,
.jyyr-calendar{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
}

.jyyr-calendar-weekdays{
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  text-align:center;
}

.jyyr-calendar-day{
  min-height:40px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.jyyr-calendar-day:hover,
.jyyr-calendar-day:focus-visible{
  background:rgba(139,92,246,.08);
  border-color:var(--border-strong);
  outline:0;
}

.jyyr-calendar-day.active{
  background:var(--action);
  color:var(--on-action);
}

.jyyr-time-picker{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:10px;
  align-items:end;
}

.jyyr-time-column{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.jyyr-time-column>span{
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.jyyr-stepper{
  display:grid;
  grid-template-columns:44px 1fr 44px;
  align-items:center;
  gap:8px;
}

.jyyr-stepper button{
  width:44px;
  height:44px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--deep);
  color:var(--text);
  font:inherit;
  font-size:18px;
  cursor:pointer;
}

.jyyr-stepper strong{
  text-align:center;
  font-size:20px;
}

.jyyr-time-separator{
  padding-bottom:11px;
  font-size:24px;
  font-weight:800;
}

.jyyr-time-presets{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}

.jyyr-time-preset{
  min-height:50px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--deep);
  color:var(--text);
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

.jyyr-time-preset small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:10px;
}

.jyyr-picker-preview{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:rgba(167,139,250,.05);
}

.jyyr-picker-preview span{
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

.jyyr-picker-preview strong{
  text-align:right;
  font-size:13px;
}

.jyyr-picker-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}

.jyyr-file-picker{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--deep);
}

.jyyr-file-picker-main{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.jyyr-file-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:12px;
}

.jyyr-file-picker.has-file .jyyr-file-name{
  color:var(--text);
}

.jyyr-file-trigger{
  min-width:110px;
}

.jyyr-file-clear{
  min-width:72px;
}

.jyyr-native-file-input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  opacity:0!important;
}

.chart-grid .section-header .jyyr-select{
  width:auto;
  min-width:150px;
}

@media(max-width:700px){
  .chart-grid .section-header .jyyr-select{
    width:100%;
    min-width:0;
  }
}

@media(max-width:600px){
  .jyyr-time-presets{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .jyyr-picker-actions{
    flex-direction:column-reverse;
  }

  .jyyr-picker-actions .button{
    width:100%;
  }

  .jyyr-file-picker{
    grid-template-columns:1fr;
  }

  .jyyr-file-picker-main{
    flex-direction:column;
    align-items:stretch;
  }

  .jyyr-file-trigger,
  .jyyr-file-clear{
    width:100%;
  }

  .jyyr-file-name{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}
