*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--black:#0f0f0f;--white:#fff;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#e8e8e8;--gray-300:#d4d4d4;--gray-400:#9e9e9e;--gray-600:#555;--accent:#1a6b3c;--accent-light:#e8f5ee;--accent-mid:#2d8a55;--red:#d93025;--red-light:#fdecea}:root[data-theme=dark]{--black:#f2f2f2;--white:#1c1c1e;--gray-50:#232325;--gray-100:#2b2b2d;--gray-200:#3a3a3c;--gray-300:#4a4a4c;--gray-400:#9a9a9e;--gray-600:#c7c7cc;--accent:#4ccb7a;--accent-light:#1e3327;--accent-mid:#3aa869;--red:#ff6b5e;--red-light:#3a2220}[data-theme=dark] body{background:#0d0d0e}[data-theme=dark] .scroll-area::-webkit-scrollbar-thumb{background:#ffffff26}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--gray-400)}[data-theme=dark] .promo-badge{background:#4ccb7a1a;border-color:#4ccb7a4d}[data-theme=dark] .promo-badge-label{color:var(--gray-400)}[data-theme=dark] .promo-badge-val{color:var(--accent)}[data-theme=dark] .promo-badge.tlt-badge{background:#4ccb7a2e;border-color:#4ccb7a66}html{font-size:16px}body{color:var(--black);background:#f8f8f6;justify-content:center;align-items:flex-start;min-height:100vh;padding:32px 16px 64px;font-family:DM Sans,system-ui,sans-serif;transition:background .2s;display:flex}.frame{background:var(--white);border-radius:24px;flex-direction:column;width:100%;max-width:390px;height:100dvh;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 1px #0000000a,0 8px 32px #00000014,0 32px 64px #0000000f}.scroll-area{-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom,0px);flex:1;overflow-y:auto}.scroll-area::-webkit-scrollbar{width:3px}.scroll-area::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.wordmark{letter-spacing:.01em;color:var(--black);font-family:Fredoka,sans-serif;font-size:13px;font-weight:700}.wm-o{vertical-align:-.16em;width:1em;height:1em;margin-left:.02em}.wm-lo{color:#4ccb7a}.btn-main{background:var(--black);width:100%;color:var(--white);letter-spacing:.04em;cursor:pointer;text-align:center;border:none;border-radius:12px;padding:15px 20px;font-family:Syne,sans-serif;font-size:14px;font-weight:700;transition:all .2s;display:block}.btn-main:hover{background:#222;transform:translateY(-1px);box-shadow:0 6px 20px #0000002e}.btn-main:active{box-shadow:none;transform:translateY(0)}.btn-alt{width:100%;color:var(--gray-600);border:1.5px solid var(--gray-200);cursor:pointer;text-align:center;background:0 0;border-radius:12px;padding:13px 20px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:400;transition:all .2s;display:block}.btn-alt:hover{border-color:var(--black);color:var(--black);background:var(--gray-100)}.top-nav{border-bottom:1px solid var(--gray-200);background:var(--white);z-index:50;justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:sticky;top:0}.top-nav .nav-logo{letter-spacing:.01em;color:var(--black);font-family:Fredoka,sans-serif;font-size:26px;font-weight:700;text-decoration:none}.page-header{border-bottom:1px solid var(--gray-200);background:var(--white);align-items:center;gap:12px;padding:16px 22px;display:flex}.back-btn{border:1.5px solid var(--gray-200);background:var(--white);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;text-decoration:none;transition:all .2s;display:flex}.back-btn:hover{border-color:var(--black)}.back-btn svg{width:16px;height:16px;stroke:var(--black);fill:none;stroke-width:2px}.page-header-title{letter-spacing:.04em;font-family:Syne,sans-serif;font-size:14px;font-weight:700}.avatar{background:var(--black);width:36px;height:36px;color:var(--white);cursor:pointer;letter-spacing:.04em;border-radius:50%;justify-content:center;align-items:center;font-family:Syne,sans-serif;font-size:12px;font-weight:700;text-decoration:none;transition:opacity .2s;display:flex}.avatar:hover{opacity:.8}.bottom-nav{background:var(--white);border-top:1px solid var(--gray-200);padding:10px 0 max(16px, env(safe-area-inset-bottom));z-index:10;flex-shrink:0;display:flex;position:relative}.bnav-item{cursor:pointer;color:var(--gray-400);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:4px 0;font-family:DM Sans,sans-serif;font-size:10px;font-weight:400;text-decoration:none;transition:color .2s;display:flex;position:relative}.bnav-item.active{color:var(--black)}.bnav-item svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:22px;height:22px}.bnav-icon-wrap{display:inline-flex}.chat-link.mensajes-sin-leer{color:var(--red)}.bnav-center{flex:1;justify-content:center;align-items:center;padding-bottom:6px;display:flex}.bnav-add{background:var(--black);cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;text-decoration:none;transition:opacity .2s;display:flex}.bnav-add:hover{opacity:.8}.bnav-add svg{width:22px;height:22px;stroke:var(--white);fill:none;stroke-width:2px}.bnav-add-label{display:none}.field-group{margin-bottom:18px}.field-row{gap:12px;display:flex}.field-row .field-group{flex:1}label{letter-spacing:.1em;text-transform:uppercase;color:var(--gray-400);margin-bottom:7px;font-family:Syne,sans-serif;font-size:10px;font-weight:700;display:block}label .req{color:var(--accent)}label .opt{color:var(--gray-400);font-size:9px;font-weight:400}input[type=text],input[type=email],input[type=password],input[type=tel],textarea,select{border:1.5px solid var(--gray-200);width:100%;color:var(--black);background:var(--white);-webkit-appearance:none;border-radius:10px;outline:none;padding:12px 14px;font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .2s,box-shadow .2s}textarea{resize:vertical;min-height:90px;font-family:DM Sans,sans-serif}input::placeholder,textarea::placeholder{color:#ccc;font-weight:300}input:focus,textarea:focus,select:focus{border-color:var(--black);box-shadow:0 0 0 3px #0f0f0f0f}input.error,textarea.error{border-color:var(--red);box-shadow:0 0 0 3px #d9302514}.field-hint{color:var(--gray-400);margin-top:5px;font-size:11px;font-weight:300;line-height:1.5}.section-divider{align-items:center;gap:12px;margin:6px 0 18px;display:flex}.section-divider:before,.section-divider:after{content:"";background:var(--gray-200);flex:1;height:1px}.section-divider span{letter-spacing:.1em;text-transform:uppercase;color:var(--gray-400);font-family:Syne,sans-serif;font-size:9px;font-weight:700}.toast{background:var(--black);color:var(--white);white-space:nowrap;opacity:0;pointer-events:none;z-index:999;border-radius:100px;padding:11px 20px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;transition:all .25s;position:fixed;bottom:90px;left:50%;transform:translate(-50%)translateY(8px)}.toast.success{background:var(--accent)}.toast.error{background:var(--red)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.anim-1{animation:.4s 50ms both rise}.anim-2{animation:.4s .1s both rise}.anim-3{animation:.4s .15s both rise}.anim-4{animation:.4s .2s both rise}.anim-5{animation:.4s .25s both rise}.anim-6{animation:.4s .3s both rise}.filter-overlay{z-index:50;background:#00000073;justify-content:center;align-items:center;padding:24px;display:none;position:absolute;inset:0}.filter-overlay.open{display:flex}.filter-modal{background:var(--white);border-radius:18px;width:100%;max-width:300px;padding:22px}.filter-modal-title{margin-bottom:4px;font-family:Syne,sans-serif;font-size:15px;font-weight:700}.filter-modal-sub{color:var(--gray-400);margin-bottom:16px;font-size:12px}.filter-option{border-bottom:1px solid var(--gray-100);cursor:pointer;color:var(--black);justify-content:space-between;align-items:center;padding:12px 2px;font-family:DM Sans,sans-serif;font-size:13px;display:flex}.filter-option:last-of-type{border-bottom:none}.filter-radio{border:1.5px solid var(--gray-300);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.filter-radio.checked{border-color:var(--black)}.filter-radio.checked:after{content:"";background:var(--black);border-radius:50%;width:9px;height:9px}.filter-modal-actions{gap:10px;margin-top:18px;display:flex}.filter-btn-secondary,.filter-btn-primary{cursor:pointer;border:1.5px solid var(--gray-200);background:var(--white);color:var(--black);border-radius:10px;flex:1;padding:11px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500}.filter-btn-primary{background:var(--black);color:var(--white);border-color:var(--black)}.filter-btn{border:1.5px solid var(--gray-200);background:var(--white);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.filter-btn:hover{border-color:var(--black)}.filter-btn svg{width:16px;height:16px;stroke:var(--black);fill:none;stroke-width:1.8px}.filter-btn.active{border-color:var(--black);background:var(--black)}.filter-btn.active svg{stroke:var(--white)}.promo-badges{flex-wrap:nowrap;gap:4px;margin:0 8px 8px;display:flex}.promo-badge{background:#f0faf4;border:1px solid #c8e6d4;border-radius:6px;flex-direction:column;flex:1;align-items:center;min-width:0;padding:4px 3px;display:flex}.promo-badge-label{color:#5a8a6e;white-space:nowrap;text-overflow:ellipsis;text-align:center;width:100%;font-family:DM Sans,sans-serif;font-size:8px;font-weight:400;overflow:hidden}.promo-badge-val{color:#1a6b3c;white-space:nowrap;text-align:center;font-family:Syne,sans-serif;font-size:10px;font-weight:700}.promo-badge-val.tlt{color:var(--accent);font-size:11px}.promo-badge.tlt-badge{background:#e2f5ea;border-color:#a8d9bb}@media (max-width:440px){body{background:var(--white);padding:0}.frame{box-shadow:none;border-radius:0;height:auto;min-height:100dvh;overflow:visible}.bottom-nav{z-index:100;padding-bottom:max(16px, env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.scroll-area{padding-bottom:80px}}@media (max-width:360px){.greeting-name{font-size:22px}.obj-grid{gap:8px}.obj-thumb{height:85px;font-size:36px}.obj-name{font-size:11px}.cat-pill{padding:6px 11px;font-size:11px}.top-nav{padding:14px 16px}.greeting{padding:18px 16px 14px}.search-wrap,.cats-wrap{padding:12px 16px}.section,.horiz-section{padding:16px 16px 0}.pub-banner{margin:0 16px 18px}}@media (min-width:900px){body{background:#f0f0ed;justify-content:stretch;align-items:stretch;padding:0}.frame{width:100%;max-width:100%;box-shadow:none;border-radius:0;grid-template-rows:61px 1fr;grid-template-columns:260px 1fr;height:100dvh;display:grid;overflow:hidden}.top-nav{border-bottom:1px solid var(--gray-200);grid-area:1/1/auto/-1;height:61px;padding:0 40px;position:static}.bottom-nav{border-top:none;border-right:1px solid var(--gray-200);background:var(--white);flex-direction:column;flex-shrink:0;grid-area:2/1;align-items:flex-start;gap:2px;height:100%;padding:20px 12px;position:sticky;top:0;overflow-y:auto}.bnav-item{width:100%;color:var(--gray-600);border-radius:10px;flex-direction:row;flex:none;justify-content:flex-start;gap:10px;padding:10px 14px;font-size:13px}.bnav-item svg{width:18px;height:18px}.bnav-item:hover{background:var(--gray-100);color:var(--black)}.bnav-item.active{background:var(--gray-100);color:var(--black);font-weight:500}.bnav-center{flex:none;justify-content:flex-start;width:100%;padding:8px 0}.bnav-add{border-radius:10px;justify-content:center;gap:8px;width:100%;height:44px}.bnav-add-label{color:var(--white);letter-spacing:.03em;font-family:Syne,sans-serif;font-size:13px;font-weight:700;display:inline}.scroll-area{grid-area:2/2;height:100%;padding:0;overflow-y:auto}.scroll-area>*{max-width:900px;margin-left:auto;margin-right:auto}.greeting{padding:32px 40px 24px}.search-wrap{padding:20px 40px}.cats-wrap{padding:16px 40px}.cats-scroll{flex-wrap:wrap;overflow-x:visible}.section,.horiz-section{padding:24px 40px 0}.pub-banner{margin:0 40px 24px}.obj-grid{grid-template-columns:repeat(3,1fr);gap:16px}.obj-thumb{height:0;padding-bottom:100%;font-size:54px;position:relative}.obj-thumb img{object-fit:contain;background:var(--gray-100);width:100%;height:100%;position:absolute;inset:0}.obj-thumb>span,.obj-thumb>div:not(.obj-avail){justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.obj-avail{z-index:1;position:absolute;top:8px;right:8px}.obj-name{font-size:13px}.obj-body{padding:12px 13px 14px}.horiz-card{width:200px}.horiz-thumb{height:130px}.filter-overlay{position:fixed}.page-header{border-bottom:1px solid var(--gray-200);max-width:900px;margin:0 auto;padding:20px 40px}}
