@import url("https://fonts.googleapis.com/css2?family=Cairo:wght@200;300;400;500;600;700;800;900&family=Tajawal:wght@400;500;700&display=swap");:root{--primary:#1a365d;--primary-light:#2c5282;--secondary:#d4af37;--success:#2d6a4f;--danger:#9b2c2c;--warning:#c05621;--background:#f8fafc;--card-bg:#fff;--text-main:#2d3748;--text-muted:#718096;--border:#e2e8f0;--shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 25px -5px rgba(0,0,0,.15),0 5px 10px -5px rgba(0,0,0,.08);--transition:all 0.3s ease;--sidebar-width:260px;--navbar-height:60px;--radius:12px;--radius-lg:16px;--glass-bg:hsla(0,0%,100%,.7);--glass-border:hsla(0,0%,100%,.3);--glass-blur:blur(12px)}*,:after,:before{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:Cairo,sans-serif;background-color:var(--background);color:var(--text-main);direction:rtl;overflow-x:hidden;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}button{cursor:pointer;font-family:Cairo,sans-serif;border:none;outline:none;transition:var(--transition);-webkit-tap-highlight-color:transparent;touch-action:manipulation}input,select,textarea{font-family:Cairo,sans-serif;font-size:16px}.dashboard-container{display:flex;min-height:100vh;position:relative}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.sidebar-overlay.active{display:block}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,var(--primary) 0,#0f2744 100%);color:#fff;padding:1.5rem 1rem;position:fixed;height:100vh;right:0;top:0;z-index:100;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1);scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.2) transparent}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.2);border-radius:2px}.main-content{margin-right:var(--sidebar-width);width:calc(100% - var(--sidebar-width));padding:1.5rem;min-width:0;max-width:100%}.glass{background:var(--glass-bg);border:1px solid var(--glass-border)}.glass,.glass-dark{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.glass-dark{background:rgba(26,54,93,.8);border:1px solid hsla(0,0%,100%,.1)}.hamburger-btn{display:none;position:fixed;top:1rem;right:1rem;z-index:101;background:var(--primary);color:#fff;border:none;border-radius:10px;padding:.625rem;cursor:pointer;box-shadow:var(--shadow-lg);transition:var(--transition);align-items:center;justify-content:center}.hamburger-btn:active{transform:scale(.95)}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border);margin-bottom:1.5rem;overflow:hidden}.btn{padding:.75rem 1.25rem;border-radius:10px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:Cairo,sans-serif;font-size:.9rem;transition:var(--transition);touch-action:manipulation;min-height:44px;white-space:nowrap;cursor:pointer}.btn-primary{background-color:var(--primary);color:#fff;border:none}.btn-primary:hover{background-color:var(--primary-light);transform:translateY(-1px);box-shadow:0 4px 12px rgba(26,54,93,.35)}.btn-primary:active{transform:translateY(0)}.btn-outline{border:2px solid var(--primary);color:var(--primary);background:transparent}.btn-outline:hover{background:var(--primary);color:#fff}.btn-danger{background-color:#c53030;color:#fff;border:none}.btn-danger:hover{background-color:#9b2c2c}.btn-sm{padding:.5rem .875rem;font-size:.82rem;min-height:36px}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius);border:1px solid var(--border)}.table-wrapper::-webkit-scrollbar{height:4px}.table-wrapper::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.data-table{width:100%;border-collapse:collapse;text-align:right;min-width:600px}.data-table thead tr{border-bottom:2px solid var(--border);background-color:#fafbfc}.data-table th{padding:.875rem 1rem;font-weight:700;font-size:.85rem;color:var(--text-muted);white-space:nowrap}.data-table td{padding:.875rem 1rem;font-size:.9rem;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background-color:#f8fafc}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.9rem;color:var(--text-main)}.form-input{width:100%;padding:.75rem 1rem;border-radius:10px;border:2px solid var(--border);font-family:Cairo,sans-serif;font-size:16px;transition:border-color .2s ease;background:#fff;color:var(--text-main);min-height:48px}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,54,93,.1)}.form-input::placeholder{color:#a0aec0}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:700;white-space:nowrap}.badge-success{background:#f0fff4;color:#276749;border:1px solid #c6f6d5}.badge-danger{background:#fff5f5;color:#c53030;border:1px solid #fed7d7}.badge-warning{background:#fffbeb;color:#c05621;border:1px solid #feebc8}.badge-info{background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:linear-gradient(90deg,#f0f4f8 25%,#e2e8f0 50%,#f0f4f8 75%);background-size:200% 100%;animation:skeleton-pulse 1.4s ease infinite;border-radius:6px}@keyframes spin{to{transform:rotate(1turn)}}.spinner{width:40px;height:40px;border-radius:50%;border:4px solid var(--border);border-top-color:var(--primary);animation:spin .8s linear infinite;margin:0 auto}.family-portal{--fp-primary:#0d2847;--fp-primary-light:#2e86c1;--fp-primary-dark:#0d2137;--fp-accent:#f0a500;--fp-accent-light:#fef3c7;--fp-accent-hover:#e08c00;--fp-accent-gradient:linear-gradient(135deg,#f0a500,#d4af37);--fp-surface:#f4f7f6;--fp-surface-alt:#ebefef;--fp-success:#10b981;--fp-success-light:#d1fae5;--fp-warning:#f59e0b;--fp-warning-light:#fef3c7;--fp-danger:#ef4444;--fp-danger-light:#fee2e2;--fp-text:#1e293b;--fp-text-muted:#64748b;--fp-border:rgba(226,232,240,.8);--fp-radius:14px;--fp-radius-lg:20px;--fp-shadow:0 4px 20px rgba(0,0,0,.08);--fp-shadow-hover:0 12px 32px rgba(0,0,0,.12);--fp-shadow-double:0 4px 6px -1px rgba(0,0,0,.05),0 10px 20px -5px rgba(13,40,71,.08);--fp-glass:hsla(0,0%,100%,.65);--fp-glass-border:hsla(0,0%,100%,.4);--fp-glass-blur:blur(20px);font-family:Tajawal,Cairo,sans-serif;background:var(--fp-surface);color:var(--fp-text)}.fp-glass-card{background:var(--fp-glass);backdrop-filter:var(--fp-glass-blur);-webkit-backdrop-filter:var(--fp-glass-blur);border:1px solid var(--fp-glass-border);border-radius:var(--fp-radius-lg);padding:1.5rem;box-shadow:var(--fp-shadow-double);transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s ease}.fp-glass-card:hover{transform:translateY(-4px);box-shadow:var(--fp-shadow-hover)}.fp-glow-icon{display:inline-flex;align-items:center;justify-content:center;padding:.6rem;border-radius:12px;background:rgba(240,165,0,.1);color:var(--fp-accent);box-shadow:0 0 15px rgba(240,165,0,.05);transition:all .25s ease}.fp-glow-icon-success{background:rgba(16,185,129,.1);color:var(--fp-success);box-shadow:0 0 15px rgba(16,185,129,.05)}.fp-btn-premium{background:var(--fp-accent-gradient);color:#fff;padding:.75rem 1.5rem;border-radius:12px;font-weight:700;font-family:Cairo,sans-serif;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 14px rgba(240,165,0,.3);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,background .25s;min-height:48px}.fp-btn-premium:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(240,165,0,.45)}.fp-btn-premium:active{transform:translateY(0)}.fp-stage-badge{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:20px;font-size:.72rem;font-weight:800;border:1px solid transparent;font-family:Cairo,sans-serif}.fp-stage-detox{background:#eef2ff;color:#4f46e5;border-color:#c7d2fe}.fp-stage-rehab{background:#ecfdf5;color:#059669;border-color:#a7f3d0}.fp-stage-social{background:#fef3c7;color:#d97706;border-color:#fde68a}.fp-stage-followup{background:#f0fdfa;color:#0d9488;border-color:#99f6e4}.family-portal .fp-stat-value,.family-portal button,.family-portal h1,.family-portal h2,.family-portal h3,.family-portal h4{font-family:Cairo,sans-serif}.fp-skeleton{background:linear-gradient(90deg,rgba(226,232,240,.6) 25%,rgba(203,213,225,.8) 37%,rgba(226,232,240,.6) 63%);background-size:400% 100%;animation:fp-shimmer 1.2s cubic-bezier(.25,.46,.45,.94) infinite;border-radius:10px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.fp-skeleton-card{background:#fff;border-radius:var(--fp-radius-lg);padding:1.5rem;box-shadow:var(--fp-shadow)}.fp-skeleton-line{height:14px;margin-bottom:.75rem;border-radius:7px}.fp-skeleton-line.w-60{width:60%}.fp-skeleton-line.w-80{width:80%}.fp-skeleton-line.w-40{width:40%}.fp-skeleton-line.w-full{width:100%}.fp-skeleton-circle{width:50px;height:50px;border-radius:50%}.fp-skeleton-banner{height:140px;border-radius:var(--fp-radius-lg);margin-bottom:1.5rem}@keyframes fp-fadeSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fp-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fp-scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.fp-animate{opacity:0;animation:fp-fadeSlideUp .5s cubic-bezier(.22,1,.36,1) forwards}.fp-animate-delay-1{animation-delay:.08s}.fp-animate-delay-2{animation-delay:.16s}.fp-animate-delay-3{animation-delay:.24s}.fp-animate-delay-4{animation-delay:.32s}.fp-animate-delay-5{animation-delay:.4s}.fp-animate-delay-6{animation-delay:.48s}.fp-navbar{background:rgba(27,79,114,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:2px solid var(--fp-accent)}.fp-navbar-desktop{background:#fff;border-bottom:2px solid var(--fp-border)}.fp-navbar-desktop a.fp-nav-active{color:var(--fp-primary);border-bottom-color:var(--fp-accent);font-weight:700}@keyframes fp-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.7}}.fp-notif-pulse{position:absolute;top:-2px;left:-2px;width:10px;height:10px;background:var(--fp-danger);border-radius:50%;border:2px solid #fff;animation:fp-pulse 2s ease infinite}.fp-stat-card{background:#fff;border-radius:var(--fp-radius);padding:clamp(.875rem,3vw,1.25rem);box-shadow:var(--fp-shadow);display:flex;align-items:center;gap:.875rem;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease;cursor:pointer;height:100%;text-decoration:none;border-top:3px solid transparent}.fp-stat-card:hover{transform:translateY(-4px);box-shadow:var(--fp-shadow-hover)}.fp-resident-card{border-radius:var(--fp-radius);border:1px solid var(--fp-border);padding:1rem;margin-bottom:.75rem;transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease;background:#fff}.fp-resident-card:hover{transform:translateY(-3px);box-shadow:var(--fp-shadow-hover)}.fp-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Cairo,sans-serif;font-weight:800;font-size:1.1rem;color:#fff;flex-shrink:0}.fp-timeline-item{position:relative;padding-right:2rem;margin-bottom:1.25rem;transition:transform .2s ease}.fp-timeline-item:hover{transform:translateX(-4px)}.fp-timeline-dot{position:absolute;right:0;top:.25rem;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 2px var(--fp-primary-light);background:var(--fp-primary-light)}.fp-timeline-item:not(:last-child):before{content:"";position:absolute;right:5px;top:18px;width:2px;bottom:-10px;background:var(--fp-border)}.fp-progress-ring{position:relative;width:56px;height:56px;flex-shrink:0}.fp-progress-ring svg{transform:rotate(-90deg);width:100%;height:100%}.fp-progress-ring .ring-bg{fill:none;stroke:var(--fp-border);stroke-width:4}.fp-progress-ring .ring-fill{fill:none;stroke-width:4.5;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 0 3px rgba(240,165,0,.3));animation:fp-ring-pulse 3s ease-in-out infinite}@keyframes fp-ring-pulse{0%,to{filter:drop-shadow(0 0 2px rgba(240,165,0,.3))}50%{filter:drop-shadow(0 0 8px rgba(240,165,0,.6))}}.fp-progress-ring .ring-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Cairo,sans-serif;font-weight:800;font-size:.72rem;color:var(--fp-text)}.fp-bottom-nav{display:none;position:fixed;bottom:1.25rem;left:1rem;right:1rem;background:hsla(0,0%,100%,.85);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid hsla(0,0%,100%,.45);border-radius:24px;box-shadow:0 12px 35px rgba(13,40,71,.15);z-index:99;padding:.5rem .75rem;transition:all .3s cubic-bezier(.22,1,.36,1)}.fp-bottom-nav-inner{display:flex;justify-content:space-around;align-items:center;max-width:500px;margin:0 auto}.fp-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem .5rem;border-radius:14px;text-decoration:none;color:var(--fp-text-muted);font-size:.65rem;font-family:Cairo,sans-serif;font-weight:600;transition:all .3s cubic-bezier(.22,1,.36,1);position:relative;min-width:52px}.fp-bottom-nav a.active{color:var(--fp-accent);font-weight:800;transform:translateY(-2px)}.fp-bottom-nav a.active svg{filter:drop-shadow(0 4px 8px rgba(240,165,0,.35))}.fp-bottom-nav a.active:after{content:"";position:absolute;bottom:-.2rem;left:50%;transform:translateX(-50%);width:14px;height:3px;background:var(--fp-accent);border-radius:3px}.badge-card-container{position:relative;overflow:hidden;background:hsla(0,0%,100%,.7)!important;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid hsla(0,0%,100%,.45)!important;transition:transform .4s cubic-bezier(.25,.8,.25,1),box-shadow .4s cubic-bezier(.25,.8,.25,1)!important}.badge-card-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,hsla(0,0%,100%,.4) 0,transparent 70%);transform:rotate(45deg);transition:all .6s cubic-bezier(.25,.8,.25,1);opacity:0;pointer-events:none}.badge-card-container:hover:before{left:100%;top:100%;opacity:1}.family-portal .form-input:focus,.fp-input:focus{outline:none;border-color:var(--fp-accent)!important;box-shadow:0 0 0 3px rgba(240,165,0,.15)!important}.fp-profile-cover{height:160px;background:linear-gradient(135deg,var(--fp-primary) 0,var(--fp-accent) 100%);border-radius:var(--fp-radius-lg) var(--fp-radius-lg) 0 0;position:relative;overflow:hidden}.fp-profile-cover:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,hsla(0,0%,100%,.15) 0,transparent 60%),radial-gradient(circle at 80% 20%,hsla(0,0%,100%,.1) 0,transparent 50%)}.fp-profile-avatar-wrapper{position:relative;margin-top:-48px;display:flex;flex-direction:column;align-items:center}.fp-profile-avatar{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Cairo,sans-serif;font-weight:800;font-size:2.2rem;color:#fff;background:var(--fp-primary);border:4px solid #fff;box-shadow:0 4px 20px rgba(0,0,0,.15)}.fp-login-card{background:hsla(0,0%,100%,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.5);border-radius:24px;box-shadow:0 25px 60px rgba(0,0,0,.25),0 0 0 1px hsla(0,0%,100%,.1)}.fp-login-bg{position:relative;overflow:hidden}.fp-login-bg:after,.fp-login-bg:before{content:"";position:absolute;border-radius:50%;opacity:.07}.fp-login-bg:before{width:400px;height:400px;background:radial-gradient(circle,var(--fp-accent) 0,transparent 70%);top:-100px;right:-100px}.fp-login-bg:after{width:300px;height:300px;background:radial-gradient(circle,#fff 0,transparent 70%);bottom:-80px;left:-80px}.fp-login-btn{background:linear-gradient(135deg,#f0a500,#e08c00)!important;color:#fff;border:none;border-radius:12px;font-weight:700;transition:transform .2s,box-shadow .2s}.fp-login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px rgba(240,165,0,.4)}.fp-login-btn:active:not(:disabled){transform:translateY(0)}@keyframes fp-checkmark{0%{stroke-dashoffset:50}to{stroke-dashoffset:0}}@keyframes fp-checkCircle{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.fp-success-check{animation:fp-checkCircle .4s cubic-bezier(.22,1,.36,1) forwards}.fp-success-check svg path{stroke-dasharray:50;stroke-dashoffset:50;animation:fp-checkmark .4s ease .2s forwards}@keyframes fp-ripple{to{transform:scale(4);opacity:0}}@media (max-width:768px){.fp-bottom-nav{display:block}.family-portal{padding-bottom:7rem}.family-floating-actions{display:none!important}}@media (min-width:769px){.fp-bottom-nav{display:none}}.fp-news-ticker-wrapper{position:relative;margin-bottom:2.5rem;background:linear-gradient(180deg,#f8fafc,#fff);border-radius:30px;padding:.25rem}.fp-news-ticker{display:flex;gap:.85rem;overflow-x:auto;padding:1rem .5rem;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.fp-news-ticker::-webkit-scrollbar{display:none}.fp-news-bubble{flex-shrink:0;background:#fff;padding:.8rem 1.4rem;border-radius:50px;box-shadow:0 4px 15px rgba(27,79,114,.08);border:1px solid rgba(226,232,240,.8);display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.fp-news-bubble:active{transform:scale(.95);background:#f8fafc}.fp-news-tag{background:linear-gradient(135deg,#f0a500,#d48806);color:#fff;font-size:.65rem;font-weight:900;padding:.25rem .6rem;border-radius:20px;text-transform:uppercase;box-shadow:0 2px 6px rgba(240,165,0,.3)}.fp-news-text{font-size:.9rem;font-weight:700;color:#1b4f72;white-space:nowrap;max-width:250px;overflow:hidden;text-overflow:ellipsis}.fp-modal-overlay{position:fixed;inset:0;background:rgba(13,33,55,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fp-fade-in .3s ease-out}.fp-modal-content{background:#fff;width:100%;max-width:500px;border-radius:28px;padding:2rem;position:relative;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);animation:fp-slide-up .4s cubic-bezier(.16,1,.3,1)}@keyframes fp-slide-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.fp-bubble-container{position:fixed;top:100px;left:20px;z-index:1000;display:flex;flex-direction:column;gap:1rem;pointer-events:none}.fp-bubble{background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.3);padding:.875rem 1.25rem;border-radius:20px;box-shadow:0 10px 25px rgba(0,0,0,.1);display:flex;align-items:center;gap:.75rem;animation:fp-bubble-pop .6s cubic-bezier(.34,1.56,.64,1) forwards,fp-bubble-float 4s ease-in-out infinite alternate;max-width:280px;pointer-events:auto}@keyframes fp-bubble-pop{0%{transform:scale(.5) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}@keyframes fp-bubble-float{0%{transform:translateY(0)}to{transform:translateY(-8px)}}.fp-shimmer-border{position:relative;border-radius:inherit}.fp-shimmer-border:after{content:"";position:absolute;inset:-2px;background:linear-gradient(90deg,transparent,rgba(240,165,0,.5),transparent);background-size:200% 100%;animation:fp-shimmer 3s linear infinite;z-index:-1;border-radius:inherit}@keyframes fp-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.fp-slider-dots{position:absolute;bottom:1.5rem;right:2.5rem;z-index:10;display:flex;gap:.5rem}.fp-dot{width:8px;height:8px;border-radius:4px;background:hsla(0,0%,100%,.3);transition:all .3s;cursor:pointer}.fp-dot.active{width:24px;background:var(--fp-accent)}@media (max-width:640px){.fp-news-ticker{margin-bottom:1.5rem}.fp-news-bubble{padding:.6rem 1rem}.fp-news-text{font-size:.8rem}.fp-bubble-container{top:80px;left:10px;right:10px;gap:.5rem}.fp-bubble{max-width:none;width:calc(100% - 20px);padding:.6rem 1rem;font-size:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:.75rem!important}.fp-stat-card{padding:1rem!important}.fp-stat-card p:last-child{font-size:1.2rem!important}.two-col-grid{grid-template-columns:1fr!important;gap:1.25rem!important}.fp-resident-card{padding:1rem!important}}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1rem;gap:1rem;margin-bottom:2rem}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem}.three-col-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.25rem;gap:1.25rem}.auto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:1.25rem;gap:1.25rem}.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.page-header h1{font-size:clamp(1.25rem,4vw,2rem);color:var(--primary);font-weight:800}.page-header p{color:var(--text-muted);margin-top:.25rem;font-size:.85rem;font-weight:500}.header-widgets{display:flex;align-items:center;gap:1.5rem;margin-left:auto;margin-right:1.5rem}.time-widget{display:flex;flex-direction:column;align-items:flex-end;border-left:1px solid var(--border);padding-left:1.5rem}.time-widget span:first-child{font-size:1.1rem;font-weight:800;color:var(--primary);line-height:1}.time-widget span:last-child{font-size:.75rem;color:var(--text-muted);margin-top:2px}.notification-bell{position:relative;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);color:var(--text-muted);transition:var(--transition)}.notification-bell:hover{border-color:var(--primary);color:var(--primary)}.notification-dot{position:absolute;top:8px;left:8px;width:8px;height:8px;background-color:#f56565;border-radius:50%;border:2px solid #fff}.header-search{position:relative;flex:1 1;max-width:400px}.header-search input{width:100%;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.6rem 2.8rem .6rem 1rem;font-size:.9rem}.header-search .search-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted)}.page-header-actions{display:flex;gap:.75rem;flex-wrap:wrap}.family-floating-actions{display:none;position:fixed;bottom:1.5rem;left:1rem;right:1rem;z-index:50;gap:.75rem;flex-wrap:wrap;justify-content:center}.ml-auto{margin-right:auto;margin-left:0}.mr-auto{margin-left:auto;margin-right:0}.text-start{text-align:right}.text-end{text-align:left}@media (max-width:1024px){:root{--sidebar-width:240px}.main-content{padding:1.25rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.two-col-grid{grid-template-columns:1fr}.three-col-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.sidebar{transform:translateX(100%);box-shadow:none}.sidebar.open{transform:translateX(0);box-shadow:-10px 0 30px rgba(0,0,0,.3);background:rgba(26,54,93,.8)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-left:1px solid hsla(0,0%,100%,.1)}.hamburger-btn{display:flex}.main-content{margin-right:0;width:100%;padding:4.5rem 1rem 1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.two-col-grid{grid-template-columns:1fr;gap:1rem}.three-col-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.auto-grid{grid-template-columns:1fr}.card{padding:1.25rem;border-radius:var(--radius)}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem}.page-header-actions{width:100%}.page-header-actions .btn{flex:1 1;justify-content:center}.family-floating-actions{display:flex}.table-actions{flex-direction:column;gap:.25rem}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr 1fr;gap:.625rem}.three-col-grid{grid-template-columns:1fr}.card{padding:1rem;margin-bottom:1rem}.btn{font-size:.85rem;padding:.625rem 1rem}}@media (max-width:375px){body{font-size:14px}.stats-grid{grid-template-columns:1fr}.main-content{padding:4.25rem .875rem .875rem}.header-widgets{display:none}}.fab{position:fixed;bottom:2rem;left:2rem;width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px rgba(26,54,93,.4);z-index:90;transition:var(--transition)}.fab:hover{transform:scale(1.1) rotate(90deg);background:var(--primary-light)}.fab:active{transform:scale(.95)}.w-full{width:100%}.min-w-0{min-width:0}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto;-webkit-overflow-scrolling:touch}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}.text-muted{color:var(--text-muted)}.font-bold{font-weight:700}.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}@media print{.hamburger-btn,.sidebar,.sidebar-overlay{display:none!important}.main-content{margin-right:0!important;width:100%!important}}