.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:900;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;width:260px;background:var(--bg-elevated);display:flex;flex-direction:column;z-index:950;transition:transform .3s ease}.sidebar-close{display:none}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem .75rem}.sidebar-logo{display:flex;align-items:center;gap:.625rem;text-decoration:none}.logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.125rem;color:#fff;flex-shrink:0}.logo-text{font-weight:700;font-size:1rem;color:var(--text);letter-spacing:-.02em}.logo-accent{color:var(--accent-l);font-weight:600}.sidebar-nav{flex:1;padding:.5rem .75rem;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;border-radius:var(--radius-sm);color:var(--text-2);font-size:.875rem;font-weight:500;transition:all var(--transition-fast);text-decoration:none}.sidebar-link:hover{background:var(--border);color:var(--text)}.sidebar-link--active{background:#3b82f61f;color:var(--accent-l)}.sidebar-link--active:hover{background:#3b82f62e}.sidebar-badge{margin-inline-start:auto;background:var(--rose, #f43f5e);color:#fff;font-size:.625rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px;line-height:1}.sidebar-footer{padding:.75rem;border-top:1px solid var(--border)}.sidebar-settings-wrap{position:relative;display:flex;justify-content:center;padding-bottom:.75rem}.sidebar-settings-trigger{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--surface);color:var(--text-2);border:1px solid var(--border);cursor:pointer;transition:all .3s ease}.sidebar-settings-trigger:hover{background:var(--border);color:var(--primary);border-color:var(--primary);transform:scale(1.1)}.spin-gear{animation:spinGear .5s ease-out}@keyframes spinGear{0%{transform:rotate(0)}to{transform:rotate(90deg)}}.sidebar-settings-popup{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:.5rem;min-width:200px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:settingsSlideUp .25s ease-out;z-index:100}[dir=rtl] .sidebar-settings-popup{left:auto;right:50%;transform:translate(50%)}@keyframes settingsSlideUp{0%{opacity:0;transform:translate(-50%) translateY(8px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.settings-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .875rem;border-radius:var(--radius-sm);color:var(--text-2);font-size:.8125rem;font-weight:500;background:none;border:none;cursor:pointer;transition:all .2s ease;text-align:start}.settings-item:hover{background:#3b82f614;color:var(--primary)}.settings-item svg{flex-shrink:0}.lang-label{font-size:.75rem;font-weight:700}.sidebar-user{display:flex;align-items:center;gap:.75rem;padding:.625rem;border-radius:var(--radius-sm);background:var(--surface)}.sidebar-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.875rem}.sidebar-avatar img{width:100%;height:100%;object-fit:cover}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:.8125rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-email{font-size:.6875rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout{padding:.375rem;border-radius:var(--radius-sm);color:var(--muted);transition:all var(--transition-fast)}.sidebar-logout:hover{color:var(--rose);background:#f43f5e1a}.sidebar-user-dropdown-floating{position:absolute;bottom:calc(100% + 8px);left:0;width:100%;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:.5rem;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:100;animation:slideUpFade .2s ease-out forwards;transform-origin:bottom center}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1024px){.sidebar-overlay{display:block}.sidebar{transform:translate(-100%)}[dir=rtl] .sidebar{transform:translate(100%)}.sidebar--open{transform:translate(0)!important}.sidebar-close{display:flex;align-items:center;justify-content:center;padding:.375rem;border-radius:var(--radius-sm);color:var(--muted);transition:color var(--transition-fast)}.sidebar-close:hover{color:var(--text)}}.modal-overlay{position:fixed;inset:0;background:#0009;z-index:9999;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;overflow:hidden;animation:slideUp .25s ease}.modal-header h3{font-size:1rem;font-weight:700}.modal-header button{padding:.25rem;color:var(--muted);border-radius:var(--radius-sm)}.modal-header button:hover{color:var(--text)}.modal-success{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:var(--primary);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.8125rem;text-align:center}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.topbar{display:flex;align-items:center;padding:0 1.5rem;height:56px;gap:.5rem;border-bottom:1px solid var(--border);background:var(--bg-elevated);position:sticky;top:0;z-index:var(--z-sticky);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.topbar-menu{display:none;padding:.4rem;border-radius:var(--radius-sm);color:var(--text-2);transition:color var(--transition-fast);flex-shrink:0}.topbar-menu:hover{color:var(--text)}.topbar-spacer{flex:1}.topbar-actions{display:flex;align-items:center;gap:.25rem;position:relative;flex-shrink:0}.topbar-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);color:var(--text-2);transition:all var(--transition-fast);position:relative;flex-shrink:0}.topbar-btn:hover{background:var(--border);color:var(--text)}.topbar-lang-btn{width:auto;padding:0 .625rem;gap:.3rem;font-size:.75rem;font-weight:700}.topbar-lang-label{font-size:.7rem;font-weight:700;letter-spacing:.03em}.notif-badge{position:absolute;top:4px;right:4px;background:var(--rose);color:#fff;font-size:.6rem;font-weight:700;min-width:15px;height:15px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}[dir=rtl] .notif-badge{right:auto;left:4px}.notif-dropdown{position:fixed;top:56px;right:1rem;width:min(360px,calc(100vw - 2rem));max-height:min(480px,calc(100dvh - 72px));background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;animation:fadeIn .15s ease;z-index:var(--z-modal)}[dir=rtl] .notif-dropdown{right:auto;left:1rem}.notif-header{padding:.75rem 1rem;font-weight:600;font-size:.875rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.notif-header-actions{display:flex;gap:.25rem}.notif-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--muted);transition:all var(--transition-fast);background:none;border:none;cursor:pointer}.notif-action-btn:hover{background:var(--surface);color:var(--text)}.notif-action-btn--danger:hover{color:var(--rose, #f43f5e)}.notif-list{overflow-y:auto;flex:1;overscroll-behavior:contain}.notif-item{padding:.65rem 1rem;border-bottom:1px solid var(--border);transition:background var(--transition-fast)}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface)}.notif-item--unread{background:#3b82f60f}.notif-item-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.2rem}.notif-type-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.notif-msg{font-size:.8125rem;color:var(--text);line-height:1.4}.notif-time{font-size:.65rem;color:var(--muted);flex-shrink:0;margin-inline-start:.5rem}.notif-empty{padding:2rem;text-align:center;color:var(--muted);font-size:.875rem}@media(max-width:1024px){.topbar-menu{display:flex}.topbar{padding:0 1rem}}@media(max-width:600px){.topbar{padding:0 .75rem;height:52px;gap:.25rem}.topbar-btn{width:34px;height:34px}.notif-dropdown{right:.5rem;width:calc(100vw - 1rem);top:52px}[dir=rtl] .notif-dropdown{right:auto;left:.5rem}}@media(max-width:360px){.topbar{padding:0 .5rem}.notif-dropdown{right:.25rem;width:calc(100vw - .5rem)}}.app-layout{display:flex;min-height:100vh;position:relative}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;margin-inline-start:260px;transition:margin .3s ease}.app-content{flex:1;padding:1.5rem 2rem 3rem;max-width:1600px;width:100%;margin:0 auto}@media(max-width:1024px){.app-main{margin-inline-start:0}}@media(max-width:768px){.app-content{padding:1rem}}.staff-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:staffOverlayIn .25s ease;padding:1rem}@keyframes staffOverlayIn{0%{opacity:0}to{opacity:1}}.staff-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg, 16px);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px #00000040,0 0 0 1px #ffffff0d;animation:staffModalIn .3s cubic-bezier(.16,1,.3,1)}@keyframes staffModalIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.staff-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.5rem 1.5rem 0;gap:1rem}.staff-modal-header-content{display:flex;align-items:flex-start;gap:.75rem}.staff-modal-icon-wrap{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--sky, #38bdf8));color:#fff;flex-shrink:0}.staff-modal-header h2{font-size:1.2rem;font-weight:700;margin:0;color:var(--text);line-height:1.3}.staff-modal-header p{font-size:.85rem;color:var(--muted);margin:.15rem 0 0}.staff-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:all .2s;flex-shrink:0}.staff-modal-close:hover{background:var(--border);color:var(--text)}.staff-modal-form{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.staff-form-group{display:flex;flex-direction:column;gap:.35rem}.staff-form-group label{font-size:.85rem;font-weight:600;color:var(--text)}.staff-form-group label .req{color:var(--rose, #f43f5e)}.staff-form-group input,.staff-form-group select{padding:.65rem .85rem;border-radius:var(--radius, 8px);border:1.5px solid var(--border);background:var(--bg);color:var(--text);font-size:.9rem;transition:border-color .2s,box-shadow .2s;font-family:inherit;width:100%}.staff-form-group input:focus,.staff-form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #10b98126}.staff-form-group input::placeholder{color:var(--muted)}.staff-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:480px){.staff-form-row{grid-template-columns:1fr}}.staff-form-error{padding:.6rem .85rem;border-radius:var(--radius-sm, 6px);background:#f43f5e1a;color:var(--rose, #f43f5e);font-size:.85rem;font-weight:500}.staff-submit-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.25rem;font-weight:600}.staff-modal-success{padding:2.5rem 1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem}.staff-success-icon{color:var(--green, #22c55e);animation:staffSuccessPop .4s cubic-bezier(.16,1,.3,1)}@keyframes staffSuccessPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.staff-modal-success h3{font-size:1.25rem;font-weight:700;color:var(--text);margin:0}.staff-modal-success p{font-size:.9rem;color:var(--muted);max-width:360px;line-height:1.5;margin:0}.staff-modal-success .btn{margin-top:.75rem;min-width:120px}.staff-modal .spin{animation:spin .8s linear infinite}.landing{min-height:100vh}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.landing-nav-inner{display:flex;align-items:center;justify-content:space-between;height:60px}.landing-logo{display:flex;align-items:center;gap:.75rem;font-size:1.125rem;font-weight:400;letter-spacing:-.01em}.landing-logo strong{font-weight:800;background:linear-gradient(135deg,var(--primary-l),var(--accent-l));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-icon{width:36px;height:36px;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1rem}.landing-nav-links{display:flex;align-items:center;gap:.75rem;flex-shrink:0}@media(max-width:480px){.landing-nav-links .nav-link{display:none}.landing-nav-links{gap:.4rem}}.nav-link{display:flex;align-items:center;gap:6px;font-weight:500;font-size:.875rem;color:var(--text-2);transition:color var(--transition-fast)}.nav-link:hover{color:var(--text)}.hero{position:relative;padding:10rem 0 5rem;text-align:center;overflow:hidden}.hero-inner{position:relative;z-index:1}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 16px;background:#3b82f61a;border:1px solid rgba(59,130,246,.28);border-radius:var(--radius-full);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-xl);margin-bottom:2rem;opacity:0}.hero-badge-dot{width:6px;height:6px;background:var(--primary);border-radius:50%;animation:pulse 2s infinite}.hero-title{font-size:clamp(2.25rem,5vw,4rem);font-weight:800;line-height:1.1;margin-bottom:1.25rem;letter-spacing:-.03em;opacity:0;max-width:820px;margin-left:auto;margin-right:auto}.hero-desc{font-size:1.08rem;color:var(--text-2);max-width:560px;margin:0 auto 2.75rem;line-height:1.75;opacity:0}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;opacity:0}.hero-orbit{position:absolute;border-radius:50%;border:1px solid rgba(59,130,246,.12);pointer-events:none;top:50%;left:50%}.hero-orbit--1{width:500px;height:500px;animation:orbitSpin 22s linear infinite}.hero-orbit--2{width:750px;height:750px;animation:orbitSpin 36s linear infinite reverse}@keyframes orbitSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;animation:float 6s ease-in-out infinite}.hero-orb--1{width:400px;height:400px;background:#3b82f614;top:-100px;left:-100px}.hero-orb--2{width:350px;height:350px;background:#3b82f614;top:50px;right:-80px;animation-delay:2s}.hero-orb--3{width:250px;height:250px;background:#22d3ee0f;bottom:-50px;left:30%;animation-delay:4s}.hero-bg-grid{position:absolute;inset:-40px 0 0;background-image:linear-gradient(to right,rgba(167,139,250,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(59,130,246,.05) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(to bottom,black 50%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 50%,transparent 100%);pointer-events:none;z-index:0;animation:bgGridMove 20s linear infinite}@keyframes bgGridMove{0%{transform:translateY(0)}to{transform:translateY(40px)}}.hero-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;max-width:680px;margin:4rem auto 0;opacity:0}.stat-pill{flex:1;min-width:150px;max-width:200px;text-align:center;padding:1.25rem .5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);position:relative;overflow:hidden}.stat-pill:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top,rgba(167,139,250,.1),transparent 70%);opacity:0;transition:opacity .3s ease}.stat-pill:hover:before{opacity:1}.stat-pill-num{font-size:2rem;font-weight:800;line-height:1}.stat-pill-label{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;border-radius:var(--radius-full);transition:all var(--transition-base);white-space:nowrap}.btn-sm{padding:.5rem 1rem;font-size:.8125rem}.btn-md{padding:.625rem 1.25rem;font-size:.875rem}.btn-lg{padding:.75rem 1.75rem;font-size:.9375rem}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--accent-d));color:#fff;box-shadow:0 4px 16px #3b82f640}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f659}.btn-outline{border:1px solid var(--border);color:var(--text)}.btn-outline:hover{border-color:var(--border-hover);background:var(--surface)}.btn-ghost{color:var(--text-2)}.btn-ghost:hover{color:var(--text);background:var(--surface)}.btn-danger{background:var(--rose);color:#fff}.btn-danger:hover{filter:brightness(1.15);transform:translateY(-1px)}.btn-success{background:var(--green);color:#fff;box-shadow:0 4px 16px #22c55e40}.btn-success:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 20px #22c55e59}.btn-teal{background:#14b8a626;color:var(--teal);border:1px solid rgba(20,184,166,.3)}.btn-teal:hover{background:#14b8a640;transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--border-hover);background:var(--card)}.btn-outline{background:transparent;color:var(--primary-l);border:1px solid var(--primary-l)}.btn-outline:hover{background:#3b82f61a}.btn-xs{padding:.3rem .65rem;font-size:.72rem}.hero-cta{padding:.875rem 2rem;font-size:1rem}.section{padding:5rem 0}.section-header{text-align:center;margin-bottom:3.5rem}.section-title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800;letter-spacing:-.02em;margin-bottom:.75rem}.section-subtitle{font-size:1rem;color:var(--text-2);max-width:500px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;opacity:0;transition:all var(--transition-base)}.feature-card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:var(--shadow-md)}.feature-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.feature-card h3{font-size:1rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-.01em}.feature-card p{font-size:.84rem;color:var(--text-2);line-height:1.7}.steps-section{background:linear-gradient(180deg,transparent,rgba(59,130,246,.04),transparent)}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}.how-line{position:absolute;top:26px;left:calc(12.5% + 16px);right:calc(12.5% + 16px);height:1px;background:linear-gradient(90deg,var(--accent),var(--primary));opacity:.25;pointer-events:none}[dir=rtl] .how-line{left:calc(12.5% + 16px);right:calc(12.5% + 16px)}.step-card{text-align:center;opacity:0}.step-num{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:800;margin:0 auto 1.25rem;color:#fff}.step-num.c1{background:linear-gradient(135deg,var(--accent),#6d28d9);box-shadow:0 6px 20px #3b82f666}.step-num.c2{background:linear-gradient(135deg,#6d28d9,var(--accent));box-shadow:0 6px 20px #6d28d959}.step-num.c3{background:linear-gradient(135deg,var(--accent),var(--primary));box-shadow:0 6px 20px #3b82f64d}.step-num.c4{background:linear-gradient(135deg,var(--primary),var(--primary-d));box-shadow:0 6px 20px #3b82f659}.step-card h3{font-size:.95rem;font-weight:700;margin-bottom:.4rem}.step-card p{font-size:.8rem;color:var(--text-2);line-height:1.65}.marquee-section{padding:2.5rem 0;overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.marquee-track{white-space:nowrap;animation:marquee 28s linear infinite;display:inline-block}.marquee-text{display:inline-block;margin:0;color:var(--muted);font-weight:500;font-size:.84rem;padding:0 2.5rem}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.cta-section{padding:6rem 0}.cta-card{max-width:700px;margin:0 auto;padding:4rem;text-align:center;background:linear-gradient(135deg,#3b82f61a,#3b82f612);border:1px solid rgba(59,130,246,.22);border-radius:28px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:relative;overflow:hidden}.cta-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(59,130,246,.15),transparent 65%);pointer-events:none}.cta-card h2{margin-bottom:1rem;position:relative;font-size:clamp(1.5rem,3vw,2rem);font-weight:800}.cta-card p{color:var(--text-2);margin-bottom:2rem;position:relative;max-width:500px;margin-left:auto;margin-right:auto}.cta-card .btn{position:relative}.landing-footer{padding:2rem 0;border-top:1px solid var(--border)}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.landing-footer p{font-size:.78rem;color:var(--muted)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.page-title{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.page-subtitle{font-size:.875rem;color:var(--muted);margin-top:.25rem}.search-bar input{width:100%;padding:.625rem .75rem .625rem 2.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text);font-size:.875rem;outline:none;transition:border-color var(--transition-fast)}.search-bar input:focus{border-color:var(--accent)}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.8125rem;font-weight:600;color:var(--text-2)}.form-group input,.form-group select,.form-group textarea{padding:.625rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;transition:border-color var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}.form-group textarea{resize:vertical}.skill-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border:1px solid var(--border);border-radius:var(--radius-full);font-size:.75rem;font-weight:500}.loading-state{display:flex;justify-content:center;padding:4rem 0}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.empty-state{text-align:center;padding:4rem 0;color:var(--muted)}.empty-state svg{margin:0 auto 1rem;opacity:.3}.auth-error{background:#fb71851a;border:1px solid rgba(251,113,133,.2);color:var(--rose);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.8125rem;margin-bottom:1rem;text-align:center}@media(max-width:900px){.features-grid,.steps-grid{grid-template-columns:1fr 1fr}.how-line{display:none}}@media(max-width:640px){.hero{padding:7rem 0 3rem}.hero-stats{gap:12px;margin-top:2rem}.features-grid,.steps-grid,.form-row{grid-template-columns:1fr}.hero-orbit{display:none}}@media(max-width:480px){.hero{padding:5rem 0 1rem}.hero-title{font-size:1.3rem!important}.hero-desc{font-size:.82rem;margin-bottom:1.5rem}.hero-badge{font-size:.55rem;padding:3px 10px;margin-bottom:.6rem}.hero-cta{gap:6px}.hero-cta .btn{padding:7px 12px;font-size:.7rem}.hero-stats{gap:8px;margin-top:1rem}.stat-pill{padding:6px 4px}.stat-pill-num{font-size:1rem}.stat-pill-label{font-size:.5rem}}[data-theme=light] .hero-badge{color:var(--primary-d);background:#3b82f614;border-color:#3b82f633}[data-theme=light] .hero-title{color:var(--text)}[data-theme=light] .hero-desc{color:var(--text-2)}[data-theme=light] .hero-bg-grid{background-image:linear-gradient(to right,rgba(59,130,246,.08) 1px,transparent 1px),linear-gradient(to bottom,rgba(167,139,250,.08) 1px,transparent 1px)}[data-theme=light] .feature-card,[data-theme=light] .how-step,[data-theme=light] .stat-pill{background:var(--card);border-color:var(--border);box-shadow:0 2px 8px #0000000f}[data-theme=light] .feature-icon{color:var(--primary)}[data-theme=light] .landing-footer{background:var(--bg-elevated);border-top-color:var(--border)}.auth-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-brand{position:relative;background:linear-gradient(145deg,#0b0f24,#111835 60%,#0a1428);padding:3rem;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;z-index:0}.auth-brand-logo{display:flex;align-items:center;gap:.625rem;text-decoration:none;margin-bottom:2rem}.auth-brand-tag{display:inline-flex;align-items:center;gap:7px;background:#3b82f61f;border:1px solid rgba(59,130,246,.28);border-radius:999px;padding:5px 14px;margin-bottom:1.5rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-xl)}.auth-brand-tag-dot{width:6px;height:6px;background:var(--primary);border-radius:50%;animation:pulse 2s infinite}.auth-brand-content h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:1rem;color:#eef0ff}.auth-brand-content p{font-size:.9rem;color:#c4c8e8bf;line-height:1.7;max-width:380px;margin-bottom:2rem}.auth-brand-bottom{position:relative;z-index:1}.auth-brand-copy{font-size:.72rem;color:#6b7399cc}.auth-features{display:flex;flex-direction:column;gap:12px}.auth-feature-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:12px;font-size:.84rem;color:#c4c8e8d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-feature-icon{flex-shrink:0;color:var(--accent-l)}.auth-brand-decoration{position:absolute;inset:0;pointer-events:none}.auth-orb{position:absolute;border-radius:50%}.auth-orb--1{width:600px;height:600px;top:-20%;left:-15%;background:radial-gradient(circle,rgba(59,130,246,.18) 0%,transparent 65%)}.auth-orb--2{width:500px;height:500px;bottom:-15%;right:-10%;background:radial-gradient(circle,rgba(59,130,246,.12) 0%,transparent 65%)}.auth-form-panel{background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2.5rem;position:relative;z-index:1;overflow-y:auto}.auth-form-container{width:100%;max-width:420px;transition:max-width .3s ease}.auth-mobile-logo{display:none;text-align:center;margin-bottom:2rem;font-size:1.5rem;font-weight:800;letter-spacing:-.03em}.auth-mobile-logo span{color:var(--text)}.auth-tabs{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:4px;margin-bottom:1.5rem}.auth-tab{flex:1;padding:.5rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:var(--muted);transition:all var(--transition-fast)}.auth-tab--active{background:var(--accent);color:#fff}.auth-heading{margin-bottom:1.5rem}.auth-heading h1{font-size:1.6rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.3rem}.auth-heading p{color:var(--text-2);font-size:.875rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.input-with-icon{position:relative}.input-with-icon input{padding-right:2.5rem;width:100%}[dir=rtl] .input-with-icon input{padding-right:.75rem;padding-left:2.5rem}.input-icon-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);padding:4px;border-radius:4px}[dir=rtl] .input-icon-btn{right:auto;left:10px}.input-icon-btn:hover{color:var(--text)}.form-label-row{display:flex;justify-content:space-between;align-items:center}.forgot-link{font-size:.75rem;color:var(--accent-l);text-decoration:none}.forgot-link:hover{text-decoration:underline}.required-star{color:var(--rose)}.pw-meter{margin-top:6px}.pw-bars{display:flex;gap:4px;height:3px}.pw-bar{flex:1;border-radius:3px;background:var(--border);transition:background .28s}.pw-label{font-size:.68rem;margin-top:4px;font-weight:600}.auth-submit{width:100%;justify-content:center;margin-top:.25rem}.auth-toggle{margin-top:1.25rem;text-align:center;font-size:.84rem;color:var(--text-2)}.auth-toggle-link{color:var(--accent-l);font-weight:600;background:none;border:none;cursor:pointer;font-size:inherit}@keyframes formShake{0%,to{transform:translate(0)}10%,50%,90%{transform:translate(-6px)}30%,70%{transform:translate(6px)}}.form-shake{animation:formShake .5s ease-in-out}.form-group.has-error input,.form-group.has-error select{border-color:var(--rose, #f43f5e)!important;box-shadow:0 0 0 2px #f43f5e26}.field-error{display:block;color:var(--rose, #f43f5e);font-size:.72rem;font-weight:500;margin-top:4px;animation:fadeSlideIn .2s ease}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.auth-error{animation:fadeSlideIn .25s ease}.auth-role-toggle{display:flex;gap:.5rem;margin-bottom:.25rem}.auth-role-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border:2px solid var(--border);border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;color:var(--text-2);background:var(--surface);cursor:pointer;transition:all var(--transition-fast)}.auth-role-btn:hover{border-color:var(--border-hover);color:var(--text)}.auth-role-btn--active{border-color:var(--accent);background:#3b82f614;color:var(--accent-l)}@media(max-width:860px){.auth-page{grid-template-columns:1fr}.auth-brand{display:none}.auth-form-panel{padding:2.5rem 1.5rem;min-height:100vh}.auth-mobile-logo{display:block;background:linear-gradient(135deg,var(--accent-xl),var(--primary-l));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}}@media(max-width:540px){.form-row{grid-template-columns:1fr!important}}.onboarding{max-width:720px;margin:0 auto}.ob-progress{display:flex;align-items:center;gap:2rem;padding:.5rem 0 2rem;position:relative}.ob-progress-bar{position:absolute;bottom:1rem;left:0;right:0;height:3px;background:var(--border);border-radius:2px}.ob-progress-fill{height:100%;background:var(--indigo);border-radius:2px;transition:width .4s ease}.ob-step{display:flex;align-items:center;gap:.5rem;z-index:1}.ob-step-dot{width:28px;height:28px;border-radius:50%;background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--muted);transition:all var(--transition-base)}.ob-step--active .ob-step-dot{border-color:var(--indigo);color:var(--indigo)}.ob-step--done .ob-step-dot{background:var(--indigo);color:#fff;border-color:var(--indigo)}.ob-step-label{font-size:.8125rem;font-weight:600;color:var(--muted)}.ob-step--active .ob-step-label{color:var(--text)}.ob-header{margin-bottom:2rem}.ob-header h1{font-size:1.75rem;font-weight:800;margin-bottom:.375rem}.ob-header p{color:var(--text-2);font-size:.9375rem}.ob-section h2{font-size:1.25rem;font-weight:700;margin-bottom:.375rem}.ob-hint{color:var(--text-2);font-size:.8125rem;margin-bottom:1rem}.ob-search{width:100%;padding:.625rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem;margin-bottom:1.5rem;outline:none}.ob-search:focus{border-color:var(--indigo)}.ob-skills{display:flex;flex-direction:column;gap:1.5rem;max-height:50vh;overflow-y:auto;padding-inline-end:.5rem;margin-bottom:1.5rem}.ob-cat-title{font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.ob-cat-skills{display:flex;flex-wrap:wrap;gap:.5rem}.ob-skill-btn{padding:.375rem .875rem;border:1px solid var(--border);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;color:var(--text-2);transition:all var(--transition-fast);display:flex;align-items:center;gap:.375rem;white-space:nowrap}.ob-skill-btn:hover{border-color:var(--border-hover);color:var(--text)}.ob-skill-btn--active{color:var(--text)}.ob-skill-level{font-size:.6875rem;font-weight:700}.ob-actions{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--border)}.ob-selected{font-size:.8125rem;color:var(--muted);font-weight:500}.ob-sliders{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.ob-slider-label{font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:.5rem;display:block}.ob-slider-row,.ob-hours-row{display:flex;align-items:center;gap:.75rem}.ob-slider-min,.ob-slider-max{font-size:.6875rem;color:var(--muted);min-width:70px}.ob-slider-max{text-align:end}.ob-slider{flex:1;accent-color:var(--indigo);height:4px}.ob-hours-val{font-size:1.125rem;font-weight:700;color:var(--indigo-l);min-width:40px;text-align:center}.ob-type-btns{display:flex;gap:.5rem;flex-wrap:wrap}.ob-type-btn{padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;color:var(--text-2);transition:all var(--transition-fast)}.ob-type-btn:hover{border-color:var(--border-hover)}.ob-type-btn--active{background:#3b82f61a;border-color:var(--indigo);color:var(--indigo-l)}.ob-done{text-align:center;padding:3rem 0}.ob-done-icon{color:var(--amber);margin-bottom:1.5rem}.ob-done h2{font-size:1.75rem;margin-bottom:.75rem}.ob-done p{color:var(--text-2);margin-bottom:2rem}.ob-extra-section{margin-top:1.5rem;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.ob-section-title{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:700;margin-bottom:1rem;color:var(--text)}.ob-field-group{margin-bottom:.875rem}.ob-field-label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-2);margin-bottom:.375rem}.ob-field-input,.ob-field-select{width:100%;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.8125rem;outline:none;transition:border-color var(--transition-fast)}.ob-field-input:focus,.ob-field-select:focus{border-color:var(--indigo)}.ob-custom-course-row{display:flex;gap:.5rem}.ob-custom-course-row .ob-field-input{flex:1}.ob-course-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.ob-course-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#3b82f61a;border:1px solid rgba(59,130,246,.25);border-radius:999px;font-size:.75rem;font-weight:500;color:var(--accent-l)}.ob-course-tag-remove{background:none;border:none;color:inherit;opacity:.6;cursor:pointer;padding:0;line-height:1;display:flex}.ob-course-tag-remove:hover{opacity:1}.ob-linkedin-section{margin-bottom:1.5rem}.ob-linkedin-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#0a66c2;color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);width:100%;justify-content:center}.ob-linkedin-btn:hover{background:#004182}.ob-linkedin-btn--open{border-radius:var(--radius-md) var(--radius-md) 0 0}.ob-linkedin-panel{border:1px solid #0A66C2;border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);padding:1.25rem;background:var(--surface)}.ob-linkedin-instructions{margin-bottom:1rem}.ob-linkedin-instructions h4{font-size:.875rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.ob-linkedin-instructions ol{padding-left:1.25rem;margin:0;display:flex;flex-direction:column;gap:.375rem}.ob-linkedin-instructions li{font-size:.8125rem;color:var(--text-2);line-height:1.5}.ob-linkedin-upload{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;border:2px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:var(--bg);margin-bottom:.75rem}.ob-linkedin-upload:hover{border-color:#0a66c2;background:#0a66c20d}.ob-linkedin-upload-inner{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-2)}.ob-linkedin-loading{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:500;color:#0a66c2}.ob-linkedin-spinner{width:18px;height:18px;border:2px solid rgba(10,102,194,.2);border-top-color:#0a66c2;border-radius:50%;animation:ob-spin .7s linear infinite}@keyframes ob-spin{to{transform:rotate(360deg)}}.ob-linkedin-result{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;margin-bottom:.75rem}.ob-linkedin-result--success{background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.3)}.ob-linkedin-result--error{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.ob-linkedin-privacy{font-size:.75rem;color:var(--muted);text-align:center;margin:0}@media(max-width:768px){.ob-progress{gap:1rem;flex-wrap:wrap}.ob-step-label{display:none}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-title{font-size:1.75rem;font-weight:800;letter-spacing:-.02em}.page-subtitle{color:var(--text-2);font-size:.9375rem;margin-top:.25rem}.loading-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 0;color:var(--muted)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 0;color:var(--muted);text-align:center}.empty-state h3{font-size:1rem;font-weight:600;color:var(--text-2)}.projects-toolbar{display:flex;gap:.75rem;margin-bottom:1rem}.search-bar{flex:1;position:relative}.projects-filters{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.projects-filters select{padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.8125rem;outline:none;min-width:160px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}.project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;cursor:pointer;transition:all var(--transition-base);opacity:0;display:flex;flex-direction:column;gap:.75rem}.project-card:hover{transform:translateY(-2px);border-color:var(--border-hover);box-shadow:var(--shadow-md)}.project-card-top{display:flex;align-items:center;justify-content:space-between}.project-type-badge{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--indigo-l);background:#3b82f61a;padding:.25rem .5rem;border-radius:var(--radius-sm)}.project-status{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600}.status-dot{width:6px;height:6px;border-radius:50%}.project-card-title{font-size:1.0625rem;font-weight:700;line-height:1.3}.project-card-desc{font-size:.8125rem;color:var(--text-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-skills{display:flex;flex-wrap:wrap;gap:.375rem}.skill-tag{padding:.1875rem .5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);font-size:.6875rem;font-weight:500;color:var(--text-2);white-space:nowrap}.skill-tag--more{background:#3b82f614;color:var(--indigo-l);border-color:transparent}.project-card-meta{display:flex;gap:1rem}.meta-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--muted)}.project-card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:.75rem;margin-top:.25rem}.card-arrow{color:var(--muted);transition:transform var(--transition-fast)}[dir=rtl] .card-arrow{transform:scaleX(-1)}.project-card:hover .card-arrow{transform:translate(3px);color:var(--indigo-l)}.project-card-top-right{display:flex;align-items:center;gap:.5rem}.project-expired-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:.65rem;font-weight:600;background:#f43f5e1a;color:var(--rose, #f43f5e)}.project-card-owner{display:flex;align-items:center;gap:.375rem}.project-owner-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--indigo),var(--teal));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.625rem;flex-shrink:0}.project-card-footer-right{display:flex;align-items:center;gap:.5rem}.btn-xs{padding:3px 8px;font-size:.65rem;font-weight:600;border-radius:var(--radius-sm)}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}.projects-toolbar{flex-direction:column}}.project-detail{animation:fadeIn .3s ease}.back-btn{margin-bottom:1rem}[dir=rtl] .back-btn svg{transform:scaleX(-1)}.pd-layout{display:grid;grid-template-columns:1fr 320px;gap:1.5rem;align-items:start}.pd-main{display:flex;flex-direction:column;gap:1.5rem}.pd-header{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.pd-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.pd-title-row h1{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.pd-meta{display:flex;flex-wrap:wrap;gap:1rem}.pd-timeline{display:flex;align-items:center;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);position:relative}.pd-timeline-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;z-index:1;flex:1}.pd-timeline-dot{width:36px;height:36px;border-radius:50%;background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--muted);transition:all .3s ease}.pd-timeline-label{font-size:.75rem;color:var(--muted);font-weight:500;text-align:center}.pd-timeline-step--done .pd-timeline-dot{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 15px #3b82f64d}.pd-timeline-step--done .pd-timeline-label{color:var(--text)}.pd-timeline-step--current .pd-timeline-dot{background:var(--card);border-color:var(--accent);box-shadow:0 0 0 4px #a78bfa1a}.pd-timeline-step--current .pd-timeline-label{color:var(--accent);font-weight:700}.pd-timeline-line{position:absolute;top:18px;left:50%;width:100%;height:2px;background:var(--border);z-index:-1}[dir=rtl] .pd-timeline-line{right:50%;left:auto}.pd-timeline-line--done{background:var(--primary)}@media(max-width:600px){.pd-timeline{padding-top:1rem}.pd-timeline-dot{width:28px;height:28px;font-size:.8rem}.pd-timeline-label{font-size:.65rem}.pd-timeline-line{top:14px}}.pd-owner-link{color:var(--indigo-l);font-weight:600}.pd-desc{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.pd-desc p{color:var(--text-2);line-height:1.7;font-size:.9375rem;white-space:pre-wrap}.pd-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.pd-section h3{font-size:.9375rem;font-weight:700;margin-bottom:.75rem}.pd-skills{display:flex;flex-wrap:wrap;gap:.375rem}.pd-team{display:flex;flex-wrap:wrap;gap:.75rem}.pd-member{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--surface);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;transition:background var(--transition-fast)}.pd-member:hover{background:var(--border)}.pd-member-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--indigo),var(--teal));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.75rem;flex-shrink:0;overflow:hidden}.pd-member-avatar img{width:100%;height:100%;object-fit:cover;display:block}.pd-apply-form{display:flex;flex-direction:column;gap:.75rem}.pd-apply-form textarea{width:100%;padding:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem;resize:vertical;outline:none}.pd-apply-form textarea:focus{border-color:var(--indigo)}.pd-apply-actions{display:flex;gap:.5rem;justify-content:flex-end}.pd-notice{padding:.75rem 1rem;background:#3b82f60f;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-2)}.pd-sidebar{display:flex;flex-direction:column;gap:1rem}.pd-sidebar-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.pd-sidebar-card h3{font-size:.9375rem;font-weight:700;margin-bottom:.75rem}.pd-match-btn{width:100%;justify-content:center}.pd-apps{display:flex;flex-direction:column;gap:.75rem}.pd-app{padding:.75rem;background:var(--surface);border-radius:var(--radius-sm)}.pd-app-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.pd-app-name{font-size:.8125rem;font-weight:600;color:var(--indigo-l)}.pd-app-status{font-size:.6875rem;font-weight:700;text-transform:uppercase}.pd-app-status--pending{color:var(--amber)}.pd-app-status--accepted{color:var(--green)}.pd-app-status--rejected{color:var(--rose)}.pd-app-msg{font-size:.75rem;color:var(--text-2);margin-bottom:.5rem}.pd-app-actions{display:flex;gap:.375rem}.pd-badges{display:flex;gap:.5rem;align-items:center;flex-shrink:0}.pd-expired-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:600;background:#f43f5e1a;color:var(--rose, #f43f5e)}.pd-owner-actions{display:flex;flex-direction:column;gap:.5rem}.btn-amber{background:#a78bfa26;color:var(--amber);border:1px solid rgba(167,139,250,.3)}.btn-amber:hover{background:#a78bfa40}.pd-member{position:relative}.pd-member-info{display:flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none}.pd-remove-member{width:20px;height:20px;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all var(--transition-fast);margin-inline-start:.25rem}.pd-member:hover .pd-remove-member{opacity:1}.pd-remove-member:hover{color:var(--rose, #f43f5e);border-color:var(--rose, #f43f5e)}.staff-results-list::-webkit-scrollbar{width:6px}.staff-results-list::-webkit-scrollbar-track{background:transparent}.staff-results-list::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}.pd-app-badge{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:600}.pd-app-badge--pending{background:#a78bfa14;border:1px solid rgba(167,139,250,.2);color:var(--amber)}.pd-app-badge--accepted{background:#3b82f614;border:1px solid rgba(59,130,246,.2);color:var(--green)}.pd-app-badge--rejected{background:#f43f5e14;border:1px solid rgba(244,63,94,.2);color:var(--rose, #f43f5e)}@media(max-width:1024px){.pd-layout{grid-template-columns:1fr}}.pd-completed-banner{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:#22c55e14;border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-md);color:var(--green, #22c55e);font-size:.875rem;font-weight:600}.search-bar{position:relative}.search-bar input{width:100%;padding:.625rem .875rem .625rem 2.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem;outline:none}.search-bar input:focus{border-color:var(--indigo)}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--muted)}[dir=rtl] .search-icon{left:auto;right:.875rem}[dir=rtl] .search-bar input{padding:.625rem 2.5rem .625rem .875rem}.pp-templates{margin-bottom:1.5rem;max-width:1100px}.pp-template-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.pp-template-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;cursor:pointer;text-align:center;transition:all .2s;color:var(--text)}.pp-template-card:hover{border-color:var(--tpl-color, var(--primary));transform:translateY(-2px);box-shadow:var(--shadow-md)}.pp-template-card--active{border-color:var(--tpl-color, var(--primary));background:#3b82f60f}.pp-template-icon{color:var(--tpl-color, var(--primary));margin-bottom:.25rem}.pp-template-card strong{font-size:.9rem}.pp-template-card span{font-size:.75rem;color:var(--muted)}@media(max-width:768px){.pp-template-cards{grid-template-columns:1fr}}.pp-form{display:flex;flex-direction:column;gap:1.25rem;max-width:1100px}.pp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pp-grid--3{grid-template-columns:1fr 1fr 1fr}.pp-skills-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.pp-skills-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.pp-skills-title{font-size:.9375rem;font-weight:700}.pp-skills-hint{font-size:.75rem;color:var(--muted)}.pp-skills-dual{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pp-skill-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.875rem;display:flex;flex-direction:column;gap:.625rem}.pp-skill-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.pp-skill-panel-label{font-size:.8125rem;font-weight:700}.pp-skill-panel-label--req{color:#ef4444}.pp-skill-panel-label--pref{color:var(--primary)}.pp-skill-panel-tip{font-size:.7rem;color:var(--muted)}.pp-tag-list{display:flex;flex-wrap:wrap;gap:.375rem;min-height:32px}.pp-skill-empty-hint{font-size:.75rem;color:var(--muted);font-style:italic;align-self:center}.pp-skill-empty{padding:.5rem .75rem;font-size:.8rem;color:var(--muted)}.pp-skills-ai-hint{display:flex;align-items:center;gap:.75rem;padding-top:.25rem;flex-wrap:wrap}.pp-skills-ai-tip{font-size:.72rem;color:var(--muted)}@media(max-width:640px){.pp-skills-dual{grid-template-columns:1fr}}.pp-skill-tooltip-wrap{position:relative;display:inline-flex;align-items:center;margin-inline-start:.375rem}.pp-skill-info-icon{color:var(--muted);cursor:help;transition:color .2s}.pp-skill-tooltip-wrap:hover .pp-skill-info-icon{color:var(--accent-l)}.pp-skill-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);white-space:normal;width:220px;padding:.5rem .75rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-size:.72rem;font-weight:400;color:var(--text-2);line-height:1.5;z-index:100;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.pp-skill-tooltip-wrap:hover .pp-skill-tooltip{opacity:1;visibility:visible}.pp-skill-input-wrap{position:relative}.pp-skill-input{width:100%;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.8125rem;outline:none}.pp-skill-input:focus{border-color:var(--accent)}.pp-skill-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:50;max-height:200px;overflow-y:auto}.pp-skill-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.8125rem;color:var(--text);transition:background var(--transition-fast);text-align:start}.pp-skill-option:hover{background:var(--surface)}.pp-tag-group{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.pp-tag-label{font-size:.75rem;font-weight:600;color:var(--muted)}.skill-tag--req{border-color:var(--accent);color:var(--accent-l);background:#3b82f614}.skill-tag--pref{border-color:var(--primary);color:var(--primary-l);background:#3b82f614}.pp-radio-group{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag button{padding:0;margin-inline-start:.25rem;color:inherit;opacity:.6}.pp-submit{align-self:flex-start}.ai-actions{display:flex;gap:.5rem;margin-top:.5rem}.ai-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;background:linear-gradient(135deg,#3b82f61f,#3b82f60f);color:var(--accent-l);border:1px solid rgba(59,130,246,.2);transition:all var(--transition-fast)}.ai-btn:hover:not(:disabled){background:linear-gradient(135deg,#3b82f633,#3b82f61a);border-color:var(--accent);transform:translateY(-1px)}.ai-btn:disabled{opacity:.4;cursor:not-allowed}.ai-btn--skills{background:linear-gradient(135deg,#3b82f61f,#3b82f60f);color:var(--primary-l);border-color:#3b82f633}.ai-btn--skills:hover:not(:disabled){background:linear-gradient(135deg,#3b82f633,#3b82f61a);border-color:var(--primary)}@media(max-width:768px){.pp-grid,.pp-grid--3{grid-template-columns:1fr}.ai-actions{flex-direction:column}}.pp-disabled{opacity:.5;cursor:not-allowed;background:var(--surface)}.pp-skills-section{margin-top:1.5rem}.pp-skills-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.pp-skills-title{font-weight:700;font-size:1rem}.pp-skill-search-bar{position:relative;margin-bottom:.75rem}.pp-skill-search-input{width:100%;padding:.55rem 2.5rem .55rem .875rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem;transition:border-color .15s}.pp-skill-search-input:focus{outline:none;border-color:var(--primary)}.pp-skill-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;padding:.2rem;border-radius:var(--radius-sm)}.pp-skill-search-clear:hover{color:var(--text)}.pp-skills-tip{font-size:.78rem;color:var(--muted);margin-bottom:1rem}.pp-skill-groups{display:flex;flex-direction:column;gap:1rem;max-height:420px;overflow-y:auto;padding-right:.25rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.pp-skill-groups::-webkit-scrollbar{width:4px}.pp-skill-groups::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.pp-skill-group{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem 1rem}.pp-skill-group-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.6rem}.pp-skill-tag-row{display:flex;flex-wrap:wrap;gap:.4rem}.pp-skill-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--text-2);transition:all .15s;white-space:nowrap}.pp-skill-tag:hover{border-color:var(--primary);color:var(--primary-l);background:#3b82f60f}.pp-skill-tag--req{background:#3b82f61f;border-color:#3b82f666;color:var(--primary-l);font-weight:600}.pp-skill-tag--req:hover{background:#3b82f633;border-color:var(--primary)}.pp-skill-tag--pref{background:#a1a1aa1a;border-color:#a1a1aa59;color:var(--text);font-weight:500;font-style:italic}.pp-skill-tag--pref:hover{background:#a1a1aa33;border-color:var(--muted)}.pp-skill-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:.62rem;font-weight:800;line-height:1;flex-shrink:0}.pp-skill-badge--req{background:var(--primary);color:#fff}.pp-skill-badge--pref{background:var(--muted);color:#fff}.pp-skills-summary{margin-top:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.875rem 1rem;display:flex;flex-direction:column;gap:.75rem}.pp-skills-summary-row{display:flex;flex-direction:column;gap:.4rem}.pp-summary-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.pp-summary-label--req{color:var(--primary-l)}.pp-summary-label--pref{color:var(--muted)}.pp-tag-list{display:flex;flex-wrap:wrap;gap:.4rem}.skill-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:var(--radius-full);font-size:.78rem;font-weight:500}.skill-tag button{background:none;border:none;cursor:pointer;display:flex;align-items:center;opacity:.7}.skill-tag button:hover{opacity:1}.skill-tag--req{background:#3b82f61f;border:1px solid rgba(59,130,246,.3);color:var(--primary-l)}.skill-tag--pref{background:#a1a1aa1a;border:1px solid var(--border);color:var(--text-2)}.pp-skills-ai-hint{margin-top:1rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.pp-skills-ai-tip{font-size:.78rem;color:var(--muted)}.matches-page{animation:fadeIn .3s ease}.match-legend{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.5rem}.match-legend-header{text-align:center}.match-legend-header h4{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.95rem;font-weight:700;margin-bottom:.35rem}.match-legend-desc{font-size:.8rem;color:var(--text-2);margin-bottom:1rem;line-height:1.5}.methodology-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;justify-items:center;max-width:900px;margin:0 auto}.methodology-card{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.methodology-card:hover{border-color:var(--border-hover)}.methodology-icon{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.methodology-content{min-width:0}.methodology-label{font-size:.8rem;font-weight:700;margin-bottom:.2rem;display:flex;align-items:center;gap:.5rem}.methodology-weight{font-size:.65rem;font-weight:800;background:#3b82f61a;color:var(--primary-l);padding:1px 6px;border-radius:var(--radius-full);letter-spacing:.02em}.methodology-content p{font-size:.72rem;color:var(--muted);line-height:1.45;margin:0}.matches-list{display:flex;flex-direction:column;gap:1rem}.match-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;opacity:0;position:relative;transition:all var(--transition-base)}.match-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.match-best{position:absolute;top:.75rem;right:.75rem;background:linear-gradient(135deg,var(--amber),#f97316);color:#fff;padding:.1875rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700}[dir=rtl] .match-best{right:auto;left:.75rem}.match-card-main{display:flex;align-items:center;gap:1.25rem;margin-bottom:1rem}.match-avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--surface);border:2px solid var(--border);display:flex;align-items:center;justify-content:center}.match-avatar-img{width:100%;height:100%;object-fit:cover}.match-avatar-initial{font-size:1.25rem;font-weight:700;color:var(--primary-l)}.match-score-ring{position:relative;width:64px;height:64px;flex-shrink:0}.match-score-ring svg{width:100%;height:100%}.match-score-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:800}.match-info{flex:1;min-width:0}.match-name{font-size:1.0625rem;font-weight:700;color:var(--indigo-l);display:block}.match-college{font-size:.75rem;color:var(--muted);margin-bottom:.5rem}.match-skills-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.ms-label{font-size:.6875rem;font-weight:600;color:var(--muted)}.match-bars{display:flex;flex-direction:column;gap:.5rem}.match-bar{display:flex;align-items:center;gap:.75rem}.match-bar-label{font-size:.75rem;color:var(--text-2);min-width:120px}.match-bar-track{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.match-bar-fill{height:100%;border-radius:3px;transition:width .6s ease}.match-bar-val{font-size:.75rem;font-weight:700;min-width:36px;text-align:end}.match-project-bar{display:flex;justify-content:space-between;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:.875rem 1.25rem;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.match-project-title{font-weight:700;font-size:.9375rem;color:var(--indigo-l)}.match-project-meta{display:flex;align-items:center;gap:.375rem;font-size:.78rem;color:var(--muted)}.match-project-badges{display:flex;gap:.375rem}.match-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:600}.match-badge--expired{background:#f43f5e1a;color:var(--rose, #f43f5e)}.match-badge--full{background:#a78bfa1a;color:var(--amber)}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.legend-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-2)}.match-card-action{flex-shrink:0}.match-invited{display:inline-flex;align-items:center;gap:.25rem;color:var(--green);font-size:.78rem;font-weight:600}.match-search-bar{position:relative;display:flex;align-items:center;margin-bottom:1rem}.match-search-icon{position:absolute;left:.875rem;color:var(--muted);pointer-events:none}[dir=rtl] .match-search-icon{left:auto;right:.875rem}.match-search-input{width:100%;padding:.625rem 2.25rem .625rem 2.5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);font-size:.875rem;outline:none;transition:border-color var(--transition-fast)}[dir=rtl] .match-search-input{padding:.625rem 2.5rem .625rem 2.25rem}.match-search-input:focus{border-color:var(--indigo)}.match-search-clear{position:absolute;right:.75rem;background:none;border:none;color:var(--muted);font-size:1.125rem;cursor:pointer;line-height:1;padding:.25rem}[dir=rtl] .match-search-clear{right:auto;left:.75rem}.match-search-clear:hover{color:var(--text)}@media(max-width:768px){.match-card-main{flex-direction:column;text-align:center}.match-bar-label{min-width:80px}}.profile-page{animation:fadeIn .3s ease}.profile-header{display:flex;gap:1.5rem;align-items:flex-start;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.profile-avatar-wrap{position:relative;flex-shrink:0}.profile-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--indigo),var(--teal));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:2rem}.profile-avatar img{width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.crop-container{position:relative;width:100%;height:300px;background:#333;border-radius:var(--radius-md);overflow:hidden}.crop-slider{margin-top:1rem;display:flex;align-items:center;gap:1rem}.crop-slider input[type=range]{flex:1}.avatar-edit-btn{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--transition-fast);flex-shrink:0}.avatar-edit-btn:hover{transform:scale(1.1)}.profile-info{flex:1;min-width:0}.profile-info h1{font-size:1.5rem;font-weight:800;margin-bottom:.375rem}.profile-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.8125rem;color:var(--muted);margin-bottom:.75rem}.profile-rating{display:flex;align-items:center;gap:.25rem;color:var(--amber);font-weight:600}.profile-bio{font-size:.875rem;color:var(--text-2);line-height:1.6;margin-bottom:.75rem}.muted{color:var(--muted);font-style:italic}.profile-bio-edit{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.profile-bio-edit textarea{width:100%;padding:.625rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem;resize:vertical;outline:none}.profile-bio-edit textarea:focus{border-color:var(--indigo)}.profile-bio-actions{display:flex;gap:.5rem;justify-content:flex-end}.profile-tabs{display:flex;gap:.25rem;background:var(--surface);border-radius:var(--radius-md);padding:.25rem;margin-bottom:1.5rem}.profile-tab{flex:1;padding:.5rem;text-align:center;border-radius:var(--radius-sm);font-weight:600;font-size:.8125rem;color:var(--muted);transition:all var(--transition-fast)}.profile-tab--active{background:var(--card);color:var(--text);box-shadow:var(--shadow-sm)}.profile-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.profile-section h3{font-size:1rem;font-weight:700;margin-bottom:1rem}.profile-skills{display:flex;flex-wrap:wrap;gap:.375rem}.skill-level-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-inline-start:.25rem}.profile-projects{display:flex;flex-direction:column;gap:.5rem}.profile-project-card{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--surface);border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;transition:background var(--transition-fast)}.profile-project-card:hover{background:var(--border)}.profile-reviews{display:flex;flex-direction:column;gap:.75rem}.review-card{padding:1rem;background:var(--surface);border-radius:var(--radius-sm)}.review-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.review-author{font-size:.8125rem;font-weight:600}.review-stars{display:flex;gap:.125rem}.review-comment{font-size:.8125rem;color:var(--text-2);line-height:1.5}.profile-rating-breakdown{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;max-width:320px}.rating-bar-item{display:flex;align-items:center;gap:.5rem}.rating-bar-label{font-size:.72rem;color:var(--muted);min-width:80px}.rating-bar-track{flex:1;height:5px;background:var(--border);border-radius:3px;overflow:hidden}.rating-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.rating-bar-value{font-size:.72rem;font-weight:700;min-width:24px;text-align:right}.avatar-actions{position:absolute;bottom:4px;right:4px;display:flex;flex-direction:column;gap:4px;align-items:center}.avatar-remove-btn{width:28px;height:28px;border-radius:50%;background:var(--rose, #f43f5e);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;font-size:0;transition:transform var(--transition-fast);flex-shrink:0}.avatar-remove-btn:hover{transform:scale(1.1)}.review-avg{font-size:1.1rem;font-weight:800;color:var(--teal)}.review-breakdown{display:flex;gap:1rem;font-size:.75rem;color:var(--muted);margin-bottom:.5rem}.review-date{font-size:.72rem;color:var(--muted);margin-top:.375rem;display:block}.review-card-actions{display:flex;gap:.25rem}.btn-icon{width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{color:var(--text);border-color:var(--border-hover)}.btn-icon--danger:hover{color:var(--rose, #f43f5e);border-color:var(--rose, #f43f5e)}.invitations-container{display:flex;flex-direction:column;gap:1.5rem}.inv-section h3{font-size:.875rem;font-weight:700;margin-bottom:.75rem}.inv-list{display:flex;flex-direction:column;gap:.625rem}.inv-card{padding:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.inv-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;flex-wrap:wrap;margin-bottom:.375rem}.inv-project{font-weight:600;font-size:.875rem}.inv-sender{font-weight:600;font-size:.875rem;display:block}.inv-project-sm{font-size:.78rem;color:var(--muted);display:block}.inv-badge{font-size:.72rem;font-weight:600;padding:2px 10px;border-radius:999px;flex-shrink:0}.inv-badge--pending{background:#a78bfa1f;color:var(--amber)}.inv-badge--accepted{background:#3b82f61f;color:var(--green)}.inv-badge--rejected{background:#f43f5e1f;color:var(--rose, #f43f5e)}.inv-message{font-size:.8125rem;color:var(--text-2);font-style:italic;margin-bottom:.375rem}.inv-date{font-size:.72rem;color:var(--muted)}.inv-actions{display:flex;gap:.5rem;margin-top:.625rem}.edit-review-stars{display:flex;gap:.25rem}.project-card-status{font-size:.72rem;font-weight:600;text-transform:capitalize;margin-left:.5rem}@media(max-width:768px){.profile-header{flex-direction:column;align-items:center;text-align:center}.profile-meta{justify-content:center}}.profile-completion{margin-top:1rem;padding:.875rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%}.profile-completion-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-2);margin-bottom:.5rem;font-weight:600}.profile-completion-done{color:var(--primary);font-weight:700;font-size:.8rem;display:flex;align-items:center;gap:.25rem}.profile-completion-track{height:8px;background:var(--border);border-radius:var(--radius-full);overflow:hidden;margin-bottom:.625rem}.profile-completion-fill{height:100%;border-radius:var(--radius-full);transition:width .7s cubic-bezier(.4,0,.2,1),background .4s ease}.profile-completion-items{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.25rem}.profile-completion-todo{display:inline-flex;align-items:center;gap:.2rem;font-size:.7rem;font-weight:600;color:var(--text-2);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-full);padding:2px 10px;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);white-space:nowrap}.profile-completion-todo:hover{color:var(--primary);border-color:var(--primary);background:rgba(var(--primary-rgb, 99 102 241),.06)}.skills-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.5rem}.skills-section-header h3{margin:0}.skills-section-meta{display:flex;align-items:center;gap:.625rem}.skills-total-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);background:var(--surface);border:1px solid var(--border);font-size:.75rem;color:var(--muted);font-weight:600}.skills-categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.skills-category-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.125rem;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.skills-category-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.skills-category-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.skills-category-name{font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.skills-category-count{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--card);border:1px solid var(--border);font-size:.7rem;font-weight:700;color:var(--text-2)}.skills-list{display:flex;flex-direction:column;gap:.75rem}.skill-row{display:flex;flex-direction:column;gap:.3rem}.skill-row-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.skill-row-name{font-size:.875rem;font-weight:600;color:var(--text)}.skill-row-level{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.skill-bar-track{width:100%;height:4px;background:var(--card);border-radius:var(--radius-full);overflow:hidden}.skill-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .6s cubic-bezier(.4,0,.2,1)}.skills-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1rem;text-align:center;color:var(--muted)}.skills-empty-icon{font-size:2.5rem;opacity:.6}@media(max-width:640px){.skills-categories{grid-template-columns:1fr}.skills-section-header{flex-direction:column;align-items:flex-start}}.people-page{animation:fadeIn .3s ease}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.person-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-base);opacity:0}.person-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.person-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--indigo),var(--teal));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.125rem;flex-shrink:0}.person-avatar img{width:100%;height:100%;object-fit:cover}.person-info{flex:1;min-width:0}.person-name{font-weight:600;font-size:.9375rem;margin-bottom:.125rem}.person-college{font-size:.75rem;color:var(--muted);margin-bottom:.375rem}.person-skills{display:flex;flex-wrap:wrap;gap:.25rem}.person-rating{display:flex;align-items:center;gap:.25rem;color:var(--amber);font-weight:700;font-size:.875rem;flex-shrink:0}.people-hint{text-align:center;padding:3rem 0;color:var(--muted);font-size:.9375rem}.people-toolbar{display:flex;gap:.75rem;margin-bottom:1rem}.people-toolbar .search-bar{flex:1}.people-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.people-filters select{padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.8125rem;outline:none}.person-student-id{font-size:.6875rem;color:var(--muted);font-family:monospace;margin-bottom:.25rem}.people-load-more{text-align:center;margin-top:1.5rem}@media(max-width:768px){.people-grid{grid-template-columns:1fr}}.reviews-page{animation:fadeIn .3s ease}.review-form-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem}.review-form-card h3{display:flex;align-items:center;gap:.5rem;font-size:1.0625rem;font-weight:700;margin-bottom:1rem}.review-form{display:flex;flex-direction:column;gap:1rem}.star-pickers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.star-picker label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-2);margin-bottom:.375rem}.stars-row{display:flex;gap:.25rem}.star-btn{padding:.125rem;transition:transform var(--transition-fast)}.star-btn:hover{transform:scale(1.2)}.success-msg{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);color:var(--green);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.8125rem;margin-bottom:.5rem}.written-reviews{margin-top:1rem}.written-reviews h3{display:flex;align-items:center;gap:.5rem;font-size:1.0625rem;font-weight:700;margin-bottom:1rem}.written-list{display:flex;flex-direction:column;gap:.75rem}.reviews-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start;margin-bottom:2rem}.reviews-received h3{display:flex;align-items:center;gap:.5rem;font-size:1.0625rem;font-weight:700;margin-bottom:1rem}.received-list{display:flex;flex-direction:column;gap:.75rem}.received-review-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.received-review-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.received-review-reviewer{font-weight:600;font-size:.9375rem}.received-review-meta{font-size:.78rem;color:var(--muted);margin-top:.125rem}.received-review-avg{font-size:1.25rem;font-weight:800;color:var(--teal)}.received-review-scores{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;text-align:center;font-size:.78rem}.rrs-val{font-weight:700;font-size:.875rem}.rrs-label{color:var(--muted);font-size:.6875rem}.received-review-comment{margin-top:.75rem;font-size:.85rem;color:var(--text-2);font-style:italic}.review-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem}.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.review-author{font-weight:600;font-size:.875rem}.review-stars{display:flex;gap:2px}.review-comment{font-size:.8125rem;color:var(--text-2);margin-top:.5rem;font-style:italic}@media(max-width:768px){.reviews-layout{grid-template-columns:1fr}}.admin-page{animation:fadeIn .3s ease}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.admin-stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;opacity:0;transition:all var(--transition-base)}.admin-stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.admin-stat-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}.admin-stat-value{font-size:2rem;font-weight:800;margin-bottom:.25rem}.admin-stat-label{font-size:.8125rem;color:var(--muted);font-weight:500}.admin-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.admin-section h3{display:flex;align-items:center;gap:.5rem;font-size:1.0625rem;font-weight:700;margin-bottom:1.25rem}.admin-bars{display:flex;flex-direction:column;gap:.625rem}.admin-bar-row{display:flex;align-items:center;gap:.75rem}.admin-bar-name{font-size:.8125rem;min-width:120px;color:var(--text-2)}.admin-bar-track{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.admin-bar-fill{height:100%;background:linear-gradient(90deg,var(--indigo),var(--teal));border-radius:4px;transition:width .6s ease}.admin-bar-val{font-size:.8125rem;font-weight:700;min-width:36px;text-align:end}.admin-colleges{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.admin-college-card{padding:1rem;background:var(--surface);border-radius:var(--radius-sm);text-align:center}.admin-college-val{font-size:1.5rem;font-weight:800;color:var(--indigo-l)}.admin-college-name{font-size:.75rem;color:var(--muted);margin-top:.25rem}.admin-section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.admin-section-header h3{margin-bottom:0}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.8125rem}.admin-table th{text-align:start;padding:.625rem .75rem;font-weight:600;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.admin-table td{padding:.625rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tbody tr:hover{background:var(--surface)}.admin-user-cell{display:flex;align-items:center;gap:.5rem}.admin-user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--indigo),var(--teal));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.6875rem;flex-shrink:0}.admin-user-name{font-weight:600;font-size:.8125rem}.admin-user-email{font-size:.6875rem;color:var(--muted)}.admin-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;background:var(--surface)}.admin-badge--expired{background:#f43f5e1a;color:var(--rose, #f43f5e);margin-inline-start:.25rem}@media(max-width:768px){.admin-stats{grid-template-columns:1fr 1fr}}.btn-admin-delete{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);color:var(--muted);background:transparent;border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.btn-admin-delete:hover:not(:disabled){color:var(--rose, #f43f5e);background:#f43f5e1a;border-color:#f43f5e4d}.btn-admin-delete:disabled{opacity:.3;cursor:not-allowed}.btn-danger{background:#f43f5e26;color:var(--rose, #f43f5e);border:1px solid rgba(244,63,94,.3)}.btn-danger:hover:not(:disabled){background:#f43f5e40}.admin-user-avatar--img{width:32px;height:32px;border-radius:50%;object-fit:cover;font-size:0}.admin-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}.admin-modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2rem;max-width:420px;width:90%;text-align:center;box-shadow:var(--shadow-lg);animation:slideUp .2s ease}.admin-modal-icon{margin-bottom:1rem}.admin-modal h3{font-size:1.1rem;margin-bottom:.75rem}.admin-modal p{color:var(--text-2);font-size:.875rem;margin-bottom:1.5rem;line-height:1.6}.admin-modal-actions{display:flex;justify-content:center;gap:.75rem}.heatmap-page{animation:fadeIn .3s ease}.heatmap-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.heatmap-filter{display:flex;align-items:center;gap:.625rem;color:var(--muted)}.heatmap-filter select{padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:.875rem;outline:none;min-width:220px;cursor:pointer;transition:border-color var(--transition-fast)}.heatmap-filter select:focus{border-color:var(--primary)}.heatmap-kpi-row{display:flex;gap:1rem}.heatmap-kpi{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:.25rem .75rem}.heatmap-charts-grid{display:grid;grid-template-columns:3fr 2fr;gap:1.25rem;margin-bottom:1.25rem}.heatmap-chart-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.heatmap-chart-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.heatmap-chart-title{font-size:.9375rem;font-weight:700;display:flex;align-items:center;gap:.5rem;margin:0}.heatmap-prof-legend{display:flex;gap:.75rem;font-size:.7rem;font-weight:600;opacity:.8}.heatmap-chart-wrap{position:relative;height:320px}.heatmap-chart-wrap--doughnut{display:flex;align-items:center;justify-content:center}.heatmap-section-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.25rem}.heatmap-gap-threshold{font-size:.75rem;color:var(--muted);background:#ef444414;border:1px solid rgba(239,68,68,.15);border-radius:var(--radius-full);padding:2px 10px}.heatmap-gaps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.875rem}.heatmap-gap-item{background:var(--surface);border:1px solid rgba(239,68,68,.18);border-radius:var(--radius-md);padding:.875rem;transition:border-color var(--transition-fast)}.heatmap-gap-item:hover{border-color:#ef444459}.heatmap-gap-name{font-size:.875rem;font-weight:600;margin-bottom:.3rem}.heatmap-gap-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.heatmap-gap-count{font-size:.75rem;color:var(--muted)}.heatmap-gap-prof{font-size:.7rem;font-weight:700}.heatmap-gap-bar{height:5px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:.4rem}.heatmap-gap-fill{height:100%;background:linear-gradient(90deg,#ef4444,#f97316);border-radius:3px;transition:width .6s ease}.heatmap-gap-cat{font-size:.68rem;color:var(--muted);margin-top:.25rem}.heatmap-legend{display:flex;align-items:center;gap:.5rem}.heatmap-legend-label{font-size:.7rem;color:var(--muted)}.heatmap-legend-scale{display:flex;gap:3px}.heatmap-legend-swatch{width:18px;height:10px;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:2px}.heatmap-full-grid{display:flex;flex-direction:column;gap:.45rem}.heatmap-full-row{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:.75rem;padding:3px 0;border-radius:4px;transition:background var(--transition-fast)}.heatmap-full-row:hover{background:var(--surface)}.heatmap-full-name{font-size:.8125rem;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.heatmap-full-bar-track{position:relative;height:20px;background:var(--surface);border-radius:4px;overflow:hidden}.heatmap-full-bar-fill{position:absolute;inset-block:0;left:0;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:4px;transition:width .55s ease}.heatmap-full-bar-prof{position:absolute;bottom:0;left:0;height:3px;background:#ffffff80;width:100%;border-radius:0 0 4px 4px;overflow:hidden}.heatmap-full-bar-prof:after{content:"";display:block;height:100%;width:var(--prof-w, 0%);background:#ffffffd9;transition:width .65s ease}.heatmap-full-bar-count{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.7rem;font-weight:600;color:var(--text);mix-blend-mode:difference;pointer-events:none}[dir=rtl] .heatmap-full-bar-count{right:auto;left:8px}.heatmap-full-right{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:90px}.heatmap-full-prof{font-size:.72rem;font-weight:700}.heatmap-full-cat{font-size:.68rem;color:var(--muted);text-align:end;line-height:1.3}@media(max-width:900px){.heatmap-charts-grid{grid-template-columns:1fr}}@media(max-width:640px){.heatmap-full-row{grid-template-columns:100px 1fr}.heatmap-full-right{display:none}.heatmap-full-name{font-size:.75rem;min-width:0}.heatmap-gaps-grid{grid-template-columns:1fr 1fr}.heatmap-kpi-row{display:none}}@media(max-width:420px){.heatmap-gaps-grid{grid-template-columns:1fr}}.task-board-page{padding:0 0 4rem;position:relative;overflow:hidden}.tb-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.tb-title-area{display:flex;align-items:baseline;gap:1rem}.tb-title-area h1{font-size:1.5rem;font-weight:700}.tb-project-name{color:var(--muted);font-size:.9rem}.tb-progress-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.25rem;margin-bottom:1.5rem}.tb-progress-info{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;margin-bottom:.5rem}.tb-progress-pct{color:var(--primary-l)}.tb-progress-bar{height:10px;background:var(--card);border-radius:var(--radius-full);overflow:hidden}.tb-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:var(--radius-full);transition:width .5s cubic-bezier(.4,0,.2,1)}.tb-progress-fill--complete{background:linear-gradient(90deg,var(--green),var(--teal-l));animation:progressPulse 1.5s ease-in-out infinite}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.75}}.tb-progress-detail{font-size:.8rem;color:var(--muted);margin-top:.4rem;display:inline-block}.tb-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;min-height:400px}.tb-column{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;min-height:300px;transition:border-color .2s}.tb-column:hover,.tb-column.drag-over{border-color:var(--border-hover)}.tb-col-header{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid;color:var(--text-2)}.tb-col-count{margin-left:auto;background:var(--card);border-radius:var(--radius-full);padding:.1rem .5rem;font-size:.75rem;color:var(--muted)}.tb-col-body{padding:.75rem;flex:1;display:flex;flex-direction:column;gap:.5rem}.tb-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;display:flex;align-items:flex-start;gap:.5rem;cursor:grab;transition:transform .15s,box-shadow .15s,opacity .15s;position:relative}.tb-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--border-hover)}.tb-card:active{cursor:grabbing}.tb-dragging{opacity:.4;transform:rotate(2deg)}.tb-card-grip{color:var(--muted);flex-shrink:0;margin-top:2px}.tb-card-content{flex:1;min-width:0}.tb-card-title{font-weight:600;font-size:.9rem;display:block;word-break:break-word}.tb-card-desc{font-size:.8rem;color:var(--muted);margin-top:.3rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tb-card-meta{margin-top:.5rem}.tb-card-assignee{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--primary-l);background:#3b82f614;padding:.15rem .5rem;border-radius:var(--radius-full)}.tb-card-assignee--none{color:var(--muted);background:transparent}.tb-card-deadline{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--muted);background:#6b728014;padding:.15rem .5rem;border-radius:var(--radius-full);margin-left:.3rem}.tb-card-deadline--overdue{color:var(--rose);background:#fb71851a;font-weight:600}.tb-card-delete{opacity:0;background:none;border:none;color:var(--rose);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:opacity .15s,background .15s;flex-shrink:0}.tb-card:hover .tb-card-delete{opacity:1}.tb-card-delete:hover{background:#fb71851a}.tb-empty{text-align:center;padding:2rem 1rem;color:var(--muted);font-size:.85rem;font-style:italic;display:flex;flex-direction:column;gap:.25rem}.tb-empty-hint{font-size:.75rem;opacity:.7}.tb-card-move-btns{display:flex;gap:.35rem;margin-top:.5rem;flex-wrap:wrap}.tb-move-btn{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.72rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap}.tb-move-btn--next{background:#3b82f614;color:var(--primary-l);border-color:#3b82f633}.tb-move-btn--next:hover{background:#3b82f62e;border-color:var(--primary)}.tb-move-btn--prev{background:#6b728014;color:var(--muted);border-color:var(--border)}.tb-move-btn--prev:hover{background:#6b728026;color:var(--text-2)}.tb-add-form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.tb-add-form input,.tb-add-form textarea,.tb-add-form select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;color:var(--text);font-size:.85rem;width:100%}.tb-add-form input:focus,.tb-add-form textarea:focus,.tb-add-form select:focus{outline:none;border-color:var(--primary)}.tb-add-actions{display:flex;gap:.5rem}.tb-add-btn{display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.5rem;border:1px dashed var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer;font-size:.8rem;width:100%;transition:color .15s,border-color .15s,background .15s;margin-top:auto}.tb-add-btn:hover{color:var(--primary-l);border-color:var(--primary);background:#3b82f60a}.tb-confetti{position:fixed;inset:0;pointer-events:none;z-index:9999;background-image:radial-gradient(circle,var(--green) 2px,transparent 2px),radial-gradient(circle,var(--primary) 2px,transparent 2px),radial-gradient(circle,var(--amber) 2px,transparent 2px),radial-gradient(circle,var(--rose) 2px,transparent 2px),radial-gradient(circle,var(--accent) 2px,transparent 2px);background-size:10% 10%;background-position:10% 0%,30% 0%,50% 0%,70% 0%,90% 0%;animation:confettiFall 4s ease-out forwards}@keyframes confettiFall{0%{opacity:1;background-position:10% -10%,30% -20%,50% -5%,70% -15%,90% -8%}to{opacity:0;background-position:10% 110%,30% 120%,50% 105%,70% 115%,90% 108%}}@media(max-width:768px){.tb-columns{grid-template-columns:1fr}.tb-column{min-height:200px}}.chat-page{display:flex;flex-direction:column;height:calc(100vh - 4rem);max-height:calc(100vh - 4rem)}.chat-header{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border);flex-shrink:0}.chat-title-area{display:flex;align-items:center;gap:.5rem}.chat-title-area h1{font-size:1.25rem;font-weight:700}.chat-project-name{color:var(--muted);font-size:.85rem;margin-left:.5rem}.chat-body{flex:1;overflow-y:auto;padding:1rem 0;display:flex;flex-direction:column;gap:.5rem}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--muted);gap:.75rem}.chat-empty p{font-size:.9rem}.chat-date-sep{text-align:center;margin:1rem 0 .5rem}.chat-date-sep span{background:var(--surface);color:var(--muted);font-size:.75rem;padding:.25rem 1rem;border-radius:var(--radius-full);border:1px solid var(--border)}.chat-bubble-row{display:flex;align-items:flex-end;gap:.5rem;max-width:80%}.chat-bubble-row--me{margin-left:auto;flex-direction:row-reverse}.chat-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0;overflow:hidden}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-bubble{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);border-bottom-left-radius:4px;padding:.625rem .875rem;max-width:100%}.chat-bubble--me{background:var(--primary);color:#fff;border-color:var(--primary);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:4px}.chat-sender{font-size:.75rem;font-weight:700;color:var(--primary-l);display:block;margin-bottom:.2rem}.chat-bubble p{font-size:.9rem;line-height:1.5;word-wrap:break-word;margin:0}.chat-time{font-size:.65rem;color:var(--muted);display:block;text-align:right;margin-top:.25rem}.chat-bubble--me .chat-time{color:#fff9}.chat-input-bar{display:flex;gap:.5rem;padding:.75rem 0 0;border-top:1px solid var(--border);flex-shrink:0}.chat-input-bar input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-full);padding:.75rem 1.25rem;color:var(--text);font-size:.9rem;outline:none;transition:border-color .2s}.chat-input-bar input:focus{border-color:var(--primary)}.chat-send-btn{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s,opacity .15s}.chat-send-btn:hover:not(:disabled){transform:scale(1.05)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.chat-bubble-row{max-width:90%}}.dashboard-page{padding:0 0 3rem}.dash-welcome{margin-bottom:1.5rem}.dash-welcome h1{font-size:1.5rem;font-weight:700}.dash-name{color:var(--primary-l)}.dash-grid{display:grid;grid-template-columns:1fr 320px;gap:1.25rem;align-items:start}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem}.dash-card h2,.dash-card h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;margin-bottom:1rem}.dash-feed-list{display:flex;flex-direction:column}.dash-feed-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.dash-feed-item:last-child{border-bottom:none}.dash-feed-icon{width:32px;height:32px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-feed-content{flex:1;min-width:0}.dash-feed-text{font-size:.875rem;line-height:1.4;margin:0}.dash-feed-project{font-size:.8rem;color:var(--primary-l);text-decoration:none;display:inline-block;margin-top:.2rem}.dash-feed-project:hover{text-decoration:underline}.dash-feed-time{font-size:.75rem;color:var(--muted);flex-shrink:0;white-space:nowrap}.dash-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--muted);gap:.75rem;text-align:center}.dash-stats-card{display:flex;gap:1rem;margin-bottom:1rem}.dash-stat{flex:1;display:flex;align-items:center;gap:.75rem;color:var(--primary-l)}.dash-stat-num{display:block;font-size:1.5rem;font-weight:800;color:var(--text);line-height:1}.dash-stat-label{display:block;font-size:.75rem;color:var(--muted)}.dash-projects-list{display:flex;flex-direction:column;gap:.375rem}.dash-project-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-radius:var(--radius-sm);text-decoration:none;color:var(--text);transition:background .15s}.dash-project-item:hover{background:var(--card)}.dash-project-title{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}.dash-project-status{display:flex;align-items:center;gap:.3rem;font-size:.75rem;text-transform:capitalize}@media(max-width:900px){.dash-grid{grid-template-columns:1fr}.dash-sidebar{order:-1}}.page-loader{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--indigo);border-radius:50%;animation:spin .7s linear infinite}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700}:root,[data-theme=dark]{--primary: #3b82f6;--primary-l: #60a5fa;--primary-xl: #93c5fd;--primary-d: #2563eb;--accent: #a78bfa;--accent-l: #c4b5fd;--accent-xl: #ddd6fe;--accent-d: #8b5cf6;--rose: #fb7185;--amber: #fbbf24;--sky: #38bdf8;--orange: #fb923c;--cyan: #22d3ee;--pink: #f472b6;--indigo: var(--primary);--indigo-l: var(--primary-l);--indigo-xl: var(--primary-xl);--indigo-d: var(--primary-d);--teal: #14b8a6;--teal-l: #2dd4bf;--teal-d: #0d9488;--green: #22c55e;--bg: #0a0f1e;--bg-elevated: #0a0f1e;--surface: #141c2e;--card: #1e2a42;--glass: rgba(20, 28, 46, .92);--text: #f0f4ff;--text-2: rgba(200, 215, 240, .88);--muted: rgba(148, 170, 210, .7);--border: rgba(99, 155, 255, .18);--border-hover: rgba(99, 155, 255, .38);--shadow-sm: 0 1px 4px rgba(0, 0, 0, .5);--shadow-md: 0 4px 20px rgba(0, 0, 0, .6);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .7);--shadow-glow: 0 0 60px rgba(59, 130, 246, .15);--shadow-glow-primary: 0 0 60px rgba(167, 139, 250, .12);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--z-base: 1;--z-sticky: 100;--z-modal: 1000;--z-toast: 2000;color-scheme:dark}[data-theme=light]{--bg: #f8fafc;--bg-elevated: #f8fafc;--surface: #ffffff;--card: #ffffff;--glass: rgba(255, 255, 255, .92);--text: #0f172a;--text-2: rgba(30, 41, 59, .78);--muted: rgba(100, 116, 139, .7);--border: rgba(59, 130, 246, .1);--border-hover: rgba(59, 130, 246, .22);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--shadow-glow: 0 0 40px rgba(59, 130, 246, .06);--shadow-glow-primary: 0 0 40px rgba(167, 139, 250, .06);color-scheme:light}body{background:var(--bg);color:var(--text);min-height:100vh;position:relative}body:before,body:after{content:"";position:fixed;border-radius:50%;filter:blur(90px);z-index:-1;pointer-events:none}body:before{width:700px;height:700px;background:radial-gradient(circle,rgba(59,130,246,.28),transparent 70%);top:-15%;left:-10%;animation:floatOrb1 14s ease-in-out infinite}body:after{width:600px;height:600px;background:radial-gradient(circle,rgba(167,139,250,.22),transparent 70%);bottom:-15%;right:-10%;animation:floatOrb2 18s ease-in-out infinite}#orb3{display:none}:root:after{content:"";position:fixed;width:500px;height:500px;background:radial-gradient(circle,rgba(20,184,166,.15),transparent 70%);top:50%;left:55%;border-radius:50%;filter:blur(100px);z-index:-1;pointer-events:none;animation:floatOrb3 22s ease-in-out infinite}@keyframes floatOrb1{0%,to{transform:translate(0) scale(1)}30%{transform:translate(60px,-40px) scale(1.1)}60%{transform:translate(-30px,30px) scale(.92)}}@keyframes floatOrb2{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-50px,-50px) scale(1.08)}55%{transform:translate(40px,30px) scale(.95)}80%{transform:translate(-20px,-30px) scale(1.05)}}@keyframes floatOrb3{0%,to{transform:translate(-50%,-50%) scale(1)}40%{transform:translate(-45%,-55%) scale(1.12)}70%{transform:translate(-55%,-45%) scale(.9)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-elevated)}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:8px;border:2px solid var(--bg-elevated)}::-webkit-scrollbar-thumb:hover{background:var(--primary-d)}*{scrollbar-width:auto;scrollbar-color:var(--border-hover) var(--bg-elevated)}#root{min-height:100vh}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.gradient-text{background:linear-gradient(135deg,var(--primary-l),var(--accent-l),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.bg-glow{position:fixed;top:-300px;left:50%;transform:translate(-50%);width:1000px;height:700px;background:radial-gradient(ellipse at 30% 50%,rgba(59,130,246,.07) 0%,transparent 50%),radial-gradient(ellipse at 70% 50%,rgba(59,130,246,.07) 0%,transparent 50%);pointer-events:none;z-index:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-fade-in-up{animation:fadeInUp .5s ease forwards}.animate-scale-in{animation:scaleIn .3s ease forwards}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}::selection{background:#3b82f64d;color:var(--text)}[dir=rtl]{direction:rtl;text-align:right}img[src*=avatar]{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:1rem;animation:fadeIn .15s ease}.modal-box{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:scaleIn .2s ease}.modal-box--sm{max-width:420px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h2,.modal-header h3{font-size:1.125rem;font-weight:700;margin:0}.modal-close{background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.modal-close:hover{color:var(--text)}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.5rem}
