@import"https://fonts.googleapis.com/css2?family=Mitr:wght@300;400;500;600;700&family=Noto+Sans+Thai:wght@300;400;500;600;700&display=swap";:root{color-scheme:light;--primary-50: #E6F7F9;--primary-100: #C0EDF3;--primary-200: #97E2EC;--primary-300: #6DD6E4;--primary-400: #4DCBDE;--primary-500: #46C1D8;--primary-600: #3FB3C8;--primary-700: #37A0B3;--primary-800: #2F8E9E;--primary-900: #206C79;--secondary-50: #F4F9F0;--secondary-100: #E4F2D9;--secondary-200: #D2E9C0;--secondary-300: #BFE0A6;--secondary-400: #B0D993;--secondary-500: #A0D17F;--secondary-600: #8FC46A;--secondary-700: #7AB555;--secondary-800: #66A541;--secondary-900: #4A8A2D;--success-50: #ECFDF5;--success-100: #D1FAE5;--success-200: #A7F3D0;--success-300: #6EE7B7;--success-400: #34D399;--success-500: #10B981;--success-600: #059669;--success-700: #047857;--success-800: #065F46;--success-900: #064E3B;--warning-50: #FFFBEB;--warning-100: #FEF3C7;--warning-200: #FDE68A;--warning-300: #FCD34D;--warning-400: #FBBF24;--warning-500: #F59E0B;--warning-600: #D97706;--warning-700: #B45309;--warning-800: #92400E;--warning-900: #78350F;--error-50: #FEF2F2;--error-100: #FEE2E2;--error-200: #FECACA;--error-300: #FCA5A5;--error-400: #F87171;--error-500: #EF4444;--error-600: #DC2626;--error-700: #B91C1C;--error-800: #991B1B;--error-900: #7F1D1D;--info-50: #EFF6FF;--info-100: #DBEAFE;--info-200: #BFDBFE;--info-300: #93C5FD;--info-400: #60A5FA;--info-500: #3B82F6;--info-600: #2563EB;--info-700: #1D4ED8;--info-800: #1E40AF;--info-900: #1E3A8A;--gray-0: #FFFFFF;--gray-50: #FAFAFA;--gray-100: #F5F5F5;--gray-200: #EEEEEE;--gray-300: #E0E0E0;--gray-400: #BDBDBD;--gray-500: #9E9E9E;--gray-600: #757575;--gray-700: #616161;--gray-800: #424041;--gray-900: #212121;--gray-950: #0A0A0A;--status-emergency: #DC2626;--status-urgent: #F59E0B;--status-stable: #10B981;--status-scheduled: #3B82F6;--status-completed: #A0D17F;--status-cancelled: #9E9E9E;--color-primary: var(--primary-500);--color-primary-hover: var(--primary-600);--color-primary-active: var(--primary-700);--color-secondary: var(--secondary-500);--color-success: var(--success-600);--color-warning: var(--warning-600);--color-error: var(--error-600);--color-info: var(--info-600);--text-primary: var(--gray-800);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--text-inverse: var(--gray-0);--text-brand: var(--primary-600);--text-link: var(--primary-700);--text-link-hover: var(--primary-800);--bg-primary: var(--gray-0);--bg-secondary: var(--gray-50);--bg-tertiary: var(--gray-100);--bg-elevated: var(--gray-0);--bg-overlay: rgba(0, 0, 0, .5);--bg-brand: var(--primary-500);--bg-brand-light: var(--primary-50);--surface-card: var(--gray-0);--surface-modal: var(--gray-0);--surface-tooltip: var(--gray-900);--surface-popover: var(--gray-0);--border-default: var(--gray-200);--border-light: var(--gray-100);--border-dark: var(--gray-300);--border-focus: var(--primary-500);--font-body: "Noto Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Mitr", "Noto Sans Thai", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-none: 0;--radius-sm: 6px;--radius-md: 8px;--radius-default: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-3xl: 32px;--radius-full: 9999px;--shadow-none: none;--shadow-xs: 0 1px 2px rgba(66, 64, 65, .04);--shadow-sm: 0 1px 3px rgba(66, 64, 65, .06), 0 1px 2px rgba(66, 64, 65, .04);--shadow-md: 0 4px 6px -1px rgba(66, 64, 65, .08), 0 2px 4px -2px rgba(66, 64, 65, .04);--shadow-lg: 0 10px 15px -3px rgba(66, 64, 65, .08), 0 4px 6px -4px rgba(66, 64, 65, .04);--shadow-xl: 0 20px 25px -5px rgba(66, 64, 65, .1), 0 8px 10px -6px rgba(66, 64, 65, .04);--shadow-2xl: 0 25px 50px -12px rgba(66, 64, 65, .16);--shadow-inner: inset 0 2px 4px rgba(66, 64, 65, .04);--shadow-focus: 0 0 0 3px rgba(70, 193, 216, .3);--shadow-focus-error: 0 0 0 3px rgba(239, 68, 68, .3);--shadow-focus-success: 0 0 0 3px rgba(16, 185, 129, .3);--duration-instant: 0ms;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .4s;--duration-slowest: .5s;--ease-linear: linear;--ease-in: ease-in;--ease-out: ease-out;--ease-in-out: ease-in-out;--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-snappy: cubic-bezier(.2, 0, 0, 1);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--bottom-nav-height: 72px;--header-height: 64px;--sidebar-width: 260px;--sidebar-collapsed-width: 72px;--gradient-brand: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 100%);--gradient-brand-hover: linear-gradient(135deg, var(--primary-600) 0%, var(--secondary-600) 100%);--gradient-header: linear-gradient(180deg, var(--primary-700) 0%, var(--primary-500) 100%)}[data-theme=dark]{color-scheme:dark;--color-primary: var(--primary-400);--color-primary-hover: var(--primary-300);--color-primary-active: var(--primary-200);--color-secondary: var(--secondary-400);--color-success: var(--success-400);--color-warning: var(--warning-400);--color-error: var(--error-400);--color-info: var(--info-400);--text-primary: var(--gray-50);--text-secondary: var(--gray-300);--text-muted: var(--gray-400);--text-inverse: var(--gray-900);--text-brand: var(--primary-400);--text-link: var(--primary-400);--text-link-hover: var(--primary-300);--bg-primary: #121212;--bg-secondary: #1e1e1e;--bg-tertiary: #2d2d2d;--bg-elevated: #383838;--bg-overlay: rgba(0, 0, 0, .7);--bg-brand: var(--primary-600);--bg-brand-light: rgba(70, 193, 216, .15);--surface-card: #1e1e1e;--surface-modal: #1e1e1e;--surface-tooltip: var(--gray-100);--surface-popover: #2d2d2d;--border-default: #3d3d3d;--border-light: #2d2d2d;--border-dark: #4d4d4d;--border-focus: var(--primary-400);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .24), 0 1px 2px rgba(0, 0, 0, .16);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .24), 0 2px 4px -2px rgba(0, 0, 0, .16);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .24), 0 4px 6px -4px rgba(0, 0, 0, .16);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .28), 0 8px 10px -6px rgba(0, 0, 0, .16);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .36);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .24);--shadow-focus: 0 0 0 3px rgba(70, 193, 216, .4);--shadow-focus-error: 0 0 0 3px rgba(239, 68, 68, .4);--shadow-focus-success: 0 0 0 3px rgba(16, 185, 129, .4);--gray-50: #1f1f1f;--gray-100: #2d2d2d;--gray-200: #3d3d3d;--gray-300: #525252;--gray-400: #737373;--gray-500: #a3a3a3;--gray-600: #d4d4d4;--gray-700: #e5e5e5;--gray-800: #f5f5f5;--gray-900: #fafafa}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color var(--duration-slow) var(--ease-smooth),color var(--duration-slow) var(--ease-smooth),border-color var(--duration-slow) var(--ease-smooth),box-shadow var(--duration-slow) var(--ease-smooth)!important}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-link{position:absolute;top:-40px;left:0;padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--text-inverse);font-weight:var(--font-medium);z-index:calc(var(--z-toast) + 1);border-radius:0 0 var(--radius-md) 0;transition:top var(--duration-fast) var(--ease-smooth)}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.smart-booking-page{min-height:100vh;background:var(--color-gray-50)}.smart-booking-page .smart-booking-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-sticky)}.smart-booking-page .back-button{width:40px;height:40px;border-radius:var(--radius-full);border:none;background:var(--color-gray-100);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);min-height:unset;padding:0}.smart-booking-page .back-button:hover{background:var(--color-gray-200)}.smart-booking-page .back-icon{font-size:20px;color:var(--color-text)}.smart-booking-page .header-content{flex:1}.smart-booking-page .header-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin:0}.smart-booking-page .header-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.smart-booking-page .smart-booking-content{padding:16px 16px 100px}.smart-booking-page .step-progress-container{position:relative;background:var(--color-surface);padding:20px 16px;border-bottom:1px solid var(--color-border)}.smart-booking-page .step-progress-bar{position:absolute;top:35px;left:60px;right:60px;height:3px;background:var(--color-gray-200);border-radius:2px}.smart-booking-page .step-progress-fill{height:100%;background:var(--brand-gradient);border-radius:2px;transition:width .4s ease}.smart-booking-page .step-progress{display:flex;justify-content:space-between;position:relative}.smart-booking-page .step-item{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.smart-booking-page .step-circle{width:36px;height:36px;border-radius:50%;background:var(--color-gray-100);border:2px solid var(--color-gray-300);display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative;z-index:1}.smart-booking-page .step-icon{font-size:16px}.smart-booking-page .step-check{font-size:16px;font-weight:700;color:#fff}.smart-booking-page .step-circle.active{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-100)}.smart-booking-page .step-circle.completed{background:var(--color-success);border-color:var(--color-success)}.smart-booking-page .step-label{font-size:11px;color:var(--color-text-muted);text-align:center;max-width:70px;line-height:1.2}.smart-booking-page .step-label.active{color:var(--color-primary);font-weight:600}.smart-booking-page .step-label.completed{color:var(--color-success)}.smart-booking-page .booking-section,.smart-booking-page .confirmation-section{background:var(--color-surface);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.smart-booking-page .section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.smart-booking-page .section-icon{font-size:20px}.smart-booking-page .booking-section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:0}.smart-booking-page .section-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:-8px 0 16px}.smart-booking-page .form-group{margin-bottom:16px}.smart-booking-page .form-label{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);margin-bottom:8px}.smart-booking-page .label-icon{font-size:14px}.smart-booking-page .required{color:var(--color-danger)}.smart-booking-page .form-input,.smart-booking-page .form-select,.smart-booking-page .form-textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface);transition:all var(--transition-fast);min-height:unset}.smart-booking-page .form-input:focus,.smart-booking-page .form-select:focus,.smart-booking-page .form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100)}.smart-booking-page .form-input::placeholder,.smart-booking-page .form-textarea::placeholder{color:var(--color-text-muted)}.smart-booking-page .form-textarea{resize:vertical;min-height:80px}.smart-booking-page .form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:6px}.smart-booking-page .input-with-suffix{display:flex;align-items:center}.smart-booking-page .input-with-suffix .form-input{border-radius:var(--radius-md) 0 0 var(--radius-md);border-right:none}.smart-booking-page .input-suffix{padding:12px 14px;background:var(--color-gray-100);border:1px solid var(--color-border);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.smart-booking-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 480px){.smart-booking-page .form-row{grid-template-columns:1fr}}.smart-booking-page .patient-profiles{display:flex;gap:10px;overflow-x:auto;padding-bottom:12px;margin-bottom:16px;-webkit-overflow-scrolling:touch}.smart-booking-page .patient-profile-card{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;background:var(--color-gray-50);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);min-width:90px;position:relative}.smart-booking-page .patient-profile-card:hover{border-color:var(--color-primary-300)}.smart-booking-page .patient-profile-card.selected{background:var(--color-primary-50);border-color:var(--color-primary)}.smart-booking-page .patient-profile-icon{font-size:24px}.smart-booking-page .patient-profile-name{font-size:var(--font-size-xs);font-weight:500;color:var(--color-text);text-align:center;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-booking-page .patient-profile-badge{position:absolute;top:-6px;right:-6px;background:var(--color-warning);color:#fff;font-size:9px;padding:2px 6px;border-radius:var(--radius-full);font-weight:600}.smart-booking-page .quick-date-chips{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.smart-booking-page .quick-date-chip{padding:8px 16px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.smart-booking-page .quick-date-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.smart-booking-page .quick-date-chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.smart-booking-page .urgent-toggle{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-danger-50);border:1px solid var(--color-danger-100);border-radius:var(--radius-md);cursor:pointer;margin-top:12px}.smart-booking-page .urgent-toggle input{display:none}.smart-booking-page .toggle-switch{width:44px;height:24px;background:var(--color-gray-300);border-radius:var(--radius-full);position:relative;transition:background .3s ease;flex-shrink:0}.smart-booking-page .toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .3s ease;box-shadow:var(--shadow-sm)}.smart-booking-page .urgent-toggle input:checked+.toggle-switch{background:var(--color-danger)}.smart-booking-page .urgent-toggle input:checked+.toggle-switch:after{transform:translate(20px)}.smart-booking-page .toggle-label{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);font-weight:500;color:var(--color-danger)}.smart-booking-page .urgent-icon{font-size:16px}.smart-booking-page .option-chips{display:flex;gap:8px}.smart-booking-page .option-chips.wrap{flex-wrap:wrap}.smart-booking-page .option-chip{display:flex;align-items:center;gap:6px;padding:10px 16px;border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast)}.smart-booking-page .option-chip:hover{border-color:var(--color-primary-300)}.smart-booking-page .option-chip.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.smart-booking-page .option-chip-icon{font-size:18px}.smart-booking-page .option-chip-label{font-size:var(--font-size-sm);font-weight:500}.smart-booking-page .experience-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.smart-booking-page .experience-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:all var(--transition-fast)}.smart-booking-page .experience-option:hover{border-color:var(--color-primary-300)}.smart-booking-page .experience-option.selected{background:var(--color-primary-50);border-color:var(--color-primary)}.smart-booking-page .experience-value{font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.smart-booking-page .experience-option.selected .experience-value{color:var(--color-primary)}.smart-booking-page .experience-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.smart-booking-page .skill-selector{display:flex;flex-wrap:wrap;gap:8px}.smart-booking-page .skill-chip{padding:10px 16px;border-radius:var(--radius-full);border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all var(--transition-fast)}.smart-booking-page .skill-chip:hover{border-color:var(--color-primary);background:var(--color-primary-50)}.smart-booking-page .skill-chip.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.smart-booking-page .skill-chip .required-mark{color:var(--color-danger)}.smart-booking-page .skill-chip.selected .required-mark{color:#fff}.smart-booking-page .skill-tag{padding:4px 10px;border-radius:var(--radius-full);background:var(--color-gray-100);font-size:var(--font-size-xs);color:var(--color-text)}.smart-booking-page .skill-tag.more{background:var(--color-gray-200);color:var(--color-text-secondary)}.smart-booking-page .caregiver-list{display:flex;flex-direction:column;gap:16px}.smart-booking-page .caregiver-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:16px;cursor:pointer;border:2px solid var(--color-border);position:relative;transition:all var(--transition-base)}.smart-booking-page .caregiver-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-primary-200)}.smart-booking-page .caregiver-card.recommended{border-color:var(--color-primary);background:linear-gradient(to bottom,var(--color-primary-50),var(--color-surface))}.smart-booking-page .recommended-badge{position:absolute;top:-1px;right:16px;background:var(--brand-gradient);color:#fff;padding:6px 12px;border-radius:0 0 var(--radius-md) var(--radius-md);font-size:var(--font-size-xs);font-weight:600;display:flex;align-items:center;gap:4px}.smart-booking-page .recommended-icon{font-size:12px}.smart-booking-page .caregiver-card-header{display:flex;gap:14px;margin-bottom:14px}.smart-booking-page .caregiver-avatar-wrapper{position:relative;flex-shrink:0}.smart-booking-page .caregiver-avatar{width:64px;height:64px;border-radius:var(--radius-lg);background:var(--color-gray-100);overflow:hidden}.smart-booking-page .caregiver-avatar img{width:100%;height:100%;object-fit:cover}.smart-booking-page .avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--brand-gradient);color:#fff;font-size:24px;font-weight:600}.smart-booking-page .avatar-placeholder.large{font-size:32px}.smart-booking-page .verified-badge{position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;background:var(--color-success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:2px solid white}.smart-booking-page .caregiver-header-info{flex:1;min-width:0}.smart-booking-page .caregiver-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin:0 0 4px}.smart-booking-page .caregiver-type-badge{display:inline-block;padding:2px 8px;background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;margin-bottom:8px}.smart-booking-page .caregiver-meta{display:flex;gap:12px}.smart-booking-page .meta-item{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.smart-booking-page .meta-icon{font-size:12px}.smart-booking-page .match-score-section{margin-bottom:14px}.smart-booking-page .match-score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.smart-booking-page .match-score-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.smart-booking-page .match-score-value{font-size:var(--font-size-xs);font-weight:600}.smart-booking-page .match-score-value.high{color:var(--color-success)}.smart-booking-page .match-score-value.medium{color:var(--color-warning)}.smart-booking-page .match-score-value.low{color:var(--color-danger)}.smart-booking-page .match-score-bar{height:6px;background:var(--color-gray-200);border-radius:3px;overflow:hidden}.smart-booking-page .match-score-fill{height:100%;border-radius:3px;transition:width .4s ease}.smart-booking-page .match-score-fill.high{background:var(--color-success)}.smart-booking-page .match-score-fill.medium{background:var(--color-warning)}.smart-booking-page .match-score-fill.low{background:var(--color-danger)}.smart-booking-page .caregiver-stats-row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-bottom:12px}.smart-booking-page .stat-item{display:flex;align-items:center;gap:4px}.smart-booking-page .stat-icon{font-size:14px}.smart-booking-page .stat-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.smart-booking-page .stat-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.smart-booking-page .stat-item.highlight .stat-value{color:var(--color-primary)}.smart-booking-page .caregiver-skills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.smart-booking-page .caregiver-card-action{margin-top:auto}.smart-booking-page .btn-select-caregiver{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.smart-booking-page .btn-select-caregiver:hover{background:var(--color-primary-hover)}.smart-booking-page .btn-arrow{font-size:16px}.smart-booking-page .results-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.smart-booking-page .results-info{flex:1}.smart-booking-page .results-title{display:flex;align-items:center;gap:8px;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:0 0 4px}.smart-booking-page .results-icon{font-size:20px}.smart-booking-page .results-count{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.smart-booking-page .btn-edit-criteria{padding:8px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.smart-booking-page .btn-edit-criteria:hover{background:var(--color-gray-100)}.smart-booking-page .sort-info{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--color-gray-50);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:16px}.smart-booking-page .sort-icon{font-size:14px}.smart-booking-page .results-bottom{text-align:center;padding:20px;margin-top:16px}.smart-booking-page .help-text{display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:12px}.smart-booking-page .help-icon{font-size:16px}.smart-booking-page .empty-state{text-align:center;padding:40px 20px}.smart-booking-page .empty-state-illustration{position:relative;width:120px;height:120px;margin:0 auto 24px}.smart-booking-page .empty-state-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;z-index:1}.smart-booking-page .empty-state-circles{position:absolute;top:0;right:0;bottom:0;left:0}.smart-booking-page .circle{position:absolute;border-radius:50%;border:2px solid var(--color-gray-200);animation:sb-pulse 2s ease-in-out infinite}.smart-booking-page .circle.c1{width:100%;height:100%;opacity:.3}.smart-booking-page .circle.c2{width:80%;height:80%;top:10%;left:10%;opacity:.5;animation-delay:.5s}.smart-booking-page .circle.c3{width:60%;height:60%;top:20%;left:20%;opacity:.7;animation-delay:1s}@keyframes sb-pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.05);opacity:.6}}.smart-booking-page .empty-state-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin-bottom:8px}.smart-booking-page .empty-state-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:20px}.smart-booking-page .empty-state-suggestions{background:var(--color-gray-50);padding:16px;border-radius:var(--radius-md);margin-bottom:20px;text-align:left}.smart-booking-page .suggestion-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:8px}.smart-booking-page .suggestion-list{list-style:none;padding:0;margin:0}.smart-booking-page .suggestion-list li{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:4px 0 4px 20px;position:relative}.smart-booking-page .suggestion-list li:before{content:"•";position:absolute;left:6px;color:var(--color-primary)}.smart-booking-page .selected-caregiver-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--color-gray-50);border-radius:var(--radius-lg)}.smart-booking-page .selected-caregiver-avatar{width:70px;height:70px;border-radius:var(--radius-lg);overflow:hidden;position:relative;flex-shrink:0}.smart-booking-page .selected-caregiver-avatar img{width:100%;height:100%;object-fit:cover}.smart-booking-page .selected-caregiver-details{flex:1;min-width:0}.smart-booking-page .selected-caregiver-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin:0 0 4px}.smart-booking-page .selected-caregiver-type{display:inline-block;padding:2px 8px;background:var(--color-primary-100);color:var(--color-primary-700);border-radius:var(--radius-full);font-size:var(--font-size-xs);margin-bottom:6px}.smart-booking-page .selected-caregiver-stats{display:flex;gap:12px}.smart-booking-page .selected-caregiver-stats .stat{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.smart-booking-page .btn-change{padding:8px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.smart-booking-page .btn-change:hover{background:var(--color-gray-100)}.smart-booking-page .summary-card{background:var(--color-gray-50);border-radius:var(--radius-md);padding:4px 0}.smart-booking-page .summary-item{display:flex;align-items:center;gap:12px;padding:12px 16px}.smart-booking-page .summary-icon{font-size:18px;flex-shrink:0}.smart-booking-page .summary-content{flex:1;display:flex;justify-content:space-between;align-items:center}.smart-booking-page .summary-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.smart-booking-page .summary-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.smart-booking-page .summary-value.discount{color:var(--color-success)}.smart-booking-page .summary-divider{height:1px;background:var(--color-border);margin:0 16px}.smart-booking-page .summary-item.discount{background:var(--color-success-50)}.smart-booking-page .total-price-card{display:flex;justify-content:space-between;align-items:center;background:var(--brand-gradient);border-radius:var(--radius-lg);padding:20px;margin-bottom:16px;color:#fff}.smart-booking-page .total-price-info{display:flex;flex-direction:column;gap:2px}.smart-booking-page .total-price-label{font-size:var(--font-size-base);font-weight:600}.smart-booking-page .total-price-note{font-size:var(--font-size-xs);opacity:.9}.smart-booking-page .total-price-amount{display:flex;align-items:baseline;gap:4px}.smart-booking-page .total-price-value{font-size:28px;font-weight:700}.smart-booking-page .total-price-unit{font-size:var(--font-size-base);font-weight:500}.smart-booking-page .terms-note{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:16px}.smart-booking-page .terms-note a{color:var(--color-primary);margin:0 3px}.smart-booking-page .btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-fast);min-height:unset}.smart-booking-page .btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.smart-booking-page .btn-primary:disabled{background:var(--color-gray-300);cursor:not-allowed}.smart-booking-page .btn-secondary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition-fast);min-height:unset}.smart-booking-page .btn-secondary:hover{background:var(--color-gray-100)}.smart-booking-page .btn-icon{font-size:18px}.smart-booking-page .btn-price{font-weight:400;opacity:.9}.smart-booking-page .btn-next,.smart-booking-page .btn-search,.smart-booking-page .btn-confirm{margin-top:8px}.smart-booking-page .btn-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:sb-spin .8s linear infinite}@keyframes sb-spin{to{transform:rotate(360deg)}}.smart-booking-page .error-alert{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--color-danger-50);border:1px solid var(--color-danger-100);border-radius:var(--radius-md);margin-bottom:16px}.smart-booking-page .error-icon{font-size:18px;flex-shrink:0}.smart-booking-page .error-text{flex:1;font-size:var(--font-size-sm);color:var(--color-danger)}.smart-booking-page .error-close{width:24px;height:24px;border:none;background:none;font-size:18px;color:var(--color-danger);cursor:pointer;display:flex;align-items:center;justify-content:center}.smart-booking-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-gray-50)}.smart-booking-loading .loading-content{text-align:center}.smart-booking-loading .loading-spinner{position:relative;width:60px;height:60px;margin:0 auto 16px}.smart-booking-loading .spinner-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid transparent;border-top-color:var(--color-primary);border-radius:50%;animation:sb-spin 1s linear infinite}.smart-booking-loading .spinner-ring:nth-child(2){top:6px;right:6px;bottom:6px;left:6px;border-top-color:var(--color-secondary-500);animation-duration:1.5s;animation-direction:reverse}.smart-booking-loading .spinner-ring:nth-child(3){top:12px;right:12px;bottom:12px;left:12px;border-top-color:var(--color-primary-300);animation-duration:2s}.smart-booking-loading .loading-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.smart-booking-success{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-gray-50)}.smart-booking-success .success-content{text-align:center;padding:40px}.smart-booking-success .success-animation{position:relative;width:100px;height:100px;margin:0 auto 24px}.smart-booking-success .success-circle{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-success);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:sb-scaleIn .5s ease}.smart-booking-success .success-check{color:#fff;font-size:48px;font-weight:700}.smart-booking-success .success-ripple{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:3px solid var(--color-success);border-radius:50%;animation:sb-ripple 1.5s ease-out infinite}@keyframes sb-scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes sb-ripple{0%{transform:scale(1);opacity:.6}to{transform:scale(1.5);opacity:0}}.smart-booking-success .success-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-success);margin-bottom:8px}.smart-booking-success .success-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;margin-bottom:24px}.smart-booking-success .success-progress{width:200px;height:4px;background:var(--color-gray-200);border-radius:2px;margin:0 auto;overflow:hidden}.smart-booking-success .success-progress-bar{height:100%;background:var(--color-success);animation:sb-progress 2s ease-out forwards}@keyframes sb-progress{0%{width:0%}to{width:100%}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-gradient-start: #46C1D8;--brand-gradient-end: #A0D17F;--brand-gradient: linear-gradient(45deg, #46C1D8, #A0D17F);--color-primary-50: #e8f7fa;--color-primary-100: #c5ecf2;--color-primary-200: #9ee0e9;--color-primary-300: #77d4e0;--color-primary-400: #5fcadb;--color-primary-500: #46C1D8;--color-primary-600: #3fb3c8;--color-primary-700: #37a0b3;--color-primary-800: #2f8e9f;--color-primary-900: #206d7c;--color-secondary-500: #A0D17F;--color-secondary-600: #8fc46a;--color-secondary-700: #7bb356;--color-success-50: #f3f9ed;--color-success-100: #e2f1d3;--color-success-500: #A0D17F;--color-success-600: #8fc46a;--color-success-700: #7bb356;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #92400e;--color-danger-50: #fef2f3;--color-danger-100: #fee2e4;--color-danger-500: #F6132E;--color-danger-600: #dc1128;--color-danger-700: #b80e22;--color-info-50: #e8f7fa;--color-info-100: #c5ecf2;--color-info-500: #46C1D8;--color-info-600: #3fb3c8;--color-info-700: #37a0b3;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #eeeeee;--color-gray-300: #e0e0e0;--color-gray-400: #bdbdbd;--color-gray-500: #9e9e9e;--color-gray-600: #757575;--color-gray-700: #616161;--color-gray-800: #424041;--color-gray-900: #212121;--color-primary: #46C1D8;--color-primary-hover: #3fb3c8;--color-primary-light: #77d4e0;--color-success: #A0D17F;--color-warning: #f59e0b;--color-danger: #F6132E;--color-info: #46C1D8;--color-text: #424041;--color-text-secondary: #757575;--color-text-muted: #9e9e9e;--color-background: #FFFFFF;--color-surface: #FFFFFF;--color-border: #eeeeee;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(66, 64, 65, .08);--shadow-md: 0 4px 12px rgba(66, 64, 65, .1);--shadow-lg: 0 8px 24px rgba(66, 64, 65, .12);--shadow-xl: 0 16px 32px rgba(66, 64, 65, .14);--font-family: "Noto Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-display: "Mitr", "Noto Sans Thai", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 500;--z-modal-backdrop: 900;--z-modal: 1000;--z-toast: 1100}html{font-size:16px;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-gray-800)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-base)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.page-title{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-gray-800);margin-bottom:var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;line-height:1;padding:.75rem 1.25rem;min-height:48px;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);-webkit-tap-highlight-color:transparent;touch-action:manipulation;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:var(--brand-gradient);color:#fff;border:none}.btn-primary:hover:not(:disabled){background:linear-gradient(45deg,#3fb3c8,#8fc46a);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-gray-500);color:#fff}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-600)}.btn-outline{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary-50)}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background-color:var(--color-success-600)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-600)}.btn-info{background-color:var(--color-info);color:#fff}.btn-info:hover:not(:disabled){background-color:var(--color-info-600)}.btn-ghost{background-color:transparent;color:var(--color-text)}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.btn-sm{font-size:.8125rem;padding:.375rem .75rem;min-height:36px}.btn-lg{font-size:var(--font-size-base);padding:.75rem 1.5rem;min-height:52px}.btn-block{width:100%}.btn-icon{padding:var(--space-3);min-width:44px}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-700);margin-bottom:var(--space-2)}.form-label-required:after{content:" *";color:var(--color-danger)}.form-input,.form-select,.form-textarea{display:block;width:100%;font-family:inherit;font-size:var(--font-size-sm);padding:.5rem .75rem;min-height:44px;background-color:var(--color-surface);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.form-input::placeholder{color:var(--color-text-muted)}.form-input:disabled{background-color:var(--color-gray-50);opacity:.6;cursor:not-allowed}.form-input-error{border-color:var(--color-danger)}.form-input-error:focus{box-shadow:0 0 0 3px #ef44441a}.form-textarea{min-height:100px;resize:vertical}.form-error{font-size:var(--font-size-sm);color:var(--color-danger);margin-top:var(--space-1)}.form-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.form-checkbox,.form-radio{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.form-checkbox input,.form-radio input{width:18px;height:18px;accent-color:var(--color-primary)}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);margin-bottom:var(--space-6);transition:all var(--transition-base);border:1px solid var(--color-border)}.card:hover{box-shadow:var(--shadow-md)}.card-clickable{cursor:pointer}.card-clickable:active{transform:scale(.99)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-gray-200)}.card-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-gray-800);margin:0}.card-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.container{width:100%;max-width:640px;margin:0 auto;padding:var(--space-4);padding-bottom:calc(var(--space-4) + 80px)}@media (min-width: 768px){.container{padding:var(--space-6);padding-bottom:calc(var(--space-6) + 80px)}}.page-header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--brand-gradient);color:#fff}.page-header h1{flex:1;font-size:var(--font-size-lg);font-weight:600;font-family:var(--font-family-display);color:#fff;margin:0}.page-header-title{flex:1;font-size:var(--font-size-lg);font-weight:600}.back-button,.page-header-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#ffffff1a;border:none;border-radius:var(--radius-full);font-size:20px;color:#fff;cursor:pointer;min-height:auto;transition:background var(--transition-fast)}.back-button:hover,.page-header-back:hover{background:#fff3}.stack{display:flex;flex-direction:column}.stack-1{gap:var(--space-1)}.stack-2{gap:var(--space-2)}.stack-3{gap:var(--space-3)}.stack-4{gap:var(--space-4)}.stack-6{gap:var(--space-6)}.inline{display:flex;align-items:center}.inline-1{gap:var(--space-1)}.inline-2{gap:var(--space-2)}.inline-3{gap:var(--space-3)}.inline-4{gap:var(--space-4)}.inline-between{justify-content:space-between}.inline-center{justify-content:center}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:.25rem .75rem;font-size:var(--font-size-xs);font-weight:500;border-radius:var(--radius-full)}.badge-primary{background-color:var(--color-primary-100);color:#1e40af}.badge-success{background-color:var(--color-success-100);color:var(--color-success-700)}.badge-warning{background-color:var(--color-warning-100);color:var(--color-warning-700)}.badge-danger{background-color:var(--color-danger-100);color:var(--color-danger-700)}.badge-info{background-color:var(--color-info-100);color:var(--color-info-700)}.badge-gray,.badge-secondary{background-color:var(--color-gray-200);color:var(--color-gray-700)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:.875rem 1rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);border-left:4px solid;margin-bottom:var(--space-4)}.alert-icon{flex-shrink:0;font-size:var(--font-size-lg)}.alert-content{flex:1}.alert-success{background-color:#f0fdf4;color:var(--color-success-700);border-left-color:var(--color-success)}.alert-warning{background-color:#fffbeb;color:var(--color-warning-700);border-left-color:var(--color-warning)}.alert-danger,.alert-error{background-color:#fef2f2;color:var(--color-danger-700);border-left-color:var(--color-danger)}.alert-info{background-color:#eff6ff;color:#1e40af;border-left-color:var(--color-primary)}.stat-card{background:var(--color-surface);padding:var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.stat-value{font-size:2rem;font-weight:700;color:var(--color-gray-800);margin-bottom:var(--space-1)}.stat-label{font-size:var(--font-size-sm);color:var(--color-gray-500)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-4)}.spinner{width:40px;height:40px;border:4px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:24px;height:24px;border-width:3px}.spinner-lg{width:56px;height:56px;border-width:5px}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#fffc;z-index:var(--z-modal)}.loading-center{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);gap:var(--space-4)}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton-text{height:16px;margin-bottom:var(--space-2)}.skeleton-title{height:24px;width:60%;margin-bottom:var(--space-3)}.skeleton-avatar{width:48px;height:48px;border-radius:var(--radius-full)}.skeleton-card{height:120px}.skeleton-circular{border-radius:var(--radius-full)}.skeleton-rectangular{border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-primary-400) 100%)}.auth-container{width:100%;max-width:400px}.auth-logo{text-align:center;margin-bottom:var(--space-8)}.auth-logo-icon{width:100px;height:100px;margin:0 auto var(--space-4);background:#fffffff2;border-radius:24px;padding:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #0000001a}.auth-brand{font-size:var(--font-size-2xl);font-weight:700;color:#fff;margin:0 0 var(--space-2) 0}.auth-tagline{font-size:var(--font-size-base);color:#fffc;margin:0}.auth-card{box-shadow:var(--shadow-xl);border-radius:var(--radius-xl)}.auth-title{font-size:var(--font-size-xl);font-weight:600;text-align:center;margin:0 0 var(--space-6) 0;color:var(--color-gray-800)}.auth-footer{text-align:center;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center}.empty-state-icon{font-size:64px;margin-bottom:var(--space-4);opacity:.4}.empty-state-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:280px}.divider{height:1px;background-color:var(--color-border);margin:var(--space-4) 0}.divider-thick{height:8px;background-color:var(--color-gray-100);margin:0}.avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-full);background-color:var(--color-primary-100);color:var(--color-primary);font-weight:600;font-size:var(--font-size-lg);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-sm)}.avatar-lg{width:64px;height:64px;font-size:var(--font-size-xl)}.avatar-xl{width:80px;height:80px;font-size:var(--font-size-2xl)}.avatar-xxl{width:100px;height:100px;font-size:var(--font-size-3xl)}.avatar-placeholder{font-size:32px;line-height:1}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500;background-color:var(--color-gray-100);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.chip:hover{background-color:var(--color-gray-200)}.chip-active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.chip-active:hover{background-color:var(--color-primary-hover)}.chip-muted{background-color:transparent;border-color:transparent;color:var(--color-text-muted);cursor:default}.chip-primary{background-color:var(--color-primary-light);border-color:transparent;color:#fff}.tabs-container{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch}.tabs-container::-webkit-scrollbar{display:none}.tabs-container .chip{white-space:nowrap;flex-shrink:0}.tab-buttons{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.tab-btn{flex:1;padding:.75rem 1rem;font-size:var(--font-size-sm);font-weight:600;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.tab-btn:hover{border-color:var(--color-primary-300);color:var(--color-primary)}.tab-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.radio-card{display:flex;align-items:center;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);cursor:pointer;transition:all var(--transition-fast)}.radio-card:hover{border-color:var(--color-primary-300)}.radio-card-selected{border:2px solid var(--color-primary);background-color:var(--color-primary-50)}.radio-input{margin-right:var(--space-3);accent-color:var(--color-primary)}.bottom-actions{position:fixed;bottom:70px;left:0;right:0;padding:var(--space-4);background-color:var(--color-surface);border-top:1px solid var(--color-border);display:flex;gap:var(--space-3);z-index:var(--z-sticky)}.star-rating{color:var(--color-warning-500);font-size:var(--font-size-base);letter-spacing:2px}.info-section{display:grid;grid-template-columns:120px 1fr;padding:.75rem 0;border-bottom:1px solid var(--color-gray-100)}.info-section:last-child{border-bottom:none}.info-section-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-gray-500)}.info-section-value{font-size:var(--font-size-sm);color:var(--color-gray-800)}.info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0}.info-row+.info-row{border-top:1px solid var(--color-border)}.info-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.info-value{font-weight:500;text-align:right}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-fast)}.modal{position:fixed;bottom:0;left:0;right:0;max-height:90vh;background-color:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:var(--z-modal);animation:slideUp var(--transition-base);overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--font-size-lg);font-weight:600}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:none;border-radius:var(--radius-full);font-size:24px;color:var(--color-text-secondary);cursor:pointer;min-height:auto}.modal-close:hover{background-color:var(--color-gray-100)}.modal-body{flex:1;padding:var(--space-4);overflow-y:auto}.modal-footer{display:flex;gap:var(--space-3);padding:var(--space-4);border-top:1px solid var(--color-border)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.list-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color var(--transition-fast)}.list-item:hover{background-color:var(--color-gray-50)}.list-item:active{background-color:var(--color-gray-100)}.list-item-content{flex:1;min-width:0}.list-item-title{font-weight:500;color:var(--color-text)}.list-item-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.list-item-arrow{color:var(--color-text-muted);font-size:20px}.price{font-weight:700;color:var(--color-primary)}.price-lg{font-size:var(--font-size-xl)}.price-xl{font-size:var(--font-size-2xl)}.price-original{font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:line-through;font-weight:400}.rating{display:inline-flex;align-items:center;gap:var(--space-1)}.rating-star{color:var(--color-warning-500)}.rating-star-empty{color:var(--color-gray-300)}.rating-value{font-weight:600;margin-left:var(--space-1)}.rating-count{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-gray-200)}.table th{background-color:var(--color-gray-50);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-700)}.table tbody tr:hover{background-color:var(--color-gray-50)}.caregiver-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--space-3)}.caregiver-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.caregiver-card-header{display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.caregiver-card-avatar{width:64px;height:64px;border-radius:var(--radius-full);background:var(--color-primary-100);display:flex;align-items:center;justify-content:center;font-size:32px;flex-shrink:0;overflow:hidden}.caregiver-card-avatar img{width:100%;height:100%;object-fit:cover}.caregiver-card-info{flex:1;min-width:0}.caregiver-card-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-800);margin-bottom:var(--space-1)}.caregiver-card-type{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.caregiver-card-rating{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.caregiver-card-skills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.caregiver-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}.caregiver-card-price{font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary)}.booking-card{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:var(--space-3)}.booking-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-100)}.booking-card-number{font-size:var(--font-size-sm);font-weight:600;color:var(--color-gray-700)}.booking-card-body{padding:var(--space-4)}.booking-card-service{font-size:var(--font-size-base);font-weight:600;color:var(--color-gray-800);margin-bottom:var(--space-2)}.booking-card-date{font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-2)}.booking-card-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-gray-100)}.booking-card-price{font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:70px;background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;align-items:center;z-index:var(--z-fixed);padding-bottom:env(safe-area-inset-bottom,0)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2);color:var(--color-gray-400);text-decoration:none;font-size:var(--font-size-xs);transition:color var(--transition-fast);min-width:64px}.nav-item-icon{font-size:24px;margin-bottom:2px}.nav-item.active,.nav-item:hover{color:var(--color-primary)}.nav-item.active .nav-item-icon{transform:scale(1.1)}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-md{font-size:var(--font-size-base)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.m-0{margin:0}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-sm{margin-top:var(--space-2)}.mt-md{margin-top:var(--space-3)}.mt-lg{margin-top:var(--space-4)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-xs{margin-bottom:var(--space-1)}.mb-sm{margin-bottom:var(--space-2)}.mb-md{margin-bottom:var(--space-3)}.mb-lg{margin-bottom:var(--space-4)}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-sm{padding:var(--space-2)}.p-md{padding:var(--space-4)}.p-lg{padding:var(--space-6)}.flex{display:flex}.flex-1{flex:1}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-1)}.gap-sm{gap:var(--space-2)}.gap-md{gap:var(--space-3)}.gap-lg{gap:var(--space-4)}.gap-xl{gap:var(--space-6)}.w-full{width:100%}.w-auto{width:auto}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.border-bottom{border-bottom:1px solid var(--color-border)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.truncate,.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.min-w-0{min-width:0}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}@media (min-width: 768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:grid-2{grid-template-columns:repeat(2,1fr)}}@supports (padding: env(safe-area-inset-bottom)){.container{padding-bottom:calc(var(--space-4) + 80px + env(safe-area-inset-bottom))}.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);max-width:400px}.toast{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 4px 12px #00000026;border-left:4px solid;min-width:300px;animation:slideIn var(--transition-slow)}.toast-success{border-left-color:var(--color-success)}.toast-error{border-left-color:var(--color-danger)}.toast-warning{border-left-color:var(--color-warning)}.toast-info{border-left-color:var(--color-primary)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 480px){.toast-container{left:var(--space-4);right:var(--space-4);max-width:none}.toast{min-width:auto}}.notification-list{display:flex;flex-direction:column}.notification-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background var(--transition-fast)}.notification-card:hover{background:var(--color-gray-50)}.notification-card.unread{background:var(--color-primary-50);border-left:3px solid var(--color-primary)}.notification-card.unread:hover{background:var(--color-primary-100)}.notification-icon{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.notification-icon.booking{background:var(--color-primary-100);color:var(--color-primary)}.notification-icon.payment{background:var(--color-success-light);color:var(--color-success)}.notification-icon.reminder{background:var(--color-warning-light);color:var(--color-warning)}.notification-icon.system{background:var(--color-gray-100);color:var(--color-gray-600)}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;color:var(--color-text);margin-bottom:var(--space-1);font-size:.9375rem}.notification-message{color:var(--color-text-secondary);font-size:.875rem;line-height:1.4;margin-bottom:var(--space-2)}.notification-time{font-size:.75rem;color:var(--color-gray-500)}.notification-action{margin-top:var(--space-2)}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:var(--color-danger);color:#fff;font-size:11px;font-weight:600;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.notification-badge.large{min-width:22px;height:22px;font-size:12px}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center}.notification-empty-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.6}.favorite-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.favorite-btn:hover{background:var(--color-gray-100)}.favorite-btn:active{transform:scale(.9)}.favorite-btn .heart-icon{font-size:24px;color:var(--color-gray-400);transition:all var(--transition-fast)}.favorite-btn.active .heart-icon{color:var(--color-danger)}.favorite-btn.active:hover{background:var(--color-danger-light)}.caregiver-card-favorite{position:absolute;top:var(--space-2);right:var(--space-2);z-index:10}.status-timeline{display:flex;flex-direction:column;padding:var(--space-4)}.timeline-item{display:flex;gap:var(--space-3);padding-bottom:var(--space-4);position:relative}.timeline-item:before{content:"";position:absolute;left:11px;top:28px;bottom:0;width:2px;background:var(--color-gray-200)}.timeline-item:last-child:before{display:none}.timeline-item:last-child{padding-bottom:0}.timeline-dot{width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-gray-200);display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;font-size:12px;color:var(--color-gray-500)}.timeline-item.pending .timeline-dot{background:var(--color-gray-100);border:2px dashed var(--color-gray-300)}.timeline-item.active .timeline-dot{background:var(--color-primary);color:#fff;animation:pulse 2s infinite}.timeline-item.completed .timeline-dot{background:var(--color-success);color:#fff}@keyframes pulse{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}}.timeline-content{flex:1;padding-top:2px}.timeline-title{font-weight:500;color:var(--color-text);margin-bottom:var(--space-1)}.timeline-item.pending .timeline-title{color:var(--color-gray-400)}.timeline-time{font-size:.75rem;color:var(--color-gray-500)}.timeline-description{font-size:.875rem;color:var(--color-text-secondary);margin-top:var(--space-1)}.live-tracking-container{padding:var(--space-4)}.live-tracking-map{width:100%;height:250px;border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--space-4);background:var(--color-gray-100);display:flex;align-items:center;justify-content:center}.tracking-eta{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-primary-50);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.tracking-eta-icon{font-size:1.5rem}.tracking-eta-text{font-size:.875rem;color:var(--color-primary-dark)}.tracking-eta-time{font-weight:600;font-size:1rem}.tracking-caregiver{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4)}.tracking-caregiver-info{flex:1}.tracking-caregiver-name{font-weight:600;margin-bottom:var(--space-1)}.tracking-caregiver-type{font-size:.875rem;color:var(--color-text-secondary)}.tracking-contact-buttons{display:flex;gap:var(--space-2)}.tracking-contact-btn{width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.25rem;border:none;cursor:pointer;transition:all var(--transition-fast)}.tracking-contact-btn.call{background:var(--color-success-light);color:var(--color-success)}.tracking-contact-btn.call:hover{background:var(--color-success);color:#fff}.tracking-contact-btn.chat{background:var(--color-primary-100);color:var(--color-primary)}.tracking-contact-btn.chat:hover{background:var(--color-primary);color:#fff}.emergency-btn{width:100%;padding:var(--space-4);background:var(--color-danger-light);color:var(--color-danger);border:2px solid var(--color-danger);border-radius:var(--radius-lg);font-weight:600;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:all var(--transition-fast)}.emergency-btn:hover{background:var(--color-danger);color:#fff}.profile-menu{display:flex;flex-direction:column;margin:0 calc(-1 * var(--space-4))}.profile-menu-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:none;border-bottom:1px solid var(--color-border);background:transparent;width:100%;cursor:pointer;transition:background var(--transition-fast);text-decoration:none;color:var(--color-text);font-family:inherit}.profile-menu-item:last-child{border-bottom:none}.profile-menu-item:hover{background:var(--color-gray-50)}.profile-menu-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;background:var(--color-gray-100)}.profile-menu-item.favorites .profile-menu-icon{background:var(--color-danger-light)}.profile-menu-item.notifications .profile-menu-icon{background:var(--color-primary-100)}.profile-menu-item.support .profile-menu-icon{background:var(--color-success-light)}.profile-menu-item.logout .profile-menu-icon{background:var(--color-gray-200)}.profile-menu-content{flex:1}.profile-menu-title{font-weight:500;margin-bottom:2px}.profile-menu-subtitle{font-size:.75rem;color:var(--color-gray-500)}.profile-menu-text{flex:1;font-size:1rem;font-weight:500;text-align:left}.profile-menu-arrow{color:var(--color-gray-400);font-size:1.25rem}.profile-menu-badge{background:var(--color-danger);color:#fff;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:var(--radius-full)}.support-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-3);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;color:var(--color-text)}.support-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.support-card-icon{width:50px;height:50px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.support-card.line .support-card-icon{background:#00b900;color:#fff}.support-card.phone .support-card-icon{background:var(--color-primary);color:#fff}.support-card.faq .support-card-icon{background:var(--color-warning);color:#fff}.support-card-content{flex:1}.support-card-title{font-weight:600;margin-bottom:4px}.support-card-subtitle{font-size:.875rem;color:var(--color-text-secondary)}.faq-list{display:flex;flex-direction:column;gap:var(--space-3)}.faq-item{background:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.faq-question{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);font-weight:500;cursor:pointer;transition:background var(--transition-fast)}.faq-question:hover{background:var(--color-gray-50)}.faq-question-icon{font-size:1.25rem;color:var(--color-gray-400);transition:transform var(--transition-fast)}.faq-item.open .faq-question-icon{transform:rotate(180deg)}.faq-answer{padding:0 var(--space-4) var(--space-4);color:var(--color-text-secondary);line-height:1.6;font-size:.9375rem}.booking-detail-header{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;padding:var(--space-6) var(--space-4);margin:calc(var(--space-4) * -1);margin-bottom:var(--space-4)}.booking-detail-number{font-size:.875rem;opacity:.8;margin-bottom:var(--space-2)}.booking-detail-status{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#fff3;border-radius:var(--radius-full);font-size:.875rem;font-weight:500}.booking-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.booking-info-item{padding:var(--space-3);background:var(--color-gray-50);border-radius:var(--radius-md)}.booking-info-label{font-size:.75rem;color:var(--color-gray-500);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.5px}.booking-info-value{font-weight:500;color:var(--color-text)}.tracking-map-container{width:100%;height:250px;background:linear-gradient(135deg,#e0f2fe,#bae6fd);position:relative}.tracking-map-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-gray-500)}.tracking-map-placeholder .map-icon{font-size:3rem;margin-bottom:var(--space-2)}.tracking-status-overlay{position:absolute;bottom:var(--space-4);left:50%;transform:translate(-50%);background:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:var(--space-2);border:2px solid}.tracking-status-icon{font-size:1.25rem}.tracking-status-text{font-weight:600;font-size:.875rem}.status-timeline{position:relative;padding-left:var(--space-2)}.status-timeline .timeline-item{position:relative;padding-left:calc(var(--space-4) + 24px);padding-bottom:var(--space-5);min-height:60px}.status-timeline .timeline-item:last-child{padding-bottom:0}.status-timeline .timeline-line{position:absolute;left:11px;top:24px;width:2px;height:calc(100% - 24px);background:var(--color-gray-200)}.status-timeline .timeline-line.completed{background:var(--color-success)}.status-timeline .timeline-dot{position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;background:var(--color-gray-200);color:var(--color-gray-500)}.status-timeline .timeline-dot.completed{background:var(--color-success);color:#fff}.status-timeline .timeline-dot.current{background:var(--color-primary);color:#fff;box-shadow:0 0 0 4px var(--color-primary-100)}.status-timeline .timeline-dot.cancelled{background:var(--color-danger);color:#fff}.status-timeline .timeline-dot .dot-empty{width:8px;height:8px;border-radius:50%;background:var(--color-gray-400)}.status-timeline .timeline-content{padding-top:2px}.status-timeline .timeline-label{font-size:.9rem;font-weight:500;color:var(--color-gray-500)}.status-timeline .timeline-label.current{color:var(--color-primary);font-weight:600}.status-timeline .timeline-time{font-size:.75rem;color:var(--color-gray-400);margin-top:2px}.status-timeline .timeline-item.cancelled .timeline-label{color:var(--color-danger)}.form-group{margin-bottom:0}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.form-input{width:100%;padding:var(--space-3) var(--space-4);font-size:1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:all var(--transition-fast);font-family:inherit}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100)}.form-input::placeholder{color:var(--color-gray-400)}textarea.form-input{resize:vertical;min-height:80px}.text-danger{color:var(--color-danger)}.spinner-sm{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite;margin-right:var(--space-2)}.alert-success{background:var(--color-success-light);color:var(--color-success-dark);border:1px solid var(--color-success);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.btn-outline-danger{background:transparent;color:var(--color-danger);border:2px solid var(--color-danger)}.btn-outline-danger:hover{background:var(--color-danger);color:#fff}.btn-outline-primary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline-primary:hover{background:var(--color-primary);color:#fff}@media (max-width: 480px){.btn,.chip,.profile-menu-item,.notification-card,.support-card{min-height:48px}.notification-title,.timeline-title,.profile-menu-title,.support-card-title{font-size:1rem}.notification-card,.profile-menu-item{padding:var(--space-4) var(--space-3)}}.homepage-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-4);background:var(--brand-gradient)}.homepage-logo{display:flex;align-items:center;gap:var(--space-2)}.logo-icon{font-size:32px}.logo-text{font-size:22px;font-weight:600;font-family:var(--font-family-display);color:#fff;letter-spacing:-.5px}.notification-btn{background:#fff3;border:none;border-radius:var(--radius-full);width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer}.homepage-greeting{margin-bottom:var(--space-6);padding-top:var(--space-2)}.homepage-greeting h2{font-size:24px;font-weight:500;font-family:var(--font-family-display);color:var(--color-text);margin-bottom:var(--space-1)}.homepage-greeting p{font-size:16px;color:var(--color-text-secondary)}.service-categories{margin-bottom:var(--space-6)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.service-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4) var(--space-2);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;min-height:110px}.service-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--color-primary);background:linear-gradient(135deg,#46c1d80d,#a0d17f0d)}.service-card:active{transform:scale(.98)}.service-icon{font-size:32px;margin-bottom:var(--space-2)}.service-name{font-size:13px;font-weight:600;color:var(--color-gray-700);text-align:center;line-height:1.3}.homepage-section{margin-bottom:var(--space-5)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.section-header h3{font-size:18px;font-weight:600;color:var(--color-gray-800)}.see-all-btn{background:none;border:none;color:var(--color-primary);font-size:14px;font-weight:500;cursor:pointer;padding:var(--space-1) var(--space-2)}.see-all-btn:hover{text-decoration:underline}.caregiver-scroll{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.recent-booking-card{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:box-shadow .2s ease}.recent-booking-card:hover{box-shadow:var(--shadow-md)}.booking-info{flex:1}.booking-date{font-size:14px;color:var(--color-gray-600);margin-bottom:var(--space-1)}.booking-service{font-size:16px;font-weight:600;color:var(--color-gray-800);margin-bottom:var(--space-1)}.booking-patient{font-size:13px;color:var(--color-gray-500)}.booking-status{margin-left:var(--space-3)}.quick-actions{display:flex;gap:var(--space-3)}.quick-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3);background:var(--color-gray-50);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.quick-action-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-300)}.quick-action-icon{font-size:24px;margin-bottom:var(--space-1)}.quick-action-btn span:last-child{font-size:12px;font-weight:500;color:var(--color-gray-600)}.empty-state-mini{padding:var(--space-6);text-align:center;background:var(--color-gray-50);border-radius:var(--radius-lg)}.empty-state-mini p{color:var(--color-gray-500);font-size:14px}.caregiver-card.compact{padding:var(--space-3)}.caregiver-card.compact .caregiver-card-avatar{width:50px;height:50px;font-size:24px}.caregiver-card.compact .caregiver-card-name{font-size:14px}.caregiver-card.compact .caregiver-card-type{font-size:12px}.caregiver-card.compact .caregiver-card-price{font-size:14px}.support-page{min-height:100vh;background:var(--color-gray-50)}.support-section{margin-bottom:var(--space-6)}.support-section .section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-4);font-family:var(--font-family-display)}.contact-grid{display:flex;flex-direction:column;gap:var(--space-3)}.contact-card{display:flex;align-items:center;gap:var(--space-4);background:#fff;padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s ease}.contact-card:active{transform:scale(.98);box-shadow:var(--shadow-md)}.contact-icon{font-size:32px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-50);border-radius:var(--radius-lg)}.contact-info h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin-bottom:2px}.contact-detail{font-size:var(--font-size-base);color:var(--color-primary);font-weight:500;margin:0}.contact-sub{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.faq-list{display:flex;flex-direction:column;gap:var(--space-2)}.faq-item{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:none;border:none;text-align:left;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);cursor:pointer;min-height:auto;border-radius:0}.faq-toggle{font-size:20px;color:var(--color-primary);font-weight:600}.faq-answer{padding:0 var(--space-4) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:-var(--space-2)}.emergency-card{background:linear-gradient(135deg,#fee2e2,#fecaca);padding:var(--space-6);border-radius:var(--radius-lg);text-align:center}.emergency-icon{font-size:48px;margin-bottom:var(--space-3)}.emergency-card h3{font-size:var(--font-size-lg);font-weight:600;color:#991b1b;margin-bottom:var(--space-2)}.emergency-card p{font-size:var(--font-size-sm);color:#7f1d1d;margin-bottom:var(--space-4)}.app-version{text-align:center;padding:var(--space-6) 0;color:var(--color-text-muted)}.app-version p{margin:0;font-size:var(--font-size-sm)}.version-number{font-size:var(--font-size-xs)!important;opacity:.7}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-fadeIn{animation:fadeIn .3s ease}.animate-fadeInUp{animation:fadeInUp .4s ease}.animate-fadeInScale{animation:fadeInScale .3s ease}.animate-slideInRight{animation:slideInRight .3s ease}.animate-pulse{animation:pulse 2s infinite}.animate-bounce{animation:bounce 1s infinite}.stagger-item{opacity:0;animation:fadeInUp .4s ease forwards}.stagger-item:nth-child(1){animation-delay:0s}.stagger-item:nth-child(2){animation-delay:.05s}.stagger-item:nth-child(3){animation-delay:.1s}.stagger-item:nth-child(4){animation-delay:.15s}.stagger-item:nth-child(5){animation-delay:.2s}.stagger-item:nth-child(6){animation-delay:.25s}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.skeleton-text{height:16px;margin-bottom:8px;border-radius:4px}.skeleton-text.short{width:60%}.skeleton-text.medium{width:80%}.skeleton-avatar{width:64px;height:64px;border-radius:50%}.skeleton-card{padding:var(--space-4);background:#fff;border-radius:var(--radius-lg)}.btn{position:relative;overflow:hidden;transform:translateZ(0)}.btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .4s,height .4s}.btn:active:after{width:300px;height:300px}.card-interactive{transition:transform var(--transition-base),box-shadow var(--transition-base);cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-interactive:active{transform:translateY(0) scale(.98)}.touch-feedback{transition:transform .1s ease,opacity .1s ease}.touch-feedback:active{transform:scale(.97);opacity:.9}.fab{position:fixed;bottom:90px;right:20px;width:56px;height:56px;border-radius:50%;background:var(--brand-gradient);color:#fff;border:none;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;font-size:24px;cursor:pointer;z-index:var(--z-fixed);transition:transform var(--transition-base),box-shadow var(--transition-base)}.fab:hover{transform:scale(1.1);box-shadow:var(--shadow-xl)}.fab:active{transform:scale(.95)}.pull-indicator{position:absolute;top:-50px;left:50%;transform:translate(-50%);width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center;transition:top .2s ease}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%) translateY(100px);padding:var(--space-3) var(--space-5);background:var(--color-gray-800);color:#fff;border-radius:var(--radius-full);font-size:var(--font-size-sm);box-shadow:var(--shadow-lg);z-index:var(--z-toast);opacity:0;transition:transform .3s ease,opacity .3s ease}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.toast-success{background:var(--color-success-600)}.toast-error{background:var(--color-danger-500)}.toast-info{background:var(--color-primary-600)}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:var(--z-modal-backdrop);opacity:0;transition:opacity .3s ease;pointer-events:none}.bottom-sheet-overlay.show{opacity:1;pointer-events:auto}.bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh;z-index:var(--z-modal);transform:translateY(100%);transition:transform .3s ease}.bottom-sheet.show{transform:translateY(0)}.bottom-sheet-handle{width:40px;height:4px;background:var(--color-gray-300);border-radius:2px;margin:var(--space-3) auto var(--space-4)}.progress-steps{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4)}.progress-step{width:8px;height:8px;border-radius:50%;background:var(--color-gray-300);transition:all var(--transition-base)}.progress-step.active{width:24px;border-radius:4px;background:var(--color-primary)}.progress-step.completed{background:var(--color-success)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.swipeable{touch-action:pan-y;-webkit-user-select:none;user-select:none}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.online{background:var(--color-success);animation:pulse 2s infinite}.status-dot.busy{background:var(--color-warning)}.status-dot.offline{background:var(--color-gray-400)}.home-page{min-height:100vh;background:var(--color-gray-50)}.home-hero{background:var(--brand-gradient);padding:var(--space-6) var(--space-4) var(--space-8);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);position:relative}.home-hero-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-5)}.home-hero-greeting{color:#fff}.greeting-text{font-size:var(--font-size-sm);opacity:.9;display:block;margin-bottom:4px}.user-name{font-family:var(--font-family-display);font-size:var(--font-size-2xl);font-weight:600;margin:0}.notification-btn-new{width:44px;height:44px;border-radius:50%;background:#fff3;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base)}.notification-btn-new:hover{background:#ffffff4d}.notification-icon{font-size:20px}.home-search-bar{display:flex;align-items:center;gap:var(--space-3);background:#fff;padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);cursor:pointer;transition:all var(--transition-base)}.home-search-bar:active{transform:scale(.98)}.search-icon{font-size:18px;opacity:.5}.search-placeholder{color:var(--color-text-muted);font-size:var(--font-size-base)}.home-content{padding:var(--space-4);margin-top:-var(--space-4)}.active-booking-banner{display:flex;align-items:center;gap:var(--space-3);background:#fff;padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4);cursor:pointer;border-left:4px solid var(--color-primary);transition:all var(--transition-base)}.active-booking-banner:active{transform:scale(.98)}.banner-icon{font-size:24px}.banner-content{flex:1}.banner-label{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:500;display:block}.banner-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.banner-arrow{font-size:24px;color:var(--color-gray-400)}.home-section{margin-bottom:var(--space-6)}.section-title{font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:0 0 var(--space-4) 0}.section-header-new{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.section-header-new .section-title{margin:0}.see-all-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;padding:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.service-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-2);background:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.service-item:active{transform:scale(.95)}.service-icon-wrapper{width:48px;height:48px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--service-color) 15%,white);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.service-item:hover .service-icon-wrapper{transform:scale(1.1)}.service-icon-new{font-size:24px}.service-label{font-size:var(--font-size-xs);font-weight:500;color:var(--color-text);text-align:center;line-height:1.3}.quick-actions-new{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.quick-action-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);background:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm)}.quick-action-icon-wrapper{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px}.quick-action-icon-wrapper.primary{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-400))}.quick-action-icon-wrapper.orange{background:linear-gradient(135deg,#ff9f43,#ffb366)}.quick-action-icon-wrapper.pink{background:linear-gradient(135deg,#ff6b9d,#ff8fb4)}.quick-action-icon-wrapper.purple{background:linear-gradient(135deg,#a55eea,#b87aee)}.smart-booking-banner{background:var(--brand-gradient);padding:20px;border-radius:var(--radius-lg);display:flex;align-items:center;gap:16px;cursor:pointer}.smart-booking-banner-icon{width:56px;height:56px;background:#ffffff4d;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0}.smart-booking-banner-content{flex:1}.smart-booking-banner-title{color:#fff;font-size:18px;font-weight:700;margin-bottom:4px}.smart-booking-banner-desc{color:#ffffffe6;font-size:14px}.smart-booking-banner-arrow{color:#fff;font-size:24px}.quick-action-item span:last-child{font-size:11px;font-weight:500;color:var(--color-text-secondary)}.booking-card-new{background:#fff;border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm)}.booking-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.booking-type{font-weight:600;font-size:var(--font-size-base);color:var(--color-text)}.booking-card-body{display:flex;flex-wrap:wrap;gap:var(--space-3)}.booking-detail-item{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.detail-icon{font-size:14px}.promo-banner{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;justify-content:space-between;align-items:center;color:#fff;overflow:hidden;position:relative}.promo-banner:before{content:"";position:absolute;top:-50%;right:-20%;width:200px;height:200px;background:#ffffff1a;border-radius:50%}.promo-content{position:relative;z-index:1}.promo-badge{display:inline-block;background:#fff3;padding:4px 12px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;margin-bottom:var(--space-2)}.promo-title{font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:600;margin:0 0 4px}.promo-desc{font-size:var(--font-size-sm);opacity:.9;margin:0}.promo-icon{font-size:48px;position:relative;z-index:1}.caregiver-scroll{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2);margin:0 calc(-1 * var(--space-4));padding:0 var(--space-4) var(--space-2);scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.caregiver-scroll::-webkit-scrollbar{display:none}.caregiver-scroll-item{flex:0 0 280px;scroll-snap-align:start}.caregiver-card.compact{background:#fff;border-radius:var(--radius-lg);padding:var(--space-3);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.caregiver-card.compact:active{transform:scale(.98)}.caregiver-card-new{background:#fff;border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);position:relative}.cg-favorite-btn{position:absolute;top:var(--space-3);right:var(--space-3);z-index:10}.cg-header{display:flex;gap:var(--space-4);margin-bottom:var(--space-4)}.cg-avatar{width:72px;height:72px;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-gray-100);flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}.cg-avatar img{width:100%;height:100%;object-fit:cover}.cg-avatar .avatar-placeholder{font-size:32px}.cg-avatar .status-dot{position:absolute;bottom:4px;right:4px;width:12px;height:12px;border:2px solid white}.cg-info{flex:1;min-width:0}.cg-name{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:40px}.cg-type{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 8px}.cg-rating-bar{display:flex;align-items:center;gap:var(--space-2)}.rating-stars{display:flex;gap:2px}.rating-stars .star{font-size:14px;color:var(--color-gray-300)}.rating-stars .star.filled{color:#ffb800}.rating-text{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.review-count{font-size:var(--font-size-xs);color:var(--color-text-muted)}.cg-skills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.skill-tag{display:inline-flex;align-items:center;padding:4px 12px;background:var(--color-primary-50);color:var(--color-primary-700);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500}.skill-more{display:inline-flex;align-items:center;padding:4px 12px;background:var(--color-gray-100);color:var(--color-text-muted);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500}.cg-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-3);border-top:1px solid var(--color-gray-100)}.cg-experience{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.cg-price-tag{display:flex;align-items:baseline;gap:2px}.price-value{font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary)}.price-unit{font-size:var(--font-size-xs);color:var(--color-text-muted)}.caregiver-card-compact{background:#fff;border-radius:var(--radius-lg);padding:var(--space-3);display:flex;gap:var(--space-3);box-shadow:var(--shadow-sm);position:relative}.cg-compact-avatar{width:56px;height:56px;border-radius:var(--radius-md);overflow:hidden;background:var(--color-gray-100);flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}.cg-compact-avatar img{width:100%;height:100%;object-fit:cover}.cg-compact-avatar .avatar-placeholder{font-size:24px}.cg-compact-avatar .status-dot{position:absolute;bottom:2px;right:2px;width:10px;height:10px;border:2px solid white}.cg-compact-info{flex:1;min-width:0}.cg-compact-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cg-compact-type{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0 0 6px}.cg-compact-meta{display:flex;align-items:center;gap:var(--space-3)}.cg-compact-meta .cg-rating{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-text)}.cg-compact-meta .star{color:#ffb800}.cg-compact-meta .reviews{color:var(--color-text-muted)}.cg-compact-meta .cg-price{font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary)}.cg-compact-favorite{position:absolute;top:var(--space-2);right:var(--space-2)}.mobile-layout{display:flex;flex-direction:column;min-height:100vh}.mobile-main{flex:1;padding-bottom:80px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:72px;background:#fff;display:flex;justify-content:space-around;align-items:center;box-shadow:0 -4px 20px #00000014;z-index:var(--z-fixed);padding:0 var(--space-2);padding-bottom:env(safe-area-inset-bottom,0)}.nav-indicator{position:absolute;top:0;left:0;width:20%;height:3px;background:var(--brand-gradient);border-radius:0 0 3px 3px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:20%;padding:var(--space-2);text-decoration:none;color:var(--color-text-muted);transition:all var(--transition-base);-webkit-tap-highlight-color:transparent}.nav-item:active{transform:scale(.9)}.nav-item.active{color:var(--color-primary)}.nav-icon{position:relative;font-size:22px;line-height:1;transition:transform var(--transition-base)}.nav-item.active .nav-icon{transform:scale(1.1)}.nav-badge{position:absolute;top:-6px;right:-10px;min-width:18px;height:18px;padding:0 5px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center}.nav-label{font-size:10px;font-weight:500;font-family:var(--font-family)}.nav-item.active .nav-label{font-weight:600}.page-header{position:sticky;top:0;z-index:var(--z-sticky);background:var(--brand-gradient);padding:var(--space-4);display:flex;align-items:center;gap:var(--space-3);min-height:60px}.page-header h1{flex:1;font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:600;color:#fff;margin:0}.back-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:50%;color:#fff;font-size:18px;cursor:pointer;transition:all var(--transition-base);padding:0;min-height:auto}.back-button:active{background:#ffffff4d;transform:scale(.95)}.profile-page{min-height:100vh;background:var(--color-gray-100);padding-bottom:100px}.profile-skeleton{display:flex;flex-direction:column;align-items:center;padding:60px 20px;gap:16px}.skeleton-avatar-lg{width:100px;height:100px;border-radius:50%}.profile-header-new{position:relative;padding-top:20px;padding-bottom:24px;background:var(--brand-gradient);overflow:hidden}.profile-header-bg{position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='80' cy='20' r='40' fill='rgba(255,255,255,0.08)'/%3E%3Ccircle cx='10' cy='80' r='30' fill='rgba(255,255,255,0.05)'/%3E%3C/svg%3E");background-size:cover}.profile-header-content{position:relative;display:flex;flex-direction:column;align-items:center;padding:0 20px}.profile-avatar-wrapper{position:relative;margin-bottom:16px}.profile-avatar-new{width:100px;height:100px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #00000026;border:4px solid rgba(255,255,255,.9);overflow:hidden}.profile-avatar-new img{width:100%;height:100%;object-fit:cover}.avatar-placeholder-lg{font-size:48px}.profile-edit-badge{position:absolute;bottom:0;right:0;width:32px;height:32px;background:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 2px 8px #00000026;cursor:pointer;transition:transform .2s}.profile-edit-badge:active{transform:scale(.9)}.profile-name-new{font-family:var(--font-family-display);font-size:24px;font-weight:700;color:#fff;margin:0 0 4px;text-shadow:0 1px 2px rgba(0,0,0,.1)}.profile-member-badge{font-size:13px;color:#ffffffe6;background:#fff3;padding:4px 12px;border-radius:20px;margin-bottom:20px}.profile-stats{display:flex;align-items:center;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:16px 32px;gap:32px}.profile-stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.profile-stat-item .stat-value{font-size:24px;font-weight:700;color:#fff}.profile-stat-item .stat-label{font-size:11px;color:#ffffffe6}.stat-divider{width:1px;height:40px;background:#ffffff4d}.profile-content{padding:20px 16px;margin-top:-12px;position:relative}.profile-section{margin-bottom:20px}.profile-section-title{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin-bottom:12px;padding-left:4px}.profile-info-card{background:#fff;border-radius:16px;padding:4px 0;box-shadow:0 2px 12px #0000000f}.profile-info-item{display:flex;align-items:center;padding:14px 16px;gap:14px;border-bottom:1px solid var(--color-gray-100)}.profile-info-item:last-child{border-bottom:none}.info-icon-wrapper{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px}.info-content{flex:1;display:flex;flex-direction:column;gap:2px}.info-label{font-size:11px;color:var(--color-text-secondary)}.info-value{font-size:14px;font-weight:500;color:var(--color-text)}.profile-menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.profile-menu-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;background:#fff;border:none;border-radius:16px;cursor:pointer;box-shadow:0 2px 12px #0000000f;transition:all .2s}.profile-menu-card:active{transform:scale(.95);box-shadow:0 1px 4px #0000001a}.menu-card-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px}.menu-card-label{font-size:12px;font-weight:500;color:var(--color-text)}.profile-list-menu{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #0000000f}.profile-list-item{display:flex;align-items:center;width:100%;padding:16px;gap:14px;background:none;border:none;border-bottom:1px solid var(--color-gray-100);cursor:pointer;text-decoration:none;color:inherit;transition:background .2s}.profile-list-item:last-child{border-bottom:none}.profile-list-item:active{background:var(--color-gray-100)}.list-item-icon{font-size:20px}.list-item-text{flex:1;font-size:15px;font-weight:500;text-align:left;color:var(--color-text)}.list-item-arrow{font-size:18px;color:var(--color-text-secondary)}.profile-app-info{display:flex;flex-direction:column;align-items:center;gap:4px;padding:20px;background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f}.app-logo-mini{width:48px;height:48px;margin-bottom:8px;background:#fff;border-radius:12px;padding:6px;box-shadow:0 2px 8px #0000001a}.app-name-mini{font-family:var(--font-family-display);font-size:16px;font-weight:600;background:var(--brand-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-version{font-size:12px;color:var(--color-text-secondary)}.profile-logout-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;background:#fff0f0;border:none;border-radius:16px;color:var(--color-danger);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.profile-logout-btn:active{background:#ffe0e0;transform:scale(.98)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:20px;padding:32px 24px;max-width:320px;width:100%;text-align:center}.modal-icon{font-size:48px;margin-bottom:16px}.modal-title{font-size:20px;font-weight:700;color:var(--color-text);margin-bottom:8px}.modal-message{font-size:14px;color:var(--color-text-secondary);margin-bottom:24px}.modal-actions{display:flex;gap:12px}.modal-actions .btn{flex:1}.btn-danger{background:var(--color-danger);color:#fff;border:none;padding:12px 20px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger:active{opacity:.9;transform:scale(.98)}.bookings-page{min-height:100vh;background:var(--color-gray-100);padding-bottom:100px}.bookings-header{background:var(--brand-gradient);padding:24px 20px 32px}.bookings-title{font-family:var(--font-family-display);font-size:28px;font-weight:700;color:#fff;margin:0 0 4px}.bookings-subtitle{font-size:14px;color:#ffffffe6;margin:0}.bookings-stats-bar{display:flex;justify-content:center;gap:12px;padding:0 16px;margin-top:-16px;margin-bottom:16px}.stat-chip{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014}.stat-chip-icon{font-size:16px}.stat-chip-count{font-size:18px;font-weight:700;color:var(--color-text)}.stat-chip-label{font-size:11px;color:var(--color-text-secondary)}.stat-chip.active .stat-chip-count{color:#f59e0b}.stat-chip.progress .stat-chip-count{color:var(--color-primary)}.stat-chip.completed .stat-chip-count{color:var(--color-success)}.bookings-tabs{background:#fff;padding:12px 0;position:sticky;top:0;z-index:10;box-shadow:0 2px 8px #0000000d}.tabs-scroll{display:flex;overflow-x:auto;padding:0 16px;gap:8px;scrollbar-width:none;-ms-overflow-style:none}.tabs-scroll::-webkit-scrollbar{display:none}.booking-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--color-gray-100);border:none;border-radius:20px;white-space:nowrap;cursor:pointer;transition:all .2s;flex-shrink:0}.booking-tab .tab-icon{font-size:14px}.booking-tab .tab-label{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.booking-tab .tab-count{font-size:11px;font-weight:600;padding:2px 8px;background:var(--color-gray-200);border-radius:10px;color:var(--color-text-secondary)}.booking-tab.active{background:var(--color-primary)}.booking-tab.active .tab-label{color:#fff}.booking-tab.active .tab-count{background:#ffffff4d;color:#fff}.bookings-content{padding:16px}.bookings-list{display:flex;flex-direction:column;gap:12px}.booking-item{opacity:0;animation:fadeInUp .4s ease forwards}.booking-skeleton-card{background:#fff;border-radius:16px;padding:16px;margin-bottom:12px}.booking-skeleton-card .skeleton-header{display:flex;justify-content:space-between;margin-bottom:16px}.booking-skeleton-card .skeleton-body{display:flex;flex-direction:column;gap:8px}.skeleton-badge{width:60px;height:24px;border-radius:6px}.bookings-empty{display:flex;flex-direction:column;align-items:center;padding:60px 20px;text-align:center}.bookings-empty .empty-illustration{font-size:64px;margin-bottom:16px;opacity:.8}.bookings-empty .empty-title{font-size:18px;font-weight:600;color:var(--color-text);margin-bottom:8px}.bookings-empty .empty-description{font-size:14px;color:var(--color-text-secondary);max-width:260px}.notifications-page{min-height:100vh;background:var(--color-gray-100);padding-bottom:100px}.notifications-header{background:var(--brand-gradient);padding:16px 16px 20px}.notifications-header .header-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}.back-btn-new{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff3;border:none;border-radius:50%;color:#fff;font-size:18px;cursor:pointer;transition:all .2s}.back-btn-new:active{background:#ffffff4d;transform:scale(.95)}.notifications-header .header-title{flex:1;font-family:var(--font-family-display);font-size:20px;font-weight:600;color:#fff;margin:0}.mark-read-btn{padding:8px 12px;background:#fff3;border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.mark-read-btn:active{background:#ffffff4d}.unread-banner{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff3;border-radius:10px}.unread-icon{font-size:16px}.unread-text{font-size:13px;color:#fff}.notifications-tabs{display:flex;background:#fff;padding:12px 16px;gap:12px;position:sticky;top:0;z-index:10;box-shadow:0 2px 8px #0000000d}.notif-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:var(--color-gray-100);border:none;border-radius:12px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500;color:var(--color-text-secondary)}.notif-tab .tab-icon{font-size:14px}.notif-tab .tab-count{font-size:12px;padding:2px 8px;background:var(--color-gray-200);border-radius:10px}.notif-tab .tab-count.highlight{background:var(--color-danger);color:#fff}.notif-tab.active{background:var(--color-primary);color:#fff}.notif-tab.active .tab-count{background:#ffffff4d;color:#fff}.notifications-content{padding:16px}.notifications-list{display:flex;flex-direction:column;gap:8px}.notification-item-wrapper{opacity:0;animation:fadeInUp .3s ease forwards}.notification-skeleton{display:flex;gap:12px;padding:16px;background:#fff;border-radius:12px;margin-bottom:8px}.notification-skeleton .skeleton-circle{width:44px;height:44px;border-radius:50%;flex-shrink:0}.notification-skeleton .skeleton-content{flex:1;display:flex;flex-direction:column;gap:8px}.notifications-empty{display:flex;flex-direction:column;align-items:center;padding:60px 20px;text-align:center}.notifications-empty .empty-icon-large{font-size:64px;margin-bottom:16px}.notifications-empty .empty-title{font-size:18px;font-weight:600;color:var(--color-text);margin-bottom:8px}.notifications-empty .empty-description{font-size:14px;color:var(--color-text-secondary);max-width:260px}.btn-outline{padding:12px 24px;background:transparent;border:2px solid var(--color-primary);border-radius:12px;color:var(--color-primary);font-weight:600;cursor:pointer;transition:all .2s}.btn-outline:active{background:var(--color-primary);color:#fff}.favorites-page{min-height:100vh;background:var(--color-gray-100);padding-bottom:100px}.empty-state-new{display:flex;flex-direction:column;align-items:center;padding:60px 20px;text-align:center}.empty-state-new .empty-icon{font-size:72px;margin-bottom:20px;opacity:.9}.empty-state-new .empty-title{font-family:var(--font-family-display);font-size:20px;font-weight:600;color:var(--color-text);margin-bottom:8px}.empty-state-new .empty-text{font-size:14px;color:var(--color-text-secondary);max-width:280px;line-height:1.5}.theme-toggle-indicator{margin-left:auto}.toggle-switch{display:inline-flex;align-items:center;width:50px;height:28px;background:var(--gray-200, #e5e7eb);border-radius:14px;padding:2px;cursor:pointer;transition:background-color .3s ease}.toggle-switch.active{background:var(--primary-500, #46C1D8)}.toggle-knob{width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .3s ease}.toggle-switch.active .toggle-knob{transform:translate(22px)}
