@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;bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;position:fixed;right:0;top:0}.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}.column-header{align-items:center;border-bottom:3px solid #0000001a;border-radius:8px 8px 0 0;display:flex;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{background:#0000001a;border-radius:12px;font-size:14px;font-weight:600;padding:4px 8px}.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;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}.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{padding:24px 32px}.modal-footer{background:#f9f9f9;border-top:2px solid #e0e0e0;padding:16px 32px}.modal-footer .modal-actions{margin-top:0}.modal-two-column{grid-gap:32px;align-items:start;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;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 h2{color:#333;margin-bottom:24px}.form-group label{color:#333;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid #e3e3e3;border-radius:6px;font-family:inherit;font-size:14px;padding:10px;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.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;left:20px;position:fixed;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;left:88px;position:fixed;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{align-items:flex-start;display:flex;gap:12px}.card-photo{align-items:center;display:flex;flex:0 0 20%;justify-content:center}.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}.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{font-size:18px;height:32px;width:32px}.column-empty .column-cards{display:none}.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}.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 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;margin:0;padding:0}.modal-right-column .action-items-section .add-action-input{background:#fff;border:1px solid #ddd;border-radius:4px;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;flex-wrap:wrap;justify-content:space-between;padding:16px 32px}.board-section-filters,.board-toolbar{align-items:center;display:flex;gap:16px}.board-section-filters{border-left:2px solid #e0e0e0;padding-left:16px}.section-filter-checkbox{align-items:center;color:#333;cursor:pointer;display:flex;font-size:14px;gap:6px;-webkit-user-select:none;user-select:none;white-space:nowrap}.section-filter-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.section-filter-checkbox:hover span{color:#2196f3}.board-filters{align-items:center;display:flex;flex-wrap:wrap;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}.btn-studio{align-items:center;background:#0000;border:2px solid #764ba2;border-radius:8px;color:#764ba2;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.btn-studio:hover{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;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-deal-value{align-items:center;color:#4caf50;display:flex;font-size:14px;font-weight:700;gap:4px;margin:4px 0 8px}.card-deal-value:before{content:"💰";font-size:12px}.column-abandoned,.column-closed,.column-ideation,.column-studio-abandoned,.column-studio-exited,.column-studio-ideation{max-width:280px}.column-abandoned .column-header,.column-closed .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-closed,.column-studio-exited{margin-left:32px}.column-abandoned,.column-closed,.column-ideation,.column-studio-abandoned,.column-studio-exited,.column-studio-ideation{background:#0000;box-shadow:none}.column-abandoned .column-cards,.column-closed .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-closed .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-abandoned,.column-studio-abandoned{margin-left:32px;max-width:280px}.column-abandoned .column-header,.column-studio-abandoned .column-header{background:#0000!important;color:#999;font-style:italic}.kanban-card{padding-left:12px}.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}}.hotel-visual{background:linear-gradient(135deg,#1e293b,#334155);color:#fff;min-height:100vh}.visual-header{align-items:center;background:#00000080;border-bottom:2px solid #ffffff1a;display:flex;gap:20px;padding:16px 24px}.visual-header h1{flex:1 1;margin:0}.phase-indicator{background:#fbbf24;border-radius:20px;color:#000;font-size:14px;font-weight:700;padding:6px 16px}.btn-back{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.btn-back:hover{background:#ffffff4d}.resources-bar{background:#0000004d;border-bottom:2px solid #ffffff1a;display:flex;gap:32px;padding:16px 24px}.resource{display:flex;flex-direction:column}.resource-label{font-size:11px;letter-spacing:.5px;opacity:.7;text-transform:uppercase}.resource-value{color:#4ade80;font-size:20px;font-weight:700;margin-top:4px}.tip-color{color:#fbbf24!important}.event-active{background:#fbbf2433;border:2px solid #fbbf24;border-radius:8px;padding:8px 16px}.notifications-container{display:flex;flex-direction:column;gap:12px;pointer-events:none;position:fixed;right:24px;top:160px;z-index:1000}.notification{animation:slideInRight .3s ease-out;background:#000000e6;border:2px solid;border-radius:12px;box-shadow:0 4px 16px #000c;font-size:16px;font-weight:700;padding:16px 24px}@keyframes slideInRight{0%{opacity:0;transform:translateX(100px)}to{opacity:1;transform:translateX(0)}}.emergency-overlay{align-items:center;animation:emergencyPulse 1s ease-in-out infinite;background:#ef44444d;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}@keyframes emergencyPulse{0%,to{background:#ef44444d}50%{background:#ef444480}}.emergency-box{animation:shake .5s ease-in-out infinite;background:linear-gradient(135deg,#1e293b,#334155);border:4px solid #ef4444;border-radius:20px;box-shadow:0 8px 32px #ef4444cc;padding:40px;text-align:center}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.emergency-box h2{color:#ef4444;font-size:32px;margin:0 0 16px}.emergency-box p{font-size:18px;margin:0 0 24px;opacity:.9}.fix-btn{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;box-shadow:0 4px 12px #ef444499;color:#fff;cursor:pointer;font-size:20px;font-weight:700;padding:16px 40px;transition:all .2s}.fix-btn:hover:not(:disabled){box-shadow:0 6px 16px #ef4444cc;transform:scale(1.05)}.fix-btn:disabled{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:none;cursor:not-allowed}.emergency-box .warning{color:#fbbf24;display:block;font-weight:600;margin-top:12px}.review-item{background:#0003;border-left:3px solid #fbbf24;border-radius:8px;margin-bottom:10px;padding:10px}.review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.review-guest{font-size:11px;letter-spacing:.5px;opacity:.7;text-transform:uppercase}.review-rating{font-size:12px}.review-text{font-size:13px;font-style:italic;line-height:1.4;opacity:.9}.upgrade-tree{animation:slideUp .3s;background:linear-gradient(135deg,#1e293b,#334155);border:3px solid #4ade80;border-radius:16px;box-shadow:0 8px 32px #000c;max-height:80vh;max-width:800px;min-width:600px;overflow-y:auto;padding:32px;position:relative}.upgrade-tree h2{color:#4ade80;font-size:28px;margin:0 0 24px;text-align:center}.close-tree{align-items:center;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:40px;justify-content:center;line-height:1;position:absolute;right:16px;top:16px;transition:all .2s;width:40px}.close-tree:hover{background:#fff3;transform:rotate(90deg)}.tree-container{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr}.tree-branch{display:flex;flex-direction:column;gap:16px}.tree-branch h3{border-bottom:2px solid #fff3;font-size:18px;margin:0;padding-bottom:12px;text-align:center}.tree-node{background:#ffffff0d;border:2px solid #fff3;border-radius:12px;cursor:pointer;padding:16px;text-align:center;transition:all .2s}.tree-node:hover{background:#ffffff1a;border-color:#4ade80;transform:scale(1.05)}.node-title{font-size:16px;font-weight:700;margin-bottom:8px}.node-level{font-size:14px;margin-bottom:8px;opacity:.7}.node-cost{color:#4ade80;font-size:14px;font-weight:700}.weather-effect{bottom:0;left:0;overflow:hidden;pointer-events:none;position:fixed;right:0;top:0;z-index:5}.weather-effect.rain{animation:rain .3s linear infinite;background:linear-gradient(#0000,#0000 50%,#3b82f61a 0,#3b82f61a);background-size:2px 50px}@keyframes rain{to{background-position:10px 50px}}.weather-effect.snow{animation:snow 10s linear infinite;background-image:radial-gradient(2px 2px at 20px 30px,#fff,#0000),radial-gradient(2px 2px at 60px 70px,#fff,#0000),radial-gradient(1px 1px at 50px 50px,#fff,#0000),radial-gradient(1px 1px at 130px 80px,#fff,#0000),radial-gradient(2px 2px at 80px 10px,#fff,#0000);background-size:200px 200px}@keyframes snow{to{background-position:200px 200px,0 400px,100px 300px,50px 200px,150px 300px}}.celebration-overlay{bottom:0;left:0;overflow:hidden;pointer-events:none;position:fixed;right:0;top:0;z-index:9999}.confetti{animation:confetti-fall 3s linear forwards;height:10px;position:absolute;top:-10px;width:10px}@keyframes confetti-fall{to{opacity:0;transform:translateY(100vh) rotate(2turn)}}.game-container-visual{grid-gap:20px;display:grid;gap:20px;grid-template-columns:300px 1fr;height:calc(100vh - 150px);padding:20px}.left-controls{gap:16px;overflow-y:auto}.big-btn,.left-controls{display:flex;flex-direction:column}.big-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 4px 12px #3b82f666;color:#fff;cursor:pointer;font-size:18px;font-weight:700;gap:8px;padding:24px;transition:all .2s}.big-btn:hover:not(:disabled){box-shadow:0 6px 16px #3b82f699;transform:translateY(-2px)}.big-btn:disabled{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:none;cursor:not-allowed}.big-btn small{font-size:13px;opacity:.9}.reviews-box,.stats-box,.upgrades-box{background:#ffffff0d;border:2px solid #ffffff1a;border-radius:12px;padding:16px}.reviews-box h3,.stats-box h3,.upgrades-box h3{font-size:14px;letter-spacing:1px;margin:0 0 12px;opacity:.8;text-transform:uppercase}.stat-line{border-bottom:1px solid #ffffff0d;font-size:13px;padding:8px 0}.stat-line:last-child{border-bottom:none}.upgrade-btn{align-items:flex-start;background:#ffffff1a;border:2px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-weight:600;margin-bottom:8px;padding:12px;transition:all .2s;width:100%}.upgrade-btn:hover{background:#ffffff26;border-color:#4ade80;transform:translateX(4px)}.upgrade-btn small{font-size:11px;font-weight:400;margin-top:4px;opacity:.8}.hotel-building{background:#0000004d;border:2px solid #ffffff1a;border-radius:16px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:24px}.floor{align-items:center;display:flex;gap:16px;position:relative}.floor-label{font-size:14px;font-weight:700;opacity:.7;text-align:right;width:80px}.rooms-row{display:flex;flex:1 1;gap:12px}.room{align-items:center;background:#ffffff0d;border:3px solid #fff3;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;height:140px;justify-content:center;padding:12px;position:relative;transition:all .3s;width:120px}.room.empty{background:#0003;border-color:#ffffff1a;cursor:default}.room.occupied{background:linear-gradient(135deg,#3b82f633,#2563eb4d);border-color:#3b82f6}.room.vip-room{animation:vip-glow 2s ease-in-out infinite;background:linear-gradient(135deg,#fbbf244d,#f59e0b66);border-color:#fbbf24;box-shadow:0 0 20px #fbbf2499}@keyframes vip-glow{0%,to{box-shadow:0 0 20px #fbbf2499}50%{box-shadow:0 0 30px #fbbf24e6}}.room.needs-service{animation:pulse-glow 2s ease-in-out infinite;border-color:#fbbf24}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 #fbbf24b3}50%{box-shadow:0 0 20px #fbbf24e6}}.room:hover.needs-service{border-color:#f59e0b;transform:scale(1.05)}.room-number{font-size:11px;font-weight:600;left:8px;opacity:.6;position:absolute;top:8px}.guest-icon{animation:guestBounce .5s ease-out;font-size:48px;margin:12px 0}@keyframes guestBounce{0%{opacity:0;transform:scale(0) translateY(-50px)}60%{transform:scale(1.2) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}.happiness-bar{background:#0006;border-radius:4px;height:8px;margin-top:8px;overflow:hidden;width:100%}.happiness-fill{background:linear-gradient(90deg,#ef4444,#fbbf24,#4ade80);height:100%;transition:width .3s}.service-bell{animation:bounce 1s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));font-size:32px;position:absolute;right:-10px;top:-10px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.service-progress{background:#00000080;border-radius:3px;bottom:8px;height:6px;left:8px;overflow:hidden;position:absolute;right:8px}.service-fill{background:linear-gradient(90deg,#22c55e,#4ade80);height:100%;transition:width .3s}.particle{font-size:18px;font-weight:900;left:50%;pointer-events:none;position:absolute;text-shadow:0 2px 8px #000c;top:50%;transition:transform .1s linear,opacity .1s linear;z-index:100}.staff-sprite{animation:staff-walk .5s steps(2) infinite;bottom:-30px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));font-size:28px;position:absolute;transition:left .3s ease-out;z-index:50}@keyframes staff-walk{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.service-menu-overlay{align-items:center;animation:fadeIn .2s;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.service-menu{animation:slideUp .3s;background:linear-gradient(135deg,#1e293b,#334155);border:3px solid #fbbf24;border-radius:16px;box-shadow:0 8px 32px #000c;min-width:400px;padding:32px}.service-menu h3{color:#fbbf24;font-size:20px;margin:0 0 20px;text-align:center}.service-option{align-items:center;background:#ffffff1a;border:2px solid #fff3;border-radius:12px;color:#fff;cursor:pointer;display:flex;gap:16px;margin-bottom:12px;padding:16px;transition:all .2s;width:100%}.service-option:hover{background:#fff3;border-color:#4ade80;transform:scale(1.02)}.service-emoji{font-size:32px}.service-name{flex:1 1;font-size:16px;font-weight:600}.service-tip{color:#fbbf24;font-size:14px;font-weight:700}.hotel-building::-webkit-scrollbar,.left-controls::-webkit-scrollbar{width:8px}.hotel-building::-webkit-scrollbar-track,.left-controls::-webkit-scrollbar-track{background:#0003}.hotel-building::-webkit-scrollbar-thumb,.left-controls::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}@media (max-width:1200px){.game-container-visual{grid-template-columns:1fr;grid-template-rows:auto 1fr}.room{height:120px;width:100px}.guest-icon{font-size:36px}}.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{border-bottom:1px solid #e5e7eb;padding:20px 24px}.modal-header h2{color:#1f2937;font-size:20px}.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);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 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}.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{flex:1 1;overflow-y:auto;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-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)}.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-info{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-dashboard{background:#f8f9fa;flex:1 1;overflow-y:auto;padding:30px}.stats-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;padding:20px}.stat-label{color:#6c757d;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.stat-value{color:#212529;font-size:20px;font-weight:700}.stat-value.health-on_track{color:#28a745}.stat-value.health-at_risk{color:#ffc107}.stat-value.health-blocked{color:#dc3545}.stat-progress{background:#e9ecef;border-radius:3px;height:6px;margin-top:10px;overflow:hidden}.stat-progress-bar{background:linear-gradient(90deg,#667eea,#764ba2);height:100%;transition:width .3s ease}.quick-access-section{margin-bottom:20px;margin-top:24px}.quick-access-section h3{color:#6c757d;font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.quick-access-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.quick-access-card{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s}.quick-access-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.quick-access-icon{flex-shrink:0;font-size:36px}.quick-access-info{flex:1 1;min-width:0}.quick-access-name{color:#212529;font-size:16px;font-weight:600;margin-bottom:2px}.quick-access-description{color:#6c757d;font-size:13px}.timeline-full-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;min-height:600px;overflow:hidden}.timeline-modal{height:85vh}.timeline-modal-body{overflow:hidden;padding:0!important}.project-modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.project-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:1200px;overflow:hidden;width:90%}.modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 30px}.modal-header h2{color:#212529;font-size:24px;font-weight:600;margin:0}.modal-header button{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-header button:hover{background:#e9ecef;color:#212529}.modal-body{flex:1 1;overflow-y:auto;padding:30px}.coming-soon{font-style:italic;padding:60px;text-align:center}.coming-soon,.loading{color:#6c757d;font-size:18px}.loading{align-items:center;display:flex;height:100%;justify-content:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.quick-access-grid,.stats-row{grid-template-columns:1fr}.project-modal{border-radius:0;max-height:100vh;width:100%}.timeline-full-section{min-height:400px}}.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:350px}.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;padding:6px 8px;text-align:center;transition:background .2s,color .2s;width:32px}.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:14px;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-bar.milestone{background:#f59e0b!important;border-radius:2px;height:40px;width:4px!important}.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 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%}}
/*# sourceMappingURL=main.e9d57e1d.css.map*/