@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/264/assets/noto-sans-thai-thai-400-normal-BEOmKAI1.woff2)format("woff2"),url(/264/assets/noto-sans-thai-thai-400-normal-Dxb_unuU.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/264/assets/noto-sans-thai-latin-ext-400-normal-nBP59pVw.woff2)format("woff2"),url(/264/assets/noto-sans-thai-latin-ext-400-normal-B-1H0YkH.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/264/assets/noto-sans-thai-latin-400-normal-BaWBrqFP.woff2)format("woff2"),url(/264/assets/noto-sans-thai-latin-400-normal-Dh_FJjOB.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/264/assets/noto-sans-thai-thai-500-normal-CU_X86GQ.woff2)format("woff2"),url(/264/assets/noto-sans-thai-thai-500-normal-BOGXO2tw.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/264/assets/noto-sans-thai-latin-ext-500-normal-B-ZWb8SZ.woff2)format("woff2"),url(/264/assets/noto-sans-thai-latin-ext-500-normal-CrEHO7C8.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/264/assets/noto-sans-thai-latin-500-normal-fyBKClF1.woff2)format("woff2"),url(/264/assets/noto-sans-thai-latin-500-normal-BC04jsmm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/264/assets/noto-sans-thai-thai-600-normal-Cs73sVjl.woff2)format("woff2"),url(/264/assets/noto-sans-thai-thai-600-normal-CmgB8_JK.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/264/assets/noto-sans-thai-latin-ext-600-normal-maHHBsez.woff2)format("woff2"),url(/264/assets/noto-sans-thai-latin-ext-600-normal-PkMZo0xa.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/264/assets/noto-sans-thai-latin-600-normal-CemcjnVR.woff2)format("woff2"),url(/264/assets/noto-sans-thai-latin-600-normal-Dbc-dNO6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/264/assets/noto-sans-thai-thai-700-normal-Cm52XUnT.woff2)format("woff2"),url(/264/assets/noto-sans-thai-thai-700-normal-C9ISMlQq.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/264/assets/noto-sans-thai-latin-ext-700-normal-uJk63onE.woff2)format("woff2"),url(/264/assets/noto-sans-thai-latin-ext-700-normal-xdwl2Xg6.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:700;src:url(/264/assets/noto-sans-thai-latin-700-normal-_dn-40wb.woff2)format("woff2"),url(/264/assets/noto-sans-thai-latin-700-normal-C4AMFKt5.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#294f80;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-ui:"Noto Sans Thai", Arial, sans-serif;--focus-ring:#286cc1;--role-primary:#3f76c9;--role-primary-soft:#e8f2ff;--role-secondary:#78b4e8;--role-bg:#eaf4ff;--role-bg-gradient:linear-gradient(to top, #a9ccfa 0%, #d7e8ff 46%, #f7fbff 100%);--role-text:#294f80;--role-border:#d5e5f8;--surface:#fff;--text-secondary:#5d7390;--shadow-soft:0 10px 28px #12304a14;background:#eaf4ff;font-family:Noto Sans Thai,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:var(--role-bg-gradient);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{color:#12304a;background:#bfdbfe}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}a{text-underline-offset:.2em}#root{min-height:100vh}.app-frame.role-user{--role-primary:#3f76c9;--role-primary-soft:#e8f2ff;--role-secondary:#78b4e8;--role-bg:#eaf4ff;--role-bg-gradient:linear-gradient(to top, #a9ccfa 0%, #d7e8ff 46%, #f7fbff 100%);--role-text:#294f80;--role-border:#d5e5f8;--text-secondary:#5d7390}.app-frame.role-psychologist{--role-primary:#475569;--role-primary-soft:#f1f5f9;--role-secondary:#0f766e;--role-bg:#f8fafc;--role-bg-gradient:linear-gradient(to top, #e7edf4 0%, #f8fafc 62%, #fff 100%);--role-text:#1e293b;--role-border:#e2e8f0;--text-secondary:#52616b}.app-frame.role-admin{--role-primary:#166534;--role-primary-soft:#f0fdf4;--role-secondary:#0f766e;--role-bg:#f6f8f7;--role-bg-gradient:linear-gradient(to top, #e6eee9 0%, #f6f8f7 62%, #fff 100%);--role-text:#172b3a;--role-border:#d1d5db;--text-secondary:#52616b}.app-frame.ant-layout{background:var(--role-bg-gradient);min-height:100vh}.app-frame .ant-layout{background:0 0;min-width:0}.app-frame>.ant-layout-sider{z-index:11;border-inline-end:1px solid var(--role-border);align-self:flex-start;height:100dvh;position:sticky;inset-block-start:0;overflow:hidden auto;background:var(--surface)!important}.app-frame>.ant-layout-sider .ant-layout-sider-children{min-height:100%}.app-brand{height:64px;color:var(--role-text);border-bottom:1px solid var(--role-border);white-space:nowrap;justify-content:center;align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.brand-mark{display:block;position:relative;overflow:hidden}.brand-mark img{max-width:none;display:block;position:absolute}.app-brand-mark{flex:0 0 28px;width:28px;height:18px}.app-brand-mark img{width:52px;height:78px;top:-28px;left:-12px}.ant-layout-sider-collapsed .app-brand{gap:0}.app-frame .ant-menu{background:0 0;border-inline-end:0}.app-frame .ant-menu-inline .ant-menu-item{align-items:center;height:auto;min-height:44px;padding-block:12px;line-height:1.5;display:flex}.app-frame .ant-menu .ant-menu-title-content{white-space:normal;text-overflow:clip;overflow:visible}.app-frame .ant-layout-header{z-index:10;border-bottom:1px solid var(--role-border);height:64px;line-height:normal;position:sticky;top:0;box-shadow:0 2px 10px #172b3a0a}.app-frame .ant-layout-header .ant-btn{min-width:44px;min-height:44px}.app-user-trigger{align-items:center;gap:8px;max-width:min(42vw,300px);min-height:44px;padding-inline:8px;display:inline-flex}.app-user-trigger .ant-typography{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-frame .ant-layout-content{border:1px solid var(--role-border);background:var(--surface);border-radius:14px;min-width:0;padding:24px;margin:24px!important}.app-page-title{color:var(--role-text)!important;margin-block:0 4px!important;font-weight:600!important}.login-page{background:linear-gradient(#f7fbff 0%,#eaf4ff 42%,#b7d3f7 100%);justify-content:center;align-items:safe center;min-height:100dvh;padding:32px 24px;display:flex}.login-card{border:1px solid var(--role-border);width:min(100%,480px);min-width:0;box-shadow:none;border-radius:20px;flex-shrink:0}.login-card .ant-card-body{padding:32px}.login-card .ant-form-item{min-width:0;margin-bottom:20px}.login-card .ant-form-item:last-child{margin-bottom:0}.login-card .ant-tabs-tab{min-height:44px}.register-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;display:grid}.register-form>.ant-form-item{grid-column:1/-1}.register-form>.register-name{grid-column:auto}.login-brand{text-align:center;justify-items:center;gap:8px;margin-bottom:20px;display:grid}.login-brand-icon{width:60px;height:39px}.login-brand-icon img{width:112px;height:168px;top:-62px;left:-26px}.login-brand h1{color:var(--role-text);margin:0;font-size:22px;font-weight:600;line-height:1.4}.login-brand p{color:var(--text-secondary);margin:0;font-size:14px}.login-card .ant-input-affix-wrapper{height:44px;min-height:44px;padding-block:8px}.login-card .ant-input-affix-wrapper>.ant-input{min-height:0}.ant-input::placeholder,textarea::placeholder{opacity:1;color:#526675!important}.ant-card{border-radius:14px}.ant-card-head-title{white-space:normal;overflow-wrap:anywhere}@media (width<=767px){.app-frame .ant-layout-header{padding-inline:12px!important}.app-frame .ant-layout-content{border-radius:12px;margin:12px!important;padding:16px!important}.app-brand{height:56px}.login-page{padding:16px}.login-card .ant-card-body{padding:20px}}@media (width<=991px){.app-frame>.ant-layout-sider:not(.ant-layout-sider-collapsed){height:calc(100dvh - 64px);position:fixed;inset:64px auto 0 0;box-shadow:8px 0 24px #12304a1f}}@media (width<=420px){.register-form{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.user-dashboard-page,.assessment-page,.mood-page,.appointment-page,.chat-page{min-width:0}.user-dashboard-page{width:min(100%,1440px);margin-inline:auto}.assessment-page:not(.assessment-flow):not(.assessment-result){width:min(100%,1160px);margin-inline:auto}.assessment-page.assessment-flow{width:min(100%,720px);margin-inline:auto}.assessment-page.assessment-result{width:min(100%,800px);margin-inline:auto}.assessment-page:not(.assessment-flow):not(.assessment-result)>.ant-row{align-items:stretch}.assessment-page:not(.assessment-flow):not(.assessment-result)>.ant-row>.ant-col{display:flex}.assessment-page:not(.assessment-flow):not(.assessment-result) .assessment-catalog{flex-direction:column;flex:1;display:flex}.assessment-page:not(.assessment-flow):not(.assessment-result) .assessment-catalog .ant-card-body{flex:1}.mood-page{grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);align-content:start;gap:24px;width:min(100%,1200px);margin-inline:auto;display:grid}.mood-page>.app-page-title{grid-column:1/-1}.mood-page .mood-summary{grid-column:1;align-self:start;margin-bottom:0!important}.mood-page .mood-calendar{grid-area:2/2;min-width:0}.appointment-page{width:min(100%,1280px);margin-inline:auto}.chat-page{width:100%;max-width:none;margin-inline:0}.user-dashboard-page>.app-page-title,.assessment-page>.app-page-title,.mood-page>.app-page-title,.appointment-page .app-page-title,.chat-page>.app-page-title{margin-block:0 8px!important}.user-dashboard-page .user-quick-action{white-space:normal;min-height:72px;padding:12px 8px;height:auto!important}.user-dashboard-page .user-quick-action-icon{color:var(--role-primary);font-size:20px}.user-dashboard-page .user-quick-action-label{text-align:center;font-size:14px;line-height:1.4}.user-dashboard-page .dashboard-stat-grid{row-gap:16px}.assessment-page .assessment-options{flex-direction:column;gap:8px;margin-top:16px;display:flex}.assessment-page .assessment-options .ant-radio-wrapper{border:1px solid var(--role-border);border-radius:10px;align-items:center;min-height:48px;padding:8px 12px;display:flex}.assessment-page .assessment-options .ant-radio-wrapper:hover{border-color:var(--role-primary)}.assessment-page .assessment-actions{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:24px;display:flex}.assessment-page .assessment-actions .ant-btn,.assessment-page .assessment-action{white-space:normal;height:auto;min-height:44px}.assessment-page .assessment-catalog .ant-card-actions .ant-btn{min-height:44px}.mood-page .mood-summary .ant-row{gap:16px}.mood-page .mood-choice-row{row-gap:8px;margin-bottom:24px}.mood-page .mood-choice{white-space:normal;min-width:64px;height:auto;min-height:64px;padding:8px 10px}.mood-page .mood-choice-label{font-size:13px;line-height:1.4}.mood-page .ant-picker-calendar-date{min-height:64px}.mood-page .ant-picker-calendar-date-content{min-height:24px}.mood-page .mood-question-row{gap:12px;min-height:56px}.mood-page .mood-question-answer{min-width:128px}.mood-page .mood-question-answer .ant-radio-wrapper{align-items:center;min-height:44px;padding-block:8px;display:inline-flex}.mood-page textarea{min-height:88px}.appointment-page .appointment-heading{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.appointment-page .appointment-heading .ant-btn,.appointment-page .ant-table .ant-btn{white-space:normal;height:auto;min-height:44px}.appointment-page .ant-table-cell{overflow-wrap:anywhere}.chat-page{flex-direction:column;min-width:0;height:calc(100dvh - 164px);min-height:480px;display:flex}.chat-page>.app-page-title{flex:none}.chat-page .chat-layout{flex:1 1 0;grid-template-columns:minmax(240px,1fr) minmax(0,3fr);gap:16px;min-width:0;min-height:0;display:grid}.chat-list-column,.chat-conversation-column{min-width:0;min-height:0}.chat-page .chat-list-panel,.chat-page .chat-conversation-panel{min-width:0;height:100%;overflow:hidden}.chat-page .chat-list-panel{flex-direction:column;display:flex}.chat-page .chat-list-panel .ant-card-head,.chat-page .chat-conversation-panel .ant-card-head{flex:none}.chat-page .chat-list-panel .ant-card-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow:hidden auto}.chat-page .chat-conversation-panel .ant-card-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.chat-page .chat-empty{flex:auto;justify-content:center;align-items:center;min-height:0;display:flex}.chat-page .chat-conversation-panel .ant-card-head-wrapper{flex-wrap:wrap;gap:8px}.chat-page .chat-conversation-panel .ant-card-head-title{min-width:0}.chat-page .chat-conversation-panel .ant-card-extra{max-width:100%;margin-inline-start:0}.chat-page .chat-partner-item{cursor:pointer;min-height:64px;padding:12px 16px}.chat-page .chat-partner-selected{background:var(--role-primary-soft)}.chat-page .chat-partner-meta,.chat-page .chat-partner-meta .ant-list-item-meta-content{min-width:0}.chat-page .chat-messages{background:var(--role-bg);overscroll-behavior:contain;flex:1;width:100%;min-height:0;padding:0;overflow-x:hidden}.chat-page .chat-message-row{box-sizing:border-box;align-items:flex-end;gap:8px;width:100%;min-width:0;padding:8px 16px;display:flex}.chat-page .chat-message-row.is-mine{justify-content:flex-end}.chat-page .chat-message-row>.ant-avatar{flex:0 0 40px;width:40px;height:40px}.chat-page .chat-message-content{overflow-wrap:anywhere;flex:0 auto;min-width:0;max-width:min(72%,600px,100% - 48px)}.chat-page .chat-message-bubble{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;max-width:100%;padding:10px 14px;line-height:1.55}.chat-page .chat-message-bubble.is-mine{background:var(--role-primary);color:#fff;border-end-end-radius:4px}.chat-page .chat-message-bubble.is-other{color:var(--role-text);border:1px solid var(--role-border);background:#fff;border-end-start-radius:4px}.chat-page .chat-composer{border-top:1px solid var(--role-border);background:#fff;flex:none;align-items:flex-end;gap:8px;padding:12px;display:flex}.chat-page .chat-composer>.ant-row{width:100%;min-width:0;margin-inline:0}.chat-page .chat-composer>.ant-row>.ant-col:first-child{min-width:0}.chat-page .chat-composer .ant-input{box-sizing:border-box;width:100%;min-width:0;max-height:120px;overflow-y:auto;border-radius:10px!important;min-height:44px!important}.chat-page .chat-send-button{flex:0 0 44px;width:44px;height:44px}.chat-page .chat-mode-switch{max-width:100%;overflow-x:auto}.chat-page .chat-mode-switch .ant-segmented-item{min-height:44px}.chat-page .chat-ai-notice{flex:none;margin:12px}@media (width<=767px){.chat-page{height:auto;min-height:0;display:block;overflow:visible}.mood-page{width:100%;display:block}.mood-page .mood-summary{margin-bottom:24px!important}.mood-page .mood-calendar{margin-bottom:0}.user-dashboard-page .user-quick-action{min-height:68px}.assessment-page .assessment-result .ant-result-extra{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.mood-page .mood-summary .ant-row{align-items:flex-start}.mood-page .mood-question-row{flex-direction:column;align-items:flex-start}.mood-page .mood-question-answer{min-width:0}.chat-page .chat-layout{min-height:0;height:auto!important}.chat-page .chat-list-panel{height:220px!important}.chat-page .chat-conversation-panel{min-height:380px;height:min(62dvh,560px)!important}.chat-page .chat-ai-notice{margin:8px}}@media (width>=768px) and (width<=991px){.chat-page{height:auto;min-height:0;display:block;overflow:visible}.mood-page{width:100%;display:block}.mood-page .mood-summary{margin-bottom:24px!important}.chat-page .chat-layout{height:auto;min-height:0}.chat-page .chat-list-panel{height:280px}.chat-page .chat-conversation-panel{height:min(70dvh,600px);min-height:460px}}@media (width<=420px){.assessment-page .assessment-actions{justify-content:stretch}.assessment-page .assessment-actions .ant-btn{flex:auto}}:is(.user-dashboard-page,.assessment-page,.mood-page,.appointment-page) .ant-card-head-wrapper{flex-wrap:wrap;gap:8px 16px;padding-block:12px}:is(.user-dashboard-page,.assessment-page,.mood-page,.appointment-page) .ant-card .ant-card-head-title{white-space:normal;text-overflow:clip;flex:180px;min-width:0;overflow:visible}:is(.user-dashboard-page,.assessment-page,.mood-page,.appointment-page) .ant-card-extra{max-width:100%;margin-inline-start:0}:is(.user-dashboard-page,.assessment-page,.mood-page,.appointment-page) .ant-btn{white-space:normal;height:auto;min-height:44px}:is(.user-dashboard-page,.assessment-page,.mood-page,.appointment-page) .ant-tag{white-space:normal;overflow-wrap:anywhere}.user-dashboard-page>.ant-card:first-of-type{background:var(--role-primary-soft)}.user-dashboard-page>.ant-card:first-of-type .ant-row{gap:16px}.user-dashboard-page .dashboard-stat-grid>.ant-col{display:flex}.user-dashboard-page .dashboard-stat-grid .ant-card{width:100%}.user-dashboard-page .ant-list-item{flex-wrap:wrap;gap:12px}.user-dashboard-page .ant-list-item-meta-content{overflow-wrap:anywhere;min-width:0}.assessment-progress{margin-block:16px 24px}.assessment-page .ant-result{padding-inline:0}.mood-dialog .mood-choice-row{row-gap:8px;margin-bottom:24px}.mood-dialog .mood-choice{flex-direction:column;gap:4px;min-width:64px;height:auto;min-height:72px;display:flex}.mood-dialog .mood-question-row{gap:12px}.mood-dialog .mood-question-row>.ant-col{min-width:0}.mood-dialog .ant-radio-wrapper{align-items:center;min-height:44px}:is(.mood-dialog,.appointment-dialog){padding-bottom:24px;top:24px}:is(.mood-dialog,.appointment-dialog) .ant-modal-body{scrollbar-gutter:stable;max-height:calc(100dvh - 200px);padding:4px;overflow-y:auto}.chat-page .chat-partner-item{width:100%}.chat-page .chat-partner-meta{overflow-wrap:anywhere}.chat-page .chat-messages{scrollbar-gutter:stable;scrollbar-color:var(--role-primary) var(--role-bg)}.chat-page .chat-composer>.ant-row{flex-wrap:nowrap}.chat-page .chat-message-row.is-mine>.ant-avatar{color:var(--role-text)}@media (width<=991px){.chat-page .chat-layout{flex:none;grid-template-rows:220px minmax(480px,72dvh);grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.chat-page .chat-list-panel,.chat-page .chat-conversation-panel{min-height:0;height:100%!important}.chat-page .chat-ai-notice{flex-wrap:wrap;gap:8px}.chat-page .chat-ai-notice .ant-alert-actions{margin-inline-start:0}}@media (width<=767px){:is(.user-dashboard-page,.assessment-page,.mood-page,.appointment-page) .ant-card-body{padding:16px}:is(.user-dashboard-page,.assessment-page,.mood-page,.appointment-page) .ant-card-head{padding-inline:16px}.mood-page .ant-picker-calendar-header{flex-wrap:wrap;gap:8px;display:flex}.mood-page .ant-picker-calendar-header>*{margin:0!important}.mood-page .ant-picker-calendar-date{margin-inline:0!important;padding-inline:2px!important}.mood-dialog .mood-question-row{flex-direction:column;align-items:flex-start}.chat-page .chat-conversation-panel .ant-card-head{padding-inline:12px}.chat-page .chat-conversation-panel .ant-card-head-wrapper{padding-block:8px}.chat-page .chat-conversation-panel .ant-card-head-title{white-space:normal;overflow-wrap:anywhere;flex:1 0 100%}.chat-page .chat-ai-notice{grid-template-columns:24px minmax(0,1fr);gap:8px;padding:12px;display:grid}.chat-page .chat-ai-notice .ant-alert-icon{grid-column:1;margin:0}.chat-page .chat-ai-notice .ant-alert-content{grid-column:2;min-width:0}.chat-page .chat-ai-notice .ant-alert-actions{grid-column:2}.chat-page .chat-message-row{padding-inline:12px}}.appointment-scroll-hint{display:none}@media (width<=767px){.appointment-scroll-hint{margin-bottom:12px;display:block}}.admin-page{color:#172b3a;--admin-muted:#52616b;min-width:0;max-width:1440px;margin-inline:auto}.admin-page>h2.ant-typography,.admin-toolbar h2.ant-typography{margin:0 0 24px;font-size:32px;line-height:1.4}.admin-toolbar{gap:16px;margin-bottom:32px}.admin-toolbar h2.ant-typography{margin:0}.admin-page .ant-card{min-width:0;box-shadow:none}.admin-page .ant-card-head{padding:16px 24px}.admin-page .ant-card-head-wrapper{flex-wrap:wrap;gap:12px}.admin-page .ant-card-head-title{white-space:normal;overflow-wrap:anywhere}.admin-page .ant-card-extra{margin-inline-start:auto}.admin-page .ant-card-body{padding:24px}.admin-page .ant-tabs-content-holder,.admin-page .ant-tabs-tabpane{min-width:0}.admin-page .ant-tabs-tab{min-height:44px}.admin-table .ant-table-content{overscroll-behavior-inline:contain;scrollbar-color:#52616b #f6f8f7}.admin-table .ant-table-cell{vertical-align:top;overflow-wrap:anywhere}.admin-table .ant-table-cell .ant-typography{max-width:100%}.admin-table .ant-table-thead>tr>th{font-weight:600}.admin-table .ant-table-pagination{flex-wrap:wrap;gap:4px}.admin-page .ant-tag,.admin-dialog .ant-tag{white-space:normal;max-width:100%;padding-block:2px;line-height:1.6}.admin-page .ant-btn,.admin-dialog .ant-btn{min-width:44px;min-height:44px}.admin-page .ant-statistic-content{font-variant-numeric:tabular-nums}.admin-summary-grid .ant-col{display:flex}.admin-summary-grid .dashboard-card-link{width:100%}.admin-summary-grid .ant-card{height:100%}.admin-page .admin-summary-grid .ant-statistic-content-suffix{color:var(--admin-muted);margin:4px 0 0;display:block}.admin-dashboard .ant-list-item{flex-wrap:wrap;gap:12px}.admin-dashboard .ant-list-item-meta{min-width:min(240px,100%)}.admin-dashboard .ant-list-item-meta-title{overflow-wrap:anywhere}.admin-dashboard .ant-statistic-content-suffix{white-space:normal}.ant-modal.admin-dialog{padding-bottom:24px;top:24px}.ant-modal.admin-dialog .ant-modal-container{border-radius:18px;flex-direction:column;max-height:calc(100dvh - 48px);display:flex}.ant-modal.admin-dialog .ant-modal-close{top:8px;width:44px;height:44px;inset-inline-end:8px}.admin-dialog .ant-modal-header{flex-shrink:0;margin-bottom:24px;padding-right:32px}.admin-dialog .ant-modal-title{overflow-wrap:anywhere}.admin-dialog .ant-modal-body{overflow-wrap:anywhere;scrollbar-gutter:stable;min-height:0;padding-right:8px;overflow-y:auto}.admin-dialog .ant-modal-footer{flex-shrink:0;margin-top:24px}.admin-dialog .ant-form-item{margin-bottom:16px}.admin-dialog .ant-list-item-meta{min-width:0}.admin-dialog .ant-avatar{flex-shrink:0}.admin-dialog .admin-psychologist-avatar{background:#166534}.admin-assign-controls{flex-wrap:wrap;gap:8px;display:flex}.admin-assign-controls>.ant-select{flex-basis:100%;min-width:0}.admin-complaint-detail{white-space:pre-wrap;background:#f6f8f7;border-radius:10px;margin-bottom:24px;padding:16px}.admin-page :focus-visible,.admin-dialog :focus-visible{outline-offset:3px;outline:2px solid #2563eb}.admin-page ::selection{color:#166534;background:#f0fdf4}.admin-dialog ::selection{color:#166534;background:#f0fdf4}.admin-dialog input,.admin-dialog textarea{caret-color:#166534}@media (width<=767px){.admin-page>h2.ant-typography,.admin-toolbar h2.ant-typography{font-size:24px}.admin-toolbar{align-items:stretch;margin-bottom:24px}.admin-toolbar>.ant-col,.admin-toolbar>.ant-col>.ant-btn{width:100%}.admin-page .ant-card-head,.admin-page .ant-card-body{padding:16px}.admin-page .ant-card-head-wrapper{align-items:flex-start}.admin-page .ant-card-head-title{flex:1 0 100%}.admin-page .ant-card-extra{margin-inline-start:0}.admin-dashboard .ant-list-item-meta{flex-basis:100%}.ant-modal.admin-dialog{padding-bottom:16px;top:16px}.ant-modal.admin-dialog .ant-modal-container{max-height:calc(100dvh - 32px);padding:20px 16px}.admin-dialog .ant-modal-footer{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-dialog .ant-modal-footer>.ant-btn+.ant-btn{margin-inline-start:0}}.app-frame.role-psychologist,.psy-dialog{--psy-primary:#475569;--psy-primary-hover:#334155;--psy-soft:#f1f5f9;--psy-secondary:#0f766e;--psy-bg:#f8fafc;--psy-surface:#fff;--psy-border:#e2e8f0;--psy-text:#1e293b;--psy-muted:#64748b;--psy-info:#2563eb;--psy-warning:#b45309;--psy-error:#c2413b;--psy-success:#16805c;--focus-ring:var(--psy-info);--text-secondary:var(--psy-muted);caret-color:var(--psy-primary);scrollbar-color:var(--psy-primary) var(--psy-bg)}.role-psychologist .ant-layout-content>div{min-width:0;max-width:1200px;margin-inline:auto}.role-psychologist .ant-layout-content{overflow-wrap:anywhere}.role-psychologist .ant-layout-content h2{margin-block:0 24px;font-size:32px;line-height:1.4}.psy-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.psy-page-header h2,.psy-page-header h3{margin:0!important}.psy-page-header .ant-space{flex-wrap:wrap}.psy-page-header .ant-space-item{min-width:0}.psy-metrics>.ant-col{display:flex}.psy-metrics .ant-card{width:100%}.psy-metrics .ant-card-body{flex-direction:column;gap:12px;height:100%;display:flex}.psy-metrics .ant-statistic-content{font-variant-numeric:tabular-nums}.psy-metrics .ant-statistic-title{color:var(--psy-muted)}.psy-metrics .psy-report-toggle{align-self:flex-start;margin-top:auto}.psy-notice{margin-bottom:16px}.psy-scroll-hint{display:none}.psy-loading{justify-content:center;align-items:center;gap:12px;min-height:120px;display:flex}.psy-table .ant-table-cell{overflow-wrap:anywhere;vertical-align:top}.psy-table .ant-table-thead>tr>th{background:var(--psy-soft)}.psy-table .ant-table-content{scrollbar-color:var(--psy-primary) var(--psy-bg)}.psy-table .ant-pagination{flex-wrap:wrap;row-gap:8px}.psy-search{width:100%;max-width:440px;margin-bottom:16px}.psy-search-label{margin-bottom:8px;font-weight:500;display:block}.psy-native-select{border:1px solid var(--psy-muted);width:100%;min-height:44px;color:var(--psy-text);background:var(--psy-surface);border-radius:10px;padding:8px 12px}.psy-dialog .ant-form-item-has-error .psy-native-select{border-color:var(--psy-error)}.psy-dialog .ant-modal-container{border-radius:18px}.psy-dialog .ant-modal-title{overflow-wrap:anywhere;padding-inline-end:24px}.psy-dialog .ant-modal-body{padding-top:16px}.psy-dialog .ant-form-item{margin-bottom:16px}.psy-dialog .ant-modal-footer{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.psy-dialog .ant-modal-footer>.ant-btn{margin-inline-start:0!important}:is(.role-psychologist,.psy-dialog) .ant-btn{white-space:normal;height:auto;min-height:44px}:is(.role-psychologist,.psy-dialog) .ant-btn>span{white-space:normal}:is(.role-psychologist,.psy-dialog) .ant-btn-icon-only{min-width:44px}:is(.role-psychologist,.psy-dialog) :focus-visible{outline:2px solid var(--psy-info);outline-offset:3px}:is(.role-psychologist,.psy-dialog) .ant-tag{white-space:normal;max-width:100%}:is(.app-frame.role-psychologist,.psy-dialog) .ant-tag.ant-tag-green{color:var(--psy-success)}:is(.app-frame.role-psychologist,.psy-dialog) .ant-tag:is(.ant-tag-orange,.ant-tag-gold){color:var(--psy-warning)}:is(.app-frame.role-psychologist,.psy-dialog) .ant-tag.ant-tag-blue{color:var(--psy-info)}:is(.app-frame.role-psychologist,.psy-dialog) .ant-tag.ant-tag-red{color:var(--psy-error)}.psy-dialog .ant-form,.psy-dialog .ant-tabs{min-width:0}.psy-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.psy-form-actions .ant-col{max-width:100%}.psy-week-card{height:100%}.psy-week-card .ant-card-actions .ant-btn{width:100%}.psy-schedule-scroll{border:1px solid var(--psy-border);border-radius:10px;overflow-x:auto}.psy-schedule-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:600px}.psy-schedule-table th,.psy-schedule-table td{border:1px solid var(--psy-border);text-align:center;padding:16px}.psy-schedule-table th{background:var(--psy-soft);color:var(--psy-text);font-weight:600}.psy-schedule-table .is-work{background:var(--psy-bg);color:var(--psy-secondary);font-weight:600}.psy-schedule-table .is-break{background:var(--psy-soft);color:var(--psy-muted)}.psy-schedule-day{border:1px solid var(--psy-border);border-radius:10px;margin-bottom:16px;padding:16px}.psy-slot-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(100px,.85fr) 44px;align-items:end;gap:12px;padding-block:12px;display:grid}.psy-slot-label{color:var(--psy-muted);grid-column:1/-1;font-size:13px}.psy-slot-field{flex-direction:column;gap:8px;min-width:0;display:flex}.psy-slot-field>label{font-size:14px}.psy-slot-field .ant-picker,.psy-slot-field .ant-input-number{width:100%}.psy-work-days .ant-checkbox-wrapper{align-items:center;min-height:44px}.role-psychologist .dashboard-content .ant-alert{flex-wrap:wrap;gap:8px}.role-psychologist .dashboard-content .ant-alert-actions{margin-inline-start:0}.role-psychologist .dashboard-content .ant-card-head-wrapper{flex-wrap:wrap;gap:8px;padding-block:8px}.role-psychologist .dashboard-content .ant-card-extra{margin-inline-start:0}.role-psychologist .dashboard-content .ant-list-item-meta-description{color:var(--psy-muted)}.role-psychologist .chat-message-bubble{line-height:1.65}.role-psychologist .chat-page .chat-partner-item:focus-visible{outline-offset:-3px}.psy-profile .ant-avatar{background:var(--psy-primary)!important}.psy-profile>.ant-card .ant-row{flex-wrap:nowrap}.psy-profile>.ant-card .ant-col:last-child{min-width:0}@media (width>=1440px){.role-psychologist .ant-layout-content{padding:32px}}@media (width<=767px){.role-psychologist .ant-layout-content h2{font-size:24px}.role-psychologist .ant-layout-content .ant-card-body{padding:16px}.role-psychologist .ant-layout-content .ant-card-head{padding-inline:16px}.psy-scroll-hint{color:var(--psy-muted);margin-bottom:12px;font-size:13px;display:block}.psy-dialog .ant-modal-container{padding:20px 16px}.psy-slot-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.psy-slot-row>.ant-btn{justify-self:end}.psy-profile .ant-form .ant-col-12{flex:0 0 100%;max-width:100%}}.dashboard-content{overflow-wrap:anywhere;min-width:0}.dashboard-content .ant-list-item{flex-wrap:wrap;gap:8px}.dashboard-content .ant-list-item-meta,.dashboard-content .ant-alert-content{min-width:0}.dashboard-loading{align-items:center;gap:8px;padding-block:16px;display:flex}.dashboard-recovery{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.dashboard-recovery .ant-btn,.dashboard-content .dashboard-action{white-space:normal;height:auto;min-height:44px}.dashboard-recovery .ant-btn>span,.dashboard-content .dashboard-action>span{white-space:normal}.dashboard-card-link{color:inherit;border-radius:8px;display:block}.dashboard-card-link:focus-visible{outline-offset:4px;outline:2px solid #2563eb}.pre-session{gap:16px;min-width:0;margin-bottom:24px;display:grid}.pre-session h5{margin:0 0 12px}.pre-session-risks{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pre-session .ant-alert{overflow-wrap:anywhere}.pre-session-summary .ant-card-head-wrapper{flex-wrap:wrap;gap:8px;padding-block:8px}.pre-session-summary .ant-card-head-title{white-space:normal}.pre-session-summary .ant-btn{min-height:44px}.pre-session-text{white-space:pre-line;overflow-wrap:anywhere;line-height:1.8}.pre-session-time{font-size:12px;line-height:1.6;display:block}@media (width<=480px){.pre-session-summary .ant-card-head{padding-inline:16px}.pre-session-summary .ant-card-body{padding:16px}}.chat-summary-form{gap:12px;min-width:0;display:grid}.chat-summary-form>label{font-weight:500}.chat-summary-form .ant-picker{width:100%;min-width:0}.chat-summary-form h5{margin-block:12px}.chat-summary-bullets{overflow-wrap:anywhere;margin:0 0 16px;padding-inline-start:24px;line-height:1.8}.chat-summary-bullets li+li{margin-top:8px}.chat-summary-loading{align-items:center;gap:12px;min-height:64px;display:flex}.chat-summary-dialog .ant-alert{overflow-wrap:anywhere}@media (width<=600px){.chat-summary-calendar .ant-picker-panels{flex-direction:column}.chat-summary-calendar .ant-picker-panel-container{max-height:65dvh;overflow-y:auto}}.schedule-template-page{min-width:0}.schedule-template-page>.ant-typography{max-width:75ch}.schedule-template-page .psy-page-header a{align-items:center;min-height:44px;display:inline-flex}.schedule-template-feedback{gap:12px;margin-top:16px;display:grid}.schedule-template-section{min-width:0;margin-top:32px}.schedule-template-section h3{margin:0 0 16px}.schedule-template-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.schedule-template-fields .ant-form-item{min-width:0}.schedule-template-fields :is(.ant-picker,.ant-input-number,.ant-select){width:100%;min-height:44px}.schedule-template-fields .ant-input-number-input{min-height:42px}.schedule-template-actions{flex-wrap:wrap;gap:8px;display:flex}.schedule-template-table{font-variant-numeric:tabular-nums}.schedule-template-mobile{margin:0;padding:0;list-style:none;display:none}.schedule-template-mobile li{border-bottom:1px solid var(--psy-border);gap:8px;padding-block:16px;display:grid}.schedule-template-mobile li>span{font-variant-numeric:tabular-nums}@media (width<=900px){.schedule-template-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-template-table{display:none}.schedule-template-mobile{display:block}}@media (width<=420px){.schedule-template-fields{grid-template-columns:minmax(0,1fr);gap:0}}
