*{box-sizing:border-box}body{margin:0;font-family:Arial;color:#172033;background:#f7f8fb}.side{position:fixed;top:0;left:0;display:flex;flex-direction:column;overflow:hidden;width:245px;height:100vh;height:100dvh;background:linear-gradient(#6d0d30,#350516);color:white;padding:20px}.brand{display:block;flex-shrink:0;background:transparent;border-radius:12px;padding:12px;margin-bottom:16px}.brand img{filter:grayscale(1) invert(1) contrast(8);mix-blend-mode:screen;width:100%;max-height:80px;object-fit:contain;display:block}.menu div{padding:9px 14px;border-radius:10px;margin:2px 0}.menu .active{background:#ffffff1f}.offline{position:static;flex-shrink:0;margin-top:12px;padding-top:12px;border-top:1px solid #ffffff25;font-size:13px;line-height:1.5}.main{margin-left:245px;padding:28px}.top{display:flex;justify-content:space-between;align-items:center}.btn{background:#92113e;color:white;border:0;padding:12px 18px;border-radius:10px;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.card,.panel{background:white;border:1px solid #e5e8ef;border-radius:15px;padding:20px}.card b{font-size:25px;display:block;margin-top:10px}.summary-card{cursor:pointer;transition:.18s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #17203312}.summary-card.active{border:2px solid #92113e;background:#fff7fa}.layout{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}.calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calnav{display:flex;gap:8px;align-items:center}.navbtn{border:1px solid #e0e3e9;background:white;border-radius:9px;padding:8px 12px;cursor:pointer}.monthtitle{font-size:20px;font-weight:700;text-transform:capitalize}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr)}.weekday{text-align:center;font-size:12px;font-weight:700;color:#6c7482;padding:8px 2px}.calendar{gap:1px;background:#e8ebf1;border:1px solid #e8ebf1}.day{background:white;min-height:105px;padding:9px;font-size:13px;cursor:pointer;position:relative}.day:hover{background:#faf5f7}.day.other{color:#b4bac4;background:#fafbfc}.day.today strong{background:#92113e;color:white;border-radius:50%;width:28px;height:28px;display:inline-grid;place-items:center}.day.selected{outline:2px solid #92113e;outline-offset:-2px}.day.has{background:#fff7fa}.dot{margin-top:10px;color:#92113e;font-weight:bold;font-size:12px}.pay{background:white;border:1px solid #e5e8ef;border-radius:12px;padding:14px;margin:10px 0}.payhead{display:flex;justify-content:space-between}.status{font-size:12px;padding:5px 8px;background:#fff0cf;border-radius:20px}.paid{background:#dff5e8}.actions{display:flex;gap:6px;margin-top:10px}.actions button{border:0;padding:7px 9px;border-radius:7px;cursor:pointer}.modal{display:none;position:fixed;inset:0;z-index:1000;background:#0007;place-items:center}.modal.open{display:grid}.form{width:430px;background:white;padding:25px;border-radius:16px}.form input,.form textarea,.form select{width:100%;padding:11px;margin:6px 0;border:1px solid #ddd;border-radius:8px}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:1000px){.cards{grid-template-columns:1fr 1fr}.layout{grid-template-columns:1fr}.side{width:200px}.main{margin-left:200px}}.logout-btn{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:44px;height:44px;margin-left:8px;border:1px solid #e5d4db;border-radius:10px;color:#92113e;background:white}.logout-btn:hover{background:#fff0f5}.logout-btn:focus-visible{outline:2px solid #92113e;outline-offset:3px}.date-control{position:relative}.date-control>input:first-child{padding-right:48px}.date-picker-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#92113e;pointer-events:none;display:flex}.date-control .native-date-picker{position:absolute;right:0;top:6px;bottom:6px;width:44px;margin:0;padding:0;opacity:0;cursor:pointer}.date-control:focus-within .date-picker-icon{outline:2px solid #92113e;outline-offset:4px;border-radius:3px}.menu-link{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;padding:9px 14px;border-radius:10px;margin:2px 0}.menu-link:hover{background:#ffffff18}.menu-link:focus-visible{outline:2px solid white}.layout>section{min-width:0}.menu{flex:1;min-height:0;overflow-y:scroll;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:transparent transparent;padding-right:6px}.menu::-webkit-scrollbar{width:7px}.menu::-webkit-scrollbar-thumb{background:transparent;border-radius:8px}.menu::-webkit-scrollbar-track{background:transparent;border-radius:8px}.menu-link,.menu>div{line-height:1.45;min-height:44px;overflow-wrap:break-word}.menu:focus-visible{outline:2px solid #e5adc1;outline-offset:2px}.menu:hover{scrollbar-color:#c8839e #ffffff12}.menu:hover::-webkit-scrollbar-thumb{background:#c8839e}.menu:hover::-webkit-scrollbar-track{background:#ffffff12}.menu-icon{flex:0 0 20px;display:block}.menu-link>span{min-width:0}.pay.payment-paid{background:#e6f6eb;border-color:#b9dfc5}.pay.payment-overdue{background:#fde9e9;border-color:#edc0c0}.payment-pagination{display:flex;flex-direction:column;gap:12px;margin-top:18px}.payment-page-info{font-size:13px;color:#687283}.payment-pagination nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.payment-pagination .current-page{background:#92113e;color:white;border-color:#92113e}.payment-pagination button:disabled{opacity:.45;cursor:default}.day.payments-complete{background:#e6f6eb}.day.payments-complete:hover{background:#d8efdf}