:root{--ink:#0f172a;--ink-soft:#64748b;--surface:#fff;--surface-2:#f8fafc;--border:#e2e8f0;--primary:#2952d9;--primary-dark:#1e3fa8;--primary-soft:#eef2ff;--success:#16a34a;--success-soft:#dcfce7;--warn:#d97706;--warn-soft:#fef3c7;--danger:#dc2626;--danger-soft:#fee2e2;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-lg:0 12px 32px #0f172a1a;--sidebar-w:244px;--tabbar-h:62px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--surface-2);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:General Sans,system-ui,-apple-system,sans-serif}h1,h2,h3{margin:0;font-family:Clash Display,General Sans,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.shell{min-height:100vh}.shell__sidebar{display:none}.shell__main{padding:20px 16px calc(var(--tabbar-h) + 24px);max-width:1080px;margin:0 auto}.shell__tabbar{height:var(--tabbar-h);background:var(--surface);border-top:1px solid var(--border);z-index:40;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #0f172a0d}.shell__tab{color:var(--ink-soft);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:.72rem;font-weight:600;display:flex}.shell__tab.is-active{color:var(--primary)}@media (width>=900px){.shell{display:flex}.shell__sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.shell__brand{align-items:center;gap:10px;padding:0 8px 24px;display:flex}.shell__brand-mark{background:var(--primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:.85rem;font-weight:800;display:flex}.shell__brand-name{font-size:.95rem;font-weight:700}.shell__brand-sub{color:var(--ink-soft);font-size:.75rem}.shell__nav{flex-direction:column;flex:1;gap:2px;display:flex}.shell__navlink{border-radius:var(--radius-sm);color:var(--ink-soft);align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;font-weight:600;display:flex}.shell__navlink:hover{background:var(--surface-2)}.shell__navlink.is-active{background:var(--primary-soft);color:var(--primary)}.shell__agent{border-top:1px solid var(--border);padding:16px 8px 0}.shell__agent-name{font-size:.88rem;font-weight:700}.shell__agent-agency{color:var(--ink-soft);font-size:.78rem}.shell__logout{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-top:10px;padding:0;font-size:.82rem;display:flex}.shell__logout:hover{color:var(--danger)}.shell__main{flex:1;max-width:1080px;padding:32px 40px 40px}.shell__tabbar{display:none}}.login{background:var(--surface-2);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login__card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow);text-align:center;padding:32px 28px}.login__mark{background:var(--primary);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 16px;font-weight:800;display:flex}.login__title{font-size:1.35rem;font-weight:800}.login__sub{color:var(--ink-soft);margin:6px 0 24px;font-size:.88rem}.login__form{text-align:left;flex-direction:column;gap:14px;display:flex}.login__field{flex-direction:column;gap:6px;display:flex}.login__field>span{color:var(--ink);font-size:.82rem;font-weight:700}.login__field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:11px 12px}.login__field input:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.login__hint{color:var(--ink-soft);margin:0;font-size:.85rem}.login__devotp{background:var(--warn-soft);color:#92400e;border-radius:var(--radius-sm);margin:0;padding:8px 10px;font-size:.8rem}.login__err{color:var(--danger);margin:0;font-size:.84rem}.login__submit{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:700;display:flex}.login__submit:disabled{opacity:.55;cursor:not-allowed}.login__submit:not(:disabled):hover{background:var(--primary-dark)}.login__back{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:.82rem}.page{flex-direction:column;gap:18px;display:flex}.page__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.page__title{font-size:1.4rem;font-weight:800}.page__sub{color:var(--ink-soft);margin:4px 0 0;font-size:.88rem}.banner{border-radius:var(--radius-sm);margin:0;padding:10px 14px;font-size:.86rem}.banner--err{background:var(--danger-soft);color:#991b1b}.stat-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=640px){.stat-grid{grid-template-columns:repeat(3,1fr)}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);align-items:center;gap:14px;padding:16px;display:flex}.stat-card__icon{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.stat-card__icon--blue{background:var(--primary-soft);color:var(--primary)}.stat-card__icon--green{background:var(--success-soft);color:var(--success)}.stat-card__icon--amber{background:var(--warn-soft);color:var(--warn)}.stat-card__value{font-size:1.3rem;font-weight:800;line-height:1.1}.stat-card__label{color:var(--ink-soft);margin-top:2px;font-size:.8rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px}.panel--center{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:44px 24px;display:flex}.panel__doneicon{color:var(--success)}.panel__head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.panel__head h2{font-size:1.05rem;font-weight:800}.panel__link{color:var(--primary);font-size:.85rem;font-weight:700}.panel__empty{color:var(--ink-soft);text-align:center;margin:0;padding:18px 4px;font-size:.88rem}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-size:.88rem;font-weight:700;display:inline-flex}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{background:var(--primary-dark)}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{background:var(--surface-2);color:var(--ink);border:1px solid var(--border)}.btn--block{width:100%;margin-top:6px;padding:13px}.btn-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;display:flex}.table{flex-direction:column;display:flex}.table__row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px 4px;display:flex}.table__row:last-child{border-bottom:none}.table__row--head{display:none}.table__cell{font-size:.86rem}.table__cell--main{flex:160px}.table__primary{font-weight:700}.table__secondary{color:var(--ink-soft);font-size:.8rem}@media (width>=720px){.table--full .table__row{grid-template-columns:1.4fr 1.2fr .9fr .8fr 1fr;display:grid}.table--full .table__row--head{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;font-size:.76rem;font-weight:700;display:grid}}.badge{border-radius:999px;margin-right:4px;padding:3px 9px;font-size:.74rem;font-weight:700;display:inline-block}.badge--cash,.badge--online,.badge--card,.badge--upi{background:var(--success-soft);color:#15803d}.badge--pending,.badge--unpaid{background:var(--warn-soft);color:#92400e}.badge--muted{background:var(--surface-2);color:var(--ink-soft)}.pager{color:var(--ink-soft);justify-content:space-between;align-items:center;margin-top:14px;font-size:.82rem;display:flex}.pager__buttons{gap:8px;display:flex}.pager__buttons button{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.pager__buttons button:disabled{opacity:.4;cursor:not-allowed}.field{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.field>span{color:var(--ink);font-size:.8rem;font-weight:700}.field input,.field select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;padding:10px 11px}.field input:focus,.field select:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.field-row{grid-template-columns:1fr;gap:0 14px;display:grid}@media (width>=560px){.field-row{grid-template-columns:1fr 1fr}}.line{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.line:first-of-type{border-top:none;margin-top:0;padding-top:0}.line__title{align-items:center;gap:8px;margin-bottom:10px;font-size:.95rem;font-weight:800;display:flex}.line__required{color:var(--danger);background:var(--danger-soft);border-radius:999px;padding:2px 7px;font-size:.68rem;font-weight:700}.line__total{text-align:right;color:var(--primary);font-weight:800}.grand-total{border-top:2px solid var(--border);justify-content:space-between;align-items:center;margin-top:8px;padding-top:14px;font-size:1.05rem;display:flex}.grand-total strong{color:var(--primary);font-size:1.2rem}.product-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (width>=560px){.product-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.product-grid{grid-template-columns:repeat(3,1fr)}}.product-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);cursor:pointer;flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;overflow:hidden}.product-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.product-card__image{aspect-ratio:16/9;background:var(--surface-2);width:100%;color:var(--ink-soft);flex-shrink:0;justify-content:center;align-items:center;display:flex}.product-card__image img{object-fit:cover;width:100%;height:100%;display:block}.product-card__footer{align-items:center;gap:10px;padding:12px 14px;display:flex}.product-card__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.product-card__name{font-size:.94rem;font-weight:700}.product-card__tagline{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.product-card__cta{color:var(--primary);flex-shrink:0;display:flex}.back-link{color:var(--ink-soft);align-items:center;gap:5px;margin-bottom:6px;font-size:.82rem;font-weight:700;display:inline-flex}.back-link:hover{color:var(--primary)}.product-hero{aspect-ratio:21/9;border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--ink-soft);justify-content:center;align-items:center;display:flex;overflow:hidden}.product-hero img{object-fit:cover;width:100%;height:100%;display:block}.product-detail__desc{color:var(--ink-soft);margin:0;font-size:.92rem;line-height:1.55}.offering-list{flex-direction:column;gap:14px;display:flex}.offering-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.offering-card__image{aspect-ratio:21/9;background:var(--surface-2);width:100%;color:var(--ink-soft);flex-shrink:0;justify-content:center;align-items:center;display:flex}.offering-card__image img{object-fit:cover;width:100%;height:100%;display:block}.offering-card__content{padding:14px 16px}.offering-card__name{margin:0 0 4px;font-size:.95rem;font-weight:700}.offering-card__desc{color:var(--ink-soft);margin:0 0 10px;font-size:.86rem;line-height:1.5}.offering-card__lists{flex-direction:column;gap:8px;display:flex}.offering-card__terms{color:var(--ink-soft);border-top:1px solid var(--border);margin:10px 0 0;padding-top:10px;font-size:.78rem}.check-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.check-list li{align-items:flex-start;gap:6px;font-size:.84rem;display:flex}.check-list--good li{color:var(--ink)}.check-list--good svg{color:var(--success);flex-shrink:0;margin-top:2px}.check-list--bad li{color:var(--ink-soft)}.check-list--bad svg{color:var(--danger);flex-shrink:0;margin-top:2px}
