.resident-interface{--bg-background: #FFFFFF;--bg-primary: linear-gradient(45deg, #0575E6 0%, #021B79 90%);--bg-primary-hover: #05225a;--bg-muted: #f5f5f5;--bg-new: #c9e98e;--bg-active: #2d3748;--bg-danger: #fed7d7;--border-danger: #fb6767;--text-title: #141414;--text-white: white;--text-tertiary: #515b6a;--border-primary: #acb9d2;--border-tertiary: #dddddd;--border-secondary: #0d40a5;--modal-overlay: rgba(0, 0, 0, .5)}.resident-interface{min-height:100vh;background:var(--bg-background);font-family:Atkinson Hyperlegible,sans-serif;padding-bottom:40px;font-weight:400;font-size:24px}.resident-interface button,.resident-interface .memory-modal.profile-modal .profile-photo-actions button{font-family:Atkinson Hyperlegible,sans-serif;font-weight:400;font-size:24px}.resident-interface .resident-header{background:var(--bg-secondary);padding:25px;box-shadow:none!important;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:0;position:relative}.resident-interface .header-content{flex:1}.resident-interface .header-content h1{font-size:2.2rem;color:var(--text-primary);margin:0 0 5px;font-weight:700}.resident-interface .resident-name-link{color:var(--text-link);font-size:inherit;font-weight:inherit;background:none!important;border:none!important;padding:0!important;margin:0!important;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit;transition:color .2s ease;display:inline;line-height:inherit;box-shadow:none!important;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.resident-interface .resident-name-link:hover{color:var(--text-link-hover);text-decoration:underline;background:none!important;border:none!important}.resident-interface .resident-name-link:focus{outline:none;background:none!important;border:none!important}.resident-interface .resident-name-link:active{background:none!important;border:none!important;transform:none}.resident-interface .header-content p{color:var(--text-primary);margin:0;font-size:1.1rem}.resident-interface .create-memory-btn{background:var(--bg-primary)!important;color:var(--text-white)!important;border:none!important;padding:12px 24px;border-radius:8px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem;margin-top:0!important}.resident-interface .create-memory-btn:before{content:""!important;font-weight:700;font-size:1.2em;color:var(--text-white)!important}.resident-interface .create-memory-btn:hover{transform:translateY(-2px);box-shadow:none!important;background:var(--bg-primary-hover)!important;color:var(--text-white)!important}.resident-interface .resident-top-buttons{background:var(--bg-muted);padding:15px 25px 30px;display:flex;flex-direction:column;gap:15px;width:100%;box-sizing:border-box;position:relative}.resident-interface .resident-header-top-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:20px;flex-direction:row}.resident-interface .resident-top-buttons .header-content{display:flex;align-items:center;flex-shrink:0}.resident-interface .tether-logo{height:80px;object-fit:contain}.resident-interface .resident-top-buttons .header-content h1{color:var(--text-primary);margin:0 0 5px;font-weight:700}.resident-interface .resident-top-buttons .header-content p{color:var(--text-primary);margin:0}.resident-interface .resident-action-buttons{display:flex;justify-content:flex-end;align-items:flex-start;width:100%}.resident-interface .zoom-controls{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;position:absolute;top:15px;right:25px;z-index:10}.resident-interface .zoom-label{font-size:.85rem;color:var(--text-primary);font-weight:500;margin:0}.resident-interface .zoom-buttons{display:flex;gap:12px}.resident-interface .fullscreen-toggle-btn{display:flex;align-items:center;justify-content:center;padding:6px 12px;min-width:40px}.resident-interface .fullscreen-toggle-btn svg{font-size:1.2rem}.resident-interface .resident-user-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.resident-interface .resident-user-name{color:var(--text-primary);font-size:1rem;font-weight:700}.resident-interface .resident-user-name-link{color:var(--text-link);font-size:1rem;font-weight:700;background:none;border:none;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit;transition:color .2s ease}.resident-interface .resident-user-name-link:hover{color:var(--text-link-hover);text-decoration:underline}.resident-interface .resident-user-email{color:var(--text-tertiary);font-size:.85rem;font-weight:400}.resident-interface .resident-action-buttons-group{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex-wrap:wrap;margin-left:auto}.resident-interface .activities-btn{background:var(--bg-primary);color:var(--text-white);border:none;padding:12px 20px;border-radius:8px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px var(--shadow-orange-strong);margin-right:10px}.resident-interface .activities-btn:hover{background:var(--bg-primary-hover);transform:translateY(-2px);box-shadow:0 6px 16px var(--shadow-orange-stronger)}.resident-interface .activities-btn:active{transform:translateY(0)}@keyframes pulse{0%{box-shadow:0 4px 12px var(--shadow-orange-strong)}50%{box-shadow:0 4px 20px var(--shadow-orange-pulse),0 0 0 8px var(--shadow-orange-pulse-ring)}to{box-shadow:0 4px 12px var(--shadow-orange-strong)}}.resident-interface .care-assist-indicator{display:flex;align-items:center;width:100%;justify-content:flex-end;margin-top:0;padding-top:10px}.resident-interface .care-assist-badge{background:var(--bg-background);color:var(--text-title);padding:8px 16px;border-radius:6px;font-size:20px;font-weight:700}.resident-interface .about-me-btn:active{transform:translateY(0)}.resident-interface .primary-btn{background-image:var(--bg-primary);color:var(--text-white);border:none;padding:6px 16px;border-radius:6px;cursor:pointer;transition:all .3s ease;box-shadow:none!important;line-height:1.5;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.resident-interface .primary-btn:hover{transform:translateY(-1px);box-shadow:none!important;background-position:right center;background-size:200% auto}.resident-interface .secondary-btn{background:var(--bg-background);color:var(--text-title);border:var(--border-primary) solid 1px;padding:6px 12px;font-size:20px;border-radius:6px;cursor:pointer;transition:all .3s ease;box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.resident-interface .secondary-btn:hover,.resident-interface .zoom-btn.active{background:var(--bg-active);border:var(--text-white) solid 1px;color:var(--text-white);box-shadow:none!important}.resident-interface .outline-btn{border:var(--border-primary) solid 1.5px;color:var(--text-title);background:var(--bg-background);padding:6px 18px;border-radius:6px;cursor:pointer;transition:all .3s ease;box-shadow:none!important;line-height:1.5;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:22px}.resident-interface .outline-btn:hover{background:var(--bg-primary);transform:translateY(-1px);color:var(--text-white);box-shadow:none!important}.resident-interface .assist-btn{color:var(--text-title);background:#52d1ff;border:#52D1FF solid 1.5px}.resident-interface .assist-btn:hover{background:var(--bg-primary-hover);transform:translateY(-1px);box-shadow:none!important;border:var(--bg-primary-hover) solid 1.5px}.resident-interface .profile-btn:active,.resident-interface .resident-logout-btn:active{transform:translateY(0)}.resident-interface .resident-nav-tabs{display:flex;background:var(--bg-background)}.resident-interface .resident-nav-tab{padding:20px 25px;border:none;background:none;cursor:pointer;color:var(--text-primary);border-bottom:1px solid var(--border-primary);transition:all .3s ease;position:relative;flex:auto}.resident-interface .resident-nav-tab:hover,.resident-interface .resident-nav-tab.active{color:var(--text-white);background:var(--bg-active)}.resident-interface .resident-memories-feed{background:var(--bg-secondary);padding:25px;margin:0 auto}.resident-interface .memories-feed-section{max-width:100%;margin:0 auto}.resident-interface .updates-section{background:var(--bg-secondary);padding:25px;margin:0 auto}.resident-interface .section-header{border-bottom:none!important}.resident-interface .feed-header .section-header{margin-bottom:0}.resident-interface .section-header h2{color:var(--black);margin:0;font-weight:400;font-size:24px}.resident-interface .updates-list{display:flex;flex-direction:column;gap:20px}.resident-interface .update-card{border-radius:15px;padding:20px;transition:all .3s ease;background:var(--bg-muted)}.resident-interface .update-card:hover{transform:translateY(-3px);border-color:var(--border-tertiary)!important}.resident-interface .update-card.unread{border-left:4px solid var(--border-accent)!important}.resident-interface .update-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.resident-interface .update-icon{font-size:1.5rem}.resident-interface .update-info{flex:1}.resident-interface .update-info h3{font-size:1.2rem;color:var(--text-primary);margin:0 0 5px;font-weight:700}.resident-interface .update-time{color:var(--text-secondary);font-size:.85rem}.resident-interface .unread-badge{background:var(--bg-new);color:#000!important;padding:4px 10px;border-radius:15px;font-size:.8rem;font-weight:700}.resident-interface .update-content{margin-bottom:20px}.resident-interface .update-content p{color:var(--text-secondary);line-height:1.6;margin:0 0 .5rem}.resident-interface .update-content p:last-child{margin-bottom:0}.resident-interface .update-content ul,.resident-interface .update-content ol{margin:.5rem 0;padding-left:1.5rem}.resident-interface .update-content li{margin:.25rem 0}.resident-interface .update-actions{display:flex;gap:10px}.resident-interface .memories-sub-tabs-container{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px;flex-wrap:wrap}.resident-interface .memories-sub-tabs{display:flex;gap:0;background:var(--bg-secondary);border-radius:10px;padding:5px;box-shadow:0 2px 10px var(--shadow-black-light);max-width:600px;flex-shrink:0}.resident-interface .memory-sub-tab{flex:1;padding:12px 20px;border:none;background:transparent;border-radius:8px;font-size:1rem;font-weight:500;color:var(--text-tertiary);cursor:pointer;transition:all .3s ease}.resident-interface .memory-sub-tab:hover{color:var(--text-title);background:var(--purple-lighter)}.resident-interface .memory-sub-tab.active{background:var(--purple-primary);color:var(--text-white);font-weight:700}.resident-interface .feed-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:0!important;flex-wrap:wrap;gap:15px;border-bottom:none!important;margin-bottom:40px!important}.resident-interface .feed-title-section{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.resident-interface .feed-title{font-size:1.8rem;color:var(--text-title);margin:0;font-weight:700}.resident-interface .feed-count{font-size:1rem;color:var(--text-tertiary);font-weight:500;padding:6px 12px;background:var(--purple-light);border-radius:20px}.resident-interface .memories-feed{display:flex;flex-direction:column;gap:20px;padding-top:0!important}.resident-interface .feed-card{width:100%;max-width:100%}.resident-interface .drafts-view-section{margin-top:0;margin-left:0;margin-right:0}.resident-interface .memory-card{background:var(--bg-muted);border-radius:12px;padding:20px;transition:all .3s ease;display:flex;flex-direction:column}.resident-interface .memory-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px var(--shadow-orange-medium);border-color:var(--border-tertiary)}.resident-interface .memory-card.draft{border-left:4px solid var(--accent-secondary-hover)}.resident-interface .memory-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid var(--border-tertiary)}.resident-interface .memory-publish-info{color:var(--text-tertiary);font-size:18px}.resident-interface .memory-publish-info strong{color:var(--text-title);font-weight:700}.resident-interface .memory-status-badge{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:700}.resident-interface .memory-status-badge.draft{background:var(--bg-primary);color:var(--status-draft-text)}.resident-interface .memory-status-badge.published{background:var(--status-published-bg);color:var(--status-published-text)}.resident-interface .memory-actions{display:flex;gap:8px}.resident-interface .action-btn-small{font-size:20px;cursor:pointer;transition:all .3s ease}.resident-interface .action-btn-small:hover{background:var(--bg-primary-hover);color:var(--text-white)}.resident-interface .action-btn-small.danger{background:var(--bg-primary);color:var(--text-white)}.resident-interface .action-btn-small.danger:hover{background:var(--bg-primary-hover);color:var(--text-white)}.resident-interface .memory-title-with-avatar{display:flex;align-items:center;gap:12px;margin-bottom:10px}.resident-interface .memory-creator-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-active);display:flex;align-items:center;justify-content:center}.resident-interface .memory-creator-avatar img{width:100%;height:100%;object-fit:cover}.resident-interface .memory-content h3{color:var(--text-primary);margin:0;font-weight:700;flex:1}.resident-interface .memory-content p{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0 0 15px}.resident-interface .memory-description{color:var(--text-secondary);line-height:1.6;margin:0 0 15px}.resident-interface .memory-description p{margin:0 0 .5rem;color:var(--text-secondary)}.resident-interface .memory-description p:last-child{margin-bottom:0}.resident-interface .memory-description ul,.resident-interface .memory-description ol{margin:.5rem 0;padding-left:1.5rem}.resident-interface .memory-description li{margin:.25rem 0}.resident-interface .memory-media-preview{display:flex;flex-direction:column;gap:12px}.resident-interface .other-photos-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:100%}.resident-interface .primary-media{width:100%;flex-basis:100%;display:flex;justify-content:center}.resident-interface .primary-media-container{position:relative}.resident-interface .media-thumbnail.primary{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}.resident-interface .media-thumbnail.primary video{object-fit:contain;background:#000}.resident-interface .media-count-badge{position:absolute;top:10px;right:10px;background:#000000b3;color:var(--text-white);padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.resident-interface .document-item{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-secondary);border-radius:8px;border:2px solid var(--border-primary)}.resident-interface .document-icon{font-size:1.5rem;flex-shrink:0}.resident-interface .document-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.resident-interface .document-name{font-size:.9rem;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resident-interface .document-description{font-size:.8rem;color:var(--text-tertiary);font-style:italic}.resident-interface .media-item{display:flex;flex-direction:column;gap:5px;align-items:center;width:fit-content;max-width:100%}.resident-interface .media-item.primary-media{align-items:center;width:100%}.resident-interface .media-info-text{display:flex;flex-direction:column;gap:2px}.resident-interface .media-thumbnail{max-width:100%;width:auto;height:100px;object-fit:cover;border-radius:8px;border:2px solid var(--border-primary);display:block;margin:0 auto}.resident-interface .clickable-media{cursor:pointer;transition:all .3s ease}.resident-interface .clickable-media:hover{transform:scale(1.05);box-shadow:0 4px 12px var(--shadow-black-medium)}.resident-interface .audio-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-secondary);border-radius:8px;border:2px solid var(--border-primary)}.resident-interface .audio-icon{font-size:1.5rem;flex-shrink:0}.resident-interface .audio-item audio{flex:1;height:32px}.resident-interface .media-name{font-size:.75rem;color:var(--text-tertiary);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.resident-interface .media-description{font-size:.75rem;color:var(--text-primary);font-style:italic;margin-top:4px;display:block}.resident-interface .memory-recipients,.resident-interface .memory-publisher{margin-top:10px;font-size:.9rem;color:var(--text-tertiary)}.resident-interface .memory-publisher strong{color:var(--text-title);margin-right:5px}.resident-interface .memory-date{font-size:.9rem;color:var(--text-tertiary)}.resident-interface .memory-footer{margin-top:15px;padding-top:15px;border-top:1px solid #e2e8f0}.resident-interface .memory-engagement{margin-top:20px;padding-top:20px;border-top:2px solid var(--purple-light)}.resident-interface .engagement-actions-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.resident-interface .engagement-actions-left{display:flex;gap:10px;flex-wrap:wrap}.resident-interface .engagement-actions-right{display:flex;align-items:center}.btn-grad{background-image:linear-gradient(to right,#b24592,#f15f79 51%,#b24592)}.btn-grad{margin:10px;padding:15px 45px;text-align:center;text-transform:uppercase;transition:.5s;background-size:200% auto;color:#fff;box-shadow:0 0 20px #eee;border-radius:10px;display:block}.btn-grad:hover{background-position:right center;color:#fff;text-decoration:none}.resident-interface .action-btn-small.like-action-small{background:#fff;border:#ff6f3c solid 2px;color:#4a4a4a!important;font-weight:600;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease}.resident-interface .action-btn-small.like-action-small:hover{background:linear-gradient(135deg,#fff5e6,#ffe8cc);transform:translateY(-1px);border-color:#ff5722;color:#2d2d2d!important}.resident-interface .action-btn-small.like-action-small.liked{border:#ff9a3c solid 2px;background:linear-gradient(135deg,#ffb366,#ff9a5c);color:#1a1a1a!important}.resident-interface .action-btn-small.like-action-small.liked:hover{background:linear-gradient(135deg,#ffa64d,#ff8c3c)!important;color:#1a1a1a!important;font-weight:700;transform:translateY(-2px);border-color:#ff8c3c}.resident-interface .listen-action-small{background:var(--bg-primary);color:var(--status-draft-text)}.resident-interface .listen-action-small:hover{background:var(--accent-secondary-hover);color:var(--text-white)}.resident-interface .stop-action-small{background:#ffe6e6;color:var(--accent-red);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.resident-interface .engagement-section{margin-bottom:15px}.resident-interface .engagement-toggle-btn{background:#ffe4b5!important;border:1px solid var(--border-primary)!important;border-radius:20px;padding:6px 12px;font-size:18px;color:#8b4513!important;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;display:flex;align-items:center;gap:8px}.resident-interface .engagement-toggle-btn:hover{background:gold!important;border-color:var(--border-secondary)!important;transform:translateY(-1px);color:#ff8c00!important}.resident-interface .engagement-toggle-btn:active{transform:translateY(0);box-shadow:0 1px 2px #ff8c001a}.resident-interface .engagement-show-btn{background:linear-gradient(135deg,#ffb366,#ff9a5c)!important;border:#ff9a3c solid 2px!important;color:#1a1a1a!important;font-weight:700}.resident-interface .engagement-show-btn:hover{background:linear-gradient(135deg,#ffa64d,#ff8c3c)!important;border-color:#ff8c3c!important;color:#1a1a1a!important;font-weight:700;transform:translateY(-2px)}.resident-interface .engagement-hide-btn{background:#fff!important;border:var(--border-primary) solid 1px;color:var(--text-title)!important}.resident-interface .engagement-hide-btn:hover{background:linear-gradient(135deg,#e6f2ff,#cce5ff)!important;border-color:var(--border-primary);color:#021b79!important;transform:translateY(-1px)}.resident-interface .engagement-counts{display:flex;align-items:center;gap:8px}.resident-interface .count-item{display:flex;align-items:center;gap:4px}.resident-interface .count-icon{font-size:18px;line-height:1}.resident-interface .count-number{font-weight:700;font-size:18px;color:#000!important}.resident-interface .engagement-likes{margin-bottom:15px}.resident-interface .likes-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.resident-interface .like-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid var(--border-tertiary);border-radius:8px;font-size:18px;color:var(--text-title);font-weight:500}.resident-interface .like-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-active);display:flex;align-items:center;justify-content:center}.resident-interface .like-avatar img{width:100%;height:100%;object-fit:cover}.resident-interface .like-author-name{font-weight:500}.resident-interface .engagement-comments{margin-top:20px}.resident-interface .comments-list{display:flex;flex-direction:column;gap:15px;margin-top:15px}.resident-interface .comment-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-active);display:flex;align-items:center;justify-content:center}.resident-interface .comment-avatar img{width:100%;height:100%;object-fit:cover}.resident-interface .comment-avatar.carer-avatar{overflow:hidden;clip-path:polygon(0 0,50% 0,50% 100%,0 100%)}.resident-interface .comment-avatar.carer-avatar img{width:200%;height:100%;object-fit:cover;object-position:left center}.resident-interface .comment-content{flex:1;min-width:0}.resident-interface .comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.resident-interface .avatar-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-white);text-transform:uppercase}.resident-interface .comment-author{font-weight:700;color:var(--text-title)!important;font-size:18px}.resident-interface .comment-time{font-size:18px;color:var(--text-tertiary)}.resident-interface .comment-text{color:var(--text-title);line-height:1.5;font-size:20px}.resident-interface .comment-text p{margin:0 0 .5rem}.resident-interface .comment-text p:last-child{margin-bottom:0}.resident-interface .comment-text ul,.resident-interface .comment-text ol{margin:.5rem 0;padding-left:1.5rem}.resident-interface .comment-text li{margin:.25rem 0}.resident-interface .comment-input-section{margin-top:15px;display:flex;align-items:flex-start;gap:12px}.resident-interface .comment-input-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-active);display:flex;align-items:center;justify-content:center}.resident-interface .comment-input-avatar img{width:100%;height:100%;object-fit:cover}.resident-interface .comment-input-wrapper{flex:1;display:flex;align-items:flex-start;gap:8px;position:relative}.resident-interface .comment-rich-text-editor{flex:1}.resident-interface .comment-format-toggle{flex-shrink:0;padding:8px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);cursor:pointer;transition:all .2s;align-self:flex-start;margin-top:2px;display:flex;align-items:center;justify-content:center}.resident-interface .comment-format-toggle .format-toggle-icon{font-size:1.2rem;line-height:1;color:var(--text-title)}.resident-interface .comment-item{display:flex;gap:12px;background:var(--bg-background);padding:12px 15px;border-radius:8px;transition:all .2s ease;border:1px solid var(--border-primary)}.resident-interface .comment-item:hover{border-color:var(--border-secondary);box-shadow:0 2px 8px var(--shadow-light)}.resident-interface .primary-select-btn{background:var(--bg-background);border:2px solid var(--border-primary);color:var(--text-primary);font-size:18px;font-weight:500;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s ease;font-family:inherit}.resident-interface .primary-select-btn:hover{border-color:var(--bg-primary-solid);background:var(--bg-primary-light)}.resident-interface .primary-select-btn.active{background:var(--bg-primary-light);border-color:var(--bg-primary-solid);color:var(--text-on-gradient)}.resident-interface .primary-select-btn.active:hover{background:var(--bg-primary-hover);border-color:var(--bg-primary-solid-hover)}.resident-interface .comment-format-toggle:hover{background:var(--bg-hover);border-color:var(--border-primary)}.resident-interface .description-input-wrapper{display:flex;align-items:flex-start;gap:8px}.resident-interface .description-format-toggle{flex-shrink:0;padding:8px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-secondary);cursor:pointer;transition:all .2s;align-self:flex-start;margin-top:2px;display:flex;align-items:center;justify-content:center}.resident-interface .description-format-toggle .format-toggle-icon{font-size:1.2rem;line-height:1;color:var(--text-title)}.resident-interface .description-format-toggle:hover{background:var(--purple-lighter);border-color:#cbd5e0}.resident-interface .comment-input:focus{outline:none;border-color:var(--border-secondary)}.resident-interface .comment-submit-btn{padding:10px 20px;background:var(--bg-primary)!important;color:var(--text-white)!important;border:none!important;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:20px}.resident-interface .comment-submit-btn:hover{background:var(--bg-primary-hover)!important;transform:translateY(-1px);color:var(--text-white)!important}.resident-interface .comment-submit-btn:disabled{background:var(--text-tertiary);cursor:not-allowed;transform:none}.resident-interface .memories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.resident-interface .memory-actions-footer{margin-top:15px;padding-top:15px;border-top:1px solid #e2e8f0;display:flex;gap:10px}.resident-interface .empty-state{text-align:center;padding:60px 20px;color:var(--text-tertiary);font-size:20px}.resident-interface .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay);display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px}.resident-interface .memory-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.resident-interface .modal-content{background:var(--bg-background);border-radius:0;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;margin:auto}.resident-interface .memory-modal{background:var(--bg-card);border-radius:15px;max-width:none;width:100%;max-height:calc(100vh - 40px);box-shadow:none!important;display:flex;flex-direction:column;overflow:hidden;margin:auto;border:1px solid var(--border-primary)}.resident-interface .memory-modal.carer-modal{max-width:600px;background:var(--bg-card);border-radius:15px;box-shadow:none!important;display:flex;flex-direction:column;overflow:hidden;margin:auto;border:1px solid var(--border-primary)}.resident-interface .memory-modal.carer-modal .modal-content{flex:1;overflow-y:auto;padding:30px;min-height:0}.resident-interface .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-muted)!important}.resident-interface .modal-header h3{color:var(--text-primary);margin:0;font-size:24px}.resident-interface .close-btn{border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:36px!important;display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:var(--bg-active)!important;background:#fff}.resident-interface .modal-body{padding:25px;overflow-y:auto;flex:1}.resident-interface .memory-modal .modal-content{flex:1;overflow-y:auto;padding:30px;min-height:0}.resident-interface .modal-actions{display:flex;gap:16px!important;justify-content:flex-end;padding:20px 30px;border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-background)}.resident-interface .modal-actions button{font-size:24px}.resident-interface .action-btn{padding:12px 24px;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem}.resident-interface .action-btn.primary{background:var(--bg-primary)!important;color:var(--text-white)}.resident-interface .action-btn.primary:hover{background:var(--bg-primary-hover);transform:translateY(-1px);box-shadow:none!important}.resident-interface .action-btn.secondary{background:var(--bg-primary);color:var(--text-white)}.resident-interface .action-btn.secondary:hover{background:var(--bg-primary-hover)}.resident-interface .form-group{margin-bottom:48px}.resident-interface .memory-modal.profile-modal label{font-size:24px!important;margin-bottom:4px!important}.resident-interface .form-group label{display:block;color:var(--text-primary)}.resident-interface .form-input,.resident-interface .form-textarea,.resident-interface input,.resident-interface textarea{width:100%;padding:12px;border:1px solid var(--border-primary);border-radius:6px!important;font-size:24px!important;font-family:inherit;transition:all .3s ease;box-sizing:border-box;background:var(--bg-secondary)}.resident-interface .memory-modal.profile-modal .profile-form-group{margin-bottom:40px!important}.resident-interface .form-input:focus,.resident-interface .form-textarea:focus{outline:none;border-color:var(--border-secondary)!important;box-shadow:none!important;border-radius:6px}.resident-interface .form-textarea{resize:vertical;min-height:120px}.resident-interface .carer-list{margin-bottom:20px}.resident-interface .carer-list p{margin-bottom:15px;color:var(--text-title);font-weight:500}.resident-interface .carer-items{display:flex;flex-direction:column;gap:16px}.resident-interface .carer-item-btn{padding:15px 20px;background:var(--bg-background);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;transition:all .3s ease;color:var(--text-title);text-align:left}.resident-interface .carer-item-btn:hover{background:var(--bg-primary);color:var(--text-white);transform:translate(5px)}.resident-interface .carer-password-form p{margin-bottom:20px;color:var(--text-title)}.resident-interface .audit-log-section{background:var(--bg-secondary);padding:30px;margin:0 auto}.resident-interface .audit-log-header{margin-bottom:30px;padding-bottom:20px;border-bottom:3px solid var(--purple-primary)}.resident-interface .audit-log-header h2{font-size:2rem;color:var(--text-title);margin:0 0 10px;font-weight:700}.resident-interface .audit-log-header p{color:var(--text-tertiary);margin:0;font-size:1.1rem}.resident-interface .audit-log-list{display:flex;flex-direction:column;gap:15px}.resident-interface .audit-log-entry{background:var(--purple-lighter);border-radius:10px;padding:20px;border-left:4px solid var(--success-green);box-shadow:none!important}.resident-interface .audit-log-content{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.resident-interface .audit-log-message{flex:1;font-size:1rem;color:var(--text-title);line-height:1.6}.resident-interface .audit-log-message strong{color:indigo;font-weight:700}.resident-interface .audit-log-message em{color:var(--text-tertiary);font-style:italic}.resident-interface .audit-log-time{font-size:.85rem;color:var(--text-tertiary);white-space:nowrap}.resident-interface .my-family-section{background:var(--bg-secondary);padding:30px;width:100%;box-sizing:border-box}.resident-interface .my-family-header{margin-bottom:30px;padding-bottom:20px;border-bottom:none!important}.resident-interface .my-family-header h2{font-size:2rem;color:var(--text-title);margin:0 0 10px;font-weight:700}.resident-interface .my-family-header p{color:var(--text-tertiary);margin:0;font-size:1.1rem}.resident-interface .family-members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-top:20px}.resident-interface .family-member-card{background:var(--purple-lighter);border-radius:12px;padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:none!important;transition:all .3s ease;border:2px solid transparent}.resident-interface .family-member-card:hover{transform:translateY(-4px);box-shadow:none!important;border-color:var(--bg-primary)}.resident-interface .family-member-avatar{width:100px;height:100px;border-radius:50%;margin-bottom:15px;overflow:hidden;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;box-shadow:none!important}.resident-interface .family-member-avatar img{width:100%;height:100%;object-fit:cover}.resident-interface .family-member-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:var(--text-white)}.resident-interface .family-member-info{width:100%}.resident-interface .family-member-name{font-size:1.3rem;color:var(--text-title);margin:0 0 8px;font-weight:700}.resident-interface .family-member-role{font-size:.9rem;color:var(--text-title);margin:0 0 4px;font-weight:500}.resident-interface .family-member-stats{font-size:.95rem;color:var(--text-tertiary);margin:0}.resident-interface .media-upload-buttons{display:flex;gap:16px;margin-bottom:15px;flex-wrap:wrap}.resident-interface .activities-section{padding:30px;max-width:1200px;margin:0 auto}.resident-interface .activities-list{display:flex;flex-direction:column;gap:20px;margin-top:20px}.resident-interface .activity-date-header{background:var(--bg-secondary);padding:20px;border-radius:12px;box-shadow:0 2px 8px var(--shadow-black-medium);margin-bottom:20px;text-align:center}.resident-interface .today-date{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin:0}.resident-interface .activity-card{background:var(--bg-secondary);border-radius:12px;padding:20px;box-shadow:0 2px 8px var(--shadow-black-medium);border-left:4px solid #FF6B35;display:flex;gap:20px;transition:transform .2s ease,box-shadow .2s ease}.resident-interface .activity-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.resident-interface .activity-time-info{min-width:120px;display:flex;align-items:center}.resident-interface .activity-time{font-size:1.1rem;font-weight:700;color:#ff6b35}.resident-interface .activity-details{flex:1}.resident-interface .activity-description{font-size:1.2rem;color:var(--text-title);margin:0 0 8px;font-weight:700}.resident-interface .activity-location{color:#4a5568;font-size:1rem;margin:0;display:flex;align-items:center;gap:6px}.resident-interface .media-upload-btn{padding:10px 16px;border:2px solid var(--border-primary);border-radius:8px;background:var(--bg-primary);color:var(--text-white)!important;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.resident-interface .media-upload-btn:hover{border-color:var(--border-secondary)!important;background:var(--bg-primary-hover)!important;color:var(--text-white)!important}.resident-interface .media-upload-btn.primary,.resident-interface .memory-modal .media-upload-btn.primary,.resident-interface .memory-modal-overlay .media-upload-btn.primary{color:var(--text-white)!important;border:2px solid var(--bg-primary)!important}.resident-interface .media-upload-btn.primary:hover,.resident-interface .memory-modal .media-upload-btn.primary:hover,.resident-interface .memory-modal-overlay .media-upload-btn.primary:hover{border-color:var(--bg-primary-hover)!important;color:var(--text-white)!important}.resident-interface .memory-modal .attached-media-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;overflow-y:auto}.resident-interface .memory-modal .attached-media-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-muted);border-radius:6px;transition:all .2s ease}.resident-interface .memory-modal .media-info{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:1}.resident-interface .memory-modal .media-details{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.resident-interface .memory-modal .media-type-icon{font-size:1.2rem}.resident-interface .memory-modal .media-thumbnail-preview{width:120px;height:120px;object-fit:cover;border-radius:6px;flex-shrink:0}.resident-interface .memory-modal .media-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.resident-interface .memory-modal .media-filename{font-size:20px;color:var(--text-title);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resident-interface .memory-modal .media-description-wrapper{display:flex;align-items:center;gap:8px;width:100%}.resident-interface .memory-modal .media-description-input{flex:1;padding:4px 8px;border:1px solid var(--border-primary);border-radius:4px;font-size:.8rem;color:var(--text-title);font-family:inherit}.resident-interface .memory-modal .media-description-input:focus{outline:none;border-color:indigo;box-shadow:none!important}.resident-interface .memory-modal .media-actions{display:flex;align-items:center;gap:12px;margin-top:4px}.resident-interface .media-info-main{display:flex;align-items:center;gap:24px;flex:1}.resident-interface .primary-select-btn:hover{border-color:var(--bg-primary);background:var(--bg-primary-hover);color:var(--text-white)}.resident-interface .primary-select-btn.active{background:var(--bg-primary);border-color:var(--bg-primary);color:var(--text-white)}.resident-interface .primary-select-btn.active:hover{background:var(--bg-primary-hover);border-color:var(--bg-primary-hover)}.resident-interface .remove-media-btn-text{background:var(--bg-danger);color:var(--text-title);border:2px solid var(--bg-danger);cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s ease}.resident-interface .remove-media-btn-text:hover{border-color:var(--border-danger);background:var(--bg-danger);color:var(--text-title)}.resident-interface .media-description-text{color:var(--text-tertiary);font-size:.8rem;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resident-interface .media-size{color:var(--text-tertiary);font-size:.85rem}.resident-interface .remove-media-btn{background:#fed7d7;color:var(--accent-red);border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.resident-interface .remove-media-btn:hover{background:#feb2b2}.resident-interface .media-enhance-btn{display:flex;align-items:center;justify-content:center;padding:4px 8px;background:linear-gradient(135deg,#764ba2,#f093fb);color:#fff;border-radius:4px;cursor:pointer;transition:all .3s ease;flex-shrink:0;width:36px;height:36px;border:none;font-weight:600}.resident-interface .media-enhance-btn:hover{background:#764ba2;transform:translateY(-1px)}.resident-interface .ai-icon{font-size:18px}.resident-interface .media-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:3000;padding:20px}.resident-interface .media-viewer-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.resident-interface .media-viewer-close{position:absolute;top:-40px;right:0;background:#fff3;color:var(--text-white);border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.resident-interface .media-viewer-close:hover{background:#ffffff4d}.resident-interface .media-viewer-image,.resident-interface .media-viewer-video{max-width:100%;max-height:80vh;border-radius:10px;box-shadow:none!important}.resident-interface .media-viewer-info{margin-top:20px;background:#ffffff1a;padding:15px 20px;border-radius:10px;text-align:center;color:var(--text-white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.resident-interface .media-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.resident-interface .media-viewer-info h3{margin:0;font-size:1.2rem;color:var(--text-white);flex:1;text-align:left}.resident-interface .media-viewer-counter{background:#fff3;padding:4px 12px;border-radius:15px;font-size:.85rem;font-weight:600;white-space:nowrap}.resident-interface .media-viewer-info p{color:#ffffffe6;font-size:.95rem}.resident-interface .media-viewer-size{color:#ffffffb3!important;font-size:.85rem!important}.resident-interface .media-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;color:var(--text-white);border:none;width:50px;height:50px;border-radius:50%;font-size:2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:3001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.resident-interface .media-viewer-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.resident-interface .media-viewer-prev{left:20px}.resident-interface .media-viewer-next{right:20px}.resident-interface .media-viewer-audio{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px}.resident-interface .audio-icon-large{font-size:4rem}.resident-interface .media-viewer-audio audio{width:100%;max-width:500px}.resident-interface .media-viewer-document{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px;text-align:center}.resident-interface .document-icon-large{font-size:4rem}.resident-interface .media-viewer-document p{color:var(--text-white);font-size:1.2rem;margin:0}@media (max-width: 768px){.resident-interface .resident-top-buttons{flex-direction:column;gap:10px;padding:10px 15px}.resident-interface .resident-header-top-row{flex-direction:column;align-items:flex-start;gap:15px}.resident-interface .resident-action-buttons-group{align-self:flex-end;width:100%;justify-content:flex-end}.resident-interface .zoom-controls{position:absolute;top:10px;right:15px}.resident-interface .care-assist-btn,.resident-interface .about-me-btn,.resident-interface .resident-logout-btn{padding:8px 16px;font-size:.9rem}.resident-interface .resident-nav-tabs{padding:0 15px}.resident-interface .resident-nav-tab{padding:15px 20px;font-size:.9rem}.resident-interface .memories-grid{grid-template-columns:1fr}.resident-interface .feed-header{flex-direction:column;align-items:flex-start}}.memory-modal.profile-modal{max-width:800px;width:90%;max-height:calc(90vh - 40px);border-radius:15px;margin:auto;overflow:hidden}.memory-modal.profile-modal .modal-content{border-radius:0;padding:30px;overflow-y:auto;flex:1;min-height:0}.memory-modal.profile-modal .profile-photo-section{margin-bottom:30px}.memory-modal.profile-modal .profile-photo-label{display:block;color:#2d3748;font-weight:500;margin-bottom:12px;font-size:.95rem}.memory-modal.profile-modal .profile-photo-container{display:flex;flex-direction:column;align-items:center;gap:15px}.memory-modal.profile-modal .profile-photo-preview{width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid #e2e8f0;display:flex;align-items:center;justify-content:center;background:#f7fafc}.memory-modal.profile-modal .profile-photo{width:100%;height:100%;object-fit:cover}.memory-modal.profile-modal .profile-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.memory-modal.profile-modal .profile-photo-icon{font-size:3rem;opacity:.5}.memory-modal.profile-modal .profile-photo-actions{display:flex;gap:10px}.memory-modal.profile-modal .profile-photo-actions button{padding:8px 16px;border:2px solid #e2e8f0;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease;font-size:.9rem;background:#f7fafc;color:#2d3748;font-family:inherit}.memory-modal.profile-modal .profile-photo-actions button:hover{background:#edf2f7;border-color:#cbd5e0}.memory-modal.profile-modal .profile-photo-actions button.danger{color:#c53030;border-color:#feb2b2}.memory-modal.profile-modal .profile-photo-actions button.danger:hover{background:#fed7d7;border-color:#fc8181}.memory-modal.profile-modal .profile-form-group{margin-bottom:20px}.memory-modal.profile-modal .profile-form-group label{display:block;color:#2d3748;font-weight:500;margin-bottom:8px;font-size:.95rem}.memory-modal.profile-modal .profile-input{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .3s ease;font-family:inherit;box-sizing:border-box}.memory-modal.profile-modal .profile-input:focus{outline:none;border-color:#0575e6}.family-portal .memory-modal.profile-modal .profile-input:focus{border-color:#1fd1e4}.memory-modal.profile-modal .profile-input:disabled{background:#f7fafc;color:#718096;cursor:not-allowed}.memory-modal.profile-modal .profile-help-text{display:block;color:#718096;font-size:.85rem;margin-top:4px}@media (max-width: 768px){.memory-modal.profile-modal .profile-photo-actions{flex-direction:column;width:100%}.memory-modal.profile-modal .profile-photo-actions button{width:100%}}.rich-text-editor{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:4px;background:#fff}.rich-text-editor .rich-text-toolbar{display:flex;align-items:center;gap:4px;padding:8px;border-bottom:1px solid #e2e8f0;background:#f7fafc;flex-wrap:wrap}.rich-text-editor .toolbar-group{display:flex;align-items:center;gap:2px}.rich-text-editor .toolbar-separator{width:1px;height:24px;background:#cbd5e0;margin:0 4px}.rich-text-editor .toolbar-btn{display:flex;align-items:center;justify-content:center;padding:6px 10px;border:1px solid transparent;background:#fff;border-radius:4px;cursor:pointer;font-size:.875rem;color:#2d3748;transition:all .2s;min-width:32px;height:32px}.rich-text-editor .toolbar-btn:hover{background:#edf2f7;border-color:#cbd5e0}.rich-text-editor .toolbar-btn:active{background:#e2e8f0}.rich-text-editor .toolbar-btn strong,.rich-text-editor .toolbar-btn em,.rich-text-editor .toolbar-btn u{font-weight:700;font-style:normal;text-decoration:none}.rich-text-editor .toolbar-btn em{font-style:italic;font-weight:400}.rich-text-editor .toolbar-btn u{text-decoration:underline;font-weight:400}.rich-text-editor .rich-text-content{padding:12px;outline:none;font-family:inherit;font-size:1rem;line-height:1.5;color:#2d3748;white-space:pre-wrap;word-wrap:break-word}.rich-text-editor .rich-text-content:empty:before{content:attr(data-placeholder);color:#a0aec0;pointer-events:none}.rich-text-editor .rich-text-content:focus{outline:2px solid #4299e1;outline-offset:-2px}.rich-text-editor .rich-text-content p{margin:0 0 .5rem}.rich-text-editor .rich-text-content p:last-child{margin-bottom:0}.rich-text-editor .rich-text-content ul,.rich-text-editor .rich-text-content ol{margin:.5rem 0;padding-left:1.5rem}.rich-text-editor .rich-text-content li{margin:.25rem 0}.family-portal{--bg-background: #FFFFFF;--bg-secondary: #f7fafc;--bg-muted: #f0f4f8;--bg-card: #FFFFFF;--bg-hover: #f7fafc;--bg-active: #2d3748;--bg-danger: #fed7d7;--bg-primary: linear-gradient(45deg, #59ddeb 0, #5ce78f 100%);--bg-primary-light: #e0f7f5;--bg-primary-solid: #1fd1e4;--bg-primary-solid-hover: #149b8f;--text-primary: #2d3748;--text-secondary: #4a5568;--text-tertiary: #718096;--text-white: #FFFFFF;--text-on-gradient: #000000;--text-link: #1fd1e4;--text-link-hover: #149b8f;--border-primary: #e2e8f0;--border-secondary: #cbd5e0;--border-tertiary: #a0aec0;--border-dark: #2d3748;--border-danger: #fc8181;--border-accent: #16b4c5;--status-draft-bg: rgb(251, 241, 194);--status-draft-text: #2d3748;--status-published-bg: #c6f6d5;--status-published-text: #22543d;--shadow-light: rgba(0, 0, 0, .05);--shadow-medium: rgba(0, 0, 0, .1);--shadow-strong: rgba(0, 0, 0, .15);--shadow-primary: rgba(23, 187, 173, .2);--gradient-background: linear-gradient(135deg, #f0f4f8 0%, #e2e8f0 100%);--modal-overlay: rgba(0, 0, 0, .5)}.family-portal{min-height:100vh;background:linear-gradient(45deg,#a5dee469 0,#a1f4bf45);font-family:Inter,sans-serif}.family-portal .family-header{background:var(--bg-background);box-shadow:0 4px 20px var(--shadow-medium);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}.family-portal .tether-logo{height:44px;object-fit:contain;margin-left:24px}.family-portal .header-content h1{font-size:2.2rem;color:var(--text-primary);margin:0 0 5px;font-weight:600}.family-portal .header-content p{color:var(--text-primary);margin:0;font-size:1.1rem}.family-portal .family-info{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.family-portal .user-info{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.family-portal .user-name{color:var(--text-primary);font-size:1rem;font-weight:600}.family-portal .user-email{color:var(--text-tertiary);font-size:.85rem;font-weight:400}.family-portal .user-actions{display:flex;align-items:center;gap:10px}.family-portal .profile-btn,.family-portal .logout-btn{background:var(--bg-primary);color:var(--text-on-gradient);border:none;padding:10px 20px;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:1rem;font-weight:500;box-shadow:0 4px 12px var(--shadow-primary);line-height:1.5;display:inline-flex;align-items:center;justify-content:center;height:40px;min-width:120px;white-space:nowrap}.family-portal .profile-btn:hover,.family-portal .logout-btn:hover{transform:translateY(-2px);background-position:right center;background-size:200% auto}.family-portal .profile-btn:active,.family-portal .logout-btn:active{transform:translateY(0)}.family-portal .user-menu-container{position:relative;display:flex;flex-direction:column;align-items:flex-end}.family-portal .user-menu-trigger{display:flex;align-items:center;gap:12px;border:0;background:var(--bg-card);border-left:1px solid var(--border-primary);cursor:pointer;padding:16px 20px;text-align:right;position:relative}.family-portal .user-menu-trigger:hover{background:var(--bg-hover)}.family-portal .user-avatar-wrapper{position:relative;flex-shrink:0}.family-portal .user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--bg-primary-solid);background:var(--bg-primary-light);display:flex;align-items:center;justify-content:center}.family-portal .user-avatar-initials{font-size:16px;font-weight:700;letter-spacing:.5px;background:linear-gradient(135deg,var(--bg-primary-light) 0%,#d0f4f1 100%)}.family-portal .user-avatar-status{position:absolute;bottom:0;right:0;width:12px;height:12px;background:#10b981;border:2px solid var(--bg-card);border-radius:50%;box-shadow:0 2px 4px #0000001a}.family-portal .user-info-inline{display:flex;flex-direction:column;align-items:start;gap:2px;min-width:0;flex:1}.family-portal .user-name-inline{color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.family-portal .user-email-inline{color:var(--text-tertiary);font-size:.8rem;font-weight:400;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.family-portal .dropdown-chevron{color:var(--text-tertiary);transition:transform .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;opacity:.7}.family-portal .user-menu-trigger:hover .dropdown-chevron{opacity:1}.family-portal .user-menu-container.menu-open .dropdown-chevron{transform:rotate(180deg);opacity:1}.family-portal .user-menu-container.menu-open .user-menu-trigger{background:var(--bg-hover)}.family-portal .user-menu-dropdown{position:absolute;top:calc(100% + 2px);right:0;background:var(--bg-card);border-radius:6px;box-shadow:0 8px 24px #00000026,0 2px 8px #0000001a;min-width:277px;z-index:1000;animation:slideDownFade .2s ease-out;overflow:hidden}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.family-portal .user-menu-header{padding:16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);display:flex;align-items:center;gap:12px}.family-portal .user-menu-header-avatar{flex-shrink:0}.family-portal .user-menu-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--bg-primary-solid);background:var(--bg-primary-light);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.family-portal .user-menu-avatar-initials{color:var(--bg-primary-solid);font-size:18px;font-weight:700;letter-spacing:.5px;background:linear-gradient(135deg,var(--bg-primary-light) 0%,#d0f4f1 100%)}.family-portal .user-menu-header-info{flex:1;min-width:0}.family-portal .user-menu-header .user-name{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.family-portal .user-menu-header .user-email{color:var(--text-tertiary);font-size:.85rem;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.family-portal .user-menu-divider{height:1px;background:var(--border-primary);margin:0}.family-portal .user-menu-items{display:flex;flex-direction:column;padding:4px}.family-portal .user-menu-item{display:flex;align-items:center;width:100%;padding:12px 16px;background:transparent;border:none;text-align:left;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-primary);transition:background-color .2s ease,color .2s ease;border-radius:8px;margin:2px 0}.family-portal .user-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.family-portal .user-menu-item:active{background:var(--bg-muted)}.family-portal .user-menu-item-danger{color:#e53e3e}.family-portal .user-menu-item-danger:hover{background:#fee;color:#c53030}.family-portal .user-menu-item-danger:active{background:#fed7d7}.family-portal .portal-nav{background:#fff;padding:0 25px;display:flex;gap:16px;border-top:1px solid var(--border-primary);box-shadow:0 10px 20px var(--shadow-light)}.family-portal .nav-tab{background:none;border:none;padding:20px 25px;cursor:pointer;font-size:18px;font-weight:500;color:var(--text-primary);border-bottom:3px solid transparent;transition:all .3s ease;position:relative}.family-portal .nav-tab:hover{border-bottom-color:var(--border-dark)}.family-portal .nav-tab.active{border-bottom-color:var(--border-dark);background:var(--bg-background);font-weight:700}.family-portal .memories-section,.family-portal .upload-section,.family-portal .updates-section,.family-portal .engagement-section{padding:30px;margin:0 auto}.family-portal .communications-layout{display:flex;gap:24px;align-items:flex-start;min-height:calc(100vh - 200px)}.family-portal .communications-nav-drawer{width:256px;min-width:256px;background:var(--bg-background);border-radius:4px;box-shadow:0 2px 4px var(--shadow-medium),0 4px 8px var(--shadow-light);overflow:hidden;flex-shrink:0;display:flex;flex-direction:column}.family-portal .communications-nav-item{width:100%;padding:16px 20px;background:transparent;border:none;text-align:left;font-size:1rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;gap:12px}.family-portal .communications-nav-item:last-child{border-bottom:none}.family-portal .communications-nav-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.family-portal .communications-nav-item.active{font-weight:600;border-left:3px solid var(--border-dark)}.family-portal .communications-content{flex:1;min-width:0;background:var(--bg-background);border-radius:4px;box-shadow:0 2px 4px var(--shadow-medium),0 4px 8px var(--shadow-light);padding:24px}.family-portal .communications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.family-portal .communications-header h2{margin:0;font-size:1.5rem;color:var(--text-primary);font-weight:600}.family-portal .activities-section{padding:0}.family-portal .activities-list{display:flex;flex-direction:column;gap:20px;margin-top:20px}.family-portal .activity-date-header{background:var(--bg-background);padding:20px;border-radius:12px;box-shadow:0 2px 8px var(--shadow-medium);margin-bottom:20px;text-align:center}.family-portal .today-date{font-size:1.3rem;font-weight:600;color:#8b4513;margin:0}.family-portal .activity-card{background:var(--bg-background);border-radius:12px;padding:20px;box-shadow:0 2px 8px var(--shadow-medium);border-left:4px solid #FF6B35;display:flex;gap:20px;transition:transform .2s ease,box-shadow .2s ease}.family-portal .activity-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-strong)}.family-portal .activity-time-info{min-width:120px;display:flex;align-items:center}.family-portal .activity-time{font-size:1.1rem;font-weight:600;color:#ff6b35}.family-portal .activity-details{flex:1}.family-portal .activity-description{font-size:1.2rem;color:var(--text-primary);margin:0 0 8px;font-weight:600}.family-portal .activity-location{color:var(--text-secondary);font-size:1rem;margin:0;display:flex;align-items:center;gap:6px}.family-portal .section-header{margin-bottom:30px;position:relative}.family-portal .header-top{display:flex;justify-content:center;align-items:flex-start;gap:20px;flex-wrap:wrap}.family-portal .header-top>div:first-child{text-align:left;flex:1}.family-portal .header-actions{display:flex;align-items:center;gap:12px}.family-portal .social-share-container{position:relative}.family-portal .social-share-btn{display:flex;align-items:center;gap:8px;background:var(--bg-primary);color:var(--text-on-gradient);border:1px solid var(--border-accent);padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.family-portal .social-share-btn:hover{transform:translateY(-2px);background-position:right center;background-size:200% auto}.family-portal .social-share-btn svg{font-size:1.2rem}.family-portal .social-share-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 4px 12px var(--shadow-medium);min-width:220px;z-index:1000;overflow:hidden}.family-portal .social-share-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:transparent;border:none;text-align:left;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:background .2s ease}.family-portal .social-share-option:hover{background:var(--bg-hover)}.family-portal .social-share-option .social-icon{font-size:1.5rem}.family-portal .social-share-option .instagram-icon{color:#e4405f}.family-portal .social-share-option .facebook-icon{color:#1877f2}.family-portal .social-share-option span{flex:1}.family-portal .section-header h2{font-size:1.5rem;color:var(--text-primary);margin:0;font-weight:600}.family-portal .section-header p{color:var(--text-primary);font-size:1.1rem;margin:0}.family-portal .primary-btn,.family-portal .family-group-management .action-btn.primary{background:var(--bg-primary);color:var(--text-on-gradient);border:1px solid var(--border-accent);padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.family-portal .primary-btn:hover,.family-portal .family-group-management .action-btn.primary:hover{transform:translateY(-2px);background-position:right center;background-size:200% auto}.family-portal .secondary-btn{background:var(--bg-background);color:var(--text-on-gradient);border:2px solid var(--border-accent);padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.family-portal .secondary-btn:hover{transform:translateY(-2px);background-position:right center;background-size:200% auto}.family-portal .create-memory-btn{margin-top:0;background:var(--bg-primary);color:var(--text-on-gradient);border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.family-portal .create-memory-btn:before{content:"+ ";font-weight:700;font-size:1.2em}.family-portal .create-memory-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--shadow-primary)}.family-portal .memories-group{margin-bottom:40px}.family-portal .group-title{font-size:1.5rem;color:var(--text-primary);margin:0 0 20px;font-weight:600;padding-bottom:10px;border-bottom:2px solid var(--bg-primary-light)}.family-portal .memories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.family-portal .memories-feed-section{margin-bottom:50px;margin-left:0;margin-right:0}.family-portal .feed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:3px solid var(--bg-primary)}.family-portal .feed-title{font-size:1.2rem;color:var(--text-primary);margin:0;font-weight:600}.family-portal .feed-count{font-size:1rem;color:var(--text-tertiary);font-weight:500;padding:6px 12px;background:var(--bg-primary-light);border-radius:20px}.family-portal .memories-feed{display:flex;flex-direction:column;gap:25px;padding-top:10px}.family-portal .feed-card{width:100%;max-width:100%}.family-portal .memories-sub-tabs{display:flex;gap:5px;margin-bottom:30px;background:#0000000f;border-radius:10px;padding:5px;width:100%;margin-left:0;margin-right:0}.family-portal .memory-sub-tab{flex:1;padding:12px 20px;border:none;background:transparent;border-radius:8px;font-size:1rem;font-weight:500;color:var(--text-tertiary);cursor:pointer;transition:all .3s ease}.family-portal .memory-sub-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.family-portal .memory-sub-tab.active{background:var(--bg-background);color:var(--text-on-gradient);font-weight:600}.family-portal .drafts-view-section{margin-top:0;margin-left:0;margin-right:0}.family-portal .memory-card{background:var(--bg-background);border-radius:8px;padding:20px;box-shadow:0 4px 20px var(--shadow-medium);transition:all .3s ease;border:2px solid transparent;display:flex;flex-direction:column;width:100%}.family-portal .memory-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px var(--shadow-strong)}.family-portal .memory-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:10px}.family-portal .memory-publish-info{font-size:.85rem;color:var(--text-tertiary);font-weight:500}.family-portal .memory-publish-info strong{color:var(--text-primary);font-weight:600}.family-portal .memory-status-badge{padding:4px 12px;border-radius:15px;font-size:.75rem;font-weight:600;text-transform:uppercase}.family-portal .memory-status-badge.draft{background:var(--status-draft-bg);color:var(--status-draft-text)}.family-portal .memory-status-badge.published{background:var(--status-published-bg);color:var(--status-published-text)}.family-portal .memory-actions{display:flex;gap:8px}.family-portal .action-btn-small{padding:6px 12px;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;background:#edf2f7;color:var(--text-primary)}.family-portal .action-btn-small:hover{background:var(--border-primary)}.family-portal .action-btn-small.danger{background:var(--bg-danger);color:var(--status-draft-text)}.family-portal .action-btn-small.danger:hover{background:#feb2b2}.family-portal .memory-content{flex:1;margin-bottom:15px}.family-portal .memory-title-with-avatar{display:flex;align-items:center;gap:12px;margin-bottom:10px}.family-portal .memory-creator-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-primary-light);display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-primary-solid)}.family-portal .memory-creator-avatar img{width:100%;height:100%;object-fit:cover}.family-portal .memory-content h3{font-size:1.2rem;color:var(--text-primary);margin:0;font-weight:600;flex:1}.family-portal .memory-content p{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0}.family-portal .memory-description{color:var(--text-primary);font-size:.95rem;line-height:1.6;margin:0}.family-portal .memory-description p{margin:0 0 .5rem;color:var(--text-secondary)}.family-portal .memory-description p:last-child{margin-bottom:0}.family-portal .memory-description ul,.family-portal .memory-description ol{margin:.5rem 0;padding-left:1.5rem}.family-portal .memory-description li{margin:.25rem 0}.family-portal .memory-footer{padding-top:15px;border-top:1px solid var(--border-primary);display:flex;flex-direction:column;gap:8px}.family-portal .memory-date{font-size:.85rem;color:var(--text-tertiary)}.family-portal .memory-date strong{color:var(--text-primary);margin-right:5px}.family-portal .memory-recipients{font-size:.85rem;color:var(--text-tertiary)}.family-portal .memory-recipients strong{color:var(--text-primary);margin-right:5px}.family-portal .memory-publisher{font-size:.85rem;color:var(--text-tertiary)}.family-portal .memory-publisher strong{color:var(--text-primary);margin-right:5px}.family-portal .empty-state{text-align:center;padding:60px 20px;color:var(--text-tertiary);font-size:1.1rem}.family-portal .upload-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.family-portal .upload-card{background:var(--bg-background);border-radius:15px;padding:30px;text-align:center;box-shadow:0 4px 20px var(--shadow-medium);cursor:pointer;transition:all .3s ease;border:2px solid transparent}.family-portal .upload-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px var(--shadow-strong);border-color:var(--bg-primary-solid)}.family-portal .upload-icon{font-size:3rem;margin-bottom:15px}.family-portal .upload-card h3{font-size:1.3rem;color:var(--text-primary);margin:0 0 10px;font-weight:600}.family-portal .upload-card p{color:var(--text-primary);margin:0;font-size:.95rem}.family-portal .update-filters{display:flex;gap:20px;margin-bottom:30px;padding:12px 16px;background:var(--bg-muted);border-radius:6px;flex-wrap:wrap}.family-portal .filter-group{display:flex;align-items:center;gap:10px;flex:1;min-width:200px}.family-portal .filter-group label{font-size:.95rem;font-weight:500;color:var(--text-primary);white-space:nowrap}.family-portal .filter-select{padding:10px 15px;border:2px solid var(--border-primary);border-radius:8px;font-size:.95rem;color:var(--text-primary);background:var(--bg-background);cursor:pointer;transition:border-color .3s ease;flex:1;min-width:150px}.family-portal .filter-select:focus{outline:none;border-color:var(--bg-primary-solid);box-shadow:0 0 0 3px var(--shadow-primary)}.family-portal .updates-list{display:flex;flex-direction:column;gap:20px}.family-portal .update-card{background:var(--bg-muted);border-radius:15px;padding:25px;transition:all .3s ease;border:2px solid transparent}.family-portal .update-card:hover{transform:translateY(-3px)}.family-portal .update-card.unread{background:var(--bg-primary-light)}.family-portal .update-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.family-portal .update-icon{font-size:1.5rem}.family-portal .update-info{flex:1}.family-portal .update-info h3{font-size:1.2rem;color:var(--text-primary);margin:0 0 5px;font-weight:600}.family-portal .update-time{color:var(--text-primary);font-size:.85rem}.family-portal .unread-badge{background:var(--bg-primary-solid);color:var(--text-on-gradient);padding:4px 10px;border-radius:15px;font-size:.8rem;font-weight:600}.family-portal .update-content{margin-bottom:20px}.family-portal .update-content p{color:var(--text-primary);line-height:1.6;margin:0 0 .5rem}.family-portal .update-content p:last-child{margin-bottom:0}.family-portal .update-content ul,.family-portal .update-content ol{margin:.5rem 0;padding-left:1.5rem}.family-portal .update-content li{margin:.25rem 0}.family-portal .update-actions{display:flex;gap:10px}.family-portal .engagement-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;padding-bottom:50px;border-bottom:1px solid var(--border-secondary)}.family-portal .stat-card{background:var(--bg-background);border-radius:8px;padding:25px;text-align:center;box-shadow:0 4px 20px var(--shadow-medium);transition:transform .3s ease}.family-portal .stat-card:hover{transform:translateY(-3px)}.family-portal .stat-card h3{font-size:1rem;color:var(--text-primary);margin:0 0 10px;font-weight:500}.family-portal .stat-number{font-size:2.5rem;color:var(--border-accent);margin:0;font-weight:700}.family-portal .engagement-timeline{background:var(--bg-background);border-radius:15px;padding:25px;box-shadow:0 4px 20px var(--shadow-medium)}.family-portal .engagement-timeline h3{font-size:1.5rem;color:var(--text-primary);margin:0 0 20px;font-weight:600}.family-portal .timeline{display:flex;flex-direction:column;gap:15px}.family-portal .timeline-item{display:flex;align-items:center;gap:15px;padding:15px;border-radius:10px;background:var(--bg-background);transition:background .3s ease}.family-portal .timeline-item:hover{background:#edf2f7}.family-portal .timeline-icon{font-size:1.5rem;min-width:40px;text-align:center}.family-portal .timeline-content h4{font-size:1.1rem;color:var(--text-primary);margin:0 0 5px;font-weight:600}.family-portal .timeline-content p{color:var(--text-primary);margin:0;font-size:.9rem}.family-portal .action-btn,.family-portal .family-group-management .action-btn{padding:10px 15px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease;font-size:.9rem}.family-portal .action-btn.primary{background:var(--bg-primary)!important;color:var(--text-on-gradient)}.family-portal .action-btn.primary:hover{background:var(--bg-primary-hover);transform:translateY(-1px)}.family-portal .outline-btn{padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.family-portal .action-btn.secondary,.family-portal .outline-btn,.family-portal .family-group-management .action-btn.secondary{background:var(--bg-background);color:var(--text-primary);border:1px solid var(--border-primary)}.family-portal .action-btn.secondary:hover,.family-portal .outline-btn:hover,.family-portal .outline-btn,.family-portal .family-group-management .action-btn.secondary:hover{background:var(--bg-primary-light);border-color:var(--border-accent)}.family-portal .memory-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.family-portal .memory-modal{background:var(--bg-background);border-radius:20px;max-width:800px!important;width:90%;max-height:95vh;box-shadow:0 20px 40px var(--shadow-strong);display:flex;flex-direction:column;overflow:hidden;height:fit-content}.family-portal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 30px;background:linear-gradient(45deg,#a5dee469 0,#a1f4bf45);flex-shrink:0}.family-portal .modal-header h3{font-size:1.3rem;margin:0;font-weight:600}.family-portal .close-btn,.family-portal .family-group-management .modal-close{border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;background:#fff;font-weight:600;color:var(--text-primary)}.family-portal .close-btn:hover,.family-portal .family-group-management .modal-close:hover{background:var(--bg-primary)}.family-portal .memory-details p{color:#2d3748;margin:0 0 10px;font-size:.95rem}.family-portal .memory-details strong{color:var(--text-primary)}.family-portal .form-group{margin-bottom:32px}.family-portal .form-group label{display:block;color:var(--text-primary);font-weight:500;font-size:1rem;margin-bottom:6px}.family-portal .memory-modal .form-input,.family-portal .memory-modal .form-textarea{width:100%;padding:12px;border:2px solid var(--border-primary);border-radius:6px;font-size:1rem;transition:border-color .3s ease;font-family:inherit}.family-portal .memory-modal .form-input:focus,.family-portal .memory-modal .form-textarea:focus{outline:none;border-color:var(--bg-primary-solid);box-shadow:0 0 0 3px var(--shadow-primary)}.family-portal .description-actions{display:flex;gap:8px;align-items:center}.family-portal .description-format-toggle{flex-shrink:0;padding:8px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-background);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.family-portal .description-format-toggle .format-toggle-icon{font-size:1.2rem;line-height:1;color:var(--text-primary)}.family-portal .description-format-toggle:hover{background:var(--bg-secondary);border-color:var(--border-secondary)}.family-portal .description-input-wrapper{display:flex;flex-direction:column;gap:8px;width:100%}.family-portal .description-input-wrapper>.rich-text-editor,.family-portal .description-input-wrapper>.form-textarea{width:100%}.family-portal .form-textarea{min-height:60px;max-height:100px;resize:none}.family-portal .description-enhance-btn{position:static;right:8px;display:flex;align-items:center;justify-content:center;padding:8px;background:var(--bg-background);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:6px;cursor:pointer;transition:all .2s ease;flex-shrink:0;z-index:10}.family-portal .description-enhance-btn:hover{background:var(--bg-secondary);border-color:var(--border-secondary)}.family-portal .memory-modal .recipients-list{display:flex;flex-direction:column;gap:2px;max-height:150px;overflow-y:auto;padding:6px;border-radius:8px;border:2px solid var(--border-primary)}.family-portal .memory-modal .recipient-checkbox{display:inline-flex;align-items:center;cursor:pointer;padding:8px 10px;border-radius:4px;transition:background .2s ease;width:100%;white-space:nowrap}.family-portal .recipient-checkbox:hover{background:var(--bg-primary-light);border:1px solid var(--bg-primary-solid)}.family-portal .recipient-checkbox input[type=checkbox]{width:20px;height:22px;cursor:pointer;accent-color:var(--bg-primary-solid);margin:0 14px 0 0;flex-shrink:0;vertical-align:middle}.family-portal .recipient-checkbox span{vertical-align:middle;display:inline-block}.family-portal .memory-modal .modal-content{flex:0 1 auto;overflow:scroll;padding:30px;min-height:0;max-width:none!important;margin:-2px 0 0;border-radius:0}.family-portal .modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:15px 30px;border-top:1px solid var(--border-primary);flex-shrink:0;background:var(--bg-background)}.family-portal .media-upload-info{margin-bottom:10px}.family-portal .upload-hint{color:var(--text-tertiary);font-size:.85rem;margin:0;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-primary)}.family-portal .media-upload-buttons{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap}.family-portal .memory-modal .attached-media-list{display:flex;flex-direction:column;gap:8px;margin-top:10px;overflow-y:auto}.family-portal .attached-media-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-muted);border-radius:6px;transition:all .2s ease}.family-portal .attached-media-item:hover{border-color:var(--border-secondary);box-shadow:0 2px 4px var(--shadow-light)}.family-portal .attached-media-item.upload-failed{border-color:var(--border-danger);background:var(--bg-danger)}.family-portal .media-info{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:1}.family-portal .media-info-main{display:flex;align-items:center;gap:24px;flex:1}.family-portal .media-details{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.family-portal .media-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.family-portal .media-order{color:var(--text-tertiary);font-size:.75rem;font-weight:600;background:#edf2f7;padding:2px 6px;border-radius:4px}.family-portal .media-description-wrapper{display:flex;align-items:center;gap:8px;width:100%}.family-portal .media-description-input{flex:1;padding:9px 8px;border:1px solid var(--border-primary);border-radius:4px;font-size:1rem;color:var(--text-primary);font-family:inherit}.family-portal .media-description-input:focus{outline:none;border-color:var(--bg-primary-solid);box-shadow:0 0 0 2px var(--shadow-primary)}.family-portal .media-enhance-btn{display:flex;align-items:center;justify-content:center;padding:4px 8px;background:linear-gradient(135deg,#764ba2,#f093fb);color:#fff;border-radius:4px;cursor:pointer;transition:all .3s ease;flex-shrink:0;width:36px;height:36px;border:none;font-weight:600}.family-portal .media-enhance-btn:hover{background:#764ba2;transform:translateY(-1px)}.family-portal .ai-icon{font-size:1.2rem}.family-portal .media-actions{display:flex;align-items:center;gap:12px;margin-top:4px}.family-portal .primary-select-btn{background:var(--bg-background);border:2px solid var(--border-primary);color:var(--text-primary);font-size:.85rem;font-weight:500;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s ease;font-family:inherit}.family-portal .primary-select-btn:hover{border-color:var(--bg-primary-solid);background:var(--bg-primary-light)}.family-portal .primary-select-btn.active{background:var(--bg-primary-light);border-color:var(--bg-primary-solid);color:var(--text-on-gradient)}.family-portal .primary-select-btn.active:hover{background:var(--bg-primary-hover);border-color:var(--bg-primary-solid-hover)}.family-portal .remove-media-btn-text{background:var(--bg-background);border:2px solid var(--bg-danger);color:var(--status-draft-text);font-size:.85rem;font-weight:500;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s ease;font-family:inherit}.family-portal .remove-media-btn-text:hover{background:var(--status-draft-bg);border-color:var(--border-danger)}.family-portal .upload-progress{display:flex;align-items:center;gap:8px;margin-top:4px}.family-portal .upload-progress-bar{flex:1;height:6px;background:var(--border-primary);border-radius:3px;overflow:hidden}.family-portal .upload-progress-fill{height:100%;background:var(--gradient-primary);transition:width .3s ease;border-radius:3px}.family-portal .upload-progress-text{font-size:.75rem;color:var(--text-tertiary);font-weight:600;min-width:35px}.family-portal .upload-error{color:var(--status-draft-text);font-size:.75rem;font-weight:500}.family-portal .media-type-icon{font-size:1.2rem;flex-shrink:0}.family-portal .media-thumbnail-preview{width:120px;height:120px;object-fit:cover;border-radius:6px;flex-shrink:0}.family-portal .media-filename{color:var(--text-primary);font-size:1rem;font-weight:500}.family-portal .primary-select-label{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.family-portal .primary-select-label input[type=radio]{cursor:pointer;accent-color:var(--bg-primary-solid)}.family-portal .primary-select-text{font-size:.85rem;color:var(--bg-primary-solid);font-weight:500}.family-portal .media-description-text{color:var(--text-tertiary);font-size:.8rem;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-portal .media-size{color:var(--text-tertiary);font-size:.85rem}.family-portal .remove-media-btn{background:var(--bg-danger);color:var(--status-draft-text);border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.family-portal .remove-media-btn:hover{background:#feb2b2}.family-portal .memory-media-preview{display:flex;flex-direction:column;gap:12px;margin-top:15px;padding-top:15px}.family-portal .other-photos-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:100%}.family-portal .primary-media{width:100%;flex-basis:100%;display:flex;justify-content:center}.family-portal .primary-media-container{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-radius:4px}.family-portal .media-thumbnail.primary{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block}.family-portal .media-thumbnail.primary video{object-fit:contain;background:#000}.family-portal .media-count-badge{position:absolute;top:10px;right:10px;background:#000000b3;color:var(--text-white);padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.family-portal .document-item{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg-secondary);border-radius:8px;border:2px solid var(--border-primary)}.family-portal .document-icon{font-size:1.5rem;flex-shrink:0}.family-portal .document-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.family-portal .document-name{font-size:.9rem;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-portal .document-description{font-size:.8rem;color:var(--text-tertiary);font-style:italic}.family-portal .media-item{display:flex;flex-direction:column;gap:5px;align-items:center;width:fit-content;max-width:100%}.family-portal .media-item.primary-media{align-items:center;width:100%}.family-portal .media-info-text{display:flex;flex-direction:column;gap:2px}.family-portal .media-thumbnail{max-width:100%;width:auto;height:100px;object-fit:cover;border-radius:8px;border:2px solid var(--border-primary);display:block;margin:0 auto}.family-portal .audio-item{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-secondary);border-radius:8px;border:2px solid var(--border-primary)}.family-portal .audio-icon{font-size:1.5rem;flex-shrink:0}.family-portal .audio-item audio{flex:1;height:32px}.family-portal .media-name{font-size:.75rem;color:var(--text-tertiary);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.family-portal .media-description{font-size:.75rem;color:var(--text-primary);font-style:italic;margin-top:4px;display:block}.family-portal .memory-engagement{margin-top:20px;padding-top:20px;border-top:2px solid var(--border-primary)}.family-portal .engagement-actions-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.family-portal .engagement-actions-left{display:flex;gap:10px;flex-wrap:wrap}.family-portal .engagement-actions-right{display:flex;align-items:center}.family-portal .like-action-small,.family-portal .listen-action-small,.family-portal .stop-action-small{padding:8px 16px;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.family-portal .like-action-small{background:#fef2f2;color:#dc2626;border:1px solid #db8d8d}.family-portal .like-action-small:hover{background:#fee2e2;border-color:#fca5a5}.family-portal .listen-action-small{border:1px solid var(--border-accent);background:var(--bg-background)}.family-portal .listen-action-small:hover{background:var(--bg-primary-light)}.family-portal .stop-action-small{background:#fef2f2;color:#dc2626;border:1px solid #db8d8d;animation:pulse 2s infinite}.family-portal .stop-action-small:hover{background:#fee2e2;border-color:#fca5a5;animation:none}.family-portal .engagement-analytics{margin-top:40px;border-bottom:1px solid var(--border-secondary);padding-bottom:50px}.family-portal .analytics-title{font-size:1.5rem;color:var(--text-primary);margin:0 0 16px;font-weight:600}.family-portal .analytics-list{display:flex;flex-direction:column;gap:15px}.family-portal .analytics-item{background:var(--bg-background);border-radius:12px;padding:20px;box-shadow:0 2px 10px var(--shadow-light);border:2px solid var(--border-primary);transition:all .2s ease}.family-portal .analytics-item:hover{border-color:var(--border-secondary);box-shadow:0 4px 15px var(--shadow-medium)}.family-portal .analytics-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.family-portal .analytics-item-header h4{font-size:1.1rem;color:var(--text-primary);margin:0;font-weight:600}.family-portal .analytics-score{font-size:.9rem;color:var(--bg-primary-solid);font-weight:600;padding:4px 12px;background:var(--bg-primary-light);border-radius:15px}.family-portal .analytics-breakdown{display:flex;gap:15px}.family-portal .analytics-metric{font-size:.85rem;color:var(--text-tertiary)}.family-portal .analytics-likes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:40px}.family-portal .analytics-like-item{background:var(--bg-background);border-radius:6px;padding:16px;box-shadow:0 2px 8px var(--shadow-light);transition:all .2s ease}.family-portal .analytics-like-item:hover{border-color:var(--border-secondary);box-shadow:0 4px 12px var(--shadow-medium)}.family-portal .analytics-like-header{display:grid;justify-content:space-between;align-items:center;margin-bottom:8px}.family-portal .analytics-like-author{font-weight:600;color:var(--text-primary);font-size:.95rem}.family-portal .analytics-like-time{font-size:.75rem;color:var(--text-tertiary)}.family-portal .analytics-like-memory{font-size:.85rem;color:var(--text-secondary)}.family-portal .analytics-like-memory strong{color:var(--text-primary)}.family-portal .family-group-management .section-header{border:none}.family-portal .family-group-management{background:transparent}.family-portal .family-group-management .section-header h2{font-size:1.5rem;margin-bottom:0;color:var(--text-primary)}.family-portal .family-group-management .section-header p{color:var(--text-secondary)}.family-portal .family-group-management .group-item.active{border-width:1px}.family-portal .family-group-management .group-item.active .group-name{font-weight:600}.family-portal .family-group-management .group-item.active .owner{background:var(--bg-background)}.family-portal.family-group-management .group-name{font-size:1rem}.family-portal .family-group-management .group-badge.owner{background:var(--bg-primary-light);font-size:.8rem}.family-portal .family-group-management .groups-sidebar,.family-portal .family-group-management .group-details{background:var(--bg-background)}.family-portal .family-group-management .action-btn{font-size:1rem}.family-portal .analytics-comments-list{display:flex;flex-direction:column;gap:15px}.family-portal .analytics-comment-item{background:var(--bg-background);border-radius:6px;padding:18px;box-shadow:0 2px 8px var(--shadow-light);transition:all .2s ease}.family-portal .analytics-comment-item:hover{border-color:var(--border-secondary);box-shadow:0 4px 12px var(--shadow-medium)}.family-portal .analytics-comment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;gap:15px}.family-portal .analytics-comment-header>div:first-child{display:flex;gap:10px;align-items:center}.family-portal .analytics-comment-author{font-weight:600;font-size:1}.family-portal .analytics-comment-time{font-size:.75rem;color:var(--text-tertiary)}.family-portal .analytics-comment-memory{font-size:1rem}.family-portal .analytics-comment-memory strong{color:var(--text-primary)}.family-portal .analytics-comment-text{color:var(--text-primary);font-size:1;line-height:1.5;margin-top:8px}.family-portal .engagement-summary{display:flex;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-primary)}.family-portal .engagement-stat{flex:1;display:flex;align-items:center;justify-content:center}.family-portal .engagement-stat-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border:2px solid var(--border-primary);border-radius:10px;background:var(--bg-background);cursor:pointer;transition:all .2s ease;width:100%;font-size:.85rem}.family-portal .engagement-stat-display{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border:2px solid var(--border-primary);border-radius:10px;background:var(--bg-secondary);width:100%;font-size:.85rem}.family-portal .stat-icon{font-size:1.5rem;line-height:1}.family-portal .stat-count{font-size:1.3rem;font-weight:700;color:var(--text-primary);line-height:1}.family-portal .stat-label{font-size:.75rem;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.family-portal .like-stat-btn{border-color:#db8d8d;background:#fef2f2}.family-portal .like-stat-btn:hover{background:#fee2e2;border-color:#fca5a5;transform:translateY(-2px);box-shadow:0 4px 12px #dc262633}.family-portal .like-stat-btn .stat-icon{filter:grayscale(0)}.family-portal .like-stat-btn .stat-count{color:#dc2626}.family-portal .listen-stat-btn{border-color:#bfdbfe;background:#eff6ff}.family-portal .listen-stat-btn:hover{background:#dbeafe;border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 4px 12px #1e40af33}.family-portal .listen-stat-btn .stat-count{color:#1e40af}.family-portal .engagement-stat-btn.stop-btn{border-color:#db8d8d;background:#fef2f2;animation:pulse 2s infinite}.family-portal .engagement-stat-btn.stop-btn:hover{background:#fee2e2;border-color:#fca5a5;transform:translateY(-2px);animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.family-portal .engagement-section{margin-bottom:15px;padding:0}.family-portal .engagement-section-main{padding:26px}.family-portal .engagement-toggle-btn{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:20px;padding:6px 12px;font-size:.8rem;color:#475569;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;display:flex;align-items:center;gap:8px;box-shadow:0 1px 2px #0000000d}.family-portal .engagement-toggle-btn:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#cbd5e0;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.family-portal .engagement-toggle-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0000000d}.family-portal .engagement-show-btn{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#e2e8f0}.family-portal .engagement-show-btn:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#cbd5e0}.family-portal .engagement-counts{display:flex;align-items:center;gap:8px}.family-portal .count-item{display:flex;align-items:center;gap:4px}.family-portal .count-icon{font-size:.9rem;line-height:1}.family-portal .count-number{font-weight:600;font-size:.85rem}.family-portal .engagement-likes{margin-bottom:15px;background:var(--bg-secondary);border-radius:8px;padding:20px}.family-portal .engagement-header{color:var(--text-primary);font-size:.95rem;margin-bottom:10px}.family-portal .engagement-header strong{color:var(--text-primary);font-size:1rem}.family-portal .likes-list{display:flex;flex-wrap:wrap;gap:8px}.family-portal .like-item{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 6px;background:var(--bg-background);border-radius:15px;font-size:.85rem;color:var(--text-primary);border:1px solid var(--border-primary)}.family-portal .like-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-primary-solid);display:flex;align-items:center;justify-content:center}.family-portal .like-avatar img{width:100%;height:100%;object-fit:cover}.family-portal .like-author-name{font-weight:500}.family-portal .engagement-comments{display:flex;flex-direction:column;gap:0}.family-portal .comments-section-header{color:var(--text-primary);font-size:.95rem;margin-bottom:10px}.family-portal .comments-section-header strong{color:var(--text-primary);font-size:1rem}.family-portal .comments-list{display:flex;flex-direction:column;gap:12px}.family-portal .comment-item{display:flex;gap:12px;background:var(--bg-background);padding:12px 15px;border-radius:8px;transition:all .2s ease;border:1px solid var(--border-primary)}.family-portal .comment-item:hover{border-color:var(--border-secondary);box-shadow:0 2px 8px var(--shadow-light)}.family-portal .comment-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center}.family-portal .comment-avatar img{width:100%;height:100%;object-fit:cover}.family-portal .comment-avatar.carer-avatar{overflow:hidden;clip-path:polygon(0 0,50% 0,50% 100%,0 100%)}.family-portal .comment-avatar.carer-avatar img{width:200%;height:100%;object-fit:cover;object-position:left center}.family-portal .comment-content{flex:1;min-width:0}.family-portal .comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.family-portal .avatar-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;text-transform:uppercase}.family-portal .comment-author{font-weight:600;font-size:1rem}.family-portal .comment-time{font-size:.75rem;color:var(--text-tertiary)}.family-portal .comment-text{color:var(--text-primary);font-size:1rem;line-height:1.5;margin:0}.family-portal .comment-text p{margin:0 0 .5rem}.family-portal .comment-text p:last-child{margin-bottom:0}.family-portal .comment-text ul,.family-portal .comment-text ol{margin:.5rem 0;padding-left:1.5rem}.family-portal .comment-text li{margin:.25rem 0}.family-portal .analytics-comment-text p{margin:0 0 .5rem}.family-portal .analytics-comment-text p:last-child{margin-bottom:0}.family-portal .analytics-comment-text ul,.family-portal .analytics-comment-text ol{margin:.5rem 0;padding-left:1.5rem}.family-portal .analytics-comment-text li{margin:.25rem 0}.family-portal .comment-input-section{display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding:12px;border-radius:10px;flex-wrap:wrap}.family-portal .comment-input-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center}.family-portal .comment-input-avatar img{width:100%;height:100%;object-fit:cover}.family-portal .comment-input-wrapper{flex:1;display:flex;align-items:flex-start;gap:8px;position:relative}.family-portal .comment-input-section .comment-input{flex:1}.family-portal .comment-input{flex:1;width:100%;padding:10px 12px;border:2px solid var(--border-primary);border-radius:8px;font-size:.9rem;font-family:inherit;resize:vertical;transition:border-color .2s ease}.family-portal .comment-rich-text-editor{flex:1}.family-portal .comment-format-toggle{flex-shrink:0;padding:8px;border:1px solid var(--border-primary);border-radius:6px;background:var(--bg-background);cursor:pointer;transition:all .2s;align-self:flex-start;margin-top:2px;display:flex;align-items:center;justify-content:center}.family-portal .comment-format-toggle .format-toggle-icon{font-size:1.2rem;line-height:1;color:var(--text-primary)}.family-portal .comment-format-toggle:hover{background:var(--bg-secondary);border-color:var(--border-secondary)}.family-portal .comment-input:focus{outline:none;border-color:var(--bg-primary-solid);box-shadow:0 0 0 3px var(--shadow-primary)}.family-portal .comment-input-section .comment-submit-btn{align-self:flex-start;padding:8px 20px;background:var(--bg-primary);color:var(--text-on-gradient);border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.family-portal .comment-submit-btn:hover:not(:disabled){background:var(--bg-primary-hover);transform:translateY(-1px)}.family-portal .comment-submit-btn:disabled{background:var(--border-secondary);color:var(--border-tertiary);cursor:not-allowed}.family-portal .media-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;cursor:pointer}.family-portal .media-viewer-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;cursor:default}.family-portal .media-viewer-close{position:absolute;top:-40px;right:0;background:#fff3;color:var(--text-white);border:none;width:40px;height:40px;border-radius:50%;font-size:2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:2001}.family-portal .media-viewer-close:hover{background:#ffffff4d;transform:scale(1.1)}.family-portal .media-viewer-image{max-width:100%;max-height:75vh;object-fit:contain;border-radius:10px;box-shadow:0 10px 40px #00000080}.family-portal .media-viewer-video{max-width:100%;max-height:75vh;border-radius:10px;box-shadow:0 10px 40px #00000080}.family-portal .media-viewer-info{margin-top:20px;background:#ffffff1a;padding:15px 20px;border-radius:10px;text-align:center;color:var(--text-white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.family-portal .media-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.family-portal .media-viewer-info h3{margin:0;font-size:1.2rem;color:var(--text-white);flex:1;text-align:left}.family-portal .media-viewer-counter{background:#fff3;padding:4px 12px;border-radius:15px;font-size:.85rem;font-weight:600;white-space:nowrap}.family-portal .media-viewer-info p{margin:5px 0;color:#ffffffe6;font-size:.95rem}.family-portal .media-viewer-size{color:#ffffffb3!important;font-size:.85rem!important}.family-portal .media-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);background:#fff3;color:var(--text-white);border:none;width:50px;height:50px;border-radius:50%;font-size:2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:2002;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.family-portal .media-viewer-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.family-portal .media-viewer-prev{left:20px}.family-portal .media-viewer-next{right:20px}.family-portal .media-viewer-audio{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px}.family-portal .audio-icon-large{font-size:4rem}.family-portal .media-viewer-audio audio{width:100%;max-width:500px}.family-portal .media-viewer-document{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px;text-align:center}.family-portal .document-icon-large{font-size:4rem}.family-portal .media-viewer-document p{color:var(--text-white);font-size:1.2rem;margin:0}.family-portal .clickable-media{cursor:pointer;transition:transform .2s ease,opacity .2s ease}.family-portal .clickable-media:hover{transform:scale(1.05);opacity:.9}.family-portal .my-family-section{background:var(--bg-background);padding:30px;max-width:100%;margin:0 auto}.family-portal .my-family-header{margin-bottom:30px;padding-bottom:20px;border-bottom:3px solid var(--bg-primary)}.family-portal .my-family-header h2{font-size:2rem;color:var(--text-primary);margin:0 0 10px;font-weight:600}.family-portal .my-family-header p{color:var(--text-tertiary);margin:0;font-size:1.1rem}.family-portal .family-members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-top:20px}.family-portal .family-member-card{background:var(--bg-secondary);border-radius:12px;padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 2px 8px var(--shadow-light);transition:all .3s ease;border:2px solid transparent}.family-portal .family-member-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px var(--shadow-primary);border-color:var(--bg-primary-solid)}.family-portal .family-member-avatar{width:100px;height:100px;border-radius:50%;margin-bottom:15px;overflow:hidden;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px var(--shadow-primary)}.family-portal .family-member-avatar img{width:100%;height:100%;object-fit:cover}.family-portal .family-member-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;color:var(--text-white)}.family-portal .family-member-info{width:100%}.family-portal .family-member-name{font-size:1.3rem;color:var(--text-primary);margin:0 0 8px;font-weight:600}.family-portal .family-member-role{font-size:.9rem;color:var(--bg-primary-solid);margin:0 0 4px;font-weight:500}@media (max-width: 768px){.family-portal .family-header{flex-direction:row;align-items:center;gap:0}.family-portal .user-menu-trigger{padding:10px 20px}.family-portal .user-info-inline{display:none}.family-portal .tether-logo{height:40px}.family-portal .header-content h1{font-size:1.8rem}.family-portal .portal-nav{padding:0 20px;overflow-x:auto}.family-portal .nav-tab{padding:15px 20px;white-space:nowrap}.family-portal .memories-section,.family-portal .upload-section,.family-portal .updates-section,.family-portal .engagement-section{padding:20px}.family-portal .memories-grid,.family-portal .upload-options{grid-template-columns:1fr}.family-portal .engagement-stats{grid-template-columns:repeat(2,1fr)}.family-portal .update-actions{flex-direction:column}.family-portal .action-btn{width:100%}}@media (max-width: 480px){.family-portal .engagement-stats{grid-template-columns:1fr}.family-portal .timeline-item{flex-direction:column;align-items:flex-start;gap:10px}.family-portal .memory-modal{margin:10px;width:95%;max-height:95vh}.family-portal .modal-header{padding:20px 20px 15px}.family-portal .modal-content{padding:20px;margin:-2px 0 0;border-radius:0}.family-portal .modal-actions{padding:15px 20px}.family-portal .family-members-grid{grid-template-columns:1fr}}.family-group-management{background:#fff;padding:30px;margin:0 auto}.family-group-management .section-header{margin-bottom:30px;padding-bottom:20px;border-bottom:3px solid #1fd1e4}.family-group-management .section-header h2{font-size:2rem;color:#2d3748;margin:0 0 10px;font-weight:600}.family-group-management .section-header p{color:#718096;margin:0;font-size:1.1rem}.family-group-management .header-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px}.family-group-management .family-groups-layout{display:grid;grid-template-columns:300px 1fr;gap:30px;margin-top:20px}.family-group-management .groups-sidebar{background:#f7fafc;border-radius:12px;padding:20px;height:fit-content}.family-group-management .groups-sidebar h3{font-size:1.2rem;color:#2d3748;margin:0 0 20px;font-weight:600}.family-group-management .groups-section{margin-bottom:24px}.family-group-management .groups-section h4{font-size:.9rem;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-weight:600}.family-group-management .group-item{background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:12px 16px;margin-bottom:8px;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center}.family-group-management .group-item:hover{border-color:#1fd1e4;background:#e0f7f5}.family-group-management .group-item.active{border-color:#1fd1e4;background:#d0f2ed}.family-group-management .group-name{font-weight:500;color:#2d3748;font-size:.95rem;flex:1}.family-group-management .group-badge{font-size:.75rem;padding:4px 8px;border-radius:4px;font-weight:600;text-transform:uppercase}.family-group-management .group-badge.owner{background:var(--bg-primary);color:#000}.family-group-management .group-badge.member{background:#e2e8f0;color:#4a5568}.family-group-management .group-details{background:#f7fafc;border-radius:12px;padding:30px}.family-group-management .group-details.empty{display:flex;align-items:center;justify-content:center;min-height:300px}.family-group-management .group-details-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e2e8f0}.family-group-management .group-details-header h3{font-size:1.8rem;color:#2d3748;margin:0 0 8px;font-weight:600}.family-group-management .owner-note{color:#718096;font-size:.9rem;margin:0}.family-group-management .group-actions{display:flex;gap:12px}.family-group-management .members-section h4{font-size:1.1rem;color:#2d3748;margin:0 0 20px;font-weight:600}.family-group-management .members-list{display:flex;flex-direction:column;gap:12px}.family-group-management .member-item{background:#fff;border-radius:8px;padding:16px;display:flex;align-items:center;gap:16px;border:1px solid #e2e8f0;transition:all .2s}.family-group-management .member-item:hover{box-shadow:0 2px 8px #0000000d}.family-group-management .member-avatar{width:50px;height:50px;border-radius:50%;overflow:hidden;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.family-group-management .member-avatar img{width:100%;height:100%;object-fit:cover}.family-group-management .member-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600}.family-group-management .member-info{flex:1}.family-group-management .member-name{font-size:1rem;font-weight:600;color:#2d3748;margin-bottom:4px}.family-group-management .member-role{font-size:.85rem;color:#718096}.family-group-management .remove-btn{background:#fed7d7;color:#c53030;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.family-group-management .remove-btn:hover{background:#feb2b2;transform:scale(1.1)}.family-group-management .empty-state{text-align:center;padding:60px 20px;color:#718096}.family-group-management .empty-state p{font-size:1.1rem;margin:0}.family-group-management .create-group-card{background:#f7fafc;border-radius:12px;padding:30px;max-width:500px;margin:30px auto 0}.family-group-management .form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.family-group-management .form-group label{font-size:14px;font-weight:500;color:#4a5568}.family-group-management .form-input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;transition:all .2s;outline:none}.family-group-management .form-input:focus{border-color:#1fd1e4;box-shadow:0 0 0 3px #17bbad33}.family-group-management .form-hint{font-size:.85rem;color:#718096;margin:4px 0 0}.family-group-management .action-btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.family-group-management .action-btn.primary{background:linear-gradient(45deg,#1fd1e4 30%,#39ef7f);color:#000}.family-group-management .action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #17bbad4d}.family-group-management .action-btn.primary:active{transform:translateY(0)}.family-group-management .action-btn.secondary{background:#e2e8f0;color:#4a5568}.family-group-management .action-btn.secondary:hover{background:#cbd5e0}.family-group-management .action-btn.secondary:active{transform:translateY(0)}.family-group-management .error-message{background:#fee;color:#c33;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.family-group-management .success-message{background:#d4edda;color:#155724;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.family-group-management .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.family-group-management .modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.family-group-management .modal-header{display:flex;justify-content:space-between;align-items:center;padding:30px 30px 20px;border-bottom:2px solid #e2e8f0;flex-shrink:0}.family-group-management .modal-header h3{font-size:1.3rem;color:#2d3748;margin:0;font-weight:600}.family-group-management .modal-close{background:#e53e3e;color:#fff;border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.family-group-management .modal-close:hover{background:#c53030;transform:scale(1.1)}.family-group-management .modal-content form{flex:1;overflow-y:auto;padding:30px;min-height:0;display:flex;flex-direction:column}.family-group-management .modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:20px 30px;border-top:2px solid #e2e8f0;flex-shrink:0;background:#fff;margin-top:auto}@media (max-width: 968px){.family-group-management .family-groups-layout{grid-template-columns:1fr}.family-group-management .groups-sidebar{order:2}.family-group-management .group-details{order:1}}.carer-dashboard{min-height:100vh;background:linear-gradient(135deg,#f7fafc,#edf2f7);padding:20px;font-family:Inter,sans-serif}.carer-dashboard .carer-header{background:#fff;border-radius:15px;padding:25px;margin-bottom:25px;box-shadow:0 4px 20px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.carer-dashboard .carer-header h1{font-size:2.2rem;color:#2d3748;margin:0;font-weight:600}.carer-dashboard .carer-header p{font-size:1.1rem;color:#2d3748;margin:5px 0 0}.carer-dashboard .carer-info{display:flex;align-items:center;gap:15px}.carer-dashboard .carer-info span{color:#2d3748;font-weight:500}.carer-dashboard .logout-btn{background:indigo;color:#fff;border:none;padding:8px 16px;border-radius:8px;font-weight:500;cursor:pointer;transition:background .3s ease}.carer-dashboard .logout-btn:hover{background:#6a5acd}.carer-dashboard .notifications-panel{background:#fff;border-radius:15px;padding:25px;margin-bottom:25px;box-shadow:0 4px 20px #0000001a}.carer-dashboard .notifications-panel h2{font-size:1.5rem;color:#2d3748;margin-bottom:20px;font-weight:600}.carer-dashboard .notifications-list{display:flex;flex-direction:column;gap:15px}.carer-dashboard .notification-item{display:flex;align-items:center;gap:15px;padding:15px;border-radius:10px;border:2px solid #E6E6FA;transition:all .3s ease}.carer-dashboard .resident-login-section{background:#fff;border-radius:15px;padding:25px;margin-bottom:25px;box-shadow:0 4px 20px #0000001a;border:2px solid #E6E6FA}.carer-dashboard .resident-login-section h2{color:indigo;font-size:1.8rem;margin:0 0 10px;font-weight:600}.carer-dashboard .resident-login-section p{color:#2d3748;margin:0 0 20px;font-size:1rem}.carer-dashboard .resident-login-form{display:flex;align-items:end;gap:15px;flex-wrap:wrap}.carer-dashboard .login-input-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.carer-dashboard .login-input-group label{color:indigo;font-weight:600;font-size:.95rem}.carer-dashboard .resident-id-input{padding:12px 16px;border:2px solid #E6E6FA;border-radius:8px;font-size:1rem;transition:border-color .3s ease;background:#fff}.carer-dashboard .resident-id-input:focus{outline:none;border-color:indigo}.carer-dashboard .resident-id-input::placeholder{color:#a0aec0}.carer-dashboard .resident-login-success{background:#e6e6fa;border:2px solid #6A5ACD;border-radius:10px;padding:20px;margin-top:20px}.carer-dashboard .resident-login-success p{color:indigo;margin:0 0 10px;font-weight:500}.carer-dashboard .resident-login-success p:last-of-type{margin-bottom:15px}.carer-dashboard .notification-item.unread{background:#e6e6fa;border-color:#6a5acd}.carer-dashboard .notification-item:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 15px #0000001a}.carer-dashboard .notification-icon{font-size:1.5rem;min-width:40px;text-align:center}.carer-dashboard .notification-content{flex:1}.carer-dashboard .notification-content h4{font-size:1.1rem;color:#2d3748;margin:0 0 5px;font-weight:600}.carer-dashboard .notification-content p{color:#2d3748;margin:0 0 5px;font-size:.95rem}.carer-dashboard .notification-time{color:#2d3748;font-size:.85rem}.carer-dashboard .notification-actions{display:flex;gap:10px}.carer-dashboard .residents-section{background:#fff;border-radius:15px;padding:25px;margin-bottom:25px;box-shadow:0 4px 20px #0000001a}.carer-dashboard .residents-section h2{font-size:1.5rem;color:#2d3748;margin-bottom:20px;font-weight:600}.carer-dashboard .residents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px}.carer-dashboard .resident-card{border:2px solid #E6E6FA;border-radius:15px;padding:20px;transition:all .3s ease;background:#fff}.carer-dashboard .resident-card:hover{transform:translateY(-3px);box-shadow:0 6px 25px #0000001a}.carer-dashboard .resident-card.selected{border-color:indigo;background:#e6e6fa}.carer-dashboard .resident-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.carer-dashboard .resident-info h3{font-size:1.2rem;color:#2d3748;margin:0 0 5px;font-weight:600}.carer-dashboard .resident-info p{color:#2d3748;margin:0;font-size:.9rem}.carer-dashboard .resident-status{display:flex;align-items:center;gap:8px}.carer-dashboard .status-indicator{width:12px;height:12px;border-radius:50%}.carer-dashboard .status-text{font-size:.85rem;color:#2d3748;text-transform:capitalize}.carer-dashboard .resident-details{margin-bottom:20px}.carer-dashboard .detail-item{display:flex;justify-content:space-between;margin-bottom:8px}.carer-dashboard .detail-label{color:#2d3748;font-size:.9rem}.carer-dashboard .detail-value{color:#2d3748;font-size:.9rem;font-weight:500}.carer-dashboard .new-content-badge{background:indigo;color:#fff;padding:5px 10px;border-radius:15px;font-size:.8rem;font-weight:500;margin-top:10px;display:inline-block}.carer-dashboard .resident-actions{display:flex;flex-direction:column;gap:10px}.carer-dashboard .action-btn{padding:10px 15px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease;font-size:.9rem}.carer-dashboard .action-btn.primary{background:indigo;color:#fff}.carer-dashboard .action-btn.primary:hover{background:#6a5acd;transform:translateY(-1px)}.carer-dashboard .action-btn.secondary{background:#fff;color:#2d3748;border:1px solid #e2e8f0}.carer-dashboard .action-btn.secondary:hover{background:#edf2f7;border-color:#cbd5e0}.carer-dashboard .assist-mode-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.carer-dashboard .assist-mode-panel{background:#fff;border-radius:20px;padding:30px;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.carer-dashboard .assist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #e2e8f0}.carer-dashboard .assist-header h2{font-size:1.5rem;color:#2d3748;margin:0;font-weight:600}.carer-dashboard .assist-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:25px}.carer-dashboard .assist-action-btn{background:linear-gradient(135deg,indigo,#6a5acd);color:#fff;border:none;padding:15px;border-radius:10px;font-weight:500;cursor:pointer;transition:all .3s ease;font-size:.95rem}.carer-dashboard .assist-action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea4d}.carer-dashboard .assist-notes h3{font-size:1.2rem;color:#2d3748;margin-bottom:15px;font-weight:600}.carer-dashboard .notes-textarea{width:100%;min-height:100px;padding:15px;border:2px solid #E6E6FA;border-radius:10px;font-family:inherit;font-size:.95rem;resize:vertical;transition:border-color .3s ease}.carer-dashboard .notes-textarea:focus{outline:none;border-color:indigo}.carer-dashboard .quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.carer-dashboard .stat-card{background:#fff;border-radius:15px;padding:25px;text-align:center;box-shadow:0 4px 20px #0000001a;transition:transform .3s ease}.carer-dashboard .stat-card:hover{transform:translateY(-3px)}.carer-dashboard .stat-card h3{font-size:1rem;color:#2d3748;margin:0 0 10px;font-weight:500}.carer-dashboard .stat-number{font-size:2.5rem;color:indigo;margin:0;font-weight:700}@media (max-width: 768px){.carer-dashboard{padding:15px}.carer-dashboard .carer-header{flex-direction:column;align-items:flex-start}.carer-dashboard .carer-header h1{font-size:1.8rem}.carer-dashboard .residents-grid{grid-template-columns:1fr}.carer-dashboard .notification-item{flex-direction:column;align-items:flex-start;gap:10px}.carer-dashboard .notification-actions{width:100%;justify-content:stretch}.carer-dashboard .notification-actions .action-btn{flex:1}.carer-dashboard .assist-mode-panel{margin:10px;padding:20px}.carer-dashboard .assist-actions,.carer-dashboard .quick-stats{grid-template-columns:1fr}}@media (max-width: 480px){.carer-dashboard .resident-actions{gap:8px}.carer-dashboard .action-btn{padding:12px 15px;font-size:.9rem}.carer-dashboard .stat-number{font-size:2rem}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(45deg,#59ddeb 0,#5ce78f);padding:20px;font-family:Inter,sans-serif}.login-container.admin-route{background:linear-gradient(45deg,#fb8daf,#efe36f 112%)}.login-container.resident-route{background-image:linear-gradient(to right,#0575e6,#021b79 90%)}.login-container .login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px;width:100%;max-width:500px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-container .login-header{text-align:center;margin-bottom:32px}.login-container .login-header h1{font-size:32px;color:#10978d;margin:0 0 8px;font-weight:600;white-space:nowrap}.login-container.admin-route .login-header h1{color:#924158}.login-container.resident-route .login-header h1{color:#021b79}.login-container .login-header p{color:#262c37;font-size:14px;margin:0}.login-container .login-methods{width:100%}.login-container .login-divider{display:flex;align-items:center;margin:24px 0;text-align:center}.login-container .login-divider:before,.login-container .login-divider:after{content:"";flex:1;border-bottom:1px solid #e2e8f0}.login-container .login-divider span{padding:0 16px;color:#262c37;font-size:14px}.login-container .login-form{display:flex;flex-direction:column;gap:20px}.login-container .form-group{display:flex;flex-direction:column;gap:8px}.login-container .form-group label{font-size:14px;font-weight:500;color:#262c37}.login-container .form-input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;transition:all .2s;outline:none}.login-container .form-input:focus{border-color:#1fd1e4;box-shadow:0 0 0 3px #667eea1a}.login-container.admin-route .form-input:focus{border-color:#df7897;box-shadow:0 0 0 3px #8b75001a}.login-container.resident-route .form-input:focus{border-color:#0d40a5}.login-container .login-button{padding:14px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.login-container .login-button.primary{background:linear-gradient(45deg,#59ddeb 0,#5ce78f);color:#000}.login-container .login-button.primary:hover{transform:translateY(-2px);background-position:right center;background-size:200% auto}.login-container.admin-route .login-button.primary{background:linear-gradient(45deg,#fb8daf,#efe36f 112%);color:#000}.login-container.admin-route .login-button.primary:hover{background-position:right center;background-size:200% auto}.login-container.resident-route .login-button.primary{background-image:linear-gradient(to right,#0575e6,#021b79 90%);color:#fff}.login-container .login-button.primary:active{transform:translateY(0)}.login-container .google-login-section{display:flex;flex-direction:column;align-items:center}.login-container .google-signin-button{display:flex;align-items:center;gap:12px;padding:14px 24px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;width:100%;justify-content:center}.login-container .google-signin-button:hover{border-color:#4a5568;background:#f8f9fa;box-shadow:0 4px 12px #4285f426}.login-container .google-signin-button:active{transform:scale(.98)}.login-container .google-icon{width:20px;height:20px}.login-container .google-hint{font-size:13px;color:#262c37;text-align:center;margin:0}.login-container .login-footer{margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0;text-align:center;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.login-container .home-link{font-weight:600}.login-container .tether-route-link{background:none;border:none;color:#00534d;cursor:pointer;font-size:14px;text-decoration:underline;padding:8px;transition:color .2s;font-family:inherit}.login-container .tether-route-link:hover{color:#043034}.login-container.admin-route .tether-route-link,.login-container.admin-route .tether-route-link:hover{color:#924158}.login-container.resident-route .tether-route-link,.login-container.resident-route .tether-route-link:hover{color:#021b79}.login-container .register-link{color:#043034;transition:color .2s}.login-container .register-link:hover{color:#043034}.login-container.resident-route .register-link,.login-container.resident-route .register-link:hover{color:#021b79}@media (max-width: 480px){.login-container .login-card{padding:24px}.login-container .login-header h1{font-size:24px;white-space:nowrap}}.admin-portal{--bg-background: #FFFFFF;--bg-secondary: #f7fafc;--bg-muted: #f0f4f8;--bg-card: #FFFFFF;--bg-hover: #f7fafc;--bg-active: #2d3748;--bg-danger: #fed7d7;--bg-primary: linear-gradient(45deg, #fb8daf 0%, #efe36f 112%);--bg-primary-hover: linear-gradient(45deg, #e8618a 0%, #f5d72f 100%);--bg-primary-light: #fef5e7;--bg-primary-solid: #fa709a;--bg-primary-solid-hover: #e8618a;--bg-primary-alt: #fee140;--text-primary: #2d3748;--text-secondary: #4a5568;--text-tertiary: #718096;--text-white: #FFFFFF;--text-on-gradient: #000000;--text-link: #fa709a;--text-link-hover: #e8618a;--border-primary: #e2e8f0;--border-secondary: #cbd5e0;--border-tertiary: #a0aec0;--border-danger: #fc8181;--border-accent: #fa709a;--status-draft-bg: #fee;--status-draft-text: #c53030;--status-published-bg: #c6f6d5;--status-published-text: #22543d;--status-pending-bg: #feebc8;--status-pending-text: #7c2d12;--status-declined-bg: #fed7d7;--status-declined-text: #742a2a;--shadow-light: rgba(0, 0, 0, .05);--shadow-medium: rgba(0, 0, 0, .1);--shadow-strong: rgba(0, 0, 0, .15);--shadow-primary: rgba(250, 112, 154, .3);--gradient-primary: linear-gradient(45deg, #fb8daf 0%, #efe36f 112%);--gradient-background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--modal-overlay: rgba(0, 0, 0, .5);--admin-primary: #8B7500;--admin-primary-hover: #A08B00;--admin-accent: #FAF8F0}.admin-portal{min-height:100vh;background:var(--gradient-background);font-family:Inter,sans-serif}.admin-portal .primary-btn{background-image:var(--bg-primary);color:var(--text-on-gradient);border:none;padding:6px 16px;border-radius:6px;cursor:pointer;transition:all .3s ease;box-shadow:none!important;line-height:1.5;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:1rem;font-weight:600}.admin-portal .primary-btn:hover{transform:translateY(-1px);box-shadow:none!important;background-position:right center;background-size:200% auto}.admin-portal .admin-header{background:var(--bg-background);padding:25px;box-shadow:0 4px 20px var(--shadow-medium);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px;position:relative}.admin-portal .header-content{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.admin-portal .tether-logo{max-height:40px;width:auto}.admin-portal .header-content-text{display:flex;flex-direction:column;gap:5px}.admin-portal .header-content-text h1{font-size:1.8rem;color:var(--text-primary);margin:0 0 5px;font-weight:600}.admin-portal .header-content p{color:var(--text-primary);margin:0;font-size:1.1rem}.admin-portal .admin-info{display:flex;align-items:center;gap:20px;margin-left:auto}.admin-portal .admin-info span{color:var(--text-primary);font-weight:500}.admin-portal .logout-btn{background:var(--bg-primary);color:var(--text-on-gradient);border:none;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;transition:background .3s ease;position:absolute;top:25px;right:25px}.admin-portal .logout-btn:hover{background:var(--bg-primary-hover);transform:translateY(-2px)}.admin-portal .admin-nav{padding:0 25px;display:flex;gap:16px;border-top:1px solid var(--border-primary);box-shadow:0 10px 20px var(--shadow-light)}.admin-portal .nav-tab{background:none;border:none;padding:20px 25px;cursor:pointer;font-size:18px;font-weight:500;color:var(--text-primary);border-bottom:3px solid transparent;transition:all .3s ease;position:relative}.admin-portal .nav-tab:hover{border-bottom-color:var(--border-dark)}.admin-portal .nav-tab.active{border-bottom-color:var(--border-dark);background:var(--bg-background);font-weight:700}.admin-portal .dashboard-section,.admin-portal .messages-section,.admin-portal .templates-section,.admin-portal .analytics-section,.admin-portal .settings-section{padding:30px;max-width:100%;margin:0 auto}.admin-portal .settings-layout,.admin-portal .communications-layout{display:flex;gap:24px;align-items:flex-start;min-height:calc(100vh - 200px)}.admin-portal .communications-nav-drawer{width:256px;min-width:256px;background:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a,0 4px 8px #00000014;overflow:hidden;flex-shrink:0;display:flex;flex-direction:column}.admin-portal .communications-content{flex:1;min-width:0;background:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a,0 4px 8px #00000014;padding:24px}.admin-portal .communications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-portal .communications-header h2{margin:0;font-size:1.75rem;color:var(--text-primary);font-weight:600}.admin-portal .settings-nav-drawer{width:256px;min-width:256px;background:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a,0 4px 8px #00000014;overflow:hidden;flex-shrink:0;display:flex;flex-direction:column}.admin-portal .nav-drawer-header{padding:24px 16px 16px;border-bottom:1px solid rgba(0,0,0,.12)}.admin-portal .nav-drawer-header h2{margin:0;font-size:20px;font-weight:500;color:#000000de;letter-spacing:.15px;line-height:24px}.admin-portal .nav-drawer-items{display:flex;flex-direction:column;padding:8px 0}.admin-portal .nav-drawer-item{display:flex;align-items:center;gap:16px;padding:12px 16px;border:none;background:transparent;cursor:pointer;transition:background-color .15s cubic-bezier(.4,0,.2,1);text-align:left;width:100%;font-family:Inter,sans-serif;position:relative;overflow:hidden}.admin-portal .nav-drawer-parent{justify-content:space-between}.admin-portal .nav-item-chevron{font-size:12px;color:#0000008a;transition:transform .15s cubic-bezier(.4,0,.2,1);flex-shrink:0}.admin-portal .nav-drawer-group{display:flex;flex-direction:column}.admin-portal .nav-drawer-sub-items{display:flex;flex-direction:column;padding-left:40px;background-color:#00000005;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:200px}}.admin-portal .nav-drawer-sub-item{padding:10px 16px;font-size:14px;font-weight:400}.admin-portal .nav-drawer-sub-item .nav-item-label{font-weight:400;color:#000000de}.admin-portal .nav-drawer-sub-item.active .nav-item-label{font-weight:500}.admin-portal .nav-drawer-sub-item.active{background-color:#8b750014}.admin-portal .nav-drawer-sub-item:before{display:none}.admin-portal .nav-drawer-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--bg-primary-solid);transform:scaleY(0);transition:transform .15s cubic-bezier(.4,0,.2,1)}.admin-portal .nav-drawer-item:hover{background-color:#0000000a}.admin-portal .nav-drawer-item:active{background-color:#00000014}.admin-portal .nav-drawer-item.active{background-color:#8b750014;color:var(--bg-primary-solid)}.admin-portal .nav-drawer-item.active:before{transform:scaleY(1)}.admin-portal .nav-item-icon{font-size:24px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-portal .nav-item-label{font-size:14px;font-weight:500;color:#000000de;letter-spacing:.1px;line-height:20px;flex:1}.admin-portal .nav-drawer-item.active .nav-item-label{font-weight:600}.admin-portal .settings-content{flex:1;min-width:0;background:#fff;border-radius:4px;box-shadow:0 2px 4px #0000001a,0 4px 8px #00000014;padding:24px}.admin-portal .settings-content .templates-section{padding:0;margin:0}.admin-portal .settings-content .templates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-portal .settings-content .templates-header h3{margin:0;font-size:24px;font-weight:500;color:#000000de;letter-spacing:0;line-height:32px}.admin-portal .settings-content .notification-header{margin-bottom:24px}.admin-portal .settings-content .notification-header h3{margin:0;font-size:24px;font-weight:500;color:#000000de;letter-spacing:0;line-height:32px}.admin-portal .settings-placeholder{padding:40px;text-align:center}.admin-portal .settings-placeholder h3{font-size:24px;font-weight:500;color:#000000de;margin:0 0 16px;letter-spacing:0;line-height:32px}.admin-portal .settings-placeholder p{font-size:14px;color:#0000008a;margin:0;line-height:20px}.admin-portal .general-settings-section{padding:0}.admin-portal .general-settings-header{margin-bottom:24px}.admin-portal .general-settings-header h3{margin:0;font-size:24px;font-weight:500;color:#000000de;letter-spacing:0;line-height:32px}.admin-portal .facility-settings-card{background:var(--bg-background);border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;margin-bottom:24px}.admin-portal .facility-settings-card h4{margin:0 0 8px;font-size:20px;font-weight:500;color:#000000de;letter-spacing:.15px;line-height:24px}.admin-portal .settings-description{font-size:14px;color:#0000008a;margin:0 0 24px;line-height:20px;letter-spacing:.25px}.admin-portal .form-actions{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid rgba(0,0,0,.12)}.admin-portal .dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-portal .dashboard-header h2{font-size:2rem;color:var(--text-primary);margin:0;font-weight:600}.admin-portal .compose-btn{background:var(--gradient-primary);color:var(--text-on-gradient);border:none;padding:12px 24px;border-radius:8px;font-weight:700;cursor:pointer;transition:all .3s ease;font-size:1rem}.admin-portal .compose-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--shadow-primary)}.admin-portal .metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.admin-portal .metric-card{background:var(--bg-background);border-radius:15px;padding:25px;box-shadow:0 4px 20px var(--shadow-medium);display:flex;align-items:center;gap:20px;transition:transform .3s ease}.admin-portal .metric-card.clickable{cursor:pointer}.admin-portal .metric-card.clickable:hover{transform:translateY(-5px);box-shadow:0 6px 25px var(--shadow-strong)}.admin-portal .metric-icon{font-size:2.5rem;min-width:60px;text-align:center}.admin-portal .metric-content h3{font-size:1rem;color:var(--text-primary);margin:0 0 5px;font-weight:500}.admin-portal .metric-number{font-size:2.2rem;color:var(--text-primary);margin:0;font-weight:700}.admin-portal .read-rates-section{background:var(--bg-background);border-radius:15px;padding:25px;margin-bottom:30px;box-shadow:0 4px 20px var(--shadow-medium)}.admin-portal .read-rates-section h3{font-size:1.5rem;color:var(--text-primary);margin:0 0 20px;font-weight:600}.admin-portal .read-rates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.admin-portal .read-rate-card{display:flex;align-items:center;gap:15px;padding:15px;border-radius:10px;background:var(--bg-background);transition:background .3s ease}.admin-portal .read-rate-card:hover{background:var(--bg-hover)}.admin-portal .rate-icon{font-size:1.5rem;min-width:40px;text-align:center}.admin-portal .rate-content h4{font-size:1rem;color:var(--text-primary);margin:0 0 5px;font-weight:600;text-transform:capitalize}.admin-portal .rate-number{font-size:1.5rem;color:var(--bg-primary-solid);margin:0;font-weight:700}.admin-portal .recent-activity{background:var(--bg-background);border-radius:15px;padding:25px;box-shadow:0 4px 20px var(--shadow-medium)}.admin-portal .recent-activity h3{font-size:1.5rem;color:var(--text-primary);margin:0 0 20px;font-weight:600}.admin-portal .activity-list{display:flex;flex-direction:column;gap:15px}.admin-portal .activity-item{display:flex;justify-content:space-between;align-items:center;padding:15px;border-radius:10px;background:var(--bg-background);transition:background .3s ease}.admin-portal .activity-item:hover{background:var(--bg-hover)}.admin-portal .activity-date{font-weight:600;color:var(--text-primary)}.admin-portal .activity-stats{display:flex;gap:20px;color:var(--text-primary);font-size:.9rem}.admin-portal .messages-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.admin-portal .messages-header h2{font-size:2rem;color:var(--text-primary);margin:0;font-weight:600}.admin-portal .message-actions{display:flex;gap:10px}.admin-portal .messages-list{display:flex;flex-direction:column;gap:20px}.admin-portal .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center;background:var(--bg-background);border-radius:15px;box-shadow:0 4px 20px var(--shadow-light)}.admin-portal .empty-state-icon{font-size:5rem;margin-bottom:20px;opacity:.6}.admin-portal .empty-state h3{font-size:1.75rem;color:var(--text-primary);margin:0 0 12px;font-weight:600}.admin-portal .empty-state p{font-size:1rem;color:var(--text-tertiary);margin:0 0 30px;max-width:500px;line-height:1.6}.admin-portal .empty-state .action-btn{margin-top:10px}.admin-portal .message-card{background:var(--bg-background);border-radius:15px;padding:25px;box-shadow:0 4px 20px var(--shadow-medium);transition:transform .3s ease}.admin-portal .message-card:hover{transform:translateY(-3px)}.admin-portal .message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.admin-portal .message-info{display:flex;align-items:center;gap:15px}.admin-portal .message-icon{font-size:1.5rem}.admin-portal .message-details h3{font-size:1.2rem;color:var(--text-primary);margin:0 0 5px;font-weight:600}.admin-portal .message-type{color:var(--text-primary);font-size:.9rem;text-transform:capitalize}.admin-portal .status-badge{color:var(--text-white);padding:4px 12px;border-radius:15px;font-size:.8rem;font-weight:600;text-transform:capitalize}.admin-portal .message-content{margin-bottom:20px}.admin-portal .message-content p{color:var(--text-primary);line-height:1.6;margin:0 0 .5rem}.admin-portal .message-content p:last-child{margin-bottom:0}.admin-portal .message-content ul,.admin-portal .message-content ol{margin:.5rem 0;padding-left:1.5rem}.admin-portal .message-content li{margin:.25rem 0}.admin-portal .message-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:20px;padding:15px;background:var(--bg-background);border-radius:10px}.admin-portal .stat-item{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.admin-portal .stat-label{color:var(--text-tertiary);font-size:.85rem;font-weight:500}.admin-portal .stat-value{color:var(--text-primary);font-weight:600;font-size:.95rem}.admin-portal .message-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-portal .templates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.admin-portal .templates-header h2,.admin-portal .templates-header h3{font-size:2rem;color:var(--text-primary);margin:0;font-weight:600}.admin-portal .templates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px}.admin-portal .template-card{background:var(--bg-background);border-radius:15px;padding:25px;box-shadow:0 4px 20px #0000001a;transition:transform .3s ease}.admin-portal .template-card:hover{transform:translateY(-3px)}.admin-portal .template-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.admin-portal .template-icon{font-size:1.5rem}.admin-portal .template-info h3{font-size:1.2rem;color:var(--text-primary);margin:0 0 5px;font-weight:600}.admin-portal .template-type{color:var(--text-primary);font-size:.9rem;text-transform:capitalize}.admin-portal .template-content{margin-bottom:20px}.admin-portal .template-content p{color:var(--text-primary);line-height:1.6;margin:0;font-style:italic}.admin-portal .template-stats{display:flex;justify-content:space-between;margin-bottom:20px;padding:10px;background:#fff;border-radius:8px}.admin-portal .template-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-portal .analytics-section h2{font-size:2rem;color:var(--text-primary);margin:0 0 30px;font-weight:600}.admin-portal .analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}.admin-portal .analytics-card{background:var(--bg-background);border-radius:15px;padding:25px;box-shadow:0 4px 20px #0000001a}.admin-portal .analytics-card h3{font-size:1.3rem;color:var(--text-primary);margin:0 0 20px;font-weight:600}.admin-portal .performance-chart{height:200px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;color:var(--text-primary);font-size:1.1rem}.admin-portal .engagement-metrics{display:flex;flex-direction:column;gap:15px}.admin-portal .engagement-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#fff;border-radius:8px}.admin-portal .engagement-value{font-weight:600;color:var(--status-declined-text)}.admin-portal .settings-section h2{font-size:2rem;color:var(--text-primary);margin:0 0 30px;font-weight:600}.admin-portal .settings-layout~h2{display:none}.admin-portal .notification-settings-section{margin-top:40px}.admin-portal .notification-settings-section h3{font-size:2rem;color:var(--text-primary);margin:0 0 30px;font-weight:600}.admin-portal .settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.admin-portal .setting-card{background:var(--bg-background);border-radius:15px;padding:25px;box-shadow:0 4px 20px #0000001a}.admin-portal .setting-card h3{font-size:1.3rem;color:var(--text-primary);margin:0 0 20px;font-weight:600}.admin-portal .setting-options{display:flex;flex-direction:column;gap:15px}.admin-portal .setting-option{display:flex;align-items:center;gap:10px;cursor:pointer}.admin-portal .setting-option input[type=checkbox]{width:18px;height:18px;accent-color:var(--bg-primary-solid)}.admin-portal .setting-option span{color:var(--text-primary);font-size:.95rem}.admin-portal .action-btn{padding:10px 15px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem;box-sizing:border-box;height:40px;display:inline-flex;align-items:center;justify-content:center;line-height:1}.admin-portal .action-btn.primary{background:var(--bg-primary)!important;color:var(--text-on-gradient)!important;border:1px solid transparent;box-sizing:border-box;font-weight:700}.admin-portal .action-btn.primary *{color:var(--text-on-gradient)!important;font-weight:700}.admin-portal .action-btn.primary:hover{background:var(--bg-primary-hover)!important;transform:translateY(-1px)}.admin-portal .action-btn.secondary{background:var(--bg-background)!important;color:var(--text-primary)!important;border:1px solid var(--border-primary);box-sizing:border-box}.admin-portal .action-btn.secondary *{color:var(--text-primary)!important}.admin-portal .action-btn.secondary:hover{background:var(--bg-hover)!important;border-color:var(--border-secondary)}.admin-portal .action-btn.danger{background:var(--bg-danger)!important;color:#c53030!important;border:1px solid var(--border-danger);font-weight:600}.admin-portal .action-btn.danger *{color:#c53030!important}.admin-portal .action-btn.danger:hover{background:#feb2b2!important;border-color:var(--border-danger);color:#991b1b!important}.admin-portal .action-btn.danger:hover *{color:#991b1b!important}.admin-portal .modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;overflow-y:auto}.admin-portal .modal{background:var(--bg-background);border-radius:20px;padding:0;max-width:800px!important;width:90%;max-height:calc(100vh - 40px);box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;overflow:hidden;margin:auto}.admin-portal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:15px 30px;border-bottom:2px solid var(--border-primary);flex-shrink:0;background:linear-gradient(45deg,#fedde7,#fff9d7)}.admin-portal .modal-header h3{font-size:1.3rem;color:var(--text-on-gradient);margin:0;font-weight:700}.admin-portal .close-btn{background:transparent!important;color:var(--text-on-gradient)!important;border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.admin-portal .close-btn:hover{background:#0000001a!important;color:var(--text-on-gradient)!important}.admin-portal .modal-content{flex:1;overflow-y:auto;padding:20px 30px 15px;min-height:0;max-width:none!important;margin:-2px 0 0;border-radius:0}.admin-portal .template-indicator{background:var(--gradient-primary);color:var(--text-on-gradient);padding:12px 16px;border-radius:0;margin-bottom:20px;font-size:14px;font-weight:600}.admin-portal .template-indicator strong{font-weight:700}.admin-portal .form-group{margin-bottom:12px}.admin-portal .form-group label{display:block;color:var(--text-primary);font-weight:500;font-size:.95rem}.admin-portal .form-input,.admin-portal .form-textarea,.admin-portal select.form-input{width:100%;padding:12px;border:2px solid var(--border-primary);border-radius:0;font-size:1rem;transition:border-color .3s ease;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}.admin-portal .form-input:focus,.admin-portal .form-textarea:focus,.admin-portal textarea:focus,.admin-portal input[type=text]:focus,.admin-portal input[type=email]:focus,.admin-portal input[type=date]:focus,.admin-portal input[type=time]:focus,.admin-portal select:focus{outline:none!important;border-color:var(--bg-primary-solid)!important;box-shadow:0 0 0 3px var(--shadow-primary)!important}.admin-portal .form-textarea{min-height:60px;max-height:100px;resize:none}.admin-portal .recipient-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding:10px;background:var(--bg-secondary);border-radius:0!important}.admin-portal .recipient-selection-actions{display:flex;gap:8px}.admin-portal .recipient-list{display:flex;flex-direction:column;gap:2px;max-height:150px;overflow-y:auto;padding:6px;background:var(--bg-secondary);border-radius:0;border:2px solid var(--border-primary)}.admin-portal .recipient-checkbox{display:flex;align-items:flex-start;cursor:pointer;padding:8px 10px;border-radius:0;transition:background .2s ease;width:100%}.admin-portal .recipient-checkbox:hover{background:var(--bg-background)}.admin-portal .recipient-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--bg-primary-solid);margin:0 14px 0 0;flex-shrink:0;align-self:flex-start}.admin-portal .recipient-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0;margin-top:0;padding-top:0}.admin-portal .recipient-name-row{display:flex;align-items:center;line-height:18px;min-height:18px;margin:0;padding:0}.admin-portal .recipient-name{color:var(--text-primary);font-size:.95rem;font-weight:500;line-height:1.2;margin:0;padding:0}.admin-portal .recipient-email{color:var(--text-tertiary);font-size:.85rem;line-height:1.4;margin-top:2px}.admin-portal .clickable-recipient:hover{color:var(--bg-primary-solid)}.admin-portal .recipient-details-list{max-height:400px;overflow-y:auto}.admin-portal .recipient-detail-item{padding:15px;background:var(--bg-secondary);border-radius:8px;margin-bottom:10px;border-left:3px solid var(--bg-primary-solid)}.admin-portal .modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:15px 30px;border-top:2px solid var(--border-primary);flex-shrink:0;background:var(--bg-background)}.admin-portal .message-detail-section{display:flex;flex-direction:column;gap:20px}.admin-portal .detail-item{display:flex;flex-direction:column;gap:8px}.admin-portal .detail-item label{font-weight:600;color:var(--text-primary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.admin-portal .detail-item p{color:var(--text-secondary);margin:0;font-size:1rem;display:flex;align-items:center;gap:8px}.admin-portal .detail-content{background:var(--bg-secondary);padding:16px;border-radius:8px;line-height:1.6;word-wrap:break-word}.admin-portal .detail-content p{margin:0 0 .5rem}.admin-portal .detail-content p:last-child{margin-bottom:0}.admin-portal .detail-content ul,.admin-portal .detail-content ol{margin:.5rem 0;padding-left:1.5rem}.admin-portal .detail-content li{margin:.25rem 0}.admin-portal .detail-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:10px}.admin-portal .detail-stat{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--bg-secondary);border-radius:8px}.admin-portal .detail-stat label{font-size:.85rem;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.admin-portal .detail-stat span{font-size:1.1rem;color:var(--text-primary);font-weight:600}.admin-portal .toast{position:fixed;bottom:30px;right:30px;z-index:10000;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-portal .toast-content{background:linear-gradient(135deg,#48bb78,#38a169);color:var(--text-white);padding:16px 20px;border-radius:12px;box-shadow:0 8px 24px #48bb7866;display:flex;align-items:center;gap:12px;min-width:300px;max-width:500px}.admin-portal .toast-icon{background:#fff3;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.admin-portal .toast-message{font-size:.95rem;font-weight:500;line-height:1.4}.admin-portal .residents-section{padding:30px;max-width:100%;margin:0 auto}.admin-portal .residents-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.admin-portal .residents-header .action-btn{width:180px;height:40px;flex-shrink:0}.admin-portal .residents-header h2{font-size:2rem;color:var(--text-primary);margin:0;font-weight:600}.admin-portal .residents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.admin-portal .resident-card{background:var(--bg-background);border-radius:15px;padding:25px;box-shadow:0 4px 20px #0000001a;transition:transform .3s ease;position:relative;display:flex;flex-direction:column;min-height:280px}.admin-portal .resident-card:hover{transform:translateY(-3px)}.admin-portal .resident-header{display:flex;flex-direction:column;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--border-primary);flex-shrink:0}.admin-portal .resident-actions{margin-top:20px;padding-top:15px;border-top:1px solid var(--border-primary);display:flex;justify-content:flex-start;gap:10px;flex-shrink:0}.admin-portal .resident-delete-btn{background:transparent;border:none;padding:8px;cursor:pointer;color:var(--text-tertiary);transition:color .2s ease;display:flex;align-items:center;justify-content:center;border-radius:6px}.admin-portal .resident-delete-btn:hover{color:#e53e3e;background:var(--bg-danger)}.admin-portal .resident-name h3{font-size:1.3rem;color:var(--text-primary);margin:0 0 6px;font-weight:600}.admin-portal .resident-email{color:var(--text-tertiary);font-size:.9rem;margin:0}.admin-portal .resident-age{color:var(--bg-primary-solid);font-size:.9rem;margin:6px 0 0;font-weight:600}.admin-portal .next-of-kin-section{margin-top:15px;flex-grow:1}.admin-portal .next-of-kin-section h4{font-size:.9rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-weight:600;display:flex;align-items:center;justify-content:space-between}.admin-portal .next-of-kin-email-link{color:var(--text-tertiary);text-decoration:none;display:inline-flex;align-items:center;transition:all .2s ease;padding:6px;border-radius:4px}.admin-portal .next-of-kin-email-link:hover{color:var(--bg-primary-solid);background:#f5f0e0}.admin-portal .next-of-kin-info{background:var(--bg-secondary);padding:12px;border-radius:8px}.admin-portal .next-of-kin-info p{margin:4px 0;color:var(--text-primary);font-size:.95rem}.admin-portal .next-of-kin-email{color:#718096!important;font-size:.85rem!important}.admin-portal .view-toggle{display:flex;gap:5px;background:var(--bg-background);padding:4px;border-radius:8px;border:1px solid var(--border-primary)}.admin-portal .view-toggle-btn{background:transparent;border:none;padding:8px;cursor:pointer;color:var(--text-tertiary);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.admin-portal .view-toggle-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.admin-portal .view-toggle-btn.active:hover{background:var(--bg-primary-solid-hover)}.admin-portal .residents-list{background:var(--bg-background);border-radius:15px;padding:20px;box-shadow:0 4px 20px #0000001a;overflow-x:auto}.admin-portal .residents-table{width:100%;border-collapse:collapse}.admin-portal .residents-table thead{background:var(--bg-secondary)}.admin-portal .residents-table th{padding:15px;text-align:left;font-weight:600;color:var(--text-primary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-primary)}.admin-portal .residents-table td{padding:15px;border-bottom:1px solid var(--border-primary);color:var(--text-primary);vertical-align:top}.admin-portal .residents-table tbody tr:hover{background:var(--bg-secondary)}.admin-portal .residents-table tbody tr:last-child td{border-bottom:none}.admin-portal .resident-email-link{color:var(--status-declined-text);text-decoration:none;transition:color .2s ease}.admin-portal .resident-email-link:hover{color:var(--bg-primary-solid-hover);text-decoration:underline}.admin-portal .list-next-of-kin{display:flex;flex-direction:column;gap:4px}.admin-portal .relationship-badge{color:var(--text-tertiary);font-size:.85rem;font-weight:400;margin-left:6px}.admin-portal .list-family-group{display:flex;flex-direction:column;gap:4px}.admin-portal .family-group-name{color:indigo;font-weight:500;font-size:.9rem}.admin-portal .family-group-status{font-size:.75rem;padding:2px 8px;border-radius:4px;display:inline-block;width:fit-content}.admin-portal .family-group-status.accepted{background:#c6f6d5;color:#22543d}.admin-portal .family-group-status.pending{background:#feebc8;color:#7c2d12}.admin-portal .family-group-status.declined{background:#fed7d7;color:#742a2a}.admin-portal .no-family-group{color:var(--text-tertiary);font-style:italic;font-size:.9rem}.admin-portal .list-resident-actions{display:flex;gap:8px;align-items:center}.admin-portal .messages-list-view{background:var(--bg-background);border-radius:15px;padding:20px;box-shadow:0 4px 20px #0000001a;overflow-x:auto}.admin-portal .messages-table{width:100%;border-collapse:collapse}.admin-portal .messages-table thead{background:var(--bg-secondary)}.admin-portal .messages-table th{padding:15px;text-align:left;font-weight:600;color:var(--text-primary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-primary)}.admin-portal .messages-table td{padding:15px;border-bottom:1px solid var(--border-primary);color:var(--text-primary);vertical-align:middle}.admin-portal .messages-table tbody tr:hover{background:var(--bg-secondary)}.admin-portal .messages-table tbody tr:last-child td{border-bottom:none}.admin-portal .messages-table .message-icon{font-size:1.2rem;margin-right:8px;vertical-align:middle}.admin-portal .messages-table .message-type-text{text-transform:capitalize;color:var(--text-secondary);font-size:1rem}.admin-portal .list-message-actions{display:flex;gap:8px;align-items:center}.admin-portal .message-delete-btn{background:transparent;border:none;color:#e53e3e;cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-weight:500}.admin-portal .message-delete-btn:hover{background:var(--bg-danger);color:#c53030}.admin-portal .view-toggle-group{display:flex;gap:4px;margin-right:12px;background:var(--bg-secondary);padding:4px;border-radius:8px}.admin-portal .view-toggle-btn{background:transparent;border:none;padding:8px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);transition:all .2s ease}.admin-portal .view-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-portal .view-toggle-btn.active{background:var(--bg-primary-solid);color:var(--text-white)}.admin-portal .activities-section{padding:0}.admin-portal .activity-card{background:var(--bg-background);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;border-left:4px solid var(--bg-primary-solid);transition:transform .2s ease,box-shadow .2s ease}.admin-portal .activity-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.admin-portal .activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.admin-portal .activity-date-time{display:flex;flex-direction:column;gap:4px}.admin-portal .activity-date{font-weight:600;color:var(--text-primary);font-size:1rem}.admin-portal .activity-time{color:var(--text-secondary);font-size:.9rem}.admin-portal .activity-delete-btn{background:transparent;border:none;color:#e53e3e;cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-weight:500}.admin-portal .activity-delete-btn:hover{background:var(--bg-danger);color:#c53030}.admin-portal .activity-description{margin-bottom:8px;color:var(--text-primary);font-size:1rem;line-height:1.5}.admin-portal .activity-location{color:var(--text-secondary);font-size:.9rem;display:flex;align-items:center;gap:6px}.admin-portal .daily-activities-list{display:flex;flex-direction:column;gap:24px}.admin-portal .daily-activities-list-view{background:var(--bg-background);border-radius:15px;padding:20px;box-shadow:0 4px 20px #0000001a;overflow-x:auto}.admin-portal .daily-activities-table{width:100%;border-collapse:collapse}.admin-portal .daily-activities-table thead{background:var(--bg-secondary)}.admin-portal .daily-activities-table th{padding:15px;text-align:left;font-weight:600;color:var(--text-primary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-primary)}.admin-portal .daily-activities-table td{padding:15px;border-bottom:1px solid var(--border-primary);color:var(--text-primary);vertical-align:middle}.admin-portal .daily-activity-row{cursor:pointer;transition:background-color .2s ease}.admin-portal .daily-activity-row.today-activity-row{background:#e6f3ff;border-left:4px solid #4B0082}.admin-portal .daily-activity-row.today-activity-row:hover{background:#d6e9f5}.admin-portal .daily-activity-row:hover{background:var(--bg-secondary)}.admin-portal .expand-toggle-btn{background:transparent;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--text-secondary)}.admin-portal .expand-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-portal .expand-icon{font-size:12px;transition:transform .2s ease}.admin-portal .activity-count-badge{background:var(--bg-primary-solid);color:var(--text-white);padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:500}.admin-portal .daily-activity-details-row{background:var(--bg-secondary)}.admin-portal .daily-activity-details-row td{padding:0;border-bottom:1px solid var(--border-primary)}.admin-portal .expanded-activities-list{padding:16px;display:flex;flex-direction:column;gap:12px}.admin-portal .activity-item-row{background:var(--bg-background);border-radius:8px;padding:16px;border-left:3px solid var(--bg-primary-solid);display:grid;grid-template-columns:120px 1fr auto 40px;gap:16px;align-items:start}.admin-portal .activity-item-time{font-weight:600;color:var(--bg-primary-solid);font-size:.95rem}.admin-portal .activity-item-description{color:var(--text-primary);font-size:.95rem}.admin-portal .activity-item-location{color:var(--text-secondary);font-size:.9rem;display:flex;align-items:center;gap:4px}.admin-portal .activity-item-actions{display:flex;align-items:center;justify-content:center}.admin-portal .activity-row-actions{display:flex;gap:8px;align-items:center}.admin-portal .activity-copy-btn{background:transparent;border:none;color:var(--bg-primary-solid);cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.admin-portal .activity-copy-btn:hover{background:#8b75001a;color:#6b5a00}.admin-portal .activity-edit-btn{background:transparent;border:none;color:var(--bg-primary-solid);cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.admin-portal .activity-edit-btn:hover{background:#8b75001a;color:#6b5a00}.admin-portal .activity-actions-group{display:flex;gap:10px;align-items:center}.admin-portal .daily-activity-card{background:var(--bg-background);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a;border-left:4px solid var(--bg-primary-solid)}.admin-portal .daily-activity-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--border-primary)}.admin-portal .daily-activity-date{display:flex;align-items:center;gap:12px}.admin-portal .activity-date-label{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.admin-portal .activity-count{font-size:.9rem;color:var(--text-tertiary);font-weight:400}.admin-portal .activities-list{display:flex;flex-direction:column;gap:16px}.admin-portal .activity-item{background:var(--bg-secondary);border-radius:8px;padding:16px;border-left:3px solid var(--bg-primary-solid)}.admin-portal .activity-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.admin-portal .activity-item-delete-btn{background:transparent;border:none;color:#e53e3e;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-weight:500}.admin-portal .activity-item-delete-btn:hover{background:var(--bg-danger);color:#c53030}.admin-portal .activities-form-section{margin-top:20px}.admin-portal .activities-form-header{margin-bottom:20px}.admin-portal .activities-form-header h4{margin:0;font-size:1.1rem;color:var(--text-primary);font-weight:600}.admin-portal .add-activity-button-wrapper{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-primary)}.admin-portal .activity-item-form{background:var(--bg-background);border-radius:8px;padding:20px;margin-bottom:16px;border:2px solid var(--border-primary);box-shadow:0 2px 4px #0000000d}.admin-portal .activity-item-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.admin-portal .activity-item-form-header h5{margin:0;font-size:1rem;color:var(--text-primary);font-weight:600}.admin-portal .remove-activity-item-btn{background:#e53e3e;color:var(--text-white);border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.admin-portal .remove-activity-item-btn:hover{background:#c53030}.admin-portal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-portal .acp-biller-codes-section{padding:0}.admin-portal .biller-codes-list{margin-top:24px}.admin-portal .biller-codes-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.admin-portal .biller-codes-table thead{background:#f7fafc}.admin-portal .biller-codes-table th{padding:16px;text-align:left;font-weight:600;color:#2d3748;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.admin-portal .biller-codes-table td{padding:16px;border-bottom:1px solid #e2e8f0;color:#2d3748;vertical-align:top}.admin-portal .biller-codes-table tbody tr:hover{background:#f7fafc}.admin-portal .biller-codes-table tbody tr:last-child td{border-bottom:none}.admin-portal .status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:500;text-transform:capitalize}.admin-portal .status-badge.active{background:#c6f6d5;color:#22543d}.admin-portal .status-badge.inactive{background:#fed7d7;color:#742a2a}.admin-portal .billing-reports-section{padding:0}.admin-portal .billing-filters{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;margin-bottom:24px}.admin-portal .billing-filter-actions{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.admin-portal .billing-records-list{margin-top:24px}.admin-portal .billing-records-summary{margin-bottom:16px;color:#2d3748;font-size:.95rem;font-weight:500}.admin-portal .billing-records-table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.admin-portal .billing-records-table thead{background:#f7fafc}.admin-portal .billing-records-table th{padding:16px;text-align:left;font-weight:600;color:#2d3748;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.admin-portal .billing-records-table td{padding:16px;border-bottom:1px solid #e2e8f0;color:#2d3748;vertical-align:top}.admin-portal .billing-records-table tbody tr:hover{background:#f7fafc}.admin-portal .billing-records-table tbody tr:last-child td{border-bottom:none}@media (max-width: 768px){.admin-portal .admin-header{flex-direction:column;align-items:flex-start;padding:20px}.admin-portal .logout-btn{position:relative;top:auto;right:auto;align-self:flex-end;margin-top:15px}.admin-portal .header-content-text h1{font-size:1.8rem}.admin-portal .admin-nav{padding:0 20px}.admin-portal .nav-tab{padding:15px 20px}.admin-portal .dashboard-section,.admin-portal .messages-section,.admin-portal .templates-section,.admin-portal .analytics-section,.admin-portal .settings-section{padding:20px}.admin-portal .settings-layout{flex-direction:column;gap:16px}.admin-portal .settings-nav-drawer{width:100%;min-width:100%}.admin-portal .settings-content{padding:16px}.admin-portal .dashboard-header,.admin-portal .messages-header,.admin-portal .templates-header{flex-direction:column;align-items:flex-start;gap:15px}.admin-portal .metrics-grid,.admin-portal .read-rates-grid{grid-template-columns:1fr}.admin-portal .activity-stats{flex-direction:column;gap:5px}.admin-portal .templates-grid,.admin-portal .analytics-grid,.admin-portal .settings-grid{grid-template-columns:1fr}.admin-portal .message-actions,.admin-portal .template-actions{flex-direction:column}.admin-portal .action-btn{width:100%}.admin-portal .modal{margin:10px;padding:20px}.admin-portal .modal-actions{flex-direction:column}}@media (max-width: 480px){.admin-portal .message-stats{grid-template-columns:1fr}.admin-portal .template-stats{flex-direction:column;gap:10px}}.data-import-container{min-height:100vh;background:#f5f5f5;padding:20px}.data-import-container .data-import-content{max-width:800px;margin:0 auto;background:#fff;padding:30px;border-radius:10px;box-shadow:0 2px 10px #0000001a}.data-import-container .data-import-content h1{color:indigo;margin-top:0;margin-bottom:20px}.data-import-container .instructions{background:#e8f4f8;padding:15px;border-radius:5px;margin-bottom:20px;border-left:4px solid #4B0082}.data-import-container .instructions ol{margin:10px 0;padding-left:20px}.data-import-container .instructions code{background:#f0f0f0;padding:2px 6px;border-radius:3px;font-family:monospace;font-size:.9em}.data-import-container .tabs{display:flex;margin-bottom:20px;border-bottom:2px solid #ddd}.data-import-container .tab{padding:10px 20px;cursor:pointer;background:#f5f5f5;border:none;border-top-left-radius:5px;border-top-right-radius:5px;margin-right:5px;font-size:16px;color:#666;transition:all .2s}.data-import-container .tab:hover{background:#e8e8e8}.data-import-container .tab.active{background:#fff;border-bottom:2px solid #4B0082;margin-bottom:-2px;color:indigo;font-weight:600}.data-import-container .tab-content{display:none}.data-import-container .tab-content.active{display:block}.data-import-container .file-input{margin:20px 0}.data-import-container .file-input label{display:block;margin-bottom:10px;color:#333}.data-import-container .file-input input[type=file]{width:100%;padding:10px;border:2px dashed #ccc;border-radius:5px;background:#fafafa;font-size:14px;cursor:pointer}.data-import-container .file-input input[type=file]:hover{border-color:indigo;background:#f5f5f5}.data-import-container textarea{width:100%;min-height:200px;padding:10px;font-family:Courier New,monospace;font-size:12px;border:1px solid #ddd;border-radius:5px;box-sizing:border-box;resize:vertical}.data-import-container textarea:focus{outline:none;border-color:indigo;box-shadow:0 0 0 2px #4b00821a}.data-import-container .import-btn{background:indigo;color:#fff;border:none;padding:12px 24px;border-radius:5px;cursor:pointer;font-size:16px;margin:10px 0;transition:background .2s}.data-import-container .import-btn:hover{background:#5a1a9a}.data-import-container .import-btn:active{background:#3d0066}.data-import-container .status{margin-top:20px;padding:15px;border-radius:5px;display:block}.data-import-container .status.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.data-import-container .status.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.data-import-container .status.info{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.data-import-container .loading-text{color:#666;font-weight:400;font-size:.9em}.data-import-container .loaded-text{color:#28a745;font-weight:400;font-size:.9em}.data-import-container .default-data-note{margin-top:10px;padding:10px;background:#e8f4f8;border-left:4px solid #4B0082;border-radius:4px;color:#333;font-size:14px}.data-import-container textarea:disabled{background:#f5f5f5;cursor:wait}.data-import-container .import-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}@media (max-width: 768px){.data-import-container{padding:10px}.data-import-container .data-import-content{padding:20px}.data-import-container .tabs{flex-wrap:wrap}.data-import-container .tab{flex:1;min-width:120px}}button{font-family:Inter,sans-serif}.tether-landing-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif}.tether-landing-page .tether-logo{height:80px;object-fit:contain}.tether-landing-page .landing-hero{width:100%;padding:40px 20px}.tether-landing-page .landing-container{max-width:1200px;margin:0 auto}.tether-landing-page .landing-content{display:flex;flex-direction:column;align-items:center;gap:40px}.tether-landing-page .landing-logo-section{text-align:center;margin-bottom:20px}.tether-landing-page .landing-logo{display:flex;flex-direction:column;align-items:center;gap:10px}.tether-landing-page .landing-heart{font-size:4rem;animation:pulse 2s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(139,117,0,.3))}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}}.tether-landing-page .landing-title{font-size:3.5rem;font-weight:700;background:linear-gradient(135deg,#8b7500,#a08b00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;letter-spacing:2px}.tether-landing-page .landing-subtitle{font-size:1.1rem;color:#2d3748;margin:0;font-weight:300;letter-spacing:1px}.tether-landing-page .landing-welcome{text-align:center;max-width:600px}.tether-landing-page .landing-welcome-title{font-size:2.5rem;color:#2d3748;margin:0 0 15px;font-weight:600}.tether-landing-page .landing-welcome-description{font-size:1.2rem;color:#4a5568;margin:0;line-height:1.6}.tether-landing-page .landing-portals{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;width:100%;max-width:1000px;margin-top:20px}.tether-landing-page .portal-card{background:#fff;border-radius:20px;padding:40px 30px;box-shadow:0 4px 20px #0000001a;text-align:center;cursor:pointer;transition:all .3s ease;border:2px solid transparent;display:flex;flex-direction:column;align-items:center;gap:20px;min-height:320px}.tether-landing-page .portal-resident{border:#0d40a5 solid 2px;color:#021b79}.tether-landing-page .portal-resident:hover{transform:translateY(-8px);background-image:linear-gradient(45deg,#0575e6,#021b79 90%);color:#fff}.tether-landing-page .portal-resident:hover .portal-button-resident{background:#fff;color:#021b79!important}.tether-landing-page .portal-button-resident{border:#fff solid 1px!important;color:#fff!important;background-image:linear-gradient(45deg,#0575e6,#021b79 90%)}.tether-landing-page .portal-button-resident:hover{background-position:right center;background-size:200% auto}.tether-landing-page .portal-family{background:#fff;border:#1fd1e4 solid 2px;color:#000d0c}.tether-landing-page .portal-family:hover{transform:translateY(-8px);background:linear-gradient(45deg,#59ddeb 0,#5ce78f)}.tether-landing-page .portal-family:hover .portal-button-family{background:#fff;color:#043034!important}.tether-landing-page .portal-button-family{background:linear-gradient(45deg,#59ddeb 0,#5ce78f)}.tether-landing-page .portal-button-family:hover{background-position:right center;background-size:200% auto}.tether-landing-page .portal-admin{background:#fff;border:#df7897 solid 2px;color:#924158}.tether-landing-page .portal-admin:hover{transform:translateY(-8px);background:linear-gradient(45deg,#fb8daf,#efe36f 112%);color:#000}.tether-landing-page .portal-admin:hover .portal-button-admin{background:#fff;color:#743648!important}.tether-landing-page .portal-button-admin{background:linear-gradient(45deg,#fb8daf,#efe36f 112%);color:#000!important}.tether-landing-page .portal-button-admin:hover{background-position:right center;background-size:120% auto}.tether-landing-page .portal-icon{font-size:4rem;margin-bottom:10px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.tether-landing-page .portal-title{font-size:1.8rem;margin:0;font-weight:600}.tether-landing-page .portal-description{font-size:1rem;margin:0;line-height:1.6;flex-grow:1}.tether-landing-page .portal-button{border:none;padding:14px 32px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:10px;width:100%;max-width:200px}.tether-landing-page .portal-button:active{transform:translateY(0)}@media (max-width: 768px){.tether-landing-page .landing-title{font-size:2.5rem}.tether-landing-page .landing-welcome-title{font-size:2rem}.tether-landing-page .landing-welcome-description{font-size:1rem}.tether-landing-page .landing-portals{grid-template-columns:1fr;gap:20px}.tether-landing-page .portal-card{padding:30px 20px;min-height:280px}.tether-landing-page .portal-icon{font-size:3rem}.tether-landing-page .portal-title{font-size:1.5rem}}@media (max-width: 480px){.tether-landing-page .landing-hero{padding:20px 15px}.tether-landing-page .landing-title{font-size:2rem}.tether-landing-page .landing-subtitle{font-size:.9rem}.tether-landing-page .landing-welcome-title{font-size:1.75rem}.tether-landing-page .portal-card{padding:25px 15px}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#333}#root{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn-primary{background:linear-gradient(135deg,indigo,#6a5acd);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px #4b00824d}.btn-secondary{background:transparent;color:indigo;border:2px solid #4B0082;padding:10px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-secondary:hover{background:indigo;color:#fff;transform:translateY(-2px)}.btn-large{padding:16px 32px;font-size:18px}
