*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#111827;--primary-dark:#0b1120;--primary-light:#1f2937;--secondary:#c9a96e;--secondary-dark:#b08d4f;--accent:#d4e5ee;--accent-dark:#7fa8bd;--accent-warm:#ede3d2;--accent-warm-dark:#b8ab95;--accent-cool:#6fa0a6;--accent-cool-dark:#2f5a60;--gold-legacy:#c9a96e;--gold-legacy-dark:#9d7e47;--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:#fff;--bg-primary:#fff;--surface:#f5f5f5;--glass-bg:linear-gradient(135deg, #0f2a4abf, #1a3a5ca6);--glass-blur:blur(16px) saturate(1.8);--glass-border:1px solid #ffffff26;--glass-shadow:0 8px 32px #0f2a4a4d, inset 0 .5px 0 #ffffff40, inset 0 -.5px 0 #0000001a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--radius-sm:.25rem;--radius:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--transition:all .2s ease}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--surface);font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer;font-family:inherit}a{color:inherit;text-decoration:none;transition:color .2s}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{border-radius:var(--radius);transition:var(--transition);border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-weight:500;display:inline-flex}.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{border:1px solid var(--border);color:var(--text-primary);background:0 0}.btn-outline:hover{background:var(--gray-50)}.input{border:1px solid var(--border);border-radius:var(--radius);width:100%;transition:var(--transition);outline:none;padding:.625rem .875rem}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1426381a}.badge{border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-success{color:#065f46;background:#d1fae5}.badge-warning{color:#92400e;background:#fef3c7}.badge-danger{color:#991b1b;background:#fee2e2}.badge-info{color:#1e3a52;background:#dce8f2}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s ease-out fadeIn}@keyframes cmdFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cmdSlideIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (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{display:none}body::-webkit-scrollbar{display:none}main::-webkit-scrollbar{display:none}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;-moz-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%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes toastProgress{0%{width:100%}to{width:0%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideInRightSubtle{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scribeWave{0%,to{opacity:.4;transform:scaleY(.3)}50%{opacity:.9;transform:scaleY(1)}}@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%{opacity:1;transform:scale(0)rotate(0)}60%{opacity:1;transform:scale(1.2)rotate(180deg)}to{opacity:1;transform:scale(1)rotate(360deg)}}@keyframes donorAppFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes donorAppShimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes donorAppCheckDraw{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}@keyframes donorAppScaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes donorAppConfettiPiece{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(400px)rotate(720deg)}}@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%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes agencyConfetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(450px)rotate(720deg)}}@keyframes agencyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes agencyShimmer{0%{background-position:-200%}to{background-position:200%}}@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{display:none}aside>div::-webkit-scrollbar{display:none}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}.schedule-action-btn{letter-spacing:.02em;background:var(--gray-50);color:var(--gray-600);border:1px solid var(--gray-200);cursor:pointer;border-radius:4px;align-items:center;gap:.25rem;padding:.125rem .4375rem;font-size:.625rem;font-weight:700;transition:filter .15s;display:flex}.schedule-action-btn:hover{filter:brightness(.95)}.booking-slot-wrap:hover .booking-glass-tooltip{display:block}.booking-glass-tooltip{z-index:10;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);box-shadow:var(--glass-shadow);color:#fff;text-align:left;border-radius:12px;width:190px;padding:.625rem .875rem;font-size:.675rem;line-height:1.5;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.booking-glass-tooltip:after{content:"";border:6px solid #0000;border-top-color:#143252b3;position:absolute;top:100%;left:50%;transform:translate(-50%)}.booking-slot-available:hover{border-color:var(--primary)!important;color:var(--primary)!important;background:#e8f0fe!important}.close-btn{transition:background .15s}.close-btn:hover{background:var(--gray-100)}.spin{animation:1s linear infinite spin}
