:root{--ink:#152c27;--ink-2:#25443d;--green:#1f715d;--green-2:#2c8c72;--mint:#e3f4ed;--cream:#f6f4ee;--paper:#fff;--line:#dfe7e3;--muted:#6a7a75;--amber:#f3a83b;--danger:#b74d4d;--shadow:0 10px 30px rgba(24,51,44,.07);font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);font-size:14px}a{color:var(--green);text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand b,.stat-card strong{font-family:Manrope,sans-serif}h2{font-size:26px;letter-spacing:-.8px;margin-bottom:6px}h3{font-size:17px;margin-bottom:4px}.muted,.card-head p{color:var(--muted)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.6px;color:var(--green);margin-bottom:9px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;padding:26px 16px 18px;background:var(--ink);color:#fff;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 8px;color:#fff}.brand-mark{width:38px;height:38px;border-radius:12px;background:#f3c878;color:var(--ink);display:grid;place-items:center;font:800 20px Manrope;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}.brand b{display:block;font-size:15px}.brand small{display:block;color:#9fb7b0;font-size:10px;letter-spacing:.5px;margin-top:2px}.sidebar nav{margin-top:38px;display:flex;flex-direction:column;gap:5px}.sidebar nav a{color:#bcd0ca;padding:11px 12px;border-radius:9px;display:flex;align-items:center;gap:12px;font-weight:600}.sidebar nav a span{font-size:18px;width:19px;text-align:center}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.sidebar nav a.active{box-shadow:inset 3px 0 0 #f3c878}.nav-label{font-size:10px;color:#769087;letter-spacing:1.3px;font-weight:800;margin:24px 12px 5px}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:18px 5px 0;display:flex;gap:9px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;background:#dff2eb;color:var(--green);display:grid;place-items:center;font-weight:800;flex:none}.sidebar-user>span:nth-child(2){min-width:0;flex:1}.sidebar-user b,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user b{font-size:12px}.sidebar-user small{font-size:10px;color:#8ba59d;text-transform:capitalize}.icon-button{border:0;color:#adc1ba;background:none;font-size:20px;cursor:pointer}.main{margin-left:238px;min-width:0;flex:1}.topbar{height:80px;padding:0 32px;display:flex;align-items:center;background:rgba(255,255,255,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.topbar>div{flex:1}.topbar small{font-size:9px;letter-spacing:1.5px;color:var(--muted);font-weight:700}.topbar h1{font-size:18px;margin:1px 0 0}.menu-button{display:none}.content{padding:30px 32px 50px;max-width:1500px;margin:auto}.button{border:0;border-radius:9px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:700;cursor:pointer;white-space:nowrap}.button.primary{background:var(--green);color:#fff;box-shadow:0 5px 12px rgba(31,113,93,.18)}.button.primary:hover{background:#195e4e}.button.secondary{background:#fff;border:1px solid #cfdad6;color:var(--ink)}.button.ghost{background:transparent;color:var(--muted)}.button.compact{padding:8px 12px;font-size:12px}.button.full{width:100%}.button:disabled{opacity:.4;cursor:not-allowed}.welcome-row,.page-title,.report-summary{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.welcome-row p:last-child{margin-bottom:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;gap:15px;align-items:flex-start;box-shadow:var(--shadow)}.stat-card.mint{background:var(--ink);border-color:var(--ink);color:#fff}.stat-icon{width:38px;height:38px;border-radius:10px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-weight:800;font-size:18px}.mint .stat-icon{background:#f3c878;color:var(--ink)}.stat-card small,.stat-card strong,.stat-card p{display:block}.stat-card small{color:var(--muted);font-weight:600}.mint small,.mint p{color:#a9c1ba}.stat-card strong{font-size:23px;margin:4px 0}.stat-card p{font-size:11px;margin:0;color:#899690}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:22px}.card-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:20px}.card-head p{margin:0;font-size:12px}.table-wrap{overflow:auto;margin:0 -22px -22px}table{width:100%;border-collapse:collapse}th{font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#84918d;text-align:left;background:#fafbf9;padding:11px 17px;border-block:1px solid #edf1ef}td{padding:14px 17px;border-bottom:1px solid #edf1ef;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td small,td b{display:block}td small{color:#8a9793;font-size:10px;margin-top:3px}.right{text-align:right}.empty{text-align:center;color:var(--muted);padding:42px}.mode{background:#edf3f1;border:1px solid #dde8e4;border-radius:20px;padding:4px 9px;font-size:11px;font-weight:600;white-space:nowrap}.status{display:inline-block;padding:4px 9px;border-radius:20px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.status.paid{color:#167156;background:#def3e9}.status.pending{color:#8c621b;background:#fff0ce}.status.cancelled{color:#a63e3e;background:#f9e3e3}.mode-list>div{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf1ef}.mode-list span:nth-child(2){flex:1}.mode-list b,.mode-list small{display:block}.mode-list small{font-size:10px;color:var(--muted)}.mode-list strong{font-size:13px}.mode-dot{width:9px;height:9px;border-radius:50%;background:#26755f}.mode-dot.c1{background:#e9ad4d}.mode-dot.c2{background:#6286a8}.mode-dot.c3{background:#9d78aa}.mode-dot.c4{background:#bc6b63}.mode-list+.button{margin-top:18px}.page-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px;align-items:start}.form-page>.card:first-child{padding:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full-field{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#41534e}label>span{color:var(--danger)}input,select,textarea{width:100%;border:1px solid #d1dcd8;border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(31,113,93,.1)}label small{color:var(--muted);font-weight:400}.divider{height:1px;background:var(--line);position:relative;margin:2px 0}.divider span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;padding:0 10px;color:#97a39f;font-size:10px;text-transform:uppercase}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:5px}.help-card{background:var(--ink);color:#fff;border:0}.help-card>p{color:#afc3bd;line-height:1.65}.big-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:#f3c878;color:var(--ink);font-size:24px;margin-bottom:26px}.tip{border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);padding:14px;border-radius:10px;margin:22px 0}.tip p{margin:4px 0 0;color:#9db5ae;font-size:12px;line-height:1.5}.help-card>a{color:#f3c878;font-weight:700}.payment-result{display:grid;grid-template-columns:minmax(420px,650px) 280px;gap:20px;justify-content:center;align-items:start}.receipt-card{padding:28px}.receipt-brand{display:flex;align-items:center;gap:10px;border-bottom:1px dashed #cbd7d3;padding-bottom:18px}.receipt-brand div{flex:1}.receipt-brand b,.receipt-brand small{display:block}.receipt-brand small{color:var(--muted);font-size:11px}.qr-block{text-align:center;padding:24px 0 20px}.qr-block img{width:min(300px,80%);display:block;margin:auto}.qr-block h2{font-size:30px;margin:5px 0}.qr-block p{color:var(--muted);margin-bottom:7px}.qr-block>span{font-family:monospace;background:#edf4f1;padding:5px 9px;border-radius:5px;color:var(--green)}.paid-visual{text-align:center;padding:45px 0}.paid-visual>span{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:34px;margin:0 auto 15px}.paid-visual h2{font-size:30px}.paid-visual p{color:var(--muted)}.receipt-details{display:grid;grid-template-columns:1fr 1fr;border-block:1px dashed #cbd7d3;padding:12px 0;margin:0}.receipt-details>div{padding:8px 10px}.receipt-details dt{font-size:10px;color:var(--muted);text-transform:uppercase}.receipt-details dd{font-weight:700;margin:3px 0 0}.receipt-note{background:#f6f8f7;padding:12px;border-radius:8px;margin-top:15px}.receipt-note p{margin:4px 0 0;color:var(--muted)}.receipt-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.status-panel form{margin:20px 0}.status-panel button{margin-top:12px}.text-link{display:block;text-align:center;margin-top:14px}.summary-pills{display:flex;gap:8px}.summary-pills span{background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:9px;min-width:105px}.summary-pills small,.summary-pills b{display:block}.summary-pills small{color:var(--muted);font-size:9px;text-transform:uppercase}.filter-bar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filter-bar label{min-width:125px}.filter-search{flex:1}.table-tools{display:flex;justify-content:space-between;align-items:center;margin:20px 0 8px}.table-tools p{margin:0;color:var(--muted)}.table-tools>div{display:flex;gap:7px}.search-row{display:flex;gap:8px;margin-bottom:20px}.search-row input{max-width:420px}.narrow-card{max-width:800px;margin:auto;padding:28px}.users-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:start}.user-list article{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:16px 0}.user-info{flex:1}.user-info b,.user-info span,.user-info small{display:block}.user-info span{color:var(--muted);text-transform:capitalize}.user-info small{color:#93a09c;font-size:10px}.user-actions{display:flex;gap:6px;align-items:center}.user-actions form{display:flex}.reset-form input{padding:7px;width:130px;border-radius:7px}.stack-form{display:flex;flex-direction:column;gap:15px}.upi-preview{display:flex;gap:14px;align-items:center;background:var(--ink);color:#fff;border-radius:10px;padding:16px}.upi-preview>span{font-size:12px;font-weight:800;background:#f3c878;color:var(--ink);padding:12px 8px;border-radius:7px}.upi-preview small,.upi-preview b,.upi-preview p{display:block}.upi-preview small{color:#9db5ae}.upi-preview p{margin:2px 0 0;color:#c0d0cb}.flash{padding:11px 14px;border-radius:8px;margin-bottom:18px;font-weight:600}.flash.success{background:#daf0e6;color:#155e49}.flash.error{background:#f8dfdf;color:#963c3c}.error-page{text-align:center;padding:60px 20px;max-width:600px;margin:50px auto}.error-page>span{width:60px;height:60px;display:grid;place-items:center;margin:auto auto 18px;border-radius:50%;background:#f7e5e5;color:var(--danger);font-size:30px}.login-page{min-height:100vh;padding:24px;display:grid;place-items:center;background:#e8ede9}.login-panel{width:min(1060px,100%);min-height:650px;background:#fff;border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;box-shadow:0 25px 70px rgba(22,47,41,.16)}.login-copy{padding:50px;background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-copy:after{content:"";position:absolute;width:400px;height:400px;border:80px solid rgba(255,255,255,.035);border-radius:50%;right:-250px;bottom:-180px}.login-copy h1{font-size:39px;line-height:1.15;letter-spacing:-1.5px;max-width:470px;margin-bottom:22px}.login-copy p:not(.eyebrow){color:#adc2bc;max-width:430px;line-height:1.7}.login-copy>.brand{padding:0}.login-copy>small{color:#78938b}.login-form-wrap{padding:50px;display:grid;place-items:center}.login-form{width:100%;max-width:340px}.login-form h2{font-size:27px}.login-form>p.muted{margin-bottom:27px}.login-form label{margin-bottom:16px}.login-form button{margin-top:8px;padding:13px}.mobile-logo{display:none}
@media(max-width:1050px){.stats-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.users-grid{grid-template-columns:1fr}.user-actions{flex-direction:column}.login-copy{padding:38px}.login-copy h1{font-size:32px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0);box-shadow:20px 0 50px rgba(0,0,0,.25)}.main{margin-left:0}.topbar{height:68px;padding:0 16px}.menu-button{display:block;margin-right:12px;border:0;background:transparent;font-size:22px}.topbar .button{font-size:0;padding:9px}.topbar .button:after{content:'＋';font-size:18px}.content{padding:20px 14px 40px}.welcome-row,.page-title,.report-summary{align-items:start;gap:15px}.welcome-row>.button{display:none}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:14px;gap:10px}.stat-card strong{font-size:18px}.stat-icon{width:32px;height:32px}.page-grid,.payment-result{grid-template-columns:1fr}.help-card{order:2}.filter-bar{display:grid;grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}.summary-pills{display:none}.form-grid{grid-template-columns:1fr}.form-grid>*{grid-column:1/-1}.users-grid{grid-template-columns:1fr}.user-list article{flex-wrap:wrap}.user-actions{width:100%;flex-direction:row;justify-content:flex-end}.login-page{padding:0}.login-panel{display:block;min-height:100vh;border-radius:0}.login-copy{display:none}.login-form-wrap{min-height:100vh;padding:30px}.mobile-logo{display:block;margin-bottom:30px}.receipt-card{padding:18px}}
@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.card{padding:17px}.table-wrap{margin:0 -17px -17px}.welcome-row{margin-bottom:18px}.welcome-row h2{font-size:22px}.receipt-details{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.user-actions{flex-wrap:wrap}.reset-form{width:100%}.reset-form input{flex:1}.page-title{flex-direction:column}.topbar h1{font-size:15px}}
@media print{.sidebar,.topbar,.filter-bar,.table-tools,.status-panel,.receipt-actions,.page-title .button{display:none!important}.main{margin:0}.content{padding:0}.card{box-shadow:none;border:0}.payment-result{display:block}.receipt-card{max-width:650px;margin:auto}.report-summary{margin-bottom:15px}body{background:#fff}.table-wrap{overflow:visible;margin:0}table{font-size:11px}td,th{padding:7px}}

/* Multi-service payment checkout */
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start;max-width:1100px;margin:auto}.checkout-main{display:flex;flex-direction:column;gap:16px}.checkout-main>.card{padding:25px}.step-badge{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--mint);color:var(--green);font-weight:800}.quick-services{display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:#f7f9f8;border:1px solid #e8eeeb;border-radius:9px;padding:10px;margin-bottom:14px}.quick-services>span{font-size:11px;color:var(--muted);font-weight:700}.quick-services button{border:1px solid #cad8d3;background:#fff;color:var(--green);padding:6px 9px;border-radius:20px;font-size:11px;font-weight:700;cursor:pointer}.quick-services button:hover{border-color:var(--green);background:var(--mint)}.service-list{display:flex;flex-direction:column;gap:9px}.service-row{display:grid;grid-template-columns:28px minmax(180px,1fr) 160px 32px;align-items:end;gap:10px;padding:13px;border:1px solid #e0e8e5;border-radius:10px;background:#fff}.service-row:focus-within{border-color:#9cc8ba;background:#fbfdfc}.service-number{width:26px;height:26px;border-radius:7px;background:#edf4f1;color:var(--green);display:grid;place-items:center;font-weight:800;margin-bottom:7px}.money-input{display:flex;align-items:center;border:1px solid #d1dcd8;border-radius:8px;background:#fff;overflow:hidden}.money-input:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(31,113,93,.1)}.money-input b{padding-left:11px;color:var(--green)}.money-input input{border:0;box-shadow:none!important;padding-left:7px}.remove-service{border:0;width:32px;height:40px;background:transparent;color:#9caaa5;font-size:22px;cursor:pointer;border-radius:7px}.remove-service:hover:not(:disabled){background:#fae7e7;color:var(--danger)}.remove-service:disabled{opacity:.2;cursor:not-allowed}.add-service{margin-top:11px;border:1px dashed #9dbeb4;background:#f4faf7;color:var(--green);width:100%;border-radius:9px;padding:10px;font-weight:700;cursor:pointer}.add-service:hover{background:var(--mint)}.payment-modes{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.payment-modes label{cursor:pointer}.payment-modes input{position:absolute;opacity:0;pointer-events:none}.payment-modes label>span{height:100%;min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid #dbe4e1;border-radius:10px;padding:10px;transition:.15s}.payment-modes input:checked+span{border:2px solid var(--green);background:#eff8f4;box-shadow:0 3px 9px rgba(31,113,93,.1)}.payment-icon{font-size:20px;color:var(--green);margin-bottom:7px}.payment-modes strong{font-size:12px}.payment-modes small{font-size:9px;color:var(--muted);margin-top:3px;font-weight:400}.checkout-summary{position:sticky;top:100px;padding:25px}.summary-count{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0;color:var(--muted)}.summary-count b{color:var(--ink)}.summary-total{padding:21px 0}.summary-total span,.summary-total strong{display:block}.summary-total span{color:var(--muted);font-size:11px}.summary-total strong{font:800 32px Manrope;letter-spacing:-1px;margin-top:3px}.summary-upi{display:flex;align-items:center;gap:10px;background:#eff7f4;padding:12px;border-radius:9px;margin-bottom:18px}.summary-upi>span{width:32px;height:32px;border-radius:8px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:18px}.summary-upi div{min-width:0}.summary-upi b,.summary-upi small{display:block}.summary-upi small{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.summary-upi.hidden{display:none}.checkout-button{padding:14px;justify-content:space-between}.safe-note{text-align:center;color:var(--green);font-size:10px;margin:11px 0 0}.cancel-link{display:block;text-align:center;color:var(--muted);font-size:11px;margin-top:20px}.receipt-items{padding:15px 0;border-top:1px dashed #cbd7d3}.receipt-items h3{font-size:13px;margin-bottom:7px}.receipt-items>div{display:flex;justify-content:space-between;padding:7px 5px}.receipt-items>div:not(:last-child){border-bottom:1px solid #edf1ef}.receipt-item-total{font-size:16px;padding-top:12px!important}.receipt-item-total strong{color:var(--green)}
@media(max-width:1050px){.checkout-layout{grid-template-columns:minmax(0,1fr) 270px}.payment-modes{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.checkout-layout{grid-template-columns:1fr}.checkout-summary{position:static;order:2}.payment-modes{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.checkout-main>.card{padding:17px}.service-row{grid-template-columns:25px minmax(0,1fr) 32px}.service-row .amount-field{grid-column:2/3}.service-row .remove-service{grid-column:3;grid-row:1/3;align-self:center}.payment-modes{grid-template-columns:1fr 1fr}.payment-modes label>span{min-height:90px}.summary-total strong{font-size:28px}}
