*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f4f6f8;color:#1f2937}
nav{background:#18263a;color:#fff;padding:16px 24px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
nav a{color:#fff;text-decoration:none}.brand{font-weight:700;font-size:20px;margin-right:auto}
.container{max-width:1200px;margin:30px auto;padding:0 18px}.card{background:#fff;border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:0 2px 10px #00000010}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:#fff;border-radius:14px;padding:20px;box-shadow:0 2px 10px #00000010}
.stat b{display:block;font-size:28px;margin-top:8px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:12px;border-bottom:1px solid #eee;text-align:left}
input,select,textarea{width:100%;padding:11px;border:1px solid #d1d5db;border-radius:8px;margin:6px 0 14px}
button,.btn{background:#2563eb;color:#fff;border:0;border-radius:8px;padding:11px 16px;text-decoration:none;display:inline-block;cursor:pointer}
.btn.danger{background:#dc2626}.login{max-width:420px;margin:90px auto}.muted{color:#6b7280}.status-paid{color:#15803d;font-weight:bold}.status-partial{color:#ca8a04;font-weight:bold}.status-none{color:#dc2626;font-weight:bold}
@media(max-width:800px){.grid{grid-template-columns:1fr 1fr}}@media(max-width:500px){.grid{grid-template-columns:1fr}table{font-size:13px}}

.progress-label{display:flex;justify-content:space-between;gap:15px;margin-bottom:10px}
.progress{width:100%;height:22px;background:#e5e7eb;border-radius:999px;overflow:hidden}
.progress-bar{height:100%;background:#2563eb;border-radius:999px;transition:width .3s}

.warning-card{border-left:5px solid #dc2626}
.success-message{padding:12px;border-radius:8px;background:#ecfdf5;color:#166534;font-weight:bold}
textarea{resize:vertical;font-family:inherit}

.collection-card{padding:24px}
.collection-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.collection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}
.collection-grid>div{background:#f6f8fb;padding:15px;border-radius:10px}
.collection-grid span,.collection-grid small{display:block;color:#6b7280}
.collection-grid strong{display:block;font-size:23px;margin:6px 0}
.my-payment{margin-top:18px;padding:15px;border-radius:10px;background:#f6f8fb}
.collection-actions{margin-top:18px}
.closed{font-size:13px;background:#e5e7eb;padding:5px 8px;border-radius:20px}
@media(max-width:800px){.collection-grid{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.collection-grid{grid-template-columns:1fr}.collection-head{flex-direction:column}}

.collection-grid.five{grid-template-columns:repeat(5,1fr)}
.expense-total{margin-top:20px;padding:18px;background:#f6f8fb;border-radius:10px;font-size:18px}
.danger-link{color:#dc2626;font-weight:bold;text-decoration:none}
@media(max-width:1000px){.collection-grid.five{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.collection-grid.five{grid-template-columns:1fr}}

.btn.small{font-size:13px;padding:7px 10px}
.actions{white-space:nowrap}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}

.card.narrow{max-width:560px;margin-left:auto;margin-right:auto}
.alert{padding:14px 16px;border-radius:8px;margin:15px 0}
.alert.success{background:#ecfdf5;color:#065f46}
.alert.error{background:#fef2f2;color:#991b1b}

.active-status{font-size:13px;background:#dcfce7;color:#166534;padding:5px 8px;border-radius:20px}.success-btn{background:#16a34a!important}.expense-public{margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.expense-row{display:flex;justify-content:space-between;gap:15px;padding:14px;border-bottom:1px solid #e5e7eb}.expense-row div{display:flex;flex-direction:column;gap:4px}.expense-row span,.expense-row small{color:#6b7280}.collection-grid.five{grid-template-columns:repeat(5,1fr)}@media(max-width:900px){.collection-grid.five{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.collection-grid.five{grid-template-columns:1fr}.expense-row{flex-direction:column}}
