/* Scoped to the points workspace and profile balance breakdown. */
.points-principles { padding: 18px 22px; background: #eef2f7; border-left: 3px solid #283960; margin-bottom: 24px; }
.points-principles p { margin: 6px 0 0; color: var(--text-secondary); line-height: 1.7; }
.points-toolbar { display: grid; grid-template-columns: minmax(200px,1fr) 150px auto; gap: 12px; align-items: center; }
.points-toolbar .admin-input { width: 100%; }
.points-code-table td { vertical-align: top; }
.points-code-table td:first-child { max-width: 250px; overflow-wrap: anywhere; }
.points-code-table td span,.points-code-table td code,.points-code-table td small { display: block; }
.points-code-table code { margin-top: 5px; font-size: 12px; overflow-wrap: anywhere; }
.points-code-table small { margin-top: 6px; color: var(--text-secondary); }
.points-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.points-state { font-size: 12px; font-weight: 600; color: #566176; }
.points-state--active { color: #236449; }.points-state--invalid { color: #a13131; }.points-state--scheduled { color: #285a93; }
.points-editor-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 22px; }
.points-editor-heading h3 { margin: 0 0 6px; font-size: 23px; }.points-editor-heading p { color: var(--text-secondary); margin: 0; }
.points-lock-note { padding: 14px 18px; background: #faf3e7; color: #684a22; margin-bottom: 20px; line-height: 1.7; }
.points-editor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, .42fr); gap: 24px; align-items: start; }
.points-editor fieldset { border: 0; padding: 0 0 24px; margin: 0 0 24px; border-bottom: 1px solid var(--border); min-width: 0; }
.points-editor legend { font-size: 18px; font-weight: 700; padding: 0 0 14px; }
.points-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.points-editor .admin-field { margin: 0 0 12px; min-width: 0; }.points-editor .admin-field label { display: block; margin-bottom: 8px; }
.points-editor .admin-input { width: 100%; min-width: 0; }.points-editor .admin-input:disabled { opacity: 1; color: #626b7b; background: #f0f2f5; }
.points-editor [hidden] { display: none !important; }.points-rule-preview { padding: 20px; background: #f2f5f9; line-height: 1.85; overflow-wrap: anywhere; }
.points-rule-preview h4 { margin: 0 0 12px; }.points-rule-preview p { margin: 0 0 12px; }
.points-savebar { grid-column: 1/-1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; align-items: center; padding: 16px 0; }
.points-savebar p { flex: 1; min-width: 160px; margin: 0; color: #a13131; }.points-savebar>div { display: flex; gap: 10px; }
.points-breakdown { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 14px; }.points-breakdown strong { margin-left: 8px; }
.points-batch-list { list-style: none; padding: 0; margin: 12px 0 0; }.points-batch-list li { display: flex; justify-content: space-between; gap: 18px; padding: 9px 0; border-top: 1px solid var(--border); flex-wrap: wrap; overflow-wrap: anywhere; }
.points-batch-list small { color: var(--text-secondary); }
@media(max-width: 1000px) { .points-editor { grid-template-columns: 1fr; }.points-rule-preview { grid-row: 2; }.points-code-table { font-size: 12px; } }
@media(max-width: 600px) {
 .points-toolbar { grid-template-columns: 1fr 130px; }.points-toolbar>button { grid-column: 1/-1; }
 .points-field-grid { grid-template-columns: 1fr; gap: 6px; }.points-editor-heading { flex-direction: column; }.points-editor { gap: 8px; }
 .points-code-table,.points-code-table tbody { display: block; width: 100%; }.points-code-table thead { display: none; }
 .points-code-table tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--border); }
 .points-code-table td { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 4px 12px; border: 0; padding: 8px 4px; font-size: 14px; }
 .points-code-table td:first-child { max-width: none; }.points-code-table td::before { content: attr(data-label); grid-column: 1; grid-row: 1/5; color: var(--text-secondary); }
 .points-code-table td>* { grid-column: 2; }
 .points-savebar>div { width: 100%; }.points-savebar button { flex: 1; }.points-rule-preview { padding: 16px; }
}
