.row-actions { display:inline-flex; }
td > .row-actions,td > .row-actions + form { display:inline-flex; vertical-align:middle; }
.edit-button { color:var(--teal-dark); font-size:16px; }
.edit-dialog { width:min(680px,calc(100% - 32px)); max-height:calc(100vh - 32px); border:0; border-radius:8px; padding:0; box-shadow:0 24px 70px rgba(23,33,43,.25); }
.edit-dialog::backdrop { background:rgba(23,33,43,.58); }
.edit-dialog .entry-form { margin:0; padding:28px; }
.dialog-heading,.dialog-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.dialog-heading h3 { margin-bottom:0; font:600 1.6rem/1.1 Georgia,serif; }
.dialog-close { border:0; background:transparent; color:var(--muted); cursor:pointer; font-size:28px; line-height:1; }
.dialog-actions { justify-content:flex-end; margin-top:24px; }
@media (max-width:700px) { .edit-dialog .entry-form { padding:20px; } .edit-dialog .form-grid { grid-template-columns:1fr; } .edit-dialog .form-grid .wide { grid-column:auto; } }
.metrics.metrics-primary, .metrics.metrics-secondary { grid-template-columns:repeat(4,1fr); }
 .admin-tabs { display:flex; gap:8px; margin-top:28px; border-bottom:1px solid var(--line); } .admin-tab { padding:10px 16px; border-radius:6px 6px 0 0; color:var(--muted); text-decoration:none; font-weight:600; } .admin-tab:hover,.admin-tab.active { background:var(--ink); color:white; } .metrics { grid-template-columns:repeat(4,1fr); } .metrics-primary { margin-bottom:16px; } .metrics-secondary { margin-top:0; } .metrics .home-balance { border-color:#e7813b; } .metrics .society-balance { border-color:var(--teal); } .metrics .advance-balance { border-color:#6c7884; } .total-row td { border-top:2px solid var(--ink); border-bottom:0; background:#f8faf9; } .total-row strong { font-weight:800; } .society-panel .table-block,.expenses-panel .table-block { margin-top:28px; }
@media (max-width:1050px) { .metrics.metrics-primary, .metrics.metrics-secondary { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) { .metrics.metrics-primary, .metrics.metrics-secondary { grid-template-columns:1fr; } .admin-tabs { overflow-x:auto; } .admin-tab { white-space:nowrap; } }
:root { --ink:#17212b; --muted:#6c7884; --line:#dfe6ea; --paper:#f5f7f6; --white:#fff; --teal:#087f79; --teal-dark:#075b58; --orange:#e7813b; --danger:#b44c42; --shadow:0 18px 45px rgba(23,33,43,.08); }

.add-panel { min-width: 0; }
.add-toggle { display: block; padding: 12px 16px; border: 1px solid var(--line); border-radius: 6px; background: white; color: var(--ink); cursor: pointer; font-weight: 600; list-style: none; }
.add-toggle::-webkit-details-marker { display: none; }
.add-toggle::before { content: "+"; display: inline-block; margin-right: 8px; color: var(--teal-dark); font-size: 18px; line-height: 0; }
.add-panel[open] .add-toggle { border-radius: 6px 6px 0 0; background: var(--ink); color: white; }
.add-panel[open] .add-toggle::before { content: "−"; color: #70d2c4; }
.add-panel .entry-form { margin-top: 10px; }
* { box-sizing:border-box; } body { margin:0; color:var(--ink); background:var(--paper); font:15px/1.5 Poppins,Segoe UI,sans-serif; } a { color:inherit; } .topbar { height:74px; padding:0 clamp(18px,4vw,64px); display:flex; align-items:center; justify-content:space-between; background:var(--ink); color:white; } .brand { text-decoration:none; letter-spacing:.12em; font-weight:700; } .brand span { color:#70d2c4; } .top-actions { display:flex; gap:24px; align-items:center; font-size:13px; } .top-actions a { opacity:.8; text-decoration:none; } .status-dot:before { content:""; display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:#70d2c4; } .dashboard { width:min(1440px,92%); margin:0 auto; padding:52px 0 80px; } .intro-row,.section-heading { display:flex; justify-content:space-between; gap:30px; align-items:flex-end; } h1,h2,h3,p { margin-top:0; } h1 { margin-bottom:7px; font:600 clamp(2rem,4vw,3.4rem)/1.05 Georgia,serif; } h2 { margin-bottom:0; font:600 2rem/1.1 Georgia,serif; } h3 { margin-bottom:18px; font-size:1.05rem; } .eyebrow { color:var(--teal); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; margin-bottom:9px; } .muted,.hint { color:var(--muted); } .hint { font-size:13px; } .filters { display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; } label { display:grid; gap:6px; color:var(--muted); font-size:12px; font-weight:600; } input,select { width:100%; min-height:40px; border:1px solid var(--line); border-radius:6px; padding:9px 11px; color:var(--ink); background:var(--white); font:inherit; } .filters label { min-width:145px; } .button { border:0; border-radius:5px; padding:11px 16px; cursor:pointer; font:600 13px inherit; } .button.primary { background:var(--teal); color:white; } .button.primary:hover { background:var(--teal-dark); } .button.secondary { background:var(--ink); color:white; } .metrics { display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin:38px 0; } .metrics article { min-height:135px; padding:20px; background:white; border:1px solid var(--line); border-radius:8px; box-shadow:var(--shadow); } .metrics span,.metrics small { display:block; color:var(--muted); } .metrics strong { display:block; margin:12px 0 5px; font-size:1.45rem; } .metrics .balance { background:var(--teal); color:white; border-color:var(--teal); } .metrics .balance span,.metrics .balance small { color:#c5eee7; } .negative { color:var(--danger); } .workspace { margin-top:30px; padding:30px; background:white; border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow); } .forms-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:24px; } .entry-form { padding:20px; background:#f8faf9; border:1px solid var(--line); border-radius:7px; } .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px; } .form-grid .wide { grid-column:1/-1; } .records-section { margin-top:24px; } .table-block { margin-top:26px; } .split-tables { display:grid; grid-template-columns:1fr 1fr; gap:26px; } .table-wrap { overflow:auto; border:1px solid var(--line); border-radius:6px; } table { width:100%; border-collapse:collapse; font-size:13px; background:white; } th,td { padding:12px 13px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap; } th { color:var(--muted); background:#f8faf9; font-size:11px; text-transform:uppercase; letter-spacing:.08em; } tr:last-child td { border-bottom:0; } .empty { color:var(--muted); text-align:center; padding:25px; } .icon-button { border:0; background:transparent; color:var(--danger); font-size:22px; cursor:pointer; line-height:1; } .login-page { min-height:100vh; display:grid; place-items:center; padding:20px; background:radial-gradient(circle at 20% 0,#d9f0eb,transparent 40%),var(--paper); } .login-card { width:min(430px,100%); padding:38px; background:white; border:1px solid var(--line); border-radius:10px; box-shadow:var(--shadow); } .stack-form { display:grid; gap:17px; margin-top:28px; } .stack-form .button { margin-top:5px; } .notice { padding:12px 14px; margin-top:18px; border-radius:5px; background:#fff0e5; color:#98501d; font-size:13px; } @media (max-width:1050px) { .metrics { grid-template-columns:repeat(3,1fr); } .forms-grid { grid-template-columns:repeat(2,1fr); } } @media (max-width:700px) { .dashboard { width:calc(100% - 28px); padding-top:30px; } .intro-row,.section-heading { align-items:flex-start; flex-direction:column; } .filters { width:100%; } .filters label { flex:1; } .metrics { grid-template-columns:1fr 1fr; } .workspace { padding:20px 14px; } .forms-grid,.split-tables { grid-template-columns:1fr; } .topbar { padding:0 16px; } .top-actions { gap:10px; } }