:root{--primary:#f35b04;--primary-dark:#d94e03;--accent-yellow:#f7b801;--accent-orange:#f18701;--background:#f8fafc;--card-bg:#ffffff;--text-primary:#1e293b;--text-secondary:#64748b;--border:#e2e8f0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;background:var(--background);color:var(--text-primary);font-size:14px;line-height:1.5}.container{max-width:1400px;margin:0 auto;padding:1.5rem}.header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:white;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.header h1{font-size:1.25rem;font-weight:600;color:var(--primary)}.user-info{gap:.75rem}.user-avatar,.user-info{display:flex;align-items:center}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary);color:white;justify-content:center;font-weight:600;font-size:.875rem}.btn{padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:all .15s ease}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:white;color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:#f8fafc}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.board{display:flex;flex-direction:column;gap:1rem}.person-lane{background:var(--card-bg);border-radius:12px;border:1px solid var(--border);overflow:hidden}.person-header{justify-content:space-between;padding:1rem 1.25rem;background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid var(--border)}.person-header,.person-info{display:flex;align-items:center}.person-info{gap:.75rem}.person-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;color:white;font-size:1rem}.person-name{font-weight:600;color:var(--text-primary)}.person-email,.task-count{font-size:.75rem;color:var(--text-secondary)}.task-count{background:var(--background);padding:.25rem .75rem;border-radius:999px;font-weight:500}.tasks-container{display:flex;gap:.75rem;padding:1rem 1.25rem;overflow-x:auto;min-height:120px}.tasks-container:empty:after{content:"Sin tareas asignadas";color:var(--text-secondary);font-size:.875rem;display:flex;align-items:center;width:100%;justify-content:center}.task-card{flex-shrink:0;width:280px;background:white;border:1px solid var(--border);border-radius:8px;padding:.875rem;cursor:-webkit-grab;cursor:grab;transition:all .15s ease}.task-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-2px)}.task-card:active{cursor:-webkit-grabbing;cursor:grabbing}.task-card.dragging{opacity:.5;transform:scale(.98)}.task-card.long-pressing{transform:scale(1.02);box-shadow:0 8px 24px rgba(243,91,4,.25);border-color:var(--primary)}.tasks-container.drag-over{background:rgba(243,91,4,.05)}.drop-indicator{width:4px;min-height:80px;background:var(--primary);border-radius:2px;flex-shrink:0;animation:pulse-indicator 1s ease-in-out infinite}@keyframes pulse-indicator{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.7;transform:scaleY(.95)}}.touch-drag-ghost{position:fixed;transform:translate(-50%,-120%);background:white;border:2px solid var(--primary);border-radius:8px;padding:.75rem 1rem;box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:1000;pointer-events:none;max-width:200px;opacity:.95}.touch-drag-ghost .task-title{font-size:.8125rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.task-card{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.tasks-container{-webkit-text-size-adjust:100%}.task-title{font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.task-description{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-meta{display:flex;align-items:center;justify-content:space-between;font-size:.75rem}.task-priority{padding:.125rem .5rem;border-radius:4px;font-weight:500}.priority-alta{background:#fee2e2;color:#dc2626}.priority-media{background:#fef3c7;color:#b45309}.priority-baja{background:#d1fae5;color:#059669}.task-date{color:var(--text-secondary)}.task-avance{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.task-avance-bar{flex:1 1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.task-avance-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0,var(--accent-orange) 100%);border-radius:3px;transition:width .3s ease}.task-avance-text{font-size:.6875rem;font-weight:600;color:var(--primary);min-width:32px;text-align:right}.task-status-revision{font-size:.6875rem;font-weight:600;color:#3b82f6;background:#eff6ff;padding:.125rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.025em}.task-status-revision,.task-url{display:inline-block;margin-bottom:.5rem}.task-url{font-size:.75rem;color:var(--primary);text-decoration:none}.task-url:hover{text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:white;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px rgba(0,0,0,.15)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f8fafc,#fff)}.modal-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .15s ease}.modal-close:hover{background:var(--background);color:var(--text-primary)}.modal-body{padding:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:.5rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:.9375rem;transition:all .15s ease;background:white}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(243,91,4,.1)}.avance-slider{display:flex;flex-direction:column;gap:.5rem}.avance-slider input[type=range]{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer;padding:0;border:none}.avance-slider input[type=range]::-webkit-slider-runnable-track{height:8px;background:var(--border);border-radius:4px}.avance-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--primary);border-radius:50%;margin-top:-6px;box-shadow:0 2px 4px rgba(0,0,0,.2);-webkit-transition:transform .15s ease;transition:transform .15s ease}.avance-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.avance-slider input[type=range]::-moz-range-track{height:8px;background:var(--border);border-radius:4px}.avance-slider input[type=range]::-moz-range-thumb{width:20px;height:20px;background:var(--primary);border-radius:50%;border:none;box-shadow:0 2px 4px rgba(0,0,0,.2)}.avance-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.avance-fill{height:100%;background:linear-gradient(90deg,var(--primary) 0,var(--accent-orange) 100%);border-radius:3px;transition:width .2s ease}.form-group textarea{resize:vertical;min-height:100px}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.modal-footer{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--border);background:#fafafa}.modal-actions-primary{display:flex;gap:.75rem;justify-content:flex-end}.modal-actions-secondary{display:flex;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.btn-danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.btn-danger:hover{background:#fee2e2}.btn-success{background:#f0fdf4;color:#059669;border:1px solid #bbf7d0}.btn-success:hover{background:#dcfce7}.btn-info{background:#eff6ff;color:#3b82f6;border:1px solid #bfdbfe}.btn-info:hover{background:#dbeafe}.btn-block{flex:1 1;text-align:center}.confirm-dialog{background:white;border-radius:16px;padding:2rem;width:100%;max-width:360px;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,.2)}.confirm-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:1.5rem;font-weight:700}.confirm-icon-danger{background:#fee2e2;color:#dc2626}.confirm-icon-warning{background:#fef3c7;color:#b45309}.confirm-icon-info{background:#dbeafe;color:#3b82f6}.confirm-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.confirm-message{font-size:.9375rem;color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}.confirm-actions{display:flex;gap:.75rem;justify-content:center}.confirm-actions .btn{flex:1 1;padding:.75rem 1rem}.btn-warning{background:#fef3c7;color:#b45309;border:1px solid #fcd34d}.btn-warning:hover{background:#fde68a}.btn-icon{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--text-secondary);border-radius:8px;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--background);color:var(--primary)}.logs-panel{background:white;border-radius:16px;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 40px rgba(0,0,0,.15)}.logs-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f8fafc,#fff);border-radius:16px 16px 0 0}.logs-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.logs-body{flex:1 1;overflow-y:auto;padding:0}.logs-empty{text-align:center;color:var(--text-secondary);padding:3rem 1.5rem}.logs-list{list-style:none;margin:0;padding:0}.log-item{padding:1rem 1.5rem;border-bottom:1px solid var(--border);transition:background .15s ease}.log-item:hover{background:#fafafa}.log-item:last-child{border-bottom:none}.log-action{font-weight:600;font-size:.875rem;color:var(--text-primary);margin-bottom:.25rem}.log-details{display:flex;flex-direction:column;gap:.125rem;margin-bottom:.5rem}.log-title{font-size:.8125rem}.log-extra,.log-title{color:var(--text-secondary)}.log-extra{font-size:.75rem;font-style:italic}.log-meta{display:flex;align-items:center;gap:.75rem;font-size:.75rem}.log-user{color:var(--primary);font-weight:500}.log-date{color:var(--text-secondary)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.login-card{background:white;padding:2.5rem;border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.08);text-align:center;width:100%;max-width:400px}.login-logo{width:180px;margin-bottom:1.5rem}.login-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.login-subtitle{color:var(--text-secondary);margin-bottom:2rem}.google-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem;background:white;border:1px solid var(--border);border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s ease}.google-btn:hover{background:#f8fafc;box-shadow:0 2px 8px rgba(0,0,0,.08)}.google-btn svg{width:20px;height:20px}.error-message{background:#fee2e2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}@media (max-width:768px){.logs-panel{max-width:100%;max-height:90vh;margin-top:auto}.logs-header,.logs-panel{border-radius:16px 16px 0 0}.log-item{padding:.875rem 1.25rem}.container{padding:.75rem}.header{padding:.75rem 1rem;margin-bottom:1rem}.header h1{font-size:1rem}.user-info span{display:none}.person-header{flex-direction:column;align-items:flex-start;gap:.75rem;padding:.875rem 1rem}.person-info{width:100%}.person-name{font-size:.9375rem}.person-email{font-size:.6875rem}.person-header>div:last-child{width:100%;justify-content:space-between}.task-card{width:240px}.tasks-container{padding:.875rem 1rem;min-height:100px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.task-card{scroll-snap-align:start}.modal-overlay{padding:0;align-items:flex-end}.modal{max-width:100%;max-height:95vh;border-radius:16px 16px 0 0}.modal-header{padding:1rem 1.25rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-body{padding:1.25rem}.form-row{grid-template-columns:1fr}.form-group{margin-bottom:1rem}.form-group textarea{min-height:80px}.modal-footer{padding:1rem 1.25rem max(1.25rem,env(safe-area-inset-bottom));position:-webkit-sticky;position:sticky;bottom:0;z-index:10}.modal-actions-primary{flex-direction:column-reverse}.modal-actions-primary .btn{width:100%;padding:.875rem;font-size:1rem}.modal-actions-secondary{flex-wrap:wrap}.modal-actions-secondary .btn{flex:1 1;min-width:calc(50% - .375rem);padding:.75rem;font-size:.8125rem}.login-card{margin:1rem;padding:2rem 1.5rem}.login-logo{width:140px}.login-title{font-size:1.25rem}}@media (max-width:480px){.confirm-dialog{margin:1rem;padding:1.5rem}.confirm-icon{width:48px;height:48px;font-size:1.25rem}.confirm-actions{flex-direction:column-reverse}.confirm-actions .btn{width:100%}.header{padding:.625rem .875rem}.header h1{font-size:.9375rem}.container{padding:.5rem}.board{gap:.75rem}.person-lane{border-radius:10px}.person-header{padding:.75rem}.person-avatar{width:36px;height:36px;font-size:.875rem}.task-card{width:200px;padding:.75rem}.task-title{font-size:.875rem}.task-description{font-size:.75rem}.tasks-container{padding:.75rem;gap:.5rem}.modal-body{padding:1rem}.modal-footer{padding:.875rem 1rem max(1rem,env(safe-area-inset-bottom))}.modal-actions-secondary .btn{min-width:100%;flex-basis:100%}.form-group input,.form-group select,.form-group textarea{padding:.625rem .875rem;font-size:1rem}.login-card{margin:.5rem;padding:1.5rem 1.25rem;border-radius:12px}}