:root{--color-primary-900:#0b2618;--color-primary-800:#143d2b;--color-primary-700:#1b4332;--color-primary-600:#245a43;--color-primary-500:#2d6a4f;--color-primary-400:#40916c;--color-primary-300:#52b788;--color-primary-200:#74c69d;--color-primary-100:#b7e4c7;--color-primary-50:#d8f3dc;--color-neutral-950:#0a0a0f;--color-neutral-900:#111118;--color-neutral-800:#1e1e2a;--color-neutral-700:#2e2e3d;--color-neutral-600:#474760;--color-neutral-500:#6b6b85;--color-neutral-400:#9292a8;--color-neutral-300:#b3b3c5;--color-neutral-200:#d4d4e0;--color-neutral-100:#ebebf0;--color-neutral-50:#f5f5f8;--color-white:#fff;--color-success-600:#16a34a;--color-success-500:#22c55e;--color-success-100:#dcfce7;--color-success-50:#f0fdf4;--color-warning-600:#ca8a04;--color-warning-500:#eab308;--color-warning-100:#fef9c3;--color-warning-50:#fefce8;--color-danger-600:#dc2626;--color-danger-500:#ef4444;--color-danger-100:#fee2e2;--color-danger-50:#fef2f2;--color-info-600:#2563eb;--color-info-500:#3b82f6;--color-info-100:#dbeafe;--color-info-50:#eff6ff;--sidebar-width:240px;--sidebar-bg:linear-gradient(180deg, #0b2618 0%, #143d2b 40%, #1b4332 100%);--sidebar-text:#ffffffd9;--sidebar-text-muted:#ffffff80;--sidebar-hover:#ffffff14;--sidebar-active:#ffffff1f;--font-family:var(--font-heebo), "Heebo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.8125rem;--font-size-base:.875rem;--font-size-md: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;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #0000000f, 0 2px 4px -2px #0000000a;--shadow-lg:0 10px 15px -3px #0000000f, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000000f, 0 8px 10px -6px #0000000a;--shadow-glow:0 0 20px #2d6a4f26;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--transition-spring:.4s cubic-bezier(.34, 1.56, .64, 1);--header-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;direction:rtl;overflow-x:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-neutral-800);background-color:var(--color-neutral-50);width:100%;min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none}input,select,textarea{font-family:inherit;font-size:inherit}.app-layout{min-height:100vh;display:flex}.app-sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);height:100vh;color:var(--sidebar-text);z-index:100;transition:right var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow-y:auto}.app-main{margin-right:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.app-content{padding:var(--space-8);flex:1;overflow-y:auto}.sidebar-brand{padding:var(--space-6) var(--space-5);align-items:center;gap:var(--space-3);border-bottom:1px solid #ffffff14;display:flex}.sidebar-brand-logo{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary-400), var(--color-primary-300));width:40px;height:40px;font-size:var(--font-size-lg);color:var(--color-white);flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.sidebar-brand-text h1{font-size:var(--font-size-lg);color:var(--color-white);letter-spacing:.5px;font-weight:700}.sidebar-brand-text p{font-size:var(--font-size-xs);color:var(--sidebar-text-muted);margin-top:2px}.sidebar-nav{padding:var(--space-4) var(--space-3);gap:var(--space-1);flex-direction:column;flex:1;display:flex}.sidebar-nav-item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--sidebar-text);font-size:var(--font-size-base);transition:all var(--transition-fast);font-weight:500;display:flex;position:relative;overflow:hidden}.sidebar-nav-item:before{content:"";background:var(--sidebar-hover);opacity:0;transition:opacity var(--transition-fast);position:absolute;inset:0}.sidebar-nav-item:hover:before{opacity:1}.sidebar-nav-item.active{background:var(--sidebar-active);color:var(--color-white);font-weight:600}.sidebar-nav-item.active:after{content:"";background:var(--color-primary-300);border-radius:var(--radius-full);width:3px;height:60%;position:absolute;top:50%;right:0;transform:translateY(-50%)}.sidebar-nav-icon{width:20px;height:20px;font-size:var(--font-size-md);opacity:.8;flex-shrink:0;justify-content:center;align-items:center;display:flex}.active .sidebar-nav-icon{opacity:1}.sidebar-nav-icon svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:20px;height:20px}.sidebar-nav-group{flex-direction:column;display:flex}.sidebar-nav-group-header{align-items:center;width:100%;display:flex}.sidebar-nav-group-header>.sidebar-nav-item{flex:1;min-width:0}.sidebar-nav-group-toggle{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--sidebar-text-muted);transition:all var(--transition-fast);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;margin-inline-end:var(--space-2);display:flex}.sidebar-nav-group-toggle:hover{color:var(--sidebar-text);background:var(--sidebar-hover)}.sidebar-nav-group-toggle svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;transition:transform var(--transition-fast)}.sidebar-nav-group-toggle.expanded svg{transform:rotate(90deg)}.sidebar-nav-subitems{transition:grid-template-rows var(--transition-base);grid-template-rows:0fr;display:grid;overflow:hidden}.sidebar-nav-subitems.expanded{grid-template-rows:1fr}.sidebar-nav-subitems-inner{min-height:0;overflow:hidden}.sidebar-nav-subitem{align-items:center;gap:var(--space-2);padding:6px var(--space-4) 6px var(--space-10);color:var(--sidebar-text-muted);font-size:var(--font-size-sm);transition:all var(--transition-fast);text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-sm);margin:0 var(--space-2);font-weight:400;display:flex;position:relative;overflow:hidden}.sidebar-nav-subitem:before{content:"";background:var(--sidebar-hover);opacity:0;transition:opacity var(--transition-fast);border-radius:inherit;position:absolute;inset:0}.sidebar-nav-subitem:hover:before{opacity:1}.sidebar-nav-subitem:hover{color:var(--sidebar-text)}.sidebar-nav-subitem.active{color:var(--color-white);background:var(--sidebar-active);font-weight:500}.sidebar-nav-subitem-dot{background:var(--color-success-500);opacity:.7;border-radius:50%;flex-shrink:0;width:6px;height:6px}.sidebar-nav-subitem.active .sidebar-nav-subitem-dot{opacity:1;box-shadow:0 0 6px #22c55e80}.sidebar-nav-subitem-name{text-overflow:ellipsis;white-space:nowrap;z-index:1;min-width:0;position:relative;overflow:hidden}.sidebar-nav-showall{align-items:center;gap:var(--space-2);padding:6px var(--space-4) 6px var(--space-10);color:var(--color-primary-300);font-size:var(--font-size-xs);transition:color var(--transition-fast);margin:0 var(--space-2);border-radius:var(--radius-sm);font-weight:500;display:flex}.sidebar-nav-showall:hover{color:var(--color-primary-200);background:var(--sidebar-hover)}.sidebar-skeleton{padding:4px var(--space-4) 4px var(--space-10);margin:0 var(--space-2)}.sidebar-skeleton-bar{border-radius:var(--radius-full);background:linear-gradient(90deg,#ffffff0a 0%,#ffffff1a 50%,#ffffff0a 100%) 0 0/200% 100%;height:10px;animation:1.5s ease-in-out infinite sidebar-shimmer}@keyframes sidebar-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sidebar-nav-badge{color:var(--sidebar-text-muted);border-radius:var(--radius-full);z-index:1;background:#ffffff1f;margin-inline-start:auto;padding:1px 6px;font-size:10px;font-weight:600;position:relative}.active .sidebar-nav-badge{color:var(--color-white);background:#ffffff2e}.sidebar-footer{padding:var(--space-4) var(--space-5);border-top:1px solid #ffffff14}.sidebar-user{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.sidebar-user-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary-400), var(--color-primary-200));width:36px;height:36px;font-size:var(--font-size-sm);color:var(--color-white);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:var(--font-size-sm);color:var(--color-white);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.sidebar-user-role{font-size:var(--font-size-xs);color:var(--sidebar-text-muted)}.sidebar-logout{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;margin-top:var(--space-2);color:var(--sidebar-text-muted);font-size:var(--font-size-sm);transition:color var(--transition-fast);display:flex}.sidebar-logout:hover{color:var(--color-danger-500)}.app-header{height:var(--header-height);background:var(--color-white);border-bottom:1px solid var(--color-neutral-100);padding:0 var(--space-8);z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-right{align-items:center;gap:var(--space-4);display:flex}.header-title h2{font-size:var(--font-size-xl);color:var(--color-neutral-900);font-weight:700}.header-breadcrumb{font-size:var(--font-size-sm);color:var(--color-neutral-500);align-items:center;gap:var(--space-2);display:flex}.header-left{align-items:center;gap:var(--space-3);display:flex}.header-icon-btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-neutral-600);transition:all var(--transition-fast);font-size:var(--font-size-lg);justify-content:center;align-items:center;display:flex;position:relative}.header-icon-btn:hover{background:var(--color-neutral-50);color:var(--color-neutral-800)}.header-icon-btn .t-badge{top:8px;left:8px;right:auto}.header-icon-btn .badge-dot{background:var(--color-danger-500);border-radius:var(--radius-full);border:2px solid var(--color-white);width:8px;height:8px}.header-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-300));width:36px;height:36px;font-size:var(--font-size-sm);color:var(--color-white);cursor:pointer;transition:transform var(--transition-fast);justify-content:center;align-items:center;font-weight:700;display:flex}.header-avatar:hover{transform:scale(1.05)}.card{background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-neutral-100);box-shadow:var(--shadow-sm);transition:all var(--transition-base);overflow:hidden}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-neutral-100);justify-content:space-between;align-items:center;display:flex}.card-header h3{font-size:var(--font-size-md);color:var(--color-neutral-900);font-weight:700}.card-body{padding:var(--space-5) var(--space-6)}.stats-grid{gap:var(--space-5);margin-bottom:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-neutral-100);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all var(--transition-base);position:relative;overflow:hidden}.stat-card:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.stat-card.stat-primary:before{background:linear-gradient(90deg, var(--color-primary-500), var(--color-primary-300))}.stat-card.stat-success:before{background:linear-gradient(90deg, var(--color-success-600), var(--color-success-500))}.stat-card.stat-warning:before{background:linear-gradient(90deg, var(--color-warning-600), var(--color-warning-500))}.stat-card.stat-danger:before{background:linear-gradient(90deg, var(--color-danger-600), var(--color-danger-500))}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-card-icon{border-radius:var(--radius-md);width:44px;height:44px;font-size:var(--font-size-xl);margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.stat-primary .stat-card-icon{background:var(--color-primary-50);color:var(--color-primary-500)}.stat-success .stat-card-icon{background:var(--color-success-50);color:var(--color-success-600)}.stat-warning .stat-card-icon{background:var(--color-warning-50);color:var(--color-warning-600)}.stat-danger .stat-card-icon{background:var(--color-danger-50);color:var(--color-danger-600)}.stat-card-value{font-size:var(--font-size-3xl);color:var(--color-neutral-900);margin-bottom:var(--space-1);font-weight:800;line-height:1}.stat-card-label{font-size:var(--font-size-sm);color:var(--color-neutral-500);font-weight:500}.stat-card-trend{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);margin-top:var(--space-2);border-radius:var(--radius-full);padding:2px 8px;font-weight:600;display:inline-flex}.stat-card-trend.up{color:var(--color-success-600);background:var(--color-success-50)}.stat-card-trend.down{color:var(--color-danger-600);background:var(--color-danger-50)}.badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);font-size:var(--font-size-xs);white-space:nowrap;transition:all var(--transition-fast);padding:4px 12px;font-weight:600;display:inline-flex}.badge-success{background:var(--color-success-100);color:var(--color-success-600)}.badge-warning{background:var(--color-warning-100);color:var(--color-warning-600)}.badge-danger{background:var(--color-danger-100);color:var(--color-danger-600)}.badge-info{background:var(--color-info-100);color:var(--color-info-600)}.badge-neutral{background:var(--color-neutral-100);color:var(--color-neutral-600)}.badge-dot:before{content:"";border-radius:var(--radius-full);background:currentColor;flex-shrink:0;width:6px;height:6px}.priority{align-items:center;gap:var(--space-1);border-radius:var(--radius-sm);font-size:var(--font-size-xs);padding:3px 10px;font-weight:700;display:inline-flex}.priority-high{background:var(--color-danger-50);color:var(--color-danger-600);border:1px solid var(--color-danger-100)}.priority-medium{background:var(--color-warning-50);color:var(--color-warning-600);border:1px solid var(--color-warning-100)}.priority-low{background:var(--color-success-50);color:var(--color-success-600);border:1px solid var(--color-success-100)}.table-container{border-radius:var(--radius-lg);overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table th{padding:var(--space-3) var(--space-5);font-size:var(--font-size-xs);color:var(--color-neutral-500);text-align:right;text-transform:uppercase;letter-spacing:.5px;background:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-100);white-space:nowrap;font-weight:600}.data-table td{padding:var(--space-4) var(--space-5);font-size:var(--font-size-base);color:var(--color-neutral-800);border-bottom:1px solid var(--color-neutral-100);vertical-align:middle}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-neutral-50)}.data-table tbody tr:last-child td{border-bottom:none}.table-task-name{color:var(--color-neutral-900);font-weight:600}.table-assignee{align-items:center;gap:var(--space-2);display:flex}.table-assignee-avatar{border-radius:var(--radius-full);width:30px;height:30px;font-size:var(--font-size-xs);color:var(--color-white);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.filter-tabs{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.filter-tab{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-neutral-600);background:var(--color-neutral-50);transition:all var(--transition-fast);cursor:pointer;border:1px solid #0000;font-weight:500}.filter-tab:hover{background:var(--color-neutral-100);color:var(--color-neutral-800)}.filter-tab.active{background:var(--color-primary-700);color:var(--color-white);border-color:var(--color-primary-700)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-base);transition:all var(--transition-fast);white-space:nowrap;height:40px;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary-600), var(--color-primary-500));color:var(--color-white);box-shadow:0 2px 8px #1b43324d}.btn-primary:hover{background:linear-gradient(135deg, var(--color-primary-700), var(--color-primary-600));transform:translateY(-1px);box-shadow:0 4px 12px #1b433266}.btn-secondary{background:var(--color-neutral-50);color:var(--color-neutral-700);border:1px solid var(--color-neutral-200)}.btn-secondary:hover{background:var(--color-neutral-100);border-color:var(--color-neutral-300)}.btn-ghost{color:var(--color-neutral-600);padding:var(--space-2) var(--space-3)}.btn-ghost:hover{background:var(--color-neutral-50);color:var(--color-neutral-800)}.btn-lg{height:48px;padding:var(--space-3) var(--space-6);font-size:var(--font-size-md);border-radius:var(--radius-lg)}.btn-sm{height:32px;padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.progress-ring-container{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.progress-ring{width:140px;height:140px;position:relative}.progress-ring svg{transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:var(--color-neutral-100);stroke-width:8px}.progress-ring-fill{fill:none;stroke:var(--color-primary-500);stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset 1s cubic-bezier(.4,0,.2,1)}.progress-ring-text{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.progress-ring-value{font-size:var(--font-size-3xl);color:var(--color-primary-700);font-weight:800;line-height:1}.progress-ring-label{font-size:var(--font-size-xs);color:var(--color-neutral-500);margin-top:4px;font-weight:500}.members-list{gap:var(--space-3);flex-direction:column;display:flex}.member-item{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.member-avatar{border-radius:var(--radius-full);width:36px;height:36px;font-size:var(--font-size-sm);color:var(--color-white);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.member-info{flex:1;min-width:0}.member-name{font-size:var(--font-size-sm);color:var(--color-neutral-800);font-weight:600}.member-role{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.media-grid{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.media-item{aspect-ratio:1;border-radius:var(--radius-md);background:var(--color-neutral-100);cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.media-item:hover{box-shadow:var(--shadow-md);transform:scale(1.03)}.media-item img{object-fit:cover;width:100%;height:100%}.media-item-overlay{color:var(--color-white);font-size:var(--font-size-xl);border-radius:var(--radius-md);background:#00000080;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;inset:0}.media-files{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.media-file-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-neutral-50);transition:background var(--transition-fast);cursor:pointer;display:flex}.media-file-item:hover{background:var(--color-neutral-100)}.media-file-icon{border-radius:var(--radius-sm);width:32px;height:32px;font-size:var(--font-size-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.media-file-icon.pdf{background:var(--color-danger-50);color:var(--color-danger-600)}.media-file-icon.doc{background:var(--color-info-50);color:var(--color-info-600)}.media-file-info{flex:1;min-width:0}.media-file-name{font-size:var(--font-size-sm);color:var(--color-neutral-800);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.media-file-meta{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.project-layout{gap:var(--space-6);grid-template-columns:1fr 280px;align-items:start;display:grid}.project-main{min-width:0}.project-sidebar{gap:var(--space-5);top:calc(var(--header-height) + var(--space-8));flex-direction:column;display:flex;position:sticky}.groups-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.group-card{background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-neutral-100);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all var(--transition-base);cursor:pointer;position:relative}.group-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary-200);transform:translateY(-3px)}.group-card-header{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.group-card-icon{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-300));width:48px;height:48px;font-size:var(--font-size-xl);color:var(--color-white);flex-shrink:0;justify-content:center;align-items:center;display:flex}.group-card-title{font-size:var(--font-size-md);color:var(--color-neutral-900);font-weight:700}.group-card-subtitle{font-size:var(--font-size-xs);color:var(--color-neutral-500);margin-top:2px}.group-card-stats{gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-neutral-100);display:flex}.group-card-stat{text-align:center;flex:1}.group-card-stat-value{font-size:var(--font-size-lg);color:var(--color-neutral-900);font-weight:700}.group-card-stat-label{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.group-card-status{top:var(--space-4);left:var(--space-4);border-radius:var(--radius-full);background:var(--color-success-500);width:10px;height:10px;box-shadow:0 0 0 3px var(--color-success-100);position:absolute}.group-card-status.disconnected{background:var(--color-neutral-400);box-shadow:0 0 0 3px var(--color-neutral-100)}.empty-state{padding:var(--space-16) var(--space-8);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{border-radius:var(--radius-xl);background:var(--color-neutral-50);width:80px;height:80px;font-size:var(--font-size-4xl);margin-bottom:var(--space-5);justify-content:center;align-items:center;display:flex}.empty-state-title{font-size:var(--font-size-xl);color:var(--color-neutral-800);margin-bottom:var(--space-2);font-weight:700}.empty-state-desc{font-size:var(--font-size-base);color:var(--color-neutral-500);max-width:360px;margin-bottom:var(--space-6)}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-title{font-size:var(--font-size-2xl);color:var(--color-neutral-900);font-weight:800}.page-description{font-size:var(--font-size-base);color:var(--color-neutral-500);margin-top:var(--space-1)}.activity-feed{flex-direction:column;display:flex}.activity-item{gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-neutral-100);display:flex}.activity-item:last-child{border-bottom:none}.activity-dot{border-radius:var(--radius-full);flex-shrink:0;width:8px;height:8px;margin-top:6px}.activity-content{flex:1}.activity-text{font-size:var(--font-size-sm);color:var(--color-neutral-700);line-height:1.5}.activity-text strong{color:var(--color-neutral-900);font-weight:600}.activity-time{font-size:var(--font-size-xs);color:var(--color-neutral-400);margin-top:2px}.settings-layout{gap:var(--space-8);grid-template-columns:220px 1fr;display:grid}.settings-nav{gap:var(--space-1);flex-direction:column;display:flex}.settings-nav-item{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-neutral-600);transition:all var(--transition-fast);cursor:pointer;font-weight:500}.settings-nav-item:hover{background:var(--color-neutral-100);color:var(--color-neutral-800)}.settings-nav-item.active{background:var(--color-primary-50);color:var(--color-primary-700);font-weight:600}.settings-section{margin-bottom:var(--space-8)}.settings-section-title{font-size:var(--font-size-lg);color:var(--color-neutral-900);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-neutral-100);font-weight:700}.form-group{margin-bottom:var(--space-5)}.form-label{font-size:var(--font-size-sm);color:var(--color-neutral-700);margin-bottom:var(--space-2);font-weight:600;display:block}.form-input{width:100%;height:42px;padding:0 var(--space-4);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-neutral-800);background:var(--color-white);transition:all var(--transition-fast)}.form-input:focus{border-color:var(--color-primary-400);outline:none;box-shadow:0 0 0 3px #2d6a4f1a}.form-input::placeholder{color:var(--color-neutral-400)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--transition-base) ease both}.animate-slide-up{animation:slideUp var(--transition-slow) ease both}.animate-slide-right{animation:slideRight var(--transition-slow) ease both}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:60ms}.stagger>:nth-child(3){animation-delay:.12s}.stagger>:nth-child(4){animation-delay:.18s}.stagger>:nth-child(5){animation-delay:.24s}.stagger>:nth-child(6){animation-delay:.3s}.stagger>:nth-child(7){animation-delay:.36s}.stagger>:nth-child(8){animation-delay:.42s}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.project-layout{grid-template-columns:1fr}.project-sidebar{grid-template-columns:repeat(2,1fr);display:grid;position:static}.settings-layout{grid-template-columns:1fr}}@media (max-width:768px){.app-sidebar{right:calc(-1 * var(--sidebar-width));transform:none}.app-sidebar.open{right:0}.app-main{width:100%;min-width:0;max-width:100vw;margin-right:0}.app-content{padding:var(--space-4);overflow-x:hidden}.app-header{padding:0 var(--space-4)}.stats-grid{gap:var(--space-3);grid-template-columns:1fr 1fr}.project-sidebar,.groups-grid{grid-template-columns:1fr}.filter-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.page-header{flex-direction:column;align-items:flex-start}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}}.mobile-menu-toggle{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-neutral-700);font-size:var(--font-size-xl);justify-content:center;align-items:center;display:none}@media (max-width:768px){.mobile-menu-toggle{display:flex}}.sidebar-overlay{z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;display:none;position:fixed;inset:0}@media (max-width:768px){.sidebar-overlay.visible{display:block}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}::selection{background:var(--color-primary-100);color:var(--color-primary-900)}:root{--badge-slide-dur:.26s;--badge-pop-dur:.5s;--badge-pop-close-dur:.18s;--badge-fade-dur:.4s;--badge-fade-close-dur:.18s;--badge-blur:2px;--badge-offset-x:-8.2px;--badge-offset-y:12.4px;--badge-slide-ease:cubic-bezier(.22, 1, .36, 1);--badge-pop-ease:cubic-bezier(.34, 1.36, .64, 1);--badge-close-ease:cubic-bezier(.4, 0, .2, 1)}@keyframes t-badge-slide-in{0%{transform:translate(var(--badge-offset-x), var(--badge-offset-y))}to{transform:translate(0)}}.t-badge{pointer-events:none;will-change:transform;position:absolute;top:-6px;right:-8px}.t-badge[data-open=true]{animation:t-badge-slide-in var(--badge-slide-dur) var(--badge-slide-ease)}.t-badge-dot{transform-origin:50%;opacity:1;filter:blur();transition:transform var(--badge-pop-dur) var(--badge-pop-ease), opacity var(--badge-fade-dur) var(--badge-pop-ease), filter var(--badge-pop-dur) var(--badge-pop-ease);will-change:transform, opacity, filter;display:block;transform:scale(1)}.t-badge[data-open=false] .t-badge-dot{opacity:0;filter:blur(var(--badge-blur));transition:transform var(--badge-pop-close-dur) var(--badge-close-ease), opacity var(--badge-fade-close-dur) var(--badge-close-ease), filter var(--badge-pop-close-dur) var(--badge-close-ease);transform:scale(0)}@media (prefers-reduced-motion:reduce){.t-badge,.t-badge-dot{transition:none!important;animation:none!important}}.analytics-range-selector{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.analytics-cost-value{font-variant-numeric:tabular-nums}.analytics-cost-row{transition:background var(--transition-fast)}.analytics-cost-row:hover{background:var(--color-neutral-50)!important}.analytics-cost-row:nth-child(4n+3),.analytics-cost-row:nth-child(4n+4){background:#00000004}.analytics-sort-active{position:relative;color:var(--color-primary-700)!important}.analytics-sort-active:after{content:"";background:var(--color-primary-500);border-radius:2px;height:2px;position:absolute;bottom:0;left:0;right:0}.analytics-mini-bar{background:var(--color-neutral-100);border-radius:3px;min-width:40px;height:6px;overflow:hidden}.analytics-mini-bar-fill{border-radius:3px;height:100%;transition:width .5s}.analytics-detail-row td{background:var(--color-neutral-50)!important;border-bottom:2px solid var(--color-neutral-200)!important;padding:var(--space-4) var(--space-5)!important}.analytics-detail-grid{gap:var(--space-3);grid-template-columns:repeat(5,1fr);display:grid}.analytics-detail-item{padding:var(--space-2) var(--space-3);background:var(--color-white);border-radius:var(--radius-sm);border:1px solid var(--color-neutral-100);flex-direction:column;gap:2px;display:flex}.analytics-detail-label{font-size:var(--font-size-xs);color:var(--color-neutral-400);font-weight:500}.analytics-detail-value{font-size:var(--font-size-sm);color:var(--color-neutral-800);font-variant-numeric:tabular-nums;font-weight:700}.analytics-timeline{height:160px;padding:var(--space-2) 0;align-items:flex-end;gap:2px;display:flex;overflow-x:auto}.analytics-timeline-bar-group{flex-direction:column;flex:1;align-items:center;min-width:12px;height:100%;display:flex}.analytics-timeline-bars{flex:1;align-items:flex-end;gap:1px;width:100%;display:flex}.analytics-timeline-bar{border-radius:2px 2px 0 0;flex:1;min-height:2px;transition:height .4s}.analytics-bar-messages{background:var(--color-primary-400);opacity:.8}.analytics-bar-tasks{background:var(--color-warning-500);opacity:.9}.analytics-timeline-bar-group:hover .analytics-timeline-bar{opacity:1;filter:brightness(1.1)}.analytics-timeline-label{color:var(--color-neutral-400);white-space:nowrap;transform-origin:100% 0;margin-top:4px;font-size:9px;transform:rotate(-30deg)}.analytics-health-item{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:var(--space-4);transition:all var(--transition-fast);border:1px solid #0000;display:flex}.analytics-health-item:hover{transform:translate(-2px)}.analytics-health-warning{background:#fffbeb;border-color:#fde68a}.analytics-health-critical{background:#fef2f2;border-color:#fecaca}.analytics-health-dot{border-radius:var(--radius-full);flex-shrink:0;width:10px;height:10px}.analytics-health-dot-warning{background:#f59e0b;box-shadow:0 0 6px #f59e0b66}.analytics-health-dot-critical{background:#ef4444;animation:2s infinite health-pulse;box-shadow:0 0 6px #ef444466}@keyframes health-pulse{0%,to{box-shadow:0 0 6px #ef444466}50%{box-shadow:0 0 12px #ef444499}}.analytics-flag{border-radius:var(--radius-full);font-size:var(--font-size-xs);white-space:nowrap;align-items:center;gap:4px;padding:2px 8px;font-weight:500;display:inline-flex}.analytics-flag-warning{color:#92400e;background:#fef3c7}.analytics-flag-critical{color:#991b1b;background:#fee2e2}.stat-card.stat-info:before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.stat-card.stat-info .stat-card-icon{color:#7c3aed;background:#f5f3ff}@media (max-width:1200px){.analytics-detail-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.analytics-detail-grid{grid-template-columns:repeat(2,1fr)}.analytics-timeline{height:120px}}@media (max-width:768px){.analytics-dashboard .stats-grid{grid-template-columns:repeat(2,1fr)!important}.analytics-detail-grid{grid-template-columns:1fr 1fr}.data-table{font-size:var(--font-size-xs)}.analytics-health-item{flex-direction:column;align-items:flex-start}}.kanban-grid{gap:var(--space-5);grid-template-columns:repeat(3,1fr);align-items:start;display:grid}@media (max-width:1024px){.kanban-grid{gap:var(--space-3);grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.kanban-container{max-width:100%;overflow:hidden;padding:var(--space-2)!important;border-radius:var(--radius-md)!important}.kanban-wrapper{min-width:0;max-width:100%;padding:var(--space-1) 0!important}.kanban-grid{flex-direction:column;gap:0;min-width:0;max-width:100%;display:flex}.kanban-column{word-break:break-word;min-width:0;max-width:100%;overflow:hidden;border-radius:12px!important;min-height:40vh!important}.kanban-column>div:first-child{border-radius:12px 12px 0 0}}.calendar-layout{gap:var(--space-6);display:grid}@media (max-width:768px){.calendar-layout{grid-template-columns:1fr!important}.calendar-cell{min-height:48px!important;padding:4px!important}.calendar-cell .calendar-task-preview{display:none}.calendar-panel{max-height:none!important;position:static!important}}@media (max-width:480px){.calendar-cell{min-height:40px!important;padding:2px!important}}@media (max-width:768px){.settings-layout{gap:var(--space-4);grid-template-columns:1fr!important}.settings-nav{-webkit-overflow-scrolling:touch;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-neutral-100);margin-bottom:var(--space-2);flex-direction:row;overflow-x:auto}.settings-nav-item{white-space:nowrap;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);flex-shrink:0}.settings-nav::-webkit-scrollbar{display:none}}.admin-org-stats{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:768px){.admin-org-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.admin-org-stats{gap:var(--space-2);grid-template-columns:1fr 1fr}}.admin-edit-plan-grid{gap:var(--space-3);grid-template-columns:repeat(5,1fr);display:grid}@media (max-width:1024px){.admin-edit-plan-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.admin-edit-plan-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.admin-edit-plan-grid{grid-template-columns:1fr}}.admin-two-col-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}@media (max-width:600px){.admin-two-col-grid{grid-template-columns:1fr}}.admin-three-col-grid{gap:var(--space-3);grid-template-columns:1fr 1fr 1fr;display:grid}@media (max-width:768px){.admin-three-col-grid{grid-template-columns:1fr}}.admin-action-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:768px){.card-header{gap:var(--space-2);flex-wrap:wrap}.card-header-badges{flex-wrap:wrap;gap:var(--space-2)!important}.admin-limits-grid{grid-template-columns:1fr 1fr!important}}.admin-cron-bar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.team-add-grid{gap:var(--space-3);grid-template-columns:2fr 1fr 1fr auto;align-items:flex-end;display:grid}@media (max-width:768px){.team-add-grid{grid-template-columns:1fr 1fr}.team-add-grid>:last-child{grid-column:1/-1}}@media (max-width:480px){.team-add-grid{grid-template-columns:1fr}}.team-edit-form{gap:var(--space-3);flex-wrap:wrap;flex:1;align-items:center;display:flex}@media (max-width:768px){.team-edit-form{flex-direction:column;align-items:stretch}.team-edit-form input{width:100%!important;min-width:0!important}.team-member-card-body{align-items:flex-start!important;gap:var(--space-3)!important;flex-direction:column!important}.team-member-card-body .team-member-actions{align-self:flex-end}}.notification-dropdown{border:1px solid var(--color-neutral-100);z-index:1000;background:#fff;border-radius:12px;width:380px;max-height:480px;animation:.2s slideDown;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 10px 40px #00000026,0 2px 10px #00000014}@media (max-width:768px){.notification-dropdown{top:var(--header-height);left:var(--space-3);right:var(--space-3);width:auto;max-height:calc(100vh - var(--header-height) - var(--space-6));border-radius:var(--radius-lg);position:fixed}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.participant-input-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}@media (max-width:480px){.participant-input-grid{grid-template-columns:1fr}}.participant-footer{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}@media (max-width:480px){.participant-footer{flex-direction:column-reverse;align-items:stretch}.participant-footer>div:last-child{gap:var(--space-2);display:flex}.participant-footer>div:last-child .btn{flex:1}}.participant-stats-bar{gap:var(--space-6);display:flex}@media (max-width:480px){.participant-stats-bar{gap:var(--space-3);flex-wrap:wrap}}.monitor-card-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}@media (max-width:768px){.monitor-card-actions{justify-content:flex-start;width:100%}}.project-tabs{gap:var(--space-2);background:var(--color-white);border:1px solid var(--color-neutral-100);margin-bottom:var(--space-6);border-radius:100px;padding:6px;display:inline-flex;box-shadow:0 2px 8px #00000005}.project-tab-item{font-size:var(--font-size-sm);color:var(--color-neutral-500);border-radius:100px;align-items:center;gap:6px;padding:8px 16px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.project-tab-item:hover{color:var(--color-neutral-700);background:var(--color-neutral-50)}.project-tab-item.active{background:var(--color-primary-50);color:var(--color-primary-600);box-shadow:0 1px 3px #0000000a}@media (max-width:768px){.project-tabs{-webkit-overflow-scrolling:touch;margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));padding:var(--space-2) var(--space-4);box-shadow:none;gap:var(--space-3);background:0 0;border-top:none;border-left:none;border-right:none;border-radius:0;flex-wrap:nowrap;display:flex;overflow-x:auto}.project-tabs::-webkit-scrollbar{display:none}.project-tab-item{white-space:nowrap;border:1px solid var(--color-neutral-100);background:#fff;border-radius:20px;flex-shrink:0;padding:8px 16px;box-shadow:0 1px 2px #00000005}.project-tab-item.active{background:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600);box-shadow:0 4px 12px #2563eb33}}@media (max-width:480px){.gallery-grid{gap:var(--space-3)!important;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important}}@media (max-width:768px){.group-row{gap:var(--space-2)!important;padding:var(--space-3)!important;flex-wrap:wrap!important}.group-row-actions{gap:var(--space-2);width:100%;margin-top:var(--space-1);justify-content:flex-end;display:flex}}.tasks-by-status-section{background:var(--color-white);border-radius:var(--radius-lg);border:1px solid var(--color-neutral-100);padding:var(--space-6);box-shadow:var(--shadow-sm);margin-bottom:var(--space-8)}.tasks-by-status-header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.tasks-by-status-title{font-size:var(--font-size-xl);color:var(--color-neutral-900);margin:0;font-weight:700}.tasks-by-status-total{font-size:var(--font-size-sm);color:var(--color-neutral-400);background:var(--color-neutral-50);border-radius:var(--radius-full);padding:4px 12px;font-weight:500}.status-bar-container{border-radius:var(--radius-full);background:var(--color-neutral-100);height:10px;margin-bottom:var(--space-5);gap:2px;display:flex;overflow:hidden}.status-bar-segment{border-radius:var(--radius-full);min-width:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}.status-cards-grid{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.status-detail-card{background:var(--status-bg);border-radius:var(--radius-md);padding:var(--space-4);text-align:center;border:1px solid #0000;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.status-detail-card:before{content:"";background:var(--status-accent);border-radius:var(--radius-md) var(--radius-md) 0 0;height:3px;position:absolute;top:0;left:0;right:0}.status-detail-card:hover{box-shadow:var(--shadow-md);border-color:var(--status-accent);transform:translateY(-2px)}.status-detail-icon{font-size:var(--font-size-xl);margin-bottom:var(--space-2)}.status-detail-value{font-size:var(--font-size-3xl);color:var(--status-color);margin-bottom:var(--space-1);font-weight:800;line-height:1}.status-detail-label{font-size:var(--font-size-sm);color:var(--status-color);margin-bottom:var(--space-1);font-weight:600}.status-detail-pct{font-size:var(--font-size-xs);color:var(--status-color);opacity:.7;font-weight:500}.project-card-enhanced:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.project-status-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.project-status-chip{font-size:var(--font-size-xs);border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;font-weight:600;display:inline-flex}.project-status-chip-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.dashboard-projects-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}@media (max-width:1024px){.status-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.tasks-by-status-section{padding:var(--space-4)}.tasks-by-status-header{align-items:flex-start;gap:var(--space-2);flex-direction:column}.status-cards-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr)}.status-detail-value{font-size:var(--font-size-2xl)}}@media (max-width:480px){.dashboard-projects-grid{gap:var(--space-4);grid-template-columns:1fr}.status-cards-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr)}.status-detail-card{padding:var(--space-3)}.status-detail-value{font-size:var(--font-size-xl)}.status-detail-icon{font-size:var(--font-size-md)}.project-status-chips{gap:var(--space-1)}.project-status-chip{padding:2px 7px;font-size:.65rem}}@media (max-width:768px){.btn{min-height:44px;padding:var(--space-3) var(--space-4)}.btn-sm{min-height:36px;padding:var(--space-2) var(--space-3)}.page-title{font-size:var(--font-size-xl)}.stat-card-value{font-size:var(--font-size-2xl)}.form-input{height:46px;font-size:var(--font-size-md)}.card-body,.card-header{padding:var(--space-4)}.header-title h2{font-size:var(--font-size-lg);white-space:nowrap;text-overflow:ellipsis;max-width:50vw;overflow:hidden}.quick-actions-bar{flex-direction:column;align-items:flex-start!important}.wa-banner{text-align:center;flex-direction:column!important}.org-card-header{align-items:flex-start!important;gap:var(--space-3)!important;flex-direction:column!important}.org-card-badges{align-self:flex-start}}@media (max-width:480px){.stat-card-value{font-size:var(--font-size-xl)}.stat-card{padding:var(--space-4)}.stat-card-icon{width:36px;height:36px;margin-bottom:var(--space-3)}.header-title h2{font-size:var(--font-size-md);max-width:40vw}}@media (max-width:768px){.empty-state{padding:var(--space-8) var(--space-4)}.empty-state-icon{width:64px;height:64px;font-size:var(--font-size-3xl)}}.gallery-card{transition:transform .2s,box-shadow .2s}.gallery-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.gallery-zoom-icon{color:#fff;opacity:0;pointer-events:none;background:#00000080;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .2s;display:flex;position:absolute;top:8px;left:8px}.gallery-card:hover .gallery-zoom-icon{opacity:1}.lightbox-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000e0;justify-content:center;align-items:center;animation:.25s lightbox-fade-in;display:flex;position:fixed;inset:0}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;animation:.25s lightbox-scale-in;display:flex;position:relative}@keyframes lightbox-scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.lightbox-image{object-fit:contain;border-radius:var(--radius-lg);max-width:90vw;max-height:78vh;box-shadow:0 20px 60px #0006}.lightbox-close{color:#fff;cursor:pointer;z-index:10;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .2s,transform .2s;display:flex;position:fixed;top:16px;right:16px}.lightbox-close:hover{background:#ffffff40;transform:scale(1.1)}.lightbox-nav{color:#fff;cursor:pointer;z-index:10;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:background .2s,transform .2s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#ffffff40;transform:translateY(-50%)scale(1.1)}.lightbox-nav-prev{right:16px}.lightbox-nav-next{left:16px}.lightbox-info{margin-top:var(--space-4);text-align:center;color:#ffffffe6;max-width:600px}.lightbox-caption{font-size:var(--font-size-base);margin-bottom:var(--space-2);line-height:1.5}.lightbox-meta{gap:var(--space-4);font-size:var(--font-size-sm);color:#fff9;justify-content:center;display:flex}@media (max-width:768px){.lightbox-image{border-radius:var(--radius-md);max-width:96vw;max-height:70vh}.lightbox-nav{width:40px;height:40px}.lightbox-nav-prev{right:8px}.lightbox-nav-next{left:8px}.lightbox-close{top:8px;right:8px}.lightbox-info{padding:0 var(--space-3)}}
