@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5f841e19a104a2f1-s.p.0kyb12by50ral.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(../media/6d62c74c8e468ef4-s.04flsppc416nl.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9d978ba009f47915-s.p.0lydepa~d1qv1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/53e45098eac42afb-s.p.0l2qk94b1u89y.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/85ea1b3aadcead52-s.01rdcbu-77uoy.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/3c285486269019b7-s.p.0sn2213rkw2e_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/625a092f804baad3-s.p.0mrp_qm_8jqq_.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6afabefbb32d7517-s.05-22z7vt.jl1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a4f4f75ad654963f-s.p.0h6jagi-ln9qy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a3bcb02a0e9e5d11-s.p.0p40-daftjh_g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35fd19aef91b293-s.07en.a1_ufzzv.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8f46d218c8f79e34-s.p.0xhl7b6zs4.~j.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8ffc259da9d23054-s.p.0b_.2~bprftx..woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9e486ba39c38fb8a-s.0qxf2_hlpbci0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6f42e0a3b0519c4d-s.p.0czffigx~77c..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fcf129058e6e31f2-s.p.0k.rt6-fab6y0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(../media/7b74840ea7c05e95-s.08-6qa~ryw15i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(../media/3eca85881bcfa204-s.p.09gf3ff1ir7gl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.be_vietnam_pro_5625a677-module__gtDZaW__className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.be_vietnam_pro_5625a677-module__gtDZaW__variable{--font-be-vietnam:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
:root{--green-50:#eafaf1;--green-100:#d2f3e0;--green-200:#a7e7c4;--green-300:#6fd6a1;--green-400:#38bd7e;--green-500:#16a368;--green-600:#0f8a57;--green-700:#0c6e46;--green-800:#0c5739;--green-900:#0a472f;--primary:var(--green-600);--primary-hover:var(--green-700);--primary-tint:var(--green-50);--amber-400:#fbbf24;--amber-500:#f59e0b;--amber-600:#d97706;--price:#e5562b;--price-soft:#fff1ec;--ink-900:#0f1f1a;--ink-800:#1c2b26;--ink-700:#33433d;--ink-600:#4c5b55;--ink-500:#6b7a73;--ink-400:#94a39c;--ink-300:#c2cdc7;--ink-200:#dde5e1;--ink-100:#eef2f0;--ink-50:#f6f8f7;--white:#fff;--line:#e4eae7;--line-strong:#cfd8d3;--blue:#2563eb;--blue-tint:#eff5ff;--red:#dc2626;--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:22px;--r-pill:999px;--sh-xs:0 1px 2px #0f1f1a0f;--sh-sm:0 2px 8px #0f1f1a0f, 0 1px 2px #0f1f1a0a;--sh-md:0 6px 20px #0f1f1a14, 0 2px 6px #0f1f1a0d;--sh-lg:0 18px 50px #0f1f1a24;--sh-green:0 10px 26px #0f8a5747;--maxw:1240px;--gutter:22px;--font:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink-800);background:var(--ink-50);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--green-200)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--ink-300);border:2px solid var(--ink-50);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--ink-400)}.wrap{width:100%;max-width:var(--maxw);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.row{display:flex}.col{flex-direction:column;display:flex}.spread{justify-content:space-between;align-items:center;display:flex}.center{align-items:center;display:flex}.gap-2{gap:2px}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.wrap-flex{flex-wrap:wrap}.grow{flex:1}.t-h1{letter-spacing:-.02em;color:var(--ink-900);font-size:30px;font-weight:800;line-height:1.15}.t-h2{letter-spacing:-.01em;color:var(--ink-900);font-size:22px;font-weight:700}.t-h3{color:var(--ink-900);font-size:17px;font-weight:700}.t-lead{color:var(--ink-600);font-size:15px}.t-sm{font-size:13px}.t-xs{font-size:12px}.muted{color:var(--ink-500)}.muted-2{color:var(--ink-400)}.strong{font-weight:700}.price{color:var(--price);font-weight:800}.btn{border-radius:var(--r-sm);white-space:nowrap;height:40px;color:inherit;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn svg{width:18px;height:18px}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--sh-xs)}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--sh-green)}.btn-amber{background:var(--amber-500);color:#fff}.btn-amber:hover{background:var(--amber-600)}.btn-ghost{background:var(--white);color:var(--ink-700);border-color:var(--line-strong);box-shadow:var(--sh-xs)}.btn-ghost:hover{border-color:var(--ink-400);background:var(--ink-50)}.btn-soft{background:var(--primary-tint);color:var(--primary-hover)}.btn-soft:hover{background:var(--green-100)}.btn-sm{border-radius:var(--r-xs);height:32px;padding:0 12px;font-size:13px}.btn-lg{border-radius:var(--r-md);height:48px;padding:0 22px;font-size:15px}.btn-block{width:100%}.btn-icon{width:40px;padding:0}.btn-icon.btn-sm{width:32px}.btn:disabled{cursor:not-allowed}.field{flex-direction:column;gap:6px;display:flex}.field>label{color:var(--ink-700);font-size:13px;font-weight:600}.field .req{color:var(--red)}.input,.select,.textarea{border:1px solid var(--line-strong);border-radius:var(--r-sm);width:100%;height:42px;color:var(--ink-800);background:var(--white);padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;height:auto;min-height:96px;padding:10px 12px;line-height:1.55}.input:focus,.select:focus,.textarea:focus{border-color:var(--green-400);box-shadow:0 0 0 3px var(--green-100);outline:none}.input::placeholder,.textarea::placeholder{color:var(--ink-400)}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236b7a73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:34px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md)}.card-pad{padding:18px}.surface{background:var(--white);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.divider{background:var(--line);border:0;height:1px;margin:0}.badge{border-radius:var(--r-xs);letter-spacing:.01em;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:11.5px;font-weight:700;line-height:1;display:inline-flex}.badge-vip{color:#fff;background:linear-gradient(135deg,#f59e0b,#ef7d18)}.badge-hot{background:var(--price-soft);color:var(--price)}.badge-new{background:var(--green-100);color:var(--green-700)}.badge-blue{background:var(--blue-tint);color:var(--blue)}.badge-gray{background:var(--ink-100);color:var(--ink-600)}.badge-verify{background:var(--green-600);color:#fff}.chip{border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--white);height:34px;color:var(--ink-600);align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.chip:hover{border-color:var(--green-400);color:var(--green-700)}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.chip svg{width:16px;height:16px}.tag{color:var(--ink-600);align-items:center;gap:4px;font-size:12px;font-weight:500;display:inline-flex}.tag svg{width:14px;height:14px;color:var(--ink-400)}.clamp-1{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clamp-2{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clamp-3{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hover-lift{transition:transform .18s,box-shadow .18s}.hover-lift:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}.pointer{cursor:pointer}.img-cover{object-fit:cover;width:100%;height:100%}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.anim-fade{animation:.3s both fadeIn}.anim-up{animation:.35s both fadeUp}.bare-input,.bare-select{width:100%;color:var(--ink-800);background:0 0;border:none;outline:none;min-width:0;font-family:inherit;font-size:14px}.bare-select{appearance:none;cursor:pointer;padding-right:2px}.bare-input::placeholder{color:var(--ink-400)}.bare-select:disabled{color:var(--ink-400);cursor:not-allowed}.grid-cards{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.filter-radio{color:var(--ink-700);cursor:pointer;align-items:center;gap:9px;padding:3px 0;font-size:13.5px;display:flex}.filter-radio input{width:16px;height:16px;accent-color:var(--green-600);cursor:pointer;flex:none}.pill-opt{border:1px solid var(--line-strong);color:var(--ink-600);border-radius:var(--r-pill);cursor:pointer;background:#fff;padding:7px 12px;font-family:inherit;font-size:12.5px;font-weight:600;transition:all .15s}.pill-opt:hover{border-color:var(--green-400);color:var(--green-700)}.pill-opt.active{background:var(--primary);border-color:var(--primary);color:#fff}.page-btn{border:1px solid var(--line-strong);border-radius:var(--r-sm);min-width:38px;height:38px;color:var(--ink-700);background:#fff;justify-content:center;align-items:center;padding:0 10px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.page-btn:hover:not(:disabled){border-color:var(--green-400);color:var(--green-700)}.page-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.page-btn:disabled{opacity:.4;cursor:not-allowed}.field-label{color:var(--ink-700);margin-bottom:8px;font-size:13px;font-weight:600}.adm-table{border-collapse:collapse;width:100%;font-size:13px}.adm-table thead th{text-align:left;color:var(--ink-500);text-transform:uppercase;letter-spacing:.04em;background:var(--ink-50);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 14px;font-size:11.5px;font-weight:700}.adm-table tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.adm-table tbody tr:hover{background:var(--green-50)}.adm-table tbody tr:last-child td{border-bottom:none}.adm-table.mono td{font-family:SF Mono,ui-monospace,Menlo,monospace}.adm-iconbtn{border:1px solid var(--line);width:30px;height:30px;color:var(--ink-600);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.adm-iconbtn:hover{border-color:var(--green-400);background:var(--green-50)}@media (max-width:1100px){:root{--maxw:960px}.grid-cards{grid-template-columns:repeat(3,1fr)}.cat-tiles{grid-template-columns:repeat(3,1fr)!important}.proj-grid{grid-template-columns:repeat(2,1fr)!important}.home-bottom{grid-template-columns:1fr!important}}@media (max-width:980px){.search-layout,.detail-layout{grid-template-columns:1fr!important}.detail-aside{position:static!important}.post-layout{grid-template-columns:1fr!important}.post-preview{position:static!important}}@media (max-width:640px){.specs-grid{grid-template-columns:repeat(2,1fr)!important}.form-2col{grid-template-columns:1fr!important}.cat-pick{grid-template-columns:repeat(2,1fr)!important}.upload-grid{grid-template-columns:repeat(3,1fr)!important}}@media (max-width:860px){.auth-layout{grid-template-columns:1fr!important}.auth-brand{display:none!important}.dash-layout{grid-template-columns:1fr!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.manage-actions{flex-direction:column}.admin-root{grid-template-columns:1fr!important}.admin-stats{grid-template-columns:repeat(2,1fr)!important}.admin-two{grid-template-columns:1fr!important}.adm-mod-row{flex-direction:column}.adm-mod-row>div:first-child{width:100%!important;height:160px!important}}@media (max-width:520px){.manage-row{flex-wrap:wrap}}@media (max-width:760px){.grid-cards{grid-template-columns:repeat(2,1fr);gap:12px}.results-grid{grid-template-columns:1fr!important}.hero-title{font-size:30px!important}}@media (max-width:460px){.grid-cards{grid-template-columns:1fr}.cat-tiles{grid-template-columns:repeat(2,1fr)!important}.proj-grid{grid-template-columns:1fr!important}}@media (max-width:900px){.search-fields{grid-template-columns:1fr 1fr!important}.search-fields>:first-child,.search-fields>:last-child{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr!important;gap:24px!important}}@media (max-width:620px){.row-thumb{width:130px!important}.footer-grid{grid-template-columns:1fr!important}}@media (max-width:768px){:root{--gutter:14px}.t-h1{font-size:24px}.t-h2{font-size:19px}.hide-mobile{display:none!important}}@media (min-width:769px){.only-mobile{display:none!important}}
