:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh}button{border-radius:4px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}ul{list-style:none}.context-menu{position:fixed;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;padding:6px;min-width:160px;z-index:1000;animation:contextMenuFadeIn .15s ease}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;border-radius:6px;font-size:13px;color:#475569;cursor:pointer;transition:all .15s;text-align:left}.context-menu-item:hover{background:#f1f5f9;color:#1e293b}.context-menu-item.danger{color:#dc2626}.context-menu-item.danger:hover{background:#fef2f2;color:#dc2626}.context-menu-divider{height:1px;background:#e2e8f0;margin:4px 0}:root{--primary-blue: #2563eb;--primary-blue-hover: #1d4ed8;--bg-sidebar: #f8fafc;--bg-hover: #eff6ff;--text-main: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0}.sidebar{width:260px;border-right:1px solid var(--border-color);background-color:var(--bg-sidebar);display:flex;flex-direction:column;height:100vh;transition:width .3s ease}.sidebar-header{height:64px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);background-color:#fff}.brand{display:flex;align-items:center;gap:10px;color:var(--primary-blue)}.brand-icon{color:var(--primary-blue)}.sidebar-title{font-weight:700;color:var(--text-main);font-size:16px;letter-spacing:-.02em}.icon-button{background:none;border:none;cursor:pointer;padding:6px;color:var(--primary-blue);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.icon-button:hover{background-color:var(--bg-hover);transform:scale(1.05)}.project-list{flex:1;overflow-y:auto;padding:16px}.project-item{padding:12px 16px;margin-bottom:6px;border-radius:8px;cursor:pointer;display:flex;align-items:center;color:var(--text-secondary);font-size:14px;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.project-item:hover{background-color:#fff;border-color:var(--border-color);color:var(--text-main);transform:translate(2px);box-shadow:0 2px 4px #00000005}.project-item.active{background-color:#fff;color:var(--primary-blue);font-weight:600;box-shadow:0 4px 12px #2563eb1a;border-color:#2563eb1a}.item-icon{margin-right:12px;opacity:.7;transition:color .2s}.project-item:hover .item-icon,.active-icon{opacity:1;color:var(--primary-blue)}.project-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.delete-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;display:flex;align-items:center;opacity:0;border-radius:4px;transition:all .2s;margin-left:8px}.project-item:hover .delete-button{opacity:1}.delete-button:hover{color:#ef4444;background-color:#fee2e2}.empty-state{padding:40px 20px;text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:12px;font-size:13px}.empty-state svg{color:#cbd5e1}.project-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-left:8px}.content-area{flex:1;background-color:#fcfcfc;display:flex;flex-direction:column;height:100vh;overflow:hidden}.content-area.empty{align-items:center;justify-content:center;background-color:#fff}.empty-placeholder{text-align:center;color:#94a3b8;display:flex;flex-direction:column;align-items:center;gap:16px}.content-wrapper{flex:1;position:relative;overflow:hidden}.lock-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:10}.lock-background-blur{position:absolute;inset:0;background-color:#fff9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1}.lock-card{position:relative;z-index:2;background:#ffffffe6;padding:40px;border-radius:16px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;text-align:center;width:100%;max-width:360px;border:1px solid #e2e8f0}.lock-icon-circle{width:64px;height:64px;background-color:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#64748b}.lock-card h3{font-size:20px;font-weight:600;color:#1e293b;margin-bottom:8px}.lock-card p{color:#64748b;font-size:14px;margin-bottom:24px}.lock-form{display:flex;gap:8px;margin-bottom:16px}.lock-input{flex:1;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;outline:none;transition:all .2s}.lock-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.lock-button{background-color:#2563eb;color:#fff;border:none;border-radius:6px;padding:0 16px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background-color .2s}.lock-button:hover{background-color:#1d4ed8}.error-message{color:#ef4444!important;font-size:13px!important;margin-bottom:0!important;margin-top:8px}.hint-text{font-size:12px!important;color:#94a3b8!important;margin-top:16px;margin-bottom:0!important}.tabs-header{display:flex;padding:0 32px;background-color:#fff;border-bottom:1px solid #e2e8f0;gap:16px;height:64px;align-items:center}.tab-item{position:relative;padding:8px 20px;background:transparent;border:none;font-size:15px;font-weight:500;color:#64748b;cursor:pointer;display:flex;align-items:center;gap:8px;border-radius:8px;transition:all .2s ease;height:42px}.tab-item:hover{background-color:#f8fafc;color:#334155}.tab-item.active{color:#2563eb;background:linear-gradient(90deg,#dbeafe,#fff);font-weight:600}.tab-indicator{display:none}.tab-icon{opacity:.7}.tab-item.active .tab-icon{opacity:1;color:#2563eb}.tab-content{flex:1;padding:32px 40px;overflow-y:auto;position:relative;height:100%}.tab-pane{max-width:800px;margin:0 auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.fade-in{animation:fadeIn .4s cubic-bezier(.4,0,.2,1) forwards}.section-header{margin-bottom:32px}.section-header h2{font-size:24px;font-weight:700;color:#1e293b;margin-bottom:8px}.section-header p{color:#64748b;font-size:14px}.form-container{background:#fff;padding:32px;border-radius:12px;box-shadow:0 1px 3px #0000000d;border:1px solid #e2e8f0}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#334155}.input-field,.textarea-field{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;transition:all .2s;font-family:inherit;background-color:#fff}.input-field:focus,.textarea-field:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.primary-button{background-color:#2563eb;color:#fff;border:none;padding:10px 24px;border-radius:6px;font-weight:500;display:flex;align-items:center;gap:8px;transition:background-color .2s}.primary-button:hover{background-color:#1d4ed8}.info-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden}.info-row{display:flex;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #f1f5f9;align-items:center}.info-row:last-child{border-bottom:none}.info-row .label{color:#64748b;display:flex;align-items:center;gap:8px;font-size:14px}.info-row .value{color:#1e293b;font-weight:500;font-size:14px}.badge{background-color:#dbeafe;color:#1e40af;padding:4px 12px;border-radius:9999px;font-size:12px}.info-content{padding:24px;background-color:#f8fafc}.info-content h3{font-size:16px;color:#1e293b;margin-bottom:12px}.info-content p{font-size:14px;line-height:1.6;color:#475569}.progress-container{background:#fff;padding:32px;border-radius:12px;border:1px solid #e2e8f0}.progress-bar-container{margin-bottom:40px}.progress-label{display:flex;justify-content:space-between;margin-bottom:12px;font-weight:500;color:#1e293b;font-size:15px}.progress-percentage{color:#2563eb;font-weight:600}.progress-track{height:12px;background-color:#f1f5f9;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background-color:#2563eb;border-radius:999px;transition:width .6s ease}.milestone-list{display:flex;flex-direction:column;gap:0;position:relative}.milestone-item{display:flex;gap:20px;padding-bottom:32px;position:relative}.milestone-item:last-child{padding-bottom:0}.milestone-item:before{content:"";position:absolute;left:12px;top:30px;bottom:0;width:2px;background-color:#e2e8f0}.milestone-item:last-child:before{display:none}.milestone-icon{width:26px;height:26px;border-radius:50%;background-color:#fff;border:2px solid #cbd5e1;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;flex-shrink:0;z-index:1}.milestone-item.completed .milestone-icon{background-color:#2563eb;border-color:#2563eb}.milestone-item.active .milestone-icon{border-color:#2563eb;box-shadow:0 0 0 4px #dbeafe}.milestone-title{display:block;font-weight:500;color:#1e293b;margin-bottom:4px}.milestone-date,.milestone-status{font-size:13px;color:#64748b}.attachment-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.attachment-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.attachment-item:hover{border-color:#2563eb;box-shadow:0 4px 6px -1px #0000000d}.file-info{display:flex;align-items:center;gap:16px}.file-icon{width:40px;height:40px;background-color:#eff6ff;color:#2563eb;border-radius:8px;display:flex;align-items:center;justify-content:center}.file-name{display:block;font-weight:500;color:#1e293b;font-size:14px;margin-bottom:2px}.file-meta{font-size:12px;color:#94a3b8}.upload-area{border:2px dashed #e2e8f0;border-radius:12px;padding:40px;text-align:center;color:#64748b;background-color:#f8fafc;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px}.upload-area:hover{border-color:#2563eb;background-color:#eff6ff;color:#2563eb}.upload-area.large{padding:80px 40px}.upload-area.large svg{opacity:.5}.upload-area.uploading{cursor:default;pointer-events:none}.upload-hint{font-size:12px;opacity:.7}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;color:#64748b}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:16px;color:#64748b}.loading-container.small{padding:40px}.loading-spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.content-area.fullscreen-experience{position:relative}.content-area.fullscreen-experience .tabs-header.floating{position:absolute;top:0;left:0;right:0;z-index:100;background:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(226,232,240,.8)}.fullscreen-experience-container{position:absolute;inset:64px 0 0;background:#fff}.fullscreen-iframe{width:100%;height:100%;border:none}.tab-actions{display:flex;gap:8px;margin-left:auto}.info-row.editable .value{cursor:pointer;display:flex;align-items:center;gap:6px}.info-row.editable .value:hover{color:#2563eb}.edit-icon{opacity:0;transition:opacity .2s}.info-row.editable .value:hover .edit-icon{opacity:1}.edit-inline{display:flex;gap:8px;align-items:center}.edit-input{padding:6px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;outline:none;transition:border-color .2s}.edit-input:focus{border-color:#2563eb}.edit-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s}.edit-btn.save{background:#2563eb;color:#fff}.edit-btn.save:hover{background:#1d4ed8}.edit-btn.cancel{background:#f1f5f9;color:#64748b}.edit-btn.cancel:hover{background:#e2e8f0}.edit-btn-small{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;margin-left:8px;transition:color .2s}.edit-btn-small:hover{color:#2563eb}.status-editor{display:flex;flex-direction:column;gap:12px;padding:12px;background:#f8fafc;border-radius:8px;margin-top:8px}.color-picker{display:flex;gap:8px;flex-wrap:wrap}.color-option{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:#1e293b;box-shadow:0 0 0 2px #fff,0 0 0 4px currentColor}.edit-actions{display:flex;gap:8px}.desc-editor{display:flex;flex-direction:column;gap:12px}.desc-textarea{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;outline:none;transition:border-color .2s}.desc-textarea:focus{border-color:#2563eb}.info-content h3{display:flex;align-items:center}.badge{color:#fff!important;cursor:pointer;transition:all .2s}.badge:hover{opacity:.9}.badge .edit-icon{color:#ffffffb3}.progress-stats{font-size:13px;color:#64748b;margin-top:8px}.todo-add{display:flex;gap:12px;margin-bottom:24px}.todo-input{flex:1;padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.todo-input:focus{border-color:#2563eb}.todo-add-btn{display:flex;align-items:center;gap:6px;padding:12px 20px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.todo-add-btn:hover{background:#1d4ed8}.todo-list{display:flex;flex-direction:column;gap:0;position:relative;padding-left:20px}.todo-list:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;background-color:#e2e8f0}.todo-list:after{content:"";position:absolute;left:-4px;bottom:0;width:10px;height:10px;border-right:2px solid #e2e8f0;border-bottom:2px solid #e2e8f0;transform:rotate(45deg)}.todo-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8fafc;border-radius:8px;transition:all .2s;margin-bottom:8px;position:relative}.todo-item:before{content:"";position:absolute;left:-20px;top:50%;width:20px;height:2px;background-color:#e2e8f0;transform:translateY(-50%)}.todo-item:hover{background:#f1f5f9}.todo-item.completed{background:#eff6ff}.todo-item.completed .todo-content{text-decoration:line-through;color:#94a3b8}.todo-checkbox{width:22px;height:22px;min-width:22px;min-height:22px;padding:0;margin:0;border:2px solid #cbd5e1;border-radius:50%;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s;flex-shrink:0}.todo-checkbox:hover{border-color:#2563eb}.todo-item.completed .todo-checkbox{background:#2563eb;border-color:#2563eb}.todo-content{flex:1;font-size:14px;color:#1e293b}.todo-delete{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;opacity:0;transition:all .2s}.todo-item:hover .todo-delete{opacity:1}.todo-delete:hover{color:#ef4444}.todo-empty{text-align:center;padding:40px;color:#94a3b8;font-size:14px}.file-actions{display:flex;gap:8px}.icon-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s;text-decoration:none}.icon-button:hover{background:#e2e8f0;color:#2563eb}.icon-button.danger:hover{background:#fef2f2;color:#dc2626}.attachment-empty{text-align:center;padding:40px;color:#94a3b8;font-size:14px;background:#f8fafc;border-radius:8px}.tab-actions{margin-left:auto;display:flex;gap:8px;animation:fadeIn .3s ease}.tab-actions .icon-button{background:transparent;width:32px;height:32px}.tab-actions .icon-button:hover{background:#f1f5f9}.tab-actions .icon-button.danger:hover{background:#fef2f2}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:32px;position:relative;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.modal-close:hover{background:#f1f5f9;color:#64748b}.modal-header{text-align:center;margin-bottom:24px}.modal-icon{width:56px;height:56px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 16px}.modal-header h2{font-size:20px;font-weight:600;color:#1e293b;margin-bottom:6px}.modal-header p{font-size:14px;color:#64748b}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-form .form-group{display:flex;flex-direction:column;gap:6px}.modal-form label{font-size:13px;font-weight:500;color:#475569}.modal-form input{padding:12px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#1e293b;transition:all .2s;outline:none}.modal-form input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-form input::placeholder{color:#94a3b8}.form-error{color:#ef4444;font-size:13px;margin:0;padding:8px 12px;background:#fef2f2;border-radius:6px}.modal-actions{display:flex;gap:12px;margin-top:8px}.modal-actions button{flex:1;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.btn-cancel:hover{background:#e2e8f0;color:#475569}.btn-create{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;color:#fff}.btn-create:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #2563eb4d}.app-container{display:flex;flex-direction:column;height:100vh;background-color:#fff}.main-container{display:flex;flex:1;overflow:hidden}
