*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #111827;--primary-dark: #0b1120;--primary-light: #1f2937;--secondary: #c9a96e;--secondary-dark: #b08d4f;--accent: #c9a96e;--danger: #ef4444;--warning: #f59e0b;--success: #10b981;--info: #1f2937;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--text-primary: #111827;--text-secondary: #6b7280;--border: #e5e7eb;--background: #ffffff;--surface: #f5f5f5;--glass-bg: linear-gradient(135deg, rgba(15, 42, 74, .75), rgba(26, 58, 92, .65));--glass-blur: blur(16px) saturate(1.8);--glass-border: 1px solid rgba(255,255,255,.15);--glass-shadow: 0 8px 32px rgba(15, 42, 74, .3), inset 0 .5px 0 rgba(255,255,255,.25), inset 0 -.5px 0 rgba(0,0,0,.1);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: .25rem;--radius: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition: all .2s ease}body{font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--surface);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none;transition:color .2s ease}a:hover{color:var(--secondary)}input,textarea,select{font-family:inherit;font-size:inherit}.container{max-width:1280px;margin:0 auto;padding:0 1rem}.card{background:var(--background);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:var(--radius);font-weight:500;transition:var(--transition);outline:none}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:var(--secondary);color:var(--primary-dark)}.btn-secondary:hover{background:var(--secondary-dark)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-primary)}.btn-outline:hover{background:var(--gray-50)}.input{width:100%;padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:var(--transition)}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1426381a}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500}.badge-success{background:#d1fae5;color:#065f46}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-info{background:#dce8f2;color:#1e3a52}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}@keyframes cmdFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cmdSlideIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.container{padding:0 .75rem}.card{padding:1rem}.btn{padding:.5rem 1rem;font-size:.875rem}.input{padding:.5rem .75rem;font-size:1rem}select.input{font-size:1rem}.portal-main{padding:1rem!important}.portal-grid{grid-template-columns:1fr!important}h1{font-size:1.5rem!important}h2{font-size:1.125rem!important}}@media(pointer:coarse){.btn,.input{min-height:44px}}@supports (padding-bottom: env(safe-area-inset-bottom)){body{padding-bottom:env(safe-area-inset-bottom)}}html,body,main{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,main::-webkit-scrollbar{display:none}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes hoverCardIn{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastSlideIn{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastSlideOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@keyframes toastProgress{0%{width:100%}to{width:0%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideInRightSubtle{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scribeWave{0%,to{transform:scaleY(.3);opacity:.4}50%{transform:scaleY(1);opacity:.9}}@keyframes scribeFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes scribePulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes scribeBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes telehealthPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@keyframes telehealthFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes telehealthAmberGlow{0%,to{box-shadow:0 0 8px #f59e0b26}50%{box-shadow:0 0 20px #f59e0b59}}@keyframes telehealthTimerBlink{0%,to{opacity:1}50%{opacity:.6}}@keyframes telehealthRipple{0%{box-shadow:0 0 #10b9814d}70%{box-shadow:0 0 0 8px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes telePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}@keyframes teleFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes teleFadeInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes teleFadeInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes teleRipple{0%{box-shadow:0 0 #22c55e66}70%{box-shadow:0 0 0 10px #22c55e00}to{box-shadow:0 0 #22c55e00}}@keyframes teleSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes donorAppFadeSlideIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes donorAppPulseGold{0%,to{box-shadow:0 0 #c9a96e73}50%{box-shadow:0 0 0 8px #c9a96e00}}@keyframes donorAppConfettiBurst{0%{transform:scale(0) rotate(0);opacity:1}60%{transform:scale(1.2) rotate(180deg);opacity:1}to{transform:scale(1) rotate(360deg);opacity:1}}@keyframes donorAppFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes donorAppShimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes donorAppCheckDraw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes donorAppScaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes donorAppConfettiPiece{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(400px) rotate(720deg);opacity:0}}@keyframes agencyFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes agencyPulseGold{0%,to{box-shadow:0 0 #c9a96e66}50%{box-shadow:0 0 0 8px #c9a96e00}}@keyframes agencyScaleIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes agencyConfetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(450px) rotate(720deg);opacity:0}}@keyframes agencyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes agencyShimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes alertPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInToast{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes portalPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes portalFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes tipSlide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes fabMenuIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fabItemIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes notifSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes notifFadeIn{0%{opacity:0}to{opacity:1}}@keyframes notifPulse{0%,to{box-shadow:0 0 #ef444426}50%{box-shadow:0 0 0 6px #ef444400}}@keyframes bannerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes journeyPulse{0%,to{box-shadow:0 0 #c9a96e66}50%{box-shadow:0 0 0 12px #c9a96e00}}@keyframes miniPulse{0%,to{box-shadow:0 0 #c9a96e66}50%{box-shadow:0 0 0 4px #c9a96e00}}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}aside::-webkit-scrollbar,aside>div::-webkit-scrollbar,aside nav::-webkit-scrollbar{display:none}.hover-lift:hover{box-shadow:0 2px 8px #00000014}.hover-gold:hover{color:var(--secondary)!important}.hover-bg-gray:hover{background:var(--gray-50)}.hover-bg-subtle:hover{background:var(--gray-100)}.schedule-card{transition:box-shadow .15s ease}.schedule-action-btn{display:flex;align-items:center;gap:.25rem;padding:.125rem .4375rem;border-radius:4px;font-size:.625rem;font-weight:700;letter-spacing:.02em;background:var(--gray-50);color:var(--gray-600);border:1px solid var(--gray-200);cursor:pointer;transition:filter .15s}.schedule-action-btn:hover{filter:brightness(.95)}.booking-slot-wrap:hover .booking-glass-tooltip{display:block}.booking-glass-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:10;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-shadow);color:#fff;border-radius:12px;padding:.625rem .875rem;width:190px;text-align:left;font-size:.675rem;line-height:1.5}.booking-glass-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#143252b3}.booking-slot-available:hover{background:#e8f0fe!important;border-color:var(--primary)!important;color:var(--primary)!important}.close-btn{transition:background .15s ease}.close-btn:hover{background:var(--gray-100)}
