:root{color:#344054;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f5fb;font-family:Inter,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{background:#f8f5fb}body{background:linear-gradient(#f2e9fb 0%,#f8f5fb 100%);min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}#root{min-height:100vh}.login-shell{background:linear-gradient(135deg,#f6effc 0%,#ece2fb 55%,#e3f4ff 100%);flex-direction:column;min-height:100vh;display:flex}.login-shell-body{flex:1;place-items:center;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #ecdffb;border-top:4px solid #400e7c;border-radius:22px;width:min(100%,460px);padding:28px;box-shadow:0 18px 42px #400e7c24}.login-form{flex-direction:column;gap:18px;margin-top:16px;display:flex}.login-form label,.filter-bar label{color:#475467;flex-direction:column;gap:8px;font-size:.85rem;font-weight:600;display:flex}.field-help{color:#667085;font-size:.78rem;font-weight:400}.login-form input,.filter-bar input{color:#101828;background:#fff;border:1px solid #d0d5dd;border-radius:10px;padding:11px 12px;font-size:1rem}.login-form input:focus,.filter-bar input:focus{border-color:#7c3fbf;outline:none;box-shadow:0 0 0 3px #400e7c1f}.primary-button,.secondary-button,.icon-button,.status-button{cursor:pointer;border:none;border-radius:10px;font-weight:600;text-decoration:none;transition:transform .2s,opacity .2s}.primary-button{padding:12px 16px}.secondary-button{padding:9px 12px;font-size:.85rem}.primary-button{color:#fff;background:linear-gradient(135deg,#400e7c,#7a1fb0)}.primary-button:hover,.secondary-button:hover,.icon-button:hover,.status-button:hover{opacity:.94;transform:translateY(-1px)}.secondary-button{color:#400e7c;background:#f3e8fd}.secondary-button-muted{color:#344054;background:#f2f4f7}.app-shell{background:#f8f5fb;width:100%;min-height:100vh;margin:0;padding:32px 24px 64px}.header-actions,.section-header,.filter-bar,.modal-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.site-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid}.topbar{color:#fff;background:#400e7c;margin:-32px -24px 18px;padding:18px 24px}.login-shell .site-header{margin:0}.brand-title{color:#fff;text-align:center;white-space:nowrap;grid-column:2;font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:600;line-height:1.25}.brand-logo{object-fit:contain;grid-column:1;justify-self:start;width:400px;max-width:400px;height:60px}.site-header .header-actions{grid-column:3;justify-self:end;gap:10px}.topbar .secondary-button{color:#fff;background:#ffffff24;border:1px solid #ffffff47}.topbar .secondary-button-muted{color:#400e7c;background:#ffffffeb}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#7a1fb0;margin:0 0 8px;font-size:11px;font-weight:700}h1{color:#101828;margin:0;font-size:clamp(2rem,3vw,2.7rem)}h2,.modal-card h3{color:#101828;margin:0}.filter-bar{background:#fff;border:1px solid #f0e2fb;border-radius:18px;flex-wrap:wrap;align-items:flex-end;margin:18px 0 24px;padding:16px;box-shadow:0 10px 30px #400e7c0f}.filter-bar label{flex:180px;min-width:180px}.filter-bar-buttons{gap:16px;display:flex}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.stat-card{background:#fff;border:1px solid #f0e2fb;border-left:4px solid #269cff;border-radius:16px;padding:18px 20px;box-shadow:0 10px 30px #400e7c14}.stat-card strong{color:#400e7c;margin-top:8px;font-size:2rem;display:block}.stat-label{color:#667085;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.stat-card.warning strong{color:#b54708}.stat-card.payment-pending{border-left-color:#7f56d9}.stat-card.payment-pending strong{color:#6941c6}.panel-section{margin-top:28px}.section-header{margin-bottom:12px}.section-header span{color:#667085;font-size:.9rem;font-weight:600}.alert{border-radius:12px;margin-bottom:16px;padding:12px 14px;font-weight:600}.alert-error{color:#b42318;background:#fff1f2;border:1px solid #fecdd3}.table-panel{background:#fff;border:1px solid #f0e2fb;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px #400e7c0f}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #f5eefc;padding:16px 18px}th{color:#6b21a8;text-transform:uppercase;letter-spacing:.08em;background:#f9f3fd;font-size:.8rem}tbody tr:last-child td{border-bottom:none}.status-button{border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.payment-status-button{white-space:nowrap;flex-direction:column;gap:3px}.status-button.success,.badge.success{color:#067647;background:#ecfdf3}.status-button.partial,.badge.partial{color:#1071d3;background:#e6f4ff}.status-button.warning,.badge.warning{color:#b54708;background:#fff7ed}.status-button.danger{color:#b42318;background:#fff1f2}.status-button.muted{color:#475467;background:#f2f4f7}.status-button .payment-amount-summary{opacity:.85;font-size:.68rem;font-weight:600}.payment-status-button:disabled{cursor:not-allowed;opacity:.7}.mobile-cell{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:140px;display:flex}.mobile-cell input,.payment-field input{color:#101828;width:100%;min-width:0;font:inherit;border:1px solid #d0d5dd;border-radius:9px;padding:8px 10px}.mobile-cell input:focus,.payment-field input:focus{border-color:#7c3fbf;outline:none;box-shadow:0 0 0 3px #400e7c1f}.mobile-error{color:#b42318;text-align:left;flex-basis:100%;font-size:.72rem}.icon-edit-button{color:#5b168d;cursor:pointer;background:#f9f3fd;border:1px solid #e4d6f3;border-radius:8px;flex:none;width:32px;height:32px;font-size:1rem;font-weight:700}.icon-edit-button:hover{background:#efe1fb}.icon-edit-button:disabled{cursor:wait;opacity:.6}.icon-edit-button.save{color:#067647}.icon-edit-button.cancel{color:#b42318}.action-buttons{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.icon-button{color:#fff;justify-content:center;align-items:center;min-width:92px;padding:9px 12px;font-size:.85rem;display:inline-flex}.icon-button.download{background:#269cff}.icon-button.share{background:#25d366}.empty-state{text-align:center;color:#475467;padding:32px 18px}.modal-backdrop{z-index:30;background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:18px;flex-direction:column;width:min(720px,100%);max-height:85vh;padding:0;display:flex;overflow:hidden;box-shadow:0 24px 52px #0f172a2e}.modal-header{z-index:1;background:#fff;border-bottom:1px solid #f0e2fb;padding:24px 24px 16px;position:sticky;top:0}.modal-body{padding:0 24px 24px;overflow-y:auto}.payment-modal{width:min(460px,100%)}.payment-entries{border-top:1px solid #f0e2fb;margin-top:8px;padding-top:16px}.payment-entries-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.payment-entries-heading h4{color:#344054;margin:0}.payment-entry-row{background:#fcfaff;border:1px solid #f0e2fb;border-radius:12px;grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) 32px;align-items:end;gap:10px;margin-bottom:10px;padding:12px;display:grid}.payment-field{color:#475467;flex-direction:column;gap:8px;margin:20px 0;font-size:.9rem;font-weight:600;display:flex}.payment-entry-row .payment-field{margin:0}.total-paid-field input[readonly]{color:#344054;background:#f2f4f7;font-weight:700}.payment-edit-hint{opacity:.78;font-size:.65rem;font-weight:500}.remove-payment{margin-bottom:2px}.payment-modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.detail-grid{grid-template-columns:repeat(3,minmax(140px,1fr));gap:14px;margin:22px 0;display:grid}.detail-grid div{background:#f9f3fd;border:1px solid #f0e2fb;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.detail-grid span{text-transform:uppercase;letter-spacing:.08em;color:#667085;font-size:.72rem}.detail-table{margin-top:12px}@media (width<=960px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}@media (width<=720px){.app-shell{padding:16px 12px 40px}.section-header,.filter-bar,.modal-header{flex-direction:column;align-items:flex-start}.site-header{text-align:center;grid-template-columns:1fr;justify-items:center;gap:10px}.brand-title,.brand-logo,.site-header .header-actions{grid-column:1;justify-self:center}.topbar{width:calc(100% + 24px);margin:-16px -12px 18px;padding:18px 16px}.brand-logo{aspect-ratio:400/60;width:100%;max-width:260px;height:auto}.site-header .header-actions{gap:8px;width:auto}.site-header .header-actions .secondary-button{flex:none;padding:6px 12px;font-size:.78rem}.filter-bar{padding:14px}.filter-bar label{flex:none;width:100%;min-width:0}.filter-bar input,.filter-bar button{width:100%}.filter-bar-buttons{gap:10px;width:100%}.filter-bar-buttons .secondary-button{flex:1 1 0;padding:8px 10px;font-size:.85rem}h1{font-size:1.5rem}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat-card{padding:12px 10px}.stat-card strong{font-size:1.4rem}.stat-label{letter-spacing:.04em;font-size:.68rem}.table-panel{box-shadow:none;background:0 0;border:none;border-radius:14px;overflow:visible}.table-panel table,.table-panel thead,.table-panel tbody,.table-panel th,.table-panel td,.table-panel tr{display:block}.table-panel thead{position:absolute;top:-9999px;left:-9999px}.table-panel tbody tr{background:#fff;border:1px solid #edf1f7;border-radius:16px;margin-bottom:14px;padding:6px 4px;box-shadow:0 10px 26px #0f172a0d}.table-panel tbody tr:last-child{margin-bottom:0}.table-panel td{text-align:right;border-bottom:1px solid #f2f4f7;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.table-panel td:last-child{border-bottom:none}.table-panel td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.06em;color:#667085;text-align:left;flex-shrink:0;font-size:.72rem;font-weight:700}.table-panel td .action-buttons{flex:1;justify-content:flex-end}.table-panel td .mobile-cell{flex:1;min-width:0}.table-panel td .mobile-cell input{max-width:190px}.payment-modal-actions{flex-wrap:wrap}.payment-entry-row{grid-template-columns:minmax(0,1fr) 32px;align-items:start}.payment-entry-row .payment-field{grid-column:1}.payment-entry-row .remove-payment{grid-area:1/2}.detail-grid{grid-template-columns:1fr}.modal-card{max-height:90vh}.modal-header{padding:18px 18px 14px}.modal-body{padding:0 18px 18px}}@media (width<=420px){.icon-button{flex:1;min-width:0}}
