:root{--bg: #0f1115;--card: #1a1d24;--card-border: #2a2f3a;--text: #f5f6f8;--muted: #9aa3b2;--input-bg: #11141a;--input-border: #333a47;--accent: #6366f1;--accent-hover: #4f52d6;--error-bg: #3a1d22;--error-text: #ff9aa6;--error-border: #6e2b33;--shadow: 0 20px 50px rgba(0, 0, 0, .5)}:root[data-theme=light]{--bg: #f3f4f6;--card: #ffffff;--card-border: #e5e7eb;--text: #111827;--muted: #6b7280;--input-bg: #f9fafb;--input-border: #d1d5db;--accent: #6366f1;--accent-hover: #4f46e5;--error-bg: #fee2e2;--error-text: #b91c1c;--error-border: #fca5a5;--shadow: 0 20px 50px rgba(0, 0, 0, .12)}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans Ethiopic,Nyala,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);transition:background .2s ease,color .2s ease}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative}.top-controls{position:absolute;top:20px;right:20px;display:flex;gap:10px;align-items:center}.top-controls-left{position:absolute;top:20px;left:20px;display:flex;gap:10px;align-items:center}.lang-select{background:var(--card);color:var(--text);border:1px solid var(--card-border);border-radius:999px;padding:8px 14px;font-size:.85rem;cursor:pointer;font-family:inherit}.lang-select:hover{border-color:var(--accent)}.theme-toggle{background:var(--card);color:var(--text);border:1px solid var(--card-border);border-radius:999px;padding:8px 16px;font-size:.85rem;cursor:pointer;font-family:inherit}.theme-toggle:hover{border-color:var(--accent)}.auth-card{width:100%;max-width:400px;background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:36px 32px;box-shadow:var(--shadow)}.auth-brand{text-align:center;font-weight:700;letter-spacing:.05em;color:var(--accent);margin-bottom:8px}.auth-title{text-align:center;margin:0 0 4px;font-size:1.8rem}.auth-subtitle{text-align:center;color:var(--muted);margin:0 0 24px;font-size:.95rem}.auth-error{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border);border-radius:10px;padding:12px 14px;margin-bottom:18px;font-size:.9rem;text-align:center}.field{display:block;margin-bottom:18px}.field-label{display:block;margin-bottom:6px;font-size:.9rem;color:var(--muted)}.field input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);font-size:1rem;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f140}.password-wrap{position:relative}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;font-size:1.1rem;padding:4px 8px}.submit-btn{width:100%;padding:13px;margin-top:6px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:1.05rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease}.submit-btn:hover:not(:disabled){background:var(--accent-hover)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.register-shell{min-height:100vh;padding:20px 24px 40px;position:relative}.register-shell .top-controls,.register-shell .top-controls-left{position:static;top:auto;right:auto;left:auto;flex-wrap:wrap;justify-content:flex-end;max-width:1100px;margin:0 auto 16px}.register-layout{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}@media(max-width:860px){.register-layout{grid-template-columns:1fr}}.register-single{max-width:760px;margin:0 auto}.register-card,.members-card{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:28px;box-shadow:var(--shadow)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}@media(max-width:540px){.field-grid{grid-template-columns:1fr}}.field-grid .field{margin-bottom:0}.field-full{grid-column:1 / -1}.auth-success{background:#1d3a25;color:#9af0b4;border:1px solid #2b6e3c;border-radius:10px;padding:12px 14px;margin-bottom:18px;font-size:.9rem;text-align:center}:root[data-theme=light] .auth-success{background:#dcfce7;color:#166534;border-color:#86efac}.family-section{margin:26px 0 8px;padding-top:20px;border-top:1px solid var(--card-border)}.family-section>.field-label,.family-section>.family-header>.field-label{font-size:1.05rem;font-weight:700;color:var(--text);text-transform:none;letter-spacing:normal}.family-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.family-empty{color:var(--muted);font-size:.88rem;margin:4px 0 8px}.family-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-bottom:10px}.family-row input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);font-size:.95rem;font-family:inherit;outline:none}.family-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f140}.add-btn{background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:7px 14px;font-size:.85rem;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease}.add-btn:hover:not(:disabled){background:var(--accent);color:#fff}.remove-btn{background:transparent;color:var(--error-text);border:1px solid var(--error-border);border-radius:10px;padding:0 12px;font-size:1rem;cursor:pointer}.remove-btn:hover:not(:disabled){background:var(--error-bg)}.members-title{margin:0 0 16px;font-size:1.2rem}.members-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.member-item{border:1px solid var(--card-border);border-radius:12px;padding:12px 14px;background:var(--input-bg)}.member-name{font-weight:600;margin-bottom:4px;color:var(--text)}.member-name-lg{font-size:1.3rem;margin-bottom:8px}.members-toolbar{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;align-items:center}.search-input{flex:1;min-width:200px;padding:11px 14px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);font-size:1rem;font-family:inherit;outline:none}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f140}.field-select{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);font-size:1rem;font-family:inherit;outline:none;cursor:pointer}.field-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f140}.member-meta{color:var(--muted);font-size:.85rem;margin-top:2px}.member-item-btn{display:block;width:100%;text-align:left;cursor:pointer;color:var(--text);background:var(--input-bg);font-family:inherit;transition:border-color .15s ease,transform .05s ease}.member-item-btn:hover:not(:disabled){border-color:var(--accent)}.member-item-btn:active:not(:disabled){transform:scale(.995)}.member-item-btn:disabled{opacity:.6;cursor:default}.detail-name{font-size:2rem;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}@media(max-width:540px){.detail-name{font-size:1.5rem}}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin:16px 0 4px}@media(max-width:540px){.detail-grid{grid-template-columns:1fr}}.detail-item{margin:0;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--card-border);border-radius:14px;background:var(--input-bg);border-left:4px solid var(--accent);transition:border-color .15s ease,transform .08s ease}.detail-item:hover{border-color:var(--accent)}.detail-full{grid-column:1 / -1}.detail-item .field-label{margin:0;font-size:.82rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.detail-value{margin:0;font-size:1.25rem;font-weight:600;line-height:1.35;color:var(--text);word-break:break-word}.family-table{margin-top:12px;border:1px solid var(--card-border);border-radius:12px;overflow:hidden}.family-table-head,.family-table-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:13px 16px}.family-table-head{background:var(--input-bg);color:var(--muted);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.family-table-row{border-top:1px solid var(--card-border)}.family-cell-name{font-weight:600;font-size:1.05rem}.family-cell-relation{font-size:1.05rem}.family-cell-relation{color:var(--muted)}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.detail-toolbar-right{display:flex;gap:8px;flex-wrap:wrap}.small-btn{background:transparent;color:var(--text);border:1px solid var(--card-border);border-radius:999px;padding:7px 12px;font-size:.85rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.small-btn:hover:not(:disabled){border-color:var(--accent)}.small-btn-active{background:#111;color:#fff;border-color:#111}.deceased-check{display:flex;align-items:center;gap:8px;margin:16px 0 4px;font-size:.95rem;color:var(--text);cursor:pointer}.deceased-check input{width:18px;height:18px;cursor:pointer}.family-edit-row{display:grid;grid-template-columns:1fr 1fr auto auto;gap:10px;margin-bottom:10px;align-items:center}.family-edit-row input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);font-size:.95rem;font-family:inherit;outline:none}.family-edit-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f140}.deceased-badge{font-size:.8rem;font-weight:600;color:#fff;background:#111;border-radius:999px;padding:2px 8px;margin-left:6px;white-space:nowrap}.members-card.deceased,.member-item.deceased,.member-item-btn.deceased{--text: #f0f0f0;--muted: #aaaaaa;--card: #111111;--card-border: #333333;--input-bg: #1c1c1c;--input-border: #333333;background:#111!important;border-color:#2a2a2a!important;color:#f0f0f0!important}.members-card.deceased .auth-title,.members-card.deceased .member-name,.members-card.deceased .detail-value,.members-card.deceased .family-cell-name,.member-item-btn.deceased .member-name{color:#f0f0f0!important}.members-card.deceased .field-label,.members-card.deceased .auth-subtitle,.members-card.deceased .member-meta,.members-card.deceased .family-cell-relation,.member-item-btn.deceased .member-meta{color:#aaa!important}.members-card.deceased .detail-item{background:#1c1c1c!important;border-color:#333!important;border-left-color:#555!important}.members-card.deceased .detail-item .field-label{color:#aaa!important}.members-card.deceased .detail-item .detail-value{color:#f0f0f0!important}.members-card.deceased .family-table,.members-card.deceased .family-table-head,.members-card.deceased .family-table-row{border-color:#333!important}.members-card.deceased .family-table-head{background:#1c1c1c!important;color:#aaa!important}.members-card.deceased .family-table-row{background:#161616!important}.members-card.deceased input,.members-card.deceased select,.members-card.deceased textarea,.members-card.deceased .payment-add-row input,.members-card.deceased .payment-summary-btn{background:#1c1c1c!important;border-color:#333!important;color:#f0f0f0!important}.members-card.deceased .payment-count{background:#333!important;color:#f0f0f0!important}.members-card.deceased .payment-chip{background:#1c1c1c!important;border-color:#333!important;color:#f0f0f0!important}.members-card.deceased .payment-period,.members-card.deceased .deceased-check{color:#f0f0f0!important}.family-table-row.deceased,.family-edit-row.deceased{background:#111;border-radius:8px}.family-table-row.deceased .family-cell-name{color:#f0f0f0}.family-table-row.deceased .family-cell-relation{color:#aaa}.payment-add-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;margin:12px 0}.payment-add-row input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);font-size:.95rem;font-family:inherit;outline:none}.payment-add-row input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f140}.payment-missed-btn{padding:7px 14px;border-radius:999px;font-size:.85rem;white-space:nowrap}.payment-summary{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.payment-summary-btn{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);border-radius:12px;padding:10px 16px;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease}.payment-summary-btn:hover{border-color:var(--accent)}.payment-summary-paid{color:#1f9d55}.payment-summary-missed{color:var(--error-text)}.payment-summary-btn.open{border-color:var(--accent);box-shadow:0 0 0 3px #6366f133}.payment-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;font-size:.85rem;color:#fff}.payment-summary-paid .payment-count{background:#1f9d55}.payment-summary-missed .payment-count{background:#d9480f}.payment-detail{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--card-border)}.payment-resolved-tag{font-size:.78rem;color:var(--muted);font-style:italic}.payment-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.payment-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--card-border);border-radius:999px;padding:5px 6px 5px 12px;background:var(--input-bg);font-size:.85rem}.payment-status{font-weight:600}.payment-paid{color:#1f9d55}.payment-missed{color:var(--error-text)}.payment-resolved{color:var(--muted);text-decoration:line-through}.payment-period{color:var(--muted)}.payment-remove{border:none;background:transparent;color:var(--muted);cursor:pointer;font-size:.9rem;padding:0 4px;line-height:1}.payment-remove:hover:not(:disabled){color:var(--error-text)}.penalty-badge{font-size:.8rem;font-weight:600;color:#fff;background:#d9480f;border-radius:999px;padding:2px 10px;margin-left:8px;white-space:nowrap}.penalty-warn{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border);border-radius:10px;padding:10px 14px;margin:8px 0;font-size:.9rem}.penalty-clear-btn{width:auto;padding:9px 16px;margin-top:0;font-size:.9rem}.penalty-actions{display:flex;gap:8px;flex-wrap:wrap}.eliminate-btn{width:auto;padding:9px 16px;margin-top:0;font-size:.9rem;background:#c92a2a}.eliminate-btn:hover:not(:disabled){background:#a51111}.penalty-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--card-border);border-radius:12px;padding:12px 14px;background:var(--input-bg);flex-wrap:wrap}.penalty-info{cursor:pointer;flex:1;min-width:180px}.attendance-bulk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0;padding-bottom:16px;border-bottom:1px solid var(--card-border)}.attendance-count{margin-left:auto;color:var(--muted);font-size:.88rem}.attendance-search{margin-bottom:14px}.attendance-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.attendance-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--card-border);border-radius:12px;background:var(--input-bg)}.attendance-name{font-weight:600;color:var(--text)}.attendance-actions{display:flex;gap:8px}.att-toggle{border:1px solid var(--input-border);background:transparent;color:var(--muted);border-radius:999px;padding:7px 14px;font-size:.85rem;font-family:inherit;cursor:pointer;transition:all .12s ease}.att-toggle:hover:not(:disabled){border-color:var(--accent)}.att-paid.att-active{background:#1f9d55;border-color:#1f9d55;color:#fff}.att-missed.att-active{background:#d9480f;border-color:#d9480f;color:#fff}@media(max-width:720px){.register-shell{padding:14px 14px 32px}.register-shell .top-controls,.register-shell .top-controls-left{justify-content:center;gap:8px}.register-card,.members-card{padding:20px 16px}.auth-title{font-size:1.45rem}.theme-toggle,.lang-select{padding:7px 12px;font-size:.8rem}}@media(max-width:540px){.auth-shell{padding:72px 16px 24px}.top-controls,.top-controls-left{position:absolute;top:12px;gap:6px;flex-wrap:wrap}.top-controls{right:12px}.top-controls-left{left:12px}.auth-card{padding:28px 20px}.detail-toolbar{flex-direction:column;align-items:stretch}.detail-toolbar-right{width:100%}.detail-toolbar-right .add-btn,.detail-toolbar-right .small-btn{flex:1;text-align:center}.members-toolbar{flex-direction:column;align-items:stretch}.members-toolbar .add-btn{text-align:center}.family-row,.family-edit-row,.payment-add-row{grid-template-columns:1fr 1fr}.payment-add-row input,.family-row input,.family-edit-row input{grid-column:1 / -1}.attendance-row{flex-direction:column;align-items:stretch;gap:10px}.attendance-actions{width:100%}.att-toggle{flex:1;text-align:center}.attendance-bulk{gap:8px}.attendance-count{margin-left:0;width:100%;text-align:center}.penalty-item{flex-direction:column;align-items:stretch}.penalty-clear-btn,.eliminate-btn,.penalty-actions{width:100%}.penalty-actions .submit-btn{flex:1}.family-table-head,.family-table-row{padding:9px 10px}.member-name-lg{font-size:1.15rem}.detail-item{padding:12px 14px}.detail-value{font-size:1.1rem}.search-input,.field input,.field-select{font-size:16px}}@media(max-width:400px){.family-row,.family-edit-row,.payment-add-row{grid-template-columns:1fr}.family-row>*,.family-edit-row>*{grid-column:1 / -1}.payment-summary{flex-direction:column}.payment-summary-btn{justify-content:space-between}}
