:root{color:#182126;background:#f6f7f4;font-family:Inter,PingFang SC,Microsoft YaHei,Segoe UI,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html{scrollbar-gutter:stable}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-y:scroll;background:linear-gradient(180deg,#ffffffd6,#f6f7f4eb),#f6f7f4}#root{min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.appShell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.persistentAvatarCache{position:fixed;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;left:-9999px;top:-9999px}.persistentAvatarCache img{width:1px;height:1px;object-fit:cover}.sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;background:#fff;border-right:1px solid #dde3df;display:flex;flex-direction:column;gap:20px}.brand{display:flex;align-items:center;gap:12px;padding:4px 6px 18px;border-bottom:1px solid #e8ece8}.brandMark{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;color:#fff;background:#0f766e}.brand strong,.brand span{display:block}.brand strong{font-size:19px}.brand span{margin-top:2px;color:#61706a;font-size:13px}.navList{display:grid;gap:8px}.navList button,.bottomNav button{border:0;background:transparent;color:#53625c}.navList button{min-height:44px;padding:0 12px;border-radius:8px;display:flex;align-items:center;gap:10px;text-align:left}.navList button:hover,.navList button.active{color:#0f3d3e;background:#e8f4ef}.roleSwitch{margin-top:auto;padding:6px;border-radius:8px;background:#eef2ee;display:grid;grid-template-columns:1fr;gap:6px}.roleSwitch.compact{display:none;margin:0;grid-template-columns:repeat(3,minmax(58px,1fr))}.roleSwitch button{min-height:34px;border:0;border-radius:7px;color:#52625b;background:transparent}.roleSwitch button.active{color:#fff;background:#0f766e}.loginShell{min-height:100vh;padding:28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:34px;align-items:center;width:min(1180px,100%);margin:0 auto}.loginShellAuth{position:relative;width:min(520px,100%);grid-template-columns:minmax(320px,1fr);align-content:center;justify-content:stretch;gap:24px;padding:24px 20px;background:linear-gradient(180deg,#f7f0e633,#ffffffd1 56%,#fff),url(/assets/images/home-hero.jpg) center top / cover no-repeat;overflow:hidden}.loginShellAuth.isRegister{align-content:center}.loginShellAuth:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f6f0e5eb,#f6f0e5a8 46%,#ffffff14),linear-gradient(180deg,#ffffff38,#ffffff0f 46%,#fffffff0 88%);pointer-events:none}.loginHeroPanel{position:relative;z-index:1;align-self:start;margin-top:3vh;padding:0 18px;color:#3d3934;display:grid;gap:12px}.loginHeroPanel svg{color:#b99966}.loginHeroPanel h1{max-width:250px;margin:8px 0 0;color:#3f3a34;font-size:38px;font-weight:500;line-height:1.22;letter-spacing:0}.loginHeroPanel p{margin:0;color:#5d5751;font-size:16px;line-height:1.8}.loginHeroPanel span{width:34px;height:4px;border-radius:999px;background:#b99966}.loginIntro{position:relative;padding:34px;border:1px solid rgba(255,255,255,.72);border-radius:30px;background:radial-gradient(circle at 88% 8%,rgba(255,222,229,.66),transparent 34%),linear-gradient(135deg,#eef7ffdb,#ffffff85);box-shadow:0 26px 80px #2233511f;overflow:hidden;display:grid;gap:18px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.loginIntro:after{content:"";position:absolute;right:-48px;bottom:-58px;width:210px;height:210px;border-radius:50%;background:#bde4dc8f;pointer-events:none}.loginIntro .brand{position:relative;z-index:1;width:max-content;padding:0;border:0}.loginIntro h1,.loginForm h2{margin:0;letter-spacing:0}.loginIntro h1{position:relative;z-index:1;max-width:620px;color:#10213d;font-size:clamp(38px,5.6vw,60px);line-height:1.05}.loginIntro p:not(.eyebrow){position:relative;z-index:1;max-width:620px;margin:0;color:#5e6b80;font-size:18px;line-height:1.8}.loginCard{padding:24px;border:1px solid rgba(221,229,243,.92);border-radius:28px;background:linear-gradient(180deg,#fffffffa,#f7fafff2),#fff;box-shadow:0 26px 76px #23335229;display:grid;gap:20px}.loginCardSimple{position:relative;z-index:1;align-self:end;margin-top:0;padding:28px 28px 24px;border-color:#ffffffb8;border-radius:30px;background:#ffffffe0;box-shadow:0 22px 64px #4b3a232e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.loginModeTitle{display:grid;justify-items:center;gap:10px;margin-bottom:2px}.loginModeTitle strong{color:#3c3935;font-size:22px;font-weight:500}.loginModeTitle span{width:38px;height:4px;border-radius:999px;background:#b99966}.loginCardHeader{padding:4px 2px 2px;display:grid;gap:8px}.loginCardHeader .brand{width:max-content;margin-bottom:8px;padding:0;border:0}.loginCardHeader span{width:max-content;padding:8px 12px;border-radius:999px;color:#244160;background:#eef6ff;font-size:13px;font-weight:900}.loginCardHeader strong{color:#10213d;font-size:24px;line-height:1.25}.portalTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;border-radius:8px;background:#eef2ee}.portalTabs button{min-height:38px;border:0;border-radius:7px;color:#53625c;background:transparent}.portalTabs button.active{color:#fff;background:#0f766e}.endpointBadge{min-height:42px;padding:0 14px;border-radius:8px;color:#0f3d3e;background:#e4f5ef;display:flex;align-items:center;font-weight:800}.endpointLinks{display:grid;gap:10px}.endpointLinks a{min-height:58px;padding:0 18px;border-radius:16px;color:#0f3d3e;background:#f7faf8;border:1px solid #d7e2dc;display:flex;align-items:center;justify-content:space-between;text-decoration:none;font-size:16px;font-weight:900}.endpointLinks a:after{content:"进入";min-height:28px;padding:0 10px;border-radius:999px;color:#fff;background:#0f766e;display:inline-flex;align-items:center;font-size:12px;font-weight:900}.endpointLinks a:hover{background:#e4f5ef;border-color:#9accc3}.loginForm{display:grid;gap:14px}.loginForm label{display:grid;gap:7px;color:#59667b;font-weight:900;font-size:14px}.loginField{position:relative;display:block}.loginField svg{position:absolute;left:18px;top:50%;color:#7d7a75;transform:translateY(-50%);pointer-events:none}.loginForm .loginField input{width:100%;height:54px;padding:0 18px 0 56px;border:1px solid rgba(215,205,192,.72);border-radius:20px;color:#3d3934;background:#ffffffb8;outline:0}.loginForm .loginField input:focus{border-color:#c5a371;box-shadow:0 0 0 4px #b999661f}.loginForm .loginField input::placeholder{color:#aaa49c}.loginForm .primaryButton{min-height:54px;margin-top:4px;border-radius:20px;background:linear-gradient(135deg,#d8bd8f,#bf9460);box-shadow:0 18px 34px #ae844e40}.visitorSurveySection{display:grid;gap:16px;padding:4px 0}.visitorSurveyQuestion{margin:0;padding:15px;border:1px solid rgba(215,205,192,.72);border-radius:18px;background:#ffffffb3}.visitorSurveyQuestion legend{padding:0 4px;color:#302d29;font-size:15px;font-weight:950;line-height:1.45}.visitorSurveyQuestion legend span{margin-right:4px;color:#dc2626}.visitorSurveyOptions{display:grid;gap:10px;margin-top:12px}.loginForm .visitorSurveyOption{display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:start;color:#4d5768;font-size:14px;font-weight:850;line-height:1.45}.visitorSurveyOption input{width:18px;height:18px;margin:1px 0 0;accent-color:#bf9460}.rememberPasswordLine{min-height:24px;display:inline-flex!important;grid-template-columns:none!important;grid-auto-flow:column;gap:8px!important;align-items:center;justify-content:start;color:#6f685f!important;font-size:13px!important;font-weight:850!important}.rememberPasswordLine input{width:17px;height:17px;margin:0;accent-color:#bf9460}.authSwitchLine{display:flex;justify-content:center;align-items:center;gap:6px;color:#827a72;font-size:13px}.authSwitchLine button{padding:0;border:0;color:#b38c58;background:transparent;font-weight:900}.loginError{margin:0;color:#991b1b;font-size:14px}.demoAccount{padding:12px;border-radius:8px;background:#f3f6f4;display:grid;gap:4px}.demoAccountList{display:grid;gap:8px}.demoAccountList button{width:100%;min-height:46px;padding:9px 10px;border:1px solid #d8e0da;border-radius:8px;color:#182126;background:#fff;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;align-items:center;text-align:left}.demoAccount span,.accountPanel span{color:#65746d;font-size:13px}.demoAccount strong,.accountPanel strong{color:#182126}.demoAccountList small{min-width:0;color:#65746d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.loginHint{margin:0;color:#65746d;font-size:13px;line-height:1.6}.accountPanel{margin-top:auto;padding:12px;border:1px solid #dde3df;border-radius:8px;background:#fbfcfa;display:grid;gap:10px}.accountPanel strong,.accountPanel span{display:block}.accountPanel.compact{display:none;margin:0;min-width:210px;grid-template-columns:minmax(0,1fr) auto;align-items:center}.mainPanel{min-width:0;padding:26px 30px 42px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.topbar h1,.sectionTitle h2,.profilePanel h2,.counselorCard h2{margin:0;letter-spacing:0}.topbar h1{font-size:clamp(25px,3vw,36px);line-height:1.12}.eyebrow{margin:0 0 8px;color:#0f766e;font-weight:700;font-size:13px}.topActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.content{width:min(1180px,100%)}.toolbar{display:grid;gap:14px;margin-bottom:18px}.searchBox{min-height:46px;padding:0 14px;border:1px solid #d6ddd8;border-radius:8px;background:#fff;display:flex;align-items:center;gap:10px;color:#6a7771}.searchBox input{width:100%;border:0;outline:0;color:#182126}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips.big{margin-top:16px}.chip,.tag,.badge{border-radius:999px;white-space:nowrap}.chip{min-height:34px;padding:0 13px;border:1px solid #d7dfd9;color:#4f5e58;background:#fff}.chip.active{color:#0f3d3e;border-color:#9accc3;background:#ddf3ed}.counselorGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.counselorCard,.profilePanel,.previewPanel,.bookingSummary,.appointmentItem,.metric,.tableRow,.emptyState{border:1px solid #dde3df;border-radius:8px;background:#fff}.counselorCard{padding:18px;display:grid;gap:14px}.cardHeader,.counselorMini,.buttonRow,.appointmentTime,.inlineActions{display:flex;align-items:center}.cardHeader{gap:12px}.cardHeader p,.cardBio,.muted,.sectionTitle p,.profilePanel p{color:#64736c}.cardHeader p,.cardBio,.sectionTitle p,.profilePanel p{margin:0}.cardBio{line-height:1.7}.avatar{width:48px;height:48px;flex:0 0 auto;border-radius:8px;display:grid;place-items:center;color:#fff;font-weight:800;background:#c26444}.avatar.large{width:72px;height:72px;font-size:28px}.tagRow{display:flex;flex-wrap:wrap;gap:7px}.tag{padding:5px 10px;color:#5c4a18;background:#fff1c2;font-size:13px}.cardFooter{display:flex;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #edf0ed;color:#53625c;font-size:14px}.buttonRow{gap:10px}.primaryButton,.ghostButton,.dangerButton{min-height:40px;border-radius:8px;padding:0 14px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.primaryButton{color:#fff;background:#0f766e}.primaryButton:hover{background:#0b5f59}.ghostButton{color:#27443f;background:#fff;border-color:#cfd8d3}.ghostButton:hover{background:#f2f6f3}.dangerButton{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.smallButton{min-height:34px;padding:0 11px}.detailLayout,.bookingLayout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.profilePanel,.previewPanel,.bookingSummary{padding:20px}.profilePanel{display:grid;gap:16px}.metaGrid,.metricRow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric{padding:14px}.metric span{display:block;color:#687770;font-size:13px}.metric strong{display:block;margin-top:8px;font-size:20px}.noteLine{margin:0;color:#4d5c56;line-height:1.7}.previewPanel,.bookingSummary{position:sticky;top:24px;display:grid;gap:14px}.previewPanel h3,.bookingSummary h3{margin:0}.miniSlot{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid #edf0ed}.miniSlot:last-child{border-bottom:0}.sectionTitle{margin-bottom:14px}.sectionTitle h2{font-size:22px}.sectionTitle p{margin-top:6px}.slotGroups{display:grid;gap:14px}.slotGroup{padding:16px;border-radius:8px;border:1px solid #dde3df;background:#fff}.slotGroup h3{margin:0 0 12px}.slotGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.slotButton{min-height:70px;padding:12px;border-radius:8px;border:1px solid #d6ddd8;background:#fbfcfa;text-align:left;display:grid;gap:6px;color:#24342f}.slotButton.active{border-color:#0f766e;background:#e4f5ef}.slotButton small{color:#697871}.field,.slotForm{display:grid;gap:8px}.field>span,.slotForm label{color:#52625b;font-size:14px;font-weight:700}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:8px;background:#eef2ee}.segmented button{min-height:34px;border:0;border-radius:7px;color:#53625c;background:transparent}.segmented button.active{color:#fff;background:#0f766e}textarea,.slotForm input{width:100%;border:1px solid #d4dcd6;border-radius:8px;color:#182126;background:#fff;outline:0}textarea{min-height:96px;padding:12px;resize:vertical}.slotForm input{height:40px;margin-top:6px;padding:0 10px}.summaryBox{min-height:64px;padding:12px;border-radius:8px;color:#475650;background:#f3f6f4;display:grid;gap:4px}.appointmentList,.tableList,.timeline{display:grid;gap:12px}.appointmentItem{padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px}.appointmentMain{display:grid;gap:10px;min-width:0}.appointmentMain p{margin:0;color:#53625c;line-height:1.6}.appointmentTime{gap:8px;color:#30413c}.appointmentSide{min-width:150px;display:grid;justify-items:end;align-content:start;gap:10px}.counselorMini{gap:10px;min-width:0}.counselorMini strong,.counselorMini span{display:block}.counselorMini span,.small{color:#6a7771;font-size:13px}.badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;font-size:13px;font-weight:700}.badge.green{color:#166534;background:#dcfce7}.badge.amber{color:#92400e;background:#fef3c7}.badge.red{color:#991b1b;background:#fee2e2}.badge.cancelled{color:#b95c5c;background:#fdecec}.badge.gray{color:#4b5563;background:#edf0ed}.badge.blue{color:#1e40af;background:#dbeafe}.inlineActions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.tableRow{min-height:70px;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center}.tableRow p{margin:4px 0 0}.timelineItem{padding:14px 16px;border-left:4px solid #0f766e;border-radius:0 8px 8px 0;background:#fff}.timelineItem span,.timelineItem strong,.timelineItem p{display:block}.timelineItem span{color:#6a7771;font-size:13px}.timelineItem strong{margin-top:5px}.timelineItem p{margin:6px 0 0;color:#52625b}.emptyState{padding:36px 18px;color:#66746e;text-align:center}.visitorShell .mainPanel:has(.visitorHome){padding:0;background:radial-gradient(circle at 18% 4%,rgba(218,234,255,.95),transparent 34%),radial-gradient(circle at 86% 14%,rgba(255,239,244,.9),transparent 32%),#f8fbff}.visitorShell .mainPanel:has(.visitorHome) .topbar{display:none}.visitorShell .content:has(.visitorHome){width:100%}.visitorHome{width:min(100%,460px);margin:0 auto;min-height:100vh;padding:24px 18px 112px;color:#16213a}.visitorGreeting{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.visitorGreeting h2{margin:0;font-size:34px;line-height:1.1;letter-spacing:0}.visitorGreeting p{margin:12px 0 0;color:#6b778d;font-size:16px}.visitorHero{position:relative;min-height:176px;border-radius:18px;overflow:hidden;background:#d8e8f9;box-shadow:0 18px 44px #2b3f601f}.visitorHero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.visitorHero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#d9e8f8f5,#d9e8f8d1 46%,#d9e8f82e)}.visitorHero>div{position:relative;z-index:1;padding:32px 24px}.visitorHero h3{margin:0;font-size:30px;letter-spacing:0}.visitorHero p{margin:14px 0 22px;color:#6d7890}.visitorHero button{min-height:42px;padding:0 16px 0 18px;border:0;border-radius:999px;color:#fff;background:#1c2b48;display:inline-flex;align-items:center;gap:6px}.heroDots{height:26px;display:flex;justify-content:center;align-items:center;gap:8px}.heroDots span{width:8px;height:8px;border-radius:999px;background:#dfe6f0}.heroDots span:first-child{width:16px;background:#1c2b48}.quickActions{padding:18px 10px;border-radius:18px;background:#ffffffe6;box-shadow:0 18px 46px #21325214;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.reviewProgressEntry{width:100%;min-height:72px;margin:14px 0;padding:12px 14px;border:1px solid rgba(219,230,246,.95);border-radius:18px;color:#16213a;background:#fffffff0;box-shadow:0 14px 34px #23335214;display:grid;grid-template-columns:44px minmax(0,1fr) 18px;gap:12px;align-items:center;text-align:left}.reviewProgressEntry>span{width:42px;height:42px;border-radius:14px;color:#4f66ee;background:#eef3ff;display:grid;place-items:center}.reviewProgressEntry strong,.reviewProgressEntry small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reviewProgressEntry strong{font-size:15px;line-height:1.25}.reviewProgressEntry small{margin-top:4px;color:#728096;font-size:12px}.assessmentHub{margin:20px 0 24px;display:grid;gap:12px;scroll-margin-top:18px}.assessmentIntroCard,.assessmentScaleCard,.assessmentPanel,.assessmentResult{border:1px solid rgba(224,232,245,.9);background:linear-gradient(180deg,#fffffff5,#f8fbfff0),#fff;box-shadow:0 16px 38px #23335212}.assessmentIntroCard{padding:14px;border-radius:18px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start}.assessmentIntroCard>span{width:42px;height:42px;border-radius:14px;color:#4d6df6;background:#eef3ff;display:grid;place-items:center}.assessmentIntroCard strong,.assessmentIntroCard p{margin:0}.assessmentIntroCard strong{color:#17233d;font-size:15px;font-weight:900}.assessmentIntroCard p{margin-top:5px;color:#708096;font-size:12px;line-height:1.55}.assessmentScaleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.assessmentScaleCard{position:relative;min-height:116px;padding:15px;border-radius:20px;color:#17233d;text-align:left;display:grid;align-content:start;gap:7px;overflow:hidden}.assessmentScaleCard:before{content:"";position:absolute;right:-26px;top:-26px;width:88px;height:88px;border-radius:999px;opacity:.18}.assessmentScaleCard.blue:before{background:#4d6df6}.assessmentScaleCard.green:before{background:#18a76f}.assessmentScaleCard span,.assessmentScaleCard strong,.assessmentScaleCard small,.assessmentScaleCard svg{position:relative;z-index:1}.assessmentScaleCard span{color:#6c7a91;font-size:12px;font-weight:850}.assessmentScaleCard strong{color:#17233d;font-size:18px;line-height:1.2;font-weight:950}.assessmentScaleCard small{color:#8b96a8;font-size:12px;font-weight:800}.assessmentScaleCard svg{position:absolute;right:14px;bottom:14px;color:#93a0b4}.assessmentScaleCard.active{border-color:#4d6df657;box-shadow:0 18px 42px #4d6df621}.assessmentPanel{padding:15px;border-radius:22px;display:grid;gap:13px}.assessmentPanel header{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:12px;align-items:start}.assessmentPanel header small,.assessmentPanel header h3,.assessmentPanel header p{margin:0}.assessmentPanel header small{color:#4d6df6;font-size:12px;font-weight:900}.assessmentPanel header h3{margin-top:3px;color:#17233d;font-size:19px;line-height:1.2;font-weight:950}.assessmentPanel header p{margin-top:5px;color:#748298;font-size:12px;line-height:1.5}.assessmentPanel header button{width:34px;height:34px;border:1px solid #dde6f2;border-radius:12px;color:#516178;background:#fff;display:grid;place-items:center}.assessmentProgress{height:7px;border-radius:999px;background:#edf2f9;overflow:hidden}.assessmentProgress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5d7cf7,#20b486);transition:width .2s ease}.assessmentQuestions{display:grid;gap:12px}.assessmentQuestion{min-width:0;margin:0;padding:12px;border:1px solid #e4ebf5;border-radius:16px;background:#f8fbffc2}.assessmentQuestion legend{width:100%;padding:0;color:#243653;font-size:14px;line-height:1.45;font-weight:850;display:flex;gap:8px;align-items:flex-start}.assessmentQuestion legend span{width:22px;height:22px;flex:0 0 22px;border-radius:8px;color:#fff;background:#5d7cf7;display:grid;place-items:center;font-size:12px;line-height:1}.assessmentOptions{margin-top:11px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.assessmentOptions label{min-width:0;min-height:38px;padding:0 10px;border:1px solid #dfe8f4;border-radius:12px;color:#5f6d82;background:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;font-weight:850}.assessmentOptions label.checked{border-color:#28b486;color:#0f7c5a;background:#eefaf5;box-shadow:0 8px 18px #27b4871c}.assessmentOptions input{position:absolute;opacity:0;pointer-events:none}.assessmentSubmit{min-height:46px;border:0;border-radius:15px;color:#fff;background:linear-gradient(135deg,#5d7cf7,#4e63f0);box-shadow:0 16px 30px #4d6df633;font-weight:900}.assessmentSubmit:disabled{color:#8b98ac;background:#eef3fa;box-shadow:none}.assessmentResult{padding:14px;border-radius:18px;display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;align-items:start}.assessmentScoreRing{width:78px;height:78px;border:8px solid #e6eefb;border-radius:999px;color:#243653;background:#fff;display:grid;place-items:center;align-content:center}.assessmentScoreRing strong{font-size:24px;line-height:1;font-weight:950}.assessmentScoreRing span{color:#8794a8;font-size:12px;font-weight:850}.assessmentResult small,.assessmentResult h3,.assessmentResult p,.assessmentResult em{margin:0}.assessmentResult small{color:#6d7b91;font-size:12px;font-weight:850}.assessmentResult h3{margin-top:3px;color:#17233d;font-size:17px;line-height:1.25;font-weight:950}.assessmentResult p{margin-top:7px;color:#65748a;font-size:12px;line-height:1.58}.assessmentResult em{display:block;margin-top:9px;color:#8c98aa;font-size:11px;line-height:1.45;font-style:normal;font-weight:750}.assessmentSafetyNote{padding:10px;border-radius:12px;color:#8a4b16!important;background:#fff7ed}.assessmentPage{display:grid;align-content:start;gap:14px}.assessmentSelectPage .assessmentIntroCard{margin-top:2px}.assessmentScaleList{grid-template-columns:1fr}.assessmentScaleList .assessmentScaleCard{min-height:136px}.assessmentScaleCard p{position:relative;z-index:1;margin:3px 24px 0 0;color:#708096;font-size:12px;line-height:1.45;font-weight:750}.assessmentTestPage .assessmentPanel header{grid-template-columns:1fr}.assessmentReport{grid-template-columns:92px minmax(0,1fr);padding:18px;border-radius:22px}.assessmentReport .assessmentScoreRing{width:92px;height:92px}.assessmentReport .assessmentScoreRing strong{font-size:30px}.assessmentReportTips{padding:16px;border:1px solid rgba(224,232,245,.9);border-radius:20px;background:linear-gradient(180deg,#fffffff5,#f8fbfff0),#fff;box-shadow:0 16px 38px #23335212;display:grid;gap:12px}.assessmentReportTips h3,.assessmentReportTips p{margin:0}.assessmentReportTips h3{color:#17233d;font-size:17px;line-height:1.25}.assessmentReportTips p{color:#65748a;font-size:13px;line-height:1.6}.assessmentReportTips>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.assessmentReportTips button{min-height:44px;border-radius:14px}.quickAction{min-width:0;border:0;background:transparent;display:grid;justify-items:center;gap:8px;color:#17233d;text-align:center}.quickIcon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;color:#fff}.quickIcon.mint{background:linear-gradient(135deg,#48d0b5,#36b99d)}.quickIcon.blue{background:linear-gradient(135deg,#7aa4ff,#4f7cf0)}.quickIcon.purple{background:linear-gradient(135deg,#a680ee,#7558da)}.quickIcon.orange{background:linear-gradient(135deg,#ffbe68,#ff9c35)}.quickAction strong{font-size:15px}.quickAction small{color:#8490a3;font-size:12px;line-height:1.25}.visitorSectionHeader{margin:30px 4px 16px;display:flex;justify-content:space-between;align-items:center}.visitorSectionHeader h3{margin:0;color:#10213d;font-size:23px;letter-spacing:0}.visitorSectionHeader button{border:0;background:transparent;color:#8b95a6;display:inline-flex;align-items:center;gap:2px}.featuredCounselors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.featuredCounselor{overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 14px 36px #2132521a;display:grid;grid-template-rows:148px minmax(218px,1fr)}.portraitWrap{position:relative;height:148px;background:#eef2f7}.portraitWrap img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.portraitWrap span{position:absolute;top:9px;right:8px;padding:4px 8px;border-radius:999px;color:#39a981;background:#d8f8e9;font-size:12px;font-weight:800}.featuredBody{padding:12px 10px 10px;min-height:218px;display:grid;grid-template-rows:auto 38px 52px auto;gap:6px;align-content:start}.featuredBody h4{margin:0;font-size:17px;letter-spacing:0}.featuredBody p{margin:0;color:#7a8597;font-size:12px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.softTags{margin-top:0;min-height:52px;display:flex;flex-wrap:wrap;gap:5px 6px;align-content:flex-start;overflow:hidden}.softTags span{min-height:21px;padding:2px 7px;border-radius:999px;color:#4d5c77;background:#edf2fb;font-size:12px;line-height:17px}.featuredBody button{width:100%;min-height:34px;margin-top:0;align-self:end;border:0;border-radius:999px;color:#fff;background:#182746}.knowledgeList{display:grid;gap:14px}.knowledgeItem{display:grid;grid-template-columns:116px minmax(0,1fr) 28px;gap:14px;align-items:center}.knowledgeItem img{width:116px;height:74px;border-radius:10px;object-fit:cover}.knowledgeItem h4{margin:0;font-size:16px;letter-spacing:0}.knowledgeItem p{margin:8px 0 7px;color:#7b8799;font-size:13px}.knowledgeItem span{color:#9aa3b2;font-size:12px}.knowledgeItem button{border:0;background:transparent;color:#9aa3b2}.bottomNav{display:none}@media(max-width:980px){.appShell{grid-template-columns:1fr}.sidebar{display:none}.mainPanel{padding:18px 16px 92px}.roleSwitch.compact,.accountPanel.compact,.topbar{display:grid}.topActions{justify-content:stretch}.topActions .ghostButton{width:100%}.accountPanel.compact .ghostButton{width:auto}.detailLayout,.bookingLayout{grid-template-columns:1fr}.previewPanel,.bookingSummary{position:static}.bottomNav{position:fixed;left:0;right:0;bottom:0;z-index:20;min-height:70px;padding:8px max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right));border-top:1px solid #dbe2dd;background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}.visitorShell .bottomNav{left:18px;right:18px;bottom:14px;min-height:66px;padding:7px 10px;border:1px solid rgba(220,226,238,.9);border-radius:18px;box-shadow:0 12px 42px #1f2d4824}.bottomNav button{min-width:0;min-height:52px;border-radius:8px;display:grid;place-items:center;align-content:center;gap:3px;font-size:12px}.bottomNav button.active{color:#0f3d3e;background:#e3f3ed}.visitorShell .bottomNav button{min-height:50px;color:#8b95a6;border-radius:12px}.visitorShell .bottomNav button.active{color:#182746;background:transparent}.visitorShell .bottomNav button:nth-child(3){width:auto;min-height:50px;margin-top:0;justify-self:center;border-radius:12px;color:#fff;background:#243653;box-shadow:0 8px 18px #24365338}}@media(max-width:760px){.loginShell{grid-template-columns:1fr;padding:22px 16px;align-items:start}.loginIntro h1{font-size:40px}.loginIntro p:not(.eyebrow){font-size:16px}}@media(max-width:700px){.topbar h1{font-size:28px}.metaGrid,.metricRow{grid-template-columns:repeat(2,minmax(0,1fr))}.cardFooter,.appointmentItem,.tableRow{grid-template-columns:1fr}.cardFooter{display:grid}.appointmentSide{min-width:0;justify-items:stretch}.appointmentSide .badge{justify-self:start}.inlineActions{justify-content:stretch}.inlineActions button{flex:1}.accountPanel.compact{grid-template-columns:1fr}.featuredCounselors{gap:10px}.quickActions{gap:4px}}@media(max-width:460px){.mainPanel{padding-left:12px;padding-right:12px}.roleSwitch.compact,.portalTabs,.metaGrid,.metricRow,.slotGrid{grid-template-columns:1fr}.visitorHome{padding-left:18px;padding-right:18px}.visitorGreeting h2{font-size:28px}.visitorHero{min-height:158px}.visitorHero>div{padding:26px 20px}.visitorHero h3{font-size:25px}.quickActions{padding-left:4px;padding-right:4px}.quickIcon{width:48px;height:48px}.quickAction strong{font-size:14px}.quickAction small{font-size:11px}.featuredBody{padding:10px 8px 9px;min-height:208px;grid-template-rows:auto 38px 50px auto;gap:5px}.featuredBody h4{font-size:15px}.softTags span{min-height:21px;padding:2px 6px;font-size:11px;line-height:17px}.knowledgeItem{grid-template-columns:104px minmax(0,1fr) 24px;gap:12px}.knowledgeItem img{width:104px}}.visitorShell{grid-template-columns:1fr;background:radial-gradient(circle at 18% 4%,rgba(218,234,255,.95),transparent 34%),radial-gradient(circle at 86% 14%,rgba(255,239,244,.9),transparent 32%),#f8fbff}.visitorShell .mainPanel{min-height:100vh;padding:0;background:transparent}.visitorPage{width:min(100%,430px);min-height:100vh;margin:0 auto;padding:24px 16px 132px;color:#17233d}.bookingPage{padding-bottom:112px;gap:14px}.visitorPageTitle{min-height:42px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:14px}.visitorPageTitle h2{margin:0;font-size:24px;letter-spacing:0}.visitorPageTitle button,.visitorPageTitle div{border:0;border-radius:999px;background:#ffffffb8;color:#243653;display:inline-flex;align-items:center;gap:12px;font-weight:800}.visitorPageTitle button{min-height:36px;padding:0 14px;border:1px solid rgba(222,230,244,.88);box-shadow:0 10px 24px #2333520f}.appSearch{height:48px;margin-bottom:18px;padding:0 16px;border:1px solid rgba(224,232,245,.88);border-radius:18px;color:#8d98aa;background:linear-gradient(180deg,#fffffff5,#f7fafff0),#fff;box-shadow:0 14px 32px #23335213;display:flex;align-items:center;gap:10px}.appSearch input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#17233d}.consultCategoryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 26px;padding:12px;border:1px solid rgba(224,232,245,.82);border-radius:22px;background:linear-gradient(180deg,#ffffffe6,#f8fbffdb),#fff;box-shadow:0 16px 38px #23335212}.consultCategoryGrid button{min-width:0;min-height:82px;padding:9px 4px;border:1px solid transparent;border-radius:18px;background:#ffffff9e;display:grid;justify-items:center;gap:8px;color:#566174;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.consultCategoryGrid button.active{border-color:#2436537a;background:linear-gradient(180deg,#fff,#eef4ff);box-shadow:0 14px 30px #24365329}.consultCategoryGrid button:active{transform:translateY(1px)}.consultCategoryGrid button.active strong{color:#17233d;font-weight:900}.consultCategoryGrid button.active .categoryIcon{outline:3px solid rgba(36,54,83,.12);box-shadow:0 14px 26px #24365333}.categoryIcon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:#fff;box-shadow:0 12px 24px #2333521f}.categoryIcon.blue,.systemAvatar.blue{background:linear-gradient(135deg,#7fa4ff,#4d78ea)}.categoryIcon.sky{background:linear-gradient(135deg,#73d2ff,#42a9ef)}.categoryIcon.orange,.systemAvatar.orange{background:linear-gradient(135deg,#ffbc76,#ff9148)}.categoryIcon.mint,.systemAvatar.mint{background:linear-gradient(135deg,#72d8cf,#48bfb3)}.categoryIcon.amber{background:linear-gradient(135deg,#ffc76a,#f3a21f)}.categoryIcon.purple{background:linear-gradient(135deg,#a98df5,#775bdc)}.categoryIcon.indigo,.systemAvatar.indigo{background:linear-gradient(135deg,#7ea1fa,#5974de)}.categoryIcon.gray{background:linear-gradient(135deg,#c9d1df,#9ca8ba)}.consultList{display:grid;gap:16px}.consultListCard,.mobileCard,.bookingBlock,.messageRow,.profilePanelCard,.profileStats{border:1px solid rgba(230,235,244,.86);border-radius:14px;background:#fffffff0;box-shadow:0 14px 34px #23335212}.consultListCard{position:relative;overflow:hidden;padding:14px;border-radius:22px;border-color:#dde6f4eb;background:linear-gradient(180deg,#fffffffa,#f8fbfff2),#fff;box-shadow:0 18px 44px #23335216;display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:center}.consultListCard:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 0%,rgba(92,141,245,.11),transparent 36%)}.consultListCard>img{position:relative;z-index:1;width:86px;height:98px;border:3px solid rgba(255,255,255,.94);border-radius:22px;object-fit:cover;object-position:center 30%;box-shadow:0 14px 30px #23335224}.consultListCard h4,.bookingBlock h3,.profilePanelCard h3,.counselorDetailCard h3{margin:0;letter-spacing:0}.consultListCard p,.consultListCard small{color:#7d8799;font-size:12px}.consultListCard>div{position:relative;z-index:1;min-width:0}.consultListCard h4{color:#16213a;font-size:19px}.consultListCard p{margin:4px 0 0;line-height:1.45}.consultListCard small{width:max-content;max-width:100%;min-height:26px;margin-top:9px;padding:0 9px;border-radius:999px;color:#9a4c09;background:#fff3df;display:inline-flex;align-items:center;font-weight:800}.consultListCard>button{position:relative;z-index:1;grid-column:2;min-height:40px;margin-top:2px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,#243653,#17233d);box-shadow:0 14px 28px #24365338;font-weight:900}.helpPage{display:grid;align-content:start;gap:14px}.helpHero{min-height:180px;padding:24px;border-radius:22px;color:#17233d;background:linear-gradient(120deg,#e1effff5,#ffffffad),url(/assets/images/help-hero.jpg) center right / cover;box-shadow:0 18px 42px #23335217;display:grid;align-content:end}.helpHero span{color:#5d6c84;font-size:13px;font-weight:800}.helpHero h3{max-width:300px;margin:8px 0 10px;font-size:24px;line-height:1.28;letter-spacing:0}.helpHero p{max-width:300px;margin:0;color:#6d7890;line-height:1.6;font-size:13px}.helpSteps{padding:16px;border-radius:18px;background:#fffffff5;box-shadow:0 14px 34px #23335212;display:grid;gap:12px}.helpSteps article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:start}.helpSteps article>strong{width:34px;height:34px;border-radius:12px;color:#fff;background:#243653;display:grid;place-items:center}.helpSteps h4,.helpCardGrid h4,.helpActionCard strong{margin:0;letter-spacing:0}.helpSteps p,.helpCardGrid p,.helpActionCard p{margin:6px 0 0;color:#728096;line-height:1.65;font-size:13px}.helpCardGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.helpCardGrid article{min-height:168px;padding:16px;border:1px solid rgba(230,235,244,.86);border-radius:18px;background:#fffffff5;box-shadow:0 14px 34px #2333520f}.helpCardGrid article>span{width:42px;height:42px;margin-bottom:12px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#7fa4ff,#5a77e8);display:grid;place-items:center}.helpActionCard{padding:18px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#243653,#50637f);box-shadow:0 16px 38px #2333522e;display:grid;gap:14px}.helpActionCard p{color:#ffffffc7}.helpActionCard>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.helpActionCard button{min-height:40px;border:0;border-radius:999px;color:#243653;background:#fff;font-weight:800}.helpActionCard button:last-child{color:#fff;background:#ffffff29}.bookingTabs,.messageTabs{min-height:42px;padding:5px;border-radius:14px;background:#f3f6fb;display:grid;gap:6px}.bookingTabs{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.messageTabs{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.bookingTabs button,.messageTabs button{border:0;border-radius:10px;color:#6f7b90;background:transparent;font-size:13px}.bookingTabs button.active,.messageTabs button.active{color:#fff;background:#5a8df4}.bookingBlock{position:relative;overflow:hidden;padding:18px;margin-bottom:16px;border-radius:22px;border-color:#dde6f4e6;background:linear-gradient(180deg,#fffffffa,#f8fbfff2),#fff;box-shadow:0 18px 44px #23335216}.bookingBlock:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 0%,rgba(92,141,245,.11),transparent 34%)}.bookingBlock h3{position:relative;z-index:1;margin-bottom:14px;color:#16213a;font-size:16px}.bookingCounselor{position:relative;z-index:1;min-height:92px;padding:14px;border:1px solid rgba(224,232,245,.92);border-radius:20px;background:linear-gradient(135deg,#eff6fff2,#fffffff0),#fff;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;box-shadow:inset 0 1px #fffc,0 12px 28px #2333520f}.bookingCounselor img{width:72px;height:72px;border:3px solid rgba(255,255,255,.92);border-radius:22px;object-fit:cover;object-position:center 30%;box-shadow:0 14px 28px #23335221}.bookingCounselor strong,.bookingCounselor span,.bookingCounselor small{min-width:0;max-width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookingCounselor span{margin-top:5px;color:#637188;font-size:13px}.bookingCounselor small{width:max-content;max-width:100%;min-height:26px;margin-top:8px;padding:0 9px;border-radius:999px;color:#9a4c09;background:#fff3df;display:inline-flex;align-items:center;font-weight:800}.bookingCounselor button{min-height:38px;padding:0 15px;border:0;border-radius:13px;color:#fff;background:#243653;box-shadow:0 12px 24px #24365333;font-weight:800}.bookingCounselorEmpty{position:relative;z-index:1;min-height:108px;padding:18px;border:1px dashed rgba(168,183,207,.9);border-radius:20px;background:radial-gradient(circle at 18% 20%,rgba(126,161,250,.12),transparent 34%),linear-gradient(135deg,#f7fafff5,#fffffff0);display:grid;place-items:center;box-shadow:inset 0 1px #ffffffdb,0 12px 28px #2333520d}.bookingCounselorEmpty button{min-height:44px;padding:0 24px;border:0;border-radius:999px;color:#fff;background:linear-gradient(135deg,#243653,#365176);box-shadow:0 14px 28px #24365338;font-weight:900}.bookingPickerOverlay{position:fixed;inset:0;z-index:90;background:linear-gradient(180deg,#141d2e1f,#141d2e7a),#141d2e2e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;align-items:end}.confirmOverlay{position:fixed;inset:0;z-index:100;padding:18px;background:#131c2e61;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center}.cancelDialog{width:min(396px,100%);padding:22px;border:1px solid rgba(230,235,244,.92);border-radius:24px;color:#17233d;background:linear-gradient(180deg,#fffffffa,#f8fbfff5),#fff;box-shadow:0 24px 70px #131c2e38;display:grid;gap:14px}.cancelDialogIcon{width:46px;height:46px;border-radius:16px;color:#b42318;background:#fff1f2;display:grid;place-items:center}.cancelDialog h3,.cancelDialog p,.cancelDialog dl{margin:0}.cancelDialog h3{font-size:22px;letter-spacing:0}.cancelDialog p{color:#637083;line-height:1.7;font-size:14px}.cancelDialog dl{padding:14px;border-radius:16px;background:#f5f7fb;display:grid;gap:9px}.cancelDialog dl div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px}.cancelDialog dt{color:#8b95a6}.cancelDialog dd{margin:0;color:#243653;font-weight:800}.cancelDialog label{display:grid;gap:8px;color:#596579;font-weight:800;font-size:13px}.cancelDialog textarea{width:100%;min-height:88px;padding:11px 12px;border:1px solid #dce3ee;border-radius:16px;color:#17233d;background:#fff;outline:0;resize:none}.cancelDialogActions{display:grid;grid-template-columns:1fr 1.25fr;gap:10px}.cancelDialogActions button{min-height:44px}.adminDeleteDialog .cancelDialogIcon{color:#c2410c;background:#fff0e8}.adminDeleteError{margin:0;padding:10px 12px;border:1px solid #fecaca;border-radius:14px;color:#b42318;background:#fff5f5;line-height:1.5;font-size:13px;font-weight:700}.bookingPickerSheet{width:min(100%,430px);max-height:min(80vh,660px);margin:0 auto;padding:10px 16px max(20px,env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.74);border-bottom:0;border-radius:28px 28px 0 0;background:linear-gradient(180deg,#f4f8fffa,#fff 34%),#fff;box-shadow:0 -22px 54px #141d2e2e;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.bookingPickerSheet::-webkit-scrollbar{display:none}.bookingPickerHandle{width:44px;height:5px;margin:0 auto 16px;border-radius:999px;background:#cdd7e6}.bookingPickerSheet header{margin-bottom:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.bookingPickerSheet header strong,.bookingPickerSheet header span{display:block}.bookingPickerSheet header strong{font-size:22px}.bookingPickerSheet header span{margin-top:6px;color:#7d8799;font-size:13px;line-height:1.5}.bookingPickerSheet header button{min-height:34px;padding:0 14px;border:0;border-radius:999px;color:#243653;background:#ffffffe0;box-shadow:0 8px 18px #23335212;flex:0 0 auto}.bookingCounselorPicker{display:grid;gap:12px}.bookingCounselorPicker button{width:100%;min-width:0;padding:13px;border:1px solid rgba(226,233,243,.92);border-radius:18px;color:#17233d;background:#ffffffe6;box-shadow:0 12px 28px #2333520e;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left}.bookingCounselorPicker button.active{border-color:#243653;background:linear-gradient(135deg,#eef4ff,#fff);box-shadow:0 14px 32px #2436531f}.bookingCounselorPicker img{width:64px;height:64px;border-radius:18px;object-fit:cover;object-position:center 35%;box-shadow:0 8px 18px #23335217}.bookingCounselorPicker strong,.bookingCounselorPicker span,.bookingCounselorPicker small{min-width:0;max-width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookingCounselorPicker span{margin-top:4px;color:#7d8799;font-size:12px}.bookingCounselorPicker small{margin-top:5px;color:#f28a32;font-size:12px}.bookingCounselorPicker em{padding:6px 9px;border-radius:999px;color:#fff;background:#243653;font-style:normal;font-size:12px}.calendarCard{position:relative;z-index:1;padding:18px;border:1px solid rgba(224,232,245,.86);border-radius:24px;background:radial-gradient(circle at 88% 10%,rgba(126,161,250,.12),transparent 34%),linear-gradient(180deg,#fffffffa,#f7faffe6);box-shadow:0 16px 40px #23335214;display:grid;gap:10px}.calendarHeader,.calendarWeek,.calendarDays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;text-align:center}.calendarHeader{grid-template-columns:1fr auto 1fr}.calendarHeader button{width:36px;height:36px;border:0;border-radius:12px;color:#243653;background:#fff;box-shadow:0 8px 18px #23335212;display:grid;place-items:center}.calendarHeader button:first-child{justify-self:start}.calendarHeader button:last-child{justify-self:end}.calendarHeader .leftChevron{transform:rotate(180deg)}.calendarWeek{margin:6px 0 2px;color:#8f99aa;font-size:12px;font-weight:800}.calendarDays{gap:8px}.calendarDays button,.timeGrid button{border:1px solid transparent;border-radius:13px;color:#536176;background:#f5f8fd}.calendarDays button{position:relative;min-height:48px;border-radius:15px;color:#4d5b72;background:#f5f8fdeb;display:grid;place-items:center;font-weight:800;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.calendarDays button:hover:not(:disabled){transform:translateY(-1px);border-color:#dbe5f3;background:#fff;box-shadow:0 10px 22px #23335214}.calendarDays button:disabled{cursor:not-allowed;color:#a8b0bd;border-color:#cfd8e5b3;background:linear-gradient(180deg,#f5f7fa,#eef2f7);opacity:1}.calendarDays button.expiredDay{color:#a8b0bd;border-color:#cfd8e5b3;background:linear-gradient(180deg,#f5f7fa,#eef2f7);box-shadow:none}.calendarDays button:disabled:before{content:"";position:absolute;left:50%;top:50%;width:16px;height:1px;border-radius:999px;background:#d3d9e3;transform:translate(-50%,-50%) rotate(-35deg)}.calendarBlank{min-height:48px}.calendarDays button.hasSlot:after{content:"";position:absolute;left:50%;bottom:4px;width:4px;height:4px;border-radius:50%;background:#42c5a8;transform:translate(-50%)}.calendarDays button.hasSlot{border-color:#42c5a83d;background:linear-gradient(180deg,#fff,#eefbf7)}.calendarDays button.active.hasSlot:after{background:#fff}.calendarDays button.active,.timeGrid button.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#243653,#365176);box-shadow:0 12px 24px #24365338}.calendarDays button.active.expiredDay{color:#9da7b5;border-color:#cfd8e5cc;background:#edf1f6;box-shadow:inset 0 0 0 1px #cad3e08c}.timeGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.timeGrid button{min-height:56px;padding:8px 4px;background:linear-gradient(180deg,#fff,#f3f7fe);box-shadow:0 8px 20px #2333520e;display:grid;place-items:center;gap:2px;font-weight:800}.timeGrid strong,.timeGrid small{display:block;line-height:1}.timeGrid small{color:#9aa3b2;font-size:11px}.timeGrid button.active small{color:#ffffffc7}.bookingHint{margin:10px 0 0;color:#9a6a2a;font-size:12px}.bookingInfo{margin:0;display:grid;gap:9px}.bookingInfo div{min-height:38px;padding:0 12px;border-radius:13px;background:#f6f8fc;display:flex;align-items:center;justify-content:space-between;gap:16px}.bookingInfo dt{color:#8b95a6}.bookingInfo dd{margin:0;color:#243653;font-weight:800}.bookingFooter{padding:12px 0 0;display:grid;grid-template-columns:1fr 138px;gap:12px;align-items:center}.bookingCheckout{padding:16px;border:1px solid rgba(221,230,244,.92);border-radius:22px;background:linear-gradient(180deg,#fffffffa,#f8fbfff5),#fff;box-shadow:0 18px 44px #2333521a}.bookingCheckout div{min-width:0;display:grid;gap:2px}.bookingCheckout span,.bookingCheckout small{color:#8b95a6;font-size:12px}.bookingCheckout small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookingFooter strong{color:#16213a;font-size:22px}.bookingFooter button{min-height:48px;border:0;border-radius:15px;color:#fff;background:linear-gradient(135deg,#243653,#17233d);box-shadow:0 14px 28px #24365338;font-weight:900}.bookingFooter button:disabled{background:#c8d0dc;box-shadow:none;cursor:not-allowed}.messageComposer{padding:14px;margin-bottom:16px;border:1px solid rgba(230,235,244,.86);border-radius:18px;background:#fffffff5;box-shadow:0 14px 34px #23335212;display:grid;gap:12px}.messageTargetBar{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.messageTargetBar button{min-height:36px;padding:0 12px 0 8px;border:0;border-radius:999px;color:#6f7b90;background:#f3f6fb;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:800;font-size:12px}.messageTargetBar button.active{color:#fff;background:#243653}.messageTargetBar img,.messageTargetBar span{width:24px;height:24px;border-radius:50%;flex:0 0 auto}.messageTargetBar img{object-fit:cover;object-position:center 35%}.messageTargetBar span{color:#fff;background:#6d8ef6;display:grid;place-items:center}.messageSendBox{display:grid;gap:10px}.messageSendBox textarea{width:100%;min-height:86px;max-height:150px;padding:12px;border:0;border-radius:15px;color:#17233d;background:#f6f8fc;outline:0;resize:vertical}.messageSendBox div{display:flex;justify-content:space-between;align-items:center;gap:12px}.messageSendBox small{color:#9aa3b2;font-size:12px}.messageSendBox button{min-width:92px;min-height:38px;border:0;border-radius:999px;color:#fff;background:#182746;font-weight:800}.messageError{margin:0;color:#b42318;font-size:12px}.messagePage{display:grid;align-content:start;gap:14px}.messageAppHeader{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px}.messageAppHeader h2,.messageAppHeader p{margin:0}.messageAppHeader h2{font-size:28px;line-height:1.1;letter-spacing:0}.messageAppHeader p{margin-top:6px;color:#7a8496;font-size:13px}.messageAppHeader>div:last-child{display:flex;gap:8px}.messageAppHeader button{width:38px;height:38px;border:0;border-radius:13px;color:#243653;background:#ffffffe0;box-shadow:0 10px 24px #23335212;display:grid;place-items:center}.conversationSearch{min-height:46px;padding:0 12px;border:1px solid rgba(226,233,244,.92);border-radius:16px;color:#7a8496;background:#fffffff0;box-shadow:0 12px 28px #2333520f;display:grid;grid-template-columns:20px minmax(0,1fr) 28px;gap:8px;align-items:center}.conversationSearch input{min-width:0;border:0;color:#17233d;background:transparent;outline:0}.conversationSearch button{width:28px;height:28px;border:0;border-radius:50%;color:#7a8496;background:#eef2f7;display:grid;place-items:center}.messageRuleNotice{min-height:42px;padding:0 14px;border-radius:14px;color:#596579;background:#eef4ffe6;display:flex;align-items:center;font-size:13px}.conversationList{border-radius:18px;overflow:hidden;background:#fffffff5;box-shadow:0 14px 34px #23335212}.conversationRow{width:100%;min-height:76px;padding:12px 14px;border:0;border-bottom:1px solid #eef2f7;color:#17233d;background:transparent;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left}.conversationRowWrap{position:relative;overflow:hidden;border-bottom:1px solid #eef2f7;background:#fff}.conversationRowWrap:last-child{border-bottom:0}.conversationRowWrap .conversationRow{position:relative;z-index:2;border-bottom:0;background:#fff;touch-action:pan-y;-webkit-user-select:none;user-select:none;transform:translate(var(--swipe-offset, 0px));transition:transform .22s ease}.conversationRowWrap.swipeDeleteRow .conversationRow{will-change:transform}.conversationDelete{position:absolute;top:12px;right:12px;bottom:12px;z-index:1;width:68px;border:0;border-radius:16px;color:#fff;background:linear-gradient(135deg,#ff6b5f,#ef3f4a);box-shadow:0 12px 24px #ef3f4a38;font-size:13px;font-weight:900}.conversationRow:last-child{border-bottom:0}.conversationRow:active{background:#f6f8fc}.conversationRow>img{width:52px;height:52px;border-radius:15px;object-fit:cover;object-position:center 35%}.conversationRow>.chatAvatar{width:52px;height:52px;border-radius:15px}.conversationRow strong,.conversationRow p,.conversationRow time{display:block}.conversationRow p{min-width:0;margin:6px 0 0;color:#7a8496;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.conversationRow time{color:#a0a8b8;font-size:12px}.conversationRow small{min-width:18px;height:18px;margin:8px 0 0 auto;border-radius:999px;color:#fff;background:#ff3b55;display:grid;place-items:center;font-size:11px}.counselorMessagePage{gap:16px}.counselorMessagePage .messageRuleNotice{border:1px solid rgba(226,233,244,.92);background:linear-gradient(135deg,#eef4ffc7,#ffffffe6),#fff}.counselorMessagePage .conversationList{border:1px solid rgba(226,233,244,.92);border-radius:22px;background:#fffffffa;box-shadow:0 18px 44px #23335214}.counselorMessagePage .conversationRow{min-height:82px;padding:14px;grid-template-columns:54px minmax(0,1fr) auto}.counselorMessagePage .conversationRow>.chatAvatar{width:54px;height:54px;border-radius:17px;background:linear-gradient(135deg,#597df0,#48b5c7)}.counselorMessagePage .conversationRow strong{font-size:16px}.counselorMessagePage .conversationRow p{max-width:230px}.chatPage{height:100dvh;min-height:100dvh;padding-top:0;padding-bottom:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:linear-gradient(180deg,#eef5ff,#f8fbff 28% 100%);overflow:hidden}.aiChatPage{background:radial-gradient(circle at 12% 2%,rgba(114,216,207,.22),transparent 34%),radial-gradient(circle at 88% 8%,rgba(126,161,250,.2),transparent 30%),linear-gradient(180deg,#f0f7ff,#f7fbff 38%,#fbfcff)}.aiChatPage .chatHeader{min-height:82px;margin-bottom:2px;border-bottom:1px solid rgba(224,233,245,.72);background:linear-gradient(135deg,#fffffff0,#f2f8ffd6),#ffffffe6;box-shadow:0 14px 34px #1f2d4814}.aiChatPage .chatHeader .systemAvatar{border-radius:16px;box-shadow:0 12px 24px #48bfb347}.chatHeader{position:sticky;top:0;z-index:12;min-height:72px;margin:0 -16px 8px;padding:16px 16px 10px;border-bottom:1px solid rgba(229,233,240,.9);background:#f8fbfff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-template-columns:38px 42px minmax(0,1fr) auto;gap:10px;align-items:center}.chatHeaderDanger{min-width:48px;padding:0 10px;color:#c2412f!important;background:#fff2ee!important;font-size:13px;font-weight:900}.chatHeader button{width:38px;height:38px;border:0;border-radius:12px;color:#243653;background:#fffc;display:grid;place-items:center}.chatHeader img,.chatHeader .systemAvatar,.chatHeader .chatAvatar{width:42px;height:42px;border-radius:14px}.chatHeader img{object-fit:cover;object-position:center 35%}.chatHeader strong,.chatHeader small{min-width:0;display:block}.chatHeader small{margin-top:4px;color:#7a8496;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.chatThread{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 0 96px;display:grid;align-content:start;gap:12px;scrollbar-width:none}.chatThread::-webkit-scrollbar{display:none}.aiChatPage .chatThread{padding-top:18px;gap:16px}.chatEmpty{min-height:220px;color:#8a95a8;display:grid;place-items:center;align-content:center;gap:8px;text-align:center}.chatEmpty span{color:#536176;font-weight:800}.chatEmpty p{margin:0;font-size:13px}.aiChatWelcome{min-height:260px;padding:26px 18px;border:1px solid rgba(224,233,245,.86);border-radius:26px;background:linear-gradient(180deg,#fffffff5,#f6faffe6),#fff;box-shadow:0 20px 52px #1f2d481a;display:grid;justify-items:center;align-content:center;gap:12px;text-align:center}.aiChatWelcome .systemAvatar{width:58px;height:58px;border-radius:20px;box-shadow:0 16px 32px #48bfb33d}.aiChatWelcome strong{color:#17233d;font-size:19px;letter-spacing:0}.aiChatWelcome p{max-width:280px;margin:0;color:#748196;font-size:13px;line-height:1.65}.aiChatWelcome div{width:100%;margin-top:4px;display:grid;gap:8px}.aiChatWelcome button{min-height:38px;padding:0 12px;border:1px solid rgba(218,226,240,.95);border-radius:999px;color:#243653;background:#fff;font-size:13px;font-weight:800}.chatBubbleRow{display:grid;grid-template-columns:34px minmax(0,max-content);gap:8px;align-items:end;justify-content:start}.chatBubbleRow.mine{grid-template-columns:minmax(0,max-content);justify-content:end}.chatBubbleRow.system{grid-template-columns:minmax(0,1fr);justify-content:center}.systemNoticeCard{width:min(100%,350px);margin:0 auto;padding:16px;border:1px solid rgba(218,226,240,.92);border-radius:20px;color:#17233d;background:linear-gradient(180deg,#fffffffa,#f7fafff0),#fff;box-shadow:0 16px 38px #23335217}.systemNoticeTop{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:center}.systemNoticeTop>span{width:42px;height:42px;border-radius:15px;color:#fff;background:linear-gradient(135deg,#5e8cff,#6d5fe4);display:grid;place-items:center;box-shadow:0 10px 20px #5e8cff38}.systemNoticeTop strong,.systemNoticeTop time{display:block}.systemNoticeTop strong{font-size:16px;letter-spacing:0}.systemNoticeTop time{margin-top:4px;color:#9aa4b5;font-size:12px}.systemNoticeCard p{margin:14px 0 0;padding:12px;border-radius:14px;color:#596579;background:#f3f6fb;box-shadow:none;line-height:1.65}.chatBubbleRow>img,.chatBubbleRow>.systemAvatar,.chatBubbleRow>.chatAvatar{width:34px;height:34px;border-radius:11px}.chatBubbleRow>img{object-fit:cover;object-position:center 35%}.chatBubbleRow>div{max-width:min(285px,74vw)}.chatBubbleRow p{margin:0;padding:10px 12px;border-radius:4px 16px 16px;color:#17233d;background:#fff;box-shadow:0 8px 20px #2333520f;line-height:1.55;word-break:break-word}.markdownMessage{margin:0;max-width:min(315px,76vw);padding:12px 14px;border-radius:4px 16px 16px;color:#17233d;background:#fff;box-shadow:0 8px 20px #2333520f;line-height:1.62;word-break:break-word}.aiChatPage .chatBubbleRow:not(.mine){grid-template-columns:38px minmax(0,max-content)}.aiChatPage .chatBubbleRow>.systemAvatar{width:38px;height:38px;border-radius:14px}.aiChatPage .markdownMessage{max-width:min(330px,78vw);padding:14px 15px;border:1px solid rgba(224,233,245,.92);border-radius:6px 20px 20px;background:linear-gradient(180deg,#fff,#f8fbff),#fff;box-shadow:0 14px 34px #1f2d481a}.aiChatPage .chatBubbleRow.mine p{background:linear-gradient(135deg,#243653,#17233d);box-shadow:0 12px 28px #2436532e}.markdownMessage>*{margin:0}.markdownMessage>*+*{margin-top:8px}.markdownMessage h4,.markdownMessage h5{color:#17233d;font-size:15px;line-height:1.45}.markdownMessage ul{padding-left:18px}.markdownMessage li+li{margin-top:4px}.markdownMessage strong{font-weight:900}.markdownMessage code{padding:2px 5px;border-radius:6px;background:#eef3fb;font-size:12px}.markdownMessage.streaming:after{content:"";display:inline-block;width:6px;height:16px;margin-left:3px;border-radius:999px;background:#243653;vertical-align:-3px;animation:cursorBlink 1s steps(2,start) infinite}@keyframes cursorBlink{50%{opacity:0}}.chatActionButton{min-height:32px;margin-top:8px;padding:0 14px;border:0;border-radius:999px;color:#fff;background:#243653;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}.systemNoticeCard .chatActionButton{width:100%;min-height:42px;margin-top:14px;border-radius:14px;gap:6px}.chatBubbleRow.mine p{color:#fff;background:#243653;border-radius:16px 4px 16px 16px}.chatBubbleRow.system p{max-width:100%}.chatBubbleRow time{display:block;margin-top:5px;color:#a0a8b8;font-size:11px}.chatBubbleRow.mine time{text-align:right}.chatBubbleRow.system time{text-align:center}.chatInputBar{position:fixed;left:max(0px,calc((100vw - 430px)/2));right:max(0px,calc((100vw - 430px)/2));bottom:0;z-index:70;min-height:calc(72px + env(safe-area-inset-bottom));padding:10px 14px max(10px,env(safe-area-inset-bottom));border-top:1px solid rgba(229,233,240,.96);background:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:10px;align-items:center}.aiChatPage .chatInputBar{border-top:1px solid rgba(224,233,245,.72);background:#f8fbffeb;box-shadow:0 -16px 42px #1f2d4814}.aiChatPage .chatInputBar input{height:46px;border:1px solid rgba(218,226,240,.9);background:#fff;box-shadow:inset 0 1px #ffffffb3}.aiChatPage .chatInputBar button{background:linear-gradient(135deg,#4fbfb4,#597df0);box-shadow:0 12px 24px #4fbfb43d}.chatInputBar input{width:100%;height:44px;padding:0 14px;border:0;border-radius:999px;color:#17233d;background:#f2f5fa;outline:0}.chatInputBar button{width:44px;height:44px;border:0;border-radius:50%;color:#fff;background:#243653;display:grid;place-items:center}.chatInputBar.readonly{grid-template-columns:1fr;color:#8a95a8;text-align:center;font-size:13px}.chatError{position:fixed;left:max(14px,calc((100vw - 430px)/2 + 14px));right:max(14px,calc((100vw - 430px)/2 + 14px));bottom:calc(74px + env(safe-area-inset-bottom));z-index:72}.visitorShell:has(.chatPage) .bottomNav{display:none}.counselorShell:has(.chatPage) .bottomNav{display:none}.counselorChatPage .chatHeader{background:#f8fbfff5}.counselorChatPage .chatBubbleRow>.chatAvatar{background:linear-gradient(135deg,#597df0,#48b5c7)}.appointmentsPage{display:grid;gap:14px;align-content:start;overflow-anchor:none}.appointmentOverview{min-height:96px;padding:14px;border-radius:18px;background:linear-gradient(135deg,#eef5ff,#fff);box-shadow:0 14px 34px #23335212;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.appointmentOverview div{min-width:0;padding:13px 10px;border-radius:14px;background:#ffffffad;text-align:center}.appointmentOverview span,.appointmentOverview strong{display:block}.appointmentOverview span{color:#7d8799;font-size:12px}.appointmentOverview strong{margin-top:6px;color:#16213a;font-size:17px}.appointmentStatusTabs{min-height:58px;padding:5px;border-radius:16px;background:#f3f6fb;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.appointmentStatusTabs button{min-width:0;min-height:48px;border:0;border-radius:12px;color:#7b8597;background:transparent;display:grid;justify-items:center;align-content:center;gap:2px;font-size:12px}.appointmentStatusTabs button.active{color:#fff;background:#243653}.appointmentStatusTabs small{min-width:18px;height:18px;padding:0 5px;border-radius:999px;color:inherit;background:#ffffff6b;display:grid;place-items:center;font-size:11px;font-weight:800}.nextAppointmentCard{min-height:112px;padding:16px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#243653,#50637f);box-shadow:0 16px 38px #2333522e}.nextAppointmentCard span,.nextAppointmentCard strong,.nextAppointmentCard p{display:block}.nextAppointmentCard span{color:#ffffffbd;font-size:12px}.nextAppointmentCard strong{margin-top:8px;font-size:20px;min-height:28px}.nextAppointmentCard p{margin:7px 0 0;color:#fffc;min-height:22px}.appointmentCards{min-height:430px;display:grid;gap:12px;align-content:start}.appointmentCards>.emptyState{min-height:260px;border:1px solid rgba(230,235,244,.86);border-radius:18px;background:#ffffffc7;box-shadow:0 14px 34px #2333520d;display:grid;place-items:center}.visitorAppointmentCard{padding:16px;border:1px solid rgba(230,235,244,.86);border-radius:18px;background:#fffffff5;box-shadow:0 14px 34px #23335212;display:grid;gap:14px}.visitorAppointmentTop{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center}.visitorAppointmentTop img{width:52px;height:52px;border-radius:16px;object-fit:cover;object-position:center 35%}.visitorAppointmentTop strong,.visitorAppointmentTop span{display:block}.visitorAppointmentTop span{margin-top:4px;color:#7d8799;font-size:12px}.visitorAppointmentTime{padding:12px;border-radius:15px;color:#25324d;background:#f5f7fb;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center}.visitorAppointmentTime span{display:block;margin-top:5px;color:#7d8799;font-size:12px}.reviewProgressCard{padding:13px;border:1px solid #e5ecf6;border-radius:16px;background:#f8fbff;display:grid;gap:10px}.reviewProgressHeader{display:flex;align-items:center;justify-content:space-between;gap:10px}.reviewProgressHeader span{color:#7d8799;font-size:12px;font-weight:800}.reviewProgressHeader strong{color:#243653;font-size:13px;font-weight:900}.reviewSteps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reviewStep{position:relative;min-width:0;display:grid;justify-items:center;gap:5px;color:#96a0b2;font-size:11px;font-weight:800}.reviewStep:before{content:"";position:absolute;top:11px;left:calc(-50% + 17px);width:calc(100% - 18px);height:2px;background:#e3e9f2}.reviewStep:first-child:before{display:none}.reviewStep i{position:relative;z-index:1;width:24px;height:24px;border-radius:50%;color:#98a3b5;background:#e7edf6;display:grid;place-items:center;font-style:normal;font-size:11px}.reviewStep.done,.reviewStep.active{color:#4f66ee}.reviewStep.done:before,.reviewStep.active:before{background:#b9c8ff}.reviewStep.done i{color:#fff;background:#7d95f7}.reviewStep.active i{color:#fff;background:#4f66ee;box-shadow:0 8px 16px #4f66ee38}.reviewProgressCard p{margin:0;color:#66738a;font-size:12px;line-height:1.55}.reviewProgressCard.confirmed .reviewProgressHeader strong,.reviewProgressCard.confirmed .reviewStep.done,.reviewProgressCard.confirmed .reviewStep.active{color:#179766}.reviewProgressCard.confirmed .reviewStep.done:before,.reviewProgressCard.confirmed .reviewStep.active:before{background:#aee8d3}.reviewProgressCard.confirmed .reviewStep.done i,.reviewProgressCard.confirmed .reviewStep.active i{background:#18a76f}.reviewProgressCard.rejected .reviewProgressHeader strong,.reviewProgressCard.rejected .reviewStep.done,.reviewProgressCard.rejected .reviewStep.active{color:#c2410c}.reviewProgressCard.rejected .reviewStep.done:before,.reviewProgressCard.rejected .reviewStep.active:before{background:#fed7aa}.reviewProgressCard.rejected .reviewStep.done i,.reviewProgressCard.rejected .reviewStep.active i{background:#f97316}.reviewProgressCard.cancelled .reviewProgressHeader strong,.reviewProgressCard.cancelled .reviewStep.done,.reviewProgressCard.cancelled .reviewStep.active{color:#b95c5c}.reviewProgressCard.cancelled .reviewStep.done:before,.reviewProgressCard.cancelled .reviewStep.active:before{background:#f4caca}.reviewProgressCard.cancelled .reviewStep.done i,.reviewProgressCard.cancelled .reviewStep.active i{background:#e78282}.visitorAppointmentMeta{margin:0;display:grid;gap:8px}.visitorAppointmentMeta div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px}.visitorAppointmentMeta dt{color:#8b95a6}.visitorAppointmentMeta dd{min-width:0;margin:0;color:#39465c}.appointmentCancelButton{min-height:40px;border:0;border-radius:999px;color:#9a3412;background:#fff3e8;font-weight:800}.messageList{display:grid;gap:18px}.messageRow{box-shadow:none;border:0;background:transparent;display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center}.messageRow img,.systemAvatar{width:52px;height:52px;border-radius:50%}.messageRow img{object-fit:cover;object-position:center 30%}.systemAvatar{display:grid;place-items:center;color:#fff}.messageRow strong,.messageRow p{display:block;margin:0}.messageRow p{margin-top:6px;color:#7a8496;font-size:13px}.messageRow time{color:#9aa3b2;font-size:12px}.messageRow small{min-width:18px;height:18px;margin-top:8px;border-radius:999px;color:#fff;background:#ff3b55;display:grid;place-items:center;font-size:11px}.profileHero{min-height:146px;padding:26px 18px;border-radius:18px;background:linear-gradient(135deg,#dceeff,#eef6ff);display:flex;align-items:center}.profileUser{width:100%;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center}.profileUserButton{padding:0;border:0;color:inherit;background:transparent;text-align:left}.profileUser img,.profileUserAvatar{width:72px;height:72px;border-radius:50%}.profileUser img{object-fit:cover;object-position:center 30%;border:4px solid rgba(255,255,255,.9)}.profileUserAvatar{position:relative;overflow:hidden;border:4px solid rgba(255,255,255,.94);background:#eef5ff;box-shadow:0 16px 30px #2d498724,inset 0 1px #ffffffb8;display:grid;place-items:center}.visitorAvatarSvg{width:100%;height:100%;display:block}.profileUser strong,.profileUser span{display:block}.profileUser strong{font-size:18px}.profileUser span{margin-top:8px;color:#637188;font-size:13px}.profileStats{margin:-16px 12px 18px;padding:18px 12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center}.profileStats strong,.profileStats span{display:block}.profileStats span{margin-top:7px;color:#6f7b90;font-size:12px}.profilePanelCard{padding:18px;margin-bottom:18px}.profilePanelCard h3{margin-bottom:18px;font-size:16px}.profileMoreButton{width:100%;min-height:42px;margin-top:12px;border:0;border-radius:14px;color:#243653;background:#f3f6fb;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-weight:800}.logoutCard{display:grid;gap:14px}.logoutCard strong,.logoutCard span{display:block}.logoutCard span{margin-top:6px;color:#7d8799;font-size:13px}.logoutCard button{min-height:44px;border:0;border-radius:999px;color:#9a3412;background:#fff3e8;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800}.serviceGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 8px}.serviceGrid small{min-width:18px;height:18px;margin-top:3px;border-radius:999px;color:#5a8df4;background:#eef4ff;display:grid;place-items:center;font-size:11px;font-weight:800}.profileAppointmentList{display:grid;gap:10px}.appointmentDetailCard{padding:12px;border-radius:13px;background:#f7f9fd;display:grid;gap:10px}.appointmentDetailCard>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.appointmentDetailCard dl,.adminAppointmentDetail{margin:0;display:grid;gap:8px}.appointmentDetailCard dl div,.adminAppointmentDetail div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px}.appointmentDetailCard dt,.adminAppointmentDetail dt{color:#8b95a6}.appointmentDetailCard dd,.adminAppointmentDetail dd{min-width:0;margin:0;color:#39465c}.serviceGrid button{min-width:0;min-height:92px;padding:12px 6px;border:0;border-radius:15px;background:#f6f8fc;color:#17233d;display:grid;justify-items:center;gap:8px;font-size:12px}.serviceGrid button svg{color:#243653}.serviceGrid button:active{transform:translateY(1px)}.moreList{display:grid;gap:8px}.moreList button{min-height:58px;padding:10px 12px;border:1px solid transparent;border-radius:14px;background:#fff;color:#26334d;display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left}.moreList button.active{border-color:#e2e8f2;background:#f1f5fb}.moreList button>span{min-width:0;font-weight:900;line-height:1.25;white-space:nowrap}.moreList small{min-width:0;color:#98a2b3;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profileEditPage{padding-bottom:112px}.profileBackButton{min-height:40px;margin-bottom:14px;padding:0 14px;border:0;border-radius:14px;color:#243653;background:#f1f5fb;display:inline-flex;align-items:center;gap:6px;font-weight:800}.counselorDetailCard{padding:18px;display:grid;gap:12px}.counselorDetailCard>img{width:92px;height:92px;border-radius:18px;object-fit:cover;object-position:center 30%}.detailBio{margin:0;color:#637188;line-height:1.7}.visitorShell .bottomNav{position:fixed;left:max(0px,calc((100vw - 430px)/2));right:max(0px,calc((100vw - 430px)/2));bottom:0;z-index:30;min-height:calc(66px + env(safe-area-inset-bottom));padding:7px 10px max(7px,env(safe-area-inset-bottom));border:0;border-top:1px solid rgba(220,226,238,.95);border-radius:0;background:#fffffffa;box-shadow:0 -10px 28px #1f2d4814;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px}.visitorShell .bottomNav button{height:54px;min-height:54px;border-radius:10px}.visitorShell .bottomNav{left:max(0px,calc((100vw - 430px)/2));right:max(0px,calc((100vw - 430px)/2));bottom:0;min-height:calc(82px + env(safe-area-inset-bottom));padding:8px 18px max(10px,env(safe-area-inset-bottom));border:0;border-top:1px solid rgba(229,233,240,.96);border-radius:0;background:#fff;box-shadow:0 -8px 22px #1f2d4814;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;align-items:end}.visitorShell .bottomNav button{width:100%;height:58px;min-height:58px;border-radius:0;color:#a3a9b5;background:transparent;box-shadow:none;display:grid;place-items:center;align-content:center;gap:3px}.visitorShell .bottomNav button.active{color:#243653;background:transparent}.visitorShell .bottomNav button:nth-child(3){width:100%;height:58px;min-height:58px;margin:0;justify-self:center;align-self:center;border-radius:0;color:#a3a9b5;background:transparent;box-shadow:none}.visitorShell .bottomNav button:nth-child(3).active{color:#243653}.visitorShell .bottomNav button:nth-child(3) span{color:inherit}.counselorShell{grid-template-columns:1fr;background:radial-gradient(circle at 18% 4%,rgba(218,234,255,.95),transparent 34%),radial-gradient(circle at 86% 14%,rgba(236,245,238,.95),transparent 32%),#f8fbff}.counselorShell .sidebar,.counselorShell .topbar{display:none}.counselorShell .mainPanel{min-height:100vh;padding:0;background:transparent}.counselorShell .content{width:100%}.counselorPage{width:min(100%,430px);min-height:100vh;margin:0 auto;padding:24px 16px 112px;color:#17233d}.counselorDashboardPage{padding-top:18px}.counselorDashboardHero{position:relative;overflow:hidden;min-height:202px;padding:22px;border-radius:24px;background:linear-gradient(120deg,#e6f1fff2,#faf4ffe0),#eef6ff;box-shadow:0 22px 54px #2536531f;display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:16px;align-items:center}.counselorDashboardHero:after{content:"";position:absolute;right:-44px;top:-44px;width:168px;height:168px;border-radius:999px;background:#ffffff94}.counselorHeroCopy,.heroAvatarWrap{position:relative;z-index:1}.heroPill{width:max-content;min-height:28px;padding:0 10px;border-radius:999px;color:#2e5c78;background:#ffffffa8;display:inline-flex;align-items:center;font-size:12px;font-weight:800}.counselorDashboardHero p,.counselorPageTitle p,.counselorSectionTitle span,.workCardTop span,.workCardMeta,.slotManageCard span{color:#728096}.counselorDashboardHero p,.counselorDashboardHero h2,.counselorPageTitle h2,.counselorPageTitle p,.counselorSectionTitle h3,.counselorWorkCard p{margin:0}.counselorDashboardHero p{margin-top:16px;font-size:15px}.counselorDashboardHero h2{max-width:230px;margin-top:6px;font-size:30px;line-height:1.15;letter-spacing:0}.heroMetaRow{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.heroMetaRow span{min-height:30px;padding:0 10px;border-radius:999px;color:#40506b;background:#ffffffb8;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800}.heroAvatarWrap{justify-self:end;display:grid;justify-items:center;gap:10px}.heroAvatarWrap img{width:92px;height:92px;border-radius:28px;object-fit:cover;object-position:center 30%;box-shadow:0 12px 26px #1f2d4829}.heroAvatarWrap span{min-height:26px;padding:0 10px;border-radius:999px;color:#16744d;background:#dcfce7;font-size:12px;font-weight:800;display:inline-flex;align-items:center}.counselorMetricGrid{margin:16px 0 18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.counselorMetricGrid>div{min-height:104px;padding:14px 8px;border:1px solid rgba(226,233,244,.92);border-radius:20px;background:linear-gradient(180deg,#fffffffa,#f8fbfff0),#fff;box-shadow:0 16px 34px #23335212;display:grid;justify-items:center;align-content:center;gap:7px;text-align:center}.counselorMetricGrid strong,.counselorMetricGrid small{display:block}.counselorMetricGrid strong{font-size:24px;line-height:1}.counselorMetricGrid small{color:#728096;font-size:12px;font-weight:800}.metricIcon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center}.metricIcon.amber{color:#b45309;background:#fff3d8}.metricIcon.green{color:#15803d;background:#dcfce7}.metricIcon.blue{color:#3565d8;background:#e5edff}.dashboardFocusGrid{margin-bottom:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.dashboardFocusCard{min-height:124px;padding:16px;border:1px solid rgba(230,235,244,.9);border-radius:20px;background:#fffffff2;box-shadow:0 14px 34px #23335212;display:grid;align-content:space-between;gap:10px}.dashboardFocusCard.primary{color:#fff;background:linear-gradient(135deg,#243653f5,#324f7cf0),#243653}.dashboardFocusCard span,.dashboardFocusCard p,.dashboardFocusCard strong{display:block;margin:0}.dashboardFocusCard span{color:#7b8799;font-size:12px;font-weight:800}.dashboardFocusCard.primary span,.dashboardFocusCard.primary p{color:#ffffffbd}.dashboardFocusCard strong{font-size:18px;line-height:1.3}.dashboardFocusCard p{color:#728096;font-size:13px;line-height:1.45}.dashboardListPanel{margin-top:16px;padding:16px;border:1px solid rgba(226,233,244,.92);border-radius:24px;background:linear-gradient(180deg,#fffffff0,#f7faffe0),#fff;box-shadow:0 18px 44px #23335214}.dashboardListPanel .counselorSectionTitle{margin:0 0 14px}.dashboardListPanel .counselorSectionTitle h3{font-size:19px}.dashboardListStack{gap:10px}.dashboardListPanel .emptyState{min-height:116px;padding:26px 18px;border:1px dashed rgba(156,171,194,.32);border-radius:18px;color:#7a879a;background:linear-gradient(135deg,#eef4ffb3,#ffffffe0),#fff;display:grid;place-items:center}.dashboardListPanel .counselorWorkCard{border-color:#dfe7f4f2;border-radius:18px;background:#fff;box-shadow:0 10px 24px #2333520f}.dashboardListPanel .visitorAvatar{border-radius:16px;background:linear-gradient(135deg,#597df0,#48b5c7)}.dashboardListPanel .workCardMeta{width:max-content;max-width:100%;padding:7px 10px;border-radius:999px;color:#40506b;background:#f1f5fb}.dashboardListPanel .counselorWorkCard p{background:#f7f9fd}.counselorPageTitle{margin-bottom:18px}.counselorPageTitle h2{font-size:26px;letter-spacing:0}.counselorPageTitle p{margin-top:8px;line-height:1.6}.counselorSectionTitle{margin:24px 4px 12px;display:flex;justify-content:space-between;align-items:center}.counselorSectionTitle h3{font-size:20px;letter-spacing:0}.counselorSegmentTabs{min-height:52px;margin:0 0 16px;padding:5px;border:1px solid rgba(230,235,244,.9);border-radius:16px;background:#ffffffe0;box-shadow:0 12px 28px #2333520f;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.counselorSegmentTabs button{min-width:0;min-height:42px;border:0;border-radius:12px;color:#728096;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800}.counselorSegmentTabs button.active{color:#fff;background:#243653;box-shadow:0 8px 18px #2436532e}.counselorSegmentTabs span{min-width:22px;height:22px;padding:0 7px;border-radius:999px;color:inherit;background:#7280961f;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.counselorSegmentTabs button.active span{background:#ffffff2e}.counselorStack{display:grid;gap:12px}.counselorWorkCard,.slotManageCard,.scheduleSummaryCard,.counselorSlotFormCard{border:1px solid rgba(230,235,244,.86);border-radius:16px;background:#fffffff2;box-shadow:0 14px 34px #23335212}.counselorWorkCard{padding:16px;display:grid;gap:12px}.counselorWorkCard.compact{gap:10px}.workCardTop{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center}.visitorAvatar{width:46px;height:46px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#6c93f6,#4f6fdd);display:grid;place-items:center;font-weight:800}.workCardTop strong,.workCardTop span{display:block}.workCardTop span{margin-top:4px;font-size:12px}.workCardMeta{display:flex;align-items:center;gap:8px;font-size:14px}.counselorWorkCard p{padding:10px 12px;border-radius:12px;color:#596579;background:#f5f7fb;line-height:1.6}.workCardActions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fullButton{width:100%}.scheduleSummaryCard{padding:16px;display:flex;align-items:center;gap:12px;color:#1c2b48}.scheduleSummaryCard span{display:block;margin-top:4px;color:#728096;font-size:13px}.counselorSlotFormCard{padding:16px}.counselorSlotFormCard h3{margin:0 0 14px;letter-spacing:0}.counselorSlotForm{display:grid;gap:12px}.counselorSlotForm label{display:grid;gap:7px;color:#596579;font-size:14px;font-weight:700}.counselorSlotForm input{height:42px;padding:0 12px;border:1px solid #d9e0ea;border-radius:12px;background:#fff;outline:0}.availabilityPlanner{display:grid;gap:16px}.plannerCalendarCard,.plannerDayCard{position:relative;overflow:hidden;padding:18px;border:1px solid rgba(221,230,244,.9);border-radius:22px;background:linear-gradient(180deg,#fffffffa,#f7fafff0),#fff;box-shadow:0 18px 44px #23335217}.plannerCalendarCard:before,.plannerDayCard:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 0%,rgba(95,141,255,.12),transparent 34%)}.plannerHeader,.plannerDayTitle{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.plannerHeader{align-items:center;flex-wrap:wrap}.plannerHeader strong,.plannerDayTitle strong{display:block;color:#16213a;font-size:19px;letter-spacing:0}.monthSelectors{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.monthSelectors button{height:40px;min-width:0;padding:0 12px;border:1px solid #dce5f2;border-radius:13px;color:#243653;background:#ffffffdb;outline:0;box-shadow:0 8px 18px #2333520a;font-weight:800}.monthArrow{width:40px;height:40px;border:0;border-radius:13px;color:#243653;background:#fff;box-shadow:0 10px 22px #23335214;display:grid;place-items:center}.monthArrow:not(.next) svg{transform:rotate(180deg)}.monthPickerDialog{width:min(420px,100%);max-height:min(680px,calc(100vh - 36px));padding:18px;border:1px solid rgba(225,233,246,.94);border-radius:24px;background:linear-gradient(180deg,#fffffffc,#f7fafffa),#fff;box-shadow:0 24px 70px #23335233;overflow:auto;display:grid;gap:16px}.monthPickerDialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.monthPickerDialog header strong,.monthPickerDialog header span,.monthPickerBlock>span{display:block}.monthPickerDialog header strong{color:#16213a;font-size:20px}.monthPickerDialog header span{margin-top:5px;color:#728096;font-size:13px}.monthPickerDialog header button{min-height:34px;padding:0 12px;border:0;border-radius:12px;color:#596579;background:#f1f5fb;font-weight:800}.monthPickerBlock{display:grid;gap:10px}.monthPickerBlock>span{color:#596579;font-size:13px;font-weight:900}.monthPickerGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.monthPickerGrid.years{grid-template-columns:repeat(3,minmax(0,1fr))}.monthPickerGrid button{min-height:42px;border:1px solid #dce5f2;border-radius:13px;color:#243653;background:#fff;font-weight:800}.monthPickerGrid button.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#243653,#314766);box-shadow:0 10px 22px #24365333}.plannerLegend{width:100%;justify-content:flex-end;display:flex;gap:8px;color:#728096;font-size:12px}.plannerLegend span{min-height:26px;padding:0 9px;border-radius:999px;background:#ffffffb8;display:inline-flex;align-items:center;gap:5px}.availableDot,.bookedDot{width:7px;height:7px;border-radius:50%;display:inline-block}.availableDot{background:#42c5a8}.bookedDot{background:#f59e0b}.plannerWeek,.plannerDays{position:relative;z-index:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.plannerWeek{margin:18px 0 10px;color:#94a0b3;font-size:12px;font-weight:800}.plannerDays{gap:8px}.plannerBlank{min-height:44px}.plannerDays button{min-width:0;min-height:48px;border:1px solid transparent;border-radius:15px;color:#4d5b72;background:#f5f8fdeb;display:grid;justify-items:center;align-content:center;gap:5px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.plannerDays button:hover{transform:translateY(-1px);border-color:#dbe5f3;background:#fff;box-shadow:0 10px 22px #23335214}.plannerDays button.hasAvailable{border-color:#42c5a83d;background:linear-gradient(180deg,#fff,#eefbf7)}.plannerDays button.hasBooked{border-color:#f59e0b3d;background:linear-gradient(180deg,#fff,#fff8eb)}.plannerDays button.expiredDay{color:#a8b0bd;border-color:#cfd8e5b3;background:linear-gradient(180deg,#f5f7fa,#eef2f7);box-shadow:none}.plannerDays button.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#243653,#314766);box-shadow:0 12px 26px #24365342}.plannerDays button.active.expiredDay{color:#9da7b5;border-color:#cfd8e5cc;background:linear-gradient(180deg,#f5f7fa,#eef2f7);box-shadow:inset 0 0 0 1px #cad3e08c}.plannerDays button>span{min-height:7px;display:flex;gap:4px}.plannerDayTitle span{display:block;margin-top:5px;color:#728096;font-size:13px}.quickPublishGrid{position:relative;z-index:1;margin-top:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quickPublishGrid button{min-height:66px;border:1px solid #dce5f2;border-radius:16px;color:#243653;background:linear-gradient(180deg,#fff,#f4f8ff);box-shadow:0 10px 24px #2333520f;display:grid;gap:3px;justify-items:center;align-content:center;font-weight:800;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.quickPublishGrid button strong,.quickPublishGrid button span{display:block;line-height:1}.quickPublishGrid button strong{font-size:16px}.quickPublishGrid button span{color:#728096;font-size:12px;font-weight:700}.quickPublishGrid button:hover:not(:disabled){transform:translateY(-1px);border-color:#b8c9ea;box-shadow:0 14px 30px #2333521a}.quickPublishGrid button small{color:#6b7a91;font-size:11px;font-weight:600}.quickPublishGrid button:disabled{color:#42a58f;border-color:#42c5a82e;background:linear-gradient(180deg,#f8fffc,#e8f8f3);box-shadow:none;opacity:1}.quickPublishGrid button.expired:disabled{color:#a4adba;border-color:#cfd8e5bf;background:linear-gradient(180deg,#f7f9fc,#edf1f6)}.quickPublishGrid button.expired:disabled small{color:#a4adba}.slotManageCard{padding:15px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center}.availabilityPlanner .counselorStack{gap:10px}.availabilityPlanner .counselorWorkCard,.availabilityPlanner .slotManageCard{border-color:#dce5f2eb;border-radius:18px;background:linear-gradient(180deg,#fffffffa,#f8fbfff5),#fff;box-shadow:0 12px 30px #23335212}.slotManageCard strong,.slotManageCard span{display:block}.slotManageCard span{margin-top:5px;font-size:13px}.slotManageCard>button{min-height:36px;padding:0 13px;border:1px solid #fed7aa;border-radius:999px;color:#9a3412;background:#fff7ed;font-weight:800}.profileEditForm{display:grid;gap:12px}.profileEditForm label{display:grid;gap:7px;color:#596579;font-size:13px;font-weight:800}.profileEditForm input,.profileEditForm textarea{width:100%;border:1px solid #d9e0ea;border-radius:12px;color:#243653;background:#fff;outline:0}.profileEditForm input{height:40px;padding:0 11px}.profileEditForm textarea{min-height:86px;padding:10px 11px}.adminAvatarUpload{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:14px;padding:12px;border:1px solid #d9e0ea;border-radius:18px;background:#f8fbff}.adminAvatarUpload img{width:82px;height:82px;border-radius:22px;object-fit:cover;background:#eaf0f8}.adminAvatarUpload span,.adminAvatarUpload p{display:block;margin:0}.adminAvatarUpload span{color:#243653;font-size:14px;font-weight:900}.adminAvatarUpload p{margin-top:4px;color:#758197;font-size:12px;line-height:1.6}.avatarUploadButton{display:inline-flex!important;width:fit-content;min-height:34px;margin-top:10px;padding:0 13px;place-items:center;border:1px solid #cbd6e4;border-radius:999px;color:#243653!important;background:#fff;cursor:pointer}.avatarUploadButton input{display:none}.profileSaveMessage{margin:0;text-align:center}.bookingNoteField{position:relative;z-index:1;margin-top:14px;display:grid;gap:8px;color:#596579;font-size:13px;font-weight:800}.bookingNoteField textarea{width:100%;min-height:96px;padding:12px;border:1px solid #dce5f2;border-radius:16px;color:#243653;background:#ffffffc7;box-shadow:inset 0 1px #fffc;resize:vertical;outline:0}.paymentProofField{position:relative;z-index:1;margin-top:14px;padding:12px;border:1px dashed #b8c8dc;border-radius:12px;display:grid;gap:10px;color:#596579;background:#ffffffb8;font-size:13px}.paymentProofField>span{color:#243653;font-weight:800}.paymentProofField input{width:100%}.paymentProofField input::file-selector-button{margin-right:10px;min-height:34px;padding:0 12px;border:0;border-radius:8px;color:#fff;background:#0f766e}.paymentProofPreview{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center}.paymentProofPreview img{width:72px;height:72px;border-radius:8px;object-fit:cover;border:1px solid #dce5f2}.formTriple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.categoryCheckGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.categoryCheckGrid label{min-height:36px;padding:0 10px;border-radius:11px;color:#4d5b72;background:#f5f7fb;display:flex;align-items:center;gap:7px}.counselorProfileHero{background:linear-gradient(135deg,#e1f0ff,#e9f8ee)}.counselorShell .bottomNav{position:fixed;left:max(18px,calc((100vw - 430px)/2 + 18px));right:max(18px,calc((100vw - 430px)/2 + 18px));bottom:14px;z-index:30;min-height:66px;padding:7px 10px;border:1px solid rgba(220,226,238,.9);border-radius:18px;background:#fffffff5;box-shadow:0 12px 42px #1f2d4824;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}.counselorShell .bottomNav button{width:100%;height:52px;min-width:0;min-height:52px;border:0;border-radius:12px;color:#8b95a6;background:transparent;display:grid;place-items:center;align-content:center;gap:3px;font-size:12px}.counselorShell .bottomNav button.active{color:#fff;background:#243653;box-shadow:0 8px 18px #24365338}.adminShell{grid-template-columns:1fr;background:radial-gradient(circle at 18% 4%,rgba(218,234,255,.95),transparent 34%),radial-gradient(circle at 86% 14%,rgba(245,235,255,.95),transparent 32%),#f8fbff}.adminShell .sidebar,.adminShell .topbar{display:none}.adminShell .mainPanel{min-height:100vh;padding:0;background:transparent}.adminShell .content{width:100%}.adminPage{width:min(100%,430px);min-height:100vh;margin:0 auto;padding:22px 16px 112px;color:#17233d}.adminHero{min-height:158px;padding:22px 20px;border-radius:18px;color:#17233d;background:linear-gradient(135deg,#e0efff,#f3eaff);box-shadow:0 18px 44px #2b3f601a;display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:16px;align-items:center}.adminHero p,.adminHero h2,.adminHero span,.adminPageTitle h2,.adminPageTitle p,.adminSectionTitle h3,.adminCard p{margin:0}.adminHero h2{margin-top:8px;font-size:28px;letter-spacing:0}.adminHero span,.adminPageTitle p,.adminSectionTitle span,.adminCard span,.adminCard small{color:#728096}.adminStats{margin:-18px 12px 22px;padding:16px 8px;border-radius:16px;background:#fffffff0;box-shadow:0 14px 34px #23335214;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));text-align:center}.adminStats strong,.adminStats span{display:block}.adminStats strong{font-size:21px}.adminStats span{margin-top:6px;color:#728096;font-size:12px}.adminPageTitle{margin-bottom:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.adminPageTitle h2{font-size:26px;letter-spacing:0}.adminPageTitle p{margin-top:8px;line-height:1.6}.adminTitleButton{min-height:40px;padding:0 13px;border-radius:12px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.adminEditHeader{margin-bottom:18px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center}.adminEditHeader button{width:42px;height:42px;border:1px solid rgba(218,226,238,.94);border-radius:13px;color:#243653;background:#fff;display:grid;place-items:center;box-shadow:0 10px 22px #23335212}.adminEditHeader h2,.adminEditHeader p,.adminFormSection strong{margin:0}.adminEditHeader h2{font-size:25px;letter-spacing:0}.adminEditHeader p{margin-top:5px;color:#728096;line-height:1.45}.adminCounselorForm{gap:16px}.adminFormSection{display:grid;gap:12px}.adminFormSection>strong{color:#243653;font-size:15px}.formDouble{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.adminFormActions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.adminFormActions button{min-height:42px}.adminCounselorManagePage{width:min(100%,430px);padding:0 12px 112px;background:radial-gradient(circle at 92% 8%,rgba(207,225,255,.9),transparent 35%),linear-gradient(180deg,#f7fbff,#eef5ff 44%,#f7fbff)}.adminCounselorHero{position:relative;min-height:214px;margin:0 -12px;padding:42px 24px 54px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.adminCounselorHero:before,.adminCounselorHero:after{content:"";position:absolute;pointer-events:none;border:1px solid rgba(255,255,255,.72);border-radius:50%}.adminCounselorHero:before{width:300px;height:300px;right:-150px;top:58px}.adminCounselorHero:after{width:210px;height:210px;right:-86px;top:108px;opacity:.7}.adminCounselorHero h2,.adminCounselorHero p{position:relative;z-index:1;margin:0}.adminCounselorHero h2{color:#0f2a4e;font-size:36px;line-height:1.15;font-weight:950;letter-spacing:0}.adminCounselorHero p{margin-top:14px;color:#75839a;font-size:16px;line-height:1.55;font-weight:800}.adminCounselorHeroAction{position:relative;z-index:1}.adminAddCounselorButton{min-height:56px;padding:0 20px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#19a78f,#0f8c7b);box-shadow:0 14px 28px #0d897a42;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:19px;font-weight:900;white-space:nowrap}.adminCounselorListPanel{position:relative;z-index:2;margin-top:-28px;padding:22px 14px 24px;border:1px solid rgba(224,232,244,.92);border-radius:30px;background:#fffffff0;box-shadow:0 24px 58px #2035571a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.adminCounselorToolbar{margin-bottom:18px;display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px}.adminCounselorSearch,.adminCounselorStatusSelect{min-width:0;height:54px;border:1px solid #dce5f0;border-radius:16px;color:#7d8aa0;background:#fff;display:flex;align-items:center;box-shadow:inset 0 1px #ffffffeb}.adminCounselorSearch{padding:0 14px;gap:9px}.adminCounselorSearch input{min-width:0;width:100%;height:100%;border:0;color:#243653;background:transparent;font-size:15px;font-weight:700;outline:0}.adminCounselorSearch input::placeholder{color:#a1adbe}.adminCounselorStatusSelect{position:relative;padding:0 12px}.adminCounselorStatusSelect select{min-width:0;width:100%;height:100%;border:0;color:#243653;background:transparent;font-size:15px;font-weight:900;appearance:none;outline:0}.adminCounselorStatusSelect svg{flex:0 0 auto;transform:rotate(90deg);color:#77869a}.adminCounselorList{display:grid;gap:18px}.adminSectionTitle{margin:22px 4px 12px;display:flex;justify-content:space-between;align-items:center}.adminSectionTitle h3{font-size:20px;letter-spacing:0}.adminStack{display:grid;gap:12px}.adminFilterBar{margin:-2px 0 14px;padding:8px;border:1px solid rgba(225,232,243,.88);border-radius:14px;background:#ffffffb8;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.adminFilterBar button{min-width:0;min-height:48px;padding:7px 8px;border:0;border-radius:10px;color:#6f7b90;background:#eef4ff;display:grid;place-items:center;gap:2px}.adminFilterBar button span,.adminFilterBar button small{max-width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminFilterBar button span{color:inherit;font-size:13px;font-weight:800}.adminFilterBar button small{color:inherit;font-size:12px;opacity:.72}.adminFilterBar button.active{color:#fff;background:#243653}.adminCard{padding:16px;border:1px solid rgba(230,235,244,.86);border-radius:16px;background:#fffffff2;box-shadow:0 14px 34px #23335212;display:grid;gap:12px}.adminAppointmentCard{padding:14px;border-radius:16px;gap:11px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 10px 26px #2333520f}.adminAppointmentHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.adminAppointmentPerson{min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center}.adminAppointmentPerson .visitorAvatar{width:42px;height:42px;border-radius:12px;box-shadow:none}.adminAppointmentPeople{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adminAppointmentPeople div{min-width:0}.adminAppointmentPeople strong,.adminAppointmentPeople small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminAppointmentPeople small{color:#8b95a6;font-size:12px;font-weight:700}.adminAppointmentPeople strong{margin-top:3px;color:#17233d;font-size:16px;line-height:1.2;font-weight:900}.adminAppointmentHeader>.badge{min-width:56px;justify-content:center}.adminAppointmentCompact{padding:0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:8px}.adminAppointmentCompact span{min-width:0;min-height:42px;padding:8px 10px;border:1px solid #e8eef7;border-radius:10px;color:#243653;background:#f8fbff;font-size:13px;font-weight:800;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminAppointmentCompact svg{flex:0 0 auto;color:#7a8ba5}.adminAppointmentCompact b,.adminAppointmentCompact em{min-width:0;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminAppointmentCompact b{flex:0 0 auto;color:#7a8ba5;font-size:12px}.adminAppointmentCompact em{color:#17233d}.adminAppointmentNote{margin:0;padding:2px 2px 0;border-radius:0;color:#728096;background:transparent;line-height:1.45;font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.adminAppointmentMetaGrid{margin:0;padding:12px;border-radius:14px;background:#f7faff;display:grid;gap:10px}.adminAppointmentMetaGrid div{min-width:0;display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:start}.adminAppointmentMetaGrid dt{color:#8b95a6;font-size:13px}.adminAppointmentMetaGrid dd{min-width:0;margin:0;color:#243653;font-weight:700;overflow-wrap:anywhere}.adminAppointmentMetaGrid dd svg{margin-right:4px;vertical-align:-2px;color:#7a8ba5}.adminTextBlock{padding:12px;border-radius:14px;background:#fbfcff;border:1px solid #e7edf6;display:grid;gap:6px}.adminTextBlock.reason{background:#fffaf2;border-color:#f0dec2}.adminTextBlock span{color:#8b95a6;font-size:12px;font-weight:800}.adminTextBlock p{padding:0;border-radius:0;color:#243653;background:transparent;line-height:1.55}.adminCardTop{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center}.adminCardTop strong,.adminCardTop span{display:block}.adminCardTop span{margin-top:4px;font-size:12px}.adminCard p{padding:10px 12px;border-radius:12px;color:#596579;background:#f5f7fb;line-height:1.6}.adminCard .adminAppointmentNote{padding:0 2px;border-radius:0;color:#728096;background:transparent;line-height:1.45}.paymentProofLink{min-height:38px;padding:0 12px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#0f766e;background:#e8f4ef;text-decoration:none;font-weight:800}.adminPaymentProof{padding:8px;border:1px solid #e4ebf5;border-radius:11px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;background:#fbfdff}.adminPaymentProof>button{width:52px;height:52px;padding:0;border:0;border-radius:10px;background:transparent;overflow:hidden}.adminPaymentProof img{width:52px;height:52px;border-radius:9px;border:1px solid #d7e2ef;object-fit:cover;background:#fff}.adminPaymentProof strong,.adminPaymentProof span{min-width:0;display:block}.adminPaymentProof strong{color:#17233d;font-size:14px}.adminPaymentProof span{margin-top:3px;color:#596579;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminProofActions{margin-top:6px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.adminPaymentProof a,.adminProofActions button{width:max-content;padding:0;border:0;background:transparent;color:#0f766e;font-weight:800;text-decoration:none;font-size:13px}.proofPreviewOverlay{position:fixed;inset:0;z-index:80;padding:24px;display:grid;place-items:center;background:#121c269e}.proofPreviewDialog{width:min(780px,100%);max-height:min(86vh,760px);padding:16px;border-radius:12px;background:#fff;box-shadow:0 28px 70px #0f1d2d3d;display:grid;gap:12px}.proofPreviewDialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.proofPreviewDialog header button{min-height:34px;padding:0 12px;border:0;border-radius:8px;color:#fff;background:#243653}.proofPreviewDialog>img{max-width:100%;max-height:calc(86vh - 92px);border-radius:8px;object-fit:contain;background:#f5f7fb}.adminReviewActions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.adminCounselorCard{min-height:176px;padding:20px 18px;border:1px solid #dde6f1;border-radius:24px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 18px 40px #22335314;grid-template-columns:86px minmax(0,1fr) 92px;align-items:center;gap:16px}.adminCounselorPhotoWrap{width:86px;height:86px;border-radius:18px;overflow:hidden;background:#eef3f8;box-shadow:0 10px 22px #1f304e1a}.adminCounselorPhotoWrap img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}.adminCounselorMain{min-width:0;display:grid;gap:7px;align-content:center}.adminCounselorMain strong,.adminCounselorMain span,.adminCounselorMain small,.adminCounselorMain em{min-width:0;display:block}.adminCounselorMain strong{color:#0f2a4e;font-size:24px;line-height:1.2;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminCounselorMain span{width:fit-content;max-width:100%;padding:5px 10px;border-radius:9px;color:#0f8c72;background:#dcf8ed;font-size:14px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminCounselorMain small{color:#7c889a;font-size:14px;line-height:1.4;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminCounselorMain em{margin-top:16px;color:#7c889a;font-size:13px;line-height:1.2;font-style:normal;font-weight:800;display:flex;align-items:center;gap:7px}.adminCounselorMain em svg{color:#8997aa}.adminCounselorActions{display:grid;justify-items:stretch;gap:10px}.adminCounselorStatus{min-height:36px;padding:0 12px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:950;white-space:nowrap}.adminCounselorStatus i{width:9px;height:9px;border-radius:999px;background:currentColor}.adminCounselorStatus.active{color:#059669;background:#dcf8ed;border:1px solid #c2f0dd}.adminCounselorStatus.inactive{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.adminCounselorAction{min-height:42px;padding:0 12px;border-radius:10px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:15px;font-weight:900}.adminCounselorAction.edit{border:1px solid #d8e5f4;color:#17345d;background:#fbfdff}.adminCounselorAction.pause{border:1px solid #f2dac2;color:#1f2f48;background:#fffaf5}.adminCounselorAction.pause svg{color:#f97316}.adminCounselorAction.delete{border:1px solid #f3caca;color:#d12d2d;background:#fff7f7}.adminCategoryGrid{display:grid;gap:12px}.adminCategoryCard{padding:16px;border:1px solid rgba(230,235,244,.86);border-radius:16px;background:#fffffff2;box-shadow:0 14px 34px #23335212;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center}.adminCategoryCard>span{width:42px;height:42px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#7fa4ff,#6d5fe4);display:grid;place-items:center;font-weight:800}.adminCategoryCard small{color:#42a58f}.adminAvatar{width:72px;height:72px;border-radius:50%;color:#fff;background:#243653;display:grid;place-items:center;border:4px solid rgba(255,255,255,.9)}.adminProfileHero{background:linear-gradient(135deg,#e0efff,#f3eaff)}.adminShell .bottomNav{position:fixed;left:max(18px,calc((100vw - 430px)/2 + 18px));right:max(18px,calc((100vw - 430px)/2 + 18px));bottom:14px;z-index:30;min-height:66px;padding:7px 10px;border:1px solid rgba(220,226,238,.9);border-radius:18px;background:#fffffff5;box-shadow:0 12px 42px #1f2d4824;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}.adminShell .bottomNav button{width:100%;height:52px;min-width:0;min-height:52px;border:0;border-radius:12px;color:#8b95a6;background:transparent;display:grid;place-items:center;align-content:center;gap:3px;font-size:12px}.adminShell .bottomNav button.active{color:#fff;background:#243653;box-shadow:0 8px 18px #24365338}.visitorShell .bottomNav button{min-width:0;width:100%;height:52px;min-height:52px;border:0;border-radius:12px;color:#8b95a6;background:transparent;align-self:center;display:grid;place-items:center;align-content:center;gap:3px;font-size:12px}.visitorShell .bottomNav button.active{color:#182746;background:transparent}.visitorShell .bottomNav button:nth-child(3){width:56px;height:52px;min-height:52px;margin-top:0;justify-self:center;align-self:center;border-radius:12px;color:#fff;background:#243653;box-shadow:0 8px 18px #24365338}@media(max-width:430px){.visitorPage{padding-left:14px;padding-right:14px}.consultListCard{grid-template-columns:82px minmax(0,1fr);gap:12px}.consultListCard>img{width:82px;height:94px}.consultListCard>button{grid-column:2}.quickAction small,.featuredBody p,.consultListCard p{font-size:11px}.serviceGrid,.consultCategoryGrid{gap:8px}}@media(min-width:981px){.visitorShell{grid-template-columns:260px minmax(0,1fr)}.visitorShell .sidebar{display:flex;background:#ffffffd1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.visitorShell .topbar{display:none}.visitorShell .mainPanel{padding:0}.visitorShell .content{width:100%}.visitorShell .bottomNav{display:none}.visitorPage{width:min(1180px,calc(100vw - 360px));min-height:100vh;margin:0;padding:34px 42px 54px}.visitorHome{display:block}.visitorGreeting{margin-bottom:24px}.visitorGreeting h2{font-size:42px}.visitorHero{min-height:260px;border-radius:22px}.visitorHero>div{padding:48px 44px}.visitorHero h3{font-size:40px}.quickActions{margin-top:22px;padding:22px 26px;grid-template-columns:repeat(4,minmax(0,1fr))}.quickAction{min-height:112px}.quickIcon{width:62px;height:62px}.visitorSectionHeader{margin-top:34px}.featuredCounselors{grid-template-columns:repeat(3,minmax(240px,1fr));max-width:none}.visitorPage:not(.visitorHome){max-width:1080px}.consultCategoryGrid{grid-template-columns:repeat(8,minmax(0,1fr));padding:18px;border-radius:18px;background:#ffffffbd}.consultList{grid-template-columns:repeat(2,minmax(0,1fr))}.bookingPage{display:grid;grid-template-columns:minmax(0,1fr) 340px;column-gap:24px;align-items:start}.bookingPage .visitorPageTitle,.bookingPage .bookingTabs,.bookingPage .bookingBlock:nth-of-type(1),.bookingPage .bookingBlock:nth-of-type(2),.bookingPage .bookingBlock:nth-of-type(3){grid-column:1}.bookingPage .bookingBlock:nth-of-type(4){grid-column:2;grid-row:3 / span 2;position:sticky;top:34px}.bookingFooter{grid-column:2;position:sticky;bottom:34px;padding:16px;border-radius:18px;background:#ffffffeb;box-shadow:0 14px 34px #23335217}.messageList{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 26px}.profilePage{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:22px}.profileHero,.profileStats{grid-column:1}.profilePanelCard{grid-column:2}}.visitorShell{grid-template-columns:1fr}.visitorShell .sidebar,.visitorShell .topbar{display:none}.visitorShell .mainPanel{padding:0}.visitorShell .content{width:100%}.visitorShell .visitorPage{width:min(100%,430px);margin:0 auto;padding:24px 16px 132px}.visitorShell .bookingPage{padding-bottom:112px}.visitorShell .visitorHome{display:block}.visitorShell .visitorGreeting{margin-bottom:22px}.visitorShell .visitorGreeting h2{font-size:34px}.visitorShell .visitorHero{min-height:176px;border-radius:18px}.visitorShell .visitorHero>div{padding:32px 24px}.visitorShell .visitorHero h3{font-size:30px}.visitorShell .quickActions{margin-top:0;padding:18px 10px;grid-template-columns:repeat(4,minmax(0,1fr))}.visitorShell .quickAction{min-height:auto}.visitorShell .quickIcon{width:54px;height:54px}.visitorShell .featuredCounselors{grid-template-columns:repeat(3,minmax(0,1fr))}.visitorShell .consultCategoryGrid{grid-template-columns:repeat(4,minmax(0,1fr));padding:12px;border:1px solid rgba(224,232,245,.82);border-radius:22px;background:linear-gradient(180deg,#ffffffe6,#f8fbffdb),#fff}.visitorShell .consultList,.visitorShell .messageList{grid-template-columns:1fr}.visitorShell .bookingPage,.visitorShell .profilePage{display:block}.visitorShell .bookingFooter{position:static;padding:12px 0 0;border-radius:0;background:transparent;box-shadow:none}.visitorShell .bookingCheckout{padding:16px;border-radius:22px;background:linear-gradient(180deg,#fffffffa,#f8fbfff5),#fff;box-shadow:0 18px 44px #2333521a}.visitorShell .bottomNav{position:fixed;left:max(18px,calc((100vw - 430px)/2 + 18px));right:max(18px,calc((100vw - 430px)/2 + 18px));bottom:14px;z-index:30;min-height:66px;padding:7px 10px;border:1px solid rgba(220,226,238,.9);border-radius:18px;background:#fffffff5;box-shadow:0 12px 42px #1f2d4824;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}.visitorShell .bottomNav{position:fixed;left:0;right:0;bottom:0;z-index:60;min-height:calc(82px + env(safe-area-inset-bottom));padding:8px 18px max(10px,env(safe-area-inset-bottom));border:0;border-top:1px solid rgba(229,233,240,.96);border-radius:0;background:#fff;box-shadow:0 -8px 22px #1f2d4814;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:unset;grid-auto-columns:unset;gap:0;align-items:end}.visitorShell .bottomNav button{width:100%;height:58px;min-height:58px;margin:0;border:0;border-radius:0;color:#a3a9b5;background:transparent;box-shadow:none;display:grid;place-items:center;align-content:center;gap:3px}.visitorShell .bottomNav button.active{color:#243653;background:transparent;box-shadow:none}.visitorShell .bottomNav button:nth-child(3){width:100%;height:58px;min-height:58px;margin:0;justify-self:center;align-self:center;border-radius:12px;color:#fff;background:#374151;box-shadow:none}.visitorShell .bottomNav button:nth-child(3) span{color:#fff}.visitorShell .bottomNav button:nth-child(3).active{color:#fff;background:#243653}.navList button,.bottomNav button{position:relative}.navBadge{position:absolute;top:6px;right:12px;min-width:18px;height:18px;padding:0 5px;border:2px solid #ffffff;border-radius:999px;color:#fff;background:#ff3b55;box-shadow:0 4px 10px #ff3b5547;display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;font-weight:800}.bottomNav .navBadge{top:7px;right:calc(50% - 22px)}.counselorShell .bottomNav,.adminShell .bottomNav{position:fixed;left:0;right:0;bottom:0;z-index:60;min-height:calc(82px + env(safe-area-inset-bottom));padding:8px 12px max(10px,env(safe-area-inset-bottom));border:0;border-top:1px solid rgba(229,233,240,.96);border-radius:0;background:#fff;box-shadow:0 -8px 22px #1f2d4814;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;align-items:end}.counselorShell .bottomNav button,.adminShell .bottomNav button{width:100%;height:58px;min-width:0;min-height:58px;margin:0;border:0;border-radius:0;color:#a3a9b5;background:transparent;box-shadow:none;display:grid;place-items:center;align-content:center;gap:3px}.counselorShell .bottomNav button.active,.adminShell .bottomNav button.active{color:#fff;border-radius:12px;background:#243653;box-shadow:none}.adminAddCounselorButton{min-height:58px;padding:0 20px;border-radius:12px;background:linear-gradient(135deg,#24b99d,#0b897b);box-shadow:0 15px 30px #0d897a47,inset 0 1px #ffffff47;font-size:18px;letter-spacing:0}.adminAddCounselorButton svg{width:27px;height:27px;stroke-width:2.6}.adminCounselorSearch{padding:0 16px;gap:10px}.adminCounselorSearch svg,.adminCounselorStatusSelect svg{color:#8795aa}.adminCounselorSearch input{color:#20324f;font-size:16px;font-weight:750}.adminCounselorSearch input::placeholder{color:#aab5c5}.adminCounselorStatusSelect{padding:0 12px 0 14px}.adminCounselorStatusSelect select{color:#20324f;font-size:15px;font-weight:850}.adminCounselorList{gap:20px}.adminCounselorPhotoWrap{width:86px;height:86px;border-radius:18px;box-shadow:0 12px 24px #23335221}.adminCounselorMain{gap:8px}.adminCounselorMain span{padding:5px 10px;border:1px solid #c8f1e1;border-radius:9px;color:#098b71;background:#dcf8ed;font-size:14px}.adminCounselorMain small{color:#79879d;font-size:15px;line-height:1.45}.adminCounselorMain em{margin-top:18px;color:#75839a;font-size:14px;gap:8px}.adminCounselorMain em svg{width:18px;height:18px;color:#8695aa}.adminCounselorActions{gap:10px}.adminCounselorStatus{min-height:36px;padding:0 11px;border-radius:999px;font-size:14px}.adminCounselorStatus i{width:8px;height:8px}.adminCounselorStatus.active{color:#08a86f;background:#dff8ee;border-color:#c2f0de}.adminCounselorAction{min-height:41px;padding:0 9px;border-radius:9px;gap:7px;font-size:14px}.adminCounselorAction svg{width:18px;height:18px;stroke-width:2.4}.adminCounselorAction.edit{color:#15325a;border-color:#d8e5f4;background:#fbfdff}.adminCounselorAction.pause{color:#20324f;border-color:#f2dfcc;background:#fffaf5}.adminCounselorAction.delete{color:#dc2626;border-color:#f4cdcd;background:#fff7f7}@media(max-width:390px){.adminCounselorHero{padding-left:22px;padding-right:22px}.adminCounselorHero h2{font-size:34px}.adminCounselorHero p{max-width:190px;font-size:15px}.adminAddCounselorButton{min-height:52px;padding:0 14px;font-size:16px}.adminCounselorToolbar{grid-template-columns:minmax(0,1fr) 98px;gap:10px}.adminCounselorCard{grid-template-columns:74px minmax(0,1fr) 76px;gap:12px;padding:18px 14px}.adminCounselorPhotoWrap{width:74px;height:74px}.adminCounselorMain strong{font-size:22px}.adminCounselorMain small,.adminCounselorMain em{font-size:13px}.adminCounselorAction{min-height:39px;font-size:13px;gap:5px}}.adminShell{background:linear-gradient(155deg,#f7fbfff5,#eff6fff0 45%,#fafcfffa),#f4f8ff}.adminShell .content{min-height:100vh}.adminPage{width:min(100%,440px);padding:34px 19px 112px;color:#14213f}.adminDashboardPage{padding-top:38px}.adminDashboardHero{min-height:184px;padding:34px 26px 24px;border:0;border-radius:0;background:transparent;box-shadow:none;grid-template-columns:minmax(0,1fr) 124px;gap:12px;overflow:visible}.adminDashboardHero p{color:#60718e;font-size:18px;line-height:1.2;font-weight:700}.adminDashboardHero h2{margin-top:20px;color:#121d3a;font-size:42px;line-height:1.05;font-weight:950}.adminDashboardHero span{margin-top:16px;color:#647592;font-size:17px;line-height:1.55;font-weight:600}.adminHeroVisual{position:relative;height:128px;display:grid;place-items:center}.adminShieldBadge{position:relative;z-index:1;width:92px;height:104px;border-radius:24px 24px 30px 30px;color:#fff;background:linear-gradient(145deg,#94b7ff,#5573f2 68%,#455dde);box-shadow:0 20px 36px #536ee847;display:grid;place-items:center;clip-path:polygon(50% 0,92% 17%,88% 66%,50% 100%,12% 66%,8% 17%)}.adminHeroVisual i{position:absolute;width:146px;height:42px;border:3px solid rgba(255,255,255,.88);border-left-color:#d7e5ffe6;border-bottom-color:#a0b6f657;border-radius:999px;transform:rotate(-19deg);box-shadow:0 10px 26px #5b70d324}.adminOverviewStats{position:relative;z-index:2;margin:-8px 0 30px;padding:25px 13px;border:1px solid rgba(223,231,244,.9);border-radius:24px;background:#fffffff0;box-shadow:0 22px 52px #52688f24;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);gap:0}.adminOverviewStats .adminStatItem{min-width:0;padding:0 8px;border-right:1px solid #e9eef8;display:grid;justify-items:center;gap:10px}.adminOverviewStats .adminStatItem:last-child{border-right:0}.adminStatIcon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center}.adminStatItem.purple .adminStatIcon{color:#6f5cf6;background:#f0edff}.adminStatItem.green .adminStatIcon{color:#10a564;background:#e8f8ee}.adminStatItem.orange .adminStatIcon{color:#e98713;background:#fff1dd}.adminStatItem.blue .adminStatIcon{color:#315cff;background:#edf4ff}.adminOverviewStats strong{color:#121d3a;font-size:30px;line-height:1;font-weight:950}.adminOverviewStats small{color:#60718e;font-size:16px;line-height:1.2;font-weight:700}.adminRecentTitle{margin:0 4px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.adminRecentTitle>div{min-width:0;display:flex;align-items:center;gap:12px}.adminRecentTitle span{width:38px;height:38px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#7194ff,#4c65e9);box-shadow:0 14px 26px #4b69e740;display:grid;place-items:center}.adminRecentTitle h3{margin:0;color:#121d3a;font-size:24px;line-height:1;font-weight:900}.adminRecentTitle button{min-height:34px;padding:0;border:0;color:#4169ff;background:transparent;display:inline-flex;align-items:center;gap:2px;font-size:14px;font-weight:800}.adminDashboardPage .adminFilterBar{margin:0 0 26px;padding:11px;border:1px solid rgba(221,230,244,.94);border-radius:22px;background:#ffffffe6;box-shadow:0 18px 42px #52688f1a;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.adminDashboardPage .adminFilterBar button{min-height:70px;padding:8px 3px;border-radius:14px;color:#667590;background:transparent;gap:7px}.adminDashboardPage .adminFilterBar button span{font-size:14px}.adminDashboardPage .adminFilterBar button small{font-size:19px;font-weight:850}.adminDashboardPage .adminFilterBar button.active{color:#fff;background:linear-gradient(145deg,#668bff,#4c64ef);box-shadow:0 14px 26px #4965ef3d}.adminDashboardPage .adminStack{gap:28px}.adminDashboardPage .adminAppointmentCard{padding:22px;border:1px solid rgba(222,232,246,.94);border-radius:24px;background:#fffffff5;box-shadow:0 22px 54px #52688f24;gap:18px}.adminDashboardPage .adminAppointmentPerson{grid-template-columns:76px minmax(0,1fr);gap:16px}.adminDashboardPage .adminAppointmentPerson .visitorAvatar{width:66px;height:66px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#7898ff,#4d63e8);box-shadow:0 16px 28px #4a65e847;font-size:29px;font-weight:900}.adminDashboardPage .adminAppointmentPeople{grid-template-columns:1fr;gap:4px}.adminDashboardPage .adminAppointmentPeople{position:relative}.adminDashboardPage .adminAppointmentPeople:before{content:"来访者  |  咨询师";color:#74839d;font-size:14px;font-weight:700}.adminDashboardPage .adminAppointmentPeople small{display:none}.adminDashboardPage .adminAppointmentPeople strong{margin:0;color:#121d3a;font-size:20px;font-weight:950}.adminDashboardPage .adminAppointmentPeople div{display:contents}.adminDashboardPage .adminAppointmentPeople div+div strong:before{content:" · "}.adminDashboardPage .adminAppointmentHeader>.badge{min-width:76px;min-height:34px;padding:0 14px;border-radius:999px;font-size:15px;font-weight:900}.adminDashboardPage .adminAppointmentCompact{grid-template-columns:1fr 1fr;gap:12px}.adminDashboardPage .adminAppointmentCompact span{min-height:62px;padding:12px 14px;border-color:#dde7f5;border-radius:14px;background:#fbfdff;display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:8px;row-gap:2px}.adminDashboardPage .adminAppointmentCompact svg{grid-row:1 / 3;align-self:center}.adminDashboardPage .adminAppointmentCompact b{color:#7a879c;font-size:15px}.adminDashboardPage .adminAppointmentCompact em{color:#121d3a;font-size:17px;font-weight:900}.adminDashboardPage .adminAppointmentNote{padding:0;color:#6c7a92;font-size:16px;line-height:1.7;-webkit-line-clamp:3}.adminDashboardPage .adminPaymentProof{padding:13px;border-color:#dfe8f4;border-radius:18px;grid-template-columns:72px minmax(0,1fr);background:#fbfdff}.adminDashboardPage .adminPaymentProof>button,.adminDashboardPage .adminPaymentProof img{width:60px;height:60px;border-radius:13px}.adminDashboardPage .adminPaymentProof strong{font-size:16px}.adminDashboardPage .adminPaymentProof span{margin-top:7px;color:#647592;font-size:14px}.adminDashboardPage .adminPaymentProof a,.adminDashboardPage .adminProofActions button{color:#4169ff;font-size:14px}.adminShell .bottomNav{left:max(19px,calc((100vw - 440px)/2 + 19px));right:max(19px,calc((100vw - 440px)/2 + 19px));bottom:max(13px,env(safe-area-inset-bottom));min-height:84px;padding:10px 13px;border:1px solid rgba(221,230,244,.96);border-radius:20px;background:#fffffff5;box-shadow:0 20px 54px #52688f2e;align-items:center}.adminShell .bottomNav button{height:62px;min-height:62px;border-radius:16px;color:#6d7890;font-size:14px;font-weight:700}.adminShell .bottomNav button svg{width:27px;height:27px}.adminShell .bottomNav button.active{color:#4169ff;border-radius:16px;background:transparent;box-shadow:none}.adminShell .bottomNav button.active svg{width:40px;height:40px;padding:8px;border-radius:13px;color:#fff;background:linear-gradient(145deg,#79f,#4d64ee);box-shadow:0 14px 26px #4965ef42}@media(max-width:390px){.adminPage{padding-left:15px;padding-right:15px}.adminDashboardHero{padding-left:18px;padding-right:18px;grid-template-columns:minmax(0,1fr) 94px}.adminDashboardHero h2{font-size:36px}.adminShieldBadge{width:78px;height:90px}.adminHeroVisual i{width:114px}.adminOverviewStats{padding:20px 8px}.adminStatIcon{width:42px;height:42px}.adminOverviewStats strong{font-size:25px}.adminOverviewStats small{font-size:14px}.adminDashboardPage .adminFilterBar{grid-template-columns:repeat(3,minmax(0,1fr))}.adminDashboardPage .adminAppointmentCompact{grid-template-columns:1fr}}.adminPage{width:min(100%,430px);padding:28px 19px 102px}.adminDashboardPage{padding-top:30px}.adminDashboardHero{min-height:146px;padding:26px 22px 16px;grid-template-columns:minmax(0,1fr) 104px;align-items:start}.adminDashboardHero p{font-size:15px;line-height:1.25}.adminDashboardHero h2{margin-top:16px;font-size:32px;line-height:1.08}.adminDashboardHero span{margin-top:12px;font-size:14px;line-height:1.5}.adminHeroVisual{height:104px}.adminShieldBadge{width:72px;height:82px;border-radius:18px 18px 24px 24px}.adminShieldBadge svg{width:42px;height:42px}.adminHeroVisual i{width:118px;height:34px;border-width:2px}.adminOverviewStats{margin:4px 0 24px;padding:18px 10px;border-radius:22px;box-shadow:0 18px 42px #52688f1c}.adminOverviewStats .adminStatItem{padding:0 7px;gap:8px}.adminStatIcon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center}.adminStatIcon svg{width:21px;height:21px;display:block;margin:auto;stroke-width:2.4;transform:translateY(2px)}.adminOverviewStats strong{font-size:23px}.adminOverviewStats small{font-size:13px}.adminRecentTitle{margin:0 4px 12px}.adminRecentTitle span{width:34px;height:34px}.adminRecentTitle h3{font-size:21px}.adminRecentTitle button{min-height:30px;font-size:13px}.adminDashboardPage .adminFilterBar{margin-bottom:22px;padding:9px;border-radius:20px;gap:3px}.adminDashboardPage .adminFilterBar button{min-height:58px;padding:7px 2px;border-radius:13px;gap:5px}.adminDashboardPage .adminFilterBar button span{font-size:12px}.adminDashboardPage .adminFilterBar button small{font-size:16px}.adminDashboardPage .adminStack{gap:20px}.adminDashboardPage .adminAppointmentCard{padding:18px;border-radius:22px;gap:14px;box-shadow:0 18px 44px #52688f1f}.adminDashboardPage .adminAppointmentHeader{align-items:start}.adminDashboardPage .adminAppointmentPerson{grid-template-columns:58px minmax(0,1fr);gap:12px}.adminDashboardPage .adminAppointmentPerson .visitorAvatar{width:52px;height:52px;font-size:23px}.adminDashboardPage .adminAppointmentPeople:before{font-size:13px}.adminDashboardPage .adminAppointmentPeople strong{font-size:18px}.adminDashboardPage .adminAppointmentHeader>.badge{min-width:66px;min-height:30px;padding:0 12px;font-size:13px}.adminDashboardPage .adminAppointmentCompact{gap:9px}.adminDashboardPage .adminAppointmentCompact span{min-height:52px;padding:10px 12px;border-radius:13px;grid-template-columns:20px minmax(0,1fr);column-gap:7px}.adminDashboardPage .adminAppointmentCompact svg{width:18px;height:18px}.adminDashboardPage .adminAppointmentCompact b{font-size:13px}.adminDashboardPage .adminAppointmentCompact em{font-size:15px}.adminDashboardPage .adminAppointmentNote{font-size:14px;line-height:1.6}.adminDashboardPage .adminPaymentProof{padding:11px;border-radius:16px;grid-template-columns:60px minmax(0,1fr)}.adminDashboardPage .adminPaymentProof>button,.adminDashboardPage .adminPaymentProof img{width:52px;height:52px;border-radius:12px}.adminDashboardPage .adminPaymentProof strong{font-size:15px}.adminDashboardPage .adminPaymentProof span{margin-top:5px;font-size:13px}.adminDashboardPage .adminPaymentProof a,.adminDashboardPage .adminProofActions button{font-size:13px}.adminShell .bottomNav{left:max(19px,calc((100vw - 430px)/2 + 19px));right:max(19px,calc((100vw - 430px)/2 + 19px));min-height:74px;padding:8px 12px;border-radius:19px}.adminShell .bottomNav button{height:56px;min-height:56px;border-radius:14px;font-size:13px;gap:2px}.adminShell .bottomNav button svg{width:24px;height:24px}.adminShell .bottomNav button.active svg{width:35px;height:35px;padding:7px;border-radius:12px}@media(max-width:390px){.adminPage{padding:24px 15px 100px}.adminDashboardHero{min-height:136px;padding:23px 16px 14px;grid-template-columns:minmax(0,1fr) 84px}.adminDashboardHero h2{font-size:29px}.adminDashboardHero span{font-size:13px}.adminShieldBadge{width:62px;height:72px}.adminShieldBadge svg{width:36px;height:36px}.adminHeroVisual i{width:98px;height:30px}.adminOverviewStats{padding:16px 8px}.adminStatIcon{width:34px;height:34px}.adminOverviewStats strong{font-size:21px}.adminOverviewStats small{font-size:12px}}.adminDashboardPage .adminAppointmentCard{padding:21px 20px 20px;border:1px solid rgba(224,232,244,.95);border-radius:22px;background:#fffffff5;box-shadow:0 18px 42px #52688f1a;gap:18px}.adminDashboardPage .adminAppointmentHeader{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.adminDashboardPage .adminAppointmentPerson{grid-template-columns:58px minmax(0,1fr);gap:13px;align-items:start}.adminDashboardPage .adminAppointmentPerson .visitorAvatar{width:54px;height:54px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#83a1ff,#4f66ee);box-shadow:0 13px 24px #4b65e838;display:grid;place-items:center;font-size:24px;line-height:1;font-weight:900}.adminDashboardPage .adminAppointmentPeople{min-width:0;display:grid;grid-template-columns:1fr;gap:5px}.adminDashboardPage .adminAppointmentPeople:before{content:none}.adminDashboardPage .adminAppointmentPeople small,.adminDashboardPage .adminAppointmentPeople strong{min-width:0;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminDashboardPage .adminAppointmentPeople small{color:#75839b;font-size:13px;line-height:1.15;font-weight:700}.adminDashboardPage .adminAppointmentPeople strong{color:#101b37;font-size:18px;line-height:1.25;font-weight:900}.adminDashboardPage .adminAppointmentHeader>.badge{min-width:68px;min-height:30px;padding:0 12px;border-radius:999px;justify-content:center;font-size:13px;font-weight:900}.adminDashboardPage .adminAppointmentCompact{display:grid;grid-template-columns:1fr 1fr;gap:10px}.adminDashboardPage .adminAppointmentInfoBlock{min-width:0;min-height:68px;padding:13px 14px 12px;border:1px solid #e2eaf5;border-radius:13px;color:#101b37;background:#fbfdffeb;display:grid;grid-template-columns:20px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:8px;row-gap:4px}.adminDashboardPage .adminAppointmentInfoBlock svg{grid-row:1 / 3;align-self:start;width:17px;height:17px;margin-top:1px;color:#7b8aa3;stroke-width:2}.adminDashboardPage .adminAppointmentInfoBlock b,.adminDashboardPage .adminAppointmentInfoBlock em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminDashboardPage .adminAppointmentInfoBlock b{color:#74829a;font-size:13px;line-height:1.2;font-weight:700}.adminDashboardPage .adminAppointmentInfoBlock em{color:#121d3a;font-size:15px;line-height:1.25;font-style:normal;font-weight:900}.adminDashboardPage .adminAppointmentNote{margin:0;padding:0;color:#60718e;background:transparent;display:grid;gap:6px;font-size:14px;line-height:1.55}.adminDashboardPage .adminAppointmentNote span{color:#7b8aa3;font-size:13px;line-height:1.2;font-weight:700}.adminDashboardPage .adminPaymentProof{min-height:76px;padding:12px;border:1px solid #e1eaf5;border-radius:16px;background:#fbfdfff0;display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center}.adminDashboardPage .adminPaymentProof>button,.adminDashboardPage .adminPaymentProof img{width:54px;height:54px;border-radius:12px}.adminDashboardPage .adminPaymentProof>button{padding:0;border:0;background:transparent;overflow:hidden}.adminDashboardPage .adminPaymentProof img{border:1px solid #d8e2ef;object-fit:cover;background:#fff}.adminDashboardPage .adminPaymentProof strong{color:#121d3a;font-size:15px;line-height:1.2;font-weight:900}.adminDashboardPage .adminPaymentProof span{margin-top:7px;color:#60718e;font-size:13px;line-height:1.25}.adminDashboardPage .adminProofActions{margin-top:9px;gap:20px}.adminDashboardPage .adminPaymentProof a,.adminDashboardPage .adminProofActions button{color:#4169ff;font-size:13px;font-weight:800}@media(max-width:390px){.adminDashboardPage .adminAppointmentCard{padding:18px 16px;gap:15px}.adminDashboardPage .adminAppointmentCompact{gap:9px}.adminDashboardPage .adminAppointmentInfoBlock{min-height:62px;padding:11px 10px;grid-template-columns:18px minmax(0,1fr);column-gap:7px}.adminDashboardPage .adminAppointmentInfoBlock em{font-size:14px}}.adminDashboardPage .adminAppointmentCard{padding:18px 18px 17px;border-radius:21px;gap:14px;box-shadow:0 14px 34px #52688f17}.adminDashboardPage .adminAppointmentPerson{grid-template-columns:52px minmax(0,1fr);gap:12px}.adminDashboardPage .adminAppointmentPerson .visitorAvatar{width:50px;height:50px;font-size:22px;box-shadow:0 11px 20px #4b65e833}.adminDashboardPage .adminAppointmentPeople{gap:4px}.adminDashboardPage .adminAppointmentPeople small{color:#6f7d95;font-size:12px}.adminDashboardPage .adminAppointmentPeople strong{color:#071633;font-size:16px;line-height:1.24;font-weight:850}.adminDashboardPage .adminAppointmentHeader>.badge{min-width:64px;min-height:28px;padding:0 11px;font-size:12px}.adminDashboardPage .adminAppointmentCompact{gap:10px}.adminDashboardPage .adminAppointmentInfoBlock{min-height:58px;padding:10px 12px;border-radius:13px;grid-template-columns:18px minmax(0,1fr);column-gap:7px;row-gap:3px}.adminDashboardPage .adminAppointmentInfoBlock svg{width:16px;height:16px;margin-top:1px}.adminDashboardPage .adminAppointmentInfoBlock b{font-size:12px;font-weight:700}.adminDashboardPage .adminAppointmentInfoBlock em{font-size:14px;font-weight:850}.adminDashboardPage .adminAppointmentNote{min-height:58px;padding:11px 12px;border:1px solid #e2eaf5;border-radius:13px;color:#536884;background:#fbfdffeb;display:block;font-size:13px;line-height:1.55}.adminDashboardPage .adminAppointmentNote span{color:#687995;font-size:12px}.adminDashboardPage .adminPaymentProof{min-height:68px;padding:10px;border-radius:15px;grid-template-columns:50px minmax(0,1fr);gap:11px}.adminDashboardPage .adminPaymentProof>button,.adminDashboardPage .adminPaymentProof img{width:46px;height:46px;border-radius:11px}.adminDashboardPage .adminPaymentProof strong{font-size:14px;font-weight:850}.adminDashboardPage .adminPaymentProof span{margin-top:5px;font-size:12px}.adminDashboardPage .adminProofActions{margin-top:7px;gap:18px}.adminDashboardPage .adminPaymentProof a,.adminDashboardPage .adminProofActions button{font-size:12px}.adminShell .bottomNav{position:fixed;left:0;right:0;bottom:0;z-index:60;min-height:calc(82px + env(safe-area-inset-bottom));padding:8px 12px max(10px,env(safe-area-inset-bottom));border:0;border-top:1px solid rgba(229,233,240,.96);border-radius:0;background:#fff;box-shadow:0 -8px 22px #1f2d4814;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;align-items:end}.adminShell .bottomNav button{width:100%;height:58px;min-width:0;min-height:58px;margin:0;border:0;border-radius:0;color:#a3a9b5;background:transparent;box-shadow:none;display:grid;place-items:center;align-content:center;gap:3px;font-size:13px;font-weight:700}.adminShell .bottomNav button svg,.adminShell .bottomNav button.active svg{width:24px;height:24px;padding:0;border-radius:0;color:currentColor;background:transparent;box-shadow:none}.adminShell .bottomNav button.active{color:#fff;border-radius:12px;background:#243653;box-shadow:none}.adminShell:has(.adminCounselorManagePage){background:radial-gradient(circle at 108% 12%,rgba(205,225,255,.86) 0 18%,transparent 39%),linear-gradient(180deg,#f8fbff,#eef5ff 46%,#f8fbff)}.adminCounselorManagePage{width:min(100%,430px);min-height:100vh;padding:0 12px 122px;background:radial-gradient(circle at 107% 10%,rgba(211,228,255,.9) 0 18%,transparent 38%),linear-gradient(180deg,#f8fbff,#edf5ff 46%,#f8fbff)}.adminCounselorHero{min-height:232px;margin:0 -12px;padding:42px 26px 64px;grid-template-columns:minmax(0,1fr) auto;gap:14px}.adminCounselorHero:before{width:330px;height:330px;right:-166px;top:72px;border-color:#ffffffe0}.adminCounselorHero:after{width:218px;height:218px;right:-86px;top:124px;border-color:#ffffff94}.adminCounselorHero h2{color:#11294d;font-size:40px;line-height:1.08;font-weight:950}.adminCounselorHero p{max-width:230px;margin-top:14px;color:#6f7f99;font-size:17px;line-height:1.55;font-weight:700}.adminAddCounselorButton{min-height:58px;padding:0 20px;border-radius:12px;background:linear-gradient(135deg,#24b99d,#0b897b);box-shadow:0 15px 30px #0d897a47,inset 0 1px #ffffff47;font-size:18px}.adminCounselorListPanel{margin-top:-38px;padding:24px 14px 28px;border:1px solid rgba(226,234,246,.82);border-radius:31px;background:#fffffff0;box-shadow:0 28px 64px #344a6e1f}.adminCounselorToolbar{margin-bottom:22px;grid-template-columns:minmax(0,1fr) 106px;gap:14px}.adminCounselorSearch,.adminCounselorStatusSelect{height:58px;border-color:#dce5f1;border-radius:17px;background:#fff;box-shadow:0 8px 20px #2a3e5e09,inset 0 1px #ffffffeb}.adminCounselorCard{min-height:188px;padding:20px 18px;border:1px solid rgba(221,230,243,.95);border-radius:24px;background:linear-gradient(180deg,#fffffffa,#fcfefff5);box-shadow:0 20px 46px #35496b1a;grid-template-columns:86px minmax(0,1fr) 84px;gap:16px}.adminCounselorMain strong{color:#10294e;font-size:25px;line-height:1.16}.adminCounselorMain span{border:1px solid #c8f1e1;color:#098b71;background:#dcf8ed}.adminCounselorMain small,.adminCounselorMain em{color:#75839a}.adminShell:has(.adminCounselorManagePage) .bottomNav{left:max(0px,calc((100vw - 430px)/2));right:max(0px,calc((100vw - 430px)/2));bottom:0;min-height:calc(88px + env(safe-area-inset-bottom));padding:10px 20px max(10px,env(safe-area-inset-bottom));border:0;border-radius:30px 30px 0 0;background:#fffffff7;box-shadow:0 -18px 42px #364a6c1f;align-items:center;gap:8px}.adminShell:has(.adminCounselorManagePage) .bottomNav button{height:58px;min-height:58px;border-radius:16px;color:#67758d;font-size:14px;font-weight:750;gap:4px}.adminShell:has(.adminCounselorManagePage) .bottomNav button svg,.adminShell:has(.adminCounselorManagePage) .bottomNav button.active svg{width:27px;height:27px;color:currentColor}.adminShell:has(.adminCounselorManagePage) .bottomNav button.active{color:#fff;background:#203654;box-shadow:0 14px 30px #2036543d}@media(max-width:390px){.adminCounselorHero{padding-left:22px;padding-right:22px}.adminCounselorHero h2{font-size:34px}.adminCounselorHero p{max-width:190px;font-size:15px}.adminAddCounselorButton{min-height:52px;padding:0 14px;font-size:16px}.adminCounselorToolbar{grid-template-columns:minmax(0,1fr) 98px;gap:10px}.adminCounselorCard{grid-template-columns:74px minmax(0,1fr) 76px;gap:12px;padding:18px 14px}.adminCounselorPhotoWrap{width:74px;height:74px}.adminCounselorMain strong{font-size:22px}}.adminCounselorManagePage{padding:0 12px 108px}.adminCounselorHero{min-height:194px;padding:34px 23px 50px}.adminCounselorHero:before{width:286px;height:286px;right:-142px;top:62px}.adminCounselorHero:after{width:188px;height:188px;right:-72px;top:110px}.adminCounselorHero h2{font-size:34px;line-height:1.1}.adminCounselorHero p{max-width:220px;margin-top:11px;font-size:15px;line-height:1.45}.adminAddCounselorButton{min-height:48px;padding:0 16px;border-radius:10px;box-shadow:0 12px 22px #0d897a38,inset 0 1px #ffffff3d;font-size:16px;gap:8px}.adminAddCounselorButton svg{width:23px;height:23px}.adminCounselorListPanel{margin-top:-28px;padding:18px 12px 22px;border-radius:26px;box-shadow:0 20px 46px #344a6e1a}.adminCounselorToolbar{margin-bottom:16px;grid-template-columns:minmax(0,1fr) 98px;gap:10px}.adminCounselorSearch,.adminCounselorStatusSelect{height:48px;border-radius:14px}.adminCounselorSearch{padding:0 13px;gap:8px}.adminCounselorSearch svg{width:19px;height:19px}.adminCounselorSearch input{font-size:14px}.adminCounselorStatusSelect{padding:0 10px 0 12px}.adminCounselorStatusSelect select{font-size:13px}.adminCounselorStatusSelect svg{width:17px;height:17px}.adminCounselorList{gap:14px}.adminCounselorCard{min-height:150px;padding:15px 14px;border-radius:20px;grid-template-columns:72px minmax(0,1fr) 74px;gap:12px;box-shadow:0 14px 32px #35496b14}.adminCounselorPhotoWrap{width:72px;height:72px;border-radius:15px;box-shadow:0 9px 18px #2333521a}.adminCounselorMain{gap:6px}.adminCounselorMain strong{font-size:21px;line-height:1.16}.adminCounselorMain span{padding:4px 8px;border-radius:8px;font-size:12px}.adminCounselorMain small{font-size:12px;line-height:1.35}.adminCounselorMain em{margin-top:12px;font-size:12px;gap:6px}.adminCounselorMain em svg{width:15px;height:15px}.adminCounselorActions{gap:8px}.adminCounselorStatus{min-height:30px;padding:0 9px;font-size:12px;gap:6px}.adminCounselorStatus i{width:7px;height:7px}.adminCounselorAction{min-height:34px;padding:0 8px;border-radius:8px;gap:6px;font-size:12px}.adminCounselorAction svg{width:15px;height:15px}.adminShell:has(.adminCounselorManagePage) .bottomNav{min-height:calc(78px + env(safe-area-inset-bottom));padding:8px 18px max(8px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0}.adminShell:has(.adminCounselorManagePage) .bottomNav button{height:52px;min-height:52px;border-radius:14px;font-size:12px}.adminShell:has(.adminCounselorManagePage) .bottomNav button svg,.adminShell:has(.adminCounselorManagePage) .bottomNav button.active svg{width:23px;height:23px}@media(max-width:390px){.adminCounselorHero{min-height:184px;padding:30px 20px 46px}.adminCounselorHero h2{font-size:30px}.adminCounselorHero p{max-width:176px;font-size:13px}.adminAddCounselorButton{min-height:44px;padding:0 12px;font-size:14px}.adminCounselorToolbar{grid-template-columns:minmax(0,1fr) 90px;gap:8px}.adminCounselorCard{min-height:140px;grid-template-columns:64px minmax(0,1fr) 68px;gap:10px;padding:14px 12px}.adminCounselorPhotoWrap{width:64px;height:64px}.adminCounselorMain strong{font-size:19px}.adminCounselorAction{min-height:32px;font-size:11px}}.adminShell:has(.adminCounselorManagePage) .bottomNav{position:fixed;left:0;right:0;bottom:0;z-index:60;min-height:calc(82px + env(safe-area-inset-bottom));padding:8px 12px max(10px,env(safe-area-inset-bottom));border:0;border-top:1px solid rgba(229,233,240,.96);border-radius:0;background:#fff;box-shadow:0 -8px 22px #1f2d4814;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;align-items:end}.adminShell:has(.adminCounselorManagePage) .bottomNav button{width:100%;height:58px;min-width:0;min-height:58px;margin:0;border:0;border-radius:0;color:#a3a9b5;background:transparent;box-shadow:none;display:grid;place-items:center;align-content:center;gap:3px;font-size:13px;font-weight:700}.adminShell:has(.adminCounselorManagePage) .bottomNav button svg,.adminShell:has(.adminCounselorManagePage) .bottomNav button.active svg{width:24px;height:24px;padding:0;border-radius:0;color:currentColor;background:transparent;box-shadow:none}.adminShell:has(.adminCounselorManagePage) .bottomNav button.active{color:#fff;border-radius:12px;background:#243653;box-shadow:none}.visitorShell .bookingPage .calendarDays button.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#243653,#365176);box-shadow:0 12px 24px #2436533d;opacity:1}.visitorShell .bookingPage .calendarDays button.active:not(.hasSlot){color:#243653;border-color:#cfe0f3;background:#fff;box-shadow:inset 0 0 0 1px #c2d3e894,0 8px 18px #2333520f}.visitorShell .bookingPage .calendarDays button.active.expiredDay,.visitorShell .bookingPage .calendarDays button.active:disabled{color:#7e8ca1;border-color:#d6e0ec;background:#f2f6fb;box-shadow:inset 0 0 0 1px #c7d2e094}.visitorShell .bookingPage .calendarDays button.active:disabled:before{background:#7e8ca175}.visitorShell .bookingPage .calendarDays button.active.hasSlot:after{background:#fff}.visitorShell .bookingPage .calendarDays button.active:not(.expiredDay):not(:disabled){color:#fff;border-color:#243653;background:linear-gradient(135deg,#1f3452,#2c466c);box-shadow:0 12px 24px #1f345247,0 0 0 3px #24365324;transform:translateY(-1px)}.visitorShell .bookingPage .calendarDays button.active:not(.expiredDay):not(:disabled):after{background:#fff}.visitorShell .bookingPage .calendarDays button.active:not(.expiredDay):not(:disabled):before{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.24);border-radius:11px;pointer-events:none}.visitorShell .bookingPage .calendarDays button.active:not(.expiredDay):not(:disabled){color:#243653;border-color:#c9d6e6;background:linear-gradient(180deg,#f6f8fb,#e9eef5);box-shadow:inset 0 1px #ffffffeb,0 0 0 3px #97a6bb29,0 10px 20px #31415c14;transform:none}.visitorShell .bookingPage .calendarDays button.active:not(.expiredDay):not(:disabled):before{display:none}.visitorShell .bookingPage .calendarDays button.active.hasSlot:after,.visitorShell .bookingPage .calendarDays button.active:not(.expiredDay):not(:disabled):after{background:#8fa0b6}.visitorShell .bookingPage .bookingNoteField textarea::placeholder{color:#b8c1cf}.visitorShell .bookingPage .bookingNoteField textarea{color:#263955;background:#ffffffdb}.visitorShell .bookingPage .paymentProofField{position:relative;padding:16px 16px 16px 70px;min-height:94px;border:1px solid #dce6f2;border-radius:18px;color:#8793a6;background:radial-gradient(circle at 92% 0%,rgba(202,216,236,.22),transparent 34%),linear-gradient(180deg,#fffffff5,#f8fbffe6);box-shadow:inset 0 1px #ffffffe6,0 12px 30px #2333520f;align-content:center;gap:7px;overflow:hidden}.visitorShell .bookingPage .paymentProofField:before{content:"";position:absolute;left:16px;top:50%;width:40px;height:40px;border:1px solid #d5e0ee;border-radius:14px;background:linear-gradient(#7f8fa5,#7f8fa5) center 13px / 14px 2px no-repeat,linear-gradient(#7f8fa5,#7f8fa5) center 13px / 2px 14px no-repeat,linear-gradient(180deg,#fff,#edf3fa);box-shadow:0 8px 18px #31415c14;transform:translateY(-50%)}.visitorShell .bookingPage .paymentProofField>span{color:#243653;font-size:14px;line-height:1.2;font-weight:850}.visitorShell .bookingPage .paymentProofField>small{color:#98a4b6;line-height:1.5}.visitorShell .bookingPage .paymentProofField input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.visitorShell .bookingPage .paymentProofField:focus-within,.visitorShell .bookingPage .paymentProofField:hover{border-color:#cbd8e8;background:radial-gradient(circle at 92% 0%,rgba(202,216,236,.28),transparent 34%),linear-gradient(180deg,#fff,#f6f9fd)}.visitorShell .bookingPage .paymentProofPreview{min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center}.visitorShell .bookingPage .paymentProofPreview img{width:46px;height:46px;border-radius:13px;border:1px solid #d8e2ef;box-shadow:0 8px 18px #23335214}.visitorShell .bookingPage .paymentProofPreview small{min-width:0;color:#5f6f86;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visitorShell .bookingPage .calendarDays button.active:not(.expiredDay):not(:disabled){color:#1f304c;border-color:#aebdce;background:linear-gradient(180deg,#eef2f6,#dce4ed);box-shadow:inset 0 1px #ffffffd1,0 0 0 3px #73849a33,0 10px 20px #31415c1a}.paymentProofOverlay{position:fixed;inset:0;z-index:90;padding:12px;display:grid;place-items:end center;background:#0e18266b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.paymentProofDialog{width:min(100%,398px);max-height:calc(100dvh - 24px);padding:18px;border:1px solid rgba(226,234,246,.92);border-radius:26px;background:radial-gradient(circle at 92% 0%,rgba(209,222,240,.35),transparent 32%),linear-gradient(180deg,#fffffffa,#f7fafff5);box-shadow:0 28px 72px #1622343d;display:grid;gap:14px;overflow-y:auto;overscroll-behavior:contain}.paymentProofDialog header{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:12px;align-items:start}.paymentProofDialog header strong,.paymentProofDialog header span{display:block}.paymentProofDialog header strong{color:#10233f;font-size:19px;line-height:1.2;font-weight:900}.paymentProofDialog header span{margin-top:6px;color:#8b97a8;font-size:13px;line-height:1.5}.paymentProofDialog header button{width:36px;height:36px;padding:0;border:1px solid #e0e8f2;border-radius:13px;color:#62728a;background:#fff;display:grid;place-items:center}.paymentProofSummary{margin:0;padding:12px;border:1px solid #e2eaf4;border-radius:17px;background:#fafcffdb;display:grid;gap:9px}.paymentProofSummary div{min-width:0;display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px}.paymentProofSummary dt{color:#96a1b1;font-size:12px;font-weight:750}.paymentProofSummary dd{min-width:0;margin:0;color:#273b59;font-size:13px;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paymentChannelPanel{padding:12px;border:1px solid #e2eaf4;border-radius:18px;background:#fafcffe6;display:grid;gap:12px}.paymentChannelTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.paymentChannelTabs button{min-height:44px;border:1px solid #dce6f2;border-radius:14px;color:#53637a;background:#fff;display:flex;gap:6px;align-items:center;justify-content:center;font-size:14px;font-weight:900}.paymentChannelTabs button.active{color:#173055;border-color:#b9c9dd;background:linear-gradient(180deg,#fff,#edf4fb);box-shadow:0 10px 22px #2c416014}.paymentChannelTabs small{padding:2px 6px;border-radius:999px;color:#0f8c72;background:#e2f7ee;font-size:11px}.paymentAutoBox{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:center}.paymentAutoBox strong,.paymentAutoBox span{display:block}.paymentAutoBox strong{color:#1f304c;font-size:15px;font-weight:950}.paymentAutoBox span{margin-top:4px;color:#7b8798;font-size:12px;font-weight:800;line-height:1.4}.paymentScanStatus{margin:0;padding:9px 11px;border-radius:12px;color:#56677f;background:#eef4fb;font-size:12px;font-weight:850;line-height:1.45}.paymentQrFallback{padding:12px;border:1px dashed #cbd8e8;border-radius:16px;background:#fff;display:grid;gap:9px;justify-items:center}.paymentQrFallback img{width:min(100%,220px);aspect-ratio:1;border-radius:16px;object-fit:cover;box-shadow:0 14px 28px #1c2a401f}.paymentQrFallback span{color:#53637a;font-size:12px;font-weight:850;text-align:center}.visitorShell .bookingPage .paymentProofDialogUpload,.paymentProofDialog .paymentProofDialogUpload{margin-top:0}.paymentProofDialogActions{position:sticky;bottom:-18px;margin:0 -18px -18px;padding:12px 18px 14px;border-top:1px solid rgba(224,232,242,.9);background:#f8fbfff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-template-columns:1fr 1fr;gap:10px}.paymentProofDialogActions button{min-height:44px;border-radius:14px}.paymentProofDialog .paymentProofDialogUpload:has(.paymentProofPreview){min-height:112px;padding:14px;border-style:solid;border-color:#d8e3f0;background:radial-gradient(circle at 96% 8%,rgba(205,218,237,.3),transparent 34%),linear-gradient(180deg,#fff,#f7faff);gap:10px}.paymentProofDialog .paymentProofDialogUpload:has(.paymentProofPreview):before{display:none}.paymentProofDialog .paymentProofDialogUpload:has(.paymentProofPreview)>span{padding-left:2px;color:#1f304c;font-size:15px}.paymentProofDialog .paymentProofDialogUpload:has(.paymentProofPreview) .paymentProofPreview{position:relative;min-height:78px;padding:10px 84px 10px 10px;border:1px solid #e2e9f3;border-radius:18px;background:#f8fbffeb;box-shadow:inset 0 1px #ffffffe6;grid-template-columns:64px minmax(0,1fr);gap:12px}.paymentProofDialog .paymentProofDialogUpload:has(.paymentProofPreview) .paymentProofPreview:after{content:"点击更换";position:absolute;right:12px;top:50%;min-height:28px;padding:0 10px;border:1px solid #d8e2ef;border-radius:999px;color:#65748a;background:#fff;display:inline-flex;align-items:center;font-size:12px;font-weight:800;transform:translateY(-50%)}.paymentProofDialog .paymentProofDialogUpload:has(.paymentProofPreview) .paymentProofPreview img{width:64px;height:64px;border-radius:16px;border-color:#d4deeb;object-fit:cover;box-shadow:0 10px 22px #2333521f}.paymentProofDialog .paymentProofDialogUpload:has(.paymentProofPreview) .paymentProofPreview small{color:#40536e;font-size:13px;line-height:1.35;font-weight:850}.completeDialog .cancelDialogIcon,.approveDialog .cancelDialogIcon,.cancelDialogIcon.approve{color:#0f8c72;background:#e3f8ef}.adminCounselorStatusSelect{position:relative;z-index:6;height:48px;min-width:116px;padding:0;border:0;overflow:visible;background:transparent;box-shadow:none}.adminStatusTrigger{width:100%;height:48px;padding:0 11px 0 13px;border:1px solid rgba(210,220,235,.96);border-radius:14px;color:#23314d;background:linear-gradient(180deg,#fff,#f8fbff);display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;text-align:left;box-shadow:0 10px 22px #2d446714,inset 0 1px #fffffff5}.adminStatusTrigger span,.adminStatusMenu span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;letter-spacing:0}.adminStatusTrigger small,.adminStatusMenu small{min-width:22px;height:22px;padding:0 7px;border-radius:999px;color:#66758f;background:#edf3fa;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}.adminStatusTrigger svg{color:#78879b;transform:rotate(90deg);transition:transform .18s ease}.adminCounselorStatusSelect.open .adminStatusTrigger{border-color:#b9c9dd;box-shadow:0 14px 28px #2941621f,inset 0 1px #fffffffa}.adminCounselorStatusSelect.open .adminStatusTrigger svg{transform:rotate(-90deg)}.adminStatusMenu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:142px;padding:7px;border:1px solid rgba(214,224,238,.95);border-radius:16px;background:#fffffffa;box-shadow:0 22px 44px #24375329;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.adminStatusMenu button{width:100%;min-height:38px;padding:0 8px 0 10px;border:0;border-radius:11px;color:#53627a;background:transparent;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;text-align:left}.adminStatusMenu button.active{color:#20304b;background:#f0f5fb}.adminStatusMenu button.active small{color:#fff;background:#42546e}.adminVisitorsPage{padding-bottom:98px}.adminVisitorPanel{margin-top:14px;padding:16px;border:1px solid rgba(224,232,244,.92);border-radius:24px;background:#fffffff5;box-shadow:0 22px 48px #273b5c17}.adminVisitorToolbar{margin-bottom:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.adminVisitorToolbar>span{padding:0 12px;height:38px;border-radius:999px;color:#63728a;background:#f1f5fa;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;white-space:nowrap}.adminVisitorSearch{height:46px;border-radius:14px}.adminVisitorLayout{display:grid;grid-template-columns:minmax(0,.96fr) minmax(280px,1.04fr);gap:14px;align-items:start}.adminVisitorList{display:grid;gap:10px}.adminVisitorRow{width:100%;min-height:72px;padding:10px;border:1px solid #e7edf5;border-radius:16px;color:#25334d;background:#fff;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;box-shadow:0 10px 22px #2d44670d}.adminVisitorRow.active{border-color:#c6d4e4;background:linear-gradient(180deg,#fff,#f6f9fd);box-shadow:0 14px 28px #2d44671a}.adminVisitorRow strong,.adminVisitorRow small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminVisitorRow strong{font-size:15px;font-weight:950}.adminVisitorRow small{margin-top:4px;color:#7b8797;font-size:12px;font-weight:800}.adminVisitorRow em{min-width:42px;height:26px;border-radius:999px;color:#5f6f86;background:#f0f4f8;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-style:normal;font-weight:900}.adminVisitorMessageCard{min-height:306px;padding:16px;border:1px solid #e4ebf4;border-radius:18px;background:linear-gradient(180deg,#fbfdff,#fff)}.adminVisitorMessageCard header{display:grid;grid-template-columns:50px minmax(0,1fr);gap:12px;align-items:center}.adminVisitorMessageCard h3,.adminVisitorMessageCard p{margin:0}.adminVisitorMessageCard h3{color:#1f2e49;font-size:20px;font-weight:950}.adminVisitorMessageCard p{margin-top:4px;color:#768398;font-size:13px;font-weight:800}.adminVisitorStats{margin:14px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.adminVisitorStats span{min-height:38px;padding:0 8px;border-radius:12px;color:#5d6d84;background:#f1f5fa;display:flex;gap:6px;align-items:center;justify-content:center;font-size:12px;font-weight:900}.adminVisitorStats svg{color:#7d8da3}.adminVisitorMessageForm{display:grid;gap:10px}.adminVisitorMessageForm label{color:#5f6d82;display:grid;gap:8px;font-size:13px;font-weight:900}.adminVisitorMessageForm textarea{width:100%;min-height:126px;resize:vertical;padding:13px 14px;border:1px solid #dce5f0;border-radius:14px;color:#243653;background:#fff;font:inherit;font-size:14px;line-height:1.55;outline:0}.adminVisitorMessageForm textarea::placeholder{color:#9da9b9}.adminVisitorMessageForm textarea:focus{border-color:#bdcbda;box-shadow:0 0 0 4px #485c7614}.adminVisitorMessageForm>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.adminVisitorMessageForm small{color:#8a96a6;font-size:12px;font-weight:900}.adminVisitorMessageForm button{min-height:42px;padding:0 14px;border-radius:12px;display:inline-flex;gap:7px;align-items:center}.adminVisitorMessageStatus{margin:0;color:#4f637c;font-size:13px;font-weight:900}@media(max-width:720px){.adminVisitorPanel{padding:13px;border-radius:20px}.adminVisitorToolbar,.adminVisitorLayout{grid-template-columns:1fr}.adminVisitorToolbar>span{justify-self:start}.adminVisitorStats{grid-template-columns:1fr}}.adminCounselorToolbar{grid-template-columns:minmax(0,1fr) 142px}.adminCounselorStatusSelect{width:142px;min-width:142px}.adminStatusTrigger{grid-template-columns:minmax(56px,1fr) 24px 18px;gap:7px}.adminStatusTrigger span{overflow:visible;text-overflow:clip}.adminVisitorsPage.list .adminPageTitle{margin-bottom:14px}.adminVisitorListPanel{padding:12px;border-radius:22px}.adminVisitorsPage.list .adminVisitorToolbar{margin-bottom:10px;grid-template-columns:minmax(0,1fr) auto}.adminVisitorsPage.list .adminVisitorList{gap:0;overflow:hidden;border:1px solid #e7edf5;border-radius:18px;background:#fff}.adminVisitorsPage.list .adminVisitorRow{min-height:76px;padding:11px 12px;border:0;border-radius:0;border-bottom:1px solid #eef3f8;grid-template-columns:48px minmax(0,1fr) 18px;box-shadow:none}.adminVisitorsPage.list .adminVisitorRow:last-child{border-bottom:0}.adminVisitorsPage.list .adminVisitorRow:active{background:#f6f8fb}.adminVisitorsPage.list .adminVisitorRow svg{color:#a1adbc}.adminVisitorSurveyState{margin-top:3px;color:#7b8798}.adminVisitorProfileCard{padding:14px;border:1px solid #e4ebf4;border-radius:20px;background:#fff;display:grid;gap:12px}.adminVisitorProfileCard header{display:flex;gap:12px;align-items:center;justify-content:space-between}.adminVisitorProfileCard h3,.adminVisitorProfileCard p{margin:0}.adminVisitorProfileCard h3{color:#243653;font-size:16px;font-weight:950}.adminVisitorProfileCard p{margin-top:3px;color:#738299;font-size:12px;font-weight:850}.adminVisitorChatButton{min-height:38px;padding:0 13px;border:0;border-radius:13px;color:#fff;background:#243653;display:inline-flex;gap:7px;align-items:center;justify-content:center;font-weight:950}.adminVisitorInfoGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.adminVisitorInfoGrid span{min-width:0;padding:11px 12px;border-radius:14px;background:#f6f9fc}.adminVisitorInfoGrid small,.adminVisitorInfoGrid strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminVisitorInfoGrid small{color:#78879b;font-size:12px;font-weight:850}.adminVisitorInfoGrid strong{margin-top:5px;color:#243653;font-size:14px;font-weight:950}.adminVisitorDetailHeader{min-height:86px;padding:12px 4px 14px;display:grid;grid-template-columns:42px 54px minmax(0,1fr);gap:10px;align-items:center}.adminVisitorDetailHeader button{width:38px;height:38px;border:1px solid #dce5f0;border-radius:13px;color:#283a58;background:#fff;display:inline-flex;align-items:center;justify-content:center}.adminVisitorDetailHeader .visitorAvatar{width:54px;height:54px;font-size:19px}.adminVisitorDetailHeader h2,.adminVisitorDetailHeader p{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminVisitorDetailHeader h2{color:#10294f;font-size:25px;font-weight:950}.adminVisitorDetailHeader p{margin-top:4px;color:#738299;font-size:13px;font-weight:800}.adminVisitorsPage.detail .adminVisitorStats{margin:0 0 12px;grid-template-columns:repeat(3,minmax(0,1fr))}.adminVisitorSurveyCard{padding:14px;border:1px solid #e4ebf4;border-radius:20px;background:#fff;display:grid;gap:12px}.adminVisitorSurveyCard header{display:flex;align-items:center;justify-content:space-between;gap:12px}.adminVisitorSurveyCard h3{margin:0;color:#243653;font-size:15px;font-weight:950}.adminVisitorSurveyCard header span{flex:0 0 auto;padding:5px 9px;border-radius:999px;color:#37624e;background:#e8f6ee;font-size:12px;font-weight:900}.adminVisitorSurveyList{display:grid;gap:9px}.adminVisitorSurveyItem{padding:11px 12px;border-radius:14px;background:#f6f9fc}.adminVisitorSurveyItem strong,.adminVisitorSurveyItem p{margin:0;line-height:1.45}.adminVisitorSurveyItem strong{display:block;color:#293b58;font-size:13px;font-weight:950}.adminVisitorSurveyItem p{margin-top:5px;color:#536176;font-size:13px;font-weight:850}.adminVisitorsPage.detail .adminVisitorMessageCard{min-height:360px;padding:14px;border-radius:20px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px}.adminVisitorMessageHistory{min-height:240px;max-height:calc(100dvh - 380px);overflow-y:auto;padding-right:2px;display:grid;gap:9px;align-content:start}.adminVisitorMessageHistory>strong,.adminVisitorAppointments h3{margin:0;color:#243653;font-size:15px;font-weight:950}.adminVisitorMessageHistory>p{margin:0;padding:16px 12px;border-radius:14px;color:#7c899b;background:#f4f7fb;font-size:13px;font-weight:800;text-align:center}.adminVisitorMessageHistory article{max-width:88%;padding:10px 12px;border-radius:14px 14px 14px 6px;color:#31425e;background:#f1f5fa;justify-self:start}.adminVisitorMessageHistory article.mine{color:#fff;background:#263a5d;border-radius:14px 14px 6px;justify-self:end}.adminVisitorMessageHistory article span,.adminVisitorMessageHistory article time{display:block;font-size:11px;font-weight:850;opacity:.72}.adminVisitorMessageHistory article p{margin:4px 0;font-size:13px;line-height:1.5;font-weight:800}.adminVisitorAppointments{padding:14px;border:1px solid #e4ebf4;border-radius:20px;background:#fff;display:grid;gap:10px}.adminVisitorAppointments article{min-height:58px;padding:10px 11px;border-radius:14px;background:#f6f9fc;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.adminVisitorAppointments strong,.adminVisitorAppointments span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adminVisitorAppointments strong{color:#243653;font-size:14px;font-weight:950}.adminVisitorAppointments span{margin-top:4px;color:#748397;font-size:12px;font-weight:800}.adminVisitorAppointments .badge{margin:0;font-style:normal}@media(max-width:390px){.adminCounselorToolbar{grid-template-columns:minmax(0,1fr) 136px}.adminCounselorStatusSelect{width:136px;min-width:136px}.adminStatusTrigger{padding-left:11px;padding-right:9px;grid-template-columns:minmax(54px,1fr) 23px 16px}}.adminShell:has(.adminVisitorsPage.detail.chat){overflow:hidden}.adminShell:has(.adminVisitorsPage.detail.chat) .content{min-height:100dvh;overflow:hidden}.adminVisitorsPage.detail{width:min(100%,430px);min-height:calc(100dvh - 82px - env(safe-area-inset-bottom));padding:12px 14px calc(110px + env(safe-area-inset-bottom));display:grid;grid-template-rows:auto auto auto;gap:10px;overflow:visible}.adminVisitorsPage.detail.chat{height:calc(100dvh - 82px - env(safe-area-inset-bottom));min-height:0;padding-bottom:0;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.adminVisitorsPage.detail.profile .adminVisitorMessageCard,.adminVisitorsPage.detail.chat .adminVisitorProfileCard,.adminVisitorsPage.detail.chat .adminVisitorSurveyCard{display:none}.adminVisitorsPage.detail .adminVisitorDetailHeader{min-height:74px;padding:0 2px 8px;grid-template-columns:42px 48px minmax(0,1fr);gap:10px}.adminVisitorsPage.detail .adminVisitorDetailHeader button{width:38px;height:38px;border-radius:14px;border-color:#dbe5f2;background:#ffffffe6}.adminVisitorsPage.detail .adminVisitorDetailHeader .visitorAvatar{width:48px;height:48px;border-radius:17px;background:linear-gradient(145deg,#7ea0ff,#5e79ec);box-shadow:0 14px 28px #4d66e433}.adminVisitorsPage.detail .adminVisitorDetailHeader h2{font-size:24px;line-height:1.1}.adminVisitorsPage.detail .adminVisitorDetailHeader p{margin-top:5px;color:#75849b;font-size:13px}.adminVisitorsPage.detail .adminVisitorMessageCard{min-height:0;height:100%;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;overflow:hidden}.adminVisitorsPage.detail .adminVisitorMessageHistory{min-height:0;max-height:none;padding:8px 0 12px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;display:flex;flex-direction:column;gap:10px}.adminVisitorsPage.detail .adminVisitorMessageHistory::-webkit-scrollbar{width:0;height:0;display:none}.adminVisitorsPage.detail .adminVisitorMessageHistory>p{margin:auto;padding:13px 16px;color:#8290a6;background:#ffffffb8;border:1px solid rgba(224,232,244,.78);border-radius:16px;font-size:13px;font-weight:800}.adminVisitorsPage.detail .adminVisitorMessageHistory article{max-width:82%;padding:9px 12px 8px;border:1px solid rgba(225,232,242,.82);border-radius:16px 16px 16px 5px;color:#263653;background:#ffffffe6;box-shadow:0 10px 22px #2538580f;justify-self:auto;align-self:flex-start}.adminVisitorsPage.detail .adminVisitorMessageHistory article.mine{color:#fff;border-color:#24365314;border-radius:16px 16px 5px;background:#243653;box-shadow:0 12px 24px #24365329;justify-self:auto;align-self:flex-end}.adminVisitorsPage.detail .adminVisitorMessageHistory article span,.adminVisitorsPage.detail .adminVisitorMessageHistory article time{color:inherit;opacity:.68}.adminVisitorsPage.detail .adminVisitorMessageHistory article p{color:inherit;margin:5px 0 4px;font-size:14px;line-height:1.45;font-weight:750}.adminVisitorsPage.detail .adminVisitorMessageForm{position:relative;margin:0 -14px;padding:10px 14px 12px;border-top:1px solid rgba(222,229,240,.9);background:#f8fbfff5;display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:10px;align-items:end}.adminVisitorsPage.detail .adminVisitorMessageForm textarea{width:100%;height:44px;min-height:44px;max-height:92px;resize:none;padding:11px 14px;border:1px solid #d9e3f0;border-radius:16px;color:#243653;background:#fff;font-size:14px;line-height:1.4;outline:0;box-shadow:0 8px 18px #2538580d}.adminVisitorsPage.detail .adminVisitorMessageForm textarea::placeholder{color:#a2adbd}.adminVisitorsPage.detail .adminVisitorMessageForm textarea:focus{border-color:#b9c9dd;box-shadow:0 0 0 4px #455b7a14}.adminVisitorsPage.detail .adminVisitorMessageForm button{width:46px;height:44px;min-height:44px;padding:0;border-radius:16px;justify-content:center;background:#243653}.adminVisitorsPage.detail .adminVisitorMessageForm button:disabled{opacity:.45}.adminVisitorsPage.detail .adminVisitorMessageStatus{grid-column:1 / -1;margin:-2px 2px 0;color:#65748b;font-size:12px}.adminCounselorEditPage{width:min(100%,430px);min-height:100vh;padding:18px 14px calc(108px + env(safe-area-inset-bottom));color:#182845;background:radial-gradient(circle at 8% 0%,rgba(230,240,255,.95) 0 22%,transparent 42%),radial-gradient(circle at 102% 2%,rgba(235,230,255,.9) 0 20%,transparent 40%),linear-gradient(180deg,#f8fbff,#f3f7ff 48%,#f8fbff)}.adminCounselorEditPage .adminEditHeader{min-height:46px;margin:0 0 12px;grid-template-columns:42px minmax(0,1fr);gap:10px}.adminCounselorEditPage .adminEditHeader button{width:40px;height:40px;border-radius:14px;border-color:#dae2f0f2;color:#1d2d4d;background:#ffffffdb;box-shadow:0 10px 24px #2d446714}.adminCounselorEditPage .adminEditHeader h2{color:#111f39;font-size:22px;line-height:1.15;font-weight:950}.adminCounselorEditPage .adminEditHeader p{margin-top:4px;color:#77869d;font-size:12px;line-height:1.35;font-weight:750}.adminCounselorEditPage .adminCounselorForm{gap:14px}.adminCounselorEditPage .adminFormGlassCard{padding:16px 15px;border:1px solid rgba(225,232,244,.9);border-radius:18px;background:linear-gradient(145deg,#fffffff5,#ffffffc7 62%,#f5f8ffe6);box-shadow:0 18px 42px #374c7014;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;gap:13px}.adminCounselorEditPage .adminFormSectionTitle{display:flex;gap:10px;align-items:center}.adminCounselorEditPage .adminFormSectionTitle strong{color:#182845;font-size:17px;line-height:1.2;font-weight:950}.adminCounselorEditPage .adminFormSectionIcon{width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center}.adminCounselorEditPage .adminFormSectionIcon.blue{color:#4d6df6;background:#edf3ff}.adminCounselorEditPage .adminFormSectionIcon.purple{color:#7b5df2;background:#f0ecff}.adminCounselorEditPage .adminFormSectionIcon.green{color:#17a673;background:#e9f9f2}.adminCounselorEditPage .adminFormSectionIcon.indigo{color:#4d6df6;background:#eef3ff}.adminCounselorEditPage .adminFormBody,.adminCounselorEditPage .adminFormSection{display:grid;gap:13px}.adminCounselorEditPage .formDouble{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.adminCounselorEditPage .formTriple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.adminCounselorEditPage .profileEditForm label{position:relative;color:#65758d;gap:8px;font-size:13px;line-height:1.2;font-weight:850}.adminCounselorEditPage .profileEditForm input,.adminCounselorEditPage .profileEditForm textarea{width:100%;border:1px solid #dde6f2;border-radius:12px;color:#243653;background:#ffffffe6;font-size:14px;font-weight:750;outline:0;box-shadow:inset 0 1px #ffffffe6,0 8px 18px #2f446708;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.adminCounselorEditPage .profileEditForm input{height:40px;padding:0 11px}.adminCounselorEditPage .profileEditForm textarea{min-height:72px;padding:10px 11px 22px;resize:vertical;line-height:1.55}.adminCounselorEditPage .profileEditForm input:focus,.adminCounselorEditPage .profileEditForm textarea:focus{border-color:#b9c9dc;background:#fff;box-shadow:0 0 0 4px #5974ee14}.adminCounselorEditPage .profileEditForm label>small{position:absolute;right:10px;bottom:8px;color:#9aa7b8;font-size:11px;font-weight:800}.adminCounselorEditPage .adminAvatarUpload{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:11px;border:1px solid rgba(222,231,243,.92);border-radius:14px;background:#f8fbffb8}.adminCounselorEditPage .adminAvatarUpload img{width:52px;height:52px;border-radius:16px;object-fit:cover;box-shadow:0 12px 24px #4965ef24}.adminCounselorEditPage .adminAvatarUpload span{color:#243653;font-size:13px;font-weight:950}.adminCounselorEditPage .adminAvatarUpload p{margin:4px 0 7px;color:#8290a4;font-size:12px;line-height:1.4;font-weight:750}.adminCounselorEditPage .avatarUploadButton{width:max-content;min-height:28px;padding:0 10px;border:1px solid #d8e3f0;border-radius:999px;color:#51637b;background:#fff;display:inline-flex;align-items:center;font-size:12px;font-weight:900}.adminCounselorEditPage .avatarUploadButton input{display:none}.adminCounselorEditPage .categoryCheckGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.adminCounselorEditPage .categoryCheckGrid button{min-width:0;min-height:50px;padding:0 12px;border:1px solid #dde6f2;border-radius:12px;color:#263653;background:#ffffffd1;display:grid;grid-template-columns:24px minmax(0,1fr) 22px;gap:8px;align-items:center;text-align:left;box-shadow:0 8px 18px #2f446709;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.adminCounselorEditPage .categoryCheckGrid button svg{color:#53627a}.adminCounselorEditPage .categoryCheckGrid button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:850}.adminCounselorEditPage .categoryCheckGrid button i{width:20px;height:20px;border:1px solid #cbd5e4;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;justify-self:end;color:transparent;background:#fff;font-style:normal}.adminCounselorEditPage .categoryCheckGrid button.active{border-color:#27b487;background:linear-gradient(145deg,#fffffff5,#ecfaf5db);box-shadow:0 12px 24px #24b48714}.adminCounselorEditPage .categoryCheckGrid button.active svg{color:#139f76}.adminCounselorEditPage .categoryCheckGrid button.active i{border-color:#21b27f;color:#fff;background:#21b27f}.adminCounselorEditPage .profileSaveMessage{margin:0;border-radius:12px}.adminCounselorEditPage .adminFormActions{position:sticky;bottom:0;z-index:4;margin:2px -14px calc(-1*env(safe-area-inset-bottom));padding:12px 14px max(12px,env(safe-area-inset-bottom));border-top:1px solid rgba(222,230,242,.88);background:#f8fbfff0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:grid;grid-template-columns:1fr 1fr;gap:12px}.adminCounselorEditPage .adminFormActions button{min-height:44px;border-radius:12px;font-size:14px;font-weight:900}.adminCounselorEditPage .adminFormActions .ghostButton{border:1px solid #d9e2ef;color:#243653;background:#ffffffe6}.adminCounselorEditPage .adminFormActions .primaryButton{color:#fff;background:linear-gradient(145deg,#6575ff,#4656f0);box-shadow:0 14px 28px #4856ef38}@media(max-width:390px){.adminCounselorEditPage{padding-left:8px;padding-right:8px}.adminCounselorEditPage .formDouble,.adminCounselorEditPage .formTriple{gap:10px}.adminCounselorEditPage .adminFormGlassCard{padding:15px 13px}}.adminShell .bottomNav,.adminShell:has(.adminCounselorManagePage) .bottomNav,.adminShell:has(.adminCounselorEditPage) .bottomNav{position:fixed;left:0;right:0;bottom:0;z-index:60;min-height:calc(82px + env(safe-area-inset-bottom));padding:8px 12px max(10px,env(safe-area-inset-bottom));border:0;border-top:1px solid rgba(229,233,240,.96);border-radius:0;background:#fff;box-shadow:0 -8px 22px #1f2d4814;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;align-items:end}.adminShell .bottomNav button,.adminShell:has(.adminCounselorManagePage) .bottomNav button,.adminShell:has(.adminCounselorEditPage) .bottomNav button{width:100%;height:58px;min-width:0;min-height:58px;margin:0;border:0;border-radius:0;color:#a3a9b5;background:transparent;box-shadow:none;display:grid;place-items:center;align-content:center;gap:3px;font-size:13px;font-weight:700}.adminShell .bottomNav button svg,.adminShell .bottomNav button.active svg,.adminShell:has(.adminCounselorManagePage) .bottomNav button svg,.adminShell:has(.adminCounselorManagePage) .bottomNav button.active svg,.adminShell:has(.adminCounselorEditPage) .bottomNav button svg,.adminShell:has(.adminCounselorEditPage) .bottomNav button.active svg{width:24px;height:24px;padding:0;border-radius:0;color:currentColor;background:transparent;box-shadow:none}.adminShell .bottomNav button.active,.adminShell:has(.adminCounselorManagePage) .bottomNav button.active,.adminShell:has(.adminCounselorEditPage) .bottomNav button.active{color:#fff;border-radius:12px;background:#243653;box-shadow:none}.adminShell .bottomNav,.adminShell:has(.adminCounselorManagePage) .bottomNav,.adminShell:has(.adminCounselorEditPage) .bottomNav,.adminShell:has(.adminDashboardPage) .bottomNav,.adminShell:has(.adminVisitorsPage) .bottomNav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:80!important;width:auto!important;min-height:calc(82px + env(safe-area-inset-bottom))!important;height:calc(82px + env(safe-area-inset-bottom))!important;padding:8px 12px max(10px,env(safe-area-inset-bottom))!important;border:0!important;border-top:1px solid rgba(229,233,240,.96)!important;border-radius:0!important;background:#fff!important;box-shadow:0 -8px 22px #1f2d4814!important;display:grid!important;grid-auto-flow:column!important;grid-auto-columns:1fr!important;gap:0!important;align-items:end!important}.adminShell .bottomNav button,.adminShell:has(.adminCounselorManagePage) .bottomNav button,.adminShell:has(.adminCounselorEditPage) .bottomNav button,.adminShell:has(.adminDashboardPage) .bottomNav button,.adminShell:has(.adminVisitorsPage) .bottomNav button{width:100%!important;height:58px!important;min-height:58px!important;max-height:58px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;color:#a3a9b5!important;background:transparent!important;box-shadow:none!important;display:grid!important;grid-template-rows:unset!important;place-items:center!important;align-content:center!important;justify-content:center!important;gap:3px!important;font-size:13px!important;line-height:1!important;font-weight:800!important}.adminShell .bottomNav button svg,.adminShell .bottomNav button.active svg,.adminShell:has(.adminCounselorManagePage) .bottomNav button svg,.adminShell:has(.adminCounselorManagePage) .bottomNav button.active svg,.adminShell:has(.adminCounselorEditPage) .bottomNav button svg,.adminShell:has(.adminCounselorEditPage) .bottomNav button.active svg,.adminShell:has(.adminDashboardPage) .bottomNav button svg,.adminShell:has(.adminDashboardPage) .bottomNav button.active svg,.adminShell:has(.adminVisitorsPage) .bottomNav button svg,.adminShell:has(.adminVisitorsPage) .bottomNav button.active svg{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;padding:0!important;border:0!important;border-radius:0!important;color:currentColor!important;background:transparent!important;box-shadow:none!important}.adminShell .bottomNav button span,.adminShell:has(.adminCounselorManagePage) .bottomNav button span,.adminShell:has(.adminCounselorEditPage) .bottomNav button span,.adminShell:has(.adminDashboardPage) .bottomNav button span,.adminShell:has(.adminVisitorsPage) .bottomNav button span{color:currentColor!important;line-height:1!important}.adminShell .bottomNav button.active,.adminShell:has(.adminCounselorManagePage) .bottomNav button.active,.adminShell:has(.adminCounselorEditPage) .bottomNav button.active,.adminShell:has(.adminDashboardPage) .bottomNav button.active,.adminShell:has(.adminVisitorsPage) .bottomNav button.active{width:100%!important;height:58px!important;min-height:58px!important;max-height:58px!important;color:#fff!important;border-radius:12px!important;background:#243653!important;box-shadow:none!important;transform:none!important}.adminShell{position:relative!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}.adminShell .mainPanel{height:100%!important;min-height:0!important;overflow:hidden!important;padding:0!important}.adminShell .content{height:100%!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}.adminShell .content::-webkit-scrollbar{display:none}.adminShell .bottomNav,.adminShell:has(.adminCounselorManagePage) .bottomNav,.adminShell:has(.adminCounselorEditPage) .bottomNav,.adminShell:has(.adminDashboardPage) .bottomNav,.adminShell:has(.adminVisitorsPage) .bottomNav{position:absolute!important}
