*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fff;--side-bg:#fff;--main-bg:#fff;--accent:#007aff;--accent2:#5856d6;--text:#1a1a2e;--muted:#6b6b80;--nav-hover:#0000000d;--nav-active-bg:#007aff1a;--nav-active-color:#007aff;--side-width:420px;--radius:10px}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;overflow:hidden}.app-layout{width:100vw;height:100vh;display:flex}.side-pane{width:var(--side-width);background:var(--side-bg);flex-direction:column;flex-shrink:0;padding:1.5rem 0;display:flex;overflow:hidden}.side-pane-scroll{flex:1;padding:0 1rem;overflow-y:auto}.side-pane-footer{border-top:1px solid #0000000d;align-items:center;padding:.75rem 1rem;display:flex}.undo-btn{all:unset;cursor:pointer;color:#64748b;text-transform:uppercase;letter-spacing:.03em;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.4rem .8rem;font-size:.75rem;font-weight:700;transition:all .2s}.undo-btn:hover:not(:disabled){color:#475569;background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 1px 2px #0000000d}.undo-btn:disabled{opacity:.4;cursor:default}.side-logo{align-items:center;gap:.6rem;margin-bottom:2rem;padding:.5rem .75rem;display:flex}.logo-icon{font-size:1.4rem;line-height:1}.logo-text{color:#000;letter-spacing:.03em;font-size:1.1rem;font-weight:700}.side-nav{flex-direction:column;gap:.25rem;display:flex}.nav-item{all:unset;width:calc(100% - 1.5rem);color:var(--muted);cursor:pointer;text-align:left;border-radius:8px;padding:.5rem .75rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .12s,color .12s;display:block}.nav-item:hover{background:var(--nav-hover);color:var(--text)}.nav-item.active{background:var(--nav-active-bg);color:var(--nav-active-color);font-weight:600}.main-pane{background:var(--main-bg);flex-direction:column;flex:1;padding:2.5rem 3rem;animation:.35s both fadeIn;display:flex;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-header{margin-bottom:3rem}h1{color:#000;margin-bottom:.6rem;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700}.subtitle{color:var(--muted);font-size:.95rem}.section-header{-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;padding:.4rem .5rem;display:flex}.section-title{color:#000;letter-spacing:.01em;flex:1;font-size:1rem;font-weight:700}.chevron-btn,.add-btn{all:unset;cursor:pointer;color:#555;border-radius:4px;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:1.05rem;line-height:1;transition:background .12s,color .12s,transform .2s;display:flex}.chevron-btn.expanded{transform:rotate(0)}.chevron-btn:not(.expanded){transform:rotate(-90deg)}.section-content{flex-direction:column;padding-bottom:.5rem;padding-left:1.25rem;display:flex}.member-item,.tag-item,.project-item{color:var(--muted);margin-bottom:2px;padding:.35rem .75rem;font-size:.9rem;font-weight:600}.member-item:hover,.tag-item:hover,.project-item:hover{color:var(--text);background:var(--nav-hover)}.nav-item.empty{opacity:.7;font-size:.85rem;font-style:italic}.dot{background:#cbd5e0;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:.5rem;display:inline-block}.nav-item.project-item.green .dot{background:#48bb78}.nav-item.project-item.orange .dot{background:#ed8936}.nav-item.project-item.red .dot{background:#f56565}.nav-item.project-item.blue .dot{background:#4299e1}.nav-item.project-item.gray .dot{background:#cbd5e0}.nav-item.project-item.none .dot{display:none}.nav-item.project-item.done{opacity:.4}.nav-item.error{color:#ce422b;font-size:.85rem}.nav-project-node{flex-direction:column;display:flex}.nav-item.project-item.hierarchy{align-items:center;gap:.25rem;width:calc(100% - 1rem);padding:.35rem .75rem .35rem .25rem;display:flex}.nav-item.project-item.hierarchy .chevron-btn-small{all:unset;cursor:pointer;width:1.2rem;height:1.2rem;color:var(--muted);border-radius:3px;justify-content:center;align-items:center;font-size:.8rem;transition:transform .2s,background .12s;display:flex}.nav-item.project-item.hierarchy .chevron-btn-small:hover{color:var(--text);background:#0000000d}.nav-item.project-item.hierarchy .chevron-btn-small.expanded{transform:rotate(0)}.nav-item.project-item.hierarchy .chevron-btn-small:not(.expanded){transform:rotate(-90deg)}.nav-item.project-item.hierarchy .chevron-btn-small.invisible{visibility:hidden;pointer-events:none}.nav-item.project-item.hierarchy .project-info-row{cursor:pointer;flex:1;align-items:center;display:flex;overflow:hidden}.nav-item.project-item.hierarchy .project-info-row .name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-item.project-item.hierarchy .add-sub-btn{all:unset;cursor:pointer;width:1.2rem;height:1.2rem;color:var(--muted);opacity:0;border-radius:3px;justify-content:center;align-items:center;margin-right:.5rem;font-size:1rem;transition:opacity .12s,background .12s,color .12s;display:flex}.nav-item.project-item.hierarchy .add-sub-btn:hover{color:var(--accent);background:#0000000d}.nav-item.project-item.hierarchy:hover .add-sub-btn{opacity:1}.sub-projects-container{border-left:1px solid #0000000d;margin-left:0}.parent-link{color:var(--accent);cursor:pointer;font-weight:600}.parent-link:hover{text-decoration:underline}.zulip-link-profile{margin-top:.75rem}.zulip-btn{all:unset;color:#24292f;cursor:pointer;background:#f0f4f8;border:1px solid #d1d9e0;border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .9rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.zulip-btn .zulip-icon{font-size:1rem}.zulip-btn:hover{color:var(--accent);background:#e6ebf1;border-color:#afb8c1;box-shadow:0 1px 2px #0000000d}.sub-project-tag{background:var(--nav-active-bg)!important;color:var(--accent)!important;border:1px solid var(--accent)!important}.chevron-btn:hover,.add-btn:hover{color:#000;background:#00000012}button{all:unset;cursor:pointer;background:var(--accent);color:#fff;text-align:center;border-radius:8px;padding:.6rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .12s}button:hover{background:var(--accent2)}button:active{transform:translateY(1px)}.form-body{flex-direction:column;gap:1.5rem;max-width:540px;display:flex}.field-group{flex-direction:column;gap:.4rem;display:flex}.field-label{color:#000;letter-spacing:.02em;font-size:.88rem;font-weight:600}.field-input{color:var(--text);background:#f7f7f9;border:1px solid #dddde6;border-radius:8px;outline:none;width:100%;padding:.6rem .85rem;font-family:inherit;font-size:.95rem;transition:border-color .15s}.field-input::placeholder{color:#a0aec0}.field-input[type=date]{cursor:pointer;color:var(--text);font-family:inherit}textarea.field-input{resize:vertical;min-height:100px;line-height:1.5}.field-input:focus{border-color:var(--accent)}.readonly-input{color:#64748b!important;cursor:not-allowed!important;background-color:#f1f5f9!important;border-color:#e2e8f0!important}.status-picker{background:#f7f7f9;border:1px solid #dddde6;border-radius:10px;gap:.5rem;padding:4px;display:flex}.status-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:.5rem;font-size:.85rem;font-weight:600;transition:all .2s}.status-btn.active{color:var(--text);background:#fff;box-shadow:0 2px 4px #0000000d}.status-btn.active.todo{border-left:3px solid #718096}.status-btn.active.doing{border-left:3px solid #ecc94b}.status-btn.active.done{border-left:3px solid #48bb78}.status-btn:hover:not(.active){background:#00000005}.header-name-row{align-items:center;gap:1rem;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:20px;padding:.25rem .6rem;font-size:.75rem;font-weight:700}.status-badge.to-do{color:#4a5568;background:#edf2f7}.status-badge.doing{color:#b7791f;background:#fefcbf}.status-badge.done{color:#2f855a;background:#f0fff4}.tag-field{flex-direction:column;gap:.6rem;display:flex}.tag-list{flex-wrap:wrap;gap:.4rem;min-height:1.6rem;display:flex}.tag{color:var(--accent);background:#ce422b1a;border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .65rem;font-size:.82rem;font-weight:600;display:inline-flex}.tag-remove{all:unset;cursor:pointer;color:var(--accent);opacity:.6;font-size:1rem;line-height:1;transition:opacity .1s}.tag-remove:hover{opacity:1}.tag.tag-pending-removal{opacity:.8;text-decoration:line-through;color:#c53030!important;background:#fff5f5!important;border:1px dashed #c53030!important}.tag.tag-pending-removal .tag-remove{display:none}.profile-stats-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;gap:2rem;width:fit-content;margin:0 0 2rem;padding:1rem 1.5rem;display:flex}.profile-stats-bar .stat-item{align-items:center;gap:.75rem;display:flex}.profile-stats-bar .stat-item .stat-content{flex-direction:column;display:flex}.profile-stats-bar .stat-item .stat-content .stat-label{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:1px;font-size:.65rem;font-weight:700}.profile-stats-bar .stat-item .stat-content .stat-value{color:#0f172a;white-space:nowrap;font-size:.9rem;font-weight:600}.profile-stats-bar .stat-item.deadline-stat .stat-value{color:#0f172a}.profile-stats-bar .stat-item.deadline-stat .stat-label{color:#64748b}.profile-gantt-section{margin:0 0 2rem}.profile-gantt-section .gantt-wrapper{border:none;border-radius:0;max-height:400px}.profile-gantt-section .gantt-zoom-controls{margin:1rem 0}.profile-gantt-section .profile-section-header{border-bottom:1px solid #e2e8f0;margin:3rem 0 1rem;padding-bottom:.5rem}.profile-gantt-section .profile-section-header h3{color:#2d3748;margin:0;font-size:1.1rem;font-weight:600}.profile-gantt-section .requirement-chart{margin-bottom:3rem}.tag-input-row{gap:.5rem;display:flex}.tag-input-container{flex-direction:column;display:flex;position:relative}.tag-suggestions{z-index:100;background:#fff;border:1px solid #dddde6;border-top:none;border-bottom-right-radius:8px;border-bottom-left-radius:8px;max-height:200px;margin-top:-1px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.suggestion-item{cursor:pointer;padding:.6rem .85rem;font-size:.92rem;transition:background .1s}.suggestion-item:hover{color:var(--accent);background:#f0f0f5}.tag-add-btn{all:unset;cursor:pointer;color:#333;white-space:nowrap;background:#f0f0f5;border:1px solid #dddde6;border-radius:8px;padding:.6rem 1rem;font-size:.88rem;font-weight:600;transition:background .12s}.tag-add-btn:hover{background:#e6e6ee}.tag-add-btn-mini{all:unset;cursor:pointer;color:#333;white-space:nowrap;background:#f0f0f5;border:1px solid #dddde6;border-radius:6px;padding:.35rem .75rem;font-size:.82rem;font-weight:600;transition:background .12s}.tag-add-btn-mini:hover{background:#e6e6ee}.form-actions{gap:.75rem;padding-top:.5rem;display:flex}.btn-cancel{all:unset;cursor:pointer;color:var(--muted);background:0 0;border:1px solid #dddde6;border-radius:8px;padding:.65rem 1.6rem;font-size:.95rem;font-weight:600;transition:background .12s,color .12s}.btn-cancel:hover{color:#000;background:#f0f0f5}.btn-save{all:unset;cursor:pointer;background:var(--accent);color:#fff;border-radius:8px;padding:.65rem 1.6rem;font-size:.95rem;font-weight:600;transition:all .12s}.btn-save:hover{background:var(--accent2)}.btn-save:active{transform:translateY(1px)}.btn-save:disabled{cursor:not-allowed;background:#cbd5e0;transform:none}.profile-header{margin-bottom:2.5rem}.header-with-actions{justify-content:space-between;align-items:center;gap:2rem;display:flex}.header-btns{gap:.75rem;display:flex}.btn-edit{all:unset;cursor:pointer;color:var(--text);background:#f7f7f9;border:1px solid #dddde6;border-radius:8px;padding:.5rem 1.25rem;font-size:.88rem;font-weight:600;transition:all .12s}.btn-edit:hover{background:#e6e6ee}.btn-save-edit{all:unset;cursor:pointer;background:var(--accent);color:#fff;border-radius:8px;padding:.5rem 1.25rem;font-size:.88rem;font-weight:600;transition:all .12s}.btn-save-edit:hover{background:var(--accent2)}.btn-cancel-edit{all:unset;cursor:pointer;color:var(--muted);border:1px solid #dddde6;border-radius:8px;padding:.5rem 1.25rem;font-size:.88rem;font-weight:600;transition:all .12s}.btn-cancel-edit:hover{color:var(--text);background:#f0f0f5}.btn-delete{all:unset;cursor:pointer;color:#c53030;background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;padding:.5rem 1.25rem;font-size:.88rem;font-weight:600;transition:all .12s}.btn-delete:hover{color:#fff;background:#c53030;border-color:#c53030}.btn-delete:active{transform:translateY(1px)}.btn-delete:disabled{opacity:.5;cursor:not-allowed;opacity:.5;cursor:not-allowed;transform:none}.profile-tags{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.tag-editor{background:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;flex-direction:column;gap:1.25rem;width:100%;padding:1.25rem;display:flex}.edit-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:-.5rem;font-size:.75rem;font-weight:700}.current-tags{flex-wrap:wrap;gap:.5rem;display:flex}.available-tags-pool{background:#fff;border:1px dashed #ced4da;border-radius:8px;flex-wrap:wrap;gap:.5rem;min-height:40px;padding:.75rem;display:flex}.available-tag{cursor:pointer;color:var(--text)!important;background:#f1f3f5!important;border:1px solid #dee2e6!important;transition:all .15s!important}.available-tag:hover{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.editable-tag{align-items:center;gap:.4rem;display:flex;padding-right:.4rem!important}.remove-tag{all:unset;cursor:pointer;background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.8rem;line-height:1;transition:all .1s;display:flex}.remove-tag:hover{color:#fff;background:#fff6}.add-tag-wrapper{max-width:250px;position:relative}.add-tag-input{all:unset;background:#fff;border:1px solid #dddde6;border-radius:6px;width:100%;padding:.4rem .8rem;font-size:.85rem;transition:all .12s}.add-tag-input:focus{border-color:var(--accent)}.profile-suggestions{z-index:100;width:100%;top:calc(100% + 4px)}.profile-section{margin-bottom:2rem}.profile-section-padded{margin:0 0 2rem}.profile-section-title{color:#000;letter-spacing:.01em;margin-bottom:1rem;font-size:1.1rem;font-weight:700}.info-grid{background:#f7f7f9;border:1px solid #dddde6;border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;padding:1.5rem;display:grid}.info-item{flex-direction:column;gap:.3rem;display:flex}.personnel-requirements{gap:1.5rem!important}.req-section{flex-direction:column;gap:.75rem;display:flex}.mini-pool{background:#00000005!important;min-height:32px!important;padding:.5rem!important}.requirement-list{flex-direction:column;gap:.5rem;display:flex}.requirement-item{background:#fff;border:1px solid #dddde6;border-radius:8px;align-items:center;padding:.5rem .75rem;display:flex}.requirement-item.no-border{background:0 0;border:none;padding:0}.muted-label{color:var(--muted);font-size:.9rem}.count-controls{background:#f1f3f5;border-radius:6px;align-items:center;gap:.75rem;padding:.2rem;display:flex}.count-btn{all:unset;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:1rem;font-weight:700;transition:all .1s;display:flex;color:var(--text)!important;box-shadow:none!important;background:#fff!important}.count-btn:hover{background:var(--accent)!important;color:#fff!important;transform:none!important}.count-btn:active{background:var(--accent2)!important}.count-value{text-align:center;min-width:1.2rem;font-size:.95rem;font-weight:700}.remove-req{all:unset;cursor:pointer;color:#adb5bd;margin-left:1rem;font-size:1.1rem;transition:color .12s}.remove-req:hover{color:#ce422b}.allocation-list{flex-direction:column;gap:.5rem;display:flex}.allocation-controls{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;align-items:center;gap:.25rem;height:32px;padding:0 .5rem;display:flex}.perc-input{all:unset;text-align:right;width:80px;color:var(--text);-moz-appearance:textfield;appearance:none;padding-right:4px;font-size:.9rem;font-weight:600}.perc-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.perc-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.unit{color:var(--muted);font-size:.8rem;font-weight:500}.tag-req-group{background:#fcfcfd;border:1px solid #eeeff2;border-radius:10px;margin-bottom:1rem;padding:.75rem}.group-header{border-bottom:1px dashed #eeeff2;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.add-level-btn{all:unset;cursor:pointer;color:var(--accent);background:#0066ff0d;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;transition:all .15s}.add-level-btn:hover{background:var(--accent);color:#fff}.remove-group-btn{all:unset;cursor:pointer;color:#adb5bd;padding:.2rem;font-size:1.1rem;line-height:1}.remove-group-btn:hover{color:#ce422b}.allocation-levels{flex-direction:column;gap:.4rem;display:flex}.requirement-item.nested{background:#00000004;border-style:dotted;padding-left:.5rem}.req-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.req-label-area{flex:1;align-items:center;min-width:0;display:flex}.at-symbol{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;flex:0 0 32px;margin:0 .5rem;font-size:.75rem;font-weight:600}.allocation-controls{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;flex:0 0 110px;align-items:center;gap:.25rem;height:32px;padding:0 .5rem;display:flex}.add-btn-outline{all:unset;cursor:pointer;width:100%;color:var(--muted);text-align:center;border:1px dashed #cbd5e0;border-radius:8px;padding:.6rem;font-size:.85rem;font-weight:600;transition:all .2s}.add-btn-outline:hover{border-color:var(--accent);color:var(--accent);background:#0066ff05}.info-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.info-value{color:var(--text);font-size:1rem;font-weight:600;text-decoration:none}.info-value[href]:hover{color:var(--accent);text-decoration:underline}.optional-hint{opacity:.6;margin-left:.3rem;font-size:.8rem;font-weight:400}.profile-input{all:unset;color:var(--text);box-sizing:border-box;background:#fff;border:1px solid #dddde6;border-radius:6px;width:100%;padding:.4rem .6rem;font-size:.95rem;font-weight:500;transition:border-color .12s}.profile-input:focus{border-color:var(--accent)}.status-picker-mini{background:#f1f3f5;border:1px solid #dee2e6;border-radius:8px;gap:.25rem;padding:2px;display:flex}.status-btn-mini{all:unset;cursor:pointer;text-transform:uppercase;color:#718096;border-radius:6px;padding:.2rem .6rem;font-size:.75rem;font-weight:700;transition:all .2s}.status-btn-mini.active{background:#fff;box-shadow:0 1px 3px #0000001a}.status-btn-mini.active.todo{color:#4a5568}.status-btn-mini.active.doing{color:#b7791f}.status-btn-mini.active.done{color:#2f855a}.status-btn-mini:hover:not(.active){background:#0000000d}.field-input-mini{background:#fff;border:1px solid #dddde6;border-radius:6px;outline:none;padding:.35rem .6rem;font-family:inherit;font-size:.88rem}.field-input-mini:focus{border-color:var(--accent)}.status-change-label{color:var(--muted);background:#f8f9fa;border-top:1px solid #e2e8f0;flex-direction:column;gap:.75rem;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:flex}.footer-nav-group{gap:.5rem;display:flex}.footer-nav-group .undo-btn{flex:1;margin:0}.section-label-row{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.flex-row{align-items:center;display:flex}.w-full{width:100%}.w-24{width:6rem}.ml-2{margin-left:.5rem}.mb-2{margin-bottom:.5rem}.mt-4{margin-top:1rem}.gap-2{gap:.5rem}.conflict-resolution-box{background:#fffaf0;border:1px solid #feebc8;border-radius:12px;margin:1.5rem 0;padding:1.5rem;animation:.3s ease-out slideIn;box-shadow:0 4px 6px -1px #0000001a}@keyframes slideIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.conflict-header{color:#9c4221;align-items:center;gap:.6rem;margin-bottom:.75rem;font-size:1.1rem;display:flex}.warning-icon{font-size:1.25rem}.conflict-msg{color:#7b341e;margin-bottom:1.25rem;font-size:.95rem;line-height:1.5}.resolution-options{flex-wrap:nowrap;align-items:center;gap:.75rem;display:flex}.resolution-options button{white-space:nowrap;text-align:center;flex:1;justify-content:center;padding:.55rem 1rem!important;font-size:.88rem!important}.updating-msg{color:var(--muted);margin-top:1rem;font-size:.88rem;font-style:italic}.soft-notice{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;align-items:center;gap:.5rem;margin-top:1.5rem;margin-bottom:0;padding:.75rem 1rem;font-size:.88rem;font-weight:700;animation:.3s ease-out slideIn;display:flex}.conflict-resolution-box.hard{background:#fff5f5;border:1px solid #feb2b2}.conflict-resolution-box.hard .conflict-header{color:#c53030}.conflict-resolution-box.hard .conflict-msg{color:#9b2c2c}.btn-upload{all:unset;cursor:pointer;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem 1rem;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-upload:hover:not(:disabled){color:#1e293b;background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 1px 2px #0000000d}.btn-upload:disabled{opacity:.5;cursor:not-allowed}.document-item{background:#fff;border:1px solid #f1f5f9;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.75rem 1rem;transition:all .2s;display:flex}.document-item:hover{border-color:#e2e8f0;box-shadow:0 2px 4px #00000005}.document-item .doc-info{color:#334155;align-items:center;gap:.75rem;font-size:.95rem;font-weight:500;display:flex}.document-item .doc-icon{font-size:1.25rem}.markdown-content{color:#334155;font-size:.95rem;line-height:1.6}.markdown-content p{margin-bottom:1rem}.markdown-content p:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{color:#0f172a;margin-top:1.5rem;margin-bottom:.75rem;font-weight:700}.markdown-content h1{border-bottom:1px solid #e2e8f0;padding-bottom:.3rem;font-size:1.5rem}.markdown-content h2{font-size:1.25rem}.markdown-content h3{font-size:1.1rem}.markdown-content ul,.markdown-content ol{margin-bottom:1rem;padding-left:1.5rem}.markdown-content li{margin-bottom:.25rem}.markdown-content code{background:#f1f5f9;border-radius:4px;padding:.2rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85em}.markdown-content pre{background:#f1f5f9;border-radius:8px;margin-bottom:1rem;padding:1rem;overflow-x:auto}.markdown-content pre code{background:0 0;border-radius:0;padding:0;font-size:.9em}.markdown-content blockquote{color:#64748b;border-left:4px solid #e2e8f0;margin:1rem 0;padding-left:1rem;font-style:italic}.markdown-content table{border-collapse:collapse;width:100%;margin-bottom:1rem}.markdown-content table th,.markdown-content table td{text-align:left;border:1px solid #e2e8f0;padding:.5rem .75rem}.markdown-content table th{background:#f8fafc;font-weight:600}.markdown-content a{color:var(--accent);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.doc-actions{gap:.5rem;display:flex}.btn-download-mini{all:unset;cursor:pointer;color:#64748b;background:#f1f5f9;border-radius:6px;padding:.35rem .75rem;font-size:.85rem;font-weight:600;transition:all .15s}.btn-download-mini:hover{color:#334155;background:#e2e8f0}.btn-delete-mini{all:unset;cursor:pointer;color:#ce422b;background:#ce422b0d;border-radius:6px;padding:.35rem .75rem;font-size:.85rem;font-weight:600;transition:all .15s}.btn-delete-mini:hover{color:#b93a26;background:#ce422b1a}.empty-docs{text-align:center;color:#94a3b8;background:#fbfcfe;border:1px dashed #e2e8f0;border-radius:10px;padding:1.5rem;font-size:.9rem;font-style:italic}.conflict-box{background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;margin-top:1rem;padding:1rem;animation:.2s ease-out slideIn-conflict}@keyframes slideIn-conflict{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.conflict-msg{color:#c53030;margin-bottom:.75rem;font-size:.9rem;font-weight:600}.conflict-actions{flex-wrap:wrap;gap:.5rem;display:flex}.btn-reuse,.btn-replace,.btn-cancel-mini{all:unset!important;cursor:pointer!important;border-radius:6px!important;padding:.4rem .8rem!important;font-size:.85rem!important;font-weight:600!important;transition:all .15s!important}.btn-reuse{color:#2b6cb0!important;background:#ebf8ff!important;border:1px solid #bee3f8!important}.btn-reuse:hover{background:#bee3f8!important}.btn-replace{color:#5856d6!important;background:#f5f3ff!important;border:1px solid #c7d2fe!important}.btn-replace:hover{background:#e0e7ff!important}.btn-cancel-mini{color:#4a5568!important;background:#f7fafc!important;border:1px solid #e2e8f0!important}.btn-cancel-mini:hover{background:#edf2f7!important}.gantt-wrapper{flex-direction:column;gap:.75rem;display:flex}.gantt-zoom-controls{background:#f7f7f9;border:1px solid #dddde6;border-radius:8px;gap:.25rem;width:fit-content;padding:3px;display:flex}.gantt-zoom-btn{all:unset;cursor:pointer;color:var(--muted);border-radius:6px;padding:.3rem .9rem;font-size:.8rem;font-weight:600;transition:all .15s}.gantt-zoom-btn:hover:not(.active){background:#00000008}.gantt-zoom-btn.active{color:var(--text);background:#fff;box-shadow:0 1px 3px #00000014}.gantt-color-toggle{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;height:fit-content;padding:3px;display:flex}.gantt-color-toggle button{all:unset;cursor:pointer;color:#64748b;border-radius:6px;padding:.3rem .9rem;font-size:.75rem;font-weight:600;transition:all .15s}.gantt-color-toggle button:hover:not(.active){background:#00000008}.gantt-color-toggle button.active{color:var(--text);background:#fff;box-shadow:0 1px 3px #00000014}.gantt-legend{animation:.3s ease-out fadeIn}.gantt-legend .legend-item{align-items:center;gap:.5rem;font-weight:500;display:flex}.gantt-legend .legend-item .legend-dot{border-radius:3px;width:12px;height:12px}.gantt-scroll-container{background:#fff;border:1px solid #e8e8ee;border-radius:8px;position:relative;overflow:auto}.gantt-canvas{min-width:100%;position:relative}.gantt-col{border-right:1px solid #f0f0f4;position:absolute;top:0}.gantt-col.alt{background:#fafafe}.gantt-header-cell{color:var(--muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;background:#fafafd;border-bottom:1px solid #e8e8ee;border-right:1px solid #f0f0f4;padding:0 4px;font-size:.72rem;font-weight:600;position:absolute;top:0;overflow:hidden}.gantt-today{z-index:10;pointer-events:none;border-left:2px dashed #f56565;width:0;position:absolute}.gantt-row-bg{border-bottom:1px solid #f5f5f8;position:absolute;left:0}.gantt-row-bg.alt{background:#00000002}.gantt-bar{cursor:pointer;white-space:nowrap;z-index:5;box-sizing:border-box;border-radius:4px;align-items:center;transition:opacity .12s;display:flex;position:absolute;overflow:hidden}.gantt-bar:hover{filter:brightness(1.08);box-shadow:0 1px 4px #00000026}.gantt-bar.done{opacity:.2}.gantt-bar.has-deadline{border-right:3px solid var(--accent)!important}.gantt-bar-label{color:#fff;text-shadow:0 1px 2px #0000004d;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:600;line-height:20px;overflow:hidden}.gantt-chevron{cursor:pointer;color:#fff;text-shadow:0 1px 2px #0000004d;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 2px;font-size:.7rem}.gantt-chevron:hover{text-shadow:0 1px 3px #00000080}.gantt-bar.light-bar{border:1px solid #e2e8f0}.gantt-bar.light-bar .gantt-bar-label,.gantt-bar.light-bar .gantt-chevron{color:var(--text);text-shadow:none}.gantt-chevron-spacer{flex-shrink:0;width:0}.gantt-add-subproject-btn{all:unset;color:#64748b;cursor:pointer;z-index:10;opacity:0;justify-content:center;align-items:center;width:12px;height:12px;font-size:14px;font-weight:400;transition:color .1s,opacity .1s;display:flex;position:absolute}.gantt-add-subproject-btn:hover{color:#000;background:#0000000d;border-radius:4px}.gantt-canvas:hover .gantt-add-subproject-btn,.gantt-row-bg:hover+.gantt-bar+.gantt-add-subproject-btn,.gantt-bar:hover+.gantt-add-subproject-btn,.gantt-add-subproject-btn:hover{opacity:1}.profile-actions-row{align-items:center;gap:.75rem;margin-top:1.5rem;margin-bottom:2rem;display:flex}.status-health-box{text-transform:uppercase;letter-spacing:.03em;border:1px solid #0000;border-radius:6px;padding:.35rem .75rem;font-size:.85rem;font-weight:700}.status-health-box.health-red{color:#c53030;background:#fff5f5;border-color:#feb2b2}.status-health-box.health-orange{color:#c05621;background:#fffaf0;border-color:#fbd38d}.status-health-box.health-blue{color:#007aff;background:#ebf8ff;border-color:#bee3f8}.status-health-box.health-green{color:#2f855a;background:#f0fff4;border-color:#9ae6b4}.status-health-box.health-grey{color:#4a5568;background:#f7fafc;border-color:#e2e8f0}.status-date-box{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.35rem .75rem;font-size:.85rem;font-weight:600}.btn-edit-mini{all:unset;cursor:pointer;color:var(--text);background:#fff;border:1px solid #dddde6;border-radius:6px;padding:.35rem .75rem;font-size:.85rem;font-weight:600;transition:all .12s}.btn-edit-mini:hover{background:#f1f5f9;border-color:#cbd5e1}.profile-summary-section{color:#334155;margin:1.5rem 0 3.5rem;padding:0;line-height:1.6}.profile-footer{border-top:1px solid #f1f5f9;justify-content:flex-start;margin-top:8rem;padding:2rem 0;display:flex}.btn-delete-project-footer{all:unset;cursor:pointer;color:#c53030;background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .12s}.btn-delete-project-footer:hover{color:#fff;background:#c53030;border-color:#c53030}.project-updates-section{margin-top:3rem}.btn-add-update{all:unset;cursor:pointer;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;transition:all .12s}.btn-add-update:hover{color:#000;background:#f1f5f9;border-color:#cbd5e1}.update-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.update-item .update-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.update-item .update-header .update-date{color:#0f172a;font-size:.95rem;font-weight:700}.update-item .update-header .update-actions{gap:.5rem;transition:opacity .2s;display:flex}.update-item .update-content{color:#334155;font-size:.95rem;line-height:1.6}.update-item .update-content .edit-update-mode textarea{background:#fff;border:1px solid #cbd5e1}.update-item .update-content .edit-update-mode textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #007aff1a}.btn-small{border-radius:6px!important;padding:.4rem 1rem!important;font-size:.85rem!important}.doc-tag{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.doc-tag.clickable{cursor:pointer;transition:all .12s}.doc-tag.clickable:hover{color:#000;background:#e2e8f0;border-color:#cbd5e1}.doc-tag .doc-icon{font-size:.9rem}.doc-tags{flex-wrap:wrap;gap:.5rem;display:flex}.empty-updates{text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #e2e8f0;border-radius:12px;padding:2rem;font-size:.9rem;font-style:italic}.add-update-pane{background:#fff;border:1px solid #cbd5e1;border-radius:12px;margin-bottom:2rem;padding:1.5rem 2rem;animation:.25s ease-out slideDown;box-shadow:0 4px 12px #00000014}.add-update-pane .field-group{width:100%}.add-update-pane .field-group .field-input{box-sizing:border-box;width:100%}.add-update-pane .document-manager{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-upload-more{all:unset;cursor:pointer;color:#64748b;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;margin-right:.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;transition:all .12s}.btn-upload-more:hover{color:#000;background:#e2e8f0}