:root{--ink:#241c1a;--ink-soft:#8a7a74;--surface:#fffefc;--surface-2:#f6f1ee;--border:#ece2dd;--primary:#d33625;--primary-dark:#9e281b;--primary-soft:#fbefed;--brand-2:#ee6c2b;--brand-2-soft:#fdebe3;--success:#15803d;--success-soft:#dcfce7;--warn:#b45309;--warn-soft:#fef3c7;--danger:#e11d48;--danger-soft:#ffe4e6;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--shadow:0 1px 2px #2416120d, 0 2px 6px #2416120d;--shadow-lg:0 20px 40px -12px #2416122e, 0 8px 20px -10px #d336251f}*{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{letter-spacing:-.01em;margin:0;font-family:Clash Display,General Sans,sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--primary-soft);color:var(--primary-dark)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--surface-2);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--ink-soft)}.shell{min-height:100vh}.shell__header{background:var(--surface);border-bottom:1px solid var(--border);z-index:40;align-items:center;gap:20px;padding:12px 20px;display:flex;position:relative;top:0;overflow-x:auto}.shell__header:after{content:"";background:linear-gradient(90deg, var(--primary), var(--brand-2));opacity:.9;height:2px;position:absolute;bottom:-1px;left:0;right:0}.shell__brand{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:3px;display:flex}.shell__brand-logo{flex-shrink:0;width:auto;height:24px;display:block}.shell__brand-tag{color:var(--ink-soft);white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:600}.shell__nav{flex:1;align-items:center;gap:4px;display:flex}.shell__navlink{white-space:nowrap;color:var(--ink-soft);border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-size:.87rem;font-weight:600;transition:background .15s,color .15s;display:flex}.shell__navlink:hover{background:var(--surface-2);color:var(--ink)}.shell__navlink.is-active{background:var(--primary-soft);color:var(--primary-dark);box-shadow:inset 0 -2px 0 var(--primary)}.shell__agent{flex-shrink:0;align-items:center;gap:12px;display:flex}.shell__avatar{background:linear-gradient(135deg, var(--primary), var(--brand-2));color:#fff;letter-spacing:.01em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.78rem;font-weight:700;display:flex;box-shadow:0 2px 6px -1px #d3362573}.shell__agent-name{font-size:.84rem;font-weight:700;line-height:1.2}.shell__agent-agency{color:var(--ink-soft);font-size:.74rem;line-height:1.2}.shell__logout{white-space:nowrap;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-size:.82rem;transition:color .15s;display:flex}.shell__logout:hover{color:var(--danger)}.shell__main{max-width:1080px;margin:0 auto;padding:24px 16px 44px}@media (width>=720px){.shell__main{padding:32px 32px 52px}}.login{background:radial-gradient(circle at 12% 12%, #d3362512, transparent 45%), radial-gradient(circle at 88% 85%, #ee6c2b14, transparent 45%), 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:400px;box-shadow:var(--shadow-lg);text-align:center;padding:40px 32px}.login__logo{width:auto;height:42px;margin:0 auto 20px;display:block}.login__title{font-size:1.4rem;font-weight:700}.login__sub{color:var(--ink-soft);margin:6px 0 26px;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 13px;transition:border-color .15s,box-shadow .15s}.login__field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.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:linear-gradient(135deg, var(--primary), var(--brand-2));color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:700;transition:filter .15s,box-shadow .15s;display:flex;box-shadow:0 4px 12px -3px #d3362566}.login__submit:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.login__submit:not(:disabled):hover{filter:brightness(.94)}.login__back{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:.82rem}.page{flex-direction:column;gap:20px;display:flex}.page__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.page__title{font-size:1.5rem;font-weight:700}.page__sub{color:var(--ink-soft);margin:4px 0 0;font-size:.88rem}.banner{border-radius:var(--radius-sm);margin:0;padding:11px 15px;font-size:.86rem}.banner--err{background:var(--danger-soft);color:#991b1b}.banner--warn{background:var(--warn-soft);color:#92400e}.stat-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (width>=640px){.stat-grid{grid-template-columns:repeat(2,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:18px;transition:box-shadow .15s,transform .15s;display:flex}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}.stat-card__icon{border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-card__icon--blue{background:var(--primary-soft);color:var(--primary)}.stat-card__icon--green{background:var(--brand-2-soft);color:var(--brand-2)}.stat-card__icon--amber{background:var(--warn-soft);color:var(--warn)}.stat-card__value{font-family:Clash Display,General Sans,sans-serif;font-size:1.4rem;font-weight:600;line-height:1.1}.stat-card__label{color:var(--ink-soft);margin-top:3px;font-size:.8rem}.stat-card__hint{color:var(--ink-soft)}.stat-card--wallet{flex-wrap:wrap;row-gap:12px}.stat-card__body{flex:1;min-width:100px}.stat-card__action{margin-left:auto}.btn--sm{padding:6px 13px;font-size:.78rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.panel--center{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.panel__doneicon{color:var(--success)}.panel__head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.panel__head h2{font-size:1.08rem;font-weight:700}.panel__link{color:var(--primary);font-size:.85rem;font-weight:700}.panel__link:hover{color:var(--primary-dark)}.panel__empty{color:var(--ink-soft);text-align:center;margin:0;padding:20px 4px;font-size:.88rem}.btn{border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:7px;padding:10px 18px;font-size:.88rem;font-weight:700;transition:filter .15s,box-shadow .15s,background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:linear-gradient(135deg, var(--primary), var(--brand-2));color:#fff;box-shadow:0 4px 12px -3px #d3362561}.btn--primary:hover:not(:disabled){filter:brightness(.95)}.btn--primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn--ghost{background:var(--surface);color:var(--ink);border:1px solid var(--border)}.btn--ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-soft)}.btn--danger{background:var(--danger);color:#fff}.btn--danger:hover:not(:disabled){background:#b91c1c}.btn--danger:disabled{opacity:.5;cursor:not-allowed}.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:13px 6px;transition:background .12s;display:flex}.table__row:last-child{border-bottom:none}.table__row:hover{background:var(--surface-2)}.table__row--head{display:none}.table__row--head:hover{background:0 0}.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 1.1fr 1fr .8fr .8fr;display:grid}.table--withdrawals .table__row{grid-template-columns:1fr 1.2fr .9fr 1.2fr 1.6fr;display:grid}.table--full .table__row--head,.table--withdrawals .table__row--head{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;font-weight:700;display:grid}}.badge{letter-spacing:.01em;border-radius:999px;margin-right:4px;padding:4px 10px;font-size:.73rem;font-weight:700;display:inline-block}.badge--cash,.badge--online,.badge--card,.badge--upi,.badge--wallet,.badge--paid{background:var(--success-soft);color:#15803d}.badge--pending,.badge--unpaid{background:var(--warn-soft);color:#92400e}.badge--rejected{background:var(--danger-soft);color:var(--danger)}.badge--muted{background:var(--surface-2);color:var(--ink-soft)}.invoice-link{color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:.8rem;font-weight:700;display:inline-flex}.invoice-link:hover{color:var(--primary-dark)}.invoice-link--danger{color:var(--danger)}.invoice-link--danger:hover{color:#b91c1c}.cancel-preview{flex-direction:column;gap:12px;display:flex}.cancel-preview .table{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.cancel-preview .table__row{padding:8px 10px}.cancel-preview .table__row--head{background:var(--surface-2)}.cancel-preview__totals{flex-direction:column;gap:4px;font-size:.88rem;display:flex}.cancel-preview__totals>div{justify-content:space-between;display:flex}.cancel-preview__refund{color:var(--success)}.cancel-preview__retained{color:var(--danger)}.pager{color:var(--ink-soft);justify-content:space-between;align-items:center;margin-top:16px;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;transition:background .15s,border-color .15s;display:flex}.pager__buttons button:hover:not(:disabled){background:var(--surface-2);border-color:var(--ink-soft)}.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,.field textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;font:inherit;resize:vertical;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.field-row{grid-template-columns:1fr;gap:0 14px;display:grid}@media (width>=560px){.field-row{grid-template-columns:1fr 1fr}}.wallet-actions__note{color:var(--ink-soft);margin:6px 0 0;font-size:.8rem}.wallet-withdraw-confirm{flex-direction:column;display:flex}.wallet-withdraw-confirm .btn-row,.cancel-preview .btn-row{justify-content:flex-end;margin-top:4px}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#2416126b;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:380px;max-height:calc(100vh - 32px);padding:22px 24px;overflow-y:auto}.modal-card--lg{max-width:480px}.modal-card__head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-card__head h3{font-size:1.08rem;font-weight:700}.modal-card__close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.modal-card__close:hover{background:var(--surface-2);color:var(--ink)}.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:700;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:700}.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-family:Clash Display,General Sans,sans-serif;font-size:1.25rem}.product-grid{grid-template-columns:1fr;gap:16px;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 .18s,box-shadow .18s,transform .18s;display:flex;overflow:hidden}.product-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.product-card__image{background:var(--surface-2);width:100%;height:168px;color:var(--ink-soft);flex-shrink:0;justify-content:center;align-items:center;display:flex}.product-card__image img{object-fit:contain;width:100%;height:100%;display:block}.product-card__footer{align-items:center;gap:10px;padding:14px 16px;display:flex}.product-card__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.product-card__name{text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;font-weight:700;overflow:hidden}.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;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--primary)}.product-hero{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--primary-soft), var(--brand-2-soft));border:1px solid var(--border);width:100%;height:clamp(150px,22vw,230px);box-shadow:var(--shadow);position:relative;overflow:hidden}.product-hero img{object-fit:cover;width:100%;height:100%;display:block}.product-hero__placeholder{width:100%;height:100%;color:var(--ink-soft);justify-content:center;align-items:center;display:flex}.product-hero__scrim{background:linear-gradient(#0000 15%,#1c100d2e 45%,#1c100dbf 100%);position:absolute;inset:0}.product-hero__content{padding:16px 20px;position:absolute;bottom:0;left:0;right:0}.product-hero__title{color:#fff;font-size:1.35rem;font-weight:700}.product-hero__tagline{color:#ffffffe0;margin:4px 0 0;font-size:.86rem}.product-detail__desc{color:var(--ink-soft);margin:0;font-size:.92rem;line-height:1.6}.booking-layout{grid-template-columns:1fr;align-items:start;gap:18px;display:grid}.booking-layout__main{flex-direction:column;gap:18px;min-width:0;display:flex}@media (width>=960px){.booking-layout{grid-template-columns:1fr 320px;gap:24px}}.booking-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:20px;display:flex}@media (width>=960px){.booking-summary{position:sticky;top:96px}}.booking-summary__title{font-size:1rem;font-weight:700}.booking-summary__empty{color:var(--ink-soft);text-align:center;margin:0;padding:8px 0;font-size:.85rem}.booking-summary__lines{flex-direction:column;gap:10px;display:flex}.booking-summary__line{justify-content:space-between;gap:10px;font-size:.85rem;display:flex}.booking-summary__line-name{color:var(--ink-soft);flex-direction:column;display:flex}.booking-summary__line-name strong{color:var(--ink);font-size:.88rem;font-weight:600}.booking-summary__hint{color:var(--ink-soft);text-align:center;margin:0;font-size:.78rem}.seg-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;gap:2px;margin-bottom:14px;padding:4px;display:inline-flex}.seg-toggle__opt{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 16px;font-size:.85rem;font-weight:700;transition:color .15s,background .15s}.seg-toggle__opt.is-active{background:linear-gradient(135deg, var(--primary), var(--brand-2));color:#fff}.offering-list{flex-direction:column;gap:12px;display:flex}.offering-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:row;align-items:flex-start;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.offering-card:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.offering-card__image{background:var(--surface-2);width:96px;height:96px;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{flex:1;min-width:0;padding:12px 14px}.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}
