
/* Page view integrated into native PlayServs main shell; all colors use panel theme vars. */
body.voucher-page-active .shell.role-admin .content > :not(#voucher-page){display:none!important}
body.voucher-page-active .shell.role-admin .nav-item.active:not([data-voucher-addon]){background:transparent!important;box-shadow:none!important;border-color:transparent!important}
#voucher-page{display:block!important;width:100%;max-width:100%;color:var(--text);font:inherit;box-sizing:border-box}
#voucher-page *{box-sizing:border-box}
#voucher-page .voucher-page-head h1{font-size:24px;margin:0 0 7px}
#voucher-page .voucher-page-head p{font-size:13px;color:var(--muted);line-height:1.55}
#voucher-page .voucher-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
#voucher-page .voucher-stat{background:var(--surface,var(--panel));border:1px solid var(--line);border-radius:14px;padding:20px 18px}
#voucher-page .voucher-stat strong{display:block;font-size:25px;color:var(--text)}
#voucher-page .voucher-stat span{display:block;font-size:13px;margin-top:5px;color:var(--muted)}
#voucher-page .voucher-section{background:var(--surface,var(--panel));border:1px solid var(--line);border-radius:14px;padding:22px;margin-bottom:20px}
#voucher-page .voucher-section h2{font-size:18px;margin:0}
#voucher-page .voucher-section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:17px}
#voucher-page .voucher-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:18px}
#voucher-page label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:var(--text)}
#voucher-page input,#voucher-page select,#voucher-page textarea{border:1px solid var(--line);background:var(--input,var(--surface-2));color:var(--text);border-radius:9px;padding:11px 12px;min-width:0;width:100%;font:inherit;font-size:14px;outline:none}
#voucher-page input:focus,#voucher-page select:focus,#voucher-page textarea:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px var(--accent-soft)}
#voucher-page button{font:inherit;cursor:pointer}
#voucher-page button:disabled{opacity:.45;cursor:not-allowed}
#voucher-page .voucher-primary{color:#fff;font-weight:700;padding:12px 19px;border:1px solid var(--accent-border);border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--purple2,#5024ab))}
#voucher-page .voucher-muted-btn,#voucher-page .voucher-pagebuttons button,#voucher-page .voucher-actions button,#voucher-page .voucher-row-actions button{padding:9px 12px;background:var(--surface-3,var(--panel2));color:var(--text);border:1px solid var(--line);border-radius:9px;font-size:13px}
#voucher-page .voucher-muted-btn:hover,#voucher-page .voucher-pagebuttons button:hover:not(:disabled),#voucher-page .voucher-actions button:hover,#voucher-page .voucher-row-actions button:hover{border-color:var(--accent-border);background:var(--accent-soft)}
#voucher-page .voucher-row-actions{display:flex;flex-wrap:wrap;gap:6px}
#voucher-page .voucher-row-actions .danger{color:#e99a9a}
#voucher-page .voucher-note{color:var(--muted);font-size:12px;line-height:1.6;margin:12px 0}
#voucher-page #addon-v-message{font-size:13px;color:#3bbf98}
#voucher-page #addon-v-message[data-error="true"]{color:#ef9292}
#voucher-page .voucher-filters{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) minmax(140px,.8fr) auto;gap:12px;align-items:end;margin-bottom:16px}
#voucher-page .voucher-filters>button{min-height:42px;white-space:nowrap}
#voucher-page .voucher-tablewrap{overflow:auto;width:100%;border:1px solid var(--line);border-radius:11px}
#voucher-page .voucher-table{border-collapse:collapse;width:100%;min-width:860px;font-size:13px}
#voucher-page .voucher-table th{background:var(--surface-2,var(--bg2));color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}
#voucher-page .voucher-table th,#voucher-page .voucher-table td{padding:13px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
#voucher-page .voucher-table tr:last-child td{border-bottom:none}
#voucher-page .voucher-code{font-size:13px;font-weight:650;letter-spacing:.01em;color:var(--text);white-space:nowrap}
#voucher-page .voucher-unrecoverable{color:var(--muted)}
#voucher-page .voucher-tag{display:block;color:#d69b6d;font-size:10px;margin-top:4px}
#voucher-page .voucher-status{display:inline-flex;border:1px solid var(--line);border-radius:99px;padding:5px 9px;font-size:11px;white-space:nowrap}
#voucher-page .status-available{background:rgba(43,175,122,.12);color:#3ac395}
#voucher-page .status-redeemed{background:var(--accent-soft);color:var(--accent-2)}
#voucher-page .status-cancelled{background:rgba(219,82,82,.10);color:#dc8c8c}
#voucher-page .voucher-empty{color:var(--muted);padding:32px!important;text-align:center!important}
#voucher-page .voucher-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:13px;padding-top:18px}
#voucher-page .voucher-pagination p{margin:0;color:var(--muted);font-size:13px}
#voucher-page .voucher-pagebuttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#voucher-page .voucher-pagebuttons span{color:var(--muted);font-size:13px;padding:0 6px}
#voucher-page .voucher-issued{margin:14px 0;border:1px dashed var(--accent-border);border-radius:12px;padding:14px;background:var(--accent-soft)}
#voucher-page .voucher-issued strong{display:block;margin-bottom:9px}
#voucher-page .voucher-issued textarea{font-family:monospace;resize:vertical}
#voucher-page .voucher-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:950px){#voucher-page .voucher-filters{grid-template-columns:1fr 1fr}}
@media(max-width:680px){#voucher-page .voucher-summary{grid-template-columns:1fr 1fr;gap:8px}#voucher-page .voucher-stat{padding:14px}#voucher-page .voucher-section{padding:14px}#voucher-page .voucher-fields,#voucher-page .voucher-filters{grid-template-columns:1fr}#voucher-page .voucher-page-head h1{font-size:21px}#voucher-page .voucher-pagebuttons button{padding:7px 9px}}
