:root{--bg:#f7f5f0;--surface:#fff;--text:#292621;--muted:#655f57;--line:#ded7ce;--soft:#efe6dc;--accent:#c15f3c;--accent-dark:#914930;--green:#4d805e;--danger:#9b3f36;--shadow:0 14px 38px rgba(56,49,43,.08);font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:var(--text);background:#e9e5de;font-size:16px}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(145deg,#eee9e2,#ddd7ce)}button,input,textarea{font:inherit}.site-shell{width:100%;max-width:430px;min-height:100vh;margin:auto;background:var(--bg);box-shadow:0 0 60px rgba(48,39,31,.18)}
.topbar{position:sticky;z-index:30;top:0;height:58px;padding:0 16px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(218,211,202,.75);background:rgba(247,245,240,.96);backdrop-filter:blur(14px)}.topbar strong{font-size:17px}.icon-button{position:absolute;left:10px;width:42px;height:42px;border:0;background:transparent;font-size:38px;line-height:36px;color:#26231f}.demo-badge{position:absolute;right:12px;padding:6px 9px;border-radius:99px;background:#eee8e0;color:#8c4c34;font-size:12px;font-weight:700}
#app{min-height:calc(100vh - 58px);padding:24px 18px 128px;outline:none}.brand{display:flex;align-items:center;gap:14px;margin-bottom:32px}.brand-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:var(--accent);color:#fff;font-size:28px;font-weight:800;box-shadow:0 10px 24px rgba(193,95,60,.24)}.brand-name{display:block;font-size:22px;font-weight:800}.brand-slogan{display:block;margin-top:4px;color:#777066;font-size:14px}
.eyebrow{display:inline-flex;min-height:28px;padding:0 12px;align-items:center;border-radius:99px;background:var(--soft);color:#8c4c34;font-size:13px;font-weight:750}.hero h1{margin:14px 0 6px;font-size:30px;line-height:1.3;letter-spacing:-1px}.hero p{margin:0;color:var(--muted);font-size:17px;line-height:1.7}.surface{margin-top:24px;padding:20px;border:1px solid #e1dad1;border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}
.visit-top{display:flex;justify-content:space-between;align-items:center}.visit-label,.meta-label{display:block;color:#746d65;font-size:13px}.doctor{display:block;margin-top:3px;font-size:24px;font-weight:800}.queue-box{padding:9px 12px;border:1px solid transparent;border-radius:16px;background:var(--soft);color:var(--accent-dark);text-align:center}.queue-box label{display:block;font-size:13px}.queue-input{width:100px;margin-top:2px;border:0;border-bottom:2px solid #cbb8aa;outline:0;background:transparent;color:var(--accent-dark);font-size:20px;font-weight:800;text-align:center;text-transform:uppercase}.queue-input::placeholder{font-size:14px;font-weight:500;color:#a98e81}.queue-shake{border-color:#b85337;animation:queue-shake 520ms ease-in-out}@keyframes queue-shake{0%,100%{transform:translateX(0)}18%{transform:translateX(-7px)}36%{transform:translateX(6px)}54%{transform:translateX(-5px)}72%{transform:translateX(4px)}88%{transform:translateX(-2px)}}
.divider{height:1px;margin:18px 0;background:#e8e1d9}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.visit-grid .full{grid-column:1/-1}.meta-value{display:block;margin-top:4px;font-size:15px;font-weight:700}.error{margin:14px 0 0;padding:12px 14px;border-radius:14px;background:#f6eae5;color:#873f2f;font-size:14px;line-height:1.5}.actions{display:grid;gap:12px;margin-top:22px}.button{min-height:56px;padding:13px 18px;border:0;border-radius:17px;font-size:17px;font-weight:750;cursor:pointer}.button.primary{background:var(--accent);color:white;box-shadow:0 8px 20px rgba(193,95,60,.2)}.button.secondary{border:1px solid #cfc6ba;background:#fff;color:#3f3a34}.button.ghost{background:#eee9e2;color:#7e4b39}.button:focus-visible,.option:focus-visible,.edit-button:focus-visible{outline:3px solid rgba(193,95,60,.3);outline-offset:2px}.trust{margin:18px 0;text-align:center;color:#686159;font-size:13px}.text-link{border:0;background:transparent;color:#9f4b31;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.consent-list{padding:4px 20px}.consent-row{display:flex;gap:14px;padding:20px 0}.consent-icon,.review-icon{flex:0 0 42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--soft);color:var(--accent-dark);font-size:13px;font-weight:800}.consent-copy strong{display:block;font-size:17px}.consent-copy span{display:block;margin-top:5px;color:var(--muted);font-size:14px;line-height:1.55}.plain-note{margin-top:18px;padding:17px;border-radius:17px;background:#eee9e2;text-align:center;color:#5f5951;font-size:14px;line-height:1.65}
.progress-head{display:flex;justify-content:space-between;color:#514b44;font-size:14px;font-weight:700}.progress-track{height:7px;margin-top:10px;overflow:hidden;border-radius:99px;background:#e5ded5}.progress-bar{height:100%;border-radius:99px;background:var(--accent);transition:width .25s}.question-title{margin:22px 0 6px;font-size:28px;line-height:1.32}.question-hint{margin:0 0 20px;color:var(--muted);font-size:16px;line-height:1.6}.option-list{display:grid;gap:12px}.option{width:100%;min-height:72px;padding:14px;display:flex;align-items:center;border:2px solid #ded7ce;border-radius:18px;background:#fff;color:var(--text);text-align:left;cursor:pointer}.option.selected{border-color:var(--accent);background:#fff9f6}.option-icon{flex:0 0 42px;height:42px;margin-right:13px;display:grid;place-items:center;border-radius:14px;background:var(--soft);color:var(--accent-dark);font-weight:800}.option-copy{flex:1}.option-copy strong{display:block;font-size:17px}.option-copy small{display:block;margin-top:3px;color:#736d65;font-size:14px;line-height:1.4}.check{width:24px;height:24px;display:grid;place-items:center;border:2px solid #cfc5b9;border-radius:50%;color:#fff}.selected .check{border-color:var(--accent);background:var(--accent)}.relation-box{margin-top:16px;padding:16px;border-radius:18px;background:#eee9e2}.relation-box label{display:block;margin-bottom:10px;font-weight:700}.relation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.relation{min-height:46px;border:1px solid #d3cbc0;border-radius:13px;background:#fff}.relation.selected{border-color:var(--accent);background:#fff7f3;color:var(--accent-dark);font-weight:700}
.textarea{width:100%;min-height:150px;padding:16px;border:2px solid #d9d2c8;border-radius:18px;resize:vertical;background:#fff;color:#34302b;font-size:16px;line-height:1.65}.voice-button{width:100%;margin-top:12px;padding:14px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:17px;background:#eee9e2;color:#8e4a34;font-weight:700}.voice-button.listening{background:#f4dfd8;animation:pulse 1s infinite}@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(193,95,60,.11)}}.helper{margin-top:10px;color:#756e66;font-size:13px;line-height:1.5}.severity .option-icon{border-radius:50%}.three-state{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.three-state .option{min-height:54px;justify-content:center;padding:10px;text-align:center}.follow-box{margin-top:16px}.skip-button{margin-top:14px;width:100%}
.dock{position:fixed;z-index:20;left:50%;bottom:0;width:100%;max-width:430px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);border-top:1px solid #ddd5cc;background:rgba(247,245,240,.97);backdrop-filter:blur(12px)}.dock-row{display:flex;gap:9px}.dock .secondary{flex:0 0 116px}.dock .primary{flex:1}.review-section{margin-top:24px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.section-head h2{margin:0;font-size:19px}.section-head span{color:#817a71;font-size:13px}.review-card{padding:2px 16px}.review-row{min-height:78px;padding:14px 0;display:flex;align-items:flex-start;border-bottom:1px solid #ebe4dc}.review-row:last-child{border:0}.review-copy{flex:1;padding:0 10px}.review-copy small{display:block;color:#716a62;font-size:13px}.review-copy strong{display:block;margin-top:3px;font-size:15px;line-height:1.45}.edit-button{min-width:58px;min-height:40px;border:0;border-radius:12px;background:#f0ebe5;color:var(--accent-dark);font-size:14px;font-weight:750}.success{text-align:center;padding-top:50px}.success-mark{width:74px;height:74px;margin:auto;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:38px}.success h1{font-size:30px}.success p{color:var(--muted);font-size:16px;line-height:1.6}.queue-number{display:block;margin-top:8px;color:var(--accent);font-size:36px;font-weight:850}.toast{position:fixed;z-index:100;left:50%;bottom:96px;padding:11px 16px;transform:translate(-50%,20px);border-radius:12px;background:rgba(35,31,28,.92);color:#fff;font-size:14px;opacity:0;pointer-events:none;transition:.2s}.toast.show{transform:translate(-50%,0);opacity:1}
@media(min-width:700px){#app{padding-left:26px;padding-right:26px}.site-shell{margin:24px auto;min-height:calc(100vh - 48px);border-radius:28px;overflow:hidden}.dock{bottom:24px;border-radius:0 0 28px 28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
