*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Noto Sans Gujarati",Arial,sans-serif;background:#f3f6fa;color:#1e293b}
.top{background:#0f766e;color:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:10px 16px}
.brand{font-weight:700;font-size:1.15rem}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav a{color:#fff;text-decoration:none;padding:8px 12px;border-radius:6px}
nav a:hover{background:rgba(255,255,255,.18)}
.logout{background:rgba(0,0,0,.2)}
#menu-toggle,.burger{display:none}
main{max-width:1100px;margin:20px auto;padding:0 14px}
h1{font-size:1.4rem;margin:0 0 14px}
.card{background:#fff;border-radius:10px;padding:16px;margin-bottom:18px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:18px}
.stat{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.stat b{display:block;font-size:1.6rem;color:#0f766e}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
label{display:block;font-size:.85rem;margin-bottom:4px;font-weight:600}
input,select,textarea{width:100%;padding:9px;border:1px solid #cbd5e1;border-radius:6px;font:inherit;background:#fff}
textarea{min-height:70px}
.btn{display:inline-block;background:#0f766e;color:#fff;border:0;padding:9px 16px;border-radius:6px;cursor:pointer;text-decoration:none;font:inherit}
.btn.sec{background:#64748b}.btn.red{background:#dc2626}.btn.sm{padding:5px 10px;font-size:.85rem}
.alert{background:#dcfce7;border:1px solid #86efac;padding:10px 14px;border-radius:6px;margin-bottom:14px}
.alert.err{background:#fee2e2;border-color:#fca5a5}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:9px 10px;text-align:left;border-bottom:1px solid #e2e8f0;white-space:nowrap}
th{background:#f1f5f9;font-size:.85rem}
.badge{padding:2px 8px;border-radius:99px;font-size:.78rem;background:#e2e8f0}
.b-Scheduled,.b-Partial{background:#fef3c7}.b-Completed,.b-Paid{background:#dcfce7}.b-Cancelled,.b-Unpaid{background:#fee2e2}
.inline{display:inline}
.login{max-width:360px;margin:12vh auto}
@media(max-width:720px){
 .burger{display:block;font-size:1.6rem;cursor:pointer}
 nav{display:none;width:100%;flex-direction:column}
 #menu-toggle:checked ~ nav{display:flex}
}
@media print{.top,.noprint{display:none}body{background:#fff}.card{box-shadow:none}}
