@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-italic-BicUS2cM.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-italic-BfTTTDIL.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-italic-Py8at3oI.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #ffffff;--paper-soft: #f7f7f4;--paper-dim: #efefe9;--ink: #141412;--ink-2: #6c6c66;--ink-3: #a3a39b;--line: #e6e6df;--green: #1e5c3a;--green-deep: #154128;--green-tint: #eaf2ec;--red: #b3261e;--red-tint: #fdf0ef;--ok: #1e7d43;--amber: #9a6b15;--amber-tint: #faf3e3;--serif: "Fraunces Variable", Georgia, "Times New Roman", serif;--sans: "Instrument Sans Variable", "Helvetica Neue", Arial, sans-serif;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--shadow-card: 0 1px 2px rgba(20, 20, 18, .04), 0 8px 28px -12px rgba(20, 20, 18, .1);--shadow-float: 0 2px 6px rgba(20, 20, 18, .08), 0 18px 48px -16px rgba(20, 20, 18, .22);--pad: clamp(16px, 4.5vw, 28px);--safe-b: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;background-image:radial-gradient(rgba(20,20,18,.028) 1px,transparent 1px);background-size:22px 22px}#root{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column}img{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}h1,h2,h3,h4{font-family:var(--serif);font-weight:560;line-height:1.08;letter-spacing:-.015em;margin:0}h1 em,h2 em,.accent-italic{font-style:italic;font-variation-settings:"SOFT" 60,"WONK" 1;color:var(--green)}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}::selection{background:var(--green);color:#fff}.kicker{font-size:11px;font-weight:640;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2)}.kicker--green{color:var(--green)}.index-no{font-family:var(--serif);font-style:italic;font-size:12px;color:var(--ink-3);letter-spacing:.02em}.rule{border:0;border-top:1px solid var(--line);margin:0}.money{font-variant-numeric:tabular-nums;font-weight:640;letter-spacing:-.01em}.shell{width:100%;max-width:1080px;margin:0 auto;padding:0 var(--pad)}.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.site-header__in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--pad);max-width:1080px;margin:0 auto}.wordmark{font-family:var(--serif);font-size:22px;font-weight:620;letter-spacing:-.02em;text-decoration:none;display:inline-flex;align-items:baseline;gap:7px}.wordmark__dot{color:var(--green)}.site-footer{margin-top:auto;border-top:1px solid var(--line);padding:28px var(--pad) calc(28px + var(--safe-b));display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;font-size:13.5px;color:var(--ink-2);max-width:1080px;margin-left:auto;margin-right:auto;width:100%}.wa-bubble{display:grid;place-items:center;width:44px;height:44px;border-radius:999px;background:#128c4b;color:#fff;text-decoration:none;transition:transform .15s ease,box-shadow .2s ease;box-shadow:0 6px 18px -8px #128c4bb3}.wa-bubble:hover{transform:translateY(-2px) scale(1.05)}.btn{-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-weight:640;font-size:15.5px;letter-spacing:.01em;cursor:pointer;text-decoration:none;transition:transform .12s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,opacity .2s ease;user-select:none}.btn:active{transform:scale(.985) translateY(1px)}.btn:disabled{opacity:.45;pointer-events:none}.btn--primary{background:var(--green);color:#fff;box-shadow:0 10px 24px -10px color-mix(in srgb,var(--green) 65%,transparent)}.btn--primary:hover{background:var(--green-deep)}.btn--ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn--ghost:hover{border-color:var(--ink-3);background:var(--paper-soft)}.btn--danger{background:var(--red);color:#fff}.btn--soft-danger{background:var(--red-tint);color:var(--red)}.btn--wa{background:#128c4b;color:#fff}.btn--sm{min-height:38px;padding:0 16px;font-size:14px}.btn--block{width:100%}.chips{display:flex;gap:8px;overflow-x:auto;padding:4px var(--pad) 12px;margin:0 calc(-1 * var(--pad));scrollbar-width:none;-webkit-overflow-scrolling:touch}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-size:14.5px;font-weight:600;cursor:pointer;transition:all .16s ease;white-space:nowrap}.chip__count{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}.chip:hover{border-color:var(--ink-3)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.chip[aria-pressed=true] .chip__count{color:#fff9}.album-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--paper);box-shadow:var(--shadow-card);transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease}.album-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-float)}.album-card__img{aspect-ratio:3 / 2;width:100%;object-fit:cover;background:var(--paper-dim)}.album-card__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:4px}.album-card__title{font-size:clamp(20px,5vw,24px)}.album-card__meta{font-size:13px;color:var(--ink-2);display:flex;gap:10px;align-items:baseline}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:720px){.photo-grid{grid-template-columns:repeat(3,1fr);gap:14px}}@media(min-width:1000px){.photo-grid{grid-template-columns:repeat(4,1fr)}}.photo-cell{position:relative;border-radius:var(--r-md);overflow:hidden;background:var(--paper-dim);cursor:pointer;border:0;padding:0;display:block;width:100%}.photo-cell img{width:100%;aspect-ratio:1 / 1;object-fit:cover;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .3s ease}.photo-cell:hover img{transform:scale(1.035)}.photo-cell__no{position:absolute;left:8px;bottom:8px;font-family:var(--serif);font-style:italic;font-size:11px;color:#fff;background:#14141273;backdrop-filter:blur(4px);padding:2px 8px;border-radius:999px;pointer-events:none}.photo-cell__check{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:999px;border:2px solid rgba(255,255,255,.95);background:#14141240;backdrop-filter:blur(4px);display:grid;place-items:center;color:transparent;font-size:15px;font-weight:800;transition:all .15s ease;pointer-events:none}.photo-cell[data-selected=true]{outline:3px solid var(--green);outline-offset:-3px}.photo-cell[data-selected=true] .photo-cell__check{background:var(--green);border-color:var(--green);color:#fff}.photo-cell[data-selected=true] img{opacity:.92}.selectbar{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px var(--pad) calc(12px + var(--safe-b));background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .28s cubic-bezier(.2,.7,.2,1)}.selectbar[data-open=true]{transform:translateY(0)}.selectbar__in{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:14px}.selectbar__info{flex:1;min-width:0}.selectbar__count{font-size:13px;color:var(--ink-2)}.selectbar__price{font-family:var(--serif);font-size:24px;font-weight:620;letter-spacing:-.02em}.selectbar__hint{font-size:12px;color:var(--green);font-weight:620}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:13px;font-weight:640;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}.input{width:100%;min-height:50px;padding:12px 16px;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--paper);font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}.input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 14%,transparent)}.input--error{border-color:var(--red)}.form-error{color:var(--red);font-size:13.5px;font-weight:600}.note{border-radius:var(--r-md);padding:14px 16px;font-size:14.5px;line-height:1.5;border:1px solid}.note--green{background:var(--green-tint);border-color:color-mix(in srgb,var(--green) 24%,transparent);color:var(--green-deep)}.note--amber{background:var(--amber-tint);border-color:color-mix(in srgb,var(--amber) 30%,transparent);color:var(--amber)}.note--red{background:var(--red-tint);border-color:color-mix(in srgb,var(--red) 26%,transparent);color:var(--red)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:680;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px}.badge--green{background:var(--green-tint);color:var(--green-deep)}.badge--amber{background:var(--amber-tint);color:var(--amber)}.badge--red{background:var(--red-tint);color:var(--red)}.badge--gray{background:var(--paper-dim);color:var(--ink-2)}.lightbox{position:fixed;inset:0;z-index:80;background:#0c0c0aed;display:flex;flex-direction:column;animation:lb-in .18s ease}@keyframes lb-in{0%{opacity:0}}.lightbox__top{display:flex;justify-content:space-between;align-items:center;padding:14px var(--pad);color:#ffffffd9;font-size:13.5px}.lightbox__stage{flex:1;display:grid;place-items:center;min-height:0;padding:0 8px;touch-action:pan-y}.lightbox__stage img{max-width:100%;max-height:calc(100dvh - 200px);object-fit:contain;border-radius:6px;user-select:none;-webkit-user-drag:none}.lightbox__bottom{display:flex;gap:10px;padding:14px var(--pad) calc(18px + var(--safe-b));justify-content:center}.lightbox__navbtn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border:0;background:#ffffff14;color:#fff;font-size:22px;cursor:pointer;border-radius:10px;display:none}@media(min-width:720px){.lightbox__navbtn{display:block}.lightbox__navbtn--prev{left:16px}.lightbox__navbtn--next{right:16px}}.pix-amount{font-family:var(--serif);font-size:clamp(44px,13vw,64px);font-weight:600;letter-spacing:-.03em;line-height:1}.pix-amount small{font-size:.5em;color:var(--green);font-style:italic}.copybox{display:flex;align-items:stretch;border:1.5px dashed color-mix(in srgb,var(--green) 45%,transparent);background:var(--green-tint);border-radius:var(--r-md);overflow:hidden}.copybox__text{flex:1;padding:12px 14px;font-family:ui-monospace,Cascadia Mono,Menlo,monospace;font-size:11.5px;color:var(--green-deep);word-break:break-all;max-height:64px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}.steps{counter-reset:step;display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.steps li{position:relative;padding:14px 0 14px 44px;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}.steps li strong{color:var(--ink)}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:12px;width:28px;height:28px;border-radius:999px;background:var(--paper-soft);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--serif);font-style:italic;font-size:14px;color:var(--green)}.upload-zone{border:2px dashed var(--line);border-radius:var(--r-lg);padding:26px 18px;text-align:center;cursor:pointer;transition:all .18s ease;background:var(--paper-soft)}.upload-zone:hover,.upload-zone[data-drag=true]{border-color:var(--green);background:var(--green-tint)}.spin{width:22px;height:22px;border-radius:999px;border:2.5px solid var(--line);border-top-color:var(--green);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pulse-dot{width:9px;height:9px;border-radius:999px;background:var(--amber);animation:pulse 1.6s ease infinite}@keyframes pulse{50%{opacity:.35;transform:scale(.85)}}.rise{opacity:0;transform:translateY(14px);animation:rise .55s cubic-bezier(.2,.7,.2,1) forwards}@keyframes rise{to{opacity:1;transform:none}}.rise-d1{animation-delay:.06s}.rise-d2{animation-delay:.12s}.rise-d3{animation-delay:.18s}.rise-d4{animation-delay:.26s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.admin-shell{width:100%;max-width:1180px;margin:0 auto;padding:18px var(--pad) calc(96px + var(--safe-b))}@media(min-width:900px){.admin-shell{padding-bottom:40px;padding-left:224px}}.admin-nav{position:fixed;z-index:60;left:0;right:0;bottom:0;display:flex;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:6px 6px calc(8px + var(--safe-b));gap:4px}.admin-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:10px;text-decoration:none;font-size:10.5px;font-weight:680;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);position:relative}.admin-nav a .ico{font-size:18px;line-height:1}.admin-nav a[aria-current=page]{color:var(--green);background:var(--green-tint)}.admin-nav .nav-badge{position:absolute;top:2px;right:calc(50% - 22px);min-width:17px;height:17px;border-radius:999px;background:var(--red);color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center;padding:0 4px}@media(min-width:900px){.admin-nav{top:0;bottom:0;right:auto;width:200px;flex-direction:column;justify-content:flex-start;border-top:0;border-right:1px solid var(--line);padding:86px 12px 16px;gap:6px}.admin-nav a{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:10px;font-size:13px;text-transform:none;letter-spacing:0;padding:10px 12px}.admin-nav .nav-badge{position:static;margin-left:auto}}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;box-shadow:var(--shadow-card)}.panel+.panel{margin-top:14px}.panel__title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px}.stat__label{font-size:11px;font-weight:680;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.stat__value{font-family:var(--serif);font-size:clamp(20px,5.5vw,28px);font-weight:620;letter-spacing:-.02em}.review-card{border:1px solid color-mix(in srgb,var(--amber) 35%,var(--line));background:linear-gradient(180deg,var(--amber-tint),var(--paper) 55%);border-radius:var(--r-lg);padding:16px}.review-card+.review-card{margin-top:12px}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13.5px}.kv dt{color:var(--ink-2);font-weight:600}.kv dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.check-line{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:3px 0}.check-line[data-ok=true]{color:var(--ok)}.check-line[data-ok=false]{color:var(--red);font-weight:640}.receipt-thumb{width:100%;max-height:420px;object-fit:contain;border-radius:var(--r-md);border:1px solid var(--line);background:var(--paper-dim)}.table-wrap{overflow-x:auto;margin:0 -18px;padding:0 18px}table.data{width:100%;border-collapse:collapse;font-size:13.5px;white-space:nowrap}table.data th{text-align:left;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);font-weight:680;padding:8px 10px;border-bottom:1px solid var(--line)}table.data td{padding:10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}table.data tr:hover td{background:var(--paper-soft)}.admin-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}@media(min-width:900px){.admin-photo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}.toolbar .input{min-height:42px;flex:1;min-width:160px}.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;overflow-x:auto;max-width:100%}.seg button{border:0;background:transparent;padding:7px 13px;border-radius:999px;font-size:13px;font-weight:640;color:var(--ink-2);cursor:pointer;white-space:nowrap}.seg button[aria-pressed=true]{background:var(--ink);color:#fff}.progressbar{height:8px;border-radius:999px;background:var(--paper-dim);overflow:hidden}.progressbar>div{height:100%;background:var(--green);border-radius:999px;transition:width .3s ease}.toast-host{position:fixed;z-index:100;left:50%;bottom:calc(86px + var(--safe-b));transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--ink);color:#fff;font-size:14px;font-weight:600;padding:11px 18px;border-radius:999px;box-shadow:var(--shadow-float);animation:toast-in .25s cubic-bezier(.2,.7,.2,1);max-width:min(92vw,480px);text-align:center}.toast--err{background:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.96)}}dialog.sheet{border:0;border-radius:var(--r-lg) var(--r-lg) 0 0;padding:0;width:100%;max-width:560px;margin:auto auto 0;box-shadow:var(--shadow-float);background:var(--paper)}@media(min-width:720px){dialog.sheet{border-radius:var(--r-lg);margin:auto}}dialog.sheet::backdrop{background:#14141273;backdrop-filter:blur(3px)}.sheet__in{padding:22px var(--pad) calc(22px + var(--safe-b))}
