:root{color:#182232;font-synthesis:none;text-rendering:optimizelegibility;--ink:#182232;--muted:#667085;--line:#dfe4ea;--surface:#fff;--canvas:#f4f6f8;--blue:#1769e0;--blue-dark:#0f55bd;--green:#0b8b5d;--amber:#a86200;--red:#c83d49;--shadow:0 14px 42px #1520301c;background:#f4f6f8;font-family:Microsoft YaHei UI,PingFang SC,Noto Sans CJK SC,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #1769e038}.placeholder-page{text-align:center;place-content:center;justify-items:center;min-height:100vh;padding:32px;display:grid}.placeholder-mark{background:var(--ink);color:#fff;border-radius:6px;place-items:center;width:52px;height:52px;font-weight:800;display:grid}.placeholder-page h1{letter-spacing:0;margin:18px 0 6px;font-size:28px}.placeholder-page p{color:var(--muted);margin:0}.login-page{background:#edf1f5;grid-template-columns:minmax(420px,1.12fr) minmax(420px,.88fr);min-height:100vh;display:grid}.login-intro{color:#fff;background-color:#172230;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:44px 44px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;flex-direction:column;min-height:100vh;padding:clamp(34px,5vw,72px);display:flex;position:relative;overflow:hidden}.login-intro:after{content:"";border:1px solid #7ab4ff33;width:380px;height:380px;position:absolute;bottom:-130px;right:-100px;transform:rotate(18deg)}.brand-lockup{align-items:center;gap:12px;font-size:15px;font-weight:700;display:flex}.brand-mark{color:#172230;background:#fff;border-radius:5px;place-items:center;width:38px;height:38px;font-size:17px;font-weight:800;display:grid}.login-intro-copy{z-index:1;max-width:690px;margin:auto 0;position:relative}.eyebrow{color:#82b6ff;letter-spacing:.16em;margin:0 0 20px;font-size:11px;font-weight:800}.login-intro-copy h1{letter-spacing:0;margin:0;font-family:Microsoft YaHei,PingFang SC,sans-serif;font-size:clamp(38px,5.2vw,72px);font-weight:700;line-height:1.22}.login-intro-copy>p:last-child{color:#b9c3d0;max-width:560px;margin:26px 0 0;font-size:15px;line-height:1.9}.security-note{z-index:1;color:#aeb9c7;align-items:center;gap:9px;font-size:12px;display:flex;position:relative}.login-panel{background:#f7f9fb;place-items:center;padding:clamp(28px,6vw,84px);display:grid}.login-form{width:min(100%,430px)}.login-heading{align-items:center;gap:14px;margin-bottom:36px;display:flex}.login-icon{width:46px;height:46px;color:var(--blue);background:#fff;border:1px solid #d8e1ec;border-radius:6px;place-items:center;display:grid;box-shadow:0 6px 20px #1769e014}.login-heading h2{letter-spacing:0;margin:0;font-size:24px}.login-heading p{color:var(--muted);margin:5px 0 0;font-size:13px}.field-label{color:#344054;margin:0 0 8px;font-size:13px;font-weight:700;display:block}.input-shell{color:#8b95a5;background:#fff;border:1px solid #ccd4df;border-radius:6px;align-items:center;gap:10px;height:48px;margin-bottom:20px;padding:0 13px;transition:border-color .15s,box-shadow .15s;display:flex}.input-shell:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1769e01a}.input-shell input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.input-shell input::placeholder{color:#a3acb9}.icon-button{border:1px solid var(--line);color:#526071;cursor:pointer;background:#fff;border-radius:5px;flex:none;place-items:center;width:36px;height:36px;display:inline-grid}.icon-button.bare{background:0 0;border:0;width:30px;height:30px}.form-error{border-left:3px solid var(--red);color:#9d2530;background:#fff0f1;margin:-4px 0 18px;padding:10px 12px;font-size:13px;line-height:1.5}.primary-button{border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:9px;min-height:42px;font-weight:700;transition:background .15s,transform .15s;display:inline-flex}.primary-button:hover:not(:disabled){background:var(--blue-dark)}.primary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled{opacity:.58;cursor:not-allowed}.login-submit{width:100%;min-height:49px;margin-top:5px}@media (width<=880px){.login-page{grid-template-columns:1fr}.login-intro{min-height:255px;padding:28px 24px 34px}.login-intro-copy{margin:46px 0 22px}.login-intro-copy h1{font-size:31px}.login-intro-copy>p:last-child,.eyebrow,.security-note{display:none}.login-panel{align-items:start;min-height:calc(100vh - 255px);padding:42px 24px 60px}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{background:var(--canvas);min-height:100vh}.topbar{background:#fffffff5;border-bottom:1px solid #dce2e9;justify-content:space-between;align-items:center;gap:18px;height:66px;padding:0 clamp(18px,3.5vw,54px);display:flex}.topbar-brand,.topbar-actions,.admin-identity,.text-button,.row-actions{align-items:center;display:flex}.topbar-brand{gap:11px}.brand-mark.dark{background:var(--ink);color:#fff;width:34px;height:34px}.topbar-brand div:last-child{gap:2px;display:grid}.topbar-brand strong{font-size:14px}.topbar-brand div span{color:#8b95a4;letter-spacing:.12em;font-size:8px;font-weight:800}.topbar-actions{gap:18px}.admin-identity{color:#4d5b6c;gap:6px;font-size:12px}.text-button{color:#536172;cursor:pointer;background:0 0;border:0;gap:7px;padding:7px 0;font-size:12px}.text-button:hover{color:var(--blue)}.admin-main{width:min(100%,1680px);margin:0 auto;padding:38px clamp(18px,3.5vw,54px) 70px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:25px;display:flex}.eyebrow.dark{color:var(--blue);margin:0 0 8px}.page-heading h1{letter-spacing:0;margin:0;font-size:30px;line-height:1.25}.page-heading>div>p:last-child{color:var(--muted);margin:7px 0 0;font-size:13px}.add-button{min-width:116px;padding:0 15px}.summary-strip{border:1px solid var(--line);background:#fff;align-items:stretch;width:fit-content;min-width:min(100%,470px);margin-bottom:18px;display:flex}.summary-strip>div{border-right:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-width:130px;padding:12px 16px;display:flex}.summary-strip>div:last-child{border-right:0}.summary-strip span{color:var(--muted);font-size:11px}.summary-strip strong{font-size:18px}.records-panel{background:#fff;border:1px solid #dce2e9;box-shadow:0 10px 30px #1a26370b}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:12px 17px 12px 20px;display:flex}.panel-heading h2{margin:0;font-size:15px}.panel-heading p{color:var(--muted);margin:4px 0 0;font-size:11px}.filter-bar{border-bottom:1px solid var(--line);background:#fafbfc;align-items:center;gap:10px;min-height:70px;padding:12px 16px;display:flex}.filter-search{color:#8792a2;background:#fff;border:1px solid #ccd4df;border-radius:5px;align-items:center;gap:9px;width:min(310px,25vw);height:40px;padding:0 11px;display:flex}.filter-search:focus-within,.date-filter:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #1769e014}.filter-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.date-filter{color:#8792a2;background:#fff;border:1px solid #ccd4df;border-radius:5px;align-items:center;gap:8px;height:40px;padding:0 10px;display:flex}.date-filter label{color:#7b8797;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:flex}.date-filter input{color:#344054;background:0 0;border:0;outline:0;width:116px;padding:0;font-size:11px}.date-filter i{color:#a1a9b5;font-size:10px;font-style:normal}.filter-count{color:#7a8696;white-space:nowrap;font-size:11px}.filter-actions{align-items:center;gap:7px;margin-left:auto;display:flex}.filter-button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 12px;font-size:11px;display:inline-flex}.filter-button:disabled{opacity:.48;cursor:not-allowed}.add-filter-button{min-width:106px}.table-scroll{width:100%;overflow-x:auto}.records-table{border-collapse:collapse;table-layout:fixed;color:#344054;width:100%;min-width:1320px;font-size:12px}.records-table th{border-bottom:1px solid var(--line);color:#687385;text-align:left;white-space:nowrap;background:#f3f5f7;padding:11px 10px;font-size:10px;font-weight:800}.records-table th:first-child{width:96px}.records-table th:nth-child(2){width:138px}.records-table th:nth-child(3),.records-table th:nth-child(4),.records-table th:nth-child(5){width:78px}.records-table th:nth-child(6){width:176px}.records-table th:nth-child(7){width:108px}.records-table th:nth-child(8){width:155px}.records-table th:nth-child(9){width:96px}.records-table th:nth-child(10){width:170px}.records-table td{vertical-align:middle;border-bottom:1px solid #edf0f3;height:60px;padding:11px 10px}.records-table tr:last-child td{border-bottom:0}.records-table tbody tr:hover{background:#f9fbfd}.date-cell{color:#617084;font-variant-numeric:tabular-nums}.store-name{color:#182232;font-size:12px}.clamped-cell{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.clamped-cell.note{color:#687385}.rating-text{white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.rating-text i{background:currentColor;border-radius:50%;width:7px;height:7px}.rating-text.very_satisfied,.rating-text.satisfied{color:var(--green)}.rating-text.neutral{color:var(--amber)}.rating-text.dissatisfied,.rating-text.very_dissatisfied{color:var(--red)}.rating-text.pending{color:#98a2b3;font-weight:500}.status-badge{white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:5px 7px;font-size:10px;font-weight:700;display:inline-flex}.status-badge.not_invited{color:#626d7c;background:#eef1f4}.status-badge.pending{color:#925500;background:#fff3dd}.status-badge.completed{color:#08764f;background:#e7f6ef}.status-badge.expired{color:#a2303a;background:#f5e9ea}.row-actions{white-space:nowrap;gap:5px}.table-action{color:#526071;cursor:pointer;background:#fff;border:1px solid #dce2e9;border-radius:4px;align-items:center;gap:5px;height:29px;padding:0 8px;font-size:10px;display:inline-flex}.table-action:hover{color:var(--blue);border-color:#9db7da}.table-action.invite{color:#155bb8;border-color:#b8ccec}.table-action.danger{color:#9f4a52;justify-content:center;width:29px;padding:0}.empty-state,.table-loading{color:#8a95a5;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:330px;display:flex}.empty-state h3{color:#3f4c5c;margin:14px 0 5px;font-size:15px}.empty-state p,.table-loading p{margin:0;font-size:12px}.table-loading{flex-direction:row;gap:6px}.table-loading span{background:var(--blue);border-radius:50%;width:6px;height:6px;animation:.9s ease-in-out infinite alternate loading-pulse}.table-loading span:nth-child(2){animation-delay:.15s}.table-loading span:nth-child(3){animation-delay:.3s}.table-loading p{margin-left:8px}@keyframes loading-pulse{to{opacity:.25;transform:translateY(-3px)}}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-error{border-left:3px solid var(--red);color:#952c36;background:#fff1f2;align-items:center;gap:10px;margin:14px 18px 0;padding:11px 12px;font-size:12px;display:flex}.page-error button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;font-weight:700}.dialog-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#111a2680;place-items:center;padding:22px;animation:.15s ease-out fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.record-dialog{background:#fff;border:1px solid #d5dce5;border-radius:7px;width:min(100%,680px);max-height:calc(100vh - 44px);animation:.18s ease-out dialog-in;overflow:auto;box-shadow:0 24px 70px #0f19263d}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)}}.dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 18px;display:flex}.dialog-header h2{margin:0;font-size:21px}.dialog-body{padding:22px 24px 8px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 14px;display:grid}.form-field{color:#3d4a5a;gap:7px;font-size:12px;font-weight:700;display:grid}.form-field.wide{grid-column:1/-1}.form-field span em{color:#98a2b3;margin-left:5px;font-style:normal;font-weight:500}.form-field input,.form-field textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cdd5df;border-radius:5px;outline:0;font-size:13px;font-weight:400}.form-field input{height:41px;padding:0 11px}.form-field textarea{resize:vertical;min-height:76px;padding:10px 11px;line-height:1.6}.form-field input:focus,.form-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1769e014}.form-field small{color:var(--red);font-size:10px;font-weight:500}.field-control.with-icon{color:#8b95a5;position:relative}.field-control.with-icon svg{position:absolute;top:12px;left:11px}.field-control.with-icon input{padding-left:36px}.dialog-error{margin:17px 0 0}.dialog-footer{justify-content:flex-end;gap:9px;padding:17px 24px 20px;display:flex}.secondary-button{color:#455365;cursor:pointer;background:#fff;border:1px solid #ccd4df;border-radius:5px;min-height:40px;padding:0 15px;font-weight:700}.save-button{min-width:112px;padding:0 15px}.invite-dialog{background:#fff;border:1px solid #d5dce5;border-radius:7px;width:min(100%,590px);animation:.18s ease-out dialog-in;overflow:hidden;box-shadow:0 24px 70px #0f19263d}.invite-title{align-items:center;gap:12px;display:flex}.invite-title>span{width:41px;height:41px;color:var(--blue);background:#eaf2ff;border-radius:5px;place-items:center;display:grid}.invite-body{padding:23px 24px 8px}.invite-body>p{color:#5f6c7c;margin:0 0 15px;font-size:13px;line-height:1.7}.invite-body>p strong{color:var(--ink)}.invite-link{min-height:50px;color:var(--blue);background:#f6f9fd;border:1px solid #c9d5e5;border-radius:5px;align-items:center;gap:10px;padding:8px 8px 8px 12px;display:flex}.invite-link>span{color:#30445e;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:Consolas,monospace;font-size:11px;overflow:hidden}.invite-link button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:4px;flex:none;place-items:center;width:35px;height:35px;display:grid}.invite-meta{color:#8a95a4;justify-content:space-between;gap:15px;margin-top:9px;font-size:10px;display:flex}.copy-button{min-width:138px;padding:0 14px}.evaluation-page{background-color:#f3f6f9;background-image:linear-gradient(90deg,#1769e009 1px,#0000 1px),linear-gradient(#1769e009 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:36px 36px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;flex-direction:column;align-items:center;min-height:100vh;padding:26px 20px 22px;display:flex}.evaluation-brand{color:#344054;align-items:center;gap:10px;width:min(100%,780px);font-size:13px;font-weight:700;display:flex}.evaluation-brand .brand-mark{width:34px;height:34px}.evaluation-surface{border:1px solid #d9e0e8;border-top:4px solid var(--blue);background:#fff;flex-direction:column;justify-content:center;width:min(100%,780px);min-height:485px;margin:auto 0;padding:clamp(32px,6vw,62px);display:flex;box-shadow:0 20px 60px #1b283a1a}.evaluation-heading>p{color:var(--blue);margin:0 0 12px;font-size:12px;font-weight:800}.evaluation-heading h1{color:#172230;letter-spacing:0;max-width:590px;margin:0;font-size:clamp(28px,4.4vw,43px);line-height:1.3}.evaluation-heading>span{color:var(--muted);margin-top:12px;font-size:14px;display:block}.rating-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:34px;display:grid}.rating-option{color:#657184;cursor:pointer;background:#fafbfc;border:1px solid #dce2e9;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-width:0;height:105px;padding:9px 4px;transition:border-color .18s,background .18s,color .18s,transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s;display:flex}.rating-option>span{background:#eef1f4;border-radius:50%;place-items:center;width:47px;height:47px;transition:transform .18s cubic-bezier(.2,.9,.25,1.35),background .18s;display:grid}.rating-option strong{letter-spacing:0;place-items:center;min-height:28px;font-size:11px;line-height:1.25;display:grid}.rating-option:hover{border-color:#aebbd0;transform:translateY(-2px)}.rating-option.selected{transform:translateY(-3px);box-shadow:0 8px 20px #1d304717}.rating-option.selected>span{transform:scale(1.08)}.rating-option.very_satisfied.selected,.rating-option.satisfied.selected{color:#08764f;background:#effaf5;border-color:#30a77a}.rating-option.very_satisfied.selected>span,.rating-option.satisfied.selected>span{background:#d9f3e8}.rating-option.neutral.selected{color:#925500;background:#fff9ed;border-color:#d8a23d}.rating-option.neutral.selected>span{background:#faedcf}.rating-option.dissatisfied.selected,.rating-option.very_dissatisfied.selected{color:#a2303a;background:#fff4f4;border-color:#d8777f}.rating-option.dissatisfied.selected>span,.rating-option.very_dissatisfied.selected>span{background:#f7dfe1}.evaluation-submit{width:100%;min-height:49px;margin-top:30px}.evaluation-selection{color:#526071;background:#f8fafc;border:1px solid #dce4ed;justify-content:space-between;align-items:center;gap:12px;min-height:40px;margin-top:16px;padding:9px 12px;font-size:12px;display:flex}.evaluation-selection strong{color:#172230}.evaluation-selection small{color:#8692a3;font-size:11px}.evaluation-policy{color:#98a2b3;text-align:center;margin:11px 0 0;font-size:10px}.evaluation-error{border-left:3px solid var(--red);color:#952c36;background:#fff1f2;margin-top:15px;padding:9px 11px;font-size:12px}.evaluation-state{color:#748094;text-align:center;justify-items:center;display:grid}.evaluation-state h1{color:#172230;letter-spacing:0;margin:18px 0 7px;font-size:28px}.evaluation-state p,.evaluation-state span{color:#6b7789;margin:0;font-size:13px;line-height:1.7}.evaluation-state.completed>p{color:var(--blue);margin-bottom:7px;font-weight:700}.state-icon{width:64px;height:64px;color:var(--green);background:#e6f6ef;border-radius:50%;place-items:center;display:grid}.state-icon.amber{color:var(--amber);background:#fff1d8}.state-icon.red{color:var(--red);background:#f9e4e6}.evaluation-footer{color:#929cab;text-align:right;width:min(100%,780px);padding-top:13px;font-size:10px}@media (width<=620px){.evaluation-page{min-height:100svh;padding:18px 12px 12px}.evaluation-surface{min-height:510px;padding:34px 18px;box-shadow:0 12px 35px #1b283a14}.evaluation-heading h1{font-size:27px}.rating-grid{gap:5px;margin-top:28px}.rating-option{gap:8px;height:96px;padding:8px 2px}.rating-option>span{width:42px;height:42px}.rating-option strong{overflow-wrap:anywhere;min-height:30px;font-size:9px}.evaluation-selection{flex-direction:column;align-items:flex-start;gap:3px}.evaluation-footer{text-align:center}.invite-dialog{border-radius:7px 7px 0 0;width:100%}.invite-body,.invite-dialog .dialog-header,.invite-dialog .dialog-footer{padding-left:18px;padding-right:18px}}.toast{z-index:80;border-left:3px solid var(--green);color:#fff;box-shadow:var(--shadow);background:#172230;padding:12px 17px;font-size:12px;animation:.18s ease-out dialog-in;position:fixed;bottom:24px;right:24px}.not-found{text-align:center;place-content:center;justify-items:center;min-height:100vh;padding:30px;display:grid}.not-found>span{color:var(--blue);letter-spacing:.14em;font-size:13px;font-weight:800}.not-found h1{margin:15px 0 6px;font-size:28px}.not-found p{color:var(--muted);margin:0 0 22px}.not-found a{padding:0 15px;text-decoration:none}@media (width<=700px){.topbar{height:60px;padding:0 16px}.topbar-brand div:last-child span,.admin-identity{display:none}.admin-main{padding:28px 15px 55px}.page-heading{align-items:flex-start}.page-heading h1{font-size:25px}.page-heading>div>p:last-child{max-width:210px}.add-button{width:42px;min-width:42px;padding:0;font-size:0}.filter-bar{flex-wrap:wrap;align-items:stretch;padding:12px}.filter-search{width:100%}.date-filter{flex-wrap:wrap;width:100%;height:auto;min-height:40px}.date-filter label{flex:1}.date-filter input{width:100%;min-width:105px}.filter-count{align-items:center;display:flex}.filter-actions{flex:1;justify-content:flex-end}.filter-button{padding:0 10px}.add-filter-button{min-width:96px}.summary-strip{width:100%;min-width:0}.summary-strip>div{flex:1;gap:8px;min-width:0;padding:10px 11px}.summary-strip span{font-size:9px}.summary-strip strong{font-size:15px}.dialog-backdrop{align-items:end;padding:0}.record-dialog{border-radius:7px 7px 0 0;width:100%;max-height:92vh}.dialog-header,.dialog-body,.dialog-footer{padding-left:18px;padding-right:18px}.form-grid{grid-template-columns:1fr}.form-field.wide{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
