:root{color:#24231f;background:#f3efe6;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f3efe6}button,input{font:inherit}.eyebrow{display:block;color:#9c7133;font-size:11px;font-weight:700;letter-spacing:.16em;line-height:1.5}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(420px,.9fr);background:#f7f4ed}.login-story{position:relative;display:flex;align-items:flex-end;overflow:hidden;padding:9vw 8vw;color:#f8f2e5;background:linear-gradient(150deg,#222520db,#222520fa),repeating-linear-gradient(105deg,transparent 0 58px,rgba(222,189,129,.08) 59px 60px)}.login-story:before{content:"";position:absolute;width:58vw;height:58vw;left:-22vw;top:-24vw;border:1px solid rgba(222,189,129,.3);border-radius:50%;box-shadow:0 0 0 70px #debd8106,0 0 0 140px #debd8105}.login-story__content{position:relative;z-index:1;max-width:670px}.login-story h1{margin:24px 0;font-family:Songti SC,STSong,SimSun,serif;font-size:clamp(36px,4.1vw,66px);font-weight:600;line-height:1.22;letter-spacing:.02em}.login-story p{max-width:520px;color:#c9c5bc;font-size:16px;line-height:1.8}.story-rule{width:76px;height:2px;margin:36px 0 18px;background:#c59a58}.story-caption{color:#a9a69f;font-size:12px;letter-spacing:.08em}.login-panel{display:flex;align-items:center;justify-content:center;padding:48px}.login-card{width:min(410px,100%)}.login-seal,.brand-seal{display:grid;place-items:center;width:46px;height:46px;margin-bottom:26px;border:1px solid #b98a46;border-radius:4px;color:#9c7133;font-family:Songti SC,STSong,SimSun,serif;font-size:24px}.login-card h2,.page-heading h1{margin:10px 0 8px;font-family:Songti SC,STSong,SimSun,serif;font-size:34px;line-height:1.3}.login-intro{margin:0 0 30px;color:#777168;line-height:1.7}.login-alert{margin-bottom:20px}.login-security{margin:20px 0 0;color:#8b8478;font-size:12px;text-align:center}.route-loading{min-height:100vh;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;color:#777168}.admin-shell{min-height:100vh}.admin-shell>.ant-layout{min-width:0}.admin-sider{position:sticky!important;top:0;height:100vh;padding-top:26px}.brand-mark{display:flex;align-items:center;gap:11px;min-width:154px;color:#24231f;line-height:1.2}.brand-mark .brand-seal{flex:0 0 36px;width:36px;height:36px;margin:0;font-size:19px}.brand-mark strong,.brand-mark small{display:block}.brand-mark strong{font-family:Songti SC,STSong,SimSun,serif;font-size:19px;line-height:1.15;letter-spacing:.08em}.brand-mark small{margin-top:2px;color:#817b72;font-size:10px;line-height:1.2;letter-spacing:.18em}.brand-mark--inverse{margin:0 24px 34px;color:#f6eddf}.brand-mark--inverse small{color:#9e9f98}.sider-section-label{margin:0 28px 9px;color:#7f827b;font-size:10px;letter-spacing:.16em}.mobile-brand{padding:28px 0 2px}.drawer-title-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-header{position:sticky;z-index:10;top:0;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #ddd5c9;box-shadow:0 6px 18px #413a2f0a}.header-leading{min-width:0;display:flex;align-items:center;gap:8px}.header-context{color:#6f6a62;letter-spacing:.05em}.admin-content{padding:34px}.dashboard-page,.content-page{max-width:1480px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:26px}.page-heading p{margin:0;color:#777168}.week-chip{padding:8px 12px;border:1px solid #d8c7ac;border-radius:99px;color:#75552a;background:#fffdf8c7;font-size:13px;white-space:nowrap}.appointment-closed-alert{margin-bottom:20px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{overflow:hidden;border:1px solid #e2dbd0;box-shadow:0 10px 25px #423a2c0b}.metric-card .ant-card-body{position:relative;padding:23px}.metric-icon{position:absolute;right:19px;top:19px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #dfcdaF;border-radius:50%;color:#9c7133;background:#faf4e8}.metric-card .ant-statistic-content{font-family:Georgia,Times New Roman,serif;font-size:36px}.dashboard-grid{display:grid;grid-template-columns:minmax(280px,.34fr) minmax(640px,1fr);gap:16px;margin-top:16px;align-items:start}.switch-card,.recent-card{border:1px solid #e2dbd0;box-shadow:0 10px 25px #423a2c0b}.switch-card{background:linear-gradient(145deg,#fffdf8,#f8f0e2)}.switch-card h2{margin:9px 0;font-family:Songti SC,STSong,serif;font-size:25px}.switch-card p{color:#746f66;line-height:1.65}.switch-control{display:flex;gap:12px;align-items:center;margin-top:30px}.closed-copy{margin:22px 0 0!important;padding-top:16px;border-top:1px solid #dfd4c3;font-size:12px}.table-subline{display:block;margin-top:3px;color:#89837a}.content-card{margin-bottom:18px;border:1px solid #e2dbd0;border-radius:10px;background:#fffdf8;box-shadow:0 10px 25px #423a2c0a}section.content-card{overflow:hidden;padding:0}.content-card .ant-card-head{border-bottom-color:#e9e1d6}.content-card .ant-table{background:transparent}.content-card .ant-table-thead>tr>th{padding:12px 14px;color:#5e5a53;background:#f8f3e9;font-size:12px}.content-card .ant-table-tbody>tr>td{padding:11px 14px}.content-thumbnail{display:block;width:112px;height:58px;border-radius:6px;object-fit:cover;background:#eee7dc}.service-icon{display:block;width:42px;height:42px;border-radius:8px;object-fit:cover;background:#eee7dc}.doctor-cell{display:flex;align-items:center;gap:10px}.doctor-cell img{width:42px;height:42px;flex:0 0 42px;border-radius:50%;object-fit:cover;background:#eee7dc}.doctor-cell strong,.doctor-cell small{display:block}.doctor-cell small{margin-top:2px;color:#827c73}.content-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:12px 14px;border:1px solid #e2dbd0;border-radius:9px;background:#fffdf8d1}.content-toolbar>.ant-input-affix-wrapper{width:min(420px,100%)}.operations-filter,.appointment-filters{align-items:flex-end;justify-content:flex-start;flex-wrap:wrap}.compact-filter{width:170px;display:grid;gap:6px;color:#5e5a53;font-size:12px;font-weight:700}.compact-filter select,.content-card select{width:100%;min-height:32px;padding:4px 30px 4px 10px;border:1px solid #d9d9d9;border-radius:6px;color:#24231f;background:#fff}.compact-filter select:focus-visible,.content-card select:focus-visible{outline:3px solid rgba(156,113,51,.3);outline-offset:1px;border-color:#9c7133}.filter-error-inline{flex-basis:100%;color:#b42318;font-size:12px}.operation-alert{margin:-2px 0 16px;padding:10px 12px;border:1px solid #e6a6a1;border-radius:7px;color:#8b1e17;background:#fff1f0}.settings-verification-alert{margin-bottom:16px}.settings-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(360px,1fr);gap:18px}.settings-control-card p{color:#746f66;line-height:1.65}.settings-message-card label{display:block;margin-bottom:8px;color:#5e5a53;font-size:13px;font-weight:700}.settings-actions{display:flex;justify-content:flex-end;margin-top:18px}.settings-form-error{margin:6px 0 0;color:#b42318;font-size:12px}.filter-field{width:min(360px,100%);display:grid;gap:6px}.filter-field label{color:#5e5a53;font-size:12px;font-weight:700}.filter-error{color:#b42318;font-size:12px}.operations-card{min-height:260px}.operations-state{padding:24px}.patient-phone{font-family:Consolas,SFMono-Regular,monospace;letter-spacing:.02em}.phone-unbound{color:#777168}.appointment-status{border-style:solid;font-weight:700}.appointment-status--new{color:#7c4f12;background:#fff3d6;border-color:#dca54f}.appointment-status--contacted{color:#17663a;background:#e9f7ee;border-color:#79bd91}.appointment-status--cancelled{color:#5f5b55;background:#efede9;border-color:#aaa39a}.operations-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 14px;border-top:1px solid #e9e1d6;color:#777168;font-size:13px}.schedule-toolbar .ant-select{min-width:190px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-actions{display:flex;justify-content:flex-end;margin:6px 0 28px}.form-error{margin-bottom:16px}.image-url-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.image-url-control .ant-alert,.image-url-control .ant-progress{grid-column:1 / -1}.selected-weekday{margin:-14px 0 20px;color:#75552a;font-size:13px}.limited-schedule-tag{border-style:solid;font-weight:700}.institution-page .ant-input-number,.doctor-editor-page .ant-input-number{width:100%}.ant-drawer-content-wrapper{max-width:100vw}@media(max-width:1120px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh;padding:30px 22px}.admin-content{padding:24px 18px}.admin-header{padding:0 14px}.admin-header .brand-mark{min-width:0}.form-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.metrics-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card .ant-card-body{padding:18px}.metric-card .ant-statistic-content{font-size:29px}.metric-icon{display:none}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:30px}.admin-header .ant-btn>span:not(.ant-btn-icon){display:none}.content-page .page-heading>.ant-btn{width:100%}.content-toolbar,.schedule-toolbar{align-items:stretch;flex-direction:column}.operations-filter .filter-field,.appointment-filters .compact-filter{width:100%}.settings-grid{grid-template-columns:1fr}.operations-filter>.ant-btn{width:100%}.operations-pagination{align-items:flex-start;flex-direction:column}.schedule-toolbar .ant-space{justify-content:space-between}.schedule-toolbar .ant-space strong{font-size:12px;text-align:center}.schedule-toolbar .ant-select{width:100%}.form-grid,.form-grid--three,.image-url-control{grid-template-columns:1fr}.image-url-control>*{grid-column:1;width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
