*{box-sizing:border-box}html{background:var(--app-background)}body{min-width:320px;color:var(--app-text);background:var(--app-background);letter-spacing:0;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}#app{min-height:100vh}.app-page,.auth-page,.centered-page,.common-page{width:100%;min-height:100vh}.app-page,.auth-page,.common-page{max-width:var(--app-content-width);background:var(--app-background);box-shadow:var(--app-shadow);margin:0 auto}.app-page{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.common-page__content{padding:12px 16px 24px}.section-title{color:var(--app-text);margin:0;padding:15px 16px 9px;font-size:14px;font-weight:600;line-height:1.5}.section-title small{color:var(--app-muted);margin-top:2px;font-size:11px;font-weight:400;display:block}.mock-notice{border-left:3px solid var(--app-warning);color:var(--app-warning);background:var(--app-warning-pale);margin:12px 16px;padding:9px 11px;font-size:11px;line-height:1.55}.status-panel h2,.status-panel p{margin:0}.status-panel{border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);justify-content:space-between;align-items:center;margin:14px 16px;padding:16px;display:flex}.section-label{color:var(--app-muted);font-size:12px}.status-panel h2{margin-top:4px;font-size:16px}.task-grid{border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 16px;display:grid;overflow:hidden}.task-grid div{text-align:center;place-content:center;gap:4px;min-height:82px;display:grid}.task-grid div+div{border-left:1px solid var(--app-border)}.task-grid strong{color:var(--app-primary-strong);font-size:23px}.task-grid span{color:var(--app-muted);font-size:12px;line-height:1.4}.centered-page{place-items:center;display:grid}.van-button{min-height:42px}.van-button--small{min-height:32px}.van-cell-group--inset{border:1px solid var(--app-border);border-radius:var(--app-radius);margin:0 16px;overflow:hidden}.application-page{padding-bottom:0}.form-section{border:1px solid var(--app-border);border-radius:var(--app-radius);margin:0 16px;overflow:hidden}.form-section .van-cell{border-top:1px solid var(--app-divider)}.inset-action{width:calc(100% - 32px);margin:12px 16px}.choice-list{gap:10px;padding:0 16px 20px;display:grid}.choice-card{border:1px solid var(--app-border);border-radius:var(--app-radius);min-height:78px;color:var(--app-text);background:var(--app-surface);text-align:left;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.choice-card--active{border-color:var(--app-primary);background:var(--app-primary-pale)}.choice-card:disabled{color:var(--app-muted);cursor:not-allowed}.choice-card span,.task-row div{min-width:0}.choice-card strong,.choice-card small,.task-row strong,.task-row small{display:block}.choice-card small,.task-row small{color:var(--app-muted);margin-top:4px;font-size:11px;line-height:1.45}.task-list{border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);margin:14px 16px;overflow:hidden}.task-row{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:74px;padding:12px 14px;display:grid}.task-row+.task-row{border-top:1px solid var(--app-divider)}.search-row{border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);grid-template-columns:minmax(0,1fr) auto;margin:0 16px 12px;display:grid;overflow:hidden}.search-row .van-button{border-radius:0;height:100%}.doctor-list,.task-list-group{margin-top:12px}.confirm-footer{z-index:20;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--app-border);background:#fffffff5;position:sticky;bottom:0}.role-cell-group{border:1px solid var(--app-border);background:var(--app-surface);border-radius:8px;margin:0 0 16px;overflow:hidden}.role-cell-group.van-cell-group--inset{margin:0 0 16px}.role-cell-group+.role-cell-group{margin-top:0}.role-cell-group .van-cell-group__title{color:#6e6b70;padding:0 2px 9px;font-size:15px}.role-cell-group .van-cell{align-items:center;min-height:58px;font-size:15px}.role-notice{border-left:3px solid var(--app-warning);color:var(--app-warning);background:var(--app-warning-pale);margin:2px 2px 18px;padding:10px 12px;font-size:12px;line-height:1.6}.role-loading{padding:80px 0}.van-step small{color:var(--app-muted);margin-top:4px;display:block}.cycle-note{border-left:3px solid var(--app-accent);background:var(--app-surface);grid-template-columns:28px minmax(0,1fr);gap:10px;margin:14px 16px;padding:14px;display:grid}.cycle-note p{color:var(--app-muted);margin:4px 0 0;font-size:12px;line-height:1.55}@media (width>=521px){.app-page,.auth-page,.common-page{border:1px solid var(--app-border);min-height:720px;margin-top:24px;margin-bottom:24px}}:root{--app-primary:#884ea7;--app-primary-strong:#6f257f;--app-primary-soft:#caaed8;--app-primary-pale:#f8f2fb;--app-accent:#d97706;--app-success:#23875a;--app-success-soft:#a9d6c1;--app-success-pale:#eff8f4;--app-warning:#b65f0b;--app-warning-soft:#efc490;--app-warning-pale:#fff7eb;--app-danger:#c74343;--app-danger-soft:#e8b0b0;--app-danger-pale:#fff3f3;--app-text:#2d2930;--app-muted:#777079;--app-muted-light:#aaa3ad;--app-border:#e5dfe8;--app-border-strong:#cec4d2;--app-divider:#f0edf1;--app-surface:#fff;--app-background:#f5f4f6;--app-content-width:520px;--app-radius:6px;--app-shadow:0 3px 12px #3f274614}#app{--van-primary-color:var(--app-primary);--van-success-color:var(--app-success);--van-warning-color:var(--app-warning);--van-danger-color:var(--app-danger);--van-text-color:var(--app-text);--van-text-color-2:var(--app-muted);--van-border-color:var(--app-border);--van-background:var(--app-background)}#app .van-button{--van-button-primary-background:var(--app-primary);--van-button-primary-border-color:var(--app-primary)}#app .van-checkbox{--van-checkbox-checked-icon-color:var(--app-primary)}#app .van-radio{--van-radio-checked-icon-color:var(--app-primary)}#app .van-tag{--van-tag-primary-color:var(--app-primary)}
