:root{font-family:'Jost','Khmer OS Battambang','Noto Sans Khmer',serif;color:#263f32;background:#f7f5ee;font-synthesis:none;--green:#263f32;--gold:#aa8551;--line:#dedfd3}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b38947;outline-offset:4px}header{display:flex;align-items:center;justify-content:space-between;padding:26px 5%;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:15px;letter-spacing:2px}.seal{border:1px solid var(--gold);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;color:var(--gold);font-size:23px}.brand small{display:block;letter-spacing:3px;font:9px 'Jost',sans-serif;margin-top:6px}.sans,label,.eyebrow,button,nav,.sub,table{font-family:'Jost','Khmer OS Battambang','Noto Sans Khmer',sans-serif}.eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#827354}.language{border:1px solid var(--line);border-radius:30px;display:flex;padding:3px}.language button{border:0;border-radius:20px;padding:8px 12px;background:transparent;color:var(--green)}.language button.active{background:var(--green);color:white}.customer{max-width:600px;margin:48px auto 64px;padding:0 24px}.branch{font:11px 'Jost',sans-serif;letter-spacing:2px;color:#657360;display:flex;align-items:center;gap:8px}.dot{width:6px;height:6px;border-radius:50%;background:#8a9d79}h1{font-size:clamp(35px,5vw,54px);font-weight:400;line-height:1.15;margin:23px 0 16px;letter-spacing:-1.5px}h2{font-size:28px;font-weight:400;margin:10px 0}h3{font-size:20px;font-weight:400;margin:0 0 17px}.sub{font-size:13px;line-height:1.8;color:#748071}.tea-card{margin:32px 0;background:#e8ecdf;border:1px solid #d9dfcf;border-radius:8px;padding:26px;position:relative;overflow:hidden}.tea-card h2{max-width:80%;font-size:30px}.tea-card p{margin-bottom:0}.tea-mark{position:absolute;right:22px;top:28px;font-size:50px;color:#91a07f;transform:rotate(-20deg)}fieldset{border:0;padding:0;margin:30px 0}legend{font-size:18px;margin-bottom:9px;line-height:1.6}.hint{font:11px 'Jost',sans-serif;color:#7a8476;margin:0 0 15px;line-height:1.7}.rating{display:flex;gap:9px}.rating button{flex:1;padding:15px 0;border:1px solid #d8ddcf;border-radius:6px;background:#fffdf7;color:var(--green);font:24px 'Jost'}.rating button.selected,.chips button.selected,.intent button.selected{background:var(--green);color:#fff;border-color:var(--green)}.scale{display:flex;justify-content:space-between;font:10px 'Jost',sans-serif;color:#748071;margin-top:10px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chips button,.intent button{padding:12px 16px;border:1px solid #d8ddcf;border-radius:30px;background:transparent;color:var(--green);font-size:12px}.chips button:disabled{opacity:.4;cursor:default}.intent{display:flex;gap:8px}.intent button{flex:1;border-radius:5px}textarea,input,select{width:100%;padding:12px;border:1px solid #cdd4c7;border-radius:5px;background:#fffdf8;color:var(--green);font-size:14px}textarea{resize:vertical;min-height:105px}.primary{border:0;background:var(--green);color:#fff;padding:17px 24px;border-radius:5px;font:12px 'Jost',sans-serif;letter-spacing:1px}.primary:disabled{opacity:.55;cursor:wait}.wide{width:100%}.privacy{text-align:center;font:10px 'Jost',sans-serif;color:#798273;line-height:1.8;margin-top:17px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:23px 5%;font:10px 'Jost',sans-serif;color:#7c8475;letter-spacing:1px}.empty{text-align:center;padding:65px 10px}.empty .seal{margin:0 auto 24px;width:75px;height:75px;font-size:34px}.branch-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0}.branch-links a{border:1px solid var(--line);padding:25px;text-decoration:none;border-radius:6px}.branch-links a:hover{background:#e8ecdf}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:16px 24px;border-radius:7px;font:13px 'Jost',sans-serif;max-width:90%;z-index:10}#notice:empty{display:none}.admin{max-width:1250px;margin:0 auto;padding:36px 4% 70px}.admin-top{display:flex;align-items:end;justify-content:space-between;gap:20px}.admin h1{font-size:40px}.admin nav{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:28px 0;overflow:auto}.admin nav button{white-space:nowrap;background:none;border:0;padding:14px 0;color:#78816f;font-size:12px}.admin nav button.active{color:var(--green);border-bottom:2px solid var(--green)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metric,.panel{border:1px solid var(--line);border-radius:7px;background:#fffdf7;padding:23px}.metric strong{display:block;font-size:34px;font-weight:400;margin:13px 0 5px}.metric span{font:11px 'Jost',sans-serif;color:#7c8475}.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:24px}.panel{margin-bottom:20px}.row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;border-top:1px solid #e8e9df}.bar{height:6px;background:#e9eddf;border-radius:5px;margin:9px 0 16px}.bar i{display:block;height:100%;background:#8a9e78;border-radius:5px}.muted{color:#78836f;font:12px 'Jost',sans-serif}.filters{display:flex;gap:12px;align-items:end;margin:18px 0}.filters>label{flex:1}.filters label,.stack label{display:block;font-size:12px;line-height:2}.stack{display:grid;gap:15px;max-width:600px}.secondary{display:inline-block;border:1px solid #cdd4c7;background:transparent;border-radius:5px;padding:11px 16px;text-decoration:none;font:12px 'Jost',sans-serif;color:var(--green)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7a826e}td,th{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}td.comment{min-width:190px;max-width:320px;overflow-wrap:anywhere}.qr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.qr-grid img{width:100%;display:block}.qr-grid code{overflow-wrap:anywhere;font-size:10px}.login{max-width:420px;margin:70px auto;padding:24px}.login h1{font-size:38px}.login input{margin:15px 0}.status{font:12px 'Jost',sans-serif;color:#667c51;line-height:1.8}.loading{padding:60px;text-align:center}.section-intro{max-width:650px;line-height:1.8}.badge{padding:6px 10px;background:#e9eddf;border-radius:20px;font:10px 'Jost',sans-serif}button.link{border:0;background:none;color:#7c6138;text-decoration:underline;padding:0;font-size:12px}@media(max-width:700px){header{padding:18px 6%}.brand{font-size:12px}.customer{margin-top:32px}.metrics{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.qr-grid{grid-template-columns:1fr 1fr}.filters{flex-wrap:wrap}.filters>label{min-width:120px}.admin-top{align-items:start;flex-direction:column}.admin h1{font-size:34px}.admin nav{gap:22px}.tea-card{padding:22px}footer{font-size:9px}.intent button{padding:13px 6px}}

:root{font-family:'Jost','Noto Sans Khmer',sans-serif}h1,h2,h3{font-weight:500}html:lang(km){font-family:'Noto Sans Khmer','Jost',sans-serif}html:lang(km) h1,html:lang(km) h2,html:lang(km) h3{font-weight:600;line-height:1.65;letter-spacing:0}html:lang(km) button,html:lang(km) legend{line-height:1.8;letter-spacing:0}html:lang(km) .eyebrow{letter-spacing:0;font-size:12px}html:lang(km) .sub,html:lang(km) .hint{font-size:14px;line-height:1.9}
.official-logo{display:block;width:110px;height:auto;object-fit:contain}.brand{gap:10px;letter-spacing:0}.brand-slogan{font:12px 'Jost',sans-serif;max-width:110px}.footer-brand{display:grid;align-content:start;gap:6px}footer{display:grid;grid-template-columns:1fr 1fr;gap:24px;font-size:12px;line-height:1.8;letter-spacing:0}.footer-contact>a{display:block;width:fit-content;padding:10px 0}.footer-social{display:flex;flex-wrap:wrap;gap:4px 18px}.footer-social a{display:inline-flex;align-items:center;gap:6px;min-height:44px}.footer-social svg{width:18px;height:18px;fill:currentColor}.footer-bottom{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:16px}.footer-bottom a{padding:8px 0}.setting-form{border-top:1px solid var(--line);padding:20px 0;margin:12px 0}.modifier-group{border:1px solid var(--line);padding:16px;margin:20px 0}.inline-check{width:auto}.preparation{font-size:14px;line-height:1.8}input[lang=km]{font-family:'Noto Sans Khmer',sans-serif;line-height:1.9}.brand-links a{overflow-wrap:anywhere}@media(max-width:700px){footer{grid-template-columns:1fr;font-size:12px}.brand{max-width:70%}.official-logo{width:84px}.brand-slogan{font-size:11px}html:lang(km) h1{font-size:clamp(26px,7vw,36px)}.branch-links a{padding:18px;font-size:15px;line-height:1.8}.language button{padding:10px}}
html:lang(km) .branch{font-size:13px;letter-spacing:0;line-height:1.8}

/* Centered brand signature and compact contact footer. */
footer{display:flex;flex-direction:column;align-items:center;gap:24px;padding:38px 5% 20px;background:#f0f1e7;text-align:center}.footer-brand{display:flex;flex-direction:column;align-items:center;gap:14px}.footer-brand .official-logo{width:104px}.footer-slogan{margin:0;font:400 17px/1.5 'Jost',sans-serif;letter-spacing:1px;color:var(--green)}.footer-contact{display:flex;flex-direction:column;align-items:center;gap:12px}.footer-contact>.footer-phone{display:flex;align-items:center;gap:12px;width:auto;padding:0;text-decoration:none;font-size:14px;letter-spacing:.5px}.footer-phone span{font-size:11px;color:#6e7866}.footer-social{justify-content:center;gap:8px 24px}.footer-social a{text-decoration:none;font-size:12px;opacity:.8;transition:opacity .15s}.footer-social a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}.footer-bottom{width:100%;max-width:1100px;align-items:center;justify-content:space-between;text-align:left;font-size:10px;color:#7c8475;padding-top:12px}.footer-bottom a{text-decoration:none}.footer-bottom a:hover{text-decoration:underline}@media(max-width:700px){footer{padding:30px 6% 16px;gap:18px}.footer-slogan{font-size:15px;letter-spacing:.6px}.footer-brand .official-logo{width:90px}.footer-bottom{justify-content:center;text-align:center;gap:4px 20px}.footer-social{gap:6px 20px}}
