.benefits-section { margin:28px 0; padding:24px 0; border-top:1px solid var(--line,#25323b); min-width:0; }
#account-benefits .benefits-section { margin:24px 0 0; padding:20px 0 0; }
#benefits-code-form { margin-bottom:0; }
#account-benefits .benefits-status:empty { display:none; }
.benefits-section h2 { margin:0 0 8px; font-size:23px; font-weight:400; }
.benefits-section h3 { margin:0 0 6px; font-size:17px; font-weight:500; }
.benefits-section p { line-height:1.6; }
.benefits-form { display:grid; gap:14px; margin:18px 0; }
.benefits-form label { display:grid; gap:8px; font-size:14px; }
.benefits-form input,.benefits-form select,.benefits-link { box-sizing:border-box; width:100%; min-width:0; min-height:46px; padding:11px 14px; border:1px solid var(--line,#31404b); border-radius:12px; background:var(--panel,#0b1117); color:inherit; font:inherit; font-size:16px; }
.benefits-form input:focus,.benefits-form select:focus { outline:2px solid #9acbdf; outline-offset:3px; }
.benefits-inline { display:flex; gap:10px; align-items:end; }
.benefits-inline label { flex:1; }
.benefits-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.benefits-actions .btn { min-height:44px; }
.benefits-list { display:grid; gap:12px; padding:0; list-style:none; }
.benefits-card { min-width:0; padding:18px; border:1px solid var(--line,#31404b); border-radius:16px; background:rgba(112,153,178,.04); }
.benefits-card p { margin:6px 0; }
.benefits-status { min-height:24px; margin:10px 0; font-size:14px; color:var(--muted,#97adba); overflow-wrap:anywhere; }
.benefits-status[data-error="true"] { color:#eab1aa; }
.benefits-count { display:inline-block; padding:4px 10px; border-radius:20px; background:rgba(136,186,208,.12); font-size:13px; margin-bottom:8px; }
.benefits-confirm { border-left:3px solid #9acbdf; padding:16px 18px; background:rgba(112,153,178,.08); border-radius:0 12px 12px 0; margin:16px 0; }
.benefits-confirm [hidden],.benefits-section [hidden],.benefits-studio-panel [hidden] { display:none !important; }
.benefits-link { margin-top:12px; font-family:ui-monospace,monospace; font-size:12px; }
.benefits-studio-panel { padding:24px; max-width:1100px; }
.benefits-studio-panel h1 { margin:0 0 10px; font-size:27px; }
.benefits-studio-panel .benefits-form { max-width:650px; }
.benefits-studio-panel .benefits-form input,.benefits-studio-panel .benefits-form select { background:var(--panel,#fff); }
.benefits-studio-panel .benefits-status[data-error="true"] { color:#a03226; }
body[data-benefits-open="true"] .studio-body > .studio-panel { display:none !important; }
.benefits-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.benefits-table-wrap { max-width:100%; overflow:auto; }
.benefits-table { width:100%; border-collapse:collapse; font-size:14px; text-align:left; }
.benefits-table td,.benefits-table th { padding:12px 10px; border-bottom:1px solid var(--line,#ddd); overflow-wrap:anywhere; }
.benefits-codes { resize:vertical; box-sizing:border-box; width:100%; min-height:110px; padding:14px; border:1px solid var(--line,#ddd); border-radius:10px; background:transparent; color:inherit; font:13px/1.8 ui-monospace,monospace; }
@media (max-width:600px) { .benefits-inline { align-items:stretch; flex-direction:column; } .benefits-grid { grid-template-columns:minmax(0,1fr); } .benefits-card { padding:16px; } .benefits-studio-panel { padding:16px; } }
