

.pg-base-btn,
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 22px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  border: none;
  text-decoration: none;
  transition:all .3s;
}
.btn-primary {
  background: var(--primary, #6366f1);
  color: var(--on-primary, #fff);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
}
.btn-primary:hover {
  background: var(--primary-h, var(--primary, #6366f1));
  color: var(--on-primary, #fff);
  transform: translateY(-1px);
}
.btn-outline {
  background: transparent;
  color: var(--text, #16111f);
  border: 1px solid var(--border, var(--border-color, rgba(0, 0, 0, .14)));
}
.btn-outline:hover { background: var(--bg-card, var(--surface, #fff)); }

.err { padding: 80px 20px; text-align: center; color: var(--text, #16111f); }
.err-code { font-size: clamp(5rem, 15vw, 8rem); font-weight: 900; color: var(--primary, #6366f1); line-height: 1; margin-bottom: 16px; }
.err h1 { margin-bottom: 12px; color: var(--text, #16111f); }
.err p { margin-bottom: 36px; max-width: 420px; margin-left: auto; margin-right: auto; color: var(--text-2, var(--text-muted, #6e6580)); }

.auth { max-width: 402px; margin: 60px auto; padding: 0 20px; }
.auth-card {
  background: var(--bg-card, var(--surface, #fff));
  border: 1px solid var(--border, var(--border-color, rgba(0, 0, 0, .14)));
  border-radius: var(--radius, 14px);
  box-shadow: var(--shadow, 0 4px 18px rgba(0, 0, 0, .07));
  padding: 30px;
  text-align: center;
  color: var(--text, #16111f);
}
.auth-card h1 { font-size: 1.5rem; margin-bottom: 10px; color: var(--text, #16111f); }
.auth-sub { font-size: 14px; color: var(--text-2, var(--text-muted, #6e6580)); margin-bottom: 20px; }
.auth-label { display: block; text-align: left; font-size: 13px; color: var(--text-2, var(--text-muted, #6e6580)); margin-bottom: 10px; }
.auth-field {
  display: block;
  width: 100%;
  height: 46px;
  padding: 0 15px;
  margin-bottom: 15px;
  border: 1px solid var(--border, var(--border-color, rgba(0, 0, 0, .14)));
  border-radius: 8px;
  background: var(--bg, var(--surface, #fff));
  color: var(--text, #16111f);
  font-size: 15px;
  font-family: inherit;
  outline: none;
  box-sizing: border-box;
}
.auth-field:focus { border-color: var(--primary, #6366f1); }
.auth .btn { width: 100%; height: 46px; }
.auth-sep { display: flex; align-items: center; gap: 10px; margin: 20px 0; color: var(--text-2, var(--text-muted, #6e6580)); font-size: 12px; }
.auth-sep::before, .auth-sep::after { content: ""; flex: 1; height: 1px; background: var(--border, var(--border-color, rgba(0, 0, 0, .14))); }
.auth-alt {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 0 15px;
  height: 46px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  border: 1px solid var(--border, var(--border-color, rgba(0, 0, 0, .14)));
  color: var(--text, #16111f);
  background: transparent;
  text-decoration: none;
  margin-bottom: 10px;
}
.auth-alt:hover { background: var(--bg, var(--surface, #fff)); }
.auth-terms { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--border, var(--border-color, rgba(0, 0, 0, .14))); font-size: 11px; line-height: 1.5; color: var(--text-2, var(--text-muted, #6e6580)); text-align: center; }
.auth-terms a { color: var(--primary, #6366f1); text-decoration: none; }
.auth-terms a:hover { text-decoration: underline; }
.auth-secure { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 12px; font-size: 12px; color: var(--text-2, var(--text-muted, #6e6580)); }
.auth-secure i { color: var(--success, #16a34a); }

.psk-notify { padding:10px 15px; border-radius:8px; margin-bottom:15px; font-size:14px; text-align:center; }
.psk-notify--error { background:var(--danger-bg, rgba(210,63,63,.12)); color:var(--danger, #d23f3f); }
.psk-notify--success { background:var(--success-bg, rgba(31,157,87,.12)); color:var(--success, #1f9d57); }
.psk-profile { max-width:860px; margin:40px auto; padding:0 16px; }
.psk-card { background:var(--bg-card, var(--surface, #fff)); border-radius:14px; border:1px solid var(--border); box-shadow:var(--shadow, 0 4px 18px rgba(0,0,0,.07)); padding:28px 32px; margin-bottom:20px; }
.psk-card-title { font-size:15px; font-weight:700; color:var(--text); margin:0 0 20px; padding-bottom:14px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:8px; }
.psk-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.psk-field { display:flex; flex-direction:column; gap:5px; }
.psk-label { font-size:12px; font-weight:600; color:var(--text-2, var(--text-muted, #6e6580)); text-transform:uppercase; letter-spacing:.4px; }
.psk-input { padding:10px 14px; border:1px solid var(--border); border-radius:8px; font-size:14px; line-height:1.5; color:var(--text); background:var(--bg-card, var(--surface, #fff)); outline:none; transition:all .3s; width:100%; box-sizing:border-box; }
.psk-input:focus { border-color:var(--primary); }
.psk-input[readonly] { background:var(--bg); color:var(--text-2, var(--text-muted, #6e6580)); cursor:not-allowed; }
.psk-avatar-wrap { display:flex; align-items:center; gap:20px; margin-bottom:20px; }
.psk-avatar-img { width:80px; height:80px; border-radius:50%; object-fit:cover; border:2px solid var(--border); flex-shrink:0; }
.psk-avatar-btns { display:flex; flex-direction:column; align-items:stretch; gap:8px; min-width:0; }
.psk-avatar-btns .psk-btn { white-space:nowrap; text-align:center; }
.psk-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:9px 18px; border-radius:8px; font-size:13px; font-weight:600; cursor:pointer; border:none; transition:all .3s; text-decoration:none; }
.psk-btn-primary { background:var(--primary); color:var(--on-primary, #fff); }
.psk-btn-primary:hover { background:var(--primary-h, var(--primary, #6366f1)); }
.psk-btn-outline { background:transparent; border:1px solid var(--border); color:var(--text); }
.psk-btn-outline:hover { background:var(--bg); }
.psk-btn-danger { background:transparent; border:1px solid var(--danger-bd, rgba(210,63,63,.35)); color:var(--danger, #d23f3f); }
.psk-btn-danger:hover { background:var(--danger-bg, rgba(210,63,63,.12)); }
.psk-toggle-row { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--border); }
.psk-toggle-row:last-child { border-bottom:none; }
.psk-toggle-info { display:flex; flex-direction:column; gap:2px; }
.psk-toggle-label { font-size:14px; font-weight:500; color:var(--text); }
.psk-toggle-desc { font-size:12px; color:var(--text-2, var(--text-muted, #6e6580)); }
.psk-switch { position:relative; display:inline-block; width:40px; height:22px; flex-shrink:0; }
.psk-switch input { opacity:0; width:0; height:0; }
.psk-slider { position:absolute; inset:0; background:var(--track, var(--border, #cbd2dc)); border-radius:22px; transition:all .3s; cursor:pointer; }
.psk-slider:before { content:''; position:absolute; width:16px; height:16px; left:3px; top:3px; background:var(--knob, #fff); border-radius:50%; transition:all .3s; }
.psk-switch input:checked + .psk-slider { background:var(--primary); }
.psk-switch input:checked + .psk-slider:before { transform:translateX(18px); }
.psk-switch input:disabled + .psk-slider { opacity:.4; cursor:not-allowed; }
.psk-conn { display:flex; align-items:center; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--border); }
.psk-conn:last-child { border-bottom:none; }
.psk-conn-left { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:500; color:var(--text); }
.psk-conn-badge { font-size:11px; font-weight:600; padding:3px 8px; border-radius:20px; }
.psk-badge-ok { background:var(--success-bg, rgba(31,157,87,.12)); color:var(--success, #1f9d57); }
.psk-badge-no { background:var(--bg-soft); color:var(--text-2, var(--text-muted, #6e6580)); }
.psk-pass-section { display:none; }
.psk-pass-section.visible { display:block; padding-top:16px; margin-bottom:6px; border-bottom:1px solid var(--border); }
.psk-bottom-bar { display:flex; justify-content:space-between; align-items:center; padding-top:20px; border-top:1px solid var(--border); margin-top:4px; }
.psk-bottom-actions { display:flex; gap:10px; align-items:center; }
.psk-logout { color:var(--danger, #d23f3f); font-size:13px; font-weight:600; text-decoration:none; }
.psk-logout:hover { text-decoration:underline; }
.psk-readonly { padding:10px 14px; border:1px solid var(--border); border-radius:8px; font-size:14px; line-height:1.5; color:var(--text-2, var(--text-muted, #6e6580)); background:var(--bg); width:100%; box-sizing:border-box; }
.psk-file-hidden { display:none; }
.psk-btn-sm { font-size:12px; padding:6px 14px; }
.psk-modal { position:fixed; inset:0; background:var(--overlay); display:none; align-items:center; justify-content:center; z-index:9999; }
.psk-modal-box { background:var(--bg-card, var(--surface, #fff)); padding:20px; border-radius:14px; max-width:500px; width:92%; text-align:center; }
.psk-modal-box.sm { max-width:380px; padding:30px; }
.psk-crop-area { max-height:380px; overflow:hidden; margin-bottom:16px; }
.psk-crop-area img { max-width:100%; }
.psk-modal-actions { display:flex; justify-content:space-between; gap:10px; }
.psk-modal-actions .psk-btn { flex:1; }
.psk-modal-title { margin:0 0 8px; }
.psk-modal-desc { font-size:13px; color:var(--text-2, var(--text-muted, #6e6580)); margin-bottom:20px; }
.psk-modal-input { width:100%; padding:14px; border-radius:8px; border:1px solid var(--border); background:var(--bg); color:var(--text); font-size:16px; text-align:center; letter-spacing:2px; margin-bottom:16px; box-sizing:border-box; outline:none; }
.psk-btn-tg { flex:1; background:#2AABEE; color:var(--on-primary, #fff); border:none; border-radius:8px; padding:10px; font-weight:600; font-size:14px; cursor:pointer; }
.psk-form-error { color:var(--danger, #d23f3f); font-size:13px; margin-bottom:12px; }
.psk-preview-bar { position:fixed; left:50%; bottom:20px; transform:translateX(-50%); z-index:99999; display:flex; align-items:center; gap:14px; background:#111827; color:var(--on-primary, #fff); padding:10px 18px; border-radius:30px; box-shadow:0 10px 30px rgba(0,0,0,.35); font-size:14px; max-width:92vw; }
.psk-preview-bar b { color:#a3ff00; }
.psk-preview-bar a { color:var(--on-primary, #fff); text-decoration:underline; font-size:13px; white-space:nowrap; }
.psk-acc { max-width: 1140px; margin: 40px auto; padding: 0 16px; }
.psk-acc-layout { display: grid; grid-template-columns: 280px 1fr; gap: 20px; align-items: start; }
.psk-acc-side { background: var(--bg-card, var(--surface, #fff)); border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow, 0 4px 18px rgba(0,0,0,.07)); padding: 16px; position: sticky; top: 88px; }
.psk-acc-user { display: flex; gap: 12px; align-items: center; padding: 6px 6px 16px; border-bottom: 1px solid var(--border); margin-bottom: 12px; }
.psk-acc-ava { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: none; background: var(--bg-soft, var(--bg)); }
.psk-acc-user-info { min-width: 0; }
.psk-acc-user-name { font-weight: 700; font-size: 15px; line-height: 1.2; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.psk-acc-user-meta { font-size: 13px; line-height: 1.2; color: var(--text-2, var(--text-muted, #6e6580)); margin-top: 2px; }
.psk-acc-nav { display: flex; flex-direction: column; gap: 3px; }
.psk-acc-link { display: flex; align-items: center; gap: 11px; padding: 11px 13px; border-radius: 10px; border: none; background: none; color: var(--text-2, var(--text-muted, #6e6580)); font-size: 14px; font-weight: 600; cursor: pointer; text-align: left; width: 100%; text-decoration: none; font-family: inherit; transition:all .3s; }
.psk-acc-link i { width: 18px; text-align: center; font-size: 15px; }
.psk-acc-link:hover { background: var(--bg-soft, var(--bg)); color: var(--text); }
.psk-acc-link.is-active { background: color-mix(in srgb, var(--primary) 12%, transparent); color: var(--primary); }
.psk-acc-logout { color: var(--primary); margin-top: 10px; padding-top: 16px; border-top: 1px solid var(--border); border-radius: 0; }
.psk-acc-main { background: var(--bg-card, var(--surface, #fff)); border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow, 0 4px 18px rgba(0,0,0,.07)); padding: 28px 32px; min-height: 320px; }
.psk-acc-section { display: none; animation: pskFade .18s ease; }
.psk-acc-section.is-active { display: block; }
.psk-acc-h { font-size: 20px; font-weight: 700; color: var(--text); margin: 0 0 4px; }
.psk-acc-sub { font-size: 14px; color: var(--text-2, var(--text-muted, #6e6580)); margin: 0 0 22px; }
.psk-acc-save { margin-top: 24px; }
.psk-acc-save .psk-btn { padding: 11px 28px; font-size: 14px; min-height: 43px; }
.psk-acc-section .psk-row { margin-bottom: 18px; }
.psk-acc-section .psk-row:last-child { margin-bottom: 0; }
.psk-fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
.psk-fgrid > .psk-field:first-child:nth-last-child(3) { grid-column: 1 / -1; }
.psk-acc-conn-title { font-size: 13px; font-weight: 700; color: var(--text); margin: 22px 0 10px; }
.psk-acc-admin { color: var(--text-2, var(--text-muted, #6e6580)); }
.psk-conn-ico-g { color: #ea4335; width: 18px; }
.psk-conn-ico-t { color: #2aabee; width: 18px; }
.psk-field-empty { display: none; }
.psk-informer { position: relative; background: var(--primary, #6366f1); color: var(--on-primary, #fff); font-size: 13px; }
.psk-informer-in { max-width: 1200px; margin: 0 auto; padding: 9px 46px; display: flex; align-items: center; justify-content: center; gap: 9px; text-align: center; line-height: 1.4; }
.psk-informer-in > i { font-size: 13px; opacity: .9; flex: none; }
.psk-informer-text, .psk-informer-link { color: inherit; }
.psk-informer-link { text-decoration: underline; font-weight: 600; }
.psk-informer-link:hover { text-decoration: none; }
.psk-informer-x { position: absolute; top: 50%; right: 12px; transform: translateY(-50%); background: none; border: 0; color: inherit; opacity: .7; cursor: pointer; font-size: 14px; line-height: 1; padding: 4px 6px; }
.psk-informer-x:hover { opacity: 1; }
.psk-informer.is-closing { display: none; }

.pg-welcome { max-width: 760px; margin: 80px auto; padding: 0 24px; text-align: center; }
.pg-welcome-h { font-size: clamp(28px, 5vw, 44px); font-weight: 800; color: var(--text, #16111f); margin: 0 0 16px; }
.pg-welcome-p { font-size: 16px; color: var(--text-2, var(--text-muted, #6e6580)); line-height: 1.6; margin: 0; }

.psk-bn { position: relative; min-height: 260px; display: flex; align-items: center; background-color: #14121a; background-image: var(--bn, linear-gradient(135deg, #1b1824, #100e16)); background-size: cover; background-position: center; background-repeat: no-repeat; border-radius: 18px; overflow: hidden; margin: 40px 0; }
.psk-bn::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 60%, rgba(0,0,0,0) 100%); z-index: 1; }
.psk-bn-link { position: absolute; inset: 0; z-index: 3; }
.psk-bn-body { position: relative; z-index: 2; max-width: 480px; padding: 40px clamp(24px, 5vw, 56px); color: #fff; }
.psk-bn-title { font-size: clamp(22px, 3vw, 32px); font-weight: 800; line-height: 1.2; margin: 0 0 10px; }
.psk-bn-sub { font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.82); margin: 0 0 20px; }
.psk-bn-btn { position: relative; z-index: 3; display: inline-flex; align-items: center; gap: 8px; padding: 12px 26px; border-radius: 999px; background: #fff; color: #14121a; font-weight: 700; font-size: 14px; text-decoration: none; transition:all .3s; }
.psk-bn-btn:hover { transform: translateY(-2px); opacity: .92; }
@media (max-width: 640px) { .psk-bn { min-height: 200px; margin: 24px 0; } .psk-bn-body { max-width: 100%; padding: 28px 20px; } }

[data-nav] a { white-space: nowrap; }

.site-foot-legal { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 18px; padding: 14px 24px; font-size: 13px; line-height: 1.5; }
.site-foot-legal-a { text-decoration: none; white-space: nowrap; }

[data-nav] .site-nav-item { position: relative; display: inline-flex; align-items: center; }

[data-nav] .site-submenu { position: absolute; top: 100%; left: 0; z-index: 60; display: none; flex-direction: column; min-width: 190px; padding: 8px 0 6px; background: var(--bg, var(--bg-soft, Canvas)); color: var(--text, CanvasText); border: 1px solid var(--border, var(--border-color, color-mix(in srgb, CanvasText 16%, transparent))); border-radius: 12px; box-shadow: 0 14px 36px color-mix(in srgb, CanvasText 18%, transparent); background-clip: padding-box; }
[data-nav] .site-nav-item:hover > .site-submenu, [data-nav] .site-nav-item:focus-within > .site-submenu { display: flex; }
[data-nav] .site-submenu .site-nav-item { display: block; }
[data-nav] .site-submenu a { display: block; padding: 8px 18px; white-space: nowrap; }
@media (max-width: 860px) {
  [data-nav] .site-submenu { position: static; display: flex; margin: 2px 0 4px 16px; padding: 0; min-width: 0; background: transparent; border: 0; box-shadow: none; }
}

html { overflow-x: clip; }
body { overflow-x: clip; }
.site-nav-head, .nav-toggle, [data-nav-overlay] { display: none; }
.site-nav-head { align-items: center; justify-content: space-between; }
.site-nav-title { font-weight: 700; font-size: 16px; }
.site-nav-close { background: none; border: 0; cursor: pointer; font-size: 20px; line-height: 1; color: inherit; padding: 4px; }

@media (max-width: 860px) {
  .nav-toggle { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 42px; height: 42px; padding: 0; background: none; border: 0; cursor: pointer; color: inherit; }
  .nav-toggle > span { display: block; width: 22px; height: 2px; margin: 0 auto; background: currentColor; border-radius: 2px; }

  [data-site-header] .site-nav {
    position: fixed; top: 0; right: 0; height: 100vh; height: 100dvh; z-index: 220;
    width: min(84vw, 320px); max-width: 320px;
    display: flex; flex-direction: column; align-items: stretch; gap: 0;
    margin: 0; padding: 18px;
    background: var(--bg, var(--bg-soft, Canvas)); color: var(--text, CanvasText);
    border-left: 1px solid var(--border, var(--border-color, color-mix(in srgb, CanvasText 14%, transparent)));
    box-shadow: -18px 0 50px color-mix(in srgb, CanvasText 22%, transparent);
    transform: translateX(100%); transition:all .3s;
    overflow-y: auto; overscroll-behavior: contain;
  }
  [data-site-header].nav-open .site-nav { transform: translateX(0); }
  [data-site-header] .site-nav .site-nav-head { display: flex; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--border, var(--border-color, color-mix(in srgb, CanvasText 12%, transparent))); }

  [data-nav] .site-nav-item { display: block; width: 100%; }
  [data-nav] .site-menu-link { display: block; padding: 12px 2px; font-size: 16px; border-bottom: 1px solid color-mix(in srgb, CanvasText 9%, transparent); }
  [data-site-header] .site-nav .site-account { margin-left: 0; }
  [data-site-header] .site-nav a.btn-primary, [data-site-header] .site-nav a.btn-primary:hover { color: var(--on-primary, #fff); }

  [data-nav-overlay] { display: block; position: fixed; inset: 0; z-index: 210; background: color-mix(in srgb, CanvasText 45%, transparent); opacity: 0; visibility: hidden; transition:all .3s; }
  body.nav-lock [data-nav-overlay] { opacity: 1; visibility: visible; }
  body.nav-lock { overflow: hidden; }
  html:has(body.nav-lock) { overflow: hidden; }
}

.layout-2col { display: grid; grid-template-columns: 260px 1fr; gap: 28px; align-items: start; }
.layout-2col.layout-aside-right { grid-template-columns: 1fr 260px; }
.layout-3col { display: grid; grid-template-columns: 220px 1fr 220px; gap: 24px; align-items: start; }
.layout-aside { min-width: 0; }
.layout-main { min-width: 0; }
@media (max-width: 860px) {
  .layout-2col, .layout-2col.layout-aside-right, .layout-3col { grid-template-columns: 1fr; }
}

.psk-codewrap { position: relative; margin: 14px 0; }
.psk-codewrap pre { margin: 0; background: #1e1f29; color: #e6e6e6; border-radius: 10px; padding: 16px 16px 16px 18px; overflow-x: auto; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13.5px; line-height: 1.6; }
.psk-codewrap pre code { background: none; color: inherit; padding: 0; font: inherit; }
.psk-code-copy { position: absolute; top: 8px; right: 8px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; font-size: 12px; font-weight: 600; color: #e6e6e6; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 7px; cursor: pointer; opacity: 0; transition:all .3s; }
.psk-codewrap:hover .psk-code-copy, .psk-code-copy:focus { opacity: 1; }
.psk-code-copy:hover { background: rgba(255,255,255,.2); }
.psk-code-copy.is-ok { background: #1f9d57; border-color: #1f9d57; }

.psk-codewrap .tok-tag { color: #7ee787; } .psk-codewrap .tok-attr { color: #79c0ff; }
.psk-codewrap .tok-str { color: #ffa657; } .psk-codewrap .tok-com { color: #8b949e; font-style: italic; }
.psk-codewrap .tok-punc { color: #c9d1d9; }

.site-account.site-account--in-nav { display: block; width: 100%; margin-top: 16px; position: static; }
.site-account--in-nav .btn { width: 100%; justify-content: center; }
.site-account--in-nav .site-account-btn { width: 100%; justify-content: space-between; }
.site-account--in-nav .site-account-menu { position: static; display: block; box-shadow: none; border: 0; padding: 4px 0 0; margin: 6px 0 0; min-width: 0; }
.site-account--in-nav .site-account-menu a { padding: 10px 2px; }

.psk-extra-list { display: flex; flex-direction: column; gap: 10px; margin: 20px 0; padding-top: 18px; border-top: 1px solid var(--border-color, #e5e7eb); }
.psk-extra-item { display: flex; gap: 10px; flex-wrap: wrap; font-size: 14px; line-height: 1.5; }
.psk-extra-item-k { flex: 0 0 auto; min-width: 140px; font-weight: 600; color: var(--text-muted, #6b7280); }
.psk-extra-item-v { flex: 1 1 200px; color: var(--text-main, #0f172a); }

.psk-badge-link { color: inherit; text-decoration: none; }
.psk-badge-link:hover { opacity: .75; }
.psk-badge-logo { display: inline-flex; align-items: center; gap: 5px; }
.psk-badge-logo .fa-paskad { font-size: 1.05em; }
.psk-badge-logo b { font-weight: 700; }
.psk-tickets{margin-top:28px;padding:20px;border:1px solid rgba(128,128,128,.2);border-radius:14px;display:flex;flex-direction:column;gap:14px;max-width:520px}
.psk-tk-title{font-size:19px;font-weight:700}
.psk-tk-list{display:flex;flex-direction:column;gap:10px}
.psk-tk-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid rgba(128,128,128,.18);border-radius:10px}
.psk-tk-row.is-sold{opacity:.55}
.psk-tk-info{flex:1;display:flex;flex-direction:column;gap:2px}
.psk-tk-name{font-weight:600}
.psk-tk-left{font-size:12px;opacity:.65}
.psk-tk-price{font-weight:700;white-space:nowrap}
.psk-tk-pick{width:96px;display:flex;justify-content:flex-end}
.psk-tk-qty{width:72px;height:42px;text-align:center;border:1px solid rgba(128,128,128,.35);border-radius:8px;background:transparent;color:inherit;font-size:15px}
.psk-tk-sold{font-size:13px;font-weight:600;color:#e11d48}
.psk-tk-fields{display:flex;flex-direction:column;gap:10px}
.psk-tk-in{height:44px;padding:0 14px;border:1px solid rgba(128,128,128,.35);border-radius:8px;background:transparent;color:inherit;font-size:15px;width:100%}
.psk-tk-pms{display:flex;flex-wrap:wrap;gap:10px}
.psk-tk-pm{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid rgba(128,128,128,.3);border-radius:8px;cursor:pointer;font-size:14px}
.psk-tk-btn{height:48px;padding:0 22px;border:none;border-radius:10px;background:#a3e635;color:#0d0e0f;font-weight:700;font-size:16px;cursor:pointer;align-self:flex-start;transition:all .3s}
.psk-tk-btn:hover{filter:brightness(1.06)}
.psk-tk-btn[aria-busy=true]{opacity:.6;cursor:progress}
.psk-tk-none{opacity:.7}
.psk-tk-err{margin-top:10px;padding:10px 14px;border-radius:8px;background:rgba(220,50,50,.12);color:#dc3232;font-size:14px;line-height:1.4}
.psk-tk-note{margin-top:12px;padding:12px 14px;border-radius:8px;background:rgba(120,120,120,.12);font-size:14px;line-height:1.4;opacity:.85}
@media(max-width:560px){.psk-tickets{padding:16px}.psk-tk-row{flex-wrap:wrap;gap:8px}.psk-tk-pick{width:100%;justify-content:flex-start}.psk-tk-btn{align-self:stretch;text-align:center}}
.psk-tkv{display:flex;justify-content:center;padding:40px 16px}
.psk-tkv-card{width:100%;max-width:420px;border:1px solid rgba(128,128,128,.2);border-radius:16px;padding:28px 24px;text-align:center;display:flex;flex-direction:column;gap:14px;align-items:center}
.psk-tkv-head{font-size:22px;font-weight:700}
.psk-tkv-meta{font-size:14px;opacity:.75;display:flex;gap:7px;align-items:center;justify-content:center}
.psk-tkv-qr{width:224px;height:224px;background:#fff;padding:8px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.psk-tkv-qr img,.psk-tkv-qr canvas{display:block;max-width:100%}
.psk-tkv-valid{font-weight:700;color:#16a34a;font-size:16px}
.psk-tkv-used{font-weight:700;color:#e11d48;font-size:16px}
.psk-tkv-err{font-weight:600;color:#e11d48}
.psk-tkv-wait{opacity:.8}
.psk-tkv-lines{width:100%;display:flex;flex-direction:column;gap:6px}
.psk-tkv-line{display:flex;justify-content:space-between;font-size:15px;border-bottom:1px solid rgba(128,128,128,.14);padding-bottom:6px}
.psk-tkv-total{font-weight:700;font-size:17px}
.psk-tkv-no{font-size:13px;opacity:.6;letter-spacing:1px}
.psk-seatmap{max-width:660px}
.seat-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;opacity:.85}
.seat-lg{display:inline-flex;align-items:center;gap:6px}
.evt-tier-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;margin:10px 0 4px}
.evt-tier-lg{display:inline-flex;align-items:center;gap:7px;font-weight:600}
.evt-tier-lg i{width:14px;height:14px;border-radius:4px;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.seat-lg .seat{width:18px;height:18px;min-width:18px;cursor:default;font-size:0}
.seat-stage{text-align:center;background:#334155;color:#fff;border-radius:12px;padding:11px 48px;margin:0 auto;width:-moz-fit-content;width:fit-content;max-width:100%;font-size:13px;font-weight:700;letter-spacing:4px;text-transform:uppercase;box-sizing:border-box}
.seat-map{display:flex;flex-direction:column;align-items:center;gap:16px;overflow-x:auto;padding-bottom:6px}
.seat-section{display:flex;flex-direction:column;align-items:center;gap:6px}
.seat-section-name{font-weight:700;font-size:14px}
.seat-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
.seat-row-label{width:22px;min-width:22px;font-size:12px;opacity:.55}
.seat{width:30px;height:30px;min-width:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;font-size:12px;font-weight:600;border:1px solid rgba(128,128,128,.35);cursor:pointer;transition:all .3s;position:relative}
.seat.is-free{background:rgba(22,163,74,.14);border-color:rgba(22,163,74,.4);color:#16a34a}
.seat.is-free input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.seat.is-sel{background:#a3e635;border-color:#a3e635;color:#0d0e0f}
.seat.is-sold{background:rgba(128,128,128,.22);border-color:transparent;color:#8a94a6;cursor:not-allowed}
.seat-summary{font-size:15px;padding:8px 0}
@media(max-width:560px){.seat{width:26px;height:26px;min-width:26px}}
.evt-seatmap-scroll{overflow-x:auto;max-width:100%;padding-bottom:6px}
.seat-map.evt-seatmap-free{display:block;position:relative;width:100%;height:440px;background-color:rgba(128,128,128,.05);border:1px solid rgba(128,128,128,.14);border-radius:12px;overflow:hidden}
.evt-hs-zonebook{flex-direction:column;gap:2px;padding:6px 8px;border-radius:10px;border:1px dashed var(--hs-bd,rgba(124,58,237,.6));background:var(--hs-bg,rgba(124,58,237,.1));color:var(--text,#111827);font-size:12px;line-height:1.15;overflow:hidden}
.evt-hs-zonebook.is-sold{opacity:.55}
.evt-zn-name{font-weight:700;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.evt-zn-price{font-weight:600;opacity:.85}
.evt-zn-ctrl{display:inline-flex;align-items:center;gap:4px;margin-top:2px}
.evt-zn-btn{width:24px;height:24px;border-radius:6px;border:1px solid rgba(128,128,128,.4);background:#fff;color:#111827;font-size:15px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.evt-zn-qty{width:44px;height:26px;text-align:center;border:1px solid rgba(128,128,128,.4);border-radius:6px;font-size:13px;padding:0 2px;-moz-appearance:textfield}
.evt-zn-qty::-webkit-outer-spin-button,.evt-zn-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.evt-hs{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;text-align:center;line-height:1.1;border-radius:50%;border:1px solid var(--hs-bd,rgba(128,128,128,.4));background:var(--hs-bg,rgba(22,163,74,.14));color:#16a34a;box-sizing:border-box;padding:2px}
.evt-hs.is-free{cursor:pointer;transition:all .3s}
.evt-hs.is-free input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.evt-hs.is-free:hover{border-color:#16a34a}
.evt-hs.is-sel{background:#a3e635;border-color:#a3e635;color:#0d0e0f}
.evt-hs.is-sold{background:rgba(128,128,128,.22);border-color:transparent;color:#8a94a6;cursor:not-allowed}
.evt-hs-table{font-weight:700}
.evt-hs-obstacle{border-radius:6px;background:rgba(128,128,128,.32);border-color:rgba(128,128,128,.5);color:#5f656b}
.evt-hs-label{border:1px solid var(--hs-bd,rgba(128,128,128,.3));background:var(--hs-bg,rgba(128,128,128,.14));color:inherit;font-weight:700;text-transform:uppercase;letter-spacing:1px;font-size:13px}
.evt-hs-zone{background:rgba(124,58,237,.12);border:1px dashed rgba(124,58,237,.6);color:inherit;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
