/* Theme values come from validated administrator settings. */
body{background:var(--bg);color:var(--text)}
.brand strong,.market-title,.market-section-title,.section-title,.landing-hero h1,.hero h1,.product-name,.product-detail-copy h1{color:var(--text)}
.brand-mark,.landing-hero h1 span,.hero h1 span,.product-price,.detail-price,.market-explore,.market-back{color:var(--green)}
.btn-forest{background:var(--forest);color:#fff}.btn-forest:hover,.btn-forest:focus-visible{background:var(--forest);color:#fff;filter:brightness(.9)}
.btn-outline-forest{color:var(--forest);border-color:var(--forest)}.btn-outline-forest:hover{background:var(--forest);border-color:var(--forest);color:#fff}
.hero,.landing-preview,.icon-box,.badge-soft,.security-card,.side-link.active,.side-link:hover{background:color-mix(in srgb,var(--green) 12%,white)}
.hero-visual{background:linear-gradient(145deg,color-mix(in srgb,var(--green) 22%,white),var(--bg))}.bag{background:var(--forest)}
.icon-box,.side-link.active,.side-link:hover,.badge-soft{color:var(--forest)}
.landing-shell,.auth-wrap{background:var(--bg)}
.site-logo{max-width:88px;max-height:64px;object-fit:contain;flex-shrink:0}.brand{min-width:0}.brand strong{overflow-wrap:anywhere}.brand small{letter-spacing:2px;overflow-wrap:anywhere}
.sidebar{overflow-y:auto}.sidebar .brand{margin-bottom:30px}.sidebar .brand strong{font-size:23px}.sidebar .site-logo{max-width:62px;max-height:54px}
.site-page-copy{max-width:1440px;margin:20px auto;padding:18px 28px;background:color-mix(in srgb,var(--green) 12%,white);border-left:4px solid var(--green);border-radius:12px;white-space:normal;overflow-wrap:anywhere}
.site-footer{background:var(--forest);color:#fff;padding:56px clamp(24px,4vw,64px) 24px;margin-top:30px}
body:has(.sidebar) .site-footer,body:has(.sidebar) .site-page-copy{margin-left:282px}
.site-footer-grid{display:grid;grid-template-columns:1.25fr .7fr 1fr 1.2fr;gap:36px;max-width:1500px;margin:0 auto}
.site-footer .brand{margin:0 0 25px;text-decoration:none}.site-footer .brand strong,.site-footer .brand-mark{color:#fff}.site-footer .brand small{color:#d4e6da;font-size:9px}
.site-footer h2{font-size:1.25rem;line-height:1.5;max-width:340px}.site-footer h3{font-size:1rem;font-weight:700;margin-bottom:20px}.site-footer p{font-size:.875rem;line-height:1.8;color:#e0e9e2;overflow-wrap:anywhere}
.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer nav>a{display:block;font-size:.875rem;margin:0 0 14px;color:#e0e9e2}
.site-socials{display:flex;gap:10px;flex-wrap:wrap}.site-socials a{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff40;border-radius:50%}.site-socials a:hover{background:#ffffff20}
.footer-contact{display:flex;align-items:flex-start;gap:10px}.footer-contact i{margin-top:3px}.footer-whatsapp{display:inline-flex;align-items:center;gap:8px;font-size:.875rem}
.newsletter-input{display:flex;border:1px solid #ffffff55;border-radius:12px;overflow:hidden;background:#fff}.newsletter-input input{width:100%;min-width:0;border:0;background:#fff;color:#173c2f;padding:13px;font-size:.875rem}.newsletter-input button{border:0;background:var(--green);color:#fff;min-width:48px;font-size:1.2rem}.newsletter-input input:focus-visible{outline:3px solid var(--green);outline-offset:-3px}
.newsletter-consent{display:flex;align-items:flex-start;gap:8px;font-size:.75rem;color:#e0e9e2;line-height:1.7;margin-top:12px}.newsletter-consent input{margin-top:4px;flex-shrink:0}.newsletter-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.site-footer-bottom{max-width:1500px;margin:40px auto 0;padding-top:22px;border-top:1px solid #ffffff30;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.75rem;color:#e0e9e2}.site-footer-bottom a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:1025;display:flex;gap:10px;align-items:center;background:#128c4b;color:#fff;border:2px solid #fff;border-radius:40px;padding:12px 18px;box-shadow:0 5px 24px #0003;text-decoration:none;font-size:.875rem;font-weight:700}.whatsapp-float i{font-size:27px}.whatsapp-float:hover,.whatsapp-float:focus-visible{background:#0b703b;color:#fff;transform:translateY(-2px)}
.newsletter-page{max-width:760px;margin:70px auto;padding:20px}
@media(min-width:992px) and (max-width:1399px){body:has(.sidebar) .site-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:991px){body:has(.sidebar) .site-footer,body:has(.sidebar) .site-page-copy{margin-left:0}.site-footer-grid{grid-template-columns:1fr 1fr}.site-page-copy{margin:75px 18px 0}.site-footer{padding:40px 24px 28px}}
@media(max-width:575px){.site-footer-grid{grid-template-columns:1fr;gap:28px}.site-footer-bottom{padding-bottom:55px}.whatsapp-float{bottom:16px;right:16px;padding:10px 13px}.whatsapp-float span{display:none}.site-footer .brand small{letter-spacing:1px}.site-logo{max-width:64px}}
@media print{.site-footer,.whatsapp-float{display:none}}

/* Professional type scale shared by every public, user and admin page. */
:root{--app-font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--bs-font-sans-serif:var(--app-font);--bs-body-font-family:var(--app-font);--type-body:1rem;--type-label:.875rem;--type-caption:.8125rem;--type-title:clamp(1.625rem,2.4vw,2.125rem)}
body{font-family:var(--app-font);font-size:var(--type-body);line-height:1.6;font-weight:400}
button,input,select,textarea,.btn{font-family:inherit}h1,h2,h3,h4,h5,h6{line-height:1.3;letter-spacing:-.025em;font-weight:650}
h1{font-size:var(--type-title)}h2{font-size:1.625rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}
.main .section-title,.main .market-section-title{font-size:1.375rem}.main .card-soft h2,.main .checkout-card h2{font-size:1.375rem}
.hero h1,.landing-hero h1{font-size:clamp(2rem,4.2vw,3.25rem);line-height:1.13;letter-spacing:-.04em;font-weight:700}
.form-label,.ui-label{font-size:var(--type-label);font-weight:500;line-height:1.5}.ui-label{color:#65746b}.ui-value{font-size:1rem;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ui-stat{display:block;font-size:clamp(1.5rem,2.8vw,2rem);font-weight:650;line-height:1.3;margin-top:.35rem;font-variant-numeric:tabular-nums}
small,.small,.form-text{font-size:var(--type-caption);line-height:1.5}.btn,.btn-sm{font-size:.875rem;font-weight:600}.btn-lg{font-size:1rem}
.table{font-size:.9375rem;line-height:1.5}.table th{font-size:.8125rem;font-weight:600;color:#58695f}.table td{font-variant-numeric:tabular-nums}.badge{font-size:.75rem;font-weight:600;line-height:1.3}
.market-kicker,.eyebrow,.step-kicker,.category-label,.sale-pill{font-size:.75rem;letter-spacing:.08em}.market-tagline,.market-inline-tag,.top-welcome{font-size:.9375rem}
.product-name,.category-copy h3,.quick-card h6{font-size:1rem}.product-store,.category-copy p,.category-footer,.market-explore{font-size:.875rem}.product-price,.task-reward{font-size:1.125rem;font-weight:650}.detail-price{font-size:2rem}
.wallet-card .balance{font-size:clamp(1.875rem,3vw,2.5rem);font-weight:650;font-variant-numeric:tabular-nums}.wallet-card .muted{font-size:.875rem}.wallet-card .ui-label,.wallet-dark .ui-label{color:#d3e1d6}
.stat-card>.ui-label,.mini-info>.ui-label{display:block}.stat-card h3{font-size:1.75rem}.security-card small{font-size:.8125rem}
.sidebar{padding:24px 16px}.sidebar .brand{margin:0 12px 24px}.sidebar .brand strong{font-size:1.375rem}.sidebar .brand small{font-size:.6875rem}
.workspace-heading{padding:0 12px 16px;border-bottom:1px solid var(--border)}.workspace-heading>.ui-label{font-size:.6875rem;letter-spacing:.09em;font-weight:700}
.workspace-switch{display:flex;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;margin-top:10px;color:var(--forest);text-decoration:none}.workspace-switch:hover{text-decoration:underline}
.menu-group{margin-top:22px}.side-label{font-size:.6875rem;letter-spacing:.09em;font-weight:700;margin:0 12px 8px;color:#63756a;text-transform:uppercase}.side-link{font-size:.875rem;font-weight:500;padding:10px 12px;gap:12px;border-radius:10px;line-height:1.45}.side-link i{font-size:1.125rem}.side-link.active{font-weight:650}
.sidebar-account{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.sidebar-profile{display:flex;align-items:center;gap:12px;padding:8px 12px 16px;text-decoration:none;color:inherit}.sidebar-identity{min-width:0}.sidebar-identity>span{display:block}.sidebar-identity .ui-value{font-size:.875rem}.sidebar-identity .ui-label{font-size:.8125rem}
.profile-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;display:inline-grid;place-items:center;background:var(--sage);color:var(--forest);font-size:1.125rem;font-weight:650;border:1px solid var(--border)}.profile-avatar-large{width:96px;height:96px;font-size:2rem}
.profile-main{padding-top:32px}.profile-form{max-width:760px}.profile-photo-editor{display:flex;align-items:center;gap:24px;margin-bottom:28px}.profile-photo-editor>div{min-width:0}.profile-summary{display:flex;flex-direction:column;gap:4px;padding:18px 0;margin-bottom:20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
@media(max-width:991px){.profile-main{padding-top:80px}}
@media(max-width:575px){.profile-photo-editor{align-items:flex-start;flex-direction:column;gap:16px}.profile-avatar-large{width:80px;height:80px}.profile-photo-editor .flex-grow-1{width:100%}}

/* Account photo stays at the top right without covering page content. */
.account-topbar{display:flex;align-items:center;justify-content:flex-end;min-height:80px;padding:16px 42px;gap:12px}
body:has(.sidebar) .account-topbar{margin-left:282px}
.account-topbar-profile{display:inline-flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;border-radius:999px;padding:4px 4px 4px 16px;border:1px solid var(--border);background:#fff;max-width:100%}
.account-topbar-profile:hover{background:var(--sage);color:var(--forest)}
.account-topbar-name{font-size:.875rem;font-weight:600;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body:has(.account-topbar) .main{padding-top:12px}
@media(max-width:991px){body:has(.sidebar) .account-topbar{margin-left:0}.account-topbar{padding:12px 24px 12px 76px;min-height:80px}body:has(.account-topbar) .site-page-copy{margin-top:12px}}
@media(max-width:575px){.account-topbar{padding-right:16px}.account-topbar-name{max-width:160px}.account-topbar .profile-avatar{width:40px;height:40px}}
@media print{.account-topbar{display:none}}
