:root{--color-ivory: #FAF9F6;--color-ivory-light: #FFFFFF;--color-ivory-dark: #F3EFEA;--color-rose-soft: #E8D5D5;--color-rose-light: #F7EFEF;--color-rose-deep: #D4A5A5;--color-charcoal: #2C302E;--color-charcoal-light: #3D4240;--color-charcoal-dark: #1F2220;--color-gold: #ff98a2;--color-gold-light: #ffb3bc;--color-gold-dark: #e07a84;--color-gold-glow: rgba(255, 152, 162, .25);--color-gold-bg: rgba(255, 152, 162, .12);--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--color-status-pending-bg: #FEF3C7;--color-status-pending-text: #92400E;--color-status-pending-border: #FCD34D;--color-status-confirmed-bg: #DBEAFE;--color-status-confirmed-text: #1E40AF;--color-status-confirmed-border: #93C5FD;--color-status-checkedin-bg: #EDE9FE;--color-status-checkedin-text: #5B21B6;--color-status-checkedin-border: #C4B5FD;--color-status-inprogress-bg: #CCFBF1;--color-status-inprogress-text: #115E59;--color-status-inprogress-border: #5EEAD4;--color-status-completed-bg: #D1FAE5;--color-status-completed-text: #065F46;--color-status-completed-border: #6EE7B7;--color-status-cancelled-bg: #F3F4F6;--color-status-cancelled-text: #4B5563;--color-status-cancelled-border: #D1D5DB;--color-status-noshow-bg: #FEE2E2;--color-status-noshow-text: #991B1B;--color-status-noshow-border: #FCA5A5;--color-success: #10B981;--color-error: #EF4444;--color-warning: #F59E0B;--color-info: #3B82F6;--font-family-primary: "Be Vietnam Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-display: "Noto Serif", Georgia, 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;--font-size-4xl: 2.25rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--space-0-5: .125rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 4px;--radius-lg: 6px;--radius-xl: 6px;--radius-2xl: 6px;--radius-full: 4px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-toast: 1060}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;scroll-behavior:smooth}body{min-height:100vh;line-height:var(--line-height-normal, 1.5);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0;width:100%}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}body{background-color:var(--color-ivory);color:var(--color-charcoal);font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-regular)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-charcoal-dark)}.brand-font,.display-font{font-family:var(--font-family-display)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{color:var(--color-gray-600)}:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}.container-fluid{width:100%;padding-left:var(--space-4);padding-right:var(--space-4)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-gray-500)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.d-none{display:none!important}.d-flex{display:flex}.d-grid{display:grid}.flex-column{flex-direction:column}.align-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-0-5) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);border:1px solid transparent;line-height:1.2}.badge-pending{background-color:var(--color-status-pending-bg);color:var(--color-status-pending-text);border-color:var(--color-status-pending-border)}.badge-confirmed{background-color:var(--color-status-confirmed-bg);color:var(--color-status-confirmed-text);border-color:var(--color-status-confirmed-border)}.badge-checked_in{background-color:var(--color-status-checkedin-bg);color:var(--color-status-checkedin-text);border-color:var(--color-status-checkedin-border)}.badge-in_progress{background-color:var(--color-status-inprogress-bg);color:var(--color-status-inprogress-text);border-color:var(--color-status-inprogress-border)}.badge-completed{background-color:var(--color-status-completed-bg);color:var(--color-status-completed-text);border-color:var(--color-status-completed-border)}.badge-cancelled{background-color:var(--color-status-cancelled-bg);color:var(--color-status-cancelled-text);border-color:var(--color-status-cancelled-border)}.badge-no_show{background-color:var(--color-status-noshow-bg);color:var(--color-status-noshow-text);border-color:var(--color-status-noshow-border)}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);z-index:var(--z-toast);pointer-events:none}.toast{min-width:300px;max-width:420px;padding:var(--space-3) var(--space-4);background-color:#fff;color:var(--color-charcoal);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);border-left:4px solid var(--color-gold);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:var(--font-size-sm);pointer-events:auto;animation:toastSlideIn .25s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition-normal),transform var(--transition-normal)}.toast-success{border-left-color:var(--color-success)}.toast-error{border-left-color:var(--color-error)}.toast-warning{border-left-color:var(--color-warning)}.toast-info{border-left-color:var(--color-info)}.toast-action{flex-shrink:0;padding:6px 12px;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);background:transparent;color:var(--color-charcoal);font-size:var(--font-size-xs);font-weight:600;cursor:pointer}.toast-action:hover{border-color:var(--color-gold)}.toast-action:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.toast-close{color:var(--color-gray-400);font-size:var(--font-size-lg);line-height:1;padding:var(--space-1)}.toast-close:hover{color:var(--color-charcoal)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.nb{--nb-bg: var(--sh-surface, #ffffff);--nb-border: var(--sh-border-strong, #d1d5db);--nb-text: var(--sh-text, #1f2937);--nb-muted: var(--sh-muted, #6b7280);--nb-accent: var(--sh-accent, #ff98a2);--nb-accent-ink: var(--sh-accent-ink, #09090b);--nb-hover: var(--sh-surface-2, #f3f4f6);position:relative;display:inline-flex}.nb-btn{position:relative;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--nb-border);border-radius:50%;background:transparent;color:var(--nb-text);cursor:pointer;transition:border-color .3s var(--ease-out-expo, ease),background-color .3s var(--ease-out-expo, ease)}.nb-btn:hover{border-color:var(--nb-text)}.nb-btn:focus-visible{outline:2px solid var(--nb-accent);outline-offset:2px}.nb-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nb-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:999px;background:var(--nb-accent);color:var(--nb-accent-ink);font:700 11px/18px var(--sh-font, inherit);text-align:center}.nb-badge[hidden]{display:none}.nb-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:120;width:min(360px,calc(100vw - 24px));max-height:min(70vh,480px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--nb-border);border-radius:14px;background:var(--nb-bg);color:var(--nb-text);text-align:left}.nb-panel[hidden]{display:none}.nb-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--nb-border)}.nb-title{margin:0;font:600 14px/1.3 var(--sh-font, inherit);color:var(--nb-text)}.nb-markall,.nb-retry{padding:4px 10px;border:1px solid var(--nb-border);border-radius:999px;background:transparent;color:var(--nb-text);font:600 12px/1.2 var(--sh-font, inherit);cursor:pointer;transition:border-color .3s var(--ease-out-expo, ease)}.nb-markall:hover,.nb-retry:hover{border-color:var(--nb-text)}.nb-markall[hidden]{display:none}.nb-markall:focus-visible,.nb-retry:focus-visible{outline:2px solid var(--nb-accent);outline-offset:2px}.nb-list{overflow-y:auto}.nb-empty{margin:0;padding:22px 14px;color:var(--nb-muted);font-size:13px;text-align:center}.nb-retry{display:block;margin:0 auto 18px}.nb-item{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border-bottom:1px solid var(--nb-border);color:inherit;text-decoration:none;cursor:pointer;transition:background-color .3s var(--ease-out-expo, ease)}.nb-item:last-child{border-bottom:0}.nb-item:hover{background:var(--nb-hover)}.nb-item:focus-visible{outline:2px solid var(--nb-accent);outline-offset:-2px}.nb-dot{flex:none;width:8px;height:8px;margin-top:6px;border-radius:50%;background:transparent}.nb-item.is-unread .nb-dot{background:var(--nb-accent)}.nb-body{display:grid;gap:2px;min-width:0}.nb-item-title{font:600 13px/1.35 var(--sh-font, inherit);color:var(--nb-text);overflow-wrap:anywhere}.nb-item:not(.is-unread) .nb-item-title{font-weight:500;color:var(--nb-muted)}.nb-item-text{font-size:12px;line-height:1.4;color:var(--nb-muted);overflow-wrap:anywhere}.nb-time{font-size:11px;color:var(--nb-muted)}@media (max-width: 480px){.nb{position:static}.nb-panel{position:fixed;top:68px;left:12px;right:12px;width:auto}}@media (prefers-reduced-motion: reduce){.nb-btn,.nb-markall,.nb-retry,.nb-item{transition:none}}
