:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}header{height:72px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;padding:0 28px;gap:28px;position:sticky;top:0;z-index:20}.brand-mark{font-weight:900;letter-spacing:.08em;font-size:20px}.subtitle{font-size:12px;color:#6b7280;margin-top:-2px}nav{display:flex;gap:8px;flex:1}nav button,.ghost{border:0;background:transparent;padding:10px 14px;border-radius:10px}nav button.active{background:#111827;color:#fff}.ghost{color:#6b7280}main{max-width:1280px;margin:0 auto;padding:28px}.page-head h1{margin:0;font-size:30px}.page-head p{margin:6px 0 24px;color:#6b7280}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px}.card span{display:block;color:#6b7280;font-size:13px;margin-bottom:8px}.card strong{font-size:26px}.toolbar{display:flex;gap:12px;margin:16px 0}.toolbar input,.toolbar select,.modal input,.modal select,.login-card input{border:1px solid #d1d5db;background:#fff;border-radius:10px;padding:11px 12px;outline:none}.toolbar input{min-width:300px}.table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:16px;overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid #eef0f3;white-space:nowrap}th{font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}tbody tr:last-child td{border-bottom:0}.clickable-row:hover{background:#fafafa;cursor:pointer}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.badge.good{background:#dcfce7;color:#166534}.badge.bad{background:#fee2e2;color:#991b1b}.badge.warn{background:#fef3c7;color:#92400e}.badge.neutral{background:#e5e7eb;color:#374151}.small-btn{border:1px solid #d1d5db;background:#fff;border-radius:9px;padding:7px 10px}.link-btn{border:0;background:none;padding:0;font-weight:700;color:#111827}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182757;z-index:50;display:flex;align-items:center;justify-content:center}.modal{width:min(440px,calc(100vw - 28px));background:#fff;border-radius:18px;padding:20px;box-shadow:0 24px 70px #0000002e}.modal label,.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;margin:13px 0}.modal button[type=submit],.login-card button[type=submit]{width:100%;border:0;background:#111827;color:#fff;padding:12px;border-radius:10px;margin-top:10px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.icon-btn{border:0;background:#f3f4f6;width:34px;height:34px;border-radius:9px;font-size:22px;line-height:1}.muted{color:#6b7280;font-size:13px}.error{background:#fee2e2;color:#991b1b;padding:10px;border-radius:9px;font-size:13px}.drawer-overlay{justify-content:flex-end}.drawer{height:100%;width:min(480px,95vw);background:#fff;padding:22px;overflow:auto}.history{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.history-item{display:flex;justify-content:space-between;gap:16px;padding:13px 14px;border-bottom:1px solid #eef0f3}.history-item:last-child{border-bottom:0}.right{text-align:right}.login-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(380px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:26px;box-shadow:0 20px 60px #0000000f}.login-card h1{margin:12px 0 4px}.login-card p{margin:0 0 16px;color:#6b7280}.loading-screen{min-height:100vh;display:grid;place-items:center;font-weight:900;letter-spacing:.12em}.loading{padding:20px 0}@media(max-width:800px){header{padding:0 14px;gap:10px}main{padding:18px 12px}.cards{grid-template-columns:1fr}.toolbar{flex-direction:column}.toolbar input{min-width:0;width:100%}nav{overflow:auto}}.cards-four{grid-template-columns:repeat(4,1fr)}.wide-drawer{width:min(640px,96vw)}.attendance-list{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.attendance-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px 14px;border-bottom:1px solid #eef0f3}.attendance-row:last-child{border-bottom:0}.attendance-name{min-width:0}@media(max-width:900px){.cards-four{grid-template-columns:1fr 1fr}}@media(max-width:650px){.cards-four{grid-template-columns:1fr}.attendance-row{grid-template-columns:1fr;align-items:start}}.finance-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:8px 0 14px}.finance-head h2{margin:0 0 5px;font-size:18px}.month-picker{border:1px solid #d1d5db;background:#fff;border-radius:10px;padding:10px 12px}.cards-finance{grid-template-columns:repeat(4,1fr)}.cards-three{grid-template-columns:repeat(3,1fr)}.compact-cards .card strong{font-size:22px}.method-breakdown{display:flex;flex-direction:column;gap:4px;margin-top:4px}.method-breakdown small{color:#4b5563;font-size:13px}@media(max-width:1000px){.cards-finance{grid-template-columns:1fr 1fr}}@media(max-width:700px){.finance-head{align-items:stretch;flex-direction:column}.cards-finance,.cards-three{grid-template-columns:1fr}}.finance-grid{grid-template-columns:repeat(3,1fr)}.profit-card strong{font-size:30px}.finance-secondary{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px 16px;margin:-2px 0 18px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.expense-box{margin:18px 0 22px;padding:16px;border:1px solid #e5e7eb;background:#f9fafb;border-radius:14px}.expense-title{margin-bottom:12px}.expense-fields{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px}.expense-fields label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.expense-fields input{width:100%;border:1px solid #d1d5db;background:#fff;border-radius:10px;padding:10px 11px}.expense-save{height:42px}.expense-message{margin-top:9px;font-size:13px;color:#4b5563}@media(max-width:900px){.finance-grid,.expense-fields{grid-template-columns:1fr 1fr}.expense-save{grid-column:1 / -1}}@media(max-width:600px){.finance-grid,.expense-fields{grid-template-columns:1fr}.expense-save{grid-column:auto}}.badge.exempt{background:#e0f2fe;color:#075985}.payment-rules{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.payment-rule-row{border:1px solid #e5e7eb;border-radius:12px;padding:13px;background:#f9fafb}.payment-rule-main{display:grid;grid-template-columns:120px minmax(160px,1fr) minmax(130px,160px);align-items:center;gap:10px}.payment-rule-main select{border:1px solid #d1d5db;background:#fff;border-radius:9px;padding:8px 10px}.switch-row{display:flex;align-items:center;gap:8px;font-size:13px}.switch-row input{width:17px;height:17px}.payment-rule-actions{display:flex;gap:8px;margin-top:10px}.payment-rule-message{margin-top:8px}@media(max-width:600px){.payment-rule-main{grid-template-columns:1fr}}.payment-rule-title{margin-bottom:10px;font-size:15px}.payment-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payment-rule-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#4b5563}.payment-rule-grid select{width:100%;border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:9px;padding:9px 10px}.payment-rule-grid select:disabled{background:#f3f4f6;color:#9ca3af}.primary-small{background:#111827;color:#fff;border-color:#111827}@media(max-width:760px){.payment-rule-grid{grid-template-columns:1fr}}.payment-rule-single{padding:15px}.payment-rule-grid-single{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-rule-note{margin-top:10px;line-height:1.4}@media(max-width:760px){.payment-rule-grid-single{grid-template-columns:1fr}}.badge.pending-sub{background:#fef3c7;color:#92400e}.badge.pending-exempt{background:#e0f2fe;color:#075985}.payment-processing-box{margin:0 0 22px;padding:14px 16px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.processing-message{grid-column:1 / -1}@media(max-width:650px){.payment-processing-box{grid-template-columns:1fr}.processing-message{grid-column:auto}}.payment-rule-stack{display:flex;flex-direction:column;gap:12px}.payment-rule-grid-dates{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-rule-grid-dates label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#4b5563}.payment-rule-grid-dates input,.payment-rule-grid-dates select{width:100%;border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:9px;padding:9px 10px}.field-hint{font-size:11px;font-weight:400;color:#9ca3af}.rule-history{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.rule-history-title{padding:11px 13px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:13px;font-weight:800}.rule-history-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;border-bottom:1px solid #eef0f3}.rule-history-item:last-child{border-bottom:0}.save-confirmation{margin-top:10px;padding:10px 12px;border-radius:10px;background:#dcfce7;color:#166534;font-size:13px;font-weight:700}.error-inline{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fee2e2;color:#991b1b;font-size:13px;font-weight:600}.payment-start-editor{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:6px;margin-top:7px}.payment-start-editor input{border:1px solid #d1d5db;border-radius:7px;padding:5px 7px;font-size:12px}.mini-action{border:1px solid #d1d5db;background:#fff;border-radius:7px;padding:5px 7px;font-size:12px}.saved-check{color:#166534;font-weight:800}.inline-error{color:#991b1b;font-size:11px;max-width:220px}.payment-history-right{min-width:270px}@media(max-width:820px){.payment-rule-grid-dates{grid-template-columns:1fr 1fr}}@media(max-width:600px){.payment-rule-grid-dates{grid-template-columns:1fr}.rule-history-item{align-items:flex-start;flex-direction:column}.payment-history-right{min-width:0}}.payment-start-editor-wrap{margin-top:7px}.payment-start-hint{margin-top:5px;color:#6b7280;font-size:11px;line-height:1.35;text-align:right}.compact-confirmation{margin-top:7px;padding:7px 9px;font-size:11px;text-align:left}.form-hint{margin-top:-4px;margin-bottom:8px;color:#6b7280;font-size:12px;line-height:1.35}.payment-rule-note{margin-top:10px;padding:9px 11px;border-radius:9px;background:#fef3c7;color:#92400e;font-size:12px}.rule-history-empty{padding:12px 13px}.toolbar-count{align-self:center;color:#6b7280;font-size:13px;white-space:nowrap}.empty-table{padding:28px 18px!important;text-align:center;color:#6b7280}.profile-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}.profile-stat-card{border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;padding:13px}.profile-stat-card span{display:block;color:#6b7280;font-size:12px;margin-bottom:6px}.profile-stat-card strong{font-size:21px}.profile-stat-card.money{background:#fff}.active-subscriptions{display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.subscription-card{border:1px solid #e5e7eb;border-radius:13px;padding:14px;background:#fff}.subscription-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.subscription-progress-text{margin-top:9px;color:#4b5563;font-size:13px}.empty-section{padding:14px}.debt-text{color:#991b1b;font-weight:700}@media(max-width:720px){.profile-stats-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.profile-stats-grid{grid-template-columns:1fr}}
