:root{--bg: #faf7f2;--surface: #ffffff;--ink: #1c1917;--muted: #57534e;--border: #e7e0d4;--green: #1b4332;--green-dark: #143325;--green-pale: #dcead9;--price: #b45309;--danger: #991b1b;--radius-card: 12px;--radius-input: 8px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button,input,select,textarea,a{min-height:44px}button{cursor:pointer}.app{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}.main{flex:1;padding:24px 0 48px}.header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.header-inner{display:flex;align-items:center;gap:16px;min-height:60px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.logo{display:inline-flex;align-items:center;gap:8px;font-size:20px;font-weight:700;color:var(--ink);min-height:44px}.logo:hover{text-decoration:none}.logo svg{color:var(--green)}.nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-left:auto}.nav a,.nav button.nav-link{display:inline-flex;align-items:center;gap:6px;padding:10px 12px;color:var(--ink);border:0;background:transparent;border-radius:var(--radius-input);white-space:nowrap}.nav a:hover,.nav button.nav-link:hover{background:var(--bg);text-decoration:none}.nav a.active{color:var(--green);font-weight:600}.nav-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;padding:0;border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);color:var(--ink)}.nav-toggle:focus-visible{outline:2px solid var(--green);outline-offset:1px}@media (max-width: 767px){.header-inner{flex-wrap:wrap;gap:8px 16px}.nav-toggle{display:inline-flex}.nav{display:none;width:100%;margin-left:0;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--border);padding-top:8px}.nav.open{display:flex}.nav.open a,.nav.open button.nav-link{justify-content:flex-start;width:100%;padding:12px}}.footer{border-top:1px solid var(--border);background:var(--surface);padding:20px 0;color:var(--muted);font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:var(--radius-input);border:1px solid var(--border);background:var(--surface);font-weight:600;min-height:44px;text-decoration:none}.btn:hover{text-decoration:none}.btn-primary{background:var(--green);border-color:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark)}.btn-danger{color:var(--danger);border-color:#e5c5c5}.btn-secondary{background:var(--surface);border-color:var(--border);color:var(--ink)}.btn:disabled{opacity:.6;cursor:not-allowed}.link-button{background:none;border:0;padding:0;color:var(--green);font:inherit;cursor:pointer;text-decoration:underline}.link-button:disabled{opacity:.6;cursor:not-allowed}.form{display:flex;flex-direction:column;gap:16px;max-width:560px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:600}.field .hint{font-size:14px;color:var(--muted)}.input,.select,.textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface)}.textarea{min-height:120px;resize:vertical}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--green);outline-offset:1px}.form-error{background:#fef2f2;border:1px solid #fecaca;color:var(--danger);padding:12px;border-radius:var(--radius-input)}.form-row{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 640px){.form-row{grid-template-columns:1fr 1fr}}.page-title{font-size:26px;margin:0 0 8px}.page-subtitle{color:var(--muted);margin:0 0 24px}.search-row{display:flex;gap:8px;margin-bottom:16px}.search-row .input{flex:1}.search-box{display:flex;align-items:center;gap:8px;flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-input);padding:0 12px}.search-box svg{color:var(--muted);flex-shrink:0}.search-box input{border:0;outline:none;flex:1;padding:10px 0;background:transparent;min-width:0}.chips{display:flex;gap:20px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:4px 2px 8px;margin-bottom:24px}.chips::-webkit-scrollbar{display:none}.chip{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:88px;flex-shrink:0;padding:0;border:0;background:transparent;color:var(--ink);text-align:center}.chip-circle{width:88px;height:88px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--ink);border:1.5px solid #8ab17d;border-radius:50%}.chip-label{font-size:13px;line-height:1.3}.chip-icon{flex-shrink:0}.chip:hover{text-decoration:none}.chip:hover .chip-circle{border-color:var(--green);background:var(--green-pale)}.chip.active .chip-circle{background:var(--green);border-color:var(--green);color:#fff}.chip.active .chip-label{color:var(--green);font-weight:600}.category-head{display:flex;align-items:center;gap:14px;margin-bottom:8px}.category-head .page-title,.category-head .page-subtitle{margin:0}.category-head-icon{width:64px;height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--green-pale);color:var(--green);border-radius:50%}.grid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 640px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.grid{grid-template-columns:repeat(4,1fr)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s ease,transform .15s ease}a.card:hover{text-decoration:none;box-shadow:0 4px 16px #1c19171f;transform:translateY(-2px)}.card-body{padding:14px;display:flex;flex-direction:column;gap:6px;flex:1}.card-title{font-size:17px;font-weight:600;margin:0;color:var(--ink)}.card-price{font-size:18px;font-weight:700;color:var(--price);margin:0}.card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:14px;margin:0}.card-meta svg{flex-shrink:0}.card-meta-bottom{margin-top:auto;padding-top:6px}.card-dot{color:var(--border)}.card-date{color:var(--muted);font-size:14px;margin:auto 0 0;padding-top:6px}.status-text{font-size:14px;font-weight:600;color:var(--muted)}.status-text.sold{color:var(--price)}.photo{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--green-pale)}.photo-placeholder{width:100%;aspect-ratio:4 / 3;background:var(--green-pale);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--green)}.photo-placeholder p{margin:0;font-size:14px}.state{text-align:center;padding:48px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card)}.state h2{margin:0 0 8px;font-size:20px}.state p{color:var(--muted);margin:0 0 16px}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--green);border-radius:50%;margin:0 auto 16px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.filters{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px;margin-bottom:24px;display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 768px){.filters{grid-template-columns:1fr 1fr 1fr 1fr;align-items:end}}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:24px}.pagination span{color:var(--muted)}.detail{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 768px){.detail{grid-template-columns:1.2fr 1fr}}.detail-photo{border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--border)}.detail-photo .photo,.detail-photo .photo-placeholder{aspect-ratio:4 / 3}.thumbs{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.thumbs button{padding:0;border:2px solid transparent;border-radius:var(--radius-input);overflow:hidden;min-height:44px;min-width:44px;background:transparent}.thumbs button.active{border-color:var(--green)}.thumbs img{width:72px;height:54px;object-fit:cover}.detail-info{display:flex;flex-direction:column;gap:12px}.detail-info h1{font-size:26px;margin:0}.detail-price{font-size:24px;font-weight:700;color:var(--price);margin:0}.detail-desc{white-space:pre-line;margin:0}.detail-row{display:flex;align-items:center;gap:8px;color:var(--muted);margin:0}.detail-row svg{flex-shrink:0}.section-title{font-size:20px;margin:32px 0 16px}.my-listing{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px;display:flex;flex-direction:column;gap:8px}.my-listing h3{margin:0;font-size:17px}.my-listing-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.auth-switch{margin-top:16px;color:var(--muted)}.file-list{margin:0;padding-left:20px;font-size:14px;color:var(--muted)}.auction-badge{margin-left:auto;background:var(--green-pale);color:var(--green);font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px}.bid-form{margin:16px 0 8px}.bid-form label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}.bid-row{display:flex;gap:8px}.bid-row input{flex:1;min-width:0;border:1px solid var(--border);border-radius:var(--radius-input);padding:10px 12px;background:var(--surface)}.bid-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);overflow:hidden}.bid-row-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.bid-row-item:last-child{border-bottom:0}.bid-row-item strong{color:var(--price)}.bid-time{margin-left:auto;color:var(--muted);font-size:14px}.password-wrap{position:relative}.password-wrap .input{padding-right:44px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:0;color:var(--muted);cursor:pointer}.password-toggle:hover{color:var(--ink)}.demo-code{background:#fff8e1;border:1px solid #f0d48a;border-radius:var(--radius-card);padding:12px 16px;max-width:560px}.form-info{background:var(--green-pale);border:1px solid var(--border);border-radius:var(--radius-card);padding:12px 16px;max-width:560px}.wa-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:16px;max-width:720px}.wa-status p{margin:0;flex:1;min-width:200px}.wa-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.wa-dot.on{background:#2e7d32}.wa-dot.off{background:#b0a89f}.wa-qr{max-width:720px}.wa-qr img{width:256px;height:256px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-card);padding:8px}.chat-box{border-top:1px solid var(--border);padding-top:16px;margin-top:8px}.chat-title{font-weight:600;margin:0 0 8px}.chat-hint{color:var(--muted);font-size:14px;margin:8px 0 0}.btn-google{width:100%;max-width:560px;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f1f1f;border:1px solid #dadce0;border-radius:10px;padding:10px 14px;font-weight:600;text-decoration:none;cursor:pointer}.btn-google:hover{background:#f8f9fa}.google-g{width:20px;height:20px;flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;max-width:560px;color:var(--muted);font-size:14px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}
