*{box-sizing:border-box}html{min-width:320px}body{color:#17211f;background:#f5f3ec;min-width:320px;min-height:100vh;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}.app-shell{min-height:100vh}.app-content{padding-bottom:80px}.page{width:min(100%,960px);margin:0 auto;padding:24px 20px}.bottom-navigation{background:#fff;border-top:1px solid #ddd8ca;grid-template-columns:repeat(4,1fr);padding:8px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-navigation__item{color:#6b7470;text-align:center;border-radius:10px;padding:12px 4px;text-decoration:none}.bottom-navigation__item.is-active{color:#0b3435;background:#e7f1ef;font-weight:700}button{font:inherit}.home-hero{padding:24px 0 12px}.home-hero h1{max-width:18ch;margin:6px 0 12px;font-size:clamp(2rem,7vw,3.5rem);line-height:1.05}.home-hero p:last-child{color:#66716d;max-width:58ch;line-height:1.6}.eyebrow{color:#0f4c4d;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.search-box{box-sizing:border-box;background:#fff;border:1px solid #d8d8d8;border-radius:16px;align-items:center;gap:12px;width:100%;min-height:56px;margin-bottom:28px;padding:0 18px;display:flex}.search-box input{width:100%;font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:1rem}.search-box span{font-size:1.25rem}.search-box:hover{border-color:#0f4c4d}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-top:8px;margin-bottom:16px;display:flex}.section-heading h2{margin:4px 0 0;font-size:1.45rem}.text-button{color:#0f4c4d;cursor:pointer;background:0 0;border:0;padding:8px;font-weight:700}.promotion-list{gap:16px;display:grid}.promotion-card{cursor:pointer;background:#fff;border:1px solid #ded8c9;border-radius:18px;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 8px 24px #0b34350f}.promotion-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0b34351a}.promotion-card:focus-visible{outline-offset:3px;outline:3px solid #e7b82a}.promotion-card__content{flex:1;min-width:0;padding:18px}.promotion-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.promotion-card__merchant{color:#0b3435;margin:0;font-size:1rem}.promotion-card__institution{color:#66716d;margin:4px 0 0;font-size:.82rem}.promotion-card__benefit{color:#0f4c4d;margin-top:18px;font-size:1.55rem;line-height:1.1;display:block}.promotion-card__description{color:#4f5c58;margin:10px 0 0;font-size:.9rem;line-height:1.5}.promotion-card__meta{color:#66716d;justify-content:space-between;gap:12px;margin-top:16px;font-size:.78rem;display:flex}.promotion-card__expiry{color:#b84a32}.promotion-card__stub{color:#0b3435;text-align:center;background:#e7b82a;border-left:2px dashed #fff;flex-direction:column;justify-content:center;align-items:center;width:72px;padding:12px 8px;font-size:.75rem;font-weight:700;display:flex}.merchant-promotion-card{background:#fff;border:1px solid #ded8c9;border-radius:18px;display:flex;overflow:hidden;box-shadow:0 8px 24px #0b34350f}.merchant-promotion-card__content{flex:1;min-width:0;padding:18px}.merchant-promotion-card__merchant{color:#0b3435;margin:0;font-size:1rem}.merchant-promotion-card__count{color:#66716d;margin:5px 0 0;font-size:.82rem}.merchant-promotion-card__category{color:#66716d;margin:4px 0 0;font-size:.82rem}.merchant-promotion-card__institutions{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.merchant-promotion-card__institution{color:#0f4c4d;background:#e7f1ef;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:700}.merchant-promotion-card__promotions{gap:8px;margin-top:14px;display:grid}.merchant-promotion-card__promotion{color:#17211f;text-align:left;cursor:pointer;background:#fbfaf6;border:1px solid #eee9dd;border-radius:10px;gap:3px;width:100%;padding:10px 12px;display:grid}.merchant-promotion-card__promotion:hover,.merchant-promotion-card__promotion:focus-visible{color:#0f4c4d;border-color:#0f4c4d;outline:none}.merchant-promotion-card__promotion span{color:#66716d;font-size:.72rem}.merchant-promotion-card__promotion strong{font-size:.88rem}.merchant-promotion-card__action{color:#0f4c4d;margin:14px 0 0;font-size:.82rem;font-weight:700}.merchant-promotion-card__stub{color:#0b3435;text-align:center;background:#e7b82a;border-left:2px dashed #fff;flex-direction:column;justify-content:center;align-items:center;width:72px;padding:12px 8px;font-size:.72rem;font-weight:700;display:flex}.verification-badge{text-align:center;border-radius:999px;max-width:130px;padding:5px 9px;font-size:.68rem;font-weight:700}.verification-badge--official{color:#075985;background:#e0f2fe}.verification-badge--community{color:#8a4b08;background:#fff2c7}.verification-badge--unverified{color:#6b7280;background:#f1f3f2}@media (width>=760px){.promotion-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.promotion-card__header{flex-direction:column}.promotion-card__meta{flex-direction:column;gap:5px}.promotion-card__stub,.merchant-promotion-card__stub{width:58px}}.promotion-detail-page{min-height:100vh;padding-bottom:90px}.promotion-detail-hero{color:#fff;background:linear-gradient(135deg,#0b3435,#0f4c4d);padding:28px 20px 36px}.promotion-detail-hero h1{max-width:18ch;margin:10px 0 8px;font-size:clamp(2.2rem,8vw,4rem);line-height:1}.promotion-detail-hero>p:last-child{color:#ffffffc7;margin:0}.eyebrow--light{color:#f4d66b}.back-button{color:#0f4c4d;cursor:pointer;background:0 0;border:0;margin-bottom:24px;padding:8px 0;font-weight:700}.back-button--light{color:#fff}.promotion-detail-content{width:min(100%,860px);margin:0 auto;padding:20px}.detail-summary-card{background:#fff;border:1px solid #ded8c9;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.detail-verified-at{color:#66716d;font-size:.8rem}.detail-section{margin-top:28px}.detail-section h2{margin:0 0 14px;font-size:1.25rem}.detail-grid{gap:12px;display:grid}.detail-item{background:#fff;border:1px solid #ded8c9;border-radius:14px;padding:16px}.detail-item span{color:#66716d;margin-bottom:5px;font-size:.78rem;display:block}.detail-item strong{color:#17211f}.detail-panel{background:#fff;border:1px solid #ded8c9;border-radius:16px;padding:18px}.detail-panel p{color:#4f5c58;margin:0;line-height:1.6}.community-tip{background:#fff;border-left:4px solid #0f4c4d;border-radius:12px;margin-bottom:12px;padding:16px}.community-tip>div{justify-content:space-between;gap:12px;display:flex}.community-tip span{color:#66716d;font-size:.75rem}.community-tip p{color:#4f5c58;margin:10px 0 0;line-height:1.5}.detail-actions{gap:10px;margin-top:28px;display:grid}.primary-button,.secondary-button{cursor:pointer;border-radius:12px;width:100%;padding:14px 18px;font-weight:700}.primary-button{color:#fff;background:#0f4c4d;border:1px solid #0f4c4d}.secondary-button{color:#0f4c4d;background:#fff;border:1px solid #ded8c9}@media (width>=680px){.detail-grid,.detail-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.explore-header{padding:24px 0 18px}.explore-header h1{max-width:20ch;margin:6px 0 10px;font-size:clamp(2rem,7vw,3.4rem);line-height:1.08}.explore-header>p:last-child{color:#66716d;max-width:58ch;line-height:1.6}.explore-search{margin-bottom:24px}.explore-search label{color:#33413d;margin-bottom:8px;font-size:.82rem;font-weight:700;display:block}.explore-search input{color:#17211f;background:#fff;border:1px solid #ded8c9;border-radius:14px;outline:none;width:100%;padding:15px 16px}.explore-search input:focus{border-color:#0f4c4d;box-shadow:0 0 0 3px #0f4c4d1f}.filters-section{gap:18px;margin-bottom:30px;display:grid}.filter-group{gap:9px;min-width:0;display:grid}.filter-group__label{color:#33413d;font-size:.8rem;font-weight:700}.filter-group__options{scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;gap:8px;width:100%;min-width:0;padding-bottom:4px;display:flex;overflow-x:auto}.filter-group__options::-webkit-scrollbar{display:none}.filter-chip{color:#59645f;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #ded8c9;border-radius:999px;flex:none;align-items:center;gap:7px;min-height:38px;padding:8px 14px;display:inline-flex}.filter-chip__icon{color:#0f4c4d;justify-content:center;align-items:center;min-width:1.1em;font-size:.95rem;line-height:1;display:inline-flex}.filter-chip--category{text-align:center;white-space:normal;flex-direction:column;justify-content:center;gap:5px;min-height:70px;padding:7px 6px;font-size:.78rem;line-height:1.1}.filter-chip--category .filter-chip__icon{min-width:0;font-size:1.25rem}.filter-chip.is-active{color:#fff;background:#0f4c4d;border-color:#0f4c4d}.filter-chip.is-active .filter-chip__icon{color:#fff}.results-header{justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px;display:flex}.results-header h2{margin:4px 0 0;font-size:1.35rem}.results-header__secondary{color:#66716d;margin:5px 0 0;font-size:.78rem}.empty-results{color:#66716d;text-align:center;background:#fff;border:1px solid #ded8c9;border-radius:18px;padding:44px 20px}.empty-results>span{color:#0f4c4d;margin-bottom:12px;font-size:2.5rem;display:block}.empty-results h2{color:#17211f;margin:0}.empty-results p{max-width:38ch;margin:10px auto 20px;line-height:1.5}.empty-results .secondary-button{width:auto}@media (width>=780px){.filters-section{grid-template-columns:minmax(0,1fr)}.filter-group--categories .filter-group__options{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid;overflow-x:visible}.filter-group--categories .filter-chip--category{width:100%}}@media (width>=1100px){.home-page,.explore-page{width:min(100%,1240px)}.filter-group--categories .filter-group__options{grid-template-columns:repeat(11,minmax(96px,1fr))}}.community-header{padding:24px 0 18px}.community-header h1{max-width:21ch;margin:6px 0 10px;font-size:clamp(2rem,7vw,3.4rem);line-height:1.08}.community-header>p:last-child{color:#66716d;max-width:60ch;line-height:1.6}.community-actions{margin-bottom:22px}.community-actions .primary-button{max-width:280px}.community-tabs{scrollbar-width:none;gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.community-tabs::-webkit-scrollbar{display:none}.community-tab{color:#59645f;cursor:pointer;background:#fff;border:1px solid #ded8c9;border-radius:999px;flex:none;padding:9px 15px}.community-tab.is-active{color:#fff;background:#0f4c4d;border-color:#0f4c4d}.community-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0;display:grid}.community-summary>div{text-align:center;background:#fff;border:1px solid #ded8c9;border-radius:14px;padding:14px 10px}.community-summary strong{color:#0f4c4d;font-size:1.3rem;display:block}.community-summary span{color:#66716d;margin-top:4px;font-size:.72rem;line-height:1.3;display:block}.community-list{gap:16px;display:grid}.community-card{background:#fff;border:1px solid #ded8c9;border-radius:18px;padding:18px;box-shadow:0 8px 24px #0b34350d}.community-card__header{align-items:center;gap:10px;display:flex}.community-avatar{color:#fff;background:#0f4c4d;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:.8rem;font-weight:700;display:grid}.community-author{flex:1;min-width:0}.community-author strong,.community-author span{display:block}.community-author span{color:#66716d;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.75rem;overflow:hidden}.contribution-status{border-radius:999px;padding:5px 8px;font-size:.65rem;font-weight:700}.contribution-status--verified{color:#047857;background:#d1fae5}.contribution-status--pending{color:#8a4b08;background:#fff2c7}.contribution-status--disputed{color:#b42318;background:#fee4e2}.community-card__body{margin-top:16px}.community-card__merchant{color:#0f4c4d;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.community-card__body h2{margin:5px 0 9px;font-size:1.15rem}.community-card__body>p:last-child{color:#4f5c58;margin:0;line-height:1.6}.community-confirmations{color:#047857;background:#ecfdf5;border-radius:10px;margin-top:14px;padding:9px 11px;font-size:.78rem;font-weight:700}.community-card__footer{border-top:1px solid #eee9dd;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;display:flex}.vote-button,.community-action-button{color:#66716d;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px}.vote-button:hover,.community-action-button:hover{color:#0f4c4d;background:#edf5f3}.vote-button.is-liked{color:#0f4c4d;background:#e7f1ef;font-weight:700}@media (width>=780px){.community-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.community-summary{grid-template-columns:1fr}.community-card__header{flex-wrap:wrap;align-items:flex-start}.contribution-status{margin-left:52px}}.report-header{padding:24px 0 18px}.report-header h1{max-width:19ch;margin:6px 0 10px;font-size:clamp(2rem,7vw,3.4rem);line-height:1.08}.report-header>p:last-child{color:#66716d;max-width:60ch;line-height:1.6}.report-notice{color:#7a321f;background:#fff0eb;border:1px solid #f2c6b8;border-radius:14px;margin-bottom:24px;padding:16px}.report-notice p{margin:5px 0 0;font-size:.86rem;line-height:1.5}.report-form{background:#fff;border:1px solid #ded8c9;border-radius:18px;gap:20px;padding:20px;display:grid}.report-form__row{gap:20px;display:grid}.form-field{gap:8px;display:grid}.form-field>label{color:#33413d;font-size:.82rem;font-weight:700}.form-field input,.form-field select,.form-field textarea{color:#17211f;background:#fff;border:1px solid #d7d2c4;border-radius:12px;outline:none;width:100%;padding:13px 14px}.form-field textarea{resize:vertical;min-height:130px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#0f4c4d;box-shadow:0 0 0 3px #0f4c4d1f}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:#c94732}.form-field__help,.form-field__error{font-size:.75rem;line-height:1.4}.form-field__help{color:#66716d}.form-field__error{color:#b42318;font-weight:700}.file-input{opacity:0;pointer-events:none;height:1px;position:absolute;overflow:hidden;width:1px!important;padding:0!important}.file-drop{color:#66716d;text-align:center;cursor:pointer;background:#fbfaf6;border:2px dashed #d7d2c4;border-radius:14px;align-content:center;place-items:center;gap:6px;min-height:140px;padding:24px;display:grid}.file-drop:hover{color:#0f4c4d;border-color:#0f4c4d}.file-drop>span{font-size:1.8rem}.file-drop strong{color:#33413d}.file-drop small{font-size:.74rem}.report-consent{color:#4f5c58;align-items:flex-start;gap:10px;font-size:.82rem;line-height:1.5;display:flex}.report-consent input{margin-top:4px}.report-form__actions{gap:10px;display:grid}.submission-success{text-align:center;background:#fff;border:1px solid #ded8c9;border-radius:20px;max-width:680px;margin:40px auto;padding:32px 24px}.submission-success__icon{color:#fff;background:#0f4c4d;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 18px;font-size:2rem;font-weight:700;display:grid}.submission-success h1{margin:7px 0 12px}.submission-success>p{color:#66716d;line-height:1.6}.submission-summary{text-align:left;gap:10px;margin:24px 0;display:grid}.submission-summary>div{background:#f7f5ee;border-radius:12px;padding:14px}.submission-summary span,.submission-summary strong{display:block}.submission-summary span{color:#66716d;margin-bottom:4px;font-size:.72rem}.submission-success__actions{gap:10px;display:grid}@media (width>=720px){.report-form__row,.report-form__actions,.submission-success__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile-header{align-items:center;gap:18px;padding:24px 0 18px;display:flex}.profile-avatar{color:#fff;background:linear-gradient(135deg,#0b3435,#0f4c4d);border-radius:50%;flex:none;place-items:center;width:72px;height:72px;font-size:1.4rem;font-weight:700;display:grid}.profile-header h1{margin:5px 0}.profile-header>div:last-child>p:last-child{color:#66716d;margin:0}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.profile-stats>div{text-align:center;background:#fff;border:1px solid #ded8c9;border-radius:14px;padding:16px 10px}.profile-stats strong,.profile-stats span{display:block}.profile-stats strong{color:#0f4c4d;font-size:1.45rem}.profile-stats span{color:#66716d;margin-top:4px;font-size:.75rem}.profile-section{margin-top:30px}.profile-section__description{color:#66716d;margin:-4px 0 16px;font-size:.85rem;line-height:1.5}.payment-method-list{gap:10px;display:grid}.payment-method-card{background:#fff;border:1px solid #ded8c9;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.payment-method-card__icon{color:#fff;background:#0f4c4d;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.payment-method-card>div:nth-child(2){flex:1;min-width:0}.payment-method-card strong,.payment-method-card span{display:block}.payment-method-card span{color:#66716d;margin-top:3px;font-size:.75rem}.icon-button{color:#66716d;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.icon-button:hover{color:#b42318;background:#fee4e2}.profile-add-payment{margin-top:12px}.profile-tabs{scrollbar-width:none;gap:8px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.profile-tabs::-webkit-scrollbar{display:none}.profile-tab{color:#59645f;cursor:pointer;background:#fff;border:1px solid #ded8c9;border-radius:999px;flex:none;padding:8px 14px}.profile-tab.is-active{color:#fff;background:#0f4c4d;border-color:#0f4c4d}.profile-contribution-list{gap:12px;display:grid}.profile-contribution-card{background:#fff;border:1px solid #ded8c9;border-radius:16px;padding:16px}.profile-contribution-card header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.profile-contribution-card header p{color:#0f4c4d;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.profile-contribution-card h3{margin:5px 0;font-size:1rem}.profile-contribution-card header span{color:#66716d;font-size:.75rem}.profile-status{border-radius:999px;flex:none;padding:5px 8px;font-size:.68rem;font-weight:700}.profile-status--approved{color:#047857;background:#d1fae5}.profile-status--pending{color:#8a4b08;background:#fff2c7}.profile-status--rejected{color:#b42318;background:#fee4e2}.profile-contribution-card__note{color:#66716d;background:#f7f5ee;border-radius:10px;margin:14px 0 0;padding:10px;font-size:.8rem;line-height:1.5}.profile-contribution-card footer{color:#66716d;border-top:1px solid #eee9dd;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.profile-account-actions{gap:10px;display:grid}.danger-button{color:#fff;cursor:pointer;background:#b42318;border:1px solid #b42318;border-radius:12px;width:100%;padding:14px 18px;font-weight:700}@media (width>=720px){.profile-contribution-list,.profile-account-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.profile-header{align-items:flex-start}.profile-stats{grid-template-columns:1fr}.profile-contribution-card header{flex-direction:column}}.auth-page{background:linear-gradient(135deg,#0b3435 0%,#0f4c4d 42%,#f5f3ec 42%);place-items:center;min-height:100vh;padding:24px 20px;display:grid}.auth-card{background:#fff;border:1px solid #ded8c9;border-radius:20px;width:min(100%,460px);padding:28px;box-shadow:0 24px 60px #0b34352e}.auth-card h1{margin:7px 0 10px;font-size:2rem}.auth-description{color:#66716d;margin-bottom:24px;line-height:1.6}.auth-form{gap:16px;display:grid}.auth-form label{color:#33413d;gap:7px;font-size:.82rem;font-weight:700;display:grid}.auth-form input{color:#17211f;background:#fff;border:1px solid #d7d2c4;border-radius:12px;outline:none;width:100%;padding:13px 14px}.auth-form input:focus{border-color:#0f4c4d;box-shadow:0 0 0 3px #0f4c4d1f}.auth-error{color:#b42318;background:#fee4e2;border-radius:10px;margin:0;padding:10px 12px;font-size:.8rem;font-weight:700}.auth-footer{color:#66716d;text-align:center;margin:20px 0 0}.auth-footer a,.auth-back-link{color:#0f4c4d;font-weight:700}.auth-back-link{text-align:center;margin-top:18px;text-decoration:none;display:block}.profile-edit-form{background:#fff;border:1px solid #ded8c9;border-radius:14px;gap:14px;margin-bottom:16px;padding:16px;display:grid}.profile-edit-form label{color:#33413d;gap:7px;font-size:.82rem;font-weight:700;display:grid}.profile-edit-form input{color:#17211f;background:#fff;border:1px solid #d7d2c4;border-radius:12px;outline:none;width:100%;padding:13px 14px}.profile-edit-form input:focus{border-color:#0f4c4d;box-shadow:0 0 0 3px #0f4c4d1f}.profile-edit-form button:disabled{cursor:wait;opacity:.65}.profile-success{color:#047857;background:#d1fae5;border-radius:10px;margin:0 0 14px;padding:11px 12px;font-size:.82rem;font-weight:700}.promotion-detail-code{opacity:.75;margin-top:8px;font-size:.75rem}
