@import url(https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&display=swap);:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 #0000001a,0 2px 15px 0 #0000000d;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.admin-page{padding:var(--spacing-md) 0}.admin-section{margin-bottom:var(--spacing-xl)}.admin-section h2{align-items:center;border-bottom:2px solid var(--border-color);display:flex;font-size:var(--font-size-xl);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm)}.pending-card,.pending-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.pending-card{padding:var(--spacing-lg)}@media (min-width:640px){.pending-card{align-items:center;flex-direction:row;justify-content:space-between}}.pending-info{flex:1 1}.pending-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.pending-email,.pending-name{margin-bottom:var(--spacing-xs)}.pending-email{color:var(--color-text-secondary)}.pending-date{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.pending-actions{display:flex;flex-shrink:0;gap:var(--spacing-sm)}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover{background-color:#219a52}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:hover{background-color:#c0392b}.empty-state .empty-state-icon{align-items:center;background:var(--color-success);border-radius:var(--border-radius-full);color:#fff;display:flex;font-size:2rem;height:64px;justify-content:center;margin:0 auto var(--spacing-md);width:64px}.header{background:var(--color-bg-secondary);box-shadow:var(--shadow-sm);height:var(--header-height-mobile);left:0;position:fixed;right:0;top:0;z-index:1000}@media (min-width:768px){.header{height:var(--header-height)}}.header-container{height:100%;justify-content:space-between;margin:0 auto;max-width:var(--max-content-width);padding:0 var(--spacing-md)}.header-container,.header-logo{align-items:center;display:flex}.header-logo{text-decoration:none}.logo-svg{height:36px;width:auto}@media (min-width:768px){.logo-svg{height:44px}}.desktop-nav{display:none}@media (min-width:768px){.desktop-nav{align-items:center;display:flex;gap:var(--spacing-xs)}}.nav-link{align-items:center;border-radius:var(--border-radius-md);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all var(--transition-fast)}.nav-link:hover{background-color:#2e7d6b14;color:var(--color-primary)}.nav-link.active{background-color:#2e7d6b1f;color:var(--color-primary)}.nav-link svg{font-size:1.25rem}.header-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.header-action-btn{align-items:center;border-radius:var(--border-radius-full);color:var(--color-text-secondary);display:flex;height:40px;justify-content:center;position:relative;transition:all var(--transition-fast);width:40px}.header-action-btn:hover{background-color:#2e7d6b14;color:var(--color-primary)}.header-action-btn svg{font-size:1.25rem}.badge-count{align-items:center;background-color:var(--color-accent);border-radius:var(--border-radius-full);color:#fff;display:flex;font-size:11px;font-weight:var(--font-weight-bold);height:18px;justify-content:center;min-width:18px;padding:0 5px;position:absolute;right:2px;top:2px}.profile-dropdown{display:none;position:relative}@media (min-width:768px){.profile-dropdown{display:block}}.profile-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;padding:0}.profile-btn .avatar{border:2px solid #0000;height:36px;transition:border-color var(--transition-fast);width:36px}.profile-btn:hover .avatar{border-color:var(--color-primary)}.dropdown-backdrop{inset:0;position:fixed;z-index:10}.dropdown-menu{animation:fadeIn .15s ease;background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:20}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{background:var(--color-bg-primary);padding:var(--spacing-md)}.dropdown-header strong{color:var(--color-text-primary);display:block;font-size:var(--font-size-base)}.dropdown-header span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.dropdown-divider{background:var(--border-color);height:1px}.dropdown-item{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:background-color var(--transition-fast);width:100%}.dropdown-item:hover{background-color:var(--color-bg-primary);color:var(--color-text-primary)}.dropdown-item.logout{color:var(--color-error)}.dropdown-item.logout:hover{background-color:#e74c3c14}.dropdown-item svg{font-size:1.125rem}.mobile-menu-btn{align-items:center;background:none;border:none;border-radius:var(--border-radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;width:40px}.mobile-menu-btn:hover{background-color:var(--color-bg-primary)}.mobile-menu-btn svg{font-size:1.5rem}@media (min-width:768px){.mobile-menu-btn{display:none}}.mobile-backdrop{animation:fadeIn .2s ease;background:#00000080;inset:0;z-index:998}.mobile-backdrop,.mobile-nav{position:fixed;top:var(--header-height-mobile)}.mobile-nav{animation:slideDown .2s ease;background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);left:0;max-height:calc(100vh - var(--header-height-mobile));overflow-y:auto;right:0;z-index:999}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-nav-link{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:background-color var(--transition-fast);width:100%}.mobile-nav-link.active,.mobile-nav-link:hover{background-color:var(--color-bg-primary);color:var(--color-primary)}.mobile-nav-link svg{font-size:1.25rem}.mobile-nav-link .badge-count{margin-left:auto;position:static}.mobile-nav-link.logout{color:var(--color-error)}.mobile-nav-divider{background:var(--border-color);height:1px;margin:var(--spacing-sm) 0}@media (min-width:768px){.mobile-backdrop,.mobile-nav{display:none}}.bottom-nav{background:var(--color-bg-secondary);bottom:0;box-shadow:0 -2px 10px #0000001a;display:flex;height:var(--mobile-nav-height);left:0;position:fixed;right:0;z-index:1000}@media (min-width:768px){.bottom-nav{display:none}}.bottom-nav-item{align-items:center;color:var(--color-text-muted);display:flex;flex:1 1;flex-direction:column;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:4px;justify-content:center;text-decoration:none;transition:color var(--transition-fast)}.bottom-nav-item svg{font-size:1.5rem}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-item.create-btn{color:var(--color-accent)}.bottom-nav-item.create-btn svg{font-size:1.75rem}.auth-page{align-items:center;background:linear-gradient(135deg,var(--color-bg-primary) 0,#e8f5f2 100%);display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:var(--spacing-md)}.auth-container{background:var(--color-bg-secondary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);max-width:420px;padding:var(--spacing-xl);width:100%}@media (min-width:768px){.auth-container{padding:var(--spacing-2xl)}}.auth-header{margin-bottom:var(--spacing-xl);text-align:center}.auth-logo{align-items:center;display:inline-flex;justify-content:center;margin-bottom:var(--spacing-md)}.auth-logo-svg{height:60px;width:auto}.auth-header h1{color:var(--color-text-primary);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs)}.auth-header p{color:var(--color-text-secondary);margin-bottom:0}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.auth-error{background-color:#e74c3c1a;border:1px solid #e74c3c4d;border-radius:var(--border-radius-md);color:var(--color-error);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:center}.form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}@media (max-width:480px){.form-row{grid-template-columns:1fr}}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:var(--color-text-muted);font-size:1.125rem;left:var(--spacing-md);pointer-events:none;position:absolute}.input-with-icon .form-input{padding-left:calc(var(--spacing-md) + 1.5rem + var(--spacing-sm))}.input-action{align-items:center;background:none;border:none;border-radius:var(--border-radius-md);color:var(--color-text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:var(--spacing-sm);transition:color var(--transition-fast);width:36px}.input-action:hover{color:var(--color-text-primary)}.form-footer{display:flex;justify-content:flex-end}.auth-link{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:color var(--transition-fast)}.auth-link:hover{color:var(--color-primary-dark);text-decoration:underline}.auth-switch{align-items:center;border-top:1px solid var(--border-color);color:var(--color-text-secondary);display:flex;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.auth-footer,.auth-switch{font-size:var(--font-size-sm)}.auth-footer{color:var(--color-text-muted);margin-top:var(--spacing-xl);text-align:center}.auth-footer p{margin:0}.btn .spinner{margin-right:var(--spacing-sm)}.auth-success{background:#27ae601a;border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg);text-align:center}.success-icon{align-items:center;background:var(--color-success);border-radius:var(--border-radius-full);color:#fff;display:flex;font-size:2rem;font-weight:700;height:64px;justify-content:center;margin:0 auto var(--spacing-md);width:64px}.auth-success p{color:var(--color-text-primary);line-height:1.6;margin:0}.lightbox-overlay{align-items:center;background:#000000f2;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.lightbox-header{align-items:center;background:linear-gradient(180deg,#000000b3,#0000);display:flex;justify-content:space-between;left:0;padding:var(--spacing-md) var(--spacing-lg);position:absolute;right:0;top:0;z-index:10}.lightbox-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.lightbox-caption{color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.lightbox-date{color:#ffffffb3;font-size:var(--font-size-sm)}.lightbox-actions{display:flex;gap:var(--spacing-sm)}.lightbox-btn{align-items:center;background:#ffffff1a;border-radius:var(--border-radius-full);color:#fff;display:flex;height:44px;justify-content:center;transition:background-color var(--transition-fast);width:44px}.lightbox-btn:hover{background:#fff3}.lightbox-btn svg{font-size:1.25rem}.lightbox-content{align-items:center;display:flex;justify-content:center;max-height:90vh;max-width:90vw;padding:var(--spacing-xl)}.lightbox-image{border-radius:var(--border-radius-md);max-height:85vh;max-width:100%;object-fit:contain}.lightbox-nav{align-items:center;background:#00000080;border-radius:var(--border-radius-full);color:#fff;display:flex;height:56px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all var(--transition-fast);width:56px}.lightbox-nav:hover{background:#000000b3;transform:translateY(-50%) scale(1.1)}.lightbox-nav svg{font-size:1.75rem}.lightbox-prev{left:var(--spacing-lg)}.lightbox-next{right:var(--spacing-lg)}@media (max-width:640px){.lightbox-nav{height:44px;width:44px}.lightbox-prev{left:var(--spacing-sm)}.lightbox-next{right:var(--spacing-sm)}.lightbox-header{padding:var(--spacing-sm) var(--spacing-md)}.lightbox-content{padding:var(--spacing-md)}}.post{margin-bottom:var(--spacing-md)}.post-header{align-items:flex-start;display:flex;justify-content:space-between;padding:var(--spacing-md);padding-bottom:0}.post-author{align-items:center;display:flex;gap:var(--spacing-sm);text-decoration:none}.post-author-info{display:flex;flex-direction:column}.post-author-name{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.post-author-name:hover{text-decoration:underline}.post-meta{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs)}.post-location-icon{font-size:.875rem;margin-left:var(--spacing-xs)}.post-menu-container{position:relative}.post-menu-btn{align-items:center;border-radius:var(--border-radius-full);color:var(--color-text-muted);display:flex;height:36px;justify-content:center;transition:background-color var(--transition-fast);width:36px}.post-menu-btn:hover{background-color:var(--color-bg-primary)}.menu-backdrop{inset:0;position:fixed;z-index:10}.post-menu{background:var(--color-bg-secondary);border-radius:var(--border-radius-md);box-shadow:var(--shadow-lg);min-width:180px;overflow:hidden;position:absolute;right:0;top:100%;z-index:20}.post-menu-item{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:background-color var(--transition-fast);width:100%}.post-menu-item:hover{background-color:var(--color-bg-primary)}.post-menu-item.delete{color:var(--color-error)}.post-content{padding:var(--spacing-md)}.post-text{word-wrap:break-word;font-size:var(--font-size-base);line-height:1.6;margin-bottom:0;white-space:pre-wrap}.post-life-event{background:linear-gradient(135deg,var(--color-accent) 0,#f5a55a 100%);border-radius:var(--border-radius-full);color:#fff;display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.post-photos{grid-gap:2px;border-radius:var(--border-radius-md);display:grid;gap:2px;margin-top:var(--spacing-md);overflow:hidden}.post-photos.photos-1{grid-template-columns:1fr}.post-photos.photos-2,.post-photos.photos-3{grid-template-columns:1fr 1fr}.post-photos.photos-3{grid-template-rows:1fr 1fr}.post-photos.photos-3 .post-photo-item:first-child{grid-row:span 2}.post-photos.photos-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.post-photo-item{aspect-ratio:1;overflow:hidden;position:relative}.post-photos.photos-1 .post-photo-item{aspect-ratio:16/9}.post-photo-item img{height:100%;object-fit:cover;width:100%}.post-photo-more{align-items:center;background:#00000080;color:#fff;display:flex;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);inset:0;justify-content:center;position:absolute}.post-tags{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.post-tags a{color:var(--color-primary);font-weight:var(--font-weight-medium)}.post-stats{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.post-reactions-summary{align-items:center;display:flex;gap:var(--spacing-xs)}.reaction-emojis{font-size:1rem}.post-comments-count{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.post-comments-count:hover{text-decoration:underline}.post-actions{border-top:1px solid var(--border-color);display:flex;padding:var(--spacing-xs)}.post-action-btn{align-items:center;border-radius:var(--border-radius-md);color:var(--color-text-secondary);display:flex;flex:1 1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm);transition:background-color var(--transition-fast)}.post-action-btn:hover{background-color:var(--color-bg-primary)}.post-action-btn.reacted{color:var(--color-primary)}.post-action-btn svg{font-size:1.25rem}.reaction-emoji{font-size:1.125rem}.reaction-container{flex:1 1;position:relative}.reactions-picker{background:var(--color-bg-secondary);bottom:100%;box-shadow:var(--shadow-lg);gap:var(--spacing-xs);left:50%;padding:var(--spacing-sm);position:absolute;transform:translateX(-50%);z-index:10}.reaction-btn,.reactions-picker{border-radius:var(--border-radius-full);display:flex}.reaction-btn{align-items:center;font-size:1.5rem;height:40px;justify-content:center;transition:transform var(--transition-fast);width:40px}.reaction-btn:hover{background-color:var(--color-bg-primary);transform:scale(1.3)}.post-comments{background:var(--color-bg-primary);border-top:1px solid var(--border-color);padding:var(--spacing-md)}.comments-loading{align-items:center;color:var(--color-text-muted);font-size:var(--font-size-sm);justify-content:center;padding:var(--spacing-md)}.comment,.comments-loading{display:flex;gap:var(--spacing-sm)}.comment,.comment:last-of-type{margin-bottom:var(--spacing-md)}.comment-body{flex:1 1}.comment-bubble{background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);display:inline-block;padding:var(--spacing-sm) var(--spacing-md)}.comment-author{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.comment-author:hover{text-decoration:underline}.comment-bubble p{font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0}.comment-meta{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-xs);gap:var(--spacing-md);margin-top:var(--spacing-xs);padding-left:var(--spacing-md)}.comment-action{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.comment-action:hover{text-decoration:underline}.comment-form{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-sm);padding-top:var(--spacing-sm)}.comment-input{background:var(--color-bg-secondary);border:none;border-radius:var(--border-radius-full);flex:1 1;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.comment-input:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.post-photo-item{cursor:pointer}.post-photo-item:hover{opacity:.9}.comment-action-delete{color:#e74c3c}.comment-action-delete:hover{color:#c0392b}.comment-edit-form{margin-top:4px}.comment-edit-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:6px}.comment-edit-textarea{border:1px solid #ccc;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:.95rem;min-height:100px;padding:10px 12px;resize:vertical;width:100%}.comment-edit-textarea:focus{border-color:#4a90d9;outline:none}.create-post{margin-bottom:var(--spacing-md)}.create-post-header{align-items:flex-start;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md)}.create-post-trigger{background:var(--color-bg-primary);border:none;border-radius:var(--border-radius-full);color:var(--color-text-muted);cursor:pointer;flex:1 1;font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:background-color var(--transition-fast)}.create-post-trigger:hover{background:var(--border-color)}.create-post-expanded{flex:1 1}.create-post-input{background:#0000;border:none;font-family:inherit;font-size:var(--font-size-lg);line-height:1.5;padding:var(--spacing-sm);resize:none;width:100%}.create-post-input:focus{outline:none}.create-post-input::placeholder{color:var(--color-text-muted)}.create-post-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.post-badge{align-items:center;background:var(--color-bg-primary);border-radius:var(--border-radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.post-badge button{align-items:center;background:var(--color-text-muted);border:none;border-radius:var(--border-radius-full);color:#fff;cursor:pointer;display:flex;font-size:.7rem;height:18px;justify-content:center;margin-left:var(--spacing-xs);padding:0;width:18px}.post-badge button:hover{background:var(--color-text-secondary)}.photo-previews{grid-gap:var(--spacing-xs);border-radius:var(--border-radius-md);display:grid;gap:var(--spacing-xs);margin:var(--spacing-sm) 0;overflow:hidden}.photo-previews-1{grid-template-columns:1fr}.photo-previews-2,.photo-previews-3{grid-template-columns:repeat(2,1fr)}.photo-previews-3 .photo-preview-item:first-child{grid-column:span 2}.photo-previews-4{grid-template-columns:repeat(2,1fr)}.photo-preview-item{aspect-ratio:1;background:var(--color-bg-primary);position:relative}.photo-previews-1 .photo-preview-item{aspect-ratio:16/9}.photo-previews-3 .photo-preview-item:first-child{aspect-ratio:2/1}.photo-preview-item img{height:100%;object-fit:cover;width:100%}.photo-preview-remove{align-items:center;background:#0009;border:none;border-radius:var(--border-radius-full);color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:var(--spacing-xs);top:var(--spacing-xs);transition:background-color var(--transition-fast);width:28px}.photo-preview-remove:hover{background:#000c}.location-input-wrapper{align-items:center;background:var(--color-bg-primary);border-radius:var(--border-radius-md);display:flex;gap:var(--spacing-sm);margin:var(--spacing-sm) 0;padding:var(--spacing-sm)}.location-input-icon{color:var(--color-error);font-size:1.25rem}.location-input{background:#0000;border:none;flex:1 1;font-size:var(--font-size-base);outline:none}.feeling-picker{background:var(--color-bg-primary);border-radius:var(--border-radius-md);margin:var(--spacing-sm) 0;padding:var(--spacing-md)}.feeling-picker-header{align-items:center;display:flex;font-weight:var(--font-weight-medium);justify-content:space-between;margin-bottom:var(--spacing-md)}.feeling-picker-header button{align-items:center;background:none;border:none;border-radius:var(--border-radius-full);color:var(--color-text-muted);cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.feeling-picker-header button:hover{background:var(--color-bg-secondary)}.feeling-grid{grid-gap:var(--spacing-xs);display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(4,1fr)}@media (min-width:640px){.feeling-grid{grid-template-columns:repeat(6,1fr)}}.feeling-option{align-items:center;background:none;border:2px solid #0000;border-radius:var(--border-radius-md);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);transition:all var(--transition-fast)}.feeling-option:hover{background:var(--color-bg-secondary)}.feeling-option.selected{background:#2e7d6b1a;border-color:var(--color-primary)}.feeling-emoji{font-size:1.5rem}.feeling-label{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.create-post-error{background:#e74c3c1a;border-radius:var(--border-radius-md);color:var(--color-error);font-size:var(--font-size-sm);margin:var(--spacing-sm) 0;padding:var(--spacing-sm)}.create-post-options{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.create-post-attachments{display:flex;gap:var(--spacing-xs)}.attachment-btn{align-items:center;background:none;border:none;border-radius:var(--border-radius-full);color:var(--color-text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;position:relative;transition:all var(--transition-fast);width:36px}.attachment-btn:hover{background:var(--color-bg-primary);color:var(--color-primary)}.attachment-btn.active{background:#2e7d6b1a;color:var(--color-primary)}.attachment-btn:disabled{cursor:not-allowed;opacity:.5}.attachment-btn svg{font-size:1.25rem}.attachment-count{align-items:center;background:var(--color-primary);border-radius:var(--border-radius-full);color:#fff;display:flex;font-size:.65rem;font-weight:var(--font-weight-bold);height:16px;justify-content:center;min-width:16px;padding:0 4px;position:absolute;right:-2px;top:-2px}.create-post-actions{display:flex;gap:var(--spacing-sm)}.create-post-quick-actions{border-top:1px solid var(--border-color);display:flex}.quick-action-btn{align-items:center;background:none;border:none;border-radius:0;color:var(--color-text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm);transition:background-color var(--transition-fast)}.quick-action-btn:hover{background:var(--color-bg-primary)}.quick-action-btn:first-child{border-bottom-left-radius:var(--border-radius-lg);border-right:1px solid var(--border-color)}.quick-action-btn:last-child{border-bottom-right-radius:var(--border-radius-lg)}.quick-action-btn svg{color:var(--color-primary);font-size:1.25rem}.home-page{padding:var(--spacing-md) 0}.home-layout{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md)}@media (min-width:1024px){.home-layout{gap:var(--spacing-lg);grid-template-columns:1fr 320px}}.feed-main{min-width:0}.feed-error,.feed-loading{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-2xl);text-align:center}.feed-empty{padding:0}.load-more{display:flex;justify-content:center;padding:var(--spacing-md) 0}.feed-sidebar{display:none}@media (min-width:1024px){.feed-sidebar{display:block;height:-webkit-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:calc(var(--header-height) + var(--spacing-md))}}.sidebar-card{margin-bottom:var(--spacing-md)}.sidebar-card .card-body,.sidebar-title{padding:var(--spacing-md)}.sidebar-title{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin-bottom:var(--spacing-md);padding-bottom:0;text-transform:uppercase}.profile-mini{align-items:center;display:flex;flex-direction:column;padding:var(--spacing-lg);text-align:center}.profile-mini-avatar{margin-bottom:var(--spacing-sm)}.profile-mini-name{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.profile-mini-name:hover{text-decoration:underline}.profile-mini-link{color:var(--color-primary);font-size:var(--font-size-sm)}.sidebar-nav{display:flex;flex-direction:column}.sidebar-nav-item{align-items:center;border-radius:var(--border-radius-md);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all var(--transition-fast)}.sidebar-nav-item:hover{background-color:var(--color-bg-primary);color:var(--color-primary)}.sidebar-nav-item svg{font-size:1.25rem}.sidebar-footer{color:var(--color-text-muted);font-size:var(--font-size-xs);padding:var(--spacing-md);text-align:center}.sidebar-footer p{margin:0}.family-page{padding:var(--spacing-md) 0}.page-header{margin-bottom:var(--spacing-lg)}.page-header h1{align-items:center;display:flex;font-size:var(--font-size-2xl);gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.page-header-icon{color:var(--color-primary)}.page-subtitle{color:var(--color-text-secondary);margin:0}.search-section{margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.search-form{display:flex;gap:var(--spacing-sm)}.search-input-wrapper{align-items:center;display:flex;flex:1 1;position:relative}.search-icon{color:var(--color-text-muted);font-size:1.125rem;left:var(--spacing-md);position:absolute}.search-input{border:2px solid var(--border-color);border-radius:var(--border-radius-md);font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);padding-left:calc(var(--spacing-md) + 1.5rem + var(--spacing-sm));padding-right:var(--spacing-xl);transition:border-color var(--transition-fast);width:100%}.search-input:focus{border-color:var(--color-primary);outline:none}.search-clear{align-items:center;background:var(--color-text-muted);border:none;border-radius:var(--border-radius-full);color:#fff;cursor:pointer;display:flex;font-size:1rem;height:24px;justify-content:center;position:absolute;right:var(--spacing-sm);transition:background-color var(--transition-fast);width:24px}.search-clear:hover{background:var(--color-text-secondary)}.search-results-info{align-items:center;border-top:1px solid var(--border-color);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);justify-content:space-between;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm)}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm)}.btn-link:hover{text-decoration:underline}.error-state,.loading-state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-2xl);text-align:center}.error-state{color:var(--color-text-secondary)}.members-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr}@media (min-width:640px){.members-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.members-grid{grid-template-columns:repeat(3,1fr)}}.member-card{display:flex;flex-direction:column;overflow:hidden;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.member-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.member-card-link{align-items:center;display:flex;flex-direction:column;padding:var(--spacing-lg);text-align:center;text-decoration:none}.member-card-avatar{margin-bottom:var(--spacing-md)}.member-card-avatar .avatar{font-size:var(--font-size-2xl);height:80px;width:80px}.member-card-info{width:100%}.member-name{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.member-location,.member-name{margin-bottom:var(--spacing-xs)}.member-location{color:var(--color-text-muted)}.member-bio,.member-location{font-size:var(--font-size-sm)}.member-bio{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;margin:0;overflow:hidden}.member-card-actions{background:var(--color-bg-primary);border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm) var(--spacing-md)}.member-card-actions .btn{padding:var(--spacing-sm)}.member-card-actions .btn svg{font-size:1.125rem}.members-count{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-lg);text-align:center}.profile-photos-section{padding:0}.profile-albums{margin-bottom:24px}.profile-albums h4,.profile-all-photos h4{color:#333;font-size:1rem;margin:0 0 12px}.profile-albums-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.profile-album-card{border:1px solid #eee;border-radius:8px;color:inherit;overflow:hidden;text-decoration:none;transition:transform .2s,box-shadow .2s}.profile-album-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.profile-album-cover{aspect-ratio:1;background:#f5f5f5;overflow:hidden;width:100%}.profile-album-cover img{height:100%;object-fit:cover;width:100%}.profile-album-placeholder{align-items:center;color:#ccc;display:flex;font-size:2rem;height:100%;justify-content:center;width:100%}.profile-album-info{display:flex;flex-direction:column;padding:8px 10px}.profile-album-name{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-album-count{color:#888;font-size:.75rem}.profile-photos-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.profile-photo-item{aspect-ratio:1;border-radius:4px;cursor:pointer;overflow:hidden}.profile-photo-item img{height:100%;object-fit:cover;transition:transform .2s;width:100%}.profile-photo-item:hover img{transform:scale(1.05)}@media (max-width:600px){.profile-photos-grid{grid-template-columns:repeat(3,1fr)}.profile-albums-grid{grid-template-columns:repeat(2,1fr)}}.relationships-section{padding:0}.relationships-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.relationships-header h3{align-items:center;display:flex;font-size:1.1rem;gap:8px;margin:0}.relationships-list{display:flex;flex-direction:column;gap:8px}.relationship-card{align-items:center;display:flex;justify-content:space-between;padding:12px 16px}.relationship-member{align-items:center;color:inherit;display:flex;flex:1 1;gap:12px;text-decoration:none}.relationship-member:hover .relationship-name{text-decoration:underline}.relationship-info{display:flex;flex-direction:column}.relationship-name{font-size:.95rem;font-weight:600}.relationship-type{color:#666;font-size:.85rem}.relationship-delete{color:#999}.relationship-delete:hover{color:#e74c3c}.modal-overlay{background:#00000080;bottom:0;left:0;padding:16px;right:0;top:0}.modal-content{background:#fff;border-radius:12px;display:flex;flex-direction:column;max-height:80vh;max-width:500px}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:16px 20px}.modal-header h3{font-size:1.1rem;margin:0}.modal-body{flex:1 1;overflow-y:auto;padding:20px}.modal-footer{border-top:1px solid #eee;display:flex;gap:8px;justify-content:flex-end;padding:16px 20px}.member-search-results{margin-top:12px;max-height:300px;overflow-y:auto}.member-search-item{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.95rem;gap:12px;padding:10px 12px;text-align:left;width:100%}.member-search-item:hover{background:#f5f5f5}.no-results,.search-hint,.search-loading{color:#888;font-size:.9rem;padding:20px;text-align:center}.selected-member-banner{align-items:center;background:#f0f7ff;border-radius:8px;display:flex;font-weight:500;gap:10px;margin-bottom:16px;padding:12px 16px}.selected-member-banner span{flex:1 1}.relationship-type-picker{margin-bottom:16px}.type-category{margin-bottom:12px}.type-category-label{color:#888;font-size:.8rem;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.type-options{display:flex;flex-wrap:wrap;gap:8px}.type-option{background:#fff;border:1px solid #ddd;border-radius:20px;cursor:pointer;font-size:.9rem;padding:6px 14px;transition:all .2s}.type-option:hover{border-color:#4a90d9;color:#4a90d9}.type-option.selected{background:#4a90d9;border-color:#4a90d9;color:#fff}.form-error-message{background:#fdf0ef;border-radius:6px;color:#e74c3c;font-size:.9rem;margin-bottom:12px;padding:8px 12px}.profile-page{padding-bottom:var(--spacing-xl)}.profile-cover{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);height:200px;margin-top:calc(var(--header-height-mobile)*-1);padding-top:var(--header-height-mobile);position:relative}@media (min-width:768px){.profile-cover{height:280px;margin-top:calc(var(--header-height)*-1);padding-top:var(--header-height)}}.cover-image{height:100%;object-fit:cover;width:100%}.cover-placeholder{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);height:100%;width:100%}.cover-edit-btn{background:#00000080;bottom:var(--spacing-md);color:#fff;font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);position:absolute;right:var(--spacing-md)}.cover-edit-btn:hover{background:#000000b3;color:#fff}.profile-header{align-items:center;display:flex;flex-direction:column;margin-bottom:var(--spacing-lg);margin-top:-50px;position:relative;text-align:center;z-index:10}@media (min-width:768px){.profile-header{align-items:flex-end;flex-direction:row;margin-top:-60px;text-align:left}}.profile-avatar-section{flex-shrink:0}.profile-avatar{background:var(--color-bg-secondary);border:4px solid var(--color-bg-secondary);border-radius:var(--border-radius-full);box-shadow:var(--shadow-lg);height:120px;overflow:hidden;position:relative;width:120px}@media (min-width:768px){.profile-avatar{border-width:5px;height:150px;width:150px}}.profile-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{background:var(--color-primary-light);color:#fff;font-size:3rem;font-weight:var(--font-weight-bold);height:100%;width:100%}.avatar-edit-btn,.avatar-placeholder{align-items:center;display:flex;justify-content:center}.avatar-edit-btn{background:var(--color-bg-secondary);border:none;border-radius:var(--border-radius-full);bottom:8px;box-shadow:var(--shadow-md);cursor:pointer;height:32px;position:absolute;right:8px;transition:background-color var(--transition-fast);width:32px}.avatar-edit-btn:hover{background:var(--color-bg-primary)}.profile-info{flex:1 1;padding:var(--spacing-md) 0}@media (min-width:768px){.profile-info{padding:0 var(--spacing-lg);padding-bottom:var(--spacing-md)}}.profile-name{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs)}@media (min-width:768px){.profile-name{font-size:var(--font-size-3xl)}}.profile-nickname{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);margin-left:var(--spacing-sm)}.profile-bio,.profile-nickname{color:var(--color-text-secondary)}.profile-bio{margin-bottom:var(--spacing-sm);max-width:600px}.profile-details{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center}@media (min-width:768px){.profile-details{justify-content:flex-start}}.profile-detail{align-items:center;color:var(--color-text-muted);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs)}.profile-actions{margin-top:var(--spacing-md)}@media (min-width:768px){.profile-actions{margin-bottom:var(--spacing-md);margin-top:0}}.edit-actions{display:flex;gap:var(--spacing-sm)}.profile-edit-form,.profile-edit-form h3{margin-bottom:var(--spacing-lg)}.form-error-message{background:#e74c3c1a;border-radius:var(--border-radius-md);color:var(--color-error);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.form-grid{grid-gap:var(--spacing-md);gap:var(--spacing-md);grid-template-columns:1fr}@media (min-width:640px){.form-grid{grid-template-columns:repeat(2,1fr)}}.form-group-full{grid-column:1/-1}.profile-tabs{border-bottom:2px solid var(--border-color);display:flex;margin-bottom:var(--spacing-lg);overflow-x:auto}.profile-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:-2px;padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-fast);white-space:nowrap}.profile-tab:hover{color:var(--color-text-primary)}.profile-tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.profile-content{max-width:680px}.profile-posts .loading-state{padding:var(--spacing-2xl)}.profile-about h3{margin-bottom:var(--spacing-lg)}.about-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.about-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr}@media (min-width:640px){.about-grid{grid-template-columns:repeat(2,1fr)}}.about-item{display:flex;gap:var(--spacing-md)}.about-icon{color:var(--color-primary);flex-shrink:0;height:24px;margin-top:2px;width:24px}.about-item h4{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.about-item p{color:var(--color-text-primary);margin:0}.profile-photos .empty-state{padding:var(--spacing-2xl) 0}.error-state{padding:var(--spacing-2xl);text-align:center}.error-state p{margin-bottom:var(--spacing-md)}.upload-modal{max-width:520px}.upload-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.upload-header h2{margin:0}.close-btn{align-items:center;border-radius:var(--border-radius-full);color:var(--color-text-secondary);display:flex;height:36px;justify-content:center;transition:background-color var(--transition-fast);width:36px}.close-btn:hover{background-color:var(--color-bg-primary)}.close-btn svg{font-size:1.25rem}.upload-error{background:#e74c3c1a;border-radius:var(--border-radius-md);color:var(--color-error);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.upload-dropzone{align-items:center;background:var(--color-bg-primary);border:2px dashed var(--border-color);border-radius:var(--border-radius-lg);cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);transition:all var(--transition-fast)}.upload-dropzone.drag-over,.upload-dropzone:hover{background:#2e7d6b0d;border-color:var(--color-primary)}.dropzone-icon{color:var(--color-text-muted);font-size:3rem;margin-bottom:var(--spacing-md)}.dropzone-text{color:var(--color-text-secondary);font-size:var(--font-size-base);margin-bottom:var(--spacing-xs);text-align:center}.dropzone-hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.upload-preview{display:flex;flex-direction:column;gap:var(--spacing-md)}.preview-image-container{background:var(--color-bg-primary);border-radius:var(--border-radius-lg);overflow:hidden;position:relative}.preview-image{max-height:300px;object-fit:contain;width:100%}.preview-remove{align-items:center;background:#0009;border-radius:var(--border-radius-full);color:#fff;display:flex;height:32px;justify-content:center;position:absolute;right:var(--spacing-sm);top:var(--spacing-sm);transition:background-color var(--transition-fast);width:32px}.preview-remove:hover{background:#000c}.upload-actions{border-top:1px solid var(--border-color);display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.photos-page{padding:var(--spacing-md) 0}.photos-header{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}@media (min-width:640px){.photos-header{align-items:flex-start;flex-direction:row;justify-content:space-between}}.photos-actions,.photos-tabs{display:flex;gap:var(--spacing-sm)}.photos-tabs{border-bottom:2px solid var(--border-color);margin-bottom:var(--spacing-lg);overflow-x:auto}.photos-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);margin-bottom:-2px;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast);white-space:nowrap}.photos-tab:hover{color:var(--color-text-primary)}.photos-tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.photos-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr)}@media (min-width:640px){.photos-grid{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.photos-grid{grid-template-columns:repeat(4,1fr)}}.photo-item{aspect-ratio:1;background:var(--color-bg-secondary);border-radius:var(--border-radius-md);cursor:pointer;overflow:hidden;position:relative}.photo-item img{height:100%;object-fit:cover;transition:transform var(--transition-normal);width:100%}.photo-item:hover img{transform:scale(1.05)}.photo-caption{background:linear-gradient(#0000,#000000b3);bottom:0;color:#fff;font-size:var(--font-size-sm);left:0;opacity:0;padding:var(--spacing-sm);position:absolute;right:0;transition:opacity var(--transition-fast)}.photo-item:hover .photo-caption{opacity:1}.albums-header{margin-bottom:var(--spacing-lg)}.albums-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}@media (min-width:640px){.albums-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.albums-grid{grid-template-columns:repeat(4,1fr)}}.album-card{display:block;overflow:hidden;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.album-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.album-cover{aspect-ratio:1;background:var(--color-bg-primary);overflow:hidden}.album-cover img{height:100%;object-fit:cover;width:100%}.album-cover-placeholder{align-items:center;color:var(--color-text-muted);display:flex;font-size:3rem;height:100%;justify-content:center;width:100%}.album-info{padding:var(--spacing-md)}.album-name{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.album-count{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:var(--spacing-md);position:fixed;z-index:1000}.modal-content{background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);max-height:90vh;max-width:480px;overflow-y:auto;padding:var(--spacing-lg);width:100%}.modal-content h2{margin-bottom:var(--spacing-lg)}.modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg)}.loading-state{align-items:center;color:var(--color-text-muted);display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-2xl)}.empty-state.card{padding:var(--spacing-2xl);text-align:center}.empty-state .btn{margin-top:var(--spacing-md)}.album-view-page{padding:var(--spacing-md) 0}.album-view-header{margin-bottom:var(--spacing-lg)}.back-link{color:var(--color-text-secondary);font-size:var(--font-size-sm);gap:var(--spacing-xs);margin-bottom:var(--spacing-md);transition:color var(--transition-fast)}.back-link:hover{color:var(--color-primary)}.album-view-info{margin-bottom:var(--spacing-md)}.album-view-info h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs)}.album-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.album-meta{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.album-view-actions{display:flex;gap:var(--spacing-sm)}.album-view-page .photos-grid{grid-gap:var(--spacing-sm);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(2,1fr)}@media (min-width:640px){.album-view-page .photos-grid{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.album-view-page .photos-grid{grid-template-columns:repeat(4,1fr)}}.album-view-page .photo-item{aspect-ratio:1;background:var(--color-bg-secondary);border-radius:var(--border-radius-md);cursor:pointer;overflow:hidden;position:relative}.album-view-page .photo-item img{height:100%;object-fit:cover;transition:transform var(--transition-normal);width:100%}.album-view-page .photo-item:hover img{transform:scale(1.05)}.album-view-page .photo-caption{background:linear-gradient(#0000,#000000b3);bottom:0;color:#fff;font-size:var(--font-size-sm);left:0;opacity:0;padding:var(--spacing-sm);position:absolute;right:0;transition:opacity var(--transition-fast)}.album-view-page .photo-item:hover .photo-caption{opacity:1}.album-view-page .error-state,.album-view-page .loading-state{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-2xl);text-align:center}.album-view-page .empty-state.card{padding:var(--spacing-2xl);text-align:center}.album-view-page .empty-state .btn{margin-top:var(--spacing-md)}.recipes-page{padding-bottom:40px}.recipes-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.recipes-search{flex:1 1;min-width:200px}.category-filter{min-width:160px;width:auto}.recipes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.recipe-card{cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .2s}.recipe-card:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-3px)}.recipe-card-photo{background:#f5f5f5;height:180px;overflow:hidden;position:relative;width:100%}.recipe-card-photo img{height:100%;object-fit:cover;width:100%}.recipe-card-placeholder{align-items:center;background:linear-gradient(135deg,#ffecd2,#fcb69f);display:flex;font-size:3rem;height:100%;justify-content:center;width:100%}.recipe-card-badge{background:#0009;border-radius:12px;color:#fff;font-size:.75rem;font-weight:500;padding:4px 10px;position:absolute;right:10px;top:10px}.recipe-card-info{padding:14px 16px}.recipe-card-title{font-size:1.05rem;font-weight:600;margin:0 0 6px}.recipe-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;font-size:.85rem;margin:0 0 10px;overflow:hidden}.recipe-card-meta{color:#888;display:flex;font-size:.8rem;gap:14px;margin-bottom:8px}.recipe-card-meta span{align-items:center;display:flex;gap:4px}.recipe-card-author{color:#999;font-size:.8rem}.recipe-detail{margin-top:16px}.recipe-detail-photo{border-radius:12px 12px 0 0;margin:-20px -20px 20px;max-height:400px;overflow:hidden;width:100%;width:calc(100% + 40px)}.recipe-detail-photo img{height:100%;object-fit:cover;width:100%}.recipe-detail-header h1{font-size:1.6rem;margin:0 0 8px}.recipe-detail-description{color:#555;font-size:1rem;margin-bottom:16px}.recipe-detail-meta{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.recipe-meta-item{align-items:center;color:#555;display:flex;font-size:.9rem;gap:6px}.recipe-meta-badge{background:#e8f4f8;border-radius:12px;color:#2d7d9a;font-size:.8rem;font-weight:500;padding:4px 12px}.recipe-detail-actions{border-top:1px solid #eee;display:flex;gap:8px;margin-top:12px;padding-top:12px}.recipe-section{margin-top:24px}.recipe-section h3{border-bottom:2px solid #f0f0f0;color:#333;font-size:1.1rem;margin:0 0 12px;padding-bottom:8px}.ingredient-line{font-size:.95rem;padding:6px 0 6px 16px;position:relative}.ingredient-line:before{color:#4a90d9;content:"•";font-weight:700;left:0;position:absolute}.instruction-step{counter-increment:step;font-size:.95rem;padding:8px 0 8px 32px;position:relative}.instruction-step:before{align-items:center;background:#4a90d9;border-radius:50%;color:#fff;content:counter(step);display:flex;font-size:.75rem;font-weight:600;height:24px;justify-content:center;left:0;position:absolute;width:24px}.recipe-detail-body{counter-reset:step}.recipe-origin{color:#555;font-style:italic;line-height:1.6}.recipe-detail-footer{border-top:1px solid #eee;color:#888;font-size:.85rem;margin-top:24px;padding-top:16px}.recipe-form{margin-top:16px}.recipe-form h2{margin:0 0 20px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.form-actions{border-top:1px solid #eee;display:flex;gap:8px;justify-content:flex-end;margin-top:20px;padding-top:16px}.back-link{align-items:center;background:none;border:none;color:#4a90d9;cursor:pointer;display:inline-flex;font-size:.9rem;gap:6px;margin-bottom:16px;padding:0;text-decoration:none}.back-link:hover{text-decoration:underline}@media (max-width:600px){.recipes-toolbar{flex-direction:column}.category-filter,.recipes-search{width:100%}.recipes-grid{grid-template-columns:1fr}.recipe-detail-photo{max-height:250px}.form-grid{grid-template-columns:1fr}}:root{--color-primary:#2e7d6b;--color-primary-light:#4a9b8a;--color-primary-dark:#1d5d4d;--color-accent:#e8853b;--color-accent-light:#f5a55a;--color-accent-dark:#c96a25;--color-bg-primary:#faf8f5;--color-bg-secondary:#fff;--color-bg-dark:#2c3e50;--color-text-primary:#2c3e50;--color-text-secondary:#5d6d7e;--color-text-muted:#95a5a6;--color-text-inverse:#fff;--color-success:#27ae60;--color-warning:#f39c12;--color-error:#e74c3c;--color-info:#3498db;--color-like:#3b82f6;--color-love:#ef4444;--color-haha:#f59e0b;--color-wow:#f59e0b;--color-sad:#f59e0b;--color-angry:#ef4444;--color-care:#f472b6;--font-family-primary:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-family-heading:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--border-radius-sm:0.375rem;--border-radius-md:0.5rem;--border-radius-lg:0.75rem;--border-radius-xl:1rem;--border-radius-full:9999px;--border-color:#e5e7eb;--border-color-dark:#d1d5db;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease;--header-height:64px;--header-height-mobile:56px;--sidebar-width:280px;--max-content-width:1200px;--mobile-nav-height:64px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-primary);font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.6;min-height:100vh}body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:1.3}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}img{display:block;height:auto;max-width:100%}button,input,select,textarea{font-family:inherit;font-size:inherit}button{background:none;border:none;cursor:pointer}.container{margin:0 auto;max-width:var(--max-content-width);padding:0 var(--spacing-md);width:100%}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding-bottom:calc(var(--mobile-nav-height) + var(--spacing-md));padding-top:var(--header-height-mobile)}@media (min-width:768px){.main-content{padding-bottom:var(--spacing-xl);padding-top:var(--header-height)}}.card{background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.card-body{padding:var(--spacing-md)}@media (min-width:768px){.card-body{padding:var(--spacing-lg)}}.btn{align-items:center;border:2px solid #0000;border-radius:var(--border-radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:initial;border-color:var(--color-primary);color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-accent{background-color:var(--color-accent);color:var(--color-text-inverse)}.btn-accent:hover:not(:disabled){background-color:var(--color-accent-dark)}.btn-ghost{background-color:initial;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background-color:#0000000d;color:var(--color-text-primary)}.btn-sm{font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-md)}.btn-lg{font-size:var(--font-size-lg);padding:var(--spacing-md) var(--spacing-xl)}.btn-block{width:100%}.btn-icon{border-radius:var(--border-radius-full);height:40px;padding:0;width:40px}.form-group{margin-bottom:var(--spacing-md)}.form-label{color:var(--color-text-secondary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.form-input{background-color:var(--color-bg-secondary);border:2px solid var(--border-color);border-radius:var(--border-radius-md);color:var(--color-text-primary);font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2e7d6b1a;outline:none}.form-input::placeholder{color:var(--color-text-muted)}.form-input.error{border-color:var(--color-error)}.form-error{color:var(--color-error)}.form-error,.form-help{font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.form-help{color:var(--color-text-muted)}textarea.form-input{min-height:100px;resize:vertical}.avatar{align-items:center;background-color:var(--color-primary-light);border-radius:var(--border-radius-full);color:var(--color-text-inverse);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:40px;justify-content:center;object-fit:cover;width:40px}.avatar-sm{font-size:var(--font-size-xs);height:32px;width:32px}.avatar-lg{font-size:var(--font-size-xl);height:64px;width:64px}.avatar-xl{font-size:var(--font-size-3xl);height:96px;width:96px}.badge{align-items:center;background-color:var(--color-primary);border-radius:var(--border-radius-full);color:var(--color-text-inverse);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm)}.badge-accent{background-color:var(--color-accent)}.badge-success{background-color:var(--color-success)}.badge-warning{background-color:var(--color-warning)}.badge-error{background-color:var(--color-error)}.spinner{animation:spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--color-primary);height:24px;width:24px}.spinner-sm{border-width:2px;height:16px;width:16px}.spinner-lg{border-width:4px;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.loading-overlay{align-items:center;background:#ffffffe6;display:flex;flex-direction:column;gap:var(--spacing-md);inset:0;justify-content:center;position:fixed;z-index:9999}.empty-state{color:var(--color-text-muted);padding:var(--spacing-2xl) var(--spacing-md);text-align:center}.empty-state-icon{font-size:4rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-state-title{color:var(--color-text-secondary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.divider{background-color:var(--border-color);height:1px;margin:var(--spacing-md) 0}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.Toastify__toast{border-radius:var(--border-radius-md);font-family:var(--font-family-primary)}
/*# sourceMappingURL=main.7a1fc704.css.map*/