.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);z-index:1200;animation:fadeIn .2s ease-out;overscroll-behavior:none}html:has(.modal-backdrop) .main-content{overflow:hidden;overscroll-behavior:none}html:has(.modal-backdrop) body{overflow:hidden}.modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:35rem;width:calc(100vw - 2rem);max-height:90vh;max-height:min(90vh,calc(100dvh - 2rem));overflow-y:auto;overflow-x:hidden;z-index:1201;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);--modal-focus-border:var(--purple-700);--modal-focus-shadow:var(--shadow-focus)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1.5rem;border-bottom:1px solid var(--gray-200)}.modal-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--purple-900);margin:0}.modal-subtitle{font-family:var(--font-body);font-size:.875rem;color:var(--gray-600);margin:.5rem 0 0}.modal-close-btn{width:36px;height:36px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--gray-600);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.modal-close-btn:hover{background:var(--gray-100);color:var(--gray-900)}.modal-close-btn svg{width:20px;height:20px}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-family:var(--font-heading);font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.5rem}.form-input{width:100%;padding:.75rem 1rem;font-family:var(--font-body);font-size:.95rem;color:var(--gray-900);background-color:var(--bg-card);border:2px solid var(--gray-300);border-radius:var(--radius-md);transition:all .2s}.form-input:focus{outline:none;border-color:var(--modal-focus-border);box-shadow:var(--modal-focus-shadow)}.form-input.error{border-color:var(--error-text)}.form-input.error:focus{box-shadow:var(--shadow-focus-error)}.form-input:disabled{background-color:var(--gray-100);cursor:not-allowed;opacity:.6}.form-textarea{resize:vertical;min-height:80px;font-family:var(--font-body)}.field-error{display:block;font-size:.75rem;margin-top:.375rem}.error-message,.field-error{font-family:var(--font-body);color:var(--error-text)}.error-message{background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md)}.error-message,.success-message{padding:.875rem 1rem;font-size:.875rem;margin-bottom:1rem}.success-message{background-color:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--radius-md);color:var(--success-text);font-family:var(--font-body);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-hint{font-size:.75rem;color:var(--gray-500);margin-top:1rem;margin-bottom:0}.form-hint,.form-hint-text{font-family:var(--font-body)}.form-hint-text{font-size:.85rem;color:var(--gray-600);margin-top:0}.form-hint-text,.form-label+.form-hint-text,.form-section-title+.form-hint-text{margin-bottom:1rem}.form-hint-inline{font-family:var(--font-body);font-size:.8125rem;color:var(--gray-500);margin-top:.5rem;margin-bottom:0}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--gray-200)}.form-section:last-of-type{border-bottom:none;margin-bottom:1.5rem;padding-bottom:0}.form-section>.form-group:last-child{margin-bottom:0}.form-section-title{font-family:var(--font-heading);font-size:.9rem;font-weight:600;color:var(--gray-400);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.5px}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-bottom:1rem}.form-row:last-child{margin-bottom:0}.toggle-field{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:var(--radius-md);border:1px solid var(--gray-200);background:var(--gray-50)}.toggle-field input{margin-top:.2rem;flex-shrink:0}.toggle-field span{display:grid;grid-gap:.25rem;gap:.25rem}.toggle-field strong{font-family:var(--font-heading);color:var(--gray-900);font-size:.95rem}.toggle-field small{font-family:var(--font-body);color:var(--gray-500);font-size:.8rem;line-height:1.4}.custom-field-options-list{display:grid;grid-gap:.5rem;gap:.5rem}.custom-field-option-row{display:flex;align-items:center;gap:.5rem}.custom-field-option-row .form-input{flex:1 1}.custom-field-option-remove{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--bg-card);color:var(--gray-600);cursor:pointer;flex-shrink:0}.custom-field-option-remove:hover{background:var(--gray-50);color:var(--error-text)}.custom-field-option-add{display:inline-flex;align-items:center;gap:.35rem;margin-top:.5rem}.form-slot-row{display:grid;grid-template-columns:minmax(0,1fr) 7rem 7rem auto;grid-gap:.5rem;gap:.5rem;align-items:center}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid var(--gray-200)}.modal-footer .btn{flex:1 1}.btn{padding:.75rem 1.5rem;font-family:var(--font-heading);font-size:.95rem;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:white}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background:transparent;color:var(--gray-700);border:2px solid var(--gray-300)}.btn-secondary:hover:not(:disabled){background:var(--gray-100);border-color:var(--gray-400)}.btn-danger{background:var(--gradient-danger);color:white}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(220,38,38,.3)}.btn-success{background:var(--gradient-success);color:white}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(22,163,74,.3)}.btn-info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:white}.btn-info:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(37,99,235,.3)}.btn-warning{background:linear-gradient(135deg,#fbbf24,#d97706);color:white}.btn-warning:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(217,119,6,.3)}.btn-neutral{background:linear-gradient(135deg,#6b7280,#4b5563);color:white}.btn-neutral:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(107,114,128,.3)}.modal-danger{border:2px solid var(--error-border);--modal-focus-border:var(--error-text);--modal-focus-shadow:0 0 0 3px rgba(220,38,38,0.1)}.modal-header-content{display:flex;align-items:center;gap:1rem}.modal-icon-danger{width:48px;height:48px;border-radius:50%;background:var(--error-bg);color:var(--error-text);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-icon-danger svg{width:24px;height:24px}.warning-box{padding:1.25rem;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md);margin-bottom:1.5rem}.warning-text{font-family:var(--font-body);font-size:.95rem;color:var(--gray-700);margin-bottom:.75rem;line-height:1.6}.warning-text:last-child{margin-bottom:0}.warning-text strong{color:var(--error-text);font-weight:600}.danger-info-box{padding:1.25rem;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md);margin-bottom:1.5rem}.danger-highlight{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:var(--error-text);padding:.75rem;background:white;border-radius:var(--radius-sm);margin:.75rem 0;text-align:center}.modal-success{border:2px solid var(--success-accent);--modal-focus-border:var(--success-accent);--modal-focus-shadow:0 0 0 3px rgba(22,163,74,0.1)}.modal-icon-success{width:48px;height:48px;border-radius:50%;background:rgba(22,163,74,.15);color:var(--success-accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-icon-success svg{width:24px;height:24px}.activate-info-box,.success-info-box{padding:1.25rem;background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.3);border-radius:var(--radius-md);margin-bottom:1.5rem}.info-text{font-family:var(--font-body);font-size:.95rem;color:var(--gray-700);margin-bottom:.75rem;line-height:1.6}.info-text:last-child{margin-bottom:0}.modal-info{border:2px solid #60a5fa;--modal-focus-border:#3b82f6;--modal-focus-shadow:0 0 0 3px rgba(59,130,246,0.12)}.modal-icon-info{width:48px;height:48px;border-radius:50%;background:rgba(59,130,246,.14);color:#2563eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-icon-info svg{width:24px;height:24px}.info-box{padding:1.25rem;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.24);border-radius:var(--radius-md);margin-bottom:1.5rem}.info-highlight{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:#2563eb;padding:.75rem;background:white;border-radius:var(--radius-sm);margin:.75rem 0;text-align:center}.modal-warning{border:2px solid #f59e0b;--modal-focus-border:#f59e0b;--modal-focus-shadow:0 0 0 3px rgba(245,158,11,0.12)}.modal-icon-warning{width:48px;height:48px;border-radius:50%;background:rgba(245,158,11,.14);color:#d97706;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-icon-warning svg{width:24px;height:24px}.warning-info-box{padding:1.25rem;background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.24);border-radius:var(--radius-md);margin-bottom:1.5rem}.warning-highlight{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:#d97706;padding:.75rem;background:white;border-radius:var(--radius-sm);margin:.75rem 0;text-align:center}.modal-neutral{border:2px solid var(--gray-400);--modal-focus-border:var(--gray-500);--modal-focus-shadow:0 0 0 3px rgba(107,114,128,0.12)}.modal-icon-neutral{width:48px;height:48px;border-radius:50%;background:rgba(107,114,128,.12);color:var(--gray-600);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-icon-neutral svg{width:24px;height:24px}.neutral-info-box{padding:1.25rem;background:var(--gray-50);border:1px solid var(--gray-300);border-radius:var(--radius-md);margin-bottom:1.5rem}.neutral-highlight{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:var(--gray-700);padding:.75rem;background:white;border-radius:var(--radius-sm);margin:.75rem 0;text-align:center}.project-name-highlight,.team-name-highlight{color:var(--error-text)}.activate-highlight,.project-name-highlight,.success-highlight,.team-name-highlight{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;padding:.75rem;background:white;border-radius:var(--radius-sm);margin:.75rem 0;text-align:center}.activate-highlight,.success-highlight{color:var(--success-accent)}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-input{width:20px;height:20px;cursor:pointer;accent-color:var(--purple-700)}.checkbox-text{font-family:var(--font-heading);font-size:.95rem;font-weight:500;color:var(--gray-700)}.form-hint-small{font-family:var(--font-body);font-size:.75rem;color:var(--gray-500);margin-top:.5rem;margin-left:0}@media (max-width:768px){.form-row{grid-template-columns:1fr}.form-slot-row{grid-template-columns:minmax(0,1fr) 1fr;grid-auto-rows:auto}.form-slot-row .custom-field-option-remove{width:100%}.modal-body,.modal-footer,.modal-header{padding:1.25rem}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}@media (max-width:480px){.modal-body,.modal-footer,.modal-header{padding:1rem}.form-group{margin-bottom:1.25rem}.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem}}.role-details,.subteam-details{padding:1rem;background:var(--gray-50);border-radius:var(--radius-md);margin-bottom:1.5rem;border-left:4px solid var(--purple-700)}.role-detail-item,.subteam-detail-item{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-body);font-size:.95rem;margin-bottom:.5rem;color:var(--gray-700)}.role-detail-item:last-child,.subteam-detail-item:last-child{margin-bottom:0}.activate-info-box~.role-detail-item,.activate-info-box~.subteam-detail-item{margin:.25rem 0}.role-detail-label,.subteam-detail-label{font-weight:600;color:var(--gray-700);min-width:100px;margin-right:.5rem}.role-detail-value,.subteam-detail-value{font-weight:500;color:var(--gray-900)}.role-detail-value.active,.subteam-detail-value.active{color:var(--success-text)}.form-section-hint,.role-detail-value.inactive,.subteam-detail-value.inactive{color:var(--gray-500)}.form-section-hint{font-family:var(--font-body);font-size:.75rem;margin:-.5rem 0 .75rem;line-height:1.4}.student-id-input-row{display:flex;align-items:center;gap:.75rem;flex-wrap:nowrap}.student-id-input-row .form-input{width:13.75rem;max-width:13.75rem;flex:0 0 auto}.official-email-hint{display:flex;flex-direction:column;font-family:var(--font-body);font-size:.75rem;color:var(--gray-500);flex-shrink:0}.official-email-label{font-weight:500}.official-email-value{font-size:.6875rem;color:var(--gray-400);word-break:break-all}.checkbox-group{margin-bottom:1.5rem;padding:1rem;background-color:var(--gray-50);border-radius:var(--radius-md);border:2px solid var(--gray-200);transition:all .2s}.checkbox-group:last-child{margin-bottom:0}.checkbox-group .checkbox-label{margin:0}.checkbox-group .checkbox-label input[type=checkbox]{width:20px;height:20px;min-width:20px;cursor:pointer;accent-color:var(--purple-700);margin-right:.75rem;border-radius:var(--radius-sm)}.checkbox-group .checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.checkbox-description{font-family:var(--font-body);font-size:.85rem;color:var(--gray-600);margin:.75rem 0 0 2.5rem;line-height:1.4}.checkbox-group:has(input[type=checkbox]:checked){background-color:rgba(122,71,163,.05);border-color:var(--purple-300)}.radio-group-list{display:flex;flex-direction:column;gap:.75rem}.radio-option-card{position:relative;display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;border:2px solid var(--gray-80);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;background:var(--bg-card)}.radio-option-card:hover{border-color:var(--purple-300);background:rgba(122,71,163,.03)}.radio-option-card.selected{border-color:var(--purple-500);background:rgba(122,71,163,.08)}.radio-option-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}.radio-option-title{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--gray-900)}.radio-option-desc{font-family:var(--font-body);font-size:.875rem;color:var(--gray-600);line-height:1.4}.radio-group-list-compact{gap:.5rem}.radio-group-list-compact .radio-option-card{padding:.75rem 1rem}.radio-group-list-compact .radio-option-title{font-size:.9375rem}.radio-group-list-compact .radio-option-desc{font-size:.8125rem}.sub-options-section{margin-top:.25rem}.nested-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-200)}.nested-section .form-section-title{font-size:.9375rem;margin-bottom:.75rem}.radio-inline-group{display:flex;flex-wrap:wrap;gap:1.25rem}.radio-inline{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-family:var(--font-body);font-size:.95rem;color:var(--gray-800)}.radio-inline input[type=radio]{width:18px;height:18px;accent-color:var(--purple-700);cursor:pointer}.conditional-section{animation:expandHeight .3s ease-out;background-color:var(--gray-50);padding:1.5rem;border-radius:var(--radius-md);border:1px solid var(--gray-200);min-height:120px;overflow:visible}@keyframes expandHeight{0%{opacity:0;max-height:0}to{opacity:1;max-height:37.5rem}}.team-badge-picker{display:flex;flex-wrap:wrap;gap:.5rem}.team-badge-option{display:inline-flex;align-items:center;padding:.35rem .85rem;border-radius:99px;border:2px solid var(--gray-300);background:var(--bg-card);color:var(--gray-600);font-family:var(--font-heading);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .18s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.team-badge-option:hover{color:var(--purple-700)}.team-badge-option--selected,.team-badge-option:hover{border-color:var(--purple-400);background:rgba(122,71,163,.06)}.team-badge-option--selected{color:var(--purple-800);font-weight:600}.team-badge-option--selected:hover{background:rgba(122,71,163,.1);border-color:var(--purple-600);color:var(--purple-800)}.team-badge-option--locked{cursor:default;opacity:.85;pointer-events:none;position:relative}.team-badge-option--locked:after{content:"\1F512";font-size:.65rem;margin-left:.3rem}.team-badge-option .team-badge-option-icon{flex-shrink:0;width:.85rem;height:.85rem;margin-right:.3rem}.team-badge-option--avail-available,.team-badge-option--avail-available:hover{border-color:var(--status-completed);background:var(--status-completed-bg);color:var(--status-completed-text)}.team-badge-option--avail-available:hover{filter:brightness(.97)}.team-badge-option--avail-available.team-badge-option--selected{border-color:var(--purple-400);background:var(--status-completed-bg);color:var(--status-completed-text);font-weight:600}.team-badge-option--avail-available.team-badge-option--selected:hover{border-color:var(--purple-600);background:var(--status-completed-bg);color:var(--status-completed-text);filter:brightness(.97)}.team-badge-option--avail-unavailable,.team-badge-option--avail-unavailable:hover{border-color:var(--status-cancelled);background:var(--status-cancelled-bg);color:var(--status-cancelled-text)}.team-badge-option--avail-unavailable:hover{filter:brightness(.97)}.team-badge-option--avail-unavailable.team-badge-option--selected{border-color:var(--purple-400);background:var(--status-cancelled-bg);color:var(--status-cancelled-text);font-weight:600}.team-badge-option--avail-unavailable.team-badge-option--selected:hover{border-color:var(--purple-600);background:var(--status-cancelled-bg);color:var(--status-cancelled-text);filter:brightness(.97)}.team-badge-option--avail-partial,.team-badge-option--avail-partial:hover{border-color:var(--status-on-hold);background:var(--status-on-hold-bg);color:var(--status-on-hold-text)}.team-badge-option--avail-partial:hover{filter:brightness(.97)}.team-badge-option--avail-partial.team-badge-option--selected{border-color:var(--purple-400);background:var(--status-on-hold-bg);color:var(--status-on-hold-text);font-weight:600}.team-badge-option--avail-partial.team-badge-option--selected:hover{border-color:var(--purple-600);background:var(--status-on-hold-bg);color:var(--status-on-hold-text);filter:brightness(.97)}.modal-comment-list{display:grid;grid-gap:.75rem;gap:.75rem}.modal-comment-card{border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:.85rem;background:var(--gray-50)}.modal-comment-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.modal-comment-author{display:flex;align-items:center;gap:.55rem}.modal-comment-avatar-image{width:24px;height:24px;border-radius:50%;object-fit:cover}.modal-comment-avatar-fallback{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--purple-100);color:var(--purple-700);font-size:.75rem;font-weight:700}.modal-comment-meta{margin:0}.modal-comment-body{margin:0;white-space:pre-wrap;color:var(--gray-800)}.edit-task-dependency-columns{display:grid;grid-gap:.9rem;gap:.9rem;margin-top:1rem}.edit-task-dependency-heading{margin-bottom:.45rem}.edit-task-dependency-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);margin-bottom:.45rem}.edit-task-dependency-card--compact{display:block}.edit-task-dependency-meta{margin:0}.view-member-modal .modal-content{padding:0}.member-info-card{display:flex;gap:1.25rem;padding:1.5rem;background:linear-gradient(135deg,white,rgba(122,71,163,.05));border-bottom:1px solid var(--gray-200)}.member-info-card .member-avatar{flex-shrink:0}.member-info-card .member-avatar img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--purple-700)}.member-info-card .avatar-placeholder{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--purple-700),var(--purple-600));display:flex;align-items:center;justify-content:center;font-size:2rem;color:white;font-weight:700}.member-info-details{flex:1 1;display:flex;flex-direction:column;justify-content:space-between}.member-info-card .member-name{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-900)}.member-info-card .member-email,.member-info-card .member-join-date,.member-info-card .member-phone,.member-info-card .member-student-id{margin:.25rem 0 0;font-size:.813rem;color:var(--gray-500)}.member-info-card .member-student-id{color:var(--purple-700);font-weight:500}.timeline-section{padding:1.5rem}.timeline-title{margin:0 0 1.5rem;font-size:1rem;font-weight:600;color:var(--gray-900);text-transform:uppercase;letter-spacing:.5px}.vertical-timeline{position:relative}.timeline-item{display:flex;gap:1rem;margin-bottom:1.75rem;position:relative}.timeline-marker{display:flex;flex-direction:column;align-items:center;position:relative;min-width:50px}.timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--purple-700);border:2px solid rgba(139,92,246,.4);outline:3px solid var(--bg-card);outline-offset:1px;position:relative;z-index:2;flex-shrink:0}.timeline-dot.activity-tone-default{background-color:#5b21b6;border-color:rgba(91,33,182,.35)}.timeline-dot.activity-tone-created{background-color:#065f46;border-color:rgba(6,95,70,.35)}.timeline-dot.activity-tone-assignment,.timeline-dot.activity-tone-status,.timeline-dot.activity-tone-updated{background-color:#1e40af;border-color:rgba(30,64,175,.35)}.timeline-dot.activity-tone-deleted{background-color:#7f1d1d;border-color:rgba(127,29,29,.35)}.timeline-dot.activity-tone-success{background-color:#065f46;border-color:rgba(6,95,70,.35)}.timeline-dot.activity-tone-muted{background-color:#64748b;border-color:rgba(100,116,139,.35)}.timeline-dot.activity-tone-comment{background-color:#5b21b6;border-color:rgba(91,33,182,.35)}.timeline-dot.activity-tone-schedule{background-color:#164e63;border-color:rgba(22,78,99,.35)}.timeline-dot.activity-tone-warning{background-color:#92400e;border-color:rgba(146,64,14,.35)}.timeline-dot.activity-tone-dependency{background-color:#5b21b6;border-color:rgba(91,33,182,.35)}.timeline-line{width:10px;flex:1 1;background:var(--purple-700);margin-top:.45rem;min-height:2.5rem;-webkit-clip-path:polygon(45% 0,55% 0,82% 100%,18% 100%);clip-path:polygon(45% 0,55% 0,82% 100%,18% 100%);border-radius:999px}.timeline-line--ascending{-webkit-clip-path:polygon(18% 0,82% 0,55% 100%,45% 100%);clip-path:polygon(18% 0,82% 0,55% 100%,45% 100%)}.timeline-line--descending{-webkit-clip-path:polygon(45% 0,55% 0,82% 100%,18% 100%);clip-path:polygon(45% 0,55% 0,82% 100%,18% 100%)}.change-type-badge.activity-tone-created{background:rgba(16,185,129,.15);color:#166534}.change-type-badge.activity-tone-assignment,.change-type-badge.activity-tone-status,.change-type-badge.activity-tone-updated{background:rgba(59,130,246,.15);color:#1e40af}.change-type-badge.activity-tone-deleted{background:rgba(239,68,68,.15);color:#7f1d1d}.change-type-badge.activity-tone-success{background:rgba(16,185,129,.15);color:#065f46}.change-type-badge.activity-tone-muted{background:rgba(107,114,128,.15);color:#374151}.change-type-badge.activity-tone-comment{background:rgba(139,92,246,.15);color:#5b21b6}.change-type-badge.activity-tone-schedule{background:rgba(6,182,212,.15);color:#164e63}.change-type-badge.activity-tone-warning{background:rgba(245,158,11,.15);color:#92400e}.change-type-badge.activity-tone-default,.change-type-badge.activity-tone-dependency{background:rgba(139,92,246,.15);color:#5b21b6}.timeline-dot.change-type-new{background-color:#1e40af;border:2px solid rgba(30,64,175,.35);outline:3px solid white;box-shadow:none}.timeline-dot.change-type-promotion{background-color:#065f46;border:2px solid rgba(6,95,70,.35);outline:3px solid white;box-shadow:none}.timeline-dot.change-type-demotion{background-color:#92400e;border:2px solid rgba(146,64,14,.35);outline:3px solid white;box-shadow:none}.timeline-dot.change-type-transfer{background-color:#5b21b6;border:2px solid rgba(91,33,182,.35);outline:3px solid white;box-shadow:none}.timeline-dot.change-type-expelled,.timeline-dot.change-type-resignation{background-color:#7f1d1d;border:2px solid rgba(127,29,29,.35);outline:3px solid white;box-shadow:none}.timeline-dot.change-type-graduated{background-color:#164e63;border:2px solid rgba(22,78,99,.35);outline:3px solid white;box-shadow:none}.timeline-dot.change-type-default{background-color:#374151;border:2px solid rgba(55,65,81,.35);outline:3px solid white;box-shadow:none}.timeline-content{flex:1 1;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1rem;transition:all .3s ease}.timeline-content:hover{border-color:var(--purple-700);box-shadow:0 4px 12px rgba(122,71,163,.1);background:rgba(122,71,163,.02)}.timeline-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;justify-content:space-between}.change-type-badge{font-size:.688rem;font-weight:700;padding:.25rem .625rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;width:-moz-fit-content;width:fit-content}.change-type-new{background:rgba(59,130,246,.15);color:#1e40af}.change-type-promotion{background:rgba(16,185,129,.15);color:#065f46}.change-type-demotion{background:rgba(245,158,11,.15);color:#92400e}.change-type-transfer{background:rgba(139,92,246,.15);color:#5b21b6}.change-type-resignation{background:rgba(239,68,68,.15);color:#7f1d1d}.change-type-expelled{background:rgba(220,38,38,.15);color:#7f1d1d}.change-type-graduated{background:rgba(6,182,212,.15);color:#164e63}.change-type-default{background:rgba(107,114,128,.15);color:#374151}.timeline-date{display:inline-flex;align-items:center;gap:.35rem;font-size:.813rem;color:var(--gray-500);font-weight:500}.activity-actor-row{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.activity-actor{display:inline-flex;align-items:center;gap:.55rem;font-size:.875rem}.activity-actor,.activity-actor-name{color:var(--gray-700);font-weight:600}.activity-actor-avatar{width:24px;height:24px;border-radius:999px;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--gray-100);color:var(--gray-500);flex-shrink:0}.activity-actor-avatar img{width:100%;height:100%;object-fit:cover}.activity-entity-tag{display:inline-flex;align-items:center;padding:.25rem .55rem;border-radius:var(--radius-sm);background:rgba(122,71,163,.08);color:var(--purple-700);font-size:.688rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.activity-entity-row{display:flex;align-items:center;gap:.35rem;margin-bottom:.75rem;flex-wrap:wrap}.activity-entity-label{font-family:var(--font-heading);font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;min-width:3.5rem}.activity-entity-name{font-size:.875rem;font-weight:600;color:var(--gray-900);min-width:0}.activity-ref-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.activity-ref-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-700);font-size:.75rem;font-weight:600}.activity-description{margin:0 0 .75rem;color:var(--gray-800);line-height:1.55}.activity-change-list{display:grid;grid-gap:.55rem;gap:.55rem}.activity-change-row{display:grid;grid-gap:.22rem;gap:.22rem;padding:.65rem .75rem;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--gray-50)}.activity-change-label{font-size:.75rem;font-weight:600;letter-spacing:.01em;color:var(--gray-500)}.activity-change-value{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;font-size:.875rem;color:var(--gray-800)}.activity-change-before{color:var(--gray-600)}.activity-change-arrow{color:var(--gray-400)}.activity-change-after{color:var(--gray-900);font-weight:600}.activity-diff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.activity-diff-card{border-radius:var(--radius-md);padding:.75rem;border:1px solid var(--gray-200);background:var(--gray-50)}.activity-diff-card--old{border-color:rgba(220,38,38,.16);background:rgba(220,38,38,.04)}.activity-diff-card--new{border-color:rgba(16,185,129,.16);background:rgba(16,185,129,.04)}.activity-diff-label{margin-bottom:.35rem;font-size:.688rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;color:var(--gray-500)}.activity-diff-value{font-size:.875rem;color:var(--gray-900);white-space:pre-wrap;word-break:break-word}.project-slot-grid{display:grid;grid-gap:.75rem;gap:.75rem}.project-slot-card{border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:.85rem;background:var(--gray-50)}.project-slot-card--inactive{opacity:.72}.project-slot-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem;flex-wrap:wrap}.project-slot-card-title{gap:.45rem;color:var(--gray-900)}.project-slot-card-title,.project-slot-state{display:inline-flex;align-items:center;font-weight:700}.project-slot-state{padding:.2rem .5rem;border-radius:999px;background:rgba(122,71,163,.08);color:var(--purple-700);font-size:.688rem;text-transform:uppercase;letter-spacing:.3px}.project-slot-card-row{display:flex;align-items:center;gap:.45rem;font-size:.875rem;color:var(--gray-700);margin-bottom:.5rem}.project-slot-avatar{width:22px;height:22px;border-radius:999px;object-fit:cover;margin-left:auto}.project-slot-task-link{margin:.35rem 0 .45rem;font-size:.813rem;color:var(--gray-500)}.project-slot-notes{margin:.5rem 0 0;color:var(--gray-700);white-space:pre-wrap}.role-info{flex-direction:column;margin-bottom:.75rem}.role-info,.role-item{display:flex;gap:.5rem}.role-item{align-items:center;font-size:.875rem;color:var(--gray-900)}.role-item svg{color:var(--purple-700);flex-shrink:0}.role-item-label{font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;min-width:52px}.role-name{font-weight:600;color:var(--gray-900)}.team-name{color:var(--gray-500);font-size:.813rem}.duration-info{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--gray-500);padding:.5rem 0;border-top:1px solid var(--gray-200);border-bottom:1px solid var(--gray-200);margin:.75rem 0}.duration-info svg{color:var(--purple-700);flex-shrink:0}.duration-text{line-height:1.4}.reason-info{display:flex;align-items:flex-start;gap:.5rem;font-size:.75rem;color:var(--gray-500);margin-top:.75rem;padding:.5rem;background:rgba(122,71,163,.05);border-radius:var(--radius-sm)}.reason-info svg{color:var(--purple-700);flex-shrink:0;margin-top:2px}.reason-text{line-height:1.4;color:var(--gray-900)}.notes-info{margin-top:.75rem}.notes-label{margin:0 0 .25rem;font-size:.688rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px}.notes-text{margin:0;font-size:.75rem;color:var(--gray-500);line-height:1.4;padding:.5rem;background:rgba(107,114,128,.05);border-left:3px solid var(--purple-700);border-radius:2px}.timeline-verify-btn{width:auto;display:inline-flex;margin-top:.75rem;padding:.375rem .75rem;font-size:.75rem;text-decoration:none}.empty-state p{margin:0;font-size:.875rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3.75rem 1.25rem;gap:1rem}.spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--purple-700);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-state p{margin:0;color:var(--gray-500);font-size:.875rem}.error-state{padding:2.5rem 1.25rem;text-align:center}.activity-history-modal{overflow-x:hidden}.activity-history-modal .modal-header>div{flex:1 1;min-width:0}.activity-history-modal .modal-subtitle{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-history-modal .modal-body{padding:0;overflow-x:hidden}.activity-history-content{padding:1.25rem 1.5rem 1.5rem;overflow-x:hidden}.activity-history-modal .timeline-section{padding:0}.activity-history-modal .timeline-title{margin-bottom:1.25rem}.activity-history-modal .timeline-title:has(+.timeline-filters){margin-bottom:.75rem}.timeline-filters{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-default)}.timeline-filters-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;align-items:end}.timeline-filter-field{min-width:0}.timeline-filters .btn.btn-secondary{align-self:flex-start;padding:.5rem .75rem;font-size:.75rem}@media (max-width:768px){.timeline-filters-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.timeline-filters-row{grid-template-columns:1fr}}.activity-history-modal .timeline-item{gap:.875rem;margin-bottom:1.25rem;min-width:0}.activity-history-modal .timeline-content{padding:.875rem 1rem;min-width:0}.activity-history-modal .activity-actor-row{margin-bottom:.65rem}.activity-history-modal .activity-entity-row{margin-top:.35rem;margin-bottom:.55rem;padding-top:.45rem;border-top:1px solid var(--gray-200);gap:.2rem;align-items:baseline;flex-wrap:nowrap;min-width:0;overflow:hidden}.activity-history-modal .activity-entity-label{flex:0 0 auto}.activity-history-modal .activity-entity-name{display:block;flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-history-modal .activity-change-value{min-width:0}.activity-history-modal .activity-change-after,.activity-history-modal .activity-change-before{min-width:0;overflow-wrap:anywhere;word-break:break-word}.activity-history-modal .activity-description{margin-bottom:.75rem;color:var(--gray-600)}.activity-history-modal .activity-change-row{padding:.55rem .75rem}.form-hint-small{margin-left:2rem}@media (max-width:768px){.role-detail-item,.subteam-detail-item{flex-direction:column;align-items:flex-start;gap:.25rem}}@media (max-width:640px){.member-info-card{flex-direction:column;text-align:center;gap:1rem}.member-info-details{align-items:center}.timeline-header{flex-direction:column;align-items:flex-start;gap:.5rem}.timeline-item{gap:.45rem}.timeline-marker{min-width:1.125rem}.timeline-line{width:6px}.timeline-content{padding:.75rem}.role-item{font-size:.813rem}.duration-info{font-size:.688rem}.duration-text{word-break:break-word}.toggle-field{padding:.875rem}}.modal-form-group{display:flex;flex-direction:column;gap:.35rem}.modal-label{font-family:var(--font-heading);font-size:.78rem;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.04em}.modal-input,.modal-select,.modal-textarea{font-family:var(--font-heading);font-size:.875rem;padding:.6rem .85rem;border:2px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--gray-800);transition:border-color .15s,background .15s;width:100%}.modal-input:focus,.modal-select:focus,.modal-textarea:focus{outline:none;border-color:var(--purple-600);background:var(--bg-card)}.modal-textarea{resize:vertical;min-height:80px;line-height:1.5}.modal-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--gray-100)}.modal-btn-cancel{font-family:var(--font-heading);font-size:.85rem;font-weight:500;padding:.55rem 1.25rem;border:2px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--gray-600);cursor:pointer;transition:background .15s,border-color .15s}.modal-btn-cancel:hover{background:var(--gray-100);border-color:var(--gray-300)}.modal-btn-submit{font-family:var(--font-heading);font-size:.85rem;font-weight:600;padding:.55rem 1.4rem;border:none;border-radius:var(--radius-sm);background:var(--gradient-primary);color:#fff;cursor:pointer;transition:opacity .15s}.modal-btn-submit:hover:not(:disabled){opacity:.88}.modal-btn-submit:disabled{opacity:.5;cursor:not-allowed}.team-checkbox-list{display:flex;flex-direction:column;gap:.4rem;max-height:180px;overflow-y:auto;padding:.25rem 0}.team-checkbox-item{display:flex;align-items:center;gap:.55rem;padding:.35rem .5rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}.team-checkbox-item:hover{background:var(--gray-50)}.team-checkbox-item input[type=checkbox]{accent-color:var(--purple-700);width:15px;height:15px;cursor:pointer}.team-checkbox-label{font-family:var(--font-heading);font-size:.83rem;font-weight:500;color:var(--gray-700);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.modal-segmented-row{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;align-items:flex-start;margin-bottom:1.25rem}.modal-segmented-row>.form-group{margin-bottom:0;flex:0 1 auto;min-width:0}.modal-segmented{display:inline-flex;flex-wrap:wrap;gap:.25rem;padding:.2rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-subtle)}.modal-segmented-btn{border:none;background:transparent;color:var(--gray-600);border-radius:var(--radius-sm);padding:.4rem .7rem;font:inherit;font-size:.85rem;cursor:pointer}.modal-segmented-btn:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900)}.modal-segmented-btn--active{background:var(--bg-card);color:var(--gray-900);font-weight:600;box-shadow:var(--shadow-sm)}.modal-segmented-btn:disabled{opacity:.6;cursor:not-allowed}.modal-picker-list{display:flex;flex-direction:column;gap:.3rem;margin-top:.5rem}.modal-picker-option{display:block;color:var(--gray-900);font-size:.875rem}.modal-picker-option--selected{background:var(--purple-50);color:var(--purple-700);font-weight:600}.modal-inline-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.25rem}.modal-inline-actions .btn{display:inline-flex;align-items:center;gap:.35rem}.modal-card-section{margin-top:1rem}.modal-card-section-title{margin:0 0 .55rem;font-size:.95rem;font-weight:600;color:var(--gray-900)}.modal-card-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.modal-access-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-subtle)}.modal-access-card--stack{flex-direction:column}.modal-access-card-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.modal-access-card-title{font-weight:600;font-size:.9rem;color:var(--gray-900);word-break:break-word}.modal-access-card-meta{font-size:.8rem;color:var(--gray-600)}.modal-access-card .btn-sm{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .55rem;font-size:.8rem;flex-shrink:0}@media (max-width:640px){.modal-access-card:not(.modal-access-card--stack){flex-direction:column}}