*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Roboto,Outfit,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background, #ffffff);color:var(--color-text, #1a1a1a);width:100vw;height:100vh;margin:0;overflow:hidden}a{text-decoration:none;color:inherit}button{font-family:inherit}.top-nav{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background-color:var(--color-background);border-bottom:1px solid #e0e0e0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px #0000000d}.top-nav-zone{display:flex;align-items:center;gap:16px}.left-zone{flex:1}.center-zone{flex:1;justify-content:center;gap:32px}.right-zone{flex:1;justify-content:flex-end}.project-selector{padding:8px 12px;border-radius:8px;border:1px solid #ccc;background-color:#f9f9f9;font-family:inherit;font-size:14px;outline:none;cursor:pointer;transition:border-color .2s}.project-selector:focus{border-color:var(--color-primary)}.new-project-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background-color:var(--color-secondary);color:#000;border:none;border-radius:20px;font-weight:600;cursor:pointer;transition:transform .2s,background-color .2s,box-shadow .2s}.new-project-btn:hover{transform:translateY(-1px);background-color:#2edbf0;box-shadow:0 4px 12px #42eaff66}.nav-tab{display:flex;align-items:center;gap:8px;text-decoration:none;color:#666;font-weight:500;padding:8px 12px;border-bottom:3px solid transparent;transition:color .2s,border-bottom-color .2s;height:60px;box-sizing:border-box}.nav-tab:hover{color:var(--color-primary)}.nav-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.nav-icon{font-size:16px}.icon-btn{background:none;border:none;color:#666;font-size:20px;cursor:pointer;position:relative;transition:color .2s}.icon-btn:hover{color:var(--color-primary)}.notification-badge{position:absolute;top:-4px;right:-6px;background-color:var(--color-danger);color:#fff;font-size:10px;font-weight:700;padding:2px 5px;border-radius:10px;border:2px solid var(--color-background)}.avatar-icon{font-size:28px}.app-shell{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background-color:#f4f6fa}.workspace-container{flex:1;position:relative;overflow-y:auto;padding:24px}.projects-container{max-width:1200px;margin:0 auto}.projects-header{margin-bottom:24px}.projects-header h1{font-size:28px;color:var(--color-text);margin-bottom:4px}.subtitle{color:#666;font-size:15px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.project-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 12px #0000000a;border:1px solid #eaeaea;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.project-card h2{font-size:18px;margin-bottom:8px}.project-objective{font-size:14px;color:#555;margin-bottom:20px;line-height:1.5;flex:1}.project-meta{margin-bottom:20px}.date-badge{display:inline-block;background-color:#f0f4ff;color:var(--color-primary);padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.project-actions button{width:100%;padding:10px;background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary);border-radius:6px;font-weight:600}.project-actions button:hover{background-color:var(--color-primary);color:#111}.planner-page-container{display:flex;flex-direction:column;height:calc(100vh - 80px);background-color:#f8f9fa;overflow:hidden}.planner-view-header{padding:20px 32px;background:#fff;border-bottom:1px solid #e0e0e0}.header-title-area{display:flex;align-items:center;gap:16px}.header-icon{font-size:24px;color:var(--color-primary, #6366f1)}.planner-view-header h1{font-size:22px;margin:0;color:#202124}.subtitle{font-size:13px;color:#5f6368;margin:2px 0 0}.planner-split-view{display:flex;flex:1;overflow:hidden}.tree-preview-pane,.edit-panel-pane{display:flex;flex-direction:column;overflow:hidden}.tree-preview-pane{flex:1.5;border-right:1px solid #e0e0e0;background:#fdfdfd}.edit-panel-pane{flex:1;background:#fff}.pane-header{padding:10px 24px;background:#f1f3f4;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:space-between}.pane-header h3{font-size:13px;font-weight:600;color:#3c4043;margin:0;text-transform:uppercase;letter-spacing:.5px}.add-node-btn{width:28px;height:28px;border-radius:6px;border:1px solid #dadce0;background:#fff;color:#5f6368;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .15s}.add-node-btn:hover{background:var(--color-primary, #6366f1);color:#fff;border-color:var(--color-primary, #6366f1)}.tree-canvas{flex:1;overflow-y:auto;padding:20px 24px}.node-item{position:relative}.node-item+.node-item{margin-top:4px}.node-row{display:flex;align-items:center;gap:4px}.node-toggle{width:22px;height:22px;border:none;background:transparent;color:#9aa0a6;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;border-radius:4px;flex-shrink:0;transition:all .15s}.node-toggle:hover{background:#e8eaed;color:#3c4043}.node-toggle.invisible{visibility:hidden}.node-card{flex:1;border:1px solid #e0e0e0;padding:8px 14px;border-radius:8px;background-color:#fff;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000a}.node-card:hover{border-color:var(--color-primary, #6366f1);box-shadow:0 3px 8px #00000014}.node-card.selected{border-color:var(--color-primary, #6366f1);background-color:#f0f0ff;box-shadow:0 0 0 2px #6366f126}.node-card-content{display:flex;align-items:center;justify-content:space-between;gap:12px}.node-title{font-size:14px;font-weight:500;color:#202124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.node-status-badge{font-size:10px;text-transform:uppercase;font-weight:700;padding:2px 8px;border-radius:12px;white-space:nowrap}.node-owner-tag{display:flex;align-items:center;gap:4px;font-size:11px;color:#5f6368;white-space:nowrap}.node-owner-tag svg{font-size:9px}.add-child-btn{width:22px;height:22px;border-radius:4px;border:1px solid transparent;background:transparent;color:#9aa0a6;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;opacity:0;transition:all .15s;flex-shrink:0}.node-card:hover .add-child-btn{opacity:1}.add-child-btn:hover{background:var(--color-primary, #6366f1);color:#fff;border-color:var(--color-primary, #6366f1);opacity:1}.node-children{margin-left:11px;padding-left:15px;border-left:2px solid #e0e0e0;margin-top:2px}.st-done{background-color:#e6f4ea;color:#1e8e3e}.st-in-progress{background-color:#fef7e0;color:#e37400}.st-not-started{background-color:#f1f3f4;color:#70757a}.empty-tree-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:260px;color:#9aa0a6;text-align:center}.empty-tree-icon{font-size:42px;margin-bottom:12px;opacity:.25}.empty-tree-state p{font-weight:600;margin:0 0 4px;color:#5f6368}.empty-tree-state span{font-size:13px}.edit-form-container{padding:28px 32px;flex:1;overflow-y:auto}.node-edit-form{display:flex;flex-direction:column;gap:20px;max-width:480px}.form-section{display:flex;flex-direction:column;gap:6px;flex:1}.form-row{display:flex;gap:16px}.form-section label{font-size:11px;font-weight:700;color:#5f6368;text-transform:uppercase;letter-spacing:.3px}.form-section input,.form-section select{padding:9px 12px;border:1px solid #dadce0;border-radius:6px;font-size:14px;color:#3c4043;background:#fff;transition:border-color .2s}.form-section input:focus,.form-section select:focus{outline:none;border-color:var(--color-primary, #6366f1);box-shadow:0 0 0 2px #6366f11a}.disabled-input{background:#f1f3f4!important;color:#9aa0a6!important;cursor:not-allowed}.form-actions{display:flex;gap:10px;margin-top:8px}.save-btn,.cancel-btn{display:flex;align-items:center;gap:8px;padding:9px 18px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.save-btn{background:var(--color-primary, #6366f1);color:#fff;border:none}.save-btn:hover{background:#4f46e5}.cancel-btn{background:#fff;color:#5f6368;border:1px solid #dadce0}.cancel-btn:hover{background:#f8f9fa}.empty-selection-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:240px;color:#9aa0a6;text-align:center;gap:8px}.empty-icon{font-size:42px;margin-bottom:8px;opacity:.2}.empty-selection-state p{margin:0;font-size:14px}.create-prompt-btn{display:flex;align-items:center;gap:6px;margin-top:12px;padding:8px 16px;border-radius:6px;border:1px dashed #dadce0;background:transparent;color:var(--color-primary, #6366f1);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.create-prompt-btn:hover{background:#f5f7ff;border-color:var(--color-primary, #6366f1)}.calendar-page-container{display:flex;flex-direction:column;height:calc(100vh - 80px);background-color:#fff;overflow:hidden}.task-pending{color:var(--color-warning, #FFD000)}.task-done{color:var(--color-secondary, #42EAFF)}.calendar-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.calendar-grid-header{padding:8px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e0e0}.header-left{display:flex;align-items:center;gap:20px}.today-btn{padding:8px 16px;border:1px solid #dadce0;background:#fff;border-radius:4px;font-weight:500;font-size:14px;cursor:pointer}.today-btn:hover{background:#f8f9fa}.nav-controls{display:flex;gap:4px}.nav-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent;cursor:pointer;color:#5f6368}.nav-btn:hover{background:#f1f3f4}.current-month-display{font-size:22px;font-weight:400;color:#3c4043}.view-selector{display:flex;border:1px solid #dadce0;border-radius:4px;overflow:hidden}.view-selector span{padding:8px 12px;font-size:14px;cursor:pointer;border-right:1px solid #dadce0}.view-selector span:last-child{border-right:none}.view-selector span.active{background:#e8f0fe;color:#1967d2;font-weight:500}.calendar-grid-container{flex:1;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e0e0e0;border-radius:8px;margin:0 16px 16px}.days-header{display:grid;grid-template-columns:repeat(7,1fr);background-color:#f8f9fa;border-bottom:1px solid #e0e0e0}.day-name{text-align:center;padding:12px 8px;font-size:11px;font-weight:600;color:#70757a;text-transform:uppercase;letter-spacing:.8px}.month-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);background-color:#e0e0e0;gap:1px}.day-cell{min-height:0;display:flex;flex-direction:column;background:#fff;transition:background-color .1s;position:relative}.day-cell:hover{background-color:#f8f9fa}.day-cell.other-month{background-color:#fafafb}.day-cell.other-month .day-number{color:#70757a}.day-number-container{padding:6px 0;text-align:center}.day-number{font-size:12px;font-weight:500;display:inline-block;width:24px;height:24px;line-height:24px;border-radius:50%}.day-cell.is-today .day-number{background-color:var(--color-primary, #4272FF);color:#fff}.day-tasks{flex:1;padding:0 4px 4px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.calendar-task-badge{padding:2px 8px;border-radius:4px;font-size:12px;display:flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;transition:filter .2s}.calendar-task-badge:hover{filter:brightness(.95)}.calendar-task-badge.status-pending{background-color:#fee;color:#c5221f;border-left:3px solid var(--color-warning, #FFD000)}.calendar-task-badge.status-done{background-color:#e6fcfd;color:#0b5055;border-left:3px solid var(--color-secondary, #42EAFF)}.task-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:currentColor}.task-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
