@import url(https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Rajdhani:wght@300;400;700&display=swap);body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100vh;overflow:hidden}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:48px;text-align:center;width:100%}.login-card h1{font-size:48px;margin-bottom:16px}.login-card p{color:#666;margin-bottom:32px}.btn-primary,.btn-secondary{align-items:center;background:#0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.btn-primary{border:2px solid #667eea;color:#667eea}.btn-primary:hover{background:#667eea;color:#fff}.btn-secondary{border:2px solid #999;color:#333}.btn-secondary:hover{background:#999;color:#fff}.app-container{zoom:.88;background:#f5f7fa;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.app-header{align-items:center;background:#fff;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;padding:16px 32px}.app-header h1{color:#333;font-size:24px}.user-info{align-items:center;display:flex;gap:12px}.user-info img{border-radius:50%;height:32px;width:32px}.app-launcher{margin:0 auto;max-width:1200px;padding:48px 32px}.app-launcher h2{color:#333;font-size:32px;margin-bottom:32px}.app-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.app-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;padding:32px;text-align:center;transition:all .2s}.app-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.app-card.disabled{cursor:not-allowed;opacity:.5}.app-card.disabled:hover{box-shadow:0 2px 8px #0000001a;transform:none}.app-icon{font-size:64px;margin-bottom:16px}.app-card h3{color:#333;font-size:20px;margin-bottom:8px}.app-card p{color:#666;font-size:14px}.board-controls{display:flex;justify-content:flex-end;padding:24px 32px}.kanban-board{display:flex;flex:1 1;flex-direction:row;gap:20px;overflow-x:auto;overflow-y:hidden;padding:24px 32px 32px;width:100%}.kanban-column{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;flex-shrink:0;height:100%;max-width:320px;min-width:320px;position:relative}.column-header{align-items:center;border-bottom:3px solid #0000001a;border-radius:8px 8px 0 0;display:flex;gap:10px;justify-content:space-between;padding:18px 16px}.column-header h3{color:#1a1a1a;flex:1 1;font-size:17px;font-weight:800;letter-spacing:.8px;margin:0;text-transform:uppercase}.card-count{align-items:center;background:#0000001a;border-radius:50%;box-sizing:border-box;display:flex;font-size:12px;font-weight:600;height:22px;justify-content:center;min-width:22px;padding:0 4px}.column-cards{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-x:hidden;overflow-y:auto;padding:16px}.kanban-card{background:#fafafa;border:1px solid #e3e3e3;border-radius:8px;cursor:pointer;padding:16px;position:relative;transition:all .2s}.kanban-card:hover{box-shadow:0 4px 12px #0000001a}.kanban-card h4{color:#333;font-size:16px;margin-bottom:8px}.kanban-card p{color:#666;font-size:14px;margin-bottom:12px}.card-meta{color:#666;display:flex;flex-wrap:wrap;font-size:13px;gap:12px}.card-due,.card-owner{align-items:center;display:flex;gap:4px}.modal-overlay{background:#00000080;padding:20px;z-index:1000}.modal-content{display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:100%}.modal-content.wide{max-width:1000px}.modal-header{border-bottom:2px solid #e0e0e0;gap:16px;padding:24px 32px 20px}.modal-header h2{color:#333;flex:1 1;font-size:24px}.modal-header-actions{display:flex;gap:8px}.modal-icon-btn{align-items:center;background:#0000;border:2px solid #999;border-radius:6px;color:#999;cursor:pointer;display:flex;font-size:18px;font-weight:600;height:36px;justify-content:center;padding:0;transition:all .2s;width:36px}.modal-icon-btn svg{flex-shrink:0}.modal-icon-btn:hover{background:#999;color:#fff}.modal-icon-btn:hover svg{stroke:#fff}.modal-icon-btn.delete{border-color:#ef4444;color:#ef4444}.modal-icon-btn.delete svg{stroke:#ef4444}.modal-icon-btn.delete:hover{background:#ef4444;color:#fff}.modal-icon-btn.delete:hover svg{stroke:#fff}.modal-body{flex:1 1;padding:24px 32px}.modal-footer{background:#f9f9f9;border-top:2px solid #e0e0e0;padding:16px 32px}.modal-footer .modal-actions{margin-top:0;width:100%}.modal-two-column{grid-gap:32px;align-items:stretch;display:grid;gap:32px;grid-template-columns:1fr 400px}.modal-left-column{flex:1 1}.modal-right-column{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;max-height:calc(90vh - 160px);overflow-y:auto;padding:24px}.modal-right-column h3{color:#333;font-size:18px;margin-bottom:16px}@media (max-width:900px){.modal-two-column{grid-template-columns:1fr}.modal-right-column{max-height:none}}.modal-content.card-modal{height:90vh;max-width:1400px}.card-modal .modal-body{display:flex;flex-direction:column;min-height:0;overflow:hidden}.modal-three-column{grid-gap:24px;display:grid;flex:1 1;gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr);grid-template-rows:minmax(0,1fr);min-height:0}.modal-three-column>.modal-activity-column,.modal-three-column>.modal-left-column,.modal-three-column>.modal-right-column{max-height:none;min-height:0}.modal-three-column>.modal-left-column{overflow-y:auto;padding-right:4px}.modal-activity-column{display:flex;flex-direction:column;min-height:0}.modal-activity-column h3{color:#333;font-size:18px;margin-bottom:16px}.modal-activity-column .activity-log-list{border-top:1px solid #eee;flex:1 1;margin-bottom:8px;min-height:0;overflow-y:auto}.log-entry{font-size:13px}.log-system{border-bottom:1px solid #eee;padding:6px 0}.log-system-meta{color:#888;font-size:11px}.log-system-text{color:#555;white-space:pre-wrap}.log-note{background:#eef1fd;border:1px solid #dde3fb;border-radius:10px 10px 10px 2px;margin:8px 0;padding:8px 12px}.log-note-meta{align-items:baseline;color:#6b7280;display:flex;font-size:11px;gap:8px;justify-content:space-between;margin-bottom:2px}.log-note-actions{display:flex;flex-shrink:0;gap:8px;opacity:0;transition:opacity .15s}.log-note-actions:focus-within,.log-note:hover .log-note-actions{opacity:1}.log-note-actions button{background:none;border:none;color:#4f5bd5;cursor:pointer;font-size:11px;padding:0}.log-note-actions button:hover{text-decoration:underline}.log-note-actions button:last-child{color:#dc2626}.log-note-edit textarea{background:#fff;margin-top:4px;resize:vertical}.log-note-edit-buttons{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.log-note-author{color:#4f5bd5;font-weight:600}.log-note-text{color:#1f2937;font-size:14px;line-height:1.4;white-space:pre-wrap}.modal-activity-column .activity-log-add{flex-shrink:0}@media (max-width:1100px){.modal-content.card-modal{height:auto}.card-modal .modal-body{display:block;overflow-y:auto}.modal-three-column{grid-template-columns:1fr;grid-template-rows:none}.modal-three-column>.modal-left-column{overflow-y:visible}.modal-activity-column .activity-log-list{max-height:300px}}.modal-content h2{color:#333;margin-bottom:24px}.form-group label{color:#333;font-weight:600}.required-asterisk{color:#dc3545}.field-hint{color:#999;font-size:12px;font-style:italic;font-weight:400}.activity-log-add textarea,.form-group input,.form-group select,.form-group textarea,.log-note-edit textarea{border:1px solid #e3e3e3;border-radius:6px;font-family:inherit;font-size:14px;padding:10px;width:100%}.activity-log-add textarea:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.log-note-edit textarea:focus{border-color:#667eea;outline:none}.handoff-panel{background:#fffaf0;border:1px solid #ffe0b2;border-radius:8px;margin-bottom:20px;padding:16px}.handoff-panel h3{color:#e65100;font-size:16px;margin:0 0 12px}.handoff-panel-days{background:#fff3e0;border-radius:4px;color:#e65100;display:inline-block;font-size:13px;font-weight:700;margin-bottom:12px;padding:4px 10px}.handoff-panel-idle{background:none;border:none;padding:0}.handoff-begin label{color:#e65100;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.handoff-actions,.handoff-begin-row{align-items:center;display:flex;gap:10px}.handoff-begin-row select{border:1px solid #e3e3e3;border-radius:6px;flex:1 1;font-family:inherit;font-size:14px;padding:8px 10px}.handoff-panel-summary{color:#333;font-size:14px;margin-bottom:8px}.handoff-actions{margin-top:4px}.modal-actions{justify-content:flex-end}.loading{color:#fff;font-size:20px}@media (max-width:768px){.kanban-board{grid-template-columns:1fr}.app-header{flex-direction:column;gap:16px}}.devtools-toggle{align-items:center;background:#333;border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:20px;height:48px;justify-content:center;position:fixed;right:20px;transition:all .2s;width:48px;z-index:9998}.devtools-toggle:hover{background:#444;box-shadow:0 6px 16px #0006;transform:translateY(-2px)}.trash-toggle{align-items:center;background:#666;border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 12px #0000004d;color:#fff;cursor:pointer;display:flex;font-size:22px;height:48px;justify-content:center;position:fixed;right:88px;transition:all .2s;width:48px;z-index:9998}.trash-toggle:hover{background:#777;box-shadow:0 6px 16px #0006;transform:translateY(-2px)}.floating-chat-button{align-items:center;animation:pulse 2s infinite;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;bottom:20px;box-shadow:0 6px 20px #667eea66;color:#fff;cursor:pointer;display:flex;font-size:32px;height:64px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;width:64px;z-index:9999}.floating-chat-button:hover{box-shadow:0 8px 24px #667eea99;transform:scale(1.1)}.devtools-panel{animation:slideUp .3s ease-out;background:#fff;border-top:3px solid #333;bottom:0;box-shadow:0 -4px 20px #0003;display:flex;flex-direction:column;height:400px;left:0;position:fixed;right:0;z-index:9999}.devtools-header{align-items:center;background:#333;border-bottom:1px solid #444;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.devtools-header h3{font-size:18px;margin:0}.devtools-header button{background:#0000;border:none;color:#fff;cursor:pointer;font-size:20px;padding:4px 8px}.devtools-header button:hover{background:#444;border-radius:4px}.devtools-content{grid-gap:20px;align-content:start;display:grid;flex:1 1;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));overflow-y:auto;padding:20px}.devtools-section{background:#f5f5f5;border:1px solid #ddd;border-radius:8px;padding:16px}.devtools-section h4{color:#333;font-size:14px;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.devtools-info{background:#fff;border-radius:4px;font-family:Courier New,monospace;font-size:13px;margin-bottom:8px;padding:8px;word-break:break-all}.devtools-btn{background:#4285f4;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;margin:4px 4px 4px 0;padding:8px 16px;transition:background .2s}.devtools-btn:hover{background:#357ae8}.devtools-logs{background:#1e1e1e;border-radius:4px;max-height:200px;overflow-y:auto;padding:8px}.devtools-log{border-radius:2px;display:flex;font-family:Courier New,monospace;font-size:12px;gap:8px;margin-bottom:4px;padding:4px 8px}.devtools-log.log{color:#ddd}.devtools-log.error{background:#ff6b6b1a;color:#ff6b6b}.devtools-log-time{color:#888;flex-shrink:0}.devtools-log-msg{flex:1 1;word-break:break-word}.kanban-card{display:flex;flex-direction:column}.card-main{gap:12px}.card-main,.card-photo{align-items:center;display:flex}.card-photo{flex:0 0 20%;justify-content:center}.card-photo-stacked{position:relative}.card-photo-operator{background:#fff;border-radius:50%;bottom:-6px;box-shadow:0 1px 3px #0003;padding:2px;position:absolute;right:-6px}.handoff-days-badge{background:#fff3e0;border-radius:4px;color:#e65100;display:inline-block;font-size:12px;font-weight:700;margin-bottom:6px;padding:3px 8px}.handoff-days-alarm{animation:pulse-warning 2s ease-in-out infinite;background:#fdecea;color:#dc3545}.card-photo img{border:2px solid #ddd;border-radius:50%;height:60px;object-fit:cover;width:60px}.card-content{flex:1 1;min-width:0}.card-content h4{margin:0 0 8px}.card-content p{color:#666;font-size:14px;margin:0 0 12px}.card-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.card-header h4{flex:1 1;margin:0}.card-edit-btn{background:#0000;border:none;border-radius:4px;cursor:pointer;font-size:16px;opacity:.6;padding:4px 8px;transition:all .2s}.card-edit-btn:hover{background:#0000000d;opacity:1}.kanban-card:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.kanban-card:active{cursor:grabbing}.column-header-actions{align-items:center;display:flex;gap:12px}.column-add-btn{align-items:center;background:#fff;border:2px solid #0003;border-radius:50%;cursor:pointer;display:flex;font-size:20px;height:28px;justify-content:center;line-height:1;transition:all .2s;width:28px}.column-add-btn:hover{background:#ffffffe6;border-color:#0006;transform:scale(1.1)}@media (max-width:768px){.kanban-board{padding:0 16px 16px}.kanban-column{max-width:280px;min-width:280px}.board-filters{align-items:flex-start;flex-direction:column;padding:12px 16px}}.board-filters{background:#fff;border-bottom:1px solid #e0e0e0;gap:20px;padding:16px 32px}.board-filters label{align-items:center;color:#333;display:flex;font-size:14px;font-weight:500;gap:8px}.board-filters select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;min-width:150px;padding:8px 12px}.board-filters select:hover{border-color:#2196f3}.kanban-column.column-empty{background:#f5f5f5;max-width:96px;min-width:96px;transition:none}.column-empty .column-header{border-bottom:none;height:240px;justify-content:flex-start;padding:20px 8px;transform:rotate(180deg);writing-mode:vertical-rl}.column-empty .column-header h3{font-size:11px;font-weight:700;letter-spacing:1px;white-space:nowrap}.column-empty .column-header-actions{flex-direction:column;gap:8px;margin-top:12px}.column-empty .card-count{display:none}.column-empty .column-add-btn{bottom:14px;font-size:18px;height:32px;left:50%;position:absolute;transform:translateX(-50%);width:32px}.column-empty .column-cards{display:none}.kanban-column.column-minimized{background:#f5f5f5;max-width:96px;min-width:96px;transition:none}.column-minimized .column-header{border-bottom:none;height:240px;justify-content:flex-start;padding:20px 8px;transform:rotate(180deg);writing-mode:vertical-rl}.column-minimized .column-header h3{flex:none;font-size:11px;font-weight:700;letter-spacing:1px;white-space:nowrap}.column-minimized .column-header-actions{flex-direction:row;gap:8px;margin-top:12px}.column-minimized .card-count{font-size:11px;font-weight:700}.column-minimized .column-minimize-btn{background:none;border:none;bottom:53px;color:inherit;cursor:pointer;font-size:20px;left:50%;padding:0;position:absolute;transform:translateX(-50%)}.column-minimized .column-add-btn{bottom:14px;font-size:18px;height:32px;left:50%;position:absolute;transform:translateX(-50%);width:32px}.column-empty .column-add-btn:hover,.column-minimized .column-add-btn:hover{transform:translateX(-50%) scale(1.1)}.column-minimized .column-cards{display:none}.column-minimize-btn{background:none;border:none;color:inherit;cursor:pointer;font-size:16px;opacity:.7;padding:0}.column-minimize-btn:hover{opacity:1}.kanban-column{transition:all .3s ease}.card-action-item{align-items:center;color:#555;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:6px 0;transition:all .2s}.card-action-item:hover{color:#2196f3;transform:translateX(2px)}.card-action-item input[type=checkbox]{cursor:pointer;height:18px;margin:0;width:18px}.card-action-item span{flex:1 1;line-height:1.4}.card-action-item.completed{color:#999;text-decoration:line-through}.card-action-item.starred{background:#fff8e1;border-radius:4px;color:#7a5c00;font-weight:600;margin:0 -6px;padding:6px}.star-toggle{color:#ccc;cursor:pointer;flex:0 0 auto!important;font-size:15px;line-height:1}.star-toggle:hover{color:#d4a017}.card-action-item .star-toggle,.modal-action-item .star-toggle{color:#ccc}.card-action-item.starred .star-toggle,.modal-action-item.starred .star-toggle{color:#d4a017}.card-quick-add-btn{align-items:center;background:#0000;border:1px dashed #bbb;border-radius:4px;color:#888;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;height:20px;justify-content:center;line-height:1;padding:0;width:20px}.card-quick-add-btn:hover{border-color:#2196f3;color:#2196f3}.card-ic-btn{align-items:center;background:#fafafa;border:1px dashed #ddd;border-radius:50%;color:#bbb;cursor:pointer;display:flex;font-size:8px;font-weight:700;height:22px;justify-content:center;line-height:1;padding:0;position:absolute;right:16px;top:12px;width:22px;z-index:1}.card-ic-btn:hover{border-color:#d4a017;color:#d4a017}.card-ic-btn.active{background:#fff8e1;border:1px solid #d4a017;color:#7a5c00}.kanban-card.card-needs-ic{background:#fffdf5;box-shadow:0 0 0 2px #ffd54f}.card-quick-add-row{background:#2196f30d;border-top:1px solid #00000014;padding:6px 16px}.card-quick-add-input{width:100%}.card-quick-add-input input{border:1px solid #2196f3;border-radius:4px;box-sizing:border-box;font-size:13px;padding:4px 6px;width:100%}.assignee-input{align-items:center;display:flex;gap:6px;position:relative}.assignee-input,.assignee-input input{flex:1 1;min-width:0}.assignee-chip{align-items:center;background:#e8f0fe;border-radius:12px;color:#1a3d8f;display:inline-flex;flex-shrink:0;font-size:12px;gap:4px;padding:2px 4px 2px 2px}.assignee-chip .avatar-initials,.assignee-chip img,.assignee-mention-list .avatar-initials,.assignee-mention-list img{border-width:1px!important;flex-shrink:0}.assignee-chip-clear{background:none;border:none;color:#5f6b85;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.assignee-mention-list{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #0000001f;list-style:none;margin:0;max-height:240px;overflow-y:auto;padding:4px 0;z-index:10500}.assignee-mention-list li{align-items:center;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:6px 10px}.assignee-mention-list li.active{background:#e8f0fe}.task-assignee-btn{background:none;border:1px dashed #c5cad6;border-radius:10px;color:#9aa3b5;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:11px;font-weight:600;line-height:16px;margin-right:6px;max-width:110px;overflow:hidden;padding:1px 7px;text-overflow:ellipsis;white-space:nowrap}.task-assignee-btn.assigned{background:#eef1fd;border:1px solid #c9d3fb;border-radius:999px;color:#3f4bc4;line-height:15px;padding:1px 8px}.task-assignee-btn:hover{border-color:#2196f3;color:#2196f3}.task-assignee-select{flex-shrink:0;font-size:12px;margin-right:4px;max-width:130px}.modal-actions-list{background:#f9f9f9;border-radius:6px;display:flex;flex-direction:column;gap:10px;max-height:200px;overflow-y:auto;padding:10px}.modal-action-item{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:4px;display:flex;gap:10px;padding:8px;transition:all .2s}.modal-action-item:hover{border-color:#2196f3;box-shadow:0 2px 4px #0000001a}.modal-action-item.starred{background:#fff8e1;border-color:#f0d264}.modal-action-item.starred .action-text{color:#7a5c00;font-weight:600}.modal-action-item input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;margin-top:2px;pointer-events:auto;position:relative;width:18px;z-index:10}.modal-action-item .action-text{color:#333;flex:1 1;font-size:14px;line-height:1.4}.modal-action-item.completed .action-text{color:#999;text-decoration:line-through}.modal-action-item.completed input[type=checkbox]{cursor:pointer;pointer-events:auto}.modal-action-item .action-meta{color:#999;font-size:11px;white-space:nowrap}.kanban-card.card-ideation{padding:12px}.kanban-card.card-ideation .card-photo,.kanban-card.card-ideation .card-photo img{height:32px;width:32px}.kanban-card.card-ideation .card-content h4{font-size:15px}.add-action-input{background:#f0f8ff;border:2px dashed #2196f3;border-radius:6px;display:flex;gap:8px;margin-top:12px;padding:10px}.add-action-input input[type=text]{border:1px solid #ddd;border-radius:4px;flex:1 1;font-family:inherit;font-size:14px;padding:10px 12px}.add-action-input input[type=text]:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a;outline:none}.btn-add-action{background:linear-gradient(135deg,#2196f3,#1976d2);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s;white-space:nowrap}.btn-add-action:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1565c0);box-shadow:0 2px 8px #2196f34d;transform:translateY(-1px)}.btn-add-action:active:not(:disabled){transform:translateY(0)}.btn-add-action:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.action-items-section label{color:#333;display:block;font-size:16px;font-weight:600;margin-bottom:12px}.action-items-section .modal-actions-list{margin-bottom:12px}.action-items-section .add-action-input{background:#fff}.modal-right-column .action-items-section{background:#0000;border:none;display:flex;flex:1 1;flex-direction:column;margin:0;min-height:0;padding:0}.modal-right-column .action-items-section .modal-actions-list{flex:1 1;overflow-y:auto}.modal-right-column .action-items-section .add-action-input{background:#fff;border:1px solid #ddd;border-radius:4px;margin-top:auto;padding:0}.card-actions-section{background:#00000008;border-top:1px solid #00000014;margin:12px -16px -16px;padding:12px 16px}.kanban-card.card-ideation .card-actions-section{margin:8px -12px -12px;padding:8px 12px}.card-actions-section .card-action-item{margin:0;padding:4px 0}.board-toolbar{background:#fff;border-bottom:2px solid #e0e0e0;gap:16px;justify-content:space-between;padding:16px 32px}.board-filters,.board-toolbar{align-items:center;display:flex;flex-wrap:wrap}.board-filters{gap:12px}.search-input{border:2px solid #ddd;border-radius:6px;font-size:14px;min-width:250px;padding:10px 16px;transition:all .2s}.search-input:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.board-actions{align-items:center;display:flex;gap:8px}.metrics-dashboard{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:3px solid #5568d3;display:flex;gap:16px;overflow-x:auto;padding:20px 32px}.metric-card{background:#fffffff2;border-radius:12px;box-shadow:0 4px 12px #00000026;min-width:140px;padding:20px;text-align:center;transition:transform .2s}.metric-card:hover{box-shadow:0 6px 16px #0003;transform:translateY(-4px)}.metric-card h3{color:#667eea;font-size:32px;font-weight:700;margin:0 0 8px}.metric-card p{color:#666;font-size:13px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.metric-card small{color:#999;display:block;font-size:12px;font-weight:500;margin-top:6px}.stale-indicator{animation:pulse-warning 2s ease-in-out infinite;cursor:help;font-size:18px;left:8px;position:absolute;top:8px}@keyframes pulse-warning{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.kanban-card.stale-deal{border-left:4px solid #ff9800}.bulk-modal h2{color:#2196f3}.bulk-modal p{color:#666;font-weight:500;margin:10px 0 20px}.activity-section{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin:20px 0;padding:20px}.activity-timeline{background:#fff;border:1px solid #ddd;border-radius:6px;margin-top:16px;max-height:300px;overflow-y:auto;padding:12px}.activity-item{background:#f9f9f9;border-left:3px solid #2196f3;border-radius:4px;display:flex;flex-direction:column;font-size:13px;gap:4px;margin-bottom:10px;padding:12px}.activity-item:last-child{margin-bottom:0}.activity-time{color:#999;font-size:11px;font-weight:500}.activity-action{color:#333;font-weight:700}.activity-user{color:#666;font-size:12px;font-style:italic}.activity-details{color:#777;font-size:12px;margin-top:4px}.modal-actions{display:flex;gap:12px;justify-content:space-between;margin-top:24px}.modal-actions>div{display:flex;gap:8px}.btn-danger{align-items:center;background:#0000;border:2px solid #ef4444;color:#ef4444;display:inline-flex;font-size:16px;font-weight:600;gap:8px}.btn-danger:hover{background:#ef4444;color:#fff}@media (max-width:768px){.board-toolbar{align-items:stretch;flex-direction:column}.board-actions,.board-filters{width:100%}.search-input{min-width:0;width:100%}.metrics-dashboard{padding:16px}.metric-card{min-width:120px}}.card-metric-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.card-metric-chip{background:#f1f3f5;border-radius:4px;color:#495057;font-size:12px;font-weight:700;padding:2px 6px;white-space:nowrap}.card-metric-chip.over{background:#fdecea;color:#dc3545}.card-metric-chip.under{background:#e9f7ef;color:#28a745}.column-abandoned,.column-exited,.column-ideation,.column-studio-abandoned,.column-studio-exited,.column-studio-ideation{max-width:280px}.column-abandoned .column-header,.column-exited .column-header,.column-ideation .column-header,.column-studio-abandoned .column-header,.column-studio-exited .column-header,.column-studio-ideation .column-header{background:#0000!important;color:#999;font-style:italic}.kanban-card.card-prepost{padding:10px}.kanban-card.card-prepost .card-photo,.kanban-card.card-prepost .card-photo img{height:28px;width:28px}.kanban-card.card-prepost .card-content h4{font-size:14px;margin:0}.kanban-card.card-prepost .card-main{gap:8px}.btn-remove-action{background:none;border:none;color:#999;cursor:pointer;font-size:20px;line-height:1;margin-left:auto;padding:0;transition:color .2s}.btn-remove-action:hover{color:#f44336}.column-ideation,.column-studio-ideation{margin-right:32px}.column-abandoned,.column-studio-exited{margin-left:32px}.column-abandoned,.column-exited,.column-ideation,.column-studio-abandoned,.column-studio-exited,.column-studio-ideation{background:#0000;box-shadow:none}.column-abandoned .column-cards,.column-exited .column-cards,.column-ideation .column-cards,.column-studio-abandoned .column-cards,.column-studio-exited .column-cards,.column-studio-ideation .column-cards{background:#0000}.column-abandoned .kanban-card,.column-exited .kanban-card,.column-ideation .kanban-card,.column-studio-abandoned .kanban-card,.column-studio-exited .kanban-card,.column-studio-ideation .kanban-card{background:#fff!important;border:1px solid #e0e0e0;box-shadow:0 1px 3px #00000014}.column-studio-abandoned{margin-left:32px;max-width:280px}.column-studio-abandoned .column-header{background:#0000!important;color:#999;font-style:italic}.kanban-card{padding-left:12px}.card-quick-links{display:flex;gap:6px;margin-top:4px}.card-quick-links a{border-radius:4px;display:inline-flex;opacity:.8;padding:2px}.card-quick-links a:hover{background:#0000000f;opacity:1}.task-edit-input input{border:1px solid #2196f3;border-radius:3px;font-family:inherit;font-size:inherit;padding:2px 4px}.task-body{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;min-width:0}.task-body .action-text{flex:none}.task-assignee-line{background:#eef1fd;border:1px solid #c9d3fb;border-radius:999px;color:#3f4bc4;display:inline-block;font-size:11px;font-weight:600;line-height:15px;margin-top:3px;max-width:100%;overflow:hidden;padding:1px 8px;text-overflow:ellipsis;white-space:nowrap}.task-body .task-assignee-btn,.task-body .task-assignee-select{margin:2px 0 0}.card-action-item .task-edit-input{flex-wrap:wrap}.card-action-item .task-edit-input input{flex-basis:100%}.card-action-item .task-edit-input .assignee-chip{order:1}.loading{background:linear-gradient(135deg,#0a0a0a,#1a1a2e 50%,#16213e);font-family:Rajdhani,sans-serif;min-height:100vh;overflow:hidden;position:relative}.loading:before{animation:gridMove 20s linear infinite;background-image:linear-gradient(#00ffff08 1px,#0000 0),linear-gradient(90deg,#00ffff08 1px,#0000 0);background-size:50px 50px;bottom:0;left:0;right:0;top:0}.loading:after,.loading:before{content:"";pointer-events:none;position:absolute}.loading:after{animation:pulse 8s ease-in-out infinite;background:radial-gradient(circle,#00ffff1a 0,#0000 70%);border-radius:50%;height:400px;left:10%;top:20%;width:400px}.loading-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1a1a2ee6;border:2px solid #00f5ff4d;border-radius:12px;box-shadow:0 0 40px #00f5ff33,inset 0 0 30px #00000080,0 10px 40px #000c;padding:60px;position:relative;text-align:center;z-index:10}.loading-logo{align-items:center;display:flex;justify-content:center;margin-bottom:20px}.logo-c-animated{animation:zoomPulse 2s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(0,245,255,.6));height:120px;width:120px}@keyframes zoomPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.loading-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00f5ff,#00d4ff 50%,#0095ff);-webkit-background-clip:text;background-clip:text;font-family:Orbitron,sans-serif;font-size:32px;font-weight:700;letter-spacing:3px;margin:0;text-shadow:0 0 30px #00f5ff80;text-transform:uppercase}.loading-subtext{color:#00d4ff;font-size:16px;letter-spacing:2px;margin-top:10px;opacity:.8}.loading-spinner{display:flex;gap:8px;justify-content:center;margin-top:20px}.spinner-dot{animation:dotPulse 1.5s ease-in-out infinite;background:#00f5ff;border-radius:50%;box-shadow:0 0 10px #00f5ffcc;height:12px;width:12px}.spinner-dot:nth-child(2){animation-delay:.3s}.spinner-dot:nth-child(3){animation-delay:.6s}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}.landing-container{align-items:center;background:linear-gradient(135deg,#0a0a0a,#1a1a2e 50%,#16213e);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.landing-container:before{animation:gridMove 20s linear infinite;background-image:linear-gradient(#00ffff08 1px,#0000 0),linear-gradient(90deg,#00ffff08 1px,#0000 0);background-size:50px 50px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.landing-container:after{animation:pulse 8s ease-in-out infinite;background:radial-gradient(circle,#00ffff1a 0,#0000 70%);border-radius:50%;content:"";height:400px;left:10%;pointer-events:none;position:absolute;top:20%;width:400px}.landing-content{max-width:600px;padding:40px;text-align:center;z-index:10}.robot-icon{animation:float 3s ease-in-out infinite;filter:drop-shadow(0 0 30px rgba(0,255,255,.6));font-size:120px;margin-bottom:20px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.landing-logo{-webkit-text-fill-color:#0000;animation:glitch 3s infinite;background:linear-gradient(135deg,#00f5ff,#00d4ff 50%,#0095ff);-webkit-background-clip:text;background-clip:text;font-family:Orbitron,sans-serif;font-size:96px;font-weight:900;letter-spacing:-2px;margin:0;position:relative;text-shadow:0 0 40px #00f5ff80}@keyframes glitch{0%,90%,to{transform:translate(0)}92%{transform:translate(-2px,2px)}94%{transform:translate(2px,-2px)}96%{transform:translate(-2px,-2px)}98%{transform:translate(2px,2px)}}.landing-logo:after,.landing-logo:before{content:"HeyPhil";height:100%;left:0;position:absolute;top:0;width:100%}.landing-logo:before{animation:glitchTop 2s infinite;-webkit-clip-path:polygon(0 0,100% 0,100% 33%,0 33%);clip-path:polygon(0 0,100% 0,100% 33%,0 33%);opacity:.8;transform:translate(0)}.landing-logo:after{animation:glitchBottom 3s infinite;-webkit-clip-path:polygon(0 67%,100% 67%,100% 100%,0 100%);clip-path:polygon(0 67%,100% 67%,100% 100%,0 100%);opacity:.8;transform:translate(0)}@keyframes glitchTop{0%,95%,to{transform:translate(0)}96%{transform:translate(4px)}97%{transform:translate(-4px)}}@keyframes glitchBottom{0%,93%,to{transform:translate(0)}94%{transform:translate(-4px)}95%{transform:translate(4px)}}.landing-tagline{color:#00d4ff;font-size:24px;font-weight:300;letter-spacing:4px;margin:20px 0 50px;opacity:.9}.landing-signin,.landing-tagline{font-family:Rajdhani,sans-serif;text-transform:uppercase}.landing-signin{background:linear-gradient(135deg,#00f5ff,#0095ff);border:none;border-radius:50px;box-shadow:0 0 20px #00f5ff66,0 10px 30px #0000004d;color:#0a0a0a;cursor:pointer;font-size:20px;font-weight:700;letter-spacing:2px;overflow:hidden;padding:18px 60px;position:relative;transition:all .3s ease}.landing-signin:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.landing-signin:hover:before{height:300px;width:300px}.landing-signin:hover{box-shadow:0 0 40px #00f5ff99,0 15px 40px #0006;transform:translateY(-3px)}.landing-signin:active{transform:translateY(-1px)}.landing-signin span{position:relative;z-index:1}.scanlines{animation:scan 8s linear infinite;background:linear-gradient(180deg,#0000 50%,#00ffff05 0);background-size:100% 4px;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}@keyframes scan{0%{background-position:0 0}to{background-position:0 100%}}@media (max-width:768px){.landing-logo{font-size:64px}.robot-icon{font-size:80px}.landing-tagline{font-size:18px}.landing-signin{font-size:18px;padding:16px 40px}}.canvas-toolbar{align-items:center;background:#f8f9fa;border-bottom:2px solid #dee2e6;display:flex;justify-content:space-between;padding:16px 24px}.canvas-controls{align-items:center;display:flex;gap:12px}.canvas-info{color:#6c757d;font-size:14px}.infinite-canvas{background:#f5f6f8;background-image:linear-gradient(#0000000d 1px,#0000 0),linear-gradient(90deg,#0000000d 1px,#0000 0);background-size:50px 50px;cursor:grab;flex:1 1;overflow:hidden;position:relative}.infinite-canvas:active{cursor:grabbing}.canvas-node{align-items:center;background:#fff;border:2px solid #dee2e6;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:move;display:flex;justify-content:center;padding:16px;position:absolute;transition:all .2s;z-index:10}.canvas-node:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea33}.canvas-node.selected{border-color:#667eea;box-shadow:0 4px 16px #667eea4d}.node-content{word-wrap:break-word;color:#212529;flex:1 1;text-align:center}.node-content input{background:#0000;border:none;color:#212529;font-family:inherit;outline:none;text-align:center;width:100%}.node-actions{gap:4px;position:absolute;right:-12px;top:-12px}.node-actions,.node-btn{align-items:center;display:flex}.node-btn{background:#fff;border:1px solid #dee2e6;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#495057;cursor:pointer;font-size:16px;font-weight:700;height:24px;justify-content:center;line-height:1;transition:all .2s;width:24px}.node-btn:hover{background:#667eea;border-color:#667eea;box-shadow:0 4px 8px #667eea4d;color:#fff;transform:scale(1.1)}.node-btn-delete:hover{background:#dc3545;border-color:#dc3545;color:#fff}.connecting-hint{animation:pulse 1s infinite;background:#667eea;border-radius:8px;box-shadow:0 4px 12px #667eea66;color:#fff;font-weight:600;padding:12px 24px;position:fixed;right:24px;top:80px;z-index:100}.connecting-hint,.connections-layer{pointer-events:none}.connections-layer g{pointer-events:all}.connection-port{background:#667eea;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:crosshair;height:10px;opacity:0;position:absolute;transition:opacity .2s,transform .2s;width:10px;z-index:20}.canvas-node:hover .connection-port,.connection-port.hovered{opacity:.9}.connection-port.hovered,.connection-port:hover{background:#764ba2;box-shadow:0 3px 8px #764ba266;opacity:1;transform:scale(1.4)}.connection-port.active-port{animation:pulse-port 2s ease-in-out infinite;background:#667eea;box-shadow:0 0 0 3px #667eea4d;cursor:grab;opacity:1;transform:scale(1.5)}.connection-port.active-port:hover{background:#764ba2;cursor:grabbing;transform:scale(1.6)}@keyframes pulse-port{0%,to{box-shadow:0 0 0 3px #667eea4d}50%{box-shadow:0 0 0 6px #667eea80}}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;flex-direction:column;gap:24px;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.node-preview{animation:slideDown .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;padding:24px}.node-preview .canvas-node{box-shadow:0 4px 16px #00000026;cursor:default;pointer-events:none}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:500px;overflow:hidden;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#1f2937;font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-close:hover{background:#f3f4f6;color:#1f2937}.modal-body{max-height:calc(80vh - 180px);overflow-y:auto;padding:24px}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input[type=text]{border:2px solid #e5e7eb;border-radius:8px;font-size:15px;padding:10px 12px;transition:all .2s;width:100%}.form-group input[type=text]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.size-grid{flex-direction:column}.size-grid,.size-row{display:flex;gap:12px}.size-row{align-items:center}.size-label{color:#6b7280;font-size:13px;font-weight:500;min-width:50px}.size-controls{align-items:center;display:flex;flex:1 1;gap:12px}.size-controls .btn-secondary{font-size:18px;font-weight:600;height:40px;min-width:40px}.size-controls span{color:#1f2937;font-family:SF Mono,Monaco,monospace;font-size:15px;font-weight:600;min-width:70px;text-align:center}.btn-reset{background:#f3f4f6;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;margin-top:4px;padding:10px 16px;transition:all .2s}.btn-reset:hover{background:#e5e7eb;border-color:#d1d5db;color:#374151}.color-picker{display:flex;flex-wrap:wrap;gap:10px}.color-swatch{align-items:center;border:3px solid #0000;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:40px;justify-content:center;text-shadow:0 1px 2px #0000004d;transition:all .2s;width:40px}.color-swatch:hover{box-shadow:0 4px 8px #0003;transform:scale(1.1)}.color-swatch.active{border-color:#1f2937;box-shadow:0 4px 12px #0000004d;transform:scale(1.15)}.style-picker{display:flex;gap:12px}.style-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:8px;padding:12px;transition:all .2s}.style-option svg{color:#6b7280}.style-option span{color:#6b7280;font-size:13px;font-weight:500}.style-option:hover{background:#f9fafb;border-color:#667eea}.style-option.active{background:#eff6ff;border-color:#667eea}.style-option.active span,.style-option.active svg{color:#667eea}.modal-footer{align-items:center;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:16px 24px}.btn-danger{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.btn-danger:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.chart-browser{flex:1 1;margin:0 auto;max-width:1000px;overflow-y:auto;padding:40px}.chart-browser-header{align-items:center;display:flex;justify-content:center;margin-bottom:32px}.chart-browser-loading{color:#6c757d;padding:60px 20px;text-align:center}.chart-browser-empty{align-items:center;display:flex;justify-content:center;min-height:400px}.empty-state{max-width:400px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px}.empty-state h3{color:#212529;font-size:20px;margin:0 0 8px}.empty-state p{color:#6c757d;margin:0 0 24px}.chart-list{grid-gap:16px;display:grid;gap:16px}.chart-item{grid-gap:16px;align-items:center;background:#fff;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;display:grid;gap:16px;grid-template-columns:2fr 1fr 1fr 1.5fr 50px;padding:20px;transition:all .2s}.chart-item:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea1a;transform:translateY(-2px)}.chart-item-main{align-items:center;display:flex;gap:16px}.chart-item-icon{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex-shrink:0;font-size:32px;height:48px;justify-content:center;width:48px}.chart-item-info{flex:1 1;min-width:0}.chart-item-info h3{color:#212529;font-size:18px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-item-meta{color:#667eea;font-size:14px;font-weight:500}.chart-item-date{color:#6c757d;font-size:14px}.chart-item-delete{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;justify-self:center;transition:all .2s;width:36px}.chart-item-delete:hover{background:#dc3545;border-color:#dc3545;transform:scale(1.1)}.save-status{font-size:13px;margin-right:12px}.saving-indicator{animation:pulse 1.5s ease-in-out infinite;color:#667eea;font-weight:500}.saved-indicator{color:#28a745;font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.btn-secondary.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.btn-secondary.active:hover{background:linear-gradient(135deg,#5568d3,#63408a)}.chart-list-header{grid-gap:16px;background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;color:#495057;display:grid;font-size:14px;font-weight:600;gap:16px;grid-template-columns:2fr 1fr 1fr 1.5fr;margin-bottom:16px;padding:12px 20px}.chart-header-item{align-items:center;cursor:pointer;display:flex;gap:6px;transition:color .2s;-webkit-user-select:none;user-select:none}.chart-header-item:hover{color:#667eea}.chart-header-name{padding-left:64px}.chart-header-date,.chart-header-stats{text-align:left}.cashflow-period-nav{display:flex;gap:8px}.cashflow-denied,.cashflow-loading{color:#666;padding:48px;text-align:center}.cashflow-error{background:#fdecea;color:#b71c1c;font-size:14px;padding:10px 24px}.cashflow-scroll{flex:1 1;overflow:auto;padding:16px 24px}.cashflow-grid{border-collapse:collapse;font-size:13px;min-width:100%}.cashflow-grid td,.cashflow-grid th{border:1px solid #e5e7eb;padding:4px 16px 4px 8px;text-align:right;white-space:nowrap}.cashflow-grid thead th{background:#f5f7fa;position:-webkit-sticky;position:sticky;top:0;z-index:1}.cashflow-month-header{text-align:center}.cashflow-row-label{background:#fff;left:0;min-width:280px;position:-webkit-sticky;position:sticky;text-align:left}.cashflow-add-department{align-items:center;display:flex;gap:8px;padding:12px 24px 0}.cashflow-division-row td{background:#dde2f3;color:#222;font-size:16px;font-weight:700;padding-bottom:8px;padding-top:8px;text-align:left}.cashflow-section-row td{background:#eef1f8;color:#444;font-size:13px;font-weight:600;text-align:left}.cashflow-section-row .cashflow-row-label{background:#eef1f8;padding-left:20px}.cashflow-item-label{padding-left:36px}.cashflow-header-input{background:#0000;border:1px solid #0000;color:inherit;font:inherit;font-weight:inherit;padding:2px 4px;width:70%}.cashflow-header-input:focus{background:#fff;border-color:#667eea;outline:none}.cashflow-add-row-compact td{background:#fbfbfd;padding:2px 8px;text-align:left}.cashflow-collapse-toggle{align-items:center;background:#0000;border:none;color:#8890b3;cursor:pointer;display:inline-flex;font-size:16px;height:20px;justify-content:center;line-height:1;margin-right:4px;padding:0;vertical-align:middle;width:20px}.cashflow-collapse-toggle:hover{color:#667eea}.cashflow-inline-add{align-items:center;background:#0000;border:1px dashed #b7bcd8;border-radius:3px;color:#8890b3;cursor:pointer;display:inline-flex;font-size:11px;height:16px;justify-content:center;line-height:1;margin-right:4px;padding:0;vertical-align:middle;width:16px}.cashflow-inline-add:hover{background:#f5f6fb;border-color:#667eea;color:#667eea}.cashflow-add-input-compact{border:1px solid #667eea;border-radius:4px;font-size:12px;padding:2px 6px;width:200px}.cashflow-retire-btn{background:#0000;border:none;color:#999;cursor:pointer;float:right;font-size:16px;line-height:1;padding:0 2px}.cashflow-retire-btn:hover{color:#b71c1c}.cashflow-cell-input{-moz-appearance:textfield;background:#0000;border:1px solid #0000;font-size:13px;padding:2px 4px;text-align:right;width:90px}.cashflow-cell-input::-webkit-inner-spin-button,.cashflow-cell-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cashflow-cell-input:focus{background:#fff;border-color:#667eea;outline:none}.cashflow-anchor-input{font-weight:600}.cashflow-add-row td{background:#fafbfc;text-align:left}.cashflow-add-input{border:1px solid #ddd;border-radius:4px;font-size:13px;margin-right:6px;padding:4px 8px;width:220px}.cashflow-summary-row td{background:#f9fafb;font-weight:600}.cashflow-ending-row td{background:#eef1f8;border-top:2px solid #667eea;font-weight:700}.cashflow-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.cashflow-modal{background:#fff;border-radius:8px;box-shadow:0 8px 24px #0003;max-width:360px;padding:20px 24px}.cashflow-modal p{color:#222;font-size:14px;margin:0 0 16px}.cashflow-modal-actions{display:flex;gap:8px;justify-content:flex-end}.cashflow-modal-confirm{background:#b71c1c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;padding:6px 14px}.cashflow-modal-confirm:hover{background:#8f1616}.cashflow-item-parent-row td{border-bottom:2px solid #b7bcd8;font-weight:700}.imp-page{display:flex;flex-direction:column;height:100%}.imp-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex-shrink:0;padding:20px 30px}.imp-header h2,.imp-subtitle{margin:0 0 4px}.imp-subtitle{color:#ffffffd9}.imp-hint{color:#ffffffb3;font-size:13px;margin:0}.imp-hint strong{color:#fff;font-weight:600}.imp-board{background:#f8f9fa;display:flex;flex:1 1;gap:16px;overflow-x:auto;padding:24px 24px 12px}.imp-column{background:#f4f5f7;border-radius:8px;display:flex;flex-direction:column;max-width:260px;min-width:260px}.imp-column-header{align-items:center;border-bottom:1px solid #e2e4e8;display:flex;justify-content:space-between;padding:12px 14px}.imp-column-header h3{font-size:14px;margin:0}.imp-count{background:#e2e4e8;border-radius:10px;color:#555;font-size:12px;padding:1px 8px}.imp-column-cards{display:flex;flex-direction:column;gap:8px;overflow-y:auto;padding:10px}.imp-card{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001f;cursor:grab;flex-shrink:0;overflow:hidden;position:relative}.imp-reporter-avatar{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0000004d;height:28px;object-fit:cover;position:absolute;right:6px;top:6px;width:28px;z-index:1}.imp-reporter-avatar-initials{align-items:center;color:#fff;display:flex;font-size:11px;font-weight:700;justify-content:center}.imp-card:hover{box-shadow:0 2px 6px #0000002e}.imp-card-thumb img{border-bottom:1px solid #eee;display:block;height:100px;object-fit:cover;width:100%}.imp-card-body{padding:8px 10px}.imp-card-kind{align-items:center;display:flex;font-size:12px;font-weight:600;gap:6px;justify-content:space-between;margin-bottom:4px}.imp-copy-btn{background:none;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;flex-shrink:0;font-size:11px;padding:1px 6px}.imp-copy-btn:hover{background:#f0f0f0}.imp-card-title{font-size:13px;line-height:1.3;margin-bottom:6px}.imp-card-meta{color:#888;font-size:11px}.imp-card-page{color:#aaa;font-family:Courier New,monospace;font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imp-modal-body{display:flex;gap:20px}.imp-modal-screenshot{flex:1 1;min-width:0}.imp-modal-screenshot img{border:1px solid #eee;border-radius:6px;width:100%}.imp-modal-fields{display:flex;flex:1 1;flex-direction:column;gap:12px;min-width:260px}.imp-modal-fields label{color:#444;display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:4px}.imp-modal-fields input,.imp-modal-fields select,.imp-modal-fields textarea{border:1px solid #ccc;border-radius:4px;font-family:inherit;font-weight:400;padding:6px 8px}.imp-classification-note{background:#fff8e1;border-radius:6px;font-size:13px;padding:8px 10px}.imp-modal-meta{color:#888;font-size:12px}.imp-modal-actions{display:flex;justify-content:space-between;width:100%}.imp-screenshot-placeholder{background:linear-gradient(90deg,#f1f3f6,#e7eaef,#f1f3f6);height:100px}.imp-modal-screenshot .imp-screenshot-placeholder{height:240px}.imp-card-readonly{cursor:pointer}.imp-priority-dot{border-radius:50%;display:inline-block;height:8px;margin-right:6px;vertical-align:1px;width:8px}.imp-priority-dot.priority-high{background:#e5484d}.imp-priority-dot.priority-normal{background:#8b95a7}.imp-priority-dot.priority-low{background:#d3d7de}.imp-card-hint{background:#fff7d6;border-radius:4px;color:#6b5900;display:inline-block;font-size:11px;margin-bottom:4px;padding:1px 6px}.imp-card-duplicate{color:#8a4b00;font-size:11px;font-weight:600;margin-bottom:4px}.imp-modal-row{display:flex;gap:12px}.imp-modal-row label{flex:1 1}.imp-context{background:#fafbfc;border:1px solid #e5e7eb;border-radius:8px;color:#444;display:flex;flex-direction:column;font-size:12px;gap:4px;margin-top:10px;padding:10px 12px}.imp-context-title{color:#222;font-weight:600}.imp-context-ua{color:#777;word-break:break-word}.imp-context-errors summary{color:#b42318;cursor:pointer;font-weight:600}.imp-context-errors ol{margin:6px 0 0;max-height:220px;overflow-y:auto;padding-left:18px}.imp-context-errors li{margin-bottom:6px}.imp-error-head{color:#888;font-size:11px}.imp-error-message{font-family:SFMono-Regular,Menlo,monospace;word-break:break-word}.imp-context-errors pre{color:#666;font-size:10px;margin:2px 0 0;white-space:pre-wrap;word-break:break-word}.settings-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:90%}.settings-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.settings-header h2{font-size:24px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.close-button:hover{background:#fff3}.settings-tabs{background:#f5f5f5;border-bottom:1px solid #e0e0e0;display:flex}.settings-tabs button{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;flex:1 1;font-size:15px;font-weight:500;padding:12px 20px;transition:all .2s}.settings-tabs button:hover{background:#eee;color:#333}.settings-tabs button.active{background:#fff;border-bottom-color:#667eea;color:#667eea}.settings-content{padding:24px}.settings-section h3{color:#333;font-size:18px;margin:0 0 16px}.settings-section h4{color:#666;font-size:14px;font-weight:600;letter-spacing:.5px;margin:24px 0 12px;text-transform:uppercase}.settings-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.settings-item{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:12px;padding:12px}.settings-can-login{align-items:center;color:#444;display:flex;flex-shrink:0;font-size:13px;gap:6px;white-space:nowrap}.settings-can-login input[disabled]{cursor:not-allowed}.settings-hint{color:#888;font-size:13px;margin:-4px 0 12px}.settings-add-section .settings-item{background:#f0f7ff;border-color:#2196f3}.settings-input{border:1px solid #ddd;border-radius:4px;flex:1 1;font-size:14px;padding:8px 12px}.settings-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.settings-color-input{border:1px solid #ddd;border-radius:4px;cursor:pointer;height:38px;padding:2px;width:50px}.settings-color-input::-webkit-color-swatch-wrapper{padding:2px}.settings-color-input::-webkit-color-swatch{border:none;border-radius:3px}.color-preview{border:1px solid #ddd;border-radius:4px;height:38px;width:38px}.btn-danger-small,.btn-primary-small{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 12px;transition:all .2s;white-space:nowrap}.btn-danger-small{background:#ff5252;color:#fff}.btn-danger-small:hover{background:#ff1744;transform:scale(1.05)}.btn-primary-small{background:#4caf50;color:#fff}.btn-primary-small:hover{background:#45a049;transform:scale(1.05)}.settings-footer{background:#f9f9f9;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.settings-footer .btn-primary,.settings-footer .btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:15px;font-weight:500;padding:10px 20px;transition:all .2s}.settings-footer .btn-secondary{background:#e0e0e0;color:#333}.settings-footer .btn-secondary:hover{background:#d0d0d0}.settings-footer .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.settings-footer .btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.settings-content{display:flex;flex:1 1;flex-direction:column;gap:20px;max-width:960px;overflow-y:auto;padding:32px}.settings-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;padding:24px}.settings-card h2{color:#666;font-size:15px;letter-spacing:.04em;margin-bottom:16px;text-transform:uppercase}.settings-profile{align-items:center;display:flex;gap:16px}.settings-profile img{border-radius:50%;height:56px;width:56px}.settings-profile-name{color:#333;font-size:18px;font-weight:600}.settings-profile-email{color:#666;font-size:14px}.settings-admin{margin-left:4px}.settings-can-login:has(input:disabled){opacity:.7}.settings-admin-note{font-style:italic;margin-top:8px}.project-detail-page{animation:slideIn .3s ease;background:#f8f9fa;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.project-detail-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #ffffff1a;color:#fff;flex-shrink:0;padding:20px 30px}.back-button{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;margin-bottom:12px;padding:8px 16px;transition:all .2s}.back-button:hover{background:#ffffff4d}.project-header-row{justify-content:space-between}.project-header-info,.project-header-row{align-items:center;display:flex;gap:16px}.project-header-info h1{font-size:28px;font-weight:600;margin:0}.stage-badge{background:#fff3;border:1px solid #ffffff4d;border-radius:20px;font-size:13px;font-weight:500;padding:6px 14px}.project-header-owner{align-items:center;display:flex;flex-shrink:0;gap:10px}.project-header-owner-name{color:#ffffffe6;font-size:14px;font-weight:600}.project-header-owner-initials,.project-header-owner-photo{border:2px solid #fff9;border-radius:50%;flex-shrink:0;height:40px;width:40px}.project-header-owner-photo{object-fit:cover}.project-header-owner-initials{align-items:center;background:#fff3;color:#fff;display:flex;font-size:16px;font-weight:700;justify-content:center}.project-dashboard{background:#f8f9fa;flex:1 1;overflow-y:auto;padding:30px}.timeline-full-section{display:flex;flex-direction:column;margin-top:16px;min-height:600px;overflow:hidden}.detail-section,.timeline-full-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.detail-section{border:1px solid #667eea2e;margin-top:24px;padding:24px 28px}.section-heading{color:#212529;font-size:18px;font-weight:600;margin:0 0 16px}.budget-module-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.budget-hero-label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.hero-tile-row{grid-gap:16px;display:grid;flex:1 1;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.hero-row-with-toggle{align-items:center;display:flex;gap:16px;margin-bottom:20px}.hero-tile-wrapper{gap:6px}.hero-tile,.hero-tile-wrapper{display:flex;flex-direction:column}.hero-tile{background:#f8f9fa;border-radius:8px;box-sizing:border-box;justify-content:center;min-height:96px;padding:14px 16px}.hero-tile-label{letter-spacing:.5px;text-transform:uppercase}.hero-tile-label,.hero-tile-sublabel{color:#6c757d;font-size:12px;font-weight:600}.hero-tile-sublabel{line-height:1.3;margin-bottom:4px}.hero-tile-value{color:#212529;font-size:28px;font-weight:700}.hero-tile-value-text{font-size:20px;line-height:1.3}.hero-tile-subdate{color:#6c757d;font-size:12px;font-weight:600;line-height:1.3;margin-top:4px}.hero-tile-value.over{color:#dc3545}.hero-tile-value.under{color:#28a745}.budget-detail-actions,.budget-module-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.budget-detail-actions{margin-bottom:16px}.module-expand-btn{background:none;border:1px solid #ced4da;border-radius:6px;color:#495057;cursor:pointer;font-size:16px;height:32px;width:32px}.module-expand-btn:hover{background:#f1f3f5}.budget-lock-picker{background:#fff;border:1px solid #ced4da;border-radius:6px;color:#212529;font-size:14px;padding:8px 10px}.budget-paste-box{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:16px;padding:16px}.budget-paste-box p{color:#6c757d;font-size:13px;margin:0 0 10px}.budget-paste-box textarea{font-family:SFMono-Regular,Consolas,monospace;font-size:13px;resize:vertical}.budget-lock-name-input,.budget-paste-box textarea{border:1px solid #ced4da;border-radius:6px;box-sizing:border-box;padding:10px;width:100%}.budget-lock-name-input{font-size:14px}.budget-paste-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.budget-table{border-collapse:collapse;font-size:14px;width:100%}.budget-table th{border-bottom:2px solid #e9ecef;color:#6c757d;font-size:12px;letter-spacing:.4px;padding:8px 10px;text-align:left;text-transform:uppercase}.budget-table td{border-bottom:1px solid #f1f3f5;padding:6px 10px;vertical-align:middle}.budget-table td:not(:first-child),.budget-table th:not(:first-child){text-align:right}.budget-table input{background:#0000;border:1px solid #0000;border-radius:4px;box-sizing:border-box;font-size:14px;padding:6px 8px;text-align:inherit;width:100%}.budget-table input:focus,.budget-table input:hover{background:#fff;border-color:#ced4da;outline:none}.budget-row-heading td{background:#f8f9fa;font-weight:700}.budget-row-heading td:first-child input{font-weight:700}.budget-row-item td:first-child{padding-left:24px}.budget-row-total td{border-bottom:none;border-top:2px solid #dee2e6;font-weight:700}.budget-empty{color:#6c757d;font-style:italic;padding:30px!important;text-align:center}.over{color:#dc3545}.under{color:#28a745}.budget-row-delete{background:none;border:none;color:#adb5bd;cursor:pointer;font-size:18px;line-height:1;padding:2px 6px}.budget-row-delete:hover{color:#dc3545}.budget-add-row{display:flex;gap:10px;margin-top:14px}.budget-history-note{color:#6c757d;font-size:13px;font-style:italic;margin:14px 0 0}.loading{align-items:center;color:#6c757d;display:flex;font-size:18px;height:100%;justify-content:center}@media (max-width:768px){.timeline-full-section{min-height:400px}}.project-resources{margin:24px 0 0;padding:0 30px}.resource-tiles{display:flex;flex-wrap:wrap;gap:12px}.resource-tile-wrap{position:relative}.resource-tile{align-items:flex-start;background:#fff;border:1px solid #e3e5e8;border-radius:10px;box-sizing:border-box;color:inherit;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:6px;height:112px;overflow:hidden;padding:12px 14px;text-align:left;text-decoration:none;transition:border-color .15s,box-shadow .15s;width:160px}.resource-tile:hover{border-color:#b9c3d6;box-shadow:0 2px 8px #0000000f}.resource-tile-label{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#212529;display:-webkit-box;font-size:14px;font-weight:600;line-height:1.25;max-width:100%;overflow:hidden}.resource-tile-caption{color:#888;font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-tile-empty{background:#fafbfc;border-style:dashed}.resource-tile-empty svg{opacity:.45}.resource-tile-empty .resource-tile-caption{color:#2196f3;font-weight:600}.resource-tile-add{align-items:center;background:#0000;border-style:dashed;color:#666;gap:4px;justify-content:center}.resource-tile-plus{color:#2196f3;font-size:22px;line-height:1}.resource-tile-add .resource-tile-label{color:#555;font-weight:500}.resource-tile-menu-btn{background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:16px;height:24px;line-height:1;opacity:0;padding:0;position:absolute;right:6px;top:6px;transition:opacity .15s;width:24px}.resource-tile-menu-btn:focus,.resource-tile-wrap:hover .resource-tile-menu-btn{opacity:1}.resource-tile-menu-btn:hover{background:#f0f2f5}.resource-tile-menu{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #0000001f;display:flex;flex-direction:column;min-width:140px;padding:4px 0;position:absolute;right:6px;top:32px;z-index:10}.resource-tile-menu button{background:none;border:none;cursor:pointer;font-family:inherit;font-size:13px;padding:8px 12px;text-align:left}.resource-tile-menu button:hover{background:#f5f7fa}.resource-tile-menu button.danger{color:#dc2626}.resource-editor{align-items:center;background:#fafbfc;border:1px solid #e3e5e8;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding:12px}.resource-editor input,.resource-editor select{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:14px;padding:8px 10px}.resource-editor input[type=url]{flex:1 1;min-width:240px}.folder-picker-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1100}.folder-picker{background:#fff;border-radius:12px;box-shadow:0 12px 40px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:460px;overflow:hidden;width:100%}.folder-picker-header{align-items:center;display:flex;justify-content:space-between;padding:16px 20px 8px}.folder-picker-header h3{font-size:17px;margin:0}.folder-picker-close{background:none;border:none;color:#888;cursor:pointer;font-size:22px;line-height:1}.folder-picker-search{border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:14px;margin:4px 20px 8px;padding:9px 12px}.folder-picker-list{flex:1 1;list-style:none;margin:0;min-height:0;overflow-y:auto;padding:0 12px 8px}.folder-picker-list li button{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:10px;padding:8px 10px;text-align:left;width:100%}.folder-picker-list li button:hover{background:#f2f5fb}.folder-picker-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-picker-suggested{background:#e6f4ea;border-radius:999px;color:#137333;font-size:11px;font-weight:600;padding:1px 8px}.folder-picker-empty,.folder-picker-note{color:#888;font-size:13px;padding:12px 10px}.folder-picker-note{margin:0 20px}.folder-picker-error{background:#fff8f0;border:1px solid #fde2c4;border-radius:8px;color:#7a4a10;font-size:13px;margin:4px 20px 8px;padding:10px 12px}.folder-picker-error p{margin:0 0 6px}.folder-picker-error p:last-child{margin-bottom:0}.folder-picker-error code{font-size:12px;word-break:break-all}.folder-picker-footer{border-top:1px solid #eee;padding:10px 20px 16px}.folder-picker-paste-toggle{background:none;border:none;color:#2196f3;cursor:pointer;font-family:inherit;font-size:13px;padding:0}.folder-picker-paste{display:flex;gap:8px}.folder-picker-paste input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-family:inherit;font-size:14px;min-width:0;padding:8px 10px}.resource-tile-badge{background:#e6f4ea;border-radius:999px;color:#137333;display:inline-block;font-size:10px;font-weight:600;line-height:16px;margin-left:4px;padding:0 6px;vertical-align:1px}.resource-tile-caption,.resource-tile>svg{flex-shrink:0}.custom-timeline{background:#fff;border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden}.custom-timeline.compact{border-radius:0}.timeline-toolbar{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:12px 16px}.timeline-view-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 12px}.timeline-add-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px}.timeline-add-btn:hover{opacity:.9}.timeline-container{display:flex;flex:1 1;overflow:hidden}.timeline-tasks-column{background:#f8f9fa;border-right:2px solid #e9ecef;flex-shrink:0;overflow-y:auto;width:400px}.timeline-header-cell{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;box-sizing:border-box;color:#6c757d;display:flex;font-size:13px;font-weight:600;gap:10px;height:50px;letter-spacing:.5px;padding:0 16px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:10}.timeline-days-badge{background:#e9ecef;border-radius:10px;color:#6c757d;font-size:11px;font-weight:500;padding:2px 8px;text-align:center}.timeline-task-row{align-items:center;border-bottom:1px solid #e9ecef;box-sizing:border-box;cursor:pointer;display:flex;height:50px;max-height:50px;min-height:50px;padding:0 4px 0 8px;position:relative;transition:background .15s}.timeline-task-row:hover{background:#e9ecef}.timeline-task-row.phase{background:#f1f5f9;font-weight:600}.timeline-task-row.milestone{background:#fef3c7}.timeline-task-row.event{background:#fef3e7}.timeline-task-row.child-task{background:#fafafa;padding-left:24px}.timeline-task-row.child-task:hover{background:#f0f0f0}.task-drag-handle{color:#9ca3af;cursor:grab;font-size:16px;line-height:1;margin-right:4px;opacity:.6;padding:0 4px;transition:opacity .2s;-webkit-user-select:none;user-select:none}.task-drag-handle:active{cursor:grabbing}.timeline-task-row:hover .task-drag-handle{opacity:1}.timeline-task-row.reordering{opacity:.5}.timeline-task-row.drop-target-before{border-top:3px solid #667eea;box-shadow:inset 0 3px 0 #667eea33}.timeline-task-row.drop-target-after{border-bottom:3px solid #667eea;box-shadow:inset 0 -3px 0 #667eea33}.task-row-content{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.task-days-badge{align-items:center;background:#e5e7eb;border-radius:50%;color:#6b7280;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:32px;justify-content:center;overflow:hidden;padding:6px 8px;position:relative;text-align:center;transition:background .2s,color .2s;width:32px}.days-stepper-half{background:#0000;border:none;cursor:pointer;display:flex;height:50%;justify-content:center;left:0;opacity:0;padding:0;position:absolute;right:0;transition:opacity .12s,background .12s}.days-stepper-up{align-items:flex-start;top:0}.days-stepper-down{align-items:flex-end;bottom:0}.days-stepper-half:hover{background:#1118278c;opacity:1}.days-stepper-caret{color:#fff;font-size:8px;line-height:1;padding:1px 0}.task-days-badge:hover{background:#d1d5db;color:#4b5563}.owner-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:600;height:28px;justify-content:center;width:28px}.owner-avatar-image{object-fit:cover}.task-name-simple{color:#212529;font-size:12.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.indent-line{color:#94a3b8;margin-right:4px}.timeline-grid-wrapper{flex:1 1;overflow:auto}.timeline-grid{min-width:100%;position:relative}.dependency-arrows-layer,.grid-overlay{left:0;pointer-events:none;position:absolute;top:0}.grid-overlay{bottom:0;display:flex;right:0;z-index:0}.grid-column{border-right:1px solid #e9ecef;flex:1 1;min-width:0;width:0}.timeline-header-row{background:#fff;border-bottom:2px solid #e9ecef;display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:10}.timeline-date-header{align-items:center;border-right:1px solid #e9ecef;box-sizing:border-box;color:#6c757d;display:flex;flex:1 1;flex-direction:column;font-size:11px;font-weight:600;height:50px;justify-content:center;min-width:0;overflow:hidden;padding:0 2px;text-align:center;white-space:nowrap;width:0}.timeline-date-header.weekend{background:#f8f9fa}.timeline-row{border-bottom:1px solid #e9ecef;box-sizing:border-box;height:50px;max-height:50px;min-height:50px;position:relative}.timeline-bar{border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;height:30px;overflow:hidden;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s;z-index:2}.timeline-bar:hover{border:2px solid #ffffff80;box-shadow:0 4px 8px #00000026;transform:translateY(-50%);z-index:5}.timeline-bar.dragging,.timeline-bar:active{border:2px solid #fffc;box-shadow:0 6px 12px #0003;cursor:grabbing!important;transform:translateY(-50%);z-index:10}.timeline-resize-handle{background:#ffffff80;border-left:2px solid #fffc;bottom:0;cursor:ew-resize;opacity:.6;position:absolute;right:-6px;top:0;transition:all .2s;width:16px;z-index:3}.timeline-bar:hover .timeline-resize-handle{background:#ffffffb3;opacity:1}.timeline-resize-handle:hover{background:#ffffffe6;box-shadow:0 0 8px #0003;width:20px}.resize-tooltip{background:#1f2937;border-radius:4px;bottom:100%;color:#fff;font-size:11px;font-weight:600;margin-bottom:8px;padding:4px 8px;pointer-events:none;position:absolute;right:0;white-space:nowrap;z-index:100}.resize-tooltip:after{border:4px solid #0000;border-top-color:#1f2937;content:"";position:absolute;right:8px;top:100%}.resize-tooltip-enhanced{align-items:center;animation:tooltipPulse .3s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;bottom:100%;box-shadow:0 8px 24px #667eea66;color:#fff;display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:12px 16px;pointer-events:none;position:absolute;right:-10px;z-index:100}@keyframes tooltipPulse{0%{opacity:.8;transform:scale(.95)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.resize-days-badge{animation:numberChange .2s ease-out;font-size:32px;font-weight:800;line-height:1;text-shadow:0 2px 8px #0000004d}@keyframes numberChange{0%{transform:scale(1.2)}to{transform:scale(1)}}.resize-days-label{font-size:11px;font-weight:600;letter-spacing:.5px;margin-top:-2px;opacity:.9;text-transform:uppercase}.resize-dates{border-top:1px solid #fff3;font-size:11px;font-weight:500;margin-top:4px;opacity:.85;padding-top:8px}.resize-tooltip-enhanced:after{border:6px solid #0000;border-top-color:#764ba2;content:"";position:absolute;right:20px;top:100%}.timeline-bar.phase{border-left-style:solid!important;border-left-width:6px!important;height:36px;opacity:1}.timeline-event{cursor:pointer;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .2s;z-index:3}.timeline-event:hover{filter:brightness(1.1);transform:translate(-50%,-50%);z-index:6}.timeline-event.dragging{filter:brightness(1.2);transform:translate(-50%,-50%);z-index:10}.event-diamond{border:2px solid #fff;box-shadow:0 3px 6px #00000026;height:20px;transform:rotate(45deg);width:20px}.timeline-bar-progress{bottom:0;left:0;position:absolute;top:0;transition:width .3s}.timeline-bar-label{color:#fff;font-size:11px;font-weight:600;left:0;pointer-events:none;position:absolute;right:0;text-align:center;text-shadow:0 1px 2px #0003;top:50%;transform:translateY(-50%)}.timeline-today-marker-full{background:#ef4444;pointer-events:none;position:absolute;top:0;width:2px;z-index:8}.timeline-today-marker-full:before{background:#ef4444;border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;content:"TODAY";font-size:10px;font-weight:700;left:50%;padding:3px 8px;position:absolute;top:8px;transform:translateX(-50%);white-space:nowrap}.timeline-edit-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.timeline-edit-panel{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:90%;padding:24px;width:400px}.timeline-edit-panel h3{font-size:18px;font-weight:600;margin:0 0 20px}.timeline-edit-panel label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:16px}.timeline-edit-panel input[type=date],.timeline-edit-panel input[type=text],.timeline-edit-panel select{border:1px solid #d1d5db;border-radius:6px;font-size:14px;margin-top:6px;padding:8px 12px;width:100%}.timeline-edit-panel .timeline-first-cash input[type=checkbox]{margin:0 6px 0 0;vertical-align:middle}.timeline-edit-panel .timeline-first-cash small{color:#6b7280;display:block;font-size:11px;font-weight:400;margin-top:4px}.timeline-edit-panel input[type=range]{margin-top:6px;width:calc(100% - 50px)}.timeline-edit-panel span{color:#667eea;display:inline-block;font-weight:600;margin-left:8px}.timeline-edit-actions{display:flex;gap:8px;margin-top:24px}.timeline-edit-actions button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:all .2s}.timeline-edit-actions button:first-child{background:#10b981;color:#fff}.timeline-edit-actions button:first-child:hover{background:#059669}.timeline-edit-actions button.delete{background:#ef4444;color:#fff}.timeline-edit-actions button.delete:hover{background:#dc2626}.timeline-edit-actions button:last-child{background:#6b7280;color:#fff}.timeline-edit-actions button:last-child:hover{background:#4b5563}.context-menu-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.timeline-context-menu{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;max-height:400px;max-width:300px;min-width:200px;overflow:hidden;z-index:1000}.context-menu-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;color:#6c757d;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-transform:uppercase}.context-menu-list{max-height:300px;overflow-y:auto}.context-menu-item{border-bottom:1px solid #f8f9fa;color:#212529;cursor:pointer;font-size:14px;padding:10px 16px;transition:background .15s}.context-menu-item:hover{background:#f8f9fa}.context-menu-item.selected{background:#e7f3ff;color:#06c;font-weight:600}.context-menu-item.selected:hover{background:#d4e9ff}.context-menu-footer{background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;padding:8px}.context-menu-footer button{background:#6b7280;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px}.context-menu-footer button:hover{background:#4b5563}@media (max-width:768px){.timeline-tasks-column{width:180px}.timeline-date-header{min-width:60px}.timeline-edit-panel{width:90%}}.portfolio-page{display:flex;flex-direction:column;height:100%}.portfolio-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;flex-shrink:0;padding:20px 30px}.portfolio-header h1{font-size:28px;font-weight:600;margin:0}.portfolio-header-sub{color:#ffffffd9;font-size:14px;margin-top:4px}.portfolio-content{background:#f8f9fa;flex:1 1;overflow-y:auto;padding:30px}.portfolio-content .detail-section:first-child{margin-top:0}.portfolio-table th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.portfolio-table th:hover{color:#495057}.portfolio-col-name{text-align:left!important}.portfolio-row{cursor:pointer}.portfolio-row:hover td{background:#f1f3f5}.portfolio-projects-heading{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.portfolio-projects-heading .section-heading{margin-bottom:0}.portfolio-filter-toolbar{align-items:center;display:flex;gap:12px;margin-bottom:16px}.portfolio-filter-toolbar input{flex:1 1}.portfolio-filter-actions{display:flex;flex-shrink:0;gap:8px}.portfolio-filter-list{border:1px solid #e9ecef;border-radius:8px;max-height:400px;overflow-y:auto}.portfolio-filter-item{align-items:center;border-bottom:1px solid #f1f3f5;cursor:pointer;display:flex;gap:12px;padding:10px 14px}.portfolio-filter-item:last-child{border-bottom:none}.portfolio-filter-item:hover{background:#f8f9fa}.portfolio-filter-item-name{flex:1 1}.portfolio-filter-item-stage{color:#6c757d;font-size:12px;letter-spacing:.4px;text-transform:uppercase}.strategy-grid-svg{font-family:inherit;height:auto;max-height:640px;width:100%}.quadrant-out-of-mandate{fill:#fdecea;fill-opacity:.6}.quadrant-x-mark{fill:#dc3545;fill-opacity:.25;font-size:64px}.quadrant-label,.quadrant-x-mark{font-weight:700;pointer-events:none}.quadrant-label{fill:#dc3545;font-size:11px;letter-spacing:.5px}.axis-line{stroke:#212529;stroke-width:1.5}.split-line{stroke:#adb5bd;stroke-width:1;stroke-dasharray:4 4}.tick-line{stroke:#212529;stroke-width:1}.tick-label{fill:#6c757d;font-size:11px}.axis-title{fill:#495057;font-size:12px;font-weight:600}.grid-point{cursor:pointer}.grid-point circle{stroke:#fff;stroke-width:1.5;transition:fill-opacity .15s}.grid-point:hover circle{fill-opacity:1!important}.grid-point .point-flagged{stroke:#dc3545;stroke-width:2.5}.point-label{fill:#333;font-size:10px;pointer-events:none}.sidebar{background:#1f2333;color:#d8dae0;display:flex;flex-direction:column;flex-shrink:0;height:100vh;overflow-y:auto;transition:width .15s ease;width:240px}.sidebar.collapsed{width:64px}.sidebar-logo{align-items:center;border-bottom:1px solid #ffffff14;color:#fff;display:flex;font-size:16px;font-weight:700;gap:8px;justify-content:space-between;padding:20px 20px 16px}.sidebar.collapsed .sidebar-logo{flex-direction:column;padding:20px 8px 16px}.sidebar-collapse-btn{background:#0000;border:1px solid #ffffff26;border-radius:4px;color:#9497a8;cursor:pointer;flex-shrink:0;font-size:12px;height:22px;line-height:1;width:22px}.sidebar-collapse-btn:hover{border-color:#fff6;color:#fff}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:16px 12px}.sidebar-group-toggle{align-items:center;background:#0000;border:none;border-radius:6px;color:#9497a8;cursor:pointer;display:flex;font-size:12px;font-weight:700;gap:8px;letter-spacing:.06em;padding:10px 12px;text-align:left;text-transform:uppercase;width:100%}.collapsed .sidebar-group-toggle{justify-content:center;padding:10px}.sidebar-group-toggle:hover{background:#ffffff0d;color:#d8dae0}.sidebar-chevron{display:inline-block;font-size:10px;transition:transform .15s}.sidebar-chevron.open{transform:rotate(90deg)}.sidebar-group-items{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.sidebar-link{align-items:center;border-radius:6px;color:#c3c5d1;display:flex;font-size:14px;gap:10px;padding:9px 12px 9px 28px;text-decoration:none;transition:background .15s,color .15s}.sidebar-top-link{margin-top:8px;padding-left:12px}.collapsed .sidebar-top-link{justify-content:center;padding-left:12px}.sidebar-link:hover{background:#ffffff0f;color:#fff}.sidebar-link.active{background:#667eea;color:#fff}.sidebar-link-icon{font-size:16px;line-height:1}.sidebar-user{align-items:center;border-top:1px solid #ffffff14;display:flex;gap:10px;padding:14px 16px}.collapsed .sidebar-user{justify-content:center;padding:14px 8px}.sidebar-user img{border-radius:50%;flex-shrink:0;height:32px;width:32px}.sidebar-user-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.sidebar-user-name{color:#fff;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{background:#0000;border:none;border-radius:4px;color:#9497a8;cursor:pointer;flex-shrink:0;font-size:18px;padding:4px}.sidebar-logout:hover{background:#ffffff14;color:#fff}.snap-fab{background:#2d6cdf;border:none;border-radius:50%;bottom:92px;box-shadow:0 2px 8px #0000004d;color:#fff;cursor:pointer;font-size:22px;height:52px;position:fixed;right:20px;width:52px;z-index:10050}.snap-fab:hover{background:#1f56b8}.snap-fab:disabled{cursor:default;opacity:.6}.snap-hint{color:#666;font-size:13px;margin:-4px 0 12px}.snap-canvas-wrap{border:1px solid #ddd;border-radius:6px;line-height:0;max-height:55vh;overflow:auto}.snap-draw-canvas{cursor:crosshair;display:block;height:auto;touch-action:none;width:100%}.snap-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.snap-toolbar-spacer{flex:1 1}.snap-tool-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-family:inherit;font-size:13px;padding:5px 10px}.snap-tool-btn.active{background:#fff1f0;border-color:#ff3b30;color:#b42318;font-weight:600}.snap-tool-btn:disabled{cursor:default;opacity:.4}.snap-hints{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 8px}.snap-hint-btn{background:#fff;border:1px solid #d1d5db;border-radius:999px;cursor:pointer;font-family:inherit;font-size:13px;padding:5px 12px}.snap-hint-btn.active{background:#eef1fd;border-color:#4f5bd5;color:#3f4bc4;font-weight:600}.snap-note{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-family:inherit;margin-bottom:12px;padding:8px;width:100%}.snap-page-label{color:#444;display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:4px}.snap-page-input{border:1px solid #ccc;border-radius:4px;font-family:Courier New,monospace;font-weight:400;padding:6px 8px}.app-main,.app-shell{display:flex;height:100vh;overflow:hidden}.app-main{flex:1 1;flex-direction:column;min-width:0}
/*# sourceMappingURL=main.7e5633a7.css.map*/