#appView .purchase-mode { display:flex; gap:24px; border-bottom:1px solid #dce4eb; margin-bottom:20px; }
#appView .purchase-mode button { border:0; border-bottom:3px solid transparent; border-radius:0; background:none; padding:14px 0; color:#687584; font-size:15px; min-height:48px; }
#appView .purchase-mode button[aria-selected=true] { color:#1464d5; border-bottom-color:#1464d5; font-weight:600; }
#appView .addon-shop { background:#fff; padding:24px; min-width:0; }
#appView .addon-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:22px; }
#appView .addon-heading h2 { margin:0 0 8px; font-size:21px; letter-spacing:0; }
#appView .addon-heading p { margin:0; font-size:13px; color:#647282; line-height:1.7; }
#appView .addon-license { display:grid; grid-template-columns:minmax(220px,1fr) minmax(200px,1fr); gap:24px; padding:20px 0; border-block:1px solid #e6ebef; }
#appView .addon-license label, .addon-dialog label { display:grid; gap:8px; font-size:13px; }
#appView .addon-license select, #appView .addon-filters input, #appView .addon-filters select, .addon-dialog select { width:100%; min-width:0; min-height:42px; padding:9px 12px; border:1px solid #d4dee7; border-radius:4px; color:#243448; background:#fff; font:inherit; }
#appView [data-addon-license-info] { display:grid; align-content:center; gap:5px; font-size:12px; color:#697787; overflow-wrap:anywhere; }
#appView [data-addon-license-info] strong { color:#2e4257; font-size:14px; }
#appView .addon-filters { display:grid; grid-template-columns:minmax(160px,1fr) 160px 140px 44px; align-items:center; gap:12px; padding:20px 0; }
#appView .addon-search { position:relative; }
#appView .addon-search > svg { position:absolute; width:17px; left:12px; top:12px; color:#8391a0; }
#appView .addon-search input { padding-left:38px; }
#appView .addon-row { display:grid; grid-template-columns:minmax(230px,1fr) minmax(130px,180px) 110px 105px; gap:20px; align-items:center; padding:22px 0; border-top:1px solid #edf0f3; }
#appView .addon-product { display:flex; gap:14px; min-width:0; }
#appView .addon-product > div { min-width:0; }
#appView .addon-product h3 { margin:0 0 7px; color:#243448; font-size:15px; line-height:1.5; }
#appView .addon-product p { margin:0 0 8px; color:#617080; line-height:1.7; font-size:13px; overflow-wrap:anywhere; }
#appView .addon-product small, #appView .addon-state small, #appView .addon-price small { display:block; font-size:12px; line-height:1.6; color:#7a8695; }
#appView .addon-icon { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; background:#eef6ff; color:#2971cd; border-radius:6px; }
#appView .addon-icon img { max-width:32px; max-height:32px; object-fit:contain; }
#appView .addon-icon svg { width:23px; height:23px; }
#appView .addon-badge { display:inline-block; margin-bottom:6px; font-size:12px; color:#5f7182; }
#appView .addon-badge.is-owned, #appView .addon-badge.is-included { color:#178461; }
#appView .addon-badge.is-renewal { color:#b47814; }
#appView .addon-badge.is-blocked { color:#a44d53; }
#appView .addon-price strong, .addon-dialog .addon-price strong { color:#d3661e; font-size:20px; font-weight:650; }
#appView .addon-action { text-align:right; }
#appView .addon-action > span { color:#85929d; font-size:12px; }
#appView .addon-action button { white-space:nowrap; min-height:38px; padding:8px 13px; }
#appView .addon-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding-top:20px; border-top:1px solid #e6ebef; color:#7c8996; font-size:12px; }
#appView .addon-feedback { background:#edf8f3; color:#187255; padding:12px 14px; margin-top:16px; font-size:13px; }
#appView .addon-feedback.is-error { background:#fff1f0; color:#a33339; }
.addon-dialog { box-sizing:border-box; width:min(480px,calc(100% - 32px)); max-height:calc(100dvh - 40px); border:1px solid #dce4eb; border-radius:8px; padding:24px; color:#243448; box-shadow:0 16px 64px #132b4233; font-family:inherit; overflow:auto; }
.addon-dialog::backdrop { background:#15293a66; }
.addon-dialog form { margin:0; }
.addon-dialog header { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.addon-dialog h2 { font-size:19px; margin:0; letter-spacing:0; }
.addon-dialog header button { display:grid; place-items:center; height:36px; width:36px; border:0; background:none; }
.addon-dialog svg { width:18px; height:18px; }
.addon-dialog dl { margin:20px 0; }
.addon-dialog dl > div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:12px; padding:12px 0; border-bottom:1px solid #edf0f3; font-size:14px; }
.addon-dialog dt { color:#7b8794; }
.addon-dialog dd { margin:0; overflow-wrap:anywhere; }
.addon-dialog dd small { display:block; font-size:12px; color:#738394; margin-top:4px; }
.addon-dialog footer { display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:22px; }
.addon-dialog footer button { width:auto; flex:0 0 auto; white-space:nowrap; }
.addon-dialog .primary-action, .addon-dialog .mini-action { display:inline-flex; justify-content:center; align-items:center; min-width:0; min-height:42px; margin:0; padding:9px 16px; border-radius:4px; font-size:14px; line-height:22px; text-decoration:none; cursor:pointer; }
.addon-dialog .primary-action { color:white; background:#1768d9; border:1px solid #1768d9; }
.addon-dialog .mini-action { color:#475d74; background:white; border:1px solid #d9e2eb; }
.addon-dialog [data-addon-result] { font-size:13px; margin-top:14px; line-height:1.8; overflow-wrap:anywhere; }
.addon-dialog .is-error { color:#b23843; }
.addon-dialog .addon-payment { display:grid; gap:10px; }
.addon-dialog button:disabled { opacity:.6; cursor:wait; }
@media(max-width:1150px) {
  #appView .addon-row { grid-template-columns:minmax(180px,1fr) 120px 100px; gap:16px; }
  #appView .addon-state { grid-column:1; grid-row:2; padding-left:58px; }
  #appView .addon-price { grid-column:2; grid-row:1; }
  #appView .addon-action { grid-column:3; grid-row:1; }
}
@media(max-width:600px) {
  #appView .addon-shop { padding:18px 14px; }
  #appView .addon-heading { align-items:flex-start; flex-direction:column; gap:12px; }
  #appView .addon-heading h2 { font-size:19px; }
  #appView .addon-license { grid-template-columns:minmax(0,1fr); gap:12px; }
  #appView .addon-filters { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px; gap:8px; }
  #appView .addon-search { grid-column:1/-1; }
  #appView .addon-filters select { font-size:13px; padding-inline:8px; }
  #appView .addon-row { grid-template-columns:minmax(0,1fr) 110px; gap:12px; }
  #appView .addon-product { grid-column:1/-1; }
  #appView .addon-state { grid-column:1/-1; grid-row:auto; padding-left:58px; }
  #appView .addon-price { grid-column:1; grid-row:auto; padding-left:58px; }
  #appView .addon-action { grid-column:2; grid-row:auto; }
  #appView .purchase-mode { gap:22px; }
  #appView .purchase-mode button { font-size:14px; }
  .addon-dialog { padding:20px; }
}
