:root{--background:#f2f5f4;--foreground:#18332e;--card:#fff;--card-foreground:#18332e;--primary:#183f37;--primary-foreground:#fff;--secondary:#edf3ef;--secondary-foreground:#183f37;--muted:#edf3ef;--muted-foreground:#62736d;--accent:#edf3ef;--accent-foreground:#183f37;--border:#d7e1dc;--input:#cad6cf;--ring:#598b77;--popover:#fff;--popover-foreground:#18332e}
body{margin:0;font-family:system-ui,'Microsoft YaHei',sans-serif;font-size:16px;line-height:1.65;background:#f2f5f4;color:#18332e}*{box-sizing:border-box}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:#245949}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.3;font-weight:650;letter-spacing:.02em}h2{font-size:24px;font-weight:650}h3{font-size:18px;font-weight:650}.customer{max-width:760px;margin:auto;padding:32px 24px}.brand{display:flex;align-items:center;gap:14px}.brand strong{font-size:18px}.brand p{font-size:14px;color:#62736d;letter-spacing:.12em}.seal{display:grid;place-items:center;width:48px;height:48px;background:#183f37;color:#f5dfaa;border-radius:12px;font-family:serif;font-size:30px;flex-shrink:0}.intro{padding:36px 0 28px}.eyebrow{display:block;color:#806837;font-size:14px;letter-spacing:.15em;margin-bottom:12px}.intro p{color:#62736d;margin-top:16px}.panel{border:1px solid #dce5df;background:white;border-radius:20px;padding:28px;box-shadow:0 12px 35px #183f3705}.form{display:grid;gap:25px}.form fieldset{border:0;padding:0;margin:0;min-width:0}.form legend,.form>label,.two>label{font-weight:600;width:100%}.form legend{margin-bottom:12px}.form label span,.form legend span{font-weight:400}.form legend>span,.two label>span{font-size:14px;color:#62736d;margin-left:6px}b{color:#a84332;font-weight:400}.ratings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rating{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;border:1px solid #d7e1dc;border-radius:12px;padding:16px 10px;cursor:pointer}.rating [role=radio]{position:absolute;top:10px;right:10px}.rating-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;color:#62736d;font-size:25px;line-height:1}.chosen{background:#edf5ef;border-color:#47735c}.chosen .rating-icon{color:#245b41}.tags{display:flex;flex-wrap:wrap;gap:9px}.tag{display:flex;align-items:center;gap:9px;border:1px solid #d7e1dc;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,textarea{display:block;width:100%;margin-top:9px;padding:12px 14px;background:#fcfdfc;border:1px solid #cad6cf;border-radius:8px;color:#18332e;font-weight:400;min-width:0}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid #598b77;outline-offset:2px}.help{display:block;color:#62736d;font-size:14px;margin-top:8px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#62736d}.consent button{margin-top:4px;flex-shrink:0}.primary{display:flex;justify-content:center;align-items:center;gap:20px;width:100%;border:0;border-radius:10px;background:#183f37;color:white;padding:14px 20px;font-weight:600}.primary:hover{background:#245749}.footnote{text-align:center;font-size:14px;color:#62736d;margin-top:-14px}footer{text-align:center;font-size:13px;color:#62736d;padding:25px 0}.trap{position:absolute;width:0;height:0;overflow:hidden}.error{background:#fff0eb;color:#a43726;padding:12px;border-radius:8px;font-size:14px}.success{text-align:center;padding:45px 25px}.success-mark{display:grid;place-items:center;background:#edf5ef;border-radius:50%;width:64px;height:64px;color:#245b41;font-size:32px;margin:0 auto 20px}.success p{margin-top:14px}.receipt{margin:24px auto;background:#f2f5f4;border-radius:10px;padding:14px;max-width:230px;font-size:14px}.receipt strong{letter-spacing:.16em;font-size:22px}.muted{color:#62736d}.admin{max-width:1120px;margin:auto;padding:32px 24px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:30px}.admin-header nav{display:flex;gap:16px;font-size:14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:24px 0}.stat{background:#fff;border:1px solid #dce5df;border-radius:12px;padding:18px}.stat strong{display:block;font-size:30px;font-weight:600}.stat span{font-size:14px;color:#62736d}.filters{display:flex;gap:12px;align-items:center;margin:20px 0;flex-wrap:wrap}.filters input{flex:1;min-width:180px;margin:0}.secondary{padding:10px 15px;border:1px solid #cad6cf;border-radius:8px;background:#fff;color:#18332e}.records{display:grid;gap:16px}.record-top{display:flex;justify-content:space-between;gap:12px}.badge{font-size:14px;color:#7e4d1f;background:#fff2df;padding:3px 10px;border-radius:5px;white-space:nowrap;align-self:start}.record-meta{font-size:14px;color:#62736d;margin:8px 0 15px}.record-body{white-space:pre-wrap;overflow-wrap:anywhere}.record-phone{display:flex;gap:12px;align-items:center;margin:15px 0}.record-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.record-actions button.primary{width:auto;padding:10px 20px}.record label{font-size:14px}.notice{background:#e9f0ec;border-left:3px solid #47735c;padding:12px 16px;font-size:14px;margin:20px 0}.empty{text-align:center;padding:45px 20px}.pager{display:flex;justify-content:center;gap:15px;margin-top:20px}.summary{margin:18px 0}.summary div{display:inline-block;font-size:14px;padding:5px 11px;margin:4px;border:1px solid #d7e1dc;border-radius:6px}.admin button[data-slot=select-trigger]{min-height:44px;font-size:16px}.admin textarea{font-size:16px}@media(max-width:600px){.customer,.admin{padding:22px 16px}.brand strong{font-size:16px}.intro{padding-top:28px}h1{font-size:30px}.panel{padding:22px 18px}.two{grid-template-columns:1fr;gap:22px}.stats{grid-template-columns:1fr 1fr}.admin-header{align-items:flex-start;flex-direction:column}.record-top{flex-wrap:wrap}.rating{padding:16px 4px}.tag{padding:8px 10px}}

[hidden]{display:none!important}input[type=radio],input[type=checkbox]{width:18px;height:18px;display:inline-block;margin:0;padding:0;accent-color:#183f37;flex-shrink:0}.rating input[type=radio]{position:absolute;top:10px;right:10px}.rating:has(input:checked),.tag:has(input:checked){background:#edf5ef;border-color:#47735c}.consent input{margin-top:4px}.login{max-width:520px;margin:35px auto}.login .form{margin-top:24px}select{padding:11px 14px;border:1px solid #cad6cf;border-radius:8px;background:#fff;color:#18332e;font:inherit}details{margin-top:20px}summary{cursor:pointer;font-weight:600}details>.form{margin-top:20px;max-width:500px}#qr{display:block;max-width:100%;height:auto;margin:16px 0}#qrPanel a{overflow-wrap:anywhere}#connection{margin-top:24px}#notice,#error{overflow-wrap:anywhere}
